METHOD AND APPARATUS FOR TRANSMITTING DATA FROM A TRANSMITTER DEVICE TO ONE OR MORE RECEIVER DEVICES

20200028972 ยท 2020-01-23

Assignee

Inventors

Cpc classification

International classification

Abstract

A transmitter for transmitting data, using a discrete multi-tone modulation technique, to one or more receiver devices, each of which is connected to the transmitter device via at least one respective pair of wires, each receiver device being operable to receive signals detected as a change over time in the potential difference across the local ends of each respective pair of wires extending between the receiver and the transmitter device, is operable to transmit signals onto the wires extending between the transmitter device and the one or more receiver devices in a plurality of different modes, over a plurality of different channels, the different modes including phantom and differential modes and the different channels including a first set of phantom channels. The transmitter is further operable to select a second set of phantom channels from the first set, the second set being a subset of the first set comprising some or all of the phantom channels of the first set such that at least some of the phantom channels

Claims

1. A method of transmitting, using a discrete multi-tone modulation technique, data from a transmitter device over a plurality of pairs of wires to one or more receiver devices, each of the one or more receiver devices being connected to the transmitter device via at least one respective pair of wires, the one or more receiver devices being operable to receive signals detected as a change over time in the potential difference across the local ends of the or each respective pair of wires extending between the receiver and the transmitter device, the transmitter device being operable to transmit signals onto the wires extending between the transmitter device and the one or more receiver devices in a plurality of different modes, over a plurality of different channels, the different modes including phantom and differential modes and the different channels including a first set of phantom channels, the method comprising: selecting a second set of phantom channels from the first set of phantom channels, the second set of phantom channels being a subset of the first set of phantom channels comprising some or all of the phantom channels of the first set of phantom channels such that at least some of the phantom channels in the second set of phantom channels are not mutually orthogonal to one another; connecting the selected phantom channels to the transmitter; and transmitting signals from the transmitter onto the phantom channels of the second set of phantom channels.

2. The method according to claim 1, further comprising compensating for resulting interference effects caused by use of non-mutually orthogonal phantom channels.

3. The method according to claim 1, further comprising: in respect of each of a plurality of different tones employed by the transmitter, selecting a tertiary set of phantom channels, each tertiary set of phantom channels being a proper subset of the second set of phantom channels and being selected so as to be mutually orthogonal to each other; generating in a digital frequency domain a set of signals including at least one signal for each phantom channel in the second set of phantom channels, wherein for each respective tone, data is encoded only into phantom channels in the respective tertiary set of phantom channels for that tone, with signals associated with phantom channels not in the respective tertiary subset being set to a low-interference-causing value for that tone.

4. A transmitter device for transmitting data, using a discrete multi-tone modulation technique, over a plurality of pairs of wires to one or more receiver devices, each of the one or more receiver devices connected to the transmitter device via at least one respective pair of wires, each receiver device being operable to receive signals detected as a change over time in the potential difference across the local ends of each respective pair of wires extending between the receiver device and the transmitter device, the transmitter device being operable to transmit signals onto the wires extending between the transmitter device and the one or more receiver devices in a plurality of different modes, over a plurality of different channels, the different modes including phantom and differential modes and the different channels including a first set of phantom channels, the transmitter being further operable to select a second set of phantom channels from the first set, the second set being a subset of the first set comprising some or all of the phantom channels of the first set such that at least some of the phantom channels in the second set are not mutually orthogonal to one another, the transmitter device comprising: a connector for connecting the selected phantom channels of the second set of phantom channels to the transmitter device, the transmitter device being further operable to transmit signals from the transmitter device onto the phantom channels of the second set of phantom channels.

5. The transmitter device according to claim 4, wherein the transmitter device is further operable, in respect of each of a plurality of different tones employed by the transmitter device, to select a tertiary set of phantom channels, each tertiary set of phantom channels being a proper subset of the second set of phantom channels and being selected so as to comprise phantom channels which are mutually orthogonal to each other, the transmitter device being further operable to generate, in a digital frequency domain, a set of signals including at least one signal for each phantom channel in the second set of phantom channels, wherein, for each respective tone, data is encoded into signals for transmission over the phantom channels in the respective tertiary set of phantom channels for that tone and each signal associated with a phantom channel which is not in the respective tertiary subset for any given tone is set to a low-interference-causing value for that tone.

6. A phantom channel connector for connecting a transmitter device to a selected set of phantom channels carried over a plurality of pairs of wires extending between the transmitter device and one or more receiver devices, the phantom channel connector comprising: a phantom channel selection signal receiver for receiving a phantom channel selection signal specifying a set of one or more selected phantom channels, the set of selected phantom channels comprising a subset of a total number of possible phantom channels to which the connector is operable to connect to the transmitter device and including at least some phantom channels which are not mutually orthogonal to one another; a switch arrangement comprising a plurality of pairs of input terminals, each pair of input terminals being operable to receive a transmission signal for transmission over an associated selected phantom channel and a plurality of output terminals; and a plurality of phantom mode driving couplers for applying a voltage output from the switching arrangement to a pair of wires in a manner suitable for driving a component voltage of a phantom mode signal over the pair of wires; wherein the switching arrangement is operable to selectively couple each input terminal to any one of the output terminals in dependence upon the received phantom channel selection signal such that, in use, a transmission signal applied to a pair of input terminals is capable of being transmitted over a selected phantom channel in dependence upon the received phantom channel selection signal; and wherein the switching arrangement comprises more input terminals than output terminals.

7. The phantom channel connector according to claim 6, wherein the driving couplers comprise center tap connections to an inductor or transformer connected to one of the plurality of pairs of wires at the transmitter end of the wires.

8. A phantom channel selector device, forming part of a transmitter device, the phantom channel selector device being operable to select a plurality of phantom channels carried over a plurality of pairs of wires extending between the transmitter device and one or more receiver devices on to which to transmit a transmission signal or signals, the phantom channel selector device comprising: a coupling data receiver for receiving at least one of receiver signal reception data or cross channel coupling data; a selection interface for communicating at least one of a phantom channel selection signal or a message to a phantom channel connector; and a processor arranged to generate a phantom channel selection, for selecting a second subset of phantom channels, the second subset comprising some or all of the total number of phantom channels which the phantom channel connector is operable to connect to and including at least some phantom channels which are not mutually orthogonal to one another, for communication to the phantom channel connector within the phantom channel selection signal or the message, in dependence upon the received signal reception data or the cross channel coupling data.

9. The phantom channel selector device according to claim 8, wherein the processor is further operable to additionally select a plurality of tertiary subsets of phantom channels, each tertiary subset of phantom channels comprising a proper subset of the second subset of phantom channels, wherein all of the phantom channels in each tertiary subset are mutually orthogonal to one another.

10. The phantom channel selector device according to claim 9, further comprising a multi-objective problem processing unit for performing a determination of which phantom channels to select as a solution of a multi-objective problem in which a solution is sought to simultaneously benefit two or more of the receiver devices or as a single-objective simplification thereof.

11. Processor implementable instructions for causing a processor to carry out the method of claim 1 during execution of the instructions.

12. A non-transitory computer-readable storage medium storing processor implementable instructions configured to cause a processor to carry out the method of claim 1.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0040] In order that the present disclosure may be better understood, embodiments thereof will now be described with reference to the accompanying drawings in which:

[0041] FIG. 1 is a schematic illustration of an example broadband connection deployment showing a Distribution Point Unit (DPU) and two customer premises having associated Customer Premises Equipment (CPE) modems connected to the DPU via respective Twisted Metallic Paii (TMP) connections,

[0042] FIG. 2 is a schematic block diagram illustrating the principal components in a modem to modem connection operating in accordance with a first embodiment of the present disclosure,

[0043] FIG. 3 is a schematic block diagram of the Multiple Phantom Access Device (MPAD) of FIG. 2, illustrating the device in greater detail,

[0044] FIG. 4 is a schematic block diagram similar to FIG. 3, illustrating an alternative Multiple Phantom Access Device (MPAD) which is suitable for use with four rather than three wire pairs, and

[0045] FIG. 5 is a graph illustrating an example pareto front for a simple case concerning selecting optimal phantom channels for use in assisting two different wire pairs/receivers.

DESCRIPTION OF EMBODIMENTS

[0046] FIG. 1 illustrates in overview an example broadband deployment in which embodiments of the present disclosure could be employed. As shown m FIG. 1, the example deployment comprises a Distribution Point Unit (DPU) 10 which is connected to three user premises 31,32, 33 (which m this example are flats with a single house 30) via respective Twisted Metallic Pair (TMP) connections 21, 22, 23 which connect between an Access Node (AN) 16 (e.g. a Digital Subscriber Line Access Multiplexor (DSLAM)) within the DPU 10 and respective Customer Premises Equipment (CPE) modems 51, 52 via respective network termination points 41, 42 within the respective customer premises 31, 32. The DPU 10 additionally includes an Optical Network Termination (ONT) device 14 which provides a backhaul connection from the DPU 10 to a local exchange building via an optical fiber connection such as a Passive Optic-Fiber Network (PON) and a controller 12 which coordinates communications between the AN 16 and the ONT 14 and which may perform some management functions such as communicating with a remote Persistent Management Agent (PMA).

