Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Моделирование_1

.docx
Скачиваний:
6
Добавлен:
26.06.2022
Размер:
2.45 Mб
Скачать

Никитиной С.

ИВТ-44

Лабораторная работа №2

Вариант 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)