GRCon stands for GNU Radio Conference. It is a conference dedicated to the GNU Radio software and it is in its 8th year. It was held in Henderson, Nevada from September 17-21st. The conference program was packed full of talks, workshops, a small expo section, and lots of time to collaborate with others in the community.
This is my first time coming so I was not sure what to expect. I had been to a few other Tech conferences for projects I did during my senior year of undergrad and throughout my masters but they were these massive events with a few hundred booths in the expo and very expensive in comparison. What make this conference different is that it is for a specific piece of open source software.
That is key because open source means that all the code is open and free to anyone that wants to use, modify, or extend it. This means that it is community driven. There is very few people that get paid to develop the software directly from the GNU Radio Foundation and most of their money goes to maintaining and hosting the code base and putting on this conference. Almost all of the development of GNU Radio comes from universities, individuals, and companies using the software. You can then see that this community driven aspect has been brought into the scheduling and running of the conference. This is evident in the very reasonable price, the recording and uploading of all the scheduled talks to Youtube for all to watch later, the workshops that are all free to attend, and the collaboration time built in!
I was thankful to attend the conference as we are working ion several projects that are using GNU Radio for everything from simulation to over the air testing. It was also a chance to expand my working knowledge of the software and gain experience.
I wont detail all of the events of the conference but will hit the highlights and the interesting pieces.
Talks
Open Source DVB-S2 and DVB-S2X for GNU Radio
If you want to get a basic start on LDPC codes and enjoy Hello Kitty and Rage Comics in presentations, take a look at this talk!
Slides for Open Source DVB-S2 and DVB-S2X for GNU Radio
SirenJack: Cracking a ‘Secure’ Emergency Warning Siren System
Emergency warning systems are vital parts of large cities but what could happen if they are triggered by a malicious actor? Well a security researcher had his interest peaked when he moved to SF and witnessed the testing of their system which seemed to use RF to trigger the sirens. This is his journey to crack their system and see how secure it really was. The results are amazing!
No Links. Sorry I checked!
An Over-the-Air Trainable Machine Modem for Resilient Communications
This talk looks to redefine how we use any kind of communication channel using machine learning and something coined deep modulation which is supposed to converge to a viable communications link. This would allow machines to communicate using many kinds of channels not just RF or Audio but potentially extremely noisy channels such as power line communication no pre-conceived notions.
Slides for An Over-the-Air Trainable Machine Modem for Resilient Communications
Algebraic Topology for the Physical Layer
Algebraic Topology is the study of invariants of shape using abstract algebra, but what does this have to do with communications? Well this talks looks at how we can analyze distorted radio signals to perform automatic modulation and classification, as well as perform synchronization. This is a new and interesting way at looking at radio signals and could have an impact on how machine learning and AI is used for processing RF data.
Slides for Algebraic Topology for the Physical Layer
SETI Keynote
People always mock SETI for searching for aliens but the amount of processing necessary to analyze the massive amount of data coming from their antennas is way more interesting. They also take the silly press in stride during their talk!
GSoC 2018 GNU Radio Project: MIMO (poster)
MIMO has been suspiciously absent from the GNU Radio blocks set for some time. There are a few out of tree modules for OFDM MIMO but everything is integrated together, so it is difficult to experiment with MIMO by itself. It is interesting because there are several SDRs on the market that have MIMO support just no way of doing so in GNU Radio without a custom implementation.
Now thanks to the partnership between Google Summer of Code and the GNU Radio project MIMO is now becoming a possibility. MIMO Basics for GNU Radio is the GSoC 2018 project for GNU Radio that explores creating individual blocks for MIMO experimentation. you can get the code from the git repo at GNU Radio with MIMO blocks.
There is still quite a bit of development that needs to be done such as over the air testing and improvements to the calculation of the channel matrix. However, things are looking up as there is said to be continuing support for the blocks and ultimately integration into gr-digital.
GNU Radio and RFNoC in Space: How Hawkeye 360 uses GNU Radio on Small Satellites.
Space is cool. Radios in space are cooler! Using RFNoC and GNU Radio to create the OQPSK radio link and the processing to geolocate RF emitters using three small satellites.
Slides for GNU Radio and RFNoC in Space: How Hawkeye 360 uses GNU Radio on Small-Satellites
Workshops
I tried to attend as many of the workshops as possible since the talks were being recorded but not the workshops. I went to a total of five different workshops with only one being not so useful.
GNU Radio Introduction Tutorial
The first one that I went to was the introduction to GNU Radio. Now I had already used the software for a few projects but there is always more to learn. They did a brief overview of the software and the GRC which is the GNU Radio Companion graphical interface. They also went into detail on how to lean more about the each of the processing blocks as many do not have easy to find documentation. The other piece that they covered was how to start writing your own blocks. You can find most of this information on the wiki but getting pointed in the right direction is sometimes 90% of the battle. Or if not battle at least time.
Systems Programming on the IIO based radios
This is the workshop that I mentioned earlier that I did not get that much out of. This is because it focused on Analog Devices framework for software defined radios. IIO is Industrial Input/Output, a Linux framework for interfacing with anything that uses an ADC or a DAC.
Introduction to FPGA Programming on the USRP Using RFNoC Framework
This was the most interesting workshop of the conference! It was an in-depth overview of the RFNoC framework for use on the Ettus e3XX and x3XX series USRP SDRs. The framework is a network on chip architecture for the FPGA onboard the hardware. It allows DSP algorithms to be implemented on the FPGA for hardware acceleration and be integrated into the necessary FPGA code base. It also allows for a interface to the host processor to set and control parameters through the generation of GNU Radio blocks.
The walk through went over the key components of the RFNoC and the process to implement your own block. The process starts with identifying a piece of the signal processing that would be better suited to acceleration on FPGA hardware. These would be things like FFTs and other signal processing algorithms that can be parallelized. These then need to be written as a IP Core in an HDL language such as Verilog. These then need to use AXI Stream protocol to send data in and out. The computation engine then encapsulates the IP Core in such a way to interact with the crossbar. The crossbar then acts as a network switch to send the IQ data from the radio core, another computation engine, or out to the host computer.
Once the computation engine is written a GNU Radio block can then be used to interface to the core from GNU Radio. The blocks aptly named RFNoC:XXX tell GNU Radio what kind of data to expect from the hardware driver and what to do with it. The blocks that reside on the FPGA show up with green connecting arrows and the boundary interface shows up as a dashed black arrow over a green arrow.
The addition of RFNoC is a major leap in SDR usability, this is because there are lots of operations that need to be completed in a fixed amount of time for most of the radio communications links. These operations are usually math heavy and slow down even the fastest general purpose processors. The other piece that increases usability is that integrating IP Core’s into designs is extremely complicated, but the RFNoC provides a standard to work with relieving researchers from having to implement all the drivers and architecture necessary to send and receive data from the hardware.
I was able to put together a small example, no FPGA synthesis, but generating the GNU Radio block to interface with hardware. Programming the FPGA is similar to other FPGA uploads and is not done by GNU Radio. The blocks are just as easy to integrate into GNU Radio as an out of tree module. The most difficult part in using the RFNoC is programming the HDL but the RFNoC architecture makes the other pieces of using FPGA acceleration for SDRs about 100 times easier!
Introduction to the ADALM-PLUTO SDR
Analog Devices markets the ADALM-Pluto as a learning SDR that really is not an SDR just as Pluto is not a real planet any more. :'( This is because the ADALM-Pluto does not have the same kind of filtering on the front end that is usually present to reduce harmonic interference. It is also lacking a high-speed interface such as USB 3.0 instead using a 2.0 interface which severely limits the data output to the host computer. All those things aside, it is dirt cheap. At $149 it has full transmit and receive and can be hacked to support frequencies up to 6GHz. It also has a Xilinx Zynq FPGA and ARM chip that allows it to operate in a limited standalone capacity. It is also completely open source.
The main portion of the workshop focused around how to use the Pluto with the analog devices IIO Oscilloscope, and gr-iio OOT blocks for GNU Radio. ADI showed some interesting features of the device such as the built in waveform generator with a library of loadable signals, and the ability of the device to receive a signal on one frequency and then retransmit that signal on a separate frequency. The example being a FM receiver to 2.4GHz transmission for the participants to investigate. The gr-iio blocks consist of the PlutoSDR Source and Sink blocks along with the abstracted IIO Device blocks and Attribute blocks. These blocks relate to the IIO API and act as a hardware abstraction so as the need for different devices becomes apparent the device drivers and interface can remain similar. This is the ethos behind ADI and their SDR architecture as you go from concept to product the pieces can be built off of and can grow with you.
Slides for ARM PlutoSDR With Custom Applications talk
Overview of Machine Learning Applications using open-source ML/SDR tools in RF systems, Sensing and Navigation
Machine learning is getting applied everywhere! In this workshop they showed a few examples of RF fingerprinting and GPS agnostic geolocation. The most interesting example was the GPS agnostic geolocation, this is because they used commercial FM stations and FCC data resulting in about 3000 m accuracy. This seems really high but the system was not designed to get high fidelity but to do a coarse grain location so the unit can then use computer vision to achieve better accuracy.
Social Events
The conference held two social events. The first was sponsored by SkySafe, an anti-drone company that specializes in creating RF solutions for protecting critical airspace against un-authorized drones. They also held a raffle giving away a few small drones and a couple Ettus E310s! The second social was held at the Hard Rock Cafe, on the Las Vegas Strip, and sponsored by the conference. It was a nice catered buffet with free beer and wine. The socials were a great place to get to meet other people in the SDR field and get to hear the cool things they are doing!
Companies with cool stuff
Ettus Research
As one of the main sponsors of GRCon the people from Ettus were at the convention in full force. They were showing off the newest version of the USRP embedded series the e320. This new version is now a single board construction instead of the two in the previous version the e310. The new version is still based on the Xilinx Zynq chip set and runs the RFNoC architecture. This allows for standalone operation and integration of hardware acceleration modules. The e320 feels like a slight improvement over the e310 but until it comes out who knows! Can’t wait to learn more!
Nuand
BladeRF 2.0 micro was on full display at the Nuand booth which is a major upgrade from the bladeRF. The bladeRF 2.0 micro come in two versions similar to the bladeRF one with the basic SDR functionality and another with a higher end FPGA that has room for hardware acceleration modules. It is also now 2×2 MIMO capable and is using an Analog Devices AD9361 front end from 47MHz to 6GHz. This is a much improved tuning range over the LMS chip that only went from 300MHz to 3.8GHz. The new AD chip also provides almost double the instantaneous bandwidth.
Great Scott Gadgets
I finally got to meet the guys behind the famous Hack RF One which was possibly the first SDR for the masses. They were showing off the Hack RF One’s ability to quickly scan through its whole tuning range and outputting a live spectrum. The other piece of hardware on display was the Opera Cake which is an antenna switching board that is designed for the Hack RF One but can be attached to any radio and controlled via GPIO from an Arduino, Raspberry Pi, or their GreatFET. The antenna switching board allows a wide range of radio direction finding applications to be realized. It also allows the remote switching of antennas for new dynamic spectrum access implementations. Now several kinds of antennas can be used at will for different frequencies and or radiation patterns. Hackaday article on Opera Cake was based on the SHMOOCON demo for analyzing pseudo-doppler for radio direction finding.
Epiq Solutions
At their booth they showed off the Sidekiq X4 an improved version of the Sidekiq X2 which has the following features:
- VITA 57.1 FPGA Mezzanine Card (FMC) with high pin count (HPC) interface
- Four RF receivers (phase coherent or independently tunable)
- Four RF transmitters (phase coherent or two phase coherent pairs)
- Continuous RF range between 1 MHz and 6 GHz
- Configurable RF channel bandwidth up to 200 MHz per channel, for support of up to 800 MHz instantaneous bandwidth (IBW)
- Exceptional dynamic range with 16-bit A/D and 14-bit D/A converters
The standout feature being the super wide bandwidth and the built in tuner. Having both of these in a Mezzanine card is extremely useful for creating an SDR using VPX hardware from companies such as Annapolis Micro Systems.