[0047] As will be apparent to a person skilled in the art, the illustrated deployment involving an optical fiber backhaul connection from a distribution point and a twisted metallic pair connection from the distribution point to the customers premises is exactly the sort of deployment for which the G.FAST standard is intended to be applicable In such a situation, the TMP connections may be as short as a few hundred meters or less, for example possibly a few tens of meters only and because of this it is possible to use very high frequency signals (e.g. up to a few hundred Megahertz) to communicate over the short TMP's because the attenuation of high frequency signals is insufficient to prevent them from carrying useful information because of the shortness of the lines. However, at such high frequencies cross-talk becomes a significant issue. This is clearly especially going to be the case where the cross-talking lines travel alongside each other for part of their extent (as in the situation illustrated in FIG. 1), however, cross-talk is still an issue at high frequencies (e g over 80 MHz) even where the lines only lie close to one another for a very small portion of their total extent (e.g. just when exiting the DPU 10) G FAST currently proposes simply using vectoring techniques at all frequencies where there are cross-talking lines in order to mitigate against the cross-talk effects.

[0048] In addition, in this scenario, by accessing at the DPU 10 (in particular at the Access Node (AN) 16) phantom channels, it is possible to exploit signals transmitted onto phantom channels which will crosstalk onto the conventional differential mode channels associated with each of the end user receivers (the termination point and CPE modem combinations 41/51, 42/52, 43/53) and change the signals received (compared to a conventional case where the phantom channels are not exploited in this way). Since there are three TMP connections 21-23, there are 3 possible (first order, pure) phantom channels which could be exploited in this way, formed by using the differential voltage signal between the average voltage of TMP 21 and that of TMP 22, the average voltage of TMP 21 and that of TMP 23; and the average of TMP 22 and that of TMP 23. However, since there is no possible set of two of these possible (first order, pure) phantom channels which does not include at least one common TMP, only one of these can be used at the same time without having non-orthogonal (and hence complexly interfering) phantom channels being used simultaneously Thus the present embodiment includes a Phantom ChannelMultiple Optimization Problem device (PC-MOP) which, as is explained in greater detail below, acts to choose a single one out of the three possible phantom channels to usethe selection being performed such as to try to achieve a particular set of two (or more) objectives (e g to try to obtain the maximum benefit for two of the three receivers).

[0049] Referring now to FIG. 2, there is shown a schematic illustration of the principal components within the AN 16 and CPE modems 51, 52, 53 allowing the indirect phantom channels to be utilized according to a first simple embodiment chosen to illustrate the basic principles of the approach.

[0050] As shown, the AN 16 according to the embodiment illustrated in FIG. 2 comprises first, second and third Data Source, Data Encoder and Serial to Parallel converter (DSDESP) modules 1611, 1612 and 1613. These are essentially conventional functions within a DSL modem and will not be further described here except to point out that each one's output is a set of data values d1-dM each of which can be mapped to both a set of one or more bits and to a point within a modulation signal constellation associated with a respective tone on which the data value is to be transmitted. For example if a tone t1 is determined to be able to carry 3 bits of data a corresponding data value will be set to one of 23=8 different values (e g to a decimal number between 0 and 7) each of which corresponds to a different constellation point within an associated signal constellation having 8 different constellation points. The data values for a single symbol can be thought of as forming a vector of data values (one for each data-carrying tone) and together carry the user data to be transmitted to the end user associated with a respective end user modem 51, 52, 53 together with any overhead data (e.g. Forward Error Correction data, etc.).

[0051] (N.B. It is worth noting that the assessment of the number of bits which any particular tone for any particular receiver may carry (per symbol) should be done with the benefit of the usage of any assisting phantom mode channels (as discussed below) and the benefit of vectoring taken into account. Thus it should be borne in mind that the present discussion relates to Showtime operation of the system once all training procedures have been completed. In overview the training involves firstly determining which phantom channel (or channels in embodiments in which more than one phantom channel can be exploited at the same time e g for embodiments in which more than 3 lines are connected to a common AN and are sufficiently closely cross-talk coupled to make exploitation of the phantoms worthwhile) to use and then setting parameters for its usage Having determined how to best exploit the phantom channels, then the training continues by performing vectoring training to determine the vectoring parameters to use and then determining the number of bits which can be used with both assistance from the phantom channel(s) and from vectoring.)

[0052] The data values leaving each DSDESP module 1611, 1612, 1613 are then passed (in an appropriate order) to respective Multiple bit level Quadrature Amplitude Modulation (M-QAM) modulators 1621, 1622, 1623 which convert each input data value to a respective complex number x.sub.1.sup.1 to x.sub.M.sup.1, x.sub.1.sup.2 to x.sub.M.sup.2 and x.sub.1.sup.3 to x.sub.M.sup.3 each of which represents a complex point within a complex number constellation diagram. For example a data value d.sub.1.sup.1=7 (=111 in binary) might be mapped by the M-QAM modulator 1621 to the complex number 1-i for tone 1 where tone 1 has been determined (by say modem 51) to be able to carry 3 bits of data each.

[0053] Each of these complex numbers x.sub.1.sup.1 to x.sub.M.sup.1, x.sub.1.sup.2 to x.sub.M.sup.2 and x.sub.1.sup.3 to x.sub.M.sup.3 is then entered into a vectoring precoder module 1630 (which in the present embodiment is a single common vectoring precoder module 1630) which performs a largely conventional vectoring operation in order to precode the transmissions to be sent using a combination of predetermined vectoring coefficients and information about the signals to be transmitted onto the other lines within the relevant vector group in a manner, which is well known to those skilled in the art, to compensate for the expected effects of cross-talk from the other lines in the vector group. The vectoring precoder module differs from a conventional vectoring precoder module in that it is operable to additionally precode the transmissions in such a way as to cause them to be pre-compensated for the expected crosstalk effects produced not only by the neighboring lines operating in a direct differential mode (as per standard vectoring), but also for the effects of crosstalk coming from any signals being transmitted onto one or more phantom channels (or other channels which are not direct differential mode channels). In order to do this (as will become apparent form the detailed description below) it is necessary for the vectoring precoder module 1630 to receive information about channel estimations of the respective phantom channel(s) (or other channels which are not direct differential mode channels) and also information about any weighting values used to combine signals to be transmitted over the phantom channel(s) (or other channels which are not direct differential mode channels). The output from the vectoring precoder module 1630 is thus a set of further modified complex numbers {circumflex over ()}.sub.1.sup.1 to {circumflex over ()}.sub.M.sup.1, {circumflex over ()}.sub.1.sup.2 to {circumflex over ()}.sub.M.sup.2 and {circumflex over ()}.sub.1.sup.3 to {circumflex over ()}.sub.M.sup.3.

[0054] The ability of the vectoring precoder module 1630 to receive the weighting values and channel estimation values which it needs to perform its precoding functions is illustrated in FIG. 2 by the line between the PC-MOP & MICOP & MRC & Management entity module 1690 (which performs general management functions in addition to its specific functions described in greater detail below and for brevity may hereinafter be referred to either as the management entity or the PC-MOP module) and the vectoring precoder module 1630. In the present embodiment, the PC-MOP module calculates appropriate values for the channel estimations and the weighting values required by the vectoring precoder module and the MICOP & MRC precoder module 1640. In order to do this, it needs data reported back to it from the end user modems. The processes and procedures for achieving this are largely conventional and well known to persons skilled in the art and so they are not discussed in great detail herein except to note that it relies on a backward path from the receivers 51,52,53 to the transmitter 16. This is achieved in practice, of course, in that the receivers 51,52,53 are in practice transceivers capable of receiving and transmitting signals over the TMP's 51,52,53 as is the transmitter 16the receiver parts of the transmitter 16 and the transmitter parts of the receivers 51,52,53 have simply been omitted from the drawings to avoid unnecessary complication of the figures because these parts are entirely conventional and not directly pertinent to the present disclosure. Moreover, each of the receivers additionally contains a management entity responsible for performing various processing and communication functions. Any of a number of suitable techniques can be employed for obtaining data useful in generating channel estimations. For example, known training signals can be transmitted onto selected channels by the transmitter 16 during a special training procedure and the results of detecting these by the receivers 51,52,53 can be sent back to the transmitter in a conventional manner. Additionally, special synchronization symbols can be transmitted, interspersed with symbols carrying user data, at predetermined locations within a frame comprising multiple symbols (e.g. at the beginning of each new frame) and the results of attempting to detect these synchronization symbols can also be sent back to the transmitter to generate channel estimation values. As is known to persons skilled in the art, different synchronization signals/symbols can be sent over different channels simultaneously and/or at different times etc. so that different channel estimations (including importantly indirect channels and indirect channels can be targeted and evaluated, etc.

[0055] As will be appreciated by those skilled in the art, the output of the vectoring precoder module 1630 is a set of modified (or predistorted) complex numbers {hacek over ()}.sub.1.sup.1 to {hacek over ()}.sub.M.sup.1, {hacek over ()}.sub.1.sup.2 to {hacek over ()}.sub.M.sup.2 and {hacek over ()}.sub.1.sup.3 to {hacek over ()}.sub.M.sup.3 as mentioned above. These complex numbers are then passed to a Mixed-Integer Convex Optimization Problem and Maximal Ratio Combiner (MICOP and MRC) pre-coder module 1640 (hereinafter referred to as the MICOP and MRC precoder module 1640) which, in the present embodiment, uses weighting values together with channel estimation values provided to it by the PC-MOP module 1690 to calculate, from the modified complex numbers received from the vectoring pre-coder module 1640 (and the weighting values and channel estimation values from the PC-MOP module 1690), further modified (or further pre-distorted) values for the complex numbers to be passed to the IFFTs 1651-1652. Note that in addition to further modifying the received numbers {hacek over ()}.sub.1.sup.1 to {hacek over ()}.sub.M.sup.1, {hacek over ()}.sub.1.sup.2 to {hacek over ()}.sub.M.sup.2 and {hacek over ()}.sub.1.sup.3 to {circumflex over ()}.sub.M.sup.3 to generate corresponding further modified complex numbers {umlaut over (x)}.sub.1.sup.1 to {umlaut over (x)}.sub.M.sup.1, {umlaut over (x)}.sub.1.sup.2 to {umlaut over (x)}.sub.M.sup.2 and {umlaut over (x)}.sub.1.sup.3 to {umlaut over (x)}.sub.M.sup.3 which are to form (ultimately) the signals to be used in driving the respective TMPs 21, 22, 23 in direct differential mode, the MICOP and MRC precoder module 1640 additionally generates a new set of complex numbers {umlaut over (x)}.sub.1.sup.4 to {umlaut over (x)}.sub.M.sup.4 which are to form (ultimately) the signals to be used to drive a (single ended) phantom mode channel to be accessed via the MPAD module described below. The precise way in which this is done is described below with reference to appropriate equations. Once these values have been calculated by the MICOP and MRC precoder 1640 they are passed to the respective IFFT modules 1651-1654 (super-script 1 values going to IFFT 1651, superscript 2 values going to IFFT 1652, etc.) and the next two steps of the processing are conventional and not relevant to the present invention. Thus each set of generated values (e.g. to {umlaut over (x)}.sub.1.sup.1 to {umlaut over (x)}.sub.M.sup.1 is formed by the respective IFFT module into a quadrature time domain signal in the normal manner in Orthogonal Frequency Division Multiplexing (OFDM)/DMT systems). Then the time domain signals are processed by a suitable Analogue Front End (AFE) module 1661 to 1664 again in any suitable such manner including any normal conventional manner. After processing by the AFE module 1650, the resulting analogue signals are passed to the MPAD module 1670 (note MPAD stands for Multiple Phantom Access device).

[0056] The MPAD module is described in greater detail below, but in overview it provides switchable access to centre taps of any of the TMPs such that any of the possible phantom channels associated with the connected lines can be driven by the incoming signal arriving from AFE 1664 as well as directly passing on the signals from AFE's 1661-1663 directly to TMPs 21-23 for driving in the normal direct differential mode.

[0057] During transmission over the TMP connections 21, 22, 23 the signals will be modified in the normal way according to the channel response of the channel and due to external noise impinging onto the connections. In particular there will be cross-talking (and most particularly far-end cross-talking) between the three direct channels (the direct channels being one from the transmitter 16 to the modems 41-43 via the TMPs 21-23 and the phantom channel. However, the effect of the precoding is to largely precompensate for the effects of the cross talk. Additionally, the targeted receivers additionally benefit from increased SNR of the received signal destined for them arriving via cross talk from the phantom channel.

[0058] After passing over the TMP connections 21, 22, 23 the signals are received by the modems 41-43 at a respective Analogue Front End (AFE) module 5150, 5250, 5350 which performs the usual analogue front end processing. The thus processed signals are then each passed to a respective Fast Fourier Transform (FFT) module 5140, 5240, 5340 which performs the usual conversion of the received signal from the time domain to the frequency domain. The signals leaving the FFT modules 5140, 5240, 5340, y.sub.1.sup.1 to y.sub.M.sup.1, y.sub.1.sup.2 to y.sub.M.sup.2 and y.sub.1.sup.3 to y.sub.M.sup.3 are then each passed, in the present embodiment, to a respective Frequency domain EQualiser (FEQ) module 5130, 5230, 5330. The operation of such frequency domain equalizer modules is well-known in the art and will not therefore be further described herein. It should be noted however, that any type of equalization could be performed here, such as using a simple time-domain linear equalizer, a decision feedback equalizer, etc. For further information on equalization in OFDM systems, the reader is referred to: Zero-Forcing Frequency-Domain Equalization for Generalized DMT Transceivers with Insufficient Guard Interval, by Tanja Karp, Steffen Trautmann, Norbert J. Fliege, EURASIP Journal on Applied Signal Processing 2004:10, 1446-1459.

[0059] Once the received signal has passed through the AFE, FFT and FEQ modules, the resulting signals, {umlaut over (x)}.sub.1.sup.1 to {umlaut over (x)}.sub.M.sup.1, {umlaut over (x)}.sub.1.sup.2 to {umlaut over (x)}.sub.M.sup.2 and {umlaut over (x)}.sub.1.sup.3 to {umlaut over (x)}.sub.M.sup.3 should be similar to the complex numbers x.sub.1.sup.1 to x.sub.M.sup.1, x.sub.1.sup.2 to x.sub.M.sup.2 and x.sub.1.sup.3 to x.sub.M.sup.3 originally output by the M-QAM modulators 1621-1623 except that there will be some degree of error resulting from imperfect equalization of the channel and the effect of external noise impinging onto the lines during transmission of the signals between the AN and the modems 41-43. This error will in general differ from one receiving modem to the next. This can be expressed mathematically as {umlaut over (x)}.sub.m.sup.1=x.sub.m.sup.1+e.sub.m.sup.1 etc. Provided the error however is sufficiently small the signal should be recoverable in the normal way after processing by the M-QAM demodulator modules 5120-5320 where a corresponding constellation point is selected for each value {umlaut over (x)}.sub.m.sup.i in dependence on its value (e.g. by selecting the constellation point closest to the point represented by the value {umlaut over (x)}.sub.m.sup.i unless trellis coding is being used, etc.). The resulting data values {umlaut over (d)}.sub.1.sup.1 to {umlaut over (d)}.sub.M.sup.1, {umlaut over (d)}.sub.1.sup.2 to {umlaut over (d)}.sub.M.sup.2 and {umlaut over (d)}.sub.1.sup.3 to {umlaut over (d)}.sub.M.sup.3 should mostly (apart from some small number of incorrectly detected values resulting from errors) correspond to the data values, {umlaut over (d)}.sub.1.sup.1 to {umlaut over (d)}.sub.M.sup.1, {umlaut over (d)}.sub.1.sup.2 to {umlaut over (d)}.sub.M.sup.2 and {umlaut over (d)}.sub.1.sup.3 to {umlaut over (d)}.sub.M.sup.3 originally entered to the corresponding M QAM modules 1621,1622, 1623 respectively within the AN/transmitter 16. These values are then entered into a respective decoder (and received data processing) module 5110, 5210 and 5230 which reassembles the detected data and performs any necessary forward error correction etc. and then presents the recovered user data to whichever service it is addressed to in the normal manner, thus completing the successful transmission of this data.

[0060] As mentioned above, following now from the above overview of FIG. 2, a more detailed explanation is provided of the non-conventional elements within the embodiment illustrated in FIG. 2 and described briefly above Thus, the MPAD 1670 is a component which provides access to different combinations of phantom channels MPAD 1670 tries all the possible combinations without repetition, e.g phantom of pair 1 and pair 2 is equivalent to the phantom of pair 2 and pair 1 and so will not be repeated). Herein, MPAD (1670) selects a specific phantom and it allows the transmitter 16 and each respective receiver 51, 52, 53 to tram up with each other and obtain the phantom channel as well as the direct differential mode pairs' channel coefficients at any given specific time slot At this stage the receivers 51, 52, 53 report either the overall combined channel or the phantoms only to the PC-MOP module 1690 depending on what signals are transmitted by the transmitter 16 which is done under the control of the PC-MOP module so that it knows what data is being reported back to it by the receivers. At the same time the Interface 1680 confirms the identification of the selected and currently operational phantom channel to PC-MOP module 1690 (which is also selected by the interface 1680 under instruction from the PC-MOP module) so that all channel gains and their identifications are capable of being ascertained by PC-MOP 1690 for subsequently passing to the vectoring precoder module 1630 and the MICOP & MRC precoder module 1640 for use in performing their preceding functions. The operation continues until all the phantom channels' combinations are tested Once the phantom tree is completed, PC-MOP 1690 decides the optimal phantom channels to be exploited to benefit specific pairs, all the pairs or to maximize the rate equilibrium of the users The decision is then forwarded to the MPAD module 1670 via the Interface 1680 to execute the decision and enable the access to the selected optimal phantom channels.

[0061] Once the optimum phantom channel is constructed and ready to be accessed, MICOP-MRC module 1640 then decides the optimal strategy to steer the constructed phantoms. This is done by selecting appropriate weighting values as described in greater detail below. The steering objective can be modified to maximize a specific pair or the rate equilibrium or any other desired objective.

[0062] It should be noted here that, in the present embodiment, the MICOP-MRC module 1640 selects two non-mutually orthogonal phantom channels for the MPAD to connect to and then ensures that the complex numbers x.sub.1.sup.4 to x.sub.M.sup.4 and x.sub.1.sup.5 to x.sub.M.sup.5 for passing the IFFT modules 1654 and 1655 are such that for any particular subscript value, j, at least one of x.sub.j.sup.4 and x.sub.j.sup.5 is set to zero. In other words, for any given tone or range of tones, it will not be the case that both signals are carrying data because at least one will have been set to a zero valueindicating that the signal (energy or strength)! at that tone or range of tones is to be zero. As noted above, in other more sophisticated (and complex) embodiments it may be advantageous to set one of the values to a non-zero value (instead of to a zero value) with a view to obtaining some benefit from the resulting cross talk In theory various alternative approaches can be considered (e.g. applying a signal to constructively interfere with another wanted signal once it has cross-talked across to the other wanted signal, applying a signal which will destructively interfere with an unwanted noise-causing signal on another line once the applied signal has cross-talked to that other line so as to reduce the noise on that line, etc) but in practice at present it is difficult to achieve significant gains from such approaches.

[0063] It should also be noted that if there are unused lines, or if a particular receiver becomes inactive such that its dedicated line becomes subsequently inactive, such auxiliary lines can be activated and optimized to interfere coherently with a specific target line to maximize its data late The optimization decides the signal array configuration (amplitude and phase) based on the full/partial knowledge of the active channel components Additional parameters can be incorporated into the optimization problem such as traffic demands, traffic types, quality of service tolerance, fairness sharing conditions, etc.

[0064] If a larger number of pairs (larger than the three pairs 21, 22, 23 in the above described illustrative embodiment) were involved it would be possible to have a greater number of mutually orthogonal phantom channels used to carry (non-redundant) data simultaneously. In any such embodiments, the MPAD may preferably be operable to permit a greater number than 2 phantom channels to be accessible at any single time, but the precoders may ensure that non-zero signals are transmitted only on to a subset of the phantom channels chosen such that all of the phantom channels in such a sub-set are mutually orthogonal to one another, thus if, for example, there were five twisted metallic pairs, the MPAD might arrange for 3 phantom channels to be connected at any point m time even though only up to two of these can be mutually orthogonal to one another at any point in time (e g the MPAD might connect p12, p34 and p35 to the transmitter arrangement, p34 and p35 are not mutually orthogonal to one another although both the pair p12 and p34 and the pair p12 and p35 are mutually orthogonal, thus the transmitter m such a case may arrange that non zero signals are transmitted only on to one of p34 and p35 at any given time in respect of any given tone). In general, in embodiments, the MPAD concurrently connects a number of phantom channels which is greater than the number of phantom channels which can form a mutually orthogonal group for the given number of twisted metallic pairs and then only a subset of these is actively transmitted over (e g using non-zero, non-redundant, data representing driving complex numbers) at any given point in time on any given tone (point in frequency).

[0065] There now follows a mathematical explanation of the functioning of the various elements In some cases the equations deal only with two direct differential mode signals and one phantom mode signal, however, it will be apparent to a person skilled in the art how to expand this to cover multiple different direct differential signals and multiple phantom signals based on the following example expositions Thus, considering a system with K twisted pairs, each pair denoted by tp.sub.i where i,i K is the pair's index, there are

[00009] M = .Math. K d .Math.

first order orthogonal phantoms, where d is the required number of pans to construct a single phantom channel. Similar rule applies for second order phantoms and so on until the orthogonal phantom tree is fully obtained. The total number of the first order orthogonal candidates can be calculated by

[00010] ( K d ) = K 1 d 1 ( K - d ) 12

and we will consider this as the feasible domain for the PC-MOP problem, denoted by . The standard conventional channel is given as:

[00011] H = ( h 1 , 1 h 1 , 2 .Math. h 1 , K h 2 , 1 h 2 , 2 .Math. h 2 , K .Math. .Math. .Math. h K , 1 h K , 2 .Math. h K , K )

[0066] Where h.sub.i,j indicates the channel transfer function for the transmission by the transmitter onto the j.sup.th TMP (or phantom channel when extended as described immediately below) to the i.sup.th receiver as received at the i.sup.th receiver over the i.sup.th TMP or tp (=twisted pair).

[0067] A phantom channel (m, m M) is derived from a pair of tp, i e {tp.sub.i, tp.sub.j} i.sub.j

TABLE-US-00001 TABLE 1 First order phantom mode candidates tp.sub.i, tp.sub.j ij h.sub.k,m {1, 2} {1, 3} {1, 4} {1, 5} {2, 3} {2, 4} {2, 5} {3, 4} {3, 5} {4, 5} h.sub.5,m 0.5 0.3 0.4 0.45 0.25 0.1 0.3 0.2 0.3 0.2 h.sub.4,m 0.3 0.3 0.2 0.4 0.52 0.6 0.3 0.3 0.4 0.5

[0068] i&j K when d is 2. Hence the extended channel becomes:

[00012] [ H H ] = H T = ( h 1 , 1 h 1 , 2 .Math. h 1 , K h 1 , 1 .Math. h 1 , N h 2 , 1 h 2 , 2 .Math. h 2 , K h 2 , 1 .Math. h 2 , N .Math. .Math. .Math. .Math. .Math. h K , 1 h K , 2 .Math. h K , K h K , 1 .Math. h K , N h 1 , 1 h 1 , 2 .Math. h 1 , K h 1 , 1 .Math. h 1 , N .Math. .Math. .Math. .Math. .Math. h N , 1 h N , 2 .Math. h N , K h N , 1 .Math. h N , N )

where H.sub. is the phantom channel and H is the mixed mode channel. Herein, the PC-MOP can be formulated as follows:


max H.sub.,(1)

subject to:


.sub.m (2)

[0069] To illustrate the selection strategy of Pareto, we provide the following example: Assume a 5 pair cable in which pairs 5 and 4 are performing poorly in comparison to pairs 1, 2 and 3. Therefore, the phantoms may be derived and steered to maximize the performance of pairs 4 and 5. Maximum number of the first order orthogonal phantoms is

[00013] 5 .Math. 2 .Math. = 2

and the maximum number of combinations is

[00014] ( 5 2 ) = 5 4 3 2 1 2 1 .Math. ( 3 2 1 ) = 10.

[0070] Table 1 shows all the orthogonal phantom candidates and their mode-conversion crosstalk coefficient with the targeted pairs. To obtain Pareto front, we must determine the non-dominant solution, i.e. Pareto front. To examine the dominance of a set, it must contain at least one element greater than an element in another set if the objective function is set to maximization. In this particular example, {1, 2} dominates {1, 3}, {1, 4}, {2, 5} and {3, 4}. Similarly, candidates {1, 5}, {2, 3} and {2, 4} dominant {1, 3}, {1, 4}, {2, 5} and {3, 4}. Hence {1, 2}, {1, 5}, {2, 3} and {2, 4} are the non-dominant solution and known as the Pareto front, see the example Figure below.

[0071] Example: Pareto front extraction.

[0072] In a similar way, the objective function can include more pairs to benefit from the phantoms, also the phantom directivity can be altered to optimize the direct paths of the phantom mode if they are accessible at the receiving end, i.e. continuous phantoms. This remains the choice of the network engineer. Since predicting the phantom coupling strength from first principle is an arduous task, Pareto will be simply initialized in randomly in non-repetitive pattern. One also can model the phantoms and predict their performance in advance and select the optimal combination without the random training.

