The Fourier transform (FT) decomposes a signal into its constituent frequencies and shows that any signal can be re-written as the sum of sinusoidal functions. It is also a mathematical method for transforming a function of time into a function of frequency , i.e. transforming from the time domain to the frequency domain. The Fast Fourier transform (FFT) computes the Discrete Fourier transform (DFT) of a sequence.
Field Programmable Gate Arrays (FPGAs) offer a high performance and flexibility for real time implementation. FPGA is attractive for high-speed signal processing due to their parallel processing abilities. Pablo has explained how to use the Xilinx FFT IP core to offload the FFT algorithm on the Digilent Eclypse Z7 Zynq SoC PlatformDigilent Eclypse Z7 Zynq SoC Platform. He creates harmonics through FFT.
First of all, you need to add xFFT from the IP catalog.
Then, you can configure the IP by
- Setting the number of channels and number of samples,
- Choosing FFT algorithm.
- Scaling options
- Data format
- Output ordering
Once the xFFT IP is configured, you can implement the harmonics design. The below block diagram shows Pablo's design. Other than the xFFT IP, he uses AXI-Datamover and AXI-FIFO for data storage and transfer. The input is stored in the first BRAM and then transferred to FPGA through UART.
Pablo design's block diagram (source: https://www.controlpaths.com/2020/05/25/eclypse-z7-and-xfft/ )
The project details is at Pablo's controlpath blog. He welcomes questions and feedback.