자동제어 - The Frequency-Response Design Method

백승혁·2021년 11월 2일
0

자동제어

목록 보기
4/4

이번 장에서는 시스템이 너무 복잡해서 모델을 모두 구하기 어려워 모델을 잘 모를때에 이 시스템에 주파수 응답 관점에서 시스템을 모델링 한다.

Frequency Response

Frequency response : sin파 입력에 대한 linear system의 응답

System : G(s)=Y(s)U(s)G(s)=\frac{Y(s)}{U(s)}
Input : u(t)=Asin(ω0t)1(t)U(s)=Aω0s2+ω02u(t)=Asin(\omega_0t)1(t)\rightarrow U(s)=\frac{A\omega_0}{s^2+\omega_0^2}

(y(0)=0)Y(s)=G(s)Aω0s2+ω02(y(0)=0)\rightarrow Y(s)=G(s)\frac{A\omega_0}{s^2+\omega_0^2}

Output : compute y(t)y(t)
G(s)G(s)의 pole이 서로 다르다고 가정하자.

Y(s)=α1sp1+α2sp2++αnspn+α0s+jω0+α0sjω0y(t)=α1ep1t+α2ep2t++αnepnt+2α0sin(ω0t+ϕ)Y(s)=\frac{\alpha_1}{s-p_1}+\frac{\alpha_2}{s-p_2}+\cdots+\frac{\alpha_n}{s-p_n}+\frac{\alpha_0}{s+j\omega_0}+\frac{\alpha_0^*}{s-j\omega_0}\\ \rightarrow y(t)=\alpha_1e^{p_1t}+\alpha_2e^{p_2t}+\cdots+\alpha_ne^{p_nt}+2|\alpha_0|\sin(\omega_0t+\phi)

α0\alpha_0^*를 구해보자

G(jω0)=M(ω0)ejϕ(ω0)(M(ω0)=G(jω0)=G(s)s=jω0,  ϕ(ω0)=tan1Im[G(jω0)]Re[G(jω0)]=G(jω0))G(j\omega_0)=M(\omega_0)e^{j\phi(\omega_0)}\\ (M(\omega_0)=|G(j\omega_0)|=|G(s)|_{s=j\omega_0},\;\phi(\omega_0)=\tan^{-1}\frac{Im[G(j\omega_0)]}{Re[G(j\omega_0)]}=\angle G(j\omega_0))

따라서,

α0=[G(s)Aω0s2+ω02(sjω0)]s=jω0=G(jω0)Aω02jω0α0=(α0)=G(jω0)Aω02jω0=G(jω0)Aω02jω0where, ϕ=[G(jω0)]=tan1(Re(α0)Im(α0))α0s+jω0+α0sjω0A2jMejϕejω0tA2jMejϕejω0t=A2jM(2jsin(ω0t+ϕ))=AMsin(ω0t+ϕ)\alpha_0^*=[G(s)\frac{A\omega_0}{s^2+\omega_0^2}(s-j\omega_0)]_{s=j\omega_0}=G(j\omega_0)\frac{A\omega_0}{2j\omega_0}\\ \alpha_0=(\alpha_0^*)^*=G^*(j\omega_0)\frac{A\omega_0}{-2j\omega_0}=G(-j\omega_0)\frac{A\omega_0}{-2j\omega_0}\\ \text{where, }\phi=\angle[G(j\omega_0)]=\tan^{-1}(\frac{Re(\alpha_0)}{Im(\alpha_0)})\\ \frac{\alpha_0}{s+j\omega_0}+\frac{\alpha_0^*}{s-j\omega_0}\rightarrow \frac{A}{2}jMe^{-j\phi}e^{-j\omega_0t}-\frac{A}{2}jMe^{j\phi}e^{j\omega_0t}\\ =\frac{A}{2}jM(-2j\sin(\omega_0t+\phi))\\ =AM\sin(\omega_0t+\phi)

