cancel
Showing results for 
Search instead for 
Did you mean: 

FFT function oddities

willschneider
Associate II
Posted on August 09, 2013 at 10:42

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

10 REPLIES 10
willschneider
Associate II
Posted on August 12, 2013 at 11:37

Aha, I see. Thanks for this.