System object: phased.ArrayResponse
Calculate array response of sensor array
RESP = step(H,FREQ,ANG)
RESP = step(H,FREQ,ANG,WEIGHTS)
RESP = step(H,FREQ,ANG,STEERANGLE)
RESP = step(H,FREQ,ANG,WEIGHTS,STEERANGLE)
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.
Array response object.
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.
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 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.
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.
Voltage response of the sensor array. The response depends on whether the EnablePolarization property is set to true or false.
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]);