Notice
Recent Posts
Recent Comments
Link
관리 메뉴

뛰는 놈 위에 나는 공대생

[제어] Realization에 대한 고찰 본문

연구 Research/제어 Control

[제어] Realization에 대한 고찰

보통의공대생 2022. 4. 16. 15:47

 

 

이전 글에서 transfer function을 canonical form으로 바꾸는 것, 즉, realization에 대해서 공부를 했었다.

 

이전 글 : https://normal-engineer.tistory.com/25

 

[고등자동제어] State space와 transfer function의 관계

MATLAB에서는 친절하게 State space model과 transfer function 간에 전환하기 쉽도록 되어 있습니다. 그러다보니 굳이 원리를 몰라도 state space model에서 transfer function으로 바꿀 수도 있고, 반대도 가능..

normal-engineer.tistory.com

 

그런데 이 realization은 여러 가지 방식으로 할 수 있다. 즉, 고정된 form이 없다는 것이다. 그래서 MATLAB에서 realization하는 함수 canon을 아무 생각없이 쓰면 안된다.

 

 

여기서는 대표적인 canonical form인 controllable, observable canonical form에 대해서 더 깊게 살펴보고자 한다. 그리고 왜 controllable, observable canonical form으로 나타낼 수 있는 transfer function(TF)가 항상 controllable하고, observable한지에 대해서 증명한다.

더 나아가 multi input multi output, 다중입력 다중출력일 때는 어떻게 canonical form이 나오는지도 살펴본다.

 

공부를 다시 하다보니 새로 알게 된 내용이 많아서 내용을 더 추가하게 되었다.

 


 

1. Controllable canonical form

 

 

이전에 배웠던 controllable canonical form은

 

$G(s)=\frac{Y(s)}{U(s)}=\frac{b_{2}s^{2}+b_{1}s+b_{0}}{s^{3}+a_{2}s^{2}+a_{1}s+a_{0}}$일 때

 

