It's really easy to forget how complex SDR is, and how much expertise it really requires to fully understand if you need to write receivers/processors/filters yourself. There's a TON of great stuff out there for hobbyists that just want to get some cool stuff working though. I tried my hand decoding a soil temp/humidity sensor broadcast and was quickly reminded how complicated it can be for an initiate.
I know almost nothing about actual SDR, but I've got a cheap SDR receiver/antenna inside a glass basement door that receives temp/humidity data from ~10 433Mhz transmitters in various rooms in my house + outbuildings, and a weather station that reports temp/humidity/lignthing strikes/rain amount/wind speed+direction, and lux. All that goes to an influx DB instance, and has a set of graphana dashboards built on top of it. Took me a couple evenings to get set up, and now I've got real time + historical environment data about everything I care about at my house; including high humidity alerts in rooms with dehumidifiers, freeze warnings for a crawl space, and a bunch of other stuff. It has been wildly reliable.
I think as a counter point, Michael Ossmann, the creator of HackRF One has worked really hard to make it a lot more accessible.
In one of my favorite YT videos ever he talk about how he design RF PCB. The point of it is kind of like, the field of RF and SDR is incredibly deep and complicated, but at the same time, most filters/mixers/amplifiers and everything else needed for making an SDR are ICs that one can buy from Digikey and put them together (or likely have assembled).
So, not denying how deep SDR can be, but it can also be accessible with enough effort!
If you are serious about getting into SDR, having background in DSP can take you very far. Most of the painful SDR dragons are based in stuff that was optional at university time, but is otherwise not that hard to pick up once you know it exists.
Understanding the frequency domain, why it's useful, and how to get there & back, is like 80% of the puzzle.
Getting some hands on experience with the signal processing side of SDR, with GNU Radio can help with understanding things like negative frequencies, complex signals, etc.
It's open source, and you can just play with your audio ports for starters. Later adding a $40 rtlSDR kit goes a long way. I used mine to build a VOR receiver.
As a pilot with an amateur radio license (though an inexperienced ham) this sounds really interesting. Could you elaborate more on building the VOR receiver?
I've played around with Gnu Radio, and even though I've been able to do some very sophisticated things with GRC, I also realize just how little I really know. Part of that is that the math makes my head spin. I'd be lost without those blocks doing a lot of the work for me.
If you want to decode transmissions from common weather sensors, be sure to check out rtl_433 [https://github.com/merbanan/rtl_433]. If you have and RTLSDR dongle, it should just work.
RTL-SDR is an inexpensive way to get started, only a receiver though. Transmitters are more complicated (legally) since a lot of spectrum is off limits without a license in most jurisdictions. They have a kit with a couple basic antennas to get you started.
Does anyone have any recommendations for GNU Radio "guides"? I would like one which is a bit hand-holdy but steps through the theory along with a the practical example of building it in GRC, preferably with known good captures of the intended signal so that I don't need to spend time wondering if I've botched my capture somehow.
Not OP but the idea is simple: You put transmitters somewhere outdoor (or wherever you want to measure) plop a battery in there and be set for a few years.
Such weather stations were really commonplace 20 years ago, I remember my grandparents having a sensor outside and a basic LCD display in the kitchen displaying the outdoor temperature and humidity. These days we want that data digitally on our phones or home assistant so you need a receiver that talks TCP/ip and runs a real os. That's where the SDR comes in to bridge the gap between primitive RF Tech and modern computing. Of course you could also put an esp8266 outdoors, which natively talks wifi, but then you lose range and your battery life goes from years to weeks.
They're using weather stations that broadcast on 433MHz around their property and receive those messages with their SDR, then they pipe that into their database and display system.
In terms of software-defined radio learning resources, I can wholly recommend PySDR: https://pysdr.org/
It's written by one of the GNURadio developers, but it uses NumPy and SciPy instead so you really get a feel for the low-level algorithms. Concepts are well explained and build on each other from module to module.
There's another book namely the RFSoC book complementing this SDR book that's also available for free download.
This newer book focus on the more powerful RFSoC from AMD rather the less powerful but the very popular Adalm Pluto kit by Analog Devices that's being covered in this SDR book.
I inherited a HackRF One from a friend and this thread reminded me about it. Does anyone have any cool projects they recommend doing just to gain some experience in SDR / have fun?
There were a few things in GNU radio which have changed since then (different block names) but with a bit of googling you can figure out how to work around it.
Unfortunately for me, SDR is too much like $dayjob so I lost interest. I already spend 8 hours a day at a computer I cannot be convinced to spend more time at a computer doing SDR as I would much rather being doing stuff outside.
It's very straight forward, depending on your desired level of difficulty:
Do it first using blocks in gnuradio, then redo it with blocks you write yourself.
After that do the same thing, but with digital psk modulation, it has the added difficulty of requiring channel estimation/ equalization.
Has anyone work on decoding over-the-air TV digital signal in software? I remember way back there were some cards that can decode OTA signals to be recorded into DVR.
The RTL-SDR was originally intended as a DVB-T receiver, using an app called "BlazeVideo."
Anyway, many, many open source implementations exist for this as it's a popular first/early SDR project. All you'll you need is the right keywords - for the US, ATSC, and for Europe, DVB-T2.
GNU Radio comes with receivers for ATSC and DVB-T. You'll need an SDR that can provide 6 MHz (ATSC) or 8 MHz (DVB-T) of bandwidth (which an RTL-SDR cannot do).
DVB-T2 and ATSC 3.0 receivers are too difficult and nothing exists for them.
Here's a screenshot where I'm transmitting to myself (GNU Radio also has an ATSC transmitter).
With something with more bandwidth than an RTL-SDR you may be able to at least capture the data but having dedicated hardware for the target signal is the easiest if you're looking to tune. I've seen POC Analog TV signal decoding but not digital signals in software beyond some exploration and general signal analysis.
Also the limeSDR are supposed to do this. I had one, it arrived inoperable, I sent it back, never heard from them again. Still a little bitter, because I paid in to the crowdfunding.
Now you can use one of your unused Raspberry Pi:s (we have all got them) to cobble together an ADSB unit that may be critical in recording important low-height ADSB flight data points in your immediate area in case of accidents.
And also get free premium accounts on sites like flightradar24 etc.
I know almost nothing about actual SDR, but I've got a cheap SDR receiver/antenna inside a glass basement door that receives temp/humidity data from ~10 433Mhz transmitters in various rooms in my house + outbuildings, and a weather station that reports temp/humidity/lignthing strikes/rain amount/wind speed+direction, and lux. All that goes to an influx DB instance, and has a set of graphana dashboards built on top of it. Took me a couple evenings to get set up, and now I've got real time + historical environment data about everything I care about at my house; including high humidity alerts in rooms with dehumidifiers, freeze warnings for a crawl space, and a bunch of other stuff. It has been wildly reliable.
In one of my favorite YT videos ever he talk about how he design RF PCB. The point of it is kind of like, the field of RF and SDR is incredibly deep and complicated, but at the same time, most filters/mixers/amplifiers and everything else needed for making an SDR are ICs that one can buy from Digikey and put them together (or likely have assembled).
So, not denying how deep SDR can be, but it can also be accessible with enough effort!
https://www.youtube.com/watch?v=TnRn3Kn_aXg
Understanding the frequency domain, why it's useful, and how to get there & back, is like 80% of the puzzle.
It's open source, and you can just play with your audio ports for starters. Later adding a $40 rtlSDR kit goes a long way. I used mine to build a VOR receiver.
https://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/
Do you get this information from radio waves? would love to know more about your setup.
Such weather stations were really commonplace 20 years ago, I remember my grandparents having a sensor outside and a basic LCD display in the kitchen displaying the outdoor temperature and humidity. These days we want that data digitally on our phones or home assistant so you need a receiver that talks TCP/ip and runs a real os. That's where the SDR comes in to bridge the gap between primitive RF Tech and modern computing. Of course you could also put an esp8266 outdoors, which natively talks wifi, but then you lose range and your battery life goes from years to weeks.
It's written by one of the GNURadio developers, but it uses NumPy and SciPy instead so you really get a feel for the low-level algorithms. Concepts are well explained and build on each other from module to module.
This newer book focus on the more powerful RFSoC from AMD rather the less powerful but the very popular Adalm Pluto kit by Analog Devices that's being covered in this SDR book.
[1] RFSoC book:
https://www.rfsocbook.com/
There were a few things in GNU radio which have changed since then (different block names) but with a bit of googling you can figure out how to work around it.
Unfortunately for me, SDR is too much like $dayjob so I lost interest. I already spend 8 hours a day at a computer I cannot be convinced to spend more time at a computer doing SDR as I would much rather being doing stuff outside.
It's very straight forward, depending on your desired level of difficulty: Do it first using blocks in gnuradio, then redo it with blocks you write yourself.
After that do the same thing, but with digital psk modulation, it has the added difficulty of requiring channel estimation/ equalization.
Anyway, many, many open source implementations exist for this as it's a popular first/early SDR project. All you'll you need is the right keywords - for the US, ATSC, and for Europe, DVB-T2.
I just dug my RTL SDR v4 out of the drawer right before a trip to Florida. Guess this is a sign to get it going.
DVB-T2 and ATSC 3.0 receivers are too difficult and nothing exists for them.
Here's a screenshot where I'm transmitting to myself (GNU Radio also has an ATSC transmitter).
https://www.w6rz.net/atscdemo.png
Is that true? RTL-SDR are derived from a chip designed for DVB-T tuners.
https://www.ettus.com/products/
Also the limeSDR are supposed to do this. I had one, it arrived inoperable, I sent it back, never heard from them again. Still a little bitter, because I paid in to the crowdfunding.
And also get free premium accounts on sites like flightradar24 etc.
https://hub.balena.io/apps/1829313/balena-ads-b
I do, in fact, have two. Great suggestions, thank you.