Contenu principal

bistaticFreeSpacePath

Bistatic free space propagation path

Since R2025a

    Description

    propPaths = bistaticFreeSpacePath(freq,txPose,rxPose,tgtPoses) returns bistatic free space propagation path structures, propPaths, in the direction of the receiver and target for input transmitter txPose, receiver rxPose, and target tgtPoses platform configurations.

    example

    propPaths = bistaticFreeSpacePath(freq,txPose,rxPose,tgtPoses,Name=Value) returns bistatic free space propagation paths, with additional options specified using one or more name-value arguments. For example, you can specify transmitter and receiver mounting locations and angles.

    propPaths = bistaticFreeSpacePath(freq,txPose,rxPose,Name=Value) only returns the direct path when IncludeDirectPath is set to the default value of true. The direct path is the path from the transmitter to the receiver.

    example

    Examples

    collapse all

    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

    collapse all

    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).

    FieldDescription
    Position

    Position of the platform with respect to the global coordinate frame, specified as a 3-element row vector in the form of [x y z]. Units are in meters (m). There is no default value.

    Velocity

    Velocity of the platform with respect to the global coordinate frame, specified as a 3-element row vector in the form of [x y z]. Units are in meters per second (m/s). The default value is [0 0 0].

    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 quaternion(1,0,0,0).

    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).

    FieldDescription
    Position

    Position of the platform with respect to the global coordinate frame, specified as a 3-element row vector in the form of [x y z]. Units are in meters (m). There is no default value.

    Velocity

    Velocity of the platform with respect to the global coordinate frame, specified as a 3-element row vector in the form of [x y z]. Units are in meters per second (m/s). The default value is [0 0 0].

    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 quaternion(1,0,0,0).

    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.

    FieldDescription
    Position

    Position of the platform with respect to the global coordinate frame, specified as a 3-element row vector in the form of [x y z]. Units are in meters (m). There is no default value.

    Velocity

    Velocity of the platform with respect to the global coordinate frame, specified as a 3-element row vector in the form of [x y z]. Units are in meters per second (m/s). The default value is [0 0 0].

    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 quaternion(1,0,0,0).

    Signatures

    Mean bistatic target radar cross section (BRCS) signature, specified as a cell array of platform signature objects. If there are multiple cells, bistaticFreeSpacePath selects the first brcsSignature object and any other signature objects are ignored. If a brcsSignature object is not present, it selects the first rcsSignature object. The default value is a cell array containing a brcsSignature object with default property values. Swerling fluctuations are not considered. Polarimetric signatures are not supported.

    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

    collapse all

    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

    collapse all

    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 IncludeDirectPath is set to true (default behaviour), P is equal to T + 1, where T is the number of target configurations in tgtPoses.

    • When IncludeDirectPath is set to false, P is equal to T, where T is the number of target configurations in tgtPoses.

    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:

    FieldDescription
    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 1. The reflection coefficient value for a path that bounces off of a target depends on the corresponding tgtPoses Signatures field value and the bistatic configuration. Scattering from other targets that may be present is not considered.

    AngleOfDeparture

    Propagation path angle of departure, returned as a two-element column vector in the form of [azimuth; elevation] in units of degrees (deg). The transmit antenna angle of departure is measured with respect to the transmitter mounting frame.

    AngleOfArrival

    Propagation path angle of arrival, returned as a two-element column vector in the form of [azimuth; elevation] in units of degrees (deg). The receive antenna angle of arrival is measured with respect to the receiver mounting frame.

    DopplerShiftCumulative Doppler shift along the path, returned as a scalar in units of hertz (Hz).

    Extended Capabilities

    expand all

    C/C++ Code Generation
    Generate C and C++ code using MATLAB® Coder™.

    Version History

    Introduced in R2025a

    expand all