В
прикладных задачах параметрической оптимизации не всегда используются
интегральные квадратичные оценки, порядок которых равен порядку
дифференциального уравнения оптимизируемой системы. Очень часто параметрический
синтез проводят по квадратичным оценкам первого и второго порядка. В таких
случаях параметры системы определяются из условия, чтобы выходная переменная x(t)
приближалась к решению дифференциального уравнения первого или соответственно
второго порядка.
Таким
образом, требование оптимальности системы по переходному процессу в смысле
минимума интегральной квадратичной оценки равносильно требованию, чтобы выходная переменная
системы в ее свободном движении изменялась в соответствии с решением
однородного дифференциального уравнения порядка m.
В
последнее время при анализе и синтезе систем автоматического управления широкое
применение нашли спектральные методы, которые базируются на спектральных
характеристиках сигналов, что значительно упрощает решение задач теории
управления с использованием ЭВМ. Ниже рассмотрим теоретические основы
применения спектральных методов при решении задач теории управления.
Применение
спектрального метода для решения обратных задач динами
Рассмотрим
решение спектральным методом обратной задачи динамики в следующей постановке.
Известна
система автоматического управления (регулирования), которая может быть как
стационарной, так и нестационарной, и работа которой описывается следующим
дифференциальным уравнением:
(2.1)
где
- сигнал на выходе системы;
- сигнал на входе системы;
- коэффициенты
дифференциального уравнения, являющиеся функциями времени.
При
этом неизвестны некоторые параметры настройки системы управления, которые
необходимо определить в процессе решения задачи. Обозначим множество этих
параметров через где - их число. Тогда коэффициенты
дифференциального уравнения будут зависеть от и, следовательно можно записать;
(2.2)
Задан
эталонный сигнал на
интервале или его
спектральная характеристика, который необходимо получить на выходе системы
(2.2). В общем случае могут быть заданы ненулевые начальные условия:
(2.3)
Для
заданных дифференциального уравнения (2.2), эталонного выходного сигнала и начальных условий (2.3)
необходимо определить входной сигнал и искомые сигнала на выходе получили бы сигнал,
максимально параметры настройки такими, что при подачи на вход системы
автоматического управления найденного входного в известном смысле приближенный
к эталонному.
В
качестве меры близости реального сигнала на выходе системы (2.2), (2.3) к
эталонному сигналу на
интервале примем следующий
функционал
(2.4)
Неизвестный
входной сигнал будем искать в форме его спектрального разложения в ряд по
некоторому базису ортонормированных функций ;
где
коэффициенты , неизвестны и
их необходимо определить.
Следовательно
входной сигнал будет зависеть от времени и от множества параметров Тогда дифференциальное уравнение (2.2) можно
записать в следующей виде
(2.5)
Интегрируя
уравнение раз с учетом
начальных условий, получим
(2.6)
Воспользовавшись
справедливым для любой непрерывной функции тождеством
равенство
(2.6) можно переписать в виде
(2.7)
Интегрируя
полученное равенство (2.7) по частям и применяя формулы
получим
(2.8)
где
Уравнение
(2.8) представляет собой уравнение Вольтера 2-го рода. Преобразуем его к
интегральному уравнению Фредгольма 2-го рода на интервале исследования :
(2.9)
где
Таким
образом, получены две эквивалентные формы описания системы: дифференциальное
уравнение (2.2) с начальными условиями (2.3) и интегральное уравнение (2.9).
Функция в выражении (2.9)
представляет собой полином, коэффициенты которого зависят от начальных условий
(2.3) и от множества искомых
параметров настройки системы автоматического управления (регулирования).
Перепишем , изменив порядок
суммирования
Введем
следующие обозначения:
Тогда
полином можно записать
следующим образом
где
- вектор-столбец начальных
условий; - вектор-столбец
полиномов .
Рассмотрим
левую часть уравнения (2.9). Представим функции, входящие в нее, в виде
разложений в ряд по ортонормированному базису .
Имеем
, (2.10)
где
- спектральная
характеристика выходного сигнала , элементы которой определяются из соотношения
(2.11)
где
- квадратная матрица размерностью , элементы которой определяются из
выражения
Подставив
полученные разложения (2.10) и (2.11) в левую часть уравнения (2.9) и учитывая,
что , где - единичная, в силу ортонормированности
базисных функций, получим
(2.12)
где
- матрица спектральной
характеристики инерционной части системы размерностью .
Сделаем
аналогичные преобразования для правой части уравнения (2.9).
, (2.13)
где
- спектральная
характеристика сигнала на входе системы, элементы которой определяются из
соотношения
(2.14)
где
- квадратная матрица
размерностью спектральной
характеристики форсирующей части системы, элементы которой определяются из
выражения
(2.15)
где
- матрица размерностью элементы которой определяются из
соотношения
Подставляя
разложения (2.13), (2.14) и (2.15) в (2.9) и делая соответствующие
преобразования, получим
(2.16)
Таким
образом, уравнение (2.9) с учетом (2.12) и (2.16) можно переписать в следующем
виде
(2.17)
Рассмотрим
теперь функционал (2.4). Имеем
Так
как , то последние
выражение можно записать в следующем виде
(2.18)
или
где
. (2.19)
Здесь
спектральная характеристика эталонного сигнала или задана или, в случае задании эталонного сигнала
, определяется из выражения
, .
Таким
образом, задача определения входного сигнала (точнее множества ) и множества неизвестных параметров настройки системы управления
(2.2), (2.3) сводиться к задаче безусловной минимизации функционала (2.18) по
элементам множеств и , т.е.
.
Практическая
часть
Результаты
расчётов:
1.
Интервал исследования
tmin
= 0.000000e+000, c;
tmax
= 7.000000e+000, c;
Nt
= 512;
2.
Формирование системы функций Уолша
Оператор
интегрирования Ai
Columns
1 through 6
3.5000
1.7500 0 0.8750 0 0
-1.7500
0 0.8750 0 0 0
0
-0.8750 0 0 0 0.4375
-0.8750
0 0 0 0.4375 0
0
0 0 -0.4375 0 0
0
0 -0.4375 0 0 0
0
-0.4375 0 0 0 0
-0.4375
0 0 0 0 0
Columns
7 through 8
0
0.4375
0.4375
0
0
0
0
0
0
0
0
0
0
0
0
0
Оператор
дифференцирования Ad
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
3.
Операторы левой линейной части
Оператор
Aw1
Columns
1 through 6
0.0046
0.0000 -0.0000 0.0000 -0.0000 0.0000
-0.0000
0.0046 0.0000 0.0000 -0.0000 -0.0000
-0.0000
-0.0000 0.0046 0.0000 -0.0000 0.0000
-0.0000
0.0000 -0.0000 0.0046 0.0000 0.0000
-0.0000
0.0000 -0.0000 -0.0000 0.0046 0.0000
-0.0000
-0.0000 -0.0000 0.0000 -0.0000 0.0046
-0.0000
-0.0000 0.0000 0.0000 -0.0000 -0.0000
-0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000
Columns
7 through 8
-0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
-0.0000
0.0000
-0.0000
0.0000
0.0000
0.0000
0.0046
0.0000
-0.0000
0.0046
Оператор
Aw2
Columns
1 through 6
0.0073
0.0000 -0.0000 0.0000 -0.0000 0.0000
-0.0000
0.0073 0.0000 0.0000 -0.0000 -0.0000
-0.0000
-0.0000 0.0073 0.0000 -0.0000 0.0000
-0.0000
0.0000 -0.0000 0.0073 0.0000 0.0000
-0.0000
0.0000 -0.0000 -0.0000 0.0073 0.0000
-0.0000
-0.0000 -0.0000 0.0000 -0.0000 0.0073
-0.0000
-0.0000 0.0000 0.0000 -0.0000 -0.0000
-0.0000
0.0000 -0.0000 0.0000 -0.0000 0.0000
Columns
7 through 8
-0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
-0.0000
0.0000
-0.0000
0.0000
0.0000
0.0000
0.0073
0.0000
-0.0000
0.0073
Оператор
Aw3
Columns
1 through 6
1.5139
0.0561 -0.0561 0.0561 -0.0537 0.0537
-0.0561
1.4016 0.1682 0.0561 -0.0537 -0.1610
-0.0561
-0.1682 1.2894 0.0560 -0.0536 0.2686
-0.0561
0.0561 -0.0560 1.1774 0.3758 0.0536
-0.0537
0.0537 -0.0536 -0.3758 1.0700 0.0513
-0.0537
-0.1610 -0.2686 0.0536 -0.0513 0.9674
-0.0537
-0.1612 0.1610 0.0537 -0.0514 -0.1541
-0.0537
0.0537 -0.0537 0.0537 -0.0514 0.0514
Columns
7 through 8
-0.0537
0.0537
0.1612
0.0537
0.1610
0.0537
-0.0537
0.0537
-0.0514
0.0514
0.1541
0.0514
0.8646
0.0514
-0.0514
0.7617
Оператор
Aw4
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
Оператор
левой части Aw_l
1.0e-004
*
Columns
1 through 6
0.5089
0.0190 -0.0189 0.0189 -0.0181 0.0181
-0.0190
0.4710 0.0568 0.0189 -0.0181 -0.0544
-0.0189
-0.0568 0.4331 0.0189 -0.0181 0.0907
-0.0189
0.0189 -0.0189 0.3952 0.1269 0.0181
-0.0181
0.0181 -0.0181 -0.1269 0.3590 0.0173
-0.0181
-0.0544 -0.0907 0.0181 -0.0173 0.3243
-0.0182
-0.0545 0.0544 0.0181 -0.0174 -0.0521
-0.0182
0.0182 -0.0181 0.0181 -0.0174 0.0174
Columns
7 through 8
-0.0182
0.0182
0.0545
0.0182
0.0544
0.0181
-0.0181
0.0181
-0.0174
0.0174
0.0521
0.0174
0.2896
0.0174
-0.0174
0.2548
4.
Операторы правой линейной части
Оператор
Aw5
1.0e+005
*
Columns
1 through 6
7.7999
0.0001 -0.0001 0.0001 -0.0001 0.0001
-0.0001
7.7997 0.0003 0.0001 -0.0001 -0.0002
-0.0001
-0.0003 7.7994 0.0001 -0.0001 0.0004
-0.0001
0.0001 -0.0001 7.7992 0.0006 0.0001
-0.0001
0.0001 -0.0001 -0.0006 7.7991 0.0001
-0.0001
-0.0002 -0.0004 0.0001 -0.0001 7.7989
-0.0001
-0.0003 0.0002 0.0001 -0.0001 -0.0002
-0.0001
0.0001 -0.0001 0.0001 -0.0001 0.0001
Columns
7 through 8
-0.0001
0.0001
0.0003
0.0001
0.0002
0.0001
-0.0001
0.0001
-0.0001
0.0001
0.0002
0.0001
7.7988
0.0001
-0.0001
7.7987
Оператор
Aw6
Columns
1 through 6
0.4328
0.3246 0.0812 0.1623 0.0203 0
-0.3246
-0.2164 0 -0.0812 0 0.0203
0.0812
0 -0.0541 0 0 0
-0.1623
-0.0812 0 -0.0541 0 0
0.0203
0 0 0 -0.0135 0
0
0.0203 0 0 0 -0.0135
0.0406
0 -0.0203 0 0 0
-0.0812
-0.0406 0 -0.0203 0 0
Columns
7 through 8
0.0406
0.0812
0
-0.0406
-0.0203
0
0
-0.0203
0
0
0
0
-0.0135
0
0
-0.0135
Оператор
Aw7
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
Оператор
Aw8
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
0
0 0 0 0 0 0 0
Оператор
правой части Aw_r
1.0e+004
*
Columns
1 through 6
5.7888
3.1355 0.0242 1.5557 0.0216 -0.0216
-3.1355
-0.4822 1.5073 -0.0242 0.0216 0.0647
0.0242
-1.5073 -0.4338 -0.0241 0.0214 0.6817
-1.5557
-0.0242 0.0241 -0.3856 0.6388 -0.0214
0.0216
-0.0216 0.0214 -0.6388 -0.3425 -0.0191
0.0216
0.0647 -0.6817 -0.0214 0.0191 -0.3043
0.0217
-0.7248 -0.0647 -0.0216 0.0192 0.0576
-0.7683
-0.0217 0.0216 -0.0216 0.0192 -0.0192
Columns
7 through 8
0.0217
0.7683
0.7248
-0.0217
-0.0647
-0.0216
0.0216
-0.0216
0.0192
-0.0192
-0.0576
-0.0192
-0.2659
-0.0193
0.0193
-0.2272
5.
Спектральная характеристика входного сигнала
Оператор
Cu
1
0
0
0
0
0
0
0
6.
Расчет выходного сигнала
Нулевое
приближение
Eeps
= 3.400702e+000;
14-ое
приближение:
Eeps
= 4.293157e-010;
Elapsed
time is 120.625000 seconds.>>
График
выходного сигнала при нагрузке = 573
На
рисунках 1 и 2 представлены результаты анализа системы с использованием метода
матричных операторов и с использованием функций Уолша для входного сигнала и
для сравнения приведены графики требуемого выходного сигнала, а также сигнала,
который может обеспечить данная система при значении нагрузки = 573.
Листинг программ:
Программа анализа электрогидравлического следящего привода
(рулевой машинки как отдельного элемента системы самонаведения) с
использованием спектрального метода (базис функций Уолша)
close all;
clear all;
clc;
warning off;
tic;
1.
Параметры системы и интервал исследования
egsp_data;
fprintf('-------------------------------------------------------------\n');
fprintf('1. Интервал исследования\n');
fprintf('------------------------\n');
fprintf('tmin = %e, c;\n',tmin);
fprintf('tmax = %e, c;\n',tmax);
fprintf('Nt = %i;\n',Nt);
fprintf('\n');
2.
Формирование системы базисных функций
settime(T);
setsize(Nt);
Ai = mkint;
Ad = inv(Ai);
Ae = eye(Nt);
fprintf('-------------------------------------------------------------\n');
fprintf('2. Формирование системы функций Уолша\n');
fprintf('-------------------------------------\n');
%pr_matrix(Ai,'Оператор интегрирования Ai');
disp('Оператор интегрирования Ai');
disp(Ai(1:8,1:8));
%pr_matrix(Ad,'Оператор дифференцирования Ad');
disp('Оператор дифференцирования Ad');
disp(Ad(1:8,1:8));
3.
Расчет операторов левой линейной части
fprintf('-------------------------------------------------------------\n');
fprintf('3. Операторы левой линейной части\n');
fprintf('---------------------------------\n');
% оператор ПФ W1(s) - электрической части
Aw1 = inv(RS*(Ty*Ae+Ai))*(Ky1*KU*Ai);
%pr_matrix(Aw1,'Оператор Aw1');
disp('Оператор Aw1');
disp(Aw1(1:8,1:8));
% оператор ПФ W2(s) - электромагнитного преобразователя и часть
расходов
Aw2 = inv(CS*(Tem^2*Ae+2*Tem*dzem*Ai+Ai^2))*(KFi*Kqh*Ai^2);
%pr_matrix(Aw2,'Оператор Aw2');
disp('Оператор Aw2');
disp(Aw2(1:8,1:8));
% оператор ПФ W3(s) - движения золотника и часть расходов
Aw3 = inv(Kqp1*(Cp+Cg)*(Tz^2*Ae+2*Tz*dzz*Ai+Ai^2))*(Az*Ai^2);
%pr_matrix(Aw3,'Оператор Aw3');
disp('Оператор Aw3');
disp(Aw3(1:8,1:8));
% оператор ПФ W4(s) - местной обратной связи
Aw4 = Az*Ad;
%pr_matrix(Aw4,'Оператор Aw4');
disp('Оператор Aw4');
disp(Aw4(1:8,1:8));
% оператор левой линейной части
Aw34 = inv(Ae+Aw4*Aw3)*Aw3;
Aw_1 = Aw34*Aw2*Aw1;
%pr_matrix(Aw_l,'Оператор левой части Aw_l');
disp('Оператор левой части Aw_l');
disp(Aw_1(1:8,1:8));
4.
Расчет операторов правой линейной части
fprintf('-------------------------------------------------------------\n');
fprintf('4. Операторы правой линейной части\n');
fprintf('----------------------------------\n');
% оператор ПФ W5(s) - уравнения расходов
Aw5 = inv(Kqp*(Tg*Ae+Ai))*(Ap*l*Ai);
%pr_matrix(Aw5,'Оператор Aw5');
disp('Оператор Aw5');
disp(Aw5(1:8,1:8));
% оператор ПФ W6(s) - нагрузка
Aw6 = J*Ai^2;
%pr_matrix(Aw6,'Оператор Aw6');
disp('Оператор Aw6');
disp(Aw6(1:8,1:8));
% оператор ПФ W7(s) - трение
Aw7 = Kf*Ad;
%pr_matrix(Aw7,'Оператор Aw7');
disp('Оператор Aw7');
disp(Aw7(1:8,1:8));
% оператор ПФ W8(s) - местная обратная связь
Aw8 = Ap*l*Ad;
%pr_matrix(Aw8,'Оператор Aw8');
disp('Оператор Aw8');
disp(Aw8(1:8,1:8));
% оператор правой линейной части
Aw67 = inv(Ae+Aw7*Aw6)*Aw6;
Aw671 = inv(Ae+Ksh*Aw67)*Aw67;
Aw_r = Kz*inv(Ae+Aw8*Aw671*Aw5)*(Aw671*Aw5);
%pr_matrix(Aw_r,'Оператор правой части Aw_r');
disp('Оператор правой части Aw_r');
disp(Aw_r(1:8,1:8));
5.
Спектральная характеристика входного сигнала
fprintf('-------------------------------------------------------------\n');
fprintf('5. Спектральная характеристика входного сигнала\n');
fprintf('-----------------------------------------------\n');
u = zeros(1,Nt)+1;
Cu = fwht(u');
%pr_matrix(Cu,'Cu');
disp('Оператор Cu');
disp(Cu(1:8));
6.
Расчет выходного сигнала методом последовательных приближений
fprintf('-------------------------------------------------------------\n');
fprintf('6. Расчет выходного сигнала\n');
fprintf('---------------------------\n');
Cd_old = zeros(Nt,1);
Ce = Cu-Cd_old;
Cx = Aw_1*Ce;
x = iwht(Cx)';
xf = egsp_f(x,xm);
Cxf = fwht(xf');
Cd_new = Aw_r*Cxf;
Ceps = Cd_new-Cd_old;
Eeps = sqrt(Ceps'*Ceps);
fprintf('Нулевое приближение\n');
fprintf('Eeps = %e;\n',Eeps);
d = iwht(Cd_new)';
figure; clf;
plot(t,d);
xlabel('t, c');
ylabel('delta(t)');
Niter = 0;
while Eeps >= 1e-8
Niter = Niter+1;
Cd_old = Cd_new;
Ce = Cu-Cd_old;
Cx = Aw_1*Ce;
x = iwht(Cx)';
xf = egsp_f(x,xm);
Cxf = fwht(xf');
Cd_new = Aw_r*Cxf;
Ceps = Cd_new-Cd_old;
Eeps = sqrt(Ceps'*Ceps);
end
fprintf('%i-ое приближение:\n',Niter);
fprintf('Eeps = %e;\n',Eeps);
d = iwht(Cd_new)';
%my_plot2(t,d,'t, c','delta(t)');
plot(t,d);
xlabel('t, c');
ylabel('delta(t)');
grid on;
toc;
Страницы: 1, 2
|