Hello,
currently i am implementing ifft operation using FFTC(FFTC Driver version: 0x1000010 Version Info: FFTC Driver Revision: 01.00.00.16) on the C6670 EVM and ran into an issue.
I modified the test_singlecore_poll.c slightly to reproduce this issue. Initially the test reads inputdata(A) and expected outputdata(B), then it does a 2048 FFT operation on inputdata A and checks the result with the expected data B. This test passes fine.
What i did now is to configure FFTC to do IFFT operation and changed it to copy outputdata B as input into the descriptorbuffer, so i expected as result to receive A with some different scaling. As a next step i saved buffers A, B and ifft result buffer(C) after receiving the ifft result and imported them into matlab. There i can easily verify, that
fft(A) = B
ifft(B) = A
C != A
but i figured out following equation swap(ifft(swap(B))) = C, where swap() denotes an IQ-swap.
So if we are doing IFFT operation on the DSP the IQ-layout seems to change.
Can someone confirm this issue or am i missing some more configurations to enable ifft operation?
Kind regards
Ralf