# Need a fast algorithm of adaptive convolution

I have to apply some kind of adaptive filter to my function $f(x).$ I present each point of my signal as a Gaussian, whose bandwidth depends on its location (not the point of observation $\textbf{x}$) as $h(t),$ which is a known pre-calculated function. The final output function $s(x)$ is a superposition of the influence of all Gaussians (of all points).

$$s(x)=\int\limits_{-\infty}^{+\infty}f(t)g(h(t),x-t)dt$$

$g(h(t),x)$ is a $NormPDF(\sigma, x_0, x)$ with $\sigma=h(t)$, $x_0=0$

NB: the diameter of each Gaussian depends on the location of each Gaussian $t$, not on the location of observation point $x$.

It gives a good look of $s(x)$, but is calculates a bit too slow.

If I had a fixed-bandwidth filter, I could perform the well-known fast convolution algorithm via FFT. Or I could drop the faraway points and have the convolution as: $$s(x)=\int\limits_{x-\Delta x}^{x+\Delta x}f(t)g(h(t),x-t)dt$$

But for the adaptive filter I should take my $\Delta x$ at least twice as large, as the maximum bandwidth is (in my case it is nearly 30% of all x area), so it cannot give a big profit.

Also, I don't know any algorithms of fast convolutions for such types of filters.

• Your question is difficult to understand. What part of the filter is adaptive? Typically an adaptive discrete-time filter would change its filter coefficients at some interval. Are you saying that $g(h(t),x)$ is a random process that is normally distributed? Which term in your description is the actual filter that you're applying? – Jason R Sep 9 '13 at 19:33
• No, $g(h(t), x)$ is not a random process. It is just a gaussian of variabe width. – Felix Sep 11 '13 at 14:52
• The adaptive part is $h(t)$: the variable gaussian width. – Felix Sep 11 '13 at 14:53