DSPRelated.com
Forums

Is this statement correct?

Started by Randy Yates September 10, 2004
Randy Yates <randy.yates@sonyericsson.com> writes:
> [...] > Now, if you are simply given the transfer function H(z) = z/(z - d), > then you can always make a stable system from it
Well, not *ALWAYS*. The exception is when |d| = 1.
> - 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.
That should be "|d|", not "d". -- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124
Randy Yates wrote:

   ...

> Thanks for the (indirect) complement, Jerry. That was kind of you.
Not kind. Well deserved.
> 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.
You just inspired a wonderful sig. See below. Jerry -- It takes great intellect to fathom the depths of one's own ignorance. &#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;
Tim Wescott wrote:

> 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?
I don't claim you shouldn't. I don't know why you would want to. :-) I like Answer B best. I'll buy it. Jerry P.S. I'm a queer duck. I understand why participants and those who bet on them care about the outcomes of sporting games. I don't understand why others do. I like to watch a good game. Competence and occasional excellence can excite me. Outcomes much less so. -- 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;
On Fri, 10 Sep 2004 12:19:31 -0400, Jerry Avins <jya@ieee.org> wrote:

>Randy Yates wrote: > > ... > >> Thanks for the (indirect) complement, Jerry. That was kind of you. > >Not kind. Well deserved. > >> 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. > >You just inspired a wonderful sig. See below. > >Jerry >-- > It takes great intellect to fathom the depths of one's own ignorance. >&#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;
Ahg! A conundrum in a paradox! How can I ever claim to be stupid again?! Eric Jacobsen Minister of Algorithms, Intel Corp. My opinions may not be Intel's opinions. http://www.ericjacobsen.org
In article <10k3hoq934rd25c@corp.supernews.com>,
Tim Wescott  <tim@wescottnospamdesign.com> wrote:
>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.
In an application where we have all the input data already buffered before we start our digital signal processing, I don't see why causality should be a requirement. Let's say we have a causal stable filter h(n) = a^n * u(n), for |a| < 1. If we have a finite-duration, previously recorded input signal x(n), we can approximate h(n) with the first K samples of h(n), choosing K according to (e.g.) when h(n) shrinks below the smallest representable value of a number on our computing system. Then a linear convolution of x(n) with the truncated h(n) is straightforward. If we have an anticausal stable filter h(n) = a^n * u(-n), for |a| > 1, then I think the same reasoning applies. If you prefer a biquad IIR filter sort of implementation, I think you could implement the first filter by running the input signal through the system y(n) = x(n) + a * y(n-1), with n increasing from the index of the first nonzero sample in x(n). I think you could implement the second filter using the system y(n) = x(n) + a * y(n+1), with n decreasing from the index of the last nonzero sample in x.
David Gelbart wrote:

> In article <10k3hoq934rd25c@corp.supernews.com>, > Tim Wescott <tim@wescottnospamdesign.com> wrote: > >>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. > > > In an application where we have all the input data already > buffered before we start our digital signal processing, I don't > see why causality should be a requirement. > > Let's say we have a causal stable filter h(n) = a^n * u(n), > for |a| < 1. If we have a finite-duration, previously recorded input > signal x(n), we can approximate h(n) with the first K > samples of h(n), choosing K according to (e.g.) when h(n) > shrinks below the smallest representable value of a number > on our computing system. Then a linear convolution > of x(n) with the truncated h(n) is straightforward. > > If we have an anticausal stable filter h(n) = a^n * u(-n), > for |a| > 1, then I think the same reasoning applies. > > If you prefer a biquad IIR filter sort of implementation, > I think you could implement the first filter by running > the input signal through the system y(n) = x(n) + a * y(n-1), > with n increasing from the index of the first nonzero sample in > x(n). I think you could implement the second filter using the > system y(n) = x(n) + a * y(n+1), with n decreasing from the > index of the last nonzero sample in x. > >
Yea, well, that's what answer C was all about. Answer A was just to poke fun at theorists. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
Tim Wescott wrote:

> 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.
You're confusing me. How are z/(z-d) and -e/(z-e) (0 < |d| < 1, e = 1/d) indistinguishable? -- Quidquid latine dictum sit, altum viditur.
Tim Wescott wrote:

> 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?
The output of an unstable filter grows with only saturation as a limit limit as more and more samples are run through it. How can reordering the sample's indices alter that? Jerry -- 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;
Martin Eisenberg wrote:
> Tim Wescott wrote: > > >>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. > > > You're confusing me. How are z/(z-d) and -e/(z-e) > (0 < |d| < 1, e = 1/d) indistinguishable? >
I am going to go bury my head in some dirt. You and Randy are right, I was wrong when I said I was wrong -- for |d| < 1 you either have a causal stable system or a non-causal non-stable one, and for |d| > 1 you either have a non-causal stable system or a causal non-stable one. For |d| = 1 you still have a metastable system, no matter what you do, so we can thank the Gods of Mathematics for some -- er -- stability in our lives. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
Tim Wescott <tim@wescottnospamdesign.com> writes:
> [...] > I am going to go bury my head in some dirt. You and Randy are right, > I was wrong when I said I was wrong -- for |d| < 1 you either have a > causal stable system or a non-causal non-stable one, and for |d| > 1 > you either have a non-causal stable system or a causal non-stable one. > > For |d| = 1 you still have a metastable system, no matter what you do, > so we can thank the Gods of Mathematics for some -- er -- stability in > our lives.
Tim, I have many days like the one you had, if it helps... -- % Randy Yates % "With time with what you've learned, %% Fuquay-Varina, NC % they'll kiss the ground you walk %%% 919-577-9882 % upon." %%%% <yates@ieee.org> % '21st Century Man', *Time*, ELO http://home.earthlink.net/~yatescr