Задержки линейных систем

Используйте следующие образцовые свойства представлять задержки линейных систем.

  • InputDelay, OutputDelay — Задержки при системных вводах или выводах

  • ioDelay, InternalDelay — Задержки, которые являются внутренними к системе

В моделях дискретного времени эти свойства ограничиваются к целочисленным значениям, которые представляют задержки, выраженные как целочисленные множители шага расчета. Чтобы аппроксимировать модели дискретного времени с задержками, которые являются дробным кратным шаг расчета, используйте thiran.

Первый порядок плюс модель потери времени

Этот пример показывает, как создать первый порядок плюс модель потери времени использование свойств InputDelay или OutputDelay tf.

Создать следующую передаточную функцию первого порядка с 2,1 задержками с:

G(s)=e2.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:

  1. Создайте модель передаточной функции для переменной s.

    s = tf('s');          
  2. Задайте G (s) как выражение в s.

    G = exp(-2.1*s)/(s+10);

Задержка ввода и вывода модели в пространстве состояний

Этот пример показывает, как создать модели в пространстве состояний с задержками при вводах и выводах, с помощью свойств InputDelay или OutputDelay ss.

Создайте модель в пространстве состояний, описывающую следующее с одним входом, 2D выходную систему:

dx(t)dt=2x(t)+3u(t1.5)y(t)=[x(t0.7)x(t)].

Эта система имеет входную задержку 1,5. Первый вывод имеет выходную задержку 0,7, и второй вывод не задерживается.

Примечание

В отличие от передаточных функций SISO, входные задержки не эквивалентны, чтобы вывести задержки моделей в пространстве состояний. Сдвиг задержки от входа до выходного в модели в пространстве состояний требует представления временного сдвига в образцовых состояниях. Например, в модели этого примера, задавая T = t – 1.5 и X (T) = x (T + 1.5) приводит к следующей эквивалентной системе:

dX(T)dT=2X(T)+3u(T)y(T)=[X(T2.2)X(T1.5)].

Все задержки находятся на выходных параметрах, но новая переменная состояния X переключена временем относительно переменной x исходного состояния. Поэтому, если ваши состояния имеют физический смысл, или если вы знали начальные условия состояния, рассмотрите тщательно прежде, чем переключить задержки между вводами и выводами.

Создать эту систему:

  1. Задайте матрицы пространства состояний.

    A = -2;
    B = 3;
    C = [1;-1];
    D = 0;
    
  2. Создайте модель.

    G = ss(A,B,C,D,'InputDelay',1.5,'OutputDelay',[0.7;0])

G является моделью ss.

Совет

Используйте delayss, чтобы создать модели в пространстве состояний с более общими комбинациями входа, выведите и утвердите задержки формы:

dxdt=Ax(t)+Bu(t)+j=1N(Ajx(ttj)+Bju(ttj))y(t)=Cx(t)+Du(t)+j=1N(Cjx(ttj)+Dju(ttj))

Транспортная задержка передаточной функции MIMO

Этот пример показывает, как создать передаточную функцию MIMO с различными транспортными задержками каждого ввода - вывода (ввод-вывод) пара.

Создайте передаточную функцию MIMO:

H(s)=[e0.12se0.3s+1s+1010e0.2s1s+5].

Задержки систем MIMO могут быть характерны для каждой пары ввода-вывода, как в этом примере. Вы не можете использовать InputDelay и OutputDelay к образцовым транспортным задержкам I/O-specific. Вместо этого используйте ioDelay, чтобы задать транспортную задержку через каждую пару ввода-вывода.

Создать эту передаточную функцию MIMO:

  1. Создайте модель передаточной функции для переменной s.

    s = tf('s');          
  2. Используйте переменную s, чтобы задать передаточные функции H без задержек.

    H = [2/s (s+1)/(s+10); 10 (s-1)/(s+5)];
    
  3. Задайте свойство ioDelay H как массив значений, соответствующих транспортной задержке каждой пары ввода-вывода.

    H.IODelay = [0.1 0.3; 0 0.2];

H является 2D входом, 2D выходной моделью tf. Каждая пара ввода-вывода в H имеет задержку, заданную соответствующей записью в tau.

Передаточная функция дискретного времени с задержкой

Этот пример показывает, как создать передаточную функцию дискретного времени с задержкой.

В моделях дискретного времени задержка одного периода выборки соответствует фактору z-1 в передаточной функции. Например, следующая передаточная функция представляет дискретное время система SISO с задержкой 25 периодов выборки.

H(z)=z-252z-0.95.

Чтобы представлять целочисленные задержки систем дискретного времени в MATLAB, установите свойство 'InputDelay' объекта модели к целочисленному значению. Например, следующая команда создает представление модели tf H(z) со временем выборки 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, чтобы аппроксимировать дробный фрагмент задержки с фильтром все-передачи. Смотрите Приближение С временной задержкой.

Связанные примеры

Больше о