Skip to main content

Need for difference equation; LCCDE and system function

Short answer

Difference equations give a finite-coefficient implementation recipe for recursive systems, unlike infinitely long impulse responses, and lead to H(z), poles/zeros, stability and structures. An LCCDE is sum_{k=0}^N a_k y[n-k] = sum_{k=0}^M b_k x[n-k] with a0=1, and its system function is H(z)= (sum b_k z^{-k})/(1+sum a_k z^{-k}).

Why do we need difference equation? State linear constant coefficient difference equation and corresponding system function.

Why we need the difference equation

  • A digital system must be implemented with adders, multipliers and delays. The difference equation gives the exact recipe: output = weighted present/past inputs + weighted past outputs.
  • It describes recursive (IIR) systems with a finite number of coefficients, whereas the impulse response of such a system is infinitely long, so direct convolution would need infinitely many terms.
  • It is the starting point for finding H(z), the frequency response, poles/zeros and stability, and for drawing realisation structures (direct form, cascade, lattice).
  • It can be coded in a few lines on a DSP processor or in software.
  • Analog systems are described by differential equations; difference equations are their discrete-time counterpart.

LCCDE (linear constant-coefficient difference equation)

An N-th order causal LTI system is described by

y[n] = −Σ(k=1 to N) aₖ y[n − k] + Σ(k=0 to M) bₖ x[n − k]

or Σ(k=0 to N) aₖ y[n − k] = Σ(k=0 to M) bₖ x[n − k], with a₀ = 1.

The coefficients aₖ, bₖ are constants. With zero initial conditions, taking the z-transform (delay by k ↔ z⁻ᵏ):

Y(z) Σ aₖ z⁻ᵏ = X(z) Σ bₖ z⁻ᵏ

System function:

H(z) = Y(z)/X(z) = (b₀ + b₁z⁻¹ + … + b_M z⁻ᴹ) / (1 + a₁z⁻¹ + … + a_N z⁻ᴺ)

If all aₖ = 0 (k ≥ 1), the system is FIR (non-recursive); otherwise it is IIR (recursive).

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Signal Analysis and Processing chapter 1 questions →