View Single Post
Old 01-13-2021, 01:43 PM   #5
Human being with feelings
Join Date: Aug 2008
Posts: 37

I'm trying to implement autocorrelation as outlined in the Autotune patent, which is done with four multiply-adds per lag per sample.

Basically it involves keeping a series of moving averages across lengths ranging from a couple up to 880 samples. It's an awesomely elegant approach, but for perfect accuracy it requires that the number added is EXACTLY the number subtracted 880 samples later.

I tried filtering out the drift with a DC offset filter, and briefly tried something like an exponential moving average, but wasn't able to get any usable results from either. As far as I can tell, this approach requires equal-weight averages, and doesn't respond well to drift. The numbers not being subtracted back out is clearly visible when I plot the values

Of course my code could be wrong as well, it almost looks like it's barely subtracting the values out at all. Maybe I'm chasing a red herring here and the issue is something else.

Last edited by noouch; 01-13-2021 at 02:01 PM.
noouch is offline   Reply With Quote