[HN Gopher] GNU Radio
       ___________________________________________________________________
        
       GNU Radio
        
       Author : tosh
       Score  : 246 points
       Date   : 2022-01-15 09:50 UTC (13 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | idealmedtech wrote:
       | Our satellite team in college used GNURadio to modulate and
       | demodulate our radio signals, and to automate the entire pass (in
       | conjunction with our mission operations team). I remember at that
       | time (2016-2018), there was an absolute dearth of information on
       | something as simple as demodulating GMSK, much less OQPSK. The
       | given blocks for these modulation types never worked, so we had
       | to build out custom blocks in C++ to have a chance at interacting
       | with an actual spacecraft in flight (with all the goodies like
       | active Doppler compensation etc)
        
         | CapricornNoble wrote:
         | I did my masters thesis with GNURadio 2013-2016 (a frequency-
         | hopping implementation). I often thought my struggles were 100%
         | my own incompetence, but eventually realized it was possibly
         | 50% buggy GNURadio blocks. So much potential in SDRs but damn
         | was this software an opaque mess to use.
        
           | idealmedtech wrote:
           | There was a time where I could point to specific
           | implementations in GNURadios source that were very buggy
           | (lots of uninitialized memory assumed to be zeroed), but
           | alas, it's been lost from my memory.
        
       | teleforce wrote:
       | This is an excellent book on learning DSP for modern wireless
       | communications and it should get you over the fundamentals [1].
       | 
       | There is an interesting project for open source LoRa physical
       | layer implementation in GNU Radio. The authors had to reverse
       | engineer the LoRa physical layer for the implementation because
       | it is proprietary unlike the data link layer LoRaWAN part of it
       | [2].
       | 
       | [1]Digital Signal Processing in Modern Communication Systems:
       | 
       | https://www.amazon.com/Digital-Signal-Processing-Communicati...
       | 
       | [2]LoRa PHY based on GNU Radio:
       | 
       | https://www.epfl.ch/labs/tcl/resources-and-sw/lora-phy/
        
       | punnerud wrote:
       | Could GNU Radio work as a Python alternative to NodeRED?
       | (Node.js/JavaScript)
        
         | nereye wrote:
         | A more generic equivalent seems to be PyFlow:
         | https://wonderworks-software.github.io/PyFlow/.
         | 
         | GNU Radio is targeted to a specific domain and the collection
         | of existing nodes reflects that, similar tools exist for other
         | domains, e.g. for CAD there is Sverchok which works with
         | Blender: https://nortikin.github.io/sverchok/.
        
       | [deleted]
        
       | vkoskiv wrote:
       | This reminds me of a fun story. A few years ago at a cool lan +
       | demoparty event called Instanssi they had a local FM radio
       | station dedicated to the event. It was then revealed that hidden
       | in that FM transmission was the private key to a litecoin wallet
       | containing some coin. I set about to try and extract the hidden
       | message, but didn't succeed before someone else armed with GNU
       | radio had already decoded the SSTV image from the sideband
       | broadcast. It was a fun challenge, and the person who won taught
       | me a bit about GNU Radio. An amazing piece of software, and a fun
       | memory!
        
       | mikewarot wrote:
       | Have they fixed the incredible loss of features from the WX GUI
       | yet, the QT widgets just didn't have anywhere near the same
       | functionality last time I looked?
       | 
       | [Edit]The WX versions of FFT and Oscilloscopes were far, FAR
       | better than their QT replacements.
        
         | minimilian wrote:
         | You're probably talking about something else, but it took me a
         | while to realize that many features are hidden behind a right
         | (or is it middle) click.
        
           | beaugunderson wrote:
           | This is a big deal when running on e.g. a MacBook that has no
           | middle click--it is very worthwhile to use software that
           | emulates a middle click when a modifier key is held down to
           | gain back this functionality.
        
       | mikewarot wrote:
       | If you want to learn DSP, GNU Radio is the way to go. It has
       | audio sources and sinks, so you can try out things and hear / see
       | (using the scope sink) the results in real time.
       | 
       | It was really interesting to play with negative frequencies and
       | get a better handle on it than the math alone would have ever
       | given me.
        
       | pajko wrote:
       | Usually there's little documentation about SDR, but Analog
       | Devices has "recently" released a book, which is available for
       | free: https://www.analog.com/en/education/education-
       | library/softwa...
       | 
       | Also can be bought, but has a quite hefty price tag:
       | https://www.amazon.com/Software-Defined-Radio-Engineers-Trav...
       | 
       | Other good resources are the books and courses on WirelessPi:
       | https://wirelesspi.com/book/
        
       | doom2 wrote:
       | Does GNU Radio have any utility for amateur radio operators? For
       | example, tx/rx of FT8 or PSK31 (or any other digital modes)?
        
         | BenjiWiebe wrote:
         | Yes, but why not use the existing software? Building flowgraphs
         | in GNU Radio is not simple.
        
       | sh4un wrote:
       | Weird. Was looking at this program yesterday and the website was
       | all over the place.
        
       | dang wrote:
       | Some past threads:
       | 
       |  _FM Reception with the GNU Radio Companion_ -
       | https://news.ycombinator.com/item?id=25976599 - Jan 2021 (18
       | comments)
       | 
       |  _GNU Radio 3.9_ - https://news.ycombinator.com/item?id=25823359
       | - Jan 2021 (53 comments)
       | 
       |  _Software Defined Radios with GNU Radio Companion_ -
       | https://news.ycombinator.com/item?id=24208497 - Aug 2020 (1
       | comment)
       | 
       |  _Decoding radio telemetry heard on news helicopter video footage
       | with GNU Radio_ - https://news.ycombinator.com/item?id=23417891 -
       | June 2020 (36 comments)
       | 
       |  _An Implementation of Tempest in GNU Radio_ -
       | https://news.ycombinator.com/item?id=23151880 - May 2020 (35
       | comments)
       | 
       |  _GNU Radio first steps: a FM receiver_ -
       | https://news.ycombinator.com/item?id=21613988 - Nov 2019 (38
       | comments)
       | 
       |  _GNU Radio 3.8_ - https://news.ycombinator.com/item?id=20681316
       | - Aug 2019 (67 comments)
       | 
       |  _Shinysdr - Software-defined radio receiver application built on
       | GNU Radio_ - https://news.ycombinator.com/item?id=14170516 -
       | April 2017 (19 comments)
       | 
       |  _A Peek at GNU Radio's Buffer Architecture_ -
       | https://news.ycombinator.com/item?id=13406505 - Jan 2017 (15
       | comments)
       | 
       |  _Digital Video Transmission using LimeSDR and GNU Radio_ -
       | https://news.ycombinator.com/item?id=11856912 - June 2016 (8
       | comments)
       | 
       |  _Public safety radio systems decoding with GNU-radio OP25
       | project_ - https://news.ycombinator.com/item?id=11696507 - May
       | 2016 (1 comment)
       | 
       |  _GNU Radio Tools for Radio Wrangling and Spectrum Domination
       | [video]_ - https://news.ycombinator.com/item?id=10843175 - Jan
       | 2016 (22 comments)
       | 
       |  _Taking control of a 36 year old NASA spacecraft using GNU
       | radio_ - https://news.ycombinator.com/item?id=9476853 - May 2015
       | (7 comments)
       | 
       |  _Taking the Raspberry Pi 2 for a Test Drive with GNU Radio_ -
       | https://news.ycombinator.com/item?id=9420427 - April 2015 (46
       | comments)
       | 
       |  _How to talk to a 36-year-old space probe with GNU Radio, a USRP
       | and a big dish_ - https://news.ycombinator.com/item?id=8028773 -
       | July 2014 (18 comments)
       | 
       |  _Exciting developments in GNU Radio_ -
       | https://news.ycombinator.com/item?id=2279758 - March 2011 (2
       | comments)
       | 
       |  _GNU Radio - create your own software-defined radio device_ -
       | https://news.ycombinator.com/item?id=622035 - May 2009 (6
       | comments)
        
       | cebert wrote:
       | SDR and GNU radio has always sounded interesting to me ever since
       | I heard it mentioned on the Security Now podcast years ago. Does
       | anyone know of good resources on how to get started? This is
       | something I'd love to tinker with one day. I also don't know a
       | great deal about RF communication in general.
        
         | ericbarrett wrote:
         | I looked into this last year, and the process seems to be "get
         | at least half an undergrad degree in signal processing and then
         | read the code." GNU Radio is _really_ powerful, but most of the
         | tutorials out there are  "rest of the fucking owl" style[0].
         | Which I then realized makes sense, given the complexity of the
         | domain. So be aware it's a deep subject and you won't be
         | decoding new satellites in a few clicks unless you're copying
         | somebody else's homework.
         | 
         | [0] https://knowyourmeme.com/memes/how-to-draw-an-owl
        
         | wavewalkerdsp wrote:
         | I've put together new introductory tutorials here:
         | https://wiki.gnuradio.org/index.php/NewTutorialReview
         | 
         | Using a virtual machine with Ubuntu 21.04 and installing using
         | the PPA is a good way to test it out:
         | https://wiki.gnuradio.org/index.php/InstallingGR#Ubuntu_PPA_...
         | 
         | More background information on the tutorials, future plans,
         | etc. https://www.wavewalkerdsp.com/2022/01/13/gnu-radio-
         | tutorials...
        
         | weberer wrote:
         | This wiki page is pretty good for getting started.
         | 
         | https://wiki.installgentoo.com/wiki/Software-defined_radio
        
         | pajko wrote:
         | Buy a dongle and antenna from here: https://www.rtl-
         | sdr.com/buy-rtl-sdr-dvb-t-dongles/
         | 
         | Install GNURadio, start playing with gqrx and FM reception.
         | 
         | Buy a cheap radio controlled thingy, install SDR# with the
         | plugins package and RTL_433 plugin for it and start playing.
        
       | ngcc_hk wrote:
       | Got some fortran (0.3%) there?
        
       | oolonthegreat wrote:
       | I especially appreciate the "Simulink-like" block based visual
       | coding style, I think it's a more intuitive alternative than
       | textual coding in the context of systems and blocks etc.
       | 
       | also love the convenience of simply "adding a slider" whereas in
       | matlab for example you have to build an "app" and add callback
       | functions and do weird stuff to change the block parameters
        
       | RF_Savage wrote:
       | I just wish GNU Radio did not brake compability between versions.
       | 
       | 3.6 --> 3.7 --> 3.8 all ware breaking.
       | 
       | So no older example or block you find will work in the current
       | version. This is infuriating when trying to learn and following
       | tutorials. All my friends seem to have migrated to building their
       | prototypes in C using something like liquid-dsp instead of
       | gnuradio. As that will compile and work next year.
        
         | superkuh wrote:
         | It is frustrating. What I do is keep computers from a given
         | time era in their natural state of software. So now I have a
         | physical computer for running GR 3.6 stuff, one for 3.7 stuff,
         | and soon I'll have one for 3.8 stuff. Trying to constantly
         | upgrade and getting rid of old installs is counterproductive.
         | 
         | This applies in general to _all_ software. It 's really nice to
         | have old OSes use applications that can't run on newer distros.
        
       | ggm wrote:
       | Has always done a terrible job of selling itself. A $25 dtv
       | receiver and a chickenwire antenna parabola and code your own
       | satellite TV decoder, learn what radar guns emit, emulate a
       | modem... maybe even shift to IR and do TV controls.. it's, latent
       | in this stuff.
       | 
       | But the frontpage doesn't take you there.
        
         | galangalalgol wrote:
         | that $25 dtv receiver only goes up to 2ghz so you can't get
         | satellite tv without building a downconverter which isn't
         | trivial or as cheap. Radar guns are even higher in frequency.
         | It can only receive so you can emulate only the demodulation
         | part of a modem. IR sounds like fun though. You could listen to
         | tire pressure monitors too.
        
           | TheDesolate0 wrote:
        
           | n00p wrote:
           | an LNB (the thing that goes in the focus of a parabolic
           | antena) is really cheap and easy to power
           | 
           | the probem would be that the cheap dtv (RTL-SDR) only gets up
           | to 2.4MHz of spectrum bandwith, a typical DVB-S mux can be
           | around 20MHz or the DVB-T terrestrial standard, 8MHz
        
             | wdfx wrote:
             | How can the DVB-T signal bandwidth be larger than what the
             | 'dtv' receiver is capable of if that device was actually
             | originally designed to receive exactly that class of
             | signal?
        
               | mimanning wrote:
               | The 2.8 MHz limitation comes from shipping raw RF samples
               | off the device over USB 2. When operating as a DVB-T
               | receiver the device decodes the signals before sending
               | them over USB so it uses less bandwidth.
               | 
               | The device was originally intended only as a dtv receiver
               | and not a general purpose software defined radio. The
               | hobbyist/ hacker community discovered the hidden debug
               | mode that allows raw data acquisition and wrote drivers
               | for it.
        
             | galangalalgol wrote:
             | The LNBs on ebay are pretty cheap but the intermediate
             | frequency some of them use use is a bit too high. And as
             | you say. You'd just be finding some slice of the signal
             | without any hope of demodulation. I still think a
             | microphone or rtl are a great way to play with gnuradio
             | companion. Lime sdr is probably the next step up in price.
        
         | superkuh wrote:
         | Sure. That's because GNU Radio is for making the
         | applications/flowgraphs. It is not an application you "use". It
         | is an application for making applications. Give a newbie even
         | the friendly GUI gnuradio-companion and they're not going to be
         | able to do much without some serious time learning or existing
         | DSP background.
        
           | BenjiWiebe wrote:
           | Right. There isn't any way of making it easy or beginner
           | friendly, because DSP and RF aren't simple topics.
        
         | ganzuul wrote:
         | For a little more investment you can get hacked version with a
         | TCXO and it is able to receive almost 0 to IIRC 28MHz. It is a
         | 2.8MHz spectrum analyzer although energy readings are not a
         | feature.
         | 
         | However cities are terribly noisy environments so loop antennas
         | should work better for most people. Most amateur radio guides
         | assume you are at least a homeowner but that is not realistic
         | among people interested in a 20 eurodollar receiver.
        
           | wdfx wrote:
           | For about the same cost you can buy an sdrplay rsp clone
           | which can receive from 0-2GHz with 10MHz bandwidth.
        
         | brightball wrote:
         | I am always shocked that radio isn't core science curriculum in
         | high school at this point.
        
           | yeetaccount4 wrote:
           | Have you driven around town at noon? That's when kids were
           | getting out of school pre-pandemic. I just read this morning
           | Kansas is so desperate for substitute teachers that they'll
           | take on teenagers without a single college credit. The public
           | school system in many parts of the country is basically state
           | funded daycare.
        
           | spacecadet wrote:
           | 100%
        
         | aatharuv wrote:
         | Any chance this is at least partially deliberate? If more
         | people were to use GNU Radio, the manufacturers of said
         | hardware would get sued until they were forced to lock down
         | their hardware.
        
           | syedkarim wrote:
           | Do you mean manufacturers of RTLSDR devices? Those don't need
           | to be locked down (in the US), as they are receive-only
           | devices.
        
         | szopa wrote:
         | What are some good resources to start playing with SD add an
         | amateur?
        
           | nereye wrote:
           | https://pysdr.org/ is a good introduction to DSP/SDR using
           | Python.
           | 
           | Previous discussion on HN:
           | https://news.ycombinator.com/item?id=24750588.
           | 
           | Ham Radio Workbench podcast on GNU Radio:
           | https://www.hamradioworkbench.com/podcast/GNU-Radio.
           | 
           | In terms of hardware, there is a large spectrum, from
           | inexpensive RTL-SDR (receive only, ~$25), PlutoSDR (transmit
           | and receive, $229, which PySDR covers) all the way to $x000+
           | for USRP etc.
        
           | octagons wrote:
           | Check out the Field Expedient SDR series. They offer a decent
           | introduction for beginners.
        
         | masto wrote:
         | I'm reasonably good at computers, and I even have a small
         | understanding of electronics and radio, but I bought a HackRF
         | One about 6 years ago, and every time I try to use this stuff I
         | get hopelessly lost. Most of the time I can't even get the
         | software running, or figure out which software I need to get
         | running, and when I do I'm hopelessly lost. The only thing I
         | ever managed was to listen to an FM radio station with a
         | program that simplified the interface down to a frequency
         | slider.
         | 
         | I would love to do things like investigate how my water meter
         | broadcasts its readings, but "latent" doesn't even begin to
         | cover how inaccessible this stuff is. There are "tutorials",
         | but they just say "Stick these parts together. There, now you
         | have stuck these parts together!" (https://wiki.gnuradio.org/in
         | dex.php/Simulation_example:_Narr...)
         | 
         | I know, open source, I should learn everything and then write
         | better documentation.
        
           | MrQuincle wrote:
           | I reverse engineered a so called social alarm a bit ago. You
           | can find it here: https://github.com/mrquincle/social_alarm
           | 
           | Gnuradio was also new to me. However with two HackRFs I could
           | do the entire thing. First replay attacks. Then trying to get
           | the code by building up a set of processing blocks. Last
           | synthesis of the complete signal.
           | 
           | Very nice to do! Felt great!
        
           | jancsika wrote:
           | You should consider this a real treat-- it's like you're
           | getting to travel back to the 90s open source scene _for
           | free_.
           | 
           | -Tom Sawyer
        
         | geenew wrote:
         | Is it possible to use a laptop's built-in wifi antenna / wifi
         | card as the hardware side of a gnu radio setup?
         | 
         | That seems like it would be a nice cheap one-two punch for
         | getting started. AFAIR wifi uses the public (unregulated) bands
         | so there should be lots of interesting stuff on those
         | frequencies beyond wifi signals.
        
           | jcrawfordor wrote:
           | WiFi adapters don't really expose this type of interface.
           | WiFi adapters interact with the host computer by sending and
           | receiving packets, the 802.11 framing and radio de/modulation
           | is performed internally by the adapter. In other words, the
           | host computer sees IP packets, not radio data. Some adapters
           | (or really most adapters) provide some ability for the host
           | to send and receive raw 802.11 frames but it's an
           | infrequently used feature and tends to have a lot of caveats
           | and limitations... you'll see a lot of discussion of this if
           | you read into security/exploitation use-cases for WiFi that
           | involve monitoring or generating 802.11 management traffic.
           | 
           | This is somewhat related to the old difference between a
           | "modem" and a "winmodem": proper telephone modems performed
           | the de/modulation internally, winmodems did not and relied on
           | the host processor to do so, resulting in generally lower
           | performance but a much cheaper device. At modern network data
           | rates it is not really feasible to do this and the general
           | direction is towards offloading more and more of the work to
           | the network adapter, outside of the host's control or view.
           | 
           | For gnuradio you need raw radio samples, often referred to as
           | IQ data due to the nomenclature for amplitude and phase. Few
           | devices that aren't specifically designed for software-
           | defined radio use expose this data because it requires extra
           | complexity in the device and tends to be rather high-
           | bandwidth. The "RTL SDR" TV tuner dongles are so well known
           | precisely because they contain an undocumented feature that
           | allows a host to request raw IQ data, although at a poor
           | sample rate and bandwidth since these devices were not really
           | intended for it.
        
           | lsllc wrote:
           | You can use a paperclip or a piece of wire if you have access
           | to a GPIO port:
           | 
           | https://www.rtl-sdr.com/receiving-ads-b-jetliner-traffic-
           | wit...
           | 
           | https://www.theverge.com/2019/11/26/20981630/raspberry-pi-
           | pi...
        
           | noasaservice wrote:
           | > Is it possible to use a laptop's built-in wifi antenna /
           | wifi card as the hardware side of a gnu radio setup?
           | 
           | No. There's a LOT of stuff the wifi chip does to convert EM
           | to data, including despreading and other computationally
           | expensive operations.
           | 
           | Using an expensive SDR, you can follow this paper from 2013
           | to see the block diagram of what decoding wifi looks like:
           | 
           | https://conferences.sigcomm.org/sigcomm/2013/papers/srif/p9..
           | ..
        
           | RF_Savage wrote:
           | Due to it being a radio licenced by rule, the firmware in
           | wifi devices is locked down tight. If it ware wide open FCC
           | would revoke it's type acceptance.
           | 
           | The only project that so far has managed to even partially
           | use wifi hardware as a more generic SDR is nexmon[1] and even
           | that is rather involved. Really cool project but not much
           | heard since 2018.
           | 
           | For just experimenting with modems across a noisy path one
           | could just use the built in microphone and speakers.
           | 
           | 1. https://github.com/seemoo-
           | lab/mobisys2018_nexmon_software_de...
        
             | throway453sde wrote:
             | If i run linux can i modify the firmware? Also the
             | regulations differ from country to country so this should
             | be legal in some of the country.
        
               | Shared404 wrote:
               | Firmware is typically loaded directly onto the hardware,
               | so you would have to have a way to flash your custom
               | firmware to the wifi antenna/card.
               | 
               | In the US and other countries, it is to the best of my
               | knowledge legal to modify firmware for hardware you own.
               | The illegal part is broadcasting, most bandwidths are
               | highly regulated. Listening on the other hand is mostly
               | legal, or at the very least extremely likely to fly under
               | the radar.
        
               | RF_Savage wrote:
               | You will not be able to modify the firmware blob just by
               | running linux.
               | 
               | Few years back there was danger of FCC de facto banning
               | alternative router firmwares like openwrt to prevent
               | tampering with the wifi cards firmware.
               | 
               | This was the "only manufacturer signed firmware allowed"
               | thing that thankfully was avoided.
               | 
               | FCC's motivation in this is to prevent people from using
               | too much power or certain frequencies.
               | 
               | And as most manufacturers want to be able to sell in USA,
               | it would have likely affected all versions. Kainda like
               | how many wifi devices sold in Europe only go up to
               | channel 11 on 2.4GHz, when the EU band goes up to channel
               | 13. But ch12 and ch13 are not legal in usa, so they are
               | blocked.
        
           | colechristensen wrote:
           | It has been done because wifi/bluetooth chipsets are mostly
           | software defined radios but the software is in proprietary
           | pretty well locked down firmware environments. The hardware
           | of the radios will also usually be specified for very
           | specific bands and will have less general purpose uses.
           | 
           | Also note that it's easy to break FCC regulations and
           | generally be disruptive if you mess around with this stuff
           | and don't know what you're doing, and the FCC happily hands
           | out five digit fines.
           | 
           | https://github.com/seemoo-
           | lab/mobisys2018_nexmon_software_de...
        
         | erikbye wrote:
         | Not the github frontpage, no. But the actual homepage points
         | you here:
         | https://www.youtube.com/playlist?list=PLbBQHMnVMR41zZUZGF0bJ...
        
       | wildzzz wrote:
       | There's a similar SDR toolkit out there called RedHawk. Its open
       | source but heavily funded by the NSA so you can imagine that it
       | has specific SIGINT applications in mind. However, you can still
       | connect it to an RTL-SDR and play around with the components in a
       | similar manner.
       | 
       | https://github.com/RedhawkSDR/redhawk
        
       | spacecadet wrote:
       | I love gnuradio, been messing around with it on raspberry pi for
       | some time. Making antennas from scrap is particularly fun.
        
       ___________________________________________________________________
       (page generated 2022-01-15 23:00 UTC)