System object: phased.MatchedFilter
Package: phased

Perform matched filtering


Y = step(H,X)
Y = step(H,X,COEFF)
[Y,GAIN] = step(___)


Y = step(H,X) applies the matched filtering to the input X and returns the filtered result in Y. The filter is applied along the first dimension. Y and X have the same dimensions. The initial transient is removed from the filtered result.

Y = step(H,X,COEFF) uses the input COEFF as the matched filter coefficients. This syntax is available when you set the CoefficientsSource property to 'Input port'.

[Y,GAIN] = step(___) returns additional output GAIN as the gain (in decibels) of the matched filter. This syntax is available when you set the GainOutputPort property to true.

    Note:   The object performs an initialization the first time the step method is executed. This initialization locks nontunable properties 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.


Construct a linear FM waveform with a sweep bandwidth of 300 kHz and a pulse width of 50 microseconds. Obtain the matched filter coefficients using the getMatchedFilter method. Use the step method for phased.MatchedFilter to obtain the matched filter output.

hfmwav = phased.LinearFMWaveform('SweepBandwidth',3e5,...
% use step method of phased.LinearFMWaveform
% to obtain the linear FM waveform
wav = step(hfmwav);
% get matched filter coefficients for linear FM waveform
mfcoeffs = getMatchedFilter(hfmwav);
hmf = phased.MatchedFilter('Coefficients',mfcoeffs);
% use step method of phased.MatchedFilter to obtain matched filter
% output
mfoutput = step(hmf,wav);
Was this topic helpful?