Engee 文档
Notebook

一种具有多个目标的单位置雷达系统的系统模型

该模型演示了具有多个目标(默认为4)的简单单位置雷达系统的操作,其坐标在ParamMMT中设置。jl文件。

用一个单稳态雷达建模的例子целью在接收和发射路径中,能够控制天线阵列的几何形状,其形成多瓣辐射图(DN)。

1. 模型结构的描述

让我们仔细看看模型的结构方案:

*源(波形矩形):矩形脉冲序列用作探测信号;
*发射器:信号在发射器中放大,底部使用天线阵列形成;
*分布环境(自由空间):信号传播到目标并返回接收器,经历与到目标的距离成比例的衰减;
*目标(雷达目标):反映传入信号并模拟两个目标的运动;
*接收器前置放大器:从目标反射的信号到达接收天线阵列,并通过添加接收器自身的热噪声进行放大。
*数字信号处理:数字处理由以下步骤组成:BeamFormer,Matched Felter,Tunable Gain,非相干累加(脉冲积分器);

该模型的运行方案如下图所示。

shem_1.jpg

数字处理由以下元素组成:

image.png

基于框图,我们开发了下图所示的雷达模型。

image_2.png

2. 输入参数的初始化

要初始化模型的输入参数,我们将连接文件"ParamMMT。jl"。 如果您需要更改参数值,请打开此文件并编辑必要的参数。

In [ ]:
include("$(@__DIR__)/ParamMMT.jl");
paramRadarMT = calcParams();

发射器和接收器的天线阵列的灵活配置在模型中是可能的,包括:元件类型,天线阵列几何形状(设置天线阵列参数的示例如下图所示):

image_2.png

此外,还可以使用该函数可视化天线阵列(AR)的辐射模式 pattern(). 让我们根据上图中的几何构建它。:

In [ ]:
# задание антенного элемента
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)
Out[0]:

从底部可以看出,沿y轴AR实际上不发射辐射,但在x-z平面中辐射最好。

3. 启动模型

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 ); # Запустить модель
        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;
In [ ]:
out = run_model("MonostaticRadarMT", @__DIR__); # запуск модели
Building...
Progress 0%
Progress 7%
Progress 16%
Progress 27%
Progress 34%
Progress 42%
Progress 49%
Progress 55%
Progress 60%
Progress 65%
Progress 70%
Progress 76%
Progress 81%
Progress 88%
Progress 95%
Progress 100%
Progress 100%

4. 读取输出数据

我们从out变量计算必要的输出(在我们的例子中为"out_MR_MT"):

In [ ]:
result = (out["out_MR_MT"]).value;

5. 显示结果

让我们在上一段中获得的模型的最后一步构建系统响应。:

In [ ]:
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)
Out[0]:

结论

在示例中,考虑了简单单位置雷达系统的操作。 由于雷达操作,在先前设定的距离(1045,1988,3532和3845米)检测到4目标。

示例中使用的块