bistaticConstantSNR
Syntax
Description
Use bistaticConstantSNR to create, plot, and optionally output
      bistatic constant SNR (Signal to Noise Ratio) contours or surfaces, also known as ovals of
      Cassini or Cassini surfaces. Unlike for monostatic radars, bistatic radar systems have
      separate transmitter and receiver elements that are not co-located. The
        bistaticConstantSNR function assumes the bistatic transmitter and receiver are
      synchronized.
bistaticConstantSNR(
        creates and plots bistatic constant SNR contours or surfaces, with additional options
        specified using one or more name-value arguments.txpos,rxpos,K,Name=Value)
Examples
This example shows how to plot constant SNR contours (ovals of Cassini) for a bistatic radar and calculate the bistatic radar constant, K.
Calculate Bistatic Radar Constant (K) and Plot Constant SNR Contours
Plot ovals of Cassini for a bistatic radar operating at a frequency of 5.6 GHz and a peak power of 1.5 MW. The transmitter and receiver are 5 km apart. Assume a bistatic target radar cross section (RCS) of 0.1 and a rectangular waveform with a pulse width of 0.2 microseconds. The transmitter gain is 20 dB and the receiver gain is 10 dB. Assume no system loss.
% Inputs freq = 5.6e9; % Radar operating frequency (Hz) lambda = freq2wavelen(freq); % Wavelength (m) Pt = 1.5e6; % Peak power (W) tau = 0.2e-6; % Pulse width (s) sigma = 0.1; % Bistatic radar cross section (m^2) Gtx = 20; % Transmitter gain (dB) Grx = 10; % Receiver gain (dB) txpos = [-2.5e3 0]; % Transmitter position (m) rxpos = [2.5e3 0]; % Receiver position (m) % Calculate bistatic radar constant K (dB) K = radareqsnr(lambda,1,Pt,tau,rcs=sigma,gain=[Gtx Grx]); % Plot bistatic constant SNR contours bistaticConstantSNR(txpos,rxpos,K)

This example shows how to plot constant SNR contours (ovals of Cassini) for a bistatic radar at specified SNR values. Include the cusp that denotes the transmitter-centered and receiver-centered operational regions.
Plot Constant SNR Contours
Plot ovals of Cassini for a bistatic radar that has a bistatic radar constant, K, given by where L is the distance between the transmitter and receiver. Plot contours at SNRs of [10 13 16 20 23 30] and include the cusp.
% Inputs txpos = [-1e3 0]; % Transmitter position (m) rxpos = [1e3 0]; % Receiver position (m) L = norm(txpos - rxpos); % Baseline distance (m) K = pow2db(30*L^4); % Bistatic radar constant K (dB) SNRs = [10 13 16 20 23 30]; % SNRs (dB) % Plot bistatic constant SNR contours bistaticConstantSNR(txpos,rxpos,K,SNR=SNRs,IncludeCusp=true)

This example shows how to plot constant SNR surfaces (Cassini surfaces) at specified azimuth and elevation angles for a bistatic radar.
Plot Constant SNR Surfaces
Plot Cassini surfaces for a bistatic radar operating at a frequency of 5.6 GHz and a peak power of 1.5 MW. Limit the plot to cover 0 to 180 degrees in azimuth and -45 to 45 degrees in elevation and plot in km. The transmitter and receiver are 5 km apart. Assume a bistatic target RCS of 0.1 and a rectangular waveform with a pulse width of 0.2 microseconds. The transmitter gain is 20 dB and the receiver gain is 10 dB. Assume no system loss.
% Inputs freq = 5.6e9; % Radar operating frequency (Hz) lambda = freq2wavelen(freq); % Wavelength (m) Pt = 1.5e6; % Peak power (W) tau = 0.2e-6; % Pulse width (s) sigma = 0.1; % Bistatic radar cross section (m^2) Gtx = 20; % Transmitter gain (dB) Grx = 10; % Receiver gain (dB) txpos = [-2.5e3 0 0]; % Transmitter position (m) rxpos = [2.5e3 0 0]; % Receiver position (m) % Calculate bistatic radar constant K (dB) K = radareqsnr(lambda,1,Pt,tau,rcs=sigma,gain=[Gtx Grx]); % Plot bistatic constant SNR surfaces bistaticConstantSNR(txpos,rxpos,K, ... PlotUnits="km",AzimuthLimits=[0 180],ElevationLimits=[-45 45], ... ShowLocalCoordinates=true) view([-40 20])

This example shows how to output and manually plot constant SNR contour data for a bistatic radar at a specified SNR value.
Calculate Constant SNR Contour
Calculate the oval of Cassini at an SNR of 20 dB for a bistatic radar that has a bistatic radar constant, K, given by where L is the distance between the transmitter and receiver. Manually plot the results.
% Inputs txpos = [-1e3 0]; % Transmitter position (m) rxpos = [1e3 0]; % Receiver position (m) L = norm(txpos - rxpos); % Baseline distance (m) K = pow2db(30*L^4); % Bistatic radar constant K (dB) % Calculate bistatic constant SNR contour M = bistaticConstantSNR(txpos,rxpos,K,SNR=20,NumSamples=1e3)
M = struct with fields:
      X: [-1.7892e+03 -1.7892e+03 -1.7890e+03 -1.7886e+03 -1.7882e+03 -1.7876e+03 -1.7869e+03 -1.7861e+03 -1.7852e+03 -1.7841e+03 -1.7829e+03 -1.7816e+03 -1.7801e+03 -1.7785e+03 -1.7768e+03 -1.7749e+03 -1.7730e+03 -1.7709e+03 … ] (1×1028 double)
      Y: [-2.1912e-13 -11.2530 -22.5045 -33.7530 -44.9970 -56.2350 -67.4655 -78.6870 -89.8980 -101.0970 -112.2823 -123.4525 -134.6060 -145.7412 -156.8565 -167.9503 -179.0210 -190.0669 -201.0865 -212.0779 -223.0396 -233.9698 -244.8667 … ] (1×1028 double)
    SNR: 20
% Plot figure plot(M.X,M.Y,'LineWidth',1.5) hold on plot(txpos(1),txpos(2),'^','LineWidth',1.5,'MarkerSize',10) plot(rxpos(1),rxpos(2),'v','LineWidth',1.5,'MarkerSize',10) grid on axis equal xlabel('X (m)') ylabel('Y (m)') legend('SNR = 20 dB','Transmitter','Receiver') title('Constant SNR = 20 dB')

Input Arguments
Transmitter position specified as a 2-element or 3-element row vector in global
            Cartesian coordinates, in units of meters. When txpos is a
            2-element row vector, this function plots constant SNR contours. When
              txpos is a 3-element row vector, this function plots constant SNR
            surfaces. The length of txpos matches the length of
              rxpos.
Data Types: double
Receiver position specified as a 2-element or 3-element row vector in global
            Cartesian coordinates, in units of meters. When rxpos is a
            2-element row vector, this function plots constant SNR contours. When
              rxpos is a 3-element row vector, this function plots constant SNR
            surfaces. The length of rxpos matches the length of
              txpos.
Data Types: double
Scalar bistatic radar constant in dB. See Bistatic Radar Constant (K) for more information.
Data Types: double
Name-Value Arguments
Example: bistaticConstantSNR(txpos,rxpos,K,SNR=20,NumSamples=1e3,NumTrials=100,IncludeCusp=true)
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.
    
Signal-to-Noise Ratios at which to calculate constant SNR contours or surfaces,
              specified as a row vector in dB. Default is [10:5:30].
Data Types: double
Minimum and maximum ranges at which to calculate constant SNR contours or
              surfaces, specified as [MinRange MaxRange] in meters, where
                MinRange is the minimum range and MaxRange is
              the maximum range. The coordinate system is a local coordinate system in which the
              origin is defined as the midpoint of the bistatic baseline. Default is [1
                100e3].
Data Types: double
Minimum and maximum azimuth angles at which to calculate constant SNR contours or
              surfaces, specified as [MinAzimuth MaxAzimuth], where
                MinAzimuth is the minimum azimuth and
                MaxAzimuth is the maximum azimuth. Units are in degrees. Azimuth
              is the counterclockwise angle measured from the positive x-axis.
              The positive x-axis is the unit vector pointing from
                txpos to rxpos. The coordinate system is a
              local coordinate system in which the origin is defined as the midpoint of the bistatic
              baseline. Default is [-180 180].
Data Types: double
Minimum and maximum elevation angles at which to calculate constant SNR surfaces,
              specified as [MinElevation MaxElevation], where
                MinElevation is the minimum elevation and
                MaxElevation is the maximum elevation. Units are in degrees. This
              property only applies to constant SNR surfaces and is therefore only available when
                txpos is a 3-element row vector. Elevation is the angle
              measured from the x-y plane to the positive
                x-axis. The positive x-axis is the unit
              vector pointing from txpos to rxpos. The
              coordinate system is a local coordinate system in which the origin is defined as the
              midpoint of the bistatic baseline. Default is [-90 90].
Data Types: double
Number of samples for range, azimuth, and elevation dimensions for the extents
              defined by the RangeLimits, AzimuthLimits,
              and ElevationLimits arguments, specified as a scalar or vector.
- Scalar — When - NumSamplesis specified as a scalar, the same scalar value is applied to all dimensions.
- 2-element row vector — When - NumSamplesis specified as a 2-element row vector, it has the form- [NumSamplesRange NumSamplesAzimuth], where- NumSamplesRangeis the number of samples in range and- NumSamplesAzimuthis the number of samples in azimuth.
- 3-element row vector — When - NumSamplesis specified as a 3-element row vector, it has the form- [NumSamplesRange NumSamplesAzimuth NumSamplesElevation], where- NumSamplesRangeis the number of samples in range,- NumSamplesAzimuthis the number of samples in azimuth, and- NumSamplesElevationis the number of samples in the elevation dimension.
The elevation dimension is not relevant to SNR contours. If
                txpos is a 2-element row vector and
                NumSamples is specified as a 3-element row vector, the third
              element of NumSamples is ignored. A 3-element specification for
                NumSamples is appropriate when txpos is a
              3-element row vector for SNR surfaces. Increasing the sampling number, especially in
              the range dimension, improves accuracy but may decrease performance. The default value
              is [501 73 37], which results in a resolution of 200 meters in
              range and 5 degrees in azimuth and elevation for the default range, azimuth, and
              elevation limits.
Data Types: double
Enable the point on the baseline where the ovals or surfaces break into two parts,
              the cusp, to be included in the plot of the constant SNR contours or surfaces. The
              cusp occurs at the center of a lemniscate that denotes two distinct operational
              regions, transmitter-centered and receiver-centered. Set
                IncludeCusp to true to plot the cusp.
              Otherwise, the cusp is not considered. The default is false.
Data Types: logical
Specify units for the plot as one of meter ("m"), kilometer
                ("km"), mile ("mi"), nautical mile
                ("nmi"), feet ("ft"), or kilo-feet
                ("kft"). The default value is
              "m".
Data Types: string
Enable local coordinate axes on the plot. Set
                ShowLocalCoordinates to true to plot the
              local coordinate axes. Otherwise, the local coordinate axes are not plotted. The
              default is false.
Data Types: logical
Handle to the plot axes, specified as an Axes object. Use the
                gca function to get and set properties
              of the current axes.
Output Arguments
Returns a 1-by-L structure array with three fields that contain
            coordinate or SNR values that describe each bistatic constant SNR contour or surface,
            where L is the number of contours or surfaces.
- txposis a 2-element row vector — For contours, the three fields in- Mare named X, Y, and SNR. X is a row vector of x-coordinate values (meters), Y is a row vector of y-coordinate values (meters), and SNR is a scalar constant SNR value (dB), for each contour.
- txposis a 3-element row vector — For surfaces, the three fields in- Mare named Faces, Vertices, and SNR. Faces is a 3-column matrix where each row corresponds to the face of a polygon, Vertices is a 3-column matrix where each row contains x-, y-, and z-coordinate values (meters) for a vertex, and SNR is a scalar constant SNR value (dB), for each isosurface.
If IncludeCusp is set to true,
            the output M will include all the user-specified SNRs, as well as
            the cusp SNR. The coordinate system is a local coordinate system in which the origin is
            defined as the midpoint of the bistatic baseline. You can use the patch function to plot Faces and
              Vertices data.
Returns the SNR value at the cusp. The cusp is the point on the baseline at which the ovals or surfaces break into two parts, and two distinct operational regions, transmitter-centered and receiver-centered, emerge.
More About
The bistatic radar constant, K, incorporates parameters related to the radar and target and is used to determine the power, or signal, received by the bistatic radar. K is typically defined as
where the terms in the equation are:
- Pt — Transmitter power in watts 
- Gt — Transmitter antenna gain 
- Gr — Receiver antenna gain 
- λ — Radar wavelength in meters 
- σ — Target's nonfluctuating Radar Cross Section (RCS) in square meters 
- Ft — Propagation factor for the path from the transmitter to the target 
- Fr — Propagation factor for the path from the receiver to the target 
- k — Boltzmann's constant in joules per kelvin 
- Ts — Receiver system noise temperature in kelvin 
- Bn — Receiver noise bandwidth in hertz 
- Lt — Transmitter loss factor 
- Lr — Receiver loss factor 
Terms expressed in decibels, such as the loss and gain factors, enter the equation in the form 10x/10 where x denotes the variable. For example, the default loss factor of 0 dB results in a loss term of 100/10=1.
The image below shows the bistatic geometry for the 2-D case. The transmitter and receiver
      sites reside along the x-axis. In the
        bistaticConstantSNR function, the positive x-axis
      is the unit vector pointing from txpos to rxpos. The
      baseline L, or direct path, is defined as the line between the
      transmitter Tx and receiver Rx. The line from the
      transmitter to the target is the range RT and the
      range from the receiver to the target is the range
        RR. The azimuth is the counterclockwise angle in
      the x-y plane measured from the positive
        x-axis, in units of degrees. As shown, the origin for the local
      coordinate system is the center point of the bistatic baseline L.

An oval of Cassini is the locus of the vertex of a triangle when the product of the sides adjacent to the vertex is constant and the length of the opposite side is fixed [1]. For the bistatic case, the vertex is the target. The sides adjacent to the vertex are RT and RR. The baseline L is the fixed, opposite side. The bistatic ovals of Cassini are contours of constant signal-to-noise-ratio (SNR) on any bistatic plane.
SNR = K / (RT2RR2),
where K is the bistatic radar constant.
References
[1] Willis, Nicholas J. Bistatic Radar. Raleigh, NC: SciTech Publishing, Inc., 2005.
Version History
Introduced in R2024b
See Also
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)