System object: phased.ReplicatedSubarray
Simulate received plane waves
Y = collectPlaneWave(H,X,ANG)
Y = collectPlaneWave(H,X,ANG,FREQ)
Y = collectPlaneWave(H,X,ANG,FREQ,C)
Incoming signals, specified as an M-column matrix. Each column
Directions from which incoming signals arrive, in degrees.
Carrier frequency of signal in hertz.
Propagation speed of signal in meters per second.
Default: Speed of light
Plane Waves Received at Array of Subarrays
Simulate the received signal at a 16-element ULA composed of four 4-element ULAs.
array = phased.ULA('NumElements',4); subarrays = phased.ReplicatedSubarray('Subarray',array,'GridSize',[4 1]);
Simulate two signals received from 10° azimuth and 30° azimuth. Both signals have an elevation angle of 0°. Assume the propagation speed is the speed of light and the carrier frequency of the signal is 100 MHz.
y = collectPlaneWave(subarrays,randn(4,2),[10 30],100.0e6,... physconst('LightSpeed'));
collectPlaneWave modulates the input signal
with a phase corresponding to the delay caused by the direction of
arrival. This method does not account for the response of individual
elements in the array and only models the array factor among subarrays.
Therefore, the result does not depend on whether the subarray is steered.