AnsweredAssumed Answered

ADSP BF 548 FFT array declaration and memory segment division

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

Hi everybody

 

I am using ADSP BF 548 evaluation board in my project,i need to perform 4096 point FFT on the acquired ADC samples, I am using hamming window before performing Real point FFT,i have done the array declaration for FFT as below, the memory section "local_buf" is the SDRAM memory i used as a Data memory,here the problem is FFT peak amplitude is varying for different frequencies with constant voltages, as for the FFT theory whatever the frequency the FFT peak amplitude should not change, i saw the array declaration for Twiddle table , FFT output and input array should not be in same memory location in VDSP++5.0 C/C++ Compiler and Library Manual for Blackfin Processors,can anyone please tell me whether the array declaration is correct with respect to memory segment?

 

#define N_FFT 4096
#pragma section ("local_buf")
fract16 windowed_signal[N_FFT];
complex_fract16 fft_output[N_FFT];

complex_fract16 twiddle_table[N_FFT];
fract16 hamming_window[N_FFT];
#pragma section ("L1_data_a")
fract16 real_magnitude[(N_FFT/2)+1];

 

Suggest us if any correction to be made.

 

Best regards

Amar TR

Outcomes