Main Content

steervec

Steering vector

Description

sv = steervec(pos,ang) returns the steering vector sv for each incoming plane wave or set of plane waves impinging on a sensor array. The steering vector represents the set of phase-delays for an incoming wave at each sensor element. The pos argument specifies the positions of the sensor array elements. The ang argument specifies the incoming wave arrival directions in terms of azimuth and elevation angles. The steering vector, sv, is an N-by-M complex-valued matrix. In this matrix, N represents the number of element positions in the sensor array while M represents the number of incoming waves. Each column of sv contains the steering vector for the corresponding direction specified in ang. All elements in the sensor array are assumed to be isotropic.

example

sv = steervec(pos,ang,nqbits) returns quantized narrowband steering vector when the number of phase shifter bits is set to nqbits.

example

Examples

collapse all

Specify a uniform line array of five elements spaced 10 cm apart. Then, specify an incoming plane wave with a frequency of 1 GHz and an arrival direction of 45° azimuth and 0° elevation. Compute the steering vector of this wave.

elementPos = (0:.1:.4);
c = physconst('LightSpeed');
fc = 1e9;
lam = c/fc;
ang = [45;0];
sv = steervec(elementPos/lam,ang)
sv = 5×1 complex

   1.0000 + 0.0000i
   0.0887 + 0.9961i
  -0.9843 + 0.1767i
  -0.2633 - 0.9647i
   0.9376 - 0.3478i

Specify a uniform line array (ULA) containing five isotropic elements spaced 10 cm apart. Then, specify an incoming plane wave having a frequency of 1 GHz and an arrival direction of 45° azimuth and 0° elevation. Compute the steering vector of this wave. Quantize the steering vector to three bits.

elementPos = (0:.1:.4);
c = physconst('LightSpeed');
fc = 1e9;
lam = c/fc;
ang = [45;0];
sv = steervec(elementPos/lam,ang,3)
sv = 5×1 complex

   1.0000 + 0.0000i
   0.0000 + 1.0000i
  -1.0000 + 0.0000i
  -0.0000 - 1.0000i
   1.0000 + 0.0000i

Input Arguments

collapse all

Positions of the elements of a sensor array, specified as a 1-by-N vector, a 2-by-N matrix, or a 3-by-N matrix. In this vector or matrix, N represents the number of elements of the array. Each column of pos represents the coordinates of an element. If pos is a 1-by-N vector, then it represents the y-coordinate of the sensor elements of a line array. The x and z-coordinates are assumed to be zero. When pos is a 2-by-N matrix, it represents the (y,z)-coordinates of the sensor elements of a planar array. This array is assumed to lie in the yz-plane. The x-coordinates are assumed to be zero. When pos is a 3-by-N matrix, then the array can have an arbitrary shape. Sensor positions are in terms of signal wavelength.

Example: [0,0,0; 0.1,0.4,0.3; 1,1,1]

Data Types: double

Arrival directions of incoming signals specified as a 1-by-M vector or a 2-by-M matrix, where M is the number of incoming signals. If ang is a 2-by-M matrix, each column specifies the direction in azimuth and elevation of the incoming signal [az;el]. The azimuth angle must lie between –180° and 180° and the elevation angle must lie between –90° and 90°. The azimuth angle is the angle between the x-axis and the projection of the arrival direction vector onto the xy plane. It is positive when measured from the x-axis toward the y-axis. The elevation angle is the angle between the arrival direction vector and xy-plane. It is positive when measured towards the z axis. If ang is a 1-by-M vector, then it represents a set of azimuth angles with the elevation angles assumed to be zero. Angle units are specified in degrees.

Example: [45;0]

Data Types: double

Number of bits used to quantize the phase shift in beamformer or steering vector weights, specified as a non-negative integer. A value of zero indicates that no quantization is performed.

Example: 5

Output Arguments

collapse all

Steering vector returned as an N-by-M complex-valued matrix. In this matrix, N represents the number of sensor elements of the array and M represents the number of incoming plane waves. Each column of sv corresponds to the same column in ang.

References

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

[2] Johnson, Don H. and D. Dudgeon. Array Signal Processing. Englewood Cliffs, NJ: Prentice Hall, 1993.

[3] Van Veen, B.D. and K. M. Buckley. “Beamforming: A versatile approach to spatial filtering”. IEEE ASSP Magazine, Vol. 5 No. 2 pp. 4–24.

Extended Capabilities

Version History

Introduced in R2013a