Reply by Vladimir Vassilevsky●January 19, 20112011-01-19
John McDermick wrote:
> Hi,
>
> Which fixed point algorithm is the optimal choice in terms of
> precision (and speed?) for calculating LPC and LSF coefficients?
There are many good algorithms to compute LPCs and LSPs. Levinson-Durbin
recursion for LPC and then the direct search for the roots along the
unit circle for the LSPs are straightforward, well behaved and most
commonly used. It should work unless you are after something special.
Speed is no issue as those algorithms are tiny fraction of the typical
workload.
> The algorithm I am working on loads 16bit samples into a frame. The
> frame is high pass filtered and the filter output ranges between
> -50000 to 50000. I wanted to keep the output in 16bit and tried to
> scale the filter output, but that screws up the signal processing in
> the remaining algorithm. So the filter output is 32bit.
Why can't you scale the data just for LPC calculation? Especially as
scaling doesn't matter as the algorithms operate on the normalized
autocorrelation values.
Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com
Reply by Rafael Deliano●January 19, 20112011-01-19
> fixed point algorithm ... for calculating LPC ... coefficients?
Well known and later often used is:
Le Roux , Gueguen "A fixed Point Computation
of partial Correlation Coefficients" IEEE ASSP June 1977
Google will find it as lerouxgueguenschur.pdf , its online.
Searching for "LeRoux Gueguen LPC" will come up with
implementations.
MfG JRD
Reply by John McDermick●January 18, 20112011-01-18
Hi,
Which fixed point algorithm is the optimal choice in terms of
precision (and speed?) for calculating LPC and LSF coefficients?
The algorithm I am working on loads 16bit samples into a frame. The
frame is high pass filtered and the filter output ranges between
-50000 to 50000. I wanted to keep the output in 16bit and tried to
scale the filter output, but that screws up the signal processing in
the remaining algorithm. So the filter output is 32bit.
Thanks.