MATLABでボード線図を描くとき
bode(sys)
とすれば即座に得られるが、今回は別の方法で描画する。
ボード線図はゲイン線図と位相線図からなり、その定義は
\begin{align}
gain &: 20 \log_{10} |G(j\omega)| \\
angle &: \angle G(j \omega)
\end{align}
である。
結果
コード
j=sqrt(-1);
N=2;
omega=10^(-N):0.01:10^(N);
s=tf('s');
G=1/(s+1);
figure;
bode(G)
bodegain=zeros(size(omega));
bodeangle=zeros(size(omega));
for i=1:1:length(omega)
bodegain(1,i)=20*log10(norm(1/(j*omega(1,i)+1)));
bodeangle(1,i)=rad2deg(angle(1/(j*omega(1,i)+1)));
end
figure;
subplot(2,1,1)
semilogx(omega,bodegain)
grid on
subplot(2,1,2)
semilogx(omega,bodeangle)
ylim([-90 0])
yticks([-90 -45 0])
grid on
コメント