このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
TuningGoal.Gain クラス
パッケージ: TuningGoal
制御システムの調整のためのゲインの制約
説明
TuningGoal.Gain
オブジェクトを使用して、指定した入力から得たゲインを指定した出力に制限する制約を指定します。この調整目標は、制御システムを systune
や looptune
などの調整コマンドで調整するために使用します。
TuningGoal.Gain
を使用する場合、指定された入力から指定された出力へのゲインが指定された値を超えないように、システムの調整が試行されます。既定では、制約は閉じたループに対して適用されます。制約を開ループ応答に適用するには、TuningGoal.Gain
オブジェクトの Openings
プロパティを使用します。
ゲインの制約を使用して、以下を行うことができます。
特定の入出力の組み合わせ全体に対して外乱の抑制の設計要件を、ゲインを 1 未満に制約することで強制
特定の周波数帯域のカスタムのロールオフ率を、その帯域のゲイン プロファイルを指定することで強制
構築
は、Req
= TuningGoal.Gain(inputname
,outputname
,gainvalue
)inputname
から outputname
へのゲインを制約して、値 gainvalue
未満に維持する調整目標を作成します。
inputname
または outputname
を cell 配列 (ベクトル値の信号) として指定できます。そのように指定すると、調整目標は inputname
から outputname
への伝達行列の最大特異値を制約します。特異値の詳細については、sigma
を参照してください。
は、最大ゲインを周波数の関数として指定します。ターゲット ゲイン プロファイル (I/O の組み合わせ全体の最大ゲイン) を滑らかな伝達関数として指定します。あるいは、Req
= TuningGoal.Gain(inputname
,outputname
,gainprofile
)frd
モデルを使用して区分的な誤差プロファイルをスケッチできます。
入力引数
|
調整目標の入力信号。文字ベクトル、または多入力調整目標の場合は文字ベクトルの cell 配列として指定します。
制御システム モデル内の解析ポイントの詳細については、制御システムの解析と設計における対象信号のマークを参照してください。 |
|
調整目標の出力信号。文字ベクトル、または多出力調整目標の場合は文字ベクトルの cell 配列として指定します。
制御システム モデル内の解析ポイントの詳細については、制御システムの解析と設計における対象信号のマークを参照してください。 |
|
最大ゲイン (線形)。ゲインの制約
|
|
周波数の関数としてのゲイン プロファイル。ゲインの制約
離散時間で調整する場合 (つまり |
プロパティ
|
周波数の関数としての最大ゲイン。SISO
|
|
調整目標が適用される周波数帯域。
Req.Focus = [1,100]; 既定値: 連続時間の場合は |
|
閉ループ ダイナミクスに対する安定性要件。1 ( 既定では、 既定値: 1( |
|
入力信号のスケーリング。正の実数値のベクトルとして指定します。 単位の選択によって小さい信号と大きい信号が混在することになる場合、このプロパティを使用して、ベクトル値の入力信号内の各エントリの相対振幅を指定します。この情報は、調整目標を評価するときに、 T(s) が 既定値の 既定値: |
|
出力信号のスケーリング。正の実数値のベクトルとして指定します。 単位の選択によって小さい信号と大きい信号が混在することになる場合、このプロパティを使用して、ベクトル値の出力信号内の各エントリの相対振幅を指定します。この情報は、調整目標を評価するときに、 T(s) が 既定値の 既定値: |
|
入力信号名。調整目標によって制約される伝達関数の入力を識別する文字ベクトルの cell 配列として指定します。 |
|
出力信号名。調整目標によって制約される伝達関数の出力を識別する文字ベクトルの cell 配列として指定します。 |
|
調整目標を適用するモデル。インデックスのベクトルとして指定します。 制御システム モデルの配列を Req.Models = 2:4;
既定値: |
|
調整目標を評価するときに開くフィードバック ループ。ループ開始点の位置を特定する文字ベクトルの cell 配列として指定します。調整目標は、特定した位置でフィードバック ループを開くことにより作成される開ループの構成に対して評価されます。 調整目標を使用して制御システムの Simulink モデルを調整する場合、 調整目標を使用して制御システムの一般化状態空間 ( たとえば、 既定値: |
|
調整目標の名前。文字ベクトルとして指定します。 たとえば、 Req.Name = 'LoopReq'; 既定値: |
例
ヒント
この調整目標は、
Openings
で特定されたポイントでループが開いた状態で評価される、Input
からOutput
への閉ループ伝達関数に暗黙的な安定性の制約を課します。この暗黙的な制約に影響を受けるダイナミクスは、この調整目標の "安定ダイナミクス" です。systuneOptions
のMinDecay
およびMaxRadius
オプションは、これらの暗黙的に制約されたダイナミクスの範囲を制御します。最適化で既定の範囲が満たされない場合や、既定の範囲が他の要件と競合する場合は、systuneOptions
を使用してこれらの既定値を変更します。
アルゴリズム
TuningGoal
オブジェクトを使用して制御システムを調整する場合、ソフトウェアは調整目標を正規化されたスカラー値 f(x) に変換します。ここで x は、制御システムの自由 (調整可能) パラメーターのベクトルです。その後、ソフトウェアはパラメーター値を調整して f(x) を最小化するか、調整目標が厳密な制約値の場合、f(x) が 1 より小さくなるようにします。
TuningGoal.Gain
の場合、f(x) は次のようになります。
または、離散時間の調整の場合は離散時間の等価物になります。ここで、T(s,x) は Input
から Output
への閉ループ伝達関数です。Do および Di は、それぞれ OutputScaling
プロパティおよび InputScaling
プロパティの値を対角にもつ対角行列です。 は H∞ ノルムを表します (getPeakGain
を参照)。
周波数重み付け関数 WF は、指定する最大ゲイン プロファイルから導出された、正則化されたゲイン プロファイルです。WF および 1/MaxGain
のゲインは、周波数帯域 Focus
内でほぼ一致します。WF は常に安定かつプロパーです。s = 0 または s = Inf
に近い WF の極の場合、systune
の最適化問題の数値的な調整が難しくなることがあるため、周波数が極度に低い、あるいは極度に高いダイナミクスで最大ゲイン プロファイルを指定することは推奨されません。
WF を取得するには、以下を使用します。
WF = getWeight(Req,Ts)
ここで Req
は調整目標、Ts
は調整を行うサンプル時間です (連続時間の場合は Ts = 0
)。正則化とその効果の詳細については、調整目標の可視化を参照してください。
バージョン履歴
R2016a で導入参考
looptune
| viewGoal
| systune
| systune (for slTuner)
(Simulink Control Design) | looptune (for slTuner)
(Simulink Control Design) | TuningGoal.Tracking
| TuningGoal.LoopShape
| slTuner
(Simulink Control Design) | makeweight
(Robust Control Toolbox)