A causal system? the biggest contradiction

Click For Summary
SUMMARY

The discussion centers on the causality of the system defined by the equation y[k+1] + 0.64y[k-1] = x[k] + 2x[k-1]. Two methods of analysis yield contradictory conclusions regarding the system's causality. Method 1, which shifts the signal back, indicates the system is causal, while Method 2, which shifts it forward, suggests it is non-causal. The confusion arises from the definition of the output, with participants emphasizing that causality depends on whether the output y[k] relies on future values.

PREREQUISITES
  • Understanding of causal systems in signal processing
  • Familiarity with difference equations and their manipulation
  • Knowledge of linear shift-invariant systems
  • Basic concepts of digital signal processing (DSP)
NEXT STEPS
  • Study the definition of causal systems in digital signal processing literature
  • Learn about the implications of shifting signals in difference equations
  • Explore the relationship between impulse response and causality
  • Review examples of causal and non-causal systems in DSP
USEFUL FOR

Students and professionals in electrical engineering, particularly those focused on digital signal processing, as well as anyone involved in system analysis and design.

LM741
Messages
130
Reaction score
0
a causal system?? the biggest contradiction!

Hey guys - can someone tell me why i get two contradicting asnwers...

i am asked to determine whether the following system is causal or not:

y[k+1] + 0.64y[k-1] = x[k] + 2x[k-1]
method 1:
put k = k-1 (delay the signal by one unit)
therefore , y[k] = -0.64y[k-2] +x[k-1] +2x[k-2]

it is cleary that this signal is casual because a present ouptut value is dependent on present and past input/output values.

method 2:
put k = k+1
therefore, 0.64y[k] = y[k+2] +x[k+1] +2x[k]

now the system is clearly not causal! whys is this happening!

i can't see any error in my maths. Also , shifting should not alter the signal characteristics!

please someone help!

calculating a tranfer function clearly shows the system IS causal-----so what is up with metho 2?/


thanks!
 
Engineering news on Phys.org
I think the confusion is coming about because you have not clearly defined what the "output" of the system is. If it is y[k], which is traditional notation, then your system is non-causal because it relies on a future value y[k+1]. If you are going to define the output of the system as y[k+1], which AFAIK is not traditional notation, then yes, the system would be causal.

Is the output of the system clearly defined for you?
 
Er, isn't y[k] totally indepentent from y[k+1]?


Admittedly I don't know the definitions, but I would have assumed that "causal" means "y[k] can be computed without using any future values of x or y". In this case, finding an expression for y[k] involving future values of x and y doesn't invalidate the fact that you can compute y[k] without doing so.
 
Hurkyl said:
Er, isn't y[k] totally indepentent from y[k+1]?


Admittedly I don't know the definitions, but I would have assumed that "causal" means "y[k] can be computed without using any future values of x or y". In this case, finding an expression for y[k] involving future values of x and y doesn't invalidate the fact that you can compute y[k] without doing so.

Yeah, this is confusing me. Since y[k] is not part of the equation of the "system", I"m not sure how to interpret the equation.

LM741 -- What is considered the "output" of the system described by that equation?
 
the output of thie system is y[k].

Berkmen, with no disrespect, i fully disaggree with you.
You just can't have a system that is causal AND non causal. y[k+1] is merely the output in advance by one unit. Also, if you shift the entire system by the sam time unit - nothing has changed - thiss just allows you to view it from a different point of view...
I just can't seem to get around this 'strange' predicament...

thank
 
There's no predicament.

Consider a simple smoothing IIR filter,
y[k] = 0.5*x[k] + 0.5*y[k-1].
This is clearly causal; the output depends only on past and current input and past output. Yet you can rewrite this as
y[k] = 2*y[k+1] - x[k-1]
and the filter appears to be acausal. It is not. Bottom line: You just have to be careful with feedback terms.
 
LM741 said:
the output of thie system is y[k].

Berkmen, with no disrespect, i fully disaggree with you.
You just can't have a system that is causal AND non causal. y[k+1] is merely the output in advance by one unit. Also, if you shift the entire system by the sam time unit - nothing has changed - thiss just allows you to view it from a different point of view...
I just can't seem to get around this 'strange' predicament...

thank

No disrespect felt on my part at all, LM741. You should have seen my lame reply to Hurkyl's post before I deleted it and tried again. I misread the original equation my first couple times through.

But help me out here. The original equation does not contain a y[k] term, and you say what I thought, that y[k] is the output of the digital filter. So are you supposed to re-arrange the original equation with substitution like you did to make a y[k]? If so, then the system is causal as D H says. I'm just not used to being given a filter equation that does not specify the y[k] directly in terms of past (and possibly future) values of the input and output.

Guess I should pull out my old DSP book for a quick refresher, eh? :blushing:
 
My trusty DSP book has the following:
A linear shift-invariant system is causal if and only if the unit-impulse response h[n] = 0 for n < 0.

In your case, work out the h[n] of the given difference equation and check if the above condition holds.

Btw, the definition of causal systems which appears in Wikipedia reads:
A causal system is a system where the output y(t) at some specific instant t0 only depends on the input x(t) for values of t less than or equal to t0. Therefore these kinds of systems have outputs and internal states that depends only on the current and previous input values. http://en.wikipedia.org/wiki/Causal_system"

The definition applies only to "input x(t) for values of t less than or equal to t0" and not so much for the output terms which appear in the difference equation. Thus saying:
LM741 said:
it is cleary that this signal is casual because a present ouptut value is dependent on present and past input/output values.
is incorrect.
 
Last edited by a moderator:
D H - you say the system APPEARS to be non causal - but it is not?
that's obviously the problem I'm having - this is a predicament!
y[k] = 2*y[k+1] - x[k-1] - how can you tell me this a causal system?

the current output is dependent on a future output value? - you see, this is really wired because it seems like we change the casuality property of the system by shifting it...
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
8
Views
5K
  • · Replies 12 ·
Replies
12
Views
20K
  • · Replies 11 ·
Replies
11
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
6K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 87 ·
3
Replies
87
Views
8K