Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

d2c

이산시간 모델을 연속시간 모델로 변환

설명

예제

sysc = d2c(sysd)는 입력에 대한 영차 유지를 사용하여 이산시간 동적 시스템 모델 sysd를 연속시간 모델로 변환합니다.

예제

sysc = d2c(sysd,method)는 변환 방법을 지정합니다.

예제

sysc = d2c(sysd,opts)는 이산화에 대해 변환 옵션을 지정합니다.

[sysc,G] = d2c(___)(여기서 sysd는 상태공간 모델)는 이산시간 상태공간 모델의 상태 xd[k]sysc의 상태 xc(t)로 매핑하는 행렬 G를 반환합니다.

예제

모두 축소

다음과 같은 이산시간 전달 함수를 만듭니다.

H(z)=z-1z2+z+0.3

H = tf([1 -1],[1 1 0.3],0.1);

모델의 샘플 시간 Ts=0.1s입니다.

연속시간 영차 유지 동급 모델을 파생시킵니다.

Hc = d2c(H)
Hc =
 
   121.7 s + 3.668e-12
  ---------------------
  s^2 + 12.04 s + 776.7
 
Continuous-time transfer function.

디폴트 영차 유지 방법과 샘플 시간 0.1초를 사용해 결과 모델 Hc를 이산화하여 원래 이산 모델 H를 반환합니다.

c2d(Hc,0.1)
ans =
 
      z - 1
  -------------
  z^2 + z + 0.3
 
Sample time: 0.1 seconds
Discrete-time transfer function.

Tustin 근사법을 사용하여 H를 연속시간 모델로 변환합니다.

Hc2 = d2c(H,'tustin');

결과 모델 Hc2를 이산화하여 원래 이산시간 모델 H를 다시 얻습니다.

c2d(Hc2,0.1,'tustin');

이산시간 전달 함수 모델을 추정하고 이를 연속시간 모델로 변환합니다.

load iddata1
sys1d = tfest(z1,2,'Ts',0.1);
sys1c = d2c(sys1d,'zoh');

연속시간 전달 함수 모델을 추정합니다.

sys2c = tfest(z1,2);

sys1c의 응답과 직접 추정한 연속시간 모델 sys2c를 비교합니다.

compare(z1,sys1c,sys2c)

Figure contains an axes object. The axes object with ylabel y1 contains 3 objects of type line. These objects represent Validation data (y1), sys1c: 69.3%, sys2c: 70.77%.

두 시스템은 거의 동일합니다.

식별된 이산시간 전달 함수 모델을 연속시간으로 변환합니다.

load iddata1
sysd = tfest(z1,2,'Ts',0.1);
sysc = d2c(sysd,'zoh');

sys1c에는 공분산 정보가 없습니다. d2c 연산을 수행하면 식별된 모델의 공분산 데이터가 손실됩니다.

동일한 추정 명령과 추정 데이터로 영 반복 업데이트를 사용하여 공분산 정보를 다시 생성합니다.

opt = tfestOptions; 
opt.SearchOptions.MaxIterations = 0;
sys1c = tfest(z1,sysc,opt);

주파수 응답 불확실성에 미치는 영향을 분석합니다.

h = bodeplot(sysd,sys1c);
showConfidence(h,3)

Figure contains 2 axes objects. Axes object 1 with title From: u1 To: y1, ylabel Magnitude (dB) contains 2 objects of type line. These objects represent sysd, sys1c. Axes object 2 with ylabel Phase (deg) contains 2 objects of type line. These objects represent sysd, sys1c.

sys1csysd의 불확실성은 나이퀴스트 주파수까지 유사합니다. 그러나 추정 데이터가 정보를 제공하지 않는 주파수 범위에서는 sys1c가 큰 불확실성을 보입니다.

추정 데이터가 없는 경우, 모델 유형 변환 연산 간에 가우스 근사 식 기반 공분산 변환인 translatecov 명령을 사용하십시오.

입력 인수

모두 축소

이산시간 모델로, tf, ss 또는 zpk와 같은 동적 시스템 모델로 지정됩니다.

FunctionType'd'idgrey 모델은 d2c로 직접 사용할 수 없습니다. 먼저 모델을 idss 형식으로 변환하십시오.

이산시간에서 연속시간으로의 변환 방법으로, 다음 값 중 하나로 지정됩니다.

  • 'zoh' — 입력에 대한 영차 유지. 제어 입력이 샘플링 주기에 대한 조각별 상수라고 가정합니다.

  • 'foh' — 입력의 선형 보간(변형 일차 유지). 제어 입력이 샘플링 주기에서 조각별 선형이라고 가정합니다.

  • 'tustin' — 도함수에 대한 쌍선형(Tustin) 근사. 주파수 사전 워핑(이전 명칭: 'prewarp' 방법)과 함께 이 방법을 지정하려면 d2cOptionsPrewarpFrequency 옵션을 사용하십시오.

  • 'matched' — 영점-극점 대응 방법(SISO 시스템에만 해당). [1] 항목을 참조하십시오.

d2c 변환 방법의 알고리즘에 대한 자세한 내용은 Continuous-Discrete Conversion Methods 항목을 참조하십시오.

이산시간에서 연속시간으로의 변환 옵션으로, d2cOptions를 사용하여 생성됩니다. 예를 들어, 사전 워핑 주파수 또는 변환 방법을 옵션으로 지정합니다.

출력 인수

모두 축소

연속시간 모델로, 입력 시스템 sysd와 동일한 유형의 동적 시스템 모델로 반환됩니다.

sysd가 식별된(IDLTI) 모델인 경우 sysc

  • sysd의 측정된 구성요소와 잡음 구성요소를 모두 포함합니다. 잡음 분산이 sysd의 λ인 경우 연속시간 모델 sysc는 Ts*λ와 동일한 잡음 스펙트럼 밀도의 지정된 수준을 갖습니다.

  • sysd의 파라미터 공분산 추정값을 포함하지 않습니다. 모델을 변환할 때 공분산을 변환하려면 translatecov (System Identification Toolbox)를 사용하십시오.

상태공간 모델 sysd의 상태 xd[k]에서 sysc의 상태 xc(t)로의 매핑으로, 행렬로 반환됩니다. 상태의 매핑은 다음과 같습니다.

xc(kTs)=G[xd[k]u[k]].

sysd에 대한 초기 조건 x0과 초기 입력 u0 = u[0]이 주어진 경우, 이에 대응되는 sysc의 초기 조건은 다음과 같습니다(k < 0인 경우 u[k] = 0이라고 가정).

xc(0)=G[x0u0].

참고 문헌

[1] Franklin, G.F., Powell,D.J., and Workman, M.L., Digital Control of Dynamic Systems (3rd Edition), Prentice Hall, 1997.

[2] Kollár, I., G.F. Franklin, and R. Pintelon, "On the Equivalence of z-domain and s-domain Models in System Identification," Proceedings of the IEEE® Instrumentation and Measurement Technology Conference, Brussels, Belgium, June, 1996, Vol. 1, pp. 14-19.

버전 내역

R2006a 이전에 개발됨