The USRP and GNU Radio software can be used to create a narrowband receiver. In this example the RFX400 daughterboard is used to receive signals in the 400 MHz band.
The Python script nbfm.py implements the NBFM receiver using the GNU radio software. The script is commented to describe the commands used. Data is captured at various points in the receiver. The four data files are contained in nbfm_data.zip . Using the procedure described in Capturing Signals in GNU Radio four MATLAB files are created. This four MATLAB files are contained in nbfm_matlab.zip .
Using MATLAB the waveforms and spectra output by each block in the NBFM receiver can be observed. This analysis is presented here.
If a USRP or a transmitter is not available, the receiver may be modified to accept input from a data file previously captured from the USRP. This modified receiver is found in nbfm_from_file.py .