DSPRelated.com
Forums

problem when calculating roots based on LPC coefficients

Started by John November 27, 2005
Hi

If I have a polynomial A(z)=1+a1*z^(-1)+a2*z^(-2)+.....+a10*z^(-10) and I 
solve A(z)=0 and write the solution as a vector [r1,r2,....,r10] then I can 
say that the action of finding the roots is a one-to-many transformation 
from the coefficient vector [a1,a2,.....,a10] to the root vector 
[r1,r2,...,r10]....

Is it possible somehow to ensure that the above transformation of a given 
coefficient-vector always results in the same root vector ?

For example:

The above transformation of a coefficient vector a=[1,0.5,-0.25] will result 
in the root vector   [-0.8090,0.3090]

But [0.3090,-0.8090] is also a solution.....so is it possible somehow to 
solve this problem and ensure a one-to-one mapping ??

If not, how should/could I go about it then?

Thank you .



Is it possible? Easily.  Make a sorting rule that sorts the results
based on number characteristics so that the sort is unambiguous. Use
the resulting sorted vector.

Why do you want to?

Dirk

Hi there...

I am going to implement a Hidden Markov Model and as far as I can see it's 
important
that I train the model with vectors that are unique, right?

In my case the observation vector is a 10-dimensional complex vector. The 
entries in
this vector are the roots of the polynomial A(z).

As you can see - using the roots - means that the vector is _not_ unique 
unless I:

a) split the vector up in 5 2-dimensional vectors and plot them and then use 
the
generated pattern as a "state"

or

b) am able to ensure that there is a one-to-one mapping between the 
coefficient
vector and the 10-dimensional complex vector by using some sort-rule

Which sort rule do you propose?

Thanks
------------
> Why do you want to? > > Dirk >
There are probably many rules.  If simply making them unique (1-1) was
the problem then consider sorting the roots by increasing magnitude,
then when encountering the same magnitude, use increasing angle. That
would be 1-1.  But it sounds like you may have another problem in that
a little perturbation of the roots could then change the order. So you
need a sorting method that is insensitive to small changes.  You might
want to look at [first reflection coef, 2nd reflection coef, ...] since
this has the order predetermined.  Intuitively (based on whatever) I am
guessing the RC values are less sensitive to small perturbations (may
be more so for certain coefs). Check the literature.

FWIW,

Dirk