{{위키데이터 속성 추적}}
[[제어 이론|제어]]에서 '''상태 공간 표현식'''(State space representation)이란 물리적 계를 입력, 출력, 상태 변수의 1차 [[미분 방정식]]으로 표현하는 수학적 모델이다. 다수의 입력, 출력, 상태를 간결하게 표현하기 위하여 변수를 [[벡터]]로 표시하며, [[동역학계]]가 선형이고 시간에 따라 변하지 않을 경우, 미분 방정식과 수식은 [[행렬]] 형태로 쓰인다. 상태 공간 표현식 (또는 시간-영역 접근 방식) 은 편리하고 간결하게 입력과 출력이 다수인 시스템을 모델하고 분석할 수 있다. 달리 <math>p</math>개의 입력과 <math>q</math>개의 출력을 가지고 있는 시스템을 표현하려면 <math>q \times p</math>개의 [[라플라스 변환|라플라스 변환식]]을 사용해야만 시스템 전체의 정보를 부호화할 수 있을 것이다. 주파수 영역 접근 방식과는 달리 상태 공간 표현식은 선형 요소와 0-초기 조건에만 적용 가능한 것은 아니다. "상태 공간"은 공간의 각 축이 상태 변수인 공간을 가리킨다. 시스템의 상태는 그 공간 안의 벡터에 의해 표시될 수 있다.

== 상태변수 ==
[[파일:Typical State Space model.png|프레임|상태공간식의 블록 선도 표현]]

내부 상태 변수는 어떤 주어진 순간 전체 시스템 상태를 표시할 수 있는 최소한의 시스템 변수 부분집합이다. 어떤 주어진 시스템을 표현하기 위해 필요한 최소한의 상태변수 개수 <math>n</math> 은 보통 시스템의 미분방정식의 차수와 같다. 만일 시스템이 전달함수 형태로 주어진다면 최소 상태변수 개수는 전달함수의 분모의 차수와 같다. 중요한 것은 상태 공간 실현형태를 전달함수로 변환하면 어떤 내부 정보를 잃을 수도 있고, 전달함수는 안정되어 보이나 상태 공간 실현형태는 어느 점에서는 불안정할 수도 있다는 점이다. 전자회로에서는 상태 변수의 개수는, 항상 그런 것은 아니지만, 커패시터나 인덕터와 같은 에너지 저장 요소의 개수와 같다.

== 선형시스템 ==
어떤 선형 시스템의 가장 일반적인 상태공간 표현식은 <math>p</math>개의 입력과 <math>q</math>개의 출력, <math>n</math>개의 상태 변수를 갖는 경우로, 아래와 같은 형태로 적을 수 있다:
: <math>\dot{\mathbf{x}}(t) = A(t) \mathbf{x}(t) + B(t) \mathbf{u}(t)</math>
: <math>\mathbf{y}(t) = C(t) \mathbf{x}(t) + D(t) \mathbf{u}(t)</math>
여기서 각 항은 다음과 같다:

{|
|-
| <math>\mathbf{x}(\cdot)</math> || 상태 벡터 || <math>\mathbf{x}(t) \in \mathbb{R}^n</math>
|-
| <math>\mathbf{y}(\cdot)</math> || 출력 변수 || <math>\mathbf{y}(t) \in \mathbb{R}^q</math>
|-
| <math>\mathbf{u}(\cdot)</math> || 입력 (또는 제어) 벡터 || <math>\mathbf{u}(t) \in \mathbb{R}^p</math>
|-
| <math>A(\cdot)</math> || 상태 행렬 || <math>\operatorname{dim}[A(\cdot)] = n \times n</math>
|-
| <math>B(\cdot)</math> || 입력 행렬 || <math>\operatorname{dim}[B(\cdot)] = n \times p</math>
|-
| <math>C(\cdot)</math> || 출력 행렬 || <math>\operatorname{dim}[C(\cdot)] = q \times n</math>
|-
| <math>D(\cdot)</math> || 피드스루 (또는 피드포워드) 행렬<ref>만일 시스템 모델에 직접 피드스루가 없다면, <math>D(\cdot)</math>는 0행렬이다.</ref> || <math>\operatorname{dim}[D(\cdot)] = q \times p</math>
|-
| <math>\dot{\mathbf{x}}(t)</math> || 상태벡터의 시간미분 || <math>\dot{\mathbf{x}}(t) := \frac{\operatorname{d}}{\operatorname{d}t} \mathbf{x}(t)</math>
|}

