声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1767|回复: 1

[综合讨论] 如何调用编好的FIR滤波器进行数据滤波

[复制链接]
发表于 2008-5-28 14:03 | 显示全部楼层 |阅读模式

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

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

x
本人对matlab接触不多,现在找了个FIR滤波器程序,想对数据进行滤波,但是不知道如何调用


指标为:ωp=0.2π Rp=0.25dB ωa=0.3π As=50dB的低通数字FIR滤波器
wp=0.2*pi;ws=0.3*pi;
tr_width=ws-wp;
M=ceil(6.6*pi/tr_width)+1;
N=[0:1:M-1];
wc=(ws+wp)/2;
hd=ideal_lp(wc,M);
w_ham=(boxcar(M))';
h=hd.*w_ham;
[db,mag,pha,grd,w]=freqz_m(h,[1]);
delta_w=2*pi/1000;
Rp=-(min(db(1:1:wp/delta_w+1)));
As=-round(max(db(ws/delta_w+1:1:501)));
Close all;
subplot(2,2,1);stem(hd);title('理想冲击响应')
axis([0 M-1 -0.1 0.3]);ylabel('hd[n]');
subplot(2,2,2);stem(w_ham);title('汉明窗');
axis([0 M-1 0 1.1]);ylabel('w[n]');
subplot(2,2,3);stem(h);title('实际冲击响应');
axis([0 M-1 -0.1 0.3]);ylabel('h[n]');
subplot(2,2,4);plot(w/pi,db); title('衰减幅度');
axis([0 1 -100 10]);ylabel('Decibles');
回复
分享到:

使用道具 举报

发表于 2008-5-28 18:16 | 显示全部楼层
从楼主给出的程序是求FIR滤波器的系数h,有了滤波器系数就能对数据进行滤波:
y=filter(h,1,x);
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-25 09:59 , Processed in 0.066293 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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