During September 26 - 30 GNU Radio Conference 2022 was held in Washington DC. GNU Radio Conference (aka GRCon) is an annual conference centered around the GNU Radio Project and community, and is one of the premier software defined radio industry events. GNU Radio is an open source digital signals processing (DSP) tool which is used often with SDRs.
A few days ago videos of all the presentations were released on their YouTube channels, and all the talks can be found on this playlist. The videos contain a mix of in person and remote talks. A schedule of all talks can be found on the GNU Radio website.
DragonOS is a ready to use Ubuntu Linux image that comes preinstalled with multiple SDR software packages. The creator Aaron also runs a YouTube channel showing how to use the various packages installed.
In his latest video Aaron tests his Pi64 image with GR-GSM and IMSI Catcher running with the GNU Radio 3.10 platform on a Raspberry Pi 4. He tests operation with an RTL-SDR and LimeSDR.
GR-GSM is a GNU Radio based program capable of receiving and analyzing mobile GSM data. We note that it cannot decode actual messages without additional information about the encryption key, but it can be interesting to investigate the metadata. GSM is mostly outdated these days, but still used in some areas by some older phones and devices. IMSI Catcher is a script that will record all detected GSM 'IMSI' numbers received by the mobile tower which can be used to uniquely identify devices.
Short video setting up and testing GR-GSM on DragonOS Pi64 w/ GNU Radio 3.10 and the RTL-SDR. The current DragonOS Pi64 build has GNU Radio 3.8 and all the necessary tools to accomplish what's shown in this video. If you'd like to test the build shown in this video, it's temporarily available here until I finish and put it on Source Forge.
A LimeSDR and DragonOS Focal's Osmo-NITB-Scripts was used to create the GSM900 lab environment. The RTL-SDR was able to see and decode the GSM900 network and although only briefly shown in the video, the IMSI Catcher script works.
Here's the fork used for this video and for testing. There's also a pull request on the main GR-GSM repo for this code to be added.
A new set of beginners tutorials for the GNU Radio platform have been released on the GNU Radio Wiki. GNU Radio is an open source development toolkit for signals processing and is commonly used to build software demodulators and decoders for Software Defined Radios including the RTL-SDR.
The tutorials lead you through topics such as understanding flowgraphs, creating custom Python blocks, using DSP blocks, GNU Radio core mechanics, modulation and demodulation and more.
The GNU Radio conference talks are generally about cutting edge SDR research topics and the YouTube playlist contains 67 videos covering a gambit between what changes have been made in new releases of GNU Radio to presentations and demonstrations focusing on topics such as reverse engineering smart power meters and 5G cell detection among many others.
Some of the talks from this years conference that we found most interesting include:
FutureSDR is an experimental open source SDR framework (similar to GNU Radio) that is being developed by Bastian Bloessl. The idea behind the framework is that it is implemented in Rust, which is a programming language that supports async (asynchronous) code. The end result to the user should be faster, more portable and lower latency digital signal processing (DSP) code. The framework is still in the early stages with there being very few DSP blocks available, but as per his blog new blocks are slowly being implemented by contributors.
Bastian has created a presentation introducing the framework. It will only be interesting to programmers, and DSP coders, but it shows the possible software engineering improvements that we could see applied to SDR DSP code in the future.
Features An experimental asynchronous SDR runtime for heterogeneous architectures that is:
Extensible: custom buffers (supporting accelerators like GPUs and FPGAs) and custom schedulers (optimized for your application).
Asynchronous: solving long-standing issues around IO, blocking, and timers.
Portable: Linux, Windows, Mac, WASM, Android, and prime support for embedded platforms through a REST API and web-based GUIs.
Fast: SDR go brrr!
Overview FutureSDR supports Blocks with synchronous or asynchronous implementations for stream-based or message-based data processing. Blocks can be combined to a Flowgraph and launched on a Runtime that is driven by a Scheduler. It includes:
Single and multi-threaded schedulers, including examples for application-specific implementations.
Portable GPU acceleration using the Vulkan API (supports Linux, Windows, Android, …).
User space DMA driver for Xilinx Zynq to interface FPGAs.
Just a reminder than GNU Radio Conference 2021 (GRCON21) will be going ahead on Sept 20 - 24 with virtual and in-person events. It is free to register for virtual attendance and you will be able to view all talks live via streaming. If you wish to attend workshops virtually, the registration fee is $50. All links for YouTube live streaming can be found on the virtual attendance page as well. Be sure to use the YouTube "set reminder" feature to be notified when the streams begin.
GNU Radio Conference (GRCon) is the annual conference for the GNU Radio project and community, and has established itself as one of the premier industry events for Software Radio. It is a week-long conference that includes high-quality technical content and valuable networking opportunities. GRCon is a venue that highlights design, implementation, and theory that has been practically applied in a useful way. GRCon attendees come from a large variety of backgrounds, including industry, academia, government, and hobbyists.
The yearly GNU Radio Conference (GRCon) is a conference all about the development of GNU Radio and projects based on GNU Radio. GNU Radio is an open source digital signal processing (DSP) toolkit which is often used in cutting edge radio applications and research to implement decoders, demodulators and various other SDR algorithms.
Daniel Estévez often posts on his blog about advanced SDR and radio experiments he's worked on. In a recent post he describes how he decoded telemetry from the Voyager 1 spacecraft using GNU Radio. As Voyager 1 is so far away, and the signal so weak, a rather large scale 100 meter dish is required to receive Voyager 1. So he uses publicly available recorded data received by the Green Bank Telescope in 2015.
Using GNU Radio he first converts the telescope's data file discarding most of the 187.5 MHz recorded bandwidth, then decimates the signal allowing the very weak carrier and data subcarriers to be seen in the resulting high resolution FFT plot. Daniel notes how most of the power is spent in the carrier, allowing ground stations to more easily detect the signal and at least measure doppler to determine the spacecrafts trajectory. The rest of the post explains how the carrier is tracked, how to correct for doppler and phase shifts, how to demodulate the data, apply error correction, and finally decode the data packet.
While not something we can easily listen to directly, it is amazing that we can all be NASA engineers right at home with GNU Radio and tutorials like this.
A few weeks ago we posted about "LikWidChz"'s work on using GNU Radio to channelize multiple NRSC-5 HD-Radio transmissions for simultaneous decoding with GNU Radio and an RTL-SDR. He has now also submitted a way to channelize pager traffic. He writes:
Quite a while ago I wanted to decode pager traffic, specifically Flex. When I started doing some basic poking around I figured out that there were multiple pager transmissions going on at once. Thinking about GnuRadio and its ability to chop up signal.. I was curious if anyone tried to decode them all at once.. I didn't get a whole lot of answers on the subject and It didn't seem like people used GnuRadio to pass MultiMonNG data.. I had my work cut out for me.
In my area all of the flex transmissions were between 928Mhz and 932Mhz and quite strong... You don't need much of an antenna to RX these transmissions. A simple wire of appropriate length will do nicely.
My plan was to design a graph and tune into the center of the range I was interested in and somehow channelize it. The remaining steps are required to format the data to allow MultiMonNG to process that audio stream. This is done a couple times depending on how many you want to decode in parallel. Have fun!
This this zip file we have uploaded his GRC file, and his full PDF description of the flowgraph. Again we note that to get in touch with the author you can log on #gnuradio and ##rtlsdr on freenode IRC and fine him under the nickname "LikWidChz".