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

ERA (Eigensystem Realization Algorithm)

by 깊은대학 2023. 3. 25.

Ho-Kalman 식별 알고리즘에서는 임펄스 반응(impulse response)을 이용하여 마코프 파라미터(Markov parameters)를 측정하였다. 그렇다면 일반적인 입출력 데이터를 이용하여 마코프 파라미터를 획득하는 방법은 없을까.

 

 

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

 

(1)xk+1=Axk+Bukyk=Cxk+Duk

 

여기서 xkRn, ukRp, ykRq, ARn×n, BRn×p, CRq×n, DRq×p 이다.

시간스텝 k 에서 출력은 다음과 같이 계산할 수 있다.

 

(2)y0=Cx0+Du0y1=Cx1+Du1=C(Ax0+Bu0)+Du1=CAx0+CBu0+Du1y2=Cx2+Du2=C(Ax1+Bu1)+Du2=CA2x0+CABu0+CBu1+Du2yk=CAkx0+i=0k1CAk1iBui+Duk

 

초기값이 0 이라고 가정하면, 즉 x0=0 이면 시간스텝 k 에서 출력은 다음과 같이 된다.

 

(3)yk=i=0k1CAk1iBui+Duk

 

식 (3)을 k=0,1,...,l1 에서 행렬 형식으로 쓰면 다음과 같다.

 

(4)y0:l1=YU

여기서

(5)y0:l1=[y0  y1  y2    yl1] Rq×lY=[D  CB  CAB    CAl2B] Rq×plU=[u0u1u2ul1u0u1ul2u0ul3u0] Rpl×l

 

이다. Uy0:l1 는 입출력 데이터로만 이루어진 행렬이고 마코프 파라미터로 구성된 행렬 Y 는 추정할 대상이다.

식 (5)에 의하면 총 식의 개수는 q×l 이고 추정해야 할 미지수 개수는 q×pl 이다. 따라서 미지수의 개수가 식의 개수보다 많기 때문에 p=1 즉 입력이 1 개일 때를 제외하고는 Y 는 무수히 많은 해가 존재하며 유일하게 계산해 낼 수 없다. 입력이 1개 이더라도 Y=y0:l1U1 이어야 하므로 U1 가 존재해야 하기 때문에 u00 이어야 하고 입력이 충분히 복잡해야 한다.

하지만 만약 행렬 A 가 안정(stable)하여서 어떤 시간스텝 kl0 에서는 Ak0 이 된다면 kl0 구간에서는 식 (3)을 다음과 같이 근사화할 수 있다.

(6)yk=i=0k1CAk1iBui+Duk=i=0kl01CAk1iBui+i=kl0k1CAk1iBui+Duki=kl0k1CAk1iBui+Duk,   kl0

 

식 (6)에 의하면 식 (4)와 (5)는 다음과 같이 근사화 된다.

 

(7)y0:l1YU

여기서

(8)y0:l1=[y0  y1  y2    yl0    yl1] Rq×lY=[D  CB  CAB    CAl01B] Rq×p(l0+1)U=[u0u1u2ul0ul1u0u1ul01ul2u0ul02ul3u0ull01] Rp(l0+1)×l

 

이다. 식 (8)에 의하면 총 식의 개수는 q×l 이고 추정해야 할 미지수 개수는 q×p(l0+1) 이다. 따라서 식 (8)에서 데이터의 길이 lp(l0+1) 이상으로 잡으면, 즉 lp(l0+1) 이면 식의 개수가 미지수의 개수보다 커지므로 행렬 Y 를 다음과 같이 근사적으로 계산할 수 있다.

(9)Y=y0:l1U+

 

여기서 U+U 의 유사 역행렬(pseudo inverse matrix)이다. 행렬 U 는 입력 데이터 ui 로 구성되어 있으므로 uiU 의 유사 역행렬이 존재할 수 있도록 충분히 복잡하게 설계되어야 한다.

식 (9)에서 계산한 마코프 파라미터를 Ho-Kalman 식별 알고리즘에 대입하면 미지의 시스템 (1)의 행렬 A,B,C,D 와 시스템 차수를 식별(identification)할 수 있다. 이와 같은 식별 방법을 ERA(eigensystem realization algorithm)이라고 한다.

 

 

식 (6)에 의하면 근사화에 의한 오차는 l0 가 커질 수록 작아질 것이다. 하지만 U 의 사이즈도 같이 커지기 때문에 유사 역행렬 U+ 를 계산하는데 어려움이 따른다. 만약 시스템이 덜 안정적일 경우, 즉 감쇄가 느리게 진행될 경우, 정수 l0 를 큰 값으로 정해야 하기 때문에 ERA 는 실용성이 떨어진다.

그렇다면 인위적으로 시스템의 안정성을 높일 방법은 없을까. 그리고 초기값이 0 이어야 한다는 제약을 푸는 방법은 없을까.

 

 

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

OKID (Observer Kalman Filter Identification)  (0) 2023.03.25
Ho-Kalman 식별 알고리즘  (0) 2023.03.24
마코프 파라미터 (Markov Parameters)  (0) 2023.03.22
[DMD-3] DMDior  (0) 2022.11.08
[DMD-2] DMDio  (0) 2022.10.31