This invention relates to a telephone employing echo canceling circuitry and, in particular, to echo canceling circuitry that includes a path change detector.
As used herein, “telephone” is a generic term for a communication device that utilizes, directly or indirectly, a dial tone from a licensed service provider. As such, “telephone” includes desk telephones (see
There are two kinds of echo in a telephone system, an acoustic echo between an earphone or a loudspeaker and a microphone and electrical echo generated in the switched network for routing a call between stations. In a handset, acoustic echo is typically not much of a problem. In speaker phones, where several people huddle around a microphone and loudspeaker, acoustic feedback is much more of a problem. Hybrid circuits (two-wire to four-wire transformers) located at terminal exchanges or in remote subscriber stages of a fixed network are the principal sources of electrical echo.
One way to reduce echo is to program the frequency and phase response of a filter to match the frequency and phase response of an echo path. A filter typically used is a finite impulse response (FIR) filter having programmable coefficients. The echo is subtracted from the echo bearing signal at an input. This technique can reduce echo as much as 30 dB, depending upon the coefficient adaptation algorithm. Additional means using non-linear techniques are typically added to further reduce an echo. Approximating a solution for an adaptive filter is like trying clothes on a squirming child: the input signal keeps changing. At one extreme, sudden and/or large changes can upset the approximation process and make the process diverge rather than converge. At the other extreme, a low echo to noise ratio can cause instability.
Convergence relates to a process for approximating an answer. In high school, one is taught how to calculate the roots of a quadratic equation f(x)=0 from the coefficients of the terms on the left side of the equation. This is not the only way to solve the problem. One can simply substitute a value (a guess) for x in the equation and calculate a result. The guess is modified depending upon the difference (the error) between the calculated result and zero. The error could be as large numerically as the guess. Thus, some fraction of the error is typically used to adjust the guess. Hopefully, successive guesses come closer and closer to a root. This is convergence. Calculations stop when the size of the error becomes arbitrarily small. If there is overcorrection, the error becomes progressively larger. This is divergence. For a human being, this approach is time consuming and boring. For a computer, this approach is extremely useful and applicable to many situations other than solving quadratic equations.
A digital signal processor (DSP) can be programmed according to any one of the several available algorithms, which generally provide rapid convergence. If the echo path changes slowly, there is usually no problem. Thus, telephones using a handset usually do not present a problem. Abrupt changes, which are more likely with a speakerphone, for example, can cause the algorithm to diverge. Divergence is also more likely in algorithms with an adjustable step size; i.e. the step size is increased when it should not be increased. When there is divergence, one of two things will happen. The system will eventually sense divergence and reset by going to half duplex mode or the system may produce echoes, if not noticeably distort the desired signal. In a worst case, both events happen, distortion followed by an eerie silence.
Adding a path change detector potentially adds the problem of false positive indications of a path change. The result is the same as for divergence. Thus, the problem is to cure one problem without making new ones.
In the prior art, U.S. Pat. No. 5,477,534 (Kusano) discloses monitoring abrupt changes in the coefficients of the FIR filter and modifying the abruptly changing coefficients to prevent divergence. U.S. Pat. No. 6,240,128 (Banerjea et al.) disclose preventing divergence by synchronizing sampling rates in the system.
In view of the foregoing, it is therefore an object of the invention to provide an efficient adaptive filter that is stable during abrupt changes in the echo path.
A further object of the invention is to provide a path change detector that is not prone to false positives.
The foregoing objects are achieved in this invention in which a path change is detected by multiplying the power of a signal on the output of a summation circuit in one channel of a telephone by a constant to produce a product. The product is compared with the power of a signal on the input of the summation circuit. A path change is indicated when the power of the product exceeds the power of a signal on the input of the summation circuit. Preferably, the comparison is made in successive frames of an audio signal and a path change is indicated when the power of a signal on the input of the summation circuit is exceeded in two or more successive frames.
A more complete understanding of the invention can be obtained by considering the following detailed description in conjunction with the accompanying drawings, in which:
Those of skill in the art recognize that, once an analog signal is converted to digital form, all subsequent operations can take place in one or more suitably programmed microprocessors. Reference to “signal”, for example, does not necessarily mean a hardware implementation or an analog signal. Data in memory, even a single bit, can be a signal. In other words, a block diagram can be interpreted as hardware, software, e.g. a flow chart, or a mixture of hardware and software. Programming a microprocessor is well within the ability of those of ordinary skill in the art, either individually or in groups.
This invention finds use in many applications where the electronics is essentially the same but the external appearance of the device may vary.
The various forms of telephone can all benefit from the invention.
A cellular telephone includes both audio frequency and radio frequency circuits. Duplexer 55 couples antenna 56 to receive processor 57. Duplexer 55 couples antenna 56 to power amplifier 58 and isolates receive processor 57 from the power amplifier during transmission. Transmit processor 59 modulates a radio frequency signal with an audio signal from circuit 54. In non-cellular applications, such as speakerphones, there are no radio frequency circuits and signal processor 54 may be simplified somewhat. Problems of echo cancellation and noise remain and are handled in audio processor 60. It is audio processor 60 that is modified to include the invention. How that modification takes place is more easily understood by considering the echo canceling and noise reduction portions of an audio processor in more detail.
A new voice signal entering microphone input 62 may or may not be accompanied by a signal from speaker output 68. The signals from input 62 are digitized in A/D converter 71 and coupled to summation circuit 72. There is, as yet, no signal from echo canceling circuit 73 and the data proceeds to non-linear filter 74, which is initially set to minimum suppression.
The output from non-linear filter 74 is coupled to summation circuit 76, where comfort noise 75 is optionally added to the signal. The signal is then converted back to analog form by D/A converter 77, amplified in amplifier 78, and coupled to line output 64. Data from the four VAD circuits is supplied to control 80, which uses the data for allocating sub-bands, echo elimination, double talk detection, and other functions. Control circuit 40 (
In accordance with the invention, the PCD monitors the ratio of energies to and from summation circuit 72. The comparison can be made more suitable for software calculations by rearranging terms to replace the division by multiplication and by using a multiplier that is a reciprocal that can be calculated during initialization.
The output from the PCD is true when the AEC is divergent. In normal operation, an AEC should diverge only when the echo path has changed. Other conditions can cause an AEC to diverge and cause the PCD to produce a false positive. One such condition is handset mode. In handset mode, near-end speech is much louder than an echo. If the AEC is allowed to adapt during double talk, it will diverge because of the louder near-end speech and the PCD will produce a false positive. False positives cause the system to spend more time in half-duplex mode than it should. Path change detection can be turned off during handset mode (detected elsewhere in audio processor 60,
Nevertheless, incorrect indications of path change can be a problem in normal system operation and further processing of positive indications is provided in accordance with the invention. Several qualifications and hold offs are provided to reduce the chance of false positives.
In
Comparator 86 prevents PCD 81 from operating unless there is a good likelihood of an echo signal to analyze. If there is no (or minimal) echo from the speaker, or there is no (or minimal) microphone input energy, then the input signal to the PCD is small. In such a situation, noise will begin to dominate, resulting in incorrect indications of path change. To prevent this, comparator 86 looks at the input to summation circuit 72 and compares it with a threshold. If the signal energy, or amplitude, is below the threshold, comparator 81 is prevented from producing an output. Alternatively, the output of comparator 81 can be prevented from changing state.
Spurious changes in the energy of signals can cause false positives. Path changes generally result from slowly changing conditions. In accordance with another aspect of the invention, responses to rapid changes are avoided by adding register 87, which acts as a filter to prevent false positives. The indication of a path change must be true for a consecutive number of audio frames before it is regarded as a valid path change. The number is not critical and is readily determined empirically to suit the particular environment of a telephone.
The output of register 87 also smoothes the results by providing a hold off period when a path change is detected. During the hold off period, path change is not detected and it is assumed that the path does not change until after the hold off period . This prevents incorrect indications resulting from the echo path continuing to change and from the echo cancellation operation changing during adaptation.
For example, if one requires five positive outputs as an indication of path change, register 87 can be implemented as a five bit shift register. The five bits, 11111, are logically AND-ed to produce a logic “true” output signal. After the output goes true, there is a delay of five bits, or five audio frames, until the output goes “false,” enabling detection. Two registers could be used instead of one to provide unequal amounts of delay.
The output of register 87 is coupled to echo canceling circuit 73 and non-linear processor 74. When the output of register 87 is true, echo canceling is disabled and non-linear processing is enabled.
The invention thus provides an efficient adaptive filter that is stable during abrupt changes in the echo path and is not prone to false positives.
Having thus described the invention, it will be apparent to those of skill in the art that various modifications can be made within the scope of the invention. For example, circuits 72 and 83 (
Number | Name | Date | Kind |
---|---|---|---|
4972406 | Dedic | Nov 1990 | A |
5477534 | Kusano | Dec 1995 | A |
5745564 | Meek | Apr 1998 | A |
5764753 | McCaslin et al. | Jun 1998 | A |
6035034 | Trump | Mar 2000 | A |
6185300 | Romesburg | Feb 2001 | B1 |
6212273 | Hemkumar et al. | Apr 2001 | B1 |
6226380 | Ding | May 2001 | B1 |
6240128 | Banerjea et al. | May 2001 | B1 |
6351531 | Tahernezhaadi et al. | Feb 2002 | B1 |
6507652 | Laberteaux | Jan 2003 | B1 |
6775653 | Wei | Aug 2004 | B1 |
6792106 | Liu | Sep 2004 | B1 |
6804203 | Benyassine et al. | Oct 2004 | B1 |
6839426 | Kamoi et al. | Jan 2005 | B1 |
6944288 | Seibert | Sep 2005 | B2 |
20040086109 | Takada | May 2004 | A1 |
20040228474 | Taniguchi et al. | Nov 2004 | A1 |
20050169457 | Johnston et al. | Aug 2005 | A1 |
20060198511 | Su et al. | Sep 2006 | A1 |
20080219432 | Ahmadi | Sep 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20070025282 A1 | Feb 2007 | US |