Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

A causal system? the biggest contradiction!

  1. Dec 30, 2006 #1
    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?????????/

  2. jcsd
  3. Dec 30, 2006 #2


    User Avatar

    Staff: Mentor

    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?
  4. Dec 30, 2006 #3


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    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.
  5. Dec 30, 2006 #4


    User Avatar

    Staff: Mentor

    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?
  6. Dec 30, 2006 #5
    the output of thie system is y[k].

    Berkmen, with no disrespect, i fully disaggree with you.
    You just can't have a sytem 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....

  7. Dec 30, 2006 #6

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    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.
  8. Dec 30, 2006 #7


    User Avatar

    Staff: Mentor

    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:
  9. Dec 31, 2006 #8
    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" [Broken]

    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:
    is incorrect.
    Last edited by a moderator: May 2, 2017
  10. Dec 31, 2006 #9
    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.....
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook