離散系について閉ルー​プ系の伝達関数を演算​すると,理論的な結果​と一致しない

8 ビュー (過去 30 日間)
keka
keka 2019 年 10 月 31 日
編集済み: keka 2019 年 10 月 31 日
スミス法によって離散系プラントのむだ時間を補償する制御系の,閉ループ伝達関数のbode線図を描く事を試みました。
しかし,対象のブロック図に基づいて開ループ系の伝達関数を演算し,それを用いて閉ループ系の伝達関数を導出した結果と,
スミス法の適用によって得られる,理論的な閉ループ系の伝達関数をコマンドウィンドウで出力させた結果が一致しません。
等価なはずの伝達関数が一致しない原因はなぜでしょうか。
ちなみに,プラントモデルには一切のモデル化誤差が無い場合を想定しています。
対象としている制御系のブロック図と,
コードを添付します。
Ts = 50*10^-6; %サンプリング周期
z = tf('z',Ts);
Kp = 10;
Ki = 0.1;
C = Kp+ (Ki*Ts)/(z-1); % PIコントローラ
G = z/(z-1); % プラント
T = 1/z; %むだ時間
P = G*(T-1);%スミス補償器
CP = C/(1-C*P); % PIコントローラ+スミス補償器
G_open = CP*G*T;%開ループ伝達関数
G_close = G_open/(1+G_open) %閉ループ伝達関数(G_openより導出)
G_close2 = (C*G*T)/(1+C*(G*T-P)) %閉ループ伝達関数(理論値)

回答 (0 件)

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!