On Sun, Mar 8, 2020, at 7:41 PM, Ethan Duni wrote:
> FFT filterbanks are time variant due to framing effects and the circular
> convolution property. They exhibit “perfect reconstruction” if you design the
> windows correctly, but this only applies if the FFT coefficients are not
> altered between analysis and synthesis. If you alter the FFT coefficients
> (i.e., “filtering”), it causes time domain aliasing.
But you can avoid this by zero-padding before you do the FFT. In effect this
turns circular convolution into linear convolution - the "tail" ends up in the
zero-pading rather than wrapping around and causing time-aliasing. This is what
overlap-add FFT convolution does.
In fact, the the standard STFT analysis/synthesis pipeline is the same thing as
overlap-add "fast convolution" if you:
1. Use a rectangular window with a length equal to your hop size
2. zero-pad each input frame by the length of your FIR kernel minus 1
Then the regular overlap-add STFT resynthesis is the same as "fast
convolution", and will give you the same thing (to numerical precision) you
would get with a time-domain FIR implementation.
>> On Mar 8, 2020, at 2:04 PM, zhiguang zhang <zhiguangezh...@gmail.com> wrote:
>> but bringing up traditional FIR/IIR filtering terminology to describe FFT
>> filtering doesn't make sense in my mind. I'm not in the audio field. but
>> yes, I do believe that the system is time invariant, but I don't have time
>> to prove myself to you on this forum at this time, nor do I have any
>> interest in meeting Dr Bosi at AES.
I don't really understand this perspective - there's a tremendous amount of
conceptual overlap between these ideas, and regimes where they are completely
equivalent (e.g. implementing a time-invariant FIR filter in the frequency
domain using block-by-block "fast convolution"). Certainly when you're doing
time-variant filtering things are somewhat different (e.g. multiplying in the
STFT domain with changing coefficients is doing some kind of frame-by-frame
cross-fading, which will not give the same result as varying the parameters of
an FIR filter on a sample-by-sample basis, in a pure time-domain
implementation). That said, using the same terminology where we can helps
highlight the places where these concepts are related.
-s
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp