[go: up one dir, main page]

CA2279360C - Apparatus and method for adapting an echo canceller in a communication system - Google Patents

Apparatus and method for adapting an echo canceller in a communication system Download PDF

Info

Publication number
CA2279360C
CA2279360C CA002279360A CA2279360A CA2279360C CA 2279360 C CA2279360 C CA 2279360C CA 002279360 A CA002279360 A CA 002279360A CA 2279360 A CA2279360 A CA 2279360A CA 2279360 C CA2279360 C CA 2279360C
Authority
CA
Canada
Prior art keywords
canceller
modem
echo
echo canceller
far
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CA002279360A
Other languages
French (fr)
Other versions
CA2279360A1 (en
Inventor
Lijun Tan
Hanyu Liu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of CA2279360A1 publication Critical patent/CA2279360A1/en
Application granted granted Critical
Publication of CA2279360C publication Critical patent/CA2279360C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
    • H04B3/237Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers using two adaptive filters, e.g. for near end and for end echo cancelling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Telephonic Communication Services (AREA)

Abstract

An apparatus and method for adapting an echo canceller in a communication system reduces the number of taps in the echo canceller filter in order to reduce the amount of processing resources consumed by the echo canceller. A near-end echo canceller (406) is disabled if the modem (402) operates on the digital side of a digital-to-analog connection. A far-end echo canceller (40 8) is disabled if the modem (402) operates on the analog side of a digital-to- analog connection or if the round-trip delay is below a predetermined threshold. The far-end echo canceller (408) is truncated if the span of the far-end echo canceller overlaps the span of the near-end echo canceller (406 ).

Description

Apparatus and Method For Adapting an Echo Canceller in a Communication System Background The invention relates generally to communication systems, and more particularly to a variable-length echo canceller for a modem.
~ Discussion of Related Art In today's information age, the number of personal computers used in homes, schools, and businesses continues to proliferate with apparently no end in sight. This increasing use of personal computers has prompted the widespread deployment of computer networks such as the Internet which provide an ever-increasing variety of on-line services. While computer and communication technology has advanced greatly over time, it is still very common for users to connect their personal computers to such computer networks over telephone lines using a modem.
Historically, the modem has been an add-on feature to the personal computer, either as an external peripheral connected by a cable to the personal computer or as an internal peripheral installed directly into an expansion slot in the personal computer. These modems typically included all of the hardware and software components required to provide modem functionality for the personal computer. Specifically, the modem typically included a microprocessor (and associated memory circuits) for executing general software functions, inputloutput ports for data and control interfaces) a signal processor for executing computationally intensive signal processing functions, and many special-purpose WO 99/31866 PCT/US98/243b5 hardware components for intertacing with the telephone network and for providing additional signal processing functions. These dedicated hardware components made the modem relatively expensive.
Today, a need has arisen for a less expensive modem that can be built into the personal computer by the manufacturer or packaged together with other external peripherals to provide modem functionality for the personal computer. One solution is to implement predominantly all of the modem processing functions in software (with the remaining functions implemented in specialized hardware) and to run the software as an application on the microprocessor in the personal computer. This type of modem, often referred to as a "software modem," is feasible today due to the amount of processing resources provided by modern microprocessors.
By eliminating most of the dedicated hardware components from the 1 S modem and utilizing the processing and memory resources of the personal computer, the software modem is relatively inexpensive.
One issue with the software modem is that the modem software must share the processing resources of the personal computer with other application software such as a word processor, spreadsheet program, or Internet browser. This "feature" of the software modem, while making the software modem inexpensive) consumes processing resources that otherwise would be available to the other application software. As a result, the software modem may noticeably affect the performance of the other application software. Thus, one goal of the software modem is to provide full modem functionality using as little processing resources as possible.
In a software modem, the echo cancellers which are used to compensate for signal reflections in the telephone network represent a substantial proportion of the total amount of processing resources required by the modem. Two independent echo cancellers are typically employed) one for cancelling a near-end echo and one for cancelling a far-end echo. These echo cancellers are typically designed and implemented to compensate for a worst-case (i.e., maximum span) echo. Because the amount of processing resources needed to implement an echo canceller in software is directly proportional to the number of taps in the echo canceller filter, which in turn is directly proportional to the span over which the echo canceller works, an echo canceller that is designed and implemented to compensate for the worst-case echo necessarily consumes a maximum amount of processing resources. Thus, a need remains for a system, device, and method for reducing the number of taps in the echo canceiler filter to reduce the amount of processing resources consumed by the echo canceller.
Brief Description of the Drawing in the Drawing, FIG. 1 shows an analog-to-analog modem connection as is known in the art;
FIG. 2 shows a digital-to-analog modem connection as is known in the art;
FIG. 3 shows an exemplary relationship between the near-end and far-end echoes;
FIG. 4 shows an exemplary embodiment of a symbol-driven echo canceller;
FIG. 5 shows the relationship between the bulk-decay line, the near-end echo canceller, and the far-end echo canceller;
FlG. 6A shows a conceptual view of an echo canceller filter having X filter taps;

WO 991318b6 PCTIUS98I24365 FIG. 6B shows a preferred embodiment of a near-end or far-end echo canceller implemented using three subfilters;
FIG. 7 shows generally the relevant steps of the prior art V.34 startup sequence;
FIG. 8A shows an exemplary positioning of the near-end and far-end echo canceller filters upon initialization;
FIG. 8B shows positioning of an echo canceller filter upon initialization in more detail;
FLG. 9 shows an exemplary positioning of the near-end and far-end echo canceller filters in which the far-end filter span overlaps the near-end filter span;
FIG. 10 shows an exemplary positioning of the near-end and far-end echo canceller filters in which the far-end filter span is truncated; and FIG. 11 shows an exemplary embodiment including a number of steps which are taken during the startup sequence in order to adapt the echo canceller filters to the reflections in the network Detailed Description As discussed above) the need remains for an apparatus and method for reducing the number of taps in the echo canceller filter in order to reduce the amount of processing resources consumed by the echo canceller. Embodiments of the present invention eliminate the near-end or far-end echo canceller completely under certain conditions, and also reduce the number of taps in the near-end and/or far-end echo canceller filters under yet other conditions. As a result, these embodiments satisfy the need for reducing the amount of processing resources consumed by the echo cancellers.

WO 99!31866 PCTIUS98/24365 FIG. 1 shows a modem-to-modem connection as is known in the art in which modems 102 and 108 are connected to the telephone network over traditional analog local loops 103 and 107, respectively. Both modems send and receive analog signals. The 5 analog signals sent by modem 102 over analog local loop 103 are digitized at interface 104 for transport across the digital backbone network 110 and converted back to analog signals at interface 106 for transport over analog local loop 107 to modem 108. Likewise, the analog signals sent by modem 108 over analog local loop 107 are digitized at interface 106 for transport across the digital backbone network 110 and converted back to analog signals at interface 104 for transport over analog local loop 103 to modem 102.
FIG. 2 shows a modem-to-modem connection as is known in the art in which modem 208 is connected to the telephone network over a traditional analog local Poop 207 and modem 202 is connected to the telephone network by way of a digital connection 203. Modem 202 sends and receives digital signals, while modem 208 sends and receives analog signals. The digital signals sent by modem 202 over digital connection 203 are transported across the digital backbone network 210 and converted to analog signals at interface 206 for transport over analog local loop 207 to modem 208. The analog signals sent by modem 208 over analog local loop 207 are digitized at interface 206 for transport across the digital backbone network 210 and the digital connection 203 to modem 202.
Communications over the telephone network are affected by various types of distortions in both the analog and digital portions of the network. Of particular relevance to the present invention are signal reflections which echo the transmitted signal back to the transmitting modem. These signal reflections are induced at various 6 PCT/US98l14365 points within the network, specifically at the hybrid interfaces within the modems and within the telephone central office equipment, and arrive at the receiver of the transmitting modem at varying times based on the distance between the transmitting modem and each reflection point. Reflections generated within the local loop are received sooner, and with greater signal power, than reflections generated at the far end of the network. For convenience, reflections generated within the local loop are referred to as "near-end reflections" or "near-end echoes," and reflections generated at the far end of the network are referred to as "far-end reflections" or "far-end echoes."
An exemplary relationship between the near-end and far-end echoes is shown in FIG. 3. As discussed previously, the near-end echoes generated within the local loop are received sooner, and with greater signal power, than the far-end echoes generated at the far end of the network. The peak of the near-end echo is substantially synchronized with the receipt of the echo produced from the hybrid in the transmitting modem, and therefore the peak of the near-end echo occurs after a fixed) internal delay (referred to as "sys delay"). The sys delay is typically a constant value, and can be determined by placing the transmitting modem in a local analog loopback and measuring the loopback delay. Likewise, the peak of the far-end echo is substantially synchronized with the receipt of the echo produced from the hybrid in the remote modem, and therefore the peak of the far-end echo is based on the round-trip delay between the transmitting modem and the remote modem. The round-trip delay is typically measured during an initial startup sequence) and is described in more detail below.
The span of each echo is relatively short, on the order of 10 to 20 milliseconds, and the far-end echo is delayed by an amount B
which is based on the round-trip delay between the transmitting modem and the remote reflection points. If the round-trip delay is S relatively long, as shown in FIG. 3) then there will be substantially no reflective energy between the near-end echo and the far-end echo.
However, if the round-trip delay is relatively short, then the far-end echo may overlap the near-end echo either partially or completely.
As can be seen in FIGs. 1 and 2, the types of reflections that occur in the network depends on the topology of the network. in an analog-to-analog connection as shown in FIG. 1, each modem receives both near-end and far-end reflections. The near-end reflections are produced at the transmitting modem's hybrid interface and at the central office equipment on the local side of the network, while the far-end reflections are produced at the central office equipment on the remote side of the network and at the remote modem's hybrid interface. In a digital-to-analog connection as shown in F1G. 2, however, the digital side modem receives only far-end reflections) while the analog side modem receives only near-end reflections.
With respect to a particular modem, reflections of the modem's transmitted signals have the effect of distorting the signals received by the modem. Specifically, the signals received by the modem include signals from a remote modem combined with the reflected signals from the modem's own transmissions. Unless the reflected signals are removed from the received signal or are otherwise compensated for by the modem, incorrect information may be extracted from the received signals resulting in corrupted data.
Accordingly, the modem includes logic for cancelling the near-end and far-end reflections, typically in the form of a symbol-driven WO 99!31866 PCTNS98I24365 echo canceller. The symbol-driven echo canceller emulates the signal reflections and produces an echo cancelling signal which, when subtracted from the signals received by the modem, substantially eliminates the echoes from the received signals. Because the near-s end and far-end reflections are delayed in time and are dependent upon the length of the signal paths in the network, the total echo channel response varies from network to network (and even connection to connection) and can be very long (on the order of 600 milliseconds) in certain situations. Emulation of such channels using a single filter is possible but unrealistic due to the computational complexity. Therefore, the symbol-driven echo canceller typically includes two separate filters for constructing the near-end and far-end echo channels, respectively, each capable of emulating the span of its respective echo channel. For convenience, the filter for constructing the near-end echo channel is referred to as the "near-end echo canceller" and the filter for constructing the far-end echo channel is referred to as the "far-end echo canceller."
An exemplary embodiment of a symbol-driven echo canceiler is shown in FIG. 4. Specifically, the symbol-driven echo canceller includes a symbol modulator 402, a bulk-delay line 404, and two complex-valued adaptive transversal filters 406 and 408 for constructing the near-end and far-end echo channels, respectively.
Each symbol from the symbol modulator 402, representing a transmitted symbol, is placed in the bulk-delay line 404 where it is held until needed by the near-end echo canceller 406 and the far-end echo canceller 408. Each symbol is delayed by a first delay time before being processed by the near-end echo canceller 406 and by a second delay time before being processed by the far-end echo canceller 408. The outputs of the near-end echo canceller 406 and the far-end echo canceller 408 are combined to form echo cancelling signal 410. The first and second delay times are determined according to measured delays such that the echo cancelling signal 410 is provided to the receiver substantially in synchronization with the corresponding near-end and far-end echoes received by the modem, and are described in more detail below.
The relationship between the bulk-delay line, the near-end echo canceller) and the far-end echo canceller is shown in FIG. 5.
Modulated symbols are inserted into the bulk-delay line at the insertion point and remain in the bulk-delay fine for a predetermined number of symbol times. The echo canceller filters can be conceptualized as being projected onto the bulk-delay line such that each filter begins at a particular symbol offset from the insertion point and spans a predetermined number of symbols) where the number of symbols spanned by each filter is determined by the number of taps in the filter. A particular symbol is inserted at the insertion point) is .operated upon by the near-end echo canceller after the first delay time, and is operated upon by the far-end echo canceller again after the second delay time.
In a preferred embodiment, the symbol-driven echo canceller is implemented in software. The bulk-delay line is implemented as a circular buffer, and three pointers are used to indicate the point where a symbol is inserted (put_ptr) and the two points where symbols are read for processing by the near-end echo canceller (ne~et) and the far-end echo canceller (feet). The near-end echo canceller and the far-end echo canceller each process one symbol per symbol time according to the get pointer for the respective echo canceller. Each time a symbol is inserted at the put_ptr, all three 1~
pointers are advanced by one symbol such that the ne_get and feet pointers remain at fixed offsets from the put_ptr.
FICs. 6A and 6B show details of a preferred embodiment of a near-end or far-end echo canceller. In the preferred embodiment) the receiver sampling rate is three times the transmitter symbol rate.
Therefore, for each modulated symbol S~ received from the bulk-delay line) the echo canceller produces three echo canceller output signals) one for each of three consecutive receiver samples R~(0), R~(1)) and R"(2) corresponding to symbol S~.
Because only one input symbol is available for generating the three echo canceller output signals, the echo canceller filter interpolates the three echo canceller output signals from the single input symbol. Specifically, the echo cancelfer filter is updated three times for each input symbol, where each update is based on the input symbol and one of three consecutive feedback samples e~(0), e~(1 ), and e~(2) which are the three echo cancelled receiver samples immediately preceding receiver samples R~(0), R~(1 ), and R~(2).
As shown in FIG. 6A, the echo cancelier filter can be conceptualized as a shift register having X filter taps which is shifted and updated three times for each input symbol S~. For the first update, symbol S~ is effectively placed in filter tap 0, and the filter is updated using feedback sample e~(0). At that time, there is effectively no symbol available for updating filter taps 1 and 2.
Therefore) the filter update affects only filter tap 0 and every third filter tap therefrom (corresponding to previously received symbols) while the rest of the filter taps remain unchanged (indicated by the value "0"). For the second update, symbol S~ is effectively shifted to filter tap 1, and the filter is updated using feedback sample e"(1 ). At that time, there is effectively no symbol available for updating filter taps 0 and 2. Therefore, the filter update affects only filter tap 1 and every third filter tap therefrom. For the third update, symbol S"
is effectively shifted to filter tap 2) and the filter is updated using feedback sample a"(2). At that time, there is effectively no symbol S available for updating filter taps 0 and 1. Therefore, the filter update affects only filter tap 2 and every third filter tap therefrom.
The filter update cycle then begins again with the next symbol S"+, using feedback samples a"+, {0)) a"+, (1 ), and e~+, {2) which are the echo cancelled receiver samples R"(0), R"(1 )) and R"(2), respectively.
In the preferred embodiment, the echo cancelfer filter is not implemented as a shift register having X filter taps. Such an implementation would be wasteful of processing resources because only one-third of the filter taps actually change during each filter update. Instead, it is preferable to implement the echo canceller filter using three subfilters, as shown in FIG. 6B. In this embodiment, each subfilter is a complex-valued adaptive transversal filter supporting X/3 filter taps which is updated using the Least Mean Squared algorithm using feedback 606 from the receiver. For each symbol 602 received from the bulk-delay line, for example, symbol S", each subfilter is updated and produces one echo canceller output signal 604. Specifically) subfilter 608 {corresponding to filter tap 0 and every third filter tap therefrom) is updated using symbol S" and feedback sample a"(0) and produces echo cancelier output signal Y"(0), subfilter 610 {corresponding to filter tap 1 and every third filter tap therefrom) is updated using symbol S" and feedback sample a"{1 ) and produces echo canceller output signal Yn{1 ), and subfilter 612 {corresponding to filter tap 2 and every third filter tap therefrom) is updated using symbol S" and feedback sample a"(2) and produces echo canceller output signal Y"{2). The echo canceller output signals Y"(0)) Y"(1 )) and Y"(2) from both echo cancellers are effectively subtracted from the receiver samples R~(0)) R~(1), and R~(2), respectively, thereby substantially removing the reflected signals from the receiver samples R~(0), R"(1 ), and R~(2). The resulting echo cancelled receiver samples are then used as feedback samples e~+, (~), en+t (1 )~ and e"+, (2), respectively, for the next filter update using the next input symbol S~+,.
In a typical modem) the near-end and far-end echo canceller filters have a fixed number of filter taps sufficient to compensate for reflections having a predetermined maximum span. For convenience, these filters are referred to as "fixed-length" filters.
in these modems, the amount of processing resources consumed by the echo canceller filters is not an issue, since the echo canceller filters are typically implemented using hardware which dedicates a sufficient amount of processing resources to the echo canceller filters. Therefore, even if the span of signal reflections encountered in the telephone network are of shorter duration than the predetermined maximum span, there is no compelling reason to eliminate or reduce the number of taps in the echo canceller filters in order to save processing resources.
fn an embodiment of the present invention, the echo canceller filters are designed and implemented so that the number of taps is variable and adaptable to the actual span of the reflections. For convenience, these filters are referred to as "variable-length"
filters. Each variable-length filter is designed and implemented to support the same number of taps as the corresponding fixed-length filter) and therefore each variable-length filter remains capable of compensating for reflections having a predetermined maximum span.
However, the number of taps actually used for echo cancellation is adapted based on the power level and span of the actual signal reflections as measured by the modem. Because the span of signal reflections encountered in modern telephone networks is typically of shorter duration than the predetermined maximum span, it is generally possible to eliminate at least some of the echo canceller filter taps and to thereby reduce the amount of processing resources consumed by the echo canceller filters.
In another embodiment of the present invention, either one or both of the echo cancellers can be disabled completely such that the eliminated echo canceller(s) consumes no processing resources (other than perhaps some overhead for conditional execution of software).
Referring to FIG. 2, modem 202 receives only a far-end echo, while modem 208 receives only a near-end echo. Therefore) in a preferred embodiment, the near-end echo canceller of a modem such as modem 202 is disabled completely, while the far-end echo canceller of a modem such as modem 208 is disabled completely. Furthermore, an alternate embodiment completely disables the far-end echo canceller if the delay between the near-end echo and the far-end echo is either zero or is so small that any far-end echo can be satisfactorily handled by the near-end echo canceller alone.
Programming of the echo cancellers is typically performed during a startup sequence in which the modem characterizes the communication link and exchanges operating parameters with the remote modem. In a preferred embodiment, the modem supports a startup sequence such as the ITU V.34 startup sequence which includes, among other things, a Phase 2 for measuring round-trip delay and for exchanging certain operating parameters, and a Phase 3 for training the echo canceliers.