[0073] Once the phantoms are defined, it is vital to determine the optimal strategy to steer and split them to maximize the overall binder capacity whilst fairness constraints between the users are kept satisfied. To achieve this, we formulate the phantom/crosstalk (virtual) channel utilization problem as a mixed-integer convex optimization (VUT-MICOP) model in order to enable deriving the optimal solution.

[0074] In order to simply the problem, we assume a single phantom to be shared among K users to transmit N tones for a period of time T. Power level per tone is denoted by p.sub.k,t,n and the channel condition is .sub.k,t,n which is the ratio of power coupling coefficient to the noise level

[00015] ( .Math. h k , m .Math. .Math. 2 n k , m ) t , n .

The tone allocation factor is .sub.k,t,n and finally the optimal capacity of the m.sup.th phantom is C.sub.m.

[00016] max .Math. .Math. C m = .Math. k , t , n .Math. k , t , n .Math. .Math. log 2 ( 1 + p k , t , n .Math. .Math. k , t , n ) , .Math. subject .Math. .Math. to .Math. : ( 3 ) .Math. k , n .Math. p k , t , n P m , t T ( 4 .Math. a ) .Math. t , n .Math. k , t , n .Math. .Math. log 2 ( 1 + p k , t , n .Math. .Math. k , n ) R k , k K ( 4 .Math. b ) .Math. k , t .Math. k , t , n T , { 0 , 1 } , n N , ( 4 .Math. c )

[0075] Equation (3) is the objective function in which its limit is subject to the maximum transmitting power in 4a and the tone sharing criteria in 4c.

[0076] The optimization problem in its current form is non-linear with no known analytical solution 1. However, a simple modification has been applied to 3.

[00017] max .Math. .Math. C m = .Math. k , t , n .Math. k , t , n .Math. .Math. log 2 ( 1 + s k , t , n .Math. .Math. k , t , n k , t , n ) , .Math. subject .Math. .Math. to .Math. : ( 5 ) .Math. k , n .Math. s k , t , n P m , t T ( 6 .Math. a ) .Math. t , n .Math. k , t , n .Math. .Math. log 2 ( 1 + s k , t , n .Math. .Math. k , t , n k , t , n ) R k , k K ( 6 .Math. b ) .Math. k .Math. k , n 1 , n M , t T ( 6 .Math. c )

[0077] The modified problem in 5 is concave and hence it is solvable as a convex problem. This problem as it stands provide the optimal TDMA and FDMA access to the phantoms. The analytical solution proceeds with the Lagrangian as follows:

[00018] = .Math. k , t , n .Math. k , t , n .Math. .Math. log 2 ( 1 + s k , t , n .Math. .Math. k , t , n k , t , n ) - .Math. t .Math. t ( .Math. k , n .Math. s k , t , n - P m ) - .Math. t , n .Math. t , n ( .Math. k .Math. k , t , n -- .Math. .Math. k .Math. [ .Math. t , n .Math. k , t , n .Math. .Math. log 2 ( 1 + s k , t , n .Math. .Math. k , t , n k , t , n ) - R j ( 7 )

[0078] To solve 7 and prove its optimality, Karush Kuhn Tucker (KKT) conditions must be satisfied. The conditions are:

[0079] 1. Feasibility of the primal constraints as well as the multipliers, i.e. (&).

[0080] 2. The gradient of 7 must become zero with respect to 6a and 4c.

[0081] Starting by differentiating 7 with respect to sk,n, i.e.

[00019] s k , n = 0 ,

then rearrange to obtain the optimal power formula:

[00020] p k , t , n = t ( - k ) - 1 k , t , n , ( 8 )

where

[00021] t = 1 ln .Math. .Math. 2 .Math. .Math. t .

To guarantee feasible 8 and 4a,

[00022] 1 k , t , n .Math. t P m + .Math. k , n .Math. 1 k , t , n .Math. k , n .Math. ( 1 - k ) .

[0082] The sharing factor simply guarantees that a single tone can only be assigned to a single user, e.g. tone 1 assigned to user 1 is represented by .sub.1,1=1 and elsewhere .sub.k1,1=0. Hence constraint 4c is relaxed to:

[00023] k , n = { 1 if .Math. .Math. then th .Math. toneisassignedtotheck th .Math. user , 0 elsewhere .

In a similar fashion to 8, we differentiate 7 with respect .sub.k,n, rearrange and substitute 8 to obtain the following:

[00024] t , n = log 2 [ t .Math. .Math. ( 1 - k ) .Math. .Math. k , t , n ] - 1 ln .Math. .Math. 2 [ 1 - 1 t .Math. .Math. ( 1 - k ) .Math. .Math. k , t , n ] , n ( 9 )

The user which maximizes 9 for tone n represents the optimal user. Hence k is obtained by:


{circumflex over (k)}=arg max .sub.t,n, t T, n N(10)

[0083] Similar to section 1, the method can be applied to the differential lines except that the k domain limited to each line itself. Hence, the binder capacity becomes:

[00025] C binder = .Math. ph .Math. .Math. C .Math. .Math. m + .Math. dif .Math. .Math. C dif , ( 11 )

[0084] Once the phantom sharing and power allocation polices are obtained. The power allocation per line needs to be re-configured to insure that the phantom gain will result to capacity gain. The optimization problem is similar to 5 excluding 4c. Line's channel gain in the presence of phantom gain becomes:

[00026] k ^ , l , n = ( .Math. h k ^ , k ^ .Math. 2 n k ^ , k ^ + .Math. m .Math. p k ^ , l , n .Math. .Math. h k ^ , m .Math. 2 .Math. p m , l , n n k ^ , m ) ( 12 ) max .Math. .Math. C k ^ , t = .Math. n .Math. .Math. log 2 ( 1 + p k ^ , l , n .Math. k ^ , l , n ) , t T .Math. .Math. subject .Math. .Math. to .Math. : ( 13 ) .Math. n .Math. p k ^ , l , n P k , k ^ K , t T , ( 14 .Math. a ) = .Math. n .Math. .Math. log 2 ( 1 + p k ^ , l , n .Math. k ^ , l , n ) - l ( .Math. n .Math. p k ^ , l , n - P k ) ( 15 ) p k ^ , l , n = l - 1 k ^ , l , n , ( 16 )

if n {circumflex over (k)}, {circumflex over (k)}=n {circumflex over (k)}.sub.,m,becomes:

[00027] p k ^ , l , n = l - n k ^ , k ^ .Math. h k ^ , k ^ .Math. 2 + .Math. m .Math. p k ^ , l , n .Math. .Math. h k ^ , m .Math. 2 .Math. p m , l , n ( 17 )

[0085] Note: Tone/subcarrier spacing is excluded from the optimization problems because it is a constant and hence the units of the current capacity are bandwidth-normalized (known as bandwidth or spectrum efficiency) in

[00028] bps Hz .

[0086] Alternative formulation to the embodiment in [], we provide a model to allow phantom/crosstalk channels exploitation over the same spectrum simultaneously for all existing line users subject to a power constrain for the entire spectrum. We apply problem decomposition first to determine the power allocation per tone/carrier then optimize the distribution of tone power between the active users. To enable this, the problem becomes:

[00029] max .Math. .Math. n .Math. .Math. log 2 ( 1 + p n .Math. .Math. k .Math. k , n ) .Math. .Math. subject .Math. .Math. to .Math. : ( 18 ) .Math. n .Math. .Math. p n P T ( 19 .Math. a )

[0087] Applying the Lagrangian:

[00030] = .Math. n .Math. .Math. log 2 ( 1 + p n .Math. .Math. k .Math. k , n ) - ( .Math. n .Math. .Math. p n - P T ) ( 20 )

[0088] Take

[00031] p n

and then rearrange to obtain:

[00032] p n = - 1 - 1 .Math. k .Math. k , n , ( 21 )

we plug the latter in equation (19a) to calculate the multiplier and then again in (21).

[0089] Now we optimize the distribution of p.sub.a between K users.

[00033] max .Math. .Math. k .Math. .Math. log 2 ( 1 + p k , n .Math. k , n ) .Math. .Math. subject .Math. .Math. to .Math. : ( 22 ) .Math. k .Math. p k , n p n , ( 23 .Math. a )

[0090] Applying the Lagrangian:

[00034] = .Math. k .Math. .Math. log 2 ( 1 + p k , n .Math. k , n ) - n ( .Math. k .Math. p k , n - p n ) ( 24 )

[0091] Similar to previous steps, we obtain the optimal power equation:

[00035] p k , n = n - 1 - 1 k , n , ( 25 )

[0092] Example-01: Assume two users to share a p.sub.a. The optimization problem can be simplified to:


max [(1+p.sub.1,n .sub.1,n)(1+p.sub.2,n .sub.2,n)](26)

subject to:


p.sub.1,n+p.sub.2,n=p.sub.n,(27)

[0093] The problem in (26) is easily solvable, two equations and two unknowns. One can prove the optimal power allocation from both problem (22) and (26) is:

[00036] p 1 , n = p n ( .Math. k = 1 2 .Math. k , n ) + 1 , n - 2 , n 2 .Math. .Math. .Math. k = 1 2 .Math. k , n ( 28 )

Finally p.sub.2,n is equal to p.sub.np.sub.1,n.

[0094] Example-02: In terms of signal precoding and real signal injection for a given MPAD (1670) settings, we consider the following: [0095] The data, [d.sub.1d.sub.2], are first modulated, e.g. using M-QAM, at a given subcarrier (n) to produce the original data symbols:

[00037] X = ( x 1 x 2 ) [0096] The precoded data symbols (using MICOP-MRC) are calculated as follows:

[00038] X ^ = ( h 1 , 1 * .Math. h 1 , 1 .Math. 0 0 h 2 , 2 * .Math. h 2 , 2 .Math. 1 .Math. h 1 , S * .Math. h 1 , S .Math. 2 .Math. h 2 , S * .Math. h 2 , S .Math. ) .Math. ( x 1 x 2 ) = ( x 1 .Math. h 1 , 1 * .Math. h 1 , 1 .Math. x 2 .Math. h 2 , 2 * .Math. h 2 , 2 .Math. x 1 .Math. 1 .Math. h 1 , S * .Math. h 1 , S .Math. + x 2 .Math. 2 .Math. h 2 , S * .Math. h 2 , S .Math. )

where .sub.1+.sub.2=1. Note that

[00039] p n = .Math. x 1 .Math. 1 .Math. h 1 , S * .Math. h 1 , S .Math. .Math. 2 + .Math. x 2 .Math. 2 .Math. h 2 , S * .Math. h 2 , S .Math. .Math. 2 .Math. .Math. where .Math. .Math. .Math. x 1 .Math. 1 .Math. h 1 , S * .Math. h 1 , S .Math. .Math. 2 = p 1 , n .Math. .Math. and .Math. x 2 .Math. 2 .Math. h 2 , S * .Math. h 2 , S .Math. .Math. 2 = p 2 , n .

Hence,

[0097] [00040] 1 = .Math. h 1 , 3 .Math. .Math. P 1 , n 2 .Math. x 1 .Math. h 1 , 3 * .Math. .Math. .Math. and .Math. .Math. .Math. h 2 , 3 .Math. .Math. P 2 , n 2 .Math. x 2 .Math. h 2 , 3 * .Math. ,

see Example-01. Index n is dropped from the matrices for clarity.
Non-vectored received signals:

[00041] .Math. Y ~ = ( h 1 , 1 h 1 , 2 h 1 , 3 h 2 , 1 h 2 , 2 h 2 , 3 ) .Math. ( x 1 .Math. h 1 , 1 ? .Math. h 1 , 1 .Math. x 2 .Math. h 2 , 2 ? .Math. h 2 , 2 .Math. x 1 .Math. 1 .Math. h 1 , 3 * .Math. h .Math. ? .Math. + x 2 .Math. 2 .Math. h 1 , 3 * .Math. ? .Math. h .Math. ? .Math. ) ? .Math. indicates text missing or illegible when filed

To remove the unwanted coupling after combining, the new channel coefficients must be calculated at the presence of the MRC coefficients since that the 1630 is seeing the MICOP-MRC part of the channel:

[00042] ( h 1 , 1 h 1 , 2 h 1 , 3 h 2 , 1 h 2 , 2 h 2 , 3 ) .Math. .Math. ( h 1 , 1 * .Math. h 1 , 1 .Math. 0 0 h 2 , 2 * .Math. h 2 , 2 .Math. 1 .Math. h 1 , 3 * .Math. h .Math. ? .Math. 2 .Math. h .Math. ? .Math. h .Math. ? .Math. ) = ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. h 1 , 2 .Math. h 2 , 3 ? .Math. h .Math. ? .Math. + 2 .Math. h 1 , 3 .Math. h 2 , 3 ? .Math. h .Math. ? .Math. h 2 , 1 .Math. h 1 , 1 * .Math. h 1 , 1 .Math. + 1 .Math. h 2 , 3 .Math. h 1 , 3 * .Math. h .Math. ? .Math. .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) ? .Math. indicates text missing or illegible when filed

The vectoring precoder in 1630 becomes:

[00043] ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. h 3 , 2 .Math. h 2 , 2 * .Math. h ? .Math. + 2 .Math. h .Math. ? .Math. h 2 , 3 * .Math. h 2 , 3 .Math. h 2 , 1 .Math. h 1 , 1 * .Math. h 1 , 1 .Math. + 1 .Math. h 2 , 3 .Math. h 1 , 3 * .Math. h 1 , 3 .Math. .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) - 1 .Math. ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. 0 0 .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) ? .Math. indicates text missing or illegible when filed

