Implementation of a Simple FM Receiver in GNU Radio

From Ettus Knowledge Base
Revision as of 16:26, 16 May 2016 by Ettus (Talk | contribs) (Revision History)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Application Note Number


Revision History

Date Author Details
2016-05-01 Neel Pandeya Initial creation


This AN shows a quick and simple implementation of an FM receiver for the USRP using GNU Radio. The goal is to easily demonstrate a practical application, and to verify that the USRP is functioning properly.


In this application note, a Universal Software Radio Peripheral (USRP™) N200/N210 and a WBX daughterboard is used with GNU Radio to build a simple FM receiver. The intent of this example is to:

  • Teach some basic DSP and RF concepts including: filtering, demodulation, and sample rate conversion.
  • Show how to build graphical applications with GNU Radio Companion
  • Illustrate the simplicity of the software tools that can be used with the USRP product family.


  • USRP with compatible daughterboard to receive 88-108 MHz
  • GNU Radio
  • UHD


UHD Source Block

  • Configures USRP
  • Receives data stream from USRP

FFT Sink

  • Display Fast Fourier Transform of data stream

Low Pass Filter

  • Apply low pass filter to data stream
  • Optional: Decimation or Interpolation

WBFM Receive

  • Demodulates Wide Band Frequency Modulated signal from data stream

Rational Resampler

  • Decimate or Interpolate data stream to desired sample rate

Audio Sink

  • Audio hardware interface
  • Optional: Decimate Audio Rate

Wav File Sink

  • Save data stream as WAV file type

WX Widgets

  • Textbox - Input field
  • Slider - Adjustable slider
  • Notebook - Assign Widgets/GUI Sinks to tabs within flowgraph


  • Creates variable within flowgraph


You can download the sample GRC file here: