Моделирование ЭПР элементарных объектов
В примере рассматривается моделирование отраженного сигнала
от элементарных радиолокационных объектов (цилиндра и конуса). Особенность этих объектов в том, что
они имеют аналитическое выражение для расчет эффективной поверхности рассеяния (ЭПР).
# Подключение вспомагательного файла, в котором
# реализованы аналитические выражения для расчета ЭПР
include("$(@__DIR__)/helperTargetRCS.jl")
plotlyjs();
1. Объект - цилиндр
Зададимся размерами цилиндра: высота - 10 м, радиус - 1 м.
Несущая частота РЛС - 850 МГц.
c = physconst("LightSpeed") # скорость распространения сигнала, м/с
fc = 850e6 # несущая частота, Гц
R1 = 1; # Радиус нижней части цилиндра, м
R2 = 1 # Радиус верхней части цилиндра, м
H = 10; # высота, м
С помощью функции rcscylinder
вычислим диаграмму обратного
рассения цилиндра. Функция helperTargetRCSPatternPlot
позволяет
визуализировать 3д-модель ЭПР.
cylrcs,az,el = rcscylinder(R1,R2,H,c,fc);
helperTargetRCSPatternPlot(az,el,cylrcs)
Для имитации радиолокационного объекта (цилиндр)
с ранее расчитанным ЭПР - cylrcs
, воспользуемся встроенным
системным объектом EngeePhased.BackscatterRadarTarget
tgt_rcs = EngeePhased.BackscatterRadarTarget(
PropagationSpeed=c, # скорость распространения сигнала
OperatingFrequency=fc, # несущая частота
AzimuthAngles=az, # сетка по азимутальному углу
ElevationAngles=el, # сетка по углу места
RCSPattern=cylrcs # ЭПР объекта
);
Смоделируем сценарий вращательного движения цели на основе гармонического закона:
N = 1000 # количество импульсов
num_turn = 4 # количество колебаний объекта
# модель вращения тела
mod_az = (0 .+ LinRange(0,40,N))' .+ ((LinRange(20,90,N)) .* sin.(LinRange(0,num_turn*2π,N)))' # азимутальный угол, град
mod_el = (0 .+ LinRange(0,45,N))' .+ ((LinRange(20,45,N)) .*sin.(LinRange(0,num_turn*2π,N)))' # угол места, град
# Отображение модели
plot([mod_az[:] mod_el[:]],lab=["азимутальный угол" "угол места"],legend_position = :topleft)
xlabel!("Отсчеты")
ylabel!("Угол, град")
title!("Модель вращения тела")
Далее, вычислим отраженный сигнал для N одиночных импульсов
при различных углах визирования с помощью функции
calc_resp_sig
in_sig = ones(N) # входной сигнал - последовательность одиночных импульсов
out_sig_cyl = calc_resp_sig(tgt_rcs,in_sig,[mod_az;mod_el]); # расчет выходного сигнала
# Отображение результата
plotting_sig(out_sig_cyl,[mod_az[:] mod_el[:]];title = "Отраженный сигнал от цилиндра")
По графику видно, что при увеличении отклонении цели
амплитуда отраженного сигнала уменьшается ввиду
уменьшения ЭПР при приближении к граничным углам
2. Объект - конус
Следующим объетом исследования является конус.
Для расчета ЭПР объекта воспользуемтся rcstruncone
,
формирующий усеченный конус.
Для получения обычного конуса необходимо верхний радиус R1
занулить
R1 = 0; # Радиус верхней части конуса, м
R2 = 1 # Радиус нижней части конуса, м
H = 1; # высота конуса, м
cone_rcs,az,el = rcstruncone(R1,R2,H,c,fc);
helperTargetRCSPatternPlot(az,el,cone_rcs)
Переиспользуем системный объект tgt_rcs
для моделирования ЭПР конуса.Воспользуемся методом release!
для обновления
поля RCSPattern
- матрицы ЭПР.
release!(tgt_rcs)
tgt_rcs.RCSPattern = cone_rcs;
Далее, по аналогии с предыдущим пунктом вычислим и отобразим отраженный сигнал
in_sig = ones(N) # входной сигнал - последовательность одиночных импульсов
out_sig_cone = calc_resp_sig(tgt_rcs,in_sig,[mod_az;mod_el]); # расчет выходного сигнала
# Отображение результата
plotting_sig(out_sig_cone,[mod_az[:] mod_el[:]];title = "Отраженный сигнал от конуса")
По сравнению с цилиндром, график отраженного сигнала от конуса
имеет более плавный характер при изменении угла места.
Заключение
В примере были рассмотрено моделирование ЭПР для элементарных
объектов - цилиндра и конуса. Путем изменения направления прихода
зондирующего сигнала была произведена имитация вращательного движения
цели. В результате был рассчитан отраженный сигнал.