System object: phased.UCA
Simulate received plane waves
Y = collectPlaneWave(H,X,ANG)
Y = collectPlaneWave(H,X,ANG,FREQ)
Y = collectPlaneWave(H,X,ANG,FREQ,C)
H— Uniform circular array
Uniform circular array specified as a
H = phased.UCA();
X— Incoming signals
Incoming signals, specified as an M-column
matrix. Each column of
X represents an individual
Complex Number Support: Yes
ANG— Arrival directions of incoming signals
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. Each column specifies the direction
of arrival of the corresponding signal in
ANG is a 2-by-M matrix,
each column specifies the direction in azimuth and elevation of the
[az;el]. Angular units are in degrees.
The azimuth angle must lie between –180° and 180°
and the elevation angle must lie between –90° and 90°.
ANG is a 1-by-M vector,
then each entry represents a set of azimuth angles, with the elevation
angles assumed to be zero.
The azimuth angle is the angle between the x-axis and the projection of the arrival direction vector onto the xy plane. When measured from the x-axis toward the y-axis, the azimuth angle is positive.
The elevation angle is the angle between the arrival direction vector and the xy-plane. When measured toward the z axis, the elevation angle is positive.
FREQ— Signal carrier frequency
Signal carrier frequency, specified as a positive scalar in hertz.
C— Signal propagation speed
Signal propagation speed, specified as a positive scalar in meters per second.
Y— Received signals
Received signals, returned as an N-column
complex-valued row vector. The quantity N is the
number of elements in the array. Each column of
the combined received signals at the corresponding array element.
Create a random signal arriving at a 5-element UCA from 10 degrees azimuth and 30 degrees azimuth. Both signals have an elevation angle of 0 degrees. Assume the propagation speed is the speed of light and the carrier frequency of the signal is 100 MHz. The signals are two random noise signals of three samples each.
sUCA = phased.UCA('NumElements',5,'Radius',2.0); y = collectPlaneWave(sUCA,randn(3,2),[10 30],100e6,... physconst('LightSpeed')); disp(y)
Columns 1 through 4 -0.8817 + 1.0528i 1.0037 - 0.3636i -1.0579 - 0.8531i -1.0698 + 0.5187i -1.6512 + 1.3471i 1.7358 + 0.7662i -1.2932 - 1.6792i -1.0279 + 1.6997i 2.5071 - 2.4424i -2.7270 - 0.2435i 2.4009 + 2.4977i 2.1808 - 2.1178i Column 5 -0.6388 - 0.9769i -1.8283 - 0.7336i 2.3743 + 1.8105i
collectPlaneWave modulates the input signal
with a phase corresponding to the delay caused by the direction of
arrival. The method does not account for the response of individual
elements in the array.
For further details, see .
 Van Trees, H. Optimum Array Processing. New York: Wiley-Interscience, 2002.