위 식을 통해 Magnitude는 전달함수에 jω0j\omega_0를 넣어 절대값을 씌운 값이고, phase shift는 전달함수에 jω0j\omega_0를 넣은 각도를 취한 것이다.

주파수 응답은 실험적으로 구할 수 있다. 가장 쉽게 구할 수 있는 방법은 여러 주파수에 대해서 sin파를 넣어보는 것이다. 그에 따른 응답을 통해 magnitude와 phase shift를 구하여 bode plot을 통해 frequency response를 구한다.

시스템의 dynamic response는 전달함수의 magnitude와 phase shift를 알면 결정할 수 있다. 어떤 입력이 periodic input이라고 한다면 그것은 푸리에 시리즈로 전개할 수 있다.
Damping에 대해서 transient response에서는 overshoot에 관련있지만, frequency response에서는 magnitude의 peak에 관련있다. Natural frequency ωn\omega_n은 전달함수 magnitude 그래프의 bandwidth와 관련있다.

위 그림은 s=jωs=j\omega를 넣은 것이다.

1(jωωn)2+2ζjωωn+1=1[1(ωωn)2]2+4ζ2(ωωn)2tan12ζωωn1(ωωn)2\frac{1}{(\frac{j\omega}{\omega_n})^2+2\zeta\frac{j\omega}{\omega_n}+1} =\left|\frac{1}{\sqrt{[1-(\frac{\omega}{\omega_n})^2}]^2+4\zeta^2(\frac{\omega}{\omega_n})^2}\right|\angle{\tan^{-1}\frac{2\zeta\frac{\omega}{\omega_n}}{1-(\frac{\omega}{\omega_n})^2}}

ωωn\omega\ll\omega_n인 부분에서는 Magnitude의 그래프가 1에 가깝게 나오게 되고 ω\omega가 충분히 크다면 ω\omega가 커질 수록 Magnitude의 값은 작아진다.
magnitude는 ωωn=1\frac{\omega}{\omega_n}=1인 부분에서 peak를 가지게 된다. 이때의 magnitude 값은 12ζ\frac{1}{2\zeta}ζ\zeta의 값이 작을 수록 높은 peak값을 가지게 된다.

Bandwidth and resonance peak

우리가 궁극적으로 원하는 것은 밑의 그림과 같은 closed-loop 시스템에 제어를 통해 원하는 응답을 얻어내는 것이다.

많은 경우에 시스템이 low frequency에서 magnitude의 크기는 1이다.
Closed loop transfer function

