FUNCTIONAL DESCRIPTION

The above figure is a simplified block diagram of the HD Acoustic Echo Canceller.
The top half of the diagram shows the receive signal path, or the signal path from the telephone network to the speaker. The bottom half of the diagram shows the transmit signal path from the microphone toward the telephone network. The HD AEC cancels the echo that occurs between the speaker output and the microphone input.
The terms Rx (Receive) and Tx (Transmit) may be confusing at first because both the receive and transmit paths have inputs and outputs. The names receive and transmit are used from the point-of-view of the person at the speaker/microphone side.
The RxIn signal coming from the network is fed into the RxNLP (Receive Nonlinear Processor). Under difficult acoustic conditions, the RxNLP can improve full-duplex operation and hence the overall voice quality.
The output of the RxNLP is fed both to the transmit output (TxOut) and into the bulk delay block. The bulk delay block compensates for the buffering delay at the RxOut and TxIn interfaces as well as any other non-acoustic system delays in the path between RxOut and TxIn. The output of the bulk delay is fed to the adaptive filter.
The adaptive filter estimates the echo and subtracts it from the TxIn signal to form the residual signal.
The residual signal is fed to the noise reduction block. This noise reduction block removes background noise and therefore improves the signal to noise ratio of the transmit signal.
The adaptive filter works in conjunction with the bulk delay monitor, which monitors and adjusts bulk delay in situations where the bulk delay is unknown due non-deterministic audio drivers.
The output of the noise reduction block is fed into an equalizer. The equalizer is used to flatten out the frequency response of the transmit channel. This may be necessary due to the acoustics of the hands-free device and due to the characteristics of the microphone itself.
The output of the transmit equalizer is fed into the transmit non-linear processor (TxNLP). The TxNLP increases the echo attenuation by attenuating the residual by a variable amount based upon the talk state. The TxNLP block also includes a comfort noise generator.
Automatic Gain Control (AGC) is provided to help boost lower level speech signals in hands-free environments. The compute gain block computes the AGC gain. The output of the TxNLP is fed into the AGC gain block, which provides gain or loss depending upon the residual signal level. The output of the AGC is fed to the TxOut output of the AEC.
In the multi-microphone case, there is still a single receive path but there is one transmit path per microphone.
In the case of multi-microphone noise reduction, there is a single receive path, a complete transmit path for the primary microphone, and a partial transmit path for the secondary microphone. In this case, there are two transmit inputs (one for each microphone) but only one transmit output containing the echo cancelled and noise reduced signal.