# change convolution function if signal is above threshold?

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

• Can you please clarify what a1 and s1 are in equations, by editing your question? Thanks! – Maximilian Matthé Feb 14 '17 at 21:44
• 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? – Maximilian Matthé Feb 14 '17 at 21:54
• 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. – Marcus Müller Feb 14 '17 at 21:54
• @lezebulon fixed that – Marcus Müller Feb 14 '17 at 21:56
• @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 – lezebulon Feb 14 '17 at 21:57

## 2 Answers

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.