$$
\left\{\begin{array}{l}
\dot{x}(t)=\left[\begin{array}{ccc}
0 & 1 & 0 \\
0 & 0 & 1 \\
-a_{0} & -a_{1} & -a_{2}
\end{array}\right] x(t)+\left[\begin{array}{l}
0 \\
0 \\
1
\end{array}\right] u(t) \\
y(t)=\left[\begin{array}{lll}
b_{0} & b_{1} & b_{2}
\end{array}\right] x(t)
\end{array}\right.
$$

다음과 같이 realization을 할 수 있습니다. (자세한 유도방식은 이 글의 3번째 항목에서 찾을 수 있습니다.)

 

간단하게 유도를 적으면 

$\frac{Y}{X}=b_{2}s^{2}+b_{1}s+b_{0} \quad \Rightarrow \quad y =b_{2}\ddot{x}+b_{1}\dot{x}+b_{0}x $

$\frac{X}{U}=\frac{1}{s^{3}+a_{2}s^{2}+a_{1}s+a_{0}} \quad \Rightarrow\quad x^{(3)}+a_{2}\ddot{x}+a_{1}\dot{x}+a_{0}x = u$

$x_{1}=x ,\; x_{2}=\dot{x}, \; x_{3}=\ddot{x}$라고 두고 식을 정리하면 위와 같이 나온다.

 

그런데 동일한 유도방식에서

$x_{3}=x ,\; x_{2}=\dot{x},\; x_{3}=\ddot{x}$로 두면 

 

$$
\left\{\begin{array}{l}
\dot{x}(t)=\left[\begin{array}{ccc}
-a_{2} & -a_{1} & -a_{0} \\
1 & 0 & 0 \\
0 & 1 & 0
\end{array}\right] x(t)+\left[\begin{array}{l}
1 \\
0 \\
0
\end{array}\right] u(t) \\
y(t)=\left[\begin{array}{lll}
b_{2} & b_{1} & b_{0}
\end{array}\right] x(t)
\end{array}\right.
$$

이와 같은 꼴이 나올 수 있다. 그러나 일반적으로 위에 있는 꼴로 많이 나타낸다.

 


2. Observable canonical form

 

마찬가지로 observable form도 어떻게 식을 세우느냐에 따라 모습이 달라지는데 이전 글에서는

TF  $G(s)=\frac{Y(s)}{U(s)}=\frac{b_{2}s^{2}+b_{1}s+b_{0}}{s^{3}+a_{2}s^{2}+a_{1}s+a_{0}}$에 대해서

 

$$\frac{d}{dt}\begin{bmatrix}x_{1}\\x_{2}\\x_{3}\end{bmatrix}=\begin{bmatrix}-a_{2}&1&0\\-a_{1}&0&1\\-a_{0}&0&0\end{bmatrix}x+\begin{bmatrix}b_{2}\\b_{1}\\b_{0}\end{bmatrix}u$$

$$y=\begin{bmatrix}1&0&0\end{bmatrix}\begin{bmatrix}x_{1}\\x_{2}\\x_{3}\end{bmatrix}$$

 

이와 같이 표현을 했었다. 

 

유도방법은 다음과 같다.

 

$y^{(3)}+a_{2}\ddot{y}+a_{1}\dot{y}+a_{0}y = b_{2}\ddot{u}+b_{1}\dot{u}+b_{0}u$이 때 좌변은 미분이 들어가는 항끼리 모으고, 우변은 미분이 없는 항끼리 모은다.

 

$\frac{d}{dt}(\ddot{y}+a_{2}\dot{y}+a_{1}y-b_{2}\dot{u}-b_{1}u)=-a_{0}y+b_{0}u \Rightarrow \frac{d}{dt}x_{3}=-a_{0}y+b_{0}u$

괄호 안에 들어있는 문자들은 $x_{3}$라고 할 때 $x_{3}$에 대한 선형 미분방정식이 나온다.

 

그리고 $x_{3}$는 아래와 같은 식이 성립을 한다.

$x_{3}=\ddot{y}+a_{2}\dot{y}+a_{1}y-b_{2}\dot{u}-b_{1}u$

이를 다시 미분이 있는 term끼리 묶으면

 

$\frac{d}{dt}(\dot{y}+a_{2}y-b_{2}u)=x_{3}-a_{1}y+b_{1}u \Rightarrow \frac{d}{dt}x_{2}=x_{3}-a_{1}y+b_{1}u$

이렇게 두 번째 미분방정식을 얻는다.

 

$x_{2}=\dot{y}+a_{2}y-b_{2}u$

$\dot{y}=\dot{x_{1}}=x_{2}-a_{2}y+b_{2}u$

마지막으로 $y=x_{1}$으로 설정함으로써 세 번째 미분방정식을 얻는다.이 각각의 식들을 행렬식으로 표현하면 위의 결과가 나온다.

 

그러나 식을 어떻게 유도하느냐에 따라 다음과 같이 나올 수 있다.

만약에 처음 식을 $x_{3}$이 아니라 $x_{1}$으로 뒀으면 아래처럼 행렬식이 나온다.

 

$\frac{d}{dt}x_{1}=-a_{0}y+b_{0}u$

$\frac{d}{dt}x_{2}=x_{1}-a_{1}y+b_{1}u$

$\dot{y}=\dot{x_{3}}=x_{2}-a_{2}y+b_{2}u$

 

$$\frac{d}{dt}\begin{bmatrix}x_{1}\\x_{2}\\x_{3}\end{bmatrix}=\begin{bmatrix}0&0&-a_{0}\\1&0&-a_{1}\\0&1&-a_{2}\end{bmatrix}\begin{bmatrix}x_{1}\\x_{2}\\x_{3}\end{bmatrix}+\begin{bmatrix}b_{0}\\b_{1}\\b_{2}\end{bmatrix}u$$

$$y=\begin{bmatrix}0&0&1\end{bmatrix}\begin{bmatrix}x_{1}\\x_{2}\\x_{3}\end{bmatrix}$$

 

이 식이 MATLAB에서 canon식을 썼을 때 채택하는 방식이다.


3. Duality

 

원래 controllability와 observability는 duality가 존재하기 때문에 $(A,B)$와 $(A^{\top},C^{\top})$이 대응된다.

 

그래서 위의 식을 살펴보면 

$$
\text{Controllable canonical form }\left\{\begin{array}{l}
\dot{x}(t)=\left[\begin{array}{ccc}
0 & 1 & 0 \\
0 & 0 & 1 \\
-a_{0} & -a_{1} & -a_{2}
\end{array}\right] x(t)+\left[\begin{array}{l}
0 \\
0 \\
1
\end{array}\right] u(t) \\
y(t)=\left[\begin{array}{lll}
b_{0} & b_{1} & b_{2}
\end{array}\right] x(t)
\end{array}\right.$$

$$\text{Observable canonical form }\left\{\begin{array}{l} \frac{d}{dt}\begin{bmatrix}x_{1}\\x_{2}\\x_{3}\end{bmatrix}=\begin{bmatrix}0&0&-a_{0}\\1&0&-a_{1}\\0&1&-a_{2}\end{bmatrix}\begin{bmatrix}x_{1}\\x_{2}\\x_{3}\end{bmatrix}+\begin{bmatrix}b_{0}\\b_{1}\\b_{2}\end{bmatrix}u \\
y=\begin{bmatrix}0&0&1\end{bmatrix}\begin{bmatrix}x_{1}\\x_{2}\\x_{3}\end{bmatrix}\end{array}\right.
$$

이 두 식이 서로 duality가 성립한다.

 

마찬가지로 남은 두 식끼리도 duality가 성립한다.

$$
\text{Controllable canonical form }\left\{\begin{array}{l}
\dot{x}(t)=\left[\begin{array}{ccc}
-a_{2} & -a_{1} & -a_{0} \\
1 & 0 & 0 \\
0 & 1 & 0
\end{array}\right] x(t)+\left[\begin{array}{l}
1 \\
0 \\
0
\end{array}\right] u(t) \\
y(t)=\left[\begin{array}{lll}
b_{2} & b_{1} & b_{0}
\end{array}\right] x(t)
\end{array}\right.
$$

$$\text{Observable canonical form }\left\{\begin{array}{l}\frac{d}{dt}\begin{bmatrix}x_{1}\\x_{2}\\x_{3}\end{bmatrix}=\begin{bmatrix}-a_{2}&1&0\\-a_{1}&0&1\\-a_{0}&0&0\end{bmatrix}x+\begin{bmatrix}b_{2}\\b_{1}\\b_{0}\end{bmatrix}u\\ y=\begin{bmatrix}1&0&0\end{bmatrix}\begin{bmatrix}x_{1}\\x_{2}\\x_{3}\end{bmatrix}\end{array}\right.$$

 

 

4. Observable canonical form이 항상 observable한가?

 

$$\frac{d}{dt}\begin{bmatrix}x_{1}\\x_{2}\\ \vdots \\ x_{n}\end{bmatrix}=\begin{bmatrix}-a_{n-1}&1&\cdots & 0\\-a_{n-2}&0&1& \\ \vdots& & & \\ -a_{0}& 0 & \cdots & 0 \end{bmatrix}x+\begin{bmatrix}b_{n-1}\\ b_{n-2} \\ \vdots \\b_{0}\end{bmatrix}u$$
$$y=\begin{bmatrix}1&0&\cdots&0\end{bmatrix}\begin{bmatrix}x_{1}\\x_{2}\\ \vdots \\ x_{n}\end{bmatrix}$$

 

Observable canonical form은 위의 form으로 사용한다. 일반화를 위해서 TF의 분모가 n차식인 경우를 사용한다.

 

 

Observable canonical form으로 표현될 수 있는 system은 observable하다고 알려져있다. (controllable은 담보할 수 없음) 이를 증명하고자 한다.

 

증명 첫 번째

 

Observability matrix의 rank를 확인하는 것

$\begin{bmatrix}C \\ CA \\ CA^{2} \\ \vdots \\ CA^{n} \end{bmatrix}$

를 확인한다.

 

 

 

 

증명 두 번째

 

Popov-Belevitch-Hautus(PBH) test를 사용하는 것

 

$\operatorname{rank} \begin{bmatrix}\lambda I -A \\ C \end{bmatrix}=n \quad \forall \lambda \in\mathbb{C} \Leftrightarrow \text{System is observable}$

 

이 증명방법이 더 손쉽다.

 

 

 

 

 

 

5. Controllable canonical form이 항상 controllable

 

 

 

 


참고문헌

 

MATLAB 문서

https://kr.mathworks.com/help/control/ref/lti.canon.html

 

Canonical state-space realization - MATLAB canon - MathWorks 한국

The default value of condt input argument is now 1e4. Previously, the default value was 1e8. Increasing condt reduces the size of the eigenvalue clusters in the transformed model but also decreases the accuracy of the transformation. The new default value

kr.mathworks.com

수업에서 들은 내용

인터넷에서 찾은 수업자료 https://courses.ece.ubc.ca/568/handouts/realizations.pdf

 

Comments