Main Content

이산시간 모델 만들기

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

이산시간 모델 지정

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

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

H(z)=z-1z2-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[k+1]=0.5x[k]+u[k]

y[k]=0.2x[k].

샘플링 주기는 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