ClutterGenerator
Description
The ClutterGenerator
object specifies clutter properties and regions
that control and manage radar clutter for sensors in a radarScenario
.
Sensors types include radarDataGenerator
and radarTransceiver
objects.
Creation
Create a clutter generator using the clutterGenerator
object function. Then use the getClutterGenerator
object function to obtain information about clutter
generators for radar scenarios and radars in the scenarios. Use the ClutterRegion
object function to create clutter regions.
Properties
ScattererDistribution
— Method used to distribute scatterers
'Uniform'
(default) | 'RangeDopplerCells'
Method for controlling clutter distribution, specified as
'Uniform'
or 'RangeDopplerCells'
.
When the
ScattererDistribution
property is set to'Uniform'
, use theResolution
property to determine the nominal spacing of randomly-generated clutter scatterers.When the
ScattererDistribution
property is set to'RangeDopplerCells'
, exactly one clutter scatterer is used per range-Doppler resolution cell. This option is available only for theradarTransceiver
radar model. Use theNumRepetitions
property of theradarTransceiver
to specify the number of Doppler bins. Only non-height-mapped surfaces (surface objects with no associated terrain or spectral model) can be specified with this option. This mode results in better performance.
Data Types: char
| st
Resolution
— Nominal resolution of clutter patches
40 (default) | positive scalar
Nominal resolution of clutter patches, specified as a positive scalar. The nominal resolution value is the smallest expected ground resolution of the radar system over the clutter regions of interest. Units are in meters.
Dependencies
To enable this property, set the ScattererDistribution
property to 'Uniform'
.
Data Types: double
RangeLimit
— Range limit of clutter generation
10e3 (default) | positive scalar
Range limit for clutter generation, specified as a positive scalar. This property specifies the maximum ground range for which clutter is generated. Clutter generation is limited to this range when the clutter region is unbounded. Units are in meters.
Data Types: double
UseBeam
— Use beam footprint as clutter region
true
(default) | false
Enable the use of the beam footprint as the clutter region, specified as
true
or false
. When true
,
clutter in the mainlobe is automatically included. Use the ClutterRegion
object function of the ClutterGenerator
to create a custom region.
When true
, the beam footprint is automatically used for clutter
generation, in addition to any static regions, such as a
ClutterRegion
. Then clutter is generated in the intersection of
the radar beam and the scenario surface.
If a
radarTransceiver
uses aphased.ULA
as the transmit antenna sensor, a fan-shaped beam is assumed and a 3 dB beamwidth measurement is taken in the plane perpendicular to the array axis. If any other array type is used, a conical beam shape is assumed and a 3 dB beamwidth measurement is taken in both the azimuth and elevation directions.If a
radarDataGenerator
is used, theEffectiveFieldOfView
property determines the width of the beam in the azimuth and elevation directions.
In all cases, the beamwidths must be strictly less than 180° for a beam footprint to be used for clutter generation.
Data Types: logical
UseShadowing
— Enable use of surface self-occlusion
true
(default) | true
Enable use of surface self-occlusion when generating clutter, specified as
true
or false
. Surface self-occlusion is
referred to as shadowing.
Data Types: logical
Regions
— Scenario clutter region
RingClutterRegion
This property is read-only.
Region of the scenario in which is generated, returned as a
RingClutterRegion
. There can be multiple clutter regions.
Radar
— Radar sensors
radarDataGenerator
System object | radarTransceiver
object
This property is read-only.
Radar sensors for which clutter is generated, returned as a radarDataGenerator
or a radarTransceiver
object. There can be multiple radar sensors.
SeedSource
— Source of random number seed
'Auto'
(default) | 'Property'
Source of seed used for random number generation, specified as
'Auto'
or 'Property'
. If
'Auto'
, the global random number generator is used. If
'Property'
, a local random number generator is used with the seed
specified by the Seed
property.
Data Types: char
| string
Seed
— Random number seed
0 (default) | scalar
Seed used for random number generation, specified as a scalar. The seed is local to this random generator.
Dependencies
To enable this property, set the SeedSource
property to
'Property'
.
Data Types: double
Object Functions
findClutterSampleIndices | Clutter sample indices |
getClutterGenerator | Obtain clutter generator belonging to a radar |
ringClutterRegion | Ring clutter region |
Examples
Create Clutter Object with Two Clutter Regions
Generate clutter from a surface having two clutter regions. Start by creating a radarDataGenerator
. Use a radar frequency of 1 GHz, a 100 meter range resolution, a 5 kHz pulse repetition frequency (PRF), and 128 pulses. The beam is symmetric with a 4 degree two-sided beamwidth in azimuth and elevation.
fc = 1e9; rangeRes = 100; prf = 5e3; numPulses = 128; beamwidth = 4;
Use the PRF and number of pulses to calculate the nominal Doppler and range-rate resolution. The radar will update once each coherent processing interval (CPI).
dopRes = prf/numPulses; lambda = freq2wavelen(fc); rangeRateRes = dop2speed(dopRes,lambda)/2; cpiTime = numPulses/prf; rdr = radarDataGenerator(1,'No scanning','UpdateRate',1/cpiTime, ... 'DetectionMode','Monostatic','TargetReportFormat','Detections', ... 'DetectionCoordinates','Scenario', ... 'HasINS',true,'HasElevation',true,'HasFalseAlarms',false, ... 'HasNoise',false,'HasRangeRate',true, ... 'HasRangeAmbiguities',true,'HasRangeRateAmbiguities',true, ... 'CenterFrequency',fc,'FieldOfView',beamwidth, ... 'AzimuthResolution',beamwidth,'ElevationResolution', ... beamwidth,'RangeResolution', ... rangeRes,'RangeRateResolution',rangeRateRes, ... 'ReferenceRange',20e3,'ReferenceRCS',0, ... 'DetectionProbability',0.9);
Create a scenario using the radarScenario
object, setting the update rate to zero so that the update interval is derived from sensors in the scene.
scenario = radarScenario('UpdateRate',0,'IsEarthCentered',false);
Now create the scenario surface. Choose a constant-gamma reflectivity model with a gamma value appropriate for flatland. This gamma value can be found using the surfacegamma
function. Using this value, create a surfaceReflectivityLand
object to add to a LandSurface
using the RadarReflectivity
property.
gammaDB = surfacegamma('Flatland'); refl = surfaceReflectivityLand('Model','ConstantGamma', ... 'Gamma',gammaDB); landSurface(scenario,'RadarReflectivity',refl);
Add two clutter regions to the scenario. Use the clutterGenerator
object function to construct a clutter generator and enable clutter generation for the radar. The Resolution
property defines the nominal spacing of clutter patches. Set this to be 1/5th of the range resolution to get multiple clutter patches per range gate. Set the range limit to 20 km. UseBeam
indicates if clutter generation should be performed automatically for the mainlobe of the antenna pattern.
cluttergen = clutterGenerator(scenario,rdr,'Resolution', ... rangeRes/5,'RangeLimit',20e3,'UseBeam',true); rgn1 = ringClutterRegion(cluttergen,1000,10000,30,45); rgn2 = ringClutterRegion(cluttergen,1000,10000,30,105);
The getClutterGenerator
function displays the two ring-shaped clutter regions belonging to the scenario.
getClutterGenerator(scenario,rdr)
ans = ClutterGenerator with properties: ScattererDistribution: "Uniform" Resolution: 20 Regions: [1x2 radar.scenario.RingClutterRegion] UseBeam: 1 UseShadowing: 1 RangeLimit: 20000 Radar: [1x1 radarDataGenerator] SeedSource: "Auto"
Version History
Introduced in R2022a
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)