|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
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'); |
|