📄 call_dlp2bp.m
字号:
% 《数字信号处理教程——MATLAB释义与实现》第四章演示程序
% 电子工业出版社出版 陈怀琛编著 2004年9月
% 数字滤波器频带变换演示
% call_dlp2bp.m 数字低通滤波器到数字带通滤波器
%
function []=call_dlp2bp(h1,h2)
axes(h1);hold off;
plot([0,0],[-1.2,1.2],'linestyle','-.','color','g');hold on
plot([-1.2,1.2],[0,0],'linestyle','-.','color','g');axis([-1.2,1.2,-1.2,1.2]);
axes(h2);hold off;
plot([0,0],[-1.2,1.2],'linestyle','-.','color','g');hold on
plot([-1.2,1.2],[0,0],'linestyle','-.','color','g');axis([-1.2,1.2,-1.2,1.2]);
w0=0.2*pi; %低通滤波器的截止频率(指过渡滤波器,而非最终要设计的滤波器,它的截止频率在wc(dtransform.m中)设置
w=-pi:0.1:pi;%在这里可以更改其间隔,如果改成0:0.1:2*pi,则下面的判断要改成abs(w(i))<w0 | abs(w(i))>2*pi-w0
zlp=exp(j*w);
[zbp0,zbp1]=dtransform(w,'lp2bp');
mark1=1;mark2=1;
for j=1:2
for i=1:length(w)
%绘制低通滤波器
axes(h1);
if (j==2 & mark1==1)
mark1=0;
hold off;
plot([0,0],[-1.2,1.2],'linestyle','-.','color','g');hold on
plot([-1.2,1.2],[0,0],'linestyle','-.','color','g');axis([-1.2,1.2,-1.2,1.2]);
end
if (abs(w(i))<w0)
plot(zlp(i),'linestyle','o','color','r');axis([-1.2,1.2,-1.2,1.2]);axis('equal');hold on
else
plot(zlp(i),'linestyle','o','color','b');axis([-1.2,1.2,-1.2,1.2]);axis('equal');hold on
end
%绘制带通滤波器
axes(h2);
if (j==2)
if (abs(w(i))<w0)
plot(zbp0(i),'linestyle','o','color','r');axis([-1.2,1.2,-1.2,1.2]);axis('equal');hold on
else
plot(zbp0(i),'linestyle','o','color','b');axis([-1.2,1.2,-1.2,1.2]);axis('equal');hold on
end
else
if (abs(w(i))<w0)
plot(zbp1(i),'linestyle','o','color','r');axis([-1.2,1.2,-1.2,1.2]);axis('equal');hold on
else
plot(zbp1(i),'linestyle','o','color','b');axis([-1.2,1.2,-1.2,1.2]);axis('equal');hold on
end
end
pause(0.2);
end
pause(0.5);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -