상태 변수의 변환
동일한 시스템에 대한 상태 변수 방정식은 여러 가지 형태가 있을 수 있다.
상태 변수의 정의에 따라서 상태 변수 방정식이 달라진다.
{X˙ = AxX+BxUY=CxX+DxU
상태변수 X로 표현된 식을 상태변수 Z로 변환하여 표현한다.
X가 X = PZ,Z = P−1X로 바꿔주는 행렬 P가 존재한다고 가정한다. 여기서 P 는 변환 행렬(transformation matrix)이다.
{Z˙ = P−1X˙ = P−1(AxX+BxU)= P−1AxPZ+P−1BxUY=CxPZ+DxU
Az,Bz,Cz,Dz를 다음과 같이 정의 한다.
Az = P−1AxP,Bz = P−1Bx,Cz = CxP,Dz=Dx
시스템은 다음과 같이 표현된다.
{Z˙ = AzZ+BzUY=CzZ+DzU
변환 행렬에 의한 새로운 상태 방정식을 만들어도 고유값은 변하지 않는다.
∣sI−Az∣ = ∣sI−P−1AxP∣= ∣sP−1P−P−1AxP∣== ∣P−1(sI−Ax)P∣= ∣P−1∣∣sI−Ax∣∣P∣= ∣sI−Ax∣
또한, 상태 변수를 바꾸어도 전달함수는 바뀌지 않는다.
G(s) = Cz(sI−Az)−1Bz+Dz= CxP(sI−P−1AxP)−1P−1Bx+Dx= CxP(sP−1P−P−1AxP)−1P−1Bx+Dx =CxP[P−1(sI−Ax)P]−1P−1Bx+Dx = CxPP−1(sI−Ax)−1PP−1Bx+Dx= Cx(sI−Ax)−1Bx+Dx
상태 변수 변환으로 제어 가능성과 관측 가능성도 바뀌지 않는다.
Mcz = [BzAzBzAz2Bz …Azn−1Bz]= [P−1BP−1APP−1B (P−1AP)2P−1B…(P−1AP)n−1P−1B]= P−1[BAB A2B…An−1B]= P−1Mcx
∣Mcz∣ = ∣P−1Mcx∣ = ∣P−1∣ ∣Mcx∣
MOZ = ⎣⎡CzCzAzCzAz2⋮CzAzn−1⎦⎤ = ⎣⎡CxPCxP(P−1AxP)CxP(P−1AxP)2⋮CxP(P−1AxP)n−1⎦⎤ = ⎣⎡CxCxAxCxAx2⋮CxAxn−1⎦⎤ P = MOXP
∣MOz∣ = ∣MOxP∣ = ∣MOx∣∣P∣
새로운 상태 변수를 정의한다는 것은 원래의 상태 변수들의 선형 조합을 취해서 새로운 독립 변수들의 상태 변수 조합을 만드는 것이다.
변환 행렬P의 역행렬이 존재해야 하는 조건은 새로 정의된 상태 변수들이 서로 독립이기 위한 필요조건이다.
상태 변수 방정식이 제어 가능하다면 제어 가능 표준형으로 변환할 수 있는 P가 항상 존재한다.
X˙ = AxX+BxU인 시스템을 제어가능 표준형인 Z˙=AzZ+BzU 시스템으로 변환하는 변환행렬 P를 계산한다.
⎣⎡z1˙z2˙⋮zn˙⎦⎤=⎣⎡ 0 0 ⋮−a0 1 0 ⋮−a1 0 1⋮ −a2 ……⋮…00⋮−an−1⎦⎤⎣⎡z1z2⋮zn⎦⎤+⎣⎡00⋮1⎦⎤u
P−1을 행벡터로 표현하면
P−1 =⎣⎡p1p2⋮pn⎦⎤
그리고,
Az=P−1AxP에 P−1을 왼쪽으로 곱하면 AzP−1=P−1Ax
⎣⎡ 0 0 ⋮−a0 1 0 ⋮−a1 0 1⋮ −a2 ……⋮…00⋮−an−1⎦⎤⎣⎡p1p2⋮pn⎦⎤ = ⎣⎡p1p2⋮pn⎦⎤Ax
위 식을 풀어서 1행부터 n-1행까지의 결과를보면,
p2 p3 ⋮pn = p1Ax= p2Ax = p1Ax2= pn−1Ax = p1Axn−1(1)
그리고, Bz=P−1Bx이므로
⎣⎡00⋮1⎦⎤= ⎣⎡p1p2⋮pn⎦⎤Bx
위 행렬을 풀어보면
p1Bx = 0p2Bx = 0⋮pn−1Bx = 0pnBx = 1(2)
(2)식에 (1)식의 결과를 적용하면
p1Bx p2Bx ⋮pn−1Bx pnBx = 0= p1AxBx = p1Axn−2Bx= p1Axn−1Bx = 0 = 0= 1(3)
(3)식을 p1으로 인수분해하면
p1[Bx AxBx … Axn−2Bx Axn−1Bx] = p1Mcx = [0 0 … 0 1]
Mcx의 인버스를 왼쪽으로 곱하면
p1 = [0 0 … 0 1]Mcx−1(4)
(4)식으로 p1을 구할 수 있다. 이 결과를 (1)식에 대입하면 P−1을 구할 수 있다.
P−1 = ⎣⎡p1p1Axp1Ax2⋮p1Axn−1⎦⎤
로그인 하면 댓글을 쓸 수 있습니다.