Main Content

blindrangemap

Create blind range map for pulsed radar

Since R2023a

Description

BRM = blindrangemap(R,PRF,Rmin) creates a blind range map for a monostatic pulse-Doppler radar for BRM for ranges R. The radar transmits at the pulse repetition frequency PRF. The minimum range of the radar is Rmin.

example

BRM = blindrangemap(R,PRF,Rmin,obstr) also specifies obstructions in range obstr.

example

BRM = blindrangemap(___,'RangeMask',rm) also specifies a range mask rm.

[BRM,U] = blindrangemap(___) also returns the visibility proportion U.

blindrangemap(___) plots the blind range map.

Examples

collapse all

Start with a radar transmitting 5μsec long pulses. The radar covers the range from 0-100 km. Create a blind range map when the pulse repetition frequencies are 5000, 10000, and 15000 kHz. Ranges from 18.5 km to 19.8 km and from 30 km to 32 km are obstructed due to clutter.

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

Choose the three PRFs at 5000, 10000, and 15000 kHz.

PRF = [5e3,10e3,15e3];

Compute the minimum range of the radar from the pulse duration.

tau = 5e-6;
rmin = time2range(tau,physconst('LightSpeed'));

Add two clutter obstruction regions and create the blind range map.

obs = [18.5e3 19.8e3;30e3 32e3];
blindrangemap(R,PRF,rmin,obs)

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

A pulse radar transmits at two pulse repetition frequencies (PRF): 10.151 kHz and 14.163 kHz. Set the minimum detectable range of the radar to 1000 m. 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 km when transmitting at the second PRF. Display the blind range map for ranges between 0 and 100 km at 1 km increments.

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

Set the minimum detectable range to 1000 m.

Rmin = 1000;

Set the two PRF values.

PRF = [10151 14163];

Account for blind ranges due to sidelobe clutter using the range mask input argument. First, initialize the map to indicate that all ranges are visible.

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

Then, mask the sidelobe clutter at PRF = 10.151 kHz.

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

Mask the sidelobe clutter at PRF =14.163 kHz.

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

Display the blind range map.

blindrangemap(R,PRF,Rmin,'RangeMask',rangeMask)

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

Input Arguments

collapse all

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

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

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

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

  • If the radar transmits pulses with having a constant duty cycle, Rmin is a length-N vector and the size of the blind zone may be different for each PRF.

Blind zones also occur at integer multiples of the radar unambiguous range Ruamb = c/(2*PRF) where c is the signal propagation speed. Units are in meters.

Example: 40000

Data Types: double

Obstructions in range, specified as a Q-by-2 matrix of positive values. The qth-row specifies a range obstruction in the form [rstartq,rstopq] where rstartq and rstopq are the start and stop ranges of the qth obstruction such that rstopqrstartq. Targets located at the obstructed ranges or ranges ambiguous to the obstructed ranges are not visible to the radar. Such range obstructions are caused by, for example, clutter, multipath interference, or jammer interference. Entries in BRM that correspond to obstructed ranges are set to a logical one (true). Otherwise, they are zero (false). Units are in meters.

Example: [30000;31000]

Data Types: double

Range mask, specified as a J-by-N logical matrix. The rows of rm correspond to ranges in R and the columns correspond to 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 frequency in PRF. rm(j,n) is 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 range map, returned as a J-by-N logical matrix. Each row of BRM represents a range cell for the range equal to the jth entry in R. Each column of BRM corresponds to the nth pulse repetition frequency in PRF. If the jth range cell is visible to the radar at the nth PRF, BRM(j,n) is a logical zero (false), otherwise BRM(j,n) is a logical one (true).

Data Types: logical

Proportion of visible ranges, returned as a length-N vector of positive values where N is the number of pulse repetition frequencies in PRF. For each pulse repetition frequency, this argument indicates what proportion of ranges in R is visible.

Units are dimensionless.

Extended Capabilities

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

Version History

Introduced in R2023a