DSPRelated.com
Forums

Textbook definition of causal

Started by italrosso October 13, 2009
On Oct 13, 2:20&#4294967295;pm, "Michael Plante" <michael.pla...@gmail.com> wrote:
> >Thank you everyone for your comments. It is interesting that even in > >engineering it is hard to pin down precise definitions. I would have > >thought you guys would have found this much easier! > > >Your help is very much appreciated. > > One analogy is to say you're providing economic advice, but you can only > advise based on past data points; you don't know the future (though you can > guess...again, based on the past). &#4294967295;Tim's definitions caveat can be brought > into this analogy by distinguishing between whether your advice can depend > on the EXACT present: &#4294967295;if you have minute-by-minute updates, can you really > give updated advice in a tiny fraction of that minute? &#4294967295;You can see that it > depends on how you define your sampled time, but ultimately, it's an > intuitive concept: &#4294967295;you can only guess at the future, not measure it. > Ultimately, anything you can actually physically implement is causal by > some definition (even if it involves people waiting a day for your > prediction, it can't make use of data that was unavailable at the time you > made the prediction). &#4294967295; > > Of course, not all systems try to predict, but I figured that's why you're > asking. &#4294967295;You can also smooth "random" jumps in your data from the past, but > you still can't use future data points to do it. > > Are you looking for a particular derived form, such as what a causal > impulse response looks like?
Michael, If my input vector is [x(n), x(n-1), x(n-2), ....., x(n-m)], and if I define x(n-r), m < r < n as the present, then all elements of the vector from x(n) to x(n-r+1) are future values, and I know them exactly. I will then have a noncausal system that can produce an output based on future values. Maurice Givens
maury001@core.com wrote:
> On Oct 13, 2:20 pm, "Michael Plante" <michael.pla...@gmail.com> wrote: >>> Thank you everyone for your comments. It is interesting that even in >>> engineering it is hard to pin down precise definitions. I would have >>> thought you guys would have found this much easier! >>> Your help is very much appreciated. >> One analogy is to say you're providing economic advice, but you can only >> advise based on past data points; you don't know the future (though you can >> guess...again, based on the past). Tim's definitions caveat can be brought >> into this analogy by distinguishing between whether your advice can depend >> on the EXACT present: if you have minute-by-minute updates, can you really >> give updated advice in a tiny fraction of that minute? You can see that it >> depends on how you define your sampled time, but ultimately, it's an >> intuitive concept: you can only guess at the future, not measure it. >> Ultimately, anything you can actually physically implement is causal by >> some definition (even if it involves people waiting a day for your >> prediction, it can't make use of data that was unavailable at the time you >> made the prediction). >> >> Of course, not all systems try to predict, but I figured that's why you're >> asking. You can also smooth "random" jumps in your data from the past, but >> you still can't use future data points to do it. >> >> Are you looking for a particular derived form, such as what a causal >> impulse response looks like? > > Michael, > If my input vector is [x(n), x(n-1), x(n-2), ....., x(n-m)], and if I > define x(n-r), m < r < n as the present, then all elements of the > vector from x(n) to x(n-r+1) are future values, and I know them > exactly. I will then have a noncausal system that can produce an > output based on future values.
I'm not sure what you're getting at. It seems to me that if I define last Wednesday as the present, I can see as far into the future as today. Surely you know about President Lincoln's five-legged sheep! 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;
On Oct 13, 2:55&#4294967295;pm, Jerry Avins <j...@ieee.org> wrote:
> maury...@core.com wrote: > > On Oct 13, 2:20 pm, "Michael Plante" <michael.pla...@gmail.com> wrote: > >>> Thank you everyone for your comments. It is interesting that even in > >>> engineering it is hard to pin down precise definitions. I would have > >>> thought you guys would have found this much easier! > >>> Your help is very much appreciated. > >> One analogy is to say you're providing economic advice, but you can only > >> advise based on past data points; you don't know the future (though you can > >> guess...again, based on the past). &#4294967295;Tim's definitions caveat can be brought > >> into this analogy by distinguishing between whether your advice can depend > >> on the EXACT present: &#4294967295;if you have minute-by-minute updates, can you really > >> give updated advice in a tiny fraction of that minute? &#4294967295;You can see that it > >> depends on how you define your sampled time, but ultimately, it's an > >> intuitive concept: &#4294967295;you can only guess at the future, not measure it. > >> Ultimately, anything you can actually physically implement is causal by > >> some definition (even if it involves people waiting a day for your > >> prediction, it can't make use of data that was unavailable at the time you > >> made the prediction). &#4294967295; > > >> Of course, not all systems try to predict, but I figured that's why you're > >> asking. &#4294967295;You can also smooth "random" jumps in your data from the past, but > >> you still can't use future data points to do it. > > >> Are you looking for a particular derived form, such as what a causal > >> impulse response looks like? > > > Michael, > > If my input vector is [x(n), x(n-1), x(n-2), ....., x(n-m)], and if I > > define x(n-r), m < r < n as the present, then all elements of the > > vector from x(n) to x(n-r+1) are future values, and I know them > > exactly. &#4294967295;I will then have a noncausal system that can produce an > > output based on future values. > > I'm not sure what you're getting at. It seems to me that if I define > last Wednesday as the present, I can see as far into the future as > today. Surely you know about President Lincoln's five-legged sheep! > > 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;- Hide quoted text - > > - Show quoted text -
The point is that noncausal systems can, and are, approximated by using delays. If you have a noncusal system equation, you can still implement it if you can tollerate the necessary delays. In addition, you won't have to predict the future values because you will have them exactly. We teach that noncausal system equations are to be avoided, but that is not necessarily true. We can "fake it". Maurice
>On Oct 13, 2:20=A0pm, "Michael Plante" <michael.pla...@gmail.com> wrote: >> >Thank you everyone for your comments. It is interesting that even in >> >engineering it is hard to pin down precise definitions. I would have >> >thought you guys would have found this much easier! >> >> >Your help is very much appreciated. >> >> One analogy is to say you're providing economic advice, but you can
only
>> advise based on past data points; you don't know the future (though you
c=
>an >> guess...again, based on the past). =A0Tim's definitions caveat can be
bro=
>ught >> into this analogy by distinguishing between whether your advice can
depen=
>d >> on the EXACT present: =A0if you have minute-by-minute updates, can you
re=
>ally >> give updated advice in a tiny fraction of that minute? =A0You can see
tha=
>t it >> depends on how you define your sampled time, but ultimately, it's an >> intuitive concept: =A0you can only guess at the future, not measure
it.
>> Ultimately, anything you can actually physically implement is causal
by
>> some definition (even if it involves people waiting a day for your >> prediction, it can't make use of data that was unavailable at the time
yo=
>u >> made the prediction). =A0 >> >> Of course, not all systems try to predict, but I figured that's why
you'r=
>e >> asking. =A0You can also smooth "random" jumps in your data from the
past,=
> but >> you still can't use future data points to do it. >> >> Are you looking for a particular derived form, such as what a causal >> impulse response looks like? > >Michael, >If my input vector is [x(n), x(n-1), x(n-2), ....., x(n-m)], and if I >define x(n-r), m < r < n as the present, then all elements of the >vector from x(n) to x(n-r+1) are future values, and I know them >exactly. I will then have a noncausal system that can produce an >output based on future values. > >Maurice Givens
Maurice, I don't know if what I'm about to say will help the OP, but I look at it from the perspective of a smoother (in the context of state estimation). You may define something as present or future compared to the point you're trying to estimate at, but from the perspective of causality, ALL of those samples are in the past. My words were not exactly the clearest possible on this point, but I think we're saying the same thing two different ways when you refer to adding delay to approximate noncausal systems, or when I postulate that the OP's clients can wait a day for advice: you're MAKING it causal when you add the delay. Michael
On Tue, 13 Oct 2009 13:05:16 -0700, maury001 wrote:

> On Oct 13, 2:55&nbsp;pm, Jerry Avins <j...@ieee.org> wrote: >> maury...@core.com wrote: >> > On Oct 13, 2:20 pm, "Michael Plante" <michael.pla...@gmail.com> >> > wrote: >> >>> Thank you everyone for your comments. It is interesting that even >> >>> in engineering it is hard to pin down precise definitions. I would >> >>> have thought you guys would have found this much easier! Your help >> >>> is very much appreciated. >> >> One analogy is to say you're providing economic advice, but you can >> >> only advise based on past data points; you don't know the future >> >> (though you can guess...again, based on the past). &nbsp;Tim's >> >> definitions caveat can be brought into this analogy by >> >> distinguishing between whether your advice can depend on the EXACT >> >> present: &nbsp;if you have minute-by-minute updates, can you really give >> >> updated advice in a tiny fraction of that minute? &nbsp;You can see that >> >> it depends on how you define your sampled time, but ultimately, it's >> >> an intuitive concept: &nbsp;you can only guess at the future, not measure >> >> it. Ultimately, anything you can actually physically implement is >> >> causal by some definition (even if it involves people waiting a day >> >> for your prediction, it can't make use of data that was unavailable >> >> at the time you made the prediction). >> >> >> Of course, not all systems try to predict, but I figured that's why >> >> you're asking. &nbsp;You can also smooth "random" jumps in your data from >> >> the past, but you still can't use future data points to do it. >> >> >> Are you looking for a particular derived form, such as what a causal >> >> impulse response looks like? >> >> > Michael, >> > If my input vector is [x(n), x(n-1), x(n-2), ....., x(n-m)], and if I >> > define x(n-r), m < r < n as the present, then all elements of the >> > vector from x(n) to x(n-r+1) are future values, and I know them >> > exactly. &nbsp;I will then have a noncausal system that can produce an >> > output based on future values. >> >> I'm not sure what you're getting at. It seems to me that if I define >> last Wednesday as the present, I can see as far into the future as >> today. Surely you know about President Lincoln's five-legged sheep! >> >> Jerry >> -- >> Engineering is the art of making what you want from things you can get. >>
&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;-
>> Hide quoted text - >> >> - Show quoted text - > > The point is that noncausal systems can, and are, approximated by using > delays. If you have a noncusal system equation, you can still implement > it if you can tollerate the necessary delays. In addition, you won't > have to predict the future values because you will have them exactly. > > We teach that noncausal system equations are to be avoided, but that is > not necessarily true. We can "fake it".
Not in closed loop with real hardware! Yes, designing a "non-causal" system to be realized as a real system with a ton of delay is a quite valid method -- but only if you're keeping that ton of delay in mind, and remembering what it's going to do to your system when you introduce it in the physical realization. -- www.wescottdesign.com
On Oct 13, 4:02&#4294967295;pm, Tim Wescott <t...@seemywebsite.com> wrote:
> On Tue, 13 Oct 2009 13:05:16 -0700, maury001 wrote: > > On Oct 13, 2:55&#4294967295;pm, Jerry Avins <j...@ieee.org> wrote: > >> maury...@core.com wrote: > >> > On Oct 13, 2:20 pm, "Michael Plante" <michael.pla...@gmail.com> > >> > wrote: > >> >>> Thank you everyone for your comments. It is interesting that even > >> >>> in engineering it is hard to pin down precise definitions. I would > >> >>> have thought you guys would have found this much easier! Your help > >> >>> is very much appreciated. > >> >> One analogy is to say you're providing economic advice, but you can > >> >> only advise based on past data points; you don't know the future > >> >> (though you can guess...again, based on the past). &#4294967295;Tim's > >> >> definitions caveat can be brought into this analogy by > >> >> distinguishing between whether your advice can depend on the EXACT > >> >> present: &#4294967295;if you have minute-by-minute updates, can you really give > >> >> updated advice in a tiny fraction of that minute? &#4294967295;You can see that > >> >> it depends on how you define your sampled time, but ultimately, it's > >> >> an intuitive concept: &#4294967295;you can only guess at the future, not measure > >> >> it. Ultimately, anything you can actually physically implement is > >> >> causal by some definition (even if it involves people waiting a day > >> >> for your prediction, it can't make use of data that was unavailable > >> >> at the time you made the prediction). > > >> >> Of course, not all systems try to predict, but I figured that's why > >> >> you're asking. &#4294967295;You can also smooth "random" jumps in your data from > >> >> the past, but you still can't use future data points to do it. > > >> >> Are you looking for a particular derived form, such as what a causal > >> >> impulse response looks like? > > >> > Michael, > >> > If my input vector is [x(n), x(n-1), x(n-2), ....., x(n-m)], and if I > >> > define x(n-r), m < r < n as the present, then all elements of the > >> > vector from x(n) to x(n-r+1) are future values, and I know them > >> > exactly. &#4294967295;I will then have a noncausal system that can produce an > >> > output based on future values. > > >> I'm not sure what you're getting at. It seems to me that if I define > >> last Wednesday as the present, I can see as far into the future as > >> today. Surely you know about President Lincoln's five-legged sheep! > > >> 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;- > > >> Hide quoted text - > > >> - Show quoted text - > > > The point is that noncausal systems can, and are, approximated by using > > delays. &#4294967295;If you have a noncusal system equation, you can still implement > > it if you can tollerate the necessary delays. &#4294967295;In addition, you won't > > have to predict the future values because you will have them exactly. > > > We teach that noncausal system equations are to be avoided, but that is > > not necessarily true. &#4294967295;We can "fake it". > > Not in closed loop with real hardware! >
Not all systems are closed-loop. There are times when delay is accepted, e.g. speech coding.
> Yes, designing a "non-causal" system to be realized as a real system with > a ton of delay is a quite valid method -- but only if you're keeping that > ton of delay in mind, and remembering what it's going to do to your > system when you introduce it in the physical realization. > > --www.wescottdesign.com- Hide quoted text - > > - Show quoted text -
I completely agree Tim. It's just a means of getting around an otherwise untenable (sp?) problem. Just keep in mind that there are many systems that can tolerate what some might think of as "tons" of delay. Maurice
maury001@core.com wrote:
> On Oct 13, 2:55 pm, Jerry Avins <j...@ieee.org> wrote: >> maury...@core.com wrote: >>> On Oct 13, 2:20 pm, "Michael Plante" <michael.pla...@gmail.com> wrote: >>>>> Thank you everyone for your comments. It is interesting that even in >>>>> engineering it is hard to pin down precise definitions. I would have >>>>> thought you guys would have found this much easier! >>>>> Your help is very much appreciated. >>>> One analogy is to say you're providing economic advice, but you can only >>>> advise based on past data points; you don't know the future (though you can >>>> guess...again, based on the past). Tim's definitions caveat can be brought >>>> into this analogy by distinguishing between whether your advice can depend >>>> on the EXACT present: if you have minute-by-minute updates, can you really >>>> give updated advice in a tiny fraction of that minute? You can see that it >>>> depends on how you define your sampled time, but ultimately, it's an >>>> intuitive concept: you can only guess at the future, not measure it. >>>> Ultimately, anything you can actually physically implement is causal by >>>> some definition (even if it involves people waiting a day for your >>>> prediction, it can't make use of data that was unavailable at the time you >>>> made the prediction). >>>> Of course, not all systems try to predict, but I figured that's why you're >>>> asking. You can also smooth "random" jumps in your data from the past, but >>>> you still can't use future data points to do it. >>>> Are you looking for a particular derived form, such as what a causal >>>> impulse response looks like? >>> Michael, >>> If my input vector is [x(n), x(n-1), x(n-2), ....., x(n-m)], and if I >>> define x(n-r), m < r < n as the present, then all elements of the >>> vector from x(n) to x(n-r+1) are future values, and I know them >>> exactly. I will then have a noncausal system that can produce an >>> output based on future values. >> I'm not sure what you're getting at. It seems to me that if I define >> last Wednesday as the present, I can see as far into the future as >> today. Surely you know about President Lincoln's five-legged sheep! >> >> 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;- Hide quoted text - >> >> - Show quoted text - > > The point is that noncausal systems can, and are, approximated by > using delays. If you have a noncusal system equation, you can still > implement it if you can tollerate the necessary delays. In addition, > you won't have to predict the future values because you will have them > exactly. > > We teach that noncausal system equations are to be avoided, but that > is not necessarily true. We can "fake it".
Sure. I just didn't get what you are driving at. 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;
On Oct 13, 12:01&#4294967295;pm, Tim Wescott <t...@seemywebsite.com> wrote:
> On Tue, 13 Oct 2009 07:41:44 -0500, italrosso wrote: > > Please humour an economist coming here in peace! > > > I am trying to track down the classic textbook definition of a causal > > system. I know it is a system which only depends on current and previous > > input values but it would be nice to know what is THE reference for > > this. > > > I was browsing through past messages on this board and it seems that > > people may be able to help. > > > Thanks very much in advance. > > I think you may be trying to gild the lily -- your definition is > perfectly good as it stands. &#4294967295;You will find authors that don't consider a > system to really be causal unless the output is strictly after the input, > as opposed to after or at the same time -- so you have to be careful in > your use and interpretation of the term as you go through the literature.
The issue of causality is usually associated with the practical concern of whether or not the model is physically realizable. You need to have similar concerns when modelling ideal components that store energy. Simple examples: Closing a circuit loop containing an ideal voltage source and an unenergized ideal inductor results in continuous causal linear increases in loop current and stored magnetic energy. Whereas closing a circuit loop containing an ideal voltage source and an uncharged ideal capacitor also results in a causal response, the corresponding change in capacitor voltage and stored energy is discontinuous...and therefore. not physically realizable. Hope this helps. Greg
On Oct 13, 3:04&#4294967295;pm, "italrosso" <martin.elli...@economics.ox.ac.uk>
wrote:
> Dilip, did you mean to add the actual definition?
No, it was at the link I mentioned. For reference, it is: A system is causal if the following holds for all n: If x1[k] = x2[k] for all k <= n, then y1[n] = y2[n] where y1[n] is the output corresponding to x1[n] and y2[n] is the output corresponding to x2[n]. Dilip.
On Oct 13, 3:47&#4294967295;pm, maury...@core.com wrote:
> On Oct 13, 2:20&#4294967295;pm, "Michael Plante" <michael.pla...@gmail.com> wrote: > > > > > > > >Thank you everyone for your comments. It is interesting that even in > > >engineering it is hard to pin down precise definitions. I would have > > >thought you guys would have found this much easier! > > > >Your help is very much appreciated. > > > One analogy is to say you're providing economic advice, but you can only > > advise based on past data points; you don't know the future (though you can > > guess...again, based on the past). &#4294967295;Tim's definitions caveat can be brought > > into this analogy by distinguishing between whether your advice can depend > > on the EXACT present: &#4294967295;if you have minute-by-minute updates, can you really > > give updated advice in a tiny fraction of that minute? &#4294967295;You can see that it > > depends on how you define your sampled time, but ultimately, it's an > > intuitive concept: &#4294967295;you can only guess at the future, not measure it. > > Ultimately, anything you can actually physically implement is causal by > > some definition (even if it involves people waiting a day for your > > prediction, it can't make use of data that was unavailable at the time you > > made the prediction). &#4294967295; > > > Of course, not all systems try to predict, but I figured that's why you're > > asking. &#4294967295;You can also smooth "random" jumps in your data from the past, but > > you still can't use future data points to do it. > > > Are you looking for a particular derived form, such as what a causal > > impulse response looks like? > > Michael, > If my input vector is [x(n), x(n-1), x(n-2), ....., x(n-m)], and if I > define x(n-r), m < r < n as the present, then all elements of the > vector from x(n) to x(n-r+1) are future values, and I know them > exactly. &#4294967295;I will then have a noncausal system that can produce an > output based on future values.
Unconvincing. With a discrete time system you have to clarify the dependence of y(n) on x(m) for m > n. Greg