This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
When float* FFT containing N floats is the resulting fourier transform of DSPF_sp_fftSPxSP with pure real input:
How do I need to interpret the "special" indices FFT[0] and FFT[1] ? FFT[0] seems to be the DC part of the input. Is FFT[1] always 0?
Similar: How do I have to interpret FFT[N/2] and FFT[N/2+1]? FFT[N/2+1] again seems to be 0, but can I be sure and what does it mean?
Thank you,
Markus
Hi Markus,
Thanks for your post.
In general, the input as well as the output to the DSPF_sp_fftSPxSP function are expected to be in the complex format but in case of a real input your data does not have a imaginary value.The wiki proposes a efficient solution to compute FFT of a real input array without reformating the input to add zero in the imaginary place such that all odd samples in your input are treated as the real and all your odd samples in the real sequence are treated as a imaginary value while computing the FFT.
Please refer below the C67x DSPLIB application report, in which kindly check Section 3.3.3 for FFT interpretation of DSP library function DSPF_sp_fftSPxSP
http://www.ti.com/lit/an/spra947a/spra947a.pdf
There are E2E threads below which shall be used for reference:
http://e2e.ti.com/support/dsp/tms320c6000_high_performance_dsps/f/115/t/95526.aspx
http://e2e.ti.com/support/dsp/tms320c6000_high_performance_dsps/f/115/t/40334.aspx
Thanks & regards,
Sivaraj K
Hello Sivaraj,
thank you for your answer :) unfortunately it was not to my question ;) Maybe I did not make clear what I'm interested in:
I know of the Real Input algorithm and I've used it already (although I never got the inverse FFT stable. Tests failed, but this is likely my fault).
I've seen a few FFT implementations and two values of the FFT result were always "special". If a is the result of dsplibs FFT with N samples, what is:
I would be delighted if someone could explain this to me - thank you :)
cu
Markus
Hi Markus,
Thanks for your update.
Always, the output result of dsplib FFT function DSPF_SP_FFTSP*SP shall be in complex format (real + imaginary) by default. So, it is like (x+iy) format, but in case of a real input your data does not have a imaginary value. Also, there are implementations to compute FFT for a real input array samples. I mean, It is possible to compute a N/2 length complex FFT from a N length real input sequence and in this case, the odd samples of input will be treated as imaginary value and even samples of input would be treated as real values.
Thanks & regards,
Sivaraj K
Hello,
maybe this was the wrong place to ask or I didn't post the question clear enough.
I took another try in comp.dsp and the guys were really helpfull:
http://www.dsprelated.com/showmessage/218919/1.php
Nevertheless many thanks to all who tried :)