연속시간 시스템과 이산시간 시스템 간 변환하기
연속/이산 변환에 사용 가능한 명령
명령 c2d, d2c, d2d는 각각 연속에서 이산, 이산에서 연속, 이산에서 이산(리샘플링) 변환을 수행합니다.
sysd = c2d(sysc,Ts) % Discretization w/ sample period Ts sysc = d2c(sysd) % Equivalent continuous-time model sysd1= d2d(sysd,Ts) % Resampling at the period Ts
연속/이산 변환에 사용 가능한 방법
영차 유지(디폴트 값), 일차 유지, 사전 워핑을 사용하거나 사용하지 않은 Tustin 근사, 영점-극점 대응 등의 다양한 이산화/보간 방법이 있습니다. 예를 들어, 다음과 같습니다.
sysd = c2d(sysc,Ts,'foh') % Uses first-order hold sysc = d2c(sysd,'tustin') % Uses Tustin approximation
이산 DC 모터 모델 디지털화하기
c2d 함수를 사용하고 적절한 샘플 시간을 선택하여 DC 모터 플랜트를 디지털화할 수 있습니다. 적절한 샘플 시간을 선택하는 데는 달성하려는 성능, 시스템의 가장 빠른 시정수, 제어기 실행 속도 등 여러 요인이 고려됩니다. 이 예제에서는 시정수를 0.01초로 선택하겠습니다. SS 객체 sys_dc의 생성은 SISO 예제: DC 모터 항목을 참조하십시오.
Ts=0.01;
sysd=c2d(sys_dc,Ts)
a =
x1 x2
x1 0.96079 -0.00027976
x2 0.006994 0.90484
b =
u1
x1 0.019605
x2 7.1595e-005
c =
x1 x2
y1 0 1
d =
u1
y1 0
Sample time: 0.01
Discrete-time model.
디지털 DC 모터에 대한 이산시간 영점-극점 이득을 확인하려면 zpk를 사용하여 모델을 변환하십시오.
fd=zpk(sysd) Zero/pole/gain: 7.1595e-005 (z+0.9544) ------------------------ (z-0.9608) (z-0.9049) Sample time: 0.01
다음을 입력하여 sys_dc와 sysd의 계단 응답을 비교할 수 있습니다.
step(sys_dc,sysd)

계단 응답이 일치하는 것을 볼 수 있습니다. 내부 지연이 없는 모델의 경우 연속 계단 응답과 FOH 이산화된 계단 응답이 일치합니다.