# US RE46,142 E1 · Modem with voice processing capability

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US RE46,142 E1
- Document ID: USRE46142E1
- Status: Granted
- Kind: E1
- Application number: 14/481,349
- Filed: 2014-09-09
- Granted: 2016-09-06
- Earliest claimed: 1999-04-13
- Assignees: Broadcom Corporation
- Applicants: Broadcom Corporation
- Inventors: James C. Thi; Theodore F. Rabenko; David Hartman; Robert M. Lukas; Kenneth J. Unger; Ramin Borazjani; Shane P. Lansing; Robert J. Lee; Todd L. Brooks; Kevin L. Miller
- Web page: https://patentgrep.com/patent/USRE46142E1

## CPC

- H04L 12/28: characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks] (wireless communication networks H04W {; arrangements for dividing the transmission path H04W40/00})
- H04M 9/08: Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)

## Abstract

A system is configured to facilitate bidirectional voice communication between a number of data and/or telephony devices.

## Claims

### Claim 1

A method of processing signals, the method comprising:
transmitting a first data signal from a first device to a second device, wherein the first data signal is associated with a first voice signal;
receiving a second data signal at the first device from the second device, wherein the second data signal is associated with a second voice signal;
filtering, using a digital filter, the second voice signal to thereby generate an estimated echo signal;
detecting whether speech is present in the first voice signal;
when speech is detected to be present in the first voice signal, disabling adaptation of the digital filter;
delaying the first voice signal to thereby output a delayed first voice signal; and
subtracting, using a difference operator, the estimated echo signal from the delayed first voice signal, wherein a delay for the delayed first voice signal is chosen such that the disabling adaptation occurs prior to the delayed first voice signal reaching the difference operator when speech is detected to be present in the first voice signal.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
converting the first voice signal into the first data signal; and
converting the second data signal into the second voice signal.

### Claim 3 (depends on 1)

The method of claim 1, wherein:
the first data signal is transmitted over a local area network; and
the second data signal is received from the local area network.

### Claim 4 (depends on 1)

The method of claim 1, wherein:
the delaying of the first voice signal includes using a look ahead buffer.

### Claim 5 (depends on 1)

The method of claim 1, wherein detecting whether the speech is present in the first voice signal comprises:
estimating an absolute value of the first voice signal;
estimating a maximum parameter of the first voice signal;
comparing the estimated absolute value of the first voice signal to the estimated maximum parameter of the first voice signal; and
detecting the speech on the first voice signal based on the comparison.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
pre-conditioning the first voice signal prior to the detecting whether the speech is present.

### Claim 7 (depends on 1)

The method of claim 1, wherein:
detecting whether speech is present occurs after subtracting the estimated echo signal from a late point in the first voice signal; and
filtering the second voice signal occurs based on speech being detected at an early point in the first voice signal, wherein a time period exists between the early point in the first voice signal and the late point in the first voice signal.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
synchronizing the transmitting and the receiving.

### Claim 9 (depends on 8)

The method of claim 8, wherein the synchronizing comprises:
generating an error signal based on a function of a difference between a first device clock and a second device clock; and
fractionally resampling the first voice signal based on a function of the error signal.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
determining whether a received signal is associated with a voice call or associated with a machine communication.

### Claim 11 (depends on 1)

The method of claim 1, wherein the first device and the second device are connected to a packet based network.

### Claim 12 (depends on 11)

The method of claim 11, wherein the packet based network communicates data modulated at a frequency above a frequency of a voiceband signal.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
modulating the first data signal flowing over a local area network from the first device; and
demodulating the second data signal flowing from over the local area network to the first device.

### Claim 14 (depends on 1)

The method of claim 1, further comprising:
adapting the digital filter when speech is not detected to be present.

### Claim 15 (depends on 1)

The method of claim 1, further comprising:
transmitting a grant receive value to the second device; and
receiving packets in the second data signal from the second device in accordance with the grant receive value, wherein the packets arrive prior to a subsequent grant.

### Claim 16

A method of processing signals, the method comprising:
transmitting a first data signal from a first device to a second device, wherein the first data signal is associated with a first voice signal;
receiving a second data signal at the first device from the second device, wherein the second data signal is associated with a second voice signal;
detecting whether speech is present in the first voice signal;
when speech is detected to be present, subtracting an estimated echo signal from the first voice signal, wherein the estimated echo signal is generated by filtering the second voice signal with a digital filter;
transmitting a grant receive value to the second device;
receiving packets in the second data signal from the second device in accordance with the grant receive value, wherein the packets arrive prior to a subsequent grant; and
generating a packet assembly start time based on an offset value, the grant receive value, a packet assembly overhead, a queuing latency and a transmission time.

### Claim 17 (depends on 1)

The method of claim 1, further comprising:
receiving a grant receive value from the second device; and
transmitting packets in the first data signal to the second device in accordance with the grant receive value, wherein the packets are transmitted prior to a subsequent grant.

### Claim 18

A method of processing signals, the method comprising:
transmitting a first data signal from a first device to a second device, wherein the first data signal is associated with a first voice signal;
receiving a second data signal at the first device from the second device, wherein the second data signal is associated with a second voice signal;
detecting whether speech is present in the first voice signal;
when speech is detected to be present, subtracting an estimated echo signal from the first voice signal, wherein the estimated echo signal is generated by filtering the second voice signal with a digital filter;
receiving a grant receive value from the second device;
transmitting packets in the first data signal to the second device in accordance with the grant receive value, wherein the packets are transmitted prior to a subsequent grant; and
generating a packet assembly start time based on an offset value, the grant receive value, a packet assembly overhead, a queuing latency and a transmission time.

### Claim 19

A system for processing signals, the system comprising:
at least one processor for use in a first device, said at least one processor being configured to:
transmit a first data signal destined for a second device, wherein the first data signal is associated with a first voice signal;
receive a second data signal from the second device, wherein the second data signal is associated with a second voice signal;
detect whether speech is present in the first voice signal;
filter the second voice signal with a digital filter, thereby generating an estimated echo signal;
when speech is detected to be present in the first voice signal, disable adaptation of the digital filter;
delay the first voice signal to output a delayed first voice signal; and
subtract, using a difference operator, the estimated echo signal from the delayed first voice signal, wherein a delay for the delayed first voice signal is chosen such that the adaptation disablement occurs prior to the delayed first voice signal reaching the difference operator when speech is detected to be present in the first voice signal.

### Claim 20 (depends on 19)

The system of claim 19, wherein the at least one processor is further configured to:
convert the first voice signal into the first data signal; and
convert the second data signal into the second voice signal.

### Claim 21 (depends on 19)

The system of claim 19, wherein the at least one processor is further configured to:
transmit the first data signal over a local area network; and
receive the second data signal from the local area network.

### Claim 22 (depends on 19)

The system of claim 19, wherein the delay is represented by a predetermined number of samples of the first voice signal.

### Claim 23 (depends on 19)

The system of claim 19, wherein the at least one processor is further configured to detect whether the speech is present in the first voice signal by:
estimating an absolute value of the first voice signal;
estimating a maximum parameter of the first voice signal;
comparing the estimated absolute value of the first voice signal to the estimated maximum parameter of the first voice signal; and
detecting the speech on the first voice signal based on the comparison.

### Claim 24 (depends on 19)

The system of claim 19, wherein the at least one processor is further configured to pre-condition the first voice signal prior to the detecting whether the speech is present.

### Claim 25 (depends on 19)

The system of claim 19, wherein the at least one processor is further configured to:
detect whether speech is present after subtracting the estimated echo signal from a late point in the first voice signal; and
filter the second voice signal based on speech being detected at an early point in the first voice signal, wherein a time period exists between the early point in the first voice signal and the late point in the first voice signal.

### Claim 26 (depends on 19)

The system of claim 19, wherein the at least one processor is further configured to synchronize transmitting and receiving.

### Claim 27 (depends on 26)

The system of claim 26, wherein the at least one processor is further configured to synchronize by:
generating an error signal based on a function of a difference between a first device clock and a second device clock; and
fractionally resampling the first voice signal based on a function of the error signal.

### Claim 28 (depends on 19)

The system of claim 19, wherein the at least one processor is further configured to determine whether a received signal is associated with a voice call or associated with a machine communication.

### Claim 29 (depends on 19)

The system of claim 19, wherein the first device and the second device are connected to a packet based network.

### Claim 30 (depends on 29)

The system of claim 29, wherein the packet based network communicates data modulated at a frequency above a frequency of a voiceband signal.

### Claim 31 (depends on 19)

The system of claim 19, wherein the at least one processor is further configured to:
modulate the first data signal flowing over a local area network from the first device; and
demodulate the second data signal flowing from over the local area network to the first device.

### Claim 32 (depends on 19)

The system of claim 19, wherein the at least one processor is further configured to adapt the digital filter when speech is not detected to be present.

### Claim 33 (depends on 19)

The system of claim 19, wherein the at least one processor is further configured to:
transmit a grant receive value to the second device; and
receive packets in the second data signal from the second device in accordance with the grant receive value, wherein the packets arrive prior to a subsequent grant.

### Claim 34

A system for processing signals, the system comprising:
at least one processor for use in a first device, said at least one processor configured to:
transmit a first data signal destined for a second device, wherein the first data signal is associated with a first voice signal;
receive a second data signal from the second device, wherein the second data signal is associated with a second voice signal;
detect whether speech is present in the first voice signal;
filter the second voice signal with a digital filter, thereby generating an estimated echo signal;
subtract the estimated echo signal from the first voice signal;
transmit a grant receive value to the second device;
receive packets in the second data signal from the second device in accordance with the grant receive value, wherein the packets arrive prior to a subsequent grant; and
generate a packet assembly start time based on an offset value, the grant receive value, a packet assembly overhead, a queuing latency and a transmission time.

### Claim 35 (depends on 19)

The system of claim 19, wherein the at least one processor is further configured to:
receive a grant receive value from the second device; and
transmit packets in the first data signal to the second device in accordance with the grant receive value, wherein the packets are transmitted prior to a subsequent grant.

### Claim 36

A system for processing signals, the system comprising:
at least one processor for use in a first device, said at least one processor configured to:
transmit a first data signal destined for a second device, wherein the first data signal is associated with a first voice signal;
receive a second data signal from the second device, wherein the second data signal is associated with a second voice signal;
detect whether speech is present in the first voice signal; filter the second voice signal with a digital filter, thereby generating an estimated echo signal;
subtract the estimated echo signal from the first voice signal;
receive a grant receive value from the second device;
transmit packets in the first data signal to the second device in accordance with the grant receive value, wherein the packets are transmitted prior to a subsequent grant; and
generate a packet assembly start time based on an offset value, the grant receive value, a packet assembly overhead, a queuing latency and a transmission time.
