Les logiciels open-source, l'actuariat, la radio, la musique sont des sujets qui m'intéressent fortement. as@langmeier.ch
   Accueil arrow Open source projects arrow RdsEnc
 
Advertisement
Menu principal
Accueil
Publications
Curriculum vitae
Open source projects
Softwares - Logiciels
Radio locales
Liens
Recherche
Gallerie photos
RdsEnc Convertir en PDF Version imprimable Suggérer par mail
SourceForge Logo

RdsEnc

 

NameDescription
RdsEnc
Prepare and send the RDS / RBDS bitstream encoded as biphase symbol on the soundcard in baseband frequency.

This bitstream should then modulate a double side band suppressed carrier with a frequency of 57kHz.

RDS basics

Clock frequency = 1187.5 bps
1 Group = 4 Blocks (104 bits)
1 Block = Information (16 bits) and Checkword (10 bits)
Checkword = Crc XOR offset word Transmitted msb to lsb
Differential coding (xor previous bit with the actual bit transmitted)
Each bit is biphase coded and pass thru a filtering.

In my project, this step is done by generating each bit directly on the soundcard, so there is no need for special circuit.

Bibliography:

Obtaining the exact biphase encoded stream require some mathematical resolution. Steps involved to obtain audio samples are described in the following document (in french): "Génération du flux en bande de base au moyen d'une carte son"  PDF (187k) and the diagram of the RdsEnc test circuit   PDF (42k).

  • The first version of the test program was made with an approximation of biphase samples.
  • The second version of the test program with exact biphase samples RdsEnc.v1.00b.zip (93k).

There are many ways to obtain a 57kHz DSBSC modulated signal. I choose to use a CMOS switch at 57kHz that switch the biphase RDS signal generated by the soundcard. I had the idea of generating the RDS signal by a PC soundcard in September 2000 and after searching on the net I didn't find someone that already did it. So I start to write the program and finished a first version and built this test circuit in January 2001. You can see the test of this project on the Gallery.

In 1987, I started a project to generate (RDS was quite new at this time!) the RDS signal by hardware in conjuntion with an EPROM to store samples. I started the circuit but I didn't finished this project because I had a lot of work.

Today it's possible to generate the complete RDS signal and even the complete MPX signal digitally with the help of a soundcard that is able to handle at least twice the highest generated frequency (Nyquist frequency), by using a 192kHz sampling rates, you can achieve more than 90kHz bandwith and that's a lot more than needed. The mono (L+R) part of the MPX signal use 20-15'000Hz, followed by the 19kHz pilot and from 23kHz to 53kHz by the stereo information (L-R) modulated with a 38kHz DBSC. The RDS is modulated with a 57kHz DBSC and use a +/- 2.375kHz bandwith.

Arjen wrote a complete stereo encoder and add recently with my little contribution the RDS part. Airomate is a great soft and you can find it at http://www.heinecke.nl/.