Sunday, 20 July 2014

FM-RDS

RDS or Radio Data System is a very interesting thing. All of us have come across this in some point in life. RDS is a cool implementation. RDS shows radio stations name, frequency, song etc. A lot of car radios support this feature. So when you see “RAADIO 4” on your radio, it arrived there over RDS. It piggyback rides on the FM station at 57 KHz. So I wanted to learn more about it.

This is a typical FM stations baseband spectrum.

 

rdstext

 

 

Decoding RDS with some already made tools is somewhat simple. SDR Sharp has this feature built in. But rtl-sdr is not that sensitive receiving weak stations. So I started experimenting.

Firstly I hooked up my Panasonic car radio. It supports RDS. I listened to FM stations and it worked fairly well. Then for pure interest I connected the radio to my PC and fired up Spectrum Lab. And I was surprised it spit out the RDS data.

Then I thought what happens if I connect a Sony STR-232L to my PC. It’s a fairly old FM receiver. And yes, I was able to see RDS data. And I started using this as my main experimentation device because it is super sensitive. I was able to pick up quite far radio stations with it.

The most important thing is to sample at 192000Hz or you can not see the RDS stream.

I quickly found RDS Spy. You can even feed it directly with RDS data. The software works pretty well. It even decodes things that the car radio was not able to decode. It is even cooler to use the RDS Spy with my FM receiver. It’s an old analogue receiver but I am able to see RDS information on my computer screen.

RDS Spy and my FM receiver.

rdsparem

 

 

And I even was able to listen YLE YKSI from KO28XP. Here you can even see DARC.

To my knowledge nobody uses DARC in Estonia. More about DARC  HERE!

yledecoded

 

And YLEX.

ylex

 

Then I thought it would be super cool to actually send RDS data out myself. The simplest way to test this quickly was to record a radio station and then play it back to a transmitter. I tried with a car FM transmitter – that did not work. Then I tried the same with my FM transmitter bug that I had built couple of years back – That did not work.

So then I turned to my Raspberry Pi. The PiFM is a popular thing so maybe somebody has built RDS implementation into it? Yep.

And as you can see it works.

vlcsnap-2014-07-20-21h21m22s194

Now I need to buy this RDS+FM kit from Adafruit.

 

 

 

 

Monday, 14 July 2014

RTL_SDR Direct Sampling Mod

Listening to various radio signals is fun with vanilla rtl-sdr. The range is 22 MHz to 2200 MHz So that means there are pretty different things to listen to for a while. Couple of day’s back I wanted to listen medium and high frequency bands. Because radio waves in that spectrum travel a lot further than VHF and UHF signals. I know there are up converters that don’t cost very much and are easy to use. There are many other benefits using an up converter. But I wanted to do a direct sampling mod to one of my rtl-sdr. This so called “mod” is not very difficult. So I decided to try it out.

Source: 1 , 2 and 3

I should use a right ferrite for the job but I found this random one.



To the SDR I connected a 20M dipole.  So the rtl_sdr is not very good but the antenna makes somewhat up for it.



I’m using an old laptop as a server for the SDR. To add Direct Sampling mode in SDRSharp in TCP mode: LINK   And what do you know it works!

itworkslahe