このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
TuningGoal.Rejection クラス
パッケージ: TuningGoal
制御システムの調整のための外乱の抑制の要件
説明
TuningGoal.Rejection
を使用して、制御システム内の指定した位置で加えられた外乱の最小 attenuation を指定します。この調整目標は、制御システムを systune
や looptune
などの調整コマンドで調整するために役立ちます。
TuningGoal.Rejection
を使用する場合、指定した位置における外乱の減衰が指定した最小 attenuation 係数を超えるように、システムの調整が試行されます。減衰係数は、外乱に対する開ループの感度と閉ループの感度の比率で、周波数の関数です。外乱の抑制は、制御帯域幅内でのみ実現できます。ループ ゲインは、減衰する外乱のゲインよりも大きくなければなりません (減衰係数 > 1)。
構築
は、Req
= TuningGoal.Rejection(distloc
,attfact
)distloc
に入る外乱を抑制する調整目標を作成します。この調整目標は、最小外乱減衰係数を周波数依存の値 attfact
に制約します。
入力引数
|
外乱の位置。文字ベクトル、または多入力調整目標の場合は文字ベクトルの cell 配列として指定します。
|
|
周波数の関数としての減衰係数。数値 LTI モデルとして指定します。
attfact = frd([100 100 1 1],[0 1 10 100]); Req = TuningGoal.Rejection('u',attfact); bodemag(attfact) ylim([-5,40])
離散時間で調整する場合 (つまり |
プロパティ
|
周波数の関数としての最小外乱抑制。SISO
|
|
調整目標が適用される周波数帯域。
Req.Focus = [1,100]; 既定値: 連続時間の場合は |
|
自動的にスケーリングするループ信号の切り替え。 マルチループまたは MIMO 外乱抑制調整目標の場合、フィードバック チャネルは自動的に再スケーリングされ、開ループ伝達関数の非対角項 (ループ相互作用の項) が均等化されます。このようなスケーリングを無効にし、スケーリングされていない開ループ応答を整形するには、 既定値: |
|
外乱の位置。調整する制御システム内の 1 つ以上の解析ポイントを特定する文字ベクトルの cell 配列として指定します。たとえば、
|
|
調整目標を適用するモデル。インデックスのベクトルとして指定します。 制御システム モデルの配列を Req.Models = 2:4;
既定値: |
|
調整目標を評価するときに開くフィードバック ループ。ループ開始点の位置を特定する文字ベクトルの cell 配列として指定します。調整目標は、特定した位置でフィードバック ループを開くことにより作成される開ループの構成に対して評価されます。 調整目標を使用して制御システムの Simulink モデルを調整する場合、 調整目標を使用して制御システムの一般化状態空間 ( たとえば、 既定値: |
|
調整目標の名前。文字ベクトルとして指定します。 たとえば、 Req.Name = 'LoopReq'; 既定値: |
例
周波数帯域内の一定の最小 attenuation
10 以上の係数の減衰を 0 ~ 5 rad/s の範囲に適用する調整目標を作成します。この調整目標は、'u'
で特定するポイントで制御システムに入る外乱に適用されます。
Req = TuningGoal.Rejection('u',10); Req.Name = 'Rejection spec'; Req.Focus = [0 5]
周波数依存の抑制プロファイル
1 rad/s 未満で 100 (40 dB) 以上の減衰係数が徐々に下がり、10 rad/s を超えると 1 (0 dB) になるようにする調整目標を作成します。この調整目標は、'u'
で特定するポイントで制御システムに入る外乱に適用されます。
attfact = frd([100 100 1 1],[0 1 10 100]);
Req = TuningGoal.Rejection('u',attfact);
これらのコマンドは frd
モデルを使用して、最小 attenuation プロファイルを周波数の関数として指定します。1 rad/s 未満で 100 の最小 attenuation と周波数 10 ~ 100 rad/s で 1 の最小 attenuation の両方によって、目的のロールオフが指定されます。
attfact
は、区分的に指定されたプロファイルを近似する周波数の滑らかな関数に変換されます。viewGoal を使用してゲイン プロファイルを表示します。
viewGoal(Req)
影付きの領域は、調整目標に違反する範囲を示しています。
ヒント
この調整目標は、
Location
で測定され、Openings
で特定されたポイントでループが開いた状態で評価される、閉ループ感度関数に暗黙的な安定制約を課します。この暗黙的な制約に影響を受けるダイナミクスは、この調整目標の "安定ダイナミクス" です。systuneOptions
のMinDecay
およびMaxRadius
オプションは、これらの暗黙的に制約されたダイナミクスの範囲を制御します。最適化で既定の範囲が満たされない場合や、既定の範囲が他の要件と競合する場合は、systuneOptions
を使用してこれらの既定値を変更します。
アルゴリズム
TuningGoal
を使用して制御システムを調整するときに、調整目標は正規化されたスカラー値 f(x) に変換されます。ここで x は、制御システムの自由 (調整可能) パラメーターのベクトルです。パラメーター値は、f(x) を最小化するか、調整目標が厳密な制約値の場合、f(x) が 1 より小さくなるように自動的に調整されます。
TuningGoal.Rejection
の場合、f(x) は次のようになります。
またはその離散時間の等価物です。ここで、S(jω,x) は外乱の位置で測定された閉ループ感度関数です。Ω は調整目標が適用される周波数範囲であり、Focus
プロパティで指定されます。WS は、指定された減衰プロファイルから導出された周波数重み付け関数です。WS と MinAttenuation
のゲインは、–20 dB から 60 dB の範囲のゲイン値に対してほぼ一致します。数値的な理由から、指定された減衰プロファイルの勾配がこの範囲の外で変化する場合を除き、重み付け関数はこの範囲の外では平坦になります。この調整は、"正則化" と呼ばれます。s = 0 または s = Inf
に近い WS の極の場合、systune
の最適化問題の数値的な調整が難しくなることがあるため、周波数が極度に低い、あるいは極度に高いダイナミクスで減衰プロファイルを指定することは推奨されません。
WS を取得するには、以下を使用します。
WS = 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)