ΣSigmaStudio Ask AI Русский Log in

Pop noise with activated ASRC

SigmaDSP & SigmaStudio Robin Feb 11, 2013 00:00 1 replies Original on forum ↗
Thread Summary

Thread Summary

The user experiences pop noise on outputs when hot docking a digital source or pausing the source with the ADAU144X DSP. The issue is exacerbated by the ASRC's locking process. A recommended solution is to use a level detector to auto-mute the signal when the input level drops below a threshold, reducing the pop noise. Alternatively, polling the S/PDIF lock bit with an external microcontroller can control a slew volume to mitigate the issue.
AI Generated Content
Subscribe
Robin Question
Feb 11, 2013 00:00

Hi there,

I have a question regarding the sample rate converters in the ADAU144X family.

If I connect a digital source during the DSP is running ("hot docking") I have severe pop noise on the outputs.

Even if I only press the "Pause" button on my digital source (in this case a CD-Player) I reckognize a rather silent click or pop noise.

These problems are almost gone, when I bypass the SRC by using the "SPDIF input" module instead of the "ASRC input" module (in this case the source of course needs to have the same sample rate as the DSP sample rate).

Is there any chance to make use of the "SPDIF input lock bit" (addr 57545) for solving my problems?

Any recommendations are welcome!

Regards,

Robin

ADIApproved Reply
Feb 11, 2013 00:00

Hello Robin,

When suddenly stopping or starting any digital audio source, whether the signal is going through the ASRCs or not, there will be a discontinuity in the output signal as it value instantaneously jumps to zero. This will cause the pop noise that you are experiencing.

The ASRCs will make the problem slightly worse, because they are looking to lock to the incoming sample rate, and it takes a few samples before they are able to do that.

The S/PDIF receiver also needs to lock to the incoming rate, meaning that it will take some time before it stabilizes as well.

The combination of these issues will cause pop noises during "hot docking".

One way to avoid this problem somewhat is to use a level detector in the system to signal if the signal is present or not, and use that as a noise gate when the input is inactive. I have posted a tutorial on using level detection here: https://ez.analog.com/message/7669

I made a small update to the example project to make the signal auto-mute when the input level goes lower than a certain threshold. The logic checks to see if the level is below the threshold, and if it is, then it triggers a slew volume control to go to zero. You can change the speed of the slew rate to tune the performance. This might help reduce the pop sound you're hearing.

Note that this example is shown with an ADAU1701 SigmaDSP in mind, but the idea can easily be ported to any SigmaDSP.

Another option would be to poll the S/PDIF lock bit over the SPI/I2C port using an external microcontroller, and use the status of that bit to manually control a slew volume control. Again, you want to use slew, because instantaneous volume changes are undesired in this situation.

5001.125dce7c6505c06412852130eb984bde.jpg
5001.125dce7c6505c06412852130eb984bde.jpg
5001.125dce7c6505c06412852130eb984bde.jpg-450x277.jpg
5001.125dce7c6505c06412852130eb984bde.jpg-450x277.jpg