Conventional beamformer weights
wt = cbfweights(pos,ang)
wt = cbfweights(pos,ang,nqbits)
narrowband conventional beamformer weights. When applied to the elements
of a sensor array, these weights steer the response of the array to
a specified arrival direction or set of directions. The
wt = cbfweights(
specifies the sensor positions in the array. The
specifies the azimuth and elevation angles of the desired response
directions. The output weights,
wt, are returned
as an N-by-M matrix. In this
matrix, N represents the number of sensors in the
array while M represents the number of arrival
directions. Each column of
wt contains the weights
for the corresponding direction specified in the
wt is equivalent to the output of
by N. All elements in the sensor array are assumed
to be isotropic.
Specify a line array of five elements spaced 10 cm apart. Compute the weights for two directions: 30° azimuth, 0° elevation, and 45° azimuth, 0° elevation. Assume the array is tuned to plane waves having a frequency of 1 GHz.
elementPos = (0:.1:.4); c = physconst('LightSpeed'); fc = 1e9; lambda = c/fc; ang = [30 45]; wt = cbfweights(elementPos/lambda,ang)
wt = 0.2000 + 0.0000i 0.2000 + 0.0000i 0.0999 + 0.1733i 0.0177 + 0.1992i -0.1003 + 0.1731i -0.1969 + 0.0353i -0.2000 - 0.0004i -0.0527 - 0.1929i -0.0995 - 0.1735i 0.1875 - 0.0696i
Specify a line array of five elements spaced 10 cm apart. Compute the weights for two directions: 30° azimuth, 0° elevation, and 45° azimuth, 0° elevation. Assume the array is tuned to plane waves having a frequency of 1 GHz. Assume the weights are quantized to six bits.
elementPos = (0:.1:.4); c = physconst('LightSpeed'); fc = 1e9; lambda = c/fc; ang = [30 45]; nqbits = 6; wt = cbfweights(elementPos/lambda,ang,nqbits)
wt = 0.2000 + 0.0000i 0.2000 + 0.0000i 0.0943 + 0.1764i 0.0196 + 0.1990i -0.0943 + 0.1764i -0.1962 + 0.0390i -0.2000 + 0.0000i -0.0581 - 0.1914i -0.0943 - 0.1764i 0.1848 - 0.0765i
pos— Positions of array sensor elements
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
the coordinates of an element. You define sensor position units in
term of signal wavelength. 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
a 3-by-N matrix, then the array has arbitrary shape.
ang— Beamforming directions
Beamforming directions specified as a 1-by-M vector
or a 2-by-M matrix. In this vector or matrix, M represents
the number of incoming signals. If
ang is a 2-by-M matrix,
each column specifies the direction in azimuth and elevation of the
beamforming direction as
[az;el]. Angular units
are specified in degrees. 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 beamforming direction vector onto the xy plane.
The angle is positive when measured from the x-axis
toward the y-axis. The elevation angle is the angle
between the beamforming direction vector and xy-plane.
It is positive when measured towards the positive z axis.
ang is a 1-by-M vector,
then it represents a set of azimuth angles with the elevation angles
assumed to be zero.
nqbits— Number of phase shifter quantization bits
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.
wt— Beamformer weights
Beamformer weights returned as an N-by-M complex-valued
matrix. In this matrix, N represents the number
of sensor elements of the array while M represents
the number of beamforming directions. Each column of
to a beamforming direction specified in
 Van Trees, H.L. Optimum Array Processing. New York, NY: Wiley-Interscience, 2002.
 Johnson, Don H. and D. Dudgeon. Array Signal Processing. Englewood Cliffs, NJ: Prentice Hall, 1993.
 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.
Usage notes and limitations:
Does not support variable-size inputs.