Nrsc5: Receive NRSC-5 digital radio stations using an RTL-SDR dongle
github.com
github.com
> Maps: When listening to radio stations operated by iHeartMedia, you may view live traffic maps and weather radar. The images are typically sent every few minutes and will fill the tab area once received, processed, and loaded. Clicking the Map Viewer button on the toolbar will open a larger window to view the maps at full size. The weather radar information from the last 12 hours will be stored and can be played back by selecting the Animate Radar option. The delay between frames (in seconds) can be adjusted by changing the Animation Speed value. Other stations provide Navteq/HERE navigation information... it's on the TODO 'like to have' list.
Is this an easier way to get weather info without Internet than e.g. Raspberry-NOAA and a large antenna?
https://www.google.com/search?q=weather+satellite+antenna+ha... https://github.com/jekhokie/raspberry-noaa-v2#raspberry-noaa... :
> NOAA and Meteor-M 2 satellite imagery capture setup for the regular 64 bit Debian Bullseye computers and Raspberry Pi!
If you're OK with audio only, you cant beat NOAA weather radio: https://www.weather.gov/nwr/
You can listen with a SDR, or any number of cheap radios.
Back in 2019 the project enabled me to listen to the local baseball team's broadcasts [1] without a traditional radio since their online streams were restricted due to MLB's dumb blackout rules.
[1] https://www.jeffgeerling.com/blog/2019/hospital-stay-and-mlb...
Also, is SDR computationally expensive?
They also have a new V4 version, but it requires updated drivers that will take a bit of time to percolate out to Linux distributions and the like.
NooElec also has a line of RTL-SDR dongles that I would recommend: https://www.nooelec.com/store/sdr/sdr-receivers.html
The best antenna will depend on what you're trying to receive. Different antennas are optimized for different frequency ranges, and may be either omnidirectional (receiving equally well from many directions) or favour reception in one particular direction. To get started, you could buy a dongle that comes with an antenna included, but you may eventually want to switch to something targeted to the particular application you have in mind.
As for the computational cost, it depends a lot on what you're trying to do. As a general rule, the wider the bandwidth of the signal, the more processing power it will take to demodulate. HD Radio is relatively narrow-band (400 kHz), so it doesn't require much CPU power to receive it.
https://www.digitalhome.ca/forums/antenna-research-developme...
Python apps require a bunch of disk space, which is at a premium on low-wattage always-on routers.
OpenWRT's luci-app-statistics application supports rrdtool and collectd for archived stats over time (optionally on a USB stick or an SSD instead of the flash ROM of the router, which has a max lifetime in terms of number of writes) https://github.com/openwrt/luci/tree/master/applications/luc...
From https://news.ycombinator.com/item?id=38138230 :
> LuCI is the OpenWRT web UI which is written in Lua; which is now implemented mostly as a JSON-RPC API instead of with server-side HTML templates for usability and performance on embedded devices. [...] Notes on how to write a LuCI app in Lua:
(Pi Pico, Pi Zero, and Pi A+/B+/2/3/4 have 2x20 pin headers for HATs. Orange Pi 5 Plus has hardware H.265 encoding with hw-enc and gstreamer fwiu.)
I suspect a Pi Pico would be too small.
Reason I ask, is analog FM had all sorts of sideband streams for the longest time, like SCA audio and DirectBand digital, that weren't well known at the time. And while internet access is certainly easier to get these days, there might still be a justification for one-way data broadcasts in certain applications, so I wonder if someone's out there leasing subchannels or sub-packet-IDs or what-not, and shuffling encrypted data around in them.
At present, nrsc5 makes these streams available through its API, but doesn't otherwise do anything useful with them. I don't believe any of the GUIs process them either. Some reverse engineering work is needed.
Here's my question: Was there a reason for not using the GNU Radio framework for this project?
Thanks!
One downside is that we don't get the broad hardware support that GNU Radio provides, but maybe we'll someday take another crack at integrating SoapySDR. (See https://github.com/theori-io/nrsc5/pull/131 for an earlier experiment with that.)
The missing parts are the audio codec (HDC) and the formats of the various data streams. These have required reverse engineering.
https://www.radiodiscussions.com/threads/kqrs-rdbs-alternate...
Ooh, since I have your ear, Gqrx performance is pretty unusable on my Apple Silicon Mac, like 1-2 FPS rendering the charts and the whole UI chugs. It was fine on my Intel Mac.
There any work going into that? I fully understand if it's a QT UI toolkit issue and out of your hands.
I could really use some help from a software build expert. Gqrx and all its dependencies would need to be built in CI with Apple silicon support, and I don't know how to do that.
First we ran out of E4000 tuners for the rtl-sdr dongles... but there were R820T. Then then R820T ran out and R820T2 replaced them. Then a proliferation of slightly less task specific R828D variants. The price steadily increased. Then the pandemic hit and it spiked even more.
At $8 a pop you could afford to use many of them mod them, etc. But at $30 you pretty much treat it like any other SDR.
BTW, for simple AM/FM demodulation I cannot recommend enough the handy https://github.com/charlie-foxtrot/RTLSDR-Airband. Most of the LiveATC.net feeds run on it, for example. It can be used for any AM/FM audio, for any number of simultaneous channels, even on a weak machine like a raspberry pi.
If you buy it from the source, it's now $9.
Elonics E4000 (E4K) 54 - 2200 MHz (1100 MHz-1250 MHz gap)
Rafael Micro R820T 24 - 1766 MHz (>1500 MHz is bad w/o tuner cooling)
Rafael Micro R820T2 24 - 1766 MHz (>1500 MHz is bad w/o tuner cooling)
Rafael Micro R820T2 13 - 1864 MHz (mutability's driver)
Fitipower FC0012 22 - 948 MHz
Fitipower FC0013 22 - 1100 MHz (FC0013B/C, FC0013G has seperate L band input)
FCI FC2580 146 - 308 MHz and 438 - 924 MHz
Looking around on aliexpress most at that price at FC0012 tuner based (even if they say R820T). There are a couple actual R828D dongles but the price shown seems to be one time thing "welcome deal"/75% off and the actual price is more like $25. Dang. Still, I'll keep my eyes on aliexpress now as well as ebay, so thanks.https://github.com/cmnybo/nrsc5-gui https://github.com/markjfine/nrsc5-dui https://github.com/KYDronePilot/hdfm
FWIU there are also DVB data streams?
There's also a special stream for emergency alerts, but I haven't seen it in use.
There are various data streams, but not DVB.
A lot of the details are described in the standard: https://www.nrscstandards.org/standards-and-guidelines/docum...
What needs to be done to link WEA Wireless Emergency Alerts with HD radio data streams? WX radio could possibly embed a data channel? If it doesn't already for e.g. accessible captioning?
DVB-T: https://en.wikipedia.org/wiki/DVB-T :
> This system transmits compressed digital audio, digital video and other data in an MPEG transport stream, using coded orthogonal frequency-division multiplexing (COFDM or OFDM) modulation.
From https://www.rtl-sdr.com/about-rtl-sdr/ :
> The origins of RTL-SDR stem from mass produced DVB-T TV tuner dongles that were based on the RTL2832U chipset. [...]
> Over the years since its discovery RTL-SDR has become extremely popular and has democratized access to the radio spectrum. Now anyone including hobbyists on a budget can access the radio spectrum. It's worth noting that this sort of SDR capability would have cost hundreds or even thousands of dollars just a few years ago. The RTL-SDR is also sometimes referred to as RTL2832U, DVB-T SDR, DVB-T dongle, RTL dongle, or the "cheap software defined radio"
From https://www.reddit.com/r/RTLSDR/comments/6nsnqy/comment/dkbv... :
> [You need an upconverter to receive the time from the WWV shortwave clock station on 2.5, 5, 10, 15, and 20 MHz] http://www.nooelec.com/store/ham-it-up.html
From https://news.ycombinator.com/item?id=37712506 :
> TIL there's a regular heartbeat in the quantum foam; [...] https://journals.aps.org/prresearch/abstract/10.1103/PhysRev...
I evaluated three methods of recording: analog capture from a standalone FM receiver, using this nrsc5 library to record the "HD" radio stream, and using an AirSpy SDR with this library: https://github.com/jj1bdx/airspy-fmradion
Recording the "HD" (what a misnomer) radio was nice in that there was no hiss or multipath effects, but in comparison to the other methods the digital compression artifacts became impossible to un-hear. It seems to top out at about 96 kbps
The airspy-fmradion library has some nice stuff in it to address multipath, resulting in the best audio quality of the three methods I tested.
I use https://github.com/ina-foss/inaSpeechSegmenter to identify which segments of the recordings are speech vs. music.
This produces a weird effect when listening in the car and moving in-and-out of good digital SNR range. When the radio switches between analog and digital, unless the station has them perfectly synced (never), there's always a little echo or stutter. It seems like it would be nothing but it's quite annoying.
Having fallback to analog would really help to cover the gaps. However the EU seems hell-bent on freeing the 87-108 spectrum so that they can sell it. Just like they did with the analog TV bands. Its 700Mhz band is now one of our cell bands.
Of course the continued ubiquity of FM receivers makes this a bone-headed plan but sadly they have many of those right now, like chat control.
I have an RTL-SDR (R828D tuner) and I can just about receive regular FM stations, but the quality is pretty bad - voice is just about intelligible through the fuzz.
I don't know if my rtlsdr is bad, my antenna is bad, the signal strength is weak, I have interference, or this is just the quality expected from a $10 'TV tuner'.
https://news.ycombinator.com/item?id=37778149
This would be outside my capabilities.
For AM/SW DRM, the "Dream DRM decoder" works fine for me.
The trouble is that most of the Broadcasters have abandoned AM DRM.
I just now did a quick scan. Of the 17 MW/SW channels I have programmed, there isn't one on air with DRM.
I would write one when I get the time, but I've never been able to find the actual specification anywhere.