이 일반 형태에서는 모든 행렬이 시간에 따라 변화하도록 (즉, 그 요소의 값이 시간의 종속함수가 되도록) 허용된다. 그러나, 일반적인 선형 시불변 시스템의 경우, 행렬 값은 시간에 따라 변화하지 않게 될 것이다. 시간 변수 <math>t</math>는 "연속" (즉, <math>t \in \mathbb{R}</math>) 또는 "이산" (즉, <math>t \in \mathbb{Z}</math>)일 수 있다. 후자의 경우, 시간 변수는 보통 <math>k</math>로 표시된다. 하이브리드 시스템은 시간 영역이 동시에 연속 또는 이산 부분일 수 있도록 한다. 가정에 따라, 상태 공간 모델 표현식은 다음과 같은 형태를 띈다.

{| cellpadding="4"
|- valign="top"
|'''시스템 형태''' || '''상태 공간 모델'''
|- valign="top"
|연속 시불변 || <math>\dot{\mathbf{x}}(t) = A \mathbf{x}(t) + B \mathbf{u}(t)</math><br /><math>\mathbf{y}(t) = C \mathbf{x}(t) + D \mathbf{u}(t)</math>
|- valign="top"
|연속 시간변화 || <math>\dot{\mathbf{x}}(t) = \mathbf{A}(t) \mathbf{x}(t) + \mathbf{B}(t) \mathbf{u}(t)</math><br /><math>\mathbf{y}(t) = \mathbf{C}(t) \mathbf{x}(t) + \mathbf{D}(t) \mathbf{u}(t)</math>
|- valign="top"
|이산 시불변 || <math>\mathbf{x}(k+1) = A \mathbf{x}(k) + B \mathbf{u}(k)</math><br /><math>\mathbf{y}(k) = C \mathbf{x}(k) + D \mathbf{u}(k)</math>
|- valign="top"
|이산 시간변화 || <math>\mathbf{x}(k+1) = \mathbf{A}(k) \mathbf{x}(k) + \mathbf{B}(k) \mathbf{u}(k)</math><br /><math>\mathbf{y}(k) = \mathbf{C}(k) \mathbf{x}(k) + \mathbf{D}(k) \mathbf{u}(k)</math>
|- valign="top"
|연속 시불변의 라플라스 영역|| <math>s \mathbf{X}(s) = A \mathbf{X}(s) + B \mathbf{U}(s)</math><br /><math>\mathbf{Y}(s) = C \mathbf{X}(s) + D \mathbf{U}(s)</math>
|- valign="top"
|이산 시불변의 Z-영역 || <math>z \mathbf{X}(z) = A \mathbf{X}(z) + B \mathbf{U}(z)</math><br /><math>\mathbf{Y}(z) = C \mathbf{X}(z) + D \mathbf{U}(z)</math>
|}

=== 예: 연속 시간 선형 시불변의 경우 ===

행렬 '''A'''의 [[고윳값]]으로부터 어떤 연속시간 선형 시불변 시스템의 안정성과 자연 응답특성을 알 수 있다. 먼저 시불변 상태 공간 모델 시스템의 안정성은, 시스템의 전달함수를 아래와 같은 분수 형태로 살펴봄으로써 결정할 수 있다.

:<math> \textbf{G}(s) = k \frac{ (s - z_{1})(s - z_{2})(s - z_{3})
                              }{ (s - p_{1})(s - p_{2})(s - p_{3})(s - p_{4})
                                }</math>

전달함수의 분모는 <math>sI - A</math>의 [[행렬식]]으로 얻어지는 [[특성 다항식]]과 같다.
: <math>\mathbf{\lambda}(s) = |sI - A|</math>
이 다항식의 근 ([[고윳값]])이 시스템 전달함수의 극(즉, 전달함수의 증폭비가 무한대가 되는 특이점)이다. 이 극은 시스템이 점근 안정인지 경계 안정인지 분석하는 데 사용될 수 있다. 안정성을 판정하기 위한 다른 접근 방법은, 고윳값을 계산하지 않는 방법으로, 시스템의 [[랴푸노프 안정성]]을 해석하는 것이다.
영은 <math>\textbf{G}(s)</math>의 분자에서 찾을 수 있는 것으로 비슷하게 시스템이 최소 위상 여부를 판정하는 데 사용될 수 있다.
시스템은 '''입력–출력 안정''' ([[BIBO 안정]] 참조)이면서도 심지어 내적 불안정일 수도 있다. 이는 어떤 경우인가 하면, 불안정한 극이 영에 의해 상쇄되는 경우이다.
=== 가제어성 ===
{{본문|제어 가능성}}

상태 가제어성 조건이란, - 용인될 수 있는 제어 입력에 의하여 - 상태를 어떤 초기 조건으로부터 또 다른 최종 조건으로 어떤 유한한 시간 범위 안에 이끌어갈 수 있다는 것이다. 연속적인 시불변 선형 상태 공간 모델이 '''제어 가능'''일 필요 충분 조건은 다음과 같다.
:<math>\operatorname{rank}\begin{bmatrix}B& AB& A^{2}B& ...& A^{n-1}B\end{bmatrix} = n</math>
(rank는 [[계수 (선형대수학)|계수]] 로 행렬에서 선형 독립인 행의 수를 말한다.)

=== 가관측성 ===
{{본문|관측 가능성}}

가관측성이란 일종의 척도로서, 어떤 시스템 내부의 상태가 그 외부 출력을 앎으로 하여 얼마나 잘 추정될 수 있는가 하는 것이다. 어떤 시스템의 가관측성과 가제어성은 수학적으로 쌍을 이룬다. 즉, 가제어성은 어떠한 초기상태라도 올바른 제어 입력을 가하면 어떠한 희망하는 최종 상태로든 이끌 수 있다는 것이고, 가관측성은 출력 궤적을 아는 것만으로도 충분히 그 시스템의 초기 상태를 예측할 수 있다는 것이다.

어떤 연속 시불변 선형 (LTI) 상태 공간 모델이 '''관측 가능'''할 필요 충분 조건은 다음과 같다:
:<math>\operatorname{rank}\begin{bmatrix}C\\ CA\\ ...\\ CA^{n-1}\end{bmatrix} = n</math>


=== 전달 함수 ===
연속 시간 시불변 선형 상태 공간 모델의 "[[전달 함수]]"는 다음과 같이 유도될 수 있다.

첫 번째로 다음 식의 [[라플라스 변환]]을 취한다.
:<math>\dot{\mathbf{x}}(t) = A \mathbf{x}(t) + B \mathbf{u}(t)</math>
그리하면 다음 식이 얻어진다.
:<math>s\mathbf{X}(s) = A \mathbf{X}(s) + B \mathbf{U}(s)</math>
다음으로 <math>\mathbf{X}(s)</math>에 관하여 풀면 다음과 같다.
:<math>(s\mathbf{I} - A)\mathbf{X}(s) = B\mathbf{U}(s)</math>
:<math>\mathbf{X}(s) = (s\mathbf{I} - A)^{-1}B\mathbf{U}(s)</math>

이를 출력식의 <math>\mathbf{X}(s)</math> 자리에 대입한다.

:<math>\mathbf{Y}(s) = C\mathbf{X}(s) + D\mathbf{U}(s)</math>, 이므로
:<math>\mathbf{Y}(s) = C((s\mathbf{I} - A)^{-1}B\mathbf{U}(s)) + D\mathbf{U}(s)</math>

[[전달 함수]] <math>\mathbf{G}(s)</math>는 어떤 시스템의 입력에 대한 출력의 비로 정의되므로 아래를 취한다.
:<math>\mathbf{G}(s) = \mathbf{Y}(s) / \mathbf{U}(s)</math>
그리고 앞의 <math>\mathbf{Y}(s)</math>에 대한 식을 <math>\mathbf{U}(s)</math>에 관하여 대입한다.
:<math>\mathbf{G}(s) = C(s\mathbf{I} - A)^{-1}B + D</math>
분명히 <math>\mathbf{G}(s)</math>의 크기는 <math>q</math> 행 <math>p</math> 열이 될 것이고, 따라서 모두 <math>qp</math> 개의 요소를 가질 것이다.
따라서 모든 입력에 대해 각 출력에 하나씩, <math>q</math> 개의 전달함수가 존재한다. 이 때문에 상태 공간 표현식이 다중 입력, 다중 출력 시스템을 표현하는 데 선호된다.
=== 정규 실현 ===
어떤 주어진 전달함수의 분모의 차수가 분자의 차수 보다 크면, 다음 접근 방식으로 손쉽게 상태 공간 식으로 변환할 수 있다. (이 예는 4차원 단일 입력 단일 출력 시스템이다)
어떤 전달 함수가 주어졌을 때, 전개하여 모든 계수를 분모와 분자 모두에 표시한다. 아래와 같은 형태가 될 것이다.
:<math> \textbf{G}(s) = \frac{n_{1}s^{3} + n_{2}s^{2} + n_{3}s + n_{4}}{s^{4} + d_{1}s^{3} + d_{2}s^{2} + d_{3}s + d_{4}}</math>.

