USPatent applicationPatented

Efficient echo cancellation techniques

Granted 2 Jan 2007 · 1 office action

Current assignee: Micron Semiconductor, Inc. · originally Intel Corporation

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Huaiyu Zeng, Chunming Han · Examiner: Jefferey F. Harold · AU 2614 · TC 2600

Life of the application

16 dated events
⤢ drag to zoom20022004200620082010201220142016201820202022ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

Techniques to cancel echo utilizing reduced die space and reduced usage of a time shared processor.

Description

6 parts
›FIELD OF THE INVENTION

This invention generally relates to techniques for reducing echo in communication systems.

›DESCRIPTION OF RELATED ART

In many communications systems, transmission of signals between transmitter and receiver pairs generates noise arising from transmitted signal reflection (so called “echo”). Echo may corrupt the quality of the signal transmitted by the remote transmitter so that a receiver may not be able to accurately reproduce the transmitted signal. For example, FIG. 1A depicts a plot of noise resulting from an impulse signal. The noise signal shown in FIG. 1A includes “body” and “tail” portions.

FIG. 1B depicts in block diagram format a prior art echo canceller. The echo canceller may include echo canceller 110 (EC 0 ) and echo canceller (EC 1 ) 120 . The echo canceller may reduce echo in a received signal for echo arising from a transmitted signal (the transmitted signal is depicted as s(nT)). For phases of nT (where T is the symbol interval and n is an integer from 0 to infinity), EC 0 110 may reduce body and tail echo in a received signal (the received signal is depicted as r(nT)), where the echo arises in part from the transmitted signal s(nT). Signal x(nT) may represent an echo reduced version of the signal from the remote transceiver for phases of nT. Similarly, for phases of nT+T/2, EC 1 120 may reduce body and tail echo in a received signal (the received signal is depicted as r(nT+T/2)), where the echo arises in part from the transmitted signal s(nT). Signal x(nT+T/2) represents an echo reduced version of the signal from the remote transceiver for phases of nT+T/2.

EC 0 110 and EC 1 120 may be implemented as finite impulse response (FIR) filters. The number of filter taps utilized by FIR filters may correlate to the duration of echo. In implemented echo canceller devices, there is typically a correlation between utilized silicon die area and number of filter taps. It is desirable to minimize utilized silicon die area without reducing the duration of echo cancelled.

›BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A depicts a plot of a combination of “body” and “tail” components of noise resulting from an impulse signal.

FIG. 1B depicts in block diagram format a prior art echo canceller.

FIGS. 2A and 2B depict in block diagram form example systems in which some embodiments of the present invention may be used.

FIG. 3A depicts in block diagram form an echo canceller, in accordance embodiment of the present invention.

FIG. 3B depicts in block diagram form an echo canceller, in accordance with embodiment of the present invention.

Note that use of the same reference numbers in different figures indicates the like elements.

›DETAILED DESCRIPTION · 1 of 3

FIG. 2A depicts in block diagram form an example of a system 200 in which some embodiments of the present invention may be used. For example, system 200 may be a digital subscriber line (DSL) modem. For a description of DSL modems, see for example, Thomas Starr, “Understanding Digital Subscriber Line Technology”, 1999 and ITU-T G.991.2 (G.shdsl). Scrambler/encoder/modulator 210 may perform scrambling, modulation, and/or 2B1Q encoding on a signal to be transmitted to a far-end modem (e.g., a far-end DSL modem) and provide the processed signal to coder/filter 220 and echo canceller 300 . Coder/filter 220 may for example perform digital-to-analog conversion, filtering, and/or rate conversion operations. Coder/filter 220 may provide the processed signal to signal gate 230 . Signal gate 230 may transmit the processed signal from coder/filter 220 . Further, signal gate 230 may provide signals from a far-end modem to front end device 240 . Signal gate 230 may transmit and receive signals to and from a far-end modem using, for example, a twisted pair telephone line, an antenna, coaxial and/or parallel cable.

Front end device 240 may perform analog-to-digital conversion, rate conversion, and/or filtering on the signals received from a far-end modem. Hereafter “received signal 242 ” may refer to a signal provided by front end device 240 to echo canceller 300 . Received signal 242 may include signals received from a far-end modem as well as noise. Echo canceller 300 may reduce echo-related noise in received signal 242 . Echo canceller 300 may provide an echo reduced version of received signal 242 to decoder 250 (such echo reduced version of received signal 242 is depicted as echo reduced signal 248 ). Decoder 250 may perform decision feedback equalization, 2B1Q decoding and/or descrambling on echo reduced signal 248 .

While a DSL modem is shown as a suitable system in which echo canceller 300 may be used, the echo canceller 300 may be used to reduce echo tail by other modems such as ITU V.90 compliant modems, voice band modems, duplex modems, wireless modems, or other devices in which echo may arise.

System 200 can be coupled for use with a personal computer (PC). FIG. 2B depicts an example system showing a system 200 and PC 290 . PC 290 may include a central processing unit (CPU) 292 , input/output (I/O) interface device 294 , and memory 296 . System 200 may communicate with interface device 294 using a coaxial, parallel, serial cable, or wireless connection and utilize the Peripheral Component Interconnect (PCI), Universal Serial Bus (USB), Ethernet (IEEE 802.3), IEEE 1394, and/or other communications standards.

FIG. 3A depicts in block diagram form an echo canceller 300 A, in accordance with an embodiment of the present invention. Echo canceller 300 A may include a first body echo canceller (EC 0 ″) 310 , tail echo canceller (ECb) 320 , second body echo canceller (EC 1 ″) 330 , interpolators 340 A and 340 B, and summers 350 A and 350 B. Echo canceller 300 A may be implemented, in whole or in part, as software executed by a digital signal processor or a central processing unit (CPU) for example as used by a modem or personal computer. Echo canceller 300 A may be implemented, in whole or in part, as firmware, an application specific integrated circuit (ASIC), and/or a field programmable gate array (FPGA).

EC 0 ″ 310 and EC 1 ″ 330 may generate respective body echo cancellation signals 360 A and 360 B to reduce body noise in a received signal (e.g., received signal 242 ). Echo cancellation signals 360 A and 360 B may have respective phases of kT and kT+T/2, where T is the symbol interval and k is an integer from 0 to infinity. In some implementations, when one twisted pair wire is used to receive and transmit signals, transmit signal 215 may introduce echo noise into received signal 242 . Body echo cancellation signals 360 A and 360 B may remove from received signal 242 echo body noise attributable to transmit signal 215 .

In one embodiment, EC 0 ″ 310 and EC 1 ″ 330 may be implemented as adaptive multiple tap digital finite impulse response (FIR) filters. For example, Proakis, “Digital Signal Processing”, Macmillan, 2 nd Ed. (1992) describes several implementation schemes for implementing an FIR filter. For example, an N-tap FIR filter may have an output described by: y(n) =h(0)*x(n) + h(1)*x(n−1) + h(2)*x(n−2) + . . . h(N+1)*x(n−N−1), where x(n−k) represents coefficients of an input signal and h(k) represents tap coefficients, where k =0 to N+1. A Z-transform of such N-tap FIR filter may be described as:

=

In some embodiments, EC 0 ″ 310 and EC 1 ″ 330 may determine tap coefficients (e.g., h(k)) during half-duplex mode (e.g., when only the modem that uses echo canceller 300 A is scheduled to transmit signals). One such half-duplex period for DSL communication systems, defined by ITU-T G.991.2 (G.shdsl), is in “activation” mode. Thereafter, ECO″ 310 and EC 1 ″ 330 may determine tap coefficients adaptively.

In some embodiments, the number of taps in EC 0 ″ 310 and EC 1 ″ 330 may correlate to a sampling time of echo. For example, when EC 0 ″ 310 and EC 1 ″ 330 sample only abody portion of echo, the number of taps utilized by EC 0 ″ 310 and EC 1 ″ 330 may correlate to a duration of echo body.

ECb 320 may generate tail echo cancellation signal 365 to reduce tail noise among received signal 242 . For example, tail echo cancellation signal 365 may reduce echo tail noise attributable to transmit signal 215 from received signal 242 . For example, ECb 320 may generate tail echo cancellation signal 365 having phases of kT+T/X, where T/X may be between T and T/2. In one implementation, X may be 4 (although other values of X may be used). For example, sample phases of tail echo cancellation signal 365 may be between the sample phases of body echo cancellation signals 360 A and 360 B.

ECb 320 may provide a tail echo cancellation signal 365 (having phases of kT + T/X) to interpolators 340A and 340B. Interpolator 340A may perform linear interpolations based upon tail echo cancellation signal 365 to determine and output a tail echo cancellation signal 370 A having phases of kT. Interpolator 340 B may perform linear interpolations to determine and output a tail echo cancellation signal 370 B having phases of kT + T/2. For example, in some implementations, interpolators 340 A and 340 B may use the following relationship to determine respective tail echo cancellation signals 370 A and 370 B:

›DETAILED DESCRIPTION · 2 of 3

Sample(x)*W +sample(x+1)*(1−W)

where

Sample(x) is a sample of tail echo cancellation signal 365 ; and Sample(x+1) is a next consecutive sample of tail echo cancellation signal 365 following sample(x).

For interpolator 340 A, variable W may be 0.25 although other values may be chosen. For interpolator 340 B, variable W may be 0.75 although other values may be chosen. In some embodiments, interpolators 340 A and 340 B may be implemented as linear FIR filters each having two or more taps although other linear averaging devices may be used.

Interpolator 340 A may provide tail echo cancellation signal 370 A to summer 350 A. Interpolator 340 B may provide tail echo cancellation signal 370 B to summer 350 B.

To remove a body portion of echo noise attributable to transmit signal 215 , EC 0 ″ 310 and EC 1 ″ 330 may delay output of body echo cancellation signals 360 A and 360 B to respective summers 350 A and 350 B so that, in the time domain, body echo cancellation signals 360 A and 360 B are applied to the received signal 242 to cancel body echo noise attributable to the related portion of transmit signal 215 . Similarly, to remove a tail portion of echo noise attributable to transmit signal 215 , interpolators 340 A and 340 B may delay output of respective tail echo cancellation signals 370 A and 370 B to respective summers 350 A and 350 B so that, in the time domain, tail echo cancellation signals 370 A and 370 B are applied to the received signal 242 to cancel tail echo noise attributable to the related portion of transmit signal 215 .

For phases of kT, summer 350 A may (1) subtract body echo cancellation signal 360 A and tail echo cancellation signal 370 A from received signal 242 and (2) provide the result as signal 248 A. For phases of kT + T/2, summer 350 B may (1) subtract body echo cancellation signal 360 B and tail echo cancellation signal 370 B from received signal 242 and (2) provide the result as signal 248 B. Signals 248 A and 248 B together combine to form echo reduced signal 248 .

For example, for echo that includes a body portion having a duration of 1 microsecond and a tail having a duration of 3 microseconds, each of EC 0 110 and EC 1 120 of the echo canceller of FIG. 1B may sample echo for 4 microseconds. By contrast, for echo canceller 300 A, each of EC 0 ″ 310 and EC 1 ″ 330 may sample the body portions of echo (e.g., 1 microsecond) whereas ECb 320 may sample the tail portion of echo (e.g., 3 microseconds). Cumulatively, echo canceller 300 A may sample echo for 5 microseconds, whereas the echo canceller of FIG. 1B may sample echo for 8 microseconds. In some embodiments of the present invention, when FIR filters are used, the number of taps of FIR filters used in the echo canceller of FIG. 1B and echo canceller 300 A may be proportional to the time in which an FIR filter samples echo. Accordingly, the echo canceller 300 A may use less taps than the echo canceller of FIG. 1B . By using less filter taps, echo canceller 300 A may thereby use less die space than the echo canceller described with respect to FIG. 1B .

FIG. 3B depicts in block diagram form an echo canceller 300 B, in accordance with an embodiment of the present invention. Echo canceller 300 B may include a first body echo canceller (EC 0 ′″) 410 , echo canceller (EC 1 ′″) 420 , interpolator 430 , and summers 440 A and 440 B. Echo canceller 300 B may be implemented, in whole or in part, as software executed by a digital signal processor or a central processing unit (CPU) for example as used by a modem or personal computer. Echo canceller 300 B may be implemented, in whole or in part, as firmware, an application specific integrated circuit (ASIC), and/or a field programmable gate array (FPGA).

EC 0 ′″ 410 may generate body echo cancellation signal 415 A to reduce body noise among received signal 242 that may be attributed to transmit signal 215 . Body echo cancellation signal 415 A may have phases of kT. In some implementations, when one twisted pair wire is used to receive and transmit signals, transmit signal 215 may introduce echo noise into received signal 242 . From received signal 242 , body echo cancellation signal 415 A may remove echo body noise attributable to transmit signal 215 . In one embodiment, EC 0 ′″ 410 may be implemented as an adaptive digital multiple tap FIR filter.

