How to do a "Squelch" implementation in SigmaStudio
Hello forum members,
I turn to you guys hoping someone has come across this before me, and has come up with an implementation....
My system consists of an ADAU1452 DSP core and a couple of AD1938 codecs. Everything working nicely.
What I'd like to do is to be able to squelch (=mute) an input when its signal falls below a certain, settable, level. In theory, this can be done by detecting the RMS level on the input, do a comparison with the threshold level and let the result control a mute function. However, I've so far not been able to figure this one out myself. Ideally, it should also include a timing factor so that short impulse signals can be filtered out from opening the squelch circuit.
Thanks,
Lars
Audio Signal Processors
adau1452
ad1938
Integrated/Special Purpose A/D Converters
SigmaDSP Audio Processors
Audio CODECs
Show More
Hello Lars,
Congrats on your working prototype board. What you're looking for is also often called a noise gate. One possible implementation is shown below.
The RMS Running Average envelope follower measures your input signal. Its top adjustment, rms TC allows you to set how fast this responds to transient sounds, thus you can set it to ignore short transients as desired (If you need a more explicit timer that can be arranged). The DC Block Filter is always recommended when dynamic blocks are in use, as these blocks respond down to DC and the ADCs sometimes have a DC offset.
First set the Clipper to a high value to get it out of the way. Adjust the Threshold DC Source to the desired mute level. Then reset the clipper to about twice that level. Its purpose is to keep excessively high levels out of the RMS Envelope follower -- after all, once threshold is exceeded, the noise gate need not know anything more -- and high levels cause excessive decay times and would allow short but loud transients to blast through.
Finally, adjust the Slew Ext Volume Control for the desired switching speed up and down. I attached a project tested on the -ADAU1452 mini eval board, of course its HW settings may not match your custom board.
You also have enough power in this DSP to set up some really interesting concepts, such as a frequency-selective noise gate -- for an example made for a ADAU1446 which could easily be adapted, see https://ez.analog.com/message/181685#181685
Best regards,
Bob
This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.
Thank you,
EZ Admin
Please log in to reply.

