generating matched filter for a rectangular pulse waveform

12 次查看(过去 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 个)

类别

Help CenterFile Exchange 中查找有关 Matched Filter and Ambiguity Function 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by