Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
VECTORED DSL NESTING
Document Type and Number:
WIPO Patent Application WO/2006/131791
Kind Code:
A1
Abstract:
Methods, apparatus, systems and computer program products address one-sided vectoring systems that include a bonded-line set having two or more bonded DSL lines within a vectored group wherein other techniques such as precoding, tonal predictive GDFEs, tonal rotors and ordering techniques can be implemented. The performance of lines within a bonded set for a single customer can be improved for both upstream and downstream by nesting a vector coding system within, for example, GDFE and/or precoder architectures. The DSL lines within such a bonded group can have rotors applied at both transmit and receive side to achieve higher performance for these lines. The triangular matrix used by the GDFE and the precoder systems of the above- referenced applications can be modified in this context.

Inventors:
CIOFFI JOHN M (US)
GINIS GEORGIOS (US)
Application Number:
PCT/IB2006/000630
Publication Date:
December 14, 2006
Filing Date:
March 16, 2006
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ADAPTIVE SPECTRUM & SIGNAL (US)
CIOFFI JOHN M (US)
GINIS GEORGIOS (US)
International Classes:
H04B3/32; H04L5/02
Domestic Patent References:
WO2003105339A12003-12-18
WO2005094052A12005-10-06
WO2003105339A12003-12-18
Foreign References:
US20050047323A12005-03-03
US20050047323A12005-03-03
US80877104A2004-03-25
US28469205A2005-11-22
US34487306A2006-02-01
US33611306A2006-01-20
US33666606A2006-01-20
Other References:
GEORGE GINIS ET AL: "Vectored Transmission for DigitalSubscriber Line Systems", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, US, vol. 20, no. 5, June 2002 (2002-06-01), XP011065493, ISSN: 0733-8716
See also references of EP 1897241A1
Attorney, Agent or Firm:
Caldwell, Gregory D. (Sokoloff Taylor & Zafman LLP, 1279 Oakmead Parkwa, Sunnyvale CA, US)
Download PDF:
Claims:
CLAIMS
1. A method for transmitting data in a multiuser vectored DSL system comprising a plurality of DSL lines, wherein the plurality of DSL lines comprises a nonbondedline set and a bondedline set, the method comprising: providing original multiuser data comprising: original bondedline data from the bondedline set; and original nonbondedline data from the nonbondedline set; generating pretransmission processed multiuser data comprising: applying block processing to the original bondedline data to generate processed original bondedline data; transmitting the pretransmission processed multiuser data to generate transmitted multiuser data; and generating received multiuser data by receiving the transmitted multiuser data; decoding the received multiuser data comprising: applying block processing to the received multiuser data to produce processed received multiuser data; applying feedback processing to the processed received multiuser data to produce filtered multiuser data; and perfoπning one of the following: when the filtered multiuser data is from the nonbondedline set, generating decoded nonbondedline multiuser data using a decision device; or when the filtered multiuser data is from the bondedline set, generating decoded bondedline multiuser data using a bondedline processing unit.
2. The method of Claim 1 wherein applying feedback processing to the processed received multiuser data to produce filtered multiuser data comprises: providing the decoded nonbondedline multiuser data and the decoded bonded line multiuser data as inputs to a feedback filtering module; and subtracting feedback filtering module output data from the processed received multiuser data to produce filtered multiuser data.
3. The method of Claim 1 wherein generating decoded bondedline multiuser data using a bondedline processing unit comprises: applying block processing to the filtered multiuser data to produce processed bondedline multiuser data; and providing the processed bondedline multiuser data to a decision device to yield the decoded bondedline multiuser data.
4. The method of Claim 1 further comprising updating at least one of the following: application of block processing to the original bondedline data; application of block processing to the received multiuser data; or application of feedback processing to the processed received multiuser data.
5. The method of Claim 3 further comprising updating application of block processing to the filtered multiuser data.
6. The method of Claim 1 wherein applying block processing to the original bonded line data to generate processed original multiuser data comprises at least one of the following: perfoπning one or more complex rotor operations; or applying matrix multiplication; further wherein applying block processing to the received multiuser data to produce processed received multiuser data comprises at least one of the following: performing one or more complex rotor operations; or applying matrix multiplication.
7. The method of Claim 3 wherein applying block processing to the filtered multi user data to produce processed bondedline multiuser data comprises at least one of the following: performing one or more complex rotor operations; or applying matrix multiplication.
8. A method for transmitting data in a vectored DSL system comprising a plurality of DSL lines including a plurality of nonbonded lines and a plurality of bonded lines, the method comprising: transmitting multiuser data, comprising: block processing original bondedline data prior to transmission to produce processed original bondedline data; and precoding original nonbondedline data and the processed original bondedline data to generate the multiuser data for transmission; receiving the multiuser data; and processing received bondedline data in the received multiuser data, processing the received bondedline data comprising: block processing the received bondedline data to produce processed received bondedline data; feedback processing the processed received bondedline data to produce filtered bondedline data; and providing the filtered bondedline data to a decision device.
9. The method of Claim 8 further wherein precoding comprises: feedback processing the nonbondedline data and the processed original bonded line data to produce subtracted multiuser data; and block processing the subtracted multiuser data.
10. The method of Claim 8 further comprising updating at least one of the following: block processing of the original bondedline data; block processing of the received bondedline data; or feedback processing of the processed received bondedline data.
11. The method of Claim 9 further comprising updating at least one of the following: feedback processing the nonbondedline data and the processed original bonded line data; or block processing the subtracted multiuser data.
12. The method of Claim 8 wherein block processing the original bondedline data comprises at least one of the following: performing one or more complex rotor operations; or applying matrix multiplication; further wherein block processing the received bondedline data comprises at least one of the following: performing one or more complex rotor operations; or applying matrix multiplication.
13. The method of Claim 9 wherein block processing the subtracted multiuser data comprises at least one of the following: performing one or more complex rotor operations; or applying matrix multiplication.
14. A controller coupled to a vectored DSL system, the DSL system comprising a nonbonded DSL line set and a bonded DSL line set: wherein the controller is configured to monitor error metrics computed by one or more receivers coupled to the DSL system; and further wherein the controller is configured to update one or more of the following: one or more programmable components of a transmitter on the DSL system; or one or more programmable components of a receiver on the DSL system.
15. The controller of Claim 14 wherein the vectored DSL system operates in the upstream direction; and further wherein the controller updates at least one of the following: feedforward operations applied in one or more transmitters coupled to the bondedline set; feedforward operations in one or more receivers coupled to the DSL system; or feedback operations in one or more receivers coupled to the DSL system.
16. The controller of Claim 14 wherein the vectored DSL system operates in the downstream direction; and further wherein the controller updates at least one of the following: feedforward operations applied in one or more transmitters coupled to the DSL system; feedback operations applied in one or more transmitters coupled to the DSL system; feedforward operations applied in one or more receivers coupled to the bondedline set; or feedback operations applied in one or more receivers coupled to the bondedline set.
17. A method of precoding data for transmission in a multiuser vectored DSL system comprising a plurality of DSL lines including a plurality of nonbonded lines and a plurality of bonded lines, the method comprising: providing multiuser data to a precoder input; precoding the multiuser data to generate precoded data, wherein precoding the multiuser data comprises: when the data is from a bonded line, applying a static bondedline data filter to generate filtered bondedline data for decoding by a receiver, wherein the static bondedline data filter comprises block line processing applied to bondedline data; or when the data is from a nonbonded line, applying a user variable feedback filter to the multiuser data to generate filtered nonbonded line data; and providing the precoded data at a precoder output.
18. The method of Claim 17 wherein the block line processing comprises SVD processing.
19. The method of Claim 17 wherein the uservariable feedback filter is applied only when signal power » crosstalk power.
20. The method of Claim 17 wherein precoding the multiuser data is performed adaptively.
21. The method of Claim 20 wherein precoding the encoded data is not performed when the precoded data would violate a power penalty limitation.
22. The method of Claim 17 wherein the precoded data comprises the filtered bonded line data and the filtered nonbondedline data.
23. A method of operating a tonal predictive GDFE in a multiuser vectored DSL system comprising a plurality of DSL lines including a plurality of nonbonded lines and a plurality of nonbonded lines, the method comprising: receiving multiuser data; wherein when the multiuser data is bondedline data, applying a static bonded line data filter, wherein the static bondedline data filter comprises block line processing applied to bondedline data, and applying an adaptive bondedline data filter to remove noise from the bondedline data; or further wherein when the multiuser data is nonbondedline data, applying a static nonbondedline data filter to remove crosstalk from the nonbonded line data and applying an adaptive nonbondedline data filter to remove noise from the nonbondedline data.
24. The method of Claim 23 wherein the block line processing comprises SVD processing.
25. The method of Claim 23 wherein applying the static nonbondedline data filter comprises applying a static feedforward filter and applying a static multiuser feedback filter.
26. The method of Claim 23 wherein applying the adaptive nonbondedline data filter comprises applying an adaptive multiuser feedback filter.
27. The method of Claim 23 wherein applying the adaptive bondedline data filter comprises applying an adaptive multiuser feedback filter.
28. The method of Claim 27 wherein the adaptive multiuser feedback filter is a next user error predictor.
29. The method of Claim 28 wherein the adaptive multiuser feedback filter is a next user error predictor.
30. The method of Claim 28 wherein the nextuser error predictor uses an MMSE adaptive algorithm to estimate and/or update one or more coefficients of the adaptive multiuser feedback filter using errors calculated from the difference between a decision input and the decision output.
31. The method of Claim 29 wherein the nextuser error predictor uses an MMSE adaptive algorithm to estimate and/or update one or more coefficients of the adaptive multiuser feedback filter using errors calculated from the difference between a decision input and the decision output.
32. A computer program product comprising: a machine readable medium; and program instructions contained in the machine readable medium, the program instructions specifying a method of precoding data for transmission in a multiuser vectored DSL system comprising a plurality of DSL lines including a plurality of nonbonded lines and a plurality of bonded lines, the method comprising: precoding multiuser data to generate precoded data, wherein precoding the multiuser data comprises: when the data is from a bonded line, applying a static bondedline data filter to generate filtered bonded line data for decoding by a receiver, wherein the static bondedline data filter comprises block line processing applied to bondedline data; or when the data is from a nonbonded line, applying a uservariable feedback filter to the multiuser data to generate filtered nonbonded line data.
33. The computer program product of Claim 32 wherein the block line processing comprises SVD processing.
34. The computer program product of Claim 32 wherein the user variable feedback filter is applied only when signal power » crosstalk power.
35. The computer program product of Claim 32 wherein precoding the multiuser data is performed adaptively.
36. The computer program product of Claim 35 wherein precoding the encoded data is not performed when the precoded data would violate a power penalty limitation.
37. The computer program product of Claim 32 wherein the precoded data comprises the bondedline filtered data and the nonbondedline filtered data.
38. A computer program product comprising : a machine readable medium; and program instructions contained in the machine readable medium, the program instructions specifying a method of operating a tonal predictive GDFE in a multiuser vectored DSL system comprising a plurality of DSL lines including a plurality of nonbonded lines and a plurality of nonbonded lines transmitting multiuser data, the method comprising: when the multiuser data is bondedline data, applying a static bondedline data filter, wherein the static bondedline data filter comprises block line processing applied to bondedline data, and applying an adaptive bondedline data filter to remove noise from the bondedline data; or when the multiuser data is nonbondedline data, applying a static nonbonded line data filter to remove crosstalk from the nonbondedline data and applying an adaptive nonbondedline data filter to remove noise from the nonbonded line data.
39. The computer program product of Claim 38 wherein the block line processing comprises SVD processing.
40. The computer program product of Claim 38 wherein applying the static non bondedline data filter comprises applying a static feedforward filter and applying a static multiuser feedback filter.
41. The computer program product of Claim 38 wherein applying the adaptive non bondedline data filter comprises applying an adaptive multiuser feedback filter.
42. The computer program product of Claim 38 wherein applying the adaptive bondedline data filter comprises applying an adaptive multiuser feedback filter.
43. The computer program product of Claim 41 wherein the adaptive multiuser feedback filter is a nextuser error predictor.
44. The computer program product of Claim 42 wherein the adaptive multiuser feedback filter is a nextuser error predictor.
45. The computer program product of Claim 43 wherein the nextuser error predictor uses an MMSE adaptive algorithm to estimate and/or update one or more coefficients of the adaptive multiuser feedback filter using errors calculated from the difference between a decision input and the decision output.
46. The computer program product of Claim 44 wherein the nextuser error predictor uses an MMSE adaptive algorithm to estimate and/or update one or more coefficients of the adaptive multiuser feedback filter using errors calculated from the difference between a decision input and the decision output.
47. A DSL system comprising: an upstream transmitter, wherein the upstream transmitter comprises: a bondedline data processing unit that performs block line processing of bonded line data prior to transmission; a channel; and an upstream receiver, wherein the receiver is coupled to the transmitter by the channel, further wherein the receiver comprises: a bondedline data processing unit; and a nonbondedline data processing unit.
48. The system of Claim 47 wherein the upstream receiver further comprises an all data processing unit configured to process bondedline data and nonbondedline data.
49. The system of Claim 47 wherein the bondedline data processing unit comprises a block line processing unit.
50. The system of Claim 49 wherein the block line processing unit is configured to perform SVD processing.
51. The system of Claim 47 wherein the nonbondedline data processing unit comprises a crosstalk cancellation unit.
52. The system of Claim 51 wherein the crosstalk cancellation unit comprises a user variable feedback loop.
53. The system of Claim 47 wherein the nonbondedline data processing unit comprises an adaptive noise cancellation feedback loop.
54. A DSL system comprising: a downstream transmitter comprising: a bondedline data processing unit; and a nonbondedline data processing unit; a channel; and a downstream receiver, wherein the receiver is coupled to the transmitter by the channel, further wherein the receiver comprises: a bondedline data processing unit that performs block line processing of bonded line data after transmission of the bondedline data from the transmitter to the receiver on the channel.
55. The system of Claim 54 wherein the downstream transmitter further comprises an alldata processing unit configured to process bondedline data and nonbondedline data.
56. The system of Claim 54 wherein the transmitter bondedline data processing unit comprises a block line processing unit.
57. The system of Claim 56 wherein the block line processing unit of the transmitter bondedline data processing unit is configured to perform SVD processing.
58. The system of Claim 54 wherein the nonbondedline data processing unit comprises a crosstalk precancellation unit.
59. The system of Claim 58 wherein the crosstalk cancellation unit comprises a user variable feedback loop.
Description:
VECTORED DSL NESTING

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority under 35 U. S. C. § 119(e) of the following: U.S. Provisional No. 60/689,659 (Attorney Docket No. 0101-p22p) filed on June 10, 2005, entitled NESTING OF VECTORED DSLS, the entire disclosure of which is incorporated herein by reference in its entirety for all purposes; U.S. Provisional No. 60/698,113 (Attorney Docket No. 0101-p28ρ) filed on July 10, 2005, entitled DSL SYSTEM, the entire disclosure of which is incorporated herein by reference in its entirety for all purposes; U.S. Serial No. 11/284,692 (Atty. Docket No. 0101-pl6) filed November 22, 2005, entitled TONAL ROTORS, the entire disclosure of which is incorporated herein by reference in its entirety for all purposes; U.S. Serial No. 11/336,666 (Atty. Docket No. 0101-ρl7) filed January 20, 2006, entitled TONAL PRECODING, the disclosure of which is incorporated herein by reference in its entirety for all puiposes; U.S. Serial No. 11/336,113 (Atty. Docket No. 0101-pl8) filed January 20, 2006, entitled ADAPTIVE GDFE, the entire disclosure of which is incorporated herein by reference in its entirety for all purposes; U.S. Serial No. 11/344,873 (Atty. Docket No. 0101-pl9) filed February 01, 2006, entitled DSL SYSTEM LOADING AND ORDERING, the entire disclosure of which is incorporated herein by reference in its entirety for all puiposes.

