Hi,
I wish to call the fft hardware accelerator function for different FFT points (8-1024) for scale/no_scale and see the results. I need some help regarding this.
1) Can I use the .h files (t1_scale.h, t2_noscale.h,t2_scale.h etc.) from CFFT in the EXAMPLE folder of dsplib_2.40.00? The results for fft hardware accelerator will be similar to the MATLAB results and MAX_error will be similar? Or dsplib FFT and fft hardware accelerator FFT results will vary?
2) As far as I understand, for FFT hardware accelerator input is 32 bit vector of length = FFT_LENGTH. Of these 32 bits, first 16 bits form the real part and last 16 bits form the imaginary part. Is each of these two parts [Re,Im] in Q15 format individually ? Or they together are in Q31 format? The dsplib input and result arrays for the CFFT example are in Q15 format ?
3) To use Int16* x1[2*FFT_LENGTH] from dsplib CFFT example as Int32* x2[FFT_LENGTH], is it ok to do
x2[i] = x1[i] << 16 + x1[i+1] ??
4) Finally I need to find the power or amplitude of the FFT results computed. I understand that I need to compute sum of squares of real and imaginary parts of FFT results. Is it ok if I do
pow[i] = ((x2[i] & 0xFFFF0000)^2 + (x2[i] & 0x0000FFFF)^2)^0.5
Will data being in Q15 format make any difference? Should I convert the FFT results to float before computing power?
I am sorry if my questions are naive. Please calrify my doubts.
Thanks in advance,
Rijurekha