Showing results for 
Search instead for 
Did you mean: 



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:


  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)


  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! 





0 Kudos
Message 1 of 4

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

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. 





0 Kudos
Message 3 of 4

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