The invention will now be described in more detail, by way of example only, with reference to the accompanying drawings, in which:—
The automatic gain control circuit shown in
The codec analog gain normally has a larger step size than the digital gain. A 6 dB step is very common for analog gain. In order to control the slow variation of the gain slowly, the digital gain is changed. The overall gain applied to the input signal is a combination of these two gains.
As shown in
The gain adjustment block 10 comprises a first comparator 13 connected to a block 14 for reducing the analog gain and a second comparator 28 connected through AND gates 15 and 16 to a block 16 for increasing the analog gain. The first AND gate 15 has one input receiving a speech flag generated by a speech detector (not shown).
When the gain adjustment block first starts, it compares the signal power Ps of the input signal with a high threshold value γh. If the signal power from microphone is above the high threshold γh, the microphone is saturated and the block 14 is activated to reduce the analog gain of the codec by one step (normally 6 dB).
The signal power PS is also compared with a low threshold γl. If the signal power is above the threshold, the comparator 28 does not present an output and nothing changes. If the signal power is below the low threshold γl and speech is present, it means that signal power is too low. In this case a small gain step μ is added by the multiplier 18 to the digital gain signal Gd, which controls the digital gain of the codec.
The detection of speech activity is important to make sure that the gain will not be increased in the presence pure noise. When speech is not present, a low noise power should not trigger the digital gain increase because the comparator 15 will not generated an output.
The two threshold γl and γh should not be the same and there will be noticeable difference between them (γh>γl). γh is the saturation threshold and γl should be well below γh for two reasons because the microphone should not always work around saturation level. It is necessary to maintain a certain dynamic range for the peak signal power. Also, it is very important to maintain a stable microphone gain for both good echo cancellation and high speech quality.
A stable microphone gain is maintained when signal power ranges between γh and γl. This signal power range is called the Dead-Zone because in the DeadZone, the microphone gain will not be adjusted.
Ideally, the ADC analog gain should be maintained to maintain the maximum dynamic range for the codec. As noted above digital gain is used to increase the gain slowly because the analog gain normally has a large step size. Therefore, when the digital gain is above certain value γc, the analog gain can be increased by 6 dB and the digital gain reduced at the same time by 6 dB (divided by 2) so that the total gain remains the same. This is achieved by comparator 20, divider 21 and Mux 22. When the digital gain Gd exceeds the threshold γc, and an output signal is present from the comparator 15, the comparator 16 selects the input 1 of the Mux 22 to divide the digital gain signal by a factor of 2. At the same time the output of the comparator 16 activates the block 17 to increase the analog gain by 6 db, resulting in a net gain change of zero.
The described circuit thus rapidly increases the overall gain (in large steps) when the input signal saturates, but decreases it more slowly (in smaller steps) when the input signal falls below the low threshold.
A flow chart illustrating the operation of the automatic microphone gain control circuit is shown in
The actual parameters used in the mobile acoustic echo canceller depend on the particular application and will be selected by a person skilled in the art. γh is the signal saturation level, and its value depends on the particular codec being used. Codec dynamic range and linearity range determine its value. Normally, this level is around 0 dBm0 to 9 dBm0 for voice applications.
γl is the minimum signal level sent from codec for acoustic echo cancellation. For better echo cancellation performance, this level should be increased to give a better dynamic range. However, to stabilize microphone gain for both speech quality and echo cancellation, it is important to maintain a sufficiently large dead-zone, In general γl should at least 6 dB below γh. Typically, γl should chosen 6-12 dB below γh.
The value of the counter threshold depends on how many data frames are needed for the signal power update. For speech applications, this value can be chosen around 16000 for an 8 KHz sampling frequency.
γc is the maximum digital gain which can be applied to the codec input signal. To get a large signal dynamic range, it is preferable to use as much analog gain as possible. In general, γc should be given the value 1. In such a case, Gd varies between 0.5 and 1.
The ADC_gain step size is typically 6 dB.
The value of μ should be small for slow gain variation. It makes echo cancellation more stable. However, if μ is too small, the microphone may stay in the low gain for too long and far-end listener may complain that the speech volume is too small. A suitable value for μ is 0.01, although for different applications, much more variation on μ is always possible.
When the noise condition improves, the automatic gain control circuit should release the gain reduction (that is increase gain) slowly. If the gain is increased too fast, it will cause both unstable echo cancellation and variation in speech level. If the gain is released too slowly, the far-end listener may experience too low a speech level for a long time.
To overcome this problem, an inverse AGC function 46 is added in
Number | Date | Country | Kind |
---|---|---|---|
0616950.2 | Aug 2006 | GB | national |
This application claims the benefit under 35 USC 119(e) of prior U.S. provisional application No. 60/754,688 filed Apr. 26, 2006.
Number | Date | Country | |
---|---|---|---|
60745688 | Apr 2006 | US |