DSPRelated.com
Forums

Is this statement correct?

Started by Randy Yates September 10, 2004
Bernhard,

I'm not sure I follow your analogy completely. It is my belief
that the filter can be completely stable if the proper ROC is
chosen. 

--Randy


Bernhard Holzmayer <holzmayer.bernhard@deadspam.com> writes:

> Randy Yates wrote: > > > The system transfer function for an unstable discrete time system > > is given by > > > > H(z) = 0.8970 + 2.6911z-1 + 2.6911z-2 + 0.8970z-3 / (1.0 + > > 2.3822z-1 + 3.0000z-2 + 0.7941z-3) > > > > H(z) is unstable because one or more of its poles is outside the > > unit circle. > > > > Note that nothing is mentioned regarding the region on convergence > > - assume it is free to be chosen. Also assume there are no > > restrictions on the corresonding sequence, such as causality. > > > > A sort of handwaving approach: > > Put a billard ball inside a bowl. It will come to a rest at the > deepest point. > If you nudge it a bit, it will move around, then come to a rest at > the same point as before. > It's a stable system. > > Now put the bowl upside down and place the billard ball on top. > Every slight touch or nudge on the ball will initiate a movement > which makes the ball fall off the bowl. > It will never come back to the original point. It's instable. > > As long as the system is not disturbed, it doesn't matter if it's > stable or not. > Once it is disturbed, it does. > > With discrete systems you need an additional aspect. > Imagine a rim on top of the inversed bowl: > Although the system is instable, and the ball would fall down, as > soon as the excitation were big enough, it behaves stable as long > as the excitation is not too big. > The rim describes the radius of convergence. > > Though the filter you describe is generally instable, it might be of > use depending of the application. > What you need is some sort of mechanism which makes sure that either > the ball doesn't "fall over the rim" or which "kicks it back again > once it falls over the rim". > > Once I happened to work with such an instable filter because of > rounding errors which caused the poles to be outside the unit > circle. I didn't realize this, the filter worked perfectly. > Until I happened to have one curious input signal, which made the > filter go crazy. That was rather difficult to debug. > > Nevertheless, such a filter could be useful if you want to observe > the convergence radius. As long as the condition is met, it works > as low pass filter. As soon, as the convergence radius is > overridden, by its feed-forward character it starts ringingwhich > might cause an alert. > > Bernhard > > > >
-- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124
Jerry Avins <jya@ieee.org> writes:

> Tim Wescott wrote: > > > Randy Yates wrote: > > > > >> The system transfer function for an unstable discrete time system > >> is given by > > >> > >> H(z) = 0.8970 + 2.6911z-1 + 2.6911z-2 + 0.8970z-3 / (1.0 + > >> 2.3822z-1 > > >> + 3.0000z-2 + 0.7941z-3) > >> > >> H(z) is unstable because one or more of its poles is outside the > >> unit circle. > > >> > >> Note that nothing is mentioned regarding the region on convergence - > >> assume it is free to be chosen. Also assume there are no restrictions > >> on the corresonding sequence, such as causality. > >> > >> No, this is not a homework problem. > > > Ordinarily H(z) would describe an unstable system. In fact we know > > it describes an unstable system because you say so. > > > But. If we are taking the z transform from k = -infinity to > > infinity and H(z) describes a system (ignoring rounding) who's > > impulse response is > > > h(k) = 0.897 + 0.3734 * 2.8908^k * u(-k) - 0.4155^k * (0.1786 * > > cos(2.308 * k) - 0.2950 * sin(2.308 * k)) * u(k) > > > (where u(k) is the unit step) then the system is stable (albeit > > completely unrealizable). So unless you specify that you are taking > > the one-sided z transform of the system (which is a restriction on > > causality, after all) you cannot say that an "unstable" pole of H(z) > > indicates that the described system is unstable. > > > Tim, > > Without a lot of work I don't care to do, I can't follow your path. A > question, though: why might I care about something nobody could build?
Jerry, That's the most anti-Pure Mathematics attitude I've ever seen! Most of the mathematical tools we have today were "invented" before anyone saw a practical connection. Truth knows no practical limitations! -- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124
Bernhard Holzmayer wrote:

> Randy Yates wrote: > > >>The system transfer function for an unstable discrete time system >>is given by >> >> H(z) = 0.8970 + 2.6911z-1 + 2.6911z-2 + 0.8970z-3 / (1.0 + >> 2.3822z-1 + 3.0000z-2 + 0.7941z-3) >> >>H(z) is unstable because one or more of its poles is outside the >>unit circle. >> >>Note that nothing is mentioned regarding the region on convergence >>- assume it is free to be chosen. Also assume there are no >>restrictions on the corresonding sequence, such as causality. >> > > > A sort of handwaving approach: > > Put a billard ball inside a bowl. It will come to a rest at the > deepest point. > If you nudge it a bit, it will move around, then come to a rest at > the same point as before. > It's a stable system. > > Now put the bowl upside down and place the billard ball on top. > Every slight touch or nudge on the ball will initiate a movement > which makes the ball fall off the bowl. > It will never come back to the original point. It's instable. > > As long as the system is not disturbed, it doesn't matter if it's > stable or not. > Once it is disturbed, it does. > > With discrete systems you need an additional aspect. > Imagine a rim on top of the inversed bowl: > Although the system is instable, and the ball would fall down, as > soon as the excitation were big enough, it behaves stable as long > as the excitation is not too big. > The rim describes the radius of convergence. > > Though the filter you describe is generally instable, it might be of > use depending of the application. > What you need is some sort of mechanism which makes sure that either > the ball doesn't "fall over the rim" or which "kicks it back again > once it falls over the rim". > > Once I happened to work with such an instable filter because of > rounding errors which caused the poles to be outside the unit > circle. I didn't realize this, the filter worked perfectly. > Until I happened to have one curious input signal, which made the > filter go crazy. That was rather difficult to debug. > > Nevertheless, such a filter could be useful if you want to observe > the convergence radius. As long as the condition is met, it works > as low pass filter. As soon, as the convergence radius is > overridden, by its feed-forward character it starts ringingwhich > might cause an alert. > > Bernhard
This topic -- stability -- reminds me of when I first began to read chemistry. LeChatelier's principle seemed profound. (It certainly is a useful insight.) It says that when an external stress (pressure, concentration, or temperature change) is applied to a chemical system that is in a state of equilibrium, then the equilibrium of the system will be upset, and the system will automatically respond so as to undo the stress applied externally. (I cribbed this almost verbatim from http://members.aol.com/profchm/le_chat.html.) After a while, it came clear to me that it is simply a definition of equilibrium, and that it applies generally; not just to chemistry. It is interesting that as applicability expanded, profundity diminished. It became simple. Jerry P.S. OT/2 stands for "semi off topic". -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Jerry Avins <jya@ieee.org> writes:

> Tim Wescott wrote: > > Jerry Avins wrote: > > > > >> Randy Yates wrote: > >> > >>> Randy Yates <yates@ieee.org> writes: > >>> > >>> > >>>> The system transfer function for an unstable discrete time system > >>>> is given by > > >>>> > >>>> H(z) = 0.8970 + 2.6911z-1 + 2.6911z-2 + 0.8970z-3 / (1.0 + > >>>> 2.3822z-1 + 3.0000z-2 + 0.7941z-3) > > >>> > >>> > >>> > >>> > >>> That should have been > >>> > >>> H(z) = (0.8970 + 2.6911z-1 + 2.6911z-2 + 0.8970z-3) / (1.0 + > >>> 2.3822z-1 + 3.0000z-2 + 0.7941z-3) > > >>> > >>> (parens around the numerator) > >> > >> > >> > >> A z-plane pole outside the unit circle implies an s-plane pole in the > >> right half plane. In turn, that implies an s with a positive real part. > >> Then exp(st) = exp((a+jb)t) = exp(at)*cis(bt), which grows without limit > >> for positive a. What was the question again? > >> > >> Jerry > > So, Jerry -- do you always have to translate to the s domain, or are > > you just doing it for rhetorical reasons? > > > Somewhere, I still have my spirule. (I know where my slide rules are.) I > avoid math whenever I can. I go as far back to basics as is easy for me > when my aim is to learn or to prove something. Randy is a smart cookie. > When I think I know something that he doesn't, I seek the firmest ground > available to me.
Thanks for the (indirect) complement, Jerry. That was kind of you. But the truth is, I feel very stupid most of the time. Maybe that's how smart people feel? In any case, it's not pleasant, and my desire is to remove those nasty ignorances. -- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124
Jerry Avins <jya@ieee.org> writes:
> [...] > P.S. OT/2 stands for "semi off topic".
Unless, of course, we were in the logarithmic domain, in which case it should be "sqrt(OT)"... -- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124
Jerry Avins wrote:

> Tim Wescott wrote: >
- snip -
> > Tim, > > Without a lot of work I don't care to do, I can't follow your path. A > question, though: why might I care about something nobody could build? > > Jerry
Answer A: Practical application? Eew. Answer B: To maintain mental flexibility, and/or to demonstrate the limitations of the tools that we're using. Answer C: Because it's common to approximate a realizable, high-delay filter with a filter that's referenced to time zero, and why shouldn't you extend this to a filter that's infinite in extent as well? -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
David Gelbart wrote:

> In article <10k2dkfn0o0b77d@corp.supernews.com>, > Tim Wescott <tim@wescottnospamdesign.com> wrote: > >>Randy Yates wrote: >> >> >>>The system transfer function for an unstable discrete time system is >>>given by >>> >>> H(z) = 0.8970 + 2.6911z-1 + 2.6911z-2 + 0.8970z-3 / (1.0 + 2.3822z-1 >>> + 3.0000z-2 + 0.7941z-3) >>> >>>H(z) is unstable because one or more of its poles is outside the unit >>>circle. >>> >>>Note that nothing is mentioned regarding the region on convergence - >>>assume it is free to be chosen. Also assume there are no restrictions >>>on the corresonding sequence, such as causality. >>> >>>No, this is not a homework problem. > > > I am a little shaky on this without having the book handy > to refer to, but my impression is that if you do not place > restrictions on the region of convergence and do not require > causality, then the only thing that will make BIBO stability > impossible is if there are poles on the unit circle. See Chapter 5 > of Discrete-Time Signal Processing (2nd edition) by Oppenheim and Schafer. > A subtle thing about this is that there can be different > discrete-time sequences corresponding to the same H(z), but > at most one of the sequences can be stable (again, check the book > to be sure, since I am a little shaky). > > Google turns up the following, from some class notes: > > "A discrete-time LTI system is stable if and only if > the transfer function has a region of convergence that > includes the unit circle." > http://ptolemy.eecs.berkeley.edu/eecs20/lectures/chapter12part1student.pdf > > If you don't mind sharing, I am curious how your question arose. >
The statement is true for a discrete-time LTI system with a discrete number of states and either flavor of z transform, or for a system whose z transform was derived with the one-sided z transform. Given that I've found a counter example to the statement when a two-sided z transform is used, however, it cannot be universal. Most likely the class is taught in the context of a one-sided z transform, in which case the statement is exactly correct. And I want to know how the question arose, too. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
Jerry Avins wrote:

> Tim Wescott wrote: > >> Randy Yates wrote: >> >>> The system transfer function for an unstable discrete time system is >>> given by >>> >>> H(z) = 0.8970 + 2.6911z-1 + 2.6911z-2 + 0.8970z-3 / (1.0 + >>> 2.3822z-1 + 3.0000z-2 + 0.7941z-3) >>> >>> H(z) is unstable because one or more of its poles is outside the unit >>> circle. >>> >>> Note that nothing is mentioned regarding the region on convergence - >>> assume it is free to be chosen. Also assume there are no restrictions >>> on the corresonding sequence, such as causality. >>> >>> No, this is not a homework problem. >> >> >> >> Ordinarily H(z) would describe an unstable system. In fact we know it >> describes an unstable system because you say so. >> >> But. If we are taking the z transform from k = -infinity to infinity >> and H(z) describes a system (ignoring rounding) who's impulse response is >> >> h(k) = 0.897 + 0.3734 * 2.8908^k * u(-k) - 0.4155^k * (0.1786 * >> cos(2.308 * k) - 0.2950 * sin(2.308 * k)) * u(k) >> >> (where u(k) is the unit step) then the system is stable (albeit >> completely unrealizable). So unless you specify that you are taking >> the one-sided z transform of the system (which is a restriction on >> causality, after all) you cannot say that an "unstable" pole of H(z) >> indicates that the described system is unstable. > > > Tim, > > Without a lot of work I don't care to do, I can't follow your path. A > question, though: why might I care about something nobody could build? > > Jerry
Oh damn. I made a mistake. I was up much too late last night, and leaning too heavily on theory without checking. Crud. If you take the z transform of a signal h(k) = d^k * u(k) for any |d|<1, then it will converge nicely and indicate a stable system with a z transform of z/(z-d). If you have a system with |d|>1 then the system will have a growing response, but if you have a _signal_ equal to d^k * u(-k) then the signal will be quite nicely finite. If you stupidly apply half-understood theory, then you'll say that the z transform of the above signal is z/(z-d). If you actually do the math, however, you'll get a result of sum{k=0 to infinity}((z/d)^k) = -d/(z-d), which is indistinguishable from a causal signal with a decaying exponential. (posting paused for a long string of profanity). So I think I need to go back on what I said before, and say (a) that the system must not be stable, and (b) stay away from the two-sided z transform unless you know what you're doing! -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
Tim Wescott wrote:

> Randy Yates wrote: > >> The system transfer function for an unstable discrete time system is >> given by >> >> H(z) = 0.8970 + 2.6911z-1 + 2.6911z-2 + 0.8970z-3 / (1.0 + 2.3822z-1 >> + 3.0000z-2 + 0.7941z-3) >> >> H(z) is unstable because one or more of its poles is outside the unit >> circle. >> >> Note that nothing is mentioned regarding the region on convergence - >> assume it is free to be chosen. Also assume there are no restrictions >> on the corresonding sequence, such as causality. >> >> No, this is not a homework problem. > > > Ordinarily H(z) would describe an unstable system. In fact we know it > describes an unstable system because you say so. > > But. If we are taking the z transform from k = -infinity to infinity > and H(z) describes a system (ignoring rounding) who's impulse response is > > h(k) = 0.897 + 0.3734 * 2.8908^k * u(-k) - 0.4155^k * (0.1786 * > cos(2.308 * k) - 0.2950 * sin(2.308 * k)) * u(k) > > (where u(k) is the unit step) then the system is stable (albeit > completely unrealizable). So unless you specify that you are taking the > one-sided z transform of the system (which is a restriction on > causality, after all) you cannot say that an "unstable" pole of H(z) > indicates that the described system is unstable. >
This is all BS. I wrote it last night, apparently after my brain had gone to bed. See my reply to Jerry for the full text. -- Hanging my head in shame, Tim Wescott Wescott Design Services http://www.wescottdesign.com
Tim Wescott <tim@wescottnospamdesign.com> writes:

> Jerry Avins wrote: > > > Tim Wescott wrote: > > > > >> Randy Yates wrote: > >> > >>> The system transfer function for an unstable discrete time system > >>> is given by > > >>> > >>> H(z) = 0.8970 + 2.6911z-1 + 2.6911z-2 + 0.8970z-3 / (1.0 + > >>> 2.3822z-1 + 3.0000z-2 + 0.7941z-3) > > >>> > >>> H(z) is unstable because one or more of its poles is outside the > >>> unit circle. > > >>> > >>> Note that nothing is mentioned regarding the region on convergence - > >>> assume it is free to be chosen. Also assume there are no restrictions > >>> on the corresonding sequence, such as causality. > >>> > >>> No, this is not a homework problem. > > >> > >> > >> > >> Ordinarily H(z) would describe an unstable system. In fact we know > >> it describes an unstable system because you say so. > > >> > >> But. If we are taking the z transform from k = -infinity to > >> infinity and H(z) describes a system (ignoring rounding) who's > >> impulse response is > > >> > >> h(k) = 0.897 + 0.3734 * 2.8908^k * u(-k) - 0.4155^k * (0.1786 * > >> cos(2.308 * k) - 0.2950 * sin(2.308 * k)) * u(k) > > >> > >> (where u(k) is the unit step) then the system is stable (albeit > >> completely unrealizable). So unless you specify that you are > >> taking the one-sided z transform of the system (which is a > >> restriction on causality, after all) you cannot say that an > >> "unstable" pole of H(z) indicates that the described system is > >> unstable. > > > Tim, > > > Without a lot of work I don't care to do, I can't follow your path. A > > > question, though: why might I care about something nobody could build? > > Jerry > > > Oh damn. I made a mistake. I was up much too late last night, and > leaning too heavily on theory without checking. Crud. > > > If you take the z transform of a signal h(k) = d^k * u(k) for any > |d|<1, then it will converge nicely and indicate a stable system with > a z transform of z/(z-d). > > > If you have a system with |d|>1 then the system will have a growing > response, but if you have a _signal_ equal to d^k * u(-k) then the > signal will be quite nicely finite. > > > If you stupidly apply half-understood theory, then you'll say that the > z transform of the above signal is z/(z-d). If you actually do the > math, however, you'll get a result of sum{k=0 to infinity}((z/d)^k) = > -d/(z-d), which is indistinguishable from a causal signal with a > decaying exponential. > > > (posting paused for a long string of profanity). > > So I think I need to go back on what I said before, and say (a) that > the system must not be stable, and (b) stay away from the two-sided z > transform unless you know what you're doing!
Tim, First of all, I think you were wrong about being wrong. I.e., I think you were right the first time. Second of all, I *LIKE* the two-sided z-transform - it's more general, and thus more useful. If your system is causal, then build that fact into the signal, not into the transform. That's my less-than-humble opinion. Now, if you are simply given the transfer function H(z) = z/(z - d), then you can always make a stable system from it - just the way you said. If d < 1, then a stable system is a right-sided sequence; if d > 1, then it's a left-sided sequence. Berry Thimple. --RY -- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124