Subject: Re: conjugate poles/zeros for the laplace and zi
From: Steve Hamm (Steve.Hamm@motorola.com)
Date: Fri Mar 02 2001 - 16:33:14 PST
---"Martin" == Martin O'Leary <oleary@cadence.com> writes:
Martin> If they match within a specific percentage like 0.1% or 1ppm
Martin> that should be close enough,
We're talking about two rules here, I think.
1: If two roots have "matching" real values and imaginary values that
"match" but differ in sign, assume they form a conjugate pair
(and force them to be an exact conjugate pair).
2: If a root has an imaginary part and no other root "matches" its
real part and the absolute value of its imaginary part, create
a conjugate root to complete the pair.
What tolerance value for "matching", though? That is always the
problem on things like this.
Suppose someone drops a list of poles into a laplace_zp filter, where
a pair of poles have imaginary terms that don't match. So, depending
on the tolerance, we assume:
(a+jb) (a-j(b-eps)) -> (a+jb) (a-jb)
or (a+jb) (a-j(b-eps)) -> (a+jb) (a-jb) and (a+j(b-eps)) (a-j(b-eps))
So, we've possibly erroneously removed a pair of poles in the first
case, or we've just erroneously doubled a conjugate pair in the second
case, depending on the tolerance.
I don't like this situation, trying to guess the user's intent. So I
suppose I agree with Ian on this: we should either add syntax to allow
intent to be specified, or leave this alone.
--Steve
Steve.Hamm@motorola.com ----- Motorola Inc. Circuit Simulation Group
---- TX32 PL29, 7700 W. Parmer Lane, Austin TX 78729 ----
This archive was generated by hypermail 2b28 : Fri Mar 02 2001 - 16:33:17 PST