打印
[STM32F4]

STM32F4 基于FPU使用FIR滤波

[复制链接]
502|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Matlab生成参数

通过指令在 matlab 中进入filterDesigner


filterDesigner 界面


然后按照自己的需求配置

在配置完成后,点击窗口下面的“设计滤波器”。

使用特权

评论回复
沙发
xiaoqi000|  楼主 | 2023-6-29 01:45 | 只看该作者
在编辑结束后点击生成C头文件

使用特权

评论回复
板凳
xiaoqi000|  楼主 | 2023-6-29 01:45 | 只看该作者
按照需求配置

使用特权

评论回复
地板
xiaoqi000|  楼主 | 2023-6-29 01:47 | 只看该作者
最终会生成一个装了参数的头文件

使用特权

评论回复
5
xiaoqi000|  楼主 | 2023-6-29 01:47 | 只看该作者
单片机导入DSP
在我之前写的文章中有说明
https://blog.csdn.net/cusichidouren/article/details/126178664

使用特权

评论回复
6
xiaoqi000|  楼主 | 2023-6-29 01:47 | 只看该作者
单片机上的操作
函数说明
进行FIR滤波我们需要两个函数:初始化函数和计算函数

初始化函数:

使用特权

评论回复
7
xiaoqi000|  楼主 | 2023-6-29 01:47 | 只看该作者
其中:
初始化结构体需要用户自己定义,初始化函数会往里装初始化参数
参数数组就是前面用matlab生成的数组,
缓存地址需要用户自己定义。
用户定义一个长度为参数长度 + 数据长度 - 1的数组,其首地址就是缓存地址。
计算函数:

使用特权

评论回复
8
xiaoqi000|  楼主 | 2023-6-29 01:47 | 只看该作者
其中:
计算函数会按照初始化结构体里的参数进行计算
要保证输入输出数组的长度相同

使用特权

评论回复
9
xiaoqi000|  楼主 | 2023-6-29 01:48 | 只看该作者
使用实例

使用特权

评论回复
10
xiaoqi000|  楼主 | 2023-6-29 01:48 | 只看该作者
实际使用的注意事项
堆栈空间问题
进行滤波计算时会需要很大的空间,
尽量将上面用到的长数组定义为静态变量,
以节省堆栈空间,防止程序跑飞。

使用特权

评论回复
11
Clyde011| | 2024-1-23 15:24 | 只看该作者

这样可以获得更光滑的表面。

使用特权

评论回复
12
万图| | 2024-1-23 17:20 | 只看该作者

是因为它作用是起到抑制,多应用于开关电源电路中

使用特权

评论回复
13
Uriah| | 2024-1-23 18:23 | 只看该作者

对于标准PCB设计,c形孔的最小直径为0.5mm,

使用特权

评论回复
14
xdvca| | 2024-7-31 23:40 | 只看该作者
在 filterDesigner 界面的左上角,你会看到一个“Filter Type”或“Design Filter”选项。点击此选项,你可以选择不同类型的滤波器,如低通、高通、带通、带阻等。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

741

帖子

0

粉丝