OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3937|回复: 7

求助一个滤波问题

[复制链接]

24

主题

66

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
358
金钱
358
注册时间
2015-11-4
在线时间
124 小时
发表于 2016-5-26 09:48:55 | 显示全部楼层 |阅读模式
10金钱
自己利用了原子提供的DAC例程为基础做一个滤波器。由于硬件已经完成了,所以只能利用软件来做滤波。滤波的参数是用MATLAB产生的(IIR数字滤波)。也在晚上查过了很多资料,也试过一个认为网上认为行的代码,可以一敲完代码,编译就出错了。然后自己按着书上的公式写了一个,可是波形是不能实现滤波的。希望有谁也做过软件来滤波的帮帮忙看下是什么问题

main.c如附件所示

QQ截图20160526094651.png
QQ截图20160526094719.png
QQ图片20160526094531.png
QQ截图20160526094729.png
QQ图片20160526094638.png

最佳答案

查看完整内容[请看2#楼]

可以参考TI的DSPF_sp_iir( )函数实现方法,见附件P79-80。 void DSPF_sp_iir (float* restrict r1, const float* x, float* restrict r2, const float* h2, const float* h1, int nr ) { int i, j; float sum; for (i = 0; i < nr; i++) { sum = h2[0] * x[4+i]; for (j = 1; j
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

228

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1730
金钱
1730
注册时间
2016-3-8
在线时间
678 小时
发表于 2016-5-26 09:48:56 | 显示全部楼层
本帖最后由 adlu 于 2016-5-26 15:09 编辑

可以参考TI的DSPF_sp_iir( )函数实现方法,见附件P79-80。
TMS320C67x DSP Library Programmers Reference Guide.pdf (400.27 KB, 下载次数: 299)
回复

使用道具 举报

15

主题

184

帖子

0

精华

高级会员

Rank: 4

积分
647
金钱
647
注册时间
2014-4-29
在线时间
299 小时
发表于 2016-5-26 13:17:07 | 显示全部楼层
我也不太懂IIR滤波,但是你不把算式变换成差分式的话怎么在程序里用呢?
回复

使用道具 举报

24

主题

66

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
358
金钱
358
注册时间
2015-11-4
在线时间
124 小时
 楼主| 发表于 2016-5-26 13:49:13 | 显示全部楼层
xianshasaman 发表于 2016-5-26 13:17
我也不太懂IIR滤波,但是你不把算式变换成差分式的话怎么在程序里用呢?

我的第一个截图里的第二个FOR里面就是做运算呀
回复

使用道具 举报

15

主题

184

帖子

0

精华

高级会员

Rank: 4

积分
647
金钱
647
注册时间
2014-4-29
在线时间
299 小时
发表于 2016-5-26 14:34:36 | 显示全部楼层
小卿 发表于 2016-5-26 13:49
我的第一个截图里的第二个FOR里面就是做运算呀

所以你就在单片机上对时域的数据直接做卷积了?
且不说你代码写到对不对,这么干肯定没有好结果啊
回复

使用道具 举报

15

主题

184

帖子

0

精华

高级会员

Rank: 4

积分
647
金钱
647
注册时间
2014-4-29
在线时间
299 小时
发表于 2016-5-26 14:41:13 | 显示全部楼层
xianshasaman 发表于 2016-5-26 14:34
所以你就在单片机上对时域的数据直接做卷积了?
且不说你代码写到对不对,这么干肯定没有好结果啊

啊,我看错啦,忽略我的话吧
回复

使用道具 举报

24

主题

66

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
358
金钱
358
注册时间
2015-11-4
在线时间
124 小时
 楼主| 发表于 2016-5-26 16:20:30 | 显示全部楼层
xianshasaman 发表于 2016-5-26 14:41
啊,我看错啦,忽略我的话吧

单片机可以直接处理时域的值吧 我不断地取点出来就可以啦,何况公式也是对每一个点来做卷积运算的
回复

使用道具 举报

24

主题

66

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
358
金钱
358
注册时间
2015-11-4
在线时间
124 小时
 楼主| 发表于 2016-5-26 16:20:43 | 显示全部楼层
adlu 发表于 2016-5-26 14:57
可以参考TI的DSPF_sp_iir( )函数实现方法,见附件P79-80。

好的  看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 09:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表