基带调制
此示例显示了通过将调制的复信号乘以复正弦波来执行带boost的频率转换来执行基带调制的简单方法。 优选在复杂基带中对系统建模。 然而,在某些情况下,有必要在实际带宽中模拟系统。 这方面的一个例子是当来自相邻频带的信号被非线性处理并且在期望频带中引起干扰时。
算法的方案具有以下形式:
建立模型
现在让我们来看看通信系统模型,它是使用Engee模型对数字信号处理的模拟。
Passbanmod
非线性干扰
升频器
下变频器
计算RMS EVM
计算BER
In [ ]:
function run_model( name_model, path_to_folder )
Path = path_to_folder * "/" * name_model * ".engee"
if name_model in [m.name for m in engee.get_all_models()] # 检查将模型加载到内核的条件
model = engee.open( name_model ) # 打开模型
model_output = engee.run( model, verbose=true ); # 启动模型
else
model = engee.load( Path, force=true ) # 上传模型
model_output = engee.run( model, verbose=true ); # 启动模型
engee.close( name_model, force=true ); # 关闭模型
end
return model_output
end
# 启动模型
run_model( "passbandmod", @__DIR__ )
In [ ]:
# 连接图书馆
using CSV, DataFrames
gr() # 启用后端图形显示方法
Out[0]:
In [ ]:
# # EVM
EVM = Matrix(CSV.read("$(@__DIR__)/EVM.csv", DataFrame)); # 上传数据
plot(EVM[:,1], EVM[:,2], xlabel="时间", ylabel="EVM", title="EVM") # 绘制图形
Out[0]:
In [ ]:
# # BER
BER = Matrix(CSV.read("$(@__DIR__)/BER.csv", DataFrame)); # 上传数据
plot(BER[:,1], BER[:,2], xlabel="时间", ylabel="BER", title="BER") # 绘制图形
Out[0]:
结论
我们已经实现了通过将调制的复信号乘以复正弦波来执行频率变换的简单方法的模型来执行基带调制。 他们还展示了如何在Engee中使用模型进行数字信号处理。
.png)
.png)