본문 바로가기
유도항법제어/데이터기반제어

마코프 파라미터 (Markov Parameters)

by 세인트 워터멜론 2023. 3. 22.

다음과 같이 이산시간(discrete-time) 선형 시스템이 있다고 하자.

 

\[ \begin{align} & \mathbf{x}_{k+1}=A \mathbf{x}_k+B \mathbf{u}_k \tag{1} \\ \\ & \mathbf{y}_k=C \mathbf{x}_k+D \mathbf{u}_k \end{align} \]

 

여기서 \(\mathbf{x}_k \in \mathbb{R}^n\), \(\mathbf{u}_k \in \mathbb{R}^p\), \(\mathbf{y}_k \in \mathbb{R}^q\), \( A \in \mathbb{R}^{n \times n}\), \(B \in \mathbb{R}^{n \times p}\), \(C \in \mathbb{R}^{q \times n}\), \( D \in \mathbb{R}^{q \times p}\) 이다.

 

 

입력 \(\mathbf{u}_k\) 는 \(p\) 개의 성분으로 이루어진 벡터이므로 식 (1)을 다음과 같이 풀어 쓸 수 있다.

 

\[ \begin{align} & \mathbf{x}_{k+1}=A \mathbf{x}_k+ \begin{bmatrix} \mathbf{b}_1 & \mathbf{b}_2 & \cdots & \mathbf{b}_p \end{bmatrix} \begin{bmatrix} u_1(k) \\ u_2 (k) \\ \vdots \\ u_p (k) \end{bmatrix} \tag{2} \\ \\ & \mathbf{y}_k=C \mathbf{x}_k+ \begin{bmatrix} \mathbf{d}_1 & \mathbf{d}_2 & \cdots & \mathbf{d}_p \end{bmatrix} \begin{bmatrix} u_1(k) \\ u_2 (k) \\ \vdots \\ u_p (k) \end{bmatrix} \end{align} \]

 

여기서

 

\[ B = \begin{bmatrix} \mathbf{b}_1 & \mathbf{b}_2 & \cdots & \mathbf{b}_p \end{bmatrix} , \ \ D= \begin{bmatrix} \mathbf{d}_1 & \mathbf{d}_2 & \cdots & \mathbf{d}_p \end{bmatrix} \]

 

이다. 임펄스 반응(impulse response)은 초기값 \(0\) 의 조건에서, 즉 \(\mathbf{x}_0=0\) 의 조건에서 입력 \(\mathbf{u}_k\)가 임펄스로 주어졌을 때의 출력 \(\mathbf{y}_k\) 를 말한다. 이산시간에서 임펄스 신호란 다음과 같은 신호다.

 

\[ \delta_k= \begin{cases} 1, & k=0 \\ 0, & k \ne 0 \end{cases} \tag{3} \]

 

그림으로 표현하면 다음과 같다.

 

 

입력의 차원이 \(p\) 이므로 임펄스 반응을 구하기 위해서는 입력 \(\mathbf{u}_k\) 의 각 성분별로 순차적으로 임펄스 신호를 가해야 한다. 예를 들면 입력 \(\mathbf{u}_k\) 의 \(j\) 번째 구성 성분(element) \(u_j (k)\) 에만 임펄스 신호를 주고 나머지 입력의 성분은 모두 \(0\) 으로 두는 것이다.

 

\[ \mathbf{u}_k^{(j)}= \begin{bmatrix} 0 \\ \vdots \\ \delta_k \\ \vdots \\ 0 \end{bmatrix} \tag{4} \]

 

그러면 식 (2)로부터 입력이 \(\mathbf{u}_k^{(j)}\) 일 때 상태변수 \(\mathbf{x}_k^{(j)}\) 와 출력 \(\mathbf{y}_k^{(j)}\) 는 다음과 같이 된다.

 

\[ \begin{align} & \mathbf{y}_0^{(j) } =D \mathbf{u}_0^{(j) }= \begin{bmatrix} \mathbf{d}_1 & \cdots & \mathbf{d}_j & \cdots & \mathbf{d}_p \end{bmatrix} \begin{bmatrix} 0 \\ \vdots \\ \delta_0 \\ \vdots \\ 0 \end{bmatrix} = \mathbf{d}_j \tag{5} \\ \\ & \mathbf{x}_1^{(j)}=A \mathbf{x}_0^{(j)}+B \mathbf{u}_0^{(j)} =\begin{bmatrix} \mathbf{b}_1 & \cdots & \mathbf{b}_j & \cdots & \mathbf{b}_p \end{bmatrix} \begin{bmatrix} 0 \\ \vdots \\ \delta_0 \\ \vdots \\ 0 \end{bmatrix} = \mathbf{b}_j \\ \\ & \mathbf{y}_1^{(j)}=C \mathbf{x}_1^{(j)}+D \mathbf{u}_1^{(j)}=C \mathbf{b}_j \\ \\ & \mathbf{x}_2^{(j)}=A \mathbf{x}_1^{(j)}+B \mathbf{u}_1^{(j) }=A \mathbf{b}_j \\ \\ & \mathbf{y}_2^{(j) }=C \mathbf{x}_2^{(j)}+D \mathbf{u}_2^{(j)}=CA \mathbf{b}_j \\ \\ & \ \ \ \cdots \\ \\ & \mathbf{y}_k^{(j)}=CA^{k-1} \mathbf{b}_j \end{align} \]

 

