System object: phased.STAPSMIBeamformer
Perform SMI STAP processing on input data
Y = step(H,X,CUTIDX)
Y = step(H,X,CUTIDX,ANG)
Y = step(H,X,CUTIDX,DOP)
[Y,W] = step(___)
Starting in R2016b, instead of using the
to perform the operation defined by the System
object™, you can
call the object with arguments, as if it were a function. For example,
= step(obj,x) and
y = obj(x) perform
Y = step(H,X,CUTIDX) applies SMI processing
to the input data,
be a 3-dimensional M-by-N-by-P numeric array whose dimensions are
(range, channels, pulses). The processing weights are calculated according
to the range cell specified by
CUTIDX. The targeting
direction and the targeting Doppler are specified by
Y is a column vector of length
M. This syntax is available when the
'Property' and the
The size of the first dimension of this input matrix can vary to simulate a changing signal length, such as a pulse waveform with variable pulse repetition frequency.
Y = step(H,X,CUTIDX,ANG) uses
the targeting direction. This syntax is available when the
be a 2-by-1 vector in the form of
[AzimuthAngle; ElevationAngle] (in
degrees). The azimuth angle must be between –180 and 180. The
elevation angle must be between –90 and 90.
Y = step(H,X,CUTIDX,DOP) uses
the targeting Doppler frequency (in hertz). This syntax is available
DopplerSource property is
DOP must be a scalar.
You can combine optional input arguments when their enabling
properties are set:
Y = step(H,X,CUTIDX,ANG,DOP)
[Y,W] = step(___) returns the
W, as the processing weights.
This syntax is available when the
W is a column vector
of length N*P.
The object performs an initialization the first time the
is executed. This initialization locks nontunable
properties (MATLAB) and input specifications, such as dimensions, complexity,
and data type of the input data. If you change a nontunable property
or an input specification, the System
object issues an error.
To change nontunable properties or inputs, you must first call the
to unlock the object.
Process a data cube using an SMI beamformer. The weights are calculated for the 71st cell of a collected data cube pointing in the azimuth and elevation direction (45°,-35°) and with a Doppler of 12.980 kHz.
Load the cube data and create the SMI beamformer.
load STAPExampleData; beamformer = phased.STAPSMIBeamformer('SensorArray',STAPEx_HArray, ... 'PRF',STAPEx_PRF,'PropagationSpeed',STAPEx_PropagationSpeed, ... 'OperatingFrequency',STAPEx_OperatingFrequency, ... 'NumTrainingCells',100,'WeightsOutputPort',true, ... 'DirectionSource','Input port','DopplerSource','Input port'); [y,w] = beamformer(STAPEx_ReceivePulse,71,[45;-35],12.980e3);
Plot the angle-doppler response.
response = phased.AngleDopplerResponse( ... 'SensorArray',beamformer.SensorArray, ... 'OperatingFrequency',beamformer.OperatingFrequency, ... 'PRF',beamformer.PRF,'PropagationSpeed',beamformer.PropagationSpeed); plotResponse(response,w)