generating matched filter for a rectangular pulse waveform

8 次查看(过去 30 天)
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 个评论
Image Analyst
Image Analyst 2019-12-31
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
Honglei Chen 2019-12-31
In general matched filter is the conjugated time reversal of the waveform, like
y = conv(x,conj(flip(x)))
HTH

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by