clear all;
wb=0.317*pi;ws=0.272*pi;wa=0.136*pi;As=65;
tr_width=wb-ws; %ɴ
N=(ceil((As-7.95)*2*pi/(14.36*tr_width)+1))/2; %㿭ij
disp(['ijΪ',num2str(N)]); %MatlabʾNֵ
beta=0.1102*(As-8.7); %㿭λбֵϵ
n=[0:1:N-1];
disp(['λбΪ',num2str(beta)]); %Matlabʾλбֵ
w_kai=(kaiser(N,beta))'; %
hd_L=ideal_lp(wa,N); %庯,Lowpassúideal_lp
h_L=hd_L.*w_kai; %ʵӦ=Ӧ*
[db_L,mag,pha,grd,w]=freqz_m(h_L,[1]); %ƵӦĸdbΪӦwΪӦƵֵȱʾ
%ͼ
figure(4)
plot(w/pi,db_L);
hold on
hd_B=ideal_lp(wb,N)-ideal_lp(wa,N); %庯,Bandpass
h_B=hd_B.*w_kai;
[db_B,mag,pha,grd,w]=freqz_m(h_B,[1]);
plot(w/pi,db_B,'m');
hold on
wc_H=(wb+ws)/2;
hd_H=ideal_lp(pi,N)-ideal_lp(wc_H,N); %庯,Highpass
h_H=hd_H.*w_kai;
[db_H,mag,pha,grd,w]=freqz_m(h_H,[1]);
plot(w/pi,db_H,':r');
legend('lowpass','bandpass','highpass',1);
title('Ӧ/dB');
axis([0 1 -120 10]);xlabel('ԦΪλƵ');ylabel('ֱ/dB');