Документация Engee
Notebook

Анализ отклика RLC схемы

В этом примере показано, как анализировать временные и частотные характеристики RLC-цепей в зависимости от их физических параметров с помощью функций ControlSystems.jl.

Перед началом работы подключите пакет ControlSystems.jl.

In [ ]:
import Pkg
Pkg.add("ControlSystems")
In [ ]:
using ControlSystems
s = tf('s')

Полосовая сеть RLC

На следующем рисунке показана параллельная форма полосовой RLC-схемы.

image.png

Передаточная функция от входного к выходному напряжению равна:

$$ G(s) = { s / (RC) \over s^2 + s/(RC) + 1/(LC) } $$

Устройство $LC$ управляет полосовой частотой, а $RC$ - степенью сужения полосы пропускания. Чтобы создать полосовой фильтр, настроенный на частоту 1 рад/с, установите $L=C=1$ и используйте $R$ для настройки полосы фильтра.

Анализ частотной характеристики системы

График Боде является удобным инструментом для исследования характеристик полосы пропускания сети RLC. Используйте tf, чтобы задать передаточную функцию схемы для значений $R=L=C=1$.

In [ ]:
R = 1; L = 1; C = 1;
G = tf([1/(R*C), 0],[1, 1/(R*C), 1/(L*C)])
Out[0]:
TransferFunction{Continuous, ControlSystemsBase.SisoRational{Float64}}
       1.0s
-------------------
1.0s^2 + 1.0s + 1.0

Continuous-time transfer function model
In [ ]:
bodeplot(G)
Out[0]:

Как и ожидалось, RLC-фильтр имеет максимальный коэффициент усиления на частоте 1 рад/с. Однако затухание составляет всего -10 дБ на полдекады ниже этой частоты. Чтобы получить более узкую полосу пропускания, попробуйте увеличить значение $R$ следующим образом.

In [ ]:
R1 = 5;
G1 = tf([1/(R1*C), 0],[1, 1/(R1*C), 1/(L*C)]);
R2 = 20;
G2 = tf([1/(R2*C), 0],[1, 1/(R2*C), 1/(L*C)]);

bodeplot([G, G1, G2], lab = ["R = 1" "R = 5" "R = 20"])
Out[0]:

Значение резистора R=20 обеспечивает узкую настройку фильтра вокруг целевой частоты 1 рад/с.

Анализ временной характеристики схемы

Мы можем подтвердить свойства затухания схемы G2 ($R=20$), смоделировав, как этот фильтр преобразует синусоидальные волны с частотой 0,9, 1 и 1,1 рад/с.

In [ ]:
t = 0:0.05:250;

lp1 = lsim(G2,sin.(t)',t)
lp2 = lsim(G2,sin.(0.9*t)',t)
lp3 = lsim(G2,sin.(1.1*t)',t)
plot(
    plot(lp1, title = "w = 1"),
    plot(lp2, title = "w = 0.9"),
    plot(lp3, title = "w = 1.1"),
    layout = (3,1)
)
Out[0]:

Волны с частотой 0,9 и 1,1 рад/с значительно ослабляются. Волна с частотой 1 рад/с остаётся неизменной после затухания переходных процессов. Длительный переходный процесс возникает из-за плохо демпфированных полюсов фильтров, которые, к сожалению, необходимы для узкой полосы пропускания.

In [ ]:
dampreport(G2)
|        Pole        |   Damping     |   Frequency   |   Frequency   | Time Constant |
|                    |    Ratio      |   (rad/sec)   |     (Hz)      |     (sec)     |
+--------------------+---------------+---------------+---------------+---------------+
| -0.025  ±      1im |  0.025        |  1            |  0.159        |  40           |

Вывод

Таким образом, мы рассмотрели, с помощью каких функций можно анализировать временный и частотные характеристики RLC цепей.