본문 바로가기

제어이론/선형시스템 -> LTI System

(선형시스템) 7-3. Stability in Frequency-Domain -> Nyquist Plot

저번 시간에, Bode Plot을 통해서 Gain, Phase Margin에 대해서 알아보았다.

이 두 개의 개념으로는 얼마나 시스템이 Stable한 지, 수치적으로 알아볼 수 있었다.

 

그러나, 문제가 있는 것이... ->

Gain Margin과 Phase Margin을 만족하면 Stable이지만 (Gain=1, Phase=-180deg가 될 수 없다!)

만족 못한다고 해서 꼭 Stability가 깨지는 것은 아니라는 것이다. (위 상황이 될 수도 있고, 아닐수도 있고..)

=> Gain, Phase Margin : 꽤 강한 Stability 조건!

 

그러므로, 조금 더 정확히 이를 판단할 필요가 있다... -> 앞에서도 보았지만, Complex Plane에 그려서 판단해보자!!!

=> Nyquist Plot

 

앞에서는 "허수축"을 G로 Mapping한 그래프를 그려보았는데, 조금 더 일반적으로 어느 폐곡선을 G로 Mapping한다고 하자.

(여기서 당연히 G는 Pole을 제외하고 연속일 것이다.)

 

이를 이해하기 위해서는 약간의 선적분 지식이 필요한데...

-> 폐곡선 안에 Singular Point(연속을 방해하는 요소!)가 n개 있으면...  -> 폐곡선을 따라서 선적분하면 2*n*pi가 나온다!

-> 폐곡선 안에 Singular Point가 없다면 -> 선적분하면 0이 나온다!

 

이를 생각해보면서 폐곡선을 G를 이용해서 Mapping해보자...


1. G의 Pole, Zero가 폐곡선 안에 없는 경우...

=> 폐곡선과 그 "내부"까지를 G로 Mapping한다고 하면... -> 연속이므로 그대로 연속된 영역으로 나올 것!

또한, Zero가 내부에 없으므로, Mapping된 영역에 원점(0,0)이 들어갈 수 없다!!


2. G의 Pole, Zero가 폐곡선 안에 있는 경우...

폐곡선을 따라 G의 각도를 생각해보자...(G의 각도는 당연히 원점에서의 기준이 될 것이다!)

폐곡선을 따라서, 각각의 각도를 생각해보면...

-> 폐곡선 안에 없는 Pole, Zero들은 폐곡선을 따라 한 바퀴 돌면, 각도가 자기 자신으로 돌아온다...

ex) Zero s=-2에 대해서...

그러나, 폐곡선 안에 있는 Pole, Zero의 경우에는 각도가 폐곡선을 따라서 한바퀴 돈다(360도)

즉, G의 각도(Phase)또한, 한바퀴 돌면, 360도 차이가 나야 한다... -> 원점을 둘러싸게 된다!

실제로 Mapping한 것을 그려보면...

게다가, 이를 통해서 또 알 수 있는 것이...

-> 폐곡선 안에 Pole이 n개 Zero가 m개가 존재한다면

=> 각도를 계산할 때, 서로 상쇄가 된다!(반대로 돈다!)

-> Mapping을 하면... -> 원점을 (m-n)번 둘러싸게 된다!!

(만일, m-n<0이면, 폐곡선의 방향과 반대로 둘러싼다!)

 

예를 들어보자...

폐곡선 안에 Pole 3개, Zero 2개가 존재하므로, 반대 방향으로 원점을 두 번 돈다!


그러면, 이를 통해서 Stability를 생각해보자...

 

1. Open-Loop

=> 만일, 우리가 폐곡선을 RHP 전체를 둘러싸게 한다면...

=> RHP에 있는 Pole, Zero의 개수를 계산할 수 있다!

 

2. Closed-Loop

=> Closed-Loop System의 전달함수(T)와 주어진 System의 전달함수(G)를 헷갈리지 말자!!

=> T의 Pole이 RHP에 있는지 없는지!

=> 폐곡선을 RHP 전체로 둘러싼 후, "T"에 의한 Mapping -> 원점을 둘러싸는지!

(그러나, T를 다 구해야 하니 복잡하다.)

 

혹은,

=> RHP에서 1+KG=0이 되는지!(즉, Unstable Pole인지 체크!)

=> 즉, 1+KG의 RHP에서의 Zero를 찾자!

=> 위의 내용을 1+KG의 Mapping을 이용해서 하면 된다!

==> 정리하면..

- 1. 폐곡선을 RHP 전체를 감싸도록 잡는다. (방향은 시계방향)

- 2. 1+KG를 이용해서 폐곡선을 Mapping한 것을 생각한다.

- 3. 원점을 몇 번(n번)이나 감싸는지(시계방향으로!) 체크한다!

(1+KG의 RHP Pole의 개수 -> 즉, G의 RHP Pole의 개수: p개, 1+KG의 RHP Zero의 개수: z개라고 하면...)

=> z-p=n => z=p+n

즉, Closed-loop system에는 z개의 RHP POLE이 존재한다!

 

(NOTE)

대부분 편의상 1+KG에 대한 Mapping을 이용하는 것이 아니라, KG에 대한 Mapping을 이용한다.

=> "-1"을 몇번 감싸는지로 바꿔 버리면 된다!!

 


그런데, 폐곡선을 RHP 전체를 감싸도록 잡는다는 것이 무슨 말일까???

복소변수함수를 알면 대충 알겠지만, 그냥 아주아주 큰 반원으로 폐곡선을 잡으면 된다... (물론, 허수축에서 살짝 벗어나도록...)

-> 즉, 

