# blindzonemap

Create blind zone map for pulsed radar

Since R2023a

## Syntax

``BZM = blindzonemap(R,V,PRF,fcrmin,vmin)``
``BZM = blindzonemap(R,V,PRF,rmin,vmin,M)``
``BZM = blindzonemap(___,'RangeObstructions',robstr)``
``BZM = blindzonemap(___,'VelocityObstructions',vobstr)``
``BZM = blindzonemap(___,'RangeMask',rm)``
``blindzonemap(___)``

## Description

example

````BZM = blindzonemap(R,V,PRF,fcrmin,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.```
````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)`

A 10 GHz X-band medium PRF radar transmits at two pulse repetition intervals: 0.1 ms and 0.12 ms. The pulse width is$10\text{\hspace{0.17em}}\mu \mathrm{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 to$10\text{\hspace{0.17em}}\mu \mathrm{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)`

## 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 `PRF`s, `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 `rstopq``rstartq`. 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 `vstopq``vstartq`. 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`

## Version History

Introduced in R2023a