An audio communications system has an acoustic echo cancellation (AEC)
module. The AEC module receives a digital signal sent to a loudspeaker
and a digital signal received from a microphone. The signal received from
the microphone contains an echo of the signal played through the
loudspeaker. The loudspeaker signal is processed by an audio generation
module (AGM) that models substantially nonlinear distortions that can
occur while producing the signal played through the loudspeaker. The AGM
includes a modeling path comprised of one or more distortion modules.
Each distortion module receives digital samples as input, modifies the
samples to model a form of distortion, and outputs the modified samples.
The output of the AGM is provided to an acoustic echo estimation (AEE)
module that uses adaptive algorithms to compensate for substantially
linear changes in the echo characteristics of the environment in which
the loudspeaker and microphone are located.