-
[Classical Control]Transfer Function_2Engineering/Control 2021. 10. 17. 23:04
1. Introduction
지난 포스팅에서는 Transfer function의 Poles, Zeros, Impulse response, Step response에 대해 논했다. 이번에는 Transfer function의 System stability, Sinusoidal response, Frequency response, Bode plot에 대해 다뤄보도록 하겠다. 특히, Sinusoidal response의 경우 Frequency response design과 직접적으로 연관된 개념이다. 특히, Frequency response design은 Root locus보다 실무에서 많이 활용하는 설계 기법이다.
[Classical Control]Transfer Function(1)
1. Introduction Transfer Function은 앞선 Introduction에서 Control system block이라고 이야기했다. 이번에는 Model-based control의 가장 기본이 되는 Transfer function에 대해 알아보기로 하자. 여기에서는..
tituschoi.tistory.com
2. Stability
Stability는 Control system design에서 가장 중요한 특성 중 하나이다. 시스템의 Stability가 확보되어야 Steady-state에서 원하는 출력을 얻을 수 있기 때문이다. 모든 LTI 시스템은 초기 조건에 대한 응답인 Zero-input response와 입력에 대한 응답인 Zero-state response로 나뉜다. 이것은 예전에 설명한 Natural response와 Forced response와는 분명히 다른 개념이고 Equation 1.과 같이 표현할 수 있다.
Equation 1. 왼쪽의 y(0) 부분이 Zero-input response이고, 오른쪽이 Zero-state response이다. 이때 Classical control에서는 Zero-state response를 논하며, Zero-state response에서는 BIBO stability, Routh-Hurwitz stability, Marginal stability를 판단한다. Modern control에서는 Internal stability, Lyapunov stability, Asymptotic stability, Exponential stability과 같은 개념을 논한다. 이는 추후에 Modern Control을 다룰 때 소개하겠다. Pole을 알 수 있다면 가장 쉽게 안정성을 판별할 수 있지만, 5차 이상의 Characteristic equation에서는 근의 공식을 활용할 수 없으므로 보통 Routh-Hurwitz stability criterion을 사용하지만, 이는 추후에 논하기로 하고 우선 Stability의 몇 가지 특성을 살펴보자.
2.1. Bounded-Input Bounded-Output Stability(BIBO Stability)
BIBO Stability는 모든 입력 u(t)가 Bounded variable M1에 수렴한다고 할 때 시스템의 출력 y(t)가 Bounded variable M2에 수렴한다는 것을 의미한다. 따라서 Equation 2.를 만족한다.
Equation 2. 이러한 출력 y(t)는 Equation 3.과 같이 Convolution integral 형태로 표현할 수 있다. 이때 g(t)는 시스템의 Impulse response이자 Transfer function을 의미한다. Steady-state에서 g(t)는 0으로 수렴한다.
Equation 3. 이 때 Impulse response는 Total response에서 Natural response와 같기 때문에 Equation 4.와 같이 나타낼 수 있다. 또한 BIBO Stability는 Poles의 Real part가 0보다 작아야 g(t)가 0으로 수렴하기 때문에 Equation 5.와 같은 조건을 BIBO Stability를 만족한다고 한다.
Equation 4. Equation 5. 즉 Figure 1.과 같이 Poles가 LHP(Left-Half Plane)에 존재해야 BIBO Stability를 만족한다.
Figure 1. Stability Region 2.2. Marginal Stability
Figure 1.에서 살펴본 시스템의 Pole들이 Imaginary axis 위에 있는 경우에 이를 Marginally stable이라고 한다. 즉, LHP나 RHP에 따로 속하지 않는다. 이때 시스템은 Steady-state 상태에서 0으로 가지 않고 일정하게 유지되는 Constant 조건을 갖거나 Oscillate 한다. 이러한 Marginal stability는 Time domian에서 앞에 시간이 곱해지는 경우가 있고, 이때 발산할 수도 있다. 따라서 항상 Stable하지는 않다.
2.3. Internal Stability
시스템의 모든 Input, Disturbance에 대해 BIBO Stability를 확보할 수 있을 때 이 시스템을 Internally Stable하다고 한다. 보통 Controller와 Plant가 각각 BIBO Stability 할 경우 이에 대한 곱, Feedback을 거친 함수 모두 Stable 할 때를 의미한다. 현장에서 가장 많이 사용하는 기법 중 하나인 Pole-Zero cancellation의 경우 Pole-Zero cancellation을 거친 Transfer function 역시 BIBO Stable 해야 Internally stable 하다고 말할 수 있다.
앞서 봤던 내용을 MATLAB 함수 중 하나인 'isstable'을 활용하여 안정성을 확인해볼 수 있다. 시스템이 Stable이면 True, 아니면 False 값을 출력한다.
Figure 2. Underdamped System sys = tf([9],[1, 2, 9]) P = pole(sys) TF = isstable(sys)
Figure 3. Stability of sys in MATLAB 3. Sinusoidal Response
주파수 영역에서 하나의 Frequency를 줘서 시스템의 특성을 분석하는 방법이 Sinusoidal response이다. Sinusoidal response는 시스템의 입력 u(t)를 u(t)=cos(wt)나 u(t)=sin(wt)로 줬을 때의 출력 y(s)을 의미한다. Sinusoidal input을 Euler`s identity를 활용해 Exponential form으로 Equation 6.과 같은 형태를 표현하여 입력으로 넣어줄 수 있다.
Equation 6. 결국 시스템의 출력 y(s)는 Transfer function을 G(s)라고 하면 Equation 7.이 된다.
Equation 7. pi가 Transfer function의 Poles라고 할 때 Equation 8.과 같이 Sinusoidal function을 변형할 수 있다.
Equation 8. 이 식이 BIBO Stability를 만족한다고 할 때, Steady-state에서의 출력 yss(s)는 Equation 9.와 같다.
Equation 9. 4. Frequency Response
Frequency response function은 주어진 Laplace transform을 활용한 Transfer function G(s)의 변수 s를 s=jw 형태로 Real part를 없애고 Imaginary part(주파수 영역)만 고려하는 Transfer function을 말하며 여기서 Fourier transform을 활용한다. 결국 주파수 영역에서 Transfer function의 특성을 보는 것은 Frequency response를 관찰하는 것이다. 따라서 G(s)가 있을 때 Equation 10.과 같이 정의할 수 있다.
Equation 10. Equation 10.은 Magnitude와 Phase에 따라 Equation 11.과 같이 분리할 수 있다.
Equation 11. 이 대 특정 주파수 w0에 대해 Exponential input을 넣어주면 Equation 12.와 같이 표현할 수 있다.
Equation 12. Euler`s identity에 의해 각 Sinusoidal input에 대해 Equation 13.과 같이 표현할 수 있다.
Equation 13. 이러한 Transfer function을 Frequency response를 통해 찾는 방법은 다음과 같다. 저주파수 10개(예를 들어 w0 = 0.1 ~ 1.0)의 크기를 다음과 같이 찾는다. 입력 u(t)를 입력했을 때, 출력 y(t)는 Equation 14.와 같이 Phase delay와 Magnitude가 바뀌어서 나타난다.
Equation 14. Figure 4. Frequency Response of System 따라서 Sinusoidal input의 출력을 통해 Transfer function을 Equation 15.처럼 유추하는 것이다. U(s)는 u(t), Y(s)는 y(t)의 Laplace transform이다.
Equation 15. 이 과정을 MATLAB의 invfreqs를 통해 역 추론하여 Transfer function을 찾는 과정은 다음과 같다.
n = [9]; d = [1 2 9]; w = logspace(-1,1); [h,w] = freqs(n,d,w) [in,id] = invfreqs(h, w, 'complex' , 0, 2)
Figure 5. Result of 'invfreq' in MATLAB 5. Bode Plot
위와 같은 Frequency response를 시각화한 것이 바로 Bode plot이다. Bode plot은 Frequency를 Input으로 Magnitude와 Phase plot으로 표현된다. G(jw)가 frequency response function이라고 할 때 이를 Polar equation 형태로 나타내면 Equation 16.과 같다.
Equation 16. 우선은 First-order system에서 Equation 17.와 같이 표현된다. Magnitude는 dB 단위로 Plotting 할 수 있다.
Equation 17. Stable 한 Second-order system이 실전에서 주로 사용되니 Underdamped system 관점에서만 보면 Equation 18.과 같이 표현할 수 있다.
Equation 18. 위의 수식을 Plot을 그린 것이 Bode plot이다. Bode plot은 특정 Frequency에서 급격하게 Magnitude plot에서 Peak를 찍게 되고, Peak가 되는 Magnitude를 Peak magnitude, 이때의 Frequency를 Resonant frequency라고 하며 Equation 19.과 같이 정의한다.
Equation 19. 앞서 살펴본 예제의 Transfer function을 MATLAB의 Bode 명령어를 통해 Bode plot을 구하면 Figure 6.과 같다.
n = [9]; d = [1 2 9]; H = tf(n,[1 2 9]) bode(H)
Figure 6. Bode plot of H in MATLAB * Reference
Github Simulation: https://github.com/TitusChoi/Classical_Control/
Figures:
1. Nise, N. S. (2015). Control systems engineering.
2. https://kr.mathworks.com/help/slcontrol/ug/what-is-a-frequency-response-model.html반응형'Engineering > Control' 카테고리의 다른 글
[Classical Control]Controller Design: Time Response(Transient Response)_2 (0) 2021.11.21 [Classical Control]Controller Design: Time Response(Transient Response)_1 (0) 2021.11.07 [Classical Control]Feedback Controller (0) 2021.10.26 [Classical Control]Transfer Function_1 (0) 2021.10.09 [Classical Control]Overview of Control System (0) 2021.10.04