FFTs with CUDA on the AIR-T with GNU Radio
GPUs are extremely well suited for processes that are highly parallel. The Fast Fourier Transform (FFT) is one of the most common techniques in signal processing and happens to be a highly parallel algorithm. In this blog post the Deepwave team walks you though how to leverage the embedded GPU built into the AIR-T to perform high-speed FFTs without the computational bottleneck of a CPU and without having to experience the long development cycle associated with writing VHDL code for FPGAs. By leveraging the GPU on the AIR-T, you get the best of both worlds: fast development time and high speed processing.
You may not be aware, but a while back we pushed a new block to our open source GR-Wavelearner software: a processing block that allows customers to leverage NVIDIA's extremely efficient cuFFT algorithm on the AIR-T, out of the box. Because the AIR-T is the only Software Defined Radio (SDR) with native GPU support, it may be leveraged to accelerate FFT processing capability with very little programming expertise. Here is the short, three step process.
Step 1: Update GR-Wavelearner
The first step is to make sure that the version of GR-Wavelearner installed on your AIR-T is up to date. Instruction for upgrading GR-Wavelearner may be found in this tutorial.
Step 2: Launch the Example Code
GNU Radio companion is located in the Launcher on the left side of the desktop as shown in the figure below. Launch GNU Radio and choose File -> Open, and select the gpu_fft_demo.grc file located in
Once complete, your desktop will resemble the image below.
Now simply click the green Play button at the top of the GNU Radio application. That is it! You are now receiving live RF signal data from the AIR-T, executing a cuFFT process in GNU Radio, and displaying the real-time frequency spectrum.
Step 3: Tailoring to Your Application
While the example distributed with GR-Wavelearner will work out of the box, we do provide you with the capability to modify the FFT batch size, FFT sample size, and the ability to do an inverse FFT (additional features coming!). If you are an advanced GNU Radio user, we also provide the source code on our GitHub for you to customize to your needs.
We have also recorded the full procedure in a video to help get started. Check it out below.
More Information on the AIR-T