链接:https://pan.baidu.com/s/1gO6xjBtj9LiLwBFfoeDG9w?pwd=6na9
提取码:6na9
--来自百度网盘超级会员V4的分享
需要添加的宏定义
ARM_MATH_CM4,ARM_MATH_MATRIX_CHECK,ARM_MATH_ROUNDING
#include "arm_math.h"
#define FFT_LENGTH 1024 // FFT长度,默认是1024点FFT
arm_cfft_radix4_instance_f32 scfft;
float FFT_InputBuf[FFT_LENGTH * 2];
float FFT_OutputBuf[FFT_LENGTH];
arm_cfft_radix4_init_f32(&scfft, FFT_LENGTH, 0, 1); // 初始化scfft结构体,设定FFT参数
for (int i = 0; i < FFT_LENGTH; i++) {
FFT_InputBuf[2 * i] = my_arr[i]; // 实部
FFT_InputBuf[2 * i + 1] = 0; // 虚部
}
arm_cfft_radix4_f32(&scfft, FFT_InputBuf); // FFT计算(基4)
arm_cmplx_mag_f32(FFT_InputBuf, FFT_OutputBuf, FFT_LENGTH); // 取模得幅值