이전 글에서 System에 입력되는 주파수에 따라 응답이 어떻게 달라지는지 Bode Plot을 통해 도시화해 보았다. General Input에서 시스템 출력의 magnitude와 phase가 어떻게 변하는지 공부했었다. 이때 magnitude는 전달함수의 크기에 비례하여 변화하였고, phase는 전달함수의 위상에 비례하여 변화하였다.
이번 글에서는 전달함수의 Pole과 Zero의 위치에 따라 Bode Plot이 어떻게 그려지는지 공부할 것이다. 전달함수의 Pole과 Zero, 그리고 Bode Plot은 시스템의 성능에 결정적으로 관여하기 때문에 융합적으로 분석할 수 있어야 한다.
Frequency Response
Frequency Response를 Review하자면, 입력 신호의 진동수가 w일때, 출력 신호의 크기는 전달함수의 절댓값에 비례하고, 위상차는 전달함수의 위상차에 비례한다. 그러므로 시스템의 전달함수 $G(s)$를 모델링하면 출력의 크기와 위상차를 알 수 있다. 이때 Magnitude와 Phase를 입력 진동수 $w$에 대하여 그래프로 나타낸 것을 Bode Plot이라고 한다.
전달함수 $G(s)$는 시스템의 모델 미분 방정식에 의해 결정되는데, 시스템이 시간에 대해 몇차 미분까지 표현되었는지에 따라 형태가 달라진다. n-Order System이란 시스템이 시간에 대해 n차 미분까지 표현된 방정식을 의미하고 s-domain에서는 n차 방정식으로 표현되는 미분 방정식을 의미한다. 그렇기 때문에 특성 방정식의 차수도 n차가 되며 전달함수 G(s)의 분모의 차수 또한 n차가 된다. 분모의 차수에 따라 Pole의 갯수와 영역이 달라지므로 전달함수의 특성 또한 달라지게 된다.
일반적으로 다루게될 시스템은 가속도, 속도의 1차 시스템 혹은 위치가 더해진 2차 시스템이고, 정밀한 제어가 필요한 경우 3차 이상의 시스템까지 다루게 된다.
First-Order System
1차 시스템은 동역학적으로 가속도-속도 관계의 시스템이다. 초기 상태가 정지상태라고 하면 모델 방정식은 아래와 같다.
$$ \dot{v}+bv = bu $$
$$\therefore G(s) = \frac{V(s)}{U(s)}=\frac{b}{s+b}$$
이 시스템의 Bode Plot은 전달함수의 크기와 각도이므로 아래와 같다.
Mag. = $|G(\omega i)|=\frac{|b|}{|\omega i+b|}$
Phase = $\angle{G(\omega i)} = \angle{b}-\angle{\omega i+b} = -\angle{\omega i+b}$
$$\omega \rightarrow 0 : \begin{cases} Mag = 1\\ Phase = 0 \end{cases}$$
$\omega$가 0부터 증가하면서 전달함수의 Mag. 와 Phase의 변화를 알기 위해 다음과 같이 근사식을 찾을 수 있다.
$$0<\omega<b : \begin{cases} Mag = 1 \\ Phase = 0 \end{cases}$$
$$b<\omega<\infty : \begin{cases} Mag. \approx \frac{|b|}{|\omega|} \\ Phase \approx -90^{\circ} \end{cases} $$
log-scale에서 Magnitude의 기울기는 아래와 같다.
$$log(M) = log(\frac{|b|}{|\omega|}) = log(|b|)-log(|\omega|)$$
이때 $\omega$는 양수이므로
$$log(M) = -1\bullet log(\omega)+const$$
그러므로 기울기는 1 이다. 아래 그래프는 $G(s) = \frac{1}{s+1}$ 그래프 이다.
정리하면, 1차 시스템에서 입력 진동수 $\omega$가 pole보다 커지면, 출력의 Magnitude는 log-scale에서 기울기 1로 감소한다. Phase는 $90^{\circ}$감소한다. 위 그래프를 보면 감이 올 것이다.
이와 반대로 입력 진동수가 Zero의 크기를 지났을 경우 log-scale에서 기울기는 1 증가하고 Phase는 $90^{cirs}$증가한다.
아래는 전달함수 $G(s) = s+1$의 그래프 이다.
전달함수의 Pole과 Zero를 이용하면, 프로그래밍 하지 않고 손으로 직접 Bolde Plot을 그려봄으로써 Frequency Response를 알 수 있다.
Example
위의 근사를 이용해서 아래 전달함수의 Bode Plot을 그려보자.
$$G(s) = \frac{s+100}{(s+10)(s+500)}$$
입력 진동수가 10Hz를 지나면 Magnitude는 기울기 1로 감소하고 Phase는 90도 감소한다. 100Hz를 지나면 Magnitude는 기울기 1로 증가하므로 총 기울기는 0이고, Phase는 90도 증가하므로 총 Phase는 0도이다. 500Hz를 지나면 Magnitud는 기울기 1로 감소하고 Phase는 90도 증가한다. 실제로 아래와 같이 그려진다.
Second Order System
2차 시스템은 동역학적으로 가속도-속도-위치 관계의 시스템이다. 그러므로 모델링은 $\ddot{x}+2\zeta\omega\dot{x}+\omega^2x=\omega^2u$로 주어지고, 전달함수는 $G(s) = \frac{\omega^2}{s^2+2\zeta\omega s+\omega^2}$이다.
전달함수의 Pole을 $s=-\zeta\omega\pm wi\sqrt{1-\zeta^2}$라고 하면 Magnitude와 Phase는 아래와 같이 나타낼 수 있다.
$\begin{cases} Magnitude = |G(\omega i)|=\frac{\omega^2}{|(s-(-\zeta\omega+wi\sqrt{1-\zeta^2}))(s-(-\zeta\omega- wi\sqrt{1-\zeta^2}))|} \\ Phase = \angle{\omega^2}-\angle{(s-(-\zeta\omega+wi\sqrt{1-\zeta^2}))-\angle{(s-(-\zeta\omega- wi\sqrt{1-\zeta^2})}}\end{cases}$
입력 주파수 $\omega$에 따라 아래와 같이 근사할 수 있다.
$0<\omega<size\;of\;pole : \begin{cases} Mag = 1 \\ Phase = 0 \end{cases}$
여기서 pole이 복소수라는 조건에만 관심이 있으므로, 두 pole은 켤례 복소근이 되고 크기는 동일할 것이다. 따라서$\omega$가 size of pole을 지나는 순간은 First-Order-System에서 Pole 두개를 지나는 효과와 같다. 그러므로 Magnitude는 기울기 2로 감소할 것이고, Phase는 180도 감소할 것이다.
2차 시스템의 Bode Plot에는 특징적인 부분이 존재하는데, 바로 입력 주파수가 시스템의 고유 진동수가 동일할 경우이다. 시스템의 고유진동수로 힘이 가해지면, 시스템의 진동은 점점 커진다는 것을 들어본 적 있을 것이다. 실제로 그렇다. 위의 Magnitude식에 $s=wi$를 대입해 보면 Magnitude는 $\frac{1}{2\zeta}$이다. 즉 $\zeta$가 0에 가까울 수록 출력 진동의 Magnitude는 무한에 가까워진다. $\zeta$가 의미 하는 것이 damping ratio 이었기 때문에 $\zeta$가 0이라는것은 damping이 없다는 것과 같다. 그러므로 고유 진동수로 힘이 가해지면 출력 진동이 매우 커진다.
그러므로 일반적으로 pole을 지나면 2의 기울기로 감소하고 Phase는 180도 감소한다고 근사할 수 있지만, $\zeta$에 따라 그 형태가 크게 달라진다. 아래는 그 예시들이다.
Case1. $w = 10$, $\zeta$ = 1
그래프를 보면 주파수가 10rad/s에서 $10^3$rad/s로 100배 증가할때 크기는 1에서 $10^{-4}$로 $100^2$배 감소한 것을 근사적으로 알 수 있다. 마찬가지로 Phas는 10rad/s 전후로 180로 감소한 것을 알 수 있다.
Case2. $w = 10$, $\zeta$ = 0.1
시스템의 고유진동수인 10rad/s에서 크기가 커진 것을 볼 수 있다. 위상의 변화는 매우 빨라진 것을 볼 수 있다.
이 경우도 마찬가지로, 크기는 근사적으로 2의 기울기로 감소하고, Phase는 180도 감소한다.
Case3. $w = 10$, $\zeta$ = 0
이 시스템에는 damping이 없으므로, 고유진동수에서 Magnitude가 매우 커진 것을 확인할 수 있다. 만약 이러한 시스템이 실제로 존재할 경우, 고유 진동수로 아주 작은 힘이 가해지더라도 구조물은 파괴될 수 있다. Phase는 거의 점근식과 일치하는 것을 볼 수 있다.
만약 전달함수가 이렇게 생겼다면 Frequency Response는 어떻게 될까?
$$G(s) = \frac{s^2+2\zeta\omega s+\omega^2}{\omega^2}$$
Frequency Response 가 어디서부터 출발했는지 생각해보자.
$$x(t)=|G(\omega i)|cos(\omega t+\angle{G(i\omega)})$$
$$\therefore \begin{cases} Mag = |G(\omega i)|= \frac{|s^2+2\zeta\omega s+\omega^2|}{\omega^2} \\ Phase = \angle{(s^2+2\zeta\omega s+\omega^2)}-0 \end{cases}$$
이중 Magnitude를 먼저 생각해보자. 이 시스템의 Magnitude는 위의 2차 시스템의 Magnitude와 분모, 분자의 위치만 바뀌었다. 즉 log-scale로 보자면, -를 곱해준 값과 같다. 그런데 Magnitude는 절댓값이 있으므로 -를 붙힌 후 절댓값을 취해준 값과 동일할 것이다. 즉 2차 시스템의 Bode Plot을 뒤집어 놓은 형태가 그려진다.
Phase도 마찬가지로 -를 곱해준 값과 같다. 그러므로 입력 주파수를 지나면 Phase가 180도 증가할 것이다.
정리
시스템의 Pole과 Zero를 통해 전달함수의 Bode Plot을 그리는 방법을 공부해 보았다. Bode Plot은 결론적으로 전달함수의 크기와 각도를 그래프로 나타내는 것이었고, 그 값은 복소 평면에서 크기와 각도를 구해 계산할 수 있었다. 입력 주파수가 Pole 또는 Zero를 지날 때 Bode Plot이 어떻게 그려지는지 점근식을 찾아 보았고, 이를 이용하면 복잡한 전달함수라도 Bode Plot을 예측해볼 수 있게 된다.
Bode Plot을 통해 시스템에 특정 주파수로 입력되는 힘이, 출력으로 변할때 증폭되는지 상쇄되는지 알 수 있고 이를 통하여 시스템의 주파수 응답 특성 및 필터링 주파수를 알 수 있다. 그러므로 Bode Plot은 시스템을 해석하는데 있어서 중요한 지표가 된다.
To do
이 글까지 해서 자동제어의 전반부라고 할 수 있다. 지금까지 동역학 시스템을 모델링하는 방법을 배웠고, 전달함수와 Pole, Zero의 의미, 그리고 주파수 응답 특성까지 배웠다. 한마디로 지금까지는 모두 시스템에 대한 해석이었다.
해당 시스템이 안정한지 불안정한지, 주파수 응답 특성은 어떠한지가 핵심이었던 것이다. 이 다음 글 부터는 본격적으로 Control을 위한 공부를 할 것이다.
제어하고자 하는 시스템을 모델링하였더니 불안정한 Pole이 나왔다고 하자. 그렇다면 우리는 Controller를 통해 Pole을 안정한 영역으로 옮겨 주어야 한다. Pole을 옮긴다는 것이 아직 감이 안오겠지만, 실수부가 양수인 Pole에, 무슨 짓을 해줌으로써 Pole의 실수부가 음수가 되도록 한다는 것이다.
주파수 응답 또한 마찬가지로, Controller를 통해 원하는 응답 특성을 갖도록 변화시켜줄 수 있다. 최종적으로 제어를 통해 적절한 Pole과 적절한 Frequency Response를 갖게 하는 것이 목표가 되는 것이다.
이것들을 변화시키기 위해서는 원래 시스템의 Pole과 Frequency Response를 당연히 알아야 한다. 그렇기 때문에 지금까지 공부해 왔던 것이다.
Feedback control이라고 들어보았다면 이해가 쉬울 것이다. 흔히 PID, PD 제어라고 하는것들이 Feedback control의 일종이다. Feedback을 통하여 불안정한 Pole을 안정한 Pole로 옮길 수 있다. 불안정하게 움직이는 드론을 PID 제어를 통해 안정하게 움직이도록 하는것과 동일한 원리이다.