BACKGROUND

Technical Field

This invention relates generally to methods, systems and apparatus for managing digital communications systems.

Description of Related Art

Digital subscriber line (DSL) technologies provide potentially large bandwidth for digital communication over existing telephone subscriber lines (referred to as loops and/or the copper plant). In particular, DSL systems can adjust to the characteristics of

the subscriber line by using a discrete multitone (DMT) line code that assigns a number of bits to each tone (or sub-carrier), which can be adjusted to channel conditions as determined during training and initialization of the modems (typically transceivers that function as both transmitters and receivers) at each end of the subscriber line.

Vectored DSL systems can increase data rate performance by eliminating or reducing crosstalk effects within twisted pairs that belong to the vectored system. Pn two- sided vectored DSL systems, a number of twisted pairs (also referred to as "loops" and/or "lines") are grouped together, and are used to transmit a single stream of information. In this case, the transceivers of all lines are physically co-located, and they may even share the same hardware or software. Vectoring effectively applies joint signal processing techniques at the transmitters, at the receivers, and/or at both sides.

Two-sided systems are considered to be "single-user" systems, because there is a single information source and a single information sink, despite the multiplicity of lines. In one-sided vectored DSL systems, distinct information streams are transmitted over the lines that comprise the system. Downstream vectoring basically applies transmitter precoding to the signals to be transmitted on the lines, and upstream vectoring similarly applies joint decoding to the signals received on the lines. In such systems, there are as many information sources (and sinks) as there are lines, and the transceivers typically are separated geographically at the customer side (the CPE side). Each line is considered to be a distinct "user" in this case.

In some DSL deployment cases, some customers may use a single line while other customers use multiple (bonded) lines. However, earlier systems have been unable to combine the features of one-sided and two-sided vectored systems, meaning that these hybrid systems have had to forego the benefits of vectoring. In those cases, applying vectoring simultaneously to all lines (both bonded and non-bonded lines) would provide significant performance benefits.

Systems, apparatus, methods and techniques that enable simultaneous vectoring

over bonded and non-bonded lines would represent a significant advancement in the art. More specifically, systems, apparatus, methods and techniques for implementing such vectoring over bonded and non-bonded lines would represent a significant advancement in the art. BRIEF SUMMARY

Embodiments of the present invention provide methods, apparatus, systems, computer program products, etc. to address one-sided vectoring systems that include a set of two or more bonded lines within a vectored group. In embodiments of the present invention, various other techniques such as precoding, tonal predictive GDFEs, tonal rotors and ordering techniques can be implemented.

The performance of lines within a bonded set for a single customer can be improved in both upstream and downstream performance by this invention, which nests a vector coding system within, for example, GDFE and/or precoder architectures. The lines within such a bonded group can have rotors applied at both transmit and receive side to implement higher performance for these lines. The triangular matrix used by the GDFE and the precoder systems of the above-referenced applications can be modified in this context as is detailed within.

Further details and advantages of the invention are provided in the following Detailed Description and the associated Figures.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:

Figure 1 is a schematic block reference model system per the G.997.1 standard applicable to ADSL, VDSL and other communication systems in which embodiments of the present invention may be used.

Figure 2 is a schematic diagram illustrating generic, exemplary DSL deployment.

Figure 3 is a block diagram illustrating upstream data transmission with vectored DSL nesting according to one or more embodiments of the present invention.

Figure 4A is a flow diagram illustrating upstream data transmission with vectored DSL nesting according to one or more embodiments of the present invention.

Figure 4B is a flow diagram illustrating upstream data reception with vectored DSL nesting according to one or more embodiments of the present invention.

Figure 5 is a block diagram illustrating upstream data reception with vectored DSL nesting according to one or more embodiments of the present invention.

Figure 6A is a block diagram illustrating downstream data transmission with vectored DSL nesting according to one or more embodiments of the present invention.

Figure 6B is a block diagram illustrating downstream data reception with vectored DSL nesting according to one or more embodiments of the present invention.

Figure 7 A is a flow diagram illustrating downstream data transmission with vectored DSL nesting according to one or more embodiments of the present invention.

Figure 7B is a flow diagram illustrating downstream data reception with vectored DSL nesting according to one or more embodiments of the present invention.

Figure 8A is a controller including a nested vectoring control unit according to one embodiment of the present invention.

Figure 8B is a DSL optimizer according to one embodiment of the present invention.

Figure 9 is a block diagram of a typical computer system or integrated circuit system suitable for implementing embodiments of the present invention.

DETAILED DESCRIPTION

The following detailed description of the invention will refer to one or more embodiments of the invention, but is not limited to such embodiments. Rather, the detailed description is intended only to be illustrative. Those skilled in the art will readily appreciate that the detailed description given herein with respect to the Figures is provided for explanatory purposes as the invention extends beyond these limited embodiments.

Embodiments of the present invention permit joint or successive decoding (known here as generalized decision feedback equalization, or GDFE) of different users' upstream signals and permit downstream precoding of different users' signals in a one-sided vectored communication system where two or more of the users' lines are bonded. The communication system in which embodiments of the present invention may be used may include ADSL lines, VDSL lines and/or or any other communication system components and/or lines with which the present invention is practical, as will be appreciated by those skilled in the art after reading the present disclosure. For purposes of explanation and illustration, DSL systems are used herein, but the invention is not so limited.

As described in more detail below, implementation of one or more of these nested vectoring systems implementing one or more embodiments of the present invention can be part of a communication device (for example, a controller, DSL optimizer, DSLAM, LT device, RT device, DSL modem and the like). Such implementation may be controlled and/or assisted by a nested vectoring control unit in a local device (again, for example, a DSLAM, LT device, modem, etc.) and/or in a remote device, such as a controller (for example, in or as a DSL optimizer, dynamic spectrum manager or spectrum management center). The nested vectoring control unit can be located anywhere. In some embodiments, a controller having a nested vectoring control unit resides in a DSL CO, while in other cases it may be operated by a third party located outside the CO. The structure, programming and other specific features of a controller

and/or nested vectoring control unit usable in connection with embodiments of the present invention will be apparent to those skilled in the art after reviewing the present disclosure.

A controller, such as a DSL optimizer, dynamic-spectrum-management center (DSM Center), a "smart" modem and/or computer system can be used to collect and analyze the operational data and/or performance parameter values as described in connection with the various embodiments of the present invention. The controller and/or other components can be a computer-implemented device or combination of devices. In some embodiments, the controller is in a location remote from modems or other communication equipment coupled to a communication line. In other cases, the controller may be collocated with one of or both of the 'local" devices (that is, devices directly coupled to a communication line or part of such a local device) as equipment directly connected to a modem, DSLAM or other communication system device, thus creating a "smart" modem. The phrases "coupled to" and "connected to" and the like are used herein to describe a connection between two elements and/or components and are intended to mean coupled either directly together, or indirectly, for example via one or more intervening elements or via a wireless connection, where appropriate.

Some of the following examples of embodiments of the present invention will be used in connection with one-sided vectored ADSL and/or VDSL systems as exemplary communications systems. Within these DSL systems, certain conventions, rules, protocols, etc. maybe used to describe operation of the exemplary DSL system and the information and/or data available from customers (also referred to as "users") and/or equipment on the system. However, as will be appreciated by those skilled in the art, embodiments of the present invention may be applied to various communications systems, and the invention is not limited to any particular system.

Various network-management elements are used for management of ADSL and VDSL physical-layer resources, where elements refer to parameters or functions within an

ADSL or VDSL modem pair, either collectively or at an individual end. A network- management framework consists of one or more managed nodes, each containing an agent. The managed node could be a router, bridge, switch, modem or other. At least one NMS (Network Management System), which is often called the manager, monitors and controls managed nodes and is usually based on a common PC or other computer. NMS is in some instances also referred to as an Element Management System (EMS). A network management protocol is used by the manager and agents to exchange management information and data. The unit of management information is an object. A collection of related objects is defined as a Management Information Base (MIB).

Figure 1 shows the reference model system according to the G.997.1 standard

(G.ploam), which applies to various ADSL and VDSL systems, which is well known to those skilled in the art, and in which embodiments of the present invention can be implemented. This model applies to ADSL and VDSL systems meeting the various standards that may or may not include splitters, such as ADSLl (G.992.1), ADSL-Lite (G.992.2), ADSL2 (G.992.3), ADSL2-Lite (G.992.4), ADSL2+ (G.992.5), VDSLl (G.993.1) and other G.993.X emerging VDSL standards, as well as the G.991.1 and G.991.2 SHDSL standards, all with and without bonding. These standards, variations thereto, and their use in connection with the G.997.1 standard are all well known to those skilled in the art.

The G.997.1 standard specifies the physical layer management for ADSL and

VDSL transmission systems based on the clear embedded operation channel (EOC) defined in G.997.1 and use of indicator bits and EOC messages defined in G.99x standards. Moreover, G.997.1 specifies network management elements content for configuration, fault and performance management. In performing these functions, the system utilizes a variety of operational data that are available at and can be collected from an access node (AN). The DSL Forum's TR69 report also lists the MIB and how it might be accessed. In Figure 1, customers' terminal equipment 110 is coupled to a home network 112, which in turn is coupled to a network termination unit (NT) 120. In the

case of an ADSL system, NT 120 includes an ATU-R 122 (for example, a modem, also referred to as a transceiver in some cases, defined by one of the ADSL and/or VDSL standards) or any other suitable network termination modem, transceiver or other communication unit. The remote device in a VDSL system would be a VTU-R. As will be appreciated by those skilled in the art and as described herein, each modem interacts with the communication system to which it is connected and may generate operational data as a result of the modem's performance in the communication system.

NT 120 also includes a management entity (ME) 124. ME 124 can be any suitable hardware device, such as a microprocessor, microcontroller, or circuit state machine in firmware or hardware, capable of performing as required by any applicable standards and/or other criteria. ME 124 collects and stores performance data in its MIB, which is a database of information maintained by each ME, and which can be accessed via network management protocols such as SNMP (Simple Network Management Protocol), an administration protocol used to gather information from a network device to provide to an administrator console/program or via TLl commands, TLl being a long- established command language used to program responses and commands between telecommunication network elements.

Each ATU-R in a system is coupled to an ATU-C in a CO or other upstream and/or central location, ha a VDSL system, each VTU-R in a system is coupled to a VTU-O in a CO or other upstream and/or central location (for example, any line termination device such as an ONU/LT, DSLAM, RT, etc.). In Figure 1, ATU-C 142 is located at an access node (AN) 140 in a CO 146. AN 140 may be a DSL system component, such as a DSLAM, ONU/LT, RT or the like, as will be appreciated by those skilled in the art. An ME 144 likewise maintains an MIB of performance data pertaining to ATU-C 142. The AN 140 may be coupled to a broadband network 170 or other network, as will be appreciated by those skilled in the art. ATU-R 122 and ATU-C 142 are coupled together by a loop 130, which in the case of ADSL (and VDSL) typically is a telephone twisted pair that also carries other communication services, hi a bonded

system, such as those described in United States Serial No. 10/808,771, which is incorporated herein by reference for all purposes, multiple loops 130 can be "bonded" to operate together for a single user, thus providing additional bandwidth to that user. As will be appreciated by those skilled in the art, a bonded-line set also provides the opportunity for improved cancellation of crosstalk that is induced between the bonded lines. Use of this characteristic and the joint optimization of the lines' transmitters in connection with the present invention is explained in more detail below.

Several of the interfaces shown in Figure 1 can be used for determining and collecting operational and/or performance data. To the extent the interfaces in Figure 1 differ from another ADSL and/or VDSL system interface scheme, the systems are well known and the differences are known and apparent to those skilled in the art. The Q-interface 155 provides the interface between the NMS 150 of the operator and ME 144 in AN 140. AU the parameters specified in the G.997.1 standard apply at the Q-interface 155. The near-end parameters supported in ME 144 are derived from ATU-C 142, while the far-end parameters from ATU-R 122 can be derived by either of two interfaces over the U-interface. Indicator bits and EOC messages, which are sent using embedded channel 132 and are provided at the PMD layer, can be used to generate the required ATU-R 122 parameters in ME 144. Alternately, the OAM (Operations, Administrations and Management) channel and a suitable protocol can be used to retrieve the parameters from ATU-R 122 when requested by ME 144. Similarly, the far-end parameters from

ATU-C 142 can be derived by either of two interfaces over the U-interface. Indicator bits and EOC messages, which are provided at the PMD layer, can be used to generate the required ATU-C 142 parameters in ME 124 of NT 120. Alternately, the OAM channel and a suitable protocol can be used to retrieve the parameters from ATU-C 142 when requested by ME 124.

At the U-interface (which is essentially loop 130), there are two management interfaces, one at ATU-C 142 (the U-C interface 157) and one at ATU-R 122 (the U-R interface 158). Interface 157 provides ATU-C near-end parameters for ATU-R 122 to

retrieve over the U-interface 130. Similarly, interface 158 provides ATU-R near-end parameters for ATU-C 142 to retrieve over the U-interface 130. The parameters that apply may be dependent upon the transceiver standard being used (for example, G.992.1 or G.992.2).

The G.997.1 standard specifies an optional OAM communication channel across the U-interface. If this channel is implemented, ATU-C and ATU-R pairs may use it for transporting physical layer OAM messages. Thus, the transceivers 122, 142 of such a system share various operational and performance data maintained in their respective MIBs.

More information can be found regarding ADSL NMSs in DSL Forum Technical

Report TR-005, entitled "ADSL Network Element Management" from the ADSL Forum, dated March 1998. Also, DSL Forum Technical Report TR-069, entitled "CPE WAN Management Protocol," dated May 2004. Finally, DSL Forum Technical Report TR-064, entitled "LAN-Side DSL CPE Configuration Specification" from the DSL Forum, dated May 2004. These documents address different situations for CPE side management and the information therein is well known to those skilled in the art. More information about VDSL can be found in the ITU standard G.993.1 (sometimes called "VDSLl") and the emerging ITU standard G.993.2 (sometimes called "VDSL2"), as well as several DSL Forum working texts in progress, all of which are known to those skilled in the art. For example, additional information is available in the DSL Forum's Technical Report TR- 057 (Formerly WT-068v5), entitled "VDSL Network Element Management" (February 2003) and Technical Report TR-065, entitled "FS-VDSL EMS to NMS Interface Functional Requirements" (March 2004) as well as in the emerging revision of ITU standard G.997.1 for VDSLl and VDSL2 MIB elements, or in the ATIS North American Draft Dynamic Spectrum Management Report, NIPP-NAI-2005-031.

It is less common for lines sharing the same binder to terminate on the same line card in ADSL, than it is in VDSL. However, the following discussion of DSL systems

maybe extended to ADSL because common termination of same-binder lines might also be done (especially in a newer DSLAM that handles both ADSL and VDSL). In a typical topology of a DSL plant, in which a number of transceiver pairs are operating and/or available, part of each subscriber loop is collocated with the loops of other users within a multi-pair binder (or bundle). After the pedestal, veiy close to the Customer Premises Equipment (CPE), the loop takes the form of a drop wire and exits the bundle. Therefore, the subscriber loop traverses two different environments. Part of the loop maybe located inside a binder, where the loop is sometimes shielded from external electromagnetic interference, but is subject to crosstalk. After the pedestal, the drop wire is often unaffected by crosstalk when this pair is far from other pairs for most of the drop, but transmission can also be more significantly impaired by electromagnetic interference because the drop wires are unshielded. Many drops have 2 to 8 twisted-pairs within them and in situations of multiple services to a home or bonding (multiplexing and demultiplexing of a single service) of those lines, additional substantial crosstalk can occur between these lines in the drop segment.

A generic, exemplary DSL deployment scenario is shown in Figure 2. All the subscriber loops of a total of (L + M) users 291, 292 pass through at least one common binder. Each user is connected to a Central Office (CO) 210, 220 through a dedicated line. However, each subscriber loop may be passing through different environments and mediums. In Figure 2, L customers or users 291 are connected to CO 210 using a combination of optical fiber 213 and twisted copper pairs 217, which is commonly referred to as Fiber to the Cabinet (FTTCab) or Fiber to the Curb. Signals from transceivers 211 in CO 210 have their signals converted by optical line terminal 212 and optical network terminal 215 in CO 210 and optical network unit (ONU) 218. Modems 216 in ONU 218 act as transceivers for signals between the ONU 218 and users 291.

Users' lines that co-terminate in locations such as COs 210, 218 and ONU 220 (as well as others) may be operated in a coordinated fashion, such as vectoring. In vectored communication systems (such as vectored ADSL and/or VDSL systems), coordination of

signals and processing can be achieved. Downstream vectoring occurs when multiple lines' transmit signals from a DSLAM or LT are co-generated with a common clock and processor. In VDSL systems with such a common clock, the crosstalk between users occurs separately for each tone. Thus each of the downstream tones for many users can be independently generated by a common vector transmitter. Similarly, upstream vectoring occurs when a common clock and processor are used to co-receive multiple lines' signals. In VDSL systems with such a common clock, the crosstalk between users occurs separately for each tone. Thus each of the upstream tones for many users can be independently processed by a common vector receiver.

The loops 227 of the remaining M users 292 are copper twisted pairs only, a scenario referred to as Fiber to the Exchange (FTTEx). Whenever possible and economically feasible, FTTCab is preferable to FTTEx, since this reduces the length of the copper part of the subscriber loop, and consequently increases the achievable rates. Moreover, FTTCab is expected to become an increasingly popular topology. This type of topology can lead to substantial crosstalk interference and may mean that the lines of the various users have different data carrying and perfoπnance capabilities due to the specific environment in which they operate. The topology can be such that fiber-fed "cabinet" lines and exchange lines can be mixed in the same binder. The crosstalk noises created by lines terminating at different places usually cannot be canceled directly by well-known decision-feedback mechanisms and instead represent time-varying spatial noises that can be completely or partially canceled by the invention described herein.

As can be seen in Figure 2, the lines from CO 220 to users 292 share binder 222, which is not used by the lines between CO 210 and users 291. Moreover, another binder 240 is common to all the lines to/from CO 210 and CO 220 and their respective users 291 , 292. In Figure 2, far end crosstalk (FEXT) 282 and near end crosstalk (NEXT) 281 are illustrated as affecting at least two of the lines 227 collocated at CO 220.

As will be appreciated by those skilled in the art, at least some of the operational

data and/or parameters described in these documents can be used in connection with embodiments of the present invention. Moreover, at least some of the system descriptions are likewise applicable to embodiments of the present invention. Various types of operational data and/or infonnation available from a DSL NMS can be found therein; others may be known to those skilled in the art.

A vectored DMT channel (both upstream and downstream) is characterized in synchronized digitally duplexed DSL systems by the simple matrix equation:

Y = HX + N Equation (1)

where H (also denoted H as well) is a matrix that describes the insertion loss and crosstalk on a single tone and depends on the number of inputs and outputs used, including non-square versions of H when special channels such as phantom-mode signal channels are used. H is usually a square matrix that is size U x U for differential-only vectoring and (2U - 1) x (lU - 1) in full, two-sided vectoring with phantom-mode signals. For one-sided systems that use phantoms, any combination of an extra U modes may be assigned to either of (but not both) the downstream or upstream vectoring calculations. H may be a different matrix for each tone and usually is not the same in upstream and downstream directions. A single H is used in this disclosure to simplify notation. A complex rotor computational unit may apply one or more complex rotors to each such tone in either direction independently, as described in more detail below.

In an upstream transmission direction, such as those found in DSL systems where data is transmitted to a DSLAM, RT device, LT device, etc., there is a factorization of the noise-whitened equivalent channel as

R^' 2 . H = QSG Eq. (2)

and the channel without noise whitening as

H = QR Eq. (3)

