In order to maintain a constant energy output speech signals, an automatic (or adaptive) gain controller (AGC) is used. The main function of AGC in early years was to maintain a constant energy output signal. Of course, this is attainable is wireless, ZigBee, radar, etc., which are narrow band signals but unrealistic for wideband signals like speech. An alternate approach is to rather maintain a constant peak amplitude signal to prevent saturation. Thus, an AGC in speech processing seeks to amplify samples such that a predetermined peak amplitude is attained. The original design of AGC was for amplifying samples which contained the desired target signal for majority of the time, upwards of $latex 90\\%$. In speech however, the background noise accounts for majority of the samples. Thus, an AGC applied to all samples will amplify undesired background noise. To deal with this, a nonlinear decision on whether samples are speech or background noise needs to be used. A speech activity detector (VAD) is used to accomplish this using any of the well known discriminating algorithms for speech and background noise. A generalized implementation block diagram is illustrated in Figure 1 below: Figure 1: Block diagram of AGC implementation for speech The input signal is first checked using a VAD, with a binary output. Then input signal and the VAD values are then fed to the AGC function block. A feedback control signal is also fed into the AGC function. It should be noted that the feedback is not generated from the output signal directly but rather the peak samples of the output signal. The error signal is used to generate a dependent transfer function to control slew rate of the controller. VOCAL Technologies offers custom designed solutions for beamforming with a robust voice activity detector, acoustic echo cancellation and noise suppression. Our custom implementations of such systems are meant to deliver optimum performance for your specific beamforming task. Contact us today to discuss your solution!