Engee 文档
Notebook

基于Kolpits方案的LC振荡器仿真

这个例子显示了一个标称频率为9兆赫的Colpits振荡器电路的实现. 振荡频率由公式给出:

LC振荡器具有良好的频率选择性,因为与RC振荡器相比,LC振荡器具有更高的质量水平。

模型图:

lc_oscillator--1734963351199.png

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

In [ ]:
function start_model_engee()
    try
        engee.close("lc_oscillator", force=true) # 关闭模型
        catch err # 如果没有模型关闭和engee。close()不执行,它将在catch之后加载。
            m = engee.load("$(@__DIR__)/lc_oscillator.engee") # 加载模型
        end;

    try
        engee.run(m) # 启动模型
        catch err # 如果模型没有加载和engee。run()不执行,catch后最下面的两行将被执行。
            m = engee.load("$(@__DIR__)/lc_oscillator.engee") # 加载模型
            engee.run(m) # 启动模型
        end
end
Out[0]:
start_model_engee (generic function with 1 method)

运行模拟

In [ ]:
try
    start_model_engee() # 使用上面实现的特殊功能运行仿真
    catch err
    end;

从simout写入电压信号变量:

In [ ]:
res = collect(simout)
V = collect(res[1])
Out[0]:
7001×2 DataFrame
6976 rows omitted
Rowtimevalue
Float64Float64
10.04.08249
21.0e-811.9085
32.0e-89.00624
43.0e-85.58947
54.0e-86.79576
65.0e-87.37572
76.0e-87.26239
87.0e-86.60988
98.0e-85.7106
109.0e-85.90388
111.0e-78.27166
121.1e-79.73887
131.2e-79.79918
69906.989e-59.92202
69916.99e-59.48484
69926.991e-59.03062
69936.992e-58.69916
69946.993e-58.59152
69956.994e-58.73975
69966.995e-59.09795
69976.996e-59.55646
69986.997e-59.97573
69996.998e-510.2294
70006.999e-510.2408
70017.0e-510.0048

模拟结果的可视化

In [ ]:
using Plots
In [ ]:
plot(V[:,1], V[:,2], label="电压,V", linewidth=2, title="LC振荡器电压")
Out[0]:
In [ ]:
plot(V[:,1], V[:,2], label="电压,V", linewidth=2, xlim=(4e-5, 4.1e-5), title="LC振荡器电压为1微秒")
Out[0]: