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 an algorithm, 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.
Some hands-free kits use RF signals, like a cordless phone, to couple to a telephone. Some commercially available, hands-free kits use the “BlueTooth®” interface. A hands-free kit also typically includes a volume control and some control switches, e.g. for going “off hook” to answer a call. A hands-free kit may include a visor microphone (not shown) that plugs into the kit.
A cellular telephone includes both audio frequency and radio frequency circuits. Duplexer 65 couples antenna 66 to receive processor 67. Duplexer 65 couples antenna 66 to power amplifier 68 and isolates receive processor 67 from the power amplifier during transmission. Transmit processor 69 modulates a radio frequency signal with an audio signal from circuit 64. In non-cellular applications, such as speakerphones, there are no radio frequency circuits and signal processor 64 may be simplified somewhat. Problems of echo cancellation and noise remain and are handled in audio processor 70.
A new voice signal entering input 72 may or may not be accompanied by a signal from output 78. The signals from input 72 are digitized in A/D converter 81 and coupled to summation network 82. There is, as yet, no signal from echo canceling circuit 83 and the data proceeds to non-linear processor 84, which is initially set to minimum attenuation in all sub-bands.
The output from non-linear processor 84 is coupled to multiplex circuit 86, where comfort noise from block 85 is optionally substituted for the signal. The output from multiplex circuit 86 is then converted back to analog form by D/A converter 87, amplified in amplifier 88, and coupled to output 74. Data from the two VAD circuits is supplied to control 90, which uses the data for allocating echo elimination and other functions. The data includes noise level. Circuit 83 reduces acoustic echo and circuit 91 reduces line echo. The operation of these last two circuits is known per se in the art.
Curve 112 represents less activity by the echo canceller and curve 113 indicates greater activity by the echo canceller. A number of conditions can affect the shape and location of curve 110. That is, curves 112 and 113 have the same shape as curve 110 but this is for illustration only. In practice, the location of the peak and the shape of the curve can change. Activity is monitored at a particular range of differences, represented by dot-dash line 115. As readily seen in
Line 115 is located away from the peak of curve 110. This produces two results. A first result is that ambiguity is eliminated as the curve shifts left or right, i.e. duplicate thresholds are avoided. A second result is that the threshold can be made to vary with change in activity or inversely with change in activity. Inverse variation is obtained by locating line 115 as shown. That is, an increase in overall activity will shift the curve to the right, lowering the point at which line 115 intersects the curve. If line 115 were located to the right of the peak in curve 110, an increase in overall activity would raise the point at which line 115 intersected the curve.
As used herein, a “control signal” can be used directly, e.g. to adjust attenuation, or can be compared with another signal for decision making, e.g. to switch to half duplex operation or not.
Referring to
Instead of being used as a threshold, an output from registers 106 can be used directly or multiplied by an appropriate coefficient. As illustrated in
Converting a plurality of samples to a histogram is a straight-forward statistical conversion. One could, for example, truncate the data by right-shifting the data in a register and using the result as the low order offset to the start address of a group of registers that are incremented accordingly. Line 115 corresponds to one register in the group. More sophisticated calculations could be used instead.
The invention thus provides a control circuit that adapts to changing conditions based upon histogram data. In particular, the control circuit adapts to changing conditions based upon histogram data from the operation of an echo cancelling circuit. The control circuit provides a threshold signal for comparison with other signals or a control signal that can be used directly.
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, preferably, register 106 contains a “population” (all samples, not just every x sample based upon some selection criterion). Also, register 106 is preferably cleared and a new population stored, rather than a rolling average type of operation wherein part of the data is new and part is old. Although described in conjunction with echo cancellation, one could use the invention in other parts of an audio processing circuit, e.g. noise reduction or speech detection. Instead of multiplex circuits, one could use variable gain amplifiers on the outputs of circuits 84 and 85 and sum the signals. In this way, one can combine the signals in various proportions, rather than selecting one signal or the other.