Even though the world of software defined radio started out as a Linux-only endeavor, several recent software releases have put the ball fully into the court of OS X users. [hpux735]’s new Cocoa Radio release provides a (nearly) fully functional software defined radio for anyone with a USB TV tuner and a mac.
Earlier this week, we saw (and tested) [Elias]‘ port of gqrx and were reasonably impressed. [hpux735]’s app does the same job and also provides the source so you can compile it yourself.
Previously, [hpux735] ported the osmocom driver for these RTL2832U-based USB TV tuner dongles to the Mac and wrote a small Cocoa driver. The new Cocoa Radio software uses this driver and adds all the features you’d expect from a software radio package; in the title pic for this post, you can see a top 40 radio station near my house and their insipid hatred of dynamic range.
[hpux735] posted a few videos of his development process. You can check those out after the break.
[youtube=http://www.youtube.com/watch?v=k3tg8zx3Tj8&w=470]
[youtube=http://www.youtube.com/watch?v=SZRCAIMSinA&w=470]
“in the title pic for this post, you can see a top 40 radio station near my house and their insipid hatred of dynamic range.”
But louder is better, right? Just smash all the music into those low-order DAC bits. Less data to transfer in that case if we just set the top 16 to 0 or 1. :-)
I’m really curious how that loud radio station sounds. I don’t have one near by that’s that powerful, so I don’t know how well the algorithm would do.
Since the station in question is FM, it’s not the RF amplitude that matters. Rather, the deviation from the center frequency determines audio “loudness” when demodulated.
I know that’s true in theory, but when you’re writing the algorithms there is a lot of room for problems ;p
In the quadrature demodulator, I normalize the complex vectors to be on the unit circle. So, it should be fine, but I wonder about whether the clamping of one of the values (inphase or quadrature) more than the other. In this case it would cause distortion of the phase angle computation.
Sounds like an FM radio tuned to a strong station.
Algorithm works beautifully.
I downloaded it. It runs, and I can get some passible audio, but the spectrum display is totally scrambled. I wonder if it’s and OpenGL issue, or something else.
It could be. I haven’t seen that effect before. Please file a bug at github with an image. You can scale the top part of the spectrum display to make it disappear and use only the waterfall, if that works.
Maybe try changing the window size a little?
Is there a way to receive and decode TV signals for free or cheap on a Mac? I can only find paid, low-quality Windows software that doesn’t work.
Of course there’s a way. How much time are you willing to invest? For signals that aren’t encrypted, all you have to do is write a demodulator for the signal (probably 32-QAM), do the error correction, assemble the MPEG2-TS packets and extract the MPEG2 elementary stream, then decode it! :) It’s all fairly well documented. The problem is that I don’t know of any software that’s already written that does it. I imagine that GNU radio would be the best place to start.