TamTam Research blog

Receive RDS data on console and detect RDS-TMC in 4 seconds

RDS is sort of data channel present in analog radio broadcast. There are 11.4 RDS groups broadcast per second, each bearing 8 bytes of data.

If we have RDS probe connected to controlling computer (using Linux or MS Windows), we can use a command called RdsRadio to get received data into our console as follows:

$ RdsRadio -f 94.3 -g
534035500006CD46;25;60;94.3 MHz;28.01.14 02:24:33
5340854018D7CC00;25;60;94.3 MHz;28.01.14 02:24:33
53400548C4CD4655;25;60;94.3 MHz;28.01.14 02:24:33
53400549F0024E52;25;60;94.3 MHz;28.01.14 02:24:33
5340254220666561;25;60;94.3 MHz;28.01.14 02:24:33
5340854018D7CC00;25;60;94.3 MHz;28.01.14 02:24:33
5340254374757269;25;60;94.3 MHz;28.01.14 02:24:33
5340054A10114144;25;60;94.3 MHz;28.01.14 02:24:33
534025446E67204C;25;60;94.3 MHz;28.01.14 02:24:33
5340054F292F494F;25;60;94.3 MHz;28.01.14 02:24:34

First four characters (2 bytes in hex) are constant as they show PI (Program Identifier).

5th character denotes type of RDS group (there are types 0A, 1A, 2A,...15A plus B variants used in US).

On Linux I have very simple command alias named rdstmc, which uses sed to detect groups of type 8A and 3A, which are used by RDS-TMC.

$ alias rdstmc='RdsRadio -f 94.3 -g | sed "s/^....8.*$/& - TMC 8A =====/; s/^....3.*$/& - TMC 3A ...../"'

When using this alias, I can get output as follows:

$ rdstmc
534035500006CD46;25;60;94.3 MHz;28.01.14 02:24:33 - TMC 3A .....
5340854018D7CC00;25;60;94.3 MHz;28.01.14 02:24:33 - TMC 8A =====
53400548C4CD4655;25;60;94.3 MHz;28.01.14 02:24:33
53400549F0024E52;25;60;94.3 MHz;28.01.14 02:24:33
5340254220666561;25;60;94.3 MHz;28.01.14 02:24:33
5340854018D7CC00;25;60;94.3 MHz;28.01.14 02:24:33 - TMC 8A =====
5340254374757269;25;60;94.3 MHz;28.01.14 02:24:33
5340054A10114144;25;60;94.3 MHz;28.01.14 02:24:33
534025446E67204C;25;60;94.3 MHz;28.01.14 02:24:33
5340054F292F494F;25;60;94.3 MHz;28.01.14 02:24:34

We have couple of RDS probes located in Prague and Bratislava. Using tool called rdsproxy we are able consuming the RDS stream in exactly the same format remotely on multiple computers.

This way we can make quick check of RDS content.

My set of aliases includes:

  • kamzik: for RDS in Slovakia - Fun Radio
  • regina: regional service in Prague on CRo Regina Prague
  • rzurnal: national-wide service on CRo Radiozurnal

If I sit at my computer (running Ubuntu) and receive a call questioning any of those services, I can make first check within 4 seconds. The same can be done for MS Windows users too.

If you want receiving RDS data of your interest too, let us know, we can install new RDS probe or connect you to data from our sources.

TurboTMC RDS

Comments