SPlsfXpc
Routine
-
void SPlsfXpc (const float lsf[], float pc[], int Np)
Purpose
-
Convert LSF's to predictor coefficients
Description
This routine converts a vector of line spectral frequencies to the
corresponding vector of predictor coefficients. The LSF's are the
frequencies (angles) corresponding to roots on the unit circle. These roots
are the roots of two polynomials, one symmetric, the other anti-symmetric.
The odd-numbered LSF's specify roots of one polynomial, while the even-
numbered LSF's specify the roots of the other polynomial. The polynomials
are formed by the polynomial multiplication of the factors representing
conjugate pairs of roots. The predictor coefficients are formed by the
addition of the two polynomials.
Line spectral frequencies and predictor coefficients are usually expressed
algebraically as vectors with one-offset indexing. The correspondence to the
zero-offset C-arrays is as follows.
l(1) <==> lsf[0] first (lowest frequency) line spectral frequency
l(i) <==> lsf[i-1] 1 <= i < Np
p(1) <==> pc[0] predictor coefficient corresponding to lag 1
p(i) <==> pc[i-1] 1 <= i < Np
Parameters
-
-> const float lsf[]
-
Array of Np line spectral frequencies. Each line spectral frequency lies
in the range 0 to pi. If the LSF's are well-ordered (ascending order),
the resulting predictor corresponds to a minimum phase prediction error
filter.
-
-> int Np
-
Number of coefficients (at most 50)
-
<- float pc[]
-
Output array of Np predictor coefficients. These are the coefficients
of the predictor filter, with pc[0] being the predictor coefficient
corresponding to lag 1, and pc[Np-1] corresponding to lag Np.
-
-> int Np
-
Number of coefficients (at most 50)
Author / revision
P. Kabal
/ Revision 1.21 2003/05/09
See Also
SPcepXpc,
SPcorXpc,
SPecXpc,
SPrcXpc
Main Index libtsp