Частотная передаточная функция (FRD)
Автор
Соавторы
Построение ЛАФЧХ для частотной передаточной функции (frd)
Частотная передаточная функция (частотный отклик) задается с помощью наборов частот и комплексных чисел, выражающих реакцию системы на этих частотах.
Это удобный способ хранить данные частотной характеристики системы для визуализации или использования в расчетах.
Pkg.add("ControlSystemsBase")
In [ ]:
using EngeeControlSystems # Для использования функции frd
using ControlSystemsBase # Для построения ЛАФЧХ
using CSV # Для загрузки экспериментальных данных из таблицы
Загрузка данных из таблицы
In [ ]:
df = CSV.read("frd_data.csv", DataFrame)
freq = df.freq
resp = [parse(ComplexF64, r) for r in df.resp]; # Преобразование из String в ComplexF64
Создание Модели частотной характеристики
In [ ]:
sys = frd(resp, freq)
Out[0]:
Построение ЛАФЧХ
In [ ]:
magnitude, phase, _ = bode(sys, freq)
Out[0]:
In [ ]:
magnitude = reshape(magnitude, size(magnitude, 3),)
phase = reshape(phase, size(phase, 3),)
Out[0]:
In [ ]:
p1 = plot(freq, 20*log10.(magnitude), ylabel = "L, дБ", legend = :none)
p2 = plot(freq, phase, xlabel = "ω, рад/с", ylabel = "Ψ, град", legend = :none)
plot(p1, p2, layout = (2,1), grid = false, framestyle = :box, xscale=:log10, xlims = (0.1,100))
Out[0]: