Narrowly speaking, the only truly non-causal systems are ones with an infinite input stream, and that make use of time-values of input stretching out to infinity. If the input is finite (which is always is, in practice), then the system can't be non-causal. So in practice, people tend to use non-causal to mean something more like "would have more latency or use more memory than I can afford". Steve
Re: Textbook definition of causal
Started by ●October 13, 2009
Reply by ●October 13, 20092009-10-13
Steve Pope wrote:> Narrowly speaking, the only truly non-causal systems are > ones with an infinite input stream, and that make use of time-values > of input stretching out to infinity. If the input is > finite (which is always is, in practice), then the system > can't be non-causal. > > So in practice, people tend to use non-causal to mean something > more like "would have more latency or use more memory than > I can afford".I think the intricacy of the mathematics is clouding the issue for you. If the light in my den reliably turns on and off a millisecond before I flip the switch at any old random time, that's not causal. jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●October 13, 20092009-10-13
Jerry Avins <jya@ieee.org> wrote:>Steve Pope wrote:>> Narrowly speaking, the only truly non-causal systems are >> ones with an infinite input stream, and that make use of time-values >> of input stretching out to infinity. If the input is >> finite (which is always is, in practice), then the system >> can't be non-causal.>> So in practice, people tend to use non-causal to mean something >> more like "would have more latency or use more memory than >> I can afford".>I think the intricacy of the mathematics is clouding the issue for you. >If the light in my den reliably turns on and off a millisecond before I >flip the switch at any old random time, that's not causal.Let's try this again. Systems that actually exist, in hardware or in simulation, and which have finite input -- in other words all systems engineers actually have to deal with -- are, technically speaking, always causal. So therefore the term "causal" would be mostly useless to engineers were they to use it in this strict sense. So they use it in a looser sense. I think this information may be important to the OP, which is why I am mentioning it. Steve
Reply by ●October 13, 20092009-10-13
Steve Pope wrote:> Jerry Avins <jya@ieee.org> wrote: > >> Steve Pope wrote: > >>> Narrowly speaking, the only truly non-causal systems are >>> ones with an infinite input stream, and that make use of time-values >>> of input stretching out to infinity. If the input is >>> finite (which is always is, in practice), then the system >>> can't be non-causal. > >>> So in practice, people tend to use non-causal to mean something >>> more like "would have more latency or use more memory than >>> I can afford". > >> I think the intricacy of the mathematics is clouding the issue for you. >> If the light in my den reliably turns on and off a millisecond before I >> flip the switch at any old random time, that's not causal. > > Let's try this again. > > Systems that actually exist, in hardware or in simulation, and which > have finite input -- in other words all systems engineers actually > have to deal with -- are, technically speaking, always causal. > > So therefore the term "causal" would be mostly useless > to engineers were they to use it in this strict sense. > So they use it in a looser sense. I think this information > may be important to the OP, which is why I am mentioning it.The term "causal" in no less useful that the terms "realizable" and "pregnant". It either is or it isn't. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●October 13, 20092009-10-13
Jerry Avins <jya@ieee.org> wrote:>Steve Pope wrote:>> Jerry Avins <jya@ieee.org> wrote:>>> Steve Pope wrote:>>>> Narrowly speaking, the only truly non-causal systems are >>>> ones with an infinite input stream, and that make use of time-values >>>> of input stretching out to infinity. If the input is >>>> finite (which is always is, in practice), then the system >>>> can't be non-causal.>>>> So in practice, people tend to use non-causal to mean something >>>> more like "would have more latency or use more memory than >>>> I can afford".>>> I think the intricacy of the mathematics is clouding the issue for you. >>> If the light in my den reliably turns on and off a millisecond before I >>> flip the switch at any old random time, that's not causal.>> Let's try this again.>> Systems that actually exist, in hardware or in simulation, and which >> have finite input -- in other words all systems engineers actually >> have to deal with -- are, technically speaking, always causal.>> So therefore the term "causal" would be mostly useless >> to engineers were they to use it in this strict sense. >> So they use it in a looser sense. I think this information >> may be important to the OP, which is why I am mentioning it.>The term "causal" in no less useful that the terms "realizable" and >"pregnant". It either is or it isn't.Not always. I'll try an example. If it doesn't take, then I'll give up. :-) Suppose an engineer is processing a stream of data. Suppose his requirement is to produce a result at time t, and he investigates an algorithm that produces the sort of result he wants, but which employs information that doesn't exist until time t + 100. He very likely will say, "this is a non-causal algorithm". But what he really means is that it doesn't meet his latency spec. Change the spec, and the same algorithm suddenly becomes causal. Strictly speaking, it was causal all along; but in common parlance many would call it non-causal. This looser sort of terminology is very common, for example, in discussions about clock extraction. In my experience, etc. Steve
Reply by ●October 13, 20092009-10-13
Steve Pope wrote:> Jerry Avins <jya@ieee.org> wrote: > >> Steve Pope wrote: > >>> Jerry Avins <jya@ieee.org> wrote: > >>>> Steve Pope wrote: > >>>>> Narrowly speaking, the only truly non-causal systems are >>>>> ones with an infinite input stream, and that make use of time-values >>>>> of input stretching out to infinity. If the input is >>>>> finite (which is always is, in practice), then the system >>>>> can't be non-causal. > >>>>> So in practice, people tend to use non-causal to mean something >>>>> more like "would have more latency or use more memory than >>>>> I can afford". > >>>> I think the intricacy of the mathematics is clouding the issue for you. >>>> If the light in my den reliably turns on and off a millisecond before I >>>> flip the switch at any old random time, that's not causal. > >>> Let's try this again. > >>> Systems that actually exist, in hardware or in simulation, and which >>> have finite input -- in other words all systems engineers actually >>> have to deal with -- are, technically speaking, always causal. > >>> So therefore the term "causal" would be mostly useless >>> to engineers were they to use it in this strict sense. >>> So they use it in a looser sense. I think this information >>> may be important to the OP, which is why I am mentioning it. > >> The term "causal" in no less useful that the terms "realizable" and >> "pregnant". It either is or it isn't. > > Not always. I'll try an example. If it doesn't take, then > I'll give up. :-) > > Suppose an engineer is processing a stream of data. Suppose > his requirement is to produce a result at time t, and > he investigates an algorithm that produces the sort of result > he wants, but which employs information that doesn't exist until > time t + 100. > > He very likely will say, "this is a non-causal algorithm". > But what he really means is that it doesn't meet his latency > spec. Change the spec, and the same algorithm suddenly > becomes causal. Strictly speaking, it was causal all along; > but in common parlance many would call it non-causal. > > This looser sort of terminology is very common, for example, > in discussions about clock extraction. > > In my experience, etc.I think I see what you mean, but if so, it's misuse. But I won't insist if you'd rather I didn't. :-) Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●October 13, 20092009-10-13
Jerry Avins <jya@ieee.org> wrote:>Steve Pope wrote:>> Suppose an engineer is processing a stream of data. Suppose >> his requirement is to produce a result at time t, and >> he investigates an algorithm that produces the sort of result >> he wants, but which employs information that doesn't exist until >> time t + 100.>> He very likely will say, "this is a non-causal algorithm".>I think I see what you mean, but if so, it's misuse.For sure, it's a misuse, unless one accepts that a secondary definition of "causal" has taken hold. Steve
Reply by ●October 13, 20092009-10-13
On Tue, 13 Oct 2009 22:28:32 +0000, Steve Pope wrote:> Narrowly speaking, the only truly non-causal systems are ones with an > infinite input stream, and that make use of time-values of input > stretching out to infinity. If the input is finite (which is always is, > in practice), then the system can't be non-causal. > > So in practice, people tend to use non-causal to mean something more > like "would have more latency or use more memory than I can afford". > > SteveSo a crystal ball is causal if it only tells me things that are going to happen within a year? I think you have a very communications-centric view of causal systems. Were you a control systems engineer you'd know in your bones that a causal system is one that can only use past values of its input to make decisions. It's an amazing limiter to performance, that. -- www.wescottdesign.com
Reply by ●October 13, 20092009-10-13
On Tue, 13 Oct 2009 23:04:12 +0000, Steve Pope wrote:> Jerry Avins <jya@ieee.org> wrote: > >>Steve Pope wrote: > >>> Narrowly speaking, the only truly non-causal systems are ones with an >>> infinite input stream, and that make use of time-values of input >>> stretching out to infinity. If the input is finite (which is always >>> is, in practice), then the system can't be non-causal. > >>> So in practice, people tend to use non-causal to mean something more >>> like "would have more latency or use more memory than I can afford". > >>I think the intricacy of the mathematics is clouding the issue for you. >>If the light in my den reliably turns on and off a millisecond before I >>flip the switch at any old random time, that's not causal. > > Let's try this again. > > Systems that actually exist, in hardware or in simulation, and which > have finite input -- in other words all systems engineers actually have > to deal with -- are, technically speaking, always causal. > > So therefore the term "causal" would be mostly useless to engineers were > they to use it in this strict sense. So they use it in a looser sense. > I think this information may be important to the OP, which is why I am > mentioning it.Having had to deal with "engineers" who couldn't understand this limitation (and the looser, but still insurmountable one about signals being limited to the speed of light, and material density being limited to that of depleted uranium, etc.) I have to take exception with your blithe assumptions. -- www.wescottdesign.com
Reply by ●October 13, 20092009-10-13
spope33@speedymail.org (Steve Pope) writes:> Jerry Avins <jya@ieee.org> wrote: > >>Steve Pope wrote: > >>> Suppose an engineer is processing a stream of data. Suppose >>> his requirement is to produce a result at time t, and >>> he investigates an algorithm that produces the sort of result >>> he wants, but which employs information that doesn't exist until >>> time t + 100. > >>> He very likely will say, "this is a non-causal algorithm". > >>I think I see what you mean, but if so, it's misuse. > > For sure, it's a misuse, unless one accepts that a secondary definition > of "causal" has taken hold."Secondary definition"? We're in trouble! -- Randy Yates % "And all that I can do Digital Signal Labs % is say I'm sorry, mailto://yates@ieee.org % that's the way it goes..." http://www.digitalsignallabs.com % Getting To The Point', *Balance of Power*, ELO






