상태 변수의 변환
{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가 항상 존재한다.
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⎦⎤
Login to write a comment.