Main Content

blindzonemap

Create blind zone map for pulsed radar

Since R2023a

    Description

    BZM = blindzonemap(R,V,PRF,fc,rmin,vmin) creates a blind zone map BZM for a pulse-Doppler radar transmitting at a pulse repetition frequency of PRF. The blind zone map is constructed for ranges in R and velocities in V. The minimum detectable range of the radar is rmin and the minimum detectable velocity is vmin. The function assumes that ranges between 0 and rmin are blind to the radar at all velocities.

    example

    BZM = blindzonemap(R,V,PRF,rmin,vmin,M) also specifies the number M of pulse repetitions in PRF required for an M-of-N detection.

    example

    BZM = blindzonemap(___,'RangeObstructions',robstr) also specifies range obstructions robstr.

    BZM = blindzonemap(___,'VelocityObstructions',vobstr) also specifies velocity obstructions, vobstr.

    BZM = blindzonemap(___,'RangeMask',rm) also specifies range masks rm.

    blindzonemap(___) plots a blind zone map.

    Examples

    collapse all

    A 10 GHz X-band radar transmits pulses at two PRFs: 10151 Hz and 14163 Hz. The minimum detectable range of the system is 1000 m. The width of the main beam clutter rejection notch is 50 m/s. The sidelobe clutter extends from 34.5 km to 36.5 km when transmitting at the first PRF and from 36.3 km to 39.8 when transmitting the second PRF. Compute the blind zone map for velocities from 0 to 600 m/s and ranges between 0 and 100 km.

    Set the carrier frequency to 10 GHz.

    fc = 10e9;

    Set the PRFs.

    PRF = [10151 14163];

    Set the minimum range to 1 km.

    rmin = 1000;

    Set the span of range values.

    R = linspace(0,100e3,1000);

    Ranges that are blind due to sidelobe clutter are added through the range mask input argument.

    rangeMask = false(numel(R),numel(PRF));

    Sidelobe clutter at PRF=10151 Hz.

    rangeMask(R>34500 & R<36500,1) = true;

    Sidelobe clutter at PRF=14163 Hz.

    rangeMask(R>36300 & R<39800,2) = true;

    Set half width of the main beam clutter rejection notch.

    vmin = 25;

    Set the span of velocity values.

    V = linspace(0,600,1000);

    Plot the blind zone map.

    blindzonemap(R,V,PRF,fc,rmin,vmin,'RangeMask',rangeMask)

    Figure contains an object of type radar.internal.blindmaps.blindzonemapchart.

    A 10 GHz X-band medium PRF radar transmits at two pulse repetition intervals: 0.1 ms and 0.12 ms. The pulse width is10μsec. The system also has a notch to reject slow moving targets with velocities up to 20 meters/sec. Plot a blind zone map assuming that the 1-of-2 PRF detection criterion is used.

    Choose the carrier frequency as 10 GHz.

    fc = 10e9;

    Set the pulse width to10μsec.

    tau = 10e-6;

    Set the minimum detectable range from the pulse width.

    rmin = time2range(tau);

    Set the minimum detectable velocity to 20 meters/sec.

    vmin = 20;

    Choose two pulse repetition intervals.

    PRF = 1./[1e-4 1.2e-4];

    Set the range values.

    R = linspace(0,85e3,1000);

    Set the velocity values.

    V = linspace(0,600,1000);

    Display the blind zone map.

    blindzonemap(R,V,PRF,fc,rmin,vmin,1)

    Figure contains an object of type radar.internal.blindmaps.blindzonemapchart.

    Input Arguments

    collapse all

    Radar ranges, specified as a length-J vector of positive values. The function computes the blind zone map at these ranges. Units are in meters.

    Example: [4000,4500,6000]

    Data Types: double

    Radar velocities, specified as a length-K real-valued vector. The function computes the blind velocity map at these velocities. Units are in meters/sec.

    Example: [4000,4500,6000]

    Data Types: double

    Pulse repetition frequencies, specified as a length-N vector of positive values. Units are in Hz.

    Example: [10000,15000]

    Data Types: double

    Radar waveform carrier frequency, specified as a positive scalar or length-N vector of positive values. If the radar transmits pulses at one carrier frequency, the input fc is a scalar. If the radar employs frequency diversity using a different carrier frequency for each PRF value, fc is a length-N vector. Units are in Hz.

    Example: 3e9

    Data Types: double

    Minimum detection range, specified as positive scalar or a length-N vector of positive value. Ranges between 0 and rmin are considered blind to the radar.

    • If the radar transmits pulses of a fixed duration, rmin is a scalar and the size of the blind zone is the same for all PRF values.

    • If the radar transmits pulses with a constant duty cycle, rmin is a length-N vector and the size of the blind zone changes for each PRF. Such a blind zone also occurs at every integer multiple of the radar unambiguous range Ruamb = c/(2*PRF) where c is the radar signal propagation speed. Units are in meters.

    Example: 40000

    Data Types: double

    Minimum detectable velocity, specified as a scalar or length-N real-valued vector. A blind zone due to a non-zero minimum detectable velocity extends from -vmin to +vmin for all PRF values.

    • If the radar has the same minimum detectable velocity for all PRFs, vmin is a scalar and the size of the blind zone is constant for all PRF values.

    • If the minimum detectable velocity varies with PRF, vmin is a length-N vector and the size of the blind zone is different for each PRF.

    Due to ambiguities in velocity, blind zones also appear around integer multiples of the blind speed VB and extend from VB*i - Vmin to VB*i + Vmin, where VB = PRF*c/(2*fc), c is the signal propagation speed, and i is an integer. The input vmin can represent the half-width of a rejection notch that is used to reject main lobe clutter and slow moving targets. Units are in meters/sec.

    Example: 15.0

    Data Types: double

    Number of pulse repetition frequencies required for M-of-N detection, specified as a positive integer. A range-velocity cell visible in less than M PRFs is considered to be blind to the radar. M must be a positive integer less than or equal to N which is the number of entries in PRF. If M is specified, the output BZM is a logical array. If (j,k)th range-velocity cell is visible in at least M PRFs, BZM(j,k) is a logical zero (false), otherwise BZM(j,k) is a logical one (true).

    Data Types: double

    Range obstructions, specified as a Q-by-2 matrix of positive values. Each row of the matrix specifies a range obstruction in the form [rstartq,rstopq] where rstartq is the start range and rstopq is the stop range of an obstruction, where rstopqrstartq. The specified obstructions repeat in range with an interval equal to the unambiguous range for each PRF. Range obstructions can occur, for example, due to clutter, multipath interference, or jammer interference. [] indicates no obstructions. Units are in meters.

    Example: [30000;31000]

    Data Types: double

    Velocity obstructions, specified as a Q-by-2 real-valued matrix. Each row specifies a velocity obstruction in the form [vstartq,vstopq] where vstartq is the start velocity of the obstruction and vstopq is the stop velocity of the obstruction, such that vstopqvstartq. Targets moving with obstructed velocities or velocities ambiguous to the obstructed velocities are not visible to the radar. Such obstructions can occur due to clutter. Entries in BZM that correspond to the obstructed velocities are set to a logical one (true). The obstructions repeat in velocity with an interval equal to the blind speed for each PRF value. [] indicates no obstructions. Units are in meters/second.

    Data Types: double

    Range mask, specified as a J-by-N logical matrix. The rows of rm correspond to the ranges in R and the columns correspond to the pulse repetition frequencies in PRF. rm(j,n) is a logical zero (false) if the jth range cell is visible to the radar at the nth PRF. rm(j,n) is a logical one (true) if the jth cell is blind to the radar at the nth PRF. rm can be used to specify ranges that are blind due to sidelobe clutter.

    Data Types: double

    Output Arguments

    collapse all

    Blind zone map, returned as a J-by-K real matrix. The (j,k)th entry in BZM represents a range-velocity cell with the range equal to the jth entry in R and the velocity equal to the kth entry in V.

    • BZM(j,k) is the number of PRFs for which this range-velocity cell is blind to the radar (0 ≦ BZM(j,k) ≦ N). For example, if BZM(j,k) is zero, the (j,k)th range-velocity cell is visible in all PRFs. If BZM(j,k) is 1, this range-velocity cell is visible in all but 1 PRFs. If BZM(j,k) is equal to N, this cell is blind in all PRFs.

    • BZM specifies the number of PRFs M required for M-of-N PRF detection. If M is specified, the output BZM is a logical array. A range-velocity cell visible in less than M PRFs is considered to be blind to the radar. M must be a positive integer less than or equal to N. the number of entries in PRF. If the (j,k)th range-velocity cell is visible in at least M PRFs, BZM(j,k) is a logical zero (false), otherwise BZM(j,k) is a logical one (true).

    Data Types: logical

    Extended Capabilities

    C/C++ Code Generation
    Generate C and C++ code using MATLAB® Coder™.

    Version History

    Introduced in R2023a