articles:hd_radio_thoughts

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
articles:hd_radio_thoughts [2021-08-09 15:01] Tonyarticles:hd_radio_thoughts [2021-08-09 15:02] (current) Tony
Line 1: Line 1:
 +====== HD Radio with RTL-SDR ======
 +
 +As someone who sometimes tinkers with radios, I sometimes just scroll through channels with a cheap r820t2 dongle and gqrx.
 +
 +===== Intro =====
 +
 +==== Spectrum ====
 +
 +The latest thing I noticed was bars of what is presumably digital signals alongside of some commercial FM radio stations.
 +
 +(todo: add screenshot here)
 +
 +I questioned whether it was interference, but ruled that out since it wouldn't be in such a clean pattern, and the very consistent bandwidth is very reminiscent of digital radio signals.
 +
 +==== Digital Radio ====
 +
 +At the time, the only digital radio standard I knew of was DAB, which is used in some parts of Europe.
 +
 +Turns out, there's an (IMO crappier) standard for digital radio used in North America called HD Radio.
 +
 +===== Some downsides I see =====
 +
 +==== Proprietary ====
 +
 +Unlike the rather open DAB standard, HD Radio is proprietary, which is enough for me to hate it already.
 +
 +This means that if you even want to receive or broadcast HDr, you'll probably get hit with hefty fines.
 +
 +It's also going to (IMO) slow the rate of adoption, since if you're going to spend so much to upgrade a station, who is going to listen to it?
 +
 +
 +==== Needs new $$$ receivers ====
 +
 +The reason AM/FM radio still works and is kind-of used in the 21st century is that it's ridiculously simple to receive (more so for AM then FM), and for cheap.
 +
 +Digital radio already has a major hurdle there. If I'm going to spend $100 on a new radio, that's not going to happen *(unless it's for ham radio).
 +
 +Practically everyone has an AM/FM receiver in their house, probably in an old CD player, boombox or car. Why would someone spend that much money on a new radio?
 +
 +At that point, you can just pay for Deezer/Spotify.
 +
 +I mean, I get why it's more expensive, just like DAB, you need what are basically low power CPUs, since you're decoding a digital compressed audio stream.
 +
 +
 +==== AAC vs MP2 ====
 +
 +Adding to the cost and proprietary nature is that HD Radio uses what basically amounts to an AAC audio stream.
 +
 +Now, at least HE-AAC isn't terrible at low bandwiths, and can at least usually do closer to fullband?
 +
 +
 +DAB for comparison uses MP2. Some users may be familiar with MP2 as some DVDs used it instead of AC3 for the audio track.
 +
 +As a pro to HDR vs DAB, MP3, like MP3, is a rather old codec. I find it's only usable at ~ >192 kbit/s, but suffers far worse then AAC at low bitrates.
 +
 +This means that theoretically at least, a 64 kb/s AAC stream is better then MP2. 
 +
 +
 +On the other hand, AAC is very very patent encumbered.
 +
 +MP2 has the advantage that all of it's corresponding patents have since expired so anyone can use hardware/software for MP2 without nasty royalties.
 +
 +AAC is expensive to implement and I guess just hope to not get sued if you're using it.
 +
 +
 +OPUS really is ideal here - royalty free, which means you can get more widespread adoption, and it crushes the other codecs at low bitrates.
 +
 +Speaking of sound at low bitrates:
 +
 +
 +==== Limited stream bandwidth ====
 +
 +From what I've seen, it's also limited to ~96 kbit/s transmissions with up to 4 streams. 
 +
 +This means that stations need to allocate that limited digital bandwidth among all the content they want to stream.
 +
 +I've seen some stations do a main stream at 64 kbit/s and a secondary at 32, and other stations that do 32/32/32. I've also seen 48/16/16.
 +
 +That's not a lot of bits to go around.
 +
 +I have yet to see a station use all four and I'm sure it would sound terrible if they did.
 +
 +As mentioned above, AAC really starts to break down at 64 kbits and below.
 +
 +
 +==== HD? More like compression ====
 +
 +When I first read the name "HD Radio" I assumed it was some form to do lossless or high bandwidth audio signals.
 +
 +"HD". What a joke that was. 
 +
 +True HD radio might be neat, since while FM doesn't have (digital) compression artifacts-, the volume levels are compressed with that is probably a brick-wall compressor--.
 +
 +-except the few stations where I can clearly tell that they are just broadcasting off a s---y 64 kbit/s mp3 stream...
 +
 +--ie: but a multiband compressor, and crank the ratio dial to the right.
 +
 +I mean, I can kinda see why. You need to get a high SNR so people further away can actually hear your stream, but don't want to pass the max modulation limit so the FCC doesn't come knocking.
 +
 +Digital on the other hand is either all there or none, so you could get much higher sound quality.
 +
 +
 +Digital TV with MPEG-2 basic compression allowed us to send 720p60 and 1080i60 signals after all, which was a huge step up from NTSC/ATSC*.
 +
 +*That's also because video can be compressed digitally more then audio generally but the point stands. no random noise in a DTV signal.
 +
 +
 +Anyways, back to my point. HD-Radio uses up to what I counted to be around 100 kbit/s of audio.
 +
 +Even with one stream, that would sound bad with mp2 and mp3, usable with vorbis and aac, and pretty good with opus.
 +
 +But of course, stations like having a substream so most of them use 64 kbit/s or even 32 kbit/s for their main stream.
 +
 +As advanced as AAC is, it still sounds terrible at 32 kbit/s. Even at 64, it sounds noticeably **worse** then the FM counterpart.
 +
 +I heard a talk news AM station in a sub-station at 16 kbit/s, I guess it's usable for voice, but still sounds terrible.
 +
 +For comparison, OPUS is also fine at around 64 kbit/s. You can hear the compression, but it's bearable, but it also starts to get worse around 32 for stereo music.
 +
 +HD Radio sounds way worse overall then FM though. Bonus points for feeding the volume compressed-af signal to the digital stream too, even though it's unnecessary. Back to the loudness wars I guess.
 +
 +
 +==== Bandwidth usage ====
 +
 +HD-Radio signals take up a lot of space.
 +
 +I guess we're lucky here is NA that we don't have many stations in urban areas.
 +
 +In Europe, most stations only get 100 kHz spacing, and at most 200 kHz.
 +
 +When I was in Istanbul, they had over 100 stations in the city on all even numbers (100.0, 100.2, so on) 
 +
 +(they also had some questionable stations with questionable modulation on some off numbers interfering with everyone else...)
 +
 +Meanwhile, in Toronto, forget about 200 kHz, from my room, I can only pick up ~15 stations in total. We have the space here to do a digital stream beside fm stations.
 +
 +What I'm trying to say is that in Europe, allocating almost 100 kHz on the sides of the station will be impossible, since other stations are there.
 +
 +Compared to DAB, HDr takes up more bandwidth from what I can tell. You'd probably need to use a different part of the spectrum.
 +
 +
 +Note: You can also do what Norway did and I guess just kill off FM and switch to DAB. I don't recommend this approach.
 +
 +See my notes above, namely the $$$ receivers part for why.
 +
 +
 +==== Why would I listen to it ====
 +
 +If I wanted to hear a crappy 64 kbit/s AAC audio stream. I'd just press the listen online button on their website.
 +
 +Surprise! Most people already have a computer/phone with an internet connection that can play those streams.
 +
 +Not to mention, by the time I open a bad sounding HDR stream, I'd just play the playlist I WANT, WITHOUT ADS from Deezer/Spotify.
 +
 +
 +I only put up with ads on FM since it's free to listen to, and FM radios are basically free most of the time.
 +
 +I ain't paying 100$ to listen to ads at 64kbit/s where I don't even get to pick the music, and there are only 4 stations.
 +
 +Even if a digital radio was free, I think it would gain limited adoption in this day and age.
 +
 +===== Receiving signals on Linux =====
 +
 +There is a program on GitHub that uses some reverse engineering to play the modified AAC streams.
 +
 +You can find it here: [[https://github.com/theori-io/nrsc5]]
 +
 +There's also a Python GUI should you prefer here: [[https://github.com/cmnybo/nrsc5-gui]]
 +
 +It works on the cheap R820t2 receivers without many issues (except for the garbage antenna not receiving anything useful)
 +
 +I guess the GUI can also show a traffic map and weather radar, if the stations bother broadcasting that. but again, anyone with a receiver fancy enough to show a traffic map probably has a freaking cellphone with google maps that also acts as navigation.
 +
 +
 +===== Conclusion =====
 +
 +Maybe I'm acting like an old-person here, but the simplicity (and cheapness) of AM/FM made is so prevalent. The fact that it was so prevalent was what made it good.
 +
 +Need to reach a city in an emergency? Chances are, 70% of them have at least a crappy radio.
 +
 +Nobody (that I know of) would buy an HD Radio receiver (or DAB receiver for that matter). By the time you start putting a CPU and everything, that's already a basic computer. 
 +
 +For that money, why listed to compressed radio with ADS when you can just fire up a streaming service.
 +
 +Thanks for reading. Leave any comments/questions down below.