Language selection

Search

Patent 2279360 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 2279360
(54) English Title: APPARATUS AND METHOD FOR ADAPTING AN ECHO CANCELLER IN A COMMUNICATION SYSTEM
(54) French Title: APPAREIL ET PROCEDE POUR L'ADAPTATION D'UN ANNULEUR D'ECHOS DANS UN SYSTEME DE COMMUNICATION
Status: Deemed expired
Bibliographic Data
(51) International Patent Classification (IPC):
  • H04M 9/08 (2006.01)
  • H04B 3/23 (2006.01)
(72) Inventors :
  • TAN, LIJUN (Canada)
  • LIU, HANYU (Canada)
(73) Owners :
  • MOTOROLA, INC. (United States of America)
(71) Applicants :
  • MOTOROLA, INC. (United States of America)
(74) Agent: GOWLING WLG (CANADA) LLP
(74) Associate agent:
(45) Issued: 2002-10-22
(86) PCT Filing Date: 1998-11-13
(87) Open to Public Inspection: 1999-06-24
Examination requested: 1999-07-30
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US1998/024365
(87) International Publication Number: WO1999/031866
(85) National Entry: 1999-07-30

(30) Application Priority Data:
Application No. Country/Territory Date
08/989,692 United States of America 1997-12-12

Abstracts

English 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 (408)
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).


French Abstract

Un appareil et un procédé pour l'adaptation d'un annuleur d'échos dans un système de communication, permettent de réduire le nombre de prises dans le filtre de l'annuleur d'échos, de sorte que la quantité de ressources de traitement utilisées par ledit annuleur soit réduite. Un annuleur d'échos de l'extrémité rapprochée (406) est invalidé si le modem (402) fonctionne du côté numérique d'une connexion numérique-analogique. Un annuleur d'échos de l'extrémité distante (408) est invalidé si le modem (402) fonctionne du côté analogique d'une connexion numérique-analogique ou si le temps de propagation aller-retour est situé au-dessous d'un seuil prédéterminé. L'annuleur d'échos de l'extrémité distante (408) est tronqué si l'intervalle couvert par l'annuleur d'échos de l'extrémité distante chevauche celui de l'annuleur de l'extrémité rapprochée (406).

Claims

Note: Claims are shown in the official language in which they were submitted.




23



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;


24
- 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.


25



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;


26



- 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.

Description

Note: Descriptions are shown in the official language in which they were submitted.



CA 02279360 1999-07-30
WO 99131866 PCTJUS98I24365
1
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


CA 02279360 1999-07-30
WO 99/31866 PCT/US98/243b5
2
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


CA 02279360 1999-07-30
WO 99/31866 PCTIUS98I24365
3
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;


CA 02279360 1999-07-30
WO 991318b6 PCTIUS98I24365
4
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.


CA 02279360 1999-07-30
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


CA 02279360 1999-07-30
WO 99/31866 PCT/US98l14365
6
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.


CA 02279360 1999-07-30
WO 99/3I866 PCTIUS98I24365
7
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


CA 02279360 1999-07-30
WO 99!31866 PCTNS98I24365
8
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


CA 02279360 1999-07-30
WO 99131866 PCT/US98/24365
9
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


CA 02279360 1999-07-30
WO 99/31866 PCT/US98/24365
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


CA 02279360 1999-07-30
WO 99/31866 PCT/US98/24365
11
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


CA 02279360 1999-07-30
WO 99/31866 PCTNS98/24365
12
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


CA 02279360 1999-07-30
WO 99131866 PCT/US98I24365
13
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.


CA 02279360 1999-07-30
WO 99/31866 PCTNS98124365
14
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-


CA 02279360 1999-07-30
WO 99/31866 PCT/US98124365
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


CA 02279360 1999-07-30
WO 99131866 PCT/US98/24365
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


CA 02279360 1999-07-30
WO 99131866 PCT/US98I24365
17
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-


CA 02279360 1999-07-30
WO 99/31866 PCT/US98I24365
18
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


CA 02279360 1999-07-30
WO 99/31866 PCT/US98I24355
19
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


CA 02279360 1999-07-30
WO 99131866 PCT/US98/24365
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),


CA 02279360 1999-07-30
WO 99/31866 PCTIUS98/24365
21
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.


CA 02279360 1999-07-30
WO 99131866 PCTIUS98I24365
22
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.

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 2002-10-22
(86) PCT Filing Date 1998-11-13
(87) PCT Publication Date 1999-06-24
(85) National Entry 1999-07-30
Examination Requested 1999-07-30
(45) Issued 2002-10-22
Deemed Expired 2007-11-13

Abandonment History

There is no abandonment history.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Request for Examination $400.00 1999-07-30
Registration of a document - section 124 $100.00 1999-07-30
Application Fee $300.00 1999-07-30
Maintenance Fee - Application - New Act 2 2000-11-13 $100.00 2000-10-03
Maintenance Fee - Application - New Act 3 2001-11-13 $100.00 2001-10-12
Final Fee $300.00 2002-08-01
Maintenance Fee - Patent - New Act 4 2002-11-13 $100.00 2002-10-11
Maintenance Fee - Patent - New Act 5 2003-11-13 $150.00 2003-10-03
Maintenance Fee - Patent - New Act 6 2004-11-15 $200.00 2004-10-04
Maintenance Fee - Patent - New Act 7 2005-11-14 $200.00 2005-10-05
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
MOTOROLA, INC.
Past Owners on Record
LIU, HANYU
TAN, LIJUN
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Description 1999-07-30 22 1,031
Representative Drawing 1999-10-08 1 7
Claims 2002-02-28 4 187
Drawings 2002-02-28 7 141
Cover Page 1999-10-08 1 51
Cover Page 2002-09-19 1 42
Abstract 1999-07-30 1 59
Claims 1999-07-30 13 393
Drawings 1999-07-30 7 132
Prosecution-Amendment 2001-10-31 2 49
Assignment 1999-07-30 11 404
PCT 1999-07-30 4 114
Prosecution-Amendment 2002-02-28 10 380
Correspondence 2002-08-01 1 36
Fees 2001-10-12 1 26