AnsweredAssumed Answered

ADSP BF 548 FFT computation

Question asked by amar26121993 on Mar 9, 2018
Latest reply on May 30, 2018 by Jithul_Janardhanan

Hi everybody

Iam using ADSP BF 548 evaluation in my project, iam acquiring samples from ADC in the the real time and i need to perform FFT for the
acquiried samples,my sampling rate is 10KSPS and my FFT computation time interval is 500msec i.e for every 500msec 5000samples will be
acquired from the ADC and i need to perform 4096 point FFT for first 4096 samples.I configured 100microsec timer interrupt to take each
sample at equal interval of time.

our requirement is as follows
1. Sampling rate - 10000Sample/sec
2. Input voltage - 0-7vpp minimum
3. FFT time interval - 500msec

The steps we followed for performing Real point FFT is

1. Generating hamming window using "gen_hamming_fr16" function.
2. Multiplying the hamming window table with ADC samples using "vecvmlt_fr16" function
3. Generating twiddle table using "twidfftrad2_fr16" function.
4. Performing real point FFT using "rfft_fr16" function.
5. Extracting the Magnitude of rfft using "fft_magnitude_fr16" function.

The problem is once the frequency increases above 500hz the peak amplitude of FFT is decreasing gradually(keeping the input voltage constant)
Below table shows how FFT peakamplitude decreases gradually.

Frequency fft peak amplitude(mv)
200 hz 255
500 hz 234
750 hz 224
1000 hz 171
1250 hz 183
1500 hz 169

suggest us if the following sequence for performing real point FFT is correct or it has to be modified?
what will be the Peak amplitude of a real point FFT, if i give 1khz,1Vpp sine wave?

Best regards
Amar TR