Matlab生成参数
通过指令在 matlab 中进入filterDesigner
filterDesigner 界面
然后按照自己的需求配置
在配置完成后,点击窗口下面的“设计滤波器”。
在编辑结束后点击生成C头文件
按照需求配置
最终会生成一个装了参数的头文件
单片机导入DSP
在我之前写的文章中有说明
https://blog.csdn.net/cusichidouren/article/details/126178664
单片机上的操作
函数说明
进行FIR滤波我们需要两个函数:初始化函数和计算函数
初始化函数:
其中:
初始化结构体需要用户自己定义,初始化函数会往里装初始化参数
参数数组就是前面用matlab生成的数组,
缓存地址需要用户自己定义。
用户定义一个长度为参数长度 + 数据长度 - 1的数组,其首地址就是缓存地址。
计算函数:
其中:
计算函数会按照初始化结构体里的参数进行计算
要保证输入输出数组的长度相同
使用实例
实际使用的注意事项
堆栈空间问题
进行滤波计算时会需要很大的空间,
尽量将上面用到的长数组定义为静态变量,
以节省堆栈空间,防止程序跑飞。