clutterGenerator
Add clutter generator for radar
Description
adds a genclutter
= clutterGenerator(scenario
,radar
,Name=Value)ClutterGenerator
object genclutter
for the radar
to the radarScenario
scenario
.
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: Resolution: 20 RangeLimit: 20000 UseBeam: 1 UseShadowing: 1 Regions: [1×2 radar.scenario.RingClutterRegion] Radar: [1×1 radarDataGenerator]
Input Arguments
scenario
— Radar scenario
radarScenario
object
Radar scenario, specified as a radarScenario
object.
radar
— Radar
radarDataGenerator
object | radarTransceiver
object
Radar, specified as a radarDataGenerator
or radarTransceiver
object.
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.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
Example: Resolution = 34
Resolution
— Nominal spacing of clutter patches
40 (default) | positive scalar
Nominal resolution of clutter patches, specified as a positive scalar. The nominal value is the expected resolution ground of the radar system. Units are in meters.
Data Types: double
RangeLimit
— Range limit of clutter generation
10000 (default) | positive scalar
Range limit of clutter generation, specified as a positive scalar. 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 use of the beam footprint as the clutter region, specified as
true
or false
. When true
,
the mainlobe clutter return is automatically included. Use the
ringClutterRegion
object function of the ClutterGenerator
to create a custom region.
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
Output Arguments
genclutter
— Clutter generator
ClutterGenerator
object
Clutter generator, returned as aClutterGenerator
object.
Version History
Beispiel öffnen
Sie haben eine geänderte Version dieses Beispiels. Möchten Sie dieses Beispiel mit Ihren Änderungen öffnen?
MATLAB-Befehl
Sie haben auf einen Link geklickt, der diesem MATLAB-Befehl entspricht:
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus. Webbrowser unterstützen keine MATLAB-Befehle.
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)