이산 시간 시스템(Discrete-Time System)은 연속 시간 시스템과 달리, 시스템의 입력과 출력이 일정한 시간 간격으로만 계산되는 시스템을 말한다. 이산 시간 시스템은 주로 디지털 컴퓨터나 마이크로컨트롤러와 같은 장치에서 구현되며, 연속 시간 시스템을 샘플링하여 얻어진 데이터로 구성된다. 이러한 시스템은 샘플링 주기(혹은 주파수)에 따라 성능이 좌우되며, 샘플링 간격을 적절히 설정하지 않으면 시스템이 불안정해질 수 있다.
이산 시간 시스템 모델링
이산 시간 시스템은 차분 방정식으로 주로 표현된다. 이는 연속 시간 시스템에서의 미분 방정식과 유사하지만, 이산화로 인해 차분(차이)을 사용한다. 이산 시간 시스템을 나타내는 가장 일반적인 수학적 표현은 다음과 같다:
여기서: - \mathbf{x}[k]는 k-번째 샘플에서의 상태 벡터 (State Vector) - \mathbf{u}[k]는 k-번째 샘플에서의 입력 벡터 (Input Vector) - \mathbf{y}[k]는 k-번째 샘플에서의 출력 벡터 (Output Vector) - \mathbf{A}, \mathbf{B}, \mathbf{C}, \mathbf{D}는 시스템 매트릭스 (System Matrices)
이 방정식은 상태 공간 표현(State-Space Representation)으로, 시스템의 동작을 이산 시간 단계로 묘사하는 매우 중요한 도구다.
샘플링 이론
이산 시간 시스템에서 샘플링은 매우 중요한 역할을 한다. 연속 시간 신호를 이산 시간 신호로 변환하기 위해 신호를 일정한 간격으로 측정하는 과정을 샘플링(Sampling)이라고 한다. 샘플링 주기 T_s는 신호가 시간 축에서 몇 초마다 한 번씩 측정되는지를 나타내며, 이 주기가 너무 길면 중요한 신호 정보를 놓칠 수 있다. 이를 방지하기 위해 나이퀴스트 샘플링 이론(Nyquist Sampling Theorem)이 적용된다.
나이퀴스트 이론에 따르면, 샘플링 주파수 f_s는 신호의 최고 주파수 f_{max}의 두 배 이상이어야 한다:
이 조건을 만족하지 않으면, 앨리어싱(Aliasing) 현상이 발생하여 샘플링된 데이터에서 원본 신호를 정확히 재현할 수 없다.
Z 변환 (Z-Transform)
이산 시간 시스템의 해석에서 가장 중요한 도구 중 하나는 Z 변환이다. Z 변환은 이산 시간 신호를 주파수 영역에서 분석할 수 있는 방법을 제공하며, 이는 연속 시간 신호에서의 라플라스 변환(Laplace Transform)과 유사하다. 이산 시간 신호 x[k]의 Z 변환은 다음과 같이 정의된다:
여기서: - X(z)는 신호 x[k]의 Z 변환 - z는 복소수 변수
Z 변환은 시스템의 차분 방정식을 주파수 영역에서 분석하거나 안정성을 평가할 때 매우 유용하다. 특히, Z 변환은 전달 함수(Transfer Function)를 도출하는 데 중요한 역할을 한다.
전달 함수 (Transfer Function)
이산 시간 시스템에서 전달 함수는 입력과 출력 간의 관계를 주파수 영역에서 설명하는 수학적 표현이다. 연속 시간 시스템과 마찬가지로, 전달 함수는 Z 변환을 사용하여 상태 공간 표현에서 도출할 수 있다. 이산 시간 시스템의 전달 함수는 다음과 같이 정의된다:
여기서: - H(z)는 전달 함수 - Y(z)는 출력의 Z 변환 - U(z)는 입력의 Z 변환
전달 함수는 시스템의 안정성, 주파수 응답, 그리고 제어기 설계 시 중요한 도구로 활용된다. 이산 시간 시스템에서의 전달 함수는 연속 시간 시스템에서의 전달 함수와 비슷한 역할을 하지만, Z 변환을 기반으로 한다는 차이점이 있다.
이산 시간 시스템의 안정성
이산 시간 시스템에서의 안정성 평가 역시 매우 중요하다. 안정성을 분석하는 가장 대표적인 방법은 Z 평면(Z-plane)에서의 극점 위치를 조사하는 것이다. 이산 시간 시스템은 모든 극점이 단위원(단위 원)의 내부에 있을 때 안정하다고 판단한다.
극점이 위치한 Z 평면은 다음과 같이 설명할 수 있다:
이 조건을 만족하면 시스템이 안정하다는 의미이다. 즉, 시스템의 출력이 시간이 지나면서 발산하지 않고 수렴하는 것을 보장할 수 있다.
차분 방정식 (Difference Equation)
이산 시간 시스템에서 연속 시간 시스템의 미분 방정식에 해당하는 것이 바로 차분 방정식이다. 차분 방정식은 샘플링된 데이터의 시간적 변화를 나타내며, 시스템의 동작을 시간 단계별로 설명한다. 일반적인 1차 차분 방정식은 다음과 같이 표현된다:
여기서: - y[k]는 k-번째 샘플에서의 출력 - u[k]는 k-번째 샘플에서의 입력 - a와 b는 시스템 파라미터
이러한 차분 방정식은 Z 변환을 통해 주파수 영역으로 변환되며, 시스템의 전달 함수나 동작 특성을 분석하는 데 활용된다.
샘플링 및 홀드 회로 (Sampling and Hold Circuit)
이산 시간 시스템에서 연속 시간 신호를 이산 시간 신호로 변환하는 중요한 장치 중 하나가 샘플링 및 홀드 회로(Sampling and Hold Circuit)이다. 이 회로는 연속적인 신호를 주기적으로 샘플링하고, 그 값을 일정 시간 동안 유지하는 방식으로 이산화한다. 이를 통해 아날로그 신호를 디지털 신호로 변환할 수 있으며, 이산 시간 시스템에서 처리가 가능하게 된다.
샘플링된 신호는 홀드 회로를 통해 변환된다. 일반적으로 사용되는 홀드 방식은 제로 오더 홀드(Zero-Order Hold, ZOH)이다. ZOH는 각 샘플 값이 다음 샘플링 시점까지 일정하게 유지되며, 다음 샘플링에서 새로운 값을 갖게 된다.
ZOH의 모델링은 다음과 같은 수학식으로 표현할 수 있다:
여기서: - H(s)는 연속 시간에서 ZOH의 전달 함수 - s는 라플라스 변환 변수 - T는 샘플링 주기
ZOH는 디지털 제어 시스템에서 매우 중요한 역할을 하며, 특히 연속 시간 제어기에서 이산 시간 제어기로 전환할 때 시스템의 동작을 모델링하는 데 필수적이다.
이산화 방법 (Discretization Methods)
연속 시간 시스템을 이산 시간 시스템으로 변환할 때 다양한 이산화 방법을 사용한다. 이산화는 연속 시간 시스템의 모델을 이산화하여, 디지털 환경에서 처리할 수 있도록 하는 과정이다. 대표적인 이산화 방법으로는 다음과 같은 기법이 있다:
- 전진 차분법(Forward Difference Method): 연속 시간 시스템의 미분을 이산 시간 시스템에서 차분으로 근사하는 방법으로, 주로 간단한 시스템에서 사용된다.
전진 차분법에 따른 근사는 다음과 같다:
- 뒤로 차분법(Backward Difference Method): 후진 차분법은 미래의 값을 기반으로 시스템을 근사하는 방식이다. 이는 전진 차분법에 비해 더 안정적인 결과를 제공할 수 있다.
- 빌린 변환법(Bilinear Transform, Tustin’s Method): 연속 시간 시스템을 이산 시간 시스템으로 변환할 때 많이 사용되는 방법으로, 안정성 유지 및 고주파 왜곡 방지 효과가 있다.
빌린 변환의 식은 다음과 같다:
이러한 방법들은 각기 다른 시스템에 적합하며, 설계자들은 시스템의 요구 사항에 따라 적절한 이산화 기법을 선택한다.
이산 PID 제어 (Discrete PID Control)
이산 시간 시스템에서의 PID 제어기는 연속 시간 PID 제어기의 동작을 이산화하여 구현한 것이다. 이산 PID 제어의 차분 방정식은 연속 PID의 적분과 미분 연산을 차분 연산으로 변환하여 나타낼 수 있다.
이산 PID 제어기는 다음과 같은 일반적인 수식으로 표현된다:
여기서: - u[k]는 k-번째 샘플에서의 제어 입력 - e[k]는 k-번째 샘플에서의 오차 - K_p, K_i, K_d는 각각 비례(Proportional), 적분(Integral), 미분(Derivative) 이득 - T는 샘플링 주기
이 식은 연속 시간에서의 PID 제어와 유사하게 동작하지만, 이산 시간에서 적절한 성능을 내기 위해서는 샘플링 주기와 각 항의 이득을 잘 튜닝해야 한다.
이산 시간 시스템에서의 상태 천이 행렬 (State Transition Matrix)
이산 시간 시스템에서 상태 천이 행렬(State Transition Matrix)은 시스템의 상태가 시간에 따라 어떻게 변화하는지를 설명하는 중요한 도구다. 연속 시간 시스템에서의 상태 천이 행렬은 이산 시간 시스템으로 변환되면서 아래와 같이 나타낼 수 있다:
여기서: - \mathbf{\Phi}는 이산 시간 상태 천이 행렬 (Discrete-Time State Transition Matrix) - \mathbf{\Gamma}는 입력 행렬 (Input Matrix) - \mathbf{x}[k]는 k-번째 샘플에서의 상태 벡터 (State Vector) - \mathbf{u}[k]는 k-번째 샘플에서의 입력 벡터 (Input Vector)
이때 \mathbf{\Phi}와 \mathbf{\Gamma}는 연속 시간 시스템에서 이산 시간 시스템으로 변환할 때 계산되며, 이를 통해 샘플링된 시간 간격에서 시스템의 상태가 어떻게 변하는지를 예측할 수 있다.
상태 천이 행렬은 연속 시간 상태 행렬 \mathbf{A}를 기반으로 다음과 같이 계산된다:
여기서 T_s는 샘플링 주기다. 상태 천이 행렬과 입력 행렬은 이산 시간 시스템의 예측 및 제어 알고리즘을 설계할 때 핵심적인 역할을 한다.
이산 시간 시스템에서의 컨트롤러 설계
이산 시간 시스템에서 컨트롤러 설계는 연속 시간에서와 유사하게 이루어지지만, 이산 시간 특성을 고려하여야 한다. 대표적인 설계 방법으로는 상태 피드백 제어(State Feedback Control)가 있다. 이 방법은 시스템의 상태를 기반으로 제어 입력을 계산하며, 상태 천이 행렬을 이용해 시스템의 안정성과 성능을 보장한다.
상태 피드백 제어기는 다음과 같이 표현된다:
여기서 \mathbf{K}는 피드백 이득 행렬(Feedback Gain Matrix)이다. 이 이득 행렬을 적절히 설계함으로써 시스템의 상태를 원하는 값으로 제어할 수 있다.
이득 행렬 \mathbf{K}는 주로 위치 제어(Position Control), 속도 제어(Velocity Control), 그리고 안정성 보장과 같은 목적을 위해 계산된다. 일반적으로 상태 피드백 이득은 리카티 방정식(Riccati Equation)을 사용하여 최적화한다.
이산 시간 시스템에서의 상태 관측기 설계
상태 피드백 제어에서는 시스템의 상태를 정확히 알고 있어야 하지만, 실제로는 시스템의 모든 상태를 직접 측정할 수 없는 경우가 많다. 이때 상태 관측기(State Observer)를 사용하여 측정할 수 없는 상태를 추정한다.
이산 시간 시스템에서의 상태 관측기는 다음과 같이 표현된다:
여기서: - \hat{\mathbf{x}}[k]는 추정된 상태 벡터(Estimated State Vector) - \mathbf{L}은 관측기 이득 행렬(Observer Gain Matrix)
관측기 이득 행렬 \mathbf{L}은 시스템 출력 \mathbf{y}[k]와 추정된 출력 \mathbf{C} \hat{\mathbf{x}}[k] 간의 차이, 즉 잔차(Residual)를 이용해 시스템 상태를 정확히 추정할 수 있도록 설계된다. 관측기의 설계는 시스템의 상태를 더 정확하게 예측하고 제어 성능을 향상시키는 데 중요한 역할을 한다.
이산 시간 시스템의 응용
이산 시간 시스템은 다양한 실제 응용 분야에서 사용된다. 예를 들어, 디지털 제어기, 임베디드 시스템, 로봇 제어, 항공기 자동 조종 시스템 등에서 이산 시간 시스템 모델링 및 제어기 설계가 필수적이다.
특히, 이산 시간 시스템은 연속 시간 시스템에 비해 컴퓨터 연산에 더 적합하므로 디지털 신호 처리(Digital Signal Processing), 산업 제어 시스템(Industrial Control Systems), 통신 시스템(Communication Systems) 등에서 널리 사용된다.