FIG. 7 shows generally the steps of the prior art V.34 startup sequence that are relevant to the present discussion. After beginning in step 702 and going through at least a first startup phase (not shown)) the modem performs the Phase 2 sequence which includes measuring a round-trip delay (RTDE) and exchanging certain operating parameters in step 704. Of particular relevance to the present invention is the exchange of information indicating whether or not one of the modems is operating on the digital side of a digital-to-analog connection (for example, modem 202 in FIG..2). Subsequent to measuring the RTDE, the modem sets up its echo cancellers for a worst-case echo in step 706 and performs the Phase 3 sequence which includes training the echo cancellers in step 710. The modem then continues on with remaining phases of the startup sequence (not shown), ultimately terminating in step 799.
In a preferred embodiment of the present invention, a number of echo canceller adjustments are made during the startup sequence in order to adapt the echo canceller filters to the reflections in the network.
In one embodiment, the modem completely disables its near-end echo canceiler if it is operating on the digital side of a digital-to-analog connection. As discussed previously, a modem operating on the digital side of a digital-to-analog connection does not require a near-end echo canceller, since only far-end reflections are present.
By completely eliminating the near-end echo canceller) the amount of processing resources required by the symbol-driven echo canceller is substantially reduced.
In another embodiment) the modem completely disables its far-end echo canceller following Phase 2 if the remote modem indicates that the remote modem is operating on the digital side of a digital-IS
to-analog connection. As discussed previously, a modem operating on the analog side of a digital-to-analog connection does not require a far-end echo canceller, since only near-end reflections are present.
By completely eliminating the far-end echo canceller, the amount of processing resources required by the symbol-driven echo canceller is substantially reduced.
In yet another embodiment, the modem completely disables its far-end echo canceller following Phase 2 if the RTDE is zero or is less than a predetermined value such that the span of the far-end echo canceller is entirely within the span of the near-end echo cancelier. When the round-trip delay is very small, there is significant overlap between the near-end echo and the far-end echo.
In this case) utilization of the near-end echo canceller alone is sufficient to compensate for both near-end and far-end echoes. By completely eliminating the far-end echo canceller, the amount of processing resources required by the symbol-driven echo canceller is substantially reduced.
After any adjustments are made following Phase 2, the remaining near-end and far-end echo canceller fitters are initialized (step 706 in FIG. 7). The step of setting up the echo cancelier for a worst-case echo involves projecting the remaining near-end and far-end echo canceller filters onto the bulk-delay line at appropriate offsets from the insertion point. Each echo canceller filter is initialized for its maximum span (48 symbols for the near-end filter and 35 symbols for the far-end filter in the preferred embodiment) and is projected onto the bulk-delay line such that the peak of each echo response falls roughly at a predetermined point within the span of the respective filter (2/5 of the filter span for the near-end filter and 1/3 of the filter span for the far end filter in the preferred lb embodiment). In a preferred embodiment, positioning the echo cancelier -filters involves converting the sys delay and RTDE times into an integral number of symbols for determining a first symbol boundary and a second symbol boundary) respectively, and then placing the 2/5 point of the near-end filter at the first symbol boundary and placing the 113 point of the far-end filter at the second symbol boundary. Since neither the 215 point of the near-end filter nor the i/3 point of the far-end filter is an integral number of symbols, the numbers are rounded down to the nearest integral number of symbols. Thus, in a preferred embodiment, the near-end echo cancelier filter is positioned onto the bulk-delay line such that the ne_get pointer precedes the first symbol boundary by 19 symbols (~0.4*48~), while the far-end echo canceller filter is positioned onto the bulk-delay line such that the fe get pointer precedes the second symbol boundary by 11 symbols (~0.333*35~). This positioning of the filters, shown generally in FIG. 8A and in more detail in FIG. 8B, places the peak of each echo response at an appropriate point within each filter in order to more effectively emulate the echo channels.
For convenience) the symbol boundary for a filter is referred to as the "center" of the filter, and the taps on either side of the center are referred to as a "tail" of the filter.
After initializing the remaining fiiter(s), and before training the filter(s)) a determination is made whether or not the far-end echo canceller filter can be eliminated or truncated. This adjustment is only possible if both the near-end and far-end echo cancelier filters remain (i.e., neither was previously eliminated) and span of the far-end echo canceller filter overlaps the span of the near-end echo canceller filter.
*rB

