Contenido principal

step

System object: phased.Radiator
Namespace: phased

Radiate signals

Syntax

Y = step(H,X,ANG)
Y = step(H,X,ANG,LAXES)
Y = step(H,X,ANG,WEIGHTS)
Y = step(H,X,ANG,STEERANGLE)
Y = step(H,X,ANG,LAXES,WEIGHTS,STEERANGLE)

Description

Note

Starting in R2016b, instead of using the step method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operations.

Y = step(H,X,ANG) radiates signal X in the direction ANG. Y is the radiated signal. The radiating process depends on the CombineRadiatedSignals property of H, as follows:

  • If CombineRadiatedSignals has the value true, each radiating element or subarray radiates X in all the directions in ANG. Y combines the outputs of all radiating elements or subarrays. If the Sensor property of H contains subarrays, the radiating process distributes the power equally among the elements of each subarray.

  • If CombineRadiatedSignals has the value false, each radiating element radiates X in only one direction in ANG. Each column of Y contains the output of the corresponding element. The false option is available when the Sensor property of H does not contain subarrays.

Y = step(H,X,ANG,LAXES) uses LAXES as the local coordinate system axes directions. This syntax is available when you set the EnablePolarization property to true.

Y = step(H,X,ANG,WEIGHTS) uses WEIGHTS as the weight vector. This syntax is available when you set the WeightsInputPort property to true.

Y = step(H,X,ANG,STEERANGLE) uses STEERANGLE as the subarray steering angle. This syntax is available when you configure H so that H.Sensor is an array that contains subarrays and H.Sensor.SubarraySteering is either 'Phase' or 'Time'.

Y = step(H,X,ANG,LAXES,WEIGHTS,STEERANGLE) combines all input arguments. This syntax is available when you configure H so that H.EnablePolarization is true, H.WeightsInputPort is true, H.Sensor is an array that contains subarrays, and H.Sensor.SubarraySteering is either 'Phase' or 'Time'.

Note

The object performs an initialization the first time the object is executed. This initialization locks nontunable properties and input specifications, such as dimensions, complexity, and data type of the input data. If you change a nontunable property or an input specification, the System object issues an error. To change nontunable properties or inputs, you must first call the release method to unlock the object.

Input Arguments

H

Radiator object.

X

Signals to radiate. X can be either a vector or a matrix.

If X is a vector, that vector is radiated through all radiating elements or subarrays. The computation does not divide the signal’s power among elements or subarrays, but rather treats the X vector the same as a matrix in which each column equals this vector.

If X is a matrix, the number of columns of X must equal the number of subarrays if H.Sensor is an array that contains subarrays, or the number of radiating elements otherwise. Each column of X is radiated by the corresponding element or subarray.

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.

ANG

Radiating directions of signals. ANG is a two-row matrix. Each column specifies a radiating direction in the form [AzimuthAngle;ElevationAngle], in degrees.

LAXES

Local coordinate system. LAXES is a 3-by-3 matrix whose columns specify the local coordinate system's orthonormal x, y, and z axes, respectively. Each axis is specified in terms of [x;y;z] with respect to the global coordinate system. This argument is only used when the EnablePolarization property is set to true.

WEIGHTS

Vector of weights. WEIGHTS is a column vector whose length equals the number of radiating elements or subarrays.

STEERANGLE

Subarray steering angle, specified as a length-2 column vector. The vector has the form [azimuth; elevation], in degrees. The azimuth angle must be between –180 and 180 degrees, inclusive. The elevation angle must be between –90° and 90°, inclusive.

Output Arguments

Y

Radiated signals

  • If the EnablePolarization property value is set to false, the output argument Y is a matrix. The number of columns of the matrix equals the number of radiating signals. Each column of Y contains a separate radiating signal. The number of radiating signals depends upon the CombineRadiatedSignals property of H.

  • If the EnablePolarization property value is set to true, Y is a row vector of elements of MATLAB® struct type. The length of the struct vector equals the number of radiating signals. Each struct contains a separate radiating signal. The number of radiating signals depends upon the CombineRadiatedSignals property of H. Each struct contains three column-vector fields, X, Y, and Z. These fields represent the x, y, and z components of the polarized wave vector signal in the global coordinate system.

Examples

expand all

Propagate and combine radiation from five isotropic antenna elements. Set up a uniform line array of five isotropic antennas.

First construct a ULA array.

array = phased.ULA('NumElements',5);

Construct a radiator object.

radiator = phased.Radiator('Sensor',array,...
    'OperatingFrequency',300e6,'CombineRadiatedSignals',true);

Create a simple signal to radiate.

x = [1;-1;1;-1;1;-1];

Specify the azimuth and elevation of the radiating direction.

radiatingAngle = [30;10];

Radiate the signal.

y = radiator(x,radiatingAngle)
y = 6×1 complex

  -0.9523 - 0.0000i
   0.9523 + 0.0000i
  -0.9523 - 0.0000i
   0.9523 + 0.0000i
  -0.9523 - 0.0000i
   0.9523 + 0.0000i

Propagate and combine the radiation from five short-dipole antenna elements.

Set up a uniform line array of five short-dipole antennas with polarization enabled. Then, construct the radiator object.

antenna = phased.ShortDipoleAntennaElement;
array = phased.ULA('Element',antenna,'NumElements',5);
radiator = phased.Radiator('Sensor',array,'OperatingFrequency',300e6,...
    'CombineRadiatedSignals',true,'Polarization','Combined');

Rotate the local coordinate system from the global coordinates by 10° around the x-axis. Demonstrate that the output represents a polarized field.

Specify a simple signal to radiate and specify the radiating direction in azimuth and elevation. Radiate the fields in two directions.

x = [1;-1;1;-1;1;-1];
radiatingAngles = [30 30; 0 20];
y = radiator(x,radiatingAngles,rotx(10))
y=1×2 struct array with fields:
    X
    Y
    Z

Show the y-component of the polarized field radiating in the first direction.

disp(y(1).Y)
  -0.2131 + 0.0000i
   0.2131 - 0.0000i
  -0.2131 + 0.0000i
   0.2131 - 0.0000i
  -0.2131 + 0.0000i
   0.2131 - 0.0000i