## Alternative Realizations

For actually implementing the example digital filter, we have only seen the difference equation*low-pass*,

*high-pass*, and

*band-pass*filters as

*series second-order sections*. On the other hand, digital filters for simulating the

*vocal tract*(for synthesized voice applications) are typically implemented as

*parallel second-order sections*. (When the order is odd, there is one first-order section as well.) The coefficients of the first- and second-order filter sections may be calculated from the poles and zeros of the filter. We will now illustrate the computation of a parallel second-order realization of our example filter . As discussed above in §3.11, this filter has five poles and three zeros. We can use the

*partial fraction expansion*(PFE), described in §6.8, to expand the transfer function into a sum of five first-order terms:

### First-Order Parallel Sections

Figure 3.13 shows the impulse response of the real one-pole section`myfreqz`listed in §7.5.1. (Both Matlab and Octave have compatible utilities

`freqz`, which serve the same purpose.) Note that the sampling rate is set to 1, and the frequency axis goes from 0 Hz all the way to the sampling rate, which is appropriate for complex filters (as we will soon see). Since real filters have

*Hermitian*frequency responses (

*i.e.*, an

*even*amplitude response and

*odd*phase response), they may be plotted from 0 Hz to half the sampling rate without loss of information. Figure 3.15 shows the impulse response of the

*complex*one-pole section

### Parallel, Real, Second-Order Sections

Figure 3.21 shows the impulse response of the real two-pole section### Parallel Second-Order Signal Flow Graph

Figure 3.25 shows the signal flow graph for the implementation of our example filter using parallel second-order sections (with one first-order section since the number of poles is odd). This is the same filter as that shown in Fig.3.1 with , , , and . The second-order sections are special cases of the ``biquad'' filter section, which is often implemented in software (and chip) libraries. Any digital filter can be implemented as a sum of parallel biquads by finding its transfer function and computing the partial fraction expansion.*Transposed*Direct-Form II (TDF-II) is usually a better choice of implementation structure for IIR filters when numerical dynamic range is limited (as it is in fixed-point ``DSP chips''). Figure 3.26 shows how our example looks using TDF-II biquads in place of the DF-II biquads of Fig.3.25.

### Series, Real, Second-Order Sections

Converting the difference equation to a*series*bank of real first- and second-order sections is comparatively easy. In this case, we do not need a full blown partial fraction expansion. Instead, we need only factor the numerator and denominator of the transfer function into first- and/or second-order terms. Since a second-order section can accommodate up to two poles and two zeros, we must decide how to group pairs of poles with pairs of zeros. Furthermore, since the series sections can be implemented in any order, we must choose the section ordering. Both of these choices are normally driven in practice by numerical considerations. In fixed-point implementations, the poles and zeros are grouped such that dynamic range requirements are minimized. Similarly, the section order is chosen so that the intermediate signals are well scaled. For example, internal overflow is more likely if all of the large-gain sections appear before the low-gain sections. On the other hand, the signal-to-quantization-noise ratio will deteriorate if all of the low-gain sections are placed before the higher-gain sections. For further reading on numerical considerations for digital filter sections, see,

*e.g.*, [103].

**Next Section:**

Summary

**Previous Section:**

Pole-Zero Analysis