一种具有多个目标的单位置雷达系统的系统模型
该模型演示了具有多个目标(默认为4)的简单单位置雷达系统的操作,其坐标在ParamMMT中设置。jl文件。
与用一个单稳态雷达建模的例子целью在接收和发射路径中,能够控制天线阵列的几何形状,其形成多瓣辐射图(DN)。
1. 模型结构的描述
让我们仔细看看模型的结构方案:
*源(波形矩形):矩形脉冲序列用作探测信号;
*发射器:信号在发射器中放大,底部使用天线阵列形成;
*分布环境(自由空间):信号传播到目标并返回接收器,经历与到目标的距离成比例的衰减;
*目标(雷达目标):反映传入信号并模拟两个目标的运动;
*接收器前置放大器:从目标反射的信号到达接收天线阵列,并通过添加接收器自身的热噪声进行放大。
*数字信号处理:数字处理由以下步骤组成:BeamFormer,Matched Felter,Tunable Gain,非相干累加(脉冲积分器);
该模型的运行方案如下图所示。
数字处理由以下元素组成:
基于框图,我们开发了下图所示的雷达模型。
2. 输入参数的初始化
要初始化模型的输入参数,我们将连接文件"ParamMMT。jl"。 如果您需要更改参数值,请打开此文件并编辑必要的参数。
include("$(@__DIR__)/ParamMMT.jl");
paramRadarMT = calcParams();
发射器和接收器的天线阵列的灵活配置在模型中是可能的,包括:元件类型,天线阵列几何形状(设置天线阵列参数的示例如下图所示):
此外,还可以使用该函数可视化天线阵列(AR)的辐射模式 pattern(). 让我们根据上图中的几何构建它。:
# задание антенного элемента
antenna_element = EngeePhased.IsotropicAntennaElement(FrequencyRange=[0.0 1e20], BackBaffled=false)
# проектирование геометрии антенной решетки (в нашем случае ULA - линейная эквидистатная АР)
ULA_Array = EngeePhased.ULA(
Element=antenna_element, # инициализация антенного элемента
NumElements=4,# количество антенных элементов
ElementSpacing=paramRadarMT.lambda/2, # расстояние между антенными элементами
ArrayAxis="y", # ориентация элементов антенной решетки,
Taper = 1 # весовой коэффициент антенного элемента
)
# построение диаграммы направленности
pattern(ULA_Array,paramRadarMT.fc)
从底部可以看出,沿y轴AR实际上不发射辐射,但在x-z平面中辐射最好。
3. 启动模型
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 ); # Запустить модель
engee.close( name_model, force=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;
out = run_model("MonostaticRadarMT", @__DIR__); # запуск модели
4. 读取输出数据
我们从out变量计算必要的输出(在我们的例子中为"out_MR_MT"):
result = (out["out_MR_MT"]).value;
5. 显示结果
让我们在上一段中获得的模型的最后一步构建系统响应。:
out_step_end = result[end] # считывание последнего шага модели
R_engee = paramRadarMT.metersPerSample .* (0:size(out_step_end, 1) - 1) .+ paramRadarMT.rangeOffset # сетка дальности
# построение графика
plot(R_engee,abs.(out_step_end)*1e6,title="Сигнал на выходе модели после обработки от 4 целей",label="",
xlabel="Расстояние,м",ylabel="Мощность приемника, мкВт",gridalpha=0.5,lw=2,color=:blue)
结论
在示例中,考虑了简单单位置雷达系统的操作。 由于雷达操作,在先前设定的距离(1045,1988,3532和3845米)检测到4目标。
