Engee 文档
Notebook

考虑噪声因素的运算放大器建模

本例演示了一种电路噪声建模方法。电路是一个截止频率为 10 MHz 的放大器,其中的噪声效应由限带运算放大器产生。电压源 Vn 的等效噪声谱密度为 20$нВ/\sqrt{Гц}$ 。

模型示意图:

op_amp_with_noise_1743430398910.png

定义加载和运行模型的函数:

In [ ]:
function start_model_engee()
    try
        engee.close("op_amp_with_noise", force=true) # закрытие модели 
        catch err # в случае, если нет модели, которую нужно закрыть и engee.close() не выполняется, то будет выполнена её загрузка после catch
            m = engee.load("$(@__DIR__)/op_amp_with_noise.engee") # загрузка модели
        end;

    try
        engee.run(m, verbose=true) # запуск модели
        catch err # в случае, если модель не загружена и engee.run() не выполняется, то будут выполнены две нижние строки после catch
            m = engee.load("$(@__DIR__)/op_amp_with_noise.engee") # загрузка модели
            engee.run(m, verbose=true) # запуск модели
        end
end
Out[0]:
start_model_engee (generic function with 1 method)

运行模拟

In [ ]:
start_model_engee();
Building...
Progress 0%
Progress 5%
Progress 10%
Progress 15%
Progress 20%
Progress 25%
Progress 30%
Progress 35%
Progress 40%
Progress 45%
Progress 50%
Progress 55%
Progress 61%
Progress 66%
Progress 71%
Progress 76%
Progress 81%
Progress 86%
Progress 91%
Progress 96%
Progress 100%

将模拟数据写入变量:

In [ ]:
t = simout["op_amp_with_noise/SysOutput_1"].time[:]
amp_voltage = simout["op_amp_with_noise/SysOutput_1"].value[:]
Out[0]:
WorkspaceArray{Float64}("op_amp_with_noise/SysOutput_1").value

数据可视化

In [ ]:
using Plots

放大器两端的电压图

In [ ]:
plot(t, amp_voltage, linewidth=2, title="Напряжение на усилителе", xlabel="Время, с", ylabel="Напряжение, В", lc=2)
Out[0]:

放大器的频率响应:

newplot_65.png