The far-end echo canceller filter is eliminated if the entire span of the far-end echo canceller filter is within the span of the near-end echo canceller filter. This can happen) for example, when the RTDE is very small. In the preferred embodiment where the near-s end echo canceller filter span is 48 symbols and the far-end echo canceller filter span is 35 symbols, this situation occurs if the start of the far-end echo cancelier filter (i.e., the fe_get pointer) is less than or equal to 13 symbols behind the start of the near-end echo canceller filter (i.e., the ne_get pointer). By completely eliminating the far-end echo canceller, the amount of processing resources required by the symbol-driven echo cancelfer is substantially reduced.
Even if the entire span of the far-end echo cancelier filter is not within the span of the near-end echo canceller filter, the far-end echo canceller filter may be truncated if its span partially overlaps the span of the near-end echo canceller filter (i.e., at least one symbol is within the span of both fitters). In the preferred embodiment where the near-end echo canceller filter span is 48 symbols and the far-end echo canceller filter span is 35 symbols, this situation occurs if the start of the far-end echo cancelier filter (i.e.) the fe_get pointer) is less than 48 symbols behind the start of the near-end echo canceller filter (i.e., the ne get pointer). An example of overlapping filter spans is shown in FIG. 9. In this case, the far-end echo canceller filter is shortened by moving the fe_get pointer to the symbol following the end of the near-end echo canceller filter as shown in FIG. 10. Truncating the far-end echo canceller filter reduces the span of the filter and thus reduces the number of filter taps. By truncating the far-end echo canceller filter, the amount of processing resources required by the symbol-driven echo canceller is reduced by an amount proportional to the number of filter taps eliminated from the far-end echo canceller filter.
In the example shown in FIG. 10, the truncated far-end echo canceller filter continues to have two tails. It is important to note, however, that if the far-end echo canceller filter overlaps the near-end echo canceller filter such that the center of the far-end filter is within the span of the near-end filter, then truncating the far-end filter will eliminate the tail shown on the right-hand side of the filter and may eliminate some or all of the taps on the left-hand side of the filter (all of the far-end filter taps may be eliminated, for example, if the RTDE is zero). Thus, in a preferred embodiment) the step of eliminating the far-end echo canceller filter if the RTDE is below a predetermined threshold (described above) is not employed) and instead this step of truncating the far-end echo cancelier filter is used and will have the effect of completely eliminating the far-end echo canceller filter if the RTDE is indeed below the predetermined threshold.
After making any echo canceller filter adjustments prior to training the echo canceller filters) the remaining echo canceiler filters) are trained as part of Phase 3 of the startup sequence (step 710 in FIG. 7). This step of training the echo canceller filters allows each filter to adapt to its respective echo channel and to thereby produce an appropriate echo canceller output signal.
After training the remaining echo canceller filter(s), a final adjustment is made to eliminate any unessential filter taps from each remaining filter. In a preferred embodiment, the filter taps are examined in groups of three (where each group of three filter taps corresponds to one symbol) beginning at the end of each tail and working in toward the center. A group of three echo canceller filter taps is deemed to be unessential if the echo power level for the corresponding symbol is below a predetermined threshold, and is otherwise deemed to be essential. In the preferred embodiment) the predetermined threshold for the near-end echo canceller is l.Oe-5, and the predetermined threshold for the far-end echo canceller is l.Oe-3. Where the magnitude M of a filter tap n is a complex coefficient of the form:
M"=R"+Jh, the echo power level P for three taps is determined according to the formula:
P-gR~2+hz for n = 1 to 3. Paring of a particular tail is stopped once an essential group of three filter taps is found or if the entire tail is eliminated.
By reducing the number of filter taps in the remaining filter(s), the amount of processing resources required by the symbol-driven echo canceller is reduced by an amount proportional to the number of filter taps eliminated.
It is important to note that this final adjustment may be used as the default mechanism for eliminating an echo canceller under certain circumstances. This is particularly important for a modem operating on the analog side of a digital-to-analog connection because the information exchanged during Phase 2 may be insufficient to identify the connection as a digital-to-analog connection when the connection rate is less than 56 kilobitslsecond.
Therefore, the modem may initially leave its far-end echo canceller enabled) but subsequently eliminate its far-end echo canceller when all of the filter taps are found to be unessential due to the absence of a far-end echo.
*rB

Thus, in an exemplary embodiment as shown in FIG. 11, a number of steps are taken during the startup sequence in order to adapt the echo canceller filters to the reflections in the network. After beginning in step 1102 and going through at least a first startup 5 phase (not shown)) the modem disables its near-end echo canceller in step 1104 if the modem is operating on the digital side of a digital-to-analog connection. The Phase 2 sequence, which includes measuring a round-trip delay (RTDE) and exchanging certain operating parameters, is performed in step 1106. Subsequent to performing the 10 Phase 2 sequence, the modem disables its far-end echo canceller in step 1108 if the modem is operating on the analog side of a digital-to-analog connection as determined by the information exchanged during Phase 2. Optionally, the modem may also disable its far-end echo canceller in step 1110 if the RTDE is less than a predetermined 15 threshold, although this step is not used in the preferred embodiment.
In preparation for Phase 3) the modem then sets up the remaining echo canceller(s) for a worst-case echo in step 1112. After setting up the echo canceller(s), the modem eliminates the far-end echo canceller in step 1114 if the span of the far-end echo canceller is 20 entirely within the span of the near-end echo canceller, and truncates the far-end echo canceller in step 1116 if the span of the far-end echo canceller only partially overlaps the span of the near-end echo canceller. Steps 1114 and 1116 are not applicable if either of the echo canceller filters had been eliminated prior to step 1112. The modem then performs the Phase 3 sequence which includes training the echo canceller(s) in step 1118. After training the echo canceller(s), the modem adapts the echo canceller(s) in step 1120 by eliminating any unessential filter taps. The modem then continues on with remaining phases of the startup sequence (not shown), ultimately terminating in step 1199. It will be apparent to a skilled artisan that the techniques for eliminating, truncating, and adapting the echo cancellers may be applied individually or in combination with each other.
The techniques for eliminating, truncating) andlor adapting the echo cancellers may be embodied in hardware, firmware, or software.
An exemplary implementation of a variable-length echo canceller such as a software modem or other modem includes logic or computer readable program code means for disabling an echo canceller, truncating a far-end echo canceller, andlor adapting an echo canceller by eliminating any unessential filter taps. Again ) it will be apparent to a skilled artisan that the logic or computer readable program code means for eliminating, truncating, andlor adapting the echo cancellers may be applied individually or in combination with each other.
While the techniques of the present invention have been described in relation to a software modem for the purpose of reducing the amount of processing resources required by the software modem, it will be apparent to a skilled artisan that the same techniques are applicable to echo cancellers generally. For instance, it is well known that filters are typically less than perfect, and that a fitter which is too long can actually amplify noise. Therefore, the techniques for eliminating, truncating, andlor adapting the echo canceller filters are useful for adapting each filter to an appropriate length so that the filter does not generate excessive noise.
Finally, it will be apparent to a skilled artisan that, by eliminating or reducing the number of echo canceller filter taps when an echo is present, any reduction in the consumption of processing resources may be realized at a cost in echo canceller performance.

As described above, a group of three echo canceller filter taps is deemed unessential and is eliminated if the echo power level at the symbol corresponding to the filter taps is below a predetermined threshold. Therefore, it is possible that, by eliminating certain filter taps, echo signal energy which would nave been cancelled by those taps is left in the received signal as noise which must then be overcome by the receiver. Thus, there is generally a tradeoff between the filter length and the filter performance, and the predetermined threshold is selected so that the echo canceller performance remains at all times within acceptable operating limits.
The present invention may be embodied in other specific forms without departing from the essence or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive.

Claims (17)

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. In a software full-duplex modem providing a signal to compensate for reflected signals in a communication system, said modem including a variable-length near-end echo canceller (NE) with a first maximum span for emulating a first echo channel received at a system delay time, and a variable-length far-end echo canceller (FE) with a second maximum span for emulating a second echo channel received at a round trip delay time (RTDE), a method for configuring said far-end echo canceller (FE) comprising the steps of:
- measuring said system delay, said RTDE and spans associated with said reflected signals;
- exchanging information and identifying an analog to digital connection and a location associated with said full-duplex modem;
- disabling said NE canceller if said modem is operating on the digital side of said analog to digital connection;
- disabling said FE canceller if said modem is operating on the analog side of said analog to digital connection; and - configuring said NE and FE cancellers remaining active in said communication system to match said first and second echo channel, respectively, and compensate for said reflected signals.
2. The method of claim 1, wherein said FE canceller is automatically disabled whenever said RTDE is below a threshold.
3. The method of claim 1, wherein said first and second maximum spans are larger than said spans associated with said reflected signals, respectively.
4. The method of claim 1, wherein said step of configuring said NE and FE
cancellers comprising the sub-steps of:
- initializing said NE and FE cancellers for said first and second maximum span, respectively;

