Main Content

covar

ホワイト ノイズによって励起されるシステムの出力および状態共分散

構文

P = covar(sys,W)
[P,Q] = covar(sys,W)

説明

関数 covar は、ホワイト ガウス ノイズ入力 w によって励起される LTI モデル sys の出力 y の定常共分散を計算します。この関数は、連続時間と離散時間の両方の場合を処理します。

P = covar(sys,W) は、定常状態出力応答共分散を返します

P=E(yyT)

その条件は、次のノイズ強度が与えられたときです。

E(w(t)w(τ)T)=Wδ(tτ)(continuous time)E(w[k]w[l]T)=Wδkl(discrete time)

[P,Q] = covar(sys,W) も、定常状態の状態共分散を返します

Q=E(xxT)

その条件は、sys が状態空間モデルであることです (それ以外の場合には、Q[] に設定されます)。

N 次 LTI 配列 sys に適用されると、関数 covar は多次元配列 P と Q を返します。

P(:,:,i1,...iN)Q(:,:,i1,...iN) は、モデル sys(:,:,i1,...iN) の共分散行列です。

次の離散 SISO システムの出力応答共分散を計算します。

H(z)=2z+1z2+0.2z+0.5,Ts=0.1

強度 W = 5 のホワイト ガウス ノイズを適用するためには、次のように入力します。

sys = tf([2 1],[1 0.2 0.5],0.1);
p = covar(sys,5)

このコマンドでは、以下の結果が出力されます。

p =
    30.3167

関数 covar のこの出力をシミュレーション結果と比較することができます。

randn('seed',0)
w = sqrt(5)*randn(1,1000);  % 1000 samples

% Simulate response to w with LSIM:
y = lsim(sys,w);

% Compute covariance of y values
psim = sum(y .* y)/length(w);

この結果、次のようになります。

psim = 
    32.6269

有限シミュレーション区間で比較しているので、2 つの共分散値 ppsim は、完全には一致しません。

アルゴリズム

伝達関数と零点-極-ゲイン モデルは、関数 ss を使用して最初に状態空間に変換されます。

連続時間状態空間モデルの場合、

x˙=Ax+Bwy=Cx+Dw,

定常状態共分散 Q は、リアプノフ方程式を解くことにより取得されます。

AQ+QAT+BWBT=0.

離散時間では、状態共分散 Q は離散リアプノフ方程式を解きます。

AQATQ+BWBT=0.

連続時間と離散時間の両方で、出力応答共分散は P = CQCT + DWDT によって与えられます。不安定システム P と Q は無限です。非ゼロの直達をもつ連続時間システムでは、covar によって出力共分散 P に対し Inf が返されます。

参考文献

[1] Bryson, A.E. and Y.C. Ho, Applied Optimal Control, Hemisphere Publishing, 1975, pp. 458-459.

バージョン履歴

R2006a より前に導入

参考

|