采用窗函数法设计一个数字FIR低通滤波器

来源:百度知道 编辑:UC知道 时间:2024/06/05 01:53:16
采用窗函数法设计一个数字FIR低通滤波器,其技术指标为:wp=0.2pi,ws=0.3pi,rp0.25db,as=50db
,并画出其频率响应图。

结合衰减和过度带,可选择哈明窗。尽管在设计中,没有使用通带波动值Rp,但必须检查设计的实际波动,验证它是否确实在给定容限内。对应的MATLAB程序为:
wp= 0.2* pi; ws = 0.3 *pi;
tr_width = ws –wp; %确定过度带宽
M = ceil (6.6* pi /tr_width) +1 ;% 确定滤波器阶数 ,ceil是向上取整函数
n = [0: 1: M-1];
wc = (ws +wp ) /2; %理想低通的截止频率
hd = ideal _lp (wc, M);
w_ham = (hamming (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 ))) ;% 最小阻带衰减

%画图 (见图1-5-1)
subplot (2,2,1); stem(n, hd ); title (‘理想冲激响应’);
axis ([0 ,M-1, -0.1 , 0.3]); xlabel (‘n’); ylabel (‘hd(n)’ );
subplot (2,2,2); stem(n, w_ham ); title (‘哈明窗’);
axis ([0 ,M-1, 0 , 1.1]); xlabel (‘n’); ylabel (‘w(n)’ );
subplot (2,2,3); stem(n, h ); title (‘实际冲激响应’);
axis ([0 ,M-1, -0.1 , 0.3]); xlabel (‘n’); ylabel (‘h(n)’ );
subplot (2,2,4); plot (w/pi, db ); title (‘幅度响应(单位:dB)’); grid
axis ([0 ,1, -