From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

FFT on cRIO FPGA

Hello, 

I am trying to understand how to use the FPGA FFT VI in conjunction with the FFT to Spectrum VI to calculate the Peak Amplitude of an incoming signal in real time. 

 

So far my process is as follows:

FPGA VI

  1. Use FPGA interface to collect signal data and pass data to RTO using a FIFO size 8192 (2^13)
  2. In a similar fashion, take the incoming data and pass it through the FFT VI (Size 64 2^6) on the FPGA and pass the result to the RTO using a FIFO size 8192 (2^13)

HOST VI

  1. Sample 100,000 points at 1MHz (to represent 1 ms) from the signal data stored in the FIFO and display on a graph
  2. Sample in the same way the real and imaginary components of the FFT results, and pass them through the FFT to Spectrum VI to calculate peak amplitude.

The idea is that the requested depth of the FIFO (samples to acquire) will serve as a "buffer" for the FFT results, and when the array of that loop is passed through the FFT to spectrum VI the Amplitude should represent the peak every 1 ms, essentially giving you real time results. 

 

From what I understand the FFT block on the FPGA works point by point, so I don't know if the size of the FFT actually matters, or if the size of the FIFO matters, and I dont know why the Spectrum Analyzer isn't working. 

 

Attached is the project. 

 

Any help would be appreciated! 

 

Best,

 

Conrad

0 Kudos
Message 1 of 4
(2,908 Views)

I'd recommend checking out the Simple Spectrum Analyzer (sim).vi and FFT.lvproj shipping examples. The FFT.lvproj is specifically written for Real-Time and runs on Real-Time targets

Message 2 of 4
(2,865 Views)

Hi Steven, 

Thanks for the response, 

I actually used this example to make my own project, same basic format just not working and I am not sure why. 

 

Best, 

 

Conrad

0 Kudos
Message 3 of 4
(2,851 Views)

Thats great you used the examples to create the project. Always a good move to build on top of known working code. Do the examples work? Do you know where your project does not work? We can use highlight execution to help out with this

0 Kudos
Message 4 of 4
(2,837 Views)