- projecting said first and second maximum spans at respective offsets in a bulk-delay line based on said measured system delay and RTDE;
- positioning each peak of said NE and FE cancellers at selected centerpoints within said first and second maximum span, respectively;
- determining overlapping of said first and second maximum spans; and - truncating said FE canceller if said first and second maximum spans partially overlap, and disabling said FE canceller if said second maximum span is entirely included within said first maximum span.
5. The method of claim 4, wherein said overlapping is declared whenever a symbol is included within both said first maximum span and said second maximum span.
6. The method of claim 4, wherein said overlapping is declared whenever the start point of said second maximum span is smaller than the stop point of said first maximum span.
7. The method of claim 4, wherein said step of truncating said FE canceller comprising shortening said second maximum span to begin at a symbol immediately following the last symbol of said first maximum span.
8. The method of claim 7, wherein said step of shortening said second maximum span is performed symbol by symbol.
9. The method of claim 2, wherein said step of projecting said NE and FE
cancellers further including the sub-steps of:
- converting the values for said system delay and said RTDE into an integral number of symbols; and - rounding down to the nearest integer the positioning value associated with said selected centerpoints.
10. The method of claim 2, further comprising the steps of:
- training said NE canceller and said configured FE canceller based on echo characteristics of said communication system; and - eliminating unessential filter taps from both said trained NE and FE
cancellers whenever the echo power level of a symbol is below a predetermined threshold.
11. The method of claim 10, wherein said echo power level is the sum of squares of the magnitudes of each filter tap associated with said symbol.
12. The method of claim 1, wherein said first maximum span is 48 symbols.
13. The method of claim 12, wherein said second maximum span is 35 symbols.
14. The method of claim 12, wherein said peak of said NE canceller is positioned at 2/5 of said first maximum span.
15. The method of claim 13, wherein said peak of said FE canceller is positioned at 1/3 of said second maximum span.
16. A full-duplex modem providing a signal compensating for reflected signals in a communication system, comprising:
- a variable-length near-end echo (NE) canceller with a first maximum span for emulating a first echo channel received at a system delay time;
- a variable-length far-end echo (FE) canceller with a second maximum span for emulating a second echo channel received at a round trip delay time (RTDE), - logic for measuring said system delay, said RTDE and spans associated with said reflected signals in said communication system;
- logic for exchanging information and identifying an analog to digital connection and a location associated with said full-duplex modem;

- logic for disabling said NE canceller if said modem is operating on the digital side of said analog to digital connection, and for disabling said FE canceller if said modem is operating on the analog side of said analog to digital connection;
and - logic for configuring said NE and FE cancellers remaining active in said communication system to match said first and second echo channel, respectively, and compensate for said reflected signals.
17. In a full-duplex modem, computer usable medium having computer readable program code means for adapting a near-end echo (NE) canceller and a far-end echo (FE) canceller to match a first and a second echo channel, respectively, and compensate for reflected signals in a communication system, said computer usable medium comprising:
- computer readable code means for a variable-length near-end echo (NE) canceller with a first maximum span for emulating a first echo channel received at a system delay time;
- computer readable code means for a variable-length far-end echo (FE) canceller with a second maximum span for emulating a second echo channel received at a round trip delay time (RTDE), - computer readable code means for measuring said system delay, said RTDE
and spans associated with said reflected signals in said communication system;
- computer readable code means for exchanging information and identifying an analog to digital connection and a location associated with said full-duplex modem;
- computer readable code means for disabling said NE canceller if said modem is operating on the digital side of said analog to digital connection, and for disabling said FE canceller if said modem is operating on the analog side of said analog to digital connection; and - computer readable code means for configuring said NE and FE cancellers remaining active in said communication system to match said first and second echo channel, respectively, and compensate for said reflected signals.
CA002279360A 1997-12-12 1998-11-13 Apparatus and method for adapting an echo canceller in a communication system Expired - Fee Related CA2279360C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US98969297A 1997-12-12 1997-12-12
US08/989,692 1997-12-12
PCT/US1998/024365 WO1999031866A1 (en) 1997-12-12 1998-11-13 Apparatus and method for adapting an echo canceller in a communication system

Publications (2)

Publication Number Publication Date
CA2279360A1 CA2279360A1 (en) 1999-06-24
CA2279360C true CA2279360C (en) 2002-10-22

Family

ID=25535373

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002279360A Expired - Fee Related CA2279360C (en) 1997-12-12 1998-11-13 Apparatus and method for adapting an echo canceller in a communication system

Country Status (7)

Country Link
EP (1) EP0960521A4 (en)
CN (1) CN1247664A (en)
AU (1) AU1411299A (en)
BR (1) BR9807321A (en)
CA (1) CA2279360C (en)
ID (1) ID27681A (en)
WO (1) WO1999031866A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107801235A (en) * 2016-09-02 2018-03-13 马维尔国际贸易有限公司 Echo or interference in communication system eliminate power and save management system and method

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480532B1 (en) * 1999-07-13 2002-11-12 Stmicroelectronics, Inc. Echo cancellation for an ADSL modem
EP1117191A1 (en) * 2000-01-13 2001-07-18 Telefonaktiebolaget Lm Ericsson Echo cancelling method
EP1286509A3 (en) * 2001-08-21 2004-02-04 Siemens Aktiengesellschaft Method and apparatus for echo compensation in a telecommunication network
SE525053C2 (en) 2002-04-26 2004-11-16 Global Ip Sound Europ Ab echo cancellation
WO2004006462A1 (en) * 2002-07-02 2004-01-15 Siemens Aktiengesellschaft Runtime-dependent switching off of the echo compensation in packet networks
KR101109847B1 (en) 2003-08-07 2012-04-06 ?란 인코포레이티드 Crosstalk Removal Method and System
EP1803288B1 (en) 2004-10-13 2010-04-14 Koninklijke Philips Electronics N.V. Echo cancellation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4742510A (en) * 1986-04-04 1988-05-03 Massachusetts Institute Of Technology Near and far echo canceller for data communications
JPH0650829B2 (en) * 1986-09-16 1994-06-29 日本電気株式会社 Eco-Cancerra Modem
US4970715A (en) * 1987-03-27 1990-11-13 Universal Data Systems, Inc. Modem with improved remote echo location and cancellation
US4995030A (en) * 1988-02-01 1991-02-19 Memotec Datacom, Inc. Far end echo cancellation method and apparatus
EP0403716B1 (en) * 1989-06-22 1995-09-13 International Business Machines Corporation Echo cancelling device providing adjustment of the echo canceller coefficients during full-duplex transmission
US5280473A (en) * 1990-02-08 1994-01-18 Universal Data Systems, Inc. Modem with echo cancellation
EP0543568A2 (en) * 1991-11-22 1993-05-26 AT&T Corp. High resolution filtering using low resolution processors
US5353348A (en) * 1993-05-14 1994-10-04 Jrc International, Inc. Double echo cancelling system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107801235A (en) * 2016-09-02 2018-03-13 马维尔国际贸易有限公司 Echo or interference in communication system eliminate power and save management system and method
CN107801235B (en) * 2016-09-02 2022-03-18 马维尔亚洲私人有限公司 Echo or interference cancellation power saving management system and method in a communication system

Also Published As

Publication number Publication date
AU1411299A (en) 1999-07-05
WO1999031866A1 (en) 1999-06-24
ID27681A (en) 2001-04-19
CA2279360A1 (en) 1999-06-24
BR9807321A (en) 2000-04-18
EP0960521A4 (en) 2004-08-04
EP0960521A1 (en) 1999-12-01
CN1247664A (en) 2000-03-15

Similar Documents

Publication Publication Date Title
US4736414A (en) Method of and device for the digital cancellation of the echo generated in connections with time-varying characteristics
AU727833B2 (en) Echo canceller with silence detection
EP0632601B1 (en) Echo canceller
US5737410A (en) Method for determining the location of echo in an echo canceller
US5793801A (en) Frequency domain signal reconstruction compensating for phase adjustments to a sampling signal
US6160790A (en) Crosstalk canceller system and method
US5909384A (en) System for dynamically adapting the length of a filter
CA2267410C (en) Echo path delay estimation
WO1992009158A1 (en) Frequency domain adaptive echo canceller for full-duplex data transmission
US20030099286A1 (en) Method and system for shaping transmitted power spectral density according to line conditions
JPH04286218A (en) Echo canceling system
US6108720A (en) Echo canceling modem which dynamically switches sizes of sample buffer between first size for quick response time and second size for robustness to interrupt latency
CA2279360C (en) Apparatus and method for adapting an echo canceller in a communication system
GB2029175A (en) Transmission line digital echo cancellation
US7068780B1 (en) Hybrid echo canceller
JPH09130316A (en) Echo canceler gain tracker for cellular modem
US7133442B2 (en) Rapid identification of transmission media channel characteristics
EP0098000B1 (en) Digital duplex communication system
KR20040045088A (en) Echo canceller of adsl system and method for training thereof
EP0929160B1 (en) Apparatus and method for reducing local interference in subscriber loop communication system
US6987782B2 (en) Method and apparatus for detecting robbed bit location in PCM modems and the like
JPH07303067A (en) Echo canceler
KR20030029199A (en) Apparatus and method for time domain echo canceller of DMT
Ruan Voice band line echo canceller with TMS320C542
Brun Controlled carrier operation in a memory based echo cancelling data set

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed