目录
参考官方资料:
CMSIS DSP Software Libraryhttps://arm-software.github.io/CMSIS_5/DSP/html/index.html
Arm Communityhttps://community.arm.com/
1024点实FFT的代码实现:
#include "arm_math.h"
#include "arm_const_structs.h"
#define FFT_LEN 1024
int main()
{
float in_data[1024];
float out_data[1024];
float magnitude[512];
float max_magnitude_value;
unsigned int max_value_index;
arm_rfft_fast_instance_f32 rfft_instance;
//初始化
arm_rfft_fast_init_f32(&rfft_instance ,FFT_LEN);
arm_rfft_fast_f32(&rfft_instance, in_data, out_data, 1);
//注:FFT,结果是MATLAB的结果的前面512个复数对,DSP库的复数是交叉放置。
//计算复数序列模值平方;
arm_cmplx_mag_squared_f32(out_data, magnitude, FFT_LEN);
//计算复数序列模值
arm_cmplx_mag_f32(out_data, magnitude, FFT_LE);
//计算最大幅值和索引
arm_max_f32(magnitude, FFT_LEN , &max_magnitude_value, &max_value_index);
};