Main Content

phased.RadarTarget

Radar target

Description

The RadarTarget System object™ models how a signal is reflected from a radar target. The quantity that determines the response of a target to incoming signals is called the radar target cross-section (RCS). While all electromagnetic radar signals are polarized, you can sometimes ignore polarization and process them as if they were scalar signals. To ignore polarization, specify the EnablePolarization property as false. To utilize polarization, specify the EnablePolarization property as true. For non-polarized processing, the radar cross section is encapsulated in a single scalar quantity called the MeanRCS. For polarized processing, specify the radar cross-section as a 2-by-2 scattering matrix in the ScatteringMatrix property. For both polarization processing types, there are several Swerling models available that can generate random fluctuations in the RCS. Choose these models using the Model property. The SeedSource and Seed properties control the random fluctuations.

The properties that you can use to model the radar cross-section or scattering matrix depend upon the polarization type.

EnablePolarization ValueUse These Properties
false
  • MeanRCSSource

  • MeanRCS

true
  • ScatteringMatrixSource

  • ScatteringMatrix

  • Mode

The phased.RadarTarget System object models how a signal is reflected from a radar target.

To model a signal reflected from a target:

  1. Create the phased.RadarTarget object and set its properties.

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

Description

target = phased.RadarTarget creates a radar target System object, target, that computes the reflected signal from a target.

target = phased.RadarTarget(Name,Value) creates a radar target object, target, with each specified property set to the specified value. You can specify additional name-value pair arguments in any order as (Name1,Value1,...,NameN,ValueN).

example

Properties

expand all

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.

Set this property to true to allow the target to simulate the reflection of polarized radiation. Set this property to false to ignore polarization.

Data Types: logical

Target scattering mode specified as one of 'Monostatic' or 'Bistatic'. If you set this property to 'Monostatic', the reflected signal direction is opposite to its incoming direction. If you set this property to 'Bistatic', the reflected direction of the signal differs from its incoming direction. This property applies when you set the EnablePolarization property to true.

Data Types: char

Source of mean scattering matrix of target specified as one of 'Property' or 'Input port'. If you set the ScatteringMatrixSource property to 'Property', the target’s mean scattering matrix is determined by the value of the ScatteringMatrix property. If you set this property to 'Input port', the mean scattering matrix is determined by an input argument of the object function. This property applies only when you set the EnablePolarization property to true. When the EnablePolarization property is set to false, use the MeanRCSSource property instead, together with the MeanRCS property, if needed.

Data Types: char

Mean radar scattering matrix specified as a complex–valued 2-by-2 matrix. This matrix represents the mean value of the target's radar cross-section. Units are in square meters. The matrix has the form [s_hh s_hv;s_vh s_vv]. In this matrix, the component s_hv specifies the complex scattering response when the input signal is vertically polarized and the reflected signal is horizontally polarized. The other components are defined similarly. This property applies when you set the ScatteringMatrixSource property to 'Property' and the EnablePolarization property to true. When the EnablePolarization property is set to false, use the MeanRCS property instead, together with the MeanRCSSource property. This property is tunable.

Data Types: double

Specify whether the mean RCS value of the target comes from the MeanRCS property of this object or from an input argument in objection function. Values of this property are:

'Property'The MeanRCS property of this object specifies the mean RCS value(s).
'Input port'An input argument of the object function specifies the mean RCS value.

When EnablePolarization property is set to true, use the ScatteringMatrixSource property together with the ScatteringMatrix property.

Data Types: char

Specify the mean value of the target's radar cross section as a nonnegative scalar or as a 1-by-M real-valued, nonnegative row vector. Units are in square meters. Using a vector lets you simultaneously process multiple targets. The quantity M is the number of targets. This property is used when MeanRCSSource is set to 'Property'. This property is tunable.

When EnablePolarization property is set to true, use the ScatteringMatrix property together with the ScatteringMatrixSource.

Data Types: double

Specify the statistical model of the target as one of 'Nonfluctuating', 'Swerling1', 'Swerling2', 'Swerling3', or 'Swerling4'. If you set this property to a value other than 'Nonfluctuating', you must use the UPDATERCS input argument when invoking object function. You can set the mean value of the radar cross-section model by specifying MeanRCS or use its default value.

Data Types: char

Specify the propagation speed of the signal, in meters per second, as a positive scalar.

Data Types: double

Specify the carrier frequency of the signal you are reflecting from the target, as a scalar in hertz.

Data Types: double

Specify how the object generates random numbers. Values of this property are:

'Auto'The default MATLAB® random number generator produces the random numbers. Use 'Auto' if you are using this object with Parallel Computing Toolbox™ software.
'Property'The object uses its own private random number generator to produce random numbers. The Seed property of this object specifies the seed of the random number generator. Use 'Property' if you want repeatable results and are not using this object with Parallel Computing Toolbox software.

The random numbers are used to model random RCS values. This property applies when the Model property is 'Swerling1', 'Swerling2','Swerling3', or 'Swerling4'.

Data Types: char

Specify the seed for the random number generator as a scalar integer between 0 and 232–1. This property applies when you set the SeedSource property to 'Property'.

Data Types: double

Usage

Description

Y = target(X) returns the reflected signal Y due to the incident signal X. Use this syntax when you set the Model property of target to 'Nonfluctuating'. In this case, the value of the MeanRCS property is used as the Radar cross-section (RCS) value. This syntax applies only when the EnablePolarization property is set to false. If you specify M incident signals, you can specify the radar cross-section as a scalar or as a 1-by-M vector. For a scalar, the same value will be applied to all signals.

example

Y = target(X,MEANRCS) uses MEANRCS as the mean RCS value. This syntax is available when you set the MeanRCSSource property to 'Input port' and set Model to 'Nonfluctuating'. This syntax applies only when the EnablePolarization property is set to false.

Y = target(X,UPDATERCS) uses UPDATERCS as the indicator of whether to update the RCS value. This syntax is available when you set the Model property to 'Swerling1', 'Swerling2', 'Swerling3', or 'Swerling4'. This syntax applies only when the EnablePolarization property is set to false. In this case, the value of the MeanRCS property is used as the radar cross-section (RCS) value.

Y = target(X,MEANRCS,UPDATERCS) lets you can combine optional input arguments when their enabling properties are set. In this syntax, MeanRCSSource is set to 'Input port' and Model is set to one of the Swerling models. This syntax applies only when the EnablePolarization property is set to false. For this syntax, changes in MEANRCS will be ignored after the first call to the object function.

Y = target(X,ANGLE_IN,LAXES) returns the reflected signal Y from an incident signal X. This syntax applies only when the EnablePolarization property is set to true. The input argument, ANGLE_IN, specifies the direction of the incident signal with respect to the target’s local coordinate system. The input argument, LAXES, specifies the direction of the local coordinate axes with respect to the global coordinate system. This syntax requires that you set the Model property to 'Nonfluctuating' and the Mode property to 'Monostatic'. In this case, the value of the ScatteringMatrix property is used as the scattering matrix value.

Y = target(X,ANGLE_IN,ANGLE_OUT,LAXES), in addition, specifies the reflection angle, ANGLE_OUT, of the reflected signal when you set the Mode property to 'Bistatic'. This syntax applies only when the EnablePolarization property is set to true.

Y = target(X,ANGLE_IN,LAXES,SMAT) specifies SMAT as the scattering matrix. This syntax applies only when the EnablePolarization property is set to true.You must set the ScatteringMatrixSource property 'Input port' to use SMAT

Y = target(X,ANGLE_IN,LAXES,UPDATESMAT) specifies UPDATESMAT to indicate whether to update the scattering matrix when you set the Model property to 'Swerling1', 'Swerling2'', 'Swerling3', or 'Swerling4'. This syntax applies only when the EnablePolarization property is set to true.

Y = target(X,ANGLE_IN,ANGLE_OUT,LAXES,SMAT,UPDATESMAT). You can combine optional input arguments when their enabling properties are set. Optional inputs must be listed in the same order as the order of their enabling properties.

Input Arguments

expand all

Radar target, specified as a phased.RadarTarget System object.

The argument X is a complex-valued N-by-1 column vector or N-by-M matrix. The value M is the number of signals. Each signal corresponds to a different target. The value N is the number of samples in each signal. When the EnablePolarization property is set to true, X is a 1-by-M row array of MATLAB struct type, each member of the array representing a different signal. The struct contains three fields, X.X, X.Y, and X.Z. Each field corresponds to the x, y, and z components of the polarized input signal. Polarization components are measured with respect to the global coordinate system. Each field is a column vector representing a sequence of values for each incoming signal. The X.X, X.Y, and Y.Z fields must all have the same dimension.

The size of the first dimension of the input matrix can vary to simulate a changing signal length. A size change can occur, for example, in the case of a pulse waveform with variable pulse repetition frequency.

The size of the first dimension of the matrix fields within the struct can vary to simulate a changing signal length such as a pulse waveform with variable pulse repetition frequency.

Data Types: double
Complex Number Support: Yes

The value of MEANRCS must be a nonnegative scalar or 1-by-M row vector for multiple targets.

Data Types: double

Allow the RCS values for fluctuation models to update. If UPDATERCS is true, a new RCS value is generated. If UPDATERCS is false, the previous RCS value is used.

Data Types: logical

The input argument, ANGLE_IN, specifies the direction of the incident signal with respect to the target’s local coordinate system. Each column of ANGLE_IN specifies the incident direction of the corresponding signal in the form [AzimuthAngle; ElevationAngle]. Angle units are in degrees. The number of columns in ANGLE_IN must equal the number of signals in the X array.

Example: [30;45]

Data Types: double

The input argument, LAXES, specifies the direction of the local coordinate axes with respect to the global coordinate system. The argument, LAXES, is a 3-by-3 matrix. The columns are unit vectors specifying the local coordinate system's orthonormal x, y, and z axes, respectively, with respect to the global coordinate system. Each column is written in [x;y;z] form.

Data Types: double

ANGLE_OUT is a 2-row matrix representing the reflected direction of each signal. Each column of ANGLE_OUT specifies the reflected direction of the signal in the form [AzimuthAngle; ElevationAngle]. Angle units are in degrees. The number of columns in ANGLE_OUT must equal the number of members in the X array. The number of columns in ANGLE_OUT must equal the number of elements in the X array.

Data Types: double

The input argument SMAT is a 2-by-2 matrix.

Data Types: double
Complex Number Support: Yes

If UPDATESMAT is set to true, a scattering matrix value is generated. If UPDATESMAT is false, the previous scattering matrix value is used.

Data Types: logical

Output Arguments

expand all

Y is a row array of struct type having the same size as X. Each struct contains the three reflected polarized fields, Y.X, Y.Y, and Y.Z. Each field corresponds to the x, y, and z component of the signal. Polarization components are measured with respect to the global coordinate system. Each field is a column vector representing one reflected signal.

Data Types: double
Complex Number Support: Yes

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)

expand all

stepRun System object algorithm
releaseRelease resources and allow changes to System object property values and input characteristics
resetReset internal states of System object

Examples

collapse all

Create a simple signal and compute the value of the reflected signal from a target having a radar cross section of 10m2. Set the radar cross section using the MeanRCS property. Set the radar operating frequency to 600 MHz.

x = ones(10,1);
target = phased.RadarTarget('Model','Nonfluctuating',...
        'MeanRCS',10,...
        'OperatingFrequency',600e6);
y = target(x);
disp(y(1:3))
   22.4355
   22.4355
   22.4355

This value agrees with the formula y=Gx where

G=4πσ/λ2

Create two sinusoidal signals and compute the value of the reflected signals from targets having radar cross sections of 5m2 and 10m2, respectively. Set the radar cross sections in the step method by choosing Input port for the value of the MeanRCSSource property. Set the radar operating frequency to 600 MHz.

sRadarTarget = phased.RadarTarget('Model','Nonfluctuating',...
        'MeanRCSSource','Input port',...
        'OperatingFrequency',600e6);
t = linspace(0,1,1000);
x = [cos(2*pi*250*t)',10*sin(2*pi*250*t)'];
y = sRadarTarget(x,[5,10]);
disp(y(1:3,1:2))
   15.8643         0
   -0.0249  224.3546
  -15.8642   -0.7055

Algorithms

For a narrowband nonpolarized signal, the reflected signal, Y, is

Y=GX,

where:

  • X is the incoming signal.

  • G is the target gain factor, a dimensionless quantity given by

    G=4πσλ2.

    • σ is the mean radar cross-section (RCS) of the target.

    • λ is the wavelength of the incoming signal.

The incident signal on the target is scaled by the square root of the gain factor.

For narrowband polarized waves, the single scalar signal, X, is replaced by a vector signal, (EH, EV), with horizontal and vertical components. The scattering matrix, S, replaces the scalar cross-section, σ. Through the scattering matrix, the incident horizontal and vertical polarized signals are converted into the reflected horizontal and vertical polarized signals.

[EH(scat)EV(scat)]=4πλ2[SHHSVHSHVSVV][EH(inc)EV(inc)]=4πλ2[S][EH(inc)EV(inc)]

For further details, see Mott, [1] or Richards, [2].

References

[1] Mott, H., Antennas for Radar and Communications, John Wiley & Sons, 1992.

[2] Richards, M. A. Fundamentals of Radar Signal Processing. New York: McGraw-Hill, 2005.

[3] Skolnik, M. Introduction to Radar Systems, 3rd Ed. New York: McGraw-Hill, 2001.

Extended Capabilities

Version History

Introduced in R2011a