Main Content

margin

이득 여유, 위상 여유 및 교차 주파수

설명

여유 플롯

예제

margin(sys)는 화면에 sys의 보드 응답을 플로팅하고 플롯에 이득 여유와 위상 여유를 표시합니다. 이득 여유는 플롯에 dB 단위로 표현됩니다.

세로 실선은 이득 여유와 위상 여유를 나타냅니다. 세로 파선은 위상 여유가 측정되는 주파수인 Wcp의 위치와 이득 여유가 측정되는 주파수인 Wcg의 위치를 나타냅니다. 플롯 제목에는 이득 여유와 위상 여유의 크기와 위치가 포함됩니다.

시스템의 GmPm은 다음 그림에서 볼 수 있듯이 sys에 음의 단위 피드백을 적용하여 형성되는 폐루프 시스템의 상대 안정성을 나타냅니다.

Gm은 위상각이 –180°(모듈로 360°)인 주파수 Wcg에서 루프 이득을 단위 값으로 만드는 데 필요한 이득 변동의 양입니다. 즉, g가 –180° 위상 주파수에서의 이득인 경우 이득 여유는 1/g입니다. 마찬가지로, 위상 여유는 루프 이득이 1.0일 때 응답의 위상과 –180° 사이의 차입니다. 크기가 1.0일 때의 주파수 Wcp단위 이득 주파수 또는 이득 교차 주파수라고 합니다. sys에 교차가 두 개 이상 있는 경우, margin은 0dB에 가장 가까운 이득 여유와 0°에 가장 가까운 위상 여유를 가진 주파수를 나타냅니다.

일반적으로, 셋 이상의 이득 여유가 30°와 60° 사이의 위상 여유와 결합되면 대역폭과 안정성 사이의 합리적인 상호 절충이 이루어집니다. 하지만 일부 다변수 시스템에서는 다른 주파수에서 이득과 위상 변동이 너무 작은 경우 안정성이 손실될 수 있습니다. 이러한 시스템에서는 원판 여유라는 개념을 통해 실제 이득 여유와 위상 여유에 대한 보다 안정적인 추정값을 얻을 수 있습니다. 원판 여유에 대한 자세한 내용은 diskmargin (Robust Control Toolbox) 항목을 참조하십시오.

margin(sys,w)는 주파수 w(단위: rad/TimeUnit)로 구성된 벡터를 사용해 sys의 보드 응답을 플로팅합니다. sparss 또는 mechss 모델 객체 같은 희소 모델을 사용하는 경우 이 구문을 사용하십시오.

여유 값

예제

[Gm,Pm,Wcg,Wcp] = margin(sys)sys의 이득 여유 Gm(절대 단위), 위상 여유 Pm, 대응하는 주파수 WcgWcp를 반환합니다. Wcg는 이득 여유가 측정되는 주파수, 즉 –180° 위상 교차 주파수입니다. Wcp는 위상 여유가 측정되는 주파수, 즉 0dB 이득 교차 주파수입니다. 이들 주파수는 radians/TimeUnit으로 표현됩니다. 여기서 TimeUnitsysTimeUnit 속성에 지정된 단위입니다. sys에 교차가 여러 개 있는 경우 margin은 가장 작은 이득 여유 및 위상 여유와 그에 대응하는 주파수를 반환합니다.

margin은 시스템이 내부적으로 안정적이지 않은 경우, 즉 시스템이 폐루프에서 안정적이지 않거나 열린 좌반면 외부에 극점 영점 상쇄가 포함된 경우 경고를 반환합니다.

예제

[Gm,Pm] = margin(sys,J1,...,JN)은 첨자 (J1,...,JN)을 포함하는 모델 배열 sys에 있는 요소의 이득 여유 Gm과 위상 여유 Pm을 반환합니다.

예제

[Gm,Pm,Wcg,Wcp] = margin(sys,Focus=[fmin,fmax])는 주파수 범위 [fmin,fmax]의 이득 여유와 위상 여유를 계산합니다(이때 이 범위 밖에 있는 안정성 문제는 무시함). 예를 들어 안정성 여유 계산을 위해 매우 낮은 주파수 동특성을 무시하려면 이 구문을 사용하십시오. (R2024a 이후)

예제

[Gm,Pm,Wcg,Wcp] = margin(mag,phase,w)는 주파수 응답 데이터에서 이득 여유 및 위상 여유를 도출합니다. 이득 데이터 mag는 절대 단위로, 위상 데이터 phase는 도 단위로 제공합니다. 주파수 벡터 w는 임의의 단위로 제공할 수 있습니다. marginWcgWcp를 동일한 단위로 반환합니다.

예제

모두 축소

이 예제에서는 연속 전달 함수를 만듭니다.

sys = tf(1,[1 2 1 0])
sys =
 
         1
  ---------------
  s^3 + 2 s^2 + s
 
Continuous-time transfer function.

시각적으로 이득과 위상 여유를 표시합니다.

margin(sys)

제목에 표시된 이득 여유(6.02dB)와 위상 여유(21.4도)는 세로 실선으로 표시되어 있습니다. 세로 파선은 이득 여유가 측정되는 주파수인 Wcg의 위치와 위상 여유가 측정되는 주파수인 Wcp의 위치를 나타냅니다.

이 예제에서는 이산시간 전달 함수를 만듭니다.

sys = tf([0.04798 0.0464],[1 -1.81 0.9048],0.1)
sys =
 
   0.04798 z + 0.0464
  ---------------------
  z^2 - 1.81 z + 0.9048
 
Sample time: 0.1 seconds
Discrete-time transfer function.

이득 여유, 위상 여유 및 주파수를 계산합니다.

[Gm,Pm,Wcg,Wcp] = margin(sys)
Gm = 2.0519
Pm = 13.5711
Wcg = 5.4376
Wcp = 4.3544

결과는 위상 교차 주파수 5.43 rad/s에서 2.05(6.24dB)를 넘는 이득 변동으로 인해 시스템이 불안정해질 수 있음을 나타냅니다. 마찬가지로, 이득 교차 주파수 4.35 rad/s에서 13.57도가 넘는 위상 변동은 시스템의 안정성 상실을 초래합니다.

R2024a 이후

일부 응용 분야에서는 특정 주파수 범위 밖에 있는 동특성을 무시하고 해당 범위 내의 안정성 여유를 계산해야 할 수 있습니다. 예를 들어 상대적으로 낮은 주파수와 상대적으로 높은 주파수 모두에서 동특성을 가진 다음과 같은 시스템이 있다고 가정하겠습니다.

sys = tf(5,[1 1 10]) + tf(5e3,[1 20 1e4]);
damp(sys)
                                                                       
         Pole              Damping       Frequency      Time Constant  
                                       (rad/seconds)      (seconds)    
                                                                       
 -5.00e-01 + 3.12e+00i     1.58e-01       3.16e+00         2.00e+00    
 -5.00e-01 - 3.12e+00i     1.58e-01       3.16e+00         2.00e+00    
 -1.00e+01 + 9.95e+01i     1.00e-01       1.00e+02         1.00e-01    
 -1.00e+01 - 9.95e+01i     1.00e-01       1.00e+02         1.00e-01    

낮은 주파수에서 섭동에 대한 폐루프 시스템 CL = feedback(sys,1)의 안정성은 더 높은 주파수에서의 안정성과 다를 수 있습니다. 차이를 확인하려면 Focus 옵션을 사용하십시오. 먼저, 10rad/s 미만의 여유를 검토합니다.

[GmL,PmL,WcgL,WcpL] = margin(sys,Focus=[0 10])
GmL = Inf
PmL = 80.9920
WcgL = NaN
WcpL = 3.5137

약 10rad/s의 여유를 검토합니다.

[GmH,PmH,WcgH,WcpH] = margin(sys,Focus=[10 Inf])
GmH = Inf
PmH = 28.6437
WcgH = Inf
WcpH = 119.9618

이 예제에서는 w의 주파수에서 측정한 크기(m) 및 위상 값(p)으로 구성된 개루프 시스템의 주파수 응답 데이터를 불러옵니다.

load('openLoopFRD.mat','p','m','w');

이득 여유 및 위상 여유를 계산합니다.

[Gm,Pm,Wcg,Wcp] = margin(m,p,w)
Gm = 0.6249
Pm = 48.9853
Wcg = 1.2732
Wcp = 1.5197

이 예제에서는 역진자 모델로 구성된 3×3 배열을 포함하는 invertedPendulumArray.mat를 불러옵니다. sys에서 한 열을 따라 모델을 변경하면 진자의 질량이 달라지고 한 행을 따라 모델을 변경하면 진자의 길이가 달라집니다. 사용된 질량 값은 100g, 200g, 300g이고 사용된 진자 길이는 3m, 2m, 1m입니다.

Column1Column2Column3Row1100g,3m100g,2m100g,1mRow2200g,3m200g,2m200g,1mRow3300g,3m300g,2m300g,1m

load('invertedPendulumArray.mat','sys');
size(sys)
3x3 array of transfer functions.
Each model has 1 outputs and 1 inputs.

배열에 있는 모든 모델에 대해 이득 여유와 위상 여유를 구합니다.

[Gm,Pm] = margin(sys)
Gm = 3×3

    0.9800    0.9800    0.9800
    0.9800    0.9800    0.9800
    0.9800    0.9800    0.9800

Pm = 3×3

  -11.3798  -11.4118  -11.4433
  -11.4059  -11.4296  -11.4532
  -11.4228  -11.4410  -11.4592

margin은 2개의 배열 GmPm을 반환합니다. 배열의 각 요소는 sys의 대응되는 요소의 이득 여유 값과 위상 여유 값입니다. 예를 들어, 진자 무게가 100g이고 길이가 2m인 모델의 이득 여유와 위상 여유는 각각 Gm(1,2)Pm(1,2)입니다.

입력 인수

모두 축소

동적 시스템으로, SISO 동적 시스템 모델 또는 SISO 동적 시스템 모델로 구성된 배열로 지정됩니다. 사용 가능한 동적 시스템에는 tf, zpk, ss, sparss 또는 mechss 모델과 같은 연속시간 또는 이산시간 수치적 LTI 모델이 포함됩니다.

sys가 일반화된 상태공간 모델 genss 또는 불확실 상태공간 모델 uss인 경우 marginsys의 현재 값 또는 공칭 값의 이득 여유와 위상 여유를 반환합니다. sys가 모델로 구성된 배열인 경우 marginsys에서 아래 첨자 J1,...,JN에 대응하는 모델의 GmPm을 반환합니다. 모델 배열에 대한 자세한 내용은 모델 배열 항목을 참조하십시오.

배열에서 그 이득 여유 및 위상 여유를 추출하려는 모델의 인덱스로, 양의 정수로 지정됩니다. sys의 배열 차원 개수만큼 인덱스를 제공할 수 있습니다. 예를 들어, sys가 동적 시스템 모델로 구성된 4×5 배열인 경우 다음 명령은 배열의 요소 (2,3)에 대한 GmPm을 추출합니다.

[Gm,Pm] = margin(sys,2,3);

R2024a 이후

안정성 분석에서 고려할 주파수 범위로, 해당 범위의 하한과 상한을 포함한 요소를 2개 가진 벡터로 지정됩니다. 여유 계산 시 이 범위 밖의 동특성은 무시됩니다. 주파수는 rad/TimeUnit 단위로 지정합니다. 여기서 TimeUnit은 입력 동적 시스템의 TimeUnit 속성입니다.

예: [1e-3,1e6]

