📄 bpfphase.m
字号:
clear;clc;
w0=1000;
Q=20;
w=800:5:1200;
n1=w./w0;
c1=1./(1+j.*Q.*(n1-1./n1));
c1_abs=abs(c1);c1_ph=angle(c1);
a=plot(w/1000,c1_abs,'k');
set(a,'linewidth',4,'color','r')
hold on;
for dw=0:25:50
n1=w./(w0-dw);
n2=w./(w0+dw);
c2=1./(1+j.*Q.*(n1-1./n1)).*1./(1+j.*Q.*(n2-1./n2)); %l滤波器传递函数
c2_abs=abs(c2); %得到滤波器的幅频
c2_ph=angle(c2)*180/pi; %和相频响应
m=max(c2_abs);
subplot(2,1,1)
if dw==25
a=plot(w/1000,c2_abs/m,'r');
set(a,'linewidth',3,'color','k');
else
plot(w/1000,c2_abs/m,'k--');
%set(aa,'linewidth',1,'color','k--');
end
n1=w./w0;
c1=1./(1+j.*Q.*(n1-1./n1));
c1_abs=abs(c1);c1_ph=angle(c1);
a=plot(w/1000,c1_abs,'k');
set(a,'linewidth',4,'color','r')
hold on;
hold on;grid minor;
title('Q=20','FontSize',22);
xlabel('ω/ω0','FontSize',25);
ylabel('U/Umax','FontSize',25);
xlim([0.8,1.2]);
% plot([1 1],ylim, 'r');
subplot(2,1,2)
if dw==25
z=plot(w/1000,c2_ph,'r');
set(z,'linewidth',3,'color','k')
else
plot(w/1000,c2_ph,'k--');
%set(zz,'linewidth',1,'color','k--')
end
hold on;grid minor;
%title('Q=20','FontSize',22);
xlabel('ω/ω0','FontSize',25);
% ylabel('Phase','FontSize',25);
ylabel('相位/^。','FontSize',25);
xlim([0.8,1.2]);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -