Y = step(H,X)
Y = step(H,X,XT)
Y = step(H,X,ANG)
Y = step(H,X,XT,ANG)
[Y,W] = step(___)
The object performs an initialization the first time the
Input signal, specified as an M-by-N matrix. M must be larger
than the FIR filter length specified in the
Training samples, specified as an M-by-N matrix. M and N are
the same as the dimensions of
Beamforming directions, specified as a length-2 column vector. The vector has the form [AzimuthAngle; ElevationAngle], in degrees. The azimuth angle must be between –180 and 180 degrees, and the elevation angle must be between –90 and 90 degrees.
Apply Frost beamforming to an 11-element acoustic ULA array. The incident angle of the incoming signal is -50 degrees in azimuth and 30 degrees in elevation. The speed of sound in air is assumed to be 340 m/sec. The signal has added gaussian white noise.
Simulate the signal.
rng default ha = phased.ULA('NumElements',11,'ElementSpacing',0.04); ha.Element.FrequencyRange = [20 20000]; fs = 8e3; t = 0:1/fs:0.3; x = chirp(t,0,1,500); c = 340; hc = phased.WidebandCollector('Sensor',ha,... 'PropagationSpeed',c,'SampleRate',fs,... 'ModulatedInput',false,'NumSubbands',8192); incidentAngle = [-50;30]; x = step(hc,x.',incidentAngle); noise = 0.2*randn(size(x)); rx = x + noise;
Beamforming the signal.
hbf = phased.FrostBeamformer('SensorArray',ha,... 'PropagationSpeed',c,'SampleRate',fs,... 'Direction',incidentAngle,'FilterLength',5); y = step(hbf,rx);
Plot the beamformed output.
plot(t,rx(:,6),'r:',t,y) xlabel('Time') ylabel('Amplitude') legend('Original','Beamformed');
phased.FrostBeamformer uses a beamforming algorithm
proposed by Frost. It can be considered the time-domain counterpart
of the minimum variance distortionless response (MVDR) beamformer.
The algorithm does the following:
Steers the array to the beamforming direction.
Applies an FIR filter to the output of each sensor to achieve the distortionless response constraint. The filter is specific to each sensor.
For further details, see .
 Frost, O. "An Algorithm For Linearly Constrained Adaptive Array Processing", Proceedings of the IEEE. Vol. 60, Number 8, August, 1972, pp. 926–935.
 Van Trees, H. Optimum Array Processing. New York: Wiley-Interscience, 2002.