EC 1 ′″ 420 may generate body echo cancellation signal 415 B and tail echo cancellation signal 416 (each having phases of kT+T/2) to reduce respective body and tail noise in received signal 242 . Such body and tail noise in received signal 242 may be attributable to transmit signal 215 .

Based upon the tail echo cancellation signal 416 , interpolator 430 may determine and provide an interpolated tail echo cancellation signal 435 (having phases of kT) to summer 440 A. In one embodiment, interpolator 430 may perform linear interpolations based upon tail echo cancellation signal 416 (having phases of kT+T/2) to determine interpolated tail echo cancellation signal 435 having phases of kT. Interpolator 430 may be implemented as a two or more tap linear FIR filter although other linear averaging devices may be used.

For example, in some implementations, interpolator 430 may use the following relationship to determine interpolated tail echo cancellation signal 435 :

Sample(x))*W+(sample(x+1)*(1−W)

where

Sample(x) is a sample of tail echo cancellation signal 416 ; and Sample(x+1) is a next consecutive sample of tail echo cancellation signal 416 following sample(x).

In some implementations, variable W may be 0.5 although other values may be chosen.

To remove a body portion of echo noise attributable to transmit signal 215 , ECO′″ 410 and EC 1 ′″ 420 may delay output of body echo cancellation signals 415 A and 415 B so that, in the time domain, body echo cancellation signals 415 A and 415 B are applied to the received signal 242 to cancel body noise attributable to a relevant portion of transmit signal 215 . Similarly, to remove a tail portion of echo noise attributable to transmit signal 215 , EC 1 ′″ 420 and interpolator 430 may delay output of respective tail echo cancellation signals 416 and interpolated tail echo cancellation signal 435 to respective summers 440 A and 440 B so that, in the time domain, tail echo cancellation signals 416 and interpolated tail echo cancellation signal 435 are applied to the received signal 242 to cancel tail echo noise attributable to a relevant portion of transmit signal 215 .

›DETAILED DESCRIPTION · 3 of 3

For phases of kT, summer 440 A may (1) subtract body echo cancellation signal 415 A and tail echo cancellation signal 435 from received signal 242 and (2) provide the result as signal 248 A. For phases of kT+T/2, summer 440 B may (1) subtract body echo cancellation signal 415 B and tail echo cancellation signal 416 from received signal 242 and (2) provide the result as signal 248 B. Signals 248 A and 248 B together combine to form echo reduced signal 248 .

For example, for echo that includes a body portion having a duration of 1 microseconds and a tail of 3 microseconds, each of EC 0 110 and EC 1 120 of the echo canceller of FIG. 1B may sample echo for 4 microseconds. By contrast, for echo canceller 300 B, EC 0 ′″ 410 may sample the body portions of echo for, e.g., 1 microsecond whereas EC 1 ′″ 420 may sample the body and tail portions of echo for, e.g., 4 microseconds. Cumulatively, echo canceller 300 B may sample echo for 5 microseconds, whereas the echo canceller of FIG. 1B may sample echo for 8 microseconds. In some embodiments of the present invention, when FIR filters are used, the number of taps of FIR filters used in the echo canceller of FIG. 1B and echo canceller 300 B may be proportional to the time in which an FIR filter samples echo. Accordingly, the echo canceller 300 B may use less taps than the echo canceller of FIG. 1B . By using less filter taps, echo canceller 300 B may thereby use less die space than the canceller described with respect to FIG. 1B .

The drawings and the foregoing description gave examples of the present invention. The scope of the present invention, however, is by no means limited by these specific examples. Numerous variation whether explicitly given in the specification or not, such as differences in structure, dimension, and use of material, are possible. The scope of the invention is at least as broad as given by the following claims.

›Tables in the description — 1
H⁡
(z)

Claims as granted

37 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

5 codes
IPC · International Patent Classification
Section H — Electricity
  • H04B3/23
  • H04M1/00
USPC · US Patent Classification
379/406.8379/406.6379/406.1

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJan 2003Jul 2003Jan 2004Jul 2004Jan 2005Jul 2005Jan 2006Jul 2006Jan 2007USPTOApplicantNon-final rejection
USPTOApplicanthover for detail · click to open
Pendency
4.2 y
1,525 days filing → grant
Office actions
1
non-final + final
Responses
1
no RCE
Examiner
Jefferey F. Harold
art unit 2614 · TC 2600
Citations: 1 back · 0 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20022004200620082010201220142016201820202022Owner 1Owner 2liens, releases & corrections
TitleLienReleasehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock