Hacker News new | past | comments | ask | show | jobs | submit login
GNU Radio first steps: a FM receiver (abclinuxu.cz)
204 points by marbu on Nov 25, 2019 | hide | past | favorite | 38 comments



"You need a radio to play with GNU Radio" is the most common misconception. There would be more fun if you have one, but GNU Radio itself doesn't require a radio. It's actually a general-propose signal processing and simulation tool, and a lot of things can be done without hardware.

For example, you can simulate different modulation techniques and observe them in time and frequency domain, or you can simulate an amplifier and change its the input level on an interactive GUI control panel you programmed to understand how an overdriven/saturated amplifier produces intermodulation distortion, or experimenting with different transmitter/receiver architecture (superheterodyne, direct conversion, etc).

Traditionally, these experiments can only be done in a lab with a scope and a spectrum analyzer. But now it's all possible on your desktop.


That is a good point that you don't need a radio but I work extensively with GNU Radio and I would do all of those experiments using MATLAB / Octave. GNU Radio is very much the wrong tool for that job.


I made an SSB receiver in GRC, that was educational. SSB doesn’t have a carrier so you have to provide your own (GRC has a block that can generate a sine wave of a given frequency). The ability to probe the graph anywhere makes learning easier in a way that physical building wouldn’t be.

Ironically i was doing a bit more on my little RTL SDR web view tonight: https://github.com/craigjperry2/websdr


Anyone have good suggestions for playing around with SDR on OSX? I tried installing GNU Radio a couple of years ago with homebrew and it was quite a mess.


I got one last week and have had good luck with [CubicSDR](https://cubicsdr.com/) which is brew installable, as well as decoding APRS packets from the command line using rtl_fm and multimon-ng

I'm hoping to figure out how to decode satellite pictures in the near future.


The Gnuradio bootable ISO in Parallels desktop (or simply installing Gnuradio in mint under Parallels) works fine with Parallels USB passthrough for an rtlsdr. I can’t say the same for Virtualbox’s broken USB support.


An FM receiver is the first thing in every GRC tutorial. I just wish there was something useful that one can receive with one of these standard $15 RTL-SDR receivers that isn't super complicated or FM radio.


There are all sorts of interesting and useful things you can do with them: monitor/troubleshoot various AM devices around the house (weather stations, garage door openers etc), tune in to a number of amateur radio bands (there's surprising amount of traffic on them), receive NOAA weather broadcasts, aircraft broadcasts, debug DIY projects (433MHz transmitters etc.)... there's a lot of stuff being broadcast in the frequencies that these dongles can receive. You just need a decent antenna[1] and to explore the spectrum around you a bit.

Granted, the absolute most common cases are out of reach with the cheap dongles due to frequency, bandwidth and encryption issues (i.e. ATSC, Wifi, Bluetooth) So they're not going to be terribly interesting to the average consumer but they are very handy little devices for hackers with any interest in RF.

[1] The default antennas they ship are not useful over a wide range of frequencies and/or for weak signals


The 433Mhz band is quite interesting - key fobs, garage door openers, and other cheap and cheerful "wireless" technologies often work on this band. Part of the fun is finding out what! Tune your SDR and go hunting...


In a city house with many apartments there's a lot that can be received, produced either by you or by neighbors.

But you have to be interested in the topics, find the right tools to decode what you're interested etc.

As an example: with not too much effort I've been able to listen and read a number of the temperature sensors around sending their readings. Then if you collect them for some period of time, you can try to analyze and process them to figure out how much of "noise" they collected (as if when they are mounted outside of a window and the window is open during the winter) versus the real signal (the outside temperature), and how many are completely broken etc, all based only on the data (e.g. when not seeing all the devices you record and when not knowing their placement).

It is fun for somebody who is interested in such kind of experiments (but not everybody considers such experimentation fun -- and then no tutorial is enough).

We live in the times where there are still unencrypted signals around. in some future, maybe there won't be anything to listen that would mean anything without the keys -- everything will be just encrypted noise.


There's always ADSB (plane traffic).


Oh, that's right! I forgot about that. I think some friends did once and it wasn't as easy to receive as something like FM, but on the roof of a tall building I think it worked okay. Thanks for reminding me to try that!


Living within 20 miles of a few different major airports over the years I've been able to pick up ADSB as long as I was nearby a window.


I was able to read my neighborhoods unencrypted power meter data within an hour of receiving my first rtlsdr. I also live under a flight path and found it pretty fun to listen to the pilots overhead obtain their landing clearances. Building a dish and downloading satellite images from NOAA or GOES also looks fun.


I have a rtlsdr dongle.. I don't know anything about gnu radio, but these are all useful, and using them isn't super complicated.

https://github.com/antirez/dump1090

https://github.com/bemasher/rtlamr

https://github.com/merbanan/rtl_433


Don’t forget rtl_airband. Listen to live air traffic communication and/or stream to other listeners.

https://github.com/szpajder/RTLSDR-Airband


holy FUCK

GNU Radio has such horrible documentation I can never get right. I tried decoding APRS with GNU Radio but I gave up because there's like approximately 0 documentation on what the GFSK decode block does.

I can't believe I advocated for this project. Learning GNU Radio generally requires talking to a guru to pass the information via oral history.


The rise of internet radio has made it pretty difficult to obtain a really good FM tuner these days regardless of the price.

In fact, I'm not aware of anything with real diversity reception-- at most they're limited to crossfading two tuners, and even that is mostly a car radio feature.

I wonder if anyone has been working on an open source state of the art SDR broadcast FM receiver.

A good receiver would have denoising of the stereo signal, filters to eliminate HD radio interference, PLL/matched demod of the stereo signal, and support diversity reception using constant modulus algorithm or similar.


It's a damn shame the Icom IC-9700 doesn't support out of band RX


Or WFM :)

IC-9700 is an impressive looking radio.

I think amateur VHF/UHF/SHF SDR are really a long way from what state of the art should be in those bands, but are most just porting HF SDR to a new set of bands.

VHF+ SDR should be all about beam forming, broad band modes (spread spectrum), digital, etc. There is so much more spectrum available (esp in 23cm), and its so much easier to put up multiple antennas.



Why does your blog have so many ads? Is it really necessary?


The ads/content ratio of this site is about 1/30. Where is the problem?


Is that your site? If so, please consider changing the "B612"/"B612 Mono" font to something else. The parenthesis in it look far too much like square brackets (at least as rendered by Firefox on Windows 10 with subpixel AA enabled on a standard DPI LCD monitor). In particular the default font makes the quoted Python code in the linked AM Modulation article almost unreadable (it took me a solid minute to realize you were calling math.sin/math.cos instead of trying to index them for some reason).


I really like the B612 font, while I agree the bracket^Wparentheses are strange. Any font suggestions?


It's not that hard to find a set of more "curvy" parentheses from a different font to put in, or just make them more curvy yourself! Font editors are widely available and very easy to use especially if you're making small adjustments like this. I remember decades ago I manually "slashed the zeros" on most of my system's fonts using a hex editor, after a particularly bad misreading incident...

B612 is open-source too, so you don't have to worry about any copyright issues either.


I don't have a particular suggestion. I used the Developer Tools to disable the CSS font directives, so maybe just have an option to switch to a stylesheet that doesn't specify specific fonts?

Also, thanks for your articles. I find them very well-written. I'm reading through the one on impedance right now and it's a very clear explanation of a concept that that can be somewhat confusing.


> maybe just have an option to switch to a stylesheet that doesn't specify specific fonts

Can’t your user agent do that?


My phone has radio but no television reception. Is there some legality reason why phones don't have tv tuners?


Setting aside legal/licensing issues, retrieving an MP2/MP4 (depending where in the world you are) stream via SDR would require massively more power both in terms of transferring the raw data to the CPU and processing to extract the signal from it. It also requires better hardware (IIRC ATSC, for example, requires >10-bit ADC while FM radio is fine with an 8-bit ADC.) So a SDR-based TV tuner would drain your phone battery quite quickly and still not work as well as a dedicated TV tuner streamed to your phone.

If that weren't enough, there's also the fact that the digital TV signals don't work well with moving antennas on the receiving end...


Maybe actually. In some jurisdictions this would require a license from the government to do the reception. The UK is like this with their tv licenses for the BBC and similar. I can't imagine theyre the only ones like this. And then there's possibly compression technologies that might need to be licensed from the mpeg group, etc.


You'd also want a much better antenna than what you could fit in a phone.


Some phones in Japan did (and maybe still do) have TV tuners even in the pre-smartphone days.


I swear I saw a keychain TV (VHF) on something like Banggood once, for a couple dozen bucks. Really wish I'd bought it for the novelty value, as I can't find it at all now. It would have been a remarkable example of technology reaching a peak immediately before it goes obsolete.

edit: Holy shit, I found it! It's a Mytech MT-010. Can be had for 20 bucks, if it ships to you at all.


Cool, I'll check it out. I still have a Sony watchman. But it can't decode the new signals of course.


Very welcome. I've been wanting to play with GNU Radio for a while but I didn't quite know where to start.


Michael Ossmann's video series is another great resource:

https://www.greatscottgadgets.com/sdr/


I’ll plug the scanner I wrote. It’s not a normal scanner, in that it allows parallel demodulation and recording of FM and air-band AM:

https://github.com/madengr/ham2mon




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: