Generate detections from sonar emissions
The sonarSensor
System object™ creates a statistical model for generating detections from sonar
emissions. You can generate detections from active or passive sonar systems. You can use
the sonarSensor
object in a scenario that models moving and stationary
platforms using trackingScenario
. The sonar sensor can simulate real detections with added
random noise and also generate false alarm detections. In addition, you can use this
object to create input to trackers such as trackerGNN
or trackerTOMHT
.
This object enables you to configure an electronically scanning sonar. A scanning
sonar changes the look angle between updates by stepping the electronic position of the
beam in increments of the angular span specified in the FieldOfView
property. The sonar scans the total region in azimuth and elevation defined by the sonar
electronic scan limits, ElectronicScanLimits
. If the scanning
limits for azimuth or elevation are set to [0 0]
, no scanning is
performed along that dimension for that scan mode. If the maximum electronic scan rate
for azimuth or elevation is set to zero, no electronic scanning is performed along that
dimension.
To generate sonar detections:
Create the sonarSensor
object and set its properties.
Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?.
creates a sonar detection generator object with default property
values.sensor
= sonarSensor(SensorIndex
)
is a convenience syntax that creates a sensor
= sonarSensor(SensorIndex
,'No scanning')sonarSensor
that
stares along the sonar transducer boresight direction. No electronic
scanning is performed. This syntax sets the ScanMode
property to 'No scanning'
.
is a convenience syntax that creates a sensor
= sonarSensor(SensorIndex
,'Raster')sonarSensor
object
that electronically scans a raster pattern. The raster span is 90° in
azimuth from –45° to +45° and in elevation from the horizon to 10° above the
horizon. See Convenience Syntaxes for
the properties set by this syntax.
is a convenience syntax that creates a sensor
= sonarSensor(SensorIndex
,'Rotator')sonarSensor
object
that electronically scans 360° in azimuth by electronically rotating the
transducer at a constant rate. When you set
HasElevation
to true
, the sonar
transducer electronically points towards the center of the elevation field
of view. See Convenience Syntaxes for
the properties set by this syntax.
is a convenience syntax to create a sensor
= sonarSensor(SensorIndex
,'Sector')sonarSensor
object that
electronically scans a 90° azimuth sector from –45° to +45°. Setting
HasElevation
to true
, points the
sonar transducer towards the center of the elevation field of view. Beams
are stacked electronically to process the entire elevation spanned by the
scan limits in a single dwell. See Convenience Syntaxes for
the properties set by this syntax.
sets properties using one or more name-value pairs after all other input
arguments. Enclose each property name in quotes. For example,
sensor
= sonarSensor(___,Name,Value
)sonarSensor('DetectionCoordinates','Sensor
cartesian','MaxRange',200)
creates a sonar detection generator
that reports detections in the sensor Cartesian coordinate system and has a
maximum detection range of 200 meters. If you specify the sensor index using
the SensorIndex
property, you can omit the
SensorIndex
input.
To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj
, use
this syntax:
release(obj)