Развёрнутая схема системы с учётом запаздывания приведена в - Приложении 2.
В исходных данных, модель дана как мы видим в виде матриц передаточных функций. Для преобразования передаточных функций в пространство состояний использовалась функция матлаба tf2ss. Для проверки правильности преобразования следует найти собственные значения матрицы А с помощью функции еig и убедиться, что или все собственные значения матрицы А имеют отрицательные действительные части, или число нулевых собственных значений совпадает с числом интегральных звеньев в исходной модели. Окончательно система должна быть представлена матрицами A,B,C,D
Ниже приведены матрицы модели в пространстве состояний
где х- состояние систем;
y- измеряемые входы;
f- возмущение;
u- управление.
Матрицы системы имеют вид:
A=[-1/118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
1/26.7 -1/26.7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 4/14 -2/14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 -1/1300 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 4/80 -2/80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 -1/118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 1/26.7 -1/26.7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 4/-14 -2/14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 -1/118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 1/26.7 -1/26.7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 4/14 -2/14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 -1/430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 4/80 -2/80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 -1/470 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 4/170 -2/170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4/180 -2/180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/430 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4/100 -2/100 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/840 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4/100 -2/100 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/800 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4/250 -2/250 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/570 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4/300 -2/300 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/450 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4/150 -2/150 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/640 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4/220 -2/220 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/540 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4/300 -2/300 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1/950 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4/480 -2/480];
Матрица входа:
B=[6.5/118000;
0000;
0000;
0-6.1/130000;
0000;
006.5/1180;
0000;
0000;
0 006.5/118;
0 000;
0 000;
00.4/43000;
0000;
000.3/4700;
0000;
0000.9/480;
0000;
-0.7/430000;
0000;
00.2/84000;
0000;
000.9/8000;
0000;
0000.5/570;
0000;
-0.1/450000;
0000;
00.1/64000;
0000;
000.1/5400;
0000;
0000.2/950;
0000];
Матрица измерений:
C=[0 -1 1 -1 1 0 -1 -1 0 -1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 -1 1 -1 1 -1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 1 -1 1 -1 1 -1 1 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 1 -1 1 -1 1 -1 1];
3. Преобразование математической модели в дискретное время и ее проверка с помощью построения разгонных характеристик
Для преобразования математической модели в дискретное время пользуется функция матлаба с2d. Шаг дискретизации может быть выбран с учетом того, что процессы в замкнутой системе будут где-то в 10 раз быстрее, чем в объекте. Тоесть:
dt=0.01/max(abs(eig(A)));
[Ad,Bd]=c2d(A,B,dt);
Проверить найденную модель в дискретном времени следует с помощью расчета разгонных характеристик. Для этого следует используем функцию dstep. Для вывода графиков используем функции: subplot, plot, grid.
Матрицы модели в дискретном времени:
Ad =
Columns 1 through 12
0.9941 0 0 0 0 0 0 0 0 0 0 0
0.0258 0.9741 0 0 0 0 0 0 0 0 0 0
0.0025 0.1878 0.9048 0 0 0 0 0 0 0 0 0
0 0 0 0.9995 0 0 0 0 0 0 0 0
0 0 0 0.0347 0.9827 0 0 0 0 0 0 0
0 0 0 0 0 0.9941 0 0 0 0 0 0
0 0 0 0 0 0.0258 0.9741 0 0 0 0 0
0 0 0 0 0 -0.0025 -0.1878 0.9048 0 0 0 0
0 0 0 0 0 0 0 0 0.9941 0 0 0
0 0 0 0 0 0 0 0 0.0258 0.9741 0 0
0 0 0 0 0 0 0 0 0.0025 0.1878 0.9048 0
0 0 0 0 0 0 0 0 0 0 0 0.9984
0 0 0 0 0 0 0 0 0 0 0 0.0347
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
Columns 13 through 24
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0.9827 0 0 0 0 0 0 0 0 0 0 0
0 0.9985 0 0 0 0 0 0 0 0 0 0
0 0.0164 0.9918 0 0 0 0 0 0 0 0 0
0 0 0 0.9985 0 0 0 0 0 0 0 0
0 0 0 0.0155 0.9923 0 0 0 0 0 0 0
0 0 0 0 0 0.9984 0 0 0 0 0 0
0 0 0 0 0 0.0278 0.9861 0 0 0 0 0
0 0 0 0 0 0 0 0.9992 0 0 0 0
0 0 0 0 0 0 0 0.0278 0.9861 0 0 0
0 0 0 0 0 0 0 0 0 0.9991 0 0
0 0 0 0 0 0 0 0 0 0.0112 0.9944 0
0 0 0 0 0 0 0 0 0 0 0 0.9988
0 0 0 0 0 0 0 0 0 0 0 0.0093
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
Columns 25 through 33
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0.9953 0 0 0 0 0 0 0 0
0 0.9984 0 0 0 0 0 0 0
0 0.0186 0.9907 0 0 0 0 0 0
0 0 0 0.9989 0 0 0 0 0
0 0 0 0.0127 0.9937 0 0 0 0
0 0 0 0 0 0.9987 0 0 0
0 0 0 0 0 0.0093 0.9953 0 0
0 0 0 0 0 0 0 0.9993 0
0 0 0 0 0 0 0 0.0058 0.9971
Bd =
0.0384 0 0 0
0.0005 0 0 0
0.0000 0 0 0
0 -0.0033 0 0
0 -0.0001 0 0
0 0 0.0384 0
0 0 0.0005 0
0 0 -0.0000 0
0 0 0 0.0384
0 0 0 0.0005
0 0 0 0.0000
0 0.0007 0 0
0 0.0000 0 0
0 0 0.0004 0
0 0 0.0000 0
0 0 0 0.0013
0 0 0 0.0000
-0.0011 0 0 0
-0.0000 0 0 0
0 0.0002 0 0
0 0.0000 0 0
0 0 0.0008 0
0 0 0.0000 0
0 0 0 0.0006
0 0 0 0.0000
-0.0002 0 0 0
-0.0000 0 0 0
0 0.0001 0 0
0 0.0000 0 0
0 0 0.0001 0
0 0 0.0000 0
0 0 0 0.0001
0 0 0 0.0000
Рисунок. Кривые разгона передаточных функцийЕсли сравнить матрицу передаточных функций и полученные разгонные характеристики(рисунок ), видно, что Кр из матрицы передаточных функций совпадают с Кр на графиках, можно сделать вывод: построение модели и преобразование выполнены верно.
4. Синтез многомерного ПИ-регулятора
Для синтеза ПИ-регулятора полученные матрицы должны быть расширены в матрицы A1, B1, C1:
A1=[Ad zeros(8,2); C eye(2)];
B1=[Bd;zeros(10)];
C1=[C eye(2)];
Матрицы параметров регулятора должны быть рассчитаны с помощью функции dlqr.
K=dlqr(A1,B1,Q,R)
L=dlqr(A1',C1',Q1,R1)'
Расширены матрицы имеют вид:
A1 =
Columns 1 through 12
0.9941 0 0 0 0 0 0 0 0 0 0 0
0.0258 0.9741 0 0 0 0 0 0 0 0 0 0
0.0025 0.1878 0.9048 0 0 0 0 0 0 0 0 0
0 0 0 0.9995 0 0 0 0 0 0 0 0
0 0 0 0.0347 0.9827 0 0 0 0 0 0 0
0 0 0 0 0 0.9941 0 0 0 0 0 0
0 0 0 0 0 0.0258 0.9741 0 0 0 0 0
0 0 0 0 0 -0.0025 -0.1878 0.9048 0 0 0 0
0 0 0 0 0 0 0 0 0.9941 0 0 0
0 0 0 0 0 0 0 0 0.0258 0.9741 0 0
0 0 0 0 0 0 0 0 0.0025 0.1878 0.9048 0
0 0 0 0 0 0 0 0 0 0 0 0.9984
0 0 0 0 0 0 0 0 0 0 0 0.0347
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 -1.0000 1.0000 -1.0000 1.0000 0 -1.0000 -1.0000 0 -1.0000 1.0000 0
0 0 0 0 0 0 0 0 0 0 0 -1.0000
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
Columns 13 through 24
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0.9827 0 0 0 0 0 0 0 0 0 0 0
0 0.9985 0 0 0 0 0 0 0 0 0 0
0 0.0164 0.9918 0 0 0 0 0 0 0 0 0
0 0 0 0.9985 0 0 0 0 0 0 0 0
0 0 0 0.0155 0.9923 0 0 0 0 0 0 0
0 0 0 0 0 0.9984 0 0 0 0 0 0
0 0 0 0 0 0.0278 0.9861 0 0 0 0 0
0 0 0 0 0 0 0 0.9992 0 0 0 0
0 0 0 0 0 0 0 0.0278 0.9861 0 0 0
0 0 0 0 0 0 0 0 0 0.9991 0 0
0 0 0 0 0 0 0 0 0 0.0112 0.9944 0
0 0 0 0 0 0 0 0 0 0 0 0.9988
0 0 0 0 0 0 0 0 0 0 0 0.0093
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
1.0000 -1.0000 1.0000 -1.0000 1.0000 0 0 0 0 0 0 0
0 0 0 0 0 -1.0000 1.0000 -1.0000 1.0000 -1.0000 1.0000 -1.0000
0 0 0 0 0 0 0 0 0 0 0 0
Columns 25 through 36
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0