[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