Создание моделей дискретного времени

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

Определение моделей дискретного времени

Control System Toolbox™ позволяет вам создать и модели непрерывно-разового и дискретного времени. Синтаксис для создания моделей дискретного времени подобен этому для непрерывно-разовых моделей, за исключением того, что необходимо также обеспечить шаг расчета (интервал выборки в секундах).

Например, чтобы задать передаточную функцию дискретного времени:

H(z)=z-1z2-1.85z+0.9

с выборкой периода Ts = 0.1 s введите:

num = [ 1  -1 ];
den = [ 1  -1.85  0.9 ];
H = tf(num,den,0.1)
H =
 
        z - 1
  ------------------
  z^2 - 1.85 z + 0.9
 
Sample time: 0.1 seconds
Discrete-time transfer function.

или эквивалентно:

z = tf('z',0.1);
H = (z - 1) / (z^2 - 1.85*z + 0.9);

Точно так же задавать модель в пространстве состояний дискретного времени:

x[k+1]=0.5x[k]+u[k]

y[k]=0.2x[k].

с выборкой периода Ts = 0.1 s введите:

sys = ss(.5,1,.2,0,0.1);

Распознавание систем дискретного времени

Существует несколько способов определить, дискретна ли ваша модель LTI:

  • Отображение показывает ненулевое значение шага расчета

  • sys.Ts или get(sys,'Ts') возвращают ненулевое значение шага расчета.

  • isdt(sys) возвращает true.

Например, для передаточной функции H, заданный выше,

H.Ts
ans = 0.1000
isdt(H)
ans = logical
   1

Можно также определить системы дискретного времени путем поиска следующих черт:

  • Графики ответа времени - Кривая отклика имеет взгляд лестницы вследствие своего характера выборочных данных

  • Диаграммы Боде - существуют вертикальная панель, отмечающая частоту Найквиста (пи, разделенное на шаг расчета).

Следующие графики показывают эти характеристические черты:

step(H)

bode(H), grid