Создание моделей дискретного времени
В этом примере показано, как создавать линейные модели с дискретным временем.
Определение моделей дискретного времени
Библиотека ControlSystems.jl позволяет создать как непрерывные, так и дискретные системы. Синтаксис для создания моделей дискретного времени похож на тот, что используется для непрерывных систем, но во входных данных функции необходимо передать шаг дискретизации (интервал выборки в секундах).
Например, чтобы задать передаточную функцию дискретной системы:
С периодом дискретизации .
Pkg.add(["ControlSystems"])
using ControlSystems
num = [1, -1];
den = [1, -1.85, 0.9];
H = tf(num,den,0.1)
точно так же можно задать модель дискретной системы в пространстве состояний:
С периодом дискретизации .
sys = ss(.5,1,.2,0,0.1)
Распознавание систем дискретного времени
Существует несколько способов определить дискретна ли линейная модель. Например, sys.Ts
или H.Ts
возвращают не нулевое значение , если модель дискретная.
H.Ts
Также определить можно по графику переходной функции. Реакция системы на единичное ступенчатое воздействие будет иметь вид "лесенки".
using Plots
plot(step(H,8))
Таким образом, можно получить модель дискретной системы. Подробнее о создании линейных систем можно найти информацию в разделе Построение систем.