Mute (No Slew) Unexpected behaviour.
Dear Team ,
We are using the Sigma Studio ver4.5 and ADAU1466 board . We have the Sampling Fs = 192 kHz . The Code is a Simple passthrough code with Flow as described below:
SPDIF Input -> Mute (No Slew)-> SPDIF Output.
We recorded this in APX in which we would perform Mute/Unmute operation several times during the 10s course of the stream duration. The Input Stream is a Sweep Signal 192Fs, -5dB.
The output seems like the Mute happens not as expected.
Can anyone explain this behavior ?
Attaching the recorded wave file for your reference:
Play this audio clip
Regards,
Zayn.
Audio Signal Processors
software
Sigma Studio ver4.5
SigmaDSP Audio Processors
adau1466
Hello Zayn,
Zayn said:
The output seems like the Mute happens not as expected
What exactly are you expecting?
This all seems fine to me. Here is how it works in detail.
First, you are using a mute with no slew. I want to point this out again to others who might be reading this.
The start condition is the audio is unmuted, you can hear the audio.
You click on the GUI in SigmaStudio to mute the audio.
SigmaStudio processes this mouse press into a command to send to the USBi as a command using I2C or SPI depending on your setup.
This command is a write of a new gain factor to the memory address of the gain parameter of the mute object running in the DSP.
The gain factor gets updated in memory.
The next sample period the program reads the gain factor from the parameter RAM. It used to be a "1" in 8.24 format but now it is a zero
It uses this new gain factor to multiply the audio by this number. The result is zero.
Command done.
So the program went from multiplying the audio by 1 to multiplying the audio by zero thereby muting the audio.
There is nothing looking at the audio signal. No way for SigmaStudio to know what the audio is doing. It just sends he command at exactly the time you clicked on it. (well, it has to process the message but my point is the click is fully asynchronous to the audio.)
So it will mute when the parameter is updated. If the audio is up at a higher level then you will hear the click because it is a huge discontinuity.
You told SigmaStudio to mute the audio NOW so it did it.
I am guessing at your expectations.
If you expect the audio to be muted only at the zero crossing then you will have to do that some other way. We do not have a block that does that.
Instead, we have mute blocks with slew. The slew will work a little differently. Once the mute command is passed to the DSP. It is a different parameter. It is a Target Gain. It will gradually change the gain towards the target in very small steps over many sampler periods. This will make the audio fade out slowly or fade in slowly making the mute smooth with no clicks.
It is possible to write a program to make it only mute on the zero crossing but I do not recall ever seeing anyone do this or need to do this.
Again, let me know what your expectations are?
Dave T
Hello, Dave & Zayn,
Besides all that Dave said, abrupt switching even at zero points adds a DC component (thus making clicks) as a mathematical necessity. You'll find a simple demonstration here.
Best regards,
Bob
Thanks Bob!
Hi Dave,
I've been analyzing the waveform and wanted to get your insights based on our recent discussion. When I perform a mute operation while the signal is at its peak (worst-case scenario), I understand that multiplying this peak sample by zero causes the signal to instantly drop to zero, resulting in a pop or click.
However, I've noticed something peculiar in the waveform that makes me uncomfortable. When the signal is multiplied by zero, I expect it to immediately go to zero. Instead, I see the signal crossing the zero line, moving slightly towards the positive axis, and then returning to zero.
Can you help me understand what this transition is trying to tell me? Why does the signal exhibit this behavior instead of settling at zero?
Is this because of ringing or high frequency transients because of sudden change in the signal ?
Regards,
Zayn
Hello Zayn,
Now we are getting into the issue of "What can the DAC reproduce?"
A waveform of a sine wave going directly to zero means it is a theoretical square wave edge. There is a formula for a square wave that is a series of harmonics. You can look it up on Wikipedia. It is an infinite series of odd harmonics. This means that it is not too many terms of this equation for the frequency to go over the Nyquist frequency. It is very possible for a signal to be constructed in a DSP that a DAC cannot reproduce. So what you are seeing is the filters in the DAC that will ring when trying to reproduce this sharp cutoff. The truncation of the squarewave formula will result in some ringing from the missing harmonics.
This is a result of the filters in the DAC and are not a problem nor a sign of instability. If you send a high level square wave out of the DSP you will see this ringing.
Dave T
Please log in to reply.

