Control System Toolbox関数リファレンス | ![]() ![]() |
表示
[Gm,Pm,Wcg,Wcp] = margin(sys) [Gm,Pm,Wcg,Wcp] = margin(mag,phase,w) margin(sys)
詳細
margin
は、SISO開ループモデルのゲイン余裕、位相余裕とクロスオーバ周波数を計算します。ゲイン余裕および位相余裕は、ループが閉じられるとき、制御システムの相対的安定性を示します。margin
は、左辺の引数を設定しないと、Bode線図を作成し、その線図上にゲイン余裕、位相余裕を表示します。
ゲイン余裕は、位相角が-180°である周波数で、ループゲインを1.0とするのに必要なゲイン増加量です。つまり、-180°位相周波数でのゲインを とすると、ゲイン余裕は
です。同様に、位相余裕は、ループゲインが1.0の場合、応答の位相と-180°との間の差です。大きさが1.0をもつ周波数は、単位ゲイン周波数またはクロスオーバ周波数と呼ばれます。30度と 60度との間の位相余裕を組み合わせた 3つ以上のゲイン余裕は、帯域幅と安定性との間の妥当なトレードオフとなることが一般的にわかっています。
[Gm,Pm,Wcg,Wcp] = margin(sys)
は、SISO開ループモデルsys
が与えられた場合、ゲイン余裕Gm
、位相余裕Pm
、対応するクロスオーバ周波数Wcg
とWcp
を計算します。この関数は、連続系、離散系いずれのケースも扱います。いくつかのクロスオーバ周波数を検出する場合、margin
は最小のゲイン余裕と位相余裕を出力します。
[Gm,Pm,Wcg,Wcp] = margin(mag,phase,w)
は、Bode周波数応答データ(大きさ、位相、および周波数ベクトル)からゲイン余裕と位相余裕を導きます。余裕値を推定するために周波数点間で補間を行います。この方法は、一般に精度が落ちます。
margin(sys)
は、垂直線でマークされたゲイン余裕と位相余裕をもつ開ループBode応答をプロットします。
例題
hd = tf([0.04798 0.0464],[1 -1.81 0.9048],0.1)
のゲイン余裕と位相余裕を計算します。MATLABは、つぎの出力を行います。
Transfer function: 0.04798 z + 0.0464 --------------------- z^2 - 1.81 z + 0.9048 Sampling time: 0.1
[Gm,Pm,Wcg,Wcp] = margin(hd); [Gm,Pm,Wcg,Wcp]
ans = 2.0517 13.5712 5.4374 4.3544
また、これらの余裕をグラフィックスで表示することもできます。
margin(hd)
![]()
アルゴリズム
位相余裕は、 理論を使って計算し、ゲイン余裕は、周波数
に対して
を解くことで得られます。
参考
bode
Bode周波数応答
ltiview
LTIシステムビューワの起動
![]() | lyap | minreal | ![]() |