This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Problem with arm_cfft_f32()

Note: This was originally posted on 27th August 2013 at http://forums.arm.com

Hello,

I'm new in the field of ARM and I need some help. I try to make a FFT on a Cortex-M4 with fpu. I tried two examples given with the CMSIS library, an old one which uses arm_cfft_radix4_f32() and a new one with arm_cfft_f32(). The two examples compile well. The old code with arm_cfft_radix4_f32() works quite good. That function is deprecated so I would like to use arm_cfft_f32() but I don't get the right data at the end.

The program makes a FFT of a given signal and should detect the peak in magnitude at refIndex = 213. It's ok with the deprecated function arm_cfft_radix4_f32() but not with arm_cfft_f32(). I get refIndex = 861. I tried to change the 'doBitReverse' value from 1 to 0 but nothing changed I have exactly the same result at the output of arm_cfft_f32().

I didn't find the same issue on the web. Is there a known problem with arm_cfft_f32() ? Could someone explain me what I'm doing wrong ?

Thanks,
Pierre.


Parents
  • Note: This was originally posted on 28th August 2013 at http://forums.arm.com

    Thank you for the answers.

    TerryGuo, I tried the different define macros but it doesn't change anything.

    dwwhite, I'm using Atmel Studio with GCC. The library I use was compiled by Atmel and is included in the AtmelStudio installer. I suspect that there is a problem with it. I tried yesterday to recompile the library for GCC but I didn't find how to do. I have some batch scripts to compile for GCC with Keil but it fails.
    I feel that the bitreverse operation is not performed (same result when activated or not, the cycle counter is only five counts higher when enabled).
    I don't know if it is important but I use the fpu with -mfloat-abi=hard flag. I tried also without fpu (-mfloat-abi=soft) but I get the same result.
    Is the library you compiled compatible with GCC ?
Reply
  • Note: This was originally posted on 28th August 2013 at http://forums.arm.com

    Thank you for the answers.

    TerryGuo, I tried the different define macros but it doesn't change anything.

    dwwhite, I'm using Atmel Studio with GCC. The library I use was compiled by Atmel and is included in the AtmelStudio installer. I suspect that there is a problem with it. I tried yesterday to recompile the library for GCC but I didn't find how to do. I have some batch scripts to compile for GCC with Keil but it fails.
    I feel that the bitreverse operation is not performed (same result when activated or not, the cycle counter is only five counts higher when enabled).
    I don't know if it is important but I use the fpu with -mfloat-abi=hard flag. I tried also without fpu (-mfloat-abi=soft) but I get the same result.
    Is the library you compiled compatible with GCC ?
Children
No data