fusionRadarSensor
Description
The fusionRadarSensor
System object™ generates detections or track reports of
targets. You can specify the detection mode of the sensor as monostatic, bistatic, or
electronic support measures (ESM) through the DetectionMode
property. You
can use fusionRadarSensor
to simulate clustered or unclustered detections with
added random noise, and also generate false alarm detections. You can fuse the generated
detections with other sensor data and track objects using a multi-object tracker, such as
trackerGNN
. You can
also output tracks directly from the fusionRadarSensor
object. To configure whether
targets are output as clustered detections, unclustered detections, or tracks, use the
TargetReportFormat
property. You can add fusionRadarSensor
to a Platform
and then
use the radar in a trackingScenario
.
Using a single-exponential model, 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 References for more details.
To generate radar detections or track reports:
Create the
fusionRadarSensor
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?
Creation
Syntax
Description
creates a monostatic
radar sensor that reports clustered detections and uses default property values.rdr
= fusionRadarSensor
sets the SensorIndex
property to the specified rdr
= fusionRadarSensor(id
)id
.
is a convenience syntax that creates a monostatic radar sensor and sets its scanning
configuration to a predefined rdr
= fusionRadarSensor(___,scanConfig
)scanConfig
. You can specify
scanConfig
as 'No scanning'
,
'Raster'
, 'Rotator'
, or
'Sector'
. See Convenience Syntaxes for more details on
these configurations.
creates a radar sensor and sets Properties using one or more
name-value pairs. Enclose each property name in quotes. For example,
rdr
= fusionRadarSensor(___,Name,Value
)radarDataGenerator('TargetReportFormat','Tracks','FilterInitializationFcn',@initcvkf)
creates a radar sensor that generates track reports using a tracker initialized by a
constant-velocity linear Kalman filter.
Properties
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.
Sensor IdentificationSensorIndex
— Unique sensor identifier
0
(default) | positive integer
Unique sensor identifier, specified as a positive integer. Use this property to distinguish
between detections or tracks that come from different sensors in a multisensor system.
Specify a unique value for each sensor. If you do not update
SensorIndex
from the default value of 0
,
then the radar returns an error at the start of simulation.
Data Types: double
UpdateRate
— Sensor update rate (Hz)
1
(default) | positive real scalar
Sensor update rate, in hertz, specified as a positive real scalar. The reciprocal of the update rate must be an integer multiple of the simulation time interval. The radar generates new reports at intervals defined by this reciprocal value. Any sensor update requested between update intervals contains no detections or tracks.
Data Types: double
MountingLocation
— Mounting location of radar on platform (m)
[0 0 0]
(default) | 1-by-3 real-valued vector
Mounting location of the radar on the platform, in meters, specified as a 1-by-3 real-valued vector of the form [x y z]. This property defines the coordinates of the sensor along the x-axis, y-axis, and z-axis relative to the platform body frame.
Data Types: double
MountingAngles
— Mounting rotation angles of radar (deg)
[0 0 0]
(default) | 1-by-3 real-valued vector of form [zyaw
ypitch
xroll]
Mounting rotation angles of the radar, in degrees, specified as a 1-by-3 real-valued vector of form [zyaw ypitch xroll]. This property defines the intrinsic Euler angle rotation of the sensor around the z-axis, y-axis, and x-axis with respect to the platform body frame, where:
zyaw, or yaw angle, rotates the sensor around the z-axis of the platform body frame.
ypitch, or pitch angle, rotates the sensor around the y-axis of the platform body frame. This rotation is relative to the sensor position that results from the zyaw rotation.
xroll, or roll angle, rotates the sensor about the x-axis of the platform body frame. This rotation is relative to the sensor position that results from the zyaw and ypitch rotations.
These angles are clockwise-positive when looking in the forward direction of the z-axis, y-axis, and x-axis, respectively.
Data Types: double
ScanMode
— Scanning mode of radar
'Mechanical'
(default) | 'Electronic'
| 'Mechanical and electronic'
| 'No scanning'
Scanning mode of the radar, specified as 'Mechanical'
,
'Electronic'
, 'Mechanical and electronic'
, or
'No scanning'
.
ScanMode | Purpose |
---|---|
'Mechanical' | The sensor scans mechanically across the azimuth and elevation limits
specified by the MechanicalAzimuthLimits and
MechanicalElevationLimits properties. 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 ElectronicAzimuthLimits and
ElectronicElevationLimits properties. 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 mechanical angles 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 field of view angle between dwells. |
'No scanning' | The sensor beam points along the antenna boresight defined by the
MountingAngles property. |
Example: 'No scanning'
MaxAzimuthScanRate
— Maximum mechanical azimuth scan rate (deg/s)
75
(default) | nonnegative scalar
Maximum mechanical azimuth scan rate, specified as a nonnegative scalar in degrees per second. This property sets the maximum scan rate at which the sensor can mechanically scan in azimuth. The sensor sets its scan rate to step the radar mechanical angle by the field of view. If the required scan rate exceeds the maximum scan rate, the maximum scan rate is used.
Dependencies
To enable this property, set the ScanMode
property to
'Mechanical'
or 'Mechanical and electronic'
.
Data Types: double
MaxElevationScanRate
— Maximum mechanical elevation scan rate (deg/s)
75
(default) | nonnegative scalar
Maximum mechanical elevation scan rate, specified as a nonnegative scalar in degrees per second. The property sets the maximum scan rate at which the sensor can mechanically scan in elevation. The sensor sets its scan rate to step the radar mechanical angle by the field of view. If the required scan rate exceeds the maximum scan rate, the maximum scan rate is used.
Dependencies
To enable this property, set the ScanMode
property to
'Mechanical'
or 'Mechanical and electronic'
.
Also, set the HasElevation
property to
true
.
Data Types: double
MechanicalAzimuthLimits
— Mechanical azimuth scan limits (deg)
[0 360]
(default) | two-element real-valued vector
Mechanical azimuth scan limits, specified as a two-element real-valued vector of the form [azMin azMax], where azMin ≤ azMax and azMax – azMin ≤ 360. The limits define the minimum and maximum mechanical azimuth angles, in degrees, the sensor can scan from its mounted orientation.
Note
The sensor scans the boresight direction (center of the scanning beam) across the scan limits. Since the scan beam has a non-negligible width, the sensor can detect targets slightly outside the scan limits.
Example: [-10 20]
Dependencies
To enable this property, set the ScanMode
property to
'Mechanical'
or 'Mechanical and
electronic'
.
Data Types: double
MechanicalElevationLimits
— Mechanical elevation scan limits (deg)
[-10 0]
(default) | two-element real-valued vector
Mechanical elevation scan limits, specified as a two-element real-valued vector of the form [elMin elMax], where –90 ≤ elMin ≤ elMax ≤ 90. The limits define the minimum and maximum mechanical elevation angles, in degrees, the sensor can scan from its mounted orientation.
Note
The sensor scans the boresight direction (center of the scanning beam) across the scan limits. Since the scan beam has a non-negligible width, the sensor can detect targets slightly outside the scan limits.
Example: [-50 20]
Dependencies
To enable this property, set the ScanMode
property to
'Mechanical'
or 'Mechanical and electronic'
.
Also, set the HasElevation
property to
true
.
Data Types: double
ElectronicAzimuthLimits
— Electronic azimuth scan limits (deg)
[-45 45]
(default) | two-element real-valued vector
Electronic azimuth scan limits, specified as a two-element real-valued vector of the form [azMin azMax], where -90 ≤ azMin ≤ azMax ≤ 90. The limits define the minimum and maximum electronic azimuth angles, in degrees, the sensor can scan from its mounted orientation.
Note
The sensor scans the boresight direction (center of the scanning beam) across the scan limits. Since the scan beam has a non-negligible width, the sensor can detect targets slightly outside the scan limits.
Example: [-50 20]
Dependencies
To enable this property, set the ScanMode
property to
'Electronic'
or 'Mechanical and electronic'
.
Data Types: double
ElectronicElevationLimits
— Electronic elevation scan limits (deg)
[-45 45]
(default) | two-element real-valued vector
Electronic elevation scan limits, specified as a two-element real-valued vector of the form [elMin elMax], where -90 ≤ elMin ≤ elMax ≤ 90. The limits define the minimum and maximum electronic elevation angles, in degrees, the sensor can scan from its mounted orientation.
Note
The sensor scans the boresight direction (center of the scanning beam) across the scan limits. Since the scan beam has a non-negligible width, the sensor can detect targets slightly outside the scan limits.
Example: [-50 20]
Dependencies
To enable this property, set the ScanMode
property to
'Electronic'
or 'Mechanical and electronic'
.
Also, set the HasElevation
property to
true
.
Data Types: double
MechanicalAngle
— Current mechanical scan angle
two-element real-valued vector
This property is read-only.
Current mechanical scan angle of radar, specified as a two-element real-valued vector of the form [az el]. az and el represent the mechanical azimuth and elevation scan angles, respectively, relative to the mounted angle of the radar on the platform.
Data Types: double
ElectronicAngle
— Current electronic scan angle
two-element real-valued vector
This property is read-only.
Current electronic scan angle of radar, specified as a two-element real-valued vector of the form [az el]. az and el represent the electronic azimuth and elevation scan angles, respectively, relative to the current mechanical angle.
Data Types: double
LookAngle
— Current look angle of sensor
two-element real-valued vector
This property is read-only.
Current look angle of the sensor, specified as a two-element real-valued vector of
the form [az
el]. az and el represent the
azimuth and elevation look angles, respectively. Look angle is a combination of the
mechanical angle and electronic angle, depending on the ScanMode
property.
ScanMode | LookAngle |
'Mechanical' | MechnicalAngle |
'Electronic' | ElectronicAngle |
'Mechanical and electronic' | MechnicalAngle +
ElectronicAngle |
'No scanning' | 0 |
DetectionMode
— Detection mode
'Monostatic'
(default) | 'ESM'
|
'Bistatic'
Detection mode, specified as 'Monostatic'
,
'ESM'
, or 'Bistatic'
. When set to
'Monostatic'
, the sensor generates detections from reflected
signals originating from a collocated radar emitter. When set to
'ESM'
, the sensor operates passively and can model ESM and (radar
warning receiver) RWR systems. 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'
HasElevation
— Enable radar to scan in elevation and measure target elevation angles
false
or 0
(default) | true
or 1
Enable the radar to scan in elevation and measure target elevation angles, specified
as a logical 0
(false
) or 1
(true
). Set this property to true
to model a
radar sensor that can estimate target elevation.
Data Types: logical
HasRangeRate
— Enable radar to measure target range rates
false
or 0
(default) | true
or 1
Enable the radar to measure target range rates, specified as a logical
0
(false
) or 1
(true
). Set this property to true
to model a
radar sensor that can measure range rates from target detections.
Data Types: logical
HasNoise
— Enable addition of noise to radar sensor measurements
true
or 1
(default) | false
or 0
Enable the addition of noise to radar sensor measurements, specified as a logical
1
(true
) or 0
(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 sensor reports the
measurement noise covariance matrix specified in the
MeasurementNoise
property of its object detection outputs.
When the sensor reports tracks, the sensor uses the measurement covariance matrix to estimate the track state and state covariance matrix.
Data Types: logical
HasFalseAlarms
— Enable creating false alarm radar detections
true
or 1
(default) | false
or 0
Enable creating false alarm radar measurements, specified as a logical 1
(true
) or 0
(false
). Set
this property to true
to report false alarms. Otherwise, the radar
reports only actual detections.
Data Types: logical
HasOcclusion
— Enable occlusion from extended objects
true
or 1
(default) | false
or 0
Enable occlusion from extended objects, specified as a logical 1
(true
) or 0
(false
). Set this
property to true
to model occlusion from extended objects. The sensor
models two types of occlusion, self occlusion and inter-object occlusion. 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.
Data Types: logical
HasRangeAmbiguities
— Enable range ambiguities
false
or 0
(default) | true
or 1
Enable range ambiguities, specified as a logical 0
(false
) or 1
(true
). Set this
property to true
to enable sensor range ambiguities. In this case,
the sensor does not resolve range ambiguities, and target ranges beyond the MaxUnambiguousRange are wrapped into the interval [0,
MaxUnambiguousRange]
. When false
, the sensor reports
targets at their unambiguous range.
Data Types: logical
HasRangeRateAmbiguities
— Enable range-rate ambiguities
false
or 0
(default) | true
or 1
Enable range-rate ambiguities, specified as a logical 0
(false
) or 1
(true
). Set this
property to true
to enable sensor range-rate ambiguities. When
true
, the sensor does not resolve range rate ambiguities. Target
range rates beyond the MaxUnambiguousRadialSpeed are wrapped into the interval [0,
MaxUnambiguousRadialSpeed]
. When false
, the sensor
reports targets at their unambiguous range rates.
Dependencies
To enable this property, set the HasRangeRate
property to
true
.
Data Types: logical
HasINS
— Enable inertial navigation system (INS) input
false
or 0
(default) | true
or 1
Enable the INS input argument, which passes the current estimate of the sensor
platform pose to the sensor, specified as a logical 0
(false
) or 1
(true
). When
true
, pose information is added to the
MeasurementParameters
structure of the reported detections or the
StateParameters
structure of the reported tracks, based on the
TargetReportFormat
property. Pose information enables tracking
and fusion algorithms to estimate the state of the target in the scenario frame.
Data Types: logical
MaxNumReportsSource
— Source of maximum for number of detection or track reports
'Auto'
(default) | 'Property'
Source of the maximum for the number of detection or track reports, specified as one of these options:
'Auto'
— The sensor reports all detections or tracks.'Property'
— The sensor reports the first N valid detections or tracks, where N is equal to theMaxNumReports
property value.
MaxNumReports
— Maximum number of detection or track reports
100
(default) | positive integer
Maximum number of detection or track reports, specified as a positive integer. The sensor reports detections, in order of increasing distance from the sensor, until reaching this maximum number.
Dependencies
To enable this property, set the MaxNumReportsSource
property
to 'Property'
.
Data Types: double
TargetReportFormat
— Format of generated target reports
'Clustered detections'
(default) | 'Tracks'
| 'Detections'
Format of generated target reports, specified as one of these options:
'Clustered detections'
— The sensor generates target reports as clustered detections, where each target is reported as a single detection that is the centroid of the unclustered target detections. The sensor returns clustered detections as a cell array ofobjectDetection
objects. To enable this option, set theDetectionMode
property to'Monostatic'
and set theEmissionsInputPort
property tofalse
.'Tracks'
— The sensor generates target reports as tracks, which are clustered detections that have been processed by a tracking filter. The sensor returns tracks as an array ofobjectTrack
objects. To enable this option, set theDetectionMode
property to'Monostatic'
and set theEmissionsInputPort
property tofalse
.'Detections'
— The sensor generates target reports as unclustered detections, where each target can have multiple detections. The sensor returns unclustered detections as a cell array ofobjectDetection
objects.
DetectionCoordinates
— Coordinate system used to report detections
'Body'
| 'Scenario'
| 'Sensor rectangular
| 'Sensor spherical'
Coordinate system used to report detections, specified as one of these options::
'Scenario'
— Detections are reported in the rectangular scenario coordinate frame. The scenario coordinate system is defined as the local navigation frame at simulation start time. To enable this value, set the HasINS property totrue
.'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 cannot be changed.
Example: 'Sensor spherical'
AzimuthResolution
— Azimuth resolution of radar (deg)
1
(default) | positive real scalar
Azimuth resolution of the radar, in degrees, specified as a positive scalar. The azimuth resolution defines the minimum separation in azimuth angle at which the radar can distinguish between two targets. The azimuth resolution is typically the half-power beamwidth of the azimuth angle beamwidth of the radar.
Data Types: double
ElevationResolution
— Elevation resolution of radar (deg)
5
(default) | positive real scalar
Elevation resolution of the radar, in degrees, specified as a positive real scalar. The elevation resolution defines the minimum separation in elevation angle at which the radar can distinguish between two targets. The elevation resolution is typically the half-power beamwidth of the elevation angle beamwidth of the radar.
Dependencies
To enable this property, set the HasElevation
property to true
.
Data Types: double
RangeResolution
— Range resolution of radar (m)
100
(default) | positive real scalar
Range resolution of the radar, in meters, specified as a positive real scalar. The range resolution defines the minimum separation in range at which the radar can distinguish between two targets.
Data Types: double
RangeRateResolution
— Range-rate resolution of radar (m/s)
10
(default) | positive real scalar
Range-rate resolution of the radar, in meters per second, specified as a positive real scalar. The range rate resolution defines the minimum separation in range rate at which the radar can distinguish between two targets.
Dependencies
To enable this property, set the HasRangeRate
property to
true
.
Data Types: double
AzimuthBiasFraction
— Azimuth bias fraction of radar
0.1
(default) | nonnegative scalar
Azimuth bias fraction of the radar, specified as a nonnegative scalar. Azimuth bias is expressed as a fraction of the azimuth resolution specified in the AzimuthResolution
property. This value sets a lower bound on the azimuthal accuracy of the radar and is dimensionless.
Data Types: double
ElevationBiasFraction
— Elevation bias fraction of radar
0.1
(default) | nonnegative scalar
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 ElevationResolution
property. This value sets a lower bound on the elevation accuracy of the radar and is dimensionless.
Dependencies
To enable this property, set the HasElevation
property to true
.
Data Types: double
RangeBiasFraction
— Range bias fraction
0.05
(default) | nonnegative scalar
Range bias fraction of the radar, specified as a nonnegative scalar. Range
bias is expressed as a fraction of the range resolution specified by the
RangeResolution
property. This property sets a lower bound on
the range accuracy of the radar and is dimensionless.
Data Types: double
RangeRateBiasFraction
— Range-rate bias fraction
0.05
(default) | nonnegative scalar
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 by the RangeRateResolution
property. This
property sets a lower bound on the range rate accuracy of the radar and is
dimensionless.
Dependencies
To enable this property, set the HasRangeRate
property to
true
.
Data Types: double
CenterFrequency
— Center frequency of radar band (Hz)
300e6
(default) | positive real scalar
Center frequency of the radar band, in hertz, specified as a positive real scalar.
Data Types: double
Bandwidth
— Radar waveform bandwidth
3e6
(default) | positive real scalar
Radar waveform bandwidth, in hertz, specified as a positive real scalar.
Example: 100e3
Data Types: double
WaveformTypes
— Types of detectable waveforms
0
(default) |
L-element vector of nonnegative integers
Types of detectable waveforms, specified as an L-element vector of nonnegative integers. Each integer represents a type of waveform detectable by the radar.
Example: [1 4 5]
Data Types: double
ConfusionMatrix
— Probability of correct classification of detected waveform
1
(default) | positive scalar | L-element vector of nonnegative real values | L-by-L matrix of nonnegative real
values
Probability of correct classification of a detected waveform, specified as a
positive scalar, an L-element vector of nonnegative real values, or
an L-by-L matrix of nonnegative real values, where
L is the number of waveform types detectable by the sensor, as
indicated by the value set in the WaveformTypes
property. Matrix
values must be in the range [0, 1].
The (i, j) matrix element represents the probability of classifying the ith waveform as the jth waveform. When you specify this property as a scalar from 0 through 1, the value is expanded along the diagonal of the confusion matrix. When specified as a vector, the vector is aligned as the diagonal of the confusion matrix. When defined as a scalar or a vector, the off-diagonal values are set to (1 – val)/(L –1), where val is the value of the diagonal element.
Data Types: double
Sensitivity
— Minimum operational sensitivity of receiver
-50
(default) | scalar
Minimum operational sensitivity of receiver, specified as a scalar. Sensitivity includes isotropic antenna receiver gain. Units are in dBmi.
Example: -10
Data Types: double
DetectionThreshold
— Minimum SNR required to declare detection
5
(default) | scalar
Minimum signal-to-noise ratio (SNR) required to declare a detection, specified as a scalar. Units are in dB.
Example: -1
Data Types: double
DetectionProbability
— Probability of detecting target
0.9
(default) | scalar in range (0, 1]
Probability of detecting a target, specified as a scalar in the range (0, 1]. This
property defines the probability of detecting a target with a radar cross-section (RCS),
ReferenceRCS
, at the reference detection range,
ReferenceRange
.
Data Types: double
ReferenceRange
— Reference range for given probability of detection (m)
100e3
(default) | positive real scalar
Reference range for the given probability of detection and the given reference radar
cross-section (RCS), in meters, specified as a positive real scalar. The
reference range is the range, at which a target having a radar
cross-section specified by the ReferenceRCS
property is detected
with a probability of detection specified by the
DetectionProbability
property.
Data Types: double
ReferenceRCS
— Reference radar cross-section for given probability of detection (dBsm)
0
(default) | real scalar
Reference radar cross-section (RCS) for a given probability of detection and reference range,
in decibel square meters, specified as a real scalar. The reference
RCS is the RCS value at which a target is detected with a probability
specified by DetectionProbability
at the specified
ReferenceRange
value.
Data Types: double
FalseAlarmRate
— False alarm report rate
1e-6
(default) | positive real scalar in range [10–7, 10–3]
False alarm report rate within each radar resolution cell, specified as a positive real scalar
in the range [10–7, 10–3]. Units
are dimensionless. The object determines resolution cells from the
AzimuthResolution
and RangeResolution
properties and, when enabled, from the ElevationResolution
and
RangeRateResolution
properties.
Data Types: double
FieldOfView
— Angular field of view of radar (deg)
[1 5]
| 1-by-2 positive real-valued vector
Angular field of view of the radar, in degrees, specified as a 1-by-2 positive real-valued vector of the form [azfov elfov]. The field of view defines the angular extent spanned by the sensor. The azimuth field of view, azfov, must be in the range (0, 360]. The elevation field of view, elfov, must be in the range (0, 180].
Data Types: double
RangeLimits
— Minimum and maximum range of radar (m)
[0 100e3]
(default) | 1-by-2 nonnegative real-valued vector
Minimum and maximum range of radar, in meters, specified as a 1-by-2 nonnegative
real-valued vector of the form [min, max]
. The radar does not detect
targets that are outside this range. The maximum range, max
, must be
greater than the minimum range, min
.
RangeRateLimits
— Minimum and maximum range rate of radar (m/s)
[-200 200]
(default) | 1-by-2 real-valued vector
Minimum and maximum range rate of radar, in meters per second, specified as a 1-by-2
real-valued vector of the form [min, max]
. The radar does not detect
targets that are outside this range rate. The maximum range rate,
max
, must be greater than the minimum range rate,
min
.
Dependencies
To enable this property, set the HasRangeRate
property to
true
.
MaxUnambiguousRange
— Maximum unambiguous detection range
100e3
(default) | positive scalar
Maximum unambiguous detection range, specified as a positive scalar in meters.
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 also applies to false target detections when you set the
HasFalseAlarms
property to true
. In this case,
the property defines the maximum range at which false alarms can be generated.
Example: 5e3
Dependencies
To enable this property, set the HasRangeAmbiguities
property
to true
.
Data Types: double
MaxUnambiguousRadialSpeed
— Maximum unambiguous radial speed
200
(default) | positive scalar
Maximum unambiguous radial speed, specified as a positive scalar in meters per
second. 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 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
at which false alarms can be generated.
Dependencies
To enable this property, set HasRangeRate
and
HasRangeRateAmbiguities
to true
.
Data Types: double
RadarLoopGain
— Radar loop gain
real scalar
This property is read-only.
Radar loop gain, specified as a real scalar. RadarLoopGain
depends on the
values of the DetectionProbability
,
ReferenceRange
, ReferenceRCS
, and
FalseAlarmRate
properties. Radar loop gain is a function of the
reported signal-to-noise ratio of the radar, SNR, the target radar
cross-section, RCS, and the target range, R, as
described by this equation:
SNR = RadarLoopGain
+
RCS –
40log10(R)
SNR and RCS are in decibels and
decibel square meters, respectively, R is in meters, and
RadarLoopGain
is in decibels.
Data Types: double
InterferenceInputPort
— Enable interference input
false
or 0
(default) | true
or 1
Enable interference input, specified as a logical 0
(false
) or 1
(true
). Set this
property to true
to enable interference input when running the
radar.
Dependencies
To enable this property, set DetectionMode
to
'Monostatic'
and set EmissionsInputPort
to
false
.
Data Types: logical
EmissionsInputPort
— Enable emissions input
false
or 0
(default) | true
or 1
Enable emissions input, specified as a logical 0
(false
) or 1
(true
). Set this
property to true
to enable emissions input when running the
radar.
Dependencies
To enable this property, set DetectionMode
to
'Monostatic'
and set InterferenceInputPort
to false
.
Data Types: logical
EmitterIndex
— Unique identifier of monostatic emitter
1
(default) | positive integer
Unique identifier of the monostatic emitter, specified as a positive integer. Use this index to identify the monostatic emitter providing the reference emission for the radar.
Dependencies
To enable this property, set DetectionMode
to
'Monostatic'
and set EmissionsInputPort
to
true
.
Data Types: double
FilterInitializationFcn
— Kalman filter initialization function
@initcvekf
(default) | function handle | character vector | string scalar
Kalman filter initialization function, specified as a function handle or as a character vector or string scalar of the name of a valid Kalman filter initialization function.
The table shows the initialization functions that you can use to specify
FilterInitializationFcn
.
Initialization Function | Function Definition |
---|---|
initcvabf | Initialize constant-velocity alpha-beta filter |
initcaabf | Initialize constant-acceleration alpha-beta filter |
initcvekf | Initialize constant-velocity extended Kalman filter. |
initcackf | Initialize constant-acceleration cubature filter. |
initctckf | Initialize constant-turn-rate cubature filter. |
initcvckf | Initialize constant-velocity cubature filter. |
initcapf | Initialize constant-acceleration particle filter. |
initctpf | Initialize constant-turn-rate particle filter. |
initcvpf | Initialize constant-velocity particle filter. |
initcvkf | Initialize constant-velocity linear Kalman filter. |
initcvukf | Initialize constant-velocity unscented Kalman filter. |
initcaekf | Initialize constant-acceleration extended Kalman filter. |
initcakf | Initialize constant-acceleration linear Kalman filter. |
initcaukf | Initialize constant-acceleration unscented Kalman filter. |
initctekf | Initialize constant-turn-rate extended Kalman filter. |
initctukf | Initialize constant-turn-rate unscented Kalman filter. |
initekfimm | Initialize tracking IMM filter. |
initsingerekf | Initialize singer acceleration extended Kalman filter. |
You can also write your own initialization function. The function must have the following syntax:
filter = filterInitializationFcn(detection)
objectDetection
object. The output of this function must be a tracking
filter object, such as trackingKF
, trackingEKF
, trackingUKF
, or trackingABF
.
To guide you in writing this function, you can examine the details of the supplied functions. For example:
type initcvekf
Dependencies
To enable this property, set the TargetReportFormat
property
to 'Tracks'
.
Data Types: function_handle
| char
| string
ConfirmationThreshold
— Threshold for track confirmation
[2 3]
(default) | 1-by-2 vector of positive integers
Threshold for track confirmation, specified as a 1-by-2 vector of positive integers of the
form [M N]
. A track is confirmed if it receives at least
M
detections in the last N
updates.
M
must be less than or equal to N
.
When setting
M
, take into account the probability of object detection for the sensors. The probability of detection depends on factors such as occlusion or clutter. You can reduceM
when tracks fail to be confirmed or increaseM
when too many false detections are assigned to tracks.When setting
N
, consider the number of times you want the tracker to update before it makes a confirmation decision. For example, if a tracker updates every 0.05 seconds, and you want to allow 0.5 seconds to make a confirmation decision, setN = 10
.
Example: [3 5]
Dependencies
To enable this property, set the TargetReportFormat
property to 'Tracks'
.
Data Types: double
DeletionThreshold
— Threshold for track deletion
[5 5]
(default) | 1-by-2 vector of positive integers
Threshold for track deletion, specified as a 1-by-2 vector of positive integers of the form
[P R]
. If a confirmed track is not assigned to any detection
P
times in the last R
tracker updates, then
the track is deleted. P
must be less than or equal to
R
.
To reduce how long the radar maintains tracks, decrease
R
or increaseP
.To maintain tracks for a longer time, increase
R
or decreaseP
.
Example: [3 5]
Dependencies
To enable this property, set the TargetReportFormat
property to 'Tracks'
.
Data Types: double
TrackCoordinates
— Coordinate system of reported tracks
'Scenario'
| 'Body'
| 'Sensor'
Coordinate system used to report tracks, specified as one of these options:
'Scenario'
— Tracks are reported in the rectangular scenario coordinate frame. The scenario coordinate system is defined as the local navigation frame at simulation start time. To enable this option, set the HasINS property totrue
.'Body'
— Tracks are reported in the rectangular body system of the sensor platform.'Sensor'
— Tracks are reported in the sensor rectangular body coordinate system.
Dependencies
To enable this property, set the TargetReportFormat
property
to 'Tracks'
.
Profiles
— Physical characteristics of target platforms
structure | array of structures
Physical characteristics of target platforms, specified as a structure or an array of structures. Unspecified fields take default values.
If you specify the property as a structure, then the structure applies to all target platforms.
If you specify the property as an array of structures, then each structure in the array applies to the corresponding target platform based on the
PlatformID
field. In this case, you must specify eachPlatformID
field as a positive integer and must not leave the field as empty.
Field | Description | Default Value |
---|---|---|
PlatformID | Scenario-defined platform identifier, defined as a positive integer. | empty |
ClassID | User-defined platform classification identifier, defined as a nonnegative integer. | 0 |
Dimensions | Platform dimensions, defined as a structure with these fields:
| 0 |
Signatures | Platform signatures, defined as a cell array containing an rcsSignature
object, which specifies the RCS signature of the platform. | The default rcsSignature
object |
See Platform
for
more details on these fields.
Data Types: struct
Usage
Syntax
Description
Monostatic Detection Mode
These syntaxes apply when you set the DetectionMode
property to
'Monostatic'
.
returns monostatic target reports
= rdr(targetPoses
,simTime
)reports
from the target poses,
targetPoses
, at the current simulation time,
simTime
. The object can generate reports for multiple targets. To
enable this syntax:
Set the
DetectionMode
property to'Monostatic'
.Set the
InterferenceInputPort
property tofalse
.Set the
EmissionsInputPort
property tofalse
.
specifies the interference signals, reports
= rdr(targetPoses
,interferences
,simTime
)interferences
, in the radar
signal transmission. To enable this syntax:
Set the
DetectionMode
property to'Monostatic'
.Set the
InterferenceInputPort
property totrue
.Set the
EmissionsInputPort
property tofalse
.
returns monostatic target reports based on the emission signal,
reports
= rdr(emissions
,emitterConfigs
,simTime
)emissions
, and the configurations of the corresponding emitters,
emitterConfigs
, that generate the emissions. To enable this
syntax:
Set the
DetectionMode
property to'Monostatic'
.Set the
InterferenceInputPort
property tofalse
.Set the
EmissionsInputPort
property totrue
.
Bistatic or ESM Detection Mode
This syntax applies when you set the DetectionMode
property to
'Bistatic'
or 'ESM'
. In these two modes, the
TargetReportFormat
can only be 'Detections'
and
the DetectionCoordinates
can only be 'Sensor
spherical'
.
Provide INS Input
This syntax applies when you set the HasINS
property to
true
.
[___] = rdr(___,
specifies the pose information of the radar platform through an INS estimate. Notice
that the insPose
,simTime
)insPose
argument is the second to the last argument before
the simTime
argument. This syntax can be used with any of the
previous syntaxes. See the HasINS
property for more details.
Output Additional Information
Use this syntax if you want to output additional information of the reports.
[
returns the number of reports, reports
,numReports
,config
] = rdr(___)numReports
, and the configuration of
the radar, config
, at the current simulation time.
Input Arguments
targetPoses
— Target poses
structure array
Radar scenario target poses, specified as an array of structures. Each structure
corresponds to a target. You can generate the structure using the targetPoses
object function of a platform. You can also create such a
structure manually. This table shows the fields of the structure:
Field | Description |
---|---|
PlatformID | Unique identifier for the platform, specified as a positive integer. This is a required field with no default value. |
ClassID | User-defined integer used to classify
the type of target, specified as a nonnegative integer. |
Position | Position of target in the platform body frame, specified as a real-valued, 1-by-3 vector. This is a required field with no default value. Units are in meters. |
Velocity | Velocity of target in the platform body frame, specified as a real-valued, 1-by-3
vector. Units are in meters per second. The default is |
Acceleration | Acceleration of target in the platform body frame, specified as a
1-by-3 vector. Units are in meters per second-squared. The default is
|
Orientation | Orientation of the target with respect to platform body frame, specified as a scalar
quaternion or a 3-by-3 rotation matrix. Orientation defines the frame
rotation from the platform coordinate system to the target body coordinate
system. Units are dimensionless. The default is
|
AngularVelocity | Angular velocity of the target in the platform body frame, specified as
a real-valued, 1-by-3 vector. The magnitude of the vector defines the
angular speed. Units are in degrees per second. The default is |
The values of the Position
,
Velocity
, and Orientation
fields are defined
with respect to the platform body frame.
If the dimensions of the target or RCS signature change with respect to time, you can specify these two additional fields in the structure:
Field | Description |
---|---|
Dimensions | Platform dimensions, specified as a structure with these fields:
|
Signatures | Platform signatures, specified as a cell array containing an rcsSignature
object, which specifies the RCS signature of the platform. |
If the target’s dimensions and RCS signature remain static with respect to time, you can specify its dimensions and RCS signature using the Profiles property.
interferences
— Interference radar emissions
array of radarEmission
objects | cell array of radarEmission
objects | array of structures
Interference radar emissions, specified as an array or a cell array of radarEmission
objects. You can also specify interferences
as an array of
structures with field names corresponding to the property names of the radarEmission
object.
emissions
— Radar emissions
array ofradarEmission
objects | cell array ofradarEmission
objects | array of structures
Radar emissions, specified as an array or cell array of radarEmission
objects. You can also specify emissions
as an array of structures
with field names corresponding to the property names of the radarEmission
object.
emitterConfigs
— Emitter configurations
array of structures
Emitter configurations, specified as an array of structures. This array must
contain the configuration of the radar emitter whose EmitterIndex
matches the value of the EmitterIndex
property of the
radarDataGenerator
. Each structure has these fields:
Field | Description |
EmitterIndex | Unique emitter index. |
IsValidTime | Valid emission time, returned as |
IsScanDone |
|
FieldOfView | Field of view of the emitter. |
MeasurementParameters |
|
For more details on MeasurementParameters
, see
Measurement Parameters.
Data Types: struct
insPose
— Platform pose from INS
structure
Platform pose information from an inertial navigation system (INS), specified as a structure with these fields:
Field | Definition |
Position | Position in the scenario frame, specified as a real-valued 1-by-3 vector. Units are in meters. |
Velocity | Velocity in the scenario frame, specified as a real-valued 1-by-3 vector. Units are in meters per second. |
Orientation | Orientation with respect to the scenario frame, specified as a
|
simTime
— Current simulation time
nonnegative scalar
Current simulation time, specified as a nonnegative scalar. The trackingScenario
object calls the scan radar sensor at regular time
intervals. The sensor only generates reports at simulation times corresponding to
integer multiples of the update interval, which is given by the reciprocal of the
UpdateRate
property.
When called at these intervals, targets are reported in
reports
, the number of reports is returned innumReports
, and theIsValidTime
field of the returnedconfig
structure is returned astrue
.When called at all other simulation times, the sensor returns an empty report,
numReports
is returned as0
, and theIsValidTime
field of the returnedconfig
structure is returned asfalse
.
Example: 10.5
Data Types: double
Output Arguments
reports
— Detections or track reports
cell array of objectDetection
objects | cell array of objectTrack
objects
Detections or track reports, returned as:
A cell array of
objectDetection
objects, when the TargetReportFormat property is set to'Detections'
or'Clustered detections'
. Additionally, when theDetectionMode
is set to'ESM'
or'Bistatic'
, the sensor can only generate unclustered detections and cannot generate clustered detections.A cell array of
objectTrack
objects, when the TargetReportFormat property is set to'Tracks'
. The sensor can only output tracks when theDetectionMode
is set to'Monostatic'
. The sensor returns only confirmed tracks, which are tracks that satisfy the confirmation threshold specified in theConfirmationThreshold
property. For these tracks, theIsConfirmed
property of the object istrue
.
In generated code, reports return as equivalent structures with field names
corresponding to the property names of the objectDetection
object or
the property names of the objectTrack
objects, based on the
TargetReportFormat
property.
The format and coordinates of the measurement states or track states is determined
by the specifications of the HasRangeRate
,
HasElevation
, HasINS
,
TaregetReportFormat
, and
DetectionCoordinates
properties. For more details, see Detection and Track State Coordinates.
numReports
— Number of reported detections or tracks
nonnegative integer
Number of reported detections or tracks, returned as a nonnegative integer.
numReports
is equal to the length of the
reports
argument.
Data Types: double
config
— Current sensor configuration
structure
Current sensor configuration, specified as a structure. This output can be used to determine which objects fall within the radar beam during object execution.
Field | Description |
SensorIndex | Unique sensor index, returned as a positive integer. |
IsValidTime | Valid detection time, returned as |
IsScanDone |
|
RangeLimits | Lower and upper range detection limits, returned as a two-element real-valued vector in meters. |
RangeRateLimits | Lower 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, [ |
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
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)
Specific to fusionRadarSensor
coverageConfig | Sensor and emitter coverage configuration |
perturb | Apply perturbations to object |
perturbations | Perturbation defined on object |
Examples
Model Air Traffic Control Tower Scanning
Create three targets by specifying their platform ID, position, and velocity.
tgt1 = struct('PlatformID',1, ... 'Position',[0 -50e3 -1e3], ... 'Velocity',[0 900*1e3/3600 0]); tgt2 = struct('PlatformID',2, ... 'Position',[20e3 0 -500], ... 'Velocity',[700*1e3/3600 0 0]); tgt3 = struct('PlatformID',3, ... 'Position',[-20e3 0 -500], ... 'Velocity',[300*1e3/3600 0 0]);
Create an airport surveillance radar that is 15 meters above the ground.
rpm = 12.5; fov = [1.4; 5]; % [azimuth; elevation] scanrate = rpm*360/60; % deg/s updaterate = scanrate/fov(1); % Hz sensor = fusionRadarSensor(1,'Rotator', ... 'UpdateRate',updaterate, ... 'MountingLocation',[0 0 -15], ... 'MaxAzimuthScanRate',scanrate, ... 'FieldOfView',fov, ... 'AzimuthResolution',fov(1));
Generate detections from a full scan of the radar.
simTime = 0; detBuffer = {}; while true [dets,numDets,config] = sensor([tgt1 tgt2 tgt3],simTime); detBuffer = [detBuffer; dets]; %#ok<AGROW> % Is full scan complete? if config.IsScanDone break % yes end simTime = simTime + 1/sensor.UpdateRate; end radarPosition = [0 0 0]; tgtPositions = [tgt1.Position; tgt2.Position; tgt3.Position];
Visualize the results.
clrs = lines(3); figure hold on % Plot radar position plot3(radarPosition(1),radarPosition(2),radarPosition(3),'Marker','s', ... 'DisplayName','Radar','MarkerFaceColor',clrs(1,:),'LineStyle','none') % Plot truth plot3(tgtPositions(:,1),tgtPositions(:,2),tgtPositions(:,3),'Marker','^', ... 'DisplayName','Truth','MarkerFaceColor',clrs(2,:),'LineStyle', 'none') % Plot detections if ~isempty(detBuffer) detPos = cellfun(@(d)d.Measurement(1:3),detBuffer, ... 'UniformOutput',false); detPos = cell2mat(detPos')'; plot3(detPos(:,1),detPos(:,2),detPos(:,3),'Marker','o', ... 'DisplayName','Detections','MarkerFaceColor',clrs(3,:),'LineStyle','none') end xlabel('X(m)') ylabel('Y(m)') axis('equal') legend
Detect Radar Emission with fusionRadarSensor
Create an radar emission and then detect the emission using a fusionRadarSensor
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 fusionRadarSensor
.
sensor = fusionRadarSensor(1,'DetectionMode','ESM');
Detect the RF emission.
time = 0; [dets,numDets,config] = sensor(rfSig,time)
dets = 1x1 cell array
{1x1 objectDetection}
numDets = 1
config = struct with fields:
SensorIndex: 1
IsValidTime: 1
IsScanDone: 0
FieldOfView: [1 5]
RangeLimits: [0 Inf]
RangeRateLimits: [0 Inf]
MeasurementParameters: [1x1 struct]
Algorithms
Convenience Syntaxes
The convenience syntaxes set several properties together to model a specific type of radar.
Sets ScanMode
to 'No scanning'
.
This syntax sets these properties:
Property | Value |
ScanMode | 'Mechanical' |
HasElevation | true |
MaxMechanicalScanRate | [75; 75] |
MechanicalAzimuthLimits | [-45 45] |
MechanicalElevationLimits | [-10 0] |
ElectronicAzimuthLimits | [-45 45] |
ElectronicElevationLimits | [-10 0] |
You can change the ScanMode
property to
'Electronic'
to perform an electronic raster scan over the same
volume as a mechanical scan.
This syntax sets these properties:
Property | Value |
ScanMode | 'Mechanical' |
FieldOfView | [1;10] |
HasElevation | false or true
|
MechanicalAzimuthLimits | [0 360] |
MechanicalElevationLimits | [-10 0] |
This syntax sets these properties:
Property | Value |
ScanMode | 'Mechanical' |
FieldOfView | [1; 10] |
HasElevation | false |
MechanicalAzimuthLimits | [-45 45] |
MechanicalElevationLimits | [-10 0] |
ElectronicAzimuthLimits | [-45 45] |
ElectronicElevationLimits | [-10 0] |
Changing the ScanMode
property to
'Electronic'
lets you perform an electronic raster scan over the same
volume as a mechanical scan.
Radar Sensor Detection Modes
The fusionRadarSensor
System object can model three detection modes:
monostatic, bistatic, and electronic support measures (ESM) as shown in the following
figures.
For the monostatic detection mode, the transmitter and the receiver are collocated, as shown in figure (a). In this mode, the range measurement R can be expressed as R = RT = RR, where RT and RR are the ranges from the transmitter to the target and from the target to the receiver, respectively. In the radar sensor, the range measurement is R = ct/2, where c is the speed of light and t is the total time of the signal transmission. Other than the range measurement, a monostatic sensor can also optionally report range-rate, azimuth, and elevation measurements of the target.
For the bistatic detection mode, the transmitter and the receiver are separated by a distance L. As shown in figure (b), the signal is emitted from the transmitter, reflected from the target, and received by the receiver. The bistatic range measurement Rb is defined as Rb = RT + RR − L. In the radar sensor, the bistatic range measurement is obtained by Rb = cΔt, where Δt is the time difference between the receiver receiving the direct signal from the transmitter and receiving the reflected signal from the target. Other than the bistatic range measurement, a bistatic sensor can also optionally report the bistatic range-rate, azimuth, and elevation measurements of the target. Since the bistatic range and the two bearing angles (azimuth and elevation) do not correspond to the same position vector, they cannot be combined into a position vector and reported in a Cartesian coordinate system. As a result, the measurements of a bistatic sensor can only be reported in a spherical coordinate system.
For the ESM detection mode, the receiver can only receive a signal reflected from the target or directly emitted from the transmitter, as shown in figure (c). Therefore, the only available measurements are azimuth and elevation of the target or transmitter. These measurements can only be reported in a spherical coordinate system.
Detection and Track State Coordinates
The format of the measurement states or track states is determined by the specifications
of the HasRangeRate
, HasElevation
,
HasINS
, TaregetReportFormat
, and
DetectionCoordinates
properties.
There are two general types of detection or track coordinates:
Cartesian coordinates — Enabled by specifying the
DetectionCoordinates
property as'Body'
,'Scenario'
, or'Sensor rectangular'
. The complete form of a Cartesian state is[x; y; z; vx; vy; vz]
, wherex
,y
, andz
are the Cartesian positions andvx
,vy
, andvz
are the corresponding velocities. You can only setDetectionCoordinates
as'Scenario'
when theHasINS
property is set totrue
, so that the sensor can transform sensor detections or tracks to the scenario frame.
Spherical coordinates — Enabled by specifying the
DetectionCoordinates
property as'Sensor spherical'
. The complete form of a spherical state is[az; el; rng; rr]
, whereaz
,el
,rng
, andrr
represent azimuth angle, elevation angle, range, and range rate, respectively. When theDetectionMode
property of the sensor is set to'ESM'
or'Bistatic'
, the sensor can only report detections in the'Sensor spherical'
frame.
When the HasRangeRate
property is set to false
,
vx
, vy
, and vz
are removed from
the Cartesian state coordinates and rr
is removed from the spherical
coordinates.
When the HasElevation
property is set to false
,
z
and vz
are removed from the Cartesian state
coordinates and el
is removed from the spherical coordinates.
When the DetectionMode
property is set to 'ESM'
,
the sensor can only report detections in the 'Sensor spherical'
frame as
[az; el]
.
When the DetectionMode
property is set to
'Bistatic'
, the sensor can only report detections in the
'Sensor spherical'
frame as [az; el; rng; rr]
. Here,
rng
and rr
are the bistatic range and range rate,
respectively.
Measurement Parameters
The MeasurementParameters
property of an output detection consists
of an array of structures that describes a sequence of coordinate transformations from a
child frame to a parent frame, or the inverse transformations. 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 this 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).
If HasINS
is true
, the sequence of
transformations consists of two transformations: first from the scenario frame to the
platform frame, and then from the 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.
If the detections are reported in platform rectangular coordinates and
HasINS
is set to false
, the transformation
consists only of the identity.
The table shows the fields of the MeasurementParameters
structure.
Not all fields have to be present in the structure. The specific set of fields and their
default values can depend on the type of sensor.
Field | Description |
Frame | Enumerated type indicating the frame used to report measurements. When
detections are reported using a rectangular coordinate system,
|
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 | A logical scalar indicating if |
HasElevation | A logical scalar indicating if elevation is included in the
measurement. For measurements reported in a rectangular frame, if
|
HasAzimuth | A logical scalar indicating if azimuth is included in the measurement. |
HasRange | A 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 a rectangular frame, if
|
References
[1] Doerry, Armin W. "Earth Curvature and Atmospheric Refraction Effects on Radar Signal Propagation." Sandia Report SAND2012-10690, Sandia National Laboratories, Albuquerque, NM, January 2013. https://prod.sandia.gov/techlib-noauth/access-control.cgi/2012/1210690.pdf.
[2] Doerry, Armin W. "Motion Measurement for Synthetic Aperture Radar." Sandia Report SAND2015-20818, Sandia National Laboratories, Albuquerque, NM, January 2015. https://pdfs.semanticscholar.org/f8f8/cd6de8042a7a948d611bcfe3b79c48aa9dfa.pdf.
Version History
Introduced in R2021a
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)