Tagged: GPU

FOSDEM 2024 Videos now Available: Synthetic Aperture WiFi RADAR, GPU DSP Acceleration and more

FOSDEM (Free and Open Source Developer’s Meeting) is a yearly conference that took place in Brussels, Belgium on 3 - 4 February 2024. This conference featured a room on Software Defined Radio and Amateur Radio.

Recently the videos of most the talks have been uploaded to their website. Some interesting talks include:

Covert Ground Based Synthetic Aperture RADAR using a WiFi emitter and SDR receiver

Link to Talk Page

Using a WiFi emitter as radiofrequency source illuminating a scene under investigation for slow movement (e.g. landslides), a Ground-Based Synthetic Aperture RADAR (GB-SAR) is assembled using commercial, off the shelf hardware. The dual-channel coherent Software Defined Radio (SDR) receiver records the non-cooperative emitter signal as well as the signal received by a surveillance antenna facing the scene. Spatial diversity for azimuth mapping using direction of arrival measurement is achieved by moving the transmitter and receiver setup on a rail along a meter-long path -- the longer the better the azimuth resolution -- with quarter wavelength steps. The fully embedded application runs on a Raspberry Pi 4 single board computer executing GNU Radio on a Buildroot-generated GNU/Linux operating system. All development files are available at https://github.com/jmfriedt/SDR-GB-SAR/

Synthetic Aperture RADAR with WiFi and USRP SDR

Using GPU for real-time SDR Signal processing

Link to Talk Page

GPU processors have become essential for image or AI processing. Can they bring anything to real-time signal processing for SDR applications? The answer is yes, of course, but not all classic algorithms (FIR, DDC, etc.) can be used "as is", sometimes a different approach must be taken. In this presentation, I will share the solutions that I implemented to achieve multi-channel DDC on NVIDIA Jetson GPU and will make a comparison with "classic CPU" approaches.

Using GPU's for Real Time Signal Processing

Maia SDR: an open-source FPGA-based project for AD936x+Zynq radios

Link to Talk Page

Maia SDR is an open-source project with the main goal of promoting FPGA development for SDR and increasing the collaboration between the open-source SDR and FPGA communities. Currently it provides a firmware image for the ADALM Pluto and other radios based on the AD936x and Zynq. This firmware can display a real-time waterfall at up to 61.44 Msps in a WebSDR-like interface using WebGL2 rendering, and record IQ data in SigMF format in the SDR DDR. The FPGA design is implemented in Amaranth, an Python-based HDL, and the software stack is implemented in Rust, targetting the embedded ARM CPU and WebAssembly.

The first firmware version was released in February 2023, and the project was presented in June in the Software Defined Radio Academy. In this talk we cover the progress since the summer, including the addition of support for devices such as the Pluto+ and AntSDR. We focus on the technical details of the project and the possibilities for re-using some of the components in other projects.

Maia SDR

DAPNET: Bringing pagers back to the 21st Century

Link to Talk Page

When talking about pagers, most of us will think about an object of the past, often seen in TV shows from the 90s, used by medical staff and businessmen. However, they're an interesting way to get simple data broadcast over amateur radio frequencies, with receivers that can be built for less than 20€. We'll explore this and understand how an extensive network can be deployed with simple equipment and using open source hardware and software.

DAPNET Talk

cuSignal: Easy CUDA GPU Acceleration for SDR DSP and Other Applications

The RAPIDS cuSignal project is billed as an ecosystem that makes enabling CUDA GPU acceleration in Python easy. Scipy is a Python library that is filled with many useful digital signal processing (DSP) algorithms. The cuSignal documentation notes that in some cases you can directly port Scipy signal functions over to cuSignal allowing you to leverage GPU acceleration.

In computing, most operations are performed on the CPU (central processing unit). However, GPU's (graphical processing units) have been gaining popularity for general computing as they can perform many more operations in parallel compared to CPUs. This can be used to significantly accelerate DSP code that is commonly used with SDRs.

In particular the developers have already created a notebook containing some examples of how cuSignal can be used with RTL-SDRs to accelerate an FFT graph. There are various other DSP examples in the list of notebooks too. According to the benchmarks in the notebooks, the GPU computation times are indeed much faster. In the benchmarks they appear to be using a high end NVIDIA P100 GPU, but other NVIDIA graphics cards should also show a good speedup. 

The cuSignal code is based on CUDA, so for any GPU acceleration code to work you'll need to have an NVIDIA based GPU (like a graphics card) with a Maxwell or newer core.

We note that in the future we'll be investigating how this could be used to speed up the passive radar algorithms that are used in the KerberosSDR. It may also be useful for running DSP code quickly on a $99 NVIDIA Jetson Nano single board computer.

NVIDIA Tesla P100. A high end $3000+ GPU.
NVIDIA Tesla P100. A high end $3000+ GPU.