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

Biquad Filter Programming Example on the TAC5x1x

Coefficients of Digital Biquad Filters can be implemented by running a command script to send an I2C command to the EVM. The following script segment shows how to program the coefficients for a set of filters for 5dB boost at 500Hz with bandwidth of 400Hz, cut –5dB at 4kHz with 5kHz bandwidth, and a notch filter at 60Hz with 50Hz bandwidth on channel 1 of the recording path, with the frequency response being as shown in Figure 3-3. Here, the filter coefficients are programmed as follows:

  • Filter 1: N0 = 0x7FFFFFFF, N1 = 0x85F4B2CB, N2 = 0x749CADCB, D1 = 0x7C77A718, D2 = 0x8687F4EE
  • Filter 2: N0 = 0x6B645FE5, N1 = 0xB9ED52C9, N2 = 0x366F3978, D1 = 0x4612AD37, D2 = 0xDE2C66A1
  • Filter 3: N0 = 0x7F951DC9, N1 = 0x806BE418, N2 = 0x7F951DC9, D1 = 0x7F941BE8, D2 = 0x80D5C46D
#Select Page 8
w a0 00 08
#Program coefficients N0, N1, N2, D1, D2 of biquad filter 1
w a0 08 7f ff ff ff 85 f4 b2 cb 74 9c ad cb 7c 77 a7 18 86 87 f4 ee 
#Program coefficients N0, N1, N2, D1, D2 of biquad filter 5
w a0 58 6b 64 5f e5 b9 ed 52 c9 36 6f 39 78 46 12 ad 37 de 2c 66 a1 
#Select Page 9
w a0 00 09
#Program coefficients N0, N1, N2, D1, D2 of biquad filter 9
w a0 30 7f 95 1d c9 80 6b e4 18 7f 95 1d c9 7f 94 1b e8 80 d5 c4 6d 

Similarly, following script segment shows how to program the coefficients for a set of filters including a Low Pass Butterworth at 8kHz, a notch filter at 60Hz with 50Hz bandwidth, and an equalizer that boosts 6dB at 4kHz with a bandwidth of 2kHz on channel 1 of the playback path, with the frequency response being as shown in Figure 3-5. Here, the filter coefficients are programmed as follows:

  • Filter 1: N0 = 0x13D8B646, N1 = 0x13D8B646, N2 = 0x13D8B646, D1 = 0x27B16C8C, D2 = 0xE13A4DCD
  • Filter 2: N0 = 0x7F951DC9, N1 = 0x806BE418, N2 = 0x7F951DC9, D1 = 0x7F941BE8, D2 = 0x80D5C46D
  • Filter 3: N0 = 0x7FFFFFFF, N1 = 0xA81AE64B, N2 = 0x4AFC10C8, D1 = 0x62053997, D2 = 0x9DA1ADE4
#Select Page 15
w a0 00 0f
#Program coefficients N0, N1, N2, D1, D2 of biquad filter 1
w a0 08 13 d8 b6 46 13 d8 b6 46 13 d8 b6 46 27 b1 6c 8c e1 3a 4d cd 
#Program coefficients N0, N1, N2, D1, D2 of biquad filter 5
w a0 58 7f 95 1d c9 80 6b e4 18 7f 95 1d c9 7f 94 1b e8 80 d5 c4 6d 
#Select Page 16
w a0 00 10
#Program coefficients N0, N1, N2, D1, D2 of biquad filter 9
w a0 30 7f ff ff ff a8 1a e6 4b 4a fc 10 c8 62 05 39 97 9d a1 ad e4 

 Expected DAC Biquad Filter Response Using the Script

Figure 3-5 Expected DAC Biquad Filter Response Using the Script