Both of these factorizations produce triangular matrices on the right. In embodiments of the present invention, the triangularity becomes a block triangularity (and not perfectly triangular) in positions corresponding to bonded lines. An example of such a triangular matrix appears in Equation 4 below, with 3 users and 4 lines. Note that there is one non-zero term above the diagonal (x signifies an entiy that is possibly nonzero but not of direct interest here.

The 2 x 2 matrix in the middle can be called R 22 so

While the matrix could be triangularized, leaving it as a block matrix corresponding to the bonded lines in QR factorization (basically one step in QR factorization that would zero the entry r 23 of Equation (4) is omitted) allows higher performance since the transmitters of the two lines can be jointly optimized in the bonded system. That optimization in this invention executes appropriate block line processing or the like (for example, singular value decomposition (SVD)) of the middle matrix as

R 22 = F 2 A 2 M 2 Eq. (6)

Decisions within a bonded-line set are not fed back for crosstalk cancellation for that bonded-line set since this is inherently accomplished using the noted SVD/block line processing for the bonded lines. The decisions from that entire bonded-line set are fed back for use in the noise predictor for all lines and the feedback sections for other, non-

bonded lines that follow the bonded group in the decoding order. The M matrix, which can be implemented in the transmitter because the bonded lines are within a single transmitter, separates the crosstalk and allows a higher performance. Such an SVD (or other block line processing) can be implemented by a controller such as a DSL optimizer for each and every bonded-line set to get the corresponding M and F matrices (which are orthogonal). The M and F matrices can be translated into a series of rotations, for example as disclosed in United States Serial No. 11/284,692, incorporated by reference above, can then be found for implementation of either as a series of rotations.

The A Λ is a diagonal matrix that can be easily implemented within the receiver (separate from the rotors) with minimal complexity. The matrix A is used in determining the gains that are used in all bit-swapping and loading algorithms for the lines in the bonded set (this A will be a function of the order chosen and thus the other lines preceding and succeeding this set in decoding; ordering for precoding and decoding can be selected in any suitable fashion, including according to one or more embodiments disclosed in United States Serial No. 1 1/344,873, incorporated by reference above. Moreover, other techniques relating to ordering and related matters can be found in course notes for EE479 taught at Stanford University during Fall 2005; Chapters 12, 13, 14 and 15 of those notes are incorporated herein by reference in its entirety for all purposes).

These gains will be at least as high as if the additional coordination among the bonded lines at the transmitter was not exploited. Note that, in the event that rotations are used to implement the M matrix in the transmitter, a rotor unit may now be employed with the bonded transmitters at the client (NT) side of the DSL system. Any ordering algorithm remains the same, simply with the new, better gains for the bonded set always used in place of those that would have arisen without bonding.

The feedback section can use instantaneous decisions on other previously decoded users (from the same DMT symbol) as inputs to the feedback section. This process can

reset every symbol, thus limiting error propagation with such instantaneous decisions to the current symbol. Therefore, error propagation is not as serious an issue as in time- domain decision feedback systems where, error bursts can last a long time (especially when outer trellis and/or RS codes are used to improve coding gain). In DMT, and in particular with trellis coding that is applied independently to each of the users' tones in succession within a single symbol, significant gain in performance with the tonal GDFE is possible if soft-information is derived from the "decision-device" input. Other users' decisions will affect such soft-infonnation, which can in turn be passed to the decoder for the trellis code of each user (which runs along the tones and terminates itself each symbol). The net effect is that other users' codes can help eliminate any errors on a current user and vice versa. The ultimate maximum a posteriori decoder limit can correspond to considerably higher coding gain than a single trellis code alone (but of course never exceeding the capacity limit).

Vector-DMT with a GDFE receiver already has large performance gain to non- vectored receivers when FEXT is significant. The extra iterative decoding gain (0-2 dB) may be attained, but at perhaps a trade-off in the complexity of the iterative decoding that is higher than desired.

An example of the present invention is shown in the system diagram of Figure 3. A DSL upstream transmission configuration 300 includes a number of users' lines. Pn the example shown in Figure 3, there are 7 single line users 310 (Users 1-4 and 6-8).

Another user 312, User 5, has a bonded system employing 3 bonded DSL lines 313. Data transmitted by the users 310, 312 traverses channel H 315. As will be appreciated by those skilled in the art, DMT data from users 1-4 and 6-8 will be processed by modules 318 (transmit processing) before being transmitted on the channel. The DMT data from user 312 is treated differently, however. The DMT data corresponding to the three bonded-lines 313 are jointly filtered by a feedforward filter 314 (for example, matrix M) before being processed by the transmit processing modules 318. The configuration and operation of module 314 maybe controlled by a controller 390 (for example, a DSL

Optimizer, DSM center, etc.). As will be appreciated by those skilled in the art, the transmit processing modules 318 may perform operations such as IFFT, parallel to serial conversion, cyclic extension addition, windowing, filtering, interpolation, and digital to analog conversion.

The specific operation and at least one implementation of a receiver 500 using embodiments of the present invention is seen in Figure 5. The receiver 500 receives received data 501, such as multi-user data in a vectored DMT DSL system. The receiver may apply some preprocessing such as an FFT 502 and/or the like, as will be appreciated by those skilled in the art, before sending data to an upstream multi-user data processing unit 503. Within unit 503 an "'all-data" processing unit 504 can process both bonded-line data as well as data from one or more non-bonded lines (a "non-bonded" line is a single line with a single user and the terms "single line" and "non-bonded line" may be used interchangeably herein) in the multi-user data packet, hi some vectored DSL systems, this feedforward filter can apply a Q * matrix 506 or its equivalent, as disclosed in United States Serial No. 11/336,113, incorporated by reference above. As taught by U.S. Serial No. 11/284,692, the matrix 506 (as well as other matrices, such as matrix 522 of Figure 5 and the transmitter M matrix of Figure 3) can be implemented as one or more complex rotors in appropriate locations, as will be appreciated by those skilled in the art.

The data processing sequence from this point forward is dictated by the ordering of the users. The output of the feedback filter 512, if any, is subtracted from the data for each line from the processing unit 504. Such subtraction achieves crosstalk cancellation and/or noise decorrelation. Following the subtraction, a multiplexer 509 directs the data either to a decision device 516 (for non-bonded lines), or to a bonded-line set processing unit 520 (for bonded lines).

If the data corresponds to a non-bonded line, then the output of the decision device 516 is passed to a multiplexer 540 and consequently to the remaining decoder stages of the receiver 500. The remaining stages of the receiver may include trellis

decoding 550, de-interleaving 552, FEC decoding and descrambling 554 and deframing 556, after which payload data 558 can be delivered to an appropriate destination. Iterative decoding may also be used between decoder 550 and multi-user data processing unit 503. The output of the decision device 516 also is passed as input to the feedback filter 512. Optionally, the input to the decision device 516 maybe passed as input to the feedback filter 512 to allow alternative approaches for feedback filtering implementation (for example, adaptive feedback filtering using error predictors and the like).

If the data at multiplexer 509 corresponds to a bonded-line set, then the data is sent to bonded-line set processing unit 520 where the input is first filtered by a feedforward matrix 522 (for example, using an F * matrix or the like, which can be implemented using tonal rotors, as described in one or more of the referenced patent applications). The output of the feedforward filtering is provided to a decision device 528, which outputs data that is passed to the multiplexer 540 and consequently to the remaining decoder stages of the receiver 500. The output of the decision device 528 also is passed as input to the feedback filter 512. Optionally, the input to the decision device 528 may be passed as input to the feedback filter 512 to allow alternative approaches for feedback filtering implementation, as noted above.

A controller 590 (such a DSL Optimizer) maybe coupled to unit 503, unit 504, feedback filter 512, etc. and may aid with the configuration of the various modules such as the feedforward filters 506 and 522, the feedback filter 512, and the ordering of the users/lines as imposed by the multiplexing operations 509 and 540 (some of which might be found in United States Serial No. 11/344,873, incorporated by reference, above). Again, other techniques relating to ordering and related matters can be found in course notes for Chapters 12-15 of EE479 taught at Stanford University during Fall 2005, incorporated by reference above.

As with other upstream decoding systems, a feedforward filter can be used to apply the Q * matrix filtering 506 to the received multi-user data, as illustrated in Figure

5. In the embodiment of the present invention shown in Figure 5, a GDFE can apply a feedback filter 512 either to achieve crosstalk cancellation or to achieve noise prediction or to achieve both. As will be appreciated by those skilled in the art, other filtering and/or data processing can be applied, as appropriate. For example, the feedback filter 512 may or may not be applied. Feedback filter 512 can be configured to remove crosstalk from non-bonded-line signals as disclosed in United States Serial No. 11/336,113, incorporated by reference above. Likewise, feedback filter 512 can remove noise from the multi-user data, again as taught in that same application.

In embodiments of this invention, feedforward and feedback filters can be realized as static filters, as adaptive filters (to take into account channel and noise changes), or as one or more combinations of static and adaptive filters. Other embodiments of a receiver using embodiments of the present invention are available, as will be appreciated by those skilled in the art.

One process 400 of signal transmission according to one or more embodiments of this invention (as a method, per se, and/or implementation in a computer program product) is shown in Figure 4A. User data are obtained at 402 corresponding to the line (or lines when bonding is used) of the user of interest. An evaluation is made at 404 to determine whether this is a bonded-line set user or a single-line user. If the data are not from a bonded-line set user, then the user data are processed for transmission at 406 using single line processing. These single line processed data are then transmitted on the line at 412. If the user has bonded lines, then the processing differs. The data corresponding to all lines of the bonded user are processed by applying feedforward filtering at 408 (for example, by a matrix M). After applying such filtering, standard single line transmitter processing is applied to each of the lines at 410, and finally the processed data are transmitted on the line at 412. The process 400 may then repeat for a new set of user data obtained at 402.

Process 401 of Figure 4B illustrates signal reception according to one or more

embodiments of this invention (as a method, per se, and/or implementation in a computer program product or the like). User data are received at 414 from all lines (including bonded and non-bonded lines). The data received at 414 are assumed to have undergone standard receiver processing, which may include filtering, analog to digital conversion, decimation, cyclic extension removal, windowing and FFT processing. The user data from all lines undergo feedforward filtering at 415 (for example, by a matrix Q * ). Feedback filtering 420 is then performed on each user's data sequentially. Such feedback filtering can be used to cancel crosstalk and/or decorrelate noise. An evaluation is performed at 424 to detennine whether the user data under consideration belongs to a bonded-line set or not. If the user at 424 is a single line user, then a decision can be made at 426 for the line's data. After making a decision, an error metric may be estimated at 428, for example by comparing the data before and after the decision. After any error metric calculation, processing of the single line data proceeds to 440.

If the user at 424 is a bonded-line set user, then feedforward filtering 430 (for example, by multiplying by F * ) is applied to the data from lines belonging to the bonded- line set. Even if the lines of a bonded user are not consecutive in the ordering used by a receiver, those skilled in the art will understand that a bonded-line set user's lines can be grouped for this processing without loss of generality. Following the application of such feedforward filtering, a decision is made at 432 for each of the bonded lines sequentially, optionally followed by the generation of an error metric at 434 for each of the bonded lines. An evaluation at 436 determines whether all lines of the bonded-line set have been processed. If all lines have been processed, then the bonded-line set user's data has been fully processed and the process 401 proceeds to 440; otherwise, it returns to 432. The decisions performed at 426 and 432 maybe soft decisions and, as known to those skilled in the art, iterative decoding may be applied to improve the reliability of such decisions.

Note that no receiver feedback filtering is applied between lines in the bonded- line set (that is, after decision 424) because crosstalk between bonded lines in the same bonded-line set is removed using the block processing of the present invention. Such

filtering is not needed, because the combination of receiver feedforward filtering 430 and transmitter feedforward filtering 408 (from Figure 4A) should result in a crosstalk-free channel with no noise correlation. If the transmitter feedforward filtering 408 is not performed correctly, then receiver feedback filtering would be needed for the data from lines of the bonded-line set.

A decision is made at 440 regarding whether all users' data have been processed. If data from users remain to be processed, the next step is to restart feedback filtering for the next user's line(s) at 420. If all users have been processed, then a filter update operation can take place at 480, if desired. This operation can involve using error metrics computed at 428 and/or 434 to update the receiver feedforward and/or feedback filters used at 415, 420 and 430. Additionally, the transmitter feedforward filter used at 403 of Figure 4A may be updated. Such update can be performed by a controller, such as a DSL Optimizer, or DSM Center. Finally, after the update, the process terminates and is reset at 490 for receiving the next tone, DMT symbol or other multi-user data at 414.

Corresponding downstream precoder modifications are illustrated in exemplary embodiments in Figures 6A, 6B, 7A and 7B. The transmit configuration of a downstream transmitter is augmented by addition of the matrix M (or any other appropriate block line processing usable with bonded lines), which can be implemented as matrix multiplication, a complex rotor unit, etc. on the bonded lines (such implementation may be referred to generally as "filtering" or "processing" or the like here and elsewhere in the present disclosure and such terms are intended to include the enumerated implementations as well as any other known and/or apparent to those skilled in the art).

In the receivers, the non-bonded lines can have individual scaling, as taught in United States Serial No. 11/336,666, incorporated by reference above, with modulo devices. The bonded-line receiver implements the F * matrix (for example, by matrix multiplication, a complex rotor unit, or other filtering or processing), followed by diagonal scaling using the A ~x matrix or the like. The precoder does not use precoding

crosstalk-removal feedback within the bonded lines, and the precoding of the non-bonded lines is determined by the rest of the R matrix, just as in the GDFE case (without a noise predictor). Modulo addition is for the constellation size on each of the individual bonded lines, and a similar device may be used (as disclosed in United States Serial No. 11/336,666) on each of the final output lines in the receiver. A dither signal also may be employed as needed or appropriate (as disclosed in United States Serial No. 11/336,666).

One or more embodiments of the present invention implemented in a downstream DSL transmission configuration are shown in the system diagram of Figure 6A. The example of Figure 6A will be explained further in connection with the transmission of multi-user data such as DMT symbols.

A number of single-line user-data lines 612 (constituting a non-bonded-line set) and one bonded-line set user 614 (that is, two or more bonded user-data lines) provide data for downstream transmission to a transmitter module 610, which may be part of a whole transmitter, transceiver, etc. of some sort. The data corresponding to each line (whether bonded or non-bonded) may undergo appropriate encoding operations such as framing, FEC encoding and scrambling, interleaving, constellation encoding and gain scaling. Bonded-line data from user 614 is provided to a bonded-line precoding unit 620 for application of appropriate bonded-line precoding, for example using an M matrix as described above. Bonded-line precoding unit 620 is shown as being part of module 610, though such bonded-line precoding can be performed anywhere that is convenient and/or appropriate, as will be appreciated by those skilled in the art. Output data from the bonded-line precoding unit 620 and data from the non-bonded lines are combined, for example, by a multiplexer 624 to consequently process data at precoder 630.

The data corresponding to a line at the output of multiplexer 624 are then precoded by the precoder 630. Such precoding may be performed in any appropriate manner, for example according to one or more embodiments taught by United States Provisional Application entitled "TONAL PRECODING" (Atty. Docket No. 0101-ρl7ρ),

referenced above. The exemplary precoding of unit 630 includes subtraction of the output of a feedback filter 632, addition of an optional dither signal 634, and application of a modulo operation 636, though one or more of these precoding steps maybe omitted, as will be appreciated by those skilled in the art. Initially processed data is provided as input to the feedback filter 632. After data from all lines have been processed, a feedforward filter 638 may then be applied, for example, by multiplying the data by a matrix Q. Following the multiplication, the data of each line are separated by a device such as a demultiplexer 628. Finally, the data of each line undergo otherwise standard transmit processing 640. As known to those skilled in the art the transmit processing modules 640 may perform operations such as IFFT, parallel to serial conversion, cyclic extension addition, windowing, filtering, interpolation, and digital to analog conversion. Fully processed transmission data can then be transmitted downstream over a channel H 650.

The processing steps for performing bonded-line and non-bonded-line precoding are performed by transmitter module 610 as described in connection with Figure 6A. One or more of these components may be coupled to a controller 690, such as a DSL optimizer, or DSM center. Such a controller may configure programmable elements of unit 620, the transmitter module 610 and/or precoder 630, such as the feedforward filter of unit 620 and 638, the feedback filter 632, the optional dither signal 634, and the optional modulo operation 636. Such a controller may also configure ordering of the users and the lines as imposed by the multiplexing operations performed at 624 and 628. Ordering can be selected in any suitable fashion, including according to one or more embodiments disclosed in United States Serial No. 11/344,873, incorporated by reference above. Again, other techniques relating to ordering and related matters can be found in course notes for Chapters 12- 15 of EE479 taught at Stanford University during Fall 2005, incorporated by reference above.

The system diagram of Figure 6B shows a bonded-line set receiver 601 according to one or more embodiments of the present invention. Signals are received from channel

H 650. The signals for non-bonded lines are sent to standard receivers 602 in which standard reception processing 651 (for example, operations such as filtering, analog to digital conversion, decimation, cyclic extension removal, windowing, serial to parallel conversion and FFT processing) and decoding 652 (for example, operations such as trellis decoding, de-interleaving, FEC decoding and descrambling, and deframing) are performed to yield single line user data 653.

In the bonded-line set situation, receiver 601 receives signals on the three bonded lines 660. The data on these lines 660 are processed using standard reception processing 651 initially. The data over each line is receiver processed by modules 651 in similar fashion to the processing performed for data of single line users. The data from all bonded lines in this user's bonded-line set are filtered at 664, per the line set's SVD and/or other block line processing, for example by applying an F * matrix (and possibly an A ~] matrix, if appropriate). This can be done using appropriate techniques such as matrix multiplication, complex rotations, etc. hi some embodiments of the present invention, the filtered data is then provided (for example, by means of a multiplexer 666) for noise removal. The output of a feedback filter 670 is subtracted from the data of each line to reduce the noise. After such subtraction, the subtracted data are decoded using a decision device 668. The decoded data are finally provided as payload data for the user at module 672. The output of the decision device 668 is also provided as input to the feedback filter 670. Optionally, the input to the decision device 668 is also provided as input to the feedback filter 670 to allow an alternative feedback filter 670 implementation as will be appreciated to those skilled in the art.

hi the above description the decision device 668 may or may not include operations such as trellis decoding, de-interleaving, FEC decoding and descrambling, and deframing. In some embodiments, the decision device 668 may only produce soft decisions, in which case some of the decoding operations are performed by module 672 before the data are provided as payload data. As will be appreciated to those skilled in

the art, iterative decoding techniques may be used to realize some performance gains. The bonded-line receiver 601 may be coupled to a controller 690. Such a controller may be used to monitor operation and to configure programmable modules of the receiver 601, such as the feedforward filter 664, the feedback filter 670 and the multiplexer 666.

Error metrics for each line can be produced (for example, in filter 670) by comparing the input and output of decision device 668. Such metrics can be used to update aspects of receiver 601 , such as modules 664 and 670. Such updating can be performed either directly or indirectly through a controller 690. When a controller 690 is used for updating, the controller may also use error metrics from lines corresponding to single-line users and computed at decoders 652. Such a controller also may perform updating of modules in the transmission configuration of Figure 6 A to allow the most reliable transmission when channel and/or noise change over the lines.

A process for signal transmission using one or more embodiments of a downstream system according to the present invention (for example, a method and/or implementation in a computer program product or the like) is shown in Figure 7 A. Process 700 begins at 712 with multi-user data being provided which, in the case of a vectored DMT DSL system, could be a DMT symbol made up of data from one or more non-bonded lines and a plurality of bonded lines comprising one or more bonded-line sets. A decision is made at 714 as to whether given data is from a bonded user or a non- bonded user. If the data is from a bonded user, then a feedforward filter is applied to data of all lines of the user at 716. If the data is from a non-bonded user, then no such processing takes place. At 718, feedback precoding is applied to the data from the line (or lines) of the current user, regardless of bonded-line status. Another decision is made at 720 as to whether data from all users have been processed. If data remain to be processed, the process returns to 714. If all users' data has been processed, then a feedforward filter is applied to the data from all lines at 722 (for example, a Q matrix), after which standard transmit processing is applied to the data of each line at 724 (for example, operations such as IFFT, parallel to serial conversion, cyclic extension addition,

windowing, filtering, interpolation, and digital to analog conversion). Finally, the data of each line are transmitted at 726.

A process for signal reception using one or more embodiments of a downstream system according to the present invention (for example, a method and/or implementation in a computer program product or the like) is shown in Figure 7B. Process 701 begins at 720 with receiving data from the line (or line set) used by the user. A decision is made at 732 as to whether the user is a bonded or non-bonded-line user. In the case of a non- bonded user, the data are decoded at 734 according to known methods for single-line data decoding. An error metric may be deteπnined at 736 by comparing the data before and after the decoding operation. One or more of the various filters usable with embodiments of the present invention can then be updated at 750, if desired.

In the case of a bonded-user, a feedforward filter is applied to the data of all lines of the user at 738, after which each line's data undergo feedback Filtering at step 740. The data of a line then are decoded at 742, and an error metric may be computed, if desired, at 744. A decision is made at 746 as to whether additional lines for the current bonded-line set user have to be decoded. If the data of all lines have not been decoded, then process 701 can return to 740 for the next line's data. Otherwise, one or more of the various filters usable with embodiments of the present invention can then be updated at 750, if desired.

As noted above, filtering and other modules can be optionally updated, at 750 using the error metrics computed at 736 and/or 744. Operations performed at 738 and/or 740 also may be updated to reflect changes in the channel and/or the noise. When a controller is in use (for example, controller 690 of Figures 6A and/or 6B), the controller may assume the task of updating the programmable components of one or more modules used in these processes. After the optional updating 750, the process resets at 751, and the process recommences for the next tone or for the next DMT symbol at 730.

Various apparatus according to the present invention can implement one or more

of the methods and/or techniques discussed above. According to one embodiment of the present invention shown in Figure 8A, a nested vectoring control unit 800 maybe part of an independent entity coupled to a DSL system, such as a controller 810 (for example, a device functioning as or with a DSL optimizer, DSM server, DSM Center or a dynamic spectrum manager) assisting users and/or one or more system operators or providers in operating and, perhaps, optimizing use of the system, including implementation of one or more tonal predictive GDFEs at one or more upstream receivers and/or one or more downstream transmitters implementing tonal preceding. (A DSL optimizer may also be referred to as a dynamic spectrum manager, Dynamic Spectrum Management Center, DSM Center, System Maintenance Center or SMC.) In some embodiments, the controller 810 maybe a completely independent entity, while in other embodiments the controller 810 may be in or part of an ILEC or CLEC operating a number of DSL lines from a CO or other location. As seen from the dashed line 846 in Figure 8A, the controller 810 may be in the CO 146 or may be external and independent of CO 146 and any company operating within the system. Moreover, controller 810 may be coupled to, communicating with and/or controlling DSL and/or other communication lines in multiple COs.

In some embodiments of the present invention, the controller 810 controls and/or communicates with a vectored DSL system in a specific binder, for example communicating with one or more upstream receivers. The DSL lines in the binder may be ADSL, VDSL and/or other communication lines in various combinations. The nested vectoring control unit 800 has access (directly or indirectly) to information and/or data regarding the various lines in the subject binder and may be able to control certain aspects of those lines' operation. For example, the nested vectoring control unit 800 may initially set and/or update the Q , Q * , F * , A ~ \ £ " ' and/or G matrices (and/or others) in one or more receivers or receiver modules, one or more transmitters or transmitter modules, etc., such as those shown in the Figures. Also, the nested vectoring control unit 800 may enable and/or disable operation of a tonal predictive GDFE and/or tonal precoder, as

appropriate.

The nested vectoring control unit 800 includes a data collection unit 820 identified as a collecting means and an analysis unit 840 identified as analyzing means. As seen in Figure 8A, the collecting means 820 (which can be a computer, processor, IC, computer module, etc. of the type generally known) may be coupled to NMS 150, ME 144 at AN 140 and/or the MIB 148 maintained by ME 144, any or all of which may be part of an ADSL and/or VDSL system for example. Data also may be collected through the broadband network 170 (for example, via the TCP/IP protocol or other protocol or means outside the normal internal data communication within a given DSL system). One or more of these connections allows the nested vectoring control unit 800 to collect operational data from the system (for example, to be used in generating and/or updating one or more matrices, and/or data used with complex rotor units, used in a tonal predictive GDFE and/or tonal precoder). Data may be collected once or over time. In some cases, the collecting means 820 will collect on a periodic basis, though it also can collect data on-demand or any other non-periodic basis, thus allowing the nested vectoring control unit 800 to update its information, operation, etc., if desired.

In the exemplary system of Figure 8A, the analyzing means 840 (which also can be a computer, processor, IC, computer module, etc. of the type generally known) is coupled to a DSLAM, modem and/or system operating signal generating means 850 inside or outside the controller 810. This signal generator 850 (which can be a computer, processor, IC, computer module, etc.) is configured to generate and send instruction signals to modems and/or other components of the communication system (for example, ADSL and/or VDSL transceivers and/or other equipment, components, etc. in the system). These instructions may include commands adaptively turning on and off a tonal predictive GDFE or tonal precoder, ordering, loading, nesting functions, requesting new and/or updated channel crosstalk and insertion loss information, and requesting and providing data relating to matrices and/or any other operational characteristics of the relevant communication lines.

Embodiments of the present invention can utilize a database, library or other collection of data pertaining to the data collected, past operation of the vectored DSL system and any other relevant lines and equipment. This collection of reference data may be stored, for example, as a library 548 in the controller 810 of Figure 8 A and used by the analyzing means 840 and/or collecting means 820. The controller 810 also may access one or more libraries and/or databases outside the controller 810, as will be appreciated by those skilled in the art.

In various embodiments of the invention, the vectoring control unit 800 may be implemented in one or more computers such as PCs, workstations or the like. The collecting means 820, analyzing means 840 and/or signal generating means 850 may be software modules, hardware modules or a combination of both, as will be appreciated by those skilled in the art. When working with a large numbers of modems, databases may be introduced and used to manage the volume of data collected.

Another embodiment of the present invention is shown in Figure 8B. A DSL optimizer 865 operates on and/or in connection with a DSLAM 885 or other DSL system component, either or both of which may be on the premises 895 of a telecommunication company (a "telco"). The DSL optimizer 865 includes a data module 880, which can collect, assemble, condition, manipulate and supply operational data for and to the DSL optimizer 865. Module 880 can be implemented in one or more computers such as PCs or the like. Data from module 880 is supplied to a DSM server module 870 for analysis (for example, evaluating the need for a GDFE in a given upstream-end receiver, evaluating channel-related matrices and/or other data used in a GDFE, performing similar functions in connection with a precoder, and coordinating ordering, loading, nesting functions, tonal rotors, etc.). Information also may be available from a library or database 875 that may be related or unrelated to the telco. Server 870 can be implemented in one or more computers and/or computer systems such as PCs or the like.

An operation selector 890 may be used to implement, modify and/or cease DSL

and/or other communication operations, including implementation of various operational parameters involving transmit power, carrier masks, etc. Moreover, implementing embodiments of the present invention, selector 890 can send instructions regarding nesting-related functions, operation of a GDFE or precoder, and data and/or information to support such operations (for example, initial and/or updated matrix information, the PSDMASK and power levels for the users, etc.). Decisions may be made by the DSM server 870 or in any other suitable manner, as will be appreciated by those skilled in the art. Operational modes and/or parameters selected by selector 890 are implemented in the DSLAM 885 and/or any other appropriate DSL system component equipment. Such equipment may be coupled to DSL equipment such as customer premises equipment 899. The system of Figure 8B can operate in ways analogous to the system of Figure 8 A, as will be appreciated by those skilled in the art, though differences are achievable while still implementing embodiments of the present invention.

Generally, embodiments of the present invention employ various processes involving data stored in or transferred through one or more computer systems, which may be a single computer, multiple computers and/or a combination of computers (any and all of which maybe referred to interchangeably herein as a "computer" and/or a "computer system"). Embodiments of the present invention also relate to a hardware device or other apparatus for performing these operations. This apparatus may be specially constructed for the required purposes, or it may be a general-purpose computer and/or computer system selectively activated or reconfigured by a computer program and/or data structure stored in a computer. The processes presented herein are not inherently related to any particular computer or other apparatus. In particular, various general-purpose machines may be used with programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required method steps. A particular structure for a variety of these machines will be apparent to those of ordinary skill in the art based on the description given below.

Embodiments of the present invention as described above employ various process

steps involving data stored in computer systems. These steps are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared and otherwise manipulated. It is sometimes convenient, principally for reasons of common usage, to refer to these signals as bits, bitstreams, data signals, control signals, values, elements, variables, characters, data structures or the like. It should be remembered, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.

Further, the manipulations performed are often referred to in terms such as identifying, fitting or comparing. In any of the operations described herein that form part of the present invention these operations are machine operations. Useful machines for performing the operations of embodiments of the present invention include general purpose digital computers or other similar devices. In all cases, there should be borne in mind the distinction between the method of operations in operating a computer and the method of computation itself. Embodiments of the present invention relate to method steps for operating a computer in processing electrical or other physical signals to generate other desired physical signals.

Embodiments of the present invention also relate to an apparatus for performing these operations. This apparatus may be specially constructed for the required purposes, or it may be a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. The processes presented herein are not inherently related to any particular computer or other apparatus. In particular, various general purpose machines may be used with programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required method steps. The required structure for a variety of these machines will appear from the description given above.

In addition, embodiments of the present invention further relate to computer readable media that include program instructions for performing various computer- implemented operations. The media and program instructions may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well known and available to those having skill in the computer software arts. Examples of computer-readable media include, but are not limited to, magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as floptical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM) and random access memory (RAM). Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter.

Figure 9 illustrates a typical computer system that can be used by a user and/or controller in accordance with one or more embodiments of the present invention. The computer system 900 includes any number of processors 902 (also referred to as central processing units, or CPUs) that are coupled to storage devices including primary storage 906 (typically a random access memory, or RAM), primary storage 904 (typically a read only memory, or ROM). As is well known in the art, primary storage 904 acts to transfer data and instructions uni-directionally to the CPU and primary storage 906 is used typically to transfer data and instructions in a bi-directional manner. Both of these primary storage devices may include any suitable of the computer-readable media described above. A mass storage device 908 also is coupled bi-directionally to CPU 902 and provides additional data storage capacity and may include any of the computer- readable media described above. The mass storage device 908 may be used to store programs, data and the like and is typically a secondaiy storage medium such as a hard disk that is slower than primary storage. It will be appreciated that the information retained within the mass storage device 908, may, in appropriate cases, be incoiporated in standard fashion as part of primary storage 906 as virtual memory. A specific mass storage device such as a CD-ROM 914 may also pass data uni-directionally to the CPU.

CPU 902 also is coupled to an interface 910 that includes one or more input/output devices such as such as video monitors, track balls, mice, keyboards, microphones, touch-sensitive displays, transducer card readers, magnetic or paper tape readers, tablets, styluses, voice or handwriting recognizers, or other well-known input devices such as, of course, other computers. Finally, CPU 902 optionally may be coupled to a computer or telecommunications network using a network connection as shown generally at 912. With such a network connection, it is contemplated that the CPU might receive information from the network, or might output information to the network in the course of performing the above-described method steps. The above-described devices and materials will be familiar to those of skill in the computer hardware and software arts. The hardware elements described above may define multiple software modules for performing the operations of this invention. For example, instructions for running a codeword composition controller may be stored on mass storage device 908 or 914 and executed on CPU 902 in conjunction with primary memory 906. In a preferred embodiment, the controller is divided into software submodules.

The many features and advantages of the present invention are apparent from the written description, and thus, the appended claims are intended to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, the present invention is not limited to the exact construction and operation as illustrated and described. Therefore, the described embodiments should be taken as illustrative and not restrictive, and the invention should not be limited to the details given herein but should be defined by the following claims and their full scope of equivalents, whether foreseeable or unforeseeable now or in the future.