Voice telephony has been designed and implemented using narrowband technology. Narrowband technology transmits voice in the frequency spectrum substantially around the range 0 to 4000 hertz (Hz). User demand and efficient wideband coding technology make it possible to double the frequency range to 0-8000 Hz. A wideband coder/decoder (codec) may be used to encode and decode signals and may use different methodology in encoding and decoding signals in the low band (0-4000 Hz) and the high band (4000-8000 Hz) frequencies.
Echo may result when users are participating in a communication session. Echo cancellers are provided to cancel echo that may result when one or more parties are speaking. For example, when a first party is in a point-to-point connection and is talking at the time, an echo canceller oriented toward the second party end device cancels any talker echo that is reflected from the second party's end device. The echo canceller may be able to cancel signals that are linear and time invariant (LTI) using an adaptively updated convolution processor. The convolution processor may estimate the echo signal and inject an inverse of the echo signal to cancel it. Codecs and other non-linear elements in the transmission path may introduce distortion, which causes signals to be non-linear and time-variant in the low band. Further, in a wideband communication session, even when the signals in the low band are linear and time invariant, signals in the high band may be non-linear and time-variant resulting in high band echo that is non-linear and time-variant. The convolution processor may not be able to cancel the non-linear and time-variant signals. Accordingly, a non-linear processor (NLP) may be used to further reduce or eliminate echo signals that are non-linear and time-variant. While the convolution processor analyzes the signals to inject the inverse removing the echo, the non-linear processor, which may act as a center clipper, attenuates any signals within a certain range when it is enabled. Any signals that are not canceled by the convolution processor may be attenuated by the non-linear processor when it is enabled.
A doubletalk condition occurs when multiple users speak at the same time. In this case, the echo cancellers experiencing the double-talk condition operate differently. For example, during double-talk, the non-linear processor experiencing double-talk is disabled from the transmission path. The non-linear processor is disabled because it otherwise would attenuate all signals. If the first and second users in a conference with many users are causing the double-talk condition, and the non-linear processors experiencing the double-talk are not disabled, the non-linear processors would attenuate the speech of the two users so neither could be heard by the other users. The non-linear processor is disabled for this case. The convolution processor may still remove echo in the low band; however, the echo in the high band may not be attenuated and thus users in the conference may hear any high band echo generated.