[linux-audio-dev] IR FFT smoothing

Denis Sbragion d.sbragion at infotecna.it
Thu Jul 6 07:19:16 UTC 2006

Hello Andrew,

On Thu, July 6, 2006 03:02, Andrew Gaydenko wrote:
> At any case, I have tried very simple smoothing of FFT-output, when y(n) is an
> arithmetic mean
> of x(n) and few other input signals before x(n). This "few other" is
> proportional to n. Result
> of "1/6 octave smoothing" is here:
> http://gaydenko.com/mix/simpleSmoothing.png

this looks pretty much like the classical "running average" smoothing, which
is one of the standard methods used to perform fractional octave smoothing.
For most purposes this is pretty good. BTW there's one thing that is unclear
to me:

>                 if(idx < 0): idx = 0 # to avoid edge effect
>                     sum += x[idx]

Here x[idx] is a complex value or a real one (i.e. magnitude only)? If it's a
real one you're doing the standard fractional octave smoothing, if it is a
complex one you're doing something pretty close to complex smoothing.

Looking at the results it should be a real value, else there should be the
typical phase cancellation problems of the complex smoothing procedure. There
are some way to overcome these problems. I have a paper where smothing is
performed separately on the magnitude and phase of the response. The results
are really good in this situation, as long as you are able to compute the
continuous (unwrapped) phase function, which is a challenging task by itself.


	Denis Sbragion
	Tel: +39 0362 805396, Fax: +39 0362 805404
	URL: http://www.infotecna.it

More information about the Linux-audio-dev mailing list