Hello,
just a minor issue,
is there a general formula for calculating that factor?
Thx & Bye
Flipp
-
Fft-overlap and the normalization-factor...
-
if i remember right, you can normalize by dividing by the blocksize of the subpatch.
-
Depends on the window type. With Hann window in forward and inverse fft, the normalization factor is:
(1./0.375)*(1./overlap)/framesize
For other window types you can find the factor by:
(1./(mean-of-squares-of-window))*(1./overlap)/framesize
This assumes you use windows in forward and inverse transform, so the window is squared. The mean of squares of a Hann window is 0.375.
Katja
-
Hey,
are you shure?! I didn't get it...This is the output-amplitude I end up with (I ignore the framesize (Fs=1)):
overlap {2, 4, 8}\ #of windows {1, 2} ("pre- and/or postfft"):
_\|_1__2___
2 |..1.......
4 |..2...1,5.
8 |..4...3...That means if I take an overlap of 4 and both windows the outgoing signal is 1,5*Sig_In -> multiply it with 2/3 to normalise..
Is that correct?!
Aaand, why is it impossible (for me) to use an overlap of 2 and both windows?!
Bye -
Yes I'm very shure it works like I described, but it is important to apply this normalisation factor within the FFT subpatch, so it works on each overlapping frame. Then check the result outside the FFT patch. Attached is a patch demonstrating the normalisation with different overlap.
For double windowing you need overlap 4 indeed, this is because the Hann window squared becomes to small to overlap with a constant output and you get amplitude modulations. But if you do extreme filtering in frequency domain, double windowing helps a lot in reducing the resulting artifacts. You can even do brickwall filtering then. I have sorted this out in detail a while ago, and documented my observations on a few webpages:
http://www.katjaas.nl/FFTwindow/FFTwindow.html
http://www.katjaas.nl/FFTwindow/FFTwindow&filtering.htmlKatja
http://www.pdpatchrepo.info/hurleur/fft-normalisation.pd.zip
-
Thanks for your effort Katja,
I think I got it. Makes sense since "sine-like"^2 => still "sine-like".
Bye