Parallel First and/or Second-Order Sections

Instead of breaking up a filter into a series of second-order sections, as discussed in the previous section, we can break the filter up into a parallel sum of first and/or second-order sections. Parallel sections are based directly on the partial fraction expansion (PFE) of the filter transfer function discussed in §6.8. As discussed in §6.8.3, there is additionally an FIR part when the order of the transfer-function denominator does not exceed that of the numerator (i.e., when the transfer function is not strictly proper). The most general case of a PFE, valid for any finite-order transfer function, was given by Eq.$ \,$(6.19), repeated here for convenience:

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

where $ N_p$ denotes the number of distinct poles, and $ m_i\ge 1$ denotes the multiplicity of the $ i$th pole. The polynomial $ F(z)$ is the transfer function of the FIR part, as discussed in §6.8.3.

The FIR part $ F(z)$ is typically realized as a tapped delay line, as shown in Fig.5.5.

First-Order Complex Resonators

For distinct poles, the recursive terms in the complete partial fraction expansion of Eq.$ \,$(9.2) can be realized as a parallel sum of complex one-pole filter sections, thereby producing a parallel complex resonator filter bank. Complex resonators are efficient for processing complex input signals, and they are especially easy to work with. Note that a complex resonator bank is similarly obtained by implementing a diagonalized state-space model [Eq.$ \,$(G.22)].

Real Second-Order Sections

In practice, however, signals are typically real-valued functions of time. As a result, for real filters5.1), it is typically more efficient computationally to combine complex-conjugate one-pole sections together to form real second-order sections (two poles and one zero each, in general). This process was discussed in §6.8.1, and the resulting transfer function of each second-order section becomes

$\displaystyle \frac{r}{1-pz^{-1}} + \frac{\overline{r}}{1-\pc z^{-1}}$ $\displaystyle =$ $\displaystyle \frac{r-r\pc z^{-1}+\overline{r}-\overline{r}pz^{-1}}{(1-pz^{-1})(1-\pc z^{-1})}$  
  $\displaystyle =$ $\displaystyle \frac{2\mbox{re}\left\{r\right\}-2\mbox{re}\left\{r\pc\right\}z^{...
+ \left\vert p\right\vert^2 z^{-2}},
\protect$ (10.3)

where $ p$ is one of the poles, and $ r$ is its corresponding residue. This is a special case of the biquad section discussed in §B.1.6.

When the two poles of a real second-order section are complex, they form a complex-conjugate pair, i.e., they are located at $ z=R\exp(\pm
j\theta)$ in the $ z$ plane, where $ R=\vert p\vert$ is the modulus of either pole, and $ \theta$ is the angle of either pole. In this case, the ``resonance-tuning coefficient'' in Eq.$ \,$(9.3) can be expressed as

$\displaystyle 2$$\displaystyle \mbox{re\ensuremath{\left\{p\right\}}}$$\displaystyle = 2R\cos(\theta)

which is often more convenient for real-time control of resonance tuning and/or bandwidth. A more detailed derivation appears in §B.1.3.

Figures 3.25 and 3.26 (p. [*]) illustrate filter realizations consisting of one first-order and two second-order filter sections in parallel.

Implementation of Repeated Poles

Fig.9.5 illustrates an efficient implementation of terms due to a repeated pole with multiplicity three, contributing the additive terms

$\displaystyle \frac{r_1}{1-pz^{-1}}
+ \frac{r_2}{(1-pz^{-1})^2}
+ \frac{r_3}{(1-pz^{-1})^3}

to the transfer function. Note that, using this approach, the total number of poles implemented equals the total number of poles of the system. For clarity, a single real (or complex) pole is shown. Implementing a repeated complex-conjugate pair as a repeated real second-order section is analogous.

Figure 9.5: Implementation of a pole $ p$ repeated three times.
\begin{figure}\input fig/repeatedpole.pstex_t

Next Section:
Formant Filtering Example
Previous Section:
Series Second-Order Sections