Lets say I have some arbitrary waveform shape I want to look for. We'll use this as an example:


If my input is some mildly noisy signal, and I see something like this:

Match signal

I can run that through a normalized matched filter and I should be able to easily identify this signal as my target waveform. However, lets say I see something like this:

NonMatch signal

Same general shape, but its at 1/2 the timescale. But I want to be able to detect this signal as well, and any other with the same shape but some unknown time scale(within some discrete limit).

I would like to be able to do this in real time, so simply decimating or interpolating the sampled date at different rates to see if that produces a match wouldn't be feasible. Is there any algorithm that could be used to quickly determine if any subset of my vector of samples contains a matching waveform to this target profile?

  • $\begingroup$ For this specific example, with the given SNR and considering no fading, it is not difficult to "detect" the signal. just apply a form of peak detection, the simplest would be a threshold-based one. $\endgroup$
    – msm
    Sep 30, 2016 at 21:43

1 Answer 1


One first quick and dirty method could be to first store a sort of scale-space library of your original waveform $w(t)$, computed at different scales (discretized), and then perform a "filter bank" of matched filters in parallel on the same observed signal. This proposition is a kind of dual of the non-feasible solution you evoked. This way, you can save time from having the waveform scaled offline, and do not have to it on the signal. Then, you would probably have to detect the best match at a given time. Ambiguities may appear by superposition: at a given time $t_0$, the signal could look like $a w(t-t_0) + b w\left(\frac{t-t_0}{s}\right)$, where $s$ is a scale parameter.

To see how much better could an offline solution be, you may have a look at a scale-invariant matched filter. Thanks to you question, I just discovered the recent paper: The Mellin Matched Filter, A. Monakov, 2015:

In propagation channels signals are undergone translation and dilation changes. The Fourier and Mellin transforms are natural foundations of the analysis of wideband signals. Three interconnected problems, where the Mellin transform plays a key role, are considered in the paper: i) synthesis of a linear matched filter that is invariant to signal scale; ii) estimation of the signal scale; and iii) the wideband ambiguity function and its properties. The filter that is invariant to the signal scale and maximizes the output SNR is synthesized in the paper using the Mellin transform. The filter is named the Mellin matched filter. Introduction of the Mellin matched filter allows to give a new interpretation of the signal scale estimation and the wideband ambiguity function. Concept of the Mellin matched filter facilitates to produce a physical interpretation of the resolution of wideband signals and the time-frequency-scale uncertainties.

I have no idea about how it performs in practice.

  • 1
    $\begingroup$ That's a nice find! $\endgroup$
    – MBaz
    Oct 1, 2016 at 1:16
  • $\begingroup$ @MBaz Possibly, I am eager to have some free time and a real problem to try it $\endgroup$ Oct 1, 2016 at 12:44
  • 1
    $\begingroup$ Cool stuff, @LaurentDuval ! $\endgroup$
    – Peter K.
    Oct 1, 2016 at 14:21
  • $\begingroup$ That Mellin transform looks like it could be very useful, it could be exactly what I was hoping to find. Thanks for bringing it to my attention! $\endgroup$
    – und0783
    Oct 3, 2016 at 12:02
  • $\begingroup$ The bank of matched filters is often used in Sonar signal processing (Nielsen - "Sonar Signal Processing'). The spacing of the replicas is determined by the 3 dB points in the Wideband ambiguity function. For LFM chirps you usually require only a small number of replicas because they are Doppler intolerant. A CW pulse on the other hand requires a larger number of replicas, but this is easily handled by FFT type processing. $\endgroup$
    – David
    Oct 3, 2016 at 15:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.