# Determining Causal Systems

1. Sep 17, 2011

### johnstamos

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.

2. Sep 19, 2011

### swraman

Hey,

I dont 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. Sep 20, 2011

### johnstamos

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.