RDS - an Investigation

RDS? It's an abbreviation for Radio Data System. RDS is a European standard for sending small amounts of digital information using conventional FM radio broadcasts.

Where do I find a RDS signal? A Roberts Radio R9921 will do.

SAA6579
This radio has a SAA6579 buried inside it.
re-assemblyMaking the connections
Good RDS data
Good RDS data. Bottom trace is the regenerated clock from the SAA6579. Top trace is the 19200 output from the PIC. Data bit 1 is set.
Bad RDS data
Bad RDS data.  Data bit 1 is flips between 0 and 1.

The Plan

To understand the RDS digital format I need to play with it. That is easier to do in C++ than with PIC assembler. I'll use a 16F84 PIC as an interface. RDS data are sent serially to a PC com port for further investigation.

PIC interface

Pin 6 port b0 Data
Pin 7 port b1 Quality
Pin 8 port b2 Clock

Each falling edge of the clock triggers a 19200 serial frame to be send to the PC. The data and quality bits are sent in the lower 2 bits. The remaining 6 bits form the ASCII code for the digit 0. ORed together they code:

0 data 0 bad quality
1 data 1 bad quality
2 data 0 good quality
3 data 1 good quality

Here's the PIC source.

Connected to a PC

With a good signal:

The above screen shot reads 011010100011100111101110011110010000011...

Mistuning the radio causes errors:

Decoding the stream

In software I have 26 syndrome detectors running in parallel. When a syndrome detector finds a valid A, B, C , C', or D syndrome, it emits a letter, and which of the 26  detectors found it.

A 20
B 20
C 20
D 20
A 20
B 20
C 20
D 20
A 10
C' 1
A 20
B 20
C 20
D 20
A 20
B 20
C 20
D 20
A 20
B 20
C 20
D 20
A 20
B 20
C 20
D 20
A 20
B 20
C 20
D 20
A 20
B 20
C 20
D 20
A 20
B 20
C 20
C' 6
D 20

Here we see detector 20 happens to be the one of choice, with some spurious hits from other detectors.

Spurious detections can be filtered out with a state machine ensuring Block B follows Block A, Block C follows Block B etc.

My First Radio Text Decode!

This sequence was sent interspersed with other groups (here deleted). Group 2A is the Radiotext (RT) message.

A c203 PI c203 25
B 21e0 2A RadioText only (see 3.1.5.3) address code 0 25
C 4d69 Mi 25
D 7869 xi 25
A c203 PI c203 25
B 21e1 2A RadioText only (see 3.1.5.3) address code 1 25
C 6e67 ng 25
D 2049  I 25
A c203 PI c203 25
B 21e2 2A RadioText only (see 3.1.5.3) address code 2 25
C 7420 t  25
D 2d20 -  25
A c203 PI c203 25
B 21e3 2A RadioText only (see 3.1.5.3) address code 3 25
C 4665 Fe 25
D 6174 at 25
A c203 PI c203 25
B 21e4 2A RadioText only (see 3.1.5.3) address code 4 25
C 7572 ur 25
D 696e in 25
A c203 PI c203 25
B 21e5 2A RadioText only (see 3.1.5.3) address code 5 25
C 6720 g  25
D 4d69 Mi 25
A c203 PI c203 25
B 21e6 2A RadioText only (see 3.1.5.3) address code 6 25
C 6e6f no 25
D 7461 ta 25
A c203 PI c203 25
B 21e7 2A RadioText only (see 3.1.5.3) address code 7 25
C 7572 ur 25
D 2053  S 25
A c203 PI c203 25
B 21e8 2A RadioText only (see 3.1.5.3) address code 8 25
C 686f ho 25
D 636b ck 25
A c203 PI c203 25
B 21e9 2A RadioText only (see 3.1.5.3) address code 9 25
C 2c20 ,  25
D 466f Fo 25
A c203 PI c203 25
B 21ea 2A RadioText only (see 3.1.5.3) address code 10 25
C 6568 eh 25
D 6e20 n  25
A c203 PI c203 25
B 21eb 2A RadioText only (see 3.1.5.3) address code 11 25
C 2620 &  25
D 4d75 Mu 25
A c203 PI c203 25
B 21ec 2A RadioText only (see 3.1.5.3) address code 12 25
C 6d20 m  25
D 616e an 25
A c203 PI c203 25
B 21ed 2A RadioText only (see 3.1.5.3) address code 13 25
C 6420 d  25
D 4461 Da 25
A c203 PI c203 25
B 21ee 2A RadioText only (see 3.1.5.3) address code 14 25
C 642e d. 25
D 2020    25
A c203 PI c203 25
B 21ef 2A RadioText only (see 3.1.5.3) address code 15 25
C 2020    25
D 2020    25

Mixing It- Featuring Minotaur Shock, Foehn & Mum and dad.

Tuning to Classic FM, and inspecting the Group 2A Radio text, and the A/B "clear screen" code I get this sequence:

Classic FM on the internet: www.classicfm.com
Sunday night at 11.
Humphrey Burton celebrates the Golden Jubilee.
A programme that explores the music of Royalty.
Relax - it's Classic FM Relax - it's Classic FM
Our address is Classic FM, PO Box 2834, W1A 5NT.

Frequencies

Let's see if the alternate frequencies tie up to transmitters in my locality...

Tuning to Classic FM on 100.4 MHz (Bedfordshire) there are 7 Alternate frequencies (0A group)

101.9MHz Cambridgeshire
100.9MHz London
101.3MHz Oxfordshire
101.5MHz Norfolk
100.1MHz West Midlands
101.1MHz West Yorkshire
100.5MHz Lincolnshire

Ofcom lists transmitter information.

Tuning to Radio 2 on 88.6 MHz, the local repeater at Bow Brickhill, there are 10 Alternate frequencies (0A group)

90.1MHz Peterborough
88.9MHz Cambridge and Northampton
88.6MHz Bow Brickhill
88.8MHz Crystal Palace
89.3MHz Holme Moss
89.5MHz Oxford
88.3MHz Sutton Coldfield
89.7MHz Tacolneston
89.1MHz Wrotham
88.1MHz Manningtree (and others)

Info from http://www.bbc.co.uk/reception/transmitters/radio_trans/england_fm.shtml Main in Red, relay in black.

Yes, the alternate frequencies do tie up!

A Windows application is born...

A Windows dialog app is knocked out. The RDS data stream is pulled apart and displayed.

And another. This is a PIC based RDS encoder.

An Alternate Connection Interface?

Several people has asked me to release a version of the RDS application that doesn't require the extra PIC circuit. "Other applications put RDAA (2) to DSR (pin 6) and RDCL (16) to RI (pin 9) and with ground (pin 5). Why do use a PIC?"

I'll consider this. In my original design I chose a PIC to serial the data as I didn't want the RDS clock (1187.5Hz) and data getting mis-timed. This could occur this the PC is under heavy network load or Graphics loading. The serial port doesn't have a high priority interrupt, and if you're looking for RDS signal issues, you don't want a dubious interface connection to further confuse the situation.

Links

UNITED STATES RBDS STANDARD   This standard is available free. It includes all of the specifications in Cenelec EN50067: 1998 plus some additional features for the United States. Follow this link to see what the differences are.

RDS Decoder

RDS Encoder

RDS data channel spectrum shaping formulae

www/pira/rdsschem.htm

http://www.semiconductors.philips.com/acrobat/datasheets/SAA6579_3.pdf

http://www.rds.org.uk/  The RDS Forum is the professional association of the users of the Radio Data System broadcast technology.

www.pulsarfm.nl

http://en.wikipedia.org/wiki/Radio_Data_System

UK Commercial Stations RDS info

Ofcom technical parameters of all analogue VHF stations (Including RDS codes and coverage.)

Here's a YouTube demo of PS, REG and AF:
RDS Radio Data System AF Alternative Frequency Demonstration You may want to turn the sound down.

Comments? email me! Nick June 2002

Page last updated February 2008