STM32中arm_math.h库中fft的相关使用

news/2024/10/30 9:33:48/

①rfft实数傅里叶变换

	uint16_t fftSize = 2048;      //定义rfft的长度uint8_t ifftFlag = 0;         //表示fft变换为正变换,1则为逆变换arm_rfft_fast_instance_f32 S; //定义rfft的结构体arm_rfft_fast_init_f32 (&S,  fftSize);  //例化fft结构体,确定fft点数arm_rfft_fast_f32(&S,data_frame_left, fr_left,ifftFlag);  //1024点实序列FFT

②cfft复数傅里叶变换

#include "arm_math.h"
#include "arm_const_structs.h"

在使用cfft时会报错arm_cfft_sR_f32_lenXXX未定义,需要incluarm_const_structs.h”

arm_cfft_f32(&arm_cfft_sR_f32_len2048, c_real, 1, 0);
函数描述:
这个函数用于单精度浮点复这个函数 用于单精度浮点复这个函数 用于单精度浮点复这个函数 用于单精度浮点复这个函数用于单精度浮点复这个函数 用于单精度浮点复FFT 。 
函数参数: 
◆ 第1个参数是封装好的浮点FFT例化,支持的参数如下: 
⚫ arm_cfft_sR_f32_len16,16点FFT ⚫ arm_cfft_sR_f32_len32,32点FFT ⚫ arm_cfft_sR_f32_len64,64点FFT ⚫ arm_cfft_sR_f32_len128,128点FFT ⚫ arm_cfft_sR_f32_len256,256点FFT ⚫ arm_cfft_sR_f32_len512,512点FFT ⚫ arm_cfft_sR_f32_len1024,1024点FFT ⚫ arm_cfft_sR_f32_len2048,2048点FFT
⚫ arm_cfft_sR_f32_len4096,4096点FFT 
◆ 第2个参数是复数地址,存储顺序是实部,虚部,实部,虚部,依次类推。
◆ 第3个参数用于设置正变换和逆变换,ifftFlag=0表示正变换,ifftFlag=1表示逆变换。 
◆ 第4个参数用于设置输出位反转,bitReverseFlag=1表示使能,bitReverseFlag=0表示禁止。

③幅值计算

arm_cmplx_mag_f32(testInput_f32, testOutput_f32, TEST_LENGTH_SAMPLES);

对于输入数据求解其幅度,即sqrt(x^2+y^2).

参考文献:

【1】安富莱 STM32-V7 开发板数字信号处理教程


http://www.ppmy.cn/news/520374.html

相关文章

stm32f4 dsp库arm_cfft_f32 fft用法

void arm_cfft_f32( const arm_cfft_instance_f32 * S, float32_t * p1, uint8_t ifftFlag, uint8_t bitReverseFlag); arm_cfft_instance_f32 * S是一个结构体指针这个结构体包含FFT运算的旋转因子和位反转表,就相当于一个常量,我们不用去管…

无人机姿态解算_扩展卡尔曼滤波(2)

一、扩展卡尔曼滤波 KF和EKF的公式对比(基本没差别) 二、扩展卡尔曼五个公式 利用扩展卡尔曼滤波估计四元数。 下图是论文中的截图。可以和前面的卡尔曼滤波估计高度文章的那五个公式对应一下。 观测矩阵的确定。 三、代码的实现 1. 四元数模长归…

ARM CMSIS DSP库函数arm_sin_cos_f32的BUG

ARM CMSIS DSP库函数arm_sin_cos_f32的BUG 王强 2016-05-10 本人从事电力电子产品的研发,使用的是STM32F4系列的CPU,带浮点运行,进行park变换或逆变换的时候,需要用到sin和cos,为了方便就采用了arm_sin_cos_f32这个函…

基于ARM 的neon介绍以及常用intrinsic函数总结

在介绍NEON前,必须要介绍一下SIMD。 1.什么是simd 众所周知,计算机程序需要编译成指令才能让 CPU 识别并执行运算。所以,CPU 指令处理数据的能力是衡量 CPU 性能的重要指标。为了提高 CPU 指令处理数据的能力,半导体厂商在 CPU …

【嵌入式】STM32利用arm-dsp库进行FIR滤波

目录 一、Matlab中的FIR实验1.搭建原始信号2.设计FIR滤波器3.FIR滤波4.滤波前后对比 二、嵌入式平台FIR滤波移植1.arm-dsp库移植2.获得FIR滤波系数3.基于arm-dsp的FIR程序4.滤波结果-与Matlab比对 三、总结 电力电子应用中,往往需要对电流、电压信号进行采样&#x…

【STM32H7的DSP教程】第30章 STM32H7复数浮点FFT(支持单精度和双精度)

完整版教程下载地址:http://www.armbbs.cn/forum.php?modviewthread&tid94547 第30章 STM32H7复数浮点FFT(支持单精度和双精度) 本章主要讲解复数浮点FTT,支持单精度和双精度。 目录 30.1 初学者重要提示 30.2 复…

【STM32H7的DSP教程】第32章 STM32H7的实数FFT的逆变换(支持单精度和双精度)

完整版教程下载地址:http://www.armbbs.cn/forum.php?modviewthread&tid94547 第32章 STM32H7的实数FFT的逆变换(支持单精度和双精度) 本章主要讲解实数FFT的逆变换实现。通过FFT变换将波形从时域转换到频域,通过IFFT逆变换实现从频域到时域…

【STM32H7的DSP教程】第31章 STM32H7实数浮点FFT(支持单精度和双精度)

完整版教程下载地址:http://www.armbbs.cn/forum.php?modviewthread&tid94547 第31章 STM32H7实数浮点FFT(支持单精度和双精度) 本章主要讲解实数浮点FTT,支持单精度和双精度。 目录 31.1 初学者重要提示 31.2 实…