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).
# Connecting a descriptive file in which
# analytical expressions for calculating EPR are implemented
include("$(@__DIR__)/helperTargetRCS.jl")
plotlyjs();
1. The cylinder object
Let's define the size of the cylinder: height - 10 m, radius - 1 m.
The radar carrier frequency is 850 MHz.
c = physconst("LightSpeed") # signal propagation speed, m/s
fc = 850e6 # carrier frequency, Hz
R1 = 1; # Radius of the lower part of the cylinder, m
R2 = 1 # Radius of the upper part of the cylinder, m
H = 10; # height, m
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, # signal propagation speed
OperatingFrequency=fc, # carrier frequency
AzimuthAngles=az, # azimuthal angle grid
ElevationAngles=el, # grid by location angle
RCSPattern=cylrcs # EPR of the object
);
Let's model the scenario of the rotational movement of the target based on the harmonic law:
N = 1000 # number of pulses
num_turn = 4 # the number of vibrations of the object
# body rotation model
mod_az = (0 .+ LinRange(0,40,N))' .+ ((LinRange(20,90,N)) .* sin.(LinRange(0,num_turn*2π,N)))' # azimuth angle, degrees
mod_el = (0 .+ LinRange(0,45,N))' .+ ((LinRange(20,45,N)) .*sin.(LinRange(0,num_turn*2π,N)))' # seat angle, degree
# Displaying the model
plot([mod_az[:] mod_el[:]],lab=["azimuth angle" "seat angle"],legend_position = :topleft)
xlabel!("The counts")
ylabel!("Angle, degree")
title!("Body rotation model")
Next, we calculate the reflected signal for N single pulses
at different viewing angles using the function
calc_resp_sig
in_sig = ones(N) # The input signal is a sequence of single pulses
out_sig_cyl = calc_resp_sig(tgt_rcs,in_sig,[mod_az;mod_el]); # calculation of the output signal
# Displaying the result
plotting_sig(out_sig_cyl,[mod_az[:] mod_el[:]];title = "Reflected signal from the cylinder")
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; # Radius of the upper part of the cone, m
R2 = 1 # Radius of the lower part of the cone, m
H = 1; # cone height, m
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) # The input signal is a sequence of single pulses
out_sig_cone = calc_resp_sig(tgt_rcs,in_sig,[mod_az;mod_el]); # calculation of the output signal
# Displaying the result
plotting_sig(out_sig_cone,[mod_az[:] mod_el[:]];title = "Reflected signal from the cone")
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.