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

How to do a "Squelch" implementation in SigmaStudio

SigmaDSP & SigmaStudio LarsHaagh Aug 5, 2015 00:00 2 replies Original on forum ↗
Subscribe
LarsHaagh Question
Aug 5, 2015 00:00

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

KJBob Reply
Aug 6, 2015 00:00

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

4188.208f9ab8249298cf3bf7d8d64a235b15.png
4188.208f9ab8249298cf3bf7d8d64a235b15.png
4188.208f9ab8249298cf3bf7d8d64a235b15.png-620x241.png
4188.208f9ab8249298cf3bf7d8d64a235b15.png-620x241.png
EZAdministrator Reply
Aug 2, 2018 00:00

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