radarSensor

Generate detections from radar emissions

Description

The radarSensor System object™ returns a statistical model to generate detections from radar emissions. You can generate detections from monostatic radar, bistatic radar and Electronic Support Measures (ESM). You can use the radarSensor object in a scenario that models moving and stationary platforms using trackingScenario. The radar 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, trackerJPDA and trackerTOMHT.

This object enables you to configure a scanning radar. A scanning radar changes the look angle between updates by stepping the mechanical and electronic position of the beam in increments of the angular span specified in the FieldOfView property. The radar scans the total region in azimuth and elevation defined by the radar mechanical scan limits, MechanicalScanLimits, and electronic scan limits, ElectronicScanLimits. If the scanning limits for azimuth or elevation are set to [0 0], then no scanning is performed along that dimension for that scan mode. If the maximum mechanical scan rate for azimuth or elevation is set to zero, then no mechanical scanning is performed along that dimension.

Using a single-exponential mode, the radar computes range and elevation biases caused by propagation through the troposphere. A range bias means that measured ranges are greater than the line-of-sight range to the target. Elevation bias means that the measured elevations are above their true elevations. Biases are larger when the line-of-sight path between the radar and target passes through lower altitudes because the atmosphere is thicker at these altitudes. See [1] and [2] for more details.

To generate radar detections:

  1. Create the radarSensor object and set its properties.

  2. Call the object with arguments, as if it were a function.

To learn more about how System objects work, see What Are System Objects? (MATLAB).

Creation

Description

example

sensor = radarSensor(SensorIndex) creates a radar detection generator object with a specified sensor index, SensorIndex, and default property values.

sensor = radarSensor(SensorIndex,'No scanning') is a convenience syntax that creates a radarSensor that stares along the radar antenna boresight direction. No mechanical or electronic scanning is performed. This syntax sets the ScanMode property to 'No scanning'.

sensor = radarSensor(SensorIndex,'Raster') is a convenience syntax that creates a radarSensor object that mechanically 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.

sensor = radarSensor(SensorIndex,'Rotator') is a convenience syntax that creates a radarSensor object that mechanically scans 360° in azimuth by mechanically rotating the antenna at a constant rate. When you set HasElevation to true, the radar antenna mechanically points towards the center of the elevation field of view. See Convenience Syntaxes for the properties set by this syntax.

sensor = radarSensor(SensorIndex,'Sector') is a convenience syntax to create a radarSensor object that mechanically scans a 90° azimuth sector from –45° to +45°. Setting HasElevation to true, points the radar antenna towards the center of the elevation field of view. You can change the ScanMode to 'Electronic' to electronically scan the same azimuth sector. In this case, the antenna is not mechanically tilted in an electronic sector scan. Instead, 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.

sensor = radarSensor(___,Name,Value) sets properties using one or more name-value pairs after all other input arguments. Enclose each property name in quotes. For example, radarSensor(1,'DetectionCoordinates','Sensor cartesian','MaxRange',200) creates a radar 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.

Properties

expand all

Unless otherwise indicated, properties are nontunable, which means you cannot change their values after calling the object. Objects lock when you call them, and the release function unlocks them.

If a property is tunable, you can change its value at any time.

For more information on changing property values, see System Design in MATLAB Using System Objects (MATLAB).

Unique sensor identifier, specified as a positive integer. This property distinguishes detections that come from different sensors in a multi-sensor system. When creating a radarSensor system object, you must either specify the SensorIndex as the first input argument in the creation syntax, or specify it as the value for the SensorIndex property in the creation syntax.

Example: 2

Data Types: double

Sensor update rate, specified as a positive scalar. This interval must be an integer multiple of the simulation time interval defined by trackingScenario. The trackingScenario object calls the radar sensor at simulation time intervals. The radar generates new detections at intervals defined by the reciprocal of the UpdateRate property. Any update requested to the sensor between update intervals contains no detections. Units are in hertz.

