getPassiveIndex
線形システムの受動性インデックスの計算
構文
説明
getPassiveIndex
は、特定のシステムにおける受動性の超過または不足のさまざまな測定値を計算します。
すべての I/O 軌跡 (u(t),y(t)) が次を満たす場合、線形システム G(s) は "受動的" です。
すべての T > 0 について上記が成り立つとします。同様に、周波数応答が正の実数の場合、つまりすべての ω > 0 について次が成り立つ場合、システムは受動的です。
(または離散時間の等価物)。
は相対受動性インデックスを計算します。R
= getPassiveIndex(G
)R
が 1 より小さい場合、G
は受動的です。R
は受動性の相対的な超過 (R
< 1) または不足 (R
> 1) を測定します。
受動性インデックスの概念の詳細については、受動性および受動性インデックスについてを参照してください。
は入力受動性インデックスを計算します。nu
= getPassiveIndex(G
,'input')nu
> 0 の場合、システムは "入力で厳密に受動的" です。nu
は入力フィードフォワード受動性 (IFP) インデックスとも呼ばれます。nu
の値は、結果として得られるシステムが受動的になる最小フィードフォワード アクションです。
受動性インデックスの概念の詳細については、受動性および受動性インデックスについてを参照してください。
は出力受動性インデックスを計算します。rho
= getPassiveIndex(G
,'output')rho
> 0 の場合、システムは "出力で厳密に受動的" です。rho
は出力フィードバック受動性 (OFP) インデックスとも呼ばれます。rho
の値は、結果として得られるシステムが受動的になる最小フィードバック アクションです。
受動性インデックスの概念の詳細については、受動性および受動性インデックスについてを参照してください。
は組み合わされた I/O 受動性インデックスを計算します。tau
= getPassiveIndex(G
,'io')tau
> 0 の場合、システムは "非常に厳密に受動的" です。
受動性インデックスの概念の詳細については、受動性および受動性インデックスについてを参照してください。
例
入力引数
出力引数
制限
getPassiveIndex(G,'output')
は、次の状況が発生した場合に正しくない結果を返すことがあります。G^-1
が非プロパーであり、ゲインがs = Inf
またはz = Inf
で無限大である。G^-1
の極が虚軸 (G
が連続時間の場合) または単位円 (G
が離散時間の場合) にある。
この制限を回避するには、極と同じ数の零点をもち、安定した零点だけになるように、
G
に摂動を加えます。以下に例を示します。G = tf([1 0],[1 0.2 1]); [rho,freq] = getPassiveIndex(G,'output') % returns incorrect answer zpk(G+1e-4) % perturbed G is bi-proper and has stable zeros [rho,freq] = getPassiveIndex(G+1e-4,'output') % returns expected answer
参照
[1] Xia, M., P. Gahinet, N. Abroug, C. Buhr, and E. Laroche. “Sector Bounds in Stability Analysis and Control Design.” International Journal of Robust and Nonlinear Control 30, no. 18 (December 2020): 7857–82. https://doi.org/10.1002/rnc.5236.
バージョン履歴
R2016a で導入