System for reducing speakerphone echo

A telecommunication system including a speakerphone provides a coupled signal path, including a microphone, configured to sense an incoming audio signal and an echo signal and generate a coupled signal. The echo signal includes non-linear distortion generated by a speaker of the speakerphone. An echo signal path, including an amplifier, is configured to sense the echo signal and generate an echo reference signal. The echo reference signal includes the non-linear distortion. An acoustic echo canceller is configured to receive the coupled signal from the coupled signal path, to receive the echo reference signal from the echo signal path, and to cancel out the non-linear distortion included in the coupled signal based on the non-linear distortion included in the echo reference signal.

TECHNICAL FIELD

This disclosure relates generally to the design of a full duplex speakerphone to be used in telecommunication systems including stationary applications, e.g., conference speaker phones, and mobile applications, e.g., cellular phones, handset phones and handheld personal digital assistants (PDAs).

BACKGROUND

Telecommunication systems can be capable of operating in a speaker mode in which data is broadcast through the speakers, or in a handset mode in which data is output through an ear piece in the telecommunication system. Audio quality in telecommunication systems, especially in the speaker mode, is a feature that can receive high consideration by customers. Audio quality in the speaker mode can be affected by distortion and echo propagating between the broadcasting speakers and microphones which are co-located on the telecommunication systems. Acoustic echo can arise when sound from the speaker, for example, the earpiece of a telephone handset, is picked up by the microphone. Such echo can also occur in any communications scenario where there is a speaker and a microphone. Distortion can occur by overdriving the loudspeaker or physical coupling of vibrations from the loudspeaker to the microphone through the telephone. Acoustic echo and distortion during a conversation can be distracting to call participants.

DETAILED DESCRIPTION

The following disclosure discusses a full duplex speakerphone, including for smaller form factor mobile handsets. The disclosed systems and methods can include an advantage over conventional acoustic echo cancellation (AEC) techniques which in some instances may be limited due to poorly designed acoustics, less efficient components and distortion in the echo path due to loudspeaker or other transducer overdriving. The disclosed systems and methods can use hardware to estimate and reduce acoustic echo and/or speaker or earpiece distortion, such as caused by speaker overdriving or physical coupling, e.g., vibrations of the loudspeaker that transfer to the microphone via a handset casing. The systems and methods may be used for various applications such as hands-free car phone systems, standard telephones or cellphones in speakerphone or hands-free mode, dedicated standalone conference phones, and installed room systems which use ceiling speakers and microphones on the table. The disclosed systems and methods can also help in systems having small loudspeakers that when overdriven easily go into saturation to create non-linear sounds which can be difficult for the echo cancellers to handle.

FIG. 1is a block diagram of a full duplex telecommunications system120operating in speaker mode. For speech broadcast, the telecommunications system120receives an input signal109, including audio content, from a communications link (e.g. phone line, or mobile) that is to be broadcast through the speakers116. Based on the input signal109, audio processing and speech coder (speech coder)110, or other digital signal processor (DSP) generates a clean signal111including the audio content to be broadcast. The clean signal111is substantially devoid of any distortion or noise from subsequent processing or the local environment. This is because the speech coder110generates the clean signal111without any prior knowledge of non-linear distortion that is generated by driver amplifier114and/or the speakers116. The clean signal111can be further processed by codec104which may include some signal processing blocks such as mixer or equalizer112before being provided to speaker driver114. Some non-linearity may be added to the clean signal111prior to being played by speaker116. An exemplary CODEC is model number BCM21553 manufactured by Broadcom Corporation.

For signal/speech reception, system120includes a microphone100, programmable gain amplifier102, codec104, equalizer106, active acoustic echo canceller (AEC)108, and the speech coder110. During speech reception, main microphone100captures an incoming audio signal (e.g. speech) that is amplified by programmable gain amplifier (PGA)102, and then processed by codec104to produce a coupled signal105that is equalized by equalizer106. The PGA102may provide gain from about −0 dB to about 42 dB. The output of equalizer106is provided to the AEC108in addition to the clean signal111that represents any co-existing broadcast from speaker116. The output of the AEC108is provided to the speech coder110, which then produces an output signal119to be provided to the communications link (e.g. phone line, or mobile).

Some measure of any broadcast output from speaker116will be undesirably picked-up by the main microphone100. However, since the clean signal111is known, then the AEC108can cancel the clean signal111content from coupled signal105, to at least partially mitigate this effect. The AEC108can include a least mean square (LMS) or other type of adaptive filter based echo canceller.

However, in the speaker phone mode (as opposed to the handset mode), the speakers116of a telecommunication system, shown inFIG. 1, can be over-driven by speaker driver114forcing the speakers116to enter and operate in their saturation regions, which is turn leads to the generation of non-linear harmonics and distortion. This non-linear distortion is picked up or sensed by the main microphone100of the telecommunication system along with desired audio and background noise, and is therefore included in the coupled signal105.

The AEC108attempts to model and cancel-out the non-linear distortion included in the coupled signal105based on the clean signal111received from the speech coder110. However, the speech coder110generates the clean signal111based on input signal109by running algorithms which do not account for the non-linear distortion included in the coupled signal105. That is, the speech coder110generates the clean signal111without any prior knowledge of the non-linear distortion, occurring due to the over-driven speakers, included in the coupled signal. As such, the clean signal111may not enable the AEC108to identify the non-linearities which are responsible for the non-linear distortion. The AEC108may not be able to accurately model and cancel out the non-linear distortion. Therefore, the AEC108may attempt to use non-linear processing to model the distortion, which may produce poor duplex audio performance in speaker phone mode of the telecommunication system.

FIG. 2is a block diagram of a full duplex telecommunications system200operating in speaker mode. In addition to the components of the system120described inFIG. 1, the system200can include a resister210and programmable gain amplifier (PGA)220. The resister210can include a resister ladder to provide variable resistance and the PGA220can include other amplifiers, such as non-programmable gain amplifiers. The register210and PGA220can allow a resistive change value form about 1 ohm to about 0.1 ohms. The resistances can be set depending upon an implementation, such as prior to delivering the system to a customer. The PGA220may provide gain from about −0 dB to about −20 dB.

The PGA220connects with analog to digital converter (ADC)230, such as an available ADC on CODEC104or another ADC. The CODEC104can also include digital to analog converter (DAC)240which connects EQ112with the speaker driver114, and ADC250which connects PGA102to EQ106. In this way, incoming analog signals can be converted to digital signal for processing by the speech coder110, and processed digital signals from the speech coder110can be outputted as analog signals to the loudspeaker116. Different types of loudspeakers and speaker drivers can be used. For example, in an integrated hands-free speakerphone architecture the speaker driver can include a class D amplifier and the loudspeaker116can include a speakerphone loudspeaker, and for a handset architecture the loudspeaker114can include a class AB amplifier and the loudspeaker116can include an HS/HD loudspeaker.

The resister210and the PGA220can operate with various loudspeaker/speaker driver combinations to feed an echo reference signal260from the loudspeaker116to the speech coder110. By being attached to the loudspeaker116, the echo reference signal260can include the down link (DL) signal270sent to the speaker driver114from the communication networks plus any distortion due to the loudspeaker116, including distortion from a signal drive level of the loudspeaker116. Both the coupled signal105and the echo reference signal260are sent to the AEC108before being inputted to the speech coder110.

Using the echo reference signal260as an echo and distortion reference, the AEC108can remove DL noise, echo and distortion from the coupled signal105. The AEC108can take the echo reference signal260and use it to subtract out at least some of the non-linear distortion included in the coupled signal105. The subtracting operation can include at least one of introducing a delay in at least a part of the echo reference signal260, inverting a phase of the echo reference signal260, and regulating an amplitude of the echo reference signal260. Since the echo reference signal260can provide information about speaker distortion, there may be no need to try to model the distortion at the AEC108because the distortion is being fed back to the AEC108. In addition, existing AEC algorithms can be used with little or no modification. Feeding the echo reference signal260back to the AEC108can allow for non-linear distortion and noise to be handled by the system200in a linear way. Echo cancelling at AEC108can also converge faster and model the echo path more rapidly. Therefore, rapid echo cancellation and full duplex performance can be possible by adding the PGA220or other similar hardware to the system200. This approach can further simplify the audio control and make other operations simpler. With the use of hardware to pick speaker distortion, the system200can allow estimation of distortion caused by the loudspeaker116overdriving, and echo can be canceled more effectively, e.g., there can be less echo residual in the system200.

FIG. 3is a block diagram of a full duplex telecommunications system300operating in speakerphone mode. In this example the system300includes a pre-distortion filter310connected to the AEC108to pre-distort echo cancelling reference signals for processing by the AEC108. The pre-distortion filter310, or other adaptive type filter, can receive the coupled signal105inputted at the microphone100, the echo reference signal260returned from the loudspeaker116and the DL signal270received from the communications network to help determine echo path distortion. The coupled signal105which can include echo, distortion and BG noise (background noise), minus the echo reference signal260and the DL signal270, can be used by the pre-distortion filter310to pre-distort echo reference signal320to the AEC108to further enhance AEC performance. This can allow the AEC108to better model echo precisely in enhancing the non-linear echo canceller performance, such as if there is non-linearity caused by plastic vibrations.

FIG. 4is a block diagram showing exemplary audio signal paths in a device400such as a mobile device. An input signal402, such as an audio data signal received from the communications network, can be decoded at decoder404for output by the speaker406or other transducer. The speaker can be driven by a power amplifier408. Before being provided to the power amplifier408, a clean signal output by the decoder404can be further processed by filter/equalizer412and the volume can be controlled by volume control414.

An acoustic echo signal (a)416may travel from the speaker406to a microphone420and be combined with an incoming audio signal418, such as incoming speech or no incoming signal, at the microphone420. Before being passed to the communications network as output signal422, signals from the microphone420can be processed by one or more of an analog-to-digital converter (ADC)424, a filter/equalizer426, an echo canceller (EC)428, a nonlinear processor/noise suppressor (NLP/NS)430and encoder432. To aid with echo cancellation, a condition signal (c)440, such as the echo reference signal260inFIGS. 2 and 3, can be sent to the echo canceller428via filter/ADC442. The condition signal (c)440originates from the speaker406and therefore can cause distortion at the speaker406due to an overdriving loudspeaker. An adaptive filter446can take the condition signal (c)440, model the echo path and then subtract it from the coupled signal448, including the acoustic echo signal418and the incoming audio signal418received at the microphone420.

Without the adaptive filter446, mobile phones in a high volume (big loudness) speaker mode, can otherwise be a challenge to echo cancellation. In some cases, the microphone420picks-up of the speaker acoustic echo signal (a)416from an echo path about 2 cm to 10 cm from the speaker406to the microphone420, depending on a model of the phone. Using the adaptive filter446the echo canceller428can cancel the linear part of echo signals while NLP/NS430can suppress the echo residuals outputted from the echo canceller428output.

The linear part of the echo signals includes the downlink signals (d)444in the audio path. The downlink signal (d)444can be input to the adaptive filter446to correlate with the echo signal for its cancellation. It can be common in mobile phones that the signal picked up by the microphone420is highly distorted from the downlink signal (d)444, such as due to speaker-overdriving by high volume requirements. As such, the microphone pick-up signal can include components uncorrelated with the downlink signal (d)444which may not be cancelled by the echo canceller428. Strong echo residuals can be pushed to the NLP/NS430which the NLP/NS430may suppress using high gains. However, double-talk performance can be compromised by imposing high NLP gains. Therefore, the condition signal (c)440is input to the echo canceller428to represent the real output signal condition of interaction between the speaker406and the power amplifier408. The condition signal (c)440can closely correlate to the speaker acoustic signal to provide for more effective echo cancellation, such as measured by ERLE (echo return loss enhancement), than if the condition signal (c)440were not input. Therefore, the echo canceller428can cancel most of the echo signal and leave less signal residual for the NLP/NS430to handle.

FIG. 5is a graph of a typical spectrum analysis illustrating the signals ofFIG. 4. The downlink signal (d)444is a digital signal and has no interaction with the speaker406or other transducer. The condition signal (c)440is an analog condition signal output by the power amplifier408and having interaction information between the speaker406and the power amplifier408. The acoustic echo signal (a)416can travel between the speaker406and the microphone420. In mobile phone applications a distance of the acoustic path between the speaker406and microphone420can be from about 2 cm to 10 cm, which can translate into a time delay of about 0.06 ms to 0.3 ms from the speaker406to the microphone420. As illustrated by this spectrum analysis, there can be a high correlation between the condition signal (c)440and the acoustic echo signal (a). Therefore, reducing the coupled signal448by the condition signal (c)440can aid in cancelling the acoustic echo signal416or other distortion from the coupled signal448. This can make it easier for the echo canceller428to perform echo cancellation and there can be less need to rely on the NLP/NS430for cancellation of unwanted echo, distortion and/or noise.

FIG. 6illustrates some exemplary telecommunication systems600,602,604which can utilize the full duplex speakerphone according to the echo cancelling systems and methods. Benefits of the systems and methods may include being able to estimate distortion caused by speaker overdriving so that the echo can be cancelled effectively, e.g., less echo residual. Since the reference signal can also include speaker distortion which in turn may be same as the coupled signal, this can allow echo cancelling to converge faster and the echo path to be modeled rapidly to provide rapid echo cancellation and full duplex performance.

Advantages of the echo cancelling systems and methods may include no need for special modification on acoustics, no special tuning step required by the customer, and no complex echo cancelling algorithm may need to be used for modeling non-linearity, such as those caused by overdriving loudspeakers and power amplifiers. Therefore, there may not be a need to return phones from the customer for tuning. This can reduce production time by several weeks. In some cases, the systems and methods can be used with existing echo cancelling algorithms and any additional acoustics modifications may not be required. A linear echo cancelling algorithm used with these systems and methods my act as non-linear echo cancelling with little or no modification. If the CODEC chip already includes an extra, unused analog to digital converter and registers, the systems and methods may require minimum additional hardware costs to implement.

The systems and methods can provide for automatic tuning of the AEC; reduced development time; reduced software processing time (MIPS) which otherwise may be required to model non-liner distortion; and differentiators in a quality of products regardless of the loudspeaker or earpiece receiver type or acoustic model. With the echo reference signal being fed to the AEC, the AEC can account for loudspeaker distortion prior to sending a signal to the speech coder. The echo reference signal can have knowledge of echo path distortion and as a result can provide echo reduction such as for less expensive or smaller devices, or devices with poorly designed acoustics. This can result in improved double talk performance, such as due to speaker distortion, including distortion from less expensive loudspeakers or poorly designed loudspeaker cavities and low cost handsets.

The systems, methods, devices, and logic described above may be implemented in many different ways in many different combinations of hardware, software or both hardware and software. For example, all or parts of the system may include circuitry in a controller, a microprocessor, or an application specific integrated circuit (ASIC), or may be implemented with discrete logic or components, or a combination of other types of analog or digital circuitry, combined on a single integrated circuit or distributed among multiple integrated circuits. All or part of the logic described above may be implemented as instructions for execution by a processor, controller, or other processing device and may be stored in a tangible or non-transitory machine-readable or computer-readable medium such as flash memory, random access memory (RAM) or read only memory (ROM), erasable programmable read only memory (EPROM) or other machine-readable medium such as a compact disc read only memory (CDROM), or magnetic or optical disk. Thus, a product, such as a computer program product, may include a storage medium and computer readable instructions stored on the medium, which when executed in an endpoint, computer system, or other device, cause the device to perform operations according to any of the description above.

The processing capability of the system may be distributed among multiple system components, such as among multiple processors and memories, optionally including multiple distributed processing systems. Parameters, databases, and other data structures may be separately stored and managed, may be incorporated into a single memory or database, may be logically and physically organized in many different ways, and may implemented in many ways, including data structures such as linked lists, hash tables, or implicit storage mechanisms. Programs may be parts (e.g., subroutines) of a single program, separate programs, distributed across several memories and processors, or implemented in many different ways, such as in a library, such as a shared library (e.g., a dynamic link library (DLL)). The DLL, for example, may store code that performs any of the system processing described above.