On 2020-03-19, Dario Sanfilippo wrote:

Thanks for your email, all good points. From the top of your head, could you please point me to a reference for the measurement of calculations needed in direct-form filters?

The best computational complexity in direct form convolution is guaranteed to be zero-delay convolution in the Gardner form, so O(N log M) where N is the number of samples processed and M is the support of the eventual weight/measure of the nonzero portion of the LTI impulse response. (There are methods which lead to longer responses at lower cost, but they all trade in something for something. At full innovation density/critical sampling, you cannot do any better.) This is because this sort of processing can be reduced to a binary sorting problem, which is guaranteed to asymptotically take as much time. (It is a research problem whether non-binary sorting algorithms could perchance be generalized to this setting as well; no such generalizations exist as of now.)

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=2ahUKEwi74uPM56foAhWnxcQBHeG1BU0QFjAAegQIAxAB&url=http%3A%2F%2Fwww.cs.ust.hk%2Fmjg_lib%2Fbibs%2FDPSu%2FDPSu.Files%2FGa95.PDF&usg=AOvVaw1lFWuE1IrzjRZDOD-VAP05

Gardner's algorithm is then best in more than one way. It doesn't just yield the best asymptotic performance, but exactly zero delay as well. And the guy didn't even stop there. He also broke the traditional overlap-add-FFT-convolution algorithm in running parts, so that it 1) becomes an exponential cascade of overlapping processes, whose running time sums to constant one, instead of peaking at any stage, even as a whole, and 2) it optimally reuses previous half-results in order to derive the next one. (That has a lot to do with both the OLA structure, and at the same time with how FFT is a realization of a full Fourier rotation in a function space, by coordinate-wise, parallel rotations, in a logarithmic/divide-and-conquer cascade.)

I've in fact thought that I should apply the algorithm to certain coding theoretic problems, just now. Because, since it's guaranteed to be zero-delay, you can apply it willy-nilly in decision feedback decoding, on the coding side. And since it's guaranteed to be optimal on the LTI side of things, and it's a fully neutral, general, and provably efficient LTI-DSP primitive, why not take advantage of it...? ;)
--
Sampo Syreeni, aka decoy - de...@iki.fi, http://decoy.iki.fi/front
+358-40-3751464, 025E D175 ABE5 027C 9494 EEB0 E090 8BA9 0509 85C2
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to