ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [수치해석] 수치적분, 상태 천이행렬(STM)과 해석해
    항법연구실/수치해석과 수학 2026. 4. 3. 11:33

    수치적분과 해석해의 차이가 무엇일까 ? 수치적분을 이제 듣는 나로서는 아직 어렵고 낯선 개념이었다. 

    해석해는 미분 방정식을 적분하여 정확한 함수를 얻는 것이지만 현실 세계의 복잡한 비선형 방정식들은 해석해를 구할 수 없는 경우가 훨씬 많다. 그래서 우리는 해석해와 유사한 해를 구하기 위해 수치 적분을 통한 수치해, 예측을 하는 상태 천이 행렬, 그리고 그 외의 방법을 사용할 수 있다. 

     

    자동제어, 수치해석을 배웠다면 적분을 할 수 있는 3가지 방법이 있다. 

     

    해를 구하는 방법 

    1. 해석해(Analytical Solution) 

    공식을 사용하여 정확한 함수 y = f(x)를 구하는 방법 

     

    오차가 전혀 없는 참값이다. 시스템의 성질을 수식으로 완벽히 이해할 수 있다. 

    정확한 방법이지만, 단순한 형태의 방정식에만 적용가능하고 비선형 모델은 풀 수 없는 경우가 많다. 

     

    그런데 문제는 현실 세계의 물리적, 수학적 성질은 복잡한 비선형인 경우가 많다는것 

     

     

     

    2. 수치해/수치적분(Numerical Integration)

    컴퓨터를 이용해 아주 짧은 시간 간격마다 변화율을 계산하여 숫자 값들의 집합으로 해를 구하는 방법 

     

    실무에서 가장 많이 쓰이는 방법이다. Runge-Kutta, Euler방법이 이에 해당한다. 식이 아무리 복잡해도 해를 구할 수 있다. 그러나 계산 과정에서 미세한 근사 오차가 발생하며, 간격 설정에 따라 결과가 불안정해질 수 있다. 

     

    Rk4, 출처: Numerical Methods for Engineers, 6th edition, Chapra, Canale

     

    3. 상태 천이행렬(State Transition Matrix)

    선형 시스템(x' = Ax)에서 초기 상태를 미래 상태로 변화시키는 연산 행렬을 구해 해를 찾는 방법 

     

    STM은 시스템의 물리적 법칙이 담긴 시스템 행렬 A로부터 유도된다. 이 말은 즉 고유한 동역학적 특성을 보존하고 있다는 말이다. 한 번 구하면 어떤 초기값에 대해서도 즉각적인 해 계산이 가능하다. 제어 공학(지금 배우고 있는 칼만 필터 등)의 핵심이다 !! 

     

     

     


    이외에도 라플라스 변환, 급수 해법, 변환 및 연산자 방법 등 다양하고 어렵고 복잡한 방법들이 있다. 

    그럼 선형(Linear), 비선형(Non-Linear)에 관해 짚고 넘어가면서 이와 관련한 정확도의 차이를 살펴보자 ! 

     

     

    선형 vs 비선형 

    • 선형(Linear): 변화가 직선적이고 규칙적임(예: y =ax) 
    • 비선형(Non-Linear): 변화가 곡선적이고 복잡함(예: y = sin(x), y=x², 중력 등) 

    * 수치해석에서 정의하는 선형의 의미는 다음 조건을 만족하는 것이다. 

    1. Superposition: F[x + y] = F[x] + F[y] 

    2. Homogenity: F[cx] = cF[x] 

     

     

    STM의 한계 

    STM은 기본적으로 선형 미분 방정식을 풀기 위해 고안된 도구이다. 곡선을 아주 잘게 쪼갠 짧은 구간에서 보면 직선처럼 보인다. STM은 이 짧은 구간을 직선(선형)이라고 가정하고 계산한다.

     

    이 때 기준 궤적(Refernce Trajectory)이 필요하다. 비선형 함수를 선형으로 만들기 위해 특정 지점에서 테일러 급수 전개를 하기 때문이다. 기준 시점의 상태값은 '이 근처에서는 함수가 이정도 기울기를 가진 직선이야'라고 생각하면 이해하기 편한다. 

     

    그런데 실제 상태(x)가 이 기준 시점에서 멀어질수록, 우리가 가정한 선형 조건이 급격히 깨진다. 따라서 기준점에서 멀어질수록 STM의 오차는 기하급수적으로 커지는 것이다. 

     

     

    * 수치해석과 STM에서 말하는 '짧은 시간 간격' 

    어? 그런데 이해가 되지 않는 개념이 있다. 수치해석(예를 들어 RK)에서도 아주 짧은 시간 간격동안 변화율을 가정하는데, STM과 다른게 뭐지? 

     

    STM과 수치해석의 결정적 차이는 업데이트 빈도에 달려있다. 

     

    ① STM의 방식

    • 한 번 정해진 Reference 시점의 기울기(Jacobian 행렬 A)를 통해 다음 관측이 올 때까지, 비교적 긴 시간을 한 번에 행렬 곱으로 표현한다. 이 사이 구간은 모두 선형이라고 퉁치는 것이다 !

    ② 수치 적분의 방식

    • STM이 1초를 한 번에 점프한다고 하면, 수치 적분은 그 1초를 100개, 1000개 등 구간으로 쪼갠다. 
    • 쪼개진 순간마다 새로운 위치에서 변화율을 다시 계산한다. 
    • = 아주 짧은 시간의 가정을 수천 번 반복하면서 곡선의 굴곡을 그대로 따라간다. 

    정리해보자면, 수치 적분도 결국 근사치이긴 하지만,

    함수의 비선형성을 실시간 반영하며 가는가 - 수치 적분,

    또는 한 지점의 기울기(선형)만 믿고 멀리까지 가는가 - STM 의 차이이다. 

     

     


    칼만 필터, 수치적분으로 STM을 계산하고 예측하는 과정 ? 

    현재 연구실에서 하고 있는 과정이 수치 적분을 통해 STM을 계산하는 과정이다. 현 학습의 목적은 궤도 결정 칼만 필터 구현하기 (아마도?) 미래의 위성이 어디에 위치할지(State)와 그 예측이 얼마나 부정확할지(Covariance)를 결정하는 과정이다. 

     

    그럼 순서가 수치 적분 사용해서 STM을 계산한 뒤, 이 STM을 적용해서 칼만 필터를 만들고, 칼만 필터를 사용하여 구하고자 하는 값을 예측하는 것이다. 

     

    전체 작업 순서도를 간략히 작성해보자 

    1. 모델링 및 선형화: 위성의 비선형 동역학 식을 미분하여 시스템 행렬A(Jacobian)을 계산
    2. STM계산: A행렬을 수칯적분하여 현재 시점(t=tk)에서 다음 시점(t = t(k+1))까지의 STM을 산출한다. 

    3. 칼만 필터 예측(Prediction): 

    • 상태 예측: 위성의 다음 위치(x)를 수치 적분으로 구함 
    • 오차 전파: 방금 구한 STM을 사용하여 오차 공분산(P)을 미래로 보냄 

    4. 칼만 필터 보정(Update): 실제 관측 데이터가 들어오면 예측값과 비교해 정확한 값을 결정한다. 


    배울게 참 많겠다. 어렵지만 재밌다. 해보자해보자 

Designed by Tistory.