[speex-dev] integerization
Tom Bäckström
tom.backstrom at hut.fi
Fri Jun 27 03:23:42 PDT 2003
Hey.
The problems with Levinson -type algorithms and integrization are
well known. Older codecs have usually solved the problem by using Schur
decomposition for inversion of the autocorrelation matrix instead of
Levinson. Another solution sometimes used is to use double precision -
in this case you probably could code some pseudo-64bit implementation
(using only 32bit commands), but that can become quite complex. I would
recommend Schur. Both solutions require naturally more computations than
Levinson, but that's what you get :)
If you're unfamiliar with Schur I'd be glad to help, or you can
check out any standard matrix computation manual, e.g. Golub, "Matrix
comuptations".
cheers,
Tom Bäckström
Laboratory of Acoustics and Audio Signal Processing
Helsinki University of Technology
http://www.acoustics.hut.fi/~tbackstr/
Christian Buchner wrote:
> Hi there.
>
> Just a little status update how that integerization is coming along.
> I am trying to limit myself to 32 bit arithmetics. That means
> not using any __int64 or long long datatypes at any point.
>
> I have now replaced all steps up to including the estimation of
> the LPC filter coefficients with integer code. That is about a
> quarter of the total work completed, I would say.
>
> One problem that i encountered is the high dynamic range of the
> results of the autocorrelation function. Think 96db squared.
> -> 192 dB ;) That is not very desirable when used as input for
> further processing.
>
> I have most precision issues pretty well under control until before
> I enter the Levinson Durbin algorithm. The Levinson Durbin routine
> is where things go bad. I am currently losing 2 dB of SNR when I
> apply the integerized version. The algorithm seems very sensitive
> to rounding and precision issues.
>
> Is there a way to alter the algorithm or to condition the input
> values and intermediate results such that the outcome is not quite
> as sensitive to computation with integer arithmetics?
> Do we have some of the maths/signal processing gurus here who
> could provide some clues?
>
> I may decide to postpone "fixing" this routine and proceed
> with my integeization quest. Just like most politicians do:
> Leave a mess and quietly return to business. ;)
>
> Christian
>
> --- >8 ----
> List archives: http://www.xiph.org/archives/
> Ogg project homepage: http://www.xiph.org/ogg/
> To unsubscribe from this list, send a message to 'speex-dev-request at xiph.org'
> containing only the word 'unsubscribe' in the body. No subject is needed.
> Unsubscribe messages sent to the list will be ignored/filtered.
>
--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'speex-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Speex-dev
mailing list