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

Discrete time Derivative/Integration mechanisms in DSP.

  1. May 7, 2012 #1
    I was having a conversation with my brother, a mechanical engineer, about Digital Signals processing. I was trying to explain what I had recently done in my digital controls class, and how we would use the state space model [itex] \vec{x}(k+1) = {\bf{A_d}}\vec{x}(k) + {\bf{B_d}}u(k) [/itex] in discrete time systems in place of derivatives as in [itex] \vec{\dot{x}}(t) = {\bf{A}}\vec{x}(t) + {\bf{B}}u(t) [/itex]. I had multiple ways of explaining it to him. I could have explained that fundamentally, the discrete time solution to a differential equation is not [itex] e^{-{\sigma}Tk} [/itex] but rather [itex] {\gamma}^{kT} [/itex]. And actually this might have been a fair explanation, but I was trying to make it as intuitive as possible.

    The problem was that my brother was attempting to approximate a discrete time derivative [itex] \dot{x} [/itex] as [itex] \frac{x[kT] -x[(k-1)T]}{T} [/itex]. I had tried to do this too when I had first entered a DSP courses and forgot how I had made sense of the lack of this approximation technique. At this point, I would personally use laplace and z transforms to come up with s-to-z plane transformation of [itex] s = \frac{1-z^{-1}}{T} [/itex] and come up a discrete time approximation. But explain this to someone without a background in DSP is fruitless and doesn't really even touch upon the heart of the matter. Can someone help me come up with an elegant explanation for why this approximation is not used, or rather, why a whole new solution family is used (e.g., [itex] {\gamma}^{kT} [/itex]).

    PS. My brother tends to get confused by any math that may obfuscate the goal to be achieved, or what the math is being used to try to solve. This is understandable, but combining this with my limited communication skills (especially oral communication) makes it difficult to communicate complex engineering concepts. Help...
    Last edited: May 7, 2012
  2. jcsd
  3. May 8, 2012 #2
    I think you are comparing apples-oranges.
    Your discrete time model uses the output of delay elements as the state variables.
    The continuous time model uses outputs of integrators as state variables.
    Either can be used to solve a particular problem, but they are not equivalent to each other.
    In other words your two models are not doing equivalent things.

    If you want to use integrators as state variables (so that you can use the continuous time model) but are using discrete time then you can use the bilinear transformation to approximate the integrators. The bilinear transform is simply a trapezoidal rule integration of your discrete time variable.
  4. May 15, 2012 #3
    I agree that delay operators and integrators are not the same mechanism, yet they manage to accomplish the same thing. How would you phrase this best?
  5. May 18, 2012 #4
  6. May 20, 2012 #5
    Integrators and delay elements are different physical mechanisms.

    We can build integrators out of delays:
    (z^-1)/(1-z^-1) rectangular rule integration (usually called an accumulator),
    (1+z^-1)/(1-z^-1) trapezoidal rule integration (bilinear transform).
    (both normalized to 1Hz clock)

    The delay and the integrator each has its Laplace transform:
    delay: z^-1 = e^(-sT) (T is clock period)
    integrator: k/s (k is gain of integrator).

    Use of integrators as state variables became popular in the 60s in analog ICs. Prior to this, analog filters used discrete precision LC components. IC developers realized that:
    1 - monolithic opamps are cheap, and we can use them to make integrators.
    2 - precision values are difficult to implement in IC.
    3 - Use of integrators in a state variable topology allowed precision corner frequencies to be realized without precision component values.

    Use of delays as state variables is standard in DSP for obvious reasons.

    We typically model our descrete time systems using integrators when our clock frequency is very large compared to the corner frequencies. (Such as 100MHz clock used in a control system with corner frequencies in the KHz.)

    So, summarizing, they are two different tools that can be employed to analyze systems, but are not doing exactly the same thing.

    Hope this helps.
    Last edited: May 20, 2012
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook