Exploring Software Defined Radio (featuring Raspberry Pi Projects) eBook
This eBook discusses wireless applications, with a focus Software Defined Radio, featuring technologies developed for the Raspberry Pi.
Here is a Preview
The Raspberry Pi currently supports a large range of SDR software applications. This includes some of the most popular applications, such as GNU Radio and Gqrx SDR. In fact, there is an entire image with many of the latest SDR software pre-installed. It is called PiSDR and is a modified version of the Raspian operating system commonly installed on the Pi. Currently, the latest version supports all versions of the Pi from Zero to 4. Some of the software preinstalled includes GNU Radio, LineVNA, Soapy, SDR Angel, LimeSuite, hamlib, RTLSDR-Airband, IIO Oscilloscope, and SDR++. In addition, many of the more common SDRs are officially supported, meaning they have been tested with the Raspberry Pi. PiSDR can be pre-loaded onto an SD card. PiSDR is probably the easiest way to get started with SDR on the Raspberry Pi. An SD card with at least 8GB of memory is required. Once ready, a user can transfer the image to the SD card using the Raspberry Pi Imager, just as one would for any other Raspberry Pi operating system. Upon first running the Raspberry Pi with the installation, it is recommended to run the command “volk_profile.” This enables the system to run faster by optimizing mathematical functions used by software such as GNU Radio. From here, the operating system will run just like the traditional Raspian operating system, with the exception being the rich array of SDR software that is readily available.
One of the simplest uses of an SDR radio is frequency scanning (or frequency monitoring). This is a relatively simple task requiring just the hardware and proper software. In fact, most software available for SDR platforms will support some sort of frequency scanning. Frequency scanning is accomplished in the radio by processing small chunks of spectrum and performing a Fourier transform on the ADC output data. For example, a radio may have a 20MHz receive bandwidth. The radio can “look” at the frequency spectrum from 480MHz to 500MHz, process the data, and then tune to a higher frequency and repeat the process to show a large amount of spectrum. Alternatively, the radio can also sit at any specific frequency and continuously monitor only the 20MHz bandwidth. The following image shows an example of frequency monitoring using the Gqrx software.
There are multiple things being shown in the image. First, the top of the screen shows the spectrum scan. This is the fast Fourier transform (FFT) of the ADC output data. The y-axis is the amplitude level of a signal, while the x-axis is the frequency. Each one of the spikes rising out of the noise floor is some sort of wireless signal. What is shown at the bottom of the image is what is commonly known as a waterfall plot. This is a different way of viewing the strength of wireless signals. The plot will continuously move from the top to the bottom, with stronger signals showing a lighter color. For instance, the deep blue means there are no signals present, and the device is seeing nothing but noise at those frequencies. On the other hand, when a green, yellow, or orange color is seen, it means a strong signal is present at those frequencies, with orange being the signal with the largest magnitude. Waterfall plots are great for visualizing the persistence of a signal whether it is consistently there or not.
Another popular application that SDRs can be used for is signal processing. Signal processing is a deep and rich topic with lots to explore and learn. The two easiest methods to get started with signal processing would be to use some sort of programming language, such as Python, to perform operations on the IQ output data from an SDR. Or one can use an SDR software package such as GNU Radio to perform mathematical operations.
Learn more about Exploring SDR featuring Raspberry Pi Projects by downloading the eBook now!
Find more great Raspberry Pi content on the Community
- Raspberry Pi
- Raspberry Pi Design Challenge
- Raspberry Pi Projects
- Raspberry Pi Project14
- Raspberry Pi Videos
- More Raspberry Pi eBooks: