📄 ht3.m
字号:
function ht3(h_axes1,N,mm,b1,Ws,Wp,Wph,Wsh,c,d)
N=floor(N);
%delta_w=2*pi/1000;
%Ap=-(min(db(Wp*pi/delta_w+1:1:501)));
%syms c;
if mm==1
n=[0:1:N-1];
wc=((Ws+Wp)/2)*pi;
Wcl=wc;
Wch=((Wph+Wsh)/2)*pi;
if b1==1
if d==1
hd=ideal_lp1(wc,N);
elseif d==2
hd=ideal_lp2(wc,N);
end
elseif b1==2
if d==1
hd=ideal_hp1(wc,N);
else d==2
hd=ideal_hp2(wc,N);
end
elseif b1==3
if d==1
hd=ideal_bp1(Wcl,Wch,N);
elseif d==2
hd=ideal_bp2(Wcl,Wch,N);
end
elseif b1==4
hd=ideal_bs(Wcl,Wch,N);
end
h=(bartlett(N))';
h=hd.*h;
[dp,mag,pha,grd,w]=freqz_m(h,[1]);
%h=abs(h);
elseif mm==2
n=[0:1:N-1];
wc=((Ws+Wp)/2)*pi;
Wcl=wc;
Wch=((Wph+Wsh)/2)*pi;
if b1==1
if d==1
hd=ideal_lp1(wc,N);
elseif d==2
hd=ideal_lp2(wc,N);
end
elseif b1==2
if d==1
hd=ideal_hp1(wc,N);
else d==2
hd=ideal_hp2(wc,N);
end
elseif b1==3
if d==1
hd=ideal_bp1(Wcl,Wch,N);
elseif d==2
hd=ideal_bp2(Wcl,Wch,N);
end
elseif b1==4
hd=ideal_bs(Wcl,Wch,N);
end
h=(blackman(N))';
h=hd.*h;
[dp,mag,pha,grd,w]=freqz_m(h,[1]);
%h=abs(h);
elseif mm==3
n=[0:1:N-1];
wc=((Ws+Wp)/2)*pi;
Wcl=wc;
Wch=((Wph+Wsh)/2)*pi;
if b1==1
if d==1
hd=ideal_lp1(wc,N);
elseif d==2
hd=ideal_lp2(wc,N);
end
elseif b1==2
if d==1
hd=ideal_hp1(wc,N);
else d==2
hd=ideal_hp2(wc,N);
end
elseif b1==3
if d==1
hd=ideal_bp1(Wcl,Wch,N);
elseif d==2
hd=ideal_bp2(Wcl,Wch,N);
end
elseif b1==4
hd=ideal_bs(Wcl,Wch,N);
end
h=(hamming(N))';
h=hd.*h;
[dp,mag,pha,grd,w]=freqz_m(h,[1]);
%h=abs(h);
elseif mm==4
n=[0:1:N-1];
wc=((Ws+Wp)/2)*pi;
Wcl=wc;
Wch=((Wph+Wsh)/2)*pi;
if b1==1
if d==1
hd=ideal_lp1(wc,N);
elseif d==2
hd=ideal_lp2(wc,N);
end
elseif b1==2
if d==1
hd=ideal_hp1(wc,N);
else d==2
hd=ideal_hp2(wc,N);
end
elseif b1==3
if d==1
hd=ideal_bp1(Wcl,Wch,N);
elseif d==2
hd=ideal_bp2(Wcl,Wch,N);
end
elseif b1==4
hd=ideal_bs(Wcl,Wch,N);
end
h=(hanning(N))';
h=hd.*h;
[dp,mag,pha,grd,w]=freqz_m(h,[1]);
%h=abs(h);
end
axes(h_axes1);
cla;
if c==1
plot(w/pi,dp,'b');
axis([0,1,-200,10]);
grid on;
% set(h_axes1,'Color',[1 1 1]);
title(' Window Magnitude Response');
xlabel('Normalized Frequency(*pi rad/sample)');
ylabel('Magnitude(dB)');
elseif c==2
axes(h_axes1);
cla;
plot(w/pi,pha/pi,'b');
grid on;
title(' Window phase Response');
xlabel('Frequency(*pi rad/sample)');
ylabel('phase(pi)');
elseif c==3
axes(h_axes1);
cla;
stem(n,h);
grid on;
title('Impulse Response');
xlabel('Time');
ylabel('Amplitude');
%elseif c==4
%axes(h_axes1);
%cla;
%stepz(h);
%grid on;
%title('Step Response');
%xlabel('Time');
%ylabel('Amplitude');
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -