Hi,
I saw in the sources for the speex library (http://www.speex.org/)
that they add some value to the first autocorrelation result.
The results are used to produce a IIR with a levinson durbin
recursion.
float d;
int i;
while (lag--)
{
for (i = lag, d = 0; i < n; i++)
d += x[i] * x[i-lag];
ac[lag] = d;
}
ac[0] += 10;
^^^^^^^^^^^^
So the autocorrelation with zero lag is just the
signal energy, right? I played around with this value
and if I don't add something here the levison durbin recursion
produces unstable filters.
Does anybody understand why that is necessary and what
exactly the effect of it is?
I thought that I once read that LPC coefficients produced by
autocorrelation -> levinson durbin are guaranteed to be stable.
gr.
Anton