Системная модель однопозиционной радиолокационной системы с несколькими целями¶
Модель демонстрирует работу простой однопозиционной радиолокационной системы c множественными целями (по умолчанию - 4), координаты которых задаются в файле ParamMMT.jl.
В отличие от примера моделирования моностатической РЛС с одной целью, в приемо-передающем тракте есть возможность управлять геометрией антенной решетки, которая формирует многолепестковый вид диаграммы направленности (ДН).
1. Описание структуры модели¶
Рассмотрим более детально структурную схему модели:
- Источник (Waveform Rectungular): в качестве зондирующего сигнала используется последовательность прямоугольных импульсов;
- Передатчик (Transmitter): в передатчике усиливается сигнал и формируется ДН с помощью антенной решетки;
- Среда распространения (Free Space): сигнал распространяется до целей и обратно до приемника, претерпевая затухание пропорциональное расстоянию до целей;
- Цель (Radar Target): Отражает падающий сигнал и имитирует движение обеих целей;
- Приемник (Receiver Preamp): сигнал отраженный от целей поступает на приемную антенную решетку и усиливается с добавлением собственных тепловых шумов приемника.
- Цифоровая обработка сигнала: цифровая обработка состоит из следующих этапов: формирование луча (BeamFormer), согласованная фильтрация (Matched Felter), перестраиваемое усиление (Time Varying Gain), некогерентное накопление (Pulse Integrator);
Схема работы модели представлена на рисунке ниже.
Цифровая обработка состоит из следующих элементов:
Опираясь на структурную схему, мы разработали модель радара, показанную на рисунке ниже.
2. Инициализация входных параметров¶
Для инициализации входных параметров модели подключим файл "ParamMMT.jl". Если требуется изменить значения параметров, то откройте данный файл и отредактируйте необходимые параметры
include("$(@__DIR__)/ParamMMT.jl");
paramRadarMT = calcParams();
В модели возможна гибкая настройка антенной решетки передатчика и приемника, включающая в себя: тип элемента, геометрию антенной решетки (пример задания параметров антенной решетки приведены на рисунке ниже):
Дополнительно, существует возможность визуализации диаграммы направленности антенной решетки (АР) с помощью функции 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 АР практически не излучает, а вот в плоскости 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)
Вывод¶
В примере была рассмотрена работа простой однопозиционной радиолокационной системы. В результате работы РЛС было обнаружено 4 цели на ранее заданном расстоянии (1045, 1988, 3532 и 3845 метрах).