重み付け分散目標
目的
制御システム調整器で調整するための指定した出力信号に対するノイズの影響を制限する周波数重み付け。
説明
重み付け分散目標は周波数重み付け伝達関数 WL(s)H(s)WR(s) の出力に対するノイズの影響を制限します。ここで H(s) は指定する入力と出力の間の伝達関数です。WL(s) と WR(s) はノイズ スペクトルをモデル化する場合または特定の周波数帯域を強調する場合に使用できる重み付け関数です。したがって、重み付け分散目標を使用して、カラード ノイズや突風などの不均一なスペクトルをもつ確率的な入力に対するシステム応答を調整できます。
重み付け分散は周波数重み付け伝達関数の H2 ノルムを最小化することにより、入力のノイズに対する応答を最小化します。H2 ノルムは次を測定します。
インパルス応答のエネルギー総量 (伝達関数への入力が確定的な場合)。
単位分散ホワイト ノイズ入力に対する出力分散の平方根 (伝達関数への入力が確率的な場合)。同様に、H2 ノルムは、このような入力に対して出力の平方根平均二乗を測定します。
作成
制御システム調整器の [調整] タブで、[新規目標] 、 [周波数重み付け分散の抑制] を選択して重み付け分散目標を作成します。
コマンド ラインにおける同等の操作
コマンド ラインで制御システムを調整する場合、TuningGoal.WeightedVariance
を使用して重み付けゲイン目標を指定します。
I/O 伝達選択
ダイアログ ボックスのこのセクションを使用して、ノイズ入力の位置と応答出力を指定します。また、調整目標を評価するためにループを開く位置を指定します。
確率的入力の指定
モデル内の 1 つ以上の信号の位置をノイズ入力として選択します。SISO 応答を制約するには、単一値の入力信号を選択します。たとえば、
'u'
という名前の位置から'y'
という名前の位置にゲインを制約するには、 [信号をリストに追加] をクリックして'u'
を選択します。MIMO 応答のノイズ増幅を制約するには、複数の信号またはベクトル値の信号を選択します。確率的出力の指定
ノイズ入力への応答を計算するために、モデル内の信号の位置を出力として 1 つ以上選択します。SISO 応答を制約するには、単一値の出力信号を選択します。たとえば、
'u'
という名前の位置から'y'
という名前の位置にゲインを制約するには、 [信号をリストに追加] をクリックして'y'
を選択します。MIMO 応答のノイズ増幅を制約するには、複数の信号またはベクトル値の信号を選択します。次の開ループの出力分散の計算
この調整目標を評価するために、フィードバック ループを開くモデル内の信号の位置を 1 つ以上選択します。調整目標は、特定した位置でフィードバック ループを開くことにより作成される開ループの構成に対して評価されます。たとえば、
'x'
という名前の位置が開始点の調整目標を評価するには、 [信号をリストに追加] をクリックして、'x'
を選択します。
ヒント
Simulink® モデル内で選択された任意の信号を強調表示するには、 をクリックします。入力リストまたは出力リストから信号を削除するには、 をクリックします。複数の信号を選択した場合、 および を使用してそれらの信号を並べ替えることができます。調整目標のために信号の位置を指定する方法の詳細については、対話型調整の目標の指定を参照してください。
重み
[左の重み WL] と [右の重み WR] テキスト ボックスを使用して、調整目標の周波数重み付け関数を指定します。
WL は H(s) の出力チャネルの重みを提供し、WR は入力チャネルの重みを提供します。
スカラー値の重みまたは周波数依存の重みを指定できます。周波数依存の重みを指定するには、振幅が目標の重み付けを周波数の関数として表す数値 LTI モデルを使用します。たとえば、tf(1,[1 0.01])
と入力して 0.01 rad/s より上でロールオフする低周波数で高い重みを指定します。応答を不均一なノイズ分布に制限するには、振幅がノイズ スペクトルを表す LTI モデルを WR として入力します。
調整目標が MIMO 伝達関数を制約する場合、スカラーまたは SISO 重み付け関数は自動的に任意の入出力次元へと拡張されます。MIMO 重み付け関数を指定して、各チャネルに異なる重み付けを指定できます。次元 H(s) は WL と WR の次元に相当しなければなりません。たとえば、制約された伝達関数に 2 つの入力がある場合、diag([1 10])
を WR として指定できます。
離散時間で調整を行う場合、調整に使用するのと同じサンプリング時間をもつ離散時間モデルとして重み付け関数を指定できます。重み付け関数を連続時間で指定すると、調整ソフトウェアはこれを離散化します。重み付け関数を離散時間で指定すると、ナイキスト周波数付近で重み付け関数をより詳細に制御できます。
オプション
ダイアログ ボックスのこのセクションを使用して、重み付け分散目標の追加の特性を指定します。
目標を適用
たとえば、Simulink モデルを異なる操作点またはブロックパラメーター値で線形化することによって得られるモデルの配列などの複数のモデルを同時に調整している場合、このオプションを使用します。既定では、アクティブな調整目標がすべてのモデルに適用されます。調整要件を配列内の一部のモデルに適用するには、[モデルのみ] を選択します。次に目標を適用するモデルの配列インデックスを入力します。たとえば、モデル配列の中の 2 番目、3 番目、4 番目のモデルに調整目標を適用する必要があると仮定します。要件の適用を制限するには、[モデルのみ] テキスト ボックスに
2:4
と入力します。複数モデルの調整の詳細については、Robust Tuning Approaches (Robust Control Toolbox)を参照してください。
ヒント
この要件を使用して制御システムを調整するときに、制御システム調整器は、要件によって制約される伝達に対してゼロの直達 (D = 0) の適用を試みます。ゼロの直達は H2 ノルム、つまり調整目標 (アルゴリズムを参照) の値が非ゼロの直達をもつ連続時間システムで無限であることから適用されます。
制御システム調整器は、直達項に寄与するすべての調整可能なパラメーターをゼロに固定することによってゼロの直達を適用します。これらの調整可能なパラメーターの固定がゼロの直達の適用に不十分な場合、制御システム調整器はエラーを返します。このような場合、要件または制御構造を修正するか、システムの一部の調整可能なパラメーターを直達項を排除する値に手動で固定しなければなりません。
制約された伝達関数が調整可能なブロックを直列でいくつかもつ場合、直達全体に寄与するすべてのパラメーターをゼロに設定するというソフトウェアのアプローチが無難な可能性があります。この場合、いずれか 1 つのブロックの直達項をゼロに設定するだけで十分です。直達をゼロに固定するブロックを制御する場合、選択した調整ブロックの直達を手動で固定できます。
調整可能なブロックのパラメーターを指定した値に固定する方法については、制御システム調整器でのブロック パラメーター化の表示と変更を参照してください。
また、この調整目標は、指定されたループ開始点でループが開いた状態で評価される、指定された入力から出力への重み付き閉ループ伝達関数に暗黙的な安定性の制約を課します。この暗黙的な制約に影響を受けるダイナミクスは、この調整目標の "安定ダイナミクス" です。[最小 decay 率] と [最大固有振動数] の調整オプションは、これらの暗黙的に制約されるダイナミクスの下限と上限を制御します。最適化が既定の制限を満たしていない場合、または既定の制限が他の要件と競合している場合、[調整] タブで [調整オプション] を使用して既定の設定を変更します。
アルゴリズム
制御システムを調整するときに、各調整目標は正規化されたスカラー値 f(x) に変換されます。ここで x は、制御システムの自由 (調整可能な) パラメーターのベクトルです。その後、ソフトウェアはパラメーター値を調整して f(x) を最小化するか、調整目標が厳密な制約値の場合、f(x) が 1 より小さくなるようにします。
[重み付け分散目標] の場合、f(x) は次のようになります。
H(s,x) は指定した入力と出力の間の閉ループ伝達関数であり、パラメーター値 x で評価されます。 は H2 ノルムを表します (norm
を参照)。
離散時間制御システムを調整する場合、f(x) は次のようになります。
Ts は離散時間伝達関数 H(z,x) のサンプル時間です。