[Speex-dev] interpolation of LSFs and bandwidth expansion

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Sun Jan 16 22:08:55 PST 2005

> from speex codes, i see that stability of LSFs is enforced
> each time using the function lsp_enforce_margin.  So, 
> the synthesized filter after interpolation of filters may be 
> unstable? will it be stable under certain conditions as
> mentioned in the previous paragraph?

Two issues here. First, what happens is that quantization can sometimes
cause two LSP's to "cross each other", making the filter unstable. The
other thing is that I actually enforce more separation so that not only
the filters are stable, but also not *too* close to instability.

> lag windowing is applied to the autocorrelated signal and
> from what I understand, it's used for bandwidth expansion.

That's right.

> in speex codes, there is a function bw_lpc for bandwidth expansion
> for reconstructed LPCs as well.  what's the difference between these 2
> (the initial
> lag windowing and this function) and why the need 
> for the second bandwidth expansion (when lag windowing is already
> performed initially)?

The lag windowing is used to get the best LPC coefficients. The bw_lpc
is only used to compute the perceptual weighting filter.


Jean-Marc Valin <Jean-Marc.Valin at USherbrooke.ca>
Université de Sherbrooke

More information about the Speex-dev mailing list