step

System object: phased.WidebandCollector
Package: phased

Collect 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

Y = step(H,X,ANG) collects signals X arriving from directions ANG. The collection process depends on the Wavefront property of H, as follows:

  • If Wavefront has the value 'Plane', each collecting element collects all the far field signals in X. Each column of Y contains the output of the corresponding element in response to all the signals in X.

  • If Wavefront has the value 'Unspecified', each collecting element collects only one impinging signal from X. Each column of Y contains the output of the corresponding element in response to the corresponding column of X. The 'Unspecified' 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.WeightsInputPort is true, H.Sensor is an array that contains subarrays, and H.Sensor.SubarraySteering is either 'Phase' or 'Time'.

    Note:   H specifies the System object™ on which to run this step method.

    The object performs an initialization the first time the step method 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

Collector object.

X

Arriving signals. Each column of X represents a separate signal. The specific interpretation of X depends on the Wavefront property of H.

Wavefront Property ValueDescription
'Plane'Each column of X is a far field signal.
'Unspecified'Each column of X is the signal impinging on the corresponding element. In this case, the number of columns in X must equal the number of collecting elements in the Sensor property.

  • If the EnablePolarization property value is set to false, X is a matrix. The number of columns of the matrix equals the number of separate signals.

  • If the EnablePolarization property value is set to true, X is a row vector of MATLAB® struct type. The dimension of the struct array equals the number of separate signals. Each struct member contains three column-vector fields, X, Y, and Z, representing the x, y, and z components of the polarized wave vector signals in the global coordinate system.

ANG

Incident directions of signals, specified as a two-row matrix. Each column specifies the incident direction of the corresponding column of X. Each column of ANG 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 degrees, inclusive.

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 of length M, where M is the number of collecting elements.

Default: ones(M,1)

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 degrees, inclusive.

Output Arguments

Y

Collected signals. Each column of Y contains the output of the corresponding element. The output is the response to all the signals in X, or one signal in X, depending on the Wavefront property of H.

Examples

Collect signal with a single antenna.

ha = phased.IsotropicAntennaElement;
hc = phased.WidebandCollector('Sensor',ha);
x = [1;1];
incidentAngle = [10 30]';
y = step(hc,x,incidentAngle);

Collect a far field signal with a 5-element array.

ha = phased.ULA('NumElements',5);
hc = phased.WidebandCollector('Sensor',ha);
x = [1;1];
incidentAngle = [10 30]';
y = step(hc,x,incidentAngle);

Collect signal with a 3-element array. Each antenna collects a separate input signal from a separate direction.

ha = phased.ULA('NumElements',3);
hc = phased.WidebandCollector('Sensor',ha,...
    'Wavefront','Unspecified');
x = rand(10,3); % Each column is a signal for one element
incidentAngle = [10 0; 20 5; 45 2]'; % 3 angles for 3 signals
y = step(hc,x,incidentAngle);

Algorithms

If the Wavefront property value is 'Plane', phased.WidebandCollector does the following for each plane wave signal:

  1. Decomposes the signal into multiple subbands.

  2. Uses the phase approximation of the time delays across collecting elements in the far field for each subband.

  3. Regroups the collected signals in all the subbands to form the output signal.

If the Wavefront property value is 'Unspecified', phased.Wideband Collector collects each channel independently.

For further details, see [1].

References

[1] Van Trees, H. Optimum Array Processing. New York: Wiley-Interscience, 2002.

Was this topic helpful?