Showing results for 
Show  only  | Search instead for 
Did you mean: 
Registered: ‎09-29-2019

FFT implementation problem


I am trying to implement FFT using system generator. I am stuck in interpreting output data.. design spec is as below


input signal : sinunoid 0-5kHz bandwith 

sampling rate: 200ksps

fft point : 4096

Matlab ver.: matlab 2018.a with vivado 2019.1

fir order: least square (800 order)

downsample factor : 20 

overlaping of samples : 75 % 

T= 1.25000000000000e-06 (T= (4*FS))

Hanning cofficient = 4096 {Matlab => window_coeff = hann(4096)' }

target device: ZYNQ xc7z045-2ffg900

i have issues in FFT output, FFT gain / magintude response in not flat accross frequency . below is the screen shoot of response from FFT core


FFT with 1vppFFT with 1vpp


above is the plot for FFT with input voltage set to 1vpp 16-bit real adc value (fixed 16bit with decimal point at 15). y axis with gain and x axis with frequency.


I am attaching .slc file for review.


Kindly check for any error in calculaiton / design 




0 Kudos
1 Reply
Registered: ‎08-01-2007

You can capture the direct outputs of FFT IP, do the calculation as below, find the index of largerst one, then it may be easy for use to interpret the FFT output.

(real part of FFT output)*(real part of FFT output) + (imaginary part of FFT output)*(imaginary part of FFT output)

0 Kudos