Построение частотных характеристик в среде SciLab
Для построения графиков АФЧХ и логарифмических функций в SciLab используются функции:
nyquist(w) – АФЧХ линейной системы w, заданной с помощью функции syslin;
bode(w) – ЛАЧХ и ЛФЧХ линейной системы w, заданной с помощью функции syslin.
Пример команд:
w=syslin('c', 1/(1+%s))
figure; nyquist(w); xgrid();
figure; bode(w);xgrid()
Результатом выполнения приведенного кода являются два окна с требуемыми характеристиками (рис. 20 и рис. 21).
Рис. 20. Диаграмма Найквиста (АФЧХ) в среде SciLab
Рис. 21. ЛАЧХ и ЛФЧХ (диаграммы Боде), полученные в SciLab
Рассмотрим листинг программного кода для получения и построения частотных характеристик расчетным методом для апериодического звена 1-го порядка.
// построение частотных характеристик
// апериодического звена 1-го порядка
K1 = 0.5; // коэффициент усиления
K2 = 1;
T1 = 0.1; // постоянные времени
T2 = 0.5;
// рассчитаем ВЧХ
U1 =[];
U2 =[];
for w = 0:0.1:100
U1 =[U1 K1/(1 + (T1*w)^2)];
U2 =[U2 K2/(1 + (T2*w)^2)];
end
// рассчитаем МЧХ
V1 =[];
V2 =[];
for w = 0:0.1:100
V1 =[V1 -K1*w*T1/(1 + (T1*w)^2)];
V2 =[V2 -K2*w*T2/(1 + (T2*w)^2)];
end
// построим годограф
figure("BackgroundColor", [1 1 1]);
plot(U1, V1, 'r', U2, V2, 'g');
xgrid(2); // установка сетки на графике
// установка подписей графика и осей
xtitle('AFC', 'Re', 'Im');
// подпись легенды
legend('T=0.1', 'T=0.5');
// рассчитаем ЛАЧХ
L1 =[];
L2 =[];
for w = 0.001:0.1:100
L1 =[L1 20*log10(K1)-20*log10(sqrt(1 + (T1*w)^2))];
L2 =[L2 20*log10(K2)-20*log10(sqrt(1 + (T2*w)^2))];
end
// рассчитаем ЛФЧХ
F1 =[];
F2 =[];
for w = 0.001:0.1:100
F1 =[F1 -atan(w*T1)];
F2 =[F2 -atan(w*T2)];
end
// зададим логарифмическую шкалу частоты
w = 0.001:0.1:100;
lw = log10(w)
// построение ЛАЧХ и ЛФЧХ
figure("BackgroundColor", [1 1 1]);
subplot(1,2,1);
plot(lw, L1,'g', lw, L2, 'b'); xgrid(2);
legend('K=0.5', 'K=1');
xtitle('L(w)', 'lg w', 'L');
subplot(1,2,2);
plot(lw, F1,'g', lw, F2, 'b'); xgrid(2);
legend('K=0.5', 'K=1');
xtitle('F(w)', 'lg w', 'Ph');
Результаты выполнения программного кода приведены на рис. 22 и рис. 23.
Рис. 22. АФЧХ, полученная расчетным методом
Рис. 23. ЛАЧХ и ЛФЧХ, полученные расчетным методом
Описание соединений звеньев в MatLab
В пакете MatLab имеются команды, позволяющие получать математическое описание сложных систем по их структурным схемам.
Передаточная функция последовательного соединения W определяется следующими командами:
W = series(W1, W2)
или
W = W1 * W2.
Передаточная функция W для параллельного соединения включает следующие команды:
W = parallel(W1, W2)
или
W = W2 + W1
При охвате звена W1 обратной связью W2 передаточная функция замкнутой системы определяется выражением
W = feedback(W1, W2)
При положительной обратной связи команда определения W изменяется следующим образом:
W = feedback(W1, W2, +1)
Пример:
Рис. 30. Пример структурной схемы
Пусть передаточные функции элементов определяются как W1(s)= , W2(s)= , W3(s)= , W4(s)= k4. Реализация структуры рис. 30 в MatLab будет выглядеть следующим образом:
k1 = 1;
k2 = 2;
k3 = 3;
k4 = 4;
W1 = tf(k1)
W2 = tf(k2, [1 0])
W3 = tf(k3)
W4 = tf(k4)
W24 = feedback(W2, W4)
W124 = series(W1, W24)
W1234 = feedback(W124, W3)
Результат работы программы:
Transfer function:
Transfer function:
-
s
Transfer function:
Transfer function:
Transfer function:
-----
s + 8
Transfer function:
-----
s + 8
Transfer function:
------
s + 14