利用汉宁窗设计Ⅰ型数字高通滤波器

利用汉宁窗设计Ⅰ型数字高通滤波器

clear all;

Wp=0.6*pi;

Ws=0.4*pi;

tr_width=Wp-Ws;                         %过渡带宽度

N=ceil(6.2*pi/tr_width)                        %滤波器长度

n=0:1:N-1;

Wc=(Ws+Wp)/2;                         %理想低通滤波器的截止频率

hd=ideal_hp1(Wc,N);                      %理想低通滤波器的单位冲激响应

w_han=(hanning(N))’;                     %汉宁窗

h=hd.*w_han;                            %截取得到实际的单位脉冲响应

[db,mag,pha,w]=freqz_m2(h,[1]);              %计算实际滤波器的幅度响应

delta_w=2*pi/1000;

Ap=-(min(db(Wp/delta_w+1:1:501)))         %实际通带纹波

As=-round(max(db(1:1:Ws/delta_w+1)))         %实际阻带纹波

subplot(221)

stem(n,hd)

title(‘理想单位脉冲响应hd(n)’)

subplot(222)

stem(n,w_han)

title(‘汉宁窗w(n)’)

subplot(223)

stem(n,h)

title(‘实际单位脉冲响应hd(n)’)

subplot(224)

plot(w/pi,db)

title(‘幅度响应(dB)’)

axis([0,1,-100,10])

clear all;

Wp=0.6*pi;

Ws=0.4*pi;

tr_width=Wp-Ws;                         %过渡带宽度

N=ceil(6.2*pi/tr_width)                        %滤波器长度

n=0:1:N-1;

Wc=(Ws+Wp)/2;                         %理想低通滤波器的截止频率

hd=ideal_hp1(Wc,N);                      %理想低通滤波器的单位冲激响应

w_han=(hanning(N))’;                     %汉宁窗

h=hd.*w_han;                            %截取得到实际的单位脉冲响应

[db,mag,pha,w]=freqz_m2(h,[1]);              %计算实际滤波器的幅度响应

delta_w=2*pi/1000;

Ap=-(min(db(Wp/delta_w+1:1:501)))         %实际通带纹波

As=-round(max(db(1:1:Ws/delta_w+1)))         %实际阻带纹波

subplot(221)

stem(n,hd)

title(‘理想单位脉冲响应hd(n)’)

subplot(222)

stem(n,w_han)

title(‘汉宁窗w(n)’)

subplot(223)

stem(n,h)

title(‘实际单位脉冲响应hd(n)’)

subplot(224)

plot(w/pi,db)

title(‘幅度响应(dB)’)

axis([0,1,-100,10])

留下评论

You must be logged in to post a comment.