# 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! 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? 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. Feb 14 '17 at 21:54
• @lezebulon fixed that 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 Feb 14 '17 at 21:57

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.