Fast Convolution

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

Borogove wrote:Yes, FFT always has latency issues.
If FFT always has latency issues, how do the commercially developed plug-ins get around it?

Post

I think i may be getting myself confused here.

I have a wav file which contains the impulse response of a mic, i want to perform an FFT on this file using the same sorenson algorithm. This then must have the same number of bins as the FFT i am using on my incoming data, say 2048. However my impulse file is way longer than say 2048 samples. How can i get this algorithm to output an FFT of a file which is say 2 seconds long into the same number of bins.

thanks again for the help. this is a steep learning curve for me but i think im getting there.

Post

fromthisdrive wrote:
Borogove wrote:Yes, FFT always has latency issues.
If FFT always has latency issues, how do the commercially developed plug-ins get around it?
Short FFTs have lower frequency resolution, but lower latencies. You balance needed frequency resolution against acceptable latency.
Image
Don't do it my way.

Post

fromthisdrive wrote:I have a wav file which contains the impulse response of a mic, i want to perform an FFT on this file using the same sorenson algorithm. This then must have the same number of bins as the FFT i am using on my incoming data, say 2048. However my impulse file is way longer than say 2048 samples. How can i get this algorithm to output an FFT of a file which is say 2 seconds long into the same number of bins.
if i do a series of FFTs which follow on from one another and then sum and average of the contents of the bins will that give me an FFT for the whole impulse file which i can then use to multiply with the bins of the audio coming in?

Post

i'm new to this, so if i'm wrong here, someone please disabuse me of my ignorance:

i read about a technique of time decimation here

http://grus.berkeley.edu/~jrg/ngst/fft/timedeca.html

where the input is broken down into 2-point DFTs and then recombined.

why then, can you not begin performing DFTs with as little as 2 samples (4 for splix-radix?),and maintain a buffer of results for each 2-point DFT, increasing the buffer by powers of 2 as samples become available, up to max window size, so each iteration, only the newest X samples are added to the DFT results buffer and they are recombined with the previous window_max-X?

wouldn't this give you a kind of "rolling FFT" that would reduce latency?

Post

fromthisdrive wrote:I think i may be getting myself confused here.
Did you take a look at the following relevant resources about this subject?

(reprinting from http://www.kvraudio.com/forum/viewtopic ... highlight=)

The hybrid zero-delay convolution algorithm, which is patented by Lake Technology is clearly described by Gardner:

W. G. Gardner, "Efficient convolution without input-output
delay", J.AES vol. 43, n. 3, 1995 March, pp. 127-136.

which is basically real-time non-uniform partitioned FFT convolution. The uniform partioned FFT convolution is probably patent free, and it is clearly described by:

A. Torger, A. Farina, "Real-Time Partitioned Convolution for
Ambiophonics Surround Sound", 2001 IEEE Workshop on
Applications of Signal Processing to Audio and Acoustics, New
Paltz, New York, 21-24 October 2001.
http://www.angelofarina.it/Public/Paper ... nk2001.PDF

and

E. Armelloni, C. Giottoli, A. Farina, "Implementation of Real-Time Partitioned Convolution on a DSP Board", 2003 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, October 19-22, 2003, New Paltz, NY
http://www.angelofarina.it/Public/Paper ... nk2003.pdf

Post

method wrote:i'm new to this, so if i'm wrong here, someone please disabuse me of my ignorance:

wouldn't this give you a kind of "rolling FFT" that would reduce latency?
Oh, you're bang on the money there...
Alas, that's patented :P

(probably)

Dave.

Post

thanks dave! i'm extremely relieved to get confirmation that understand the process correctly!

btw i've actually got some method patents myself in controls - one thing i've been told by my company's patent attorneys is that if you do just ONE thing differently in the process, even if the principal claim is the same, that is sufficient to circumvent the patent.

Post Reply

Return to “DSP and Plugin Development”