generating matched filter for a rectangular pulse waveform

12 vues (au cours des 30 derniers jours)
ahmed abdelmgeed
ahmed abdelmgeed le 22 Déc 2019
Commenté : Image Analyst le 31 Déc 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 commentaire
Image Analyst
Image Analyst le 31 Déc 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?

Connectez-vous pour commenter.

Réponse acceptée

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

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by