Is a System Causal if the Output Anticipates the Input?

  • Thread starter johnstamos
  • Start date
  • Tags
    Systems
In summary, a causal system means that the system is not anticipatory. In your example, y[n] = sin[n], the output y[N] at a given time N does NOT depend on any information after "time" N - so the system is causal.
  • #1
johnstamos
5
0
Hey guys, having a little trouble understanding whether or not a system is causal or not. I d'nt think this classifies as homework; at least I hope not.

Basically I'm confused as to how you would go about determining whether or not a system is causal.

For example, say any function x[n] = u[n];

So basically the signal is only active for n>=0;

y[n] = sin[n];

So you have an output for n<=0 when there is no signal propogating into the system. Thus I would assume that this system is non-causal, because the output is somehow anticipatory.

However, what if the output y[n] actually does depend on inputs of 0. So y[n] for n<=0 actually does result from x[n] = 0, wouldn't that make it causal then?

Not sure if this makes any sense whatsoever, hopefully someone can share some insight on this topic.
 
Engineering news on Phys.org
  • #2
Hey,

I don't really understand your example. LKike you said a causal system means that the system is NOT anticipatory. This means that for a system y[n] = F[x(n)], y[N] does not depend on any values of x for values of n>N.

in your example y[n] = sin[n], the output y[N] at a given time N does NOT depend on any information after "time" N - so the system is causal.

One easy way to check is to think: can you determine the output y[N]with only knowing x[n] for n<=N. If you can, your system is causal.

It may help to see an example of a non-causal function:

y[n] = x[n] + x[n+1]

As you can see here, you MUST know the value of x at N+1 in order to know the value of the output y[N].
 
  • #3
yeah not the best english student!

basically if the system has input u[n] and output cos[n], then is that system causal?

Because the output has values for n<=0 whereas the input only has values for n>=0.

Therefore the output is anticipating the input? That's bascially my question.
 
Back
Top