I have a speaker platform which uses the ADAU1701 and has it's processing flow being created using SigmaDSP v3.11 for 64-bit OS's. I'm having trouble with popping noises and re-arranging the signal flow to try to eliminate the popping noises. The popping noises stem from a potentiometer which is connected to a MCU. The MCU reads the pot voltage and changes a shelf slider inside of the 1701 appropriately. There is a variable HPF in the signal path inside the 1701. If that slider is near the end of the signal path, the pop noise is present. If the slider is near the start of the signal path, the pop noise goes away. If a DC block is added at the start of the path, the pop noise also goes away, but the signal is attenuated by 10 dB. I'm not clear on why the DC blocker causes the 10 dB of attenuation. If I re-arrange some of the blocks, the whole thing becomes unstable. Any help here would be greatly appreciated! Thanks.DesignExample.dspproj.zip
Thanks for the suggestions.
I am not aware of how to change the properties of the DC blocker.  Can you please describe this for me?
I will try the index selectable filter, but will not be able to confirm that it addresses the problem until my resources in Asia return from Chinese New Year. I'm also not clear on if the MCU is using safeloading.
The uC is doing all of the main house-keeping in the system and is controlling more than the just ADAU1701.  Thanks for pointing this out though.  I will keep it in mind in future designs.
A couple of suggestions. Slightly change the DC cutoff frequency to a different (higher) value. I've seen some fringe cases where this filter becomes unstable due to filter quantization when some chosing certain frequencies (we are investigating the root cause but the workaround is very simple). Doing so, will allow you to place the DC filter anywhere in your signal flow.
I don't recommend using standard shelving filters, specially at lower frequencies (80Hz) as show in your mid EQ for filters that change too much @ runtime. Instead, for filters that need to change at runtime, I suggest you use the index selectable filter that: (a) stores the coefficients in the DSP and (b) allows users to select them through an index (your uC or Aux ADC). Lastly, the Index Selectable contains 2 filters running in parallel and for every change request detected, it slews from one to the other one. This allows for filter transitions to be smooth (pop free and zipper noise free).
Lastly, is your uC using safeload for loading the coefficients. If not, this might be a contributor to the pops since not doing so can make intermediate filters become unstable temporarily.
PS. Why do you need to use a uC, isn't the Aux ADC enough for your needs? You could map it to the index selectable filter by mapping it's output to the input pin through a lookup table. Just curious