Help: ICE_GENERAL_FFTCORE

Fast Fourier Transform Core for Spectal Analysis


The SNAPPER macro can be run with the /FFTCORE=N to run FFTs in the FPGA at much higher
speeds than the host to get a better spectral analysis for FFT sizes <= 16K.
The algorithm has an optional /FFTPEAKS=M Peak Pick option that appends M*2 bins to the
output FFT with the results of its search where NP is the number of peaks found and M-1
is maximum number of peaks to report.  

The format of the output buffer is:

  FFT bin0	- SL value of bin 0
  FFT bin1	- SL value of bin 1
  ...
  FFT binN	- SL value of bin N=NFFT-1

  IND peak1	- (stopbin<<16)|(startbin) for peak 1
  TOT peak1	- total of all bin values for peak 1
  ...
  IND peakN	- (stopbin<<16)|(startbin) for peak NP
  TOT peakN	- total of all bin values for peak NP

  0		- pairs of zeros for (M-1-NP)*2 bins

  NP		- number of peaks found 
  TOT peaks	- total power of all peaks 

The actual FFT bins can be stripped from this buffer by adding the /FFTSTRIP switch.
This buffer can then be post processed with minimal effort in the CPU.