= FM Radio == FM Radio Reception * Requires GNURadio * Requires either an extranal antenna(!) or pressing a finger on the upper right corner where the antenna is usually soldered (then you are a human antenna ;-) ) * Example Script: [[https://github.com/muccc/sdr-workshop/blob/master/fm_receive/fm-example.grc|FM Radio Example]] (must be opened with GNU Radio Companion) * The script can be started via the arrow in the middle of the menu * Depending on your SoundCard and your CPU you may vary the parameters for ''samp_rate'' (eg. decreasing to 2M) and ''audio_samp_rate''(eg. increasing to 96k) * The Frequency can be adjusted via the FFT Plot that opens when the script is started == 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: {{:sdr:fm_broadcast.png?direct|}} 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: ## Sample rate in Hz (8/10/12.5/16/20MHz, default 10MHz).