Since 2021 I have been collaborating with the Berkeley SETI Research Center Breakthrough Listen Summer Undergraduate Research Experience program by giving some GNU Radio tutorials. This year, the tutorials have been recorded and they are now available in the BSRC Tech YouTube channel (actually they have been there since the end of August, but I only realized just now).
These tutorials are intended as an introduction to GNU Radio and SDR in general, focusing on topics and techniques that are related or applicable to SETI and radio astronomy. They don’t assume much previous background, so they can also be useful for GNU Radio beginners outside of SETI. Although each tutorial builds up on concepts introduced in previous tutorials, their topics are reasonably independent, so if you have some background in SDR you can watch them in any order.
All the GNU Radio flowgraphs and other materials that I used are available in the daniestevez/reu-2023 Github repository. Below is a short summary of each of the tutorials.
Tutorial I is an introduction to GNU Radio and SDR. It shows how to use an RTL-SDR dongle in GQRX, and how to make simple flowgraphs in GNU Radio companion that use the soundcard or an RTL-SDR.
Tutorial II focuses on spectral analysis. It shows how to generate narrowband and wideband signals, how to detect them and measure them in the spectrum using FFTs, and an application to real world recordings of an OH maser spectral line and Voyager 1.
Tutorial III is about scripting GNU Radio with Python. It shows how to make a “toy” observation flowgraph with an RTL-SDR that might be similar to what an observation with a real telescope looks like, how to call the flowgraph and pass it parameters as a Python script from the shell or as a Python class from Python code, and how to process the results in a Jupyter notebook. It also explains frequency translation, decimation and aliasing.
Tutorial IV is about the Doppler effect. It shows how to simulate linear Doppler drift in GNU Radio with a sawtooth and more complicated curves with the Doppler correction block, how to compute Doppler these curves with Astropy and HORIZONS, and how to measure frequency accurately with a PLL.
Tutorial V is is about beamforming. It shows how to simulate the arrival of a signal to two antennas with different phase and delay, what happens if the two antennas are combined without correcting these effects, why if the combination is done correctly the SNR increases, and how the phase and delay offsets can be measured and calibrated. It demonstrates how a linear array works, how beam steering can be used to separate sources from different directions, and what is the relation to interferometric imaging.
Finally, If you want to check out all the cool SETI projects that the students have been doing throughout the summer, you can watch their final presentations in the Berkely SETI REU Symposium.
One comment