Polynomial Roots (module_poly2root.m).
Often, the polynomial roots of the AR coefficients polynomial
are a preferred spectral representation. Roots, unlike AR, RC, or ACF are directly
related to the frequencies of the spectral peaks present in the data.
We assume that all roots
have magnitude less than or equal to 1. Conversion from roots to AR polynomial
is a well-defined transformation. But, because of differences in root ordering,
conversion from polynomial to roots is not well defined. In order to make the
transformation one-to-one, it is necessary
to order the roots in a certain manner. One way is to consider three types
of roots: single real roots (type 1) , real root pairs (type 2) , and complex root
pairs (type 3). We create an output feature vector as follows. We start by
sorting all roots in increasing magnitude, then sorting roots of equal
magnitude by the root value (for real roots) or the root angle
(for complex roots). If there are an odd number of real roots,
choose the lowest (most negative) value real root as the one and only type-1 root.
We then take the remaining real root pairs in order of increasing value.
Next, we take the positive angle root of each complex root pair in the previously stated order.
For a case of three real roots at -1, .5, .9, and two complex pairs
(-.8, .5), (-.8, -.5), (.2, .3), (.2, -.3),
the resulting output vector is arranged as follows:
The feature transformation
where
is an invertible
transformation which has a well-defined Jacobian. The algorithm to compute the
Jacobian operates backwards
by starting with the roots and converting from root pairs to second-order polynomials.
Next, it convolves the second-order polynomials together to get the complete starting
polynomial. The Jacobians of each small step are combined to obtain the overall Jacobian.
See software/module_poly2root.m.