I'm copying the recommended circuit (the 'Higher Performance' one, actually) from the LM1971 audio attenuator datasheet but there are audible (loud) pops on the output.

LM1971 application from datasheet

I'm using OPA227s for all op-amps -- one shared VREF buffer and one output buffer for each channel -- and a regulated 12V supply. These op-amps have a very low input bias (+/-2.5nA) and high input impedance (10^7Ω), which should prevent these pops according to the datasheet:

Attenuation level changes cause changes in the output impedance of a μPot. Output impedance changes in the presence of a large input bias current for a buffer/amplifier will cause a DC shift to occur. Neglecting amplifier gains and speaker sensitivities, the audibility of a DC shift is dependent upon the output impedance change times the required input bias current. As an example, a 5kΩ impedance change times a 1μA bias current results in a 5mV DC shift; a level that is barely audible without any music material in the system.

I'm only stepping 1dB at a time, as the datasheet also suggests. Does anyone see where I'm going wrong, or where else these pops could be coming from?

EDIT: I believe what I'm experiencing is zipper noise, which is prevalent in discrete volume-changing circuits such as this. Analog devices provides a zipper noise reduction circuit in a few of their digital potentiometer datasheets which seems to only allow the step change to occur when the signal is low enough:

Analog Devices zipper noise reduction circuit

Unfortunately I can't fit this on my PCB but I'll give it a try sometime to see if that fixes things.

  • \$\begingroup\$ Do the pops change in amplitude with the gain setting (i.e. do you get them changing from -60 to -60db the same as -1 to 0db)? Is there any leakage the input capacitor? Have you checked the voltages at the input and output of the attenuator? \$\endgroup\$ Commented May 20, 2017 at 2:28
  • \$\begingroup\$ Are you doing this on a breadboard? You might have some parasitic capacitance problems. Admittedly, it's a bit of a stretch that it might be that significant at audio frequencies, but it could potentially have an effect and it's easy enough to ask about. \$\endgroup\$
    – Hearth
    Commented May 20, 2017 at 2:39
  • \$\begingroup\$ @KevinWhite there's not even an output at the lowest attenuation settings. If you look at the resistor ladder architecture on pg. 8 of the datasheet, VREF isn't even connected to the circuit in this region so the DC bias is gone and the signal isn't far enough away from the rail (GND) to overcome the op-amp's minimum Vin. That gave me a huge headache. Anyway, I'll try the lower attenuation points, but you'd think it'd be okay at -8dB to -16dB where I've been testing it. \$\endgroup\$ Commented May 20, 2017 at 4:23
  • \$\begingroup\$ Also, the caps are 1uF WIMAs which are coveted by the audiophiles and shouldn't have too much leakage, but I'll look into that. The voltages look pretty good on the input and output, but I did notice that some of the troughs (negative swings) of the signal dip a bit further than expected on the output of the LM1971. Which is weird, but I don't think related to the pops. \$\endgroup\$ Commented May 20, 2017 at 4:30
  • \$\begingroup\$ @Felthry fortunately/unfortunately it's on a PCB, but you have a good point: there's a lot of analog-digital interaction in a small space. I could look into signal integrity issues, too -- it just gets a bit difficult to capture a waveform with an old analog scope :) \$\endgroup\$ Commented May 20, 2017 at 4:33

2 Answers 2


I know this thread is almost 7 years old, but I had the same problem, I found this thread (which did not help), but then after that I did more debugging and finally figured out the problem. I now have an LM1971 design that has ZERO POPS. I'm leaving this here to help future generations of LM1971 users!

I am using the standard simple schematic from the data sheet, the one WITHOUT U2-2 above. I am controlling it with a super-cheap (and fast) STC8G1K08A.

When I wrote the code to control the LM1971, I wrote it with very conservative timing, because hey I'm conservative when it comes to meeting any datasheet timing requirements. I unfortunately ended up (like other people) with small pops every time I changed the attenuation.

BUT, as I debugged it, I discovered that the duration of the popping was exactly the same as the duration of the set-attenuation operation itself. And, the lower the time to send the new attenuation value (from LOAD low to LOAD high), the less popping I got.

So, I got rid of all the super-conservative setup and hold times, and I unrolled all the loops. I carefully checked to make sure that I still met all of the setup and hold times in the data sheet.

My STC8 is running at about 24Mhz, so I am basically down in the 42-nanoseconds-per-cycle range. I actually had to put in a bunch of NOPs to make sure that the setup and hold times would be met.

And, all of the pops disappeared. No zero-crossing detector required.

The need to send the new attenuation value fairly quickly is NOT in the datasheet, but now you know, too!


Digital pots targeted for audio applications typically include a zero crossing detector which will only allow the volume change to take place at zero crossings. This ensures no clicks/pops or other noises are heard.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.