Tower Listener: Narrowband GMSK Multi-channel DSP for Heliostat Communication
The Problem
A heliostat field for the U.S. Department of Energy consists of hundreds to thousands of motorized mirrors that track the sun and reflect light to a central tower. CaribouLabs has a contract with DOE/NREL to provide the wireless communication system for these fields. Each mirror needs bidirectional communication with the tower for:
- Position commands (azimuth/elevation angles)
- Status telemetry (current position, orientation, temperature, battery state)
With heliostats spread across several square kilometers, the communication system must handle high message rates while maintaining low latency for safety-critical commands.
The Solution
Tower Listener is a multi-channel DSP receiver built with CLER that simultaneously monitors 15 frequency channels for heliostat communications.
Why Narrowband GMSK?
We chose narrowband GMSK over cellular technologies like LTE for practical reasons:
- Better Range: Narrowband signals travel farther. By concentrating power in just 200 kHz instead of LTE's 10-20 MHz, we get much stronger signals at the same distance - crucial when heliostats can be a kilometer away from the tower.
- Robust in Harsh Environments: For the same reason that range is better - narrowband signals concentrate power in a smaller frequency band, making them more resistant to wideband noise.
- Cost-Effective: Simple radios mean cheaper heliostats. No need for expensive cellular modems when a basic GMSK chip does the job reliably.
- Battery Friendly: GMSK radios use less power than cellular alternatives, extending battery life for solar-tracking operations.
System Specifications
- Input Sample Rate: 4 MSPS (CaribouLite SDR or recorded IQ)
- Channel Bandwidth: 200 kHz per channel
- Total Spectrum Coverage: 3 MHz (15 channels)
- Modulation: GMSK with BT=0.3
- Protocol: TI EasyLink (matching heliostat RF board)
DSP Pipeline Architecture
(EZGmskDemod)"/] node_demod1[/"demod1
(EZGmskDemod)"/] node_demod2[/"demod2
(EZGmskDemod)"/] node_demod3[/"demod3
(EZGmskDemod)"/] node_demod4[/"demod4
(EZGmskDemod)"/] node_demod5[/"demod5
(EZGmskDemod)"/] node_demod6[/"demod6
(EZGmskDemod)"/] node_demod7[/"demod7
(EZGmskDemod)"/] node_demod8[/"demod8
(EZGmskDemod)"/] node_demod9[/"demod9
(EZGmskDemod)"/] node_demod10[/"demod10
(EZGmskDemod)"/] node_demod11[/"demod11
(EZGmskDemod)"/] node_demod12[/"demod12
(EZGmskDemod)"/] node_demod13[/"demod13
(EZGmskDemod)"/] node_demod14[/"demod14
(EZGmskDemod)"/] node_source --> node_resampler node_resampler --> node_channelizer node_channelizer --> node_demod0 node_channelizer --> node_demod1 node_channelizer --> node_demod2 node_channelizer --> node_demod3 node_channelizer --> node_demod4 node_channelizer --> node_demod5 node_channelizer --> node_demod6 node_channelizer --> node_demod7 node_channelizer --> node_demod8 node_channelizer --> node_demod9 node_channelizer --> node_demod10 node_channelizer --> node_demod11 node_channelizer --> node_demod12 node_channelizer --> node_demod13 node_channelizer --> node_demod14 style node_source fill:#e1f5fe style node_resampler fill:#e8f5e8 style node_channelizer fill:#e8f5e8 style node_demod0 fill:#f3e5f5 style node_demod1 fill:#f3e5f5 style node_demod2 fill:#f3e5f5 style node_demod3 fill:#f3e5f5 style node_demod4 fill:#f3e5f5 style node_demod5 fill:#f3e5f5 style node_demod6 fill:#f3e5f5 style node_demod7 fill:#f3e5f5 style node_demod8 fill:#f3e5f5 style node_demod9 fill:#f3e5f5 style node_demod10 fill:#f3e5f5 style node_demod11 fill:#f3e5f5 style node_demod12 fill:#f3e5f5 style node_demod13 fill:#f3e5f5 style node_demod14 fill:#f3e5f5
Processing Stages
1. Flexible Input Source
The switchSourceBlock allows runtime selection between live SDR input (CaribouLite S1G radio) or recorded IQ files for testing. This enables development without hardware and replay of field recordings.
2. Resampling
The multistage resampler decimates from 4 MSPS to 3 MSPS (15 channels × 200 kHz) to optimize computational load. Decimation ratio: 0.75 with 80 dB stopband attenuation.
3. Polyphase Channelizer
A 15-channel polyphase filterbank efficiently separates the wideband signal into individual 200 kHz channels. Using a Kaiser window with 80 dB attenuation, adjacent channel interference is minimized. The polyphase structure reduces computation by 15× compared to independent filters.
4. GMSK Demodulation
Each channel feeds a dedicated GMSK demodulator running at 2 samples/symbol. The demodulators implement the TI EasyLink protocol used by the heliostat RF boards, including preamble detection, sync word correlation, and header/payload processing.
DOE Demonstration Goals
The upcoming physical demonstration at Flatirons will validate the system against stringent Department of Energy requirements for heliostat field communication. The demonstration will test:
- Low Latency Control: Closed-loop control performance across the entire heliostat field
- Bulk Data Transfer: Firmware update and configuration capabilities
- Jamming Resilience: Performance under active RF interference conditions
- Range Performance: Communication reliability across varying distances
- Long-term Reliability: Extended operation across diverse weather conditions
- Security: Encrypted communication with authentication
Tower Listener's multi-channel architecture provides the foundation for meeting these requirements. More to come - we'll publish another blog post covering the demonstration results and field trial outcomes.