求一个完整的STM32运算FIR滤波程序

2019-12-20 21:41发布

本人对FIR滤波是小白一个,现求一个完整的STM32运算FIR滤波程序



信号来源:
1)AD数据16-24位,精度要求较高,需要采用浮点数运算;
2)AD速率10~500次/秒;

输出要求:
1)输出速率跟随输入同步变化,输入一个新数据,经过滤波输出一个同步数据(时间上因滤波肯定滞后,这个正常,无须理会);
2)输出滤波深度可设置(FIR滤波好像是叫滤波阶数);


代码要求:STM32工程,使用ST的外设库,但是FIR滤波代码,特别是输入输出部分要带详细中文注释,方便实际调用。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
95条回答
xivisi
1楼-- · 2019-12-21 18:46
一个应用中,通常系数是固定的,不用动态生成
ilikemcu
2楼-- · 2019-12-21 19:10
我的应用,需要用户自己更加实际需要选择他认为合适的采样速率,以及滤波深度。也就是采用速率和滤波阶数是调设置的,而不是固定的;
另外标准的FIR程序,都是一组数据(英文资料称之为block)输入,然后一组数据输出,但是我的应用需要采集到一个新的AD,就要滤波,然后输出一个AD数值,作为当前输出,被程序调用;

感谢楼上几位的积极回应,遗憾的是目前的资料还没有合适我用,继续等待。
xivisi
3楼-- · 2019-12-21 23:27
ilikemcu 发表于 2013-1-25 16:08
我的应用,需要用户自己更加实际需要选择他认为合适的采样速率,以及滤波深度。也就是采用速率和滤波阶数是 ...

汗,早说是如果是动态生啊

参考《数字信号处理c语言程序集》 第六章,我也不好贴他的代码说是我的
ilikemcu
4楼-- · 2019-12-22 05:04
呵呵,谢谢xivisi,这类书或代码我要能搞定,也不至于来悬赏了啊,一般网上的代码我早已搜索无数,常去的几个电子网站,包括这里,早就用FIR关键字搜索无数遍了,能CTRL+C,CTRL+V的资料也早就存到硬盘里了。MATLAB的书也借过看过不少,里边都有FIR滤波章节介绍的。

这里附上一个计算系数的小工具软件,和谐版。
scopefir37a.rar (968.17 KB, 下载次数: 333) 2013-1-26 11:05 上传 点击文件名下载附件

znsword
5楼-- · 2019-12-22 06:29
 精彩回答 2  元偷偷看……
lllaaa
6楼-- · 2019-12-22 07:54
gmfsk-0.7pre1.tar[1].gz (624.27 KB, 下载次数: 206) 2013-1-27 21:13 上传 点击文件名下载附件

你看看调用filter_init_bandpass这个函数的时候传的几个参数的意义,和它创建的滤波器的调用方法。应该有所启发

一周热门 更多>