主要内容

bistaticClutterSurfaceFIR

R2026b

Bistatic surface clutter finite impulse response (FIR)

Since R2026b

    Description

    bistaticClutterSurfaceFIR simulates the bistatic clutter surface finite impulse (FIR) response across fast-time and slow-time according to link budget parameters and generates five convenience plots to visualize clutter power in fast and slow time, range-Doppler response, clutter power spatial distribution, beam footprints, and iso-range and iso-Doppler contours. Each output complex-valued channel impulse response coefficient coherently sums all clutter patches that map to a given unambiguous range ellipsoid at the corresponding delay, enabling rapid simulation of received I/Q data for a bistatic radar system (see Implementation).

    [resp,delayVec] = bistaticClutterSurfaceFIR(freq,txPose,rxPose,sampleRate) returns the bistatic surface clutter finite impulse response resp and corresponding delay vector delayVec at the specified frequency freq for a bistatic transmitter txPose and receiver rxPose for a specified sample rate sampleRate.

    example

    [resp,delayVec] = bistaticClutterSurfaceFIR(___,Name=Value) returns the bistatic surface clutter finite impulse response resp and corresponding delay vector delayVec for additional options specified using one or more name-value arguments.

    example

    bistaticClutterSurfaceFIR(___,Name=Value) generates five convenience plots so that you can visualize the bistatic surface clutter finite impulse response. Plots include Fast-Time and Slow-Time FIR, Range-Doppler Response FIR, Clutter Patch FIR Component, Clutter Patch One-Way Beam Footprints, and Clutter Patch Iso-Range, Iso-Doppler.

    example

    Examples

    collapse all

    Set up a simple bistatic scenario with an X-band transmitter and receiver mounted on moving aircraft separated by several kilometers. The transmitter and receiver both use a directive sinc antenna element with a 10 degree beamwidth in both azimuth and elevation. Position the bistatic transmitter and receiver at an altitude of 1000 m.

    txPose.Position = [3e3 0 1e3];
    txPose.Velocity = [0 25 0];
    rxPose.Position = [0 -3e3 1e3];
    rxPose.Velocity = [0 25 0];
    AzBeamwidth = 10;
    ElBeamwidth = 10;
    txAntenna = phased.SincAntennaElement(Beamwidth=[AzBeamwidth ElBeamwidth]);
    rxAntenna = phased.SincAntennaElement(Beamwidth=[AzBeamwidth ElBeamwidth]);
    swathSize = [5e3 5e3];

    Define the radar waveform parameters, including center frequency, pulse repetition frequency (PRF), number of pulses in the continuous processing interval (CPI), and the sample rate of the system.

    centerFreq = 10e9;
    sampleRate = 10e6;
    prf = 10000;
    numPulses = 128;

    Calculate FIR coefficients.

    [resp,delayVec] = bistaticClutterSurfaceFIR(centerFreq,txPose,rxPose,sampleRate, ...
                      TransmitAntenna=txAntenna,ReceiveAntenna=rxAntenna, ...
                      PRF=prf,NumPulses=numPulses,SwathSize=swathSize);

    Generate convenience plots.

    bistaticClutterSurfaceFIR(centerFreq,txPose,rxPose,sampleRate, ...
                             TransmitAntenna=txAntenna,ReceiveAntenna=rxAntenna, ...
                             PRF=prf,NumPulses=numPulses,SwathSize=swathSize)

    Figure contains an axes object. The axes object with title Fast-Time and Slow-Time FIR, xlabel Slow Time (ms), ylabel Fast Time (μs) contains an object of type image.

    Figure contains an axes object. The axes object with title Range-Doppler Response of FIR, xlabel Bistatic Doppler (kHz), ylabel Bistatic Range (km) contains an object of type image.

    Figure contains an axes object. The axes object with title Clutter Patch FIR Component (112225 Patches), xlabel X (km), ylabel Y (km) contains 6 objects of type image, rectangle, quiver, scatter. These objects represent Velocity Direction, Tx Antenna, Rx Antenna, Swath Center.

    Figure contains an axes object. The axes object with title Clutter Patch One-Way Beam Footprints, xlabel X (km), ylabel Y (km) contains 11 objects of type rectangle, line, contour, quiver, scatter. One or more of the lines displays its values using only markers These objects represent Tx Max (25.2 dBi), Tx Half Power, Tx 20 dB Down, Rx Max (25.2 dBi), Rx Half Power, Rx 20 dB Down, Velocity Direction, Tx Antenna, Rx Antenna, Swath Center.

    Figure contains an axes object. The axes object with title Clutter Patch Iso-Range, Iso-Doppler, xlabel X (km), ylabel Y (km) contains 5 objects of type rectangle, quiver, scatter. These objects represent Velocity Direction, Tx Antenna, Rx Antenna, Swath Center.

    The Fast-Time and Slow-Time FIR plot shows normalized clutter power per delay bin, per pulse. You can see how the channel response changes from pulse to pulse, according to the slow-time phase rotation due to Doppler shift of the clutter patches. The fast-time (delay) dimension (y-axis) extends for the full pulse repetition interval (PRI), and the slow-time dimension (x-axis) extends for the full coherent processing interval (CPI) spanned by the number of pulses at the PRI. The CPI is equal to the number of pulses times the PRI (1/PRF), which is 12.8 ms.

    The Range-Doppler Response FIR plot shows the range-Doppler map (RDM) power derived from the FIR. You can see that the clutter centroid collapses down to 0.75 kHz Doppler at a range of 6 km. Nulls in the transmit and receive antenna patterns carve deep trenches in the range-Doppler map, creating distinct regions of elevated power that appear curved in range and Doppler space. The strong centroid exhibits processing sidelobes that streak from left to right that can be reduced or mitigated by applying Doppler windowing during I/Q data generation and processing. You can also see fluctuations in range and Doppler that occur because each clutter patch is automatically assigned a random phase (held constant for the CPI), to avoid artifacts from the regularly spaced clutter grid.

    The Clutter Patch FIR Component plot shows the clutter power spatial distribution. In this example, the strongest clutter returns occur at the swath center, where the transmitter and receiver beams are aimed and the antenna gains are maximized. In general, the strongest components of clutter power may not always overlap with the aim point. You can also see the nulls and main lobe intersection of the antenna gains. Notice how the nulls emanate from the transmitter and receiver across the swath. The default surface bistatic reflectivity model has strong specular reflection between the transmitter and receiver, which cause the increase in power near 1 km in X and -1 km in Y.

    The Clutter Patch One-Way Beam Footprints plot shows transmitter and receiver gain contours. Thick lines show the footprints of the antenna half power beamwidth (3 dB down) and thin 20 dB down lines indicate elevation and azimuth sidelobes. The peak in-scene gain value of 25.2 dBi is reported in the legend. This value may be less than the full directivity of the antenna at zero azimuth and elevation. Legend values for the footprints are relative to the directivity of the antenna at zero azimuth and elevation, not the in-scene maximum. In this example, the maximum transmitter and receiver gains are located at the swath center.

    The Clutter Patch Iso-Range, Iso-Doppler plot shows lines of constant bistatic range (iso-range) and constant bistatic Doppler (iso-Doppler) computed over the spatial extent of the swath. The iso-range lines occur where 3-D ellipsoids of constant range intersect the ground plane. Recall that the transmitter and receiver are located 1 km above the surface. Because the transmitter and receiver both have a velocity in the +Y direction, the iso-Doppler lines are oriented roughly horizontally.

    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 pose struct that contains Position, Velocity, and Orientation fields. The platform pose 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).

    The ground plane is located at z = 0. The z-coordinates of the Position fields in txPose and rxPose must have the same nonzero sign so that the transmitter and receiver lie either both above or below the ground plane.

    • The transmitter pose must contain a Position field specifying the 3-D position of the transmitter platform in the scene. There is no default value. The transmit antenna position can be offset from the platform using the TransmitterMountingLocation name-value argument.

    • The Velocity field is relevant to Doppler calculations. The default value is [0 0 0].

    • The Orientation field specifies the transmitter platform orientation. The default value is quaternion(1,0,0,0). You can automatically point the transmitter at the swath center specified in SwathCenter by using the TransmitterMountingAngles default value of "Auto". Alternatively, the transmitter can be rotated by setting the TransmitterMountingAngles name-value argument to a custom value.

    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 Cartesian 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 pose struct that contains Position, Velocity, and Orientation fields. The platform pose 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).

    The ground plane is located at z = 0. The z-coordinates of the Position fields in rxPose and txPose must have the same nonzero sign so that the transmitter and receiver lie either both above or below the ground plane.

    • The receiver pose must contain a Position field specifying the 3-D position of the receiver platform in the scene. There is no default value. The receive antenna position can be offset from the platform using the ReceiverMountingLocation name-value argument.

    • The Velocity field is relevant to Doppler calculations. The default value is [0 0 0].

    • The Orientation field specifies the receiver platform orientation. The default value is quaternion(1,0,0,0). You can automatically point the receiver at the swath center specified in SwathCenter by using the ReceiverMountingAngles default value of "Auto". Alternatively, the receiver can be rotated by setting the ReceiverMountingAngles name-value argument to a custom value.

    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

    Sample rate of the received signal, specified as a positive scalar in units of hertz (Hz) that must be an integer multiple of the PRF and must be ≥ PRF × 2. The sample rate determines the fast-time (range) discretion and ground size of the clutter patches.

    • The fast-time dimension of the resp output argument is sampled at sampleRate.

    • The delayVec output argument is incremented by 1/sampleRate.

    • The clutter grid is subdivided into equally spaced increments and each surface clutter patch has a ground resolution of c / (2 × sampleRate), where c is physconst("LightSpeed").

    The default reflectivity model in SwathReflectivity was validated for a 10e6 sample rate.

    Example: 10e6

    Data Types: double

    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: [resp,delayVec] = bistaticClutterSurfaceFIR(freq,txPose,rxPose,sampleRate=10e6,PRF=4e3,SwathSize=5e3)

    Pulse repetition frequency (PRF) of the bistatic radar system, specified as a positive scalar in units of hertz (Hz) that must evenly divide the sampleRate. The PRF determines the slow-time discretization of the resp output argument and the unambiguous Doppler extent of the bistatic radar configuration.

    • The Doppler extent or bin spacing of each clutter patch is equal to (PRF / numPulses).

    Data Types: double

    Number of pulses in the coherent processing interval (CPI), specified as a positive integer scalar.

    Data Types: double

    Transmit antenna element or array that is used to compute the transmit antenna directivity pattern, specified as a phased.IsotropicAntennaElement or Phased Array System Toolbox™ antenna element or array object that supports the directivity method. The antenna directivity pattern modulates the power contribution of each clutter patch based on the angle of departure from the transmitter (measured with respect to the transmitter mounting frame defined by the TransmitterMountingLocation and TransmitterMountingAngles).

    Data Types: object

    Receive antenna element or array that is used to compute the receive antenna directivity pattern, specified as a phased.IsotropicAntennaElement or Phased Array System Toolbox antenna element or array object that supports the directivity method. The antenna directivity pattern modulates the power contribution of each clutter patch based on the angle of arrival of the receiver (measured with respect to the receiver mounting frame defined by the ReceiverMountingLocation and ReceiverMountingAngles).

    Data Types: object

    Transmitter antenna mounting frame offset 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 in the x-, y-, and z-dimension. 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: string | double

    Receiver antenna mounting frame offset 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 in the x-, y-, and z-dimension. 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

    Transmitter mounting frame rotation, specified as one of:

    • "Auto" - This selection automatically points the transmit antenna boresight at the location specified by SwathCenter despite any orientation specified in the Orientation field of txPose.

    • 1-by-3 vector - To enable custom pointing, specify the transmitter mounting frame rotation relative to the transmitter platform body frame as a 1-by-3 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).

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

    Data Types: string | char | double

    Receiver mounting frame rotation, specified as one of:

    • "Auto" - This selection automatically points the receive antenna at the location specified by SwathCenter despite any orientation specified in the Orientation field of rxPose.

    • 1-by-3 vector - To enable custom pointing, specify the receiver mounting frame rotation relative to the receiver platform body frame as a 1-by-3 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).

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

    Data Types: string | char | double

    Center of the clutter swath on the ground plane, specified as a 2-element row vector in the form of [Cx Cy], where Cx and Cy are x- and y-coordinate values in units of meters with respect to the global scenario coordinate frame.

    The clutter patch grid is automatically centered on the swath center when you set TransmitterMountingAngles and ReceiverMountingAngles to the default value of "Auto".

    Data Types: double

    The swath size is the total extent of the clutter region to simulate, specified as a scalar or positive 2-element row vector in the form of [Lx Ly], where Lx is the length of the clutter swath along the x-dimension and Ly is the length along y-dimension in units of meters (m). If a scalar is given, the same value is used for both Lx and Ly.The clutter swath is subdivided into a grid of equally spaced increments determined by sampleRate.

    Data Types: double

    Bistatic surface reflectivity model, specified as a bistaticSurfaceReflectivityLand object that models the normalized bistatic radar cross section (NBRCS) of the surface as a function bistatic geometry and frequency. The default value is a bistaticSurfaceReflectivityLand with "Domville" InPlaneModel, "Rural" InPlaneLandType, and "RuralInterpolation" OutOfPlaneModel. This default model was validated for a 10e6 sample rate. Custom models are supported.

    The NBRCS of each clutter patch is used to calculate its corresponding BRCS and power contribution, with optional fluctuations applied depending on your bistaticSurfaceReflectivityLand object specifications.

    Output Arguments

    collapse all

    Bistatic clutter finite impulse response (FIR) filter coefficients (taps), returned as a complex unitless matrix of size NumDelays-by-NumPulses, where NumDelays is the number of samples in the fast-time (range) dimension and is equal to sampleRate / PRF and NumPulses is the number of slow-time samples (pulses in CPI), which determines the Doppler dimension. Each column contains the channel FIR for one pulse and each row corresponds to the range bin or fast-time delay sample.

    Filter coefficients are computed as the square root of the normalized clutter patch power, with complex phase values applied corresponding to a random initial phase, the phase associated with the full bistatic path length, and the slow-time phase progression due to patch Doppler. Clutter patches that map to a given unambiguous range ellipsoid are coherently summed into a single complex-valued channel FIR coefficient at the corresponding delay for each pulse in the CPI (see Implementation).

    The predicted bistatic clutter FIR is independent of waveform modulation, assumes a pulse duration of 1 sample, a peak power of 1 W, and excludes system noise. You can scale resp to the desired peak power and add noise to simulate the clutter impulse response for your bistatic radar system.

    To generate I/Q data consistent with your waveform, filter the transmit waveform with the scaled clutter channel FIR filter coefficients (resp) in the fast-time dimension using a matched filter and FFT to simulate received I/Q (see Bistatic Clutter Part 1: Rapidly Generate Clutter Channel FIR and I/Q Radar Data).

    Time delay vector corresponding to the rows of resp, returned as a column vector of time delays in units of seconds. The delay values range from 0 to 1/PRF - 1/sampleRate in increments of 1/sampleRate.

    More About

    collapse all

    References

    [1] Willis, Nicholas J. Bistatic Radar. United States: Institution of Engineering and Technology, 2005.

    [2] Maitland, Calum, et al. "Development of a bistatic clutter tool and validation by experimental data." International Conference on Radar Systems (RADAR 2022). Vol. 2022. IET, 2022.

    Version History

    Introduced in R2026b