利用海明窗设计Ⅱ型数字低通滤波器

利用海明窗设计Ⅱ型数字低通滤波器

clear all;

Wp=0.2*pi;

Ws=0.4*pi;

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

N=ceil(6.6*pi/tr_width)+1                    %滤波器长度

n=0:1:N-1;

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

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

w_ham=(hamming(N))’;                    %海明窗

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

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

delta_w=2*pi/1000;

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

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

subplot(221)

stem(n,hd)

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

subplot(222)

stem(n,w_ham)

title(‘海明窗w(n)’)

subplot(223)

stem(n,h)

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

subplot(224)

plot(w/pi,db)

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

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

%——————————————————–

function[db,mag,pha,w]=freqz_m2(b,a)

%滤波器的幅值响应(相对、绝对)、相位响应

%db:相对幅值响应

%mag:绝对幅值响应

%pha: 相位响应

%w 采样频率;

%b 系统函数H(z)的分子项(对FIR,b=h)

%a 系统函数H(z)的分母项(对FIR,a=1)

[H,w]=freqz(b,a,1000,’whole’);

H=(H(1:1:501))’;

w=(w(1:1:501))’;

mag=abs(H);                                 %绝对幅值响应

db=20*log10((mag+eps)/max(mag));              %相对幅值响应

pha=angle(H);                                %相位响应

留下评论

You must be logged in to post a comment.