bistaticFreeSpacePath
Syntax
Description
Examples
This example shows how to calculate the free space propagation paths for a bistatic transmitter and receiver with one target.
Create a bistatic scenario with a bistatic transmitter and receiver separated by 2 km. Place a target in the y-direction 5 km away. Calculate the bistatic free space paths. There are two paths. The first path is the direct path (transmitter-to-receiver). The second path is the bistatic path (transmitter-to-target-to-receiver).
Define the transmitter position, receiver position, target position, and target velocity. The target is located 5 km away and is moving at 20 m/s in the y-direction. Use a bistatic radar cross section (BRCS) signature to model the target. Calculate the bistatic free space propagation paths.
freq = 300e6; txPose.Position = [-1e3 0 0]; % Transmitter position (m) rxPose.Position = [1e3 0 0]; % Receiver position (m) tgtPose.Position = [0 5e3 0]; % Target position (m) tgtPose.Velocity = [0 20 0]; % Target velocity (m/s) tgtPose.Signatures = brcsSignature(Pattern=20); proppaths = bistaticFreeSpacePath(freq,txPose,rxPose,tgtPose)
proppaths=1×2 struct array with fields:
PathLength
PathLoss
ReflectionCoefficient
AngleOfDeparture
AngleOfArrival
DopplerShift
This example shows how to calculate the direct bistatic free space propagation path. The direct path is the path between the transmitter and receiver.
Create a bistatic scenario with a bistatic transmitter and receiver separated by 2 km.
Define the transmitter position and receiver position. Calculate the direct bistatic free space propagation path.
freq = 300e6; txPose.Position = [-1e3 0 0]; % Transmitter position (m) rxPose.Position = [1e3 0 0]; % Receiver position (m) proppaths = bistaticFreeSpacePath(freq,txPose,rxPose)
proppaths = struct with fields:
PathLength: 2000
PathLoss: 88.0108
ReflectionCoefficient: 1
AngleOfDeparture: [2×1 double]
AngleOfArrival: [2×1 double]
DopplerShift: 0
Input Arguments
Operating frequency of the transmitter and receiver, specified as a positive scalar in units of hertz (Hz).
Data Types: double
Transmitter platform configuration, specified as a struct that
contains Position, Velocity, and
Orientation fields. The platform configuration is defined relative
to a global coordinate frame that is considered to have an origin at [0 0
0] in unrotated Cartesian x, y,
z coordinates (see Radar Coordinate Systems and Frames for more information on reference
frames).
| Field | Description |
|---|---|
Position | Position of the platform with respect to the global coordinate frame, specified as a
3-element row vector in the form of [ |
Velocity | Velocity of the platform with respect to the global coordinate frame, specified as a
3-element row vector in the form of [ |
Orientation | Orientation of the platform with respect to the global coordinate frame, specified as a
unitless scalar quaternion or a 3-by-3 rotation matrix in units of degrees
(deg). Orientation defines the intrinsic frame rotation from the global
coordinate frame to the current platform body frame. The default value is
|
You can define platforms as platform
objects in a radarScenario
and then return the platform poses as structs using platformPoses.
You can use a returned platform pose struct for this input argument
because it contains Position, Velocity, and
Orientation fields (irrelevant fields including
PlatformID are ignored).
Data Types: struct
Receiver platform configuration, specified as a struct that
contains Position, Velocity, and
Orientation fields. The platform configuration is defined relative
to a global coordinate frame that is considered to have an origin at [0 0
0] in unrotated Cartesian x, y,
z coordinates (see Radar Coordinate Systems and Frames for more information on reference
frames).
| Field | Description |
|---|---|
Position | Position of the platform with respect to the global coordinate frame, specified as a
3-element row vector in the form of [ |
Velocity | Velocity of the platform with respect to the global coordinate frame, specified as a
3-element row vector in the form of [ |
Orientation | Orientation of the platform with respect to the global coordinate frame, specified as a
unitless scalar quaternion or a 3-by-3 rotation matrix in units of degrees
(deg). Orientation defines the intrinsic frame rotation from the global
coordinate frame to the current platform body frame. The default value is
|
You can define platforms as platform
objects in a radarScenario
and then return the platform poses as structs using platformPoses.
You can use a returned platform pose struct for this input argument
because it contains Position, Velocity, and
Orientation fields (irrelevant fields including
PlatformID are ignored).
Data Types: struct
Target platform configurations, specified as a struct or a
1-by-T array of structs that contain a
Position, Velocity,
Orientation, and Signatures field for each
target, T. You can specify the Signatures field as
a bistatic RCS brcsSignature
object. The default value is a cell array containing a brcsSignature
object with default property values. If you specify an rcsSignature
object, the bistatic RCS is derived from the monostatic RCS using the
Monostatic-Bistatic Equivalence Theorem (MBET) approximation.
| Field | Description |
|---|---|
Position | Position of the platform with respect to the global coordinate frame, specified as a
3-element row vector in the form of [ |
Velocity | Velocity of the platform with respect to the global coordinate frame, specified as a
3-element row vector in the form of [ |
Orientation | Orientation of the platform with respect to the global coordinate frame, specified as a
unitless scalar quaternion or a 3-by-3 rotation matrix in units of degrees
(deg). Orientation defines the intrinsic frame rotation from the global
coordinate frame to the current platform body frame. The default value is
|
Signatures | Mean bistatic target radar cross section (BRCS) signature, specified as
a cell array of platform signature objects. If there are multiple cells,
|
You can define platforms as platform
objects in a radarScenario
and then return the platform poses as structs using platformPoses.
You can use the returned platform pose structs for this input
argument because they contain Position, Velocity,
and Orientation fields (irrelevant fields including
PlatformID are ignored). However, the returned platform pose
structs do not contain a Signatures fields. The
Signatures field can be obtained using platformProfiles.
Data Types: struct
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN, where Name is
the argument name and Value is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Example: propPaths =
bistaticFreeSpacePath(txPose,rxPose,tgtPoses,IncludeDirectPath=false)
Offset of the transmitter origin relative to the transmitter platform, specified
as a 3-element row vector in the form [x_offset y_offset z_offset],
where x_offset, y_offset, and
z_offset are offsets measured along the x-,
y-, and z-axes. The default value is
[0 0 0]. Units are in meters (m).
The transmitter platform position is set by the Position
field of the txPose input argument.
Data Types: double
Offset of the receiver origin relative to the receiver platform, specified as a
3-element row vector in the form [x_offset y_offset z_offset],
where x_offset, y_offset, and
z_offset are offsets measured along the x-,
y-, and z-axes. The default value is
[0 0 0]. Units are in meters (m).
The receiver platform position is set by the Position field
of the rxPose input argument.
Data Types: double
Rotation angles of the transmitter mounting frame relative to the transmitter
platform body frame, specified as a 3-element row vector of intrinsic Euler angles in
the form [zyaw ypitch
xroll], where
zyaw,
ypitch, and
xroll are rotations measured about the
z-, y-, and x-axes. Units
are in degrees (deg).
Intrinsics rotations follow the right hand rule convention and are sequential:
zyaw, or yaw angle, rotates the mounting frame around the z-axis of the platform body frame.ypitch, or pitch angle, rotates the mounting frame around the y-axis of the platform body frame. This rotation is relative to the mount orientation that results from the zyaw rotation.xroll, or roll angle, rotates the mounting frame about the x-axis of the platform body frame. This rotation is relative to the mount orientation that results from the zyaw and ypitch rotations.
In other words, perform rotations in the order of yaw,
pitch, and roll on the platform
z-, y-, and x-axes to
obtain the current mounting frame axes relative to the platform body frame. The
transmitter platform orientation is set by the Orientation field
of the txPose input argument. See Frame Rotation (Sensor Fusion and Tracking Toolbox) for more
information on intrinsic rotations.
Data Types: double
Rotation angles of the receiver mounting frame relative to the receiver platform
body frame, specified as a 3-element row vector of intrinsic Euler angles in the form
[zyaw ypitch
xroll], where
zyaw,
ypitch, and
xroll are rotations measured about the
z-, y-, and x-axes. Units
are in degrees (deg).
Intrinsics rotations follow the right hand rule convention and are sequential:
zyaw, or yaw angle, rotates the mounting frame around the z-axis of the platform body frame.ypitch, or pitch angle, rotates the mounting frame around the y-axis of the platform body frame. This rotation is relative to the mount orientation that results from the zyaw rotation.xroll, or roll angle, rotates the mounting frame about the x-axis of the platform body frame. This rotation is relative to the mount orientation that results from the zyaw and ypitch rotations.
In other words, perform rotations in the order of yaw,
pitch, and roll on the platform
z-, y-, and x-axes to
obtain the current mounting frame axes relative to the platform body frame. The
receiver platform orientation is set by the Orientation field of
the rxPose input argument. See Frame Rotation (Sensor Fusion and Tracking Toolbox) for more
information on intrinsic rotations.
Data Types: double
Enable direct path propagation, specified as true or
false. If IncludeDirectPath is set to
true, the output argument propPaths includes
the path from the transmitter to the receiver in addition to each path from the
transmitter to a target to the receiver. If IncludeDirectPath is
set to false, propPaths does not include the
direct path. The default value is true.
Data Types: logical
Signal propagation speed, specified as a positive scalar. Units are in meters per
second (m/s). The default propagation speed is the value returned by
physconst("LightSpeed"). See physconst for more information.
Example: 3e8
Data Types: double
Output Arguments
Bistatic free space propagation paths, returned as a 1-by-P array
of path configuration structs, where P depends on
whether or not the direct path is enabled.
When
IncludeDirectPathis set totrue(default behaviour),Pis equal toT+ 1, whereTis the number of target configurations intgtPoses.When
IncludeDirectPathis set tofalse,Pis equal toT, whereTis the number of target configurations intgtPoses.
Each propPaths
struct, except for the direct path, describes a free space,
single-bounce propagation path between the bistatic transmitter, a target, and the
bistatic receiver, and contains these fields:
| Field | Description |
PathLength | Propagation path length, returned as a nonnegative scalar in units of meters (m). |
PathLoss | Propagation path loss, computed by summing the Free Space Path Loss along each path segment, returned as a scalar in units of decibels (dB). |
ReflectionCoefficient | Reflection coefficient, returned as a scalar in linear units. The
reflection coefficient value for the direct path, if enabled, is equal to
|
AngleOfDeparture | Propagation path angle of departure, returned as a two-element
column vector in the form of [ |
AngleOfArrival | Propagation path angle of arrival, returned as a two-element column
vector in the form of [ |
DopplerShift | Cumulative Doppler shift along the path, returned as a scalar in units of hertz (Hz). |
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Version History
Introduced in R2025aThe input argument tgtPoses
Signatures field now supports bistatic RCS brcsSignature
objects and the default value is a brcsSignature object with default
properties.
See Also
bistaticTransmitter | bistaticReceiver | brcsSignature | rcsSignature | platform | platformPoses | platformProfiles | radarScenario
Topics
- Non-Cooperative Bistatic Radar I/Q Simulation and Processing
- Radar Coordinate Systems and Frames
- Frame Rotation (Sensor Fusion and Tracking Toolbox)
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.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- 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)