FM/RDS Tools
FM-RDS | FM-RDS Tools |
| Wednesday, 17 February 2010 | |||
|
Our works on multimedia data broadcasting and the renewed interest in RDS lead us to identify the need for an open FM-RDS transmission/reception chain. The GNU Radio platform which we used for our DAB tools appeared as a logical basis for new FM-RDS tools. After some research, we discovered that most of the tools required to create an FM broadcasting chain were already available for GNU Radio but without much documentation or examples. This page shows an overview of the basic FM -RDS transmission and reception tools that we were able to integrate and further develop. For each demo, the GNURadio Companion flowcharts and the resulting Python code are provided. The CRC FM-RDS GNURadio flowcharts are licensed under the Creative Commons Attribution-ShareAlike 3.0 License. FM-RDS ApplicationsThe flowcharts we produced with the GNURadio Companion tool and the resulting code should run with the following dependencies installed:
FM demodulationsThis is a demo of different ways to demodulate FM radio using the GNURadio framework. The user can enable/disable the sound from any of the demodulator to compare the results. [GRC flow chart ] [Python code ] FM spectral analyzerThis is a demo of a simple spectral analyzer for FM frequencies. This application samples a width of 3.2Mhz of spectrum which makes it easier to see multiple FM stations at once. A button lets the user turn on the audio of the current central FM frequency but a very powerful CPU will be required for this to work correctly. [GRC flow chart ] [Python code ]
FM-RDS TransmitterThis is a complete FM-RDS transmitter that takes an audio file or a raw audio feed through a named pipe. The "RDS data Source" block takes an XML file containing a description of the data to insert in the RDS channel in the following format:
The design is based on the FM transmitter found on opendigitalradio.org to which was added the RDS components from the gr-rds project. The RDS generation is now functional (as of 2010-02-19). The resulting data was successfully received on an FM enabled iPod nano as shown on the left. [GRC flow chart ] [Python code ]
FM-RDS ReceiverThis is a complete stereo FM-RDS receiver. The RDS blocks are also provided by the gr-rds project and they have been tested to work with multiple commercial FM radio stations. The decoded RDS data is shown on the console with the following format:
[GRC flow chart ] [Python code ]
|
|||