SBAA497B May   2021  – April 2022 PCM3120-Q1 , PCM5120-Q1 , PCM6120-Q1 , TLV320ADC3120 , TLV320ADC5120 , TLV320ADC6120

 

  1.   Trademarks
  2. 1Introduction
  3. 2Infinite Impulse Response Filters
    1. 2.1 Digital Biquad Filter
  4. 3TLV320ADCx120 and PCMx120-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 Filter 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
  5. 4How to Program the Digital Biquad Filters on the TLV320ADCx120 and PCMx120-Q1
  6. 5Typical Audio Applications for Biquad Filtering
    1. 5.1 Parametric Equalizers
  7. 6Crossover Networks
  8. 7Voice Boost
  9. 8Bass Boost
  10. 9Removing 50 Hz–60 Hz Hum With Notch Filters
  11.   A Digital Filter Design Techniques
    1.     A.A Analog Filters
  12.   B Related Documentation
  13.   B Revision History

Programmable Coefficient Registers for Digital Biquad Filters 7–12

Table 3-6 shows the programmable coefficient registers for the biquad filters 7 through 12 in Page 3 of the TLV320ADCx120 and PCMx120-Q1 registers.

Table 3-6 Page 0x03 Programmable Coefficient Registers for Biquad Filters 7–12
PAGE 0x3 ADDRESSREGISTERRESETBIQUAD FILTERCOEFFICIENTDESCRIPTION
0x00PAGE[7:0]0x00Device Page Register
0x08BQ7_N0_BYT1[7:0]0x7FProgrammable Biquad 7N0Programmable biquad 7, N0 coefficient byte[31:24]
0x09BQ7_N0_BYT2[7:0]0xFFBiquad 7, N0 coefficient byte[23:16]
0x0ABQ7_N0_BYT3[7:0]0xFFBiquad 7, N0 coefficient byte[15:8]
0x0BBQ7_N0_BYT4[7:0]0xFFBiquad 7, N0 coefficient byte[7:0]
0x0CBQ7_N1_BYT1[7:0]0x00N1Biquad 7, N1 coefficient byte[31:24]
0x0DBQ7_N1_BYT2[7:0]0x00Biquad 7, N1 coefficient byte[23:16]
0x0EBQ7_N1_BYT3[7:0]0x00Biquad 7, N1 coefficient byte[15:8]
0x0FBQ7_N1_BYT4[7:0]0x00Biquad 7, N1 coefficient byte[7:0]
0x10BQ7_N2_BYT1[7:0]0x00N2Biquad 7, N2 coefficient byte[31:24]
0x11BQ7_N2_BYT2[7:0]0x00Biquad 7, N2 coefficient byte[23:16]
0x12BQ7_N2_BYT3[7:0]0x00Biquad 7, N2 coefficient byte[15:8]
0x13BQ7_N2_BYT4[7:0]0x00Biquad 7, N2 coefficient byte[7:0]
0x14BQ7_D1_BYT1[7:0]0x00D1Biquad 7, D1 coefficient byte[31:24]
0x15BQ7_D1_BYT2[7:0]0x00Biquad 7, D1 coefficient byte[23:16]
0x16BQ7_D1_BYT3[7:0]0x00Biquad 7, D1 coefficient byte[15:8]
0x17BQ7_D1_BYT4[7:0]0x00Biquad 7, D1 coefficient byte[7:0]
0x18BQ7_D2_BYT1[7:0]0x00D2Biquad 7, D2 coefficient byte[31:24]
0x19BQ7_D2_BYT2[7:0]0x00Biquad 7, D2 coefficient byte[23:16]
0x1ABQ7_D2_BYT3[7:0]0x00Biquad 7, D2 coefficient byte[15:8]
0x1BBQ7_D2_BYT4[7:0]0x00Biquad 7, D2 coefficient byte[7:0]
0x1CBQ8_N0_BYT1[7:0]0x7FProgrammable Biquad 8N0Biquad 8, N0 coefficient byte[31:24]
0x1DBQ8_N0_BYT2[7:0]0xFFBiquad 8, N0 coefficient byte[23:16]
0x1EBQ8_N0_BYT3[7:0]0xFFBiquad 8, N0 coefficient byte[15:8]
0x1FBQ8_N0_BYT4[7:0]0xFFBiquad 8, N0 coefficient byte[7:0]
0x20BQ8_N1_BYT1[7:0]0x00N1Biquad 8, N1 coefficient byte[31:24]
0x21BQ8_N1_BYT2[7:0]0x00Biquad 8, N1 coefficient byte[23:16]
0x22BQ8_N1_BYT3[7:0]0x00Biquad 8, N1 coefficient byte[15:8]
0x23BQ8_N1_BYT4[7:0]0x00Biquad 8, N1 coefficient byte[7:0]
0x24BQ8_N2_BYT1[7:0]0x00N2Biquad 8, N2 coefficient byte[31:24]
0x25BQ8_N2_BYT2[7:0]0x00Biquad 8, N2 coefficient byte[23:16]
0x26BQ8_N2_BYT3[7:0]0x00Biquad 8, N2 coefficient byte[15:8]
0x27BQ8_N2_BYT4[7:0]0x00Biquad 8, N2 coefficient byte[7:0]
0x28BQ8_D1_BYT1[7:0]0x00D1Biquad 8, D1 coefficient byte[31:24]
0x29BQ8_D1_BYT2[7:0]0x00Biquad 8, D1 coefficient byte[23:16]
0x2ABQ8_D1_BYT3[7:0]0x00Biquad 8, D1 coefficient byte[15:8]
0x2BBQ8_D1_BYT4[7:0]0x00Biquad 8, D1 coefficient byte[7:0]
0x2CBQ8_D2_BYT1[7:0]0x00D2Biquad 8, D2 coefficient byte[31:24]
0x2DBQ8_D2_BYT2[7:0]0x00Biquad 8, D2 coefficient byte[23:16]
0x2EBQ8_D2_BYT3[7:0]0x00Biquad 8, D2 coefficient byte[15:8]
0x2FBQ8_D2_BYT4[7:0]0x00Biquad 8, D2 coefficient byte[7:0]
0x30BQ9_N0_BYT1[7:0]0x7FProgrammable Biquad 9N0Biquad 9, N0 coefficient byte[31:24]
0x31BQ9_N0_BYT2[7:0]0xFFBiquad 9, N0 coefficient byte[23:16]
0x32BQ9_N0_BYT3[7:0]0xFFBiquad 9, N0 coefficient byte[15:8]
0x33BQ9_N0_BYT4[7:0]0xFFBiquad 9, N0 coefficient byte[7:0]
0x34BQ9_N1_BYT1[7:0]0x00N1Biquad 9, N1 coefficient byte[31:24]
0x35BQ9_N1_BYT2[7:0]0x00Biquad 9, N1 coefficient byte[23:16]
0x36BQ9_N1_BYT3[7:0]0x00Biquad 9, N1 coefficient byte[15:8]
0x37BQ9_N1_BYT4[7:0]0x00Biquad 9, N1 coefficient byte[7:0]
0x38BQ9_N2_BYT1[7:0]0x00N2Biquad 9, N2 coefficient byte[31:24]
0x39BQ9_N2_BYT2[7:0]0x00Biquad 9, N2 coefficient byte[23:16]
0x3ABQ9_N2_BYT3[7:0]0x00Biquad 9, N2 coefficient byte[15:8]
0x3BBQ9_N2_BYT4[7:0]0x00Biquad 9, N2 coefficient byte[7:0]
0x3CBQ9_D1_BYT1[7:0]0x00D1Biquad 9, D1 coefficient byte[31:24]
0x3DBQ9_D1_BYT2[7:0]0x00Biquad 9, D1 coefficient byte[23:16]
0x3EBQ9_D1_BYT3[7:0]0x00Biquad 9, D1 coefficient byte[15:8]
0x3FBQ9_D1_BYT4[7:0]0x00Biquad 9, D1 coefficient byte[7:0]
0x40BQ9_D2_BYT1[7:0]0x00D2Biquad 9, D2 coefficient byte[31:24]
0x41BQ9_D2_BYT2[7:0]0x00Biquad 9, D2 coefficient byte[23:16]
0x42BQ9_D2_BYT3[7:0]0x00Biquad 9, D2 coefficient byte[15:8]
0x43BQ9_D2_BYT4[7:0]0x00Biquad 9, D2 coefficient byte[7:0]
0x44BQ10_N0_BYT1[7:0]0x7FProgrammable Biquad 10N0Biquad 10, N0 coefficient byte[31:24]
0x45BQ10_N0_BYT2[7:0]0xFFBiquad 10, N0 coefficient byte[23:16]
0x46BQ10_N0_BYT3[7:0]0xFFBiquad 10, N0 coefficient byte[15:8]
0x47BQ10_N0_BYT4[7:0]0xFFBiquad 10, N0 coefficient byte[7:0]
0x48BQ10_N1_BYT1[7:0]0x00N1Biquad 10, N1 coefficient byte[31:24]
0x49BQ10_N1_BYT2[7:0]0x00Biquad 10, N1 coefficient byte[23:16]
0x4ABQ10_N1_BYT3[7:0]0x00Biquad 10, N1 coefficient byte[15:8]
0x4BBQ10_N1_BYT4[7:0]0x00Biquad 10, N1 coefficient byte[7:0]
0x4CBQ10_N2_BYT1[7:0]0x00N2Biquad 10, N2 coefficient byte[31:24]
0x4DBQ10_N2_BYT2[7:0]0x00Biquad 10, N2 coefficient byte[23:16]
0x4EBQ10_N2_BYT3[7:0]0x00Biquad 10, N2 coefficient byte[15:8]
0x4FBQ10_N2_BYT4[7:0]0x00Biquad 10, N2 coefficient byte[7:0]
0x50BQ10_D1_BYT1[7:0]0x00D1Biquad 10, D1 coefficient byte[31:24]
0x51BQ10_D1_BYT2[7:0]0x00Biquad 10, D1 coefficient byte[23:16]
0x52BQ10_D1_BYT3[7:0]0x00Biquad 10, D1 coefficient byte[15:8]
0x53BQ10_D1_BYT4[7:0]0x00Biquad 10, D1 coefficient byte[7:0]
0x54BQ10_D2_BYT1[7:0]0x00D2Biquad 10, D2 coefficient byte[31:24]
0x55BQ10_D2_BYT2[7:0]0x00Biquad 10, D2 coefficient byte[23:16]
0x56BQ10_D2_BYT3[7:0]0x00Biquad 10, D2 coefficient byte[15:8]
0x57BQ10_D2_BYT4[7:0]0x00Biquad 10, D2 coefficient byte[7:0]
0x58BQ11_N0_BYT1[7:0]0x7FProgrammable Biquad 11N0Biquad 11, N0 coefficient byte[31:24]
0x59BQ11_N0_BYT2[7:0]0xFFBiquad 11, N0 coefficient byte[23:16]
0x5ABQ11_N0_BYT3[7:0]0xFFBiquad 11, N0 coefficient byte[15:8]
0x5BBQ11_N0_BYT4[7:0]0xFFBiquad 11, N0 coefficient byte[7:0]
0x5CBQ11_N1_BYT1[7:0]0x00N1Biquad 11, N1 coefficient byte[31:24]
0x5DBQ11_N1_BYT2[7:0]0x00Biquad 11, N1 coefficient byte[23:16]
0x5EBQ11_N1_BYT3[7:0]0x00Biquad 11, N1 coefficient byte[15:8]
0x5FBQ11_N1_BYT4[7:0]0x00Biquad 11, N1 coefficient byte[7:0]
0x60BQ11_N2_BYT1[7:0]0x00N2Biquad 11, N2 coefficient byte[31:24]
0x61BQ11_N2_BYT2[7:0]0x00Biquad 11, N2 coefficient byte[23:16]
0x62BQ11_N2_BYT3[7:0]0x00Biquad 11, N2 coefficient byte[15:8]
0x63BQ11_N2_BYT4[7:0]0x00Biquad 11, N2 coefficient byte[7:0]
0x64BQ11_D1_BYT1[7:0]0x00D1Biquad 11, D1 coefficient byte[31:24]
0x65BQ11_D1_BYT2[7:0]0x00Biquad 11, D1 coefficient byte[23:16]
0x66BQ11_D1_BYT3[7:0]0x00Biquad 11, D1 coefficient byte[15:8]
0x67BQ11_D1_BYT4[7:0]0x00Biquad 11, D1 coefficient byte[7:0]
0x68BQ11_D2_BYT1[7:0]0x00D2Biquad 11, D2 coefficient byte[31:24]
0x69BQ11_D2_BYT2[7:0]0x00Biquad 11, D2 coefficient byte[23:16]
0x6ABQ11_D2_BYT3[7:0]0x00Biquad 11, D2 coefficient byte[15:8]
0x6BBQ11_D2_BYT4[7:0]0x00Biquad 11, D2 coefficient byte[7:0]
0x6CBQ12_N0_BYT1[7:0]0x7FProgrammable Biquad 12N0Biquad 12, N0 coefficient byte[31:24]
0x6DBQ12_N0_BYT2[7:0]0xFFBiquad 12, N0 coefficient byte[23:16]
0x6EBQ12_N0_BYT3[7:0]0xFFBiquad 12, N0 coefficient byte[15:8]
0x6FBQ12_N0_BYT4[7:0]0xFFBiquad 12, N0 coefficient byte[7:0]
0x70BQ12_N1_BYT1[7:0]0x00N1Biquad 12, N1 coefficient byte[31:24]
0x71BQ12_N1_BYT2[7:0]0x00Biquad 12, N1 coefficient byte[23:16]
0x72BQ12_N1_BYT3[7:0]0x00Biquad 12, N1 coefficient byte[15:8]
0x73BQ12_N1_BYT4[7:0]0x00Biquad 12, N1 coefficient byte[7:0]
0x74BQ12_N2_BYT1[7:0]0x00N2Biquad 12, N2 coefficient byte[31:24]
0x75BQ12_N2_BYT2[7:0]0x00Biquad 12, N2 coefficient byte[23:16]
0x76BQ12_N2_BYT3[7:0]0x00Biquad 12, N2 coefficient byte[15:8]
0x77BQ12_N2_BYT4[7:0]0x00Biquad 12, N2 coefficient byte[7:0]
0x78BQ12_D1_BYT1[7:0]0x00D1Biquad 12, D1 coefficient byte[31:24]
0x79BQ12_D1_BYT2[7:0]0x00Biquad 12, D1 coefficient byte[23:16]
0x7ABQ12_D1_BYT3[7:0]0x00Biquad 12, D1 coefficient byte[15:8]
0x7BBQ12_D1_BYT4[7:0]0x00Biquad 12, D1 coefficient byte[7:0]
0x7CBQ12_D2_BYT1[7:0]0x00D2Biquad 12, D2 coefficient byte[31:24]
0x7DBQ12_D2_BYT2[7:0]0x00Biquad 12, D2 coefficient byte[23:16]
0x7EBQ12_D2_BYT3[7:0]0x00Biquad 12, D2 coefficient byte[15:8]
0x7FBQ12_D2_BYT4[7:0]0x00Biquad 12, D2 coefficient byte[7:0]