An elemental SDR receiver DSP involves little more than programming a Source block (SDR receiver hardware) to output data to a FFT Sink display (panadapter) to visualize signal amplitude. This project is a first step toward building a more complex DSP that is capable of demodulating signals received on an SDR receiver. An example of this type of receiver is the frequency selective microwave power indicator, a single purpose spectrum analyzer, a workshop tool, utilizes the same DSP and is described in more detail in the SDR Projects section:
To expand this elemental SDR receiver DSP into a radio receiver capable of demodulating signals, it is necessary to couple the data output from the Source block to both the FFT Sink and to a demodulator DSP chain, which is followed in the DSP process to a message output interface, be that an audio sink (speaker), file sink, or other data converter. Additional DSP Projects will document the evolution of a demodulator DSP chain.
The GNU Radio flow graph for the elemental SDR receiver DSP is pictured below. Note the three DSP blocks: the Source block (the SDR receiver hardware), the Rational Resampler, and the FFT Sink (the output indicator). The Sample Rate is set for an arbitrary value of 384000 S/sec. That sample rate in practice provides reasonable real time GUI responsiveness. The Rational Resampler both reduces the sample rate to the FFT Sink and filters, in the baseband, the data bandwidth. Hence the Rational Resampler is a good means to reduces the bandwidth of the FFT Sink display. In this manner, the Source output is filtered to display only the desired frequency to be measured.
The Operating GUI for this project is minimal. Only the FFT display and it’s associated display functions are visible in the GUI.
The .grc file for this project is here: Frequency Selective Power Indicator
A variety of SDR receiver hardware are suitable for this project. The range of hardware includes the ever present RTL SDR receiver as well as the more advanced SDR hardware platforms described elsewhere: