5.1 Discrete-Time System
5.1.1 이산 블록
Sine Wave
블록을 더블클릭하고 샘플 시간 파라미터를 0.25로 변경한다.
아이콘이 바뀌고 이산 신호를 출력하는 이산 블록이 되었다.
5.1.2 Unit Delay 블록
라이브러리 브라우저 > Simulink > Discrete > Unit Delay
Unit Delay
블록은 입력 신호를 받아 지정된 샘플 시간동안 그 값을 유지한다. 다음 시간 step에서 이 블록은 이전 입력값을 출력한다.
$z$-변환 영역에서, 이 블록은 시간 step 하나만큼의 지연을 나타내는 $\frac{1}{z}$로 표현된다.
신호 출력이 unit step만큼 지연된 것을 확인할 수 있다.
샘플 시간
Unit Delay
블록에는 자체 샘플 시간 파라미터가 있다. 이 파라미터는 기본저긍로 -1로 설정되어 있다. 이는 모델의 다른 위치(이 경우는 Sine Wave)에서 샘플 시간을 상속함을 의미.
만일 신호를 downsampling해야 할 경우, 독립적인 레이트를 지정할 수도 있다.
Unit Delay
블록을 더블클릭하고 샘플 시간을 0.5로 지정하면 다음 결과가 나타난다.
5.1.3 Difference Equation
마지막으로 파악된 위치, 속도 및 관측값 사이의 시간을 기반으로 자동차의 위치를 설명하는 다음 difference equation(차분 방정식)이 있다고 가정.
\[x[k] = x[k-1] + v \cdot T_{s}\]이때, 관측값 사이의 시간 $T_{s} = 0.25$는 이 이산 시스템의 샘플 시간.
Discrete dynamic system modelling은 Unit Delay
블록으로 시작하는 것이 좋다.
신호에 레이블을 지정하면 모델에서 상태를 추적하기 용이하다.
$v=10 \textrm{m/s}$ 로 가정하고 우변을 모델링한다. Constant
블록을 추가해 그 값을 10*0.25
로 설정하면 된다.
이렇게 모델링한 표현식 $x[k-1] + v \cdot T_{s}$는 $x[k]$와 같다. 따라서 신호 x_k
를 Add 블록의 출력 포트에 연결하면 된다.
끝으로 Unit Delay
블록에서 초기 조건을 지정한다. 여기서는 $x[0] = 5 \textrm{m}$로 설정하였다.
5.1.4 Modeling for Discrete-Time System
연립 방정식에도 마찬가지로 같은 절차를 적용할 수 있다. 모델링의 절차를 정리하면,
\[\begin{align*} x[k] &= x[k-1]+u[k]-u[k-1] \\ u[k] &= \sin [k] \\ \end{align*}\](1) 최신 상태는 방정식의 좌변에, 나머지 항은 우변에 오도록 방정식을 정리한다.
\[\begin{align*} x[k] &\rightarrow x[k-1] \\ u[k] &\rightarrow u[k-1] \\ \end{align*}\](2) 필요한
Unit Delay
블록의 수를 결정한다. 이 경우 방정식에 2개의 지연이 있으므로 2개의Unit Delay
블록이 필요하다.
(3)
Unit Delay
블록을 추가하고 신호에 레이블을 지정한다.
(4) 방정식의 우변을 구성한다.
(5) 등식을 완성하기 위해 필요에 따라 나머지 신호를 연결한다.
(6) 모든 샘플 시간과 초기 조건을 설정한다.