# 이산시간 모델 만들기

이 예제에서는 `tf`, `zpk`, `ss``frd` 명령을 사용하여 이산시간 선형 모델을 만드는 방법을 보여줍니다.

### 이산시간 모델 지정

Control System Toolbox™에서는 연속시간 모델과 이산시간 모델을 모두 만들 수 있습니다. 이산시간 모델을 만드는 구문은 연속시간 모델을 만드는 구문과 비슷하지만, 샘플 시간(초 단위의 샘플링 간격)도 제공해야 한다는 점이 다릅니다.

예를 들어 이산시간 전달 함수를 지정하는 방법은 다음과 같습니다.

`$H\left(z\right)=\frac{z-1}{{z}^{2}-1.85z+0.9}$`

샘플링 주기는 `Ts = 0.1 s`이며, 다음을 입력합니다.

```num = [ 1 -1 ]; den = [ 1 -1.85 0.9 ]; H = tf(num,den,0.1)```
```H = z - 1 ------------------ z^2 - 1.85 z + 0.9 Sample time: 0.1 seconds Discrete-time transfer function. ```

또는 다음과 같이 할 수도 있습니다.

```z = tf('z',0.1); H = (z - 1) / (z^2 - 1.85*z + 0.9);```

마찬가지로, 이산시간 상태공간 모델을 지정하는 방법은 다음과 같습니다.

`$x\left[k+1\right]=0.5x\left[k\right]+u\left[k\right]$`

`$y\left[k\right]=0.2x\left[k\right].$`

샘플링 주기는 `Ts = 0.1 s`이며, 다음을 입력합니다.

`sys = ss(.5,1,.2,0,0.1);`

### 이산시간 시스템 인식

LTI 모델이 이산적인지는 다양한 방법으로 확인할 수 있습니다.

• 디스플레이에 0이 아닌 샘플 시간 값이 표시됩니다.

• `sys.Ts` 또는 `get(sys,'Ts')`에서 0이 아닌 샘플 시간 값을 반환합니다.

• `isdt(sys)`에서 true를 반환합니다.

예를 들어 위에서 지정한 전달 함수 `H`의 경우는 다음과 같습니다.

`H.Ts`
```ans = 0.1000 ```
`isdt(H)`
```ans = logical 1 ```

아래 특성을 확인하여 이산시간 시스템을 판별하는 방법도 있습니다.

• 시간 응답 플롯 - 응답 곡선이 샘플링된 데이터의 특성 때문에 계단처럼 보입니다.

• 보드 플롯 - 나이퀴스트 주파수(샘플 시간으로 나눈 pi)를 표시하는 세로 막대가 있습니다.

아래 플롯은 이러한 특성을 보여줍니다.

`step(H)`

`bode(H), grid`