Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search


Summary of the Partial Fraction Expansion

In summary, the partial fraction expansion can be used to expand any rational z transform

$\displaystyle H(z) \eqsp \frac{B(z)}{A(z)} \eqsp \frac{b_0 + b_1 z^{-1}+ \cdots + b_M z^{-M}}{1 + a_1 z^{-1}+ \cdots + a_N z^{-N}}
$

as a sum of first-order terms

$\displaystyle H(z) \isdefs \frac{B(z)}{A(z)} \eqsp \sum_{i=1}^{N} \frac{r_i}{1-p_iz^{-1}} \protect$ (7.17)

for $ M<N$ , and

$\displaystyle H(z) \eqsp F(z) + z^{-(K+1)}\sum_{i=1}^{N}\frac{r_i}{1-p_iz^{-1}} \protect$ (7.18)

for $ M\geq N$ , where the term $ z^{-(K+1)}$ is optional, but often preferred. For real filters, the complex one-pole terms may be paired up to obtain second-order terms with real coefficients. The PFE procedure occurs in two or three steps:
  1. When $ M\geq N$ , perform a step of long division to obtain an FIR part $ F(z)$ and a strictly proper IIR part $ B^\prime(z)/A(z)$ .
  2. Find the $ N$ poles $ p_i$ , $ i=1,\ldots,N$ (roots of $ A(z)$ ).
  3. If the poles are distinct, find the $ N$ coefficients (residues) $ r_i$ , $ i=1,\ldots,N$ from

    $\displaystyle r_i = \left.(1-p_iz^{-1})\frac{B(z)}{A(z)}\right\vert _{z=p_i}
$

  4. If there are repeated poles, find the additional coefficients via the method of §6.8.5, and the general form of the PFE is

    $\displaystyle H(z) \eqsp F(z) + z^{-(K+1)}\sum_{i=1}^{N_p}\sum_{k=1}^{m_i}\frac{r_{i,k}}{(1-p_iz^{-1})^k} \protect$ (7.19)

    where $ N_p$ denotes the number of distinct poles, and $ m_i\ge 1$ denotes the multiplicity of the $ i$ th pole.

In step 2, the poles are typically found by factoring the denominator polynomial $ A(z)$ . This is a dangerous step numerically which may fail when there are many poles, especially when many poles are clustered close together in the $ z$ plane.

The following matlab code illustrates factoring $ A(z) = 1 - z^{-3}$ to obtain the three roots, $ p_k=e^{jk2\pi/3}$ , $ k=0,1,2$ :

A = [1 0 0 -1];  % Filter denominator polynomial
poles = roots(A) % Filter poles

See Chapter 9 for additional discussion regarding digital filters implemented as parallel sections (especially §9.2.2).


Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

[How to cite this work]  [Order a printed hardcopy]  [Comment on this page via email]

``Introduction to Digital Filters with Audio Applications'', by Julius O. Smith III, (September 2007 Edition)
Copyright © 2023-09-17 by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University
CCRMA