# generating matched filter for a rectangular pulse waveform

5 views (last 30 days)
ahmed abdelmgeed on 22 Dec 2019
Commented: Image Analyst on 31 Dec 2019
Hello,
I am working in a project where there is a waveform generated in a rectangular pulse shape between values either 0 or 1 and now I want to generate matched filter for it. so in order to generate the matched, Is all what I am going to do is to convolute the waveform by itself ?
so for example if I have a waveform x = [1 0 1 0 0 1 1 1 0] to do the matched filter it will be y = conv(x,x) ?

#### 1 Comment

Image Analyst on 31 Dec 2019
What do you want as the output? Do you want a 1 every time a pulse starts, regardless of how long the pulse is? So you'd want filteredx = [1 0 1 0 0 1 0 0 0]
OR you'd want only the starting location(s) of pulses of the same length as your template (their lengths match). Like if your template is [1 1 1] or [0 1 1 1 0] then you'd get filteredx = [0 0 0 0 0 1 0 0 0].
And if pulses are longer than your template pulse, do you want to give interior places where it matches, like if x = [1 0 1 0 0 1 1 1 1 10] and your template to match is [1 1 1] do you want filteredx = [0 0 0 0 0 1 0 0 0 0 0] or filteredx = [0 0 0 0 0 1 1 1 0 0 0].
Which matched filter case do you want?

Honglei Chen on 31 Dec 2019
In general matched filter is the conjugated time reversal of the waveform, like
y = conv(x,conj(flip(x)))
HTH