Re: [ng-spice-devel] Pole-zero analysis issues.


To ng-spice-devel@ieee.ing.uniroma1.it
From Paolo Nenzi <pnenzi@ieee.ing.uniroma1.it>
Date Sat, 17 Jun 2000 10:40:16 +0200 (CEST)
Delivered-To mailing list ng-spice-devel@ieee.ing.uniroma1.it
In-Reply-To <20000616212419.A818@cgmd80028.chello.nl >
Mailing-List contact ng-spice-devel-help@ieee.ing.uniroma1.it; run by ezmlm
Reply-To ng-spice-devel@ieee.ing.uniroma1.it

On Fri, 16 Jun 2000, Arno W. Peters wrote:

> On Fri, Jun 16, 2000 at 06:30:44PM +0200, Paolo Nenzi wrote:

> So far I haven't compiled any of the older versions to see what
> version introduced the error.  If somebody would step up to check
> this?

I have compiled the cktpx* code with PZDEBUG defined and run the
simulation with the bridge filter:

Circuit: * Bridge T Filter

ngspice 1 -> run
suggestion(0/0/4 | 0): init
                Guess
* (  1/  1) 0 0 :: 0.524287999999998977074255890329 0 -19
suggestion(1/0/4 | 0): init
                Guess
* (  2/  2) 1 0 :: 0.525861388287999220736423922062 0 -19
suggestion(1/0/4 | 0): init
given 1 0 / 0 0 / 1 0
suggestion(1/0/4 | 3): sym 1
* (  3/  3) nan 0 :: nan nan -2147483648
given 0 0 / 1 0 / nan 0
suggestion(1/0/4 | 3): sym 1
* (  4/  4) nan 0 :: nan nan -2147483648
given 1 0 / nan 0 / nan 0
suggestion(1/0/4 | 3): sym 1
* (  5/  5) nan 0 :: nan nan -2147483648
given nan 0 / nan 0 / nan 0
suggestion(1/0/4 | 3): split right
* (  6/  6) nan 0 :: nan nan -2147483648
Aborted

There are a lot of NANs, do not seems normal. The other circuit (the
filt_rc.cir) ends in a segmentation violation (the output is attached
below)

filt_rc.out:

suggestion(0/0/3 | 0): init
                Guess
* (  1/  1) 0 0 :: 0.511999999999999566568931186339 0 -9
suggestion(1/0/3 | 0): init
                Guess
* (  2/  2) 1 0 :: 0.512000005119999546110420851619 0 -9
suggestion(1/0/3 | 0): init
given 1 0 / 0 0 / 1 0
suggestion(1/0/3 | 0): skip left
                Guess
* (  3/  3) -1 0 :: 0.511999994879999476005139058543 0 -9
given -1 0 / 0 0 / 1 0
suggestion(1/0/3 | 0): skip left
                Guess
* (  4/  4) -10 0 :: 0.511999948799999438087127145991 0 -9
given -10 0 / 0 0 / 1 0
suggestion(1/0/3 | 0): skip right
given -10 0 / 0 0 / 0 0
suggestion(1/0/3 | 0): skip right
                Guess
* (  5/  5) 10 0 :: 0.512000051199999584028432764171 0 -9
given -10 0 / 0 0 / 10 0
suggestion(1/0/3 | 0): skip left
given 10 0 / 0 0 / 10 0
suggestion(1/0/3 | 0): skip left
                Guess
* (  6/  6) -100 0 :: 0.511999487999999391973915408016 0 -9
given -100 0 / 0 0 / 10 0
suggestion(1/0/3 | 0): skip right
given -100 0 / 0 0 / -10 0
suggestion(1/0/3 | 0): skip right
given -100 0 / 0 0 / -1 0
suggestion(1/0/3 | 0): skip right
given -100 0 / 0 0 / 1 0
suggestion(1/0/3 | 0): skip right
given -100 0 / 0 0 / 0 0
suggestion(1/0/3 | 0): skip right
                Guess
* (  7/  7) 100 0 :: 0.51200051199999951911934203963 0 -9
given -100 0 / 0 0 / 100 0
suggestion(1/0/3 | 0): skip left
given 100 0 / 0 0 / 100 0
suggestion(1/0/3 | 0): skip left
                Guess
* (  8/  8) -1000 0 :: 0.511994879999999374931007878331 0 -9
given -1000 0 / 0 0 / 100 0
suggestion(1/0/3 | 0): skip right
given -1000 0 / 0 0 / -100 0
suggestion(1/0/3 | 0): skip right
given -1000 0 / 0 0 / 10 0
suggestion(1/0/3 | 0): skip right
given -1000 0 / 0 0 / -10 0
suggestion(1/0/3 | 0): skip right
given -1000 0 / 0 0 / -1 0
suggestion(1/0/3 | 0): skip right
given -1000 0 / 0 0 / 1 0
suggestion(1/0/3 | 0): skip right
given -1000 0 / 0 0 / 0 0
suggestion(1/0/3 | 0): skip right
                Guess
* (  9/  9) 1000 0 :: 0.512005119999999647184552031831 0 -9
given -1000 0 / 0 0 / 1000 0
suggestion(1/0/3 | 0): skip left
given 1000 0 / 0 0 / 1000 0
suggestion(1/0/3 | 0): skip left
                Guess
* ( 10/ 10) -10000 0 :: 0.511948799999999315524235043995 0 -9
given -10000 0 / 0 0 / 1000 0
suggestion(1/0/3 | 0): skip right
given -10000 0 / 0 0 / -1000 0
suggestion(1/0/3 | 0): skip right
given -10000 0 / 0 0 / 100 0
suggestion(1/0/3 | 0): skip right
given -10000 0 / 0 0 / -100 0
suggestion(1/0/3 | 0): skip right
given -10000 0 / 0 0 / 10 0
suggestion(1/0/3 | 0): skip right
given -10000 0 / 0 0 / -10 0
suggestion(1/0/3 | 0): skip right
given -10000 0 / 0 0 / -1 0
suggestion(1/0/3 | 0): skip right
given -10000 0 / 0 0 / 1 0
suggestion(1/0/3 | 0): skip right
given -10000 0 / 0 0 / 0 0
suggestion(1/0/3 | 0): skip right
                Guess
* ( 11/ 11) 10000 0 :: 0.512051199999999595569022403652 0 -9
given -10000 0 / 0 0 / 10000 0
suggestion(1/0/3 | 0): skip left
given 10000 0 / 0 0 / 10000 0
suggestion(1/0/3 | 0): skip left
                Guess
* ( 12/ 12) -100000 0 :: 0.511487999999999387590321475727 0 -9
given -100000 0 / 0 0 / 10000 0
suggestion(1/0/3 | 0): shift left
                Guess
* ( 13/ 13) -1000000 0 :: 0.506879999999999442117371017957 0 -9
given -1000000 0 / -100000 0 / 0 0
suggestion(1/0/3 | 0): shift left
                Guess
* ( 14/ 14) -10000000 0 :: 0.92159999999999886455270825536 0 -10
given -10000000 0 / -1000000 0 / -100000 0
suggestion(1/0/3 | 0): shift left
                Guess
* ( 15/ 15) -100000000 0 :: -0.749999999999995781152506424405 0 -60
given -100000000 0 / -10000000 0 / -1000000 0
suggestion(1/0/3 | 1): sym 2
diff_frac.real = -5.96046e-08, p->s =     -1e+08, nt =     -1e+08
ab=1e-20,rel=1e-12
ALTER from: -99999999.9999999403953552246094 0
nt->next -1e+08
nt->next -1e+06
not 2
p1 -1.1e+08
take p1
ALTER to  : -55000000 0
* ( 16/ 16) -55000000 0 :: 0.921599999999998198418893480266 0 -11
given -100000000 0 / -55000000 0 / -10000000 0
suggestion(1/0/3 | 1): sym 2
diff_frac.real = -5.96046e-08, p->s =     -1e+08, nt =     -1e+08
ab=1e-20,rel=1e-12
ALTER from: -99999999.9999999403953552246094 0

internal error -- segmentation violation


Paolo


Partial thread listing: