본문 바로가기
유도항법제어/비행제어

상태공간 방정식과 전달함수

by 깊은대학 2023. 9. 22.

모든 선형 시불변 (LTI, linear time-invariant) 시스템은 다음과 같이 상태공간 방정식(state-space equation)으로 표현할 수 있다.

 

(1)x˙(t)=Ax(t)+Bu(t)y(t)=Cx(t)+Du(t),   t0

 

여기서 x(t)Rn, u(t)Rp, y(t)Rq 이고 A,B,C,D 는 상수 행렬이다.

 

 

이제 이 시스템의 해를 구해보자. 행렬지수함수의 정의에 의하면 다음 식이 성립한다.

 

(2)ddteAt=AeAt=eAtA

 

식 (1)의 양변에 eAt 를 곱하면

 

(3)eAt x˙(t)=eAtAx(t)+eAtBu(t)

 

이 되는데, 식 (2)에 의하면 식 (3)은 다음과 같이 쓸 수 있다.

 

(4)ddt(eAtx(t))=eAtBu(t)

 

식 (4)의 양변을 적분하면,

 

eAtx(t)|0t=0teAτBu(τ) dτ

 

가 된다. 위 식을 풀면

 

(5)eAtx(t)x(0)=0teAτBu(τ) dτ

 

이 되므로 식 (1)의 해는 다음과 같이 구할 수 있다.

 

(6)x(t)=eAtx(0)+0teA(tτ)Bu(τ) dτy(t)=CeAtx(0)+C0teA(tτ)Bu(τ) dτ+Du(t)

 

식 (6)에 의하면 시스템 (1)의 반응은 입력이 0 일 때(u(t)=0)의 반응인 제로-입력 반응과 초기값이 0일 때(x(0)=0)의 반응인 제로-상태 반응의 합으로 표현할 수 있다는 것을 알 수 있다 (https://pasus.tistory.com/59).

이와 같이 시간영역에서 직접 해를 구할 수 있지만 라플라스 변환(Laplace transform)을 이용하여 해를 구할 수도 있다. 식 (1)의 양변을 라플라스 변환하면 다음과 같이 된다.

 

(7)sX(s)x(0)=AX(s)+BU(s)Y(s)=CX(s)+DU(s)

 

여기서 X(s)=L[x(t)], U(s)=L[u(t)], Y(s)=L[y(t)] 이다. 식 (7)을 정리하면 다음과 같이 s-영역에서 해를 구할 수 있다.

 

(8)X(s)=(sIA)1x(0)+(sIA)1BU(s)Y(s)=C(sIA)1x(0)+C(sIA)1BU(s)+DU(s)

 

만약 초기값이 모두 0 이라면, 즉 x(0)=0, 시스템 (1)의 입출력 관계식을 다음과 같이 쓸 수 있다.

 

(9)Y(s)=C(sIA)1BU(s)+DU(s)=H(s)U(s)

 

여기서 행렬 H(s) 를 시스템의 전달함수행렬(transfer-function matrix) 또는 전달행렬이라고 한다.

 

(10)H(s)=C(sIA)1B+D

 

이제 식 (8)을 라플라스 역변환하면 x(t) 를 계산할 수 있다.

 

(11)x(t)=L1[X(s)]=L1[(sIA)1]x(0)     +L1[(sIA)1]L1[BU(s)]

 

여기서 기호는 컨볼루션(convolution)을 의미한다.

 

 

식 (10)에서 L1[(sIA)1] 를 계산하기 앞서 행렬지수함수 eAt 의 라플라스 변환부터 계산해 보자. eAt 의 정의에 의하면 라플라스 변환은 다음과 같다.

 

(12)L[eAt]=L[I+tA+t22!A2+t33!A3+]=1sI+1s2A+1s3A2+1s4A3+

 

식 (12)의 양변에 1sA 를 곱하면 다음과 같다.

 

(13)1sL[eAt]A=1s2A+1s3A2+1s4A3+

 

이제 식 (13)에서 (12)를 빼면

 

(14)L[eAt]1sL[eAt]A=1sI

 

이 되므로, L[eAt] 는 다음과 같이 계산된다.

 

(15)L[eAt]=1s(I1sA)1=[s(I1sA)]1=(sIA)1

 

식 (15)에 의하면 L1[(sIA)1]=eAt 가 됨을 알 수 있다. 따라서 식 (11)은 다음과 같이 된다.

 

(16)x(t)=eAtx(0)+eAtBu(t)=eAtx(0)+0teA(tτ)Bu(τ) dτy(t)=CeAtx(0)+C0teA(tτ)Bu(τ) dτ+Du(t)=CeAtx(0)+0t[CeA(tτ)B+Dδ(tτ)]u(τ) dτ=CeAtx(0)+0th(tτ)u(τ) dτ

 

여기서 δ(t) 는 디랙델타(Dirac-delta)함수이고 h(t) 를 임펄스반응행렬(impulse response matrix) 또는 임펄스행렬이라고 한다.

 

(17)h(t)=CeAtB+Dδ(t)

 

식 (10)과 (17)에 의하면 시스템의 전달함수행렬과 임펄스반응행렬은 다음 관계가 있음을 알 수 있다.

 

(18)H(s)=L[h(t)]

 

시스템을 수학적으로 표현하는 방법이 두가지가 있는데, 식 (1)은 상태공간 방정식으로 표현하는 방법이고, 식 (9)나 또는 식 (19)는 입출력의 관계식으로 표현하는 방법이다.

 

(19)y(t)=0th(tτ)u(τ) dτ

 

입출력의 관계식으로 표현하는 방법에서는 시스템의 초기값이 0 이라고 가정하며, 이 경우 시스템의 반응은 오로지 입력만의 영향을 받는 제로-상태 반응과 같다.

입력이 p 개 (u(t)Rp), 출력이 q 개 (y(t)Rq)인 시스템에서 임펄스반응행렬은 다음과 같이 q×p 행렬로 주어진다.

 

(20)h(tτ)=[h11(tτ)h12(tτ)h1p(tτ)h21(tτ)h22(tτ)h2p(tτ)hq1(tτ)hq2(tτ)hqp(tτ)]

 

여기서 hij(tτ) 는 다른 입력단에서의 입력값이 모두 0 이고 시간 τ 에서 j 번째 입력단에만 임펄스가 가해졌을 때 시간 t 에서 i 번째 출력단에서의 반응을 나타낸다.

 

 

전달함수행렬도 다음과 같이 q×p 행렬로 주어진다.

 

(21)H(s)=[H11(s)H12(s)H1p(s)H21(s)H22(s)H2p(s)Hq1(s)Hq2(s)Hqp(s)]

 

여기서 Hij(s)j 번째 입력에서 i 번째 출력으로의 전달함수이며 다음과 같이 계산된다.

 

(22)Hij(s)=L[hij(t)]

 

상태공간 방정식이 주어지면 식 (10)으로 전달행렬을 계산할 수 있다. 이와 반대로 전달행렬에서 상태공간 방정식을 계산할 수 있다면 그 행렬을 실현가능(realizable)하다고 하고 계산된 행렬 A,B,C,D 를 '실현(realization)' 이라고 한다.

H(s) 가 실현가능하기 위한 필요충분조건은 H(s) 가 '적절한 유리함수 행렬' (proper rational matrix)이어야 한다는 것이다. 유리함수란 다항식을 다항식으로 나눈 함수로 정의되며, 적절한 유리함수란 다항식 분모의 차수가 다항식 분자의 차수보다 크거나 같은 함수를 의미한다. H(s) 가 실현가능하다면 무수히 많은 행렬 A,B,C,D 를 구할 수 있다.

 

 

댓글