RESP = step(H,FREQ,ANG) returns
the array response RESP at operating frequencies
specified in FREQ and directions specified in ANG.

RESP = step(H,FREQ,ANG,WEIGHTS) applies
weights WEIGHTS on the sensor array. This syntax
is available when you set the WeightsInputPort property
to true.

RESP = step(H,FREQ,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'.

RESP = step(H,FREQ,ANG,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

Array response object.

FREQ

Operating frequencies of array in hertz. FREQ
is a row vector of length L. Typical values are within the range specified
by a property of the sensor element. The element is H.SensorArray.Element, H.SensorArray.Array.Element,
or H.SensorArray.Subarray.Element, depending on
the type of array. The frequency range property is named FrequencyRange or FrequencyVector,
depending on the type of element in the array. The element has zero
response at frequencies outside that range. The element has zero response
at frequencies outside that range.

ANG

Directions in degrees. ANG can be either
a 2-by-M matrix or a row vector of length M.

If ANG is a 2-by-M matrix, each column
of the matrix specifies the direction in the form [azimuth; elevation].
The azimuth angle must be between –180 and 180 degrees, inclusive.
The elevation angle must be between –90 and 90 degrees, inclusive.

If ANG is a row vector of length M, each
element specifies a direction's azimuth angle. In this case,
the corresponding elevation angle is assumed to be 0.

WEIGHTS

Weights on the sensor array. WEIGHTS can
be either an N-by-L matrix or a column vector of length N. N is the
number of subarrays if H.SensorArray contains subarrays,
or the number of elements otherwise. L is the number of frequencies
specified in FREQ.

If WEIGHTS is a matrix, each column of
the matrix represents the weights at the corresponding frequency in FREQ.

If WEIGHTS is a vector, the weights apply
at all frequencies in FREQ.

STEERANGLE

Subarray steering angle in degrees. STEERANGLE can
be a length-2 column vector or a scalar.

If STEERANGLE is a length-2 vector, it
has the form [azimuth; elevation]. The azimuth angle must be between
–180 and 180 degrees, and the elevation angle must be between
–90 and 90 degrees.

If STEERANGLE is a scalar, it represents
the azimuth angle. In this case, the elevation angle is assumed to
be 0.

Output Arguments

RESP

Voltage response of the sensor array. The response depends on
whether the EnablePolarization property is set
to true or false.

If the EnablePolarization property
is set to false, the voltage response, RESP,
has the dimensions M-by-L. M represents
the number of angles specified in the input argument ANG while L represents
the number of frequencies specified in FREQ.

If the EnablePolarization property
is set to true, the voltage response, RESP,
is a MATLAB^{®}struct containing two fields, RESP.H and RESP.V.
The RESP.H field represents the array's
horizontal polarization response, while RESP.V represents
the array's vertical polarization response. Each field has
the dimensions M-by-L. M represents
the number of angles specified in the input argument, ANG,
while L represents the number of frequencies specified
in FREQ.

Examples

Find the array response for a 6-element uniform linear array
operating at 1 GHz. The array elements are spaced at one half the
operating frequency wavelength. The incident angle is 45 degrees azimuth
and 10 degrees elevation.

fc = 1e9;
% 1 GHz wavelength
lambda = physconst('LightSpeed')/fc;
% construct the ULA
hULA = phased.ULA('NumElements',6,'ElementSpacing',lambda/2);
% construct array response object with the ULA as sensor array
har = phased.ArrayResponse('SensorArray',hULA);
% use step to obtain array response at 1 GHz for an incident% angle of 45 degrees azimuth and 10 degrees elevation
resp = step(har,fc,[45;10]);