게다가, 저 L1(허수축과 아주 가까운 부분)의 Mapping은 결국 Bode Plot에서 본 내용들과 일치할 것이다! (Magnitude, Phase)

 


위에선 설명을 위해서 Nyquist Plot을 수치적으로 구했지만, 이를 컴퓨터 없이 예측해보자.

 

Ex) Closed-loop System of G

G가 다음과 같이 주어져 있다고 생각하자.

-> 1+KG를 생각하자! (Closed-loop!)

K=1이라고 가정해보자.

 

1. 먼저, G의 Bode Plot을 생각해보자...

a) s->0 => Magnitude of G = infinity(by s=0 Pole), Phase of G = 90 deg

b) s-> infinity => Magnitude of G = 0, Phase of G = 270 deg

c) s=0에서 Pole을 가지므로, magnitude는 -1의 기울기를 가지고 시작

d) s=1에서 Pole, Zero가 있는데,

Magnitude에서 : Pole, Zero는 서로 상쇄!(1이나 -1이나 크기에서는 상관없다.)

Phase에서 : Zero는 Phase+90 deg, Pole은 Phase-90 deg인데, 양수 Pole이라 주의해야 한다!

-> 양수 Pole에 의해서, Zero와 angle이 상쇄되기는 하나, +180도가 남아버린다!!

-> s=1에서 +180도

Bode Plot이 "허수축의 양수부분"을 Mapping한 것이라고 생각할 수 있으므로...

s=iw가 0에서 증가할 수록 -> (원점에서의 거리는 작아지고, 각도는 90도->270도로 움직인다!)

즉, 위 Bode plot 아래에 있는 그림처럼 나올 것이다!

(s=0인 경우가 원점으로부터 먼곳, s=infty인 경우가 원점!)

 

2. "허수축의 음수부분"을 Mapping한 것은?

Bode Plot에서 결국에 저 w -> (-w)로 바뀐 것 밖에 없다...

-> 만일, Complex Pole, Zero가 있다면 주의해야 하지만, 없다면 -> 그냥 크기는 그대로.., Phase도 그냥 상하대칭!

-> 그러므로, 음수부분 Mapping한 것은 위의 "양수부분"그림에서, 상하대칭으로 그리면 된다!

(물론, 방향은 -infinity에서 0으로 가면 갈수록 나가는 방향)

 

3. 원점으로부터 먼 부분의 반원을 Mapping한 것은??

Bode Plot에서 생각할 수 있다!

-> Bode Plot에서 w=infty인 부분의 Magnitude를 생각해보자...

여기선, Magnitude가 0으로 수렴하기 때문에, 거의 "원점"에서 움직이게 된다...

Phase의 경우엔, 원점으로부터 멀기 때문에, Pole, Zero가 그냥 다 "원점"에 있다고 생각하고 계산해도 무방하다!

-> 결국 반원의 Phase만 생각하면 된다.

-> Phase에 따라서, 원점을 포함할 수도 있고, 아닐 수도 있다!!!

 

4. 원점과 아주 가까운 부분(s=0)을 Mapping한 것은??

-> s=+0과 s=-0에서 Mapping한 것이 거의 이어져 있어야 하는데... 이을 때, RHP쪽으로 돌아야 하는지, LHP 쪽으로 돌아야 하는지 애매하다...

 

우리의 예시에선, 3,4번을 구하기 애매하다....

-> 복소변수함수에서 사용하는 트릭을 이용해보자!!!

=> 원점이 문제이니... -> 원점만 살짝 빼고, 폐곡선을 그리자!!

위에서 Before Mapping이 RHP를 두른 폐곡선(빨간색)의 모습인데,

s=0(원점)에서 문제가 생기므로, 원점 주위만 살짝 폐곡선을 뺐다!(녹색)

 

당연히 s=infty(빨간색)인 경우에는 Magnitude가 거의 0으로 가므로, After mapping에서 원점 주위에 빨간색이 Mapping이 되고,

s=0(녹색)근처에선, Magnitude가 infinite이므로, After mapping에서 거의 무한대에서 녹색이 Mapping될 것이다.

-> By Bode Plot

 

그럼, 여기서 Phase를 어떻게 구했는지 생각해보자...

빨간 색 원에서...

그러므로, 빨간 원은 RHP 쪽에서 돌아야 할 것이다!

 

녹색 원에서...

그러므로, 녹색 원은 LHP쪽에서 돌아야 할 것이다!

 

-> 결론적으로, 위의 그림과 같은 결과가 나올 것이다!!!

 

그러면... -> Closed Loop System이니... -> -1을 감싸는지, 아닌지가 중요한데

이 경우(K=1)에는 -1이 폐곡선 위에 떡하니 버틴다...

만일, K>1이 되는 경우에는 결국 Mapping할 때, 그 만큼 확대가 되므로 다음과 같이 그려진다.

폐곡선을 시계방향으로 돌면

=> -1을 반시계방향으로 한번 돈다!

=> z=p+n, n=-1, p=1 => z=0!! => NO RHP POLES

 

실제로, Response를 구해보면...(K=1.5)


만일, K<1이 되는 경우에는,

폐곡선을 시계방향으로 돌면

=> -1을 시계방향으로 한번 돈다!

=> z=p+n, n=1, p=1 => n=2!! => TWO RHP POLES

 

실제로, Response를 구해보면...(K=0.5)

물론, Root-Locus를 이용해도 같은 결과를 얻어 낼 수 있다!

 


여기까지 Nyquist Plot을 이용해서 RHP Pole의 개수를 구하는 방법과, 그리는 방법을 설명하였다.

 

다음 시간에는, 앞에서 나온 Lead,Lag Compensator에 대해서 조금 더 설명한다.