3
-
1.
.
2.
: [1], [2]. .
3.
. (3.1)
(),
(3.2)
() - ().
,
(3.3)
(3.4)
(3.5)
(3.4), (3.5), - () () .
(3.1),
(3.6)
(3.7)
, (3.8)
, ;
, .
.
(3.6) (3.7) (3.8)
(3.9)
(3.10)
. 3.1 .
. 3.1.
:
: ( , );
, ( );
(3.11)
, , ..
(3.12)
( . 3.1 ).
;
(3.13)
, : , .
, (. 3.2).
. 3.2.
( , ¥)
(3.14)
(3.15)
(3.15) : , :
|
|
(3.16)
( ) (.. ), , , . ( )
(3.17)
. (. 3.3).
- ( )
(3.18)
(3.19)
(3.20)
. 3.3.
( ):
;
. w [1] (. 3.4). . , 10 (. 3.4).
, . ( ). , ( , : ),
( )
j . - .
, .. . ( ), ( ).
. 3.4.
4.
4.1. .
4.2. (. . 3.1) , . , , . , . . . , , , 300 . 1, .
3.1
|
|
k | 0,5 | 1,5 | 2,5 | 3,5 | 4,5 | |||||
T | 0,5 | 0,2 | 0,4 | |||||||
0,2 | 0,3 | 0,4 | 0,5 | 0,15 | 0,25 | 0,25 | 0,35 | 0,45 | 0,55 | |
k | 0,5 | 1,5 | 2,5 | 3,5 | 4,5 | |||||
T | 0,2 | 0,4 | 3,5 | 2,5 | 0,5 | 0,7 | ||||
0,2 | 0,3 | 0,4 | 0,5 | 0,15 | 0,25 | 0,25 | 0,35 | 0,45 | 0,55 | |
k | 0,5 | 1,5 | 2,5 | 3,5 | 4,5 | |||||
T | 1,5 | 2,5 | 3,5 | 4,5 | 0,5 | |||||
0,2 | 0,3 | 0,4 | 0,5 | 0,15 | 0,25 | 0,25 | 0,35 | 0,45 | 0,55 |
function dx=model1(t,x)
global w;
k = 1;
T = 2;
xi = 0.2;
dx=zeros(2,1);
y=sin(w*t);
a2 = T^2;
a1 = 2 * xi * T;
a0 = 1;
b0 = k;
dx(1)=x(2);
dx(2)= 1 / (a2) * (b0 * y - (a1 * x(2) + a0 * x(1)));
clear all;
global w
T = 3000;
w = 0.01;
X0=[0,0];
options=odeset('AbsTol',[1e-8,1e-8],'RelTol',1e-8);
[t,x]=ode45('model1',[0,T],X0,options);
Ax=max(x(round(length(x)/2):length(x),1)); %
% x(t)
figure
plot(t,x(:,1),'b-','LineWidth',2);
hold on;
y=sin(w*t);
plot(t,y,'g-','LineWidth',2);
legend('x(t)','y(t)');
grid on;
xlabel('t, c');
ylabel('x_i(t)');
title(strcat('\omega=', num2str(w), ' , A_x='));
annotation('arrow',[0.13 0.13],[0.13 0.95], 'HeadStyle', 'plain');
annotation('arrow',[0.11 0.92],[0.11 0.11], 'HeadStyle', 'plain');
%
x1 = x(:, 1);
%
DT = 2 * pi / w;
steps = ceil(3 * DT / mean(diff(t)));
idx_2 = length(t);
idx_1 = length(t) - steps + 1;
X1 = x1(idx_1: idx_2);
Y = y(idx_1: idx_2);
Xt = t(idx_1: idx_2);
X1_src = X1;
Y_src = Y;
%
X1_MAX_IDX = [];
Y_MAX_IDX = [];
for k = 1: 3
[~, X1_max_idx] = max(X1);
dt = ceil(0.1 * DT / mean(diff(t))); % 10%
tidx_1_x = max(X1_max_idx - dt, 1);
tidx_2_x = X1_max_idx + dt;
X1(tidx_1_x: tidx_2_x) = 0;
[~, Y_max_idx] = max(Y);
tidx_1_y = max(Y_max_idx - dt, 1);
tidx_2_y = Y_max_idx + dt;
Y(tidx_1_y: tidx_2_y) = 0;
X1_MAX_IDX = [X1_MAX_IDX, X1_max_idx];
Y_MAX_IDX = [Y_MAX_IDX, Y_max_idx];
end
% ( dt y(t) x(t))
figure
plot(Xt, X1_src / Ax, 'b-', 'LineWidth', 2);
hold on;
plot(Xt, Y_src, 'g-', 'LineWidth', 2);
plot(Xt(X1_MAX_IDX), X1_src(X1_MAX_IDX) / Ax, 'bo');
plot(Xt(Y_MAX_IDX), Y_src(Y_MAX_IDX), 'go');
grid on
legend('x(t) / A_x', 'y(t)');
title(strcat('\omega=', num2str(w), ' , \phi='));
xlabel('t, c');
ylabel('x_i(t) / A_x');
annotation('arrow',[0.13 0.13],[0.13 0.95], 'HeadStyle', 'plain');
annotation('arrow',[0.11 0.92],[0.11 0.11], 'HeadStyle', 'plain');
4.3. , 3.2. . , . 3.3. . (3.18).
Aw=[1, , 0.0006];
dt=[-2.01, , -0.08];
Tw=2*pi/w;
phi=dt/Tw*360
L=20*log10(Aw)
3.2
, | 0,01 | 0,03 | 0,1 | 0,3 | |||
|
|
4.4. MATLAB 3.2 , . 3.2 . ,
w=[0.01, , 10];
plot(w, Aw, 'LineWidth',2);
grid on;
title(' ');
ylabel('A(\omega)');
xlabel('\omega, ');
figure();
plot(w, phi, 'LineWidth',2);
grid on;
title(' ');
ylabel('\phi(\omega), .');
xlabel('\omega, ');
4.5. - . . 3.2 semilogx.
figure();
semilogx(w, L, 'LineWidth',2);
grid on
title(' ');
ylabel('L(\omega), ');
xlabel('\omega, ');
4.6. MATLAB tf. bode .
k=;
T=;
xi=;
W=tf([k],[T^2,2*T*xi,1]);
bode(W);
4.7. MATLAB nyquist. , Show/Negative frequencies. . . . .
nyquist(W);
hold on;
polar(phi*pi/180, Aw, 'r-');
title(' ');
: MatLab , .
5.
:
1. .
2. .
3. .
4. , , .
5. 3.2 .
6. , , , .
7. , .
8. .