clutterSurfaceRangeDopplerRCS
Syntax
Description
returns the radar cross-section rcs
= clutterSurfaceRangeDopplerRCS(nrcs
,rbins
,freq
,dopres
,alt
,speed
,dive
,Name=Value
)rcs
of a surface illuminated by a
monostatic radar with additional options specified using one or more name-value arguments.
For example, NumDopplerBins
specifies the number of Doppler bins and
enables Doppler wrapping.
clutterSurfaceRangeDopplerRCS(___)
plots the radar
cross-section of the surface clutter.
Examples
Calculate clutter RCS in a set of range-Doppler cells. The range swath begins at 3000 m and extends to 5000 m with a 50 m range bin width. The radar center frequency is 30 GHz and with a Doppler resolution of 100 Hz. The radar travels at an altitude of 1000 m and with a speed of 100 m/s with a dive angle.
rngbins= 3000:50:5000; freq = 30e9; doplrres = 100; rdralt = 1000; rdrspeed = 100; dive = 10;
Use a constant-gamma flatland reflectivity model to get the normalized radar cross-section at each range bin. Then compute the grazing angle using the grazingang
function. Compute the normalized surface reflectivity.
gamma = surfacegamma('Flatland'); refl = surfaceReflectivityLand( ... 'Model','ConstantGamma','Gamma',gamma); graze = grazingang(rdralt,rngbins,'Model','Flat'); nrcs = refl(graze,freq);
Calculate and display the radar cross-section of the clutter.
[rcs,dop] = clutterSurfaceRangeDopplerRCS( ... nrcs,rngbins,freq,doplrres,rdralt, ... rdrspeed,dive); rcs(rcs < 10^-2) = 10^-2; imagesc(dop/1000.0,rngbins,10*log10(rcs)) title('Radar Cross Section (dBsm)') xlabel('Doppler (kHz)') ylabel('Range (m)') axis('xy') colorbar
Since R2025a
This example shows how to calculate clutter RCS in a set of range-Doppler cells with Doppler wrapping enabled.
Calculate clutter RCS for 128 Doppler bins. The range swath begins at 1200 m and extends to 2500 m with a 100 m range bin width. The radar center frequency is 1 GHz and with a Doppler resolution of 10 Hz. The radar flies at an altitude of 1000 m and travels at 120 m/s with a dive angle.
numDop = 128; rangeBinCenters = (1.2e3:100:2.5e3).'; alt = 1e3; freq = 1e9; dopres = 10; speed = 120; dive = 20;
Compute the normalized radar cross-section for the surface using the Barton constant-gamma reflectivity model for farmland at the grazing angle of the radar.
graze = asind(alt./rangeBinCenters);
nrcs = landreflectivity('Farm',graze,freq);
Calculate and plot the clutter radar cross-section with no Doppler wrapping. The clutter return up to 2.5 km has about 1.3 kHz of bandwidth, and is skewed towards positive Doppler, as expected given the dive angle.
[rcs,dop] = clutterSurfaceRangeDopplerRCS(nrcs,rangeBinCenters,freq,dopres,alt,speed,dive); slantRange = linspace(1.2e3,2.5e3,1e3).'; imagesc(dop,slantRange,10*log10(rcs)) set(gca,'ydir','normal') xlabel('Doppler (Hz)') ylabel('Range (m)') title('RCS (dBsm)') colorbar
Calculate and plot the clutter radar cross-section with Doppler wrapping.
[rcs,dop] = clutterSurfaceRangeDopplerRCS(nrcs,rangeBinCenters,freq,dopres,alt,speed,dive,NumDopplerBins=numDop); imagesc(dop,slantRange,10*log10(rcs)) set(gca,'ydir','normal') xlabel('Doppler (Hz)') ylabel('Range (m)') colorbar
a=1;
Input Arguments
Normalized radar cross section of the surface, specified as a
length-N nonnegative vector. Units are dimensionless but often
expressed as m²/m². Each entry in nrcs
corresponds to a range
specified in rbins
. The NRCS provides a measure of the reflectivity
of a surface per unit area and is also referred to as σ0, the backscatter coefficient or reflectivity. NRCS can be determined
from built-in surface models that are valid for pre-defined frequencies and grazing
angles using landreflectivity
or seareflectivity
.
Data Types: double
Range bin centers, specified as a real-valued length-N vector.
Units are in meters. Each entry in rbins
corresponds to a NRCS
value specified in nrcs
. Elements of rbins
must appear in increasing order and must have at least two elements. The total range
swath starts below the first element of rbins
and extends beyond
the last element of rbins
by half the range bin width. The starting
and ending ranges are extrapolated from the first and last bins. Range bins need not be
uniformly spaced. Range wrapping due to ambiguous range is not performed.
Example: [20 25 30 35]
Data Types: double
Radar frequency, specified as a positive scalar. Units are in Hz.
Data Types: double
Doppler resolution, specified as a positive scalar. Units are in Hz. By default, no wrapping is performed in Doppler space. Doppler bins cover the full Doppler spectrum of clutter at the specified resolution. To enable Doppler wrapping, set NumDopplerBins.
Example: 50
Data Types: double
Radar altitude, specified as a non-negative scalar. Units are in meters.
Data Types: double
Radar speed, specified as a non-negative scalar. Units are in meters/sec.
Example: 50
Data Types: double
Radar dive angle, specified as a scalar between –90° and 90°. Units are in degrees. The dive angle is the angle that the radar velocity vector makes with the horizontal plane. A positive dive angle indicates that the velocity vector is pointing down.
Data Types: double
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Example: rcs =
clutterSurfaceRangeDopplerRCS(nrcs,rbins,freq,dopres,alt,speed,dive,NumDopplerBins=80)
Signal propagation speed, specified as a positive scalar. Units are in
meters/second. The default propagation speed is the value obtained from
physconst('LightSpeed')
.
Example: PropagationSpeed=3e8
Data Types: double
Number of Density Corrected (DC)-centered Doppler bins, specified as a nonnegative
integer scalar. Setting this parameter enables Doppler wrapping. When
NumDopplerBins
is specified and is greater than 0, the output
rcs
matrix will have NumDopplerBins
columns, with contributions from the full Doppler spectrum of clutter wrapped into
those bins. If NumDopplerBins
is not specified set equal to 0,
the output rcs
matrix will have as many columns as needed to
cover the full Doppler spectrum of clutter at the specified resolution.
Example: NumDopplerBins=128
Data Types: double
Number of integration points per range bin, specified as a positive integer.
clutterSurfaceRangeDopplerRCS
performs a 1-dimensional numeric integration within
each range bin and the default value of 40 integration points results in an error of
less than 1% for 99.7% of the range-Doppler cells. Some very small cells at low ranges
can show reduced accuracy, and the number of integration points can be increased as
desired to mitigate this.
Example: NumIntegrationPoints=100
Data Types: double
Output Arguments
Radar cross section, returned as an complex-valued N-by-M matrix where RCS(i,j) gives the RCS of surface clutter in the range-Doppler cell at the ith range and jth Doppler bin. Units are in square meters.
Doppler bins, returned as length-M vector, in hertz. By default,
the Doppler bins extend over the entire Doppler spectrum of clutter at the resolution
specified by dopres
.
More About
clutterSurfaceDopplerRCS
calculates RCS in a set of range-Doppler
cells and does not consider beam-illumination. Instead,
clutterSurfaceDopplerRCS
describes the distribution of surface
clutter over range and Doppler space and operates on a single consistent set of range bins.
Each element of the input NRCS vector nrcs
corresponds to a center
range of a bin and the range bin width is the distance between adjacent range bin
centers.
The distribution of surface clutter in range-Doppler space relative to Cartesian space is shown in the figure below. The top two figures show how range-Doppler cell edges map from Cartesian space to the range-Doppler map (RDM). The bottom two figures color code the cells to show how the area of these cells in Cartesian space translates to the magnitude of clutter return seen in the RDM. The arrows indicate how some cells map from Cartesian space to pixels of the RDM. The radar is traveling in the +x direction, and diving downwards. The nadir point appears in the center. Note that the cells are symmetric about the direction of radar motion (the x-axis), and a pixel of the RDM might map to two disjoint regions in Cartesian space.
From the contours in Cartesian space, it's easy to see how the distribution of clutter in Doppler can be complex and difficult to predict. There is no generally-applicable expression to estimate the RCS in a given range-Doppler cell, or an illuminated region constrained to a particular Doppler bin.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Version History
Introduced in R2022b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)