[개념] 시스템, 미분방정식, 그리고 상태 공간 모델

서쿠·2024년 9월 20일
1

딥러닝-지식

목록 보기
2/3
post-thumbnail
post-custom-banner

우리는 일상생활에서 다양한 시스템과 상호작용하고 있습니다. 동적 시스템은 그중 하나로, 시간이 지남에 따라 상태가 변화하는 시스템을 의미합니다. 상태 공간(State Space) 모델은 복잡한 동적 시스템을 이해하고 분석하는데 중요한 도구입니다. 이 모델은 시스템을 상태(state)라는 개념으로 표현하며, 이를 통해 시간에 따른 시스템의 변화를 행렬로 계산할 수 있게 합니다. 특히, 상태 공간 모델은 제어 시스템, 신호 처리 등 다양한 분야에서 사용되며, 선형 시불변 시스템(LTI, Linear Time-Invariant System)을 다룰 때 특히 유용합니다.

이번 포스트에서는 시스템부터 상태 공간 모델까지의 핵심 내용을 단계별로 정리해보겠습니다.

  • 본 포스트는 해당 강의를 수강 후에 참고해서 작성하였습니다 (링크)

1. 시스템(System)이란?

시스템여러 구성 요소들이 상호작용하여 하나의 목적을 이루기 위한 구조입니다. 시스템은 다양한 형태로 존재할 수 있으며, 입력(Input)출력(Output)을 통해 주어진 기능을 수행합니다.

  • 예를 들어:
    • 자동차는 엔진, 바퀴, 핸들 등 여러 부품들이 모여 사람을 원하는 목적지로 이동시키는 시스템입니다.
    • 컴퓨터는 CPU, 메모리, 저장 장치 등 다양한 부품이 상호작용해 프로그램을 실행하는 시스템입니다.

이처럼 시스템은 다양한 요소들이 서로 상호작용하여 결과물을 내는 복잡한 구조를 뜻합니다. 그렇다면 시스템은 어떻게 구분이 될까요?


2. 시스템의 분류

시스템은 여러 기준에 따라 다양한 방식으로 분류될 수 있습니다. 시스템의 성질로 아래와 같이 구분할 수 있습니다. (정보통신기술용어해설 - 링크)

ㅇ `선형` 또는 `비선형`
   - 입출력이 직선 비례 관계가 있는지에 따라 구분

ㅇ `시변` 또는 `시불변`
   - 시간에 따라 시스템 특성이 변하는지 여부에 따라 구분

ㅇ `인과성` 또는 `비인과성`
   - 현재 출력이 현재 및 과거의 입력에 만 의존하는지 여부에 따라

ㅇ `동적시스템` 또는 `정적시스템`
   - 시스템 변수가 시간에 따라 변하는지 여부에 따라

ㅇ `재귀적` 또는 `비재귀적`
   - 출력이 다시 입력으로 사용되는지 여부에 따라 구분

ㅇ `연속시간시스템` 또는 `이산시간시스템`
   - 시스템 입출력이 모두 연속신호인지 여부에 따라

ㅇ `일변수 시스템` 또는 `다변수 시스템`
   - 일변수 시스템 : 단일 입력, 단일 출력를 갖는 시스템
   - 다변수 시스템 : 여러 입력 및 출력을 갖는 시스템 (다변수 함수)

저는 그 중에서도 동적시스템 또는 정적시스템에 집중해서 좀 살펴보도록 하겠습니다.

2.1 동적 시스템(Dynamic System)

동적 시스템시간이 지남에 따라 상태가 변하는 시스템을 의미합니다. 동적 시스템에서는 시간에 따른 변화가 중요한 역할을 합니다. 이러한 시스템은 입력에 따라 상태가 변화하고, 그에 따라 출력도 달라집니다.

  • 예를 들어:

    • 자동차의 속도는 가속 페달을 밟거나 브레이크를 밟는 입력에 따라 시간이 지남에 따라 변합니다.

    • 로봇의 팔 움직임은 현재 위치와 움직임 속도에 따라 시간이 지남에 따라 변화하는 동적 시스템입니다.

동적 시스템은 복잡한 물리적 시스템에서 자주 등장하며, 뒤에 나올 시스템의 상태(State)시간이 지남에 따라 계속해서 변하게 됩니다.

2.2 정적 시스템(Static System)

정적 시스템은 동적 시스템의 반대 개념으로, 시간이 지남에 따라 상태가 변하지 않는 시스템입니다. 즉, 현재의 입력이 주어지면 즉시 그에 따른 출력이 결정되며, 상태 변화가 시간이 지나도 관찰되지 않습니다.

  • 예를 들어:

    • 냉장고는 내부 온도를 일정하게 유지하는 정적 시스템입니다. 냉장고가 설정된 온도를 유지하는 동안에는 상태가 시간이 지나도 크게 변화하지 않기 때문에 정적 시스템이라고 할 수 있습니다.

    • 전기저항 회로: 일정한 저항 값을 가지는 회로는 입력된 전압에 대해 즉시 출력 전류가 결정되며, 시간이 지남에 따라 상태가 변하지 않기 때문에 정적 시스템입니다.

정적 시스템은 입력에 대한 즉각적인 출력만을 다루기 때문에, 동적 시스템처럼 상태 변화가 시간에 따라 진화하는 것을 고려하지 않습니다.


3. State(상태)란 무엇인가?

동적 시스템에서 State(상태)는 시스템의 현재 상태를 나타내는 변수들의 집합입니다. 이 변수들은 시스템이 특정 시점에 어디에 있는지, 어떤 상황에 처해 있는지를 설명합니다. State는 과거의 입력 정보와 시스템의 동작을 반영한 압축된 정보로, 현재 상태만 알고 있어도 과거 입력 정보를 따로 기억하지 않고 미래의 시스템 동작을 예측할 수 있습니다.

🤔 정적 시스템에서의 "State"

  • 정적 시스템에서는 입력에 대응하여 즉시 결정되는 출력만이 존재하기 때문에, 상태라는 개념이 시간에 따른 변화보다는 현재의 출력 상태를 의미할 수 있습니다. 즉, 입력에 의해 결정된 고정된 출력 값이 상태라고 볼 수 있습니다.
    • 예를 들어, 저항 값이 고정된 전기 회로에서 전압이 주어지면 전류가 즉시 결정됩니다.
      • 이때 시스템의 상태는 입력 전압에 의해 결정된 출력 전류라고 할 수 있습니다.
      • 하지만 동적 시스템처럼 시간이 지남에 따라 변화하는 "상태"와는 차이가 있습니다.

3.1 State의 역할

State는 동적 시스템을 이해하고 제어하는 데 필수적인 개념입니다. 현재의 State입력 정보를 통해 시스템의 미래 동작을 예측할 수 있기 때문에, 상태 방정식(State Equations)상태 공간 표현(State-Space Representation)은 시스템의 동작을 수학적으로 모델링하고 분석하는 데 매우 유용합니다.

  • 기억의 요약: State는 시스템의 현재 상황을 나타내는 동시에, 시스템이 과거에 어떻게 변화했는지를 반영한 요약 정보입니다. 이 정보만으로도 시스템의 향후 동작을 예측할 수 있기 때문에, 과거의 입력을 모두 기억할 필요는 없습니다.
  • 최소 변수 집합: State는 시스템의 동작을 설명하는 데 필요한 최소한의 변수들로 구성됩니다. 즉, 불필요한 중복 없이 시스템의 미래 동작을 예측하는 데 충분한 정보를 담고 있습니다. 예를 들어, 자동차의 현재 속도위치를 알면 미래의 위치와 속도를 예측할 수 있는 것처럼, 상태는 시스템을 간결하게 설명하는 도구입니다.

참고자료(Youtube 수업자료)

3.2 State의 예시

  • 자동차 시스템: 자동차의 현재 속도위치가 그 상태를 정의합니다. 가속 페달을 밟거나 핸들을 조작하는 입력에 따라 이 상태가 변하게 되며, 이를 통해 향후 위치나 속도를 예측할 수 있습니다.
  • 로봇 팔 시스템: 로봇 팔의 현재 각도속도가 상태를 나타냅니다. 주어진 명령(입력)에 따라 로봇 팔이 움직이며, 상태가 시간에 따라 변해갑니다.

4. 동적 시스템의 분류

동적 시스템도 여러 가지 기준에 따라 분류할 수 있습니다.

가장 일반적인 분류는 선형 시스템(Linear System)비선형 시스템(Nonlinear System)으로 나뉩니다.

구분비선형 시스템 (Nonlinear System)선형 시스템 (Linear System)
방정식 형태비선형 함수로 상태 변화를 표현선형 행렬로 상태와 출력을 표현
상태 방정식x˙(t)=f(x(t),u(t),t)\dot{x}(t) = f(x(t), u(t), t)x˙(t)=Ax(t)+Bu(t)\dot{x}(t) = A x(t) + B u(t)
출력 방정식없음 (상태 방정식에 종속적)y(t)=Cx(t)+Du(t)y(t) = C x(t) + D u(t)
적용 사례복잡한 물리적, 생물학적 시스템전기 회로, 기계 시스템, 자동 제어 시스템

각각에 대해서 좀 더 자세하게 살펴보겠습니다.


4.1 비선형 시스템(Nonlinear System)

비선형 시스템은 입력과 출력의 관계가 비선형적인 시스템입니다. 즉, 입력을 두 배로 하더라도 출력이 선형적으로 증가하지 않으며, 복잡한 상호작용이 존재합니다. 많은 물리적, 생물학적 시스템들은 비선형적 특성을 가지며, 분석하기 더 복잡합니다.

특징:
1. 입력과 출력 사이의 관계가 비선형적입니다.
2. 중첩의 원리가 적용되지 않습니다.
3. 입력의 변화에 따른 출력의 변화가 비례적이지 않습니다.

비선형 시스템은 다음과 같은 State 방정식으로 표현할 수 있습니다:

x˙(t)=f(x(t),u(t),t)\dot{x}(t) = f(x(t), u(t), t)

여기서 ff는 함수로, 상태 변수 x(t)x(t), 입력 변수 u(t)u(t), 그리고 시간 변수 tt에 의존하는 비선형 함수입니다. 그리고 x˙(t)\dot{x}(t)시간에 대한 상태 변수의 변화율을 나타냅니다. 이러한 방정식을 통해 시스템의 비선형적인 상태 변화 과정을 모델링할 수 있습니다.

4.2 선형 시스템(Linear System)

선형 시스템은 입력과 출력의 관계가 선형적인 시스템입니다. 즉, 입력을 두 배로 하면 출력도 두 배로 커지는 등의 선형적 특성을 갖습니다. 선형 시스템의 가장 큰 특징은 분석과 제어가 매우 용이하다는 점입니다.

특징:
1. 입력과 출력 사이의 관계가 선형적입니다.
2. 중첩의 원리가 적용됩니다. 즉, 여러 입력의 합에 대한 출력은 각 입력에 대한 출력의 합과 같습니다.
3. 입력의 크기를 α배 하면 출력도 정확히 α배가 됩니다.

선형 시불변 시스템(LTI: Linear Time-Invariant System)은 시간에 따라 변하지 않고 항상 동일한 방식으로 작동하는 선형 시스템입니다. LTI 시스템이 시불변이라고 해서 동적 시스템의 정의에 반하는 것은 아닙니다.

여기서 중요한 점은:

  • 시스템의 특성 vs 시스템의 상태: LTI 시스템에서 '시불변'이란 시스템의 특성이 변하지 않는다는 것이지, 시스템의 상태가 변하지 않는다는 의미가 아닙니다.
  • 입력에 따른 변화: LTI 시스템도 입력에 따라 출력이 변화합니다. 다만, 그 변화의 방식이 시간에 관계없이 일정합니다.

위와 같은 이유로 LTI 시스템은 동적 시스템의 특별한 경우로 볼 수 있습니다. 시스템의 특성은 변하지 않지만, 시스템의 상태는 여전히 시간에 따라 변화할 수 있습니다. ( ∴ 동적시스템입니다 )

선형 시스템은 다음과 같은 상태 공간 표현(State Space Representation)을 사용해 수학적으로 쉽게 분석할 수 있습니다.

  • 상태 방정식:
    x˙(t)=Ax(t)+Bu(t)\dot{x}(t) = A x(t) + B u(t)

참고자료(Youtube 수업자료)

  • 출력 방정식:
    y(t)=Cx(t)+Du(t)y(t) = C x(t) + D u(t)

여기서 x(t)x(t)는 상태 벡터, u(t)u(t)는 입력 벡터, y(t)y(t)는 출력 벡터이며, AA, BB, CC, DD는 시스템의 특성을 나타내는 행렬입니다. 여기도 마찬가지로 x˙(t)\dot{x}(t)시간에 대한 상태 변수의 변화율을 나타냅니다. 그리고, y(t)y(t)출력 변수로, 현재 상태 x(t)x(t)와 입력 u(t)u(t)에 의해 결정된 시스템의 출력을 나타냅니다. 즉, 시스템이 외부로 내보내는 관찰 가능한 결과입니다.

두 방정식은 모두 선형 행렬 연산을 사용하는 수학적 형식은 유사하나, 그 목적과 사용하는 맥락은 다릅니다.

  • 상태 방정식은 시스템 내부의 동적인 상태 변화를 기술하는 데 사용되고,
  • 출력 방정식은 외부로 관찰되는 결과를 계산하는 데 사용됩니다.

아래와 같이 블록 다이어그램으로도 표기할 수 있습니다:

가운데 적분기(블록에 표시된 1s\frac{1}{s})는 상태 공간 표현에서 상태 변화율(derivative)를 적분하여 현재 상태(state)를 구하기 위해 들어갑니다. 적분기는 동적 시스템에서 변화율(미분된 값)을 적분해서 실제 상태 값을 구하는 역할을 합니다.


5. 상태 전이 행렬 (State Transition Matrix)

Transition Matrix (전이 행렬 또는 상태 천이 행렬)는 주로 호모지니어스 시스템에서 사용됩니다. 그러나, 비호모지니어스 시스템에서도 중요한 역할을 할 수 있습니다. 전이 행렬의 기본적인 개념은 시스템의 상태가 시간에 따라 어떻게 변화하는지를 나타내는 것입니다. 이를 통해 호모지니어스 시스템뿐만 아니라, 외부 입력이 있는 비호모지니어스 시스템에서도 시스템 상태를 계산하는 데 사용할 수 있습니다.

5.1. 호모지니어스 시스템이란?

호모지니어스 시스템(Homogeneous System)입력이 없는 동적 시스템을 의미합니다. 즉, 외부로부터 주어지는 입력이 0일 때, 시스템이 자체적으로 어떻게 변화하는지를 설명하는 시스템을 호모지니어스 시스템이라고 합니다. 이 시스템에서는 외부 자극 없이 시스템 자체의 특성에 의해 상태가 시간에 따라 변하게 됩니다.

동적 시스템의 상태 방정식은 일반적으로 다음과 같은 형태로 주어집니다:

x˙(t)=Ax(t)+Bu(t)\dot{x}(t) = A x(t) + B u(t)

여기서:

  • x˙(t)\dot{x}(t)는 상태 변화율 (상태가 시간에 따라 어떻게 변하는지)
  • AA는 상태 행렬 (시스템의 동적 특성)
  • x(t)x(t)는 상태 벡터 (현재 시스템의 상태)
  • BB는 입력 행렬 (입력 u(t)u(t)가 시스템에 미치는 영향)
  • u(t)u(t)는 입력 벡터

호모지니어스 시스템에서는 입력 u(t)=0u(t) = 0이므로, 상태 방정식이 단순화됩니다:

x˙(t)=Ax(t)\dot{x}(t) = A x(t)

즉, 외부 입력 없이 상태가 상태 행렬 AA에 의해서만 변화합니다. 시스템의 동작은 입력 없이, 시스템의 내부 동적 특성에 따라 결정됩니다.

5.2. Transition Matrix (전이 행렬)란?

전이 행렬 Φ(t)\Phi(t)시스템의 상태가 시간이 지남에 따라 어떻게 변화하는지를 나타내는 행렬입니다. 상태 방정식이 다음과 같은 형태일 때:

x˙(t)=Ax(t)\dot{x}(t) = A x(t)

전이 행렬 Φ(t)\Phi(t)는 초기 상태 x(0)x(0)에서 tt 시점까지 상태의 변화를 나타내며, 상태 벡터 x(t)x(t)를 다음과 같이 표현합니다:

x(t)=Φ(t)x(0)x(t) = \Phi(t) x(0)

여기서 전이 행렬 Φ(t)\Phi(t)는 다음과 같이 정의됩니다:

Φ(t)=eAt\Phi(t) = e^{At}

증명:

이는 행렬 지수 함수(matrix exponential)로, 상태 행렬 AA와 시간이 결합된 형태입니다.

5.3. 호모지니어스 시스템에서의 전이행렬

호모지니어스 시스템에서는 입력 u(t)=0u(t) = 0이므로 상태 방정식이 단순화됩니다:

x˙(t)=Ax(t)\dot{x}(t) = A x(t)

이 경우, 전이 행렬 Φ(t)\Phi(t)초기 상태 x(0)x(0)에서 시간 tt에 따라 상태가 어떻게 변화하는지를 설명합니다. 여기서 전이 행렬은 시스템의 내부 동작을 나타내며, 외부 입력이 없을 때 상태가 어떻게 자연적으로 변하는지를 설명합니다.

호모지니어스 시스템에서는 전이 행렬만으로 상태 벡터를 계산할 수 있습니다:

x(t)=Φ(t)x(0)x(t) = \Phi(t) x(0)

상태 전이 행렬의 성질에 대해 자세히 설명해 보겠습니다. 상태 전이 행렬은 시간에 따른 시스템 상태의 진화를 설명하는 행렬입니다. 이는 선형 시스템의 경우 특히 중요하며, 시스템의 동적 행동을 예측하는 데 사용됩니다.

5.4. 상태 전이 행렬의 성질

  1. Φ(0)=I\Phi(0) = I

    • 상태 전이 행렬 Φ(t)\Phi(t)의 가장 기본적인 성질은 t=0t=0에서의 값입니다. Φ(0)=I\Phi(0) = I에서 II는 항등 행렬을 나타냅니다. 이는 시간 t=0t=0에서 시스템의 상태가 변하지 않음을 의미합니다. 즉, 초기 상태 x(0)x(0)에서의 시스템 상태는 그대로 x(0)x(0)이며, 어떤 외부적 변화도 적용되지 않았을 때 시스템은 자신의 초기 상태를 유지합니다.
  2. Φ(t)=Φ1(t)\Phi(-t) = \Phi^{-1}(t)

    • 이 성질은 상태 전이 행렬이 시간의 역전에 따라 그 역행렬과 같다는 것을 나타냅니다. 시스템이 어떤 시점 tt에서 특정 상태에 도달했다면, Φ(t)\Phi(-t)를 적용하면 시스템을 초기 상태로 되돌릴 수 있습니다. 이는 시스템의 시간 역행동을 모델링하는 데 유용하며, 시스템의 복원력과 역동적 성질을 이해하는 데 도움을 줍니다.
  3. Φ(t1+t2)=Φ(t1)Φ(t2)\Phi(t_1 + t_2) = \Phi(t_1) \Phi(t_2)

    • 이 성질은 상태 전이 행렬의 복합적 시간 진화를 나타냅니다. 즉, 시스템이 시간 t1t_1 동안 상태 변화를 거쳤다면 Φ(t1)\Phi(t_1)을 적용한 상태에서 추가적으로 t2t_2만큼 시간이 지남에 따라 Φ(t2)\Phi(t_2)를 또 적용하는 것과 같습니다. 이는 상태 전이 행렬이 선형 시스템의 시간에 따른 동적 변화를 "연속적"으로 설명할 수 있음을 의미합니다.

잠깐 이론 배경 타임 시간입니다! 오랜만에 수학하다보니 저도 헷갈려서 좀 정리를 해보는 시간을 가졌습니다 📖 (🚫공학수학 보기 싫으신 분은 여기서 STOP!!🚫)

6. 미분방정식(Differential Equation)

미분방정식은 수학, 물리학, 공학 등 다양한 분야에서 널리 사용되는 중요한 도구입니다. 특히, 자연 현상이나 시스템의 변화율을 설명하는 데 필수적인 역할을 하죠.

이번 포스팅에서는 그중에서도 상미분방정식(ODE, Ordinary Differential Equation)과 이를 기반으로 하는 State Space Model(상태 공간 모델), 그리고 이 모델을 디지털 환경에서 계산하기 위해 필요한 이산화(Discretization) 과정에 대해 살펴보겠습니다. 미분방정식의 기본 개념부터 이들이 실생활에 어떻게 적용되는지까지 차근차근 정리해보겠습니다.

6.1 미분방정식의 정의

미분방정식미지의 함수와 그 함수의 변화율(도함수)을 포함하는 방정식입니다.

  • 예를 들어, 어떤 시스템에서 시간에 따른 물체의 위치나 속도가 어떻게 변하는지를 설명할 때, 이러한 관계를 수식으로 표현한 것이 미분방정식입니다. 미분방정식은 주로 자연 현상이나 공학적 문제에서 시스템이 시간이 지남에 따라 어떻게 변화하는지를 설명하는 데 사용됩니다.

  • 미분방정식은 크게 두 가지로 나눌 수 있습니다:

    1. 상미분방정식(ODE): 하나의 독립 변수(시간 또는 공간)에 대한 함수의 미분을 다루는 방정식입니다.

    2. 편미분방정식(PDE): 두 개 이상의 독립 변수에 대한 함수의 편미분을 포함하는 방정식으로, 복잡한 시스템의 변화를 설명하는 데 사용됩니다.

  • 정리:

개념상미분방정식(ODE)편미분방정식(PDE)
독립 변수의 수하나둘 이상
주로 다루는 문제시간에 따른 변화시간과 공간에 따른 변화
예시dvdt=g\frac{dv}{dt} = -gut=α2ux2\frac{\partial u}{\partial t} = \alpha \frac{\partial^2 u}{\partial x^2}

오늘은 그 중 SSM(State Space Model)과 상관있는 상미분방정식에만 집중해보겠습니다.

7. 상미분방정식(ODE, Ordinary Differential Equation)

7.1 상미분방정식의 정의

상미분방정식하나의 독립 변수에 대한 미지의 함수와 그 함수의 도함수를 포함하는 방정식입니다.

  • 독립 변수는 보통 시간(tt)이거나 공간 좌표(xx)일 수 있습니다. 상미분방정식은 시스템의 시간에 따른 변화를 설명할 때 주로 사용됩니다.

  • 예를 들어, 자유낙하하는 물체의 속도는 시간이 지남에 따라 변합니다. 이때 속도의 변화율을 설명하는 상미분방정식은 다음과 같습니다:

    dv(t)dt=g\frac{dv(t)}{dt} = -g

    여기서:

    • v(t)v(t)는 시간 tt에서의 속도,
    • dv(t)dt\frac{dv(t)}{dt}는 속도의 변화율(가속도),
    • gg는 중력가속도(약 9.8 m/s²).

    위 방정식은 하나의 독립 변수(시간 tt)만 다루므로 상미분방정식입니다.


8. State Space Model(상태 공간 모델)이란?

그렇다면 다시 본론으로 돌아가서 시스템과 관련된 이야기를 해보죠 🔎

8.1 State Space Model의 정의

State Space Model(상태 공간 모델)은 동적 시스템을 수학적으로 나타내는 대표적인 방식입니다. 이를 통해 시스템의 상태, 입력, 출력 간의 관계를 선형 대수의 형태로 표현할 수 있습니다. 특히, 선형 시불변 시스템(LTI: Linear Time-Invariant System)을 수식적으로 나타내기 위해 널리 사용되며, 시스템의 동적인 성질을 정확하게 파악할 수 있습니다.

State Space Model은 두 가지 방정식(상태방정식/출력방정식)으로 표현됩니다:

상태 방정식(State Equation):

x˙(t)=Ax(t)+Bu(t)\dot{x}(t) = A x(t) + B u(t)

출력 방정식(Output Equation):

y(t)=Cx(t)+Du(t)y(t) = C x(t) + D u(t)

여기서:

  • x(t)x(t)는 시간 tt에서의 상태 벡터입니다.
  • x˙(t)\dot{x}(t)는 상태 벡터의 변화율(미분)입니다.
  • u(t)u(t)입력 벡터로 시스템에 주어지는 외부 신호입니다.
  • A,B,C,DA, B, C, D는 시스템의 특성을 나타내는 행렬입니다.

💡여기서 잠깐!
State Space Model의 상태 방정식이 상미분방정식(ODE)의 형태로 표현되어있는 것을 확인할 수 있습니다. 이는 시스템의 상태 변화율을 의미하며, 이를 통해 시스템의 상태가 어떻게 시간에 따라 변하는지(동적인 성질)를 분석할 수 있습니다.

  • 예를 들어, 어떤 시스템의 위치와 속도를 설명하는 상태 공간 모델은 다음과 같이 표현될 수 있습니다:

    x˙(t)=(0100)x(t)+(01)u(t)\dot{x}(t) = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} x(t) + \begin{pmatrix} 0 \\ 1 \end{pmatrix} u(t)

    이 모델은 속도와 가속도를 기반으로 시스템의 위치 변화를 예측할 수 있습니다.

  • (해석) State Space Model에서 속도와 가속도의 개념은 상태 벡터상태 변화율로 나타낼 수 있습니다. 예를 들어, 물체의 위치와 속도를 다루는 시스템을 설명할 때, 상태 벡터를 다음과 같이 정의할 수 있습니다:

    • x1(t)x_1(t): 시간 tt에서의 위치
    • x2(t)x_2(t): 시간 tt에서의 속도

    이때 상태 벡터 x(t)x(t)는 다음과 같이 표현됩니다:

    x(t)=(x1(t)x2(t))=(위치속도)x(t) = \begin{pmatrix} x_1(t) \\ x_2(t) \end{pmatrix} = \begin{pmatrix} \text{위치} \\ \text{속도} \end{pmatrix}

    => 상태 변화율 x˙(t)\dot{x}(t)는 시스템의 상태가 시간에 따라 얼마나 빠르게 변하는지(즉, 속도와 가속도)를 나타냅니다.

    이 시스템에서:

    • x1˙(t)=x2(t)\dot{x_1}(t) = x_2(t): 위치 x1(t)x_1(t)의 변화율, 즉 속도입니다.
    • x2˙(t)\dot{x_2}(t): 속도 x2(t)x_2(t)의 변화율, 즉 가속도입니다.

    따라서, 시스템이 위치와 속도를 다루는 경우, 속도는 위치의 변화율(도함수)이고, 가속도는 속도의 변화율(도함수)입니다.

    다시 예제로 돌아가서 본다면:

    x˙(t)=(0100)x(t)+(01)u(t)\dot{x}(t) = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} x(t) + \begin{pmatrix} 0 \\ 1 \end{pmatrix} u(t)

    이 방정식에서:

    • 첫 번째 상태 x1(t)x_1(t)위치이고, 그 변화율 x1˙(t)\dot{x_1}(t)속도x2(t)x_2(t)입니다.

    • 두 번째 상태 x2(t)x_2(t)속도이고, 그 변화율 x2˙(t)\dot{x_2}(t)가속도입니다.

    따라서 이 모델에서 속도는 위치의 변화율을 나타내고, 가속도는 속도의 변화율을 나타내는 것이죠.

9. 이산화(Discretization)란?

9.1 이산화의 필요성

State Space Model(상태 공간 모델)은 시스템의 상태를 연속적인 시간에 따라 변화하는 방식으로 설명합니다. 하지만 실제로는 대부분의 컴퓨터나 디지털 제어 시스템은 연속적인 시간을 직접 처리할 수 없기 때문에, 이 모델을 이산화(Discretization) 과정으로 변환할 필요가 있습니다. 이산화는 연속적인 시간 축에서 발생하는 변화를 이산적인 시간 간격으로 나누어 분석하고 계산하는 과정입니다.

예를 들어, 현실에서 연속적으로 변화하는 물리적 시스템의 상태를 모델링할 때, 시간 간격을 매우 작은 단위로 나누어 해당 시점마다 시스템의 상태를 계산하게 됩니다. 이를 통해 우리는 연속적으로 발생하는 변화를 디지털 환경에서 처리할 수 있게 됩니다. 이산화는 실제로 사용하는 모든 디지털 제어 시스템(로봇 제어, 항공기 제어 등)에서 중요한 역할을 하며, 주로 컴퓨터에 의해 계산되는 방식입니다.

9.2 연속 시간에서 이산 시간으로 변환

State Space Model을 이산화하면, 시간의 연속적인 변화가 다음과 같이 이산적인 표현으로 바뀝니다:

xt+1=Aˉxt+Bˉutx_{t+1} = \bar{A} x_t + \bar{B} u_t
yt=Cxt+Duty_t = C x_t + D u_t

여기서:

  • xtx_t는 현재 시간 tt에서의 상태를 나타내며, xt+1x_{t+1}은 다음 시간 t+1t+1에서의 상태입니다.
  • Aˉ\bar{A}Bˉ\bar{B}는 연속 시간 시스템의 AABB 행렬을 이산화한 결과로서, 이산 시스템에서 상태와 입력의 영향을 나타냅니다.
  • utu_t는 현재 시간 tt에서의 입력 벡터이고, yty_t는 출력입니다.

이러한 이산화된 방정식은 연속 시스템의 동작을 이산 시간에서 근사하는 방식으로 계산하는 것입니다.

9.3 (예시) 오일러 방법을 사용한 이산화

이산화 방법 중 가장 기본적이고 많이 사용되는 방법이 오일러 방법(Euler Method)입니다. 오일러 방법은 연속적인 미분방정식의 변화를 작은 시간 간격 Δt\Delta t로 나누어, 각 시간 구간에서의 상태 변화를 근사합니다.

연속 시간에서의 상미분방정식:

x˙(t)=Ax(t)+Bu(t)\dot{x}(t) = A x(t) + B u(t)

여기서 x˙(t)\dot{x}(t)는 시간에 따른 상태 변화율을 나타냅니다. 오일러 방법에서는 이 상태 변화율을 다음 시간 상태로 근사하는 방식으로 계산합니다. 즉, x˙(t)\dot{x}(t)Δt\Delta t 동안의 상태 변화로 변환하면 다음과 같이 표현됩니다:

x(t+Δt)x(t)+Δtx˙(t)x(t + \Delta t) \approx x(t) + \Delta t \cdot \dot{x}(t)

x˙(t)\dot{x}(t)의 값을 상미분방정식에 대입하면:

x(t+Δt)x(t)+Δt(Ax(t)+Bu(t))x(t + \Delta t) \approx x(t) + \Delta t \cdot (A x(t) + B u(t))

따라서 오일러 방법을 통해 이산화한 방정식은 다음과 같이 표현됩니다:

xt+1=(I+ΔtA)xt+ΔtButx_{t+1} = (I + \Delta t \cdot A) x_t + \Delta t \cdot B u_t

여기서 II는 항등 행렬(identity matrix)이며, 이 식은 상태 변화율을 작은 시간 간격 Δt\Delta t로 근사하여 연속 시스템을 이산 시스템으로 변환한 것입니다. 이를 통해 컴퓨터나 디지털 제어 시스템에서 이산 시간마다 시스템의 상태를 업데이트할 수 있습니다.

10. 오일러 이산화 증명 (참고)

오일러 이산화 과정은 다음과 같이 단계별로 정리될 수 있습니다:

1. 연속적인 상태 공간 방정식

주어진 연속적인 상태 공간 방정식은 다음과 같습니다:

x˙(t)=Ax(t)+Bu(t)\dot{x}(t) = A x(t) + B u(t)
y(t)=Cx(t)+Du(t)y(t) = C x(t) + D u(t)

2. Euler 방법 적용 (미분을 차분으로 근사)

시간 차분으로 미분을 근사합니다:

x˙(t)x(t+Δ)x(t)Δ\dot{x}(t) \approx \frac{x(t + \Delta) - x(t)}{\Delta}

이를 연속적인 상태 방정식에 대입합니다:

x(t+Δ)x(t)Δ=Ax(t)+Bu(t)\frac{x(t + \Delta) - x(t)}{\Delta} = A x(t) + B u(t)

3. 양변에 Δ\Delta를 곱하여 정리

위 식에서 양변에 Δ\Delta를 곱해줍니다:

x(t+Δ)x(t)=Δ(Ax(t)+Bu(t))x(t + \Delta) - x(t) = \Delta (A x(t) + B u(t))

4. x(t+Δ)x(t + \Delta)에 대해 정리

x(t+Δ)x(t + \Delta)에 대해 정리하면:

x(t+Δ)=x(t)+Δ(Ax(t)+Bu(t))x(t + \Delta) = x(t) + \Delta (A x(t) + B u(t))

5. 행렬 II를 사용한 표현

x(t+Δ)x(t + \Delta)를 행렬 II를 사용하여 다음과 같이 나타냅니다:

x(t+Δ)=(I+ΔA)x(t)+ΔBu(t)x(t + \Delta) = (I + \Delta A) x(t) + \Delta B u(t)

6. 이산화된 상태 방정식

이 식을 이산화된 시간 표현으로 변환하면 최종적으로 다음과 같은 상태 방정식을 얻게 됩니다:

xt=Aˉxt1+Bˉutx_t = \bar{A} x_{t-1} + \bar{B} u_t
yt=Cxty_t = C x_t

여기서:

Aˉ=I+ΔA,Bˉ=ΔB\bar{A} = I + \Delta A, \quad \bar{B} = \Delta B

결론

이번 포스트에서는 상태 공간 모델의 기본 개념과 이를 활용한 시스템 분석 방법을 소개했습니다. 상태 공간 모델은 복잡한 동적 시스템을 간단한 수학적 표현으로 다루는 강력한 도구입니다. 특히, 선형 시불변 시스템(LTI)에서 상태 전이 행렬을 통해 시스템의 미래 상태를 예측하는 것이 핵심입니다.

이 모델은 다양한 분야에서 사용되며, 이를 잘 활용하면 복잡한 시스템을 더 쉽게 이해하고 제어할 수 있습니다. 이번 포스트는 추후 Mamba에서 SSM(State Space Model)이 주요한 개념으로 나오게 되다보니 공부를 해보며 작성을 해보았습니다 🤗

읽어주셔서 감사합니다!

profile
Always be passionate ✨
post-custom-banner

0개의 댓글