I'm new in radio, so I started with seemingly easy task - receive and decode RDS data. I use GnuRadio to understand the concept of working with RF signals. So according to standard RDS receiver looks this way: RDS decoder scheme

I really would love to see how people actually do this in digital systems. I tried to apply a part of this scheme in GnuRadio, so I have this: GnuRadio RDS decoder first part

As you can see I took 57kHz signal source to shift RDS spectrum to lower frequencies as in the standard, but what really confuses me is that in standard they use subcarrier recovery module.

As I understand if I don't use subcarrier recovery there will be a phase error in 2.4kHz signal so further demodulating will be impossible.

I tried to use costas loop, PLL carrier Tracking and PLL ref out blocks to recover this 57kHz carrier but I couldn't get any decent output after 2.4kHz low pass filter. Also these blocks have complex inputs but after WBFM receiver the signal is real. I tried to use Hilbert filter, but seems that is wrong.

Summarizing everything up, there are several questions:

  1. Am I on the right way to decode RDS signal?

  2. How can I use carrier recovery blocks when my signal is real?

  3. What do I need to do next after 2.4kHz lowpass filtering? What blocks do I need to use to get a bitstream?

Thank you in advance!

  • 1
    $\begingroup$ I don't have time right now, but you are aware of gr-rds, right? $\endgroup$ – Marcus Müller Apr 20 at 20:45
  • $\begingroup$ I edited your question mainly to add a link to the Wikipedia article on RDS. I hope you don't mind! $\endgroup$ – rclocher3 Apr 20 at 21:14
  • $\begingroup$ @MarcusMüller, I know about gr-rds, but i'm working on windows so i don't really know how to install it and unfortunately in those videos they don't show the whole graph. Anyway thank you. $\endgroup$ – mishaskt Apr 21 at 13:15
  • $\begingroup$ @rclocher3 of course i don't mind, thank you! $\endgroup$ – mishaskt Apr 21 at 13:16
  • $\begingroup$ @mishaskt you don't even need to install it to open the flow graphs. $\endgroup$ – Marcus Müller Apr 21 at 13:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.