Y(s)R(s)=T(s)=KG(s)1+KG(s)Typically, {T1 for low frequenciesT<1 for high frequencies\frac{Y(s)}{R(s)}=T(s)=\frac{KG(s)}{1+KG(s)}\\ \text{Typically, }\begin{cases}|T|\cong1\text{ for low frequencies}\\ |T|<1\text{ for high frequencies}\end{cases}

Resonance peak MrM_r : frequency response magnitude의 최대 값
Bandwidth ωBW\omega_{BW} : sin파의 입력을 시스템이 잘 수렴해 가는 최대 frequency
이때, 대략 magnitude의 값이 1/21/\sqrt{2}이 되는 영역까지를 의미한다.

Second order system with closed-loop transfer function

T(s)=1(s/ωn)2+2ζ(s/ωn)+1T(s)=\frac{1}{(s/\omega_n)^2+2\zeta(s/\omega_n)+1}

ζ=0.7\zeta = 0.7일 때 bandwidth는 natural frequency와 같아진다. (ωn=ωBW\omega_n=\omega_{BW})
나머지 경우, bandwidth는 natural frequency의 2배보다 작거나 같다. (ωBW2ωn\omega_{BW}\leq2\omega_n)

따라서, bandwidth를 통해서 natural frequency와 damping ratio를 결정 지을 수 있으므로 frequency response 영역에서는 bandwidth를 아는 것이 중요하다.

Bode Plot Techniques

Bode plot은 주파수 응답을 그래프로 나타낸 것이다.

Decibel(dbdb) :
보통 통신에서 주로 사용하였다.
어떤 신호의 파워를 생각할때 사용하였다.

Gdb=10log10P2P1Gdb=20log10V2V1(P1V12,  P2V22)|G|_{db}=10\log_{10}\frac{P_2}{P_1}\\ |G|_{db}=20\log_{10}\frac{V_2}{V_1}\quad(P_1 \propto V_1^2,\;P_2 \propto V_2^2)

Bode plot의 장점

  • 제어기 설계에 사용 가능하다.
  • 실험적으로 구할 수 있다.
  • 시리즈로 연결된 bode plot은 더하면 된다.
  • log scale은 넓은 주파수 영역에서 생각하기 위해 사용된다.

Plotting Bode plots

transfer function

KG(s)=K(sz1)(sz2)(sp1)(sp2)KG(jω)=K0(jωτ1+1)(jωτ2+1)(jωτa+1)(jωτb+1)(KG(jω))=(jωτ1+1)+(jωτ2+1)+(jωτa+1)(jωτb+1)KG(jω)db=(jωτ1+1)db+(jωτ2+1)db+(jωτa+1)db(jωτb+1)dbKG(s)=K\frac{(s-z_1)(s-z_2)\cdots}{(s-p_1)(s-p_2)\cdots}\Longrightarrow KG(j\omega)=K_0\frac{(j\omega\tau_1+1)(j\omega\tau_2+1)\cdots}{(j\omega\tau_a+1)(j\omega\tau_b+1)\cdots}\\ \angle(KG(j\omega))=\angle(j\omega\tau_1+1)+\angle(j\omega\tau_2+1)+\cdots-\angle(j\omega\tau_a+1)-\angle(j\omega\tau_b+1)-\cdots\\ |KG(j\omega)|_{db}=|(j\omega\tau_1+1)|_{db}+|(j\omega\tau_2+1)|_{db}+\cdots-|(j\omega\tau_a+1)|_{db}-|(j\omega\tau_b+1)|_{db}-\cdots

Elements of Bode plots (three classes)

  • K0(jω)nK_0(j\omega)^n

    logK0(jω)n=logK0+nlogjω(Y=K+nΩ,  K=logK0,  Ω=logω)20logK0(jω)n=20logK0+20nlogω(jω)n=n×90°\log\left|K_0(j\omega)^n\right|=\log\left|K_0\right|+n\log\left|j\omega\right|\\ \left(Y=K+n\Omega,\; K=log\left|K_0\right|,\;\Omega=\log\omega\right)\\ \rightarrow 20\log\left|K_0(j\omega)^n\right|=20\log\left|K_0\right|+20n\log\omega\\ \angle(j\omega)^n=n\times90\degree


    여기에서는 logω\log\omega의 기울기가 중요하다.

  • (jωτ+1)±1(j\omega\tau+1)^{\pm 1}

    {ωτ1jωτ+11logjωτ+10ωτ1jωτ+1jωτlogjωτ+1logjωτ=logτ+logjω(ω=1/τ=break pointlogτ+logj(1/τ)=0)\begin{cases} \omega\tau\ll1\Rightarrow j\omega\tau+1\cong1\Rightarrow\log\left|j\omega\tau+1\right|\cong0\\ \omega\tau\gg1\Rightarrow j\omega\tau+1\cong j\omega\tau\Rightarrow\log\left|j\omega\tau+1\right|\cong\log\left|j\omega\tau\right|=\log\left|\tau\right|+\log\left|j\omega\right| \end{cases}\\ (\omega=1/\tau=\text{break point}\leftarrow\log\left|\tau\right|+\log\left|j(1/\tau)\right|=0)

    여기서는 bode plot을 근사해서 그린다.

    {ωτ1(jωτ+1)1=0°ωτ1(jωτ+1)jωτ=90°ωτ1(jωτ+1)45°  (ω=1/τ=break point)\begin{cases} \omega\tau\ll1\Rightarrow\angle(j\omega\tau+1)\cong\angle1=0\degree\\ \omega\tau\gg1\Rightarrow\angle(j\omega\tau+1)\cong\angle j\omega\tau=90\degree\\ \omega\tau\cong1\Rightarrow\angle(j\omega\tau+1)\cong45\degree\;(\omega=1/\tau=\text{break point}) \end{cases}

  • [(jωωn)2+2ζjωωn+1]±1\left[(\frac{j\omega}{\omega_n})^2+2\zeta\frac{j\omega}{\omega_n}+1\right]^{\pm1}

{ωωnG(jω)1logG(jω)0ωωnG(jω)(jω/ωn)±2logG(jω)±2log1/ωn±log(jω)\begin{cases} \omega\ll\omega_n\Rightarrow G(j\omega)\cong1\Rightarrow\log|G(j\omega)|\cong0\\ \omega\gg\omega_n\Rightarrow G(j\omega)\cong(j\omega/\omega_n)^{\pm2}\Rightarrow\log|G(j\omega)|\cong\pm2\log|1/\omega_n|\pm\log|(j\omega)| \end{cases}

Break point : ω=ωn\omega = \omega_n

Summary of Bode Plot Rules

  1. trnasfer function을 bode form으로 바꾼다.

  2. 제일 낮은 frequency에서는 그래프의 모양이 K0(jω)nK_0(j\omega)^n이다. ω=1\omega=1로 하여 K0K_0점을 근사한다.

  3. 모든 break point들을 찾아 break point지점에서 그래프가 상승하는지 하강하는지를 확인한다.

  4. 1차항에 경우에는 그래프의 모양을 ±3db\pm3db로 바꾸고, 2차항인 경우에는 break point(ω=ωn\omega=\omega_n)주의에서 G(jω)=12ζ|G(j\omega)|=\frac{1}{2\zeta} 또는 G(jω)=2ζ|G(j\omega)=2\zeta|를 사용한다.

  5. Phase 그래프도 낮은 주파수에서는 ϕ=n×90°\phi = n\times90\degree로 그려진다.

  6. 각 break point를 지나면서 1차항인 경우에는 ±90°\pm90\degree를 더하고 2차항인 경우 ±\180°\pm\180\degree를 더한다.

Minimum phase versus nonminimum phase

  • Minimum phase system : 시스템의 zero가 모두 LHP에 있는 경우
  • Nonminimum phase system : 시스템의 몇몇 zero가 RHP에 있는 경우

ex)

minimum-phase : G1(s)=10s+1s+10G_1(s)=10\cfrac{s+1}{s+10}
nonminimum-phase : G2(s)=10s1s+10G_2(s)=10\cfrac{s-1}{s+10}

G1(jω)=G2(jω)|G_1(j\omega)|=|G_2(j\omega)|



위 그림처럼 minimum phase와 nonminimum phase의 magnitude는 같지만 phase쪽에서 다른 것을 알 수 있다. 따라서, bode plot을 그릴 때 minimum인지 nonminimum인지 확인해봐야 한다.

Steady-state errors from Bode plots

open-loop low frequency 근사는 다음과 같다.

KG(jω)=K0(jω)nΠi(jωτi+1)Πa(jωτa+1)K0(jω)nKG(j\omega)=K_0(j\omega)^n\cfrac{\Pi_i(j\omega\tau_i+1)}{\Pi_a(j\omega\tau_a+1)}\cong K_0(j\omega)^n

이때, n=0n=0이라면, K0K_0는 DC gain이 된다. DC gain을 키우게 되면 steady state error는 작아진다.

ess=11+Kp=11+K0  (Kp=lims0KG(s))e_{ss}=\frac{1}{1+K_p}=\frac{1}{1+K_0}\;\left(K_p=\lim_{s\rightarrow0}KG(s)\right)

n=1n=-1이라면, 원점에 pole을 하나 가지고 있는 형태가 된다. 이는 system Type 1이다.

Kv=K0  (Kv=lims0sKG(s))ess=1Kv=1K0K_v=K_0\;\left(K_v=\lim_{s\rightarrow0}sKG(s)\right)\Rightarrow e_{ss}=\frac{1}{K_v}=\frac{1}{K_0}

Neutral Stability

Frequency response를 가지고 closed-loop system의 안정성을 판별할 수 있는가?

frequency response와 closed-loop system의 안정성은 서로 관계가 있다.

ex)


1+KG(s)=0KG(s)=1,G(s)=180°  (G(s)=1/K)Neutral stability point : K=2,  s=j1=jω01+KG(s)=0\rightarrow|KG(s)|=1,\quad\angle G(s)=180\degree\;(G(s)=-1/K)\\ \text{Neutral stability point : }K=2,\;s=j1=j\omega_0

Closed-loop의 bode plot을 그리게 되면 다음과 같다.

  • K=2   neutrally stableK=2\;\text{ neutrally stable}

    KG(jω)=1, at ω where G(jω)=180°|KG(j\omega)|=1,\text{ at }\omega\text{ where }\angle G(j\omega)=-180\degree
  • KG(jω)<1, at ω where G(jω)=180°|KG(j\omega)|<1,\text{ at }\omega\text{ where }\angle G(j\omega)=-180\degree

        K<2stable\iff K < 2\rightarrow \text{stable}
  • KG(jω)>1, at ω where G(jω)=180°|KG(j\omega)|>1,\text{ at }\omega\text{ where }\angle G(j\omega)=-180\degree

        K>2unstable\iff K > 2\rightarrow \text{unstable}

따라서, gain이 커질수록 시스템은 unstable 해진다.

보통 시스템은 gain이 커질수록 시스템이 덜 안정해진다. 하지만 모든 시스템에 적용되는 것은 아니다. 이를 판별하기 위해서 Nyquist stability criterion을 사용한다.

Nyquist stability criterion

Nyquist stability criterion은 주파수 응답을 통해 closed-loop system의 안정도를 판별하는 완벽한 방법이다. Bode plot만 가지고는 안정도를 판별할 수 없다. Nyquist stability criterion은 argument principle을 기본으로 하고있다.

Nyquist plot : KG(s)KG(s)라는 특정한 전달함수의 값을 복소평면에 그린것이다.

Argument principle

Contour evaluation : 주어진 전달함수 H(s)H(s)에 대해서 폐곡선(contour) C를 따라서 값을 계산해서 복소평면에 전달함수를 그린 것

이때, contour evaluation안에 pole이나 zero의 갯수에 따라 전달함수의 plot의 방향이 달라진다.

  • Z>P(ZP) clockwise encirclements around the originZ>P\rightarrow(Z-P) \text{ clockwise encirclements around the origin}
  • Z<P(PZ) counterclockwise encirclements around the originZ<P\rightarrow(P-Z) \text{ counterclockwise encirclements around the origin}

즉, ZPZ-P번 원점을 시계방향으로 감싼다.

이 관점은 Nyquist stability criterion에서도 똑같이 적용된다.
전달함수는 H(s)1+KG(s)H(s)\rightarrow 1+KG(s)로 바꾸어서 1+KG(s)1+KG(s)의 pole과 zero가 contour안에 몇개 있는지로 원점을 몇번 감싸는지 알 수 있다.
이때, contour는 RHP로 복소평면에 반지름이 무한대인 반원이다.

이에 상응하는 Nyquist plot은 1+KG(s)1+KG(s)에 대한 것이나 KG(s)KG(s)에 대한 것이나 비슷하다.

contour가 RHP이므로 contour안에 zero,pole 갯수는 RHP에 zero, pole의 갯수와 같다.

정리를 해보면 다음과 같다.

따라서, closed-loop system의 안정성은 RHP방면에 open-loop system의 pole이 몇개 있는지와 Nyquist plot으로 결정할 수 있다.

Procefure of plotting the Nyquist plot

  1. Contour C1C_1에 상응하는 KG(s)KG(s)를 plot한다.
    KG(s)KG(s)js+j-j\infty\leq s\leq+j\infty범위에서 plot한다.
    KG(s)KG(s)의 magnitude는 high frequency에서 작아질 것이다.
    Nyquist plot은 실수측에서 서로 대칭인 그래프이다.

  2. 1-1에서 시계방향으로 몇바퀴 감싸는지 계산한다. (NN)

  3. open-loop system의 pole이 RHP에 몇 개(PP) 있는지 센다.

  4. Z=N+PZ=N+P

    Z=0The closed loop system is stableZ>0The closed loop system is unstableZ = 0 \rightarrow \text{The closed loop system is stable}\\ Z > 0 \rightarrow \text{The closed loop system is unstable}

ex)

Nyquist plot for a third order system

G(s)=1s(s+1)2G(s)=\frac{1}{s(s+1)^2}

Pole이 원점에 있어서 contour C1C_1이 원점을 지날 수 없게 된다(원점을 지나는 순간 정의가 되지 않는다.). 따라서, 이를 우회하는 새로운 그래프를 그린다.

우회하는 부분의 contour를 살펴보자면 s=rejθs=re^{j\theta}로 복소수가 나타나게 된다. 이때, r1r\ll1로 굉장히 작은 수가 되고, θ\theta90°-90\degree에서 90°90\degree순으로 넘어가게 된다.(θ=90°0°90°\theta=-90\degree\rightarrow0\degree\rightarrow90\degree)

G(s)=1s(s+1)21s=1rejθ=1rej(θ)1r1,  90°θ90°  (θ=90°0°90°)\Rightarrow G(s)=\frac{1}{s(s+1)^2}\cong\frac{1}{s}=\frac{1}{re^{j\theta}}=\frac{1}{r}e^{j(-\theta)}\\ \frac{1}{r}\gg1,\;-90\degree\leq-\theta\leq90\degree\;(-\theta=90\degree\rightarrow0\degree\rightarrow-90\degree)

이를 바탕으로 Nyquist plot을 그려보면 다음과 같다.

위 그림처럼 G(jω)G(j\omega)의 Nyquist plot은 ω=1\omega=1일 때 G(j1)=0.5|G(j1)|=0.5인 실수 측에서 교차된다.

1+KG(s)=0,  G(s)=1/K0.5<1/K<0N=2,Z=N+P=2+0=2unstable1/K<0.5N=0,Z=N+P=0+0=0stable1+KG(s)=0,\;G(s)=-1/K\\ -0.5<-1/K<0\rightarrow N=2,\\ \rightarrow Z=N+P=2+0=2\rightarrow unstable\\ -1/K<-0.5\rightarrow N=0,\\ \rightarrow Z=N+P=0+0=0\rightarrow stable

원점에 pole이 여러개 있다면 어떻게 될까?

G(s)=1sk(s+1)2,  k1s=rejθ,  r1,  90°θ90°  (θ=90°0°90°)G(s)=1sk(s+1)21sk=1rkejkθ=1rkej(kθ),1rk1.  k90°kθk90°  (kθ=k90°0°k90°)G(s)=\frac{1}{s^k(s+1)^2},\;k\geq1\\ s=re^{j\theta},\;r\ll1,\;-90\degree\leq\theta\leq90\degree\;(\theta=-90\degree\rightarrow0\degree\rightarrow90\degree)\\ \Rightarrow G(s)=\frac{1}{s^k(s+1)^2}\cong\frac{1}{s^k}=\frac{1}{r^ke^{jk\theta}}=\frac{1}{r^k}e^{j(-k\theta)},\\ \frac{1}{r^k}\gg1.\;-k90\degree\leq-k\theta\leq k90\degree\;(-k\theta=k90\degree\rightarrow0\degree\rightarrow-k90\degree)

Nyquist plot을 그려보면 k/2k/2번 시계방향으로 감싼다.

Stability Margins

지금까지는 안정한지 안정하지 않은지를 판별했다면은 이번에는 얼마나 안정한지를 판별한다.
많은 경우 시스템은 gain이 작으면 안정하고 gain이 커지면 시스템이 불안정해진다. 또한. closed-loop system에서의 stability이다.

  • Gain margin(GM) : 초기 stable했을 때의 gain에 비해서 gain을 계속 키웠을 때 unstable해지는 비율이다.
  • Phase margin(PM) : KG(jω)=1|KG(j\omega)|=1일 때의 G(jω)G(j\omega)의 phase가 -180에서 몇 도 떨어져 있는지를 말한다.

이는 Neutral stability condition( KG(jω)=1,  KG(jω)=180°|KG(j\omega)|=1,\;\angle KG(j\omega)=-180\degree )가 되기까지 어느정도 여유가 있는지를 확인하는 것이다.

Crossover frequency ( ωc\omega_c ) : gain의 크기가 1인 주파수이다.

Find PM for different values of K
  1. KG(jω)=1|KG(j\omega)|=1 crossover frequency ωc\omega_c를 찾는다.

  2. 이에 상응하는 PM을 찾는다.

Find K for a desired PM
  1. 주어진 PM만큼 phase가 떨어진 곳의 frequency를 찾는다.

  2. 이때에 맞는 KK값을 찾는다.

Relation between PM and damping ratio

open loop 2nd-order system : G(s)=ωn2s(s+2ζωn)G(s)=\cfrac{\omega^2_n}{s(s+2\zeta\omega_n)}
closed-loop system : T(s)=ωn2s2+2ζωns+ωn2T(s)=\cfrac{\omega^2_n}{s^2+2\zeta\omega_ns+\omega^2_n}

먼저 crossover frequency를 찾는다. G(jωc)=1|G(j\omega_c)|=1
crossover frequency에 맞는 phase를 찾고 180°-180\degree를 빼준다. G(jωc)+180°\angle G(j\omega_c)+180\degree

PM=tan1[2ζ1+4ζ42ζ2]\Rightarrow \text{PM}=\tan^{-1}\left[\cfrac{2\zeta}{\sqrt{\sqrt{1+4\zeta^4}-2\zeta^2}}\right]


Phase margin과 damping ratio의 그래프를 고데 되면 PM=70°\text{PM}=70\degree까지는 ζPM100\zeta\cong\cfrac{\text{PM}}{100}으로 표현할 수 있다.

Resonant peak와 PM의 관계는 다음과 같다.

Resonant peak\text{Resonant peak}12ζ\cfrac{1}{2\zeta}이므로 PM과반비례 관계에 놓여있다.

페이즈 마진은 감쇠비에 영향이 많으므로 감쇠비와 같다라고 보면 된다.

Crossover frequency는 closd-loop의 bandwidth와 관련있다.

1st/2nd order system은 phase가 180°180\degree를 절대 지나지 않는다. 이 때문에 GM은 항상 \infty이다.

2차 이상 고차 system은 KG(jω)=1|KG(j\omega)|=1이거나 KG(jω)=180°\angle KG(j\omega)=-180\degree가 되는 frequency가 여러개가 될 수 있다.

Conditionally stable system : gain을 키웠을 때 system이 stable 해지는 것을 의미한다.
이러한 경우 bode plot보다 root locus나 Nyquist plot을 사용해야 system의 안정도를 확인할 수 있다.

Bode's Gain-Phase Relationship

stable한 minimum phase system에서 G(jω)\angle G(j\omega)G(jω)|G(j\omega)|는 서로 관계가 있다.
G(jω)|G(j\omega)|의 기울기가 20n db/decade20n\text{ db/decade}라고 한다면 phasesms G(jω)n×90°\angle G(j\omega)\cong n\times90\degree

시스템이 안정적이려면 PM>0\text{PM} > 0이기 위해서 G(jω)>180°\angle G(j\omega)>-180\degree이어야 한다.

따라서, crossover frequency 주변의 magnitude slope가 20db/decade-20\text{db/decade}이어야 한다.

Closed-Loop Frequency Response

Relation between bandwidth and crossover frequency

crossover frequency는 magnitude가 1이 되는 frequency의 크기를 의미하고 bandwidth는 closed-loop system의 응답성이 얼마나 되는지를 나타낸다.

KG(jω)1,  for ωωcKG(jω)1,  for ωωcT(jω)=KG(jω)1+KG(jω){1,ωωc,KG(jω),  ωωc|KG(j\omega)|\gg1,\; \text{for } \omega\ll\omega_c\\ |KG(j\omega)|\ll1,\; \text{for } \omega\gg\omega_c\\ |T(j\omega)|=\left|\cfrac{KG(j\omega)}{1+KG(j\omega)}\right|\cong \begin{cases} 1,\qquad\qquad\omega\ll\omega_c,\\ |KG(j\omega)|,\;\omega\gg\omega_c\\ \end{cases}

closed-loop system의 frequency가 crossover frequency보다 충분히 크거나 작았을 때의 값을 알았으니 그 사이의 값을 알아보면 다음과 같다.

crossover frequency ωc\omega_c에서의 PM값에 따라 closed-loop system의 magnitude는 변한다.

{PM=90°KG(jωc)=90°T(jωc)=j11j1=0.707PM=45°KG(jωc)=135°T(jωc)=22j22122j22=1.31\begin{cases} PM=90\degree\rightarrow\angle KG(j\omega_c)=-90\degree\rightarrow|T(j\omega_c)|=\left|\cfrac{-j1}{1-j1}\right|=0.707\\ PM=45\degree\rightarrow\angle KG(j\omega_c)=-135\degree\rightarrow|T(j\omega_c)|=\left|\cfrac{-\frac{\sqrt{2}}{2}-j\frac{\sqrt{2}}{2}}{1-\frac{\sqrt{2}}{2}-j\frac{\sqrt{2}}{2}}\right|=1.31 \end{cases}

따라서, ωcωBW2ωc\omega_c\leq\omega_{BW}\leq2\omega_c가 된다.

Compensation

PD Compensation

KD(s)=K(TDs+1)  (D(0)=1)KD(s)=K(T_Ds+1)\;(D(0)=1)

이렇게 된다면 고주파쪽 gain이 커지기 때문에 high frequency의 noise가 증폭될 수 있다.
따라서 PD compensation이 아닌 Lead compensation을 사용한다.

Lead Compensation

D(s)=Ts+1αTs+1,  where α<1  (D(0)=1)D(s)=\cfrac{Ts+1}{\alpha Ts+1},\;\text{where }\alpha<1\;(D(0)=1)


lead compensation을 사용해서 제어기를 설정해서 phase를 얼마나 키울 수 있는지를 확인할 것이다. 이를 위해 phase가 가장 큰 ωmax\omega_{\text{max}}의 값을 찾는다.

Phase contribution :

ϕ=tan1(Tω)tan1(αTω)=tan1(TωαTω1+TωαTω)\begin{aligned}\phi &= \tan^{-1}(T\omega)-\tan^{-1}(\alpha T\omega)\\ &=\tan^{-1}\left(\cfrac{T\omega-\alpha T\omega}{1+T\omega\alpha T\omega}\right) \end{aligned}

Maximum ϕ\phi :

ωmax=1Tα\omega_{\text{max}}=\cfrac{1}{T\sqrt{\alpha}}

Maximum phase conribution :

sinϕmax=1α1+αα=1sinϕmax1+sinϕmax\sin\phi_{\text{max}}=\cfrac{1-\alpha}{1+\alpha}\Rightarrow\alpha=\cfrac{1-\sin\phi_{\text{max}}}{1+\sin\phi_{\text{max}}}

lead compensation을할 때 maximum phase를 대략 60°60\degree정도로 사용하며 그 이상을 원할 때에는 compensation을 2개 사용한다.

profile
초보 개발자

0개의 댓글