Chapter 6
Equalizers

U. Zölzer

Spectral sound equalization is one of the most important methods for processing audio signals. Equalizers are found in various forms in the transmission of audio signals from a sound studio to the listener. The more complex filter functions are used in sound studios. However, in almost every consumer product like car radios, hi‐fi amplifiers etc., simple filter functions are used for sound equalization. We first discuss basic filter types followed by the design and implementation of recursive audio filters. In the third and fourth sections, linear‐phase non‐recursive filter structures and their implementation are introduced.

6.1 Basics

For filtering of audio signals, the following filter types are used.

  • Lowpass and highpass filters with cutoff frequency f Subscript c (3 dB cutoff frequency) are shown with their magnitude response in Fig. 6.1. They have a passband in the lower and higher frequency range, respectively.
  • Bandpass and bandstop filters (magnitude responses in Fig. 6.1) have a center frequency f Subscript c and a lower and upper f Subscript l and f Subscript u cutoff frequency. They have a pass‐ and stopband in the middle of the frequency range. For the bandwidth of a bandpass or a bandstop filter, we have
    (6.1)f Subscript b Baseline equals f Subscript u Baseline minus f Subscript l Baseline period

    Bandpass filters with a constant relative bandwidth f Subscript b Baseline slash f Subscript c are very important for audio applications [Cre03]. The bandwidth is proportional to the center frequency, which is given by f Subscript c Baseline equals StartRoot f Subscript l Baseline dot f Subscript u Baseline EndRoot (see Fig. 6.2).

    Schematic illustration of linear magnitude responses of lowpass, highpass, bandpass, and bandstop filters.

    Figure 6.1 Linear magnitude responses of lowpass, highpass, bandpass, and bandstop filters.

    Schematic illustration of logarithmic magnitude responses of bandpass filters with constant relative bandwidth.

    Figure 6.2 Logarithmic magnitude responses of bandpass filters with constant relative bandwidth.

  • Octave filters are bandpass filters with special cutoff frequencies given by
    (6.2)StartLayout 1st Row 1st Column f Subscript u 2nd Column equals 2 dot f Subscript l Baseline comma EndLayout
    (6.3)StartLayout 1st Row 1st Column f Subscript c 2nd Column equals StartRoot f Subscript l Baseline dot f Subscript u Baseline EndRoot equals StartRoot 2 EndRoot dot f Subscript l Baseline period EndLayout

    A spectral decomposition of the audio frequency range with octave filters is shown in Fig. 6.3. At the lower and upper cutoff frequency, an attenuation of negative 3 dB occurs. The upper octave band is represented as a highpass. A parallel connection of octave filters can be used for a spectral analysis of the audio signal in octave frequency bands. This decomposition is used for the signal power distribution across the octave bands. For the center frequencies of octave bands, we get f Subscript c Sub Subscript i Baseline equals 2 dot f Subscript c Sub Subscript i minus 1. The weighting of octave bands with gain factors upper A Subscript i and summation of the weighted octave bands represents an octave equalizer for sound processing (see Fig. 6.4). For this application, the lower and upper cutoff frequencies need an attenuation of negative 6 dB, such that a sinusoid at the crossover frequency has gain of 0 dB. The attenuation of negative 6 dB is achieved through a series connection of two octave filters with negative 3 dB attenuation.

    Schematic illustration of linear magnitude responses of octave filters and decomposition of an octave band by three one-third octave filters.

    Figure 6.3 Linear magnitude responses of octave filters and decomposition of an octave band by three one‐third octave filters.

  • One‐third octave filters are bandpass filters (see Fig. 6.3) with cutoff frequencies given by
    (6.4)f Subscript u Baseline equals RootIndex 3 StartRoot 2 EndRoot dot f Subscript l Baseline comma
    (6.5)f Subscript c Baseline equals RootIndex 6 StartRoot 2 EndRoot dot f Subscript l Baseline period

    The attenuation at the lower and upper cutoff frequency is negative 3 dB. One‐third octave filters split an octave into three frequency bands (see Fig. 6.3).

    Schematic illustration of parallel connection of bandpass filters (BP) for octave/one-third octave equalizers with gain factors.

    Figure 6.4 Parallel connection of bandpass filters (BP) for octave/one‐third octave equalizers with gain factors (upper A Subscript i for octave or one‐third octave band).

  • Shelving filters and peak filters are special weighting filters, which are based on lowpass/highpass/bandpass filters and a direct path (see Section 6.2.2). They have no stopband compared with lowpass/highpass/bandpass filters. They are used in a series connection of shelving and peak filters, as shown in Fig. 6.5. The lower frequency range is equalized by lowpass shelving filters and the higher frequencies are modified by highpass shelving filters. Both filter types allow the adjustment of the cutoff frequency and gain factor. For the mid‐frequency range, a series connection of peak filters with variable center frequency, bandwidth, and gain factor are used. These shelving and peak filters can also be applied for octave and one‐third octave equalizers in a series connection.
    Schematic illustration of series connection of shelving and peak filters.

    Figure 6.5 Series connection of shelving and peak filters (low‐frequency LF, high‐frequency HF).

  • Weighting filters are used for signal level and noise measurement applications. The signal from a device under test is first passed through the weighting filter and then a root‐mean‐square or peak value measurement is performed. The two most commonly used filters are the A‐weighting filter and the CCIR‐468 weighting filter (see Fig. 6.6). Both weighting filters take the increased sensitivity of human perception in the 1–6 kHz frequency range into account. The 0 dB of the magnitude response of both filters is crossed at 1 kHz. The CCIR‐468 weighting filter has a gain of 12 dB at 6 kHz. A variant of the CCIR‐468 filter is the ITU‐ARM 2‐kHz weighting filter, which is a 5.6‐dB down‐tilted version of the CCIR‐468 filters and passes 0 dB at 2 kHz.
    Schematic illustration of magnitude responses of weighting filters for root-mean-square and peak value measurements.

    Figure 6.6 Magnitude responses of weighting filters for root‐mean‐square and peak value measurements.

6.2 Recursive Audio Filters

6.2.1 Design

A certain filter response can be approximated by two kinds of transfer function. On the one hand, the combination of poles and zeros leads to a very low‐order transfer function upper H left-parenthesis z right-parenthesis in fractional form, which solves the given approximation problem. The digital implementation of this transfer function needs recursive procedures owing to its poles. On the other hand, the approximation problem can be solved by placing only zeros in the z‐plane. This transfer function upper H left-parenthesis z right-parenthesis has, in addition to its zeros, a corresponding number of poles at the origin of the z‐plane. The order of this transfer function, for the same approximation conditions, is substantially higher than for transfer functions consisting of poles and zeros. In view of an economical implementation of a filter algorithm in terms of complexity, recursive filters achieve shorter computing time owing to their lower order. For a sampling rate of 48 kHz, the algorithm has 20.83 mu s of processing time available. With the digital signal processors (DSPs) presently available, it is easily possible to implement recursive digital filters for audio applications within this sampling period using only one DSP. To design the typical audio equalizers, we will start with filter designs in the S‐domain. These filters will then be mapped to the Z‐domain by the bilinear transformation.

Lowpass/Highpass Filters. To limit the audio spectrum, lowpass and highpass filters with Butterworth response are used in analog mixers. They offer a monotonic passband and a monotonically decreasing stopband attenuation per octave (n dot 6 dB/oct.) that is determined by the filter order. Lowpass filters of the second and fourth order are commonly used. The normalized and denormalized second‐order lowpass transfer functions are given by

(6.6)StartLayout 1st Row upper H Subscript upper L upper P Baseline left-parenthesis s right-parenthesis equals StartStartFraction 1 OverOver s squared plus StartFraction 1 Over upper Q Subscript infinity Baseline EndFraction s plus 1 EndEndFraction and upper H Subscript upper L upper P Baseline left-parenthesis s right-parenthesis equals StartStartFraction omega Subscript c Superscript 2 Baseline OverOver s squared plus StartFraction omega Subscript c Baseline Over upper Q Subscript infinity Baseline EndFraction s plus omega Subscript c Superscript 2 Baseline EndEndFraction comma EndLayout

where omega Subscript c is the cutoff frequency and upper Q Subscript infinity is the pole quality factor. The upper Q‐factor upper Q Subscript infinity of a Butterworth approximation is equal to 1/StartRoot 2 EndRoot. The denormalization of a transfer function is obtained by replacing the Laplace variable s by StartFraction s Over omega Subscript g Baseline EndFraction in the normalized transfer function.

The corresponding second‐order highpass transfer functions

(6.7)StartLayout 1st Row upper H Subscript upper H upper P Baseline left-parenthesis s right-parenthesis equals StartStartFraction s squared OverOver s squared plus StartFraction 1 Over upper Q Subscript infinity Baseline EndFraction s plus 1 EndEndFraction and upper H Subscript upper H upper P Baseline left-parenthesis s right-parenthesis equals StartStartFraction s squared OverOver s squared plus StartFraction omega Subscript c Baseline Over upper Q Subscript infinity Baseline EndFraction s plus omega Subscript c Superscript 2 Baseline EndEndFraction EndLayout

are obtained by a lowpass to highpass transformation. Figure 6.7 shows the pole‐zero locations in the s‐plane. The amplitude frequency response of a highpass filter with a 3‐dB cutoff frequency of 50 Hz and a lowpass filter with a 3‐dB cutoff frequency of 5000 Hz are shown in Fig. 6.8. Second‐ and fourth‐order filters are shown.

Schematic illustration of pole-zero location for (a) second-order lowpass and (b) second-order highpass.

Figure 6.7 Pole‐zero location for (a) second‐order lowpass and (b) second‐order highpass.

Schematic illustration of frequency response of lowpass and highpass filters - highpass fc = 50Hz.

Figure 6.8 Frequency response of lowpass and highpass filters – highpass f Subscript c = 50 Hz (second/fourth order), lowpass f Subscript c = 5000 Hz (second/fourth order).

Table 6.1 summarizes the transfer functions of lowpass and highpass filters with Butterworth response.

Table 6.1 Transfer functions of lowpass and highpass filters.

Lowpassupper H left-parenthesis s right-parenthesis equals StartFraction 1 Over s squared plus StartRoot 2 EndRoot s plus 1 EndFractionsecond order
upper H left-parenthesis s right-parenthesis equals StartFraction 1 Over left-parenthesis s squared plus 1.848 s plus 1 right-parenthesis left-parenthesis s squared plus 0.765 s plus 1 right-parenthesis EndFractionfourth order
Highpassupper H left-parenthesis s right-parenthesis equals StartFraction s squared Over s squared plus StartRoot 2 EndRoot s plus 1 EndFractionsecond order
upper H left-parenthesis s right-parenthesis equals StartFraction s Superscript 4 Baseline Over left-parenthesis s squared plus 1.848 s plus 1 right-parenthesis left-parenthesis s squared plus 0.765 s plus 1 right-parenthesis EndFractionfourth order

Bandpass and bandstop filters. The normalized and denormalized bandpass transfer functions of second order are

(6.8)StartLayout 1st Row upper H Subscript upper B upper P Baseline left-parenthesis s right-parenthesis equals StartStartFraction StartFraction 1 Over upper Q Subscript infinity Baseline EndFraction s OverOver s squared plus StartFraction 1 Over upper Q Subscript infinity Baseline EndFraction s plus 1 EndEndFraction and upper H Subscript upper B upper P Baseline left-parenthesis s right-parenthesis equals StartStartFraction StartFraction omega Subscript c Baseline Over upper Q Subscript infinity Baseline EndFraction s OverOver s squared plus StartFraction omega Subscript c Baseline Over upper Q Subscript infinity Baseline EndFraction s plus omega Subscript c Superscript 2 Baseline EndEndFraction comma EndLayout

and the bandstop transfer functions are given by

(6.9)StartLayout 1st Row upper H Subscript upper B upper S Baseline left-parenthesis s right-parenthesis equals StartStartFraction s squared minus 1 OverOver s squared plus StartFraction 1 Over upper Q Subscript infinity Baseline EndFraction s plus 1 EndEndFraction and upper H Subscript upper B upper S Baseline left-parenthesis s right-parenthesis equals StartStartFraction s squared minus omega Subscript c Superscript 2 Baseline OverOver s squared plus StartFraction omega Subscript c Baseline Over upper Q Subscript infinity Baseline EndFraction s plus omega Subscript c Superscript 2 Baseline EndEndFraction period EndLayout

The relative bandwidth can be expressed by the upper Q‐factor

(6.10)upper Q Subscript infinity Baseline equals StartFraction f Subscript c Baseline Over f Subscript b Baseline EndFraction comma

which is the ratio of center frequency f Subscript c and the 3‐dB bandwidth given by f Subscript b. The magnitude responses of bandpass filters with constant relative bandwidth are shown in Fig. 6.2. Such kinds of filters are also called constant‐Q filters. The geometric symmetric behavior of the frequency response regarding the center frequency f Subscript c is clearly noticeable (symmetry regarding the center frequency using a logarithmic frequency axis).

Shelving Filters. In addition to the purely band‐limiting filters like lowpass and highpass filters, shelving filters are used to perform weighting of certain frequencies. A simple approach for a first‐order lowpass shelving filter is given by

It consists of a first‐order lowpass filter with dc amplification of upper H 0 connected in parallel with an allpass system of transfer function equal to 1. Equation (6.11) can be written as

where upper V 0 determines the amplification at omega equals 0. By changing the parameter upper V 0, any desired boost (upper V 0 greater-than 1) and cut (upper V 0 less-than 1) level can be adjusted. Figure 6.9 shows the frequency responses for f Subscript c Baseline equals 100 Hz. For upper V 0 less-than 1, the cutoff frequency is dependent on upper V 0 and is moved toward lower frequencies.

Schematic illustration of frequency response of transfer function (6.12) with varying V0 and cutoff frequency fc=100 Hz.

Figure 6.9 Frequency response of transfer function (6.12) with varying upper V 0 and cutoff frequency f Subscript c Baseline equals 100 Hz.

To obtain a symmetrical frequency response with respect to the zero‐decibel line without changing the cutoff frequency, it is necessary to invert the transfer function (6.12) in the case of cut (upper V 0 less-than 1). This has the effect of swapping poles with zeros and leads to the transfer function

for the cut case. Figure 6.10 shows the corresponding frequency responses for varying upper V 0.

Schematic illustration of frequency responses of transfer function (6.13) with varying V0 and cutoff frequency fc=100 Hz.

Figure 6.10 Frequency responses of transfer function (6.13) with varying upper V 0 and cutoff frequency f Subscript c Baseline equals 100 Hz.

Finally, Figure 6.11 shows the locations of poles and zeros for both the boost and the cut cases. By moving zeros and poles on the negative sigma‐axis, boost and cut can be adjusted.

Schematic illustration of pole-zero locations of a first-order low-frequency shelving filter.

Figure 6.11 Pole‐zero locations of a first‐order low‐frequency shelving filter.

The equivalent shelving filter for high frequencies can be obtained by

(6.14)StartLayout 1st Row upper H left-parenthesis s right-parenthesis equals 1 plus upper H Subscript upper H upper P Baseline left-parenthesis s right-parenthesis equals 1 plus StartFraction upper H 0 s Over s plus 1 EndFraction comma EndLayout

which is a parallel connection of a first‐order highpass with gain upper H 0 and a system with transfer function equal to 1. In the case of boost, the transfer function can be written with upper V 0 equals upper H 0 plus 1 as

(6.15)upper H left-parenthesis s right-parenthesis equals StartFraction s upper V 0 plus 1 Over s plus 1 EndFraction comma upper V 0 greater-than 1 comma

and for cut, we get

(6.16)upper H left-parenthesis s right-parenthesis equals StartFraction s plus 1 Over s upper V 0 plus 1 EndFraction comma upper V 0 greater-than 1 period

The parameter upper V 0 determines the value of the transfer function upper H left-parenthesis s right-parenthesis at omega equals infinity for high‐frequency shelving filters.

To increase the slope of the filter response in the transition band, a general second‐order transfer function

(6.17)upper H left-parenthesis s right-parenthesis equals StartFraction a 2 s squared plus a 1 s plus a 0 Over s squared plus StartRoot 2 EndRoot s plus 1 EndFraction

is considered, in which complex zeros are added to the complex poles. The calculation of poles leads to

(6.18)s Subscript infinity 1 slash 2 Baseline equals StartRoot one half EndRoot left-parenthesis negative 1 plus-or-minus j right-parenthesis period

If the complex zeros

(6.19)s Subscript ring 1 slash 2 Baseline equals StartRoot StartFraction upper V 0 Over 2 EndFraction EndRoot left-parenthesis negative 1 plus-or-minus j right-parenthesis

are moved on a straight line with the help of the parameter upper V 0 (see Fig. 6.12 ), the transfer function

of a second‐order low‐frequency shelving filter is obtained. The parameter upper V 0 determines the boost for low frequencies. The cut case can be achieved by inversion of Eq. (6.20).

Schematic illustration of pole-zero locations of a second-order low-frequency shelving filter.

Figure 6.12 Pole‐zero locations of a second‐order low‐frequency shelving filter.

A lowpass to highpass transformation of Eq. (6.20) provides the transfer function

of a second‐order high‐frequency shelving filter. The zeros

(6.22)s Subscript ring 1 slash 2 Baseline equals StartRoot StartFraction 1 Over 2 upper V 0 EndFraction EndRoot left-parenthesis negative 1 plus-or-minus j right-parenthesis

are moved on a straight line toward the origin with increasing upper V 0 (see Fig. 6.13 ). The cut case is obtained by inverting the transfer function (6.21). Figure 6.14 shows the amplitude frequency response of a second‐order low‐frequency shelving filter with cutoff frequency 100 Hz and a second‐order high‐frequency shelving filter with cutoff frequency 5000 Hz (parameter upper V 0).

Schematic illustration of pole-zero locations of second-order high-frequency shelving filter.

Figure 6.13 Pole‐zero locations of second‐order high‐frequency shelving filter.

Schematic illustration of frequency responses of second-order low-/high-frequency shelving filters - low-frequency shelving filter fc = 100Hz (parameter V0), high-frequency shelving filter fc = 5000 Hz (parameter V0).

Figure 6.14 Frequency responses of second‐order low‐/high‐frequency shelving filters – low‐frequency shelving filter f Subscript c = 100 Hz (parameter upper V 0), high‐frequency shelving filter f Subscript c = 5000 Hz (parameter upper V 0).

Peak Filter. Another equalizer used for boosting or cutting any desired frequency is the peak filter. A peak filter can be obtained by a parallel connection of a direct path and a bandpass according to

(6.23)StartLayout 1st Row upper H left-parenthesis s right-parenthesis equals 1 plus upper H Subscript upper B upper P Baseline left-parenthesis s right-parenthesis period EndLayout

With the help of a second‐order bandpass transfer function

(6.24)upper H Subscript upper B upper P Baseline left-parenthesis s right-parenthesis equals StartStartFraction left-parenthesis upper H 0 slash upper Q Subscript infinity Baseline right-parenthesis s OverOver s squared plus StartFraction 1 Over upper Q Subscript infinity Baseline EndFraction s plus 1 EndEndFraction comma

the transfer function

of a peak filter can be derived. It can be shown that the maximum of the amplitude frequency response at the center frequency is determined by the parameter upper V 0. The relative bandwidth is fixed by the upper Q‐factor. The geometrical symmetry of the frequency response relative to the center frequency remains constant for the transfer function of a peak filter given by Eq. (6.25). The poles and zeros lie on the unit circle. By adjusting the parameter upper V 0, the complex zeros are moved with respect to the complex poles. Figure 6.15 shows this for the boost and cut cases. With increasing upper Q‐factor, the complex poles move toward the j omega‐axis on the unit circle.

Schematic illustration of pole-zero locations of a second-order peak filter.

Figure 6.15 Pole‐zero locations of a second‐order peak filter.

Figure 6.16 shows the amplitude frequency response of a peak filter by changing the parameter upper V 0 at a center frequency of 500 Hz and a upper Q‐factor of 1.25. Figure 6.17 shows the variation of the upper Q‐factor upper Q Subscript infinity at a center frequency of 500 Hz, a boost/cut of plus-or-minus 16 dB, and upper Q‐factor of 1.25. Finally, the variation of the center frequency with boost and cut of plus-or-minus 16 dB and a upper Q‐factor 1.25 is shown in Fig. 6.18 .

Schematic illustration of frequency response of a peak filter - fc = 500 Hz, Q∞ = 1.25, cut parameter V0.

Figure 6.16 Frequency response of a peak filter – f Subscript c = 500 Hz, upper Q Subscript infinity = 1.25, cut parameter upper V 0.

Schematic illustration of frequency responses of peak filters - fc = 500 Hz, boost/cut ±16 dB, Q∞ = 0.707, 1.25, 2.5, 3, 5.

Figure 6.17 Frequency responses of peak filters – f Subscript c = 500 Hz, boost/cut plus-or-minus 16 dB, upper Q Subscript infinity = 0.707, 1.25, 2.5, 3, 5.

Schematic illustration of frequency responses of peak filters - boost/cut ±16 dB, Q∞ = 1.25, fc = 50, 200, 1000, 4000 Hz.

Figure 6.18 Frequency responses of peak filters – boost/cut plus-or-minus 16 dB, upper Q Subscript infinity = 1.25, f Subscript c = 50, 200, 1000, 4000 Hz.

Mapping to Z‐domain. To implement a digital filter, the filter designed in the S‐domain with transfer function upper H left-parenthesis s right-parenthesis is converted to the Z‐domain with the help of a suitable transformation to obtain the transfer function upper H left-parenthesis z right-parenthesis. The impulse‐invariant transformation is not suitable as it leads to overlapping effects if the transfer function upper H left-parenthesis s right-parenthesis is not band limited to half the sampling rate. An independent mapping of poles and zeros from the S‐domain into poles and zeros in the Z‐domain is possible with help of the bilinear transformation given by

(6.26)s equals StartFraction 2 Over upper T EndFraction StartFraction z minus 1 Over z plus 1 EndFraction period

Tables 6.2 , 6.3 , 6.4 , and 6.5 contain the coefficients of the second‐order transfer function

(6.27)upper H left-parenthesis z right-parenthesis equals StartFraction a 0 plus a 1 z Superscript negative 1 Baseline plus a 2 z Superscript negative 2 Baseline Over 1 plus b 1 z Superscript negative 1 Baseline plus b 2 z Superscript negative 2 Baseline EndFraction comma

which are determined by the bilinear transformation and the auxiliary variable upper K equals tangent left-parenthesis omega Subscript c Baseline upper T slash 2 right-parenthesis for all discussed audio filter types. Further filter designs of peak and shelving filters are discussed in [Moo83, Whi86, Sha92, Bri94, Orf96a, Dat97, Cla00, Väl16]. A method for reducing the warping effect of the bilinear transform is proposed in [Orf96b]. Strategies for time‐variant switching of audio filters can be found in [Rab88, Mou90, Zöl93, Din95, Väl98].

Table 6.2 Lowpass/highpass/bandpass filter design.

Lowpass (second‐order)
a 0a 1a 2b 1b 2
StartFraction upper K squared Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction 2 upper K squared Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction upper K squared Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction 2 left-parenthesis upper K squared minus 1 right-parenthesis Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction 1 minus StartRoot 2 EndRoot upper K plus upper K squared Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFraction
Highpass (second‐order)
a 0a 1a 2b 1b 2
StartFraction 1 Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction negative 2 Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction 1 Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction 2 left-parenthesis upper K squared minus 1 right-parenthesis Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction 1 minus StartRoot 2 EndRoot upper K plus upper K squared Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFraction
Bandpass (second‐order)
a 0a 1a 2b 1b 2
StartStartFraction StartFraction 1 Over upper Q EndFraction upper K OverOver 1 plus StartFraction 1 Over upper Q EndFraction upper K plus upper K squared EndEndFraction0minus StartStartFraction StartFraction 1 Over upper Q EndFraction upper K OverOver 1 plus StartFraction 1 Over upper Q EndFraction upper K plus upper K squared EndEndFractionStartStartFraction 2 left-parenthesis upper K squared minus 1 right-parenthesis OverOver 1 plus StartFraction 1 Over upper Q EndFraction upper K plus upper K squared EndEndFractionStartStartFraction 1 minus StartFraction 1 Over upper Q EndFraction upper K plus upper K squared OverOver 1 plus StartFraction 1 Over upper Q EndFraction upper K plus upper K squared EndEndFraction

Table 6.3 Peak filter design with gain upper G in dB.

Peak (boost upper V 0 equals 1 0 Superscript upper G slash 20)
a 0a 1a 2b 1b 2
StartStartFraction 1 plus StartFraction upper V 0 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared OverOver 1 plus StartFraction 1 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared EndEndFractionStartStartFraction 2 left-parenthesis upper K squared minus 1 right-parenthesis OverOver 1 plus StartFraction 1 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared EndEndFractionStartStartFraction 1 minus StartFraction upper V 0 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared OverOver 1 plus StartFraction 1 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared EndEndFractionStartStartFraction 2 left-parenthesis upper K squared minus 1 right-parenthesis OverOver 1 plus StartFraction 1 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared EndEndFractionStartStartFraction 1 minus StartFraction 1 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared OverOver 1 plus StartFraction 1 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared EndEndFraction
Peak (cut upper V 0 equals 1 0 Superscript negative upper G slash 20)
a 0a 1a 2b 1b 2
StartStartFraction 1 plus StartFraction 1 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared OverOver 1 plus StartFraction upper V 0 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared EndEndFractionStartStartFraction 2 left-parenthesis upper K squared minus 1 right-parenthesis OverOver 1 plus StartFraction upper V 0 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared EndEndFractionStartStartFraction 1 minus StartFraction 1 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared OverOver 1 plus StartFraction upper V 0 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared EndEndFractionStartStartFraction 2 left-parenthesis upper K squared minus 1 right-parenthesis OverOver 1 plus StartFraction upper V 0 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared EndEndFractionStartStartFraction 1 minus StartFraction upper V 0 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared OverOver 1 plus StartFraction upper V 0 Over upper Q Subscript infinity Baseline EndFraction upper K plus upper K squared EndEndFraction

Table 6.4 Low‐frequency shelving filter design with gain upper G in dB.

Low‐frequency shelving (Boost upper V 0 equals 1 0 Superscript upper G slash 20)
a 0a 1a 2b 1b 2
StartFraction 1 plus StartRoot 2 upper V 0 EndRoot upper K plus upper V 0 upper K squared Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction 2 left-parenthesis upper V 0 upper K squared minus 1 right-parenthesis Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction 1 minus StartRoot 2 upper V 0 EndRoot upper K plus upper V 0 upper K squared Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction 2 left-parenthesis upper K squared minus 1 right-parenthesis Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction 1 minus StartRoot 2 EndRoot upper K plus upper K squared Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFraction
Low‐frequency shelving (Cut upper V 0 equals 1 0 Superscript negative upper G slash 20)
a 0a 1a 2b 1b 2
StartFraction 1 plus StartRoot 2 EndRoot upper K plus upper K squared Over 1 plus StartRoot 2 upper V 0 EndRoot upper K plus upper V 0 upper K squared EndFractionStartFraction 2 left-parenthesis upper K squared minus 1 right-parenthesis Over 1 plus StartRoot 2 upper V 0 EndRoot upper K plus upper V 0 upper K squared EndFractionStartFraction 1 minus StartRoot 2 EndRoot upper K plus upper K squared Over 1 plus StartRoot 2 upper V 0 EndRoot upper K plus upper V 0 upper K squared EndFractionStartFraction 2 left-parenthesis upper V 0 upper K squared minus 1 right-parenthesis Over 1 plus StartRoot 2 upper V 0 EndRoot upper K plus upper V 0 upper K squared EndFractionStartFraction 1 minus StartRoot 2 upper V 0 EndRoot upper K plus upper V 0 upper K squared Over 1 plus StartRoot 2 upper V 0 EndRoot upper K plus upper V 0 upper K squared EndFraction

Table 6.5 High‐frequency shelving filter design with gain upper G in dB.

High‐frequency shelving (Boost upper V 0 equals 1 0 Superscript upper G slash 20)
a 0a 1a 2b 1b 2
StartFraction upper V 0 plus StartRoot 2 upper V 0 EndRoot upper K plus upper K squared Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction 2 left-parenthesis upper K squared minus upper V 0 right-parenthesis Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction upper V 0 minus StartRoot 2 upper V 0 EndRoot upper K plus upper K squared Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction 2 left-parenthesis upper K squared minus 1 right-parenthesis Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFractionStartFraction 1 minus StartRoot 2 EndRoot upper K plus upper K squared Over 1 plus StartRoot 2 EndRoot upper K plus upper K squared EndFraction
High‐frequency shelving (Cut upper V 0 equals 1 0 Superscript negative upper G slash 20)
a 0a 1a 2b 1b 2
StartFraction 1 plus StartRoot 2 EndRoot upper K plus upper K squared Over upper V 0 plus StartRoot 2 upper V 0 EndRoot upper K plus upper K squared EndFractionStartFraction 2 left-parenthesis upper K squared minus 1 right-parenthesis Over upper V 0 plus StartRoot 2 upper V 0 EndRoot upper K plus upper K squared EndFractionStartFraction 1 minus StartRoot 2 EndRoot upper K plus upper K squared Over upper V 0 plus StartRoot 2 upper V 0 EndRoot upper K plus upper K squared EndFractionStartFraction 2 left-parenthesis upper K squared slash upper V 0 minus 1 right-parenthesis Over 1 plus StartRoot 2 slash upper V 0 EndRoot upper K plus upper K squared slash upper V 0 EndFractionStartFraction 1 minus StartRoot 2 slash upper V 0 EndRoot upper K plus upper K squared slash upper V 0 Over 1 plus StartRoot 2 slash upper V 0 EndRoot upper K plus upper K squared slash upper V 0 EndFraction

6.2.2 Parametric Filter Structures

Parametric filter structures allow direct access to the parameters of the transfer function, like center/cutoff frequency, bandwidth, and gain, through the control of associated coefficients. To modify one of these parameters, it is therefore not necessary to compute a complete set of coefficients for a second‐order transfer function, but instead only one coefficient in the filter structure is calculated.

An independent control of gain, cutoff/center frequency, and bandwidth for shelving and peak filters is achieved by a feed‐forward (FF) structure for boost and a feed‐backward (FB) structure for cut, as shown in Fig. 6.19 . The corresponding transfer functions are

(6.28)StartLayout 1st Row 1st Column upper G Subscript upper F upper W Baseline left-parenthesis z right-parenthesis 2nd Column equals 1 plus upper H 0 upper H left-parenthesis z right-parenthesis comma EndLayout
(6.29)StartLayout 1st Row 1st Column upper G Subscript upper F upper B Baseline left-parenthesis z right-parenthesis 2nd Column equals StartFraction 1 Over 1 plus upper H 0 upper H left-parenthesis z right-parenthesis EndFraction period EndLayout

The boost/cut factor is upper V 0 equals 1 plus upper H 0. For digital filter implementations, it is necessary for the FB case that the inner transfer function be of the form upper H left-parenthesis z right-parenthesis equals z Superscript negative 1 Baseline upper H 1 left-parenthesis z right-parenthesis to ensure causality. A parametric filter structure proposed by Harris [Har93] is based on the FF/FB technique, but the frequency response shows slight deviations near z equals 1 and z equals negative 1 from the desired one. This arises from the z Superscript negative 1 in the FF/FB branch. Delay‐free loops inside filter computations can be solved by the methods presented in [Här98, Fon01, Fon03]. Higher‐order parametric filter designs have been introduced in [Kei04, Orf05, Hol06a, Hol06b, Hol06c, Hol06d]. It is possible to implement typical audio filters with only an FF structure. The complete decoupling of the control parameters is possible for the boost case, but there remains a coupling between bandwidth and gain factor for the cut case. In the following, two approaches for parametric audio filter structures based on an allpass decomposition of the transfer function will be discussed.

Schematic illustration of filter structure for implementing boost and cut filters.

Figure 6.19 Filter structure for implementing boost and cut filters.

Regalia filter [Reg87]. The denormalized transfer function of a first‐order shelving filter is given by

with

StartLayout 1st Row 1st Column upper H left-parenthesis 0 right-parenthesis 2nd Column equals 3rd Column upper V 0 comma 2nd Row 1st Column upper H left-parenthesis infinity right-parenthesis 2nd Column equals 3rd Column 1 period EndLayout

A decomposition of Eq. (6.30) leads to

The lowpass and highpass transfer functions in Eq. (6.31) can be expressed by an allpass decomposition of the form

(6.32)StartLayout 1st Row 1st Column StartFraction s Over s plus omega Subscript c Baseline EndFraction 2nd Column equals one half left-bracket 1 plus StartFraction s minus omega Subscript c Baseline Over s plus omega Subscript c Baseline EndFraction right-bracket comma EndLayout
(6.33)StartLayout 1st Row 1st Column StartFraction upper V 0 omega Subscript c Baseline Over s plus omega Subscript c Baseline EndFraction 2nd Column equals StartFraction upper V 0 Over 2 EndFraction left-bracket 1 minus StartFraction s minus omega Subscript c Baseline Over s plus omega Subscript c Baseline EndFraction right-bracket period EndLayout

With the allpass transfer function

(6.34)upper A Subscript upper B Baseline left-parenthesis s right-parenthesis equals StartFraction s minus omega Subscript c Baseline Over s plus omega Subscript c Baseline EndFraction

for boost, Eq. (6.30) can be rewritten as

(6.35)upper H left-parenthesis s right-parenthesis equals one half left-bracket 1 plus upper A Subscript upper B Baseline left-parenthesis s right-parenthesis right-bracket plus one half upper V 0 left-bracket 1 minus upper A Subscript upper B Baseline left-parenthesis s right-parenthesis right-bracket period

The bilinear transformation s equals StartFraction 2 Over upper T EndFraction StartFraction z minus 1 Over z plus 1 EndFraction leads to

with

and the frequency parameter

(6.38)a Subscript upper B Baseline equals StartFraction tangent left-parenthesis omega Subscript c Baseline upper T slash 2 right-parenthesis minus 1 Over tangent left-parenthesis omega Subscript c Baseline upper T slash 2 right-parenthesis plus 1 EndFraction period

A filter structure for direct implementation of Eq. (6.36) is presented in Fig. 6.20 a. Other possible structures can be seen in Fig. 6.20 b,c. For the cut case upper V 0 less-than 1, the cutoff frequency of the filter moves towards lower frequencies [Reg87].

Schematic illustration of filter structures by Regalia.

Figure 6.20 Filter structures by Regalia.

To retain the cutoff frequency for the cut case [Zöl95], the denormalized transfer function of a first‐order shelving filter (cut)

with the boundary conditions

StartLayout 1st Row 1st Column upper H left-parenthesis 0 right-parenthesis 2nd Column equals 3rd Column upper V 0 comma 2nd Row 1st Column upper H left-parenthesis infinity right-parenthesis 2nd Column equals 3rd Column 1 EndLayout

can be decomposed as follows:

(6.40)upper H left-parenthesis s right-parenthesis equals StartFraction s Over s plus omega Subscript c Baseline slash upper V 0 EndFraction plus StartFraction omega Subscript c Baseline Over s plus omega Subscript c Baseline slash upper V 0 EndFraction period

With the allpass decompositions

(6.41)StartLayout 1st Row 1st Column StartFraction s Over s plus omega Subscript c Baseline slash upper V 0 EndFraction 2nd Column equals one half left-bracket 1 plus StartFraction s minus omega Subscript c Baseline slash upper V 0 Over s plus omega Subscript c Baseline slash upper V 0 EndFraction right-bracket comma EndLayout
(6.42)StartLayout 1st Row 1st Column StartFraction omega Subscript c Baseline Over s plus omega Subscript c Baseline slash upper V 0 EndFraction 2nd Column equals StartFraction upper V 0 Over 2 EndFraction left-bracket 1 minus StartFraction s minus omega Subscript c Baseline slash upper V 0 Over s plus omega Subscript c Baseline slash upper V 0 EndFraction right-bracket comma EndLayout

and the allpass transfer function

(6.43)upper A Subscript upper C Baseline left-parenthesis s right-parenthesis equals StartFraction s minus omega Subscript c Baseline slash upper V 0 Over s plus omega Subscript c Baseline slash upper V 0 EndFraction

for cut, Eq. (6.39) can be rewritten as

(6.44)upper H left-parenthesis s right-parenthesis equals one half left-bracket 1 plus upper A Subscript upper C Baseline left-parenthesis s right-parenthesis right-bracket plus StartFraction upper V 0 Over 2 EndFraction left-bracket 1 minus upper A Subscript upper C Baseline left-parenthesis s right-parenthesis right-bracket period

The bilinear transformation leads to

with

and the frequency parameter

Owing to (Eqs. 6.45) and (6.36), boost and cut can be implemented with the same filter structure (see Fig. 6.20 ). However, it has to be noted that the frequency parameter a Subscript upper C, as in Eq. (6.47) for cut, depends on the cutoff frequency and gain.

A second‐order peak filter is obtained by a lowpass to bandpass transformation according to

(6.48)z Superscript negative 1 Baseline right-arrow minus z Superscript negative 1 Baseline StartFraction z Superscript negative 1 Baseline plus d Over 1 plus d z Superscript negative 1 Baseline EndFraction period

For an allpass, as given in (Eqs. 6.37) and (6.46), the second‐order allpass is given by

(6.49)upper A Subscript upper B upper C Baseline left-parenthesis z right-parenthesis equals StartFraction z Superscript negative 2 Baseline plus d left-parenthesis 1 plus a Subscript upper B upper C Baseline right-parenthesis z Superscript negative 1 Baseline plus a Subscript upper B upper C Baseline Over 1 plus d left-parenthesis 1 plus a Subscript upper B upper C Baseline right-parenthesis z Superscript negative 1 Baseline plus a Subscript upper B upper C Baseline z Superscript negative 2 Baseline EndFraction

with parameters (cut as in [Zöl95])

(6.50)StartLayout 1st Row 1st Column d 2nd Column equals minus c o s left-parenthesis normal upper Omega Subscript c Baseline right-parenthesis comma EndLayout
(6.51)StartLayout 1st Row 1st Column upper V 0 2nd Column equals upper H left-parenthesis e Superscript j normal upper Omega Super Subscript c Superscript Baseline right-parenthesis comma EndLayout
(6.52)StartLayout 1st Row 1st Column a Subscript upper B 2nd Column equals StartFraction 1 minus tangent left-parenthesis omega Subscript b Baseline upper T slash 2 right-parenthesis Over 1 plus tangent left-parenthesis omega Subscript b Baseline upper T slash 2 right-parenthesis EndFraction comma EndLayout
(6.53)StartLayout 1st Row 1st Column a Subscript upper C 2nd Column equals StartFraction upper V 0 minus tangent left-parenthesis omega Subscript b Baseline upper T slash 2 right-parenthesis Over upper V 0 plus tangent left-parenthesis omega Subscript b Baseline upper T slash 2 right-parenthesis EndFraction period EndLayout

The center frequency f Subscript c is fixed by the parameter d, the bandwidth f Subscript b by the parameters a Subscript upper B and a Subscript upper C, and gain upper G equals 20 log Subscript 10 Baseline upper V 0 by the parameter upper V 0.

Simplified Allpass Decomposition [Zöl95]. The transfer function of a first‐order low‐frequency shelving filter can be a decomposed as

(6.54)StartLayout 1st Row 1st Column upper H left-parenthesis s right-parenthesis 2nd Column equals 3rd Column StartFraction s plus upper V 0 omega Subscript c Baseline Over s plus omega Subscript c Baseline EndFraction 2nd Row 1st Column Blank 2nd Column equals 3rd Column 1 plus upper H 0 StartFraction omega Subscript c Baseline Over s plus omega Subscript c Baseline EndFraction EndLayout

with

(6.56)StartLayout 1st Row 1st Column upper V 0 2nd Column equals upper H left-parenthesis s equals 0 right-parenthesis comma EndLayout
(6.57)StartLayout 1st Row 1st Column upper H 0 2nd Column equals upper V 0 minus 1 comma EndLayout
(6.58)StartLayout 1st Row 1st Column upper V 0 2nd Column equals 1 0 Superscript StartFraction upper G Over 20 EndFraction Baseline left-parenthesis upper G in dB right-parenthesis period EndLayout

The transfer function (6.55) is composed of a direct branch and a lowpass filter. The first‐order lowpass filter is again implemented by an allpass decomposition. Applying the bilinear transformation to Eq. (6.55) leads to

with

(6.60)upper A left-parenthesis z right-parenthesis equals minus StartFraction z Superscript negative 1 Baseline plus a Subscript upper B Baseline Over 1 plus a Subscript upper B Baseline z Superscript negative 1 Baseline EndFraction period

For cut, the following decomposition can be derived:

(6.61)StartLayout 1st Row 1st Column upper H left-parenthesis s right-parenthesis 2nd Column equals StartFraction s plus omega Subscript c Baseline Over s plus omega Subscript c Baseline slash upper V 0 EndFraction EndLayout
(6.62)StartLayout 1st Row 1st Column Blank 2nd Column equals 1 plus ModifyingBelow left-parenthesis upper V 0 minus 1 right-parenthesis With presentation form for vertical right-brace Underscript upper H 0 Endscripts StartFraction omega Subscript c Baseline slash upper V 0 Over s plus omega Subscript c Baseline slash upper V 0 EndFraction EndLayout

The bilinear transformation applied to Eq. (6.63) again gives Eq. (6.59). The filter structure is identical for boost and cut. The frequency parameter a Subscript upper B for boost and a Subscript upper C for cut can be calculated as

(6.64)StartLayout 1st Row 1st Column a Subscript upper B 2nd Column equals StartFraction tangent left-parenthesis omega Subscript c Baseline upper T slash 2 right-parenthesis minus 1 Over tangent left-parenthesis omega Subscript c Baseline upper T slash 2 right-parenthesis plus 1 EndFraction comma EndLayout
(6.65)StartLayout 1st Row 1st Column a Subscript upper C 2nd Column equals StartFraction tangent left-parenthesis omega Subscript c Baseline upper T slash 2 right-parenthesis minus upper V 0 Over tangent left-parenthesis omega Subscript c Baseline upper T slash 2 right-parenthesis plus upper V 0 EndFraction period EndLayout

The transfer function of a first‐order low‐frequency shelving filter can be calculated as

(6.66)upper H left-parenthesis z right-parenthesis equals StartStartFraction 1 plus left-parenthesis 1 plus a Subscript upper B upper C Baseline right-parenthesis StartFraction upper H 0 Over 2 EndFraction plus left-parenthesis a Subscript upper B upper C Baseline plus left-parenthesis 1 plus a Subscript upper B upper C Baseline right-parenthesis StartFraction upper H 0 Over 2 EndFraction right-parenthesis z Superscript negative 1 Baseline OverOver 1 plus a Subscript upper B upper C Baseline z Superscript negative 1 Baseline EndEndFraction period

With upper A 1 left-parenthesis z right-parenthesis equals minus upper A left-parenthesis z right-parenthesis, the signal flow chart in Fig. 6.21 shows a first‐order lowpass filter and a first‐order low‐frequency shelving filter.

Schematic illustration of low-frequency shelving filter and first-order lowpass filter.

Figure 6.21 Low‐frequency shelving filter and first‐order lowpass filter.

The decomposition of a denormalized transfer function of a first‐order high‐frequency shelving filter can be given in the form of

(6.67)StartLayout 1st Row 1st Column upper H left-parenthesis s right-parenthesis 2nd Column equals 3rd Column StartFraction s upper V 0 plus omega Subscript c Baseline Over s plus omega Subscript c Baseline EndFraction 2nd Row 1st Column Blank 2nd Column equals 3rd Column 1 plus upper H 0 StartFraction s Over s plus omega Subscript c Baseline EndFraction EndLayout

where

(6.69)StartLayout 1st Row 1st Column upper V 0 2nd Column equals upper H left-parenthesis s equals infinity right-parenthesis comma EndLayout
(6.70)StartLayout 1st Row 1st Column upper H 0 2nd Column equals upper V 0 minus 1 period EndLayout

The transfer function results by adding a highpass filter to a constant. Applying the bilinear transformation to Eq. (6.68) gives

with

(6.72)upper A left-parenthesis z right-parenthesis equals minus StartFraction z Superscript negative 1 Baseline plus a Subscript upper B Baseline Over 1 plus a Subscript upper B Baseline z Superscript negative 1 Baseline EndFraction period

For cut, the decomposition can be given by

(6.73)StartLayout 1st Row 1st Column upper H left-parenthesis s right-parenthesis 2nd Column equals StartFraction s plus omega Subscript c Baseline Over s slash upper V 0 plus omega Subscript c Baseline EndFraction EndLayout
(6.74)StartLayout 1st Row 1st Column Blank 2nd Column equals 1 plus ModifyingBelow left-parenthesis upper V 0 minus 1 right-parenthesis With presentation form for vertical right-brace Underscript upper H 0 Endscripts StartFraction s Over s plus upper V 0 omega Subscript c Baseline EndFraction EndLayout
(6.75)StartLayout 1st Row 1st Column Blank 2nd Column equals 1 plus StartFraction upper H 0 Over 2 EndFraction left-bracket 1 plus StartFraction s minus upper V 0 omega Subscript c Baseline Over s plus upper V 0 omega Subscript c Baseline EndFraction right-bracket comma EndLayout

which in return results in Eq. (6.71) after a bilinear transformation. The boost and cut parameters can be calculated as

(6.76)StartLayout 1st Row 1st Column a Subscript upper B 2nd Column equals StartFraction tangent left-parenthesis omega Subscript c Baseline upper T slash 2 right-parenthesis minus 1 Over tangent left-parenthesis omega Subscript c Baseline upper T slash 2 right-parenthesis plus 1 EndFraction comma EndLayout
(6.77)StartLayout 1st Row 1st Column a Subscript upper C 2nd Column equals StartFraction upper V 0 tangent left-parenthesis omega Subscript c Baseline upper T slash 2 right-parenthesis minus 1 Over upper V 0 tangent left-parenthesis omega Subscript c Baseline upper T slash 2 right-parenthesis plus 1 EndFraction period EndLayout

The transfer function of a first‐order high‐frequency shelving filter can then be written as

(6.78)upper H left-parenthesis z right-parenthesis equals StartStartFraction 1 plus left-parenthesis 1 minus a Subscript upper B upper C Baseline right-parenthesis StartFraction upper H 0 Over 2 EndFraction plus left-parenthesis a Subscript upper B upper C Baseline plus left-parenthesis a Subscript upper B upper C Baseline minus 1 right-parenthesis StartFraction upper H 0 Over 2 EndFraction right-parenthesis z Superscript negative 1 Baseline OverOver 1 plus a Subscript upper B upper C Baseline z Superscript negative 1 Baseline EndEndFraction period

With upper A 1 left-parenthesis z right-parenthesis equals minus upper A left-parenthesis z right-parenthesis, the signal flow chart in Fig. 6.22 shows a first‐order highpass filter and a high‐frequency shelving filter.

Schematic illustration of first-order high-frequency shelving and highpass filters.

Figure 6.22 First‐order high‐frequency shelving and highpass filters.

The implementation of a second‐order peak filter can be carried out with a lowpass to bandpass transformation of a first‐order shelving filter. However, the addition of a second‐order bandpass filter to a constant branch also results in a peak filter. With the help of an allpass implementation of a bandpass filter, as given by

(6.79)upper H left-parenthesis z right-parenthesis equals one half left-bracket 1 minus upper A 2 left-parenthesis z right-parenthesis right-bracket

and

(6.80)upper A 2 left-parenthesis z right-parenthesis equals StartFraction minus a Subscript upper B Baseline plus left-parenthesis d minus d a Subscript upper B Baseline right-parenthesis z Superscript negative 1 Baseline plus z Superscript negative 2 Baseline Over 1 plus left-parenthesis d minus d a Subscript upper B Baseline right-parenthesis z Superscript negative 1 Baseline minus a Subscript upper B Baseline z Superscript negative 2 Baseline EndFraction comma

a second‐order peak filter can be expressed as

(6.81)upper H left-parenthesis z right-parenthesis equals 1 plus StartFraction upper H 0 Over 2 EndFraction left-bracket 1 minus upper A 2 left-parenthesis z right-parenthesis right-bracket period

The bandwidth parameters a Subscript upper B and a Subscript upper C for boost and cut are given by

(6.82)a Subscript upper B Baseline equals StartFraction tangent left-parenthesis omega Subscript b Baseline upper T slash 2 right-parenthesis minus 1 Over tangent left-parenthesis omega Subscript b Baseline upper T slash 2 right-parenthesis plus 1 EndFraction comma
(6.83)a Subscript upper C Baseline equals StartFraction tangent left-parenthesis omega Subscript b Baseline upper T slash 2 right-parenthesis minus upper V 0 Over tangent left-parenthesis omega Subscript b Baseline upper T slash 2 right-parenthesis plus upper V 0 EndFraction period

The center frequency parameter d and the coefficient upper H 0 are given by

(6.84)StartLayout 1st Row 1st Column d 2nd Column equals minus c o s left-parenthesis normal upper Omega Subscript c Baseline right-parenthesis comma EndLayout
(6.85)StartLayout 1st Row 1st Column upper V 0 2nd Column equals upper H left-parenthesis e Superscript j normal upper Omega Super Subscript c Superscript Baseline right-parenthesis comma EndLayout
(6.86)StartLayout 1st Row 1st Column upper H 0 2nd Column equals upper V 0 minus 1 period EndLayout

The transfer function of a second‐order peak filter results in

(6.87)upper H left-parenthesis z right-parenthesis equals StartStartFraction 1 plus left-parenthesis 1 plus a Subscript upper B upper C Baseline right-parenthesis StartFraction upper H 0 Over 2 EndFraction plus d left-parenthesis 1 minus a Subscript upper B upper C Baseline right-parenthesis z Superscript negative 1 Baseline plus left-parenthesis minus a Subscript upper B upper C Baseline minus left-parenthesis 1 plus a Subscript upper B upper C Baseline right-parenthesis StartFraction upper H 0 Over 2 EndFraction right-parenthesis z Superscript negative 2 Baseline OverOver 1 plus d left-parenthesis 1 minus a Subscript upper B upper C Baseline right-parenthesis z Superscript negative 1 Baseline minus a Subscript upper B upper C Baseline z Superscript negative 2 Baseline EndEndFraction period

The signal flow charts for a second‐order peak filter and a second‐order bandpass filter are shown in Fig. 6.23 .

Schematic illustration of second-order peak filter and bandpass filter.

Figure 6.23 Second‐order peak filter and bandpass filter.

Schematic illustration of low-frequency first-order shelving filter.

Figure 6.24 Low‐frequency first‐order shelving filter (upper G equals plus-or-minus 18 dB; f Subscript c = 20, 50, 100, 1000 Hz).

Schematic illustration of first-order high-frequency shelving filter.

Figure 6.25 First‐order high‐frequency shelving filter (upper G equals plus-or-minus 18 dB; f Subscript c = 1, 3, 5, 10, 16 kHz).

Schematic illustration of second-order peak filter.

Figure 6.26 Second‐order peak filter (upper G equals plus-or-minus 18 dB; f Subscript c = 50, 100, 1000, 3000, 10000 Hz; f Subscript b = 100 Hz).

The frequency responses for high‐frequency shelving, low‐frequency shelving, and peak filters are shown in Figs. 6.24 , 6.25 , and 6.26 .

6.2.3 Quantization Effects

The limited word length for digital recursive filters leads to two different types of quantization error. The quantization of the coefficients of a digital filter results in linear distortion which can be noticed as a deviation from the ideal frequency response. The quantization of the signal inside a filter structure is responsible for the maximum dynamic range and determines the noise behavior of the filter. Owing to rounding operations in a filter structure, round‐off noise is produced. Another effect of the signal quantization is limit cycles. They can be classified as overflow limit cycles, small‐scale limit cycles, and limit cycles correlated with the input signal. Limit cycles are very disturbing owing to their small‐band (sinusoidal) nature. The overflow limit cycles can be avoided by suitable scaling of the input signal. The effects of other errors mentioned above can be reduced by increasing the word lengths of the coefficient and the state variables of the filter structure.

The noise behavior and coefficient sensitivity of a filter structure depend on the topology and the cutoff frequency (position of the poles in the Z‐domain) of the filter. Because common audio filters operate between 20 Hz and 20 kHz at a sampling rate of 48 kHz, the filter structures are subjected to specially strict criteria with respect to error behavior. The frequency range for equalizers is between 20 Hz and 4–6 kHz because the human voice and many musical instruments have their formants in that frequency region. For given coefficient and signal word‐lengths (like in a digital signal processor), a filter structure with low round‐off noise for audio application can lead to a suitable solution. For this, the following second‐order filter structures are compared.

The basis of the following considerations is the relationship between the coefficient sensitivity and round‐off noise. This was first stated by Fettweis [Fet72]. By increasing the pole density in a certain region of the z‐plane, the coefficient sensitivity and the round‐off noise of the filter structure are reduced. Owing to these improvements, the coefficient word‐length as well as signal word‐length can be reduced. Work in designing digital filters with minimum word‐length for coefficients and state variables was first carried out by Avenhaus [Ave71].

Typical audio filters like highpass/lowpass, peak/shelving filters can be described by the second‐order transfer function

The recursive part of the difference equation, which can be derived from the transfer function (6.88), is considered more closely, because it plays a major role in affecting the error behavior. Owing to the quantization of the coefficients in the denominator in Eq. (6.88), the distribution of poles in the z‐plane is restricted (see Fig. 6.27 for 6‐bit quantization of coefficients). The pole distribution in the second quadrant of the z‐plane is the mirror image of the first quadrant. Figure 6.28 shows a block diagram of the recursive part. Another equivalent representation of the denominator is given by

(6.89)upper H left-parenthesis z right-parenthesis equals StartFraction upper N left-parenthesis z right-parenthesis Over 1 minus 2 r cosine phi z Superscript negative 1 Baseline plus r squared z Superscript negative 2 Baseline EndFraction period

Here r is the radius and phi the corresponding phase of the complex poles. By quantizing these parameters, the pole distribution is altered in contrast to the case where b 1 and b 2 are quantized, as in Eq. (6.88).

Schematic illustration of direct-form structure - pole distribution (6-bit quantization).

Figure 6.27 Direct‐form structure – pole distribution (6‐bit quantization).

Schematic illustration of direct-form structure  recursive part.

Figure 6.28 Direct‐form structure – block diagram of recursive part.

The state variable structure [Mul76, Bom85] is based on the approach by Gold and Rader [Gol67], which is given by

(6.90)upper H left-parenthesis z right-parenthesis equals StartFraction upper N left-parenthesis z right-parenthesis Over 1 minus 2 Re left-brace z Subscript infinity Baseline right-brace z Superscript negative 1 Baseline plus left-parenthesis Re left-brace z Subscript infinity Baseline right-brace squared plus Im left-brace z Subscript infinity Baseline right-brace squared right-parenthesis z Superscript negative 2 Baseline EndFraction period

The possible pole locations are shown in Fig. 6.29 for 6‐bit quantization (block diagram of recursive part is shown in Fig. 6.30 ). Owing to the quantization of real and imaginary parts, a uniform grid of different pole locations results. In contrast to direct quantization of the coefficients b 1 and b 2 in the denominator, the quantization of the real and imaginary parts leads to an increase in the pole density at z equals 1. The possible pole locations in the second quadrant in the z‐plane are the mirror images of those in the first quadrant.

Schematic illustration of gold and Rader - pole distribution (6-bit quantization).

Figure 6.29 Gold and Rader – pole distribution (6‐bit quantization).

Schematic illustration of gold and Rader  recursive part.

Figure 6.30 Gold and Rader – block diagram of recursive part.

In [Kin72], a filter structure is suggested which has a pole distribution as shown in Fig. 6.31 (for the block diagram of recursive part, see Fig. 6.32 ).

Schematic illustration of kingsbury - pole distribution (6-bit quantization).

Figure 6.31 Kingsbury – pole distribution (6‐bit quantization).

Schematic illustration of kingsbury  recursive part.

Figure 6.32 Kingsbury – block diagram of recursive part.

The corresponding transfer function

(6.91)upper H left-parenthesis z right-parenthesis equals StartFraction upper N left-parenthesis z right-parenthesis Over 1 minus left-parenthesis 2 minus k 1 k 2 minus k 1 squared right-parenthesis z Superscript negative 1 Baseline plus left-parenthesis 1 minus k 1 k 2 right-parenthesis z Superscript negative 2 Baseline EndFraction

shows that in this case, the coefficients b 1 and b 2 can be obtained by a linear combination of the quantized coefficients k 1 and k 2. The distance d of the pole from the point z equals 1 determines the coefficients

(6.92)StartLayout 1st Row 1st Column k 1 2nd Column equals d equals StartRoot 1 minus 2 r cosine phi plus r squared EndRoot comma EndLayout
(6.93)StartLayout 1st Row 1st Column k 2 2nd Column equals StartFraction 1 minus r squared Over k 1 EndFraction comma EndLayout

as illustrated in Fig. 6.33 .

Schematic illustration of geometric interpretation.

Figure 6.33 Geometric interpretation.

The filter structures under consideration show that by a suitable linear combination of quantized coefficients, any desired pole distribution can be obtained. An increase of the pole density at z equals 1 can be achieved by influencing the linear relationship between the coefficient k 1 and the distance d from z equals 1 [Zöl89, Zöl90]. The nonlinear relationship of the new coefficients gives the following structure with the transfer function

(6.94)upper H left-parenthesis z right-parenthesis equals StartFraction upper N left-parenthesis z right-parenthesis Over 1 minus left-parenthesis 2 minus z 1 z 2 minus z 1 cubed right-parenthesis z Superscript negative 1 Baseline plus left-parenthesis 1 minus z 1 z 2 right-parenthesis z Superscript negative 2 Baseline EndFraction

and coefficients

(6.95)StartLayout 1st Row 1st Column z 1 2nd Column equals RootIndex 3 StartRoot 1 plus b 1 plus b 2 EndRoot comma EndLayout
(6.96)StartLayout 1st Row 1st Column z 2 2nd Column equals StartFraction 1 minus b 2 Over z 1 EndFraction comma EndLayout

with

(6.97)z 1 equals RootIndex 3 StartRoot d squared EndRoot period

The pole distribution of this structure is shown in Fig. 6.34 . The block diagram of the recursive part is illustrated in Fig. 6.35 . An increase in the pole density at z equals 1 in contrast to previous pole distributions is noticed. The pole distributions of the Kingsbury and Zölzer structures show a decrease in the pole density for higher frequencies. For the pole density, a symmetry with respect to the imaginary axis, as in the case of the direct‐form structure and the Gold and Rader structure, is not possible. However, changing the sign in the recursive part of the difference equation results in a mirror image of the pole density. The mirror image can be achieved through a change of sign in the denominator polynomial. The denominator polynomial

(6.98)upper D left-parenthesis z right-parenthesis equals 1 ModifyingAbove Above ModifyingAbove plus-or-minus With presentation form for vertical left-brace With factorial left-parenthesis 2 minus z 1 z 2 minus z 1 cubed right-parenthesis z Superscript negative 1 Baseline plus left-parenthesis 1 minus z 1 z 2 right-parenthesis z Superscript negative 2

shows that the real part depends on the coefficient of z Superscript negative 1.

Schematic illustration of zölzer - pole distribution (6-bit quantization).

Figure 6.34 Zölzer – pole distribution (6‐bit quantization).

Schematic illustration of zölzer  recursive part.

Figure 6.35 Zölzer – block diagram of recursive part.

Analytical Comparison of Noise Behavior of Different Filter Structures

In this section, recursive filter structures are analyzed in terms of their noise behavior in fixed‐point arithmetic [Zöl89, Zöl90, Zöl94]. The block diagrams provide the basis of an analytical calculation of noise power owing to the quantization of state variables. First of all, the general case is considered in which quantization is performed after multiplication. For this purpose, the transfer function upper G Subscript i Baseline left-parenthesis z right-parenthesis of every multiplier output to the output of the filter structure is determined.

For this error analysis, it is assumed that the signal within the filter structure covers the whole dynamic range so that the quantization error e Subscript i Baseline left-parenthesis n right-parenthesis is not correlated with the signal. Consecutive quantization error samples are not correlated with each other so that a uniform power density spectrum results [Sri77]. It can also be assumed that different quantization errors e Subscript i Baseline left-parenthesis n right-parenthesis are uncorrelated within the filter structure. Owing to the uniform distribution of the quantization error, the variance can be given by

(6.99)sigma Subscript upper E Superscript 2 Baseline equals StartFraction upper Q squared Over 12 EndFraction period

The quantization error is added at every point of quantization and is filtered by the corresponding transfer function upper G left-parenthesis z right-parenthesis to the output of the filter. The variance of the output quantization noise (owing to the noise source e left-parenthesis n right-parenthesis) is given by

Exact solutions for the ring integral (6.100) can be found in [Jur64] for transfer functions up to the fourth order. With the upper L 2 norm of a periodic function

the superposition of the noise variances leads with Eq. (6.101) to the total output noise variance

(6.102)sigma Subscript y e Superscript 2 Baseline equals sigma Subscript upper E Superscript 2 Baseline sigma-summation Underscript i Endscripts parallel-to upper G Subscript i Baseline parallel-to period

The signal‐to‐noise ratio (SNR) for a full‐range sinusoid can be written as

(6.103)SNR equals 10 log Subscript 10 Baseline StartFraction 0.5 Over sigma Subscript y e Superscript 2 Baseline EndFraction left-bracket dB right-bracket period

The ring integral

(6.104)upper I Subscript n Baseline equals StartFraction 1 Over 2 pi j EndFraction contour-integral Underscript z equals e Superscript j normal upper Omega Baseline Endscripts StartFraction upper A left-parenthesis z right-parenthesis upper A left-parenthesis z Superscript negative 1 Baseline right-parenthesis Over upper B left-parenthesis z right-parenthesis upper B left-parenthesis z Superscript negative 1 Baseline right-parenthesis EndFraction z Superscript negative 1 Baseline d z

is given in [Jur64] for first‐order systems by

(6.105)StartLayout 1st Row 1st Column upper G left-parenthesis z right-parenthesis 2nd Column equals StartFraction a 0 z plus a 1 Over b 0 z plus b 1 EndFraction comma EndLayout
(6.106)StartLayout 1st Row 1st Column upper I 1 2nd Column equals StartFraction left-parenthesis a 0 squared plus a 1 squared right-parenthesis b 0 minus 2 a 0 a 1 b 1 Over b 0 left-parenthesis b 0 squared minus b 1 squared right-parenthesis EndFraction comma EndLayout

and for second‐order systems by

(6.107)StartLayout 1st Row 1st Column upper G left-parenthesis z right-parenthesis 2nd Column equals StartFraction a 0 z squared plus a 1 z plus a 2 Over b 0 z squared plus b 1 z plus b 2 EndFraction comma EndLayout
(6.108)StartLayout 1st Row 1st Column upper I 2 2nd Column equals StartFraction upper A 0 b 0 c 1 minus upper A 1 b 0 b 1 plus upper A 2 left-parenthesis b 1 squared minus b 2 c 1 right-parenthesis Over b 0 left-bracket left-parenthesis b 0 squared minus b 2 squared right-parenthesis c 1 minus left-parenthesis b 0 b 1 minus b 1 b 2 right-parenthesis b 1 right-bracket EndFraction comma EndLayout
(6.109)StartLayout 1st Row 1st Column upper A 0 2nd Column equals a 0 squared plus a 1 squared plus a 2 squared comma EndLayout
(6.110)StartLayout 1st Row 1st Column upper A 1 2nd Column equals 2 left-parenthesis a 0 a 1 plus a 1 a 2 right-parenthesis comma EndLayout
(6.111)StartLayout 1st Row 1st Column upper A 2 2nd Column equals 2 a 0 a 2 comma EndLayout
(6.112)StartLayout 1st Row 1st Column c 1 2nd Column equals b 0 plus b 2 period EndLayout

In the following, an analysis of the noise behavior for different recursive filter structures will be made. The noise transfer functions of individual recursive parts are responsible for noise shaping.

The error transfer function of a second‐order direct‐form structure (see Fig. 6.36 ) has only complex poles (see Table 6.6 ).

Schematic illustration of direct form with additive error signal.

Figure 6.36 Direct form with additive error signal.

Table 6.6 Direct‐form – a) noise transfer function, b) quadratic upper L 2 norm, and c) output noise variance in the case of quantization after every multiplication.

a)upper G 1 left-parenthesis z right-parenthesis equals upper G 2 left-parenthesis z right-parenthesis equals StartFraction z squared Over z squared plus b 1 z plus b 2 EndFraction
b)parallel-to upper G 1 parallel-to equals parallel-to upper G 2 parallel-to equals StartFraction 1 plus b 2 Over 1 minus b 2 EndFraction StartFraction 1 Over left-parenthesis 1 plus b 2 right-parenthesis squared minus b 1 squared EndFraction
c)sigma Subscript y e Superscript 2 Baseline equals sigma Subscript upper E Superscript 2 Baseline 2 StartFraction 1 plus b 2 Over 1 minus b 2 EndFraction StartFraction 1 Over left-parenthesis 1 plus b 2 right-parenthesis squared minus b 1 squared EndFraction

The implementation of poles near the unit circle leads to high amplification of the quantization error. The effect of the pole radius on the noise variance can be observed in the equation for output noise variance. The coefficient b 2 equals r squared approaches 1 which leads to a huge increase in the output noise variance.

The Gold and Rader filter structure (Fig. 6.37 ) has an output noise variance that depends on the pole radius (see Table 6.7 ) and is independent of the pole phase. The latter fact is because of the uniform grid of the pole distribution. An additional zero on the real axis (z equals r cosine phi) directly beneath the poles reduces the effect of the complex poles.

Schematic illustration of gold and Rader structure with additive error signals.

Figure 6.37 Gold and Rader structure with additive error signals.

Table 6.7 Gold and Rader – a) noise transfer function, b) quadratic upper L 2 norm, and c) output noise variance in the case of quantization after every multiplication.

a)upper G 1 left-parenthesis z right-parenthesis equals upper G 2 left-parenthesis z right-parenthesisequals StartFraction r sine phi Over z squared minus 2 r cosine phi z plus r squared EndFraction
upper G 3 left-parenthesis z right-parenthesis equals upper G 4 left-parenthesis z right-parenthesisequals StartFraction z minus r cosine phi Over z squared minus 2 r cosine phi z plus r squared EndFraction
b)parallel-to upper G 1 parallel-to equals parallel-to upper G 2 parallel-toequals StartFraction 1 plus b 2 Over 1 minus b 2 EndFraction StartFraction left-parenthesis r sine phi right-parenthesis squared Over left-parenthesis 1 plus b 2 right-parenthesis squared minus b 1 squared EndFraction
parallel-to upper G 3 parallel-to equals parallel-to upper G 4 parallel-toequals StartFraction 1 Over 1 minus b 2 EndFraction StartFraction left-bracket 1 plus left-parenthesis r sine phi right-parenthesis squared right-bracket left-parenthesis 1 plus b 2 right-parenthesis squared minus b 1 squared Over left-parenthesis 1 plus b 2 right-parenthesis squared minus b 1 squared EndFraction
c)sigma Subscript y e Superscript 2 Baseline equals sigma Subscript upper E Superscript 2 Baseline 2 StartFraction 1 Over 1 minus b 2 EndFraction

The Kingsbury filter (Fig. 6.38 and Table 6.8 ) and the Zölzer filter (Fig. 6.39 and Table 6.9 ), which is derived from it, show that the noise variance depends on the pole radius. The noise transfer functions have a zero at z equals 1 in addition to the complex poles. This zero reduces the amplifying effect of the pole near the unit circle at z equals 1.

Schematic illustration of kingsbury structure with additive error signals.

Figure 6.38 Kingsbury structure with additive error signals.

Table 6.8 Kingsbury – a) noise transfer function, b) quadratic upper L 2 norm, and c) output noise variance in the case of quantization after every multiplication.

a)upper G 1 left-parenthesis z right-parenthesisequals StartFraction minus k 1 z Over z squared minus left-parenthesis 2 minus k 1 k 2 minus k 1 squared right-parenthesis z plus left-parenthesis 1 minus k 1 k 2 right-parenthesis EndFraction
upper G 2 left-parenthesis z right-parenthesisequals StartFraction minus k 1 left-parenthesis z minus 1 right-parenthesis Over z squared minus left-parenthesis 2 minus k 1 k 2 minus k 1 squared right-parenthesis z plus left-parenthesis 1 minus k 1 k 2 right-parenthesis EndFraction
upper G 3 left-parenthesis z right-parenthesisequals StartFraction z minus 1 Over z squared minus left-parenthesis 2 minus k 1 k 2 minus k 1 squared right-parenthesis z plus left-parenthesis 1 minus k 1 k 2 right-parenthesis EndFraction
b)parallel-to upper G 1 parallel-toequals StartFraction 1 Over k 1 k 2 EndFraction StartFraction 2 minus k 1 k 2 Over 2 left-parenthesis 2 minus k 1 k 2 right-parenthesis minus k 1 squared EndFraction
parallel-to upper G 2 parallel-toequals StartFraction k 1 Over k 2 EndFraction StartFraction 2 Over 2 left-parenthesis 2 minus k 1 k 2 right-parenthesis minus k 1 squared EndFraction
parallel-to upper G 3 parallel-toequals StartFraction 1 Over k 1 k 2 EndFraction StartFraction 2 Over 2 left-parenthesis 2 minus k 1 k 2 right-parenthesis minus k 1 squared EndFraction
c)sigma Subscript y e Superscript 2 Baseline equals sigma Subscript upper E Superscript 2 Baseline 2 StartFraction 5 plus 2 b 1 plus 3 b 2 Over left-parenthesis 1 minus b 2 right-parenthesis left-parenthesis 1 plus b 2 minus b 1 right-parenthesis EndFraction
Schematic illustration of zölzer structure with additive error signals.

Figure 6.39 Zölzer structure with additive error signals.

Table 6.9 Zölzer – a) noise transfer function, b) quadratic upper L 2 norm, and c) output noise variance in the case of quantization after every multiplication.

a)upper G 1 left-parenthesis z right-parenthesisequals StartFraction minus z 1 squared z Over z squared minus left-parenthesis 2 minus z 1 z 2 minus z 1 cubed right-parenthesis z plus left-parenthesis 1 minus z 1 z 2 right-parenthesis EndFraction
upper G 2 left-parenthesis z right-parenthesis equals upper G 3 left-parenthesis z right-parenthesisequals StartFraction minus z 1 left-parenthesis z minus 1 right-parenthesis Over z squared minus left-parenthesis 2 minus z 1 z 2 minus z 1 cubed right-parenthesis z plus left-parenthesis 1 minus z 1 z 2 right-parenthesis EndFraction
upper G 4 left-parenthesis z right-parenthesisequals StartFraction z minus 1 Over z squared minus left-parenthesis 2 minus z 1 z 2 minus z 1 cubed right-parenthesis z plus left-parenthesis 1 minus z 1 z 2 right-parenthesis EndFraction
b)parallel-to upper G 1 parallel-toequals StartFraction z 1 Superscript 4 Baseline Over z 1 z 2 EndFraction StartFraction 2 minus z 1 z 2 Over 2 z 1 cubed left-parenthesis 2 minus z 1 z 2 right-parenthesis minus z 1 Superscript 6 Baseline EndFraction
parallel-to upper G 2 parallel-to equals parallel-to upper G 3 parallel-toequals StartFraction z 1 Superscript 6 Baseline Over z 1 z 2 EndFraction StartFraction 2 Over 2 z 1 cubed left-parenthesis 2 minus z 1 z 2 right-parenthesis minus z 1 Superscript 6 Baseline EndFraction
parallel-to upper G 4 parallel-toequals StartFraction z 1 cubed Over z 1 z 2 EndFraction StartFraction 2 Over 2 z 1 cubed left-parenthesis 2 minus z 1 z 2 right-parenthesis minus z 1 Superscript 6 Baseline EndFraction
c)sigma Subscript y e Superscript 2 Baseline equals sigma Subscript upper E Superscript 2 Baseline 2 StartFraction 6 plus 4 left-parenthesis b 1 plus b 2 right-parenthesis plus left-parenthesis 1 plus b 2 right-parenthesis left-parenthesis 1 plus b 1 plus b 2 right-parenthesis Superscript 1 slash 3 Baseline Over left-parenthesis 1 minus b 2 right-parenthesis left-parenthesis 1 plus b 2 minus b 1 right-parenthesis EndFraction

Figure 6.40 shows the SNR versus the cutoff frequency for the four filter structures presented above. The signals are quantized to 16 bit. Here, the poles move with increasing cutoff frequency on the curve characterized by the upper Q‐factor upper Q Subscript infinity Baseline equals 0.7071 in the z‐plane. For very small cutoff frequencies, the Zölzer filter shows an improvement of 3 dB in terms of SNR compared with the Kingsbury filter and an improvement of 6 dB compared with the Gold and Rader filter. Up to 5 kHz, the Zölzer filter yields better results (see Fig. 6.41 ). From 6 kHz onwards, the reduction of pole density in this filter leads to a decrease in the SNR (see Fig. 6.41 ).

With regard to the implementation of the these filters with digital signal processors, a quantization after every multiplication is not necessary. Quantization takes place when the accumulator has to be stored to memory. This can be seen in Figs. 6.42 , 6.43 , 6.44 , and 6.45 by introducing quantizers where they really occur. The resulting output noise variances are also shown. The SNR is plotted versus the cutoff frequency in Figs. 6.46 and 6.47 . In the case of direct‐form and Gold and Rader filters, the SNR increases by 3 dB whereas the output noise variance for the Kingsbury filter remains unchanged. The Kingsbury filter and the Gold and Rader filters exhibit similar results up to a frequency of 200 kHz (see Fig. 6.46 ). The Zölzer filter demonstrates an improvement of 3 dB compared with these structures. For frequencies of up to 2 kHz (see Fig. 6.47 ), it is seen that the increased pole density leads to an improvement of the SNR as well as a reduced effect owing to coefficient quantization.

Schematic illustration of sNR versus cutoff frequency - quantization of products (fcltltlt200 Hz).

Figure 6.40 SNR versus cutoff frequency – quantization of products (f Subscript c Baseline less-than 200 Hz).

Schematic illustration of sNR versus cutoff frequency - quantization of products (fcgtgtgt2 kHz).

Figure 6.41 SNR versus cutoff frequency – quantization of products (f Subscript c Baseline greater-than 2 kHz).

Schematic illustration of direct-form filter - quantization after accumulator.

Figure 6.42 Direct‐form filter – quantization after accumulator.

Schematic illustration of gold and Rader filter - quantization after accumulator.

Figure 6.43 Gold and Rader filter – quantization after accumulator.

Schematic illustration of kingsbury filter - quantization after accumulator.

Figure 6.44 Kingsbury filter – quantization after accumulator.

Schematic illustration of zölzer filter - quantization after accumulator.

Figure 6.45 Zölzer filter – quantization after accumulator.

Schematic illustration of SNR versus cutoff frequency - quantization after accumulator (fcltltlt200 Hz).

Figure 6.46 SNR versus cutoff frequency – quantization after accumulator (f Subscript c Baseline less-than 200 Hz).

Schematic illustration of SNR versus cutoff frequency - quantization after accumulator (fcgtgtgt2 kHz).

Figure 6.47 SNR versus cutoff frequency – quantization after accumulator (f Subscript c Baseline greater-than 2 kHz).

Noise Shaping in Recursive Filters

The analysis of the noise transfer function of different structures shows that for three structures with low round‐off noise, a zero at z equals 1 occurs in the transfer functions upper G left-parenthesis z right-parenthesis of the error signals in addition to the complex poles. This zero near the poles reduces the amplifying effect of the pole. If it is now possible to introduce another zero into the noise transfer function, then the effect of the poles is compensated for to a larger extent. The procedure of feeding back the quantization error, as shown in Chapter 2, produces an additional zero in the noise transfer function [Tra77, Cha78, Abu79, Bar82, Zöl89]. The feedback of the quantization error is first demonstrated with the help of the direct‐form structure, as shown in Fig. 6.48 . This generates a zero at z equals 1 in the noise transfer function given by

(6.113)upper G Subscript 1 period upper O Baseline left-parenthesis z right-parenthesis equals StartFraction 1 minus z Superscript negative 1 Baseline Over 1 plus b 1 z Superscript negative 1 Baseline plus b 2 z Superscript negative 2 Baseline EndFraction period
Schematic illustration of direct-form with noise shaping.

Figure 6.48 Direct‐form with noise shaping.

The resulting variance sigma squared of the quantization error at the output of the filter is presented in Fig. 6.48 . To produce two zeros at z equals 1, the quantization error is fed back over two delays weighted with 2 and negative 1 (see Fig. 6.48 b). The noise transfer function is, hence, given by

(6.114)upper G Subscript 2 period upper O Baseline left-parenthesis z right-parenthesis equals StartFraction 1 minus 2 z Superscript negative 1 Baseline plus z Superscript negative 2 Baseline Over 1 plus b 1 z Superscript negative 1 Baseline plus b 2 z Superscript negative 2 Baseline EndFraction period

The SNR of the direct form is plotted versus the cutoff frequency in Fig. 6.49 . Even a single zero significantly improves the SNR in the direct form. The coefficients b 1 and b 2 approach negative 2 and 1, respectively, with the decrease of the cutoff frequency. With this, the error is filtered with a second‐order highpass. The introduction of the additional zeros in the noise transfer function only affects the noise signal of the filter. The input signal is only affected by the transfer function upper H left-parenthesis z right-parenthesis. If the feedback coefficients are chosen equal to the coefficients b 1 and b 2 in the denominator polynomial, complex zeros are produced that are identical with the complex poles. The noise transfer function upper G left-parenthesis z right-parenthesis is then reduced to unity. The choice of complex zeros directly at the location of the complex poles corresponds to double‐precision arithmetic.

Schematic illustration of SNR - Noise shaping in direct-form filter structures.

Figure 6.49 SNR – Noise shaping in direct‐form filter structures.

Schematic illustration of gold and Rader filter with noise shaping.

Figure 6.50 Gold and Rader filter with noise shaping.

In [Abu79], an improvement of the noise behavior for the direct form in any desired location of the z‐plane is achieved by placing additional simple‐to‐implement complex zeros near the poles. For implementing filter algorithms with digital signal processors, these kinds of suboptimal zero are easily realized. Because the Gold and Rader, Kingsbury, and Zölzer filter structures already have zeros in their respective noise transfer functions, it is sufficient to use a simple feedback for the quantization error. By virtue of this extension, the block diagrams in Figs. 6.50 , 6.51 , and 6.52 are obtained.

Schematic illustration of kingsbury filter with noise shaping.

Figure 6.51 Kingsbury filter with noise shaping.

Schematic illustration of zölzer filter with noise shaping.

Figure 6.52 Zölzer filter with noise shaping.

The effect of noise shaping on SNR is shown in Figs. 6.53 and 6.54 . The almost ideal noise behavior of all filter structures for 16‐bit quantization and very small cutoff frequencies can be observed. The effect of this noise shaping for increasing cutoff frequencies is shown in Fig. 6.54 . The compensating effect of the two zeros at z equals 1 is reduced.

Schematic illustration of SNR - noise shaping (20-200 Hz).

Figure 6.53 SNR – noise shaping (20–200 Hz).

Schematic illustration of SNR - noise shaping (200 Hz-12 kHz).

Figure 6.54 SNR – noise shaping (200 Hz–12 kHz).

Scaling

In a fixed‐point implementation of a digital filter, a transfer function from the input of the filter to a junction within the filter has to be determined, as well as the transfer function from the input to the output. By scaling the input signal, it has to be guaranteed that the signals remain within the number range at each junction and at the output.

To calculate scaling coefficients, different criteria can be used. The upper L Subscript p norm is defined as

(6.115)upper L Subscript p Baseline equals parallel-to upper H parallel-to equals left-bracket StartFraction 1 Over 2 pi EndFraction integral Subscript negative pi Superscript pi Baseline StartAbsoluteValue upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis EndAbsoluteValue Superscript p Baseline d normal upper Omega right-bracket Superscript 1 slash p Baseline comma

and an expression for the upper L Subscript infinity norm follows for p equals infinity:

(6.116)upper L Subscript infinity Baseline equals parallel-to upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis parallel-to equals max Underscript 0 less-than-or-equal-to normal upper Omega less-than-or-equal-to pi Endscripts StartAbsoluteValue upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis EndAbsoluteValue period

The upper L Subscript infinity norm represents the maximum of the amplitude frequency response. In general, the modulus of the output is

(6.117)StartAbsoluteValue y left-parenthesis n right-parenthesis EndAbsoluteValue less-than-or-equal-to parallel-to upper H parallel-to Subscript p Baseline parallel-to upper X parallel-to

with

(6.118)StartFraction 1 Over p EndFraction plus StartFraction 1 Over q EndFraction equals 1 p comma q greater-than-or-equal-to 1 period

For the upper L 1, upper L 2, and upper L Subscript infinity norms, the explanations in Table 6.10 can be used.

Table 6.10 Commonly used scaling.

pq
1infinitygiven max. value of input spectrum
scaling w.r.t. the upper L 1 norm of upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis
infinity1given upper L 1 norm of input spectrum upper X left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis
scaling w.r.t. the upper L Subscript infinity norm of upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis
22given upper L 2 norm of input spectrum upper X left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis
scaling w.r.t. the upper L 2 norm of upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis

With

(6.119)StartAbsoluteValue y Subscript i Baseline left-parenthesis n right-parenthesis EndAbsoluteValue less-than-or-equal-to parallel-to upper H Subscript i Baseline left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis parallel-to Subscript infinity Baseline parallel-to upper X left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis parallel-to comma

the upper L Subscript infinity norm is given by

(6.120)upper L Subscript infinity Baseline equals parallel-to h Subscript i Baseline parallel-to equals max Underscript k equals 0 Endscripts ModifyingAbove With infinity StartAbsoluteValue h Subscript i Baseline left-parenthesis k right-parenthesis EndAbsoluteValue period

For a sinusoidal input signal of amplitude one, we get parallel-to upper X left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis parallel-to equals 1. For StartAbsoluteValue y Subscript i Baseline left-parenthesis n right-parenthesis EndAbsoluteValue less-than-or-equal-to 1 to be valid, the scaling factor must be chosen to be

(6.121)upper S Subscript i Baseline equals StartFraction 1 Over parallel-to upper H Subscript i Baseline left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis parallel-to EndFraction period

The scaling of the input signal is carried out with the maximum of the amplitude frequency response with the goal that for StartAbsoluteValue x left-parenthesis n right-parenthesis EndAbsoluteValue less-than-or-equal-to 1, StartAbsoluteValue y Subscript i Baseline left-parenthesis n right-parenthesis EndAbsoluteValue less-than-or-equal-to 1. As a scaling coefficient for the input signal, the highest scaling factor upper S Subscript i is chosen. For determining the maximum of the transfer function

(6.122)parallel-to upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis parallel-to equals max Underscript 0 less-than-or-equal-to normal upper Omega less-than-or-equal-to pi Endscripts StartAbsoluteValue upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis EndAbsoluteValue

of a second‐order system

StartLayout 1st Row 1st Column upper H left-parenthesis z right-parenthesis 2nd Column equals 3rd Column StartFraction a 0 plus a 1 z Superscript negative 1 Baseline plus a 2 z Superscript negative 1 Baseline Over 1 plus b 1 z Superscript negative 1 Baseline plus b 2 z Superscript negative 1 Baseline EndFraction 2nd Row 1st Column Blank 2nd Column equals 3rd Column StartFraction a 0 z squared plus a 1 z plus a 2 Over z squared plus b 1 z plus b 2 EndFraction comma EndLayout

the maximum value can be calculated as

(6.123)StartAbsoluteValue upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis EndAbsoluteValue squared equals StartFraction ModifyingAbove StartFraction a 0 a 2 Over b 2 EndFraction With presentation form for vertical left-brace Overscript alpha 0 Endscripts cosine squared left-parenthesis normal upper Omega right-parenthesis plus ModifyingAbove StartFraction a 1 left-parenthesis a 0 plus a 2 right-parenthesis Over 2 b 2 EndFraction With presentation form for vertical left-brace Overscript alpha 1 Endscripts cosine left-parenthesis normal upper Omega right-parenthesis plus ModifyingAbove StartFraction left-parenthesis a 0 minus a 2 right-parenthesis squared plus a 1 squared Over 4 b 2 EndFraction With presentation form for vertical left-brace Overscript alpha 2 Endscripts Over cosine squared left-parenthesis normal upper Omega right-parenthesis plus ModifyingBelow StartFraction b 1 left-parenthesis 1 plus b 2 right-parenthesis Over 2 b 2 EndFraction With presentation form for vertical right-brace Underscript beta 1 Endscripts cosine left-parenthesis normal upper Omega right-parenthesis plus ModifyingBelow StartFraction left-parenthesis 1 minus b 2 right-parenthesis squared plus b 1 squared Over 4 b 2 EndFraction With presentation form for vertical right-brace Underscript beta 2 Endscripts EndFraction equals upper S squared period

With x equals cosine left-parenthesis normal upper Omega right-parenthesis, it follows that

The solution of Eq. (6.124) leads to x equals cosine left-parenthesis normal upper Omega Subscript m a x slash m i n Baseline right-parenthesis, which must be real (negative 1 less-than-or-equal-to x less-than-or-equal-to 1) for the maximum/minimum to occur at a real frequency. For a single solution (repeated roots) of the above quadratic equation, the discriminant must be upper D equals left-parenthesis p slash 2 right-parenthesis squared minus q equals 0 (x squared plus p x plus q equals 0). It follows that

(6.125)upper D equals StartFraction left-parenthesis beta 1 upper S squared minus alpha 1 right-parenthesis squared Over 4 left-parenthesis upper S squared minus alpha 0 right-parenthesis squared EndFraction minus StartFraction beta 2 upper S squared minus alpha 2 Over upper S squared minus alpha 0 EndFraction equals 0

and

The solution of Eq. (6.126) gives two solutions for upper S squared. The solution with the larger value is chosen. If the discriminant upper D is not greater than zero, the maximum lies at x equals 1 (z equals 1) or x equals negative 1 (z equals negative 1), as given by

(6.127)upper S squared equals StartFraction alpha 0 plus alpha 1 plus alpha 2 Over 1 plus beta 1 plus beta 2 EndFraction

or

(6.128)upper S squared equals StartFraction alpha 0 minus alpha 1 plus alpha 2 Over 1 minus beta 1 plus beta 2 EndFraction period

Limit Cycles

Limit cycles are periodic processes in a filter which can be measured as sinusoidal signals. They arise owing to the quantization of state variables. The different types of limit cycle and the methods necessary to prevent them are briefly listed below:

  • overflow limit cycles

    right-arrow saturation curve

    right-arrow scaling

  • limit cycles for vanishing input

    right-arrow noise shaping

    right-arrow dithering

  • limit cycles correlated with the input signal

    right-arrow noise shaping

    right-arrow dithering

6.3 Non‐recursive Audio Filters

For implementing linear phase audio filters, non‐recursive filters are used. The basis of an efficient implementation is the fast convolution

(6.129)y left-parenthesis n right-parenthesis equals x left-parenthesis n right-parenthesis asterisk h left-parenthesis n right-parenthesis ring em-dash bullet upper Y left-parenthesis k right-parenthesis equals upper X left-parenthesis k right-parenthesis dot upper H left-parenthesis k right-parenthesis comma

where the convolution in the time domain is performed by transforming the signal and the impulse response into the frequency domain, multiplication of the corresponding Fourier transforms, and inverse Fourier transform of the product into the time domain signal (see Fig. 6.55 ). The transform is carried out by a discrete Fourier transform of length upper N, such that upper N equals upper N 1 plus upper N 2 minus 1 is valid and time‐domain aliasing is avoided.

Schematic illustration of fast convolution of signal x(n) of length N1 and impulse response h(n) of length N2 delivers the convolution result y(n)=x(n)*h(n) of length N1+N2-1.

Figure 6.55 Fast convolution of signal x left-parenthesis n right-parenthesis of length upper N 1 and impulse response h left-parenthesis n right-parenthesis of length upper N 2 delivers the convolution result y left-parenthesis n right-parenthesis equals x left-parenthesis n right-parenthesis asterisk h left-parenthesis n right-parenthesis of length upper N 1 plus upper N 2 minus 1.

First we will discuss the basics. We then introduce the convolution of long sequences followed by a filter design for linear phase filters.

6.3.1 Basics of Fast Convolution

IDFT Implementation with DFT Algorithm. The discrete Fourier transformation (DFT) is described by

(6.130)StartLayout 1st Row 1st Column upper X left-parenthesis k right-parenthesis 2nd Column equals sigma-summation Underscript n equals 0 Overscript upper N minus 1 Endscripts x left-parenthesis n right-parenthesis upper W Subscript upper N Superscript n k Baseline equals DFT Subscript k Baseline left-bracket x left-parenthesis n right-parenthesis right-bracket comma EndLayout
(6.131)StartLayout 1st Row 1st Column upper W Subscript upper N 2nd Column equals e Superscript minus j Baseline 2 pi slash upper N Baseline comma EndLayout

and the inverse discrete Fourier transformation (IDFT) by

(6.132)x left-parenthesis n right-parenthesis equals StartFraction 1 Over upper N EndFraction sigma-summation Underscript k equals 0 Overscript upper N minus 1 Endscripts upper X left-parenthesis k right-parenthesis upper W Subscript upper N Superscript minus n k Baseline period

Without scaling factor 1 slash upper N, we write

so that the following symmetrical transformation algorithms hold:

(6.134)StartLayout 1st Row 1st Column upper X prime left-parenthesis k right-parenthesis 2nd Column equals StartFraction 1 Over StartRoot upper N EndRoot EndFraction sigma-summation Underscript n equals 0 Overscript upper N minus 1 Endscripts x left-parenthesis n right-parenthesis upper W Subscript upper N Superscript n k Baseline comma EndLayout
(6.135)StartLayout 1st Row 1st Column x left-parenthesis n right-parenthesis 2nd Column equals StartFraction 1 Over StartRoot upper N EndRoot EndFraction sigma-summation Underscript k equals 0 Overscript upper N minus 1 Endscripts upper X prime left-parenthesis k right-parenthesis upper W Subscript upper N Superscript minus n k Baseline period EndLayout

The IDFT differs from the DFT only by its sign in the exponential term.

An alternative approach for calculating the IDFT with the help of a DFT is described as follows [Cad87, Duh88]. We will make use of the relationships

(6.136)StartLayout 1st Row 1st Column x left-parenthesis n right-parenthesis 2nd Column equals a left-parenthesis n right-parenthesis plus j dot b left-parenthesis n right-parenthesis comma EndLayout

Conjugating Eq. (6.133) gives

The multiplication of Eq. (6.138) by j leads to

Conjugating and multiplying Eq. (6.139) by j results in

