402 Views

FPGA FFT Overview

22/02/2021, hardwarebee

What is FFT?

 

FFT stands for Fast Fourier Transform. It is an algorithm that either calculates the DFT (Discrete Fourier transform) of a given sequence or the inverse, which is IDFT. FFTs are frequently used in a wide variety of applications that require signal processing, including digital recording, additive synthesis, and in pitch correction software. It is a fundamental building block for several DSP (Digital Signal Processing) systems. Hence, you will discover that these algorithms are considered to be an integral part of many complex digital devices and systems such as RADAR, CT imagining, and Ultrasound.

 

When it comes to the hardware aspect of the implementation of FFT, FPGAs are considered to be the ideal option. In this article, we will explore FPGA FFTs and why they work so well together.

 

FFT on FPGAs

 

FPGAs, also known as Field Programmable Gate Arrays, are high performance silicon chips that offer a lot of computational capability as well as flexibility. This is because of the parallel architecture of FPGA chips that allows for speedy, high performance, real time implementation.

 

For this high speed real time processing reasons, FPGAs are preferred for the implementation of FFTs. Signal processing applications in the modern day and age have significantly high performance demands. That is why they require the use of multi core systems that have high computational power. That is why it is important for FFTs to adapt and evolve simultaneously to meet these signal processing needs.

 

Where the software aspect of the FFT executes its instructions in a serial manner, the hardware aspect works in a parallel manner, allowing it to attain a much higher throughput compared to if it were to use a microprocessor. However, as easy FPGA may make FFT implementation seem, it is not as straightforward to execute.

 

 

The Implementation of FFT Algorithms on FPGAs

 

As we mentioned, the implementation of FFT algorithms on FPGAs is not particularly simple or easy. The company that you purchase your FPGA from will typically provide you with an FFT IP core.

 

For example, consider the Altera FPGA FFT. Altera offers you a lot of customizability when it comes to the configuration of your FFT algorithm. You can select your preferred transform length, the I/O data flow, the number of bits, the input and output order, and the implementation of complex multipliers.

 

Similarly, we have the Intel FPGA IP core which is another high performance FFT processor that can be greatly parameterized. It uses a block floating point type of architecture that helps to maximize the signal dynamic range of the system. This range assists in the transform calculation. The Intel FFT FPGA takes in a complex data vector as input and then produces a transform domain complex vector as output.

Recent Stories