Hence the full system becomes:

[00044] ( y 1 y 2 ) = ( h 1 , 1 h 1 , 2 h 1 , 3 h 2 , 1 h 2 , 2 h 2 , 3 ) .Math. ( h 1 , 1 * .Math. h 1 , 1 .Math. 0 0 h 2 , 2 * .Math. h 2 , 2 .Math. 1 .Math. h 1 , 3 * .Math. h 1 , 3 .Math. 2 .Math. h 2 , 3 * .Math. h 2 , 3 .Math. ) = ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. h 1 , 2 .Math. h 2 , 2 * .Math. h 2 , 2 .Math. + 2 .Math. h 1 , 3 .Math. h 2 , 3 * .Math. h .Math. ? .Math. h 2 , 1 .Math. h 1 , 1 * .Math. h 1 , 1 .Math. + 1 .Math. h 2 , 3 .Math. h 1 , 3 * .Math. h 1 , 3 .Math. .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) - 1 .Math. ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. 0 0 .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) .Math. ( x 1 x 2 ) . .Math. ? .Math. indicates text missing or illegible when filed

And finally, the transmitted X is estimated at FEQs by:

[00045] X .Math. = ( x .Math. 1 x .Math. 2 ) = ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. 0 0 .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) - 1 .Math. ( y 1 y 2 )

Signal Tracking in 16

[0098] 1. After data source (1611):

[00046] D = ( d 1 d 2 )

2. After M-QAM (1621):

[0099] [00047] X = ( x 1 x 2 )

3. After the vectoring unit (1630):

[00048] X = ( x 1 x 2 ) = ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. h 1 , 2 .Math. h 2 , 2 * .Math. h 2 , 2 .Math. + 2 .Math. h .Math. ? .Math. h 2 , 3 * .Math. h 2 , 3 .Math. h 2 , 1 .Math. h 1 , 1 * .Math. h 3 , 3 .Math. + 1 .Math. h 2 , 3 .Math. h 1 , 3 * .Math. h .Math. ? .Math. .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) - 1 .Math. ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. 0 0 .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) .Math. ( x 1 x 2 ) ? .Math. indicates text missing or illegible when filed

[0100] Expanded to:

[00049] ( x 1 x 2 ) = 1 [ ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. ) * ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) - ( h 1 , 2 .Math. h 2 , 2 * .Math. h 2 , 2 .Math. + 2 .Math. h .Math. ? .Math. h 2 , 3 * .Math. h 2 , 3 .Math. ) * ( h 2 , 1 .Math. h 1 , 1 * .Math. h 1 , 1 .Math. + 1 .Math. h 2 , 3 .Math. h 1 , 3 * .Math. h 1 , 3 .Math. ) ] .Math. ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. - h 2 , 3 .Math. h 1 , 3 * .Math. h .Math. ? .Math. - 1 .Math. h 2 , 3 .Math. h 1 , 3 * .Math. h .Math. ? .Math. - ? .Math. h 2 , 3 .Math. - ? .Math. h 2 , 3 .Math. ? .Math. .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. ) .Math. ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. 0 0 .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) .Math. ( x 1 x 2 ) ? .Math. indicates text missing or illegible when filed

and hence,

[00050] ( x 1 x 2 ) = 1 [ ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. ) * ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) - ( h 1 , 2 .Math. h 2 , 2 * .Math. h 2 , 2 .Math. + 2 .Math. h .Math. ? .Math. h 2 , 3 * .Math. h 2 , 3 .Math. ) * ( h 2 , 1 .Math. h 1 , 1 * .Math. h 1 , 1 .Math. + 1 .Math. h 2 , 3 .Math. h 1 , 3 * .Math. h 1 , 3 .Math. ) ] .Math. ( ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. ) * ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. ) * ( - h 2 , 3 .Math. h 3 , 3 * .Math. h .Math. ? .Math. - .Math. ? .Math. h 2 , 3 .Math. h .Math. ? .Math. h .Math. ? .Math. ) ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) * ( - h 1 , 2 .Math. h 2 , 2 * .Math. h 2 , 2 .Math. - 2 .Math. h .Math. ? .Math. h .Math. ? .Math. h 2 , 3 .Math. ) ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) * ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. ) ) .Math. ( x 1 x 2 ) ? .Math. indicates text missing or illegible when filed

[0101] Finally:

[00051] .Math. ( x 1 x 2 ) = ( x 1 ( .Math. h .Math. ? .Math. + 1 .Math. .Math. h 1 , 3 .Math. ) * ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) + x 2 ( .Math. h .Math. ? .Math. + .Math. ? .Math. .Math. h 1 , 3 .Math. ) * ( - h 2 , 1 .Math. h 1 , 3 * .Math. h 1 , 1 .Math. - 1 .Math. h 2 , 3 .Math. h 1 , 3 * .Math. h 1 , 3 .Math. ) [ ( .Math. h .Math. ? .Math. + 1 .Math. .Math. h 1 , 3 .Math. ) * ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) - ( h 1 , 2 .Math. h 2 , 2 * .Math. h 2 , 2 .Math. + 2 .Math. h 1 , 3 .Math. ? .Math. h 2 , 3 * .Math. h 2 , 3 .Math. ) * ( h 2 , 1 .Math. h 1 , 1 * .Math. h 1 , 3 .Math. + .Math. ? .Math. h 2 , 3 .Math. h 1 , 3 * .Math. h 1 , 3 .Math. ) ] x 1 ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) * ( - h 1 , 2 .Math. h 2 , 2 * .Math. h 2 , 2 .Math. - 2 .Math. h 1 , 3 .Math. h 2 , 3 * .Math. h 2 , 3 .Math. ) + x 2 ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) * ( .Math. h .Math. ? .Math. + .Math. ? .Math. .Math. h 1 , 3 .Math. ) [ ( .Math. h .Math. ? .Math. + .Math. ? .Math. .Math. h 1 , 3 .Math. ) * ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) - ( h 1 , 2 .Math. h 2 , 2 * .Math. h 2 , 2 .Math. + 2 .Math. h 1 , 3 .Math. ? .Math. h 2 , 3 * .Math. h 2 , 3 .Math. ) * ( h 2 , 1 .Math. h 1 , 1 * .Math. h 1 , 1 .Math. + .Math. ? .Math. h 2 , 3 .Math. h 1 , 3 * .Math. h 1 , 3 .Math. ) ] ) ? .Math. indicates text missing or illegible when filed

4. After MICOP-MRC (1640)

[0102] [00052] .Math. X ^ = ( h 1 , 1 ? .Math. h 1 , 1 .Math. 0 0 h 2 , 2 ? .Math. h 2 , 2 .Math. 1 .Math. h 1 , 3 ? .Math. h 1 , 3 .Math. 2 .Math. h 2 , 3 ? .Math. h 2 , 3 .Math. ) .Math. .Math. ( x 1 x 2 ) = ( ? 1 .Math. h 1 , 1 ? .Math. h 1 , 1 .Math. ? 2 .Math. h 2 , 2 ? .Math. h 2 , 2 .Math. ? .Math. 1 .Math. h 1 , 3 ? .Math. h .Math. ? .Math. + ? .Math. 2 .Math. h 2 , 3 ? .Math. h .Math. ? .Math. ) ? .Math. indicates text missing or illegible when filed

or equivalently:

[00053] X ^ = ( h 1 , 1 ? .Math. h .Math. ? .Math. 0 0 h 2 , 2 ? .Math. h 2 , 2 .Math. .Math. ? .Math. h 1 , 3 ? .Math. h 1 , 3 .Math. 2 .Math. h 2 , 3 ? .Math. h 2 , 3 .Math. ) .Math. = ( x 1 ( .Math. h .Math. ? .Math. + 1 .Math. .Math. h .Math. ? .Math. ) * ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h .Math. ? .Math. ) + x 2 ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. ) * ( - ? .Math. ? .Math. - .Math. ? .Math. h 2 , 3 .Math. h .Math. ? .Math. ? .Math. ) [ ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h .Math. ? .Math. ) * ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) - ( h 1 , 2 .Math. h 2 , 2 * .Math. h 2 , 2 .Math. + ? .Math. h 2 , 3 .Math. ) * ( h 2 , 1 .Math. h 1 , 1 * .Math. h 1 , 1 .Math. + ? .Math. h 1 , 3 .Math. ) ] x 1 ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) * ( - ? .Math. h 2 , 2 .Math. - 2 .Math. h 1 , 3 .Math. h 2 , 3 * .Math. h 2 , 3 .Math. ) + x 2 ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) * ( .Math. h .Math. ? .Math. + 2 .Math. .Math. h 1 , 3 .Math. ) [ ( .Math. h 3 , 1 .Math. + .Math. ? .Math. .Math. h 1 , 3 .Math. ) * ( .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) - ( ? .Math. h 2 , 2 .Math. + 2 .Math. h 1 , 3 .Math. ? .Math. h 2 , 3 * .Math. h 2 , 3 .Math. ) * ( ? .Math. h .Math. ? .Math. + 1 .Math. h 2 , 3 .Math. h 1 , 3 * .Math. ? .Math. ) ] ) ? .Math. indicates text missing or illegible when filed

5. Finally the transmitted signal Y is modelled as:

[00054] Y = ( y 1 y 2 ) = ( .Math. h 1 , 1 .Math. + 1 .Math. .Math. h 1 , 3 .Math. h 1 , 2 .Math. h 2 , 2 * .Math. h 2 , 2 .Math. + 2 .Math. h .Math. ? .Math. h 2 , 3 * .Math. h .Math. ? .Math. h 2 , 3 .Math. h .Math. ? .Math. h 1 , 1 .Math. + 1 .Math. h 2 , 3 .Math. h 1 , 2 * .Math. h 1 , 3 .Math. .Math. h 2 , 2 .Math. + 2 .Math. .Math. h 2 , 3 .Math. ) .Math. .Math. ( x ^ 1 x ^ 2 ) + ( n 1 n 2 ) ? .Math. indicates text missing or illegible when filed

where n is the background noise.
6. At the receiver end, the configuration of the FEQ for a given line, e.g. k, is (|h.sub.k,k|+p.sub.k|h.sub.k,3|).sub.1.

Generalization of Above Equations to Cover Cases of Multiple Common Indirect Channels

[0103] It will be apparent to a person skilled in the art that the above equations may be modified in a straightforward manner to cover more complex situations including an arbitrarily large number of user data streams d1, d2 , , , dk, with a (generally) corresponding number of direct differential mode channels over which to transmit corresponding streams of QAM constellation points x 1, x2 , , , xk, an arbitrarily large number of common indirect channels 1, 2 , , , 10c, where there are IDC indirect channels m total (e g made of M phantom channels cp1, CJ12, CJ1M and IDC-M crosstalk channels). In such a case, crosstalk channels can be handled in exactly the same way as phantom channels in terms of generating and using an extended channel model Hr as discussed above with particular reference to phantom channels Moreover, in such a case, a weighting value can be specified for each combination of an indirect channel and a user data stream, in respect of each tone, n, giving rise to KIDCN weighting values in total (although a large number of these may beset to 0).

Summary of the Methodology

