Table of Contents

FM Radio

FM Radio Reception

FM Radio Broadcast

FM Broadcast can be illegal in your country depending on which frequency you broadcast. Be sure to check the local laws before broadcasting. It requires GNURadio, and either an extra antenna or broadcasting in the 2.4 Ghz band with the integrated antenna. It uses GNURadio Companion with the following flow graph:

The grc helper file can be downloaded here: https://ptpb.pw/gRnE.txt

Explanation:

The audio source has the device name pulse which means it will appear as a recording device for pulseaudio. It uses a sample rate of 48KHz, which is a common sample rate for an audio output. It could have been 44.1KHz. It's set in the audio_rate variable. The audio signal is passed to the WBFM Transmit module which gives the frequency modulated signal as the output. Its options Audio Rate and Quadrature Rate are the input sampling rate and the output sampling rate, respectively.

It then pass through the Rational Resampler Interpolation module that transforms its input signal INS in the output signal OUTS defined as OUTS=INS*(Interpolation/Decimation). It is used to transform our low frequency sample rate to one sample rate supported by the rad1o (it's defined in the samp_rate variable). The signal is then sent to the osmocom Sink (the rad1o) on the frequency specified in the variable frequency and piloted by a slider.

The sample rates supported by the rad1o can be listed using the hackrf_transfer command:
  1. # Sample rate in Hz (8/10/12.5/16/20MHz, default 10MHz).