An interpretation of (Eqs. 6.137) and (6.140) suggests the following way of performing the IDFT with the DFT algorithm:

  1. exchange the real with the imaginary part of the spectral sequence
    upper Y left-parenthesis k right-parenthesis equals upper Y Subscript upper I Baseline left-parenthesis k right-parenthesis plus j upper Y Subscript upper R Baseline left-parenthesis k right-parenthesis semicolon
  2. transformation with DFT algorithm
    DFT left-bracket upper Y left-parenthesis k right-parenthesis right-bracket equals y Subscript upper I Baseline left-parenthesis n right-parenthesis plus j y Subscript upper R Baseline left-parenthesis n right-parenthesis semicolon
  3. exchange the real with the imaginary part of the time sequence
    y left-parenthesis n right-parenthesis equals y Subscript upper R Baseline left-parenthesis n right-parenthesis plus j y Subscript upper I Baseline left-parenthesis n right-parenthesis period

For implementation on a digital signal processor, the use of DFT saves memory for IDFT.

Discrete Fourier Transformation of Two Real Sequences. In many applications, stereo signals that consist of a left and right channel are processed. With the help of the DFT, both channels can be transformed simultaneously into the frequency domain [Sor87, Ell82].

For a real sequence x left-parenthesis n right-parenthesis,

(6.141)StartLayout 1st Row 1st Column upper X left-parenthesis k right-parenthesis 2nd Column equals upper X Superscript asterisk Baseline left-parenthesis negative k right-parenthesis k equals 0 comma 1 comma ellipsis comma upper N minus 1 EndLayout

For a discrete Fourier transformation of two real sequences x left-parenthesis n right-parenthesis and y left-parenthesis n right-parenthesis, a complex sequence is first formed according to

(6.143)z left-parenthesis n right-parenthesis equals x left-parenthesis n right-parenthesis plus j y left-parenthesis n right-parenthesis period

The Fourier transformation gives

(6.144)StartLayout 1st Row 1st Column DFT left-bracket z left-parenthesis n right-parenthesis right-bracket 2nd Column equals 3rd Column DFT left-bracket x left-parenthesis n right-parenthesis plus j y left-parenthesis n right-parenthesis right-bracket 2nd Row 1st Column Blank 2nd Column equals 3rd Column upper Z Subscript upper R Baseline left-parenthesis k right-parenthesis plus j upper Z Subscript upper I Baseline left-parenthesis k right-parenthesis EndLayout
(6.145)equals upper Z left-parenthesis k right-parenthesis comma

where

(6.146)StartLayout 1st Row 1st Column upper Z left-parenthesis k right-parenthesis 2nd Column equals upper Z Subscript upper R Baseline left-parenthesis k right-parenthesis plus j upper Z Subscript upper I Baseline left-parenthesis k right-parenthesis EndLayout
(6.147)StartLayout 1st Row 1st Column Blank 2nd Column equals upper X Subscript upper R Baseline left-parenthesis k right-parenthesis plus j upper X Subscript upper I Baseline left-parenthesis k right-parenthesis plus j left-bracket upper Y Subscript upper R Baseline left-parenthesis k right-parenthesis plus j upper Y Subscript upper I Baseline left-parenthesis k right-parenthesis right-bracket EndLayout

Because x left-parenthesis n right-parenthesis and y left-parenthesis n right-parenthesis are real sequences, it follows from Eq. (6.142) that

(6.149)StartLayout 1st Row 1st Column upper Z left-parenthesis upper N minus k right-parenthesis 2nd Column equals upper Z Subscript upper R Baseline left-parenthesis upper N minus k right-parenthesis plus j upper Z Subscript upper I Baseline left-parenthesis upper N minus k right-parenthesis equals upper Z Superscript asterisk Baseline left-parenthesis k right-parenthesis EndLayout
(6.150)StartLayout 1st Row 1st Column Blank 2nd Column equals upper X Subscript upper R Baseline left-parenthesis k right-parenthesis minus j upper X Subscript upper I Baseline left-parenthesis k right-parenthesis plus j left-bracket upper Y Subscript upper R Baseline left-parenthesis k right-parenthesis minus j upper Y Subscript upper I Baseline left-parenthesis k right-parenthesis right-bracket EndLayout

Considering the real part of upper Z left-parenthesis k right-parenthesis, adding (Eqs. 6.148) and (6.151) gives

(6.152)StartLayout 1st Row 1st Column 2 upper X Subscript upper R Baseline left-parenthesis k right-parenthesis 2nd Column equals upper Z Subscript upper R Baseline left-parenthesis k right-parenthesis plus upper Z Subscript upper R Baseline left-parenthesis upper N minus k right-parenthesis EndLayout
(6.153)StartLayout 1st Row 1st Column right-arrow upper X Subscript upper R Baseline left-parenthesis k right-parenthesis 2nd Column equals one half left-bracket upper Z Subscript upper R Baseline left-parenthesis k right-parenthesis plus upper Z Subscript upper R Baseline left-parenthesis upper N minus k right-parenthesis right-bracket EndLayout

and subtraction of Eq. (6.151) from Eq. (6.148) results in

(6.154)StartLayout 1st Row 1st Column 2 upper Y Subscript upper I Baseline left-parenthesis k right-parenthesis 2nd Column equals upper Z Subscript upper R Baseline left-parenthesis upper N minus k right-parenthesis minus upper Z Subscript upper R Baseline left-parenthesis k right-parenthesis EndLayout
(6.155)StartLayout 1st Row 1st Column right-arrow upper Y Subscript upper I Baseline left-parenthesis k right-parenthesis 2nd Column equals one half left-bracket upper Z Subscript upper R Baseline left-parenthesis upper N minus k right-parenthesis minus upper Z Subscript upper R Baseline left-parenthesis k right-parenthesis right-bracket period EndLayout

Considering the imaginary part of upper Z left-parenthesis k right-parenthesis, adding (Eqs. 6.148) and (6.151) gives

(6.156)StartLayout 1st Row 1st Column 2 upper Y Subscript upper R Baseline left-parenthesis k right-parenthesis 2nd Column equals upper Z Subscript upper I Baseline left-parenthesis k right-parenthesis plus upper Z Subscript upper I Baseline left-parenthesis upper N minus k right-parenthesis EndLayout
(6.157)StartLayout 1st Row 1st Column right-arrow upper Y Subscript upper R Baseline left-parenthesis k right-parenthesis 2nd Column equals one half left-bracket upper Z Subscript upper I Baseline left-parenthesis k right-parenthesis plus upper Z Subscript upper I Baseline left-parenthesis upper N minus k right-parenthesis right-bracket EndLayout

and subtraction of Eq. (6.151) from Eq. (6.148) results in

(6.158)StartLayout 1st Row 1st Column 2 upper X Subscript upper I Baseline left-parenthesis k right-parenthesis 2nd Column equals upper Z Subscript upper I Baseline left-parenthesis k right-parenthesis minus upper Z Subscript upper I Baseline left-parenthesis upper N minus k right-parenthesis EndLayout
(6.159)StartLayout 1st Row 1st Column right-arrow upper X Subscript upper I Baseline left-parenthesis k right-parenthesis 2nd Column equals one half left-bracket upper Z Subscript upper I Baseline left-parenthesis k right-parenthesis minus upper Z Subscript upper I Baseline left-parenthesis upper N minus k right-parenthesis right-bracket period EndLayout

Hence the spectral functions are given by

(6.160)upper X left-parenthesis k right-parenthesis equals DFT left-bracket x left-parenthesis n right-parenthesis right-bracket equals upper X Subscript upper R Baseline left-parenthesis k right-parenthesis plus j upper X Subscript upper I Baseline left-parenthesis k right-parenthesis
(6.161)StartLayout 1st Row 1st Column Blank 2nd Column equals 3rd Column one half left-bracket upper Z Subscript upper R Baseline left-parenthesis k right-parenthesis plus upper Z Subscript upper R Baseline left-parenthesis upper N minus k right-parenthesis right-bracket 2nd Row 1st Column Blank 2nd Column Blank 3rd Column plus j one half left-bracket upper Z Subscript upper I Baseline left-parenthesis k right-parenthesis minus upper Z Subscript upper I Baseline left-parenthesis upper N minus k right-parenthesis right-bracket 3rd Row 1st Column Blank 2nd Column Blank 3rd Column Blank 4th Row 1st Column Blank 2nd Column Blank 3rd Column k equals 0 comma 1 comma ellipsis comma StartFraction upper N Over 2 EndFraction comma EndLayout
(6.162)upper Y left-parenthesis k right-parenthesis equals DFT left-bracket y left-parenthesis n right-parenthesis right-bracket equals upper Y Subscript upper R Baseline left-parenthesis k right-parenthesis plus j upper Y Subscript upper R Baseline left-parenthesis k right-parenthesis
(6.163)StartLayout 1st Row 1st Column Blank 2nd Column equals 3rd Column one half left-bracket upper Z Subscript upper I Baseline left-parenthesis k right-parenthesis plus upper Z Subscript upper I Baseline left-parenthesis upper N minus k right-parenthesis right-bracket 2nd Row 1st Column Blank 2nd Column Blank 3rd Column plus j one half left-bracket upper Z Subscript upper R Baseline left-parenthesis upper N minus k right-parenthesis minus upper Z Subscript upper R Baseline left-parenthesis k right-parenthesis right-bracket 3rd Row 1st Column Blank 2nd Column Blank 3rd Column Blank 4th Row 1st Column Blank 2nd Column Blank 3rd Column k equals 0 comma 1 comma ellipsis comma StartFraction upper N Over 2 EndFraction comma EndLayout

and

(6.164)upper X Subscript upper R Baseline left-parenthesis k right-parenthesis plus j upper X Subscript upper I Baseline left-parenthesis k right-parenthesis equals upper X Subscript upper R Baseline left-parenthesis upper N minus k right-parenthesis minus j upper X Subscript upper I Baseline left-parenthesis upper N minus k right-parenthesis comma
(6.165)StartLayout 1st Row 1st Column upper Y Subscript upper R Baseline left-parenthesis k right-parenthesis plus j upper Y Subscript upper I Baseline left-parenthesis k right-parenthesis 2nd Column equals 3rd Column upper Y Subscript upper R Baseline left-parenthesis upper N minus k right-parenthesis minus j upper Y Subscript upper I Baseline left-parenthesis upper N minus k right-parenthesis comma 2nd Row 1st Column Blank 2nd Column Blank 3rd Column Blank 3rd Row 1st Column Blank 2nd Column Blank 3rd Column k equals StartFraction upper N Over 2 EndFraction plus 1 comma ellipsis comma upper N minus 1 period EndLayout

Fast Convolution if Spectral Functions are Known. The spectral functions upper X left-parenthesis k right-parenthesis, upper Y left-parenthesis k right-parenthesis, and upper H left-parenthesis k right-parenthesis are known. With the help of Eq. (6.148), the spectral sequence can be formed by

(6.166)StartLayout 1st Row 1st Column upper Z left-parenthesis k right-parenthesis 2nd Column equals 3rd Column upper Z Subscript upper R Baseline left-parenthesis k right-parenthesis plus j upper Z Subscript upper I Baseline left-parenthesis k right-parenthesis EndLayout
(6.167)StartLayout 1st Row 1st Column Blank 2nd Column equals 3rd Column upper X Subscript upper R Baseline left-parenthesis k right-parenthesis minus upper Y Subscript upper I Baseline left-parenthesis k right-parenthesis plus j left-bracket upper X Subscript upper I Baseline left-parenthesis k right-parenthesis plus upper Y Subscript upper R Baseline left-parenthesis k right-parenthesis right-bracket 2nd Row 1st Column Blank 2nd Column Blank 3rd Column k equals 0 comma 1 comma ellipsis comma upper N minus 1 period EndLayout

Filtering is done by multiplication in the frequency domain:

(6.168)StartLayout 1st Row 1st Column upper Z prime left-parenthesis k right-parenthesis 2nd Column equals 3rd Column left-bracket upper Z Subscript upper R Baseline left-parenthesis k right-parenthesis plus j upper Z Subscript upper I Baseline left-parenthesis k right-parenthesis right-bracket left-bracket upper H Subscript upper R Baseline left-parenthesis k right-parenthesis plus j upper H Subscript upper I Baseline left-parenthesis k right-parenthesis right-bracket 2nd Row 1st Column Blank 2nd Column equals 3rd Column upper Z Subscript upper R Baseline left-parenthesis k right-parenthesis upper H Subscript upper R Baseline left-parenthesis k right-parenthesis minus upper Z Subscript upper I Baseline left-parenthesis k right-parenthesis upper H Subscript upper I Baseline left-parenthesis k right-parenthesis 3rd Row 1st Column Blank 2nd Column Blank 3rd Column plus j left-bracket upper Z Subscript upper R Baseline left-parenthesis k right-parenthesis upper H Subscript upper I Baseline left-parenthesis k right-parenthesis plus upper Z Subscript upper I Baseline left-parenthesis k right-parenthesis upper H Subscript upper R Baseline left-parenthesis k right-parenthesis right-bracket period EndLayout

The inverse transformation gives

(6.169)StartLayout 1st Row 1st Column z prime left-parenthesis n right-parenthesis 2nd Column equals 3rd Column left-bracket x left-parenthesis n right-parenthesis plus j y left-parenthesis n right-parenthesis right-bracket asterisk h left-parenthesis n right-parenthesis equals x left-parenthesis n right-parenthesis asterisk h left-parenthesis n right-parenthesis plus j y left-parenthesis n right-parenthesis asterisk h left-parenthesis n right-parenthesis EndLayout
(6.170)StartLayout 1st Row 1st Column Blank 2nd Column equals 3rd Column IDFT left-bracket upper Z prime left-parenthesis k right-parenthesis right-bracket 2nd Row 1st Column Blank 2nd Column equals 3rd Column z prime Subscript upper R Baseline left-parenthesis n right-parenthesis plus j z prime Subscript upper I Baseline left-parenthesis n right-parenthesis comma EndLayout

so that the filtered output sequence is given by

(6.171)x prime left-parenthesis n right-parenthesis equals z prime Subscript upper R Baseline left-parenthesis n right-parenthesis comma
(6.172)y prime left-parenthesis n right-parenthesis equals z prime Subscript upper I Baseline left-parenthesis n right-parenthesis period

The filtering of a stereo signal can hence be done by transformation into the frequency domain, multiplication of the spectral functions, and inverse transformation of left and right channels.

6.3.2 Fast Convolution of Long Sequences

The fast convolution of two real input sequences x Subscript l Baseline left-parenthesis n right-parenthesis and x Subscript l plus 1 Baseline left-parenthesis n right-parenthesis of length upper N 1 with the impulse response h left-parenthesis n right-parenthesis of length upper N 2 leads to the output sequences

(6.173)y Subscript l Baseline left-parenthesis n right-parenthesis equals x Subscript l Baseline left-parenthesis n right-parenthesis asterisk h left-parenthesis n right-parenthesis comma
(6.174)y Subscript l plus 1 Baseline left-parenthesis n right-parenthesis equals x Subscript l plus 1 Baseline left-parenthesis n right-parenthesis asterisk h left-parenthesis n right-parenthesis comma

of length upper N 1 plus upper N 2 minus 1. The implementation of a non‐recursive filter with fast convolution becomes more efficient than the direct implementation of an FIR filter for filter lengths upper N greater-than 30. Therefore, the following procedure will be performed:

  • formation of a complex sequence
    (6.175)z left-parenthesis n right-parenthesis equals x Subscript l Baseline left-parenthesis n right-parenthesis plus j x Subscript l plus 1 Baseline left-parenthesis n right-parenthesis semicolon
  • Fourier transformation of the impulse response h left-parenthesis n right-parenthesis that is padded with zeros to a length upper N greater-than-or-equal-to upper N 1 plus upper N 2 minus 1
    (6.176)upper H left-parenthesis k right-parenthesis equals DFT left-bracket h left-parenthesis n right-parenthesis right-bracket left-parenthesis FFT hyphen length upper N right-parenthesis semicolon
  • Fourier transformation of the sequence z left-parenthesis n right-parenthesis that is padded with zeros to a length upper N greater-than-or-equal-to upper N 1 plus upper N 2 minus 1
    (6.177)upper Z left-parenthesis k right-parenthesis equals DFT left-bracket z left-parenthesis n right-parenthesis right-bracket left-parenthesis FFT hyphen length upper N right-parenthesis semicolon
  • formation of a complex output sequence
    (6.178)StartLayout 1st Row 1st Column e left-parenthesis n right-parenthesis 2nd Column equals IDFT left-bracket upper Z left-parenthesis k right-parenthesis upper H left-parenthesis k right-parenthesis right-bracket EndLayout
    (6.179)StartLayout 1st Row 1st Column Blank 2nd Column equals z left-parenthesis n right-parenthesis asterisk h left-parenthesis n right-parenthesis EndLayout
    (6.180)StartLayout 1st Row 1st Column Blank 2nd Column equals x Subscript l Baseline left-parenthesis n right-parenthesis asterisk h left-parenthesis n right-parenthesis plus j x Subscript l plus 1 Baseline left-parenthesis n right-parenthesis asterisk h left-parenthesis n right-parenthesis semicolon EndLayout
  • formation of a real output sequence
    (6.181)y Subscript l Baseline left-parenthesis n right-parenthesis equals Re left-brace e left-parenthesis n right-parenthesis right-brace comma
    (6.182)y Subscript l plus 1 Baseline left-parenthesis n right-parenthesis equals Im left-brace e left-parenthesis n right-parenthesis right-brace period
Schematic illustration of fast convolution with partitioning of the input signal x(n) into blocks of length L.

Figure 6.56 Fast convolution with partitioning of the input signal x left-parenthesis n right-parenthesis into blocks of length upper L.

For the convolution of an infinite‐length input sequence (see Fig. 6.56 ) with an impulse response h left-parenthesis n right-parenthesis, the input sequence is partitioned into sequences x Subscript m Baseline left-parenthesis n right-parenthesis of length upper L:

(6.183)x Subscript m Baseline left-parenthesis n right-parenthesis equals Start 2 By 2 Matrix 1st Row 1st Column x left-parenthesis n right-parenthesis 2nd Column left-parenthesis m minus 1 right-parenthesis upper L less-than-or-equal-to n less-than-or-equal-to m upper L minus 1 comma 2nd Row 1st Column 0 2nd Column otherwise period EndMatrix

The input sequence is given by superposition of finite‐length sequences according to

(6.184)x left-parenthesis n right-parenthesis equals sigma-summation Underscript m equals 1 Overscript infinity Endscripts x Subscript m Baseline left-parenthesis n right-parenthesis period

The convolution of the input sequence with the impulse response h left-parenthesis n right-parenthesis of length upper M gives

(6.185)StartLayout 1st Row 1st Column y left-parenthesis n right-parenthesis 2nd Column equals sigma-summation Underscript k equals 0 Overscript upper M minus 1 Endscripts h left-parenthesis k right-parenthesis x left-parenthesis n minus k right-parenthesis EndLayout
(6.186)StartLayout 1st Row 1st Column Blank 2nd Column equals sigma-summation Underscript k equals 0 Overscript upper M minus 1 Endscripts h left-parenthesis k right-parenthesis sigma-summation Underscript m equals 1 Overscript infinity Endscripts x Subscript m Baseline left-parenthesis n minus k right-parenthesis EndLayout
(6.187)StartLayout 1st Row 1st Column Blank 2nd Column equals sigma-summation Underscript m equals 1 Overscript infinity Endscripts left-bracket sigma-summation Underscript k equals 0 Overscript upper M minus 1 Endscripts h left-parenthesis k right-parenthesis x Subscript m Baseline left-parenthesis n minus k right-parenthesis right-bracket period EndLayout

The term in brackets corresponds to the convolution of a finite‐length sequence x Subscript m Baseline left-parenthesis n right-parenthesis of length upper L with the impulse response of length upper M. The output signal can be given as a superposition of convolution products of length upper L plus upper M minus 1. With these partial convolution products,

(6.188)y Subscript m Baseline left-parenthesis n right-parenthesis equals Start 2 By 2 Matrix 1st Row 1st Column sigma-summation Underscript k equals 0 Overscript upper M minus 1 Endscripts h left-parenthesis k right-parenthesis x Subscript m Baseline left-parenthesis n minus k right-parenthesis 2nd Column left-parenthesis m minus 1 right-parenthesis upper L less-than-or-equal-to n less-than-or-equal-to m upper L plus upper M minus 2 comma 2nd Row 1st Column 0 2nd Column otherwise comma EndMatrix

the output signal can be written as

Schematic illustration of partitioning of the impulse response h(n).

Figure 6.57 Partitioning of the impulse response h left-parenthesis n right-parenthesis.

If the length upper M of the impulse response is very long, it can be similarly partitioned into upper P parts each of length upper M slash upper P (see Fig. 6.57 ). With

(6.190)h Subscript p Baseline left-bracket n minus left-parenthesis p minus 1 right-parenthesis StartFraction upper M Over upper P EndFraction right-bracket equals Start 2 By 2 Matrix 1st Row 1st Column h left-parenthesis n right-parenthesis 2nd Column left-parenthesis p minus 1 right-parenthesis StartFraction upper M Over upper P EndFraction less-than-or-equal-to n less-than-or-equal-to p StartFraction upper M Over upper P EndFraction minus 1 comma 2nd Row 1st Column 0 2nd Column otherwise comma EndMatrix

it follows that

(6.191)h left-parenthesis n right-parenthesis equals sigma-summation Underscript p equals 1 Overscript upper P Endscripts h Subscript p Baseline left-parenthesis n minus left-parenthesis p minus 1 right-parenthesis StartFraction upper M Over upper P EndFraction right-parenthesis period

With upper M Subscript p Baseline equals p upper M slash upper P and Eq. (6.189), the following partitioning can be done:

(6.192)StartLayout 1st Row 1st Column y left-parenthesis n right-parenthesis 2nd Column equals sigma-summation Underscript m equals 1 Overscript infinity Endscripts left-bracket ModifyingBelow sigma-summation Underscript k equals 0 Overscript upper M minus 1 Endscripts h left-parenthesis k right-parenthesis x Subscript m Baseline left-parenthesis n minus k right-parenthesis With presentation form for vertical right-brace Underscript y Subscript m Baseline left-parenthesis n right-parenthesis Endscripts right-bracket EndLayout
(6.193)StartLayout 1st Row 1st Column Blank 2nd Column equals sigma-summation Underscript m equals 1 Overscript infinity Endscripts left-bracket sigma-summation Underscript k equals 0 Overscript upper M 1 minus 1 Endscripts h left-parenthesis k right-parenthesis x Subscript m Baseline left-parenthesis n minus k right-parenthesis plus sigma-summation Underscript k equals upper M 1 Overscript upper M 2 minus 1 Endscripts h left-parenthesis k right-parenthesis x Subscript m Baseline left-parenthesis n minus k right-parenthesis plus ellipsis plus sigma-summation Underscript k equals upper M Subscript upper P minus 1 Baseline Overscript upper M minus 1 Endscripts h left-parenthesis k right-parenthesis x Subscript m Baseline left-parenthesis n minus k right-parenthesis right-bracket period EndLayout

This can be rewritten as

(6.194)StartLayout 1st Row 1st Column y left-parenthesis n right-parenthesis 2nd Column equals 3rd Column sigma-summation Underscript m equals 1 Overscript infinity Endscripts left-bracket ModifyingBelow sigma-summation Underscript k equals 0 Overscript upper M 1 minus 1 Endscripts h 1 left-parenthesis k right-parenthesis x Subscript m Baseline left-parenthesis n minus k right-parenthesis With presentation form for vertical right-brace Underscript y Subscript m Baseline 1 Baseline Endscripts plus ModifyingBelow sigma-summation Underscript k equals 0 Overscript upper M 1 minus 1 Endscripts h 2 left-parenthesis k right-parenthesis x Subscript m Baseline left-parenthesis n minus upper M 1 minus k right-parenthesis With presentation form for vertical right-brace Underscript y Subscript m Baseline 2 Baseline Endscripts period 2nd Row 1st Column Blank 2nd Column Blank 3rd Column plus ModifyingBelow sigma-summation Underscript k equals 0 Overscript upper M 1 minus 1 Endscripts h 3 left-parenthesis k right-parenthesis x Subscript m Baseline left-parenthesis n minus 2 upper M 1 minus k right-parenthesis With presentation form for vertical right-brace Underscript y Subscript m Baseline 3 Endscripts 3rd Row 1st Column Blank 2nd Column Blank 3rd Column period right-bracket plus plus ellipsis sigma-summation sigma-summation equals equals k 0 minus minus upper M 11 times times times of hhP left-parenthesis right-parenthesis kxm left-parenthesis right-parenthesis minus minus minus n times times left-parenthesis right-parenthesis minus minus upper P 1 upper M 1 k presentation form for vertical right-brace y times times mP 4th Row 1st Column Blank 2nd Column equals 3rd Column sigma-summation Underscript m equals 1 Overscript infinity Endscripts left-bracket ModifyingBelow y Subscript m Baseline 1 Baseline left-parenthesis n right-parenthesis plus y Subscript m Baseline 2 Baseline left-parenthesis n minus upper M 1 right-parenthesis plus ellipsis plus y Subscript m upper P Baseline left-parenthesis n minus left-parenthesis upper P minus 1 right-parenthesis upper M 1 right-parenthesis With presentation form for vertical right-brace Underscript y Subscript m Baseline left-parenthesis n right-parenthesis Endscripts right-bracket period 5th Row 1st Column Blank 2nd Column Blank 3rd Column Blank EndLayout

An example of partitioning the impulse response into upper P equals 4 parts is graphically shown in Fig. 6.58 . This leads to

(6.195)StartLayout 1st Row 1st Column y left-parenthesis n right-parenthesis 2nd Column equals 3rd Column sigma-summation Underscript m equals 1 Overscript infinity Endscripts left-bracket ModifyingBelow sigma-summation Underscript k equals 0 Overscript upper M 1 minus 1 Endscripts h 1 left-parenthesis k right-parenthesis x Subscript m Baseline left-parenthesis n minus k right-parenthesis With presentation form for vertical right-brace Underscript y Subscript m Baseline 1 Baseline Endscripts plus ModifyingBelow sigma-summation Underscript k equals 0 Overscript upper M 1 minus 1 Endscripts h 2 left-parenthesis k right-parenthesis x Subscript m Baseline left-parenthesis n minus upper M 1 minus k right-parenthesis With presentation form for vertical right-brace Underscript y Subscript m Baseline 2 Baseline Endscripts period 2nd Row 1st Column Blank 2nd Column Blank 3rd Column period right-bracket plus plus plus plus sigma-summation sigma-summation equals equals k 0 minus minus upper M 11 times times times of hh 3 left-parenthesis right-parenthesis kxm left-parenthesis right-parenthesis minus minus minus n times times 2 upper M 1 k presentation form for vertical right-brace y times times m 3 sigma-summation sigma-summation equals equals k 0 minus minus upper M 11 times times times of hh 4 left-parenthesis right-parenthesis kxm left-parenthesis right-parenthesis minus minus minus n times times 3 upper M 1 k presentation form for vertical right-brace y times times m 4 3rd Row 1st Column Blank 2nd Column equals 3rd Column sigma-summation Underscript m equals 1 Overscript infinity Endscripts left-bracket ModifyingBelow y Subscript m Baseline 1 Baseline left-parenthesis n right-parenthesis plus y Subscript m Baseline 2 Baseline left-parenthesis n minus upper M 1 right-parenthesis plus y Subscript m Baseline 3 Baseline left-parenthesis n minus 2 upper M 1 right-parenthesis plus y Subscript m Baseline 4 Baseline left-parenthesis n minus 3 upper M 1 right-parenthesis With presentation form for vertical right-brace Underscript y Subscript m Baseline left-parenthesis n right-parenthesis Endscripts right-bracket period 4th Row 1st Column Blank 2nd Column Blank 3rd Column Blank EndLayout
Schematic illustration of scheme for a fast convolution with P=4.

Figure 6.58 Scheme for a fast convolution with upper P equals 4.

The procedure of a fast convolution by partitioning the input sequence x left-parenthesis n right-parenthesis, as well as the impulse response h left-parenthesis n right-parenthesis, is given in the following for the example in Fig. 6.58 .

  1. Decomposition of the impulse response h left-parenthesis n right-parenthesis of length 4 upper M:
    (6.196)h 1 left-parenthesis n right-parenthesis equals h left-parenthesis n right-parenthesis 0 less-than-or-equal-to n less-than-or-equal-to upper M minus 1 semicolon
    (6.197)h 2 left-parenthesis n minus upper M right-parenthesis equals h left-parenthesis n right-parenthesis upper M less-than-or-equal-to n less-than-or-equal-to 2 upper M minus 1 semicolon
    (6.198)h 3 left-parenthesis n minus 2 upper M right-parenthesis equals h left-parenthesis n right-parenthesis 2 upper M less-than-or-equal-to n less-than-or-equal-to 3 upper M minus 1 semicolon
    (6.199)h 4 left-parenthesis n minus 3 upper M right-parenthesis equals h left-parenthesis n right-parenthesis 3 upper M less-than-or-equal-to n less-than-or-equal-to 4 upper M minus 1 period
  2. Zero‐padding of partial impulse responses up to a length 2 upper M:
    (6.200)h 1 left-parenthesis n right-parenthesis equals Start 2 By 2 Matrix 1st Row 1st Column h 1 left-parenthesis n right-parenthesis 2nd Column 0 less-than-or-equal-to n less-than-or-equal-to upper M minus 1 comma 2nd Row 1st Column 0 2nd Column upper M less-than-or-equal-to n less-than-or-equal-to 2 upper M minus 1 semicolon EndMatrix
    (6.201)h 2 left-parenthesis n right-parenthesis equals Start 2 By 2 Matrix 1st Row 1st Column h 2 left-parenthesis n right-parenthesis 2nd Column 0 less-than-or-equal-to n less-than-or-equal-to upper M minus 1 comma 2nd Row 1st Column 0 2nd Column upper M less-than-or-equal-to n less-than-or-equal-to 2 upper M minus 1 semicolon EndMatrix
    (6.202)h 3 left-parenthesis n right-parenthesis equals Start 2 By 2 Matrix 1st Row 1st Column h 3 left-parenthesis n right-parenthesis 2nd Column 0 less-than-or-equal-to n less-than-or-equal-to upper M minus 1 comma 2nd Row 1st Column 0 2nd Column upper M less-than-or-equal-to n less-than-or-equal-to 2 upper M minus 1 semicolon EndMatrix
    (6.203)h 4 left-parenthesis n right-parenthesis equals Start 2 By 2 Matrix 1st Row 1st Column h 4 left-parenthesis n right-parenthesis 2nd Column 0 less-than-or-equal-to n less-than-or-equal-to upper M minus 1 comma 2nd Row 1st Column 0 2nd Column upper M less-than-or-equal-to n less-than-or-equal-to 2 upper M minus 1 period EndMatrix
  3. Calculating and storing
    (6.204)upper H Subscript i Baseline left-parenthesis k right-parenthesis equals DFT left-bracket h Subscript i Baseline left-parenthesis n right-parenthesis right-bracket i equals 1 comma ellipsis comma 4 left-parenthesis FFT hyphen length 2 upper M right-parenthesis period
  4. Decomposition of the input sequence x left-parenthesis n right-parenthesis into partial sequences x Subscript l Baseline left-parenthesis n right-parenthesis of length upper M:
    (6.205)x Subscript l Baseline left-parenthesis n right-parenthesis equals x left-parenthesis n right-parenthesis left-parenthesis l minus 1 right-parenthesis upper M less-than-or-equal-to n less-than-or-equal-to l upper M minus 1 l equals 1 comma ellipsis infinity period
  5. Nesting partial sequences:
    (6.206)z Subscript m Baseline left-parenthesis n right-parenthesis equals x Subscript l Baseline left-parenthesis n right-parenthesis plus j x Subscript l plus 1 Baseline left-parenthesis n right-parenthesis m equals 1 comma ellipsis comma infinity period
  6. Zero‐padding of complex sequence z Subscript m Baseline left-parenthesis n right-parenthesis up to a length 2 upper M:
    (6.207)z Subscript m Baseline left-parenthesis n right-parenthesis equals Start 2 By 2 Matrix 1st Row 1st Column z Subscript m Baseline left-parenthesis n right-parenthesis 2nd Column left-parenthesis l minus 1 right-parenthesis upper M less-than-or-equal-to n less-than-or-equal-to l upper M minus 1 comma 2nd Row 1st Column 0 2nd Column l upper M less-than-or-equal-to n less-than-or-equal-to left-parenthesis l plus 1 right-parenthesis upper M minus 1 period EndMatrix
  7. Fourier transformation of the complex sequences z Subscript m Baseline left-parenthesis n right-parenthesis:
    (6.208)upper Z Subscript m Baseline left-parenthesis k right-parenthesis equals DFT left-bracket z Subscript m Baseline left-parenthesis n right-parenthesis right-bracket equals upper Z Subscript m upper R Baseline left-parenthesis k right-parenthesis plus j upper Z Subscript m upper I Baseline left-parenthesis k right-parenthesis left-parenthesis FFT hyphen length 2 upper M right-parenthesis period
  8. Multiplication in the frequency domain:
    (6.209)StartLayout 1st Row left-bracket upper Z Subscript upper R Baseline left-parenthesis k right-parenthesis plus j upper Z Subscript upper I Baseline left-parenthesis k right-parenthesis right-bracket left-bracket upper H Subscript upper R Baseline left-parenthesis k right-parenthesis plus j upper H Subscript upper I Baseline left-parenthesis k right-parenthesis right-bracket equals 2nd Row upper Z Subscript upper R Baseline left-parenthesis k right-parenthesis upper H Subscript upper R Baseline left-parenthesis k right-parenthesis minus upper Z Subscript upper I Baseline left-parenthesis k right-parenthesis upper H Subscript upper I Baseline left-parenthesis k right-parenthesis 3rd Row plus j left-bracket upper Z Subscript upper R Baseline left-parenthesis k right-parenthesis upper H Subscript upper I Baseline left-parenthesis k right-parenthesis plus upper Z Subscript upper I Baseline left-parenthesis k right-parenthesis upper H Subscript upper R Baseline left-parenthesis k right-parenthesis right-bracket EndLayout
    (6.210)upper E Subscript m Baseline 1 Baseline left-parenthesis k right-parenthesis equals upper Z Subscript m Baseline left-parenthesis k right-parenthesis upper H 1 left-parenthesis k right-parenthesis k equals 0 comma 1 comma ellipsis comma 2 upper M minus 1 semicolon
    (6.211)upper E Subscript m Baseline 2 Baseline left-parenthesis k right-parenthesis equals upper Z Subscript m Baseline left-parenthesis k right-parenthesis upper H 2 left-parenthesis k right-parenthesis k equals 0 comma 1 comma ellipsis comma 2 upper M minus 1 semicolon
    (6.212)upper E Subscript m Baseline 3 Baseline left-parenthesis k right-parenthesis equals upper Z Subscript m Baseline left-parenthesis k right-parenthesis upper H 3 left-parenthesis k right-parenthesis k equals 0 comma 1 comma ellipsis comma 2 upper M minus 1 semicolon
    (6.213)upper E Subscript m Baseline 4 Baseline left-parenthesis k right-parenthesis equals upper Z Subscript m Baseline left-parenthesis k right-parenthesis upper H 4 left-parenthesis k right-parenthesis k equals 0 comma 1 comma ellipsis comma 2 upper M minus 1 period
  9. Inverse transformation:
    (6.214)e Subscript m Baseline 1 Baseline left-parenthesis n right-parenthesis equals IDFT left-bracket upper Z Subscript m Baseline left-parenthesis k right-parenthesis upper H 1 left-parenthesis k right-parenthesis right-bracket n equals 0 comma 1 comma ellipsis comma 2 upper M minus 1 semicolon
    (6.215)e Subscript m Baseline 2 Baseline left-parenthesis n right-parenthesis equals IDFT left-bracket upper Z Subscript m Baseline left-parenthesis k right-parenthesis upper H 2 left-parenthesis k right-parenthesis right-bracket n equals 0 comma 1 comma ellipsis comma 2 upper M minus 1 semicolon
    (6.216)e Subscript m Baseline 3 Baseline left-parenthesis n right-parenthesis equals IDFT left-bracket upper Z Subscript m Baseline left-parenthesis k right-parenthesis upper H 3 left-parenthesis k right-parenthesis right-bracket n equals 0 comma 1 comma ellipsis comma 2 upper M minus 1 semicolon
    (6.217)e Subscript m Baseline 4 Baseline left-parenthesis n right-parenthesis equals IDFT left-bracket upper Z Subscript m Baseline left-parenthesis k right-parenthesis upper H 4 left-parenthesis k right-parenthesis right-bracket n equals 0 comma 1 comma ellipsis comma 2 upper M minus 1 period
  10. Determination of partial convolutions:
    (6.218)StartLayout 1st Row 1st Column Re left-brace e Subscript m Baseline 1 Baseline left-parenthesis n right-parenthesis right-brace 2nd Column equals x Subscript l Baseline asterisk h 1 semicolon EndLayout
    (6.219)StartLayout 1st Row 1st Column Im left-brace e Subscript m Baseline 1 Baseline left-parenthesis n right-parenthesis right-brace 2nd Column equals x Subscript l plus 1 Baseline asterisk h 1 semicolon EndLayout
    (6.220)StartLayout 1st Row 1st Column Re left-brace e Subscript m Baseline 2 Baseline left-parenthesis n right-parenthesis right-brace 2nd Column equals x Subscript l Baseline asterisk h 2 semicolon EndLayout
    (6.221)StartLayout 1st Row 1st Column Im left-brace e Subscript m Baseline 2 Baseline left-parenthesis n right-parenthesis right-brace 2nd Column equals x Subscript l plus 1 Baseline asterisk h 2 semicolon EndLayout
    (6.222)StartLayout 1st Row 1st Column Re left-brace e Subscript m Baseline 3 Baseline left-parenthesis n right-parenthesis right-brace 2nd Column equals x Subscript l Baseline asterisk h 3 semicolon EndLayout
    (6.223)StartLayout 1st Row 1st Column Im left-brace e Subscript m Baseline 3 Baseline left-parenthesis n right-parenthesis right-brace 2nd Column equals x Subscript l plus 1 Baseline asterisk h 3 semicolon EndLayout
    (6.224)StartLayout 1st Row 1st Column Re left-brace e Subscript m Baseline 4 Baseline left-parenthesis n right-parenthesis right-brace 2nd Column equals x Subscript l Baseline asterisk h 4 semicolon EndLayout
    (6.225)StartLayout 1st Row 1st Column Im left-brace e Subscript m Baseline 4 Baseline left-parenthesis n right-parenthesis right-brace 2nd Column equals x Subscript l plus 1 Baseline asterisk h 4 period EndLayout
  11. Overlap‐Add of partial sequences, increments l equals l plus 2 and m equals m plus 1, and back to step 5.

Based on the partitioning of the input signal and the impulse response and the following Fourier transform, the result of each single convolution is only available after a delay of one block of samples. Different methods to reduce computational complexity or overcome the block delay have been proposed [Soo90, Gar95, Ege96, Mül99, Mül01, Garc02]. These methods make use of a hybrid approach where the first part of the impulse response is used for time‐domain convolution and the other parts are used for fast convolution in the frequency domain. Figure 6.59 a,b demonstrates a simple derivation of the hybrid convolution scheme, which can be described by the decomposition of the transfer function according to

where the impulse response has length upper M dot upper N and upper M is the number of smaller partitions of length upper N. Figure 6.59 c,d shows two different signal flow graphs for the decomposition given by Eq. (6.226) of the entire transfer function. Especially, Fig. 6.59 d highlights (with gray background) that in each branch i equals 1 comma ellipsis comma upper M minus 1, a delay of i dot upper N occurs and each filter upper H Subscript i Baseline left-parenthesis z right-parenthesis has the same length and makes use of the same state variables. This means that they can be computed in parallel in the frequency domain with 2 upper N‐FFTs/IFFTs and the outputs have to be delayed according to left-parenthesis i minus 1 right-parenthesis dot upper N, as shown in Fig. 6.59 e. A further simplification shown in Fig. 6.59 f leads to one input 2 upper N‐FFT and block delays z Superscript negative 1 for the frequency vectors. Then, parallel multiplications with upper H Subscript i Baseline left-parenthesis k right-parenthesis of length 2 upper N and the summation of all intermediate products are performed before one output 2 upper N‐IFFT for the overlap and add operation in the time domain is used. The first part of the impulse response, represented by upper H 0 left-parenthesis z right-parenthesis, is performed by direct convolution in the time domain. The frequency‐ and time‐domain parts are then overlapped and added. An alternative realization for fast convolution is based on the overlap and save operation.

Schematic illustration of hybrid fast convolution.

Figure 6.59 Hybrid fast convolution.

6.3.3 Filter Design by Frequency Sampling

Audio filter design for non‐recursive filter realizations by fast convolution can be carried out by the frequency sampling method. For linear phase systems,

(6.227)upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis equals upper A left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis e Superscript minus j StartFraction upper N Super Subscript upper F Superscript minus 1 Over 2 EndFraction normal upper Omega Baseline comma

where upper A left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis is a real valued amplitude response and upper N Subscript upper F is the length of the impulse response. The magnitude StartAbsoluteValue upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis EndAbsoluteValue is calculated by sampling in the frequency domain at equidistant places

(6.228)StartFraction f Over f Subscript upper S Baseline EndFraction equals StartFraction k Over upper N Subscript upper F Baseline EndFraction with k equals 0 comma 1 comma midline-horizontal-ellipsis comma upper N Subscript upper F Baseline minus 1 comma

according to

(6.229)StartAbsoluteValue upper H left-parenthesis e Superscript j normal upper Omega Baseline right-parenthesis EndAbsoluteValue equals upper A left-parenthesis e Superscript j Baseline 2 pi k slash upper N Super Subscript upper F Superscript Baseline right-parenthesis k equals 0 comma 1 comma midline-horizontal-ellipsis comma StartFraction upper N Subscript upper F Baseline Over 2 EndFraction minus 1 period

Hence, a filter can be designed by fulfilling conditions in the frequency domain. The linear phase is determined as

(6.230)StartLayout 1st Row 1st Column e Superscript minus j StartFraction upper N Super Subscript upper F Superscript minus 1 Over 2 EndFraction normal upper Omega 2nd Column equals 3rd Column e Superscript minus j Baseline 2 pi StartFraction upper N Super Subscript upper F Superscript minus 1 Over 2 EndFraction StartFraction k Over upper N Super Subscript upper F Superscript EndFraction EndLayout
(6.231)StartLayout 1st Row 1st Column Blank 2nd Column equals 3rd Column cosine left-parenthesis 2 pi StartFraction upper N Subscript upper F Baseline minus 1 Over 2 EndFraction StartFraction k Over upper N Subscript upper F Baseline EndFraction right-parenthesis minus j sine left-parenthesis 2 pi StartFraction upper N Subscript upper F Baseline minus 1 Over 2 EndFraction StartFraction k Over upper N Subscript upper F Baseline EndFraction right-parenthesis 2nd Row 1st Column k 2nd Column equals 3rd Column 0 comma 1 comma midline-horizontal-ellipsis comma StartFraction upper N Subscript upper F Baseline Over 2 EndFraction minus 1 period EndLayout

Owing to the real transfer function upper H left-parenthesis z right-parenthesis for an even filter length, we have to fulfill

(6.232)upper H left-parenthesis k equals StartFraction upper N Subscript upper F Baseline Over 2 EndFraction right-parenthesis equals 0 logical-and upper H left-parenthesis k right-parenthesis equals upper H Superscript asterisk Baseline left-parenthesis upper N Subscript upper F Baseline minus k right-parenthesis k equals 0 comma 1 comma midline-horizontal-ellipsis StartFraction upper N Subscript upper F Baseline Over 2 EndFraction minus 1 period

This has to be taken into consideration when designing filters of even length upper N Subscript upper F. The impulse response h left-parenthesis n right-parenthesis is obtained through an upper N Subscript upper F‐point IDFT of the spectral sequence upper H left-parenthesis k right-parenthesis. This impulse response is extended with zero‐padding to the length upper N and then transformed by an upper N‐point DFT resulting in the spectral sequence upper H left-parenthesis k right-parenthesis of the filter.

6.4 Multi‐complementary Filter Bank

The sub‐band processing of audio signals is mainly used in source coding applications for efficient transmission and storing. The basis for the sub‐band decomposition is critically sampled filter banks [Vai93, Fli00]. These filter banks allow a perfect reconstruction of the input provided there is no processing within the sub‐bands. They consist of an analysis filter bank for decomposing the signal in critically sampled sub‐bands and a synthesis filter bank for reconstructing the broadband output. The aliasing in the sub‐bands is eliminated by the synthesis filter bank. Nonlinear methods are used for coding the sub‐band signals. The reconstruction error of the filter bank is negligible compared with the errors arising from the coding/decoding process. Using a critically sampled filter bank as a multiband equalizer, multiband dynamic range control, or multiband room simulation, the processing in the sub‐bands leads to aliasing at the output. To avoid aliasing, a multi‐complementary filter bank [Fli92, Zöl92, Fli00] is presented which enables an aliasing‐free processing in the sub‐bands and leads to a perfect reconstruction of the output. It allows a decomposition into octave frequency bands which are matched to the human ear.

6.4.1 Principles

Figure 6.61 shows an octave‐band filter bank with critical sampling. It performs a successive lowpass/highpass decomposition into half‐bands followed by downsampling by a factor of two. The decomposition leads to the sub‐bands upper Y 1 to upper Y Subscript upper N (see Fig. 6.62 ). The transition frequencies of this decomposition are given by

(6.233)normal upper Omega Subscript upper C k Baseline equals StartFraction pi Over 2 EndFraction 2 Superscript negative k plus 1 Baseline with k equals 1 comma 2 comma midline-horizontal-ellipsis comma upper N minus 1 period

To avoid aliasing in sub‐bands, a modified octave‐band filter bank is considered, which is shown in Fig. 6.63 for a two‐band decomposition. The cutoff frequency of the modified filter bank is moved from StartFraction pi Over 2 EndFraction to a lower frequency. This means that in downsampling the lowpass branch, no aliasing occurs in the transition band (e.g. cutoff frequency StartFraction pi Over 3 EndFraction). The broader highpass branch cannot be downsampled. A continuation of the described two‐band decomposition leads to the modified octave‐band filter bank shown in Fig. 6.64 . The frequency bands are depicted in Fig. 6.65 showing that besides the cutoff frequencies

(6.234)normal upper Omega Subscript upper C k Baseline equals StartFraction pi Over 3 EndFraction 2 Superscript negative k plus 1 Baseline with k equals 1 comma 2 comma midline-horizontal-ellipsis comma upper N minus 1 comma

the bandwidth of the sub‐bands is reduced by a factor of two. The highpass sub‐band upper Y 1 is an exception.

Schematic illustration of octave-band QMF bank.

Figure 6.61 Octave‐band QMF bank (SP = signal processing, LP = lowpass, HP = highpass).

Schematic illustration of octave-frequency bands.

Figure 6.62 Octave‐frequency bands.

Schematic illustration of two-band decomposition.

Figure 6.63 Two‐band decomposition.

Schematic illustration of modified octave-band filter bank.

Figure 6.64 Modified octave‐band filter bank.

Schematic illustration of modified octave decomposition.

Figure 6.65 Modified octave decomposition.

The special lowpass/highpass decomposition is carried out by a two‐band complementary filter bank, as shown in Fig. 6.66 . The frequency responses of a decimation filter upper H Subscript upper D Baseline left-parenthesis z right-parenthesis, interpolation filter upper H Subscript upper I Baseline left-parenthesis z right-parenthesis, and kernel filter upper H Subscript upper K Baseline left-parenthesis z right-parenthesis are shown in Fig. 6.67 .

Schematic illustration of two-band complementary filter bank.

Figure 6.66 Two‐band complementary filter bank.

Schematic illustration of design of HD(z), HI(z), and HK(z).

Figure 6.67 Design of upper H Subscript upper D Baseline left-parenthesis z right-parenthesis, upper H Subscript upper I Baseline left-parenthesis z right-parenthesis, and upper H Subscript upper K Baseline left-parenthesis z right-parenthesis.

The lowpass filtering of a signal x 1 left-parenthesis n right-parenthesis is done with the help of a decimation filter upper H Subscript upper D Baseline left-parenthesis z right-parenthesis, the downsampler of factor two, and the kernel filter upper H Subscript upper K Baseline left-parenthesis z right-parenthesis, and leads to y 2 left-parenthesis 2 n right-parenthesis. The Z‐transform of y 2 left-parenthesis 2 n right-parenthesis is given by

(6.235)StartLayout 1st Row 1st Column upper Y 2 left-parenthesis z right-parenthesis 2nd Column equals 3rd Column one half left-bracket upper H Subscript upper D Baseline left-parenthesis z Superscript one half Baseline right-parenthesis upper X 1 left-parenthesis z Superscript one half Baseline right-parenthesis upper H Subscript upper K Baseline left-parenthesis z right-parenthesis 2nd Row 1st Column Blank 2nd Column Blank 3rd Column plus upper H Subscript upper D Baseline left-parenthesis minus z Superscript one half Baseline right-parenthesis upper X 1 left-parenthesis minus z Superscript one half Baseline right-parenthesis upper H Subscript upper K Baseline left-parenthesis z right-parenthesis right-bracket period EndLayout

The interpolated lowpass signal y Subscript 1 upper L Baseline left-parenthesis n right-parenthesis is generated by upsampling by a factor of two and filtering with the interpolation filter upper H Subscript upper I Baseline left-parenthesis z right-parenthesis. The Z‐transform of y Subscript 1 upper L Baseline left-parenthesis n right-parenthesis is given by

(6.236)StartLayout 1st Row 1st Column upper Y Subscript 1 upper L Baseline left-parenthesis z right-parenthesis 2nd Column equals 3rd Column upper Y 2 left-parenthesis z squared right-parenthesis upper H Subscript upper I Baseline left-parenthesis z right-parenthesis EndLayout

The highpass signal y 1 left-parenthesis n right-parenthesis is obtained by subtracting the interpolated lowpass signal y Subscript 1 upper L Baseline left-parenthesis n right-parenthesis from the delayed input signal x 1 left-parenthesis n minus upper D right-parenthesis. The Z‐transform of the highpass signal is given by

(6.238)StartLayout 1st Row 1st Column upper Y 1 left-parenthesis z right-parenthesis 2nd Column equals z Superscript negative upper D Baseline upper X 1 left-parenthesis z right-parenthesis minus upper Y Subscript 1 upper L Baseline left-parenthesis z right-parenthesis EndLayout

The lowpass and highpass signals are processed individually. The output signal ModifyingAbove x With caret Subscript 1 Baseline left-parenthesis n right-parenthesis is formed by adding the highpass signal to the upsampled and filtered lowpass signal. With (Eqs. 6.237) and (6.239), the Z‐transform of ModifyingAbove x With caret Subscript 1 Baseline left-parenthesis n right-parenthesis can be written as

Equation (6.240) shows the perfect reconstruction of the input signal which is delayed by upper D sampling units.

The extension to upper N sub‐bands and implementing the kernel filter using complementary techniques [Ram88, Ram90] leads to the multi‐complementary filter bank, as shown in Fig. 6.68 . Delays are integrated in the highpass (upper Y 1) and bandpass sub‐bands (upper Y 2 to upper Y Subscript upper N minus 2) to compensate for the group delay. The filter structure consists of upper N horizontal stages. The kernel filter is implemented as a complementary filter in upper S vertical stages. The design of the latter shall be discussed later. The vertical delays in the extended kernel filters (EKF Subscript 1 to EKF Subscript upper N minus 1) compensate group delays caused by forming the complementary component. At the end of each of these vertical stages is the kernel filter upper H Subscript upper K. With

(6.241)z Subscript k Baseline equals z Superscript 2 Super Superscript minus left-parenthesis k minus 1 right-parenthesis Superscript Baseline and k equals 1 comma midline-horizontal-ellipsis comma upper N comma

the signals ModifyingAbove upper X With caret Subscript k Baseline left-parenthesis z Subscript k Baseline right-parenthesis can be written as a function of the signals upper X Subscript k Baseline left-parenthesis z Subscript k Baseline right-parenthesis as

(6.242)ModifyingAbove bold upper X With bold Í, equals diag left-bracket z 1 Superscript minus upper D 1 Baseline z 2 Superscript minus upper D 2 Baseline midline-horizontal-ellipsis z Subscript upper N Superscript minus upper D Super Subscript upper N Superscript Baseline right-bracket bold upper X comma

with

StartLayout 1st Row 1st Column ModifyingAbove bold upper X With bold Í‚ 2nd Column equals 3rd Column left-bracket ModifyingAbove upper X With caret Subscript 1 Baseline left-parenthesis z 1 right-parenthesis 4th Column ModifyingAbove upper X With caret Subscript 2 Baseline left-parenthesis z 2 right-parenthesis 5th Column midline-horizontal-ellipsis 6th Column ModifyingAbove upper X With caret Subscript upper N Baseline left-parenthesis z Subscript upper N Baseline right-parenthesis right-bracket Superscript upper T Baseline comma 2nd Row 1st Column bold upper X 2nd Column equals 3rd Column left-bracket upper X 1 left-parenthesis z 1 right-parenthesis 4th Column upper X 2 left-parenthesis z 2 right-parenthesis 5th Column midline-horizontal-ellipsis 6th Column upper X Subscript upper N Baseline left-parenthesis z Subscript upper N Baseline right-parenthesis right-bracket Superscript upper T Baseline comma EndLayout

and with k equals upper N minus l, the delays are given by

(6.243)upper D Subscript k equals upper N Baseline equals 0 comma
(6.244)upper D Subscript k equals upper N minus l Baseline equals 2 upper D Subscript upper N minus l plus 1 Baseline plus upper D l equals 1 comma midline-horizontal-ellipsis comma upper N minus 1 period

Perfect reconstruction of the input signal can be achieved if the horizontal delays upper D Subscript upper H k are given by

StartLayout 1st Row 1st Column upper D Subscript upper H Sub Subscript k equals upper N 2nd Column equals 3rd Column 0 comma 2nd Row 1st Column upper D Subscript upper H Sub Subscript k equals upper N minus 1 2nd Column equals 3rd Column 0 comma 3rd Row 1st Column upper D Subscript upper H Sub Subscript k equals upper N minus l 2nd Column equals 3rd Column 2 upper D Subscript upper N minus l plus 1 Baseline l equals 2 comma midline-horizontal-ellipsis comma upper N minus 1 period EndLayout
Schematic illustration of multi-complementary filter bank.

Figure 6.68 Multi‐complementary filter bank.

The implementation of the extended vertical kernel filters is done by calculating complementary components, as shown in Fig. 6.69 . After upsampling, interpolating with a highpass (Fig. 6.69 b) and forming the complementary component, the kernel filter upper H Subscript upper K with frequency response as in Fig. 6.69 a becomes lowpass with frequency response as illustrated in Fig. 6.69 c. The slope of the filter characteristic remains constant whereas the cutoff frequency is doubled. A subsequent upsampling with an interpolation highpass (Fig. 6.69 d) and complement filtering leads to the frequency response in Fig. 6.69 e. With the help of this technique, the kernel filter is implemented at a reduced sampling rate. The cutoff frequency is moved to a desired cutoff frequency by using decimation/interpolation stages with complement filtering.

Schematic illustration of multirate complementary filter.

Figure 6.69 Multirate complementary filter.

Computational Complexity. For an upper N‐band multi‐complementary filter bank with upper N minus 1 decomposition filters, where each is implemented by a kernel filter with upper S stages, the horizontal complexity is given by

(6.245)HC equals HC Subscript 1 Baseline plus HC Subscript 2 Baseline left-parenthesis one half plus one fourth plus midline-horizontal-ellipsis plus StartFraction 1 Over 2 Superscript upper N Baseline EndFraction right-parenthesis period

Here HC Subscript 1 denotes the number of operations that are carried out at the input sampling rate. These operations occur in the horizontal stage HS Subscript 1 (see Fig. 6.68 ). Furthermore, HC Subscript 2 denotes the number of operations (horizontal stage HS Subscript 2) that are performed at half of the sampling rate. The number of operations in the stages from HS Subscript 2 to HS Subscript upper N are approximately identical but are calculated at sampling rates that are successively halved.

The complexities VC Subscript 1 to VC Subscript upper N minus 1 of the vertical kernel filters EKF Subscript 1 to EKF Subscript upper N minus 1 are calculated as

StartLayout 1st Row 1st Column VC Subscript 1 2nd Column equals 3rd Column one half normal upper V 1 plus normal upper V 2 left-parenthesis one fourth plus one eighth plus midline-horizontal-ellipsis plus StartFraction 1 Over 2 Superscript upper S plus 1 Baseline EndFraction right-parenthesis comma 2nd Row 1st Column VC Subscript 2 2nd Column equals 3rd Column one fourth normal upper V 1 plus normal upper V 2 left-parenthesis one eighth plus one sixteenth plus midline-horizontal-ellipsis plus StartFraction 1 Over 2 Superscript upper S plus 2 Baseline EndFraction right-parenthesis equals one half VC Subscript 1 Baseline comma 3rd Row 1st Column VC Subscript 3 2nd Column equals 3rd Column one eighth normal upper V 1 plus normal upper V 2 left-parenthesis one sixteenth plus one thirty-second plus midline-horizontal-ellipsis plus StartFraction 1 Over 2 Superscript upper S plus 3 Baseline EndFraction right-parenthesis equals one fourth VC Subscript 1 Baseline comma 4th Row 1st Column Blank 2nd Column Blank 3rd Column Blank 5th Row 1st Column VC Subscript upper N minus 1 2nd Column equals 3rd Column StartFraction 1 Over 2 Superscript upper N minus 1 Baseline EndFraction normal upper V 1 plus normal upper V 2 left-parenthesis StartFraction 1 Over 2 Superscript upper N Baseline EndFraction plus midline-horizontal-ellipsis plus StartFraction 1 Over 2 Superscript upper S plus upper N minus 1 Baseline EndFraction right-parenthesis equals StartFraction 1 Over 2 Superscript upper N minus 1 Baseline EndFraction VC Subscript 1 Baseline comma EndLayout

where normal upper V 1 depicts the complexity of the first stage VS Subscript 1 and normal upper V 2 is the complexity of the second stage VS Subscript 2 (see Fig. 6.68 ). It can be seen that the total vertical complexity is given by

(6.246)VC equals VC Subscript 1 Baseline left-parenthesis 1 plus one half plus one fourth plus midline-horizontal-ellipsis plus StartFraction 1 Over 2 Superscript upper N minus 1 Baseline EndFraction right-parenthesis period

The upper bound of the total complexity results is the sum of horizontal and vertical complexities and can be written as

(6.247)upper C Subscript t o t Baseline equals HC Subscript 1 Baseline plus HC Subscript 2 Baseline plus 2 VC Subscript 1 Baseline period

The total complexity upper C Subscript t o t is independent of the number of frequency bands upper N and vertical stages upper S. This means that for real‐time implementation with finite computation power, any desired number of sub‐bands with however narrow transition bands can be implemented.

6.4.2 Example: Eight‐band Multi‐complementary Filter Bank

To implement the frequency decomposition into the eight bands shown in Fig. 6.70 , the multirate filter structure of Fig. 6.71 is employed. The individual parts of the system provide means of downsampling (D=decimation), upsampling (I=interpolation), kernel filtering (K), signal processing (SP), delays (normal upper N 1=Delay 1, normal upper N 2=Delay 2), and group delay compensation normal upper M Subscript i in the ith band. The frequency decomposition is carried out successively from the highest to the lowest frequency band. In the two lowest frequency bands, a compensation for group delay is not required. The slope of the filter response can be adjusted with the kernel complementary filter structure shown in Fig. 6.72 which consists of one stage. The specifications of an 8‐band equalizer are listed in Table 6.11 . The stopband attenuation of the sub‐band filters is chosen to be 100 dB.

Schematic illustration of modified octave decomposition of the frequency band.

Figure 6.70 Modified octave decomposition of the frequency band.

Schematic illustration of linear phase 8-band equalizer.

Figure 6.71 Linear phase 8‐band equalizer.

Table 6.11 Transition frequencies f Subscript upper C i and transition bandwidths TB in an 8‐band equalizer.

f Subscript upper S Baseline left-bracket k upper H z right-bracketf Subscript upper C Baseline 1 Baseline left-bracket upper H z right-bracketf Subscript upper C Baseline 2 Baseline left-bracket upper H z right-bracketf Subscript upper C Baseline 3 Baseline left-bracket upper H z right-bracketf Subscript upper C Baseline 4 Baseline left-bracket upper H z right-bracketf Subscript upper C Baseline 5 Baseline left-bracket upper H z right-bracketf Subscript upper C Baseline 6 Baseline left-bracket upper H z right-bracketf Subscript upper C Baseline 7 Baseline left-bracket upper H z right-bracket
44.1735036751837.5918.75459.375almost-equals 230almost-equals 115
TB left-bracket upper H z right-bracket1280640320160804020

Filter Design

The design of different decimation and interpolation filters is mainly determined by the transition bandwidth and the stopband attenuation for the lower frequency band. As an example, a design is made for an 8‐band equalizer. The kernel complementary filter structure for both lower frequency bands is illustrated in Fig. 6.72 . The design specifications for the kernel lowpass, decimation, and interpolation filters are presented in Fig. 6.73 .

Schematic illustration of kernel complementary filter structure.

Figure 6.72 Kernel complementary filter structure.

Schematic illustration of decimation and interpolation filters.

Figure 6.73 Decimation and interpolation filters.

Kernel Filter Design. The transition bandwidth of the kernel filter is known if the transition bandwidth is given for the lower frequency band. This kernel filter must be designed for a sampling rate of f Subscript upper S Superscript double-prime Baseline equals 44100 slash left-parenthesis 2 Superscript 8 Baseline right-parenthesis. For a given transition bandwidth f Subscript upper T upper B at a frequency f Superscript double-prime Baseline equals f Subscript upper S Superscript double-prime Baseline slash 3, the normalized passband frequency is

(6.248)StartFraction normal upper Omega Subscript upper P b Superscript double-prime Baseline Over 2 pi EndFraction equals StartFraction f Superscript double-prime Baseline minus f Subscript upper T upper B Baseline slash 2 Over f Subscript upper S Superscript double-prime Baseline EndFraction

and the normalized stopband frequency

(6.249)StartFraction normal upper Omega Subscript upper S b Superscript Super Superscript double-prime Superscript Baseline Over 2 pi EndFraction equals StartFraction f Superscript Super Superscript double-prime Superscript Baseline plus f Subscript upper T upper B Baseline slash 2 Over f Subscript upper S Superscript Super Superscript double-prime Superscript Baseline EndFraction period

With the help of these parameters, the filter can be designed. Making use of the Parks–McClellan program, the frequency response shown in Fig. 6.74 is obtained for a transition bandwidth of f Subscript upper T upper B Baseline equals 20 Hz. The necessary filter length for a stopband attenuation of 100 dB is 53 taps.

Schematic illustration of kernel lowpass filter with a transition bandwidth of 20 Hz.

Figure 6.74 Kernel lowpass filter with a transition bandwidth of 20 Hz.

Decimation and Interpolation Highpass Filter. These filters are designed for a sampling rate of f Subscript upper S Superscript prime Baseline equals 44100 slash left-parenthesis 2 Superscript 7 Baseline right-parenthesis and are half‐band filters, as illustrated in Fig. 6.73 . First a lowpass filter is designed followed by a highpass to lowpass transformation. For a given transition bandwidth f Subscript upper T upper B, the normalized passband frequency is

(6.250)StartFraction normal upper Omega prime Subscript upper P b Baseline Over 2 pi EndFraction equals StartFraction f Superscript double-prime Baseline plus f Subscript upper T upper B Baseline slash 2 Over f prime Subscript upper S EndFraction

and the normalized stopband frequency is given by

(6.251)StartFraction normal upper Omega prime Subscript upper S b Baseline Over 2 pi EndFraction equals StartFraction 2 f Superscript Super Superscript double-prime Superscript Baseline minus f Subscript upper T upper B Baseline slash 2 Over f prime Subscript upper S EndFraction period

With these parameters, the design of a half‐band filter is carried out. Figure 6.75 shows the frequency response. The necessary filter length for a stopband attenuation of 100 dB is 55 taps.

Schematic illustration of decimation and interpolation highpass filter.

Figure 6.75 Decimation and interpolation highpass filter.

Decimation and Interpolation Lowpass Filter. These filters are designed for a sampling rate of f Subscript upper S Baseline equals 44100 slash left-parenthesis 2 Superscript 6 Baseline right-parenthesis and are also half‐band filters. For a given transition bandwidth f Subscript upper T upper B, the normalized passband frequency is

(6.252)StartFraction normal upper Omega Subscript upper P b Baseline Over 2 pi EndFraction equals StartFraction 2 f Superscript double-prime Baseline plus f Subscript upper T upper B Baseline slash 2 Over f Subscript upper S Baseline EndFraction

and the normalized stopband frequency is given by

(6.253)StartFraction normal upper Omega Subscript upper S b Baseline Over 2 pi EndFraction equals StartFraction 4 f Superscript Super Superscript double-prime Superscript Baseline minus f Subscript upper T upper B Baseline slash 2 Over f Subscript upper S Baseline EndFraction period

With these parameters, the design of a half‐band filter is carried out. Figure 6.76 shows the frequency response. The necessary filter length for a stopband attenuation of 100 dB is 43 taps. These filter designs are used in every decomposition stage so that the transition frequencies and bandwidths are obtained as listed in Table 6.11 .

Schematic illustration of decimation and interpolation lowpass filter.

Figure 6.76 Decimation and interpolation lowpass filter.

Memory Requirements and Latency Time. The memory requirements depend directly on the transition bandwidth and the stopband attenuation. Here, the memory operations for the actual kernel, decimation, and interpolation filters have to be differentiated from the group delay compensations in the frequency bands. The compensating group delay upper N 1 for decimation and interpolation highpass filters of order upper O Subscript DHP slash IHP is calculated with the help of the kernel filter order upper O Subscript KF according to

(6.254)upper N 1 equals upper O Subscript KF Baseline plus upper O Subscript DHP slash IHP Baseline period

The group delay compensation upper N 2 for the decimation and interpolation lowpass filters of order upper O Subscript DLP slash ILP is given by

(6.255)upper N 2 equals 2 upper N 1 plus upper O Subscript DLP slash ILP Baseline period

The delays upper M 3 ellipsis upper M 8 in the individual frequency bands are calculated recursively starting from the two lowest frequency bands:

StartLayout 1st Row 1st Column upper M 3 2nd Column equals 3rd Column 2 upper N 2 semicolon 2nd Row 1st Column upper M 4 2nd Column equals 3rd Column 6 upper N 2 semicolon 3rd Row 1st Column upper M 5 2nd Column equals 3rd Column 14 upper N 2 semicolon 4th Row 1st Column upper M 6 2nd Column equals 3rd Column 30 upper N 2 semicolon 5th Row 1st Column upper M 7 2nd Column equals 3rd Column 62 upper N 2 semicolon 6th Row 1st Column upper M 8 2nd Column equals 3rd Column 126 upper N 2 period EndLayout

The memory requirements per decomposition stage are listed in Table 6.12 . The memory for the delays can be computed by sigma-summation Underscript i Endscripts upper M Subscript i Baseline equals 240 upper N 2. The latency time (delay) is given by t Subscript upper D Baseline equals StartFraction upper M 8 Over 44100 EndFraction 1 0 cubed ms (t Subscript upper D Baseline equals 725 ms).

Table 6.12 Memory requirements.

Kernel filterupper O Subscript KF
DHP/IHP2 dot upper O Subscript DHP slash IHP
DLP/ILP3 dot upper O Subscript DLP slash ILP
upper N 1upper O Subscript KF Baseline plus upper O Subscript DHP slash IHP
upper N 22 dot upper N 1 plus upper O Subscript DLP slash ILP

6.5 Delay‐based Audio Effects

So far, we have discussed linear time‐invariant filtering using FIR and IIR systems with fixed coefficients over time. We will now introduce a time‐varying system which consists of a delay line where the length of that delay line is varied by a control signal m left-parenthesis n right-parenthesis equals upper M left-parenthesis n right-parenthesis plus frac left-parenthesis n right-parenthesis, which is shown in the block diagram of Fig. 6.77 . Such a delay line modification [Dis99] performs a time‐varying delay of the input given by the relations:

The time‐varying delay of Eq. (6.256) leads to a phase modulation of the input x left-parenthesis n right-parenthesis, as shown by the Fourier transform given in Eq. (6.257). This delay line modulation can be achieved by linear interpolation between consecutive samples as shown by Eq. (6.258) performing fractional sample computation of the output y left-parenthesis n right-parenthesis. Amplitude and phase modulation are used in the following four audio effects.

Schematic illustration of phase modulation with delay line.

Figure 6.77 Phase modulation with delay line.

Schematic illustration of tremolo, vibrato, and chorus effect.

Figure 6.78 Tremolo, vibrato, and chorus effect.

  • Tremolo is the rapid repetition of one note in music terminology or a rapid alternation between two or more notes (string instruments, mandolin, flute, piano, harpsichord, spinet, guitar). Tremolo is a rapid repetitive increase and decrease in volume. The effect is based on modifying the time‐domain envelope (amplitude) of a signal, as shown in the left part of Fig. 6.78 .
  • Vibrato is the rapid and repetitive variation in pitch for the duration of a note (string instruments, guitar, singing voice, yodeling). As shown above, the effect is based on modifying the pitch of a signal by delay line modulation (phase modulation) shown in the middle part of Fig. 6.78 .
  • Chorus simulates the result of an ensemble of musicians (singers, violins) playing together with slight pitch and amplitude differences. The chorus effect performs a loudness increase. These amplitude and pitch differences are simulated by amplitude modulation and delay line modulation (phase modulation) and all signals are summed together to form the output signal shown in the right part of Fig. 6.78 .
  • A Flanger simulates a special filter effect which occurs if a slowly time‐varying single reflection is added to the direct signal (jet airplane effect). This effect can be achieved by playing two copies of a single signal from two tape machines while slowing down the replay speed of one tape machine by placing a finger to the flange of one tape reel.

6.6 JS Applet – Audio Filters

The applet shown in Fig. 6.79 demonstrates audio filters. It is designed for a first insight into the perceptual effect of filtering an audio signal. In addition to the different filter types and their acoustical effect, the applet offers a first insight into the logarithmic behavior of loudness and frequency resolution of our human acoustical perception.

The following filter functions can be selected on the lower right of the graphical user interface:

  • Lowpass/highpass filter (LP/HP) with control parameter
    1. – cutoff frequency f Subscript c in Hertz (lower horizontal slider),
    2. – all frequencies above (LP) or below (HP the cutoff frequency are attenuated according to the shown frequency response);
  • Low‐/high‐frequency shelving filter (LFS/HFS) with control parameters
    1. – cutoff frequency f Subscript c in Hertz (lower horizontal slider),
    2. – boost/cut in dB (left vertical slider with + for boost or ‐ for cut),
    3. – all frequencies below (LFS) or above (HFS) the cutoff frequency are boosted/cut according to the selected boost/cut;
  • Peak filter with control parameters
    1. – center frequency f Subscript c in Hertz (lower horizontal slider),
    2. – boost/cut in dB (left vertical slider with + for boost or ‐ for cut),
    3. upper Q‐factor upper Q equals StartFraction f Subscript c Baseline Over f Subscript b Baseline EndFraction (right vertical slider), which controls the bandwidth f Subscript b of the boost/cut around the adjusted center frequency f Subscript c. Lower upper Q‐factor means wider bandwidth,
    4. – the peak filter boosts/cuts the center frequency with a bandwidth adjusted by the upper Q‐factor.

The center window shows the frequency response (filter gain versus frequency) of the selected filter functions. You can choose between a linear and a logarithmic frequency axis.

You can choose between two predefined audio files from our web server (audio1.wav or audio2.wav) or your own local WAV file to be processed [Gui05].

Schematic illustration of JS applet - audio filters.

Figure 6.79 JS applet – audio filters.

6.7 Exercises

1. Design of Recursive Audio Filters

  1. How can we design a low‐frequency shelving filter? Which parameters define the filter? Explain the control parameters.
  2. How can we derive a high‐frequency shelving filter? Which parameters define the filter?
  3. What is the difference between first‐ and second‐order shelving filters?
  4. How can we design a peak filter? Which parameters define the filter? What is the filter order? Describe the control parameters. Describe the upper Q‐factor.
  5. How do we derive the digital transfer function?
  6. Derive the digital transfer functions for the first‐order shelving filters.

2. Parametric Audio Filters

  1. What is the basic idea for parametric filters?
  2. What is the difference between the Regalia and the Zölzer filter structures? Count the number of multiplications and additions for both filter structures.
  3. Derive a signal flow graph for first‐ and second‐order parametric Zölzer filters with a direct‐form implementation of the allpass filters.
  4. Is there a complete decoupling of all control parameters for boost and cut? Which parameters are decoupled?

3. Shelving Filter: Direct Form

Derive a first‐order low‐shelving filter from a purely band‐limiting first‐order lowpass filter. Use bilinear transform and give the transfer function of the low‐shelving filter.

  1. State the filter coefficients and calculate the poles/zeros as functions of upper V 0 and upper T. Which gain factor do you have if z equals plus-or-minus 1?
  2. What is the difference between purely band‐limiting filters and shelving filter?
  3. How can you describe the boost and cut effect related to poles/zeros of the filter?
  4. How do we get a transfer function for the boost case from the cut case?
  5. How do we go from a low‐shelving filter to a high‐shelving filter?

4. Shelving Filter: Allpass Form

Implement a first‐order high‐shelving filter for the boost and cut case with the sampling rate f Subscript upper S Baseline equals 44.1 kHz, the cutoff frequency f Subscript c Baseline equals 10 kHz, and the gain upper G equals 12 dB.

  1. Define the allpass parameters and coefficients for the boost and cut case.
  2. Derive from the allpass decomposition the complete transfer function of the shelving filter.
  3. Using Matlab, give the magnitude frequency response for boost and cut. Show the result for the case where the boost and cut filters are in a series connection.
  4. If the input signal to the system is a unit impulse, give the spectrum of the input and output signal for the boost and cut case. What will you expect as result in this case when boost and cut are again cascaded?

5. Quantization of Filter Coefficients

For the quantization of the filter coefficients, different methods have been proposed: direct form, Gold and Rader, Kingsbury, and Zölzer.

  1. What is the motivation behind this?
  2. Plot a pole distribution using the quantized polar representation of a second‐order IIR filter
    upper H left-parenthesis z right-parenthesis equals StartFraction upper N left-parenthesis z right-parenthesis Over 1 minus 2 r cosine phi z Superscript negative 1 Baseline plus r squared z Superscript negative 2 Baseline EndFraction period

6. Signal Quantization Inside the Audio Filter

Now we combine coefficient and signal quantization.

  1. Design a digital highpass filter (second‐order IIR), with a cutoff frequency f Subscript c Baseline equals 50 Hz.

    (Use the Butterworth, Chebyshev, or elliptic design methods implemented in Matlab.)

  2. Quantize the signal only when it leaves the accumulator (i.e. before it is saved in any state variable).
  3. Now quantize the coefficients (direct form) too.
  4. Extend your quantization to every arithmetic operation (i.e. after each addition/multiplication).

7. Quantization Effects in Recursive Audio Filters

  1. Why is the quantization of signals inside a recursive filter of special interest?
  2. Derive the noise transfer function of the second‐order direct‐form filter. Apply a first‐ and second‐order noise shaping to the quantizer inside the direct‐form structure and discuss the influence. What is the difference between second‐order noise shaping and double precision arithmetic?
  3. Write a Matlab implementation of a second‐order filter structure for quantization and noise shaping.

8. Fast Convolution

For an input sequence x left-parenthesis n right-parenthesis of length upper N 1 equals 500 and the impulse response h left-parenthesis n right-parenthesis of length upper N 2 equals 31, perform the discrete time convolution.

  1. Give the discrete time convolution sum formula.
  2. Define with Matlab x left-parenthesis n right-parenthesis as the sum of two sinusoids and derive h left-parenthesis n right-parenthesis with Matlab function f i r p m left-parenthesis period period right-parenthesis.
  3. Realize the filter operation with Matlab using:
    • the function c o n v left-parenthesis x comma h right-parenthesis;
    • the sample by the sample convolution sum method;
    • the FFT method;
    • the FFT with the overlap and add method.
  4. Describe FIR filtering with the fast convolution technique. Which conditions have to be fulfilled for the input signal and the impulse response if convolution is performed by equivalent frequency‐domain processing?
  5. What happens if the input signal and impulse response are as long as the FFT transform length?
  6. How can we perform IFFT with the FFT algorithm?
  7. Explain the processing steps:
    • for a segmentation of the input signal into blocks and fast convolution;
    • for a stereo signal by the fast convolution technique;
    • for the segmentation of the impulse response.
  8. What is the processing delay of the fast convolution technique?
  9. Write a Matlab program for fast convolution.
  10. How does quantization of the signal influence the roundoff noise behavior of an FIR filter?

9. FIR Filter Design by Frequency Sampling

  1. Why is frequency sampling an important design method for audio equalizers? How do we sample magnitude and phase response?
  2. What is a linear phase frequency response of a system? What is the effect on an input signal passing through such a system?
  3. Explain the derivation of the magnitude and phase response for a linear phase FIR filter.
  4. What is the condition for a real‐valued impulse response of even length upper N? What is the group delay?
  5. Write a Matlab program for the design of an FIR filter and verify the example in the chapter.
  6. Now the desired frequency response is an ideal lowpass filter of length upper N Subscript upper F Baseline equals 31 with cutoff frequency normal upper Omega Subscript c Baseline equals pi slash 2, derive the impulse response of this system. What will be the result for upper N Subscript upper F Baseline equals 32 and normal upper Omega Subscript c Baseline equals pi?

10. Multi‐complementary Filter Bank

  1. What is octave‐spaced frequency splitting and how can we design a filter bank for that task?
  2. How can we perform aliasing‐free sub‐band processing? How can we achieve narrow transition bands for a filter bank? What is the computational complexity of an octave‐spaced filter bank?

References

  1. [Abu79] A.I. Abu‐El‐Haija, A.M. Peterson: An Approach to Eliminate Roundoff Errors in Digital Filters, IEEE Trans. ASSP, pp. 195–198, April 1979.
  2. [Ave71] E. Avenhaus: Zum Entwurf digitaler Filter mit minimaler Speicherwortlänge für Koeffizienten und Zustandsgrössen, Ausgewählte Arbeiten über Nachrichtensysteme, Nr. 13, herausgegeben von Prof. Dr.‐Ing. W. Schüssler, Erlangen 1971.
  3. [Bar82] C.W. Barnes: Error Feedback in Normal Realizations of Recursive Digital Filters, IEEE Trans. Circuits and Systems, pp. 72–75, Jan. 1982.
  4. [Bom85] B.W. Bomar: New Second‐Order State‐Space Structures for Realizing Low Roundoff Noise Digital Filters, IEEE Trans. ASSP, pp. 106–110, Feb. 1985.
  5. [Bri94] R. Bristow‐Johnson: The Equivalence of Various Methods of Computing Biquad Coefficients for Audio Parametric Equalizers, Proc. 97th AES Convention, Preprint No. 3906, November 1994.
  6. [Cad87] J.A. Cadzow: Foundations of Digital Signal Processing and Data Analysis, New York: Macmillan Publishing Company, 1987.
  7. [Cha78] T.L. Chang: A Low Roundoff Noise Digital Filter Structure, Proc. Int. Symp. on Circuits and Systems, pp. 1004–1008, May 1978.
  8. [Cla00] R.J. Clark, E.C. Ifeachor, G.M. Rogers, and P.W.J. Van Eetvelt: Techniques for Generating Digital Equalizer Coefficients, J. Audio Eng. Soc., Vol. 48, pp. 281–298, April 2000.
  9. [Cre03] L. Cremer, M. Möser: Technische Akustik, Springer‐Verlag, Berlin, 2003.
  10. [Dat97] J. Dattorro: Effect design ‐ Part 1: Reverberator and other Filters, J. Audio Eng. Soc., 45(19):660–684, September 1997.
  11. [Din95] Yinong Ding, D. Rossum: Filter Morphing of Parametric Equalizers and Shelving Filters for Audio Signal Processing, J. Audio Eng. Soc., Vol. 43, No.10, pp. 821–826, October 1995.
  12. [Dis99] S. Disch, U. Zölzer: Modulation and delay line based digital audio effects, In Proceedings of the COST G‐6 Conference on Digital Audio Effects (DAFX–99), Trondheim, Norway, December 9–11, 1999.
  13. [Duh88] P. Duhamel, B. Piron, J. Etcheto: On Computing the Inverse DFT, IEEE Trans. Acoust., Speech, Signal Processing, Vol. 36, No. 2, pp. 285–286, February 1988.
  14. [Ege96] G. P. M. Egelmeers and P. C. W. Sommen: A new method for efficient convolution in frequency domain by nonuniform partitioning for adaptive filtering, IEEE Trans. Signal Processing, Vol.  44, pp. 3123–3192, Dec. 1996.
  15. [Ell82] D.F. Elliott, K.R. Rao: Fast Transforms: Algorithms, Analyses, Applications, New York: Academic Press, 1982.
  16. [Fet72] A. Fettweis: On the Connection Between Multiplier Wordlength Limitation and Roundoff Noise in Digital Filters, IEEE Trans. Circuit Theory, pp. 486–491, Sept. 1972.
  17. [Fli92] N.J. Fliege, U. Zölzer: Multi‐Complementary Filter Bank: A New Concept with Aliasing‐Free Subband Signal Processing and Perfect Reconstruction, Proc. EUSIPCO‐92, Br″ussel, pp. 207–210, August 1992.
  18. [Fli93] N.J. Fliege, U. Zölzer: Multi‐Complementary Filter Bank, Proc. ICASSP‐93, Minneapolis, pp. 193–196, April 1993.
  19. [Fli00] N. Fliege: Multirate Digital Signal Processing, J. Wiley & Sons, Chichester, 2000.
  20. [Fon01] F. Fontana, M. Karjalainen: Magnitude‐complementary Filters for Dynamic Equalization, In Proc. of the DAFX‐01, Limerick, Ireland, pp. 97–101, Dec. 2001.
  21. [Fon03] F. Fontana, M. Karjalainen: A Digital Bandpass/Bandstop Complementary Equalization Filter with Independent Tuning Characteristics, IEEE Signal Processing Letters, vol. 10, n. 4, pp.119–122, Apr. 2003.
  22. [Gar95] W. G. Gardner: Efficient Convolution Without Input‐output Delay, J. Audio Eng. Soc., 43(3), pp. 127–136,1995.
  23. [Garc02] G. Garcia: Optimal Filter Partition for Efficient Convolution with Short Input/Output Delay, Proc. 113th AES Convention, Los Angeles, Preprint No. 5660, October 2002.
  24. [Gol67] B. Gold, C.M. Rader: Effects of Parameter Quantization on the Poles of a Digital Filter, Proc. IEEE, pp. 688–689, May 1967.
  25. [Gui05] M. Guillemard, C. Ruwwe, U. Zölzer: J‐DAFx ‐ Digital Audio Effects in Java, Proc. 8th Int. Conference on Digital Audio Effects (DAFx‐05), Madrid, Spain, pp.161–166, 2005.
  26. [Har93] F.J. Harris, E. Brooking: A Versatile Parametric Filter Using an Imbedded All‐Pass Sub‐Filter to Independently Adjust Bandwidth, Center Frequency and Boost or Cut, Proc. 95th AES Convention, San Francisco, Preprint No. 3757, 1993.
  27. [Här98] A. Härmä: Implementation of Recursive Filters Having Delay Free Loops, Proc. IEEE Int. Conf. Acoustics, Speech, and Signal Processing (ICASSP'98), Vol. 3, pp. 1261–1264, Seattle, Washington, 1998.
  28. [Hol06a] M. Holters, U. Zölzer: Parametric Recursive Higher‐Order Shelving Filters, Jahrestagung Akustik DAGA, 20.‐23. März 2006, Braunschweig, 2006.
  29. [Hol06b] M. Holters, U. Zölzer: Parametric recursive higher‐order shelving filters, Proc. 120th Conv. Audio Eng. Soc., Preprint No. 6722, Paris, 2006.
  30. [Hol06c] M. Holters, U. Zölzer: Parametric Higher‐Order Shelving Filters, Proc. EUSIPCO‐06, Florence, 2006.
  31. [Hol06d] M. Holters, U. Zölzer: Graphic Equalizer Design Using Higher‐Order Recursive Filters, Proc. of the 9th Int. Conference on Digital Audio Effects (DAFx‐06), Montreal, Canada, September 18‐20, pp. 37–40, 2006.
  32. [Jur64] E.I. Jury: Theory and Application of the z‐Transform Method, Wiley, 1964.
  33. [Kei04] F. Keiler, U. Zölzer, Parametric Second‐ and Fourth‐Order Shelving Filters for Audio Applications, Proc. of IEEE 6th International Workshop on Multimedia Signal Processing, Siena, Italy, September 29 ‐ October 1, 2004.
  34. [Kin72] N.G. Kingsbury: Second‐Order Recursive Digital Filter Element for Poles Near the Unit Circle and the Real z‐Axis, Electronic Letters, pp. 155–156, March 1972.
  35. [Moo83] J.A. Moorer: The Manifold Joys of Conformal Mapping, J. Audio Eng. Soc., Vol. 31, pp. 826–841, 1983.
  36. [Mou90] J.N. Mourjopoulos, E.D. Kyriakis‐Bitzaros, C.E. Goutis: Theory and Real‐time Implementation of Time‐varying Digital Audio Filters, J. Audio Eng. Soc., Vol. 38, pp. 523–536, July/August 1990.
  37. [Mul76] C.T. Mullis, R.A. Roberts: Synthesis of Minimum Roundoff Noise Fixed Point Digital Filters, IEEE Trans. Circuits and Systems, pp. 551–562, Sept. 1976.
  38. [Mül99] C. Müller‐Tomfelde: Low Latency Convolution for Real‐time Application, In Proceedings of the AES 16th International Conference: Spatial Sound Reproduction, Rovaniemi, Finland, April 10‐12, pp. 454–460, 1999.
  39. [Mül01] C. Müller‐Tomfelde: Time‐Varying Filter in Non‐Uniform Block Convolution, In Proceedings of the COST G‐6 Conference on Digital Audio Effects (DAFX‐01), Limerick, Ireland, December 6–8, 2001.
  40. [Orf96a] S.J. Orfanidis: Introduction to Signal Processing. Prentice‐Hall, 1996.
  41. [Orf96b] S.J. Orfanidis: Digital Parametric Equalizer Design with Prescribed Nyquist‐Frequency Gain, Proc. 101st Convention Audio Engineering Society, Preprint No. 4361, November 1996.
  42. [Orf05] S.J. Orfanidis: High‐order digital parametric equalizer design, J. Audio Eng. Soc., Vol.  53, No. 11, pp. 1026–1046, 2005.
  43. [Rab88] R. Rabenstein: Minimization of Transient Signals in Recursive Time‐varying Digital Filters, Circuits, Systems, and Signal Processing, Vol.  7, No. 3, pp. 345–359, 1988.
  44. [Ram88] T.A. Ramstad, T. Saramäki: Efficient Multirate Realization for Narrow Transition‐Band FIR Filters, Proc. IEEE Int. Symp. on Circuits and Syst. (Espoo, Finland), pp. 2019–2022, June 1988.
  45. [Ram90] T.A. Ramstad, T. Saramäki: Multistage, Multirate FIR Filter Structures for Narrow Transition‐Band Filters, Proc. IEEE Int. Symp. on Circuits and Syst. (New Orleans, USA), pp. 2017–2021, May 1990.
  46. [Reg87] P.A. Regalia, S.K. Mitra: Tunable Digital Frequency Response Equalization Filters, IEEE Transactions on Acoustics, Speech, and Signal Processing, Vol.  35, No. 1, pp. 118–120, January 1987.
  47. [Sha92] D.J. Shpak: Analytical Design of Biquadradic Filter Sections for Parametric Filters, J. Audio Eng. Soc., Vol. 40, pp. 876–885, November 1992.
  48. [Soo90] J.S. Soo, K.K. Pang: Multidelay Block Frequency Domain Adaptive Filter, IIEEE Transactions on Acoustics, Speech, and Signal Processing, Vol.  38, No. 2, pp. 373–376, Feb. 1990.
  49. [Sor87] H.V. Sorensen, D.J. Jones, M.T. Heideman, C.S. Burrus: Real‐Valued Fast Fourier Transform Algorithms, IEEE Trans. Acoust., Speech, Signal Processing, Vol. 35, No. 6, pp. 849–863, June 1987.
  50. [Sri77] A.B. Sripad, D.L. Snyder: A Necessary and Sufficient Condition for Quantization Errors to be Uniform and White, IEEE Trans. ASSP, Vol. 25, pp. 442–448, Oct. 1977.
  51. [Tra77]Tran‐Thong, B. Liu: Error Spectrum Shaping in Narrow Band Recursive Filters, IEEE Trans. ASSP, pp. 200–203, April 1977.
  52. [Vai93] P.P. Vaidyanathan: Multirate Systems and Filter Banks, Prentice‐Hall, Englewood Cliffs, 1993.
  53. [Väl98] V. Välimäki, T.I. Laakso: Suppression of Transients in Time‐varying Recursive Filters for Audio Signals, Proc. IEEE Int. Conf. Acoustics, Speech, and Signal Processing (ICASSP'98), Vol. 6, pp. 3569–3572, Seattle, Washington, 1998.
  54. [Väl16] V. Välimäki and J.D. Reiss: All about audio equalization: Solutions and frontiers. Applied Sciences, 6(5), 2016.
  55. [Whi86] S.A. White: Design of a Digital Biquadratic Peaking or Notch Filter for Digital Audio Equalization, J. Audio Eng. Soc., Vol. 34, pp. 479–483, 1986.
  56. [Zöl89] U. Zölzer: Entwurf digitaler Filter für die Anwendung im Tonstudiobereich, Wissenschaftliche Beiträge zur Nachrichtentechnik und Signalverarbeitung, TU Hamburg‐Harburg, Juni 1989.
  57. [Zöl90] U. Zölzer: A Low Roundoff Noise Digital Audio Filter, Proc. EUSIPCO‐90, Barcelona, pp. 529–532, 1990.
  58. [Zöl92] U. Zölzer, N. Fliege: Logarithmic Spaced Analysis Filter Bank for Multiple Loudspeaker Channels, Proc. 93rd AES Convention, Preprint No. 3453, San Francisco 1992.
  59. [Zöl93] U. Zölzer, B. Redmer, J. Bucholtz: Strategies for Switching Digital Audio Filters, Proc. 95th AES Convention, New York, Preprint No. 3714, October 1993.
  60. [Zöl94] U. Zölzer: Roundoff Error Analysis of Digital Filters, J. Audio Eng. Soc., Vol. 42, No. 4, pp. 232–244, April 1994.
  61. [Zöl95] U. Zölzer, T. Boltze: Parametric Digital Filter Structures, Proc. 99th AES Convention, New York, Preprint No. 4099, October 1995.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset