This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


System object: phased.ADPCACanceller
Package: phased

Perform ADPCA processing on input data


Y = step(H,X,CUTIDX)
Y = step(H,X,CUTIDX,ANG)
Y = step(___,DOP)
[Y,W] = step(___)



Starting in R2016b, instead of using the step method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operations.

Y = step(H,X,CUTIDX) applies the ADPCA pulse cancellation algorithm to the input data X. The algorithm calculates the processing weights according to the range cell specified by CUTIDX. This syntax is available when the DirectionSource property is 'Property' and the DopplerSource property is 'Property'. The receiving mainlobe direction is the Direction property value. The output Y contains the result of pulse cancellation either before or after Doppler filtering, depending on the PreDopplerOutput property value.

Y = step(H,X,CUTIDX,ANG) uses ANG as the receiving mainlobe direction. This syntax is available when the DirectionSource property is 'Input port' and the DopplerSource property is 'Property'.

Y = step(___,DOP) uses DOP as the targeting Doppler frequency. This syntax is available when the DopplerSource property is 'Input port'.

[Y,W] = step(___) returns the additional output, W, as the processing weights. This syntax is available when the WeightsOutputPort property is true.


The object performs an initialization the first time the step method 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 release method to unlock the object.

Input Arguments


Pulse canceller object.


Input data. X must be a 3-dimensional M-by-N-by-P numeric array whose dimensions are (range, channels, pulses).

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.


Range cell.


Receiving mainlobe direction. ANG must be a 2-by-1 vector in the form [AzimuthAngle; ElevationAngle], in degrees. The azimuth angle must be between –180 and 180. The elevation angle must be between –90 and 90.

Default: Direction property of H


Targeting Doppler frequency in hertz. DOP must be a scalar.

Default: Doppler property of H

Output Arguments


Result of applying pulse cancelling to the input data. The meaning and dimensions of Y depend on the PreDopplerOutput property of H:

  • If PreDopplerOutput is true, Y contains the pre-Doppler data. Y is an M-by-(P–1) matrix. Each column in Y represents the result obtained by cancelling the two successive pulses.

  • If PreDopplerOutput is false, Y contains the result of applying an FFT-based Doppler filter to the pre-Doppler data. The targeting Doppler is the Doppler property value. Y is a column vector of length M.


Processing weights the pulse canceller used to obtain the pre-Doppler data. The dimensions of W depend on the PreDopplerOutput property of H:

  • If PreDopplerOutput is true, W is a 2N-by-(P-1) matrix. The columns in W correspond to successive pulses in X.

  • If PreDopplerOutput is false, W is a column vector of length (N*P).


expand all

Process a radar data cube using an ADPCA processor. Weights are calculated for the 71st cell of the data cube. Load the data cube from STAPExampleData.mat. Quantize the weights to 4 bits. Set the look direction to (0,0) degrees and the Doppler shift to 12.980 kHz.

load STAPExampleData;
sADPCA = phased.ADPCACanceller('SensorArray',STAPEx_HArray,...
    'DirectionSource','Input port',...
    'DopplerSource','Input port',...
[y,w] = step(sADPCA,STAPEx_ReceivePulse,71,[0; 0],12.980e3);
sAngDop = phased.AngleDopplerResponse(...

Was this topic helpful?