입력 \(\mathbf{u}_k\) 의 모든 구성 성분 \(j=1, ..., p\) 에 차례로 임펄스 신호를 가한 후 그 반응을 모두 모아 놓으면 식 (5)에 의해서 다음과 같은 수식으로 표현할 수 있다.

 

\[ \begin{align} & \bar{\mathbf{y}}_0= [ \mathbf{y}_0^{(1)} \ \ \mathbf{y}_0^{(2)} \ \ \cdots \ \ \mathbf{y}_0^{(p)} ] = [ \mathbf{d}_1 \ \ \mathbf{d}_2 \ \ \cdots \ \ \mathbf{d}_p ]=D \tag{6} \\ \\ & \bar{\mathbf{y}}_1=[ \mathbf{y}_1^{(1) } \ \ \mathbf{y}_1^{(2) } \ \ \cdots \ \ \mathbf{y}_1^{(p) } ]= C [\mathbf{b}_1 \ \ \mathbf{b}_2 \ \ \cdots \ \ \mathbf{b}_p ]=CB \\ \\ & \bar{\mathbf{y}}_2=[ \mathbf{y}_2^{(1) } \ \ \mathbf{y}_2^{(2) } \ \ \cdots \ \ \mathbf{y}_2^{(p) } ]= CA [\mathbf{b}_1 \ \ \mathbf{b}_2 \ \ \cdots \ \ \mathbf{b}_p ]=CAB \\ \\ & \ \ \ \cdots \\ \\ & \bar{\mathbf{y}}_k=[ \mathbf{y}_k^{(1) } \ \ \mathbf{y}_k^{(2) } \ \ \cdots \ \ \mathbf{y}_k^{(p) } ] = CA^{k-1} B \end{align} \]

 

여기서 \(\bar{\mathbf{y}}_k\) 를 임펄스 반응 행렬이라고 한다.

좀 더 간단한 기호를 사용하여 식 (5), (6)의 전개 과정을 표시할 수도 있다. 다음과 같이 임펄스 행렬을 정의한 다음,

 

\[ \ \Delta_k= \begin{bmatrix} \delta_k & & & \\ & \delta_k & & \\ & & \ddots & \\ & & & \delta_k \end{bmatrix} \in \mathbb{R}^{p \times p} \tag{7} \]

 

식 (1)에 대입하면 임펄스 반응 행렬은 다음과 같이 된다.

 

\[ \begin{align} & \bar{\mathbf{y}}_0=D \Delta_0 = D \tag{8} \\ \\ & \bar{\mathbf{x}}_1 = A \bar{\mathbf{x}}_0 + B \Delta_0 = B \\ \\ & \bar{\mathbf{y}}_1 = C \bar{\mathbf{x}}_1 + D \Delta_1 = CB \\ \\ & \bar{\mathbf{x}}_2 = A \bar{\mathbf{x}}_1 + B \Delta_1 = AB \\ \\ & \bar{\mathbf{y}}_2 = C \bar{\mathbf{x}}_2 + D \Delta_2 = CAB \\ \\ & \ \ \ \cdots \\ \\ & \bar{\mathbf{y}}_k = CA^{k-1}B \end{align} \]

 

여기서

 

\[ \bar{\mathbf{x}}_k=[ \mathbf{x}_k^{(1) } \ \ \mathbf{x}_k^{(2) } \ \ \cdots \ \ \mathbf{x}_k^{(p) } ] \]

 

이이다.
식 (8)에서 임펄스 반응 행렬의 각 항인 \(D\), \(CB\), \(CAB\), \( \cdots \), \(CA^{k-1} B\) 를 마코프 파라미터(Markov parameters)라고 한다. 마코프 파라미터는 보통 기호로 다음과 같이 쓴다.

 

\[ Y_i= \begin{cases} D, & i=0 \\ CA^{i-1}B, & i > 0 \end{cases} \tag{9} \]

 

 

 

'유도항법제어 > 데이터기반제어' 카테고리의 다른 글

ERA (Eigensystem Realization Algorithm)  (0) 2023.03.25
Ho-Kalman 식별 알고리즘  (0) 2023.03.24
[DMD-3] DMDior  (0) 2022.11.08
[DMD-2] DMDio  (0) 2022.10.31
[DMD-1] 동적모드분해 (Dynamic Mode Decomposition)  (0) 2022.10.26

댓글