Формирование системы функций Уолша



 

Оператор интегрирования 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

 

Операторы левой линейной части

 

Оператор 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

 

Операторы правой линейной части

 

Оператор 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

 

Спектральная характеристика входного сигнала

 

Оператор Cu

1

0

0

0

0

0

0

0

 

 

Расчет выходного сигнала

 

Нулевое приближение

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;


Дата добавления: 2019-07-15; просмотров: 96; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!