I have been trying to implement FFT on the TIVA launchpad board. As the input data is real-valued data, I have adopted the arm_rfft_fast_f32() method in the CMSIS DSP library. The speed improvement is quite satisfied compared with taking the input as complex data type (uses the arm_cfft_radix2_f32()). The time reduction is over 50% compared with processing the data as complex type.
However, it looks the function arm_rfft_fast_f32() requires the source and destination address should be different while the arm_cfft_radix2_f32() can have the same destination and source address. In this way, these two functions consume the same memory size.
I have noticed a wiki webpage from TI Efficient FFT Computation of Real Input, which says the real-valued FFT can be implemented using the same buffer.
Is there a way to use the same destination and source address for the arm_rfft_fast_f32() function?
Is anyone have a solution for this or suggestion? Thanks.