Main Content

Platform.detect

Detect signals using platform-mounted sensors

Description

dets = detect(ptfm,time) returns detections, dets, from all the sensors mounted on the platform, ptfm, at the specified time. This syntax applies when sensors do not require knowledge of any signals present in the scenario, for example, when the fusionRadarSensor object property HasInterference is set to false.

dets = detect(ptfm,signals,time) also specifies any signals, signals, present in the scenario. This syntax applies when sensors require knowledge of these signals, for example, when a radarSensor object is configured as an EM sensor.

dets = detect(ptfm,signals,emitterconfigs,time) also specifies emitter configurations, emitterconfigs. This syntax applies when sensors require knowledge of the configurations of emitters generating signals in the scenario. For example, when an fusionRadarSensor object is configured as a monostatic radar.

[dets,numDets] = detect(___) also returns the number of detections, numDets. This output syntax can be used with any of the input syntaxes.

[dets,numDets,sensorconfigs] = detect(___) also returns all sensor configurations, sensorconfigs. This output syntax can be used with any of the input syntaxes.

Input Arguments

collapse all

Scenario platform, specified as a Platform object. To create platforms, use the platform method.

Simulation time specified as a positive scalar.

Example: 1.5

Data Types: single | double

Signals in the scenario, specified as a cell array of radarEmission and sonarEmission emission objects.

Emitter configurations, specified as a structure. The fields of the emitter configuration are:

FieldDescription
EmitterIndex

Unique emitter index, returned as a positive integer.

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 the UpdateInterval property.

IsScanDone

Whether the emitter has completed a scan, returned as true or false.

FieldOfView

Field of view of the emitter, returned as a two-element vector [azimuth; elevation] in degrees.

MeasurementParameters

Emitter measurement parameters, returned as an array of structures containing the coordinate frame transforms needed to transform positions and velocities in the top-level frame to the current emitter looking-angle frame.

Data Types: struct

Output Arguments

collapse all

Sensor detections, returned as a cell array of objectDetection objects.

Sensor configurations, returned as a structure. The fields of this structure are:

FieldDescription
SensorIndex

Unique sensor index, returned as a positive integer.

IsValidTime

Valid detection time, returned as true or false. IsValidTime is false when detection updates are requested between update intervals specified by the update rate.

IsScanDone

IsScanDone is true when the sensor has completed a scan.

RangeLimitsLower and upper range detection limits, returned as a two-element real-valued vector in meters.
RangeRateLimitsLower and upper range-rate detection limits, returned as a two-element real-valued vector in m/s.
FieldOfView

Field of view of the sensor, returned as a 2-by-1 vector of positive real values, [azfov;elfov]. azfov and elfov represent the field of view in azimuth and elevation, respectively.

MeasurementParameters

Sensor measurement parameters, returned as an array of structures containing the coordinate frame transforms needed to transform positions and velocities in the top-level frame to the current sensor looking-angle frame.

Data Types: struct

Number of detections reported, returned as a nonnegative integer.

Data Types: double

More About

collapse all

Object Detections

Measurements

This section describes the structure of object detections.

The sensor measures the coordinates of the target. The Measurement and MeasurementNoise values are reported in the coordinate system specified by the DetectionCoordinates property of the sensor.

When the DetectionCoordinates property is 'Scenario', 'Body', or 'Sensor rectangular', the Measurement and MeasurementNoise values are reported in rectangular coordinates. Velocities are only reported when the range rate property, HasRangeRate, is true.

When the DetectionCoordinates property is 'Sensor spherical', the Measurement and MeasurementNoise values are reported in a spherical coordinate system derived from the sensor rectangular coordinate system. Elevation and range rate are only reported when HasElevation and HasRangeRate are true.

Measurements are ordered as [azimuth, elevation, range, range rate]. Reporting of elevation and range rate depends on the corresponding HasElevation and HasRangeRate property values. Angles are in degrees, range is in meters, and range rate is in meters per second.

Measurement Coordinates

DetectionCoordinatesMeasurement and Measurement Noise Coordinates
'Scenario'

Coordinate Dependence on HasRangeRate

HasRangeRateCoordinates
true[x; y; z; vx; vy; vz]
false[x; y; z]
'Body'
'Sensor rectangular'
'Sensor spherical'

Coordinate Dependence on HasRangeRate and HasElevation

HasRangeRateHasElevationCoordinates
truetrue[az; el; rng; rr]
truefalse[az; rng; rr]
falsetrue[az; el; rng]
falsefalse[az; rng]

Measurement Parameters

The MeasurementParameters property consists of an array of structures that describe a sequence of coordinate transformations from a child frame to a parent frame or the inverse transformations (see Frame Rotation). In most cases, the longest required sequence of transformations is Sensor → Platform → Scenario.

If the detections are reported in sensor spherical coordinates and HasINS is set to false, then the sequence consists only of one transformation from sensor to platform. In the transformation, the OriginPosition is same as the MountingLocation property of the sensor. The Orientation consists of two consecutive rotations. The first rotation, corresponding to the MountingAngles property of the sensor, accounts for the rotation from the platform frame (P) to the sensor mounting frame (M). The second rotation, corresponding to the azimuth and elevation angles of the sensor, accounts for the rotation from the sensor mounting frame (M) to the sensor scanning frame (S). In the S frame, the x direction is the boresight direction, and the y direction lies within the x-y plane of the sensor mounting frame (M).

Radar Mounting Frame

If HasINS is true, the sequence of transformations consists of two transformations – first form the scenario frame to the platform frame then from platform frame to the sensor scanning frame. In the first transformation, the Orientation is the rotation from the scenario frame to the platform frame, and the OriginPosition is the position of the platform frame origin relative to the scenario frame.

Trivially, if the detections are reported in platform rectangular coordinates and HasINS is set to false, the transformation consists only of the identity.

The fields of MeasurementParameters are shown here. Not all fields have to be present in the structure. The set of fields and their default values can depend on the type of sensor.

FieldDescription
Frame

Enumerated type indicating the frame used to report measurements. When detections are reported using a rectangular coordinate system, Frame is set to 'rectangular'. When detections are reported in spherical coordinates, Frame is set 'spherical' for the first struct.

OriginPosition

Position offset of the origin of the child frame relative to the parent frame, represented as a 3-by-1 vector.

OriginVelocity

Velocity offset of the origin of the child frame relative to the parent frame, represented as a 3-by-1 vector.

Orientation

3-by-3 real-valued orthonormal frame rotation matrix. The direction of the rotation depends on the IsParentTochild field.

IsParentToChild

A logical scalar indicating if Orientation performs a frame rotation from the parent coordinate frame to the child coordinate frame. If false, Orientation performs a frame rotation from the child coordinate frame to the parent coordinate frame.

HasElevation

A logical scalar indicating if elevation is included in the measurement. For measurements reported in a rectangular frame, and if HasElevation is false, the measurements are reported assuming 0 degrees of elevation.

HasAzimuthA logical scalar indicating if azimuth is included in the measurement.
HasRangeA logical scalar indicating if range is included in the measurement.
HasVelocity

A logical scalar indicating if the reported detections include velocity measurements. For measurements reported in the rectangular frame, if HasVelocity is false, the measurements are reported as [x y z]. If HasVelocity is true, measurements are reported as [x y z vx vy vz].

Object Attributes

Object attributes contain additional information about a detection:

AttributeDescription
TargetIndex

Identifier of the platform, PlatformID, that generated the detection. For false alarms, this value is negative.

SNR

Detection signal-to-noise ratio in dB.

Version History

Introduced in R2018b

See Also

| |