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

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

  • 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 isa 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 команда, чтобы аппроксимировать дробный фрагмент задержки с фильтром все-передачи. Смотрите Приближение С временной задержкой.

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

Больше о