声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2637|回复: 6

[综合讨论] MATLAB做低通滤波器,频率能低到什么程度?

[复制链接]
发表于 2007-6-6 21:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
想做低通滤波器,希望能滤掉频率大于1/60HZ的信号。今天用哈明窗做了一个滤波器,滤波之后看频谱,发现绿波不能达到预期的效果,请问这里的朋友,MATLAB做低通滤波器。频率能低到什么程度?谢谢!

[ 本帖最后由 eight 于 2007-6-7 14:41 编辑 ]

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2007-6-7 08:00 | 显示全部楼层
MATLAB仅是一种计算机语言,而做低通滤波器是信号处理方面的,应该和计算机语言无关,关键是怎么去处理信号。如果方便的话把程序和数据都贴上来,看看有什么问题。
说到频率能低到什么程度,在论坛上有人处理周期为几十年的信号,比1/60HZ要小得多。
 楼主| 发表于 2007-6-7 10:57 | 显示全部楼层
楼上好!
我刚学数字滤波,还有很多东西不懂。本次实验是从传感器中取得数字信号x[],采样率为30HZ。用MATLAB做滤波器(N=20;
b1=fir1(N,0.00056,hamming(N+1));),对x滤波。然后对滤波后的数据做频谱
xx=filter(b1,1,x);
hh=abs(fft(xx,2048));
magmag=20*log10(hh);
f=(0:length(magmag)-1)*30/1440   %1440对应着我共采样了1440个数据,不知道f等式我写的是不是正确????
figure(3)
plot(f,magmag)
grid

发现从频谱图上看,效果与改用(N=20; b1=fir1(N,0.06,hamming(N+1));)滤波器时的看上去差不多,可是两者在fir1()的第二个参数上差两个数量级呢。



请教这里的朋友们,谢谢!
发表于 2007-6-7 11:02 | 显示全部楼层
应该相应的把阶数N提高,过渡带是与N有关的
发表于 2007-6-7 14:26 | 显示全部楼层
版主说得对,应增加N,不知楼主取N=20是从哪儿来的。实际上用窗函数设计FIR滤波器对N有一个计算方法,在很多数字信号处理的书中都有,这里我介绍:陈怀琛  “数字信号处理教程--MATLAB释义与实现”  (电子工业出版社)一书,在笫7章中有较详细的介绍。

评分

1

查看全部评分

 楼主| 发表于 2007-6-7 14:57 | 显示全部楼层
多谢songzy41 !
我们现在做的东西本来对滤波没有要求。现在有点儿时间,就想给它加个数字滤波,数字滤波的东西也不太懂。目前想由MSP430完成计算,因为计算速度有限,阶数不能太高,所以我就自做主张,设计成20阶的了。:@L 惭愧,我该看看书了。
发表于 2007-6-7 15:03 | 显示全部楼层
半阶数少,用多级级联的想法是没错的

[ 本帖最后由 yangzj 于 2007-6-7 15:05 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-19 00:40 , Processed in 0.056057 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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