欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

STM32F4 基于FPU使用FIR滤波

发布时间:2023/12/29 编程问答 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 STM32F4 基于FPU使用FIR滤波 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • Matlab生成参数
  • 单片机导入DSP
  • 单片机上的操作
    • 函数说明
    • 使用实例
  • 实际使用的注意事项
    • 堆栈空间问题

Matlab生成参数

通过指令在 matlab 中进入filterDesigner

filterDesigner 界面

然后按照自己的需求配置
在配置完成后,点击窗口下面的“设计滤波器”。

在编辑结束后点击生成C头文件

按照需求配置

最终会生成一个装了参数的头文件

单片机导入DSP

在我之前写的文章中有说明
https://blog.csdn.net/cusichidouren/article/details/126178664

单片机上的操作

函数说明

进行FIR滤波我们需要两个函数:初始化函数和计算函数

初始化函数:

其中:
初始化结构体需要用户自己定义,初始化函数会往里装初始化参数
参数数组就是前面用matlab生成的数组,
缓存地址需要用户自己定义。
用户定义一个长度为参数长度 + 数据长度 - 1的数组,其首地址就是缓存地址。

计算函数:

其中:
计算函数会按照初始化结构体里的参数进行计算
要保证输入输出数组的长度相同

使用实例


实际使用的注意事项

堆栈空间问题

进行滤波计算时会需要很大的空间,
尽量将上面用到的长数组定义为静态变量,
以节省堆栈空间,防止程序跑飞。

总结

以上是生活随笔为你收集整理的STM32F4 基于FPU使用FIR滤波的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。