2
$\begingroup$

If a signal undergoes repeated averaging (n times) with a filter (h) of size m. Is it possible to achieve the same averaging result with an averaging filter(H) of a larger size?

h = {1/m, 1/m... m times}

$\endgroup$
3
$\begingroup$

No, it is not possible to achieve the same result with a larger averaging filter.

Convolution is a linear process, so it obeys the law of associativity. Thus if your signal is $s(t)$ and your filter is $f(t)$ (and we'll set $n$ to 3 just to make the display easier), then we could mathematically describe the filtering as follows-

$$ \begin{align} a(t) &= ((s(t) * f(t)) * f(t)) * f(t) \\ &= s(t) * (f(t) * f(t) * f(t)) \end{align} $$ In other words convolving the signal with an averaging filter multiple times is the same as convolving it once with the averaging filter convolved with itself. So what does that look like? See below.

Averaging filter convolutions

As you can see, the filter does get wider, but it also changes form as you convolve it more times. As Libor mentioned, as $n$ gets large it starts to approximate a gaussian filter according to the central limit theorem.

$\endgroup$
4
$\begingroup$

I think you can only approximate the result made with filter of different size, but not to get exactly the same result.

Suppose you use box filter two times. This is same as convolving the box kernel with itself - that yields a "triangle" filter - and then using the "triangle" filter on the image just once.

Using box filter three times is the same as using quadratic filter one. The quadratic kernel is built by convolving a "triangle" with "box". These convolutions eventually lead to a Gaussian filter kernel.

If you perform filtering more times with smaller filter or less times with larger filter, the filter is therefore of different order, hence you can only approximate the result.

The approximation may be sufficient, but the accuracy can be proven by computing multiple convolutions of smaller and larger filters with themselves and then comparing the results.

You may be interested in approximating Gaussian blur with fast box filters - the formulas are given in SVG 1.1 Specs.

$\endgroup$
0
$\begingroup$

It depends on what you mean by the same results. If you're looking to get exactly the same numerical answer, you cannot generally do that. More precisely, filtering a signal with averaging filters of lengths $M$ and $N$ will always give you different results.

In many cases, practically speaking, it may not matter which filter you use if $M$ and $N$ are not much different. It also depends on the flexibility you have with the filters. If you're only constrained by the filter length, you can simply set the first $M$ coefficients to $\frac{1}{M}$, and the rest to zero. this will yield the same result as the original averager of length $M$.

$\endgroup$

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.