일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- pytorch
- ChatGPT
- IEEE
- 인공지능
- 고체역학
- 딥러닝
- 옵시디언
- Linear algebra
- Python
- Julia
- 텝스공부
- 논문작성법
- obsidian
- JAX
- teps
- Dear abby
- WOX
- 텝스
- 생산성
- 우분투
- 수식삽입
- 수치해석
- 논문작성
- matplotlib
- Statics
- MATLAB
- LaTeX
- Numerical Analysis
- Zotero
- 에러기록
- Today
- Total
뛰는 놈 위에 나는 공대생
[제어] Realization에 대한 고찰 본문
이전 글에서 transfer function을 canonical form으로 바꾸는 것, 즉, realization에 대해서 공부를 했었다.
이전 글 : https://normal-engineer.tistory.com/25
그런데 이 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
수업에서 들은 내용
인터넷에서 찾은 수업자료 https://courses.ece.ubc.ca/568/handouts/realizations.pdf
'연구 Research > 제어 Control' 카테고리의 다른 글
[제어] Regulation problem과 Tracking problem (0) | 2022.06.05 |
---|---|
[제어] MATLAB을 활용한 Realization (0) | 2022.04.16 |
[제어] Transfer function을 s plane에 mapping하는 코드 (0) | 2022.04.11 |
[제어] Actuator modelling (0) | 2021.12.16 |
[제어] H2 norm, H infinity norm 개념 (0) | 2021.11.30 |