Используйте следующие свойства модели для представления временных задержек в линейных системах.
InputDelay, OutputDelay - Временные задержки на входах или выходах системы
ioDelay, InternalDelay - Временные задержки, являющиеся внутренними для системы
В дискретно-временных моделях эти свойства ограничены целыми значениями, которые представляют задержки, выраженные в виде целых кратных времени выборки. Для аппроксимации дискретных временных моделей с задержками, кратными долям времени выборки, используйте thiran.
В этом примере показано, как создать модель первого порядка плюс мертвое время с помощью InputDelay или OutputDelay свойства tf.
Для создания следующей функции переноса первого заказа с задержкой 2,1 с:
1s1s + 10,
введите:
G = tf(1,[1 10],'InputDelay',2.1)
где InputDelay определяет задержку на входе передаточной функции.
Совет
Вы можете использовать InputDelay с zpk таким же образом, как с tf:
G = zpk([],-10,1,'InputDelay',2.1)
Для функций передачи 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.
G = exp(-2.1*s)/(s+10);
В этом примере показано, как создавать модели пространства состояний с задержками на входах и выходах, используя InputDelay или OutputDelay свойства ss.
Создайте модель пространства состояний, описывающую следующую систему с одним входом и двумя выходами:
x (t − 0,7) − x (t)].
Эта система имеет задержку на входе 1,5. Первый выход имеет задержку выхода 0,7, а второй выход не задерживается.
Примечание
В отличие от функций передачи SISO, задержки на входе не эквивалентны задержкам на выходе для моделей пространства состояний. Смещение задержки с входа на выход в модели «состояние-пространство» требует введения временного сдвига в состояниях модели. Например, в модели этого примера определение T = t-1,5 и X (T ) = x (T + 1,5) приводит к следующей эквивалентной системе:
2,2) − X (T − 1,5)].
Все временные задержки находятся на выходах, но новая переменная X состояния сдвинута по времени относительно исходной переменной x. Поэтому, если ваши состояния имеют физическое значение или если у вас есть известные начальные условия состояния, внимательно подумайте, прежде чем сдвигать временные задержки между входами и выходами.
Чтобы создать эту систему:
Определите матрицы state-space.
A = -2; B = 3; C = [1;-1]; D = 0;
Создайте модель.
G = ss(A,B,C,D,'InputDelay',1.5,'OutputDelay',[0.7;0])
G является ss модель.
Совет
Использовать delayss для создания моделей пространства состояний с более общими комбинациями входных, выходных и задержек состояний вида:
+∑j=1N (Cjx (t − tj) + Dju (t − tj))
В этом примере показано, как создать функцию передачи MIMO с различными задержками передачи для каждой пары ввод-вывод (I/O).
Создайте функцию передачи MIMO:
1010e − 0 2s − 1s + 5].
Временные задержки в системах MIMO могут быть специфичными для каждой пары ввода-вывода, как в этом примере. Вы не можете использовать InputDelay и OutputDelay для моделирования специфичных для ввода-вывода задержек при транспортировке. Вместо этого используйте ioDelay определяет задержку передачи для каждой пары ввода-вывода.
Для создания этой функции передачи MIMO:
Создание модели передаточной функции для переменной s.
s = tf('s'); Использовать переменную s для определения функций передачи H без временных задержек.
H = [2/s (s+1)/(s+10); 10 (s-1)/(s+5)];
Укажите ioDelay имущество H в виде массива значений, соответствующих задержке передачи для каждой пары ввода-вывода.
H.IODelay = [0.1 0.3; 0 0.2];
H является двумя входами, двумя выходами tf модель. Каждая пара ввода-вывода в H имеет временную задержку, указанную соответствующей записью в tau.
В этом примере показано, как создать функцию передачи дискретного времени с временной задержкой.
В дискретно-временных моделях задержка в один период выборки соответствует коэффициенту в передаточной функции. Например, следующая передаточная функция представляет дискретно-временную систему SISO с задержкой в 25 периодов выборки.
z-252z-0,95.
Для представления целочисленных задержек в дискретно-временных системах в MATLAB установите значение 'InputDelay' свойство объекта модели с целочисленным значением. Например, следующая команда создает tf модель, представляющая ) с временем выборки 0,1 с.
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.
Если система имеет задержку времени, которая не является целым кратным времени выборки, можно использовать thiran для аппроксимации дробной части временной задержки с помощью фильтра всех частот. См. раздел Аппроксимация временной задержки.