question for theorists: zeros & phase

Magnus Danielson cfmd at swipnet.se
Mon Sep 27 12:39:41 CEST 1999


From: Martin Czech <martin.czech at intermetall.de>
Subject: Re: question for theorists: zeros & phase
Date: Mon, 27 Sep 1999 12:27:41 +0200 (MET DST)

Hi There Martin!

> :::Nothing really dramatic happends there... it just goes faster. You are
> :::simply not view this in enougth academic way ;)
> 
> Yes, very fast indeed, too fast for the first simple approach,
> wrong phase, thus ;->
> 
> 
> 
> :::> But one real phase jump remains: a zero on the imaginary axis, or on
> :::> the unit circle.  In both cases the phase vector comes closer and closer
> :::> to the zero, and then it jumps 180 DEG to the other side (especially in
> :::> the continuous case).
> :::> 
> :::> It is clear to me that just at the zero the vector vanishes, so the
> :::> phase does have no meaning there.
> :::
> :::This is true for zeros, it is equally true for poles, but then you are blasted
> :::instead.
> 
> Poles are excluded here, stability.

Well, it is true for poles too, if you got that kind of signal...
a exponentially decaying signal would sit left of the imaginary axis while
it's exponentail rise would be rigth of the imaginary axis. Very rarely
do we use signals that really is on the imaginary axis, I belevie we call
these devices organs ;)

> :::But you would only experience an jump if you really pass throgth either a
> :::zero or pole, this is actually _never_ done (think Heissenberg here), just
> :::close enougth to count as it.
> 
> Yes , I think this is the practical way out, we can never put a zero
> (or a pair) of zeros on the imag axis (exept for 0), so this situation
> will never happen.  In the continous world (analog) this will solve the
> problem by simply excluding it.
> 
> However, in the discrete world this is possible, a zero can be placed
> on the unit circle.  But, it comes to my mind, the circle is a curve,
> it is no longer straight, therefore the problem is not that troublesome
> anymore, since the angle change near to the zero will be allways less then
> 180 DEG, so no ambiguity. If you get very close to the zero from both
> sides (limes), the angle will expand to finally 180 DEG, but we know from which
> side we are comming, so it is clear how to count the angle direction.

Rigth. One has to get graphical guidance in solving these things.

But I will come back to that...

> :::
> :::We have a lot of signals around the imaginary axis, but we have a heck of a
> :::problem getting real poles or zeros sit tigth at the imaginary axis.
> 
> See above.
> 
> Lots of true sentences excluded here...
> 
> :::No, staring at formulas will make you gray-haired, better to retreit to
> :::a graphical view...
> :::
> :::           ^ imaginary axis
> :::           |
> :::         _-* 
> :::      _-- /|\
> :::     x   | | \
> :::        /  |  \
> :::-------|---+---o------> real axis
> :::      /    |
> :::     x     |
> :::           |
> :::           |
> :::           |
> :::
> :::Here we have the s-plane view of a 2-pole (x) and 1-zero (o) filter, which
> :::forms a simple bandpass filter which takes an op-amp and a few caps and
> :::resistors to realize (just to show that we are talking real filters here).
> 
> 
> Nice drawing. Isn't the zero located at 0 for a highpass/bandpass?
> Or was it placed a bit off side to show low frequency speaktrough?

It depends on how you want your highpass/bandpass. In the same fassion we
find that the zeros of any highpass/bandpass is never at origo, nice things
like capacitor leakage etc. prevents this.

My intend was to have it at that place. This is how I wanted this HP/BP
to be!
There is no theory that actually rules the zero to be at origo.
Certainly, for some filter classes the design rule may be that way, but this
is certainly not true for all.

> Ok, but for a theoretical system it is possible to have a zero at
> least at 0.  The problem bites again, when analysing from -inf to +inf.
> Do you mean that a theoretical system has no phase there?

This is a singularity point. You have no amplitude and therefore no phase.
For poles the situation is that you have all the amplitude in the world (and
more!) but the phase is again not helping you in any way.
The best way to describe this is that you end up with a Not-A-Number case.
Real calculation packages and hardware call these cases NaN do denote out
of range (upwards or downwards in scale) values this way. Open up your
68881 or 8087 manual to learn more. Or possibly read up on the architecture
on the 1941 German floating point machine Z3, that even had divide and
square root instructions with microcoding in hardware, just like real floating
point units of today (oups!, go of track there!).

> Again some true sentenses and formulas snipped
> 
> 
> :::and hopefully you figure the rest out.
> 
> 
> Not really. We may exclude zeros on the imag axis for real continous systems,
> but on the other hand, does this mean I can not analyse a theoretical system?
> Strange.
> 
> :::The z-plane is pretty much the same.
> 
> I don't think so. See above.

Here I try to sweep over the end and you demand more ;)

Actually, the pole/zero problem is exactly the same for discrete time
systems. At least from a analytic view. OK, they look a little bit diffrent,
but when you actually hit the pole or zero you end up with the same trouble.

Despite what we would like things to be, here is a case where our analytic
tools fails on us. This is a fundamental property that we haven't washed out
of our "pure" mathematical models.

I could go on describing this further, but not without consulting my library
of books (which on the other hand is just 1 meter away, but I am both lazy
AND getting tired) and I am not sure you would be so very better of with
the answer. I could recommend a book (used in a EE course that I haven't
passed yeat) if you are really eager to dive into this...

However, I will give you another reason for avoiding poles and zeros...
actual implementations of digital filters will become increasingly nasty as
you with practical signals get very near a pole or a zero. If you get near
a pole, then will you run into overrun (clipping) problems when your
headroom ends. For a zero will your signal be so faint that you hits the
quantization floor, and down there you never know what happends ;)
The later is however not a big catastrophe in most cases.

Another interesting thing that can happend with filters is that under certain
curcomstances can you get quantisation based nonlinear oscillation or
resonance. If you consult a propper book you can find more or less complex
ways to round of your filter constants to avoid this.

So, I must say that your strive for numerical accuracy hit on a wall.
Better learn to make propper detours since all the kings hourses and all the
kings men has not been able to pull it down.

Poles and zeros are like black holes, at times usefull and interesting things,
but you don't want to get really close to them.

Another way of viewing the phase as you hit the pole or zero rigth on is that
instead of NaN you get _all_ possible phase values for a very infinitly short
moment, whatever that helped you and we have also broken the laws of
mathematics that say that a variable can only have one value at any given
point in time. Mathematics aside (since it doesn't help us), you can pick one
of them just to hide the uglyness under the cover, for instance pick 0 degrees
since this is in the middle of 180 deg and -180 deg which are the endpoint
phases of the discontinutity. This way will it seem like just a very very
steep transition.

Now, can you handle this infinity thing without it blowing up in your hands?

Cheers,
Magnus



More information about the Synth-diy mailing list