Decode HD Radio on RTL-SDR!

During my 2017 SWL Fest presentation, I mentioned that there is no way to decode either HD Radio or ATSC HD Television using software designed for the RTL2832U dongles. The explanation I provided is that both protocols are covered by patents and that the holders have not been forthcoming on providing necessary details to the open source community.

A cybersecurity researcher, Theori, has cracked the codec used by the NRSC-5-C standard for US based terrestrial digital radio. I am now listening to HD Radio via an RTL SDR dongle. It takes a decent signal, so I’m not getting too many stations using an inside whip antenna, but there are enough to experiment with. It also takes a better dongle with good frequency stability. An older dongle without the TCXO was not up to the task, even on an i7 based system.

The discovery is summarized on the RTL SDR Blog. You’ll need some familiarity with building packages under Linux to grab the source from github and to compile it on your system. So far, I’ve compiled under Debian x86_64, Fedora x86_64, and Raspbian! Next, I want to get it running under Cygwin so that I can use it on the Windows 10 computer in the radio room.

It is a blast to be able to decode the alternate program streams. Audio quality is better than Sirius XM.

Thanks Theori!

3 thoughts on “Decode HD Radio on RTL-SDR!”

  1. Hello Dan,
    I just want to add that the HD Radio code works great on a Macintosh with my $8 dongle. Thank you so much for posting this on your blog and a big thanks to Theori for his hard work and source code!!!

    Jose T.

  2. There’s a link in the RTL-SDR article to a Windows binary. It works fine under plain Win10 using an RTL-SDR V3 dongle. Thanks for the information, Dan!

    Brett W3SWL

    1. Brett:

      Would you please post the link to the Windows binary? I’m sure that readers would appreciate it!



Leave a Reply

Your email address will not be published. Required fields are marked *