Main Content

LQG レギュレーターの設計

LQG 設計の例として、次の制御問題について考えます。

目標は、プラント出力 y をゼロ近傍で調節することです。入力外乱 d は、10 rad/s 未満に集中したパワー スペクトル密度 (PSD) を含む低周波です。次の図に示すように、LQG 設計用に、カットオフ 10 rad/s のローパス フィルターがホワイト ノイズで励起されるとしてモデル化されています。

設計を簡単にするために、このノイズは分散が 1 のガウスのホワイト ノイズとしてモデル化されています。

次の図は、整形フィルターのボード振幅を示します。

ローパス フィルターのボード振幅

次の式で与えられる強度を含む測定ノイズ n が存在します。

E(n2)=0.01

以下のコスト関数を使用して、

J(u)=0(10y2+u2)dt

レギュレーションの性能と制御のコストのトレードオフを指定します。次の方程式は、開ループの状態空間モデルを表します。

x˙=Ax+Bu+Bd(stateequations)y=Cx+n(measurements)

ここで、(A、B、C) は 100/(s2+s+100) の状態空間実現です。

次のコマンドは、この問題に対するオプションの LQG レギュレーター F(s) を設計します。

sys = ss(tf(100,[1 1 100])) % State-space plant model

% Design LQ-optimal gain K
K = lqry(sys,10,1)	 % u = -Kx minimizes J(u)

% Separate control input u and disturbance input d
P = sys(:,[1 1]);
% input [u;d], output y

% Design Kalman state estimator Kest.
Kest = kalman(P,1,0.01)

% Form LQG regulator = LQ gain + Kalman filter.
F = lqgreg(Kest,K)

これらのコマンドは、LQG レギュレーター F(s) の状態空間モデル F を出力します。関数 lqrykalmanlqgreg を離散プラントに適用した場合は、離散時間 LQG が設計されます。

設計を検証するために、関数 feedback でループを閉じて、閉ループ システムでローパス フィルターを作成して追加し、関数 impulse を使用して、開ループと閉ループのインパルス応答を比較します。

% Close loop
clsys = feedback(sys,F,+1)
% Note positive feedback.

% Create the lowpass filter and add it in series with clsys.
s = tf('s');
lpf= 10/(s+10) ;
clsys_fin = lpf*clsys;

% Open- vs. closed-loop impulse responses
impulse(sys,'r--',clsys_fin,'b-')

これらのコマンドでは、この例の開ループと閉ループのインパルス応答を比較する次の図が生成されます。

開ループと閉ループのインパルス応答の比較

参考

|

関連するトピック