Подставив полученные разложения (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;