선형 시스템의 시간 지연
다음 모델 속성을 사용하여 선형 시스템의 시간 지연을 나타낼 수 있습니다.
InputDelay
,OutputDelay
— 시스템 입력 또는 출력에서의 시간 지연ioDelay
,InternalDelay
— 시스템의 내부 시간 지연
이산시간 모델의 경우 이러한 속성은 정수 값으로 제한되며, 이러한 정수 값은 샘플 시간의 정수 배수로 표현되는 지연을 나타냅니다. 샘플 시간의 소수 배수로 표현되는 지연을 갖는 이산시간 모델을 근사하려면 thiran
을 사용하십시오.
불감 시간을 갖는 1차 모델
이 예제에서는 tf
의 InputDelay
또는 OutputDelay
속성을 사용하여 불감 시간을 갖는 1차 모델(FOPDT: First Order Plus Dead Time Model)을 만드는 방법을 보여줍니다.
시간 지연이 2.1초인 다음 1차 전달 함수를 만들려면
다음을 입력하십시오.
G = tf(1,[1 10],'InputDelay',2.1)
여기서 InputDelay
는 전달 함수의 입력에서 지연을 지정합니다.
SISO 전달 함수의 경우 입력에서의 지연은 출력에서의 지연과 동일합니다. 따라서 다음 명령은 동일한 전달 함수를 만듭니다.
G = tf(1,[1 10],'OutputDelay',2.1)
점 표기법을 사용하여 시간 지연의 값을 검토하거나 변경합니다. 예를 들어 다음과 같이 시간 지연을 3.2로 변경합니다.
G.OutputDelay = 3.2;
현재 값을 보려면 다음을 입력합니다.
G.OutputDelay ans = 3.2000
팁
시간 지연을 갖는 모델을 만드는 또 다른 방법은 지연을 갖는 전달 함수를 s의 표현식으로 지정하는 것입니다.
변수 s의 전달 함수 모델을 만듭니다.
s = tf('s');
G(s)를 s의 표현식으로 지정합니다.
G = exp(-2.1*s)/(s+10);
상태공간 모델의 입력 지연 및 출력 지연
이 예제에서는 ss
의 InputDelay
속성이나 OutputDelay
속성을 사용하여 입력 및 출력에서 지연을 갖는 상태공간 모델을 만드는 방법을 보여줍니다.
다음 1-입력, 2-출력 시스템을 설명하는 상태공간 모델을 만듭니다.
이 시스템에는 1.5의 입력 지연이 있습니다. 첫 번째 출력에서는 0.7의 출력 지연이 발생하고 두 번째 출력은 지연되지 않습니다.
참고
SISO 전달 함수와 대조적으로, 상태공간 모델의 경우 입력 지연이 출력 지연과 동일하지 않습니다. 상태공간 모델에서 지연을 입력에서 출력으로 이동시키려면 모델 상태에서 시간 이동이 발생해야 합니다. 예를 들어 이 예제의 모델에서 T = t – 1.5와 X(T) = x(T + 1.5)를 정의하면 다음과 같은 상응하는 시스템이 생성됩니다.
모든 시간 지연이 출력에 있지만, 새 상태 변수 X가 원래 상태 변수 x를 기준으로 시간 이동되었습니다. 그러므로, 상태에 물리적 의미가 부여되었거나 알려진 상태 초기 조건이 있는 경우 입력과 출력 간에 시간 지연을 이동하기 전에 먼저 신중히 고려하십시오.
이 시스템을 만들려면 다음을 수행하십시오.
상태공간 행렬을 정의합니다.
A = -2; B = 3; C = [1;-1]; D = 0;
모델을 생성합니다.
G = ss(A,B,C,D,'InputDelay',1.5,'OutputDelay',[0.7;0])
G
는 ss
모델입니다.
MIMO 전달 함수의 전송 지연
이 예제에서는 각각의 입력-출력(I/O) 쌍에 대해 서로 다른 전송 지연을 갖는 MIMO 전달 함수를 만드는 방법을 보여줍니다.
다음의 MIMO 전달 함수를 만듭니다.
이 예제에서처럼 MIMO 시스템의 시간 지연은 각 I/O 쌍에 따라 다를 수 있습니다. I/O별 전송 지연을 모델링하는 데 InputDelay
와 OutputDelay
를 사용할 수 없습니다. 대신 ioDelay
를 사용하여 각 I/O 쌍에 전송 지연을 지정하십시오.
이 MIMO 전달 함수를 만들려면 다음을 수행하십시오.
변수
s
의 전달 함수 모델을 만듭니다.s = tf('s');
변수
s
를 사용하여 시간 지연 없이H
의 전달 함수를 지정합니다.H = [2/s (s+1)/(s+10); 10 (s-1)/(s+5)];
H
의ioDelay
속성을 각 I/O 쌍의 전송 지연에 해당하는 값으로 구성된 배열로 지정합니다.H.IODelay = [0.1 0.3; 0 0.2];
H
는 2-입력, 2-출력 tf
모델입니다. H
의 각 I/O 쌍에는 tau
의 대응되는 요소로 지정된 시간 지연이 있습니다.
시간 지연을 갖는 이산시간 전달 함수
이 예제에서는 시간 지연을 갖는 이산시간 전달 함수를 만드는 방법을 보여줍니다.
이산시간 모델에서 한 샘플링 주기의 지연은 전달 함수의 인자 에 대응합니다. 예를 들어, 다음 전달 함수는 25개 샘플링 주기만큼의 지연을 갖는 이산시간 SISO 시스템을 나타냅니다.
MATLAB®에서 이산시간 시스템의 정수 지연을 표현하려면 모델 객체의 'InputDelay'
속성을 정수 값으로 설정하십시오. 예를 들어 다음 명령은 샘플링 시간이 0.1초인 를 나타내는 tf
모델을 만듭니다.
H = tf(2,[1 -0.95],0.1,'InputDelay',25)
H = 2 z^(-25) * -------- z - 0.95 Sample time: 0.1 seconds Discrete-time transfer function. Model Properties
시스템에 샘플링 시간의 정수 배수가 아닌 시간 지연이 있는 경우 thiran
명령을 사용하여 시간 지연의 소수부를 전역통과 필터로 근사할 수 있습니다. Time-Delay Approximation 항목을 참조하십시오.