双一次変換を使った離散PID制御と連続PID制御の応答を確認する。双一次変換は連続時間の伝達関数に対して\(s\)を
\begin{align}
s=\frac{2(z-1)}{T(z+1)}
\end{align}
に置き換えればいい。\(T\)はサンプル時間。結果のグラフは青が連続、赤が離散。
以下コード。
clc
clear
close all
Ts=1;
s=tf("s");
z=tf("z",Ts);
delta=2*(z-1)/(Ts*(z+1));
Kp=0.5;
Ki=0.2;
Kd=0.1;
C=Kp+Ki/s+Kd*s;
dC=Kp+Ki/delta+Kd*delta;
P=1/(s+1);
dP=c2d(P,Ts,'tustin');
figure
step(C*P/(1+C*P))
hold on
step(dC*dP/(1+dC*dP))
grid on
コメント