ЛР5 / Моделирование_5
.docxНикитиной С.
ИВТ-44
Лабораторная работа №5
Вариант 11
(все точки на графиках расставлены приблизительно)
Задание 1
>> k/sqrt(2) = 0.0707, >> 1/T = 0.7143
U(ω) V(ω)
L(ω)
При увеличении T у характеристик перегиб становится более «прилегающим» к оси ординат, при увеличении – выгибается в обратную сторону.
Script:
clear
close all
clc
k = 0.1;
T = 1.4;
t = -6:0.01:6;
omega = (k./T).*exp(-t./T);
A = k./sqrt((T.*omega).^2 + 1);
phi = -atan(omega.*T);
U = k./(1 + (T.*omega).^2);
V = -k.*T.*omega./(1 + (T.*omega).^2);
L = 20.*log10(k) - 20.*log10(sqrt((T.*omega).^2 + 1));
hold on
grid on
xlabel('?')
%plot(t,omega)
%plot(omega,A)
%ylabel('A')
plot(omega,phi)
ylabel('?')
%subplot(2,1,1)
%plot(omega,U)
%ylabel('U')
%subplot(2,2,1)
%plot(omega,V)
%ylabel('V')
%plot(omega,L)
%ylabel('L')
Вывод: асимптоты ЛАЧХ сопрягаются при частоте . В области сопрягающей частоты по графику можно определить, что максимальная ошибка асимптотической ЛАЧХ по сравнению с точной – равна 3 дБ (на графике точки поставлены приблизительно).
Script:
clear,clc,close all
s = tf('s');
k = 0.1;
T = 1.4;
w0 = k/(T*s + 1);
% --------- ЛАЧХ ------------------------------
w = 10^(-2):0.002:10^1;
L = 20.*log10(k) - 20.*log10(sqrt((T.*w).^2 + 1));
w1 = [10^(-2), 1/T];
L1 = [20.*log10(k), 20.*log10(k)];
w2 = 1/T:0.002:10^1;
L2 = 20.*log10(k) - 20.*log10(T.*w2);
% ---------------------------------------
semilogx(w,L,'linew',1)
hold on
semilogx(w1,L1,'linew',1,'lines','--','color','r')
hold on
semilogx(w2,L2,'linew',1,'lines','--','color','r')
grid on
ylabel('\bf\fontsize{12} Magnitude (dB)')
xlabel('\bf\fontsize{12} Frequency (rad/sec)')
title(sprintf('%s','\bf\fontsize{12} ЛАЧХ'))
Script:
k = 0.1;
T = 1.4;
W = tf([k],[T 1])
ltiview({'step';'impulse';'bode';'nyquist'},W)
>> 1/T*sqrt(1-2*ksi^2) = 0.6851
>> 1/T = 0.7143
>> -pi/2 = -1.5708
>> -k/(2*ksi) = -0.2500
>> 1/T = 0.7143
>> 20*log10(k) = -20
>> 1/T = 0.7143
Вывод:
Влияние ξ:
Влияние T:
Script:
clear
close all
clc
k = 0.1;
T = 1.4;
T2 = 0.35;
ksi = 0.2;
%t = 10:0.01:50;
%l = ksi/T;
%w = sqrt(1-ksi^2)/T
%omega = k./(T.^2.*w).*exp(-l.*t).*sin(w.*t);
omega = 0:0.001:5;
A = k./sqrt((1 - (T.*omega).^2).^2 + 4.*(ksi.*T.*omega).^2);
U = k.*(1 - (T.*omega).^2)./((1 - (T.*omega).^2).^2 + 4.*(ksi.*T.*omega).^2);
V = -2.*k.*ksi.*T.*omega./((1 - (T.*omega).^2).^2 + 4.*(ksi.*T.*omega).^2);
L = 20.*log10(A);
arr = {};
for i = 1:length(U)
if (U(i) > 0)
phi = -atan(2.*ksi.*T.*omega(i)./(1 - (T.*omega(i)).^2));
arr{end + 1} = phi;
end
if (U(i) < 0)
phi = -pi - atan(2.*ksi.*T.*omega(i)./(1 - (T.*omega(i)).^2));
arr{end + 1} = phi;
end
end
arr = horzcat(arr{:});
hold on
grid on
xlabel('?')
%plot(t,omega)
%title('A(?)')
%plot(omega,A)
%ylabel('A')
%title('?(?)')
%plot(omega,arr)
%ylabel('?')
%title('U(?),V(?)')
%plot(omega,U)
%ylabel('U,V')
%plot(omega,V)
%line([0 5],[0 0], 'color','k')
%legend('U(?)','V(?)','abscissa')
title('L(?)')
plot(omega,L)
ylabel('L')
Вывод: асимптоты ЛАЧХ сопрягаются при частоте . В области сопрягающей частоты по графику можно определить, что максимальная ошибка асимптотической ЛАЧХ по сравнению с точной – равна примерно 8 дБ.
>> 20*log10(2*ksi) = -7.9588 => значения соответствуют графику.
Script:
clear,clc,close all
s = tf('s');
k = 0.1;
T = 1.4;
ksi = 0.2;
w0 = k/((T*s)^2 + 2*T*ksi*s + 1);
% --------- ЛАЧХ ------------------------------
w = 10^(-2):0.002:10^1;
A = k./sqrt((1 - (T.*w).^2).^2 + 4.*(ksi.*T.*w).^2);
L = 20.*log10(A);
w1 = [10^(-2), 1/T];
L1 = [20.*log10(k), 20.*log10(k)];
w2 = 1/T:0.002:10^1;
L2 = 20.*log10(k) - 40.*log10(T.*w2);
% ---------------------------------------
semilogx(w,L,'linew',1)
hold on
semilogx(w1,L1,'linew',1,'lines','--','color','r')
hold on
semilogx(w2,L2,'linew',1,'lines','--','color','r')
grid on
ylabel('\bf\fontsize{12} Magnitude (dB)')
xlabel('\bf\fontsize{12} Frequency (rad/sec)')
title(sprintf('%s','\bf\fontsize{12} ЛАЧХ')
Script:
k = 0.1;
T = 1.4;
ksi = 0.2;
W = tf([k],[T^2 2*T*ksi 1])
ltiview({'step';'impulse';'bode';'nyquist'},W)
ЛАЧХ и ЛФЧХ сложной системы
Script:
clear,clc,close all
k = 0.1;
T = 1.4;
ksi = 0.2;
T2 = 0.35;
w1 = tf([k 0],[T 1])
w2 = tf([1],[T2^2 2*T2*ksi 1])
w = w1*w2
bode(w)
grid on
ax=findobj(gcf,'type','axes')
phase_ax=ax(1)
mag_ax=ax(2)
% Get the X axis limits (it is the same for both the plot
ax_xlim=phase_ax.XLim
% Get the Y axis limits
phase_ylim=phase_ax.YLim
mag_ylim=mag_ax.YLim
mid_x=(ax_xlim(1)+ax_xlim(2))/2
mid_phase_y=(phase_ylim(1)+phase_ylim(2))/2
mid_mag_y=(mag_ylim(1)+mag_ylim(2))/2
% Set hold to on to add the line
hold(phase_ax,'on')
% Add a vertical line in the Phase plot
%plot(phase_ax,[mid_x mid_x],[phase_ylim(1) phase_ylim(2)])
% Add an horizontal line in the Phase plot
%plot(phase_ax,[ax_xlim(1), ax_xlim(2)],[mid_phase_y mid_phase_y])
% Set hold to on to add the line
hold(mag_ax,'on')
% Add a vertical line in the Magnitide plot
%plot(mag_ax,[mid_x mid_x],[mag_ylim(1) mag_ylim(2)])
% Add an Horizontal line in the Magnitide plot
%plot(mag_ax,[ax_xlim(1), ax_xlim(2)],[mid_mag_y mid_mag_y])
semilogx(mag_ax, w3,L3,'linew',1,'lines','--','color','r')
semilogx(mag_ax, w4,L4,'linew',1,'lines','--','color','r')
semilogx(mag_ax, w5,L5,'linew',1,'lines','--','color','r')
ЛАЧХ и ЛФЧХ типовых звеньев, входящих в систему (идеального дифференцирующего, апериодического, колебательного)
Script:
clear,clc,close all
k = 0.1;
T = 1.4;
ksi = 0.2;
T2 = 0.35;
W3 = tf([1],[T2^2 2*T2*ksi 1])
W2 = tf([1],[T 1])
figure(1)
bode(W1)
grid on
figure(2)
bode(W2)
grid on
figure(3)
bode(W3)
grid on
Идеальное дифференцирующее:
Не описывается с помощью функции ltiview, т.к. функции выглядят, как:
Апериодическое звено
Колебательное звено
Сложная система
Вывод: переходные характеристики сложной системы строятся на основании всех элементарных звеньев в нее входящих.
Script:
clear,clc,close all
k = 0.1;
T = 1.4;
ksi = 0.2;
T2 = 0.35;
W3 = tf([1],[T2^2 2*T2*ksi 1])
W2 = tf([1],[T 1])
W1 = tf([k 0],[1])
W = W1*W2*W3
ltiview({'step';'impulse'},W1)
ltiview({'step';'impulse'},W2)
ltiview({'step';'impulse'},W3)
ltiview({'step';'impulse'},W)