SBAA378B November   2019  â€“ December 2023 PCM3140-Q1 , PCM5140-Q1 , PCM6140-Q1 , TLV320ADC3140 , TLV320ADC5140 , TLV320ADC6140

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. Introduction
  5. Infinite Impulse Response Filters
    1. 2.1 Digital Biquad Filter
  6. TLV320ADCx140/PCMx140-Q1 Digital Biquad Filters
    1. 3.1 Filter Design Using PurePathâ„¢ Console
      1. 3.1.1 Example Generating Programmable Biquad Coefficients Using PurePath Console
    2. 3.2 How to Generate N0, N1, N2, D1, and D2 Coefficients with a Digital Filter Design Package
    3. 3.3 Avoid Overflow Conditions
    4. 3.4 Digital Biquad FiIter Allocation to Output Channel
    5. 3.5 Programmable Coefficient Registers for Digital Biquad Filters 1–6
    6. 3.6 Programmable Coefficient Registers for Digital Biquad Filters 7–12
  7. How to Program the Digital Biquad Filters on TLV320ADCx140/PCMx140-Q1
  8. Typical Audio Applications for Biquad Filtering
    1. 5.1 Parametric Equalizers
  9. Crossover Networks
  10. Voice Boost
  11. Bass Boost
  12. Removing 50 Hz–60 Hz Hum With Notch Filters
  13. 10Revision History
  14. 11Digital Filter Design Techniques
    1. 11.1 Analog Filters

Programmable Coefficient Registers for Digital Biquad Filters 1–6

Table 3-7 shows the programmable coefficient registers for the biquad filters 1 through 6 in Page 2 of the TLV320ADCx140/PCMx140-Q1 registers.

Table 3-7 Page 0x02 Programmable Coefficient Registers for Biquad Filters 1–6
Page 0x2 Address Register Reset Value Biquad Filter Coefficient Description
0x00 PAGE[7:0] 0x00 Device Page Register
0x08 BQ1_N0_BYT1[7:0] 0x7F Programmable Biquad 1 N0 Biquad 1, N0 coefficient byte[31:24]
0x09 BQ1_N0_BYT2[7:0] 0xFF biquad 1, N0 coefficient byte[23:16]
0x0A BQ1_N0_BYT3[7:0] 0xFF biquad 1, N0 coefficient byte[15:8]
0x0B BQ1_N0_BYT4[7:0] 0xFF biquad 1, N0 coefficient byte[7:0]
0x0C BQ1_N1_BYT1[7:0] 0x00 N1 biquad 1, N1 coefficient byte[31:24]
0x0D BQ1_N1_BYT2[7:0] 0x00 Biquad 1, N1 coefficient byte[23:16]
0x0E BQ1_N1_BYT3[7:0] 0x00 Biquad 1, N1 coefficient byte[15:8]
0x0F BQ1_N1_BYT4[7:0] 0x00 Biquad 1, N1 coefficient byte[7:0]
0x10 BQ1_N2_BYT1[7:0] 0x00 N2 Biquad 1, N2 coefficient byte[31:24]
0x11 BQ1_N2_BYT2[7:0] 0x00 Biquad 1, N2 coefficient byte[23:16]
0x12 BQ1_N2_BYT3[7:0] 0x00 Biquad 1, N2 coefficient byte[15:8]
0x13 BQ1_N2_BYT4[7:0] 0x00 Biquad 1, N2 coefficient byte[7:0]
0x14 BQ1_D1_BYT1[7:0] 0x00 D1 Biquad 1, D1 coefficient byte[31:24]
0x15 BQ1_D1_BYT2[7:0] 0x00 Biquad 1, D1 coefficient byte[23:16]
0x16 BQ1_D1_BYT3[7:0] 0x00 Biquad 1, D1 coefficient byte[15:8]
0x17 BQ1_D1_BYT4[7:0] 0x00 Biquad 1, D1 coefficient byte[7:0]
0x18 BQ1_D2_BYT1[7:0] 0x00 D2 Biquad 1, D2 coefficient byte[31:24]
0x19 BQ1_D2_BYT2[7:0] 0x00 Biquad 1, D2 coefficient byte[23:16]
0x1A BQ1_D2_BYT3[7:0] 0x00 Biquad 1, D2 coefficient byte[15:8]
0x1B BQ1_D2_BYT4[7:0] 0x00 Biquad 1, D2 coefficient byte[7:0]
0x1C BQ2_N0_BYT1[7:0] 0x7F Programmable Biquad 2 N0 Biquad 2, N0 coefficient byte[31:24]
0x1D BQ2_N0_BYT2[7:0] 0xFF Biquad 2, N0 coefficient byte[23:16]
0x1E BQ2_N0_BYT3[7:0] 0xFF Biquad 2, N0 coefficient byte[15:8]
0x1F BQ2_N0_BYT4[7:0] 0xFF Biquad 2, N0 coefficient byte[7:0]
0x20 BQ2_N1_BYT1[7:0] 0x00 N1 Biquad 2, N1 coefficient byte[31:24]
0x21 BQ2_N1_BYT2[7:0] 0x00 Biquad 2, N1 coefficient byte[23:16]
0x22 BQ2_N1_BYT3[7:0] 0x00 Biquad 2, N1 coefficient byte[15:8]
0x23 BQ2_N1_BYT4[7:0] 0x00 Biquad 2, N1 coefficient byte[7:0]
0x24 BQ2_N2_BYT1[7:0] 0x00 N2 Biquad 2, N2 coefficient byte[31:24]
0x25 BQ2_N2_BYT2[7:0] 0x00 Biquad 2, N2 coefficient byte[23:16]
0x26 BQ2_N2_BYT3[7:0] 0x00 Biquad 2, N2 coefficient byte[15:8]
0x27 BQ2_N2_BYT4[7:0] 0x00 Biquad 2, N2 coefficient byte[7:0]
0x28 BQ2_D1_BYT1[7:0] 0x00 D1 Biquad 2, D1 coefficient byte[31:24]
0x29 BQ2_D1_BYT2[7:0] 0x00 Biquad 2, D1 coefficient byte[23:16]
0x2A BQ2_D1_BYT3[7:0] 0x00 Biquad 2, D1 coefficient byte[15:8]
0x2B BQ2_D1_BYT4[7:0] 0x00 Biquad 2, D1 coefficient byte[7:0]
0x2C BQ2_D2_BYT1[7:0] 0x00 D2 Biquad 2, D2 coefficient byte[31:24]
0x2D BQ2_D2_BYT2[7:0] 0x00 Biquad 2, D2 coefficient byte[23:16]
0x2E BQ2_D2_BYT3[7:0] 0x00 Biquad 2, D2 coefficient byte[15:8]
0x2F BQ2_D2_BYT4[7:0] 0x00 Biquad 2, D2 coefficient byte[7:0]
0x30 BQ3_N0_BYT1[7:0] 0x7F Programmable Biquad 3 N0 Biquad 3, N0 coefficient byte[31:24]
0x31 BQ3_N0_BYT2[7:0] 0xFF Biquad 3, N0 coefficient byte[23:16]
0x32 BQ3_N0_BYT3[7:0] 0xFF Biquad 3, N0 coefficient byte[15:8]
0x33 BQ3_N0_BYT4[7:0] 0xFF Biquad 3, N0 coefficient byte[7:0]
0x34 BQ3_N1_BYT1[7:0] 0x00 N1 Biquad 3, N1 coefficient byte[31:24]
0x35 BQ3_N1_BYT2[7:0] 0x00 Biquad 3, N1 coefficient byte[23:16]
0x36 BQ3_N1_BYT3[7:0] 0x00 Biquad 3, N1 coefficient byte[15:8]
0x37 BQ3_N1_BYT4[7:0] 0x00 Biquad 3, N1 coefficient byte[7:0]
0x38 BQ3_N2_BYT1[7:0] 0x00 N2 Biquad 3, N2 coefficient byte[31:24]
0x39 BQ3_N2_BYT2[7:0] 0x00 Biquad 3, N2 coefficient byte[23:16]
0x3A BQ3_N2_BYT3[7:0] 0x00 Biquad 3, N2 coefficient byte[15:8]
0x3B BQ3_N2_BYT4[7:0] 0x00 Biquad 3, N2 coefficient byte[7:0]
0x3C BQ3_D1_BYT1[7:0] 0x00 D1 Biquad 3, D1 coefficient byte[31:24]
0x3D BQ3_D1_BYT2[7:0] 0x00 Biquad 3, D1 coefficient byte[23:16]
0x3E BQ3_D1_BYT3[7:0] 0x00 Biquad 3, D1 coefficient byte[15:8]
0x3F BQ3_D1_BYT4[7:0] 0x00 Biquad 3, D1 coefficient byte[7:0]
0x40 BQ3_D2_BYT1[7:0] 0x00 D2 Biquad 3, D2 coefficient byte[31:24]
0x41 BQ3_D2_BYT2[7:0] 0x00 Biquad 3, D2 coefficient byte[23:16]
0x42 BQ3_D2_BYT3[7:0] 0x00 Biquad 3, D2 coefficient byte[15:8]
0x43 BQ3_D2_BYT4[7:0] 0x00 Biquad 3, D2 coefficient byte[7:0]
0x44 BQ4_N0_BYT1[7:0] 0x7F Programmable Biquad 4 N0 Biquad 4, N0 coefficient byte[31:24]
0x45 BQ4_N0_BYT2[7:0] 0xFF Biquad 4, N0 coefficient byte[23:16]
0x46 BQ4_N0_BYT3[7:0] 0xFF Biquad 4, N0 coefficient byte[15:8]
0x47 BQ4_N0_BYT4[7:0] 0xFF Biquad 4, N0 coefficient byte[7:0]
0x48 BQ4_N1_BYT1[7:0] 0x00 N1 Biquad 4, N1 coefficient byte[31:24]
0x49 BQ4_N1_BYT2[7:0] 0x00 Biquad 4, N1 coefficient byte[23:16]
0x4A BQ4_N1_BYT3[7:0] 0x00 Biquad 4, N1 coefficient byte[15:8]
0x4B BQ4_N1_BYT4[7:0] 0x00 Biquad 4, N1 coefficient byte[7:0]
0x4C BQ4_N2_BYT1[7:0] 0x00 N2 Biquad 4, N2 coefficient byte[31:24]
0x4D BQ4_N2_BYT2[7:0] 0x00 Biquad 4, N2 coefficient byte[23:16]
0x4E BQ4_N2_BYT3[7:0] 0x00 Biquad 4, N2 coefficient byte[15:8]
0x4F BQ4_N2_BYT4[7:0] 0x00 Biquad 4, N2 coefficient byte[7:0]
0x50 BQ4_D1_BYT1[7:0] 0x00 D1 Biquad 4, D1 coefficient byte[31:24]
0x51 BQ4_D1_BYT2[7:0] 0x00 Biquad 4, D1 coefficient byte[23:16]
0x52 BQ4_D1_BYT3[7:0] 0x00 Biquad 4, D1 coefficient byte[15:8]
0x53 BQ4_D1_BYT4[7:0] 0x00 Biquad 4, D1 coefficient byte[7:0]
0x54 BQ4_D2_BYT1[7:0] 0x00 D2 Biquad 4, D2 coefficient byte[31:24]
0x55 BQ4_D2_BYT2[7:0] 0x00 Biquad 4, D2 coefficient byte[23:16]
0x56 BQ4_D2_BYT3[7:0] 0x00 Biquad 4, D2 coefficient byte[15:8]
0x57 BQ4_D2_BYT4[7:0] 0x00 Biquad 4, D2 coefficient byte[7:0]
0x58 BQ5_N0_BYT1[7:0] 0x7F Programmable Biquad 5 N0 Biquad 5, N0 coefficient byte[31:24]
0x59 BQ5_N0_BYT2[7:0] 0xFF Biquad 5, N0 coefficient byte[23:16]
0x5A BQ5_N0_BYT3[7:0] 0xFF Biquad 5, N0 coefficient byte[15:8]
0x5B BQ5_N0_BYT4[7:0] 0xFF Biquad 5, N0 coefficient byte[7:0]
0x5C BQ5_N1_BYT1[7:0] 0x00 N1 Biquad 5, N1 coefficient byte[31:24]
0x5D BQ5_N1_BYT2[7:0] 0x00 Biquad 5, N1 coefficient byte[23:16]
0x5E BQ5_N1_BYT3[7:0] 0x00 Biquad 5, N1 coefficient byte[15:8]
0x5F BQ5_N1_BYT4[7:0] 0x00 Biquad 5, N1 coefficient byte[7:0]
0x60 BQ5_N2_BYT1[7:0] 0x00 N2 Biquad 5, N2 coefficient byte[31:24]
0x61 BQ5_N2_BYT2[7:0] 0x00 Biquad 5, N2 coefficient byte[23:16]
0x62 BQ5_N2_BYT3[7:0] 0x00 Biquad 5, N2 coefficient byte[15:8]
0x63 BQ5_N2_BYT4[7:0] 0x00 Biquad 5, N2 coefficient byte[7:0]
0x64 BQ5_D1_BYT1[7:0] 0x00 D1 Biquad 5, D1 coefficient byte[31:24]
0x65 BQ5_D1_BYT2[7:0] 0x00 Biquad 5, D1 coefficient byte[23:16]
0x66 BQ5_D1_BYT3[7:0] 0x00 Biquad 5, D1 coefficient byte[15:8]
0x67 BQ5_D1_BYT4[7:0] 0x00 Biquad 5, D1 coefficient byte[7:0]
0x68 BQ5_D2_BYT1[7:0] 0x00 D2 Biquad 5, D2 coefficient byte[31:24]
0x69 BQ5_D2_BYT2[7:0] 0x00 Biquad 5, D2 coefficient byte[23:16]
0x6A BQ5_D2_BYT3[7:0] 0x00 Biquad 5, D2 coefficient byte[15:8]
0x6B BQ5_D2_BYT4[7:0] 0x00 Biquad 5, D2 coefficient byte[7:0]
0x6C BQ6_N0_BYT1[7:0] 0x7F Programmable Biquad 6 N0 Biquad 6, N0 coefficient byte[31:24]
0x6D BQ6_N0_BYT2[7:0] 0xFF Biquad 6, N0 coefficient byte[23:16]
0x6E BQ6_N0_BYT3[7:0] 0xFF Biquad 6, N0 coefficient byte[15:8]
0x6F BQ6_N0_BYT4[7:0] 0xFF Biquad 6, N0 coefficient byte[7:0]
0x70 BQ6_N1_BYT1[7:0] 0x00 N1 Biquad 6, N1 coefficient byte[31:24]
0x71 BQ6_N1_BYT2[7:0] 0x00 Biquad 6, N1 coefficient byte[23:16]
0x72 BQ6_N1_BYT3[7:0] 0x00 Biquad 6, N1 coefficient byte[15:8]
0x73 BQ6_N1_BYT4[7:0] 0x00 Biquad 6, N1 coefficient byte[7:0]
0x74 BQ6_N2_BYT1[7:0] 0x00 N2 Biquad 6, N2 coefficient byte[31:24]
0x75 BQ6_N2_BYT2[7:0] 0x00 Biquad 6, N2 coefficient byte[23:16]
0x76 BQ6_N2_BYT3[7:0] 0x00 Biquad 6, N2 coefficient byte[15:8]
0x77 BQ6_N2_BYT4[7:0] 0x00 Biquad 6, N2 coefficient byte[7:0]
0x78 BQ6_D1_BYT1[7:0] 0x00 D1 Biquad 6, D1 coefficient byte[31:24]
0x79 BQ6_D1_BYT2[7:0] 0x00 Biquad 6, D1 coefficient byte[23:16]
0x7A BQ6_D1_BYT3[7:0] 0x00 Biquad 6, D1 coefficient byte[15:8]
0x7B BQ6_D1_BYT4[7:0] 0x00 Biquad 6, D1 coefficient byte[7:0]
0x7C BQ6_D2_BYT1[7:0] 0x00 D2 Biquad 6, D2 coefficient byte[31:24]
0x7D BQ6_D2_BYT2[7:0] 0x00 Biquad 6, D2 coefficient byte[23:16]
0x7E BQ6_D2_BYT3[7:0] 0x00 Biquad 6, D2 coefficient byte[15:8]
0x7F BQ6_D2_BYT4[7:0] 0x00 Biquad 6, D2 coefficient byte[7:0]