DEV Community

zhuyue
zhuyue

Posted on

The relationship between audio echo and distortion

The distortion of the entire audio loop plays a crucial role in the effectiveness of echo cancellation.
After the audio data from the far end is transmitted to the near end, it is digitally gain amplified and converted by the codec DAC to output an analog signal, which is then played into the air by the speaker;
The mic will also capture the sound in the air, adjusted by the analog signal processing circuit to the ADC of the codec, AEC to eliminate echo, after the digital gain amplification to the far end;

The whole circuit may be distorted in the following cases, the amplitude of the audio at the far end exceeds the maximum value after digital gain scaling, resulting in data saturation distortion;

Distortion of the speaker itself;

Distortion of the sound cavity;

The playback aduio is conducted to the MIC through the shell, and the distortion is caused by non-linear vibration;

Saturation distortion caused by the analog signal voltage amplitude exceeding the reference voltage of the ADC for the remote sound retrieved or the local sound captured by the MIC;

All of these distortions need to be tested in detail separately and figured out how to minimize them;

Due to the influence of the front and rear cavities as well as the SPEAKER resonance frequency, the sound cavity has a resonance point in each of the low and high frequency regions, which is prone to nonlinear distortion;

In the actual call test, when keeping silent at the near end, and just give speach at the far end, some fixed words will produce a slight echo at the far end, I recorded the far end data, near end data and the AEC algorithm processed data respectively, used OCTAVE to analyze the frequency spectrum of these three signals;

From the frequency domain, compared with the data transmitted from the far end, the local recorded audio data has other different frequency components, which should be caused by non-linear distortion such as speaker or sound cavity;

And the AEC algorithm determines whether it is an echo or not by comparing the frequency componets, and these frequency components that do not exist in the sound at the far end will not be considered to be echoes and are transmitted to the far end for playback.

And the frequency components of certain fixed words just now fall at the resonance point of the acoustic cavity, causing more severe distortion;

Image description

Image description

Top comments (0)