시스템 응답의 크기(절대 단위)로, 3차원 배열로 지정됩니다. margin은 SISO 시스템만 받으므로 mag는 1×1×N 배열입니다. 여기서 N은 주파수 점의 개수입니다. 예제는 크기 및 위상 데이터 구하기 항목을 참조하십시오.

시스템 응답의 위상(단위: 도)으로, 3차원 배열로 지정됩니다. margin은 SISO 시스템만 받으므로 phase는 1×1×N 배열입니다. 여기서 N은 주파수 점의 개수입니다. 예제는 크기 및 위상 데이터 구하기 항목을 참조하십시오.

시스템 응답의 크기 값과 위상 값을 구할 주파수 위치로, 열 벡터로 지정됩니다.

출력 인수

모두 축소

이득 여유로, 스칼라 또는 배열로 반환됩니다. sys

  • 단일 모델인 경우, Gm은 스칼라로 반환됩니다.

  • 모델 배열인 경우, Gmsys의 각 모델의 이득 여유로 구성된 배열입니다.

Gm은 위상각이 –180°(모듈로 360°)인 주파수 Wcg에서 루프 이득을 단위 값으로 만드는 데 필요한 이득 변동의 양입니다. 즉, g가 –180° 위상 주파수에서의 이득인 경우 이득 여유는 1/g입니다. sys에 교차가 여러 개 있는 경우 margin은 0dB에 가장 가까운 이득 여유를 반환합니다. 음의 이득 여유는 이득을 낮춤으로써 안정성이 손실됨을 나타내는 반면, 양의 이득 여유는 이득을 높임으로써 안정성이 손실됨을 나타냅니다.

이득 여유 Gm은 절대 단위로 계산됩니다. 이득 여유는 다음과 같이 dB 단위로 계산할 수 있습니다.

Gm_dB = 20*log10(Gm)

위상 여유로, 스칼라 또는 배열로 반환됩니다. sys

  • 단일 모델인 경우, Pm은 스칼라로 반환됩니다.

  • 모델 배열인 경우, Pmsys의 각 모델의 위상 여유로 구성된 배열입니다.

위상 여유는 루프 이득이 1.0일 때 응답의 위상과 –180° 사이의 차입니다. sys에 교차가 여러 개 있는 경우 margin은 0°에 가장 가까운 위상 여유를 반환합니다.

위상 여유 Pm의 단위는 도입니다.

위상 교차 주파수로, 스칼라로 반환됩니다. Wcg는 이득 여유가 측정되는 주파수, 즉 –180° 위상 교차 주파수입니다.

Wcg는 radians/TimeUnit으로 표현됩니다. 여기서 TimeUnitsysTimeUnit 속성에 지정된 단위입니다.

이득 교차 주파수로, 스칼라로 반환됩니다. Wcp는 위상 여유가 측정되는 주파수, 즉 0dB 이득 교차 주파수입니다.

Wcp는 radians/TimeUnit으로 표현됩니다. 여기서 TimeUnitsysTimeUnit 속성에 지정된 단위입니다.

  • margin(mag,phase,w)를 사용할 경우 margin은 보간을 사용하여 여유를 근사하며, 일반적으로 이것은 보다 덜 정확한 결과를 생성합니다. 예를 들어, w 범위 안에 0dB 교차가 없는 경우 margin은 위상 여유 Inf를 반환합니다. 따라서 해석적 모델 sys가 있는 경우에는 [Gm,Pm,Wcg,Wcp] = margin(sys)를 사용하는 것이 여유를 구하는 더 강인한 방법입니다.

  • Robust Control Toolbox™가 있는 경우, diskmargin (Robust Control Toolbox)을 사용해 피드백 루프가 안정적으로 유지되는 "안전한" 이득 및 위상 변형의 범위를 정의하는 원판 기반 여유를 계산할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

모두 확장

참고 항목

| | (Robust Control Toolbox) |