Let's say I have a signal $s(t)$ and two filters $f_1(t)$ and $f_2(t)$, I also have a threshold $A$.

Now I define $a_1(t)$ as $a_1(t) = \min(s(t),A)$, then I do the convolution of $a_1* f_1$.

Now I also define $a_2(t)$ as $a_2(t) = \max(0, s(t)-A)$, (ie. whatever is above $A$) then I do the convolution of $a_2*f_2$.

The total result $a$ is $a=a_1*f_1+a_2*f_2$.

Is there a name for such a kind of filter?

Basically, I do some convolution filter on some part of the input, and some other convolution on the remaining part of the input, then add the results

This can also by generalized with more than 2 filters, or continuous thresholds and continuously parametrized convolution functions

  • $\begingroup$ Can you please clarify what a1 and s1 are in equations, by editing your question? Thanks! $\endgroup$ Feb 14 '17 at 21:44
  • $\begingroup$ Well, when adding $a=a_1+a_2$ this exactly yields $s(t)$. I suppose you want to add $a=f_1*a_1 + f_2*a_2$, dont you? $\endgroup$ Feb 14 '17 at 21:54
  • $\begingroup$ I can't think of any signal / problem where this is overly useful, since your thresholding operation introduces new frequencies into your signal. It feels like you're asking for something that solves a problem that you think solves your actual problem... this might be a case of the XY Problem; I think you should add background to your question to explain what you're doing. $\endgroup$ Feb 14 '17 at 21:54
  • $\begingroup$ @lezebulon fixed that $\endgroup$ Feb 14 '17 at 21:56
  • $\begingroup$ @MarcusMüller for instance, I have a signal such that if it's too above a threshold, I want to integrate what's above over a longer period (so in that case the support of f2 is longer than the support of f1). This allows me to smooth differently my input depending on its value $\endgroup$
    – lezebulon
    Feb 14 '17 at 21:57

Is there a name for such a kind of filter?

No. (Ok, there probably is, but it's not commonly used)

The point is that your filter is not a linear system, and thus has properties that make it unsuitable for most applications. Hence, I'd neither heard of someone using it, nor of someone giving it a name.


If you have the computing capacity to run the two convolution algorithms in parallel side by side, you can fade between the two outputs based on the threshold $A$. You can even specify the speed and curve of the fading beside the threshold if you want.

This technique is often used for applications where you have to deal with parameter changes in the algorithms with minimalized transients in the output signals.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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