SLAAEH6 September   2024 TAA5212 , TAA5412-Q1 , TAC5111 , TAC5111-Q1 , TAC5112 , TAC5211 , TAC5212 , TAC5212-Q1 , TAC5311-Q1 , TAC5312-Q1 , TAC5411-Q1 , TAC5412-Q1 , TAD5112 , TAD5112-Q1 , TAD5212 , TAD5212-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2Infinite Impulse Response Filters
    1. 2.1 Digital Biquad Filter
  6. 3TAC5x1x and TAC5x1x-Q1 Digital Biquad Filters
    1. 3.1 Filter Design using PurePath™ Console
      1. 3.1.1 Example of Programming Biquad Filters Using PurePath™ Console
    2. 3.2 Generating Coefficients N0, N1, N2, D1, D2 using a Digital Filter Design Package
    3. 3.3 Avoiding Overflow Conditions
    4. 3.4 Biquad Filter Allocation on Recording Channel
    5. 3.5 Biquad Filter Allocation on Playback Channel
    6. 3.6 Biquad Filter Programming Example on the TAC5x1x
  7. 4Typical Audio Applications of Biquad Filters
    1. 4.1 Parametric Equalizers
    2. 4.2 Crossover Networks
    3. 4.3 Voice Boost
    4. 4.4 Bass Boost
    5. 4.5 Removing 50Hz–60Hz Hum With Notch Filters
  8. 5Summary
  9. 6References

TAC5x1x and TAC5x1x-Q1 Digital Biquad Filters

The TAC5x1x and TAC5x1x-Q1 devices support up to three programmable digital biquad filters in the signal chain of each recording and playback channel, shown in Figure 1-1 and Figure 1-2 respectively. By default, each biquad filter acts as an all-pass filter, with a flat gain of 0dB across frequency. By changing the programmable coefficients of these biquad filters, the frequency response can be changed.

Equation 3 shows the quantized 32-bit transfer function of each biquad filter. The coefficients of the filter [N0,N1,N2,D1 and D2] are programmable 32-bit twos-complement values, each occupying four consecutive registers in the register space of the device. With the Q-point located in the 31st bit location (Q31), the filter coefficients are in 1.31 format with a range from –1 (0x80000000) to 0.9999999995 (0x7FFFFFFF). In this notation, the decimal point is assumed to be between bit 30 and bit 31. Bit 31 contains the sign bit, while bits 30-0 contain the fractional bits as shown in Figure 3-1. With this notation, all coefficients are normalized to less than 1. To convert a floating point number less than one to Q31 format, multiply the floating point number by 231 and truncate to the nearest integer. With this notation, the number 1, corresponding to a0 in the denominator, becomes 231 (0x7FFFFFF). Note that the coefficients N1 and D1 are multiplied by two. Thus, when using a digital filter design package to calculate these coefficients, divide by 2 the N1 and D1 before writing these coefficient registers. Also, note that coefficients D1 and D2 have a negative sign. So, multiply by –1 before writing D1 and D2 to the coefficient registers when using a digital filter design package.

Equation 3. H z = N 0 + 2 N 1 z - 1 + N 2 z - 2 2 31 - 2 D 1 z - 1 + D 2 z - 2

 Q-31 Format Representation

Figure 3-1 Q-31 Format Representation