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

Homework Help: Impulse response

  1. Aug 4, 2006 #1


    User Avatar
    Homework Helper

    This thread would've fitted in a lot of categories, but as it's the mathematics I can't quite grasp, I decided to fit it here. I'll be treating the discrete case, so I suppose it's precalculus maths.

    Anyways, I know how to compute problems with the impulse response method, but I'm kinda baffled as to why to do it how it's done (as the proof we had in class was rather incomplete).

    I looked up wikipedia's article on the matter: http://en.wikipedia.org/wiki/Impulse_response
    This is the part I'm having problems understanding:
    [tex]T\left[ \sum_{k}x\left[ k\right] \delta \left[ n-k\right] \right] = \sum_{k}x\left[ k\right] T\left[ \delta \left[ n-k\right] \right][/tex]
    It's got something to do with linearity, apparently the homogeneity property. I just can't understand why the x[k] is being treated as a constant and the delta isn't.

    Then the part of applying the mathematics:
    Given a system, eg. y(k) + y(k-1) - y(k-2) = 2k, why am I supposed to write it out as
    h(k) + h(k-1) - h(k-2) = delta(k) ?
    That is, why does the solution of the latter equation give the impulse response of the system? Could someone show this mathematically?

    Am I making any sense? :smile:
    PS. Could someone recommend any good websites in the matter, I tried googling but found none?
  2. jcsd
  3. Aug 4, 2006 #2


    User Avatar
    Homework Helper

    Ok, I figured it out myself. The linearity stuff's due to the fact that T operates on n, thus x[k] is a constant.

    For the second part I came up with a proof, but I'm not convinced it's water-proof :smile::
    [tex]a_m h[n-m] + ... + a_0 h[n] = b_m \delta [n-m] + ... + b_0 \delta [n][/tex]

    [tex]a_m h[n-m-j] + ... + a_0 h[n-j] = b_m \delta [n-m-j] + ... + b_0 \delta [n-j][/tex]

    [tex]x[j] \left ( a_m h[n-m-j] + ... + a_0 h[n-j] \right ) = x[j] \left ( b_m \delta [n-m-j] + ... + b_0 \delta [n-j] \right )[/tex]

    [tex] a_m x[j] T[ \delta [n-m-j] ] + ... + a_0 x[j] T[ \delta [n-j] ] = b_m x[j] \delta [n-m-j] + ... + b_0 x[j] \delta [n-j][/tex]

    Adding sums, this part I'm not so sure of:
    [tex]a_m T \left [ \sum _{j = -\infty} ^\infty x[j] \delta [n-m-j] \right ] + ... + a_0 T \left [ \sum _{j = -\infty} ^\infty x[j] \delta [n-j] \right ] = b_m \sum _{j = -\infty} ^\infty x[j] \delta [n-m-j] + ... + b_0 \sum _{j = -\infty} ^\infty x[j] \delta [n-j][/tex]

    [tex]a_m y[n-m] + ... + a_0 y[n] = b_m x[n-m] + ... + b_0 x[n][/tex]

    However, I don't think the proof works both ways due to the summation part?
    Last edited: Aug 4, 2006
  4. Aug 7, 2006 #3


    User Avatar
    Homework Helper

    I thought about it again, and came up with the following (it's essentially the same as above, with the direction switched and with slight modifications to enable this):

    a_m y[n-m] + ... + a_0 y[n] &= b_m x[n-m] + ... + b_0 x[n]

    a_m T \left [ \sum _{j = -\infty} ^\infty x[j] \delta [n-m-j] \right ] &+ ... + a_0 T \left [ \sum _{j = -\infty} ^\infty x[j] \delta [n-j] \right ] = b_m \sum _{j = -\infty} ^\infty x[j] \delta [n-m-j] + ... + b_0 \sum _{j = -\infty} ^\infty x[j] \delta [n-j]

    a_m \sum _{j = -\infty} ^\infty x[j] h [n-m-j] + ... + a_0 & \sum _{j = -\infty} ^\infty x[j] h [n-j] = b_n \sum _{j = -\infty} ^\infty x[j] \delta [n-m-j] + ... + b_0 \sum _{j = -\infty} ^\infty x[j] \delta [n-j]

    \sum _{j = -\infty} ^\infty x[j] \left ( a_m h [n-m-j] + ... + a_0 h [n-j] \right ) = \sum _{j = -\infty} ^\infty x[j] \left ( b_m \delta [n-m-j] + ... + b_0 \delta [n-j] \right )

    Moving all the terms to the left, under one sum:
    \sum _{j = -\infty} ^\infty x[j] \left ( a_m h [n-m-j] + ... + a_0 h [n-j] - \left ( b_m \delta [n-m-j] + ... + b_0 \delta [n-j] \right ) \right ) = 0

    One solution'd be, that for all j:
    a_m h [n-m-j] + ... + a_0 h [n-j] = b_m \delta [n-m-j] + ... + b_0 \delta [n-j]

    I'll shift the index by j, (or as the equations above are all equivalent, I'll choose j = 0):
    a_m h [n-m] + ... + a_0 h [n] = b_m \delta [n-m] + ... + b_0 \delta [n]

    And there we have it. Could someone go though the above, and inform me of any mistakes?
    Last edited: Aug 7, 2006
  5. Aug 9, 2006 #4
    It appears you are confused about what a system is.

    A system is a function in which the domain is a set of functions and the range is a set of functions. So if T is a system, and T(x) = y, then x is a function (not a number), and y is a function (not a number).

    We can denote a system T using function notation:
    [tex] T:[x:D \rightarrow R] \rightarrow [y:D^{\prime} \rightarrow R^{\prime}] [/tex]
    This says that T is a system whose domain is the set of all functions mapping D into R and whose range is the set of all functions mapping D' into R'. Here D,D',R,R' are just abritrary sets.

    In discrete time we take D and D' to be some discrete set, for example the Integers.

    So if our system T is defined as:
    [tex] T:[x:\mathbb{Z} \rightarrow \mathbb{R}] \rightarrow [y:\mathbb{Z} \rightarrow \mathbb{R}] [/tex]
    Then T is a system (function) which takes as input a function mapping the integers into the reals, and returns a function mapping the integers into the reals.

    Note that the Kronecker delta [itex] \delta [/itex] is an element of the domain of T, ie: it is a function mapping the integers into the reals. I emphasize that [itex] \delta [/itex] represents an entire function whereas [itex]\delta(n)[/itex] represents the value of [itex]\delta[/itex] evaluated at the integer n. We call [itex]\delta[/itex] an impulse.

    We define the impulse response [itex]h[/itex] to be [itex]T(\delta)[/itex]. That is, [itex]h[/itex] is the function such that for every integer n, [itex]h(n) = T(\delta)(n)[/itex].

    If T is linear and time invariant, then given a scalar [itex] \alpha [/itex] and fixed integer [itex] k [/itex] we have that [itex]T(\alpha\delta(n-k))= \alpha h(n-k)[/itex].

    So in regards to your first question, using the language of linear algebra, for each k [itex]x[k][/itex] is a scalar (a real number), and [itex]\delta[n-k][/itex] is a vector (a function mapping the integers to the reals). Thus we can "pull out" the x[k]'s when we apply the linear operator T.

    In regards to your second question consider a LTI system given by,
    [tex] y(n) + a_1y(n-1) + ... + a_Ny(n-N) = b_0x(n) + b_1x(n-1) + ... + b_Mx(n-M)[/tex]

    We can rewrite this as:
    [tex] y(n) = -a_1y(n-1) - ... - a_Ny(n-N) + b_0x(n) + b_1x(n-1) + ... + b_Mx(n-M)[/tex]

    What this says is that if we input a function x into the system, we get as output a function y such that for each n y(n) is given as above. Notice that for each n, y(n) depends on previous values of y, as well as x(n) and previous values of x.

    To get the impulse response, we take as input [itex]\delta[/itex] rather than the arbitrary x. Since h is defined to be the function that is outputed when we input [itex]\delta[/itex] we replace y by h. There is nothing that really needs to be proved, it follows simply from the definition of h.
    Last edited: Aug 9, 2006
  6. Aug 10, 2006 #5


    User Avatar
    Homework Helper

    Indeed, I hadn't seen the formal definition of a system before, although I did assume it'd look something like that.

    Many thanks for the complete explanation.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook