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 7–12

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

Table 3-8 Page 0x03 Programmable Coefficient Registers for Biquad Filters 7–12
Page 0x3 Address Register Reset Biquad Filter Coefficient Description
0x00 PAGE[7:0] 0x00 Device Page Register
0x08 BQ7_N0_BYT1[7:0] 0x7F Programmable Biquad 7 N0 Programmable biquad 7, N0 coefficient byte[31:24]
0x09 BQ7_N0_BYT2[7:0] 0xFF Biquad 7, N0 coefficient byte[23:16]
0x0A BQ7_N0_BYT3[7:0] 0xFF Biquad 7, N0 coefficient byte[15:8]
0x0B BQ7_N0_BYT4[7:0] 0xFF Biquad 7, N0 coefficient byte[7:0]
0x0C BQ7_N1_BYT1[7:0] 0x00 N1 Biquad 7, N1 coefficient byte[31:24]
0x0D BQ7_N1_BYT2[7:0] 0x00 Biquad 7, N1 coefficient byte[23:16]
0x0E BQ7_N1_BYT3[7:0] 0x00 Biquad 7, N1 coefficient byte[15:8]
0x0F BQ7_N1_BYT4[7:0] 0x00 Biquad 7, N1 coefficient byte[7:0]
0x10 BQ7_N2_BYT1[7:0] 0x00 N2 Biquad 7, N2 coefficient byte[31:24]
0x11 BQ7_N2_BYT2[7:0] 0x00 Biquad 7, N2 coefficient byte[23:16]
0x12 BQ7_N2_BYT3[7:0] 0x00 Biquad 7, N2 coefficient byte[15:8]
0x13 BQ7_N2_BYT4[7:0] 0x00 Biquad 7, N2 coefficient byte[7:0]
0x14 BQ7_D1_BYT1[7:0] 0x00 D1 Biquad 7, D1 coefficient byte[31:24]
0x15 BQ7_D1_BYT2[7:0] 0x00 Biquad 7, D1 coefficient byte[23:16]
0x16 BQ7_D1_BYT3[7:0] 0x00 Biquad 7, D1 coefficient byte[15:8]
0x17 BQ7_D1_BYT4[7:0] 0x00 Biquad 7, D1 coefficient byte[7:0]
0x18 BQ7_D2_BYT1[7:0] 0x00 D2 Biquad 7, D2 coefficient byte[31:24]
0x19 BQ7_D2_BYT2[7:0] 0x00 Biquad 7, D2 coefficient byte[23:16]
0x1A BQ7_D2_BYT3[7:0] 0x00 Biquad 7, D2 coefficient byte[15:8]
0x1B BQ7_D2_BYT4[7:0] 0x00 Biquad 7, D2 coefficient byte[7:0]
0x1C BQ8_N0_BYT1[7:0] 0x7F Programmable Biquad 8 N0 Biquad 8, N0 coefficient byte[31:24]
0x1D BQ8_N0_BYT2[7:0] 0xFF Biquad 8, N0 coefficient byte[23:16]
0x1E BQ8_N0_BYT3[7:0] 0xFF Biquad 8, N0 coefficient byte[15:8]
0x1F BQ8_N0_BYT4[7:0] 0xFF Biquad 8, N0 coefficient byte[7:0]
0x20 BQ8_N1_BYT1[7:0] 0x00 N1 Biquad 8, N1 coefficient byte[31:24]
0x21 BQ8_N1_BYT2[7:0] 0x00 Biquad 8, N1 coefficient byte[23:16]
0x22 BQ8_N1_BYT3[7:0] 0x00 Biquad 8, N1 coefficient byte[15:8]
0x23 BQ8_N1_BYT4[7:0] 0x00 Biquad 8, N1 coefficient byte[7:0]
0x24 BQ8_N2_BYT1[7:0] 0x00 N2 Biquad 8, N2 coefficient byte[31:24]
0x25 BQ8_N2_BYT2[7:0] 0x00 Biquad 8, N2 coefficient byte[23:16]
0x26 BQ8_N2_BYT3[7:0] 0x00 Biquad 8, N2 coefficient byte[15:8]
0x27 BQ8_N2_BYT4[7:0] 0x00 Biquad 8, N2 coefficient byte[7:0]
0x28 BQ8_D1_BYT1[7:0] 0x00 D1 Biquad 8, D1 coefficient byte[31:24]
0x29 BQ8_D1_BYT2[7:0] 0x00 Biquad 8, D1 coefficient byte[23:16]
0x2A BQ8_D1_BYT3[7:0] 0x00 Biquad 8, D1 coefficient byte[15:8]
0x2B BQ8_D1_BYT4[7:0] 0x00 Biquad 8, D1 coefficient byte[7:0]
0x2C BQ8_D2_BYT1[7:0] 0x00 D2 Biquad 8, D2 coefficient byte[31:24]
0x2D BQ8_D2_BYT2[7:0] 0x00 Biquad 8, D2 coefficient byte[23:16]
0x2E BQ8_D2_BYT3[7:0] 0x00 Biquad 8, D2 coefficient byte[15:8]
0x2F BQ8_D2_BYT4[7:0] 0x00 Biquad 8, D2 coefficient byte[7:0]
0x30 BQ9_N0_BYT1[7:0] 0x7F Programmable Biquad 9 N0 Biquad 9, N0 coefficient byte[31:24]
0x31 BQ9_N0_BYT2[7:0] 0xFF Biquad 9, N0 coefficient byte[23:16]
0x32 BQ9_N0_BYT3[7:0] 0xFF Biquad 9, N0 coefficient byte[15:8]
0x33 BQ9_N0_BYT4[7:0] 0xFF Biquad 9, N0 coefficient byte[7:0]
0x34 BQ9_N1_BYT1[7:0] 0x00 N1 Biquad 9, N1 coefficient byte[31:24]
0x35 BQ9_N1_BYT2[7:0] 0x00 Biquad 9, N1 coefficient byte[23:16]
0x36 BQ9_N1_BYT3[7:0] 0x00 Biquad 9, N1 coefficient byte[15:8]
0x37 BQ9_N1_BYT4[7:0] 0x00 Biquad 9, N1 coefficient byte[7:0]
0x38 BQ9_N2_BYT1[7:0] 0x00 N2 Biquad 9, N2 coefficient byte[31:24]
0x39 BQ9_N2_BYT2[7:0] 0x00 Biquad 9, N2 coefficient byte[23:16]
0x3A BQ9_N2_BYT3[7:0] 0x00 Biquad 9, N2 coefficient byte[15:8]
0x3B BQ9_N2_BYT4[7:0] 0x00 Biquad 9, N2 coefficient byte[7:0]
0x3C BQ9_D1_BYT1[7:0] 0x00 D1 Biquad 9, D1 coefficient byte[31:24]
0x3D BQ9_D1_BYT2[7:0] 0x00 Biquad 9, D1 coefficient byte[23:16]
0x3E BQ9_D1_BYT3[7:0] 0x00 Biquad 9, D1 coefficient byte[15:8]
0x3F BQ9_D1_BYT4[7:0] 0x00 Biquad 9, D1 coefficient byte[7:0]
0x40 BQ9_D2_BYT1[7:0] 0x00 D2 Biquad 9, D2 coefficient byte[31:24]
0x41 BQ9_D2_BYT2[7:0] 0x00 Biquad 9, D2 coefficient byte[23:16]
0x42 BQ9_D2_BYT3[7:0] 0x00 Biquad 9, D2 coefficient byte[15:8]
0x43 BQ9_D2_BYT4[7:0] 0x00 Biquad 9, D2 coefficient byte[7:0]
0x44 BQ10_N0_BYT1[7:0] 0x7F Programmable Biquad 10 N0 Biquad 10, N0 coefficient byte[31:24]
0x45 BQ10_N0_BYT2[7:0] 0xFF Biquad 10, N0 coefficient byte[23:16]
0x46 BQ10_N0_BYT3[7:0] 0xFF Biquad 10, N0 coefficient byte[15:8]
0x47 BQ10_N0_BYT4[7:0] 0xFF Biquad 10, N0 coefficient byte[7:0]
0x48 BQ10_N1_BYT1[7:0] 0x00 N1 Biquad 10, N1 coefficient byte[31:24]
0x49 BQ10_N1_BYT2[7:0] 0x00 Biquad 10, N1 coefficient byte[23:16]
0x4A BQ10_N1_BYT3[7:0] 0x00 Biquad 10, N1 coefficient byte[15:8]
0x4B BQ10_N1_BYT4[7:0] 0x00 Biquad 10, N1 coefficient byte[7:0]
0x4C BQ10_N2_BYT1[7:0] 0x00 N2 Biquad 10, N2 coefficient byte[31:24]
0x4D BQ10_N2_BYT2[7:0] 0x00 Biquad 10, N2 coefficient byte[23:16]
0x4E BQ10_N2_BYT3[7:0] 0x00 Biquad 10, N2 coefficient byte[15:8]
0x4F BQ10_N2_BYT4[7:0] 0x00 Biquad 10, N2 coefficient byte[7:0]
0x50 BQ10_D1_BYT1[7:0] 0x00 D1 Biquad 10, D1 coefficient byte[31:24]
0x51 BQ10_D1_BYT2[7:0] 0x00 Biquad 10, D1 coefficient byte[23:16]
0x52 BQ10_D1_BYT3[7:0] 0x00 Biquad 10, D1 coefficient byte[15:8]
0x53 BQ10_D1_BYT4[7:0] 0x00 Biquad 10, D1 coefficient byte[7:0]
0x54 BQ10_D2_BYT1[7:0] 0x00 D2 Biquad 10, D2 coefficient byte[31:24]
0x55 BQ10_D2_BYT2[7:0] 0x00 Biquad 10, D2 coefficient byte[23:16]
0x56 BQ10_D2_BYT3[7:0] 0x00 Biquad 10, D2 coefficient byte[15:8]
0x57 BQ10_D2_BYT4[7:0] 0x00 Biquad 10, D2 coefficient byte[7:0]
0x58 BQ11_N0_BYT1[7:0] 0x7F Programmable Biquad 11 N0 Biquad 11, N0 coefficient byte[31:24]
0x59 BQ11_N0_BYT2[7:0] 0xFF Biquad 11, N0 coefficient byte[23:16]
0x5A BQ11_N0_BYT3[7:0] 0xFF Biquad 11, N0 coefficient byte[15:8]
0x5B BQ11_N0_BYT4[7:0] 0xFF Biquad 11, N0 coefficient byte[7:0]
0x5C BQ11_N1_BYT1[7:0] 0x00 N1 Biquad 11, N1 coefficient byte[31:24]
0x5D BQ11_N1_BYT2[7:0] 0x00 Biquad 11, N1 coefficient byte[23:16]
0x5E BQ11_N1_BYT3[7:0] 0x00 Biquad 11, N1 coefficient byte[15:8]
0x5F BQ11_N1_BYT4[7:0] 0x00 Biquad 11, N1 coefficient byte[7:0]
0x60 BQ11_N2_BYT1[7:0] 0x00 N2 Biquad 11, N2 coefficient byte[31:24]
0x61 BQ11_N2_BYT2[7:0] 0x00 Biquad 11, N2 coefficient byte[23:16]
0x62 BQ11_N2_BYT3[7:0] 0x00 Biquad 11, N2 coefficient byte[15:8]
0x63 BQ11_N2_BYT4[7:0] 0x00 Biquad 11, N2 coefficient byte[7:0]
0x64 BQ11_D1_BYT1[7:0] 0x00 D1 Biquad 11, D1 coefficient byte[31:24]
0x65 BQ11_D1_BYT2[7:0] 0x00 Biquad 11, D1 coefficient byte[23:16]
0x66 BQ11_D1_BYT3[7:0] 0x00 Biquad 11, D1 coefficient byte[15:8]
0x67 BQ11_D1_BYT4[7:0] 0x00 Biquad 11, D1 coefficient byte[7:0]
0x68 BQ11_D2_BYT1[7:0] 0x00 D2 Biquad 11, D2 coefficient byte[31:24]
0x69 BQ11_D2_BYT2[7:0] 0x00 Biquad 11, D2 coefficient byte[23:16]
0x6A BQ11_D2_BYT3[7:0] 0x00 Biquad 11, D2 coefficient byte[15:8]
0x6B BQ11_D2_BYT4[7:0] 0x00 Biquad 11, D2 coefficient byte[7:0]
0x6C BQ12_N0_BYT1[7:0] 0x7F Programmable Biquad 12 N0 Biquad 12, N0 coefficient byte[31:24]
0x6D BQ12_N0_BYT2[7:0] 0xFF Biquad 12, N0 coefficient byte[23:16]
0x6E BQ12_N0_BYT3[7:0] 0xFF Biquad 12, N0 coefficient byte[15:8]
0x6F BQ12_N0_BYT4[7:0] 0xFF Biquad 12, N0 coefficient byte[7:0]
0x70 BQ12_N1_BYT1[7:0] 0x00 N1 Biquad 12, N1 coefficient byte[31:24]
0x71 BQ12_N1_BYT2[7:0] 0x00 Biquad 12, N1 coefficient byte[23:16]
0x72 BQ12_N1_BYT3[7:0] 0x00 Biquad 12, N1 coefficient byte[15:8]
0x73 BQ12_N1_BYT4[7:0] 0x00 Biquad 12, N1 coefficient byte[7:0]
0x74 BQ12_N2_BYT1[7:0] 0x00 N2 Biquad 12, N2 coefficient byte[31:24]
0x75 BQ12_N2_BYT2[7:0] 0x00 Biquad 12, N2 coefficient byte[23:16]
0x76 BQ12_N2_BYT3[7:0] 0x00 Biquad 12, N2 coefficient byte[15:8]
0x77 BQ12_N2_BYT4[7:0] 0x00 Biquad 12, N2 coefficient byte[7:0]
0x78 BQ12_D1_BYT1[7:0] 0x00 D1 Biquad 12, D1 coefficient byte[31:24]
0x79 BQ12_D1_BYT2[7:0] 0x00 Biquad 12, D1 coefficient byte[23:16]
0x7A BQ12_D1_BYT3[7:0] 0x00 Biquad 12, D1 coefficient byte[15:8]
0x7B BQ12_D1_BYT4[7:0] 0x00 Biquad 12, D1 coefficient byte[7:0]
0x7C BQ12_D2_BYT1[7:0] 0x00 D2 Biquad 12, D2 coefficient byte[31:24]
0x7D BQ12_D2_BYT2[7:0] 0x00 Biquad 12, D2 coefficient byte[23:16]
0x7E BQ12_D2_BYT3[7:0] 0x00 Biquad 12, D2 coefficient byte[15:8]
0x7F BQ12_D2_BYT4[7:0] 0x00 Biquad 12, D2 coefficient byte[7:0]