如何调用编好的FIR滤波器进行数据滤波
本人对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=;
wc=(ws+wp)/2;
hd=ideal_lp(wc,M);
w_ham=(boxcar(M))';
h=hd.*w_ham;
=freqz_m(h,);
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();ylabel('hd');
subplot(2,2,2);stem(w_ham);title('汉明窗');
axis();ylabel('w');
subplot(2,2,3);stem(h);title('实际冲击响应');
axis();ylabel('h');
subplot(2,2,4);plot(w/pi,db); title('衰减幅度');
axis();ylabel('Decibles'); 从楼主给出的程序是求FIR滤波器的系数h,有了滤波器系数就能对数据进行滤波:
y=filter(h,1,x);
页:
[1]