각 계수를 이제 바로 상태 공간 모델에 아래와 같이 넣어준다:
:<math>\dot{\textbf{x}}(t) = \begin{bmatrix}
                               -d_{1}& -d_{2}& -d_{3}& -d_{4}\\
                                1&      0&      0&      0\\
                                0&      1&      0&      0\\
                                0&      0&      1&      0
                             \end{bmatrix}\textbf{x}(t) +
                             \begin{bmatrix} 1\\ 0\\ 0\\ 0\\ \end{bmatrix}\textbf{u}(t)</math>
:<math> \textbf{y}(t) = \begin{bmatrix} n_{1}& n_{2}& n_{3}& n_{4} \end{bmatrix}\textbf{x}(t)</math>.
이 상태 공간 실현을 '''가제어성 정규형태'''라고 부르는데, 그 까닭은 결과로 얻어진 식이 반드시 제어 가능이기 때문이다. (즉, 제어 입력이 일련의 적분기로 들어가면 모든 상태 변수를 움직일 수 있게 된다.)
전달함수의 계수는 또한 다른 정규 형태를 구축하는 데 사용될 수 있다.
:<math>\dot{\textbf{x}}(t) = \begin{bmatrix}
                               -d_{1}&   1&  0&  0\\
                               -d_{2}&   0&  1&  0\\
                               -d_{3}&   0&  0&  1\\
                               -d_{4}&   0&  0&  0
                             \end{bmatrix}\textbf{x}(t) +
                             \begin{bmatrix} n_{1}\\ n_{2}\\ n_{3}\\ n_{4} \end{bmatrix}\textbf{u}(t)</math>

:<math> \textbf{y}(t) = \begin{bmatrix} 1& 0& 0& 0 \end{bmatrix}\textbf{x}(t)</math>.
이 상태 공간 실현은 '''가관측성 정규형태'''라고 불리는데, 그 까닭은 결과로 얻어진 식이 반드시 관측 가능하기 때문이다. (즉, 출력이 일련의 적분기를 통과한다면 모든 상태가 출력에 영향을 미친다.)

== 참고 문헌 ==
* Antsaklis, P.J. and Michel, A.N. 2007. ''A Linear Systems Primer'', Birkhauser. (ISBN 978-0-8176-4434-50)
* Chen, Chi-Tsong 1999. ''Linear System Theory and Design'', 3rd. ed., Oxford University Press ({{ISBN|0-19-511777-8}})
* Khalil, Hassan K. 2001 ''Nonlinear Systems'', 3rd. ed., Prentice Hall ({{ISBN|0-13-067389-7}})
* Nise, Norman S. 2004. ''Control Systems Engineering'', 4th ed., John Wiley & Sons, Inc. ({{ISBN|0-471-44577-0}})
* Hinrichsen, Diederich and Pritchard, Anthony J. 2005. ''Mathematical Systems Theory I, Modelling, State Space Analysis, Stability and Robustness''. Springer. ({{ISBN|978-3-540-44125-0}})
* Sontag, Eduardo D. 1999. ''Mathematical Control Theory: Deterministic Finite Dimensional Systems. Second Edition''. Springer. ({{ISBN|0-387-98489-5}}) ([http://www.math.rutgers.edu/~sontag/FTP_DIR/sontag_mathematical_control_theory_springer98.pdf available free online])
* Friedland, Bernard. 2005. ''Control System Design: An Introduction to State Space Methods''. Dover. ({{ISBN|0-486-44278-0}}).
* Zadeh, Lofti A. and Desoer, Charles A. 1979. ''Linear System Theory'', Krieger Pub Co. ({{ISBN|978-0-88275-809-1}})

;계량경제학에서의 상태 공간 모델 응용에 관해서는:

* Durbin, J. and S. Koopman (2001). ''Time series analysis by state space methods''. Oxford University Press, Oxford.

== 같이 보기 ==
* [[제어이론]]
* [[관측 가능성]]
* [[제어 가능성]]

== 참고 문헌 ==
* 권욱현, 권오규, 2003, [http://www.cemtool.co.kr/education/2_control_normalhigh/index.htm 자동제어공학]{{깨진 링크|url=http://www.cemtool.co.kr/education/2_control_normalhigh/index.htm }} Ch 9.

== 각주 ==
<references/>

[[분류:공학]]
[[분류:제어공학]]
[[분류:제어이론]]
[[분류:시간 영역 분석]]