声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5385|回复: 7

[滤波] 请教(FIR滤波器)fir1()参数设置问题

[复制链接]
发表于 2008-12-19 21:17 | 显示全部楼层 |阅读模式

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

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

x
我每次用fir1()函数,经常会出现相位变换的问题,有时还会出现幅值变小的问题。
这跟滤波器参数设置是不是有问题。
请问滤波器的阶数怎么设置。
很多书上说是根据实际要求来考虑,但在程序里,一般没考虑到 这个问题。
w1=20;
w2=150;
N=2048;
n=0:N-1;
fs=2048;
t=n/fs;
x = sin(2.0*pi*w1*t)+sin(2.0*pi*w2*t)+sin(2.0*pi*60*t)+sin(2.0*pi*80*t);
b=fir1(200,[50 100]/1024,'bandpass');
y=fftfilt(b,x,1024);
figure(1);%图1
plot(t,y);
z=sin(2.0*pi*60*t)+sin(2.0*pi*80*t);%滤波后的理论频谱
figure(2);图2
plot(t,z);
回复
分享到:

使用道具 举报

发表于 2008-12-20 10:11 | 显示全部楼层
任何滤波器在滤波以后都会有相位变化和初始部分幅值变小的问题,这是因为任何滤波器在输入信号的初始有一个从暂态到稳态的过渡过程。
 楼主| 发表于 2009-3-9 11:37 | 显示全部楼层
滤波器的阶数怎么设置。有什么经验公式没有,今天我用一个滤波器,由于采样频率太大(38400HZ),而滤波器截止频率太小,只有100多HZ,今本上没什么反映,大家有什么经验公式没,或者介绍一本书也行,讲滤波器的
发表于 2009-3-9 13:16 | 显示全部楼层
可参看陈怀琛的“数字信号处理教程:MATLAB释义与实现”,电子工业出版社。
发表于 2009-3-12 09:58 | 显示全部楼层

回复 板凳 xsy710 的帖子

buttord 模拟/数字滤波器最小阶次估计
[n,Wn]=buttord(Wp,Ws,Rp,Rs)
 楼主| 发表于 2009-3-16 23:40 | 显示全部楼层
关键是,我们在工程上的用的时候好像没有考虑到这些问题,我们只考虑滤波后的结果,比如我是带通滤波,我只考虑这一频率段,其余的我就没什么要求了(即滤波器的那些参数),这样到底对不对啊。大家设计滤波器的时候有没有考虑到这些问题啊,你们是不是有些其它的要求啊?
发表于 2009-3-17 06:50 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-18 13:34 编辑
原帖由 xsy710 于 2009-3-16 23:40 发表
关键是,我们在工程上的用的时候好像没有考虑到这些问题,我们只考虑滤波后的结果,比如我是带通滤波,我只考虑这一频率段,其余的我就没什么要求了(即滤波器的那些参数),这样到底对不对啊。大家设计滤波器的时候有没有考虑到这些问题啊,你们是不是有些其它的要求啊?

在工程上是有可能这样考虑,但也不能说只考虑通带,其它不考虑了,至少要考虑阻带衰减多少,例如衰减20db,40db,...,有一个基本的要求,否则阻带衰减很小,起不到滤波的作用了。在这种情况下,没有过渡带的参数就很难计算滤波器的阶数,只能设定一个阶数,例如N=40,b=fir1(N,Wn),通过freqz观看频响是否满足要求,或修改阶数再计算。
发表于 2009-5-8 20:12 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-18 13:35 编辑
原帖由 songzy41 于 2009-3-17 06:50 发表

在工程上是有可能这样考虑,但也不能说只考虑通带,其它不考虑了,至少要考虑阻带衰减多少,例如衰减20db,40db,...,有一个基本的要求,否则阻带衰减很小,起不到滤波的作用了。在这种情况下,没有过渡带的参数就 ...

若是考虑过渡带的话,那么fir1就不适合应用了?那么应该用freqz或者其他的(请举例)吗?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-16 22:27 , Processed in 0.070289 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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