Рассмотрим дискретную систему с передаточной функцией
Чтобы получить модель в переменных состояния, изобразим сначала схему моделирования (рис.6) системы и выход каждого элемента задержки примем за переменную состояния.
Рис.6. Схема моделирования системы
По этой схеме запишем уравнения состояния:
Решим эти уравнения итерационным методом, считая, что x (0)=0 и u(k)=1 для всех k. Так как x (0)=0, то y(0)=0. Последовательно увеличивая k, получим:
Следующий скрипт MATLAB возвращает в окно команд те же значения:
u=1;
A=[0 1;-2 3];
B=[0;1];
C=[0 1];
D=[0];
x=[0;0];
iter=4
for k=0:iter
y(k+1)=C*x+D*u;
[k y(k+1)]
x1=A*x+B*u;
x=x1;
end
2.2 Операторный метод
Если u(k) задаётся неявно, в форме z-преобразования, можно воспользоваться операторным методом решения.
Запишем z-преобразование для вектора состояния:
Z{ x (k)} = X (z),
Z{ x (k+1)} = z[ X (z) – x (0)]
по теореме о сдвиге влево.
Из уравнения (16) следует, что
z[ X (z) - x (0)] = AX (z) + B U(z) (21)
или
X (z) = [z I - A ]-1z x (0) + [z I - A ]-1 B U(z). (22)
Применив к (22) обратное z-преобразование, получим тот же результат, что и в (20).
|
|
Подставляя это выражение в уравнение (17), получаем
Y(z) = C [z I - A ]-1z x (0) + { C [z I - A ]-1 B+D} U(z). (23)
Сравнивая уравнения (22) и (20), получим матрицу перехода
Ф (k) = Z-1{[z I - A ]-1z} = A k. (24)
Тогда (20) можно записать как
x (k) = Ф (k) x (0) + Ф (i-1) B u(k-i). (25)