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

FFT implementation problem

Hi.

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
nathanx
Moderator
Moderator
292 Views
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