This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
sdr:fm [2015/08/19 15:19] iggy created |
sdr:fm [2015/09/06 13:19] (current) mkie |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | = FM Radio stations - Reception | + | = FM Radio |
+ | |||
+ | == FM Radio Reception | ||
* Requires GNURadio | * Requires GNURadio | ||
- | * Requires either an extra antenna or pressing a finger on the upper right corner where the antenna is usually soldered (then you are a human antenna ;-) ) | + | * 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) | * 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 | * The script can be started via the arrow in the middle of the menu | ||
Line 7: | Line 9: | ||
* The Frequency can be adjusted via the FFT Plot that opens when the script is started | * The Frequency can be adjusted via the FFT Plot that opens when the script is started | ||
- | ==== FM Radio stations - Broadcast | + | == FM Radio Broadcast |
- | * Can be illegal depending on which frequency you broadcast: check the local laws | + | |
- | * Requires GNURadio | + | FM Broadcast can be illegal in your country depending on which frequency you broadcast. Be sure to check the local laws before broadcasting. |
- | * Requires either an extra antenna or pressing a finger on the upper right corner where the antenna is usually soldered (then you are a human antenna ;-) ) | + | 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: |
- | * Example Script: [[http://sprunge.us/agBZ|FM Broadcast Example]] (must be opened with GNU Radio Companion) | + | {{:sdr:fm_broadcast.png?direct|}} |
- | * The script can be started via the arrow in the middle of the menu | + | |
- | * It uses a fifo (create it with mkfifo and change the File Source box in GNU Radio Companion accordingly). You can feed it with mp3 by executing, for example: mpg123 -r41000 -s foo.mp3 > /path/to/input_fifo. You can change the broadcast frequency by modifying the osmocom Sink configuration in GNU Radio Companion. | + | 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. | ||
+ | |||
+ | <note tip> | ||
+ | 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). | ||
+ | |||
+ | </note> |