System object: phased.MatchedFilter
Perform matched filtering
Y = step(H,X)
Y = step(H,X,COEFF)
[Y,GAIN] = 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) applies the matched filtering
to the input
X and returns the filtered result
Y. The filter is applied along the first dimension.
the same dimensions. The initial transient is removed from the filtered
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,COEFF) uses the input
the matched filter coefficients. This syntax is available when you
CoefficientsSource property to
[Y,GAIN] = step(___) returns
GAIN as the gain (in decibels)
of the matched filter. This syntax is available when you set the
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.
Construct a linear FM waveform with a sweep bandwidth of 300 kHz and a pulse width of 50 μs. Obtain the matched filter coefficients using the
getMatchedFilter method. Then, use the
step to match-filter the waveform.
waveform = phased.LinearFMWaveform('SweepBandwidth',3e5,... 'OutputFormat','Pulses','SampleRate',1e6,... 'PulseWidth',50e-6,'PRF',1e4); wav = waveform();
Plot the entire waveform. The length of the waveform is the pulse repetition interval (100 samples).
stem(real(wav)) xlabel('Samples') title('Real Part of Waveform')
Obtain the matched filter coefficients for the linear FM waveform. The length of the matched filter coefficiens is the length of the pulse.
mfcoeffs = getMatchedFilter(waveform); stem(real(mfcoeffs)) xlabel('Samples') title('Real Part of Matched Filter Coefficients')
step method to obtain the matched filter output.
filter = phased.MatchedFilter('Coefficients',mfcoeffs); mfoutput = filter(wav); stem(real(mfoutput)) xlabel('Samples') title('Real Part of Matched Filter Output')