In a handsfree telephone system of the type described in our application No. 584,579, filed in the U.S. on Feb. 29, 1984, the method used to avoid howling due to feedback from the loudspeaker to the microphone is to increase the attenuation to speech in the quiescent direction as compared with that in the active direction. This involves monitoring successive speech samples in the two directions with each sample compared with a preset threshold, which also takes account of the system's noise levels. This is effected under processor control, as in the adjustment of the attenuation, since the system uses digital speech transmission. It has now been found that it is not necessary to monitor all speech samples to derive adequate information about the occupancy conditions of the two speech directions. In the present systems only one speech sample in four is used. This enables one microprocessor to serve two lines alternately. Although this increases the amount of measuring used this costs less than the microprocessor which has been saved.
A direct-path echo cancellation circuit includes a loudspeaker (12), first and second microphones (14, 16), and an in-phase signal cancellation circuit (21, 43). The first and second microphones (14, 16) are positioned adjacent the loudspeaker (12) in order to receive in-phase direct-path echo components (31, 32) of an output signal from the loudspeaker (12). The in-phase signal cancellation circuit (21 or 43) combines the in-phase direct-path echo components of the output signal in order to cancel the direct-path echo components. Direct-path echo cancellation helps to reduce howling and/or oscillation in a full-duplex speakerphone system. Also, direct-path echo cancellation provides more dynamic range to an input signal which is provided to a speakerphone signal processing system (26).
Expanded utilization by several different devices from a single output port such as the RS-232 port of a personal computer is effected by connecting the data line of the serial output port in parallel to several different solid state switches each of which is capable of routing the data information to one or the other of two utilization devices. Selection of a particular switch is effected through micro-controllers which are connected to the control line of the serial output port. Unique address messages are supplied to the host computer at a baud rate which is high compared to the normal rate of change of signals on the control lines and these addressing signals are uniquely decoded by the micro-controllers to select a specific micro-controller, then to select a specific output of that micro-controller activating a solid state switch to select the utilization device to communicate with the computer over the data line.
The characteristics of a room in which a speakerphone (20) is located are measured by determining a time between a test signal and its first attack, and a number of sample periods between the first attack and a time when the average power in the echo falls below a threshold. The first-attack time determines a pre-filter delay and the number of sample periods determines a tap length for an adaptive echo-canceling filter (62). In a teleconferencing environment, an annoying initialization sequence is avoided by initializing filter coefficients for each microphone (140), and saving the initial filter coefficients generated thereby in a corresponding nonvolatile memory (104). In response to an off-hook signal, the coefficients are retrieved from the nonvolatile memory (104). During operation, the coefficients are constantly updated. If another microphone (141) is enabled, the stored coefficients corresponding to that microphone (141) are dynamically substituted for the present coefficients.
A double echo cancelling system includes comparators which monitor, respectively, "unmodified" signals from the near end or far end and "modified" signals from the other end. The unmodified signals are the signals received by the system and the modified signals are those signals which have been subjected to echo cancellation and attenuation. A comparator determines that a caller at one end is speaking if the associated unmodified signals exceed by more than a predetermined value the modified signals associated with the other end. The comparator which detects near end speech controls the adaptation of an associated adaptive filter and the operation of a cancellation monitor, which, in turn, controls the adaptation of the adaptive filter associated with the far end. When this comparator detects near end speech, it enables the cancellation monitor. The monitor compares the power of the unmodified far end signals with the power of the residue signals produced by an associated subtraction circuit, and enables adaptation of the associated adaptive filter if the residue signals exceed the unmodified signals by more than a predetermined amount. Otherwise, the monitor inhibits adaptation. Attenuation control circuitry uses the speech detection signals from both of the comparators to control the gain of near end and far end signal attenuators. If only one end is active, the controller increases the gain of the appropriate attenuator; if both ends are active simultaneously, it leaves the attenuators in their current states; and if neither end is active it decreases the gain of both attenuators.