Engee documentation
Notebook

Goal fluctuation models

The example illustrates the use of target models to describe fluctuations in the effective scattering area (ESR). The scenario consists of a scanning monostatic radar and an EPR target described by the Swerling-2 model.

Comparison of fluctuation models of type 1 and type 2

In target models 1 and 2, the EPR type arises from a plurality of independent small reflectors with approximately equal EPR. The total EPR can vary with each pulse in the scan (type 2) or be constant throughout the scan consisting of several pulses (type 1). In any case, statistics obey a chi-squared probability density function with two degrees of freedom.

Residence time and radar scanning

For simplicity, let's start with a rotating radar, which has a rotation time of 5 seconds, which corresponds to a rotation or scanning speed of 72 degrees/sec.

In [ ]:
Trot = 5.0;
scanrate = 360/Trot;

The width of the main beam of the radar's bottom radiation pattern is 3.0 degrees. During the time when the target is illuminated by the main beam, the radar pulses hit the target and are reflected back to the radar. The time period during which the target is illuminated is called the scan time. The radar will perform 3 scans of the target.

In [ ]:
HPBW = 3.0; # ширина ДН
Tdwell = HPBW/scanrate; # время 1 круга сканирования
Nscan = 3; # количество сканирований

The number of pulses arriving at the target during the stay depends on the pulse repetition rate (HSI). HSI is the value that is the inverse of the pulse repetition period (RPI). Let's assume that 5,000 pulses are transmitted per second.

In [ ]:
prf = 5000.0; # частота следовния импульсов
pri = 1/prf; # период повторения импульсов

The number of pulses per stay time is

In [ ]:
Np = floor(Int64,Tdwell*prf) 
print("Количество импульсов: $Np")
Количество импульсов: 208

Setting up a type 2 fluctuation model

Let's create a goal with the Swerling-2fluctuation model using the EngeePhased object.RadarTarget. To create a Swerling-2 model, set the Model property of the RadarTarget object to "Swerling1" or "Swerling2". Both options are equivalent. Then, each time the object is accessed, set the updatercs argument to true. This argument means that the radar's EPR is updated with each pulse.

Set the target model to 'Swerling2'.

In [ ]:
tgtmodel = "Swerling2"

Configuring the radar model using system objects

We will install a radiating antenna. Let's assume that the antenna's operating frequency is 1 GHz.

In [ ]:
fc = 1e9 # несущая частота
antenna = EngeePhased.IsotropicAntennaElement(BackBaffled=true) # объекта антенного элемента приемника
radiator = EngeePhased.Radiator(OperatingFrequency=fc,Sensor=antenna) # излучатель

We will indicate the location of the stationary antenna and the target

In [ ]:
radarplatform = EngeePhased.Platform(InitialPosition=[0;0;0]) # модель движения радара
targetplatform = EngeePhased.Platform(InitialPosition=[2000;0;0]); # модель движения цели

The transmitted signal is a linear frequency modulated signal. We will transmit one pulse per object call.

In [ ]:
waveform = EngeePhased.LinearFMWaveform(PulseWidth=50e-6,
    OutputFormat="Pulses",NumPulses=1);

Let's set up the transmitting amplifier.

In [ ]:
transmitter = EngeePhased.Transmitter(PeakPower=1000.0,Gain=40);

Set the distribution environment as a free space.

In [ ]:
channel = EngeePhased.FreeSpace(
    OperatingFrequency=fc,
    TwoWayPropagation=true
);

We indicate that the radar target should have an average RCS=1 м^2 And be a model Swerling type 1 or 2.

In [ ]:
target = EngeePhased.RadarTarget(
    MeanRCS=1,
    OperatingFrequency=fc,
    Model=tgtmodel
);

Setting the receiving antenna

In [ ]:
collector = EngeePhased.Collector(
    OperatingFrequency=1e9,
    Sensor=antenna
);

Define a consistent filter for processing the incoming signal.

In [ ]:
wav = waveform(); # вызов прямоугольного генератора
mfilter = EngeePhased.MatchedFilter(
    Coefficients=getMatchedFilter(waveform) # коэффициенты согласованного фильтра
);

Processing cycle for 3 scans of the "Swerling 2" target

Stages of operation of the radar system model:

  1. Generation of the radiated signal;
  2. Amplification of the transmitted signal;
  3. Refinement of the signal in the direction of the target;
  4. Propagation of the EM wave to and from the target;
  5. Reflection of the EM wave from the target;
  6. Receiving an EM wave using a phased array antenna
  7. Implementation of an algorithm for consistent filtering of the received signal

Allocation of memory for radar signal amplitudes.

In [ ]:
z = zeros(Nscan,Np);
tp = zeros(Nscan,Np);

Set the value updatercs = true only for the first scan pulse.

In [ ]:
for m = 1:Nscan
    t0 = (m-1)*Trot;
    t = t0;
    updatercs = true;
    for k = 1:Np
        t += pri;
        txwav = transmitter(wav);
        
        # Нахождение координат и скоростей цели и радара
        xradar,vradar = radarplatform(t);
        xtgt,vtgt = targetplatform(t);
        
        # Излучение ЭМ-волны по заданному направлению
        _,ang = rangeangle(xtgt,xradar);
        radwav = radiator(txwav,ang);
        
        # Распространение ЭМ-волны от радара до цели
        propwav = channel(radwav,radarplatform.InitialPosition,
            targetplatform.InitialPosition,[0;0;0],[0;0;0]);
        
        # Отражение ЭМ-волны от цели
        reflwav = target(propwav,updatercs);
        
        # Прием ЭМ-волны с помощью приемной антенны
        collwav = collector(reflwav,ang);
        
        # Применение согласованной фильтрации для пришедшего сигнала
        y = mfilter(collwav);
        z[m,k] = maximum(abs.(y));
        tp[m,k] = t;
    end
end

Plot the pulse amplitudes

Plot the pulse amplitudes for scanning as a function of time.

In [ ]:
Plots.scatter(tp[:],z[:],lab="")
xlabel!("Время,с")
ylabel!("Амплитуда импульса")
Out[0]:

Please note that the amplitude of the pulses varies within a single scan.

Histogram of pulse amplitudes

Let's construct a histogram of the distribution of amplitudes of the received signal after processing

In [ ]:
Plots.histogram(z[:].*1e3,lab="")
xlabel!("Амплитуда импульса, мВ")
ylabel!("Количество")
Out[0]:

Conclusion

In the example, the scenario of the radar system operation when detecting 1 target was considered to study the Swerling-2 target fluctuation model**.