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(단위: radian/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,Wcg,Wcp] = margin(mag,phase,w)는 주파수 응답 데이터에서 이득 여유 및 위상 여유를 도출합니다. 이득 데이터 mag는 절대 단위로, 위상 데이터 phase는 도 단위로 제공합니다. 주파수 벡터 w는 임의의 단위로 제공할 수 있습니다. marginWcgWcp를 동일한 단위로 반환합니다.

예제

[Gm,Pm] = margin(sys,J1,...,JN)은 모델 배열 sys의 각 요소의 이득 여유 Gm과 위상 여유 Pm을 아래 첨자 (J1,...,JN)을 사용하여 반환합니다.

예제

모두 축소

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

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

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

margin(sys)

Figure contains 2 axes objects. Axes object 1 with ylabel Magnitude (dB) contains an object of type line. This object represents sys. Axes object 2 with ylabel Phase (deg) contains an object of type line. This object represents 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.0518
Pm = 13.5634
Wcg = 5.4375
Wcp = 4.3547

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

이 예제에서는 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);

시스템 응답의 크기(절대 단위)로, 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)를 사용하는 것이 여유를 구하는 더 강인한 방법입니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | (Robust Control Toolbox) |