[0104] From the above discussion, it will be apparent to a person skilled in the art that a suitable method of operation for selecting phantom channels to use may proceed along the following lines in which three sub-methods (1 1, 1.2 and 1 3) are employed consecutively Sub-method 1 is to score all possibly usable phantom channels (which forms a first set of channels)this can be done in numerous ways, just one possibility of which is described below in steps 1 1 to 114, sub-method 2 is then to select a first subset of usable phantoms (forming a second set of channels) based on the scores obtained m sub-method 1 (just one possibility for doing this being described in 1 2 below) and sub-method 3 is then to select tertiary sets each of which is a proper subset of the second set, one tertiary set being selected for each tone (and a method for doing this is described below m 1.3 to 1 3 3. [0105] 1 1 For each tone [0106] 1.1 1 For each selectable phantom channel (the selectable phantom channels forming a first set of phantom channels) [0107] 1.1 1 1 Identify receiver with maximum cross-talk coupling magnitude from phantom channel, [0108] 1 1.1.2 IF cross-talk coupling magnitude exceeds a threshold THEN keep phantom channel as an option for that tone, otherwise discard from further consideration for that tone, [0109] 1 1 1 3 Consider next selectable phantom channel until all considered, [0110] 112 For remaining phantom channels (after each selectable phantom has been considered in steps 1111 and 1112) assign a per tone part score based on the magnitude of maximum cross-talk coupling to each remaining phantom channel e.g. give a score of 3 to highest, 2 to second highest, 1 to third highest and 0 to any others, or use the cross talk coupling magnitude as a per tone part score and record in an array, indexed by tone number, the phantom channel, its per tone part score and the receiver for which that per tone part score is applicable, [0111] 113 Add each per tone part score to a current total score for that phantom (which is initialized to zero for each phantom channel at step 1.1 or somewhere prior to starting 1 1 1 1) to keep a running total score for each selectable phantom channel [0112] 1 1 4 Consider next tone until all tones have been considered [0113] 1 2 Once all tones have been considered a total score will have been obtained for each selectable phantom channel over all tones At this point a sub-method 2 can then be employed to choose the top scoring phantom channels up to the max number that the MPAD can simultaneously connect (to the transmitter) to form a second set of phantom channels being a proper subset of the first set of channels (including some which are not mutually orthogonal in almost all practical cases since the MPAD can simultaneously connect more phantom channels than can be selected so as to be mutually orthogonal to one another) and control the MPAD to connect its output terminals to these phantom channels, [0114] 13 Then a sub-method 3 can be performed which may involve a second iteration through each tone such that for each tone, [0115] 1 3 1 identify for each tone a tertiary set of mutually orthogonal phantom channels as a proper subset of the second set, such that the summation of the per tone part scores of the phantom channels within the tertiary set is maximized [0116] 1 3 2 for each phantom channel in the tertiary set, look up the associated receiver for that channel in that tone and assign a weighting of 1 (for that tone) for the signal derived from the signal to be sent to that receiver to go over that phantom channel; [0117] 1 3 3 Once this has been done for each tone (thus generating (probably) a different tertiary set for each tone) end the method.

[0118] The effect of the above illustrative method is to obtain a second set of phantom channels which are good in the sense that they have high crosstalk coupling and thus are good for injecting energy into differential mode neighboring lines, and then to obtain tertiary sets which are formed of phantom channels taken from the second set (they are taken from the second set because only phantoms in the second set can be directly driven via the MPAD once it has connected to the phantoms in the second set) selected so as to be the best phantoms from the second set for each tone to which the tertiary set corresponds. Moreover it generates weightings which give the full benefit of each utilized phantom channel to the (single) direct differential mode channel which is likely to benefit most from using that channel (because it has the highest cross-talk coupling to that phantom channel) Of course if a different objective were desired, e g to benefit only specified receivers, then a different approach would be more sensible (e g only considering the crosstalk coupling strength to the specified receivers who are to benefit from the additional energy provided by the phantom channels, or only setting non-zero weightings to signals intended to benefit those specified receivers, etc.

[0119] Similarly, in a point-to-point embodiment in which the phantom channels are directly accessible at both ends of the link, the above methodology could be altered to instead seek to identify tertiary sets of phantom channels per tone which have the least amount of cross-talk coupling to any other channels to be used on that tone, and then to transmit distinct data over the phantom channels (i e to use them as normal distinct channels) As an example only of an adapted methodology for a point-to-point arrangement where the objective is to identify a tertiary subset of phantom channels to use in a point-to-point case where the ideal is to have minimum crosstalk leakage from the selected phantom channels to other channels the following steps may be performed. [0120] 11 For each tone [0121] 111 For each selectable phantom channel (the selectable phantom channels forming a first set of phantom channels) [0122] 1111 measure crosstalk coupling magnitude from the current phantom channel to each other channel in the system (excluding channels where the crosstalk coupling is negligible (e g. below a predetermined threshold) or for which it cannot be readily measured or for which it is reasonably expected to be below a predetermined threshold from topology considerations, etc.) and for all such magnitudes which exceed a minimum threshold value, sum them together to form a per tone, per phantom channel, aggregate crosstalk coupling value, [0123] 11.12 IF aggregate crosstalk coupling value is below a maximum threshold, select phantom channel as an option, [0124] 1.113 Consider next selectable phantom channel until all considered, [0125] 112 For remaining phantom channels {after each selectable phantom has been considered in steps 1 1.1 1 and 1.1.1 2) assign a per tone part score based on the aggregate crosstalk magnitudee g give a score of 3 to the phantom having the lowest aggregate crosstalk, 2 to second lowest, 1 to third lowest and 0 to any others, or use the aggregate cross talk coupling magnitude to identify a per tone part score more directly (e g by subtracting it from the maximum threshold used in 1.1.1.2 such that phantom channels with an aggregate magnitude close to the maximum threshold have a low score (close to zero) whilst those with an aggregate magnitude much less than the maximum threshold have a high score), and record in an array indexed by tone number the phantom channel and its per tone part score, [0126] 113 Add each per tone part score to a corresponding current total score for that phantom channel (initialized to zero prior to step 11 and the start of the iteration through all tones) to keep a running total score for each selectable phantom channel [0127] 114 Consider next tone until all tones have been considered [0128] 12 Having obtained a set of total scores for each selectable phantom channel (over all tones), a sub-method 2 can then be employed to choose the top scoring phantom channels up to the max number that the MPAD can simultaneously connect (to the transmitter) to form a second set of phantom channels being a proper subset of the first set of channels (including some which are not mutually orthogonal in almost all practical cases since the MPAD can simultaneously connect more phantom channels than can be selected so as to be mutually orthogonal to one another) and control the MPAD to connect its output terminals to these phantom channels, [0129] 13 Then a sub-method 3 can be performed which may involve a second iteration through each tone such that for each tone, [0130] 1 3.1 identify for each tone a tertiary set of mutually orthogonal phantom channels as a proper subset of the second set, such that the summation of the per tone part scores of the phantom channels within the tertiary set is maximized [0131] 132 Once this has been done for each tone (thus generating (probably} a different tertiary set for each tone) end the method

[0132] It will be apparent to persons skilled in the art that the above methods may be considered a multi-objective optimization problem (or a simpler single-objective simplification thereof) and can as such be carried out by the PC-MOP unit 1690 in some embodiments of the present invention as part of the method for generating the various precoding coefficients utilized by the MICOP and MRC precoder unit 1640.

[0133] Note that the above discussion is concerned only with determining which phantom channels to use for each tone and then either a weighting of 1 is applied to one signal and 0 to all others for a particular phantom channel based on the receiver with the recorded strongest crosstalk coupling to that phantom channel for that tone (for the point-to-multipoint case) or (for the alternative point-to-point methodology) no weightings are assigned at all since each phantom channel operates as a direct channel and carries its own signal. For situations where energy is to be injected into crosstalk coupled direct differential modes by means of crosstalk coupling, it may, however, be desirable to share a phantom channel with two different crosstalk coupled (direct, differential mode) channels. In such a case it may be beneficial to perform an algorithm to determine appropriate weighting values other than zero and (one) one in order to achieve some desired objective.

[0134] Having performed the above method to determine tertiary sets per tone and weightings (possibly even weightings between zero and one), etc, it may be advantageous to perform training with these weightings, tertiary sets, etc in order to identify the optimum precoding values to use. The amount of change required to trigger a redetermination of the tertiary sets (and possibly the weighting values, etc), and thus in turn to trigger a redetermination of the associated preceding coefficients, can be tuned to ensure that changes in the system are tracked reasonably well without unduly burdening the system by requiring the large number of calculations which the system must perform to be carried out at very regular intervals (which might be taxing for less powerful processors).

[0135] The above discussions have primarily related to a point-to-multipoint use case in which a single transmitter can coordinate and generate pre-processed signals which all depend upon one another and in which phantom channels can be accessed at the transmitter side but not at the receiver side (because there are multiple disparate receivers) and crosstalking is relied upon for transferring energy transmitted onto the phantom channels to a receiver. Another important use case for the present invention is where a transceiver arrangement is connected in a point-to-point manner with another transceiver arrangement connected via multiple pairs of wires. In such a case the phantom channels are accessible at both ends (e.g. via appropriate MPAD devices) and these phantom channels can carry their own separate data (which may of course then be combinedafter having been separately received and detected etcin higher layers).

[0136] Naturally, the method of selecting tertiary sets of phantom channels on a per tone basis can also be employed m a mixed point-to-point and point-to-multipoint arrangement. For example, a single Access Node may be in communication with some transceivers (e g other Access Nodes) via a point-to-point connection comprising multiple TMP's as well as to multiple disparate transceivers (e g end user DSL modems) via single respective TMP's.

[0137] In any arrangement where there are point-to-point connections with phantom channels accessible at both ends of the link, tertiary sets of phantom channels to use per tone are preferably selected based on how little cross-talk coupling they have to other channels rather than being preferably selected based on how much crosstalk coupling they have to other channels (as is done when the arm is to inject signal energy into a crosstalk coupled direct differential mode channel). An example of this is given above in the (second) methodology with steps 11 to 132 (rather than the first methodology with steps 1.1 to 133).