このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
TuningGoal.Variance クラス
パッケージ: TuningGoal
制御システムの調整のためのノイズ増幅の制約
説明
TuningGoal.Variance
を使用して、指定した入力から出力へのノイズ増幅を制限する調整目標を指定します。ノイズ増幅は次のいずれかで定義されます。
単位分散のホワイト ノイズ入力に対する出力の分散の平方根
単位分散のホワイトノイズ入力に対する出力の平方根平均二乗
指定した入力から出力への伝達関数の H2 ノルム (インパルス応答のエネルギーの総量に等しい)
これらの定義は同じ量に対する異なる解釈です。TuningGoal.Variance
はこれらの量に同じ制限を加えます。
TuningGoal.Variance
は、systune
または looptune
などの調整コマンドで制御システムを調整する場合に使用できます。この調整目標を指定すると、ホワイトノイズ入力へのシステム応答を調整できます。一様でないスペクトル (カラード ノイズ) を含む確率的な入力については、代わりに TuningGoal.WeightedVariance
を使用します。
調整目標を作成した後、オブジェクトのプロパティを設定して、調整目標をさらに詳しく構成できます。
構築
は、Req
= TuningGoal.Variance(inputname
,outputname
,maxamp
)inputname
から outputname
への伝達関数のノイズ増幅をスカラー値 maxamp
に制限する調整目標を作成します。
離散時間の制御システムを調整する場合、この調整目標は、物理プラントとノイズ プロセスは連続であると仮定します。連続時間と離散時間の調整で一貫した結果が必ず得られるように、maxamp
は連続時間 H2 ノルムの制約として解釈されます。プラントのプロセスとノイズ プロセスが真に離散的であり、離散時間の H2 ノルムを値 maxamp
に制約する場合は、3 番目の入力引数を maxamp
/sqrt(Ts)
に設定します。Ts
は調整するモデルのサンプル時間です。
入力引数
|
調整目標の入力信号。文字ベクトル、または多入力調整目標の場合は文字ベクトルの cell 配列として指定します。
制御システム モデル内の解析ポイントの詳細については、制御システムの解析と設計における対象信号のマークを参照してください。 |
|
調整目標の出力信号。文字ベクトル、または多出力調整目標の場合は文字ベクトルの cell 配列として指定します。
制御システム モデル内の解析ポイントの詳細については、制御システムの解析と設計における対象信号のマークを参照してください。 |
|
離散時間の制御システムを調整する場合、この調整目標は物理プラントとノイズ プロセスが連続であると仮定し、 |
プロパティ
|
最大ノイズ増幅。正のスカラー値として指定します。このプロパティは、 |
|
入力信号のスケーリング。正の実数値のベクトルとして指定します。 単位の選択によって小さい信号と大きい信号が混在することになる場合、このプロパティを使用して、ベクトル値の入力信号内の各エントリの相対振幅を指定します。この情報は、調整目標を評価するときに、 T(s) が 既定値の 既定値: |
|
出力信号のスケーリング。正の実数値のベクトルとして指定します。 単位の選択によって小さい信号と大きい信号が混在することになる場合、このプロパティを使用して、ベクトル値の出力信号内の各エントリの相対振幅を指定します。この情報は、調整目標を評価するときに、 T(s) が 既定値の 既定値: |
|
入力信号名。調整目標によって制約される伝達関数の入力を識別する文字ベクトルの cell 配列として指定します。 |
|
出力信号名。調整目標によって制約される伝達関数の出力を識別する文字ベクトルの cell 配列として指定します。 |
|
調整目標を適用するモデル。インデックスのベクトルとして指定します。 制御システム モデルの配列を Req.Models = 2:4;
既定値: |
|
調整目標を評価するときに開くフィードバック ループ。ループ開始点の位置を特定する文字ベクトルの cell 配列として指定します。調整目標は、特定した位置でフィードバック ループを開くことにより作成される開ループの構成に対して評価されます。 調整目標を使用して制御システムの Simulink モデルを調整する場合、 調整目標を使用して制御システムの一般化状態空間 ( たとえば、 既定値: |
|
調整目標の名前。文字ベクトルとして指定します。 たとえば、 Req.Name = 'LoopReq'; 既定値: |
例
ヒント
この調整目標を使用して連続時間制御システムを調整すると、
systune
はゼロの直達 (D =0) を調整目標が制約する伝達に適用しようとします。ゼロの直達は H2 ノルム、つまり調整目標 (アルゴリズムを参照) の値が非ゼロの直達をもつ連続時間システムで無限であることから適用されます。systune
は直達項に寄与しているすべての調整可能なパラメーターをゼロに固定することによってゼロの直達を適用します。systune
はこれらの調整可能なパラメーターを固定するだけではゼロの直達を適用するのに不十分である場合、エラーを返します。このような場合、調整目標または制御構造を修正するか、システムの一部の調整可能なパラメーターを直達項を排除する値に手動で固定しなければなりません。制約された伝達関数が調整可能なブロックを直列でいくつかもつ場合、直達全体に寄与するすべてのパラメーターをゼロに設定するというソフトウェアのアプローチが無難な可能性があります。この場合、いずれか 1 つのブロックの直達項をゼロに設定するだけで十分です。直達をゼロに固定するブロックを制御する場合、選択した調整ブロックの直達を手動で固定できます。
調整可能なブロックのパラメーターを指定した値に固定するには、ブロックのパラメーター化で
Value
プロパティとFree
プロパティを使用します。たとえば、次のような調整された状態空間ブロックを検討します。C = tunableSS('C',1,2,3);
このブロックにゼロの直達を適用するには、このブロックの D 行列値をゼロに設定し、パラメーターを固定します。
C.D.Value = 0; C.D.Free = false;
パラメーター値の固定の詳細については、
tunableSS
などの制御設計ブロックのリファレンス ページを参照してください。この調整目標は、
Openings
で特定されたポイントでループが開いた状態で評価される、Input
からOutput
への閉ループ伝達関数に暗黙的な安定性の制約を課します。この暗黙的な制約に影響を受けるダイナミクスは、この調整目標の "安定ダイナミクス" です。systuneOptions
のMinDecay
およびMaxRadius
オプションは、これらの暗黙的に制約されたダイナミクスの範囲を制御します。最適化で既定の範囲が満たされない場合や、既定の範囲が他の要件と競合する場合は、systuneOptions
を使用してこれらの既定値を変更します。
アルゴリズム
TuningGoal
を使用して制御システムを調整するときに、調整目標は正規化されたスカラー値 f(x) に変換されます。ベクトル x は、制御システムの自由 (調整可能) パラメーターのベクトルです。その後、ソフトウェアはパラメーター値を調整して f(x) を最小化するか、調整目標が厳密な制約値の場合、f(x) が 1 より小さくなるようにします。
TuningGoal.Variance
の場合、f(x) は次のようになります。
T(s,x) は Input
から Output
への閉ループ伝達関数です。 は H2 ノルムを表します (norm
を参照)。
離散時間制御システムを調整する場合、f(x) は次のようになります。
Ts は離散時間伝達関数 T(z,x) のサンプル時間です。
バージョン履歴
R2016a で導入参考
looptune
| systune
| looptune (for slTuner)
(Simulink Control Design) | systune (for slTuner)
(Simulink Control Design) | slTuner
(Simulink Control Design) | viewGoal
| evalGoal
| norm
| TuningGoal.WeightedVariance