AnsweredAssumed Answered

FFT function oddities

Question asked by schneider.will on Aug 9, 2013
Latest reply on Aug 12, 2013 by schneider.will
I'm using the "arm_cfft_radix4_f32(&S, FFTData); " function to obtain the FFT of an array and then inverse it back after some processing.

I have things working, to a point, but with some odd restrictions.

Firstly I want to do a 512 point FFT, but changing the size to 512 causes all my outputs to become zero. I can only get it to work for the size of 256.

I'm assuming that its failing because I'm giving it inputs of the wrong size, but I feel they 'should' be corret. I'm feeding the function an array of size 1024, with 512 real values and 512 complex values set as zero. Arranged as Real1[0] Imag1[1] Real2[2] Imag2[3].....

From the somewhat unhelpfull CMIS documentation, it appears that I need to be giving the function an array double the size of the fft size I want. 1024 = 2*512, so shouldn't that be correct?

Using the exact same input array, but changing the fft size to 256 does indeed give me a working FFT, however only half of the output array is filled, the extra 512 points remain untouched.

Am I missing something here?

Cheers, Will

Addition: Looking closer using the debugger, If I set the size to 512 the program just halts when it reaches the FFT function, ang goes no further. :S

Outcomes