EPR modeling of elementary objects
The example considers modeling the reflected signal
from elementary radar objects (cylinder and cone). The peculiarity of these objects is that
They have an analytical expression for calculating the effective scattering surface (ESR).
# Подключение вспомагательного файла, в котором 
# реализованы аналитические выражения для расчета ЭПР
include("$(@__DIR__)/helperTargetRCS.jl")
plotlyjs();
1. The cylinder object
Let's define the size of the cylinder: height - 10 m, radius - 1 m.
The carrier frequency of the radar is 850 MHz.
c = physconst("LightSpeed") # скорость распространения сигнала, м/с
fc = 850e6 # несущая частота, Гц
R1 = 1; # Радиус нижней части цилиндра, м
R2 = 1 # Радиус верхней части цилиндра, м
H = 10; # высота, м
Using the function rcscylinder let's calculate the diagram of the reverse
displacement of the cylinder. Function helperTargetRCSPatternPlot allows
you to visualize a 3D EPR model.
cylrcs,az,el = rcscylinder(R1,R2,H,c,fc);
helperTargetRCSPatternPlot(az,el,cylrcs)
To simulate a radar object (cylinder)
with a previously calculated EPR - cylrcs, let's use the built
-in EngeePhased system object.BackscatterRadarTarget
tgt_rcs = EngeePhased.BackscatterRadarTarget(
    PropagationSpeed=c, # скорость распространения сигнала
    OperatingFrequency=fc, # несущая частота
    AzimuthAngles=az, # сетка по азимутальному углу
    ElevationAngles=el, # сетка по углу места
    RCSPattern=cylrcs # ЭПР объекта
);
Let's model the scenario of the rotational movement of the target based on the harmonic law:
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!("Модель вращения тела")
Next, we calculate the reflected signal for N single pulses
at different viewing angles using the function
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 = "Отраженный сигнал от цилиндра")
The graph shows that as the target deviation increases
, the amplitude of the reflected signal decreases due
to a decrease in EPR as it approaches the boundary angles.
2. The cone object
The next object of the study is a cone.
To calculate the EPR of an object, we will use rcstruncone
forming a truncated cone.
To obtain a regular cone, you need an upper radius R1 skip it
R1 = 0; # Радиус верхней части конуса, м
R2 = 1 # Радиус нижней части конуса, м
H = 1; # высота конуса, м
cone_rcs,az,el = rcstruncone(R1,R2,H,c,fc);
helperTargetRCSPatternPlot(az,el,cone_rcs)
Reusing the system object tgt_rcs to simulate the EPR of a cone.Let's use the method release! to update
the field RCSPattern - EPR matrices.
release!(tgt_rcs)
tgt_rcs.RCSPattern = cone_rcs;
Next, by analogy with the previous paragraph, we calculate and display the reflected signal.
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 = "Отраженный сигнал от конуса")
Compared to the cylinder, the graph of the reflected signal from the cone
it has a smoother character when changing the angle of the seat.
Conclusion
In the example, EPR modeling for elementary
objects - a cylinder and a cone - was considered. By changing the direction of arrival
of the probing signal, the rotational motion
of the target was simulated. As a result, the reflected signal was calculated.