Example: 5

Data Types: double

Detection mode, specified as 'ESM', 'monostatic' or 'bistatic'. When set to 'ESM', the sensor operates passively and can model ESM and RWR systems. When set to 'monostatic', the sensor generates detections from reflected signals originating from a collocated radar emitter. When set to 'bistatic', the sensor generates detections from reflected signals originating from a separate radar emitter. For more details on detection mode, see Radar Sensor Detection Modes.

Example: 'Monostatic'

Data Types: char | string

Unique monostatic emitter index, specified as a positive integer. The emitter index identifies the monostatic emitter providing the reference signal to the sensor.

Example: 404

Dependencies

To enable this property, set the DetectionMode property to 'Monostatic'.

Data Types: double

Enable the sensor to measure target elevation angles and to scan in elevation, specified as false or true. Set this property to true to model a radar sensor that can estimate target elevation and scan in elevation.

Data Types: logical

Minimum operational sensitivity of receiver, specified as a scalar. Sensitivity includes isotropic antenna receiver gain. Units are in dBmi.

Example: -10

Data Types: double

Minimum SNR required to declare a detection, specified as a scalar. Units are in dB.

Example: -1

Data Types: double

False alarm report rate within each sensor resolution cell, specified as a positive scalar in the range of [10–7,10–3]. Units are dimensionless. Resolution cells are determined from the AzimuthResolution and RangeResolution properties, and the ElevationResolution and RangeRateResolution properties when they are enabled.

Example: 1e-5

Data Types: double

Azimuth resolution of the radar, specified as a positive scalar. The azimuth resolution defines the minimum separation in azimuth angle at which the radar can distinguish two targets. The azimuth resolution is typically the 3-dB downpoint of the azimuth angle beamwidth of the radar. Units are in degrees.

Data Types: double

Elevation resolution of the radar, specified as a positive scalar. The elevation resolution defines the minimum separation in elevation angle at which the radar can distinguish two targets. The elevation resolution is typically the 3dB-downpoint in elevation angle beamwidth of the radar. Units are in degrees.

Dependencies

To enable this property, set the HasElevation property to true.

Data Types: double

Azimuth bias fraction of the radar, specified as a nonnegative scalar. The azimuth bias is expressed as a fraction of the azimuth resolution specified in AzimuthResolution. This value sets a lower bound on the azimuthal accuracy of the radar. This value is dimensionless.

Data Types: double

Elevation bias fraction of the radar, specified as a nonnegative scalar. Elevation bias is expressed as a fraction of the elevation resolution specified by the value of the ElevationResolution property. This value sets a lower bound on the elevation accuracy of the radar. This value is dimensionless.

Dependencies

To enable this property, set the HasElevation property to true.

Data Types: double

Enable the optional input argument that passes the current estimate of the sensor platform pose to the sensor, specified as false or true. When true, pose information is added to the MeasurementParameters structure of the reported detections. Pose information lets tracking and fusion algorithms estimate the state of the target detections in the north-east-down (NED) frame.

Data Types: logical

Enable addition of noise to sensor measurements, specified as true or false. Set this property to true to add noise to the radar measurements. Otherwise, the measurements have no noise. Even if you set HasNoise to false, the object still computes the MeasurementNoise property of each detection.

Data Types: logical

Enable creating false alarm measurements, specified as true or false. Set this property to true to report false alarms. Otherwise, only actual detections are reported.

Data Types: logical

Source of maximum number of detections reported by the sensor, specified as 'Auto' or 'Property'. When this property is set to 'Auto', the sensor reports all detections. When this property is set to 'Property', the sensor reports up to the number of detections specified by the MaxNumDetections property.

Data Types: char

Maximum number of detections reported by the sensor, specified as a positive integer. If the DetectionMode is set to 'monostatic' or 'bistatic', detections are reported in order of distance to the sensor until the maximum number is reached. If the DetectionMode is set to 'ESM', detections are reported from highest SNR to lowest SNR.

Dependencies

To enable this property, set the MaxNumDetectionsSource property to 'Property'.

Data Types: double

Enable occlusion from extended objects, specified as true or false. Set this property to true to model occlusion from extended objects. Two types of occlusion (self occlusion and inter object occlusion) are modeled. Self occlusion occurs when one side of an extended object occludes another side. Inter object occlusion occurs when one extended object stands in the line of sight of another extended object or a point target. Note that both extended objects and point targets can be occluded by extended objects, but a point target cannot occlude another point target or an extended object.

Set this property to false to disable occlusion of extended objects. This will also disable the merging of objects whose detections share a common sensor resolution cell, which gives each object in the tracking scenario an opportunity to generate a detection.

Data Types: logical

Coordinate system of reported detections, specified as:

  • 'Scenario' — Detections are reported in the rectangular scenario coordinate frame. The scenario coordinate system is defined as the local NED frame at simulation start time. To enable this value, set the HasINS property to true.

  • 'Body' — Detections are reported in the rectangular body system of the sensor platform.

  • 'Sensor rectangular' — Detections are reported in the sensor rectangular body coordinate system.

  • 'Sensor spherical' — Detections are reported in a spherical coordinate system derived from the sensor rectangular body coordinate system. This coordinate system is centered at the sensor and aligned with the orientation of the radar on the platform.

When the DetectionMode property is set to 'monostatic', you can specify the DetectionCoordinates as 'Body' (default for 'monostatic'), 'Scenario', 'Sensor rectangular', or 'Sensor spherical'. When the DetectionMode property is set to 'ESM' or 'bistatic', the default value of the DetectionCoordinates property is 'Sensor spherical', which can not be changed.

Example: 'Sensor spherical'

Data Types: char

ESM and Bistatic Sensor Properties

Sensor location on platform, specified as a 1-by-3 real-valued vector. This property defines the coordinates of the sensor with respect to the platform origin. The default value specifies that the sensor origin is at the origin of its platform. Units are in meters.

Example: [.2 0.1 0]

Dependencies

To enable this property, set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: double

Orientation of the sensor with respect to the platform, specified as a three-element real-valued vector. Each element of the vector corresponds to an intrinsic Euler angle rotation that carries the body axes of the platform to the sensor axes. The three elements define the rotations around the z-, y-, and x-axes, in that order. The first rotation rotates the platform axes around the z-axis. The second rotation rotates the carried frame around the rotated y-axis. The final rotation rotates the frame around the carried x-axis. Units are in degrees.

Example: [10 20 -15]

Dependencies

To enable this property, set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: double

Fields of view of sensor, specified as a 2-by-1 vector of positive real values, [azfov;elfov]. The field of view defines the total angular extent spanned by the sensor. Each component must lie in the interval (0,180]. Targets outside of the field of view of the radar are not detected. Units are in degrees.

Example: [14;7]

Dependencies

To enable this property, set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: double

Scanning mode of radar, specified as 'Mechanical', 'Electronic', 'Mechanical and electronic', or 'No scanning'.

Scan Modes

ScanModePurpose
'Mechanical'The sensor scans mechanically across the azimuth and elevation limits specified by the MechanicalScanLimits property. The scan direction increments by the radar field of view angle between dwells.
'Electronic'The sensor scans electronically across the azimuth and elevation limits specified by the ElectronicScanLimits property. The scan direction increments by the radar field of view angle between dwells.
'Mechanical and electronic'The sensor mechanically scans the antenna boresight across the mechanical scan limits and electronically scans beams relative to the antenna boresight across the electronic scan limits. The total field of regard scanned in this mode is the combination of the mechanical and electronic scan limits. The scan direction increments by the radar field of view angle between dwells.
'No scanning'The sensor beam points along the antenna boresight defined by the mountingAngles property.

Example: 'No scanning'

Dependencies

To enable this property, set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: char

Maximum mechanical scan rate, specified as a nonnegative scalar or real-valued 2-by-1 vector with nonnegative entries.

When HasElevation is true, specify the scan rate as a 2-by-1 column vector of nonnegative entries [maxAzRate; maxElRate]. maxAzRate is the maximum scan rate in azimuth and maxElRate is the maximum scan rate in elevation.

When HasElevation is false, specify the scan rate as a nonnegative scalar representing the maximum mechanical azimuth scan rate.

Scan rates set the maximum rate at which the sensor can mechanically scan. The sensor sets its scan rate to step the radar mechanical angle by the field of regard. If the required scan rate exceeds the maximum scan rate, the maximum scan rate is used. Units are degrees per second.

Example: [5;10]

Dependencies

To enable this property, set the ScanMode property to 'Mechanical' or 'Mechanical and electronic', and set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: double

Angular limits of mechanical scan directions of radar, specified as a real-valued 1-by-2 row vector, or a real-valued 2-by-2 matrix. The mechanical scan limits define the minimum and maximum mechanical angles the radar can scan from its mounted orientation.

When HasElevation is true, the scan limits take the form [minAz maxAz; minEl maxEl]. minAz and maxAz represent the minimum and maximum limits of the azimuth angle scan. minEl and maxEl represent the minimum and maximum limits of the elevation angle scan. When HasElevation is false, the scan limits take the form [minAz maxAz]. If you specify the scan limits as a 2-by-2 matrix but set HasElevation to false, the second row of the matrix is ignored.

Azimuthal scan limits cannot span more than 360° and elevation scan limits must lie within the closed interval [-90° 90°]. Units are in degrees.

Example: [-90 90;0 85]

Dependencies

To enable this property, set the ScanMode property to 'Mechanical' or 'Mechanical and electronic', and set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: double

This property is read-only.

Current mechanical scan angle of radar, returned as a scalar or real-valued 2-by-1 vector. When HasElevation is true, the scan angle takes the form [Az; El]. Az and El represent the azimuth and elevation scan angles, respectively, relative to the mounted angle of the radar on the platform. When HasElevation is false, the scan angle is a scalar representing the azimuth scan angle.

Dependencies

To enable this property, set the ScanMode property to 'Mechanical' or 'Mechanical and electronic', and set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: double

Angular limits of electronic scan directions of radar, specified as a real-valued 1-by-2 row vector, or a real-valued 2-by-2 matrix. The electronic scan limits define the minimum and maximum electronic angles the radar can scan from its current mechanical direction.

When HasElevation is true, the scan limits take the form [minAz maxAz; minEl maxEl]. minAz and maxAz represent the minimum and maximum limits of the azimuth angle scan. minEl and maxEl represent the minimum and maximum limits of the elevation angle scan. When HasElevation is false, the scan limits take the form [minAz maxAz]. If you specify the scan limits as a 2-by-2 matrix but set HasElevation to false, the second row of the matrix is ignored.

Azimuthal scan limits and elevation scan limits must lie within the closed interval [-90° 90°]. Units are in degrees.

Example: [-90 90;0 85]

Dependencies

To enable this property, set the ScanMode property to 'Electronic' or 'Mechanical and electronic', and set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: double

This property is read-only.

Current electronic scan angle of radar, returned as a scalar or 1-by-2 column vector. When HasElevation is true, the scan angle takes the form [Az;El]. Az and El represent the azimuth and elevation scan angles, respectively. When HasElevation is false, the scan angle is a scalar representing the azimuth scan angle.

Dependencies

To enable this property, set the ScanMode property to 'Electronic' or 'Mechanical and electronic', and set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: double

This property is read-only.

Look angle of sensor, specified as a scalar or real-valued 2-by-1 vector. Look angle is a combination of the mechanical angle and electronic angle depending on the ScanMode property.

ScanModeLookAngle
'Mechanical'MechnicalAngle
'Electronic'ElectronicAngle
'Mechanical and Electronic'MechnicalAngle + ElectronicAngle
'No scanning'0

When HasElevation is true, the look angle takes the form [Az;El]. Az and El represent the azimuth and elevation look angles, respectively. When HasElevation is false, the look angle is a scalar representing the azimuth look angle.

Dependencies

To enable this property, set the DetectionMode property to 'ESM' or 'bistatic'.

Center frequency of radar band, specified as a positive scalar. Units are in hertz.

Example: 100e6

Dependencies

To enable this property, set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: double

Radar waveform bandwidth, specified as a positive scalar. Units are in hertz.

Example: 100e3

Dependencies

To enable this property, set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: double

Types of detected waveforms, specified as a nonnegative integer-valued L-element vector.

Example: [1 4 5]

Dependencies

To enable this property, set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: double

Probability of correct classification of a detected waveform, specified as a positive scalar, a real-valued nonnegative L-element vector, or a real-valued nonnegative L-by-L matrix. Matrix values lie from 0 through 1 and matrix rows must sum to 1. L is the number of waveform types detectable by the sensor, as indicated by the value set in the WaveformTypes property. The (i,j) matrix element represents the probability of classifying the ith waveform as the jth waveform. When specified as a scalar from 0 through 1, the value is expanded along the diagonal of the confusion matrix. When specified as a vector, it must have the same number of elements as the WaveformTypes property. When defined as a scalar or a vector, the off diagonal values are set to (1-val)/(L-1).

Dependencies

To enable this property, set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: double

Monostatic and Bistatic Sensor Properties

Range resolution of the radar, specified as a positive scalar. The range resolution defines the minimum separation in range at which the radar can distinguish between two targets. Units are in meters.

Dependencies

To enable this property, set the DetectionMode property to 'monostatic' or 'bistatic'.

Data Types: double

Range rate resolution of the radar, specified as a positive scalar. The range rate resolution defines the minimum separation in range rate at which the radar can distinguish between two targets. Units are in meters per second.

Dependencies

To enable this property, set the HasRangeRate property to true, and set the DetectionMode property to 'monostatic' or 'bistatic'.

Data Types: double

Range bias fraction of the radar, specified as a nonnegative scalar. Range bias is expressed as a fraction of the range resolution specified in RangeResolution. This property sets a lower bound on the range accuracy of the radar. This value is dimensionless.

Dependencies

To enable this property, set the DetectionMode property to 'monostatic' or 'bistatic'.

Data Types: double

Range rate bias fraction of the radar, specified as a nonnegative scalar. Range rate bias is expressed as a fraction of the range rate resolution specified in RangeRateResolution. This property sets a lower bound on the range-rate accuracy of the radar. This value is dimensionless.

Dependencies

To enable this property, set the HasRangeRate property to true, and set the DetectionMode property to 'monostatic' or 'bistatic'.

Data Types: double

Enable the radar to measure target range rates, specified as false or true. Set this property to true to model a radar sensor that can measure target range rate. Set this property to false to model a radar sensor that cannot measure range rate.

Dependencies

To enable this property, set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: logical

Enable range ambiguities, specified as false or true. Set this property to true to enable range ambiguities by the sensor. In this case, the sensor cannot resolve range ambiguities for targets at ranges beyond the MaxUnambiguousRange are wrapped into the interval [0 MaxUnambiguousRange]. When false, targets are reported at their unambiguous range.

Dependencies

To enable this property, set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: logical

Enable range-rate ambiguities, specified as false or true. Set to true to enable range-rate ambiguities by the sensor. When true, the sensor does not resolve range rate ambiguities and target range rates beyond the MaxUnambiguousRadialSpeed are wrapped into the interval [0,MaxUnambiguousRadialSpeed]. When false, targets are reported at their unambiguous range rate.

Dependencies

To enable this property, set the HasRangeRate property to true and set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: logical

Maximum unambiguous range, specified as a positive scalar. Maximum unambiguous range defines the maximum range for which the radar can unambiguously resolve the range of a target. When HasRangeAmbiguities is set to true, targets detected at ranges beyond the maximum unambiguous range are wrapped into the range interval [0,MaxUnambiguousRange]. This property applies to true target detections when you set the HasRangeAmbiguities property to true.

This property also applies to false target detections when you set the HasFalseAlarms property to true. In this case, the property defines the maximum range for false alarms.

Units are in meters.

Example: 5e3

Dependencies

To enable this property, set the HasRangeAmbiguities property or the HasFalseAlarms property to true. Meanwhile, set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: double

Maximum unambiguous radial speed, specified as a positive scalar. Radial speed is the magnitude of the target range rate. Maximum unambiguous radial speed defines the radial speed for which the radar can unambiguously resolve the range rate of a target. When HasRangeRateAmbiguities is set to true, targets detected at range rates beyond the maximum unambiguous radial speed are wrapped into the range rate interval [-MaxUnambiguousRadialSpeed, MaxUnambiguousRadialSpeed]. This property applies to true target detections when you set HasRangeRateAmbiguities property to true.

This property also applies to false target detections obtained when you set both the HasRangeRate and HasFalseAlarms properties to true. In this case, the property defines the maximum radial speed for which false alarms can be generated.

Units are in meters per second.

Dependencies

To enable this property, set HasRangeRate and HasRangeRateAmbiguities to true and/or set HasRangeRate and HasFalseAlarms to true. Meanwhile, set the DetectionMode property to 'ESM' or 'bistatic'.

Data Types: double

Usage

Description

dets = sensor(radarsigs,simTime) creates ESM or bistatic radar detections, dets, from radar emissions, radarsigs, at the current simulation time, simTime. The sensor generates detections at the rate defined by the UpdateRate property. To use this syntax, set ScanMode property to 'ESM' or 'bistatic'.

dets = sensor(radarsigs,txconfigs,simTime) also specifies emitter configurations, txconfigs, of the monostatic sensor at the current simulation time. To use this syntax, set ScanMode property to 'Monostatic'.

dets = sensor(___,ins,simTime) also specifies the inertial navigation system (INS) estimated sensor platform pose, ins. INS information is used by tracking and fusion algorithms to estimate the target positions in the NED frame.

To use this syntax, set the HasINS property to true.

[dets,numDets,config] = sensor(___) also returns the number of valid detections reported, numDets, and the configuration of the sensor, config, at the current simulation time.

Input Arguments

expand all

Radar emissions, specified as an array or a cell array of radarEmission objects.

Emitter configurations, specified as an array of structures. This array must contain the configuration of the radarEmitter whose EmitterIndex matches the value of the EmitterIndex property of the radarSensor. Each structure has these fields:

FieldDescription
EmitterIndex

Unique emitter index

IsValidTime

Valid emission time, returned as 0 or 1. IsValidTime is 0 when emitter updates are requested at times that are between update intervals specified by UpdateInterval.

IsScanDone

IsScanDone is true when the emitter has completed a scan.

FieldOfView

Field of view of emitter.

MeasurementParameters

MeasurementParameters is an array of structures containing the coordinate frame transforms needed to transform positions and velocities in the top-level frame to the current emitter frame.

For more details on MeasurementParameters, see Measurement Parameters.

Data Types: struct

Sensor platform pose obtained from the inertial navigation system (INS), specified as a structure. The INS information can be used by tracking and fusion algorithms to estimate the platform's pose and velocity in the NED frame.

Platform pose information from an inertial navigation system (INS) is a structure which has these fields:

FieldDefinition
Position

Position of the GPS receiver in the local NED coordinate system, specified as a real-valued 1-by-3 vector. Units are in meters.

Velocity

Velocity of the GPS receiver in the local NED coordinate system, specified as a real-valued 1-by-3 vector. Units are in meters per second.

Orientation

Orientation of the INS with respect to the local NED coordinate system, specified as a scalar quaternion or a 3-by-3 real-valued orthonormal frame rotation matrix. Defines the frame rotation from the local NED coordinate system to the current INS body coordinate system. This is also referred to as a "parent to child" rotation.

Dependencies

To enable this argument, set the HasINS property to true.

Data Types: struct

Current simulation time, specified as a positive scalar. The trackingScenario object calls the scan radar sensor at regular time intervals. The radar sensor generates new detections at intervals defined by the UpdateInterval property. The value of the UpdateInterval property must be an integer multiple of the simulation time interval. Updates requested from the sensor between update intervals contain no detections. Units are in seconds.

Example: 10.5

Data Types: double

Output Arguments

expand all

Sensor detections, returned as a cell array of objectDetection objects. Each object has these properties:

PropertyDefinition
TimeMeasurement time
MeasurementObject measurements
MeasurementNoiseMeasurement noise covariance matrix
SensorIndexUnique ID of the sensor
ObjectClassIDObject classification
MeasurementParametersParameters used by initialization functions of nonlinear Kalman tracking filters
ObjectAttributesAdditional information passed to tracker

Measurement and MeasurementNoise are reported in the coordinate system specified by the DetectionCoordinates property. For details on Measurement, MeasurementParameters, and ObjectAttributes of radarSensor, please see Object Detections.

Number of detections reported, returned as a nonnegative integer.

  • When the MaxNumDetectionsSource property is set to 'Auto', numDets is set to the length of dets.

  • When the MaxNumDetectionsSource property is set to 'Property', dets is a cell array with length determined by the MaxNumDetections property. No more than MaxNumDetections number of detections are returned. If the number of detections is fewer than MaxNumDetections, the first numDets elements of dets hold valid detections. The remaining elements of dets are set to the default value.

Data Types: double

Current sensor configuration, specified as a structure. This output can be used to determine which objects fall within the radar beam during object execution.

FieldDescription
SensorIndex

Unique sensor index

IsValidTime

Valid detection time, returned as 0 or 1. IsValidTime is 0 when detection updates are requested at times that are between update intervals specified by UpdateInterval.

IsScanDone

IsScanDone is true when the sensor has completed a scan.

FieldOfView

Field of view of sensor determines which objects fall within the sensor beam during object execution. The field of view is defined as a 2-by-1 vector of positive real values, [azfov;elfov].

MeasurementParameters

MeasurementParameters is an array of structures containing the coordinate frame transforms needed to transform positions and velocities in the top-level frame to the current sensor frame.

Data Types: struct

Object Functions

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)

expand all

stepRun System object algorithm
releaseRelease resources and allow changes to System object property values and input characteristics
resetReset internal states of System object

Examples

expand all

Create an radar emission and then detect the emission using a radarSensor object.

First, create an radar emission.

orient = quaternion([180 0 0],'eulerd','zyx','frame');
rfSig = radarEmission('PlatformID',1,'EmitterIndex',1,'EIRP',100, ...
    'OriginPosition',[30 0 0],'Orientation',orient);

Then, create an ESM sensor using radarSensor.

sensor = radarSensor(1);

Detect the RF emission.

time = 0;
[dets,numDets,config] = sensor(rfSig,time)

More About

expand all

References

[1] Doerry, A. W.. "Earth curvature and atmospheric refraction effects on radar signal propagation." Sandia Report . SAND 2012-10690, 2013.

[2] Doerry, A. W.. "Motion Measurement for Synthetic Aperture Radar." Sandia Report . SAND 2015-20818, 2015.

Extended Capabilities

Introduced in R2018b