Randomization of crosstalk probing signals
09917617 ยท 2018-03-13
Assignee
Inventors
Cpc classification
H04M3/007
ELECTRICITY
International classification
Abstract
In accordance with an embodiment, the vectoring controller is configured to iterate through successive crosstalk acquisition cycles and, within respective ones of the crosstalk acquisition cycles, to configure sequences of crosstalk probing symbols for transmission over the respective communication lines, to receive sequences of error samples as successively measured by respective receivers coupled to the respective communication lines while the sequences of crosstalk probing symbols are being transmitted, and to determine crosstalk estimates between the respective communication lines based on the sequences of error samples. The vectoring controller is further configured to randomize the successive sequences of crosstalk probing symbols used during the successive crosstalk acquisition cycles, and to iteratively configure the vectoring processor based on the successive crosstalk estimates.
Claims
1. A vectoring controller for controlling a vectoring processor that mitigates crosstalk between communication lines of a vectoring group, the vectoring controller comprising: a memory storing computer-readable instructions; and a processor configured to execute the computer-readable instructions to, iterate through successive crosstalk acquisition cycles, successively configure sequences of crosstalk probing symbols within respective successive crosstalk acquisition cycles for transmission over respective communication lines, receive sequences of error samples as successively measured by respective receivers coupled to the respective communication lines while the successively configured sequences of crosstalk probing symbols are being transmitted, successively determine crosstalk estimates between the respective communication lines based on the sequences of error samples, randomize the successively configured sequences of crosstalk probing symbols between the respective successive crosstalk acquisition cycles, to mitigate bias in the successively determined crosstalk estimates due to non-linear effects including one or more of quantization artifacts, signal clipping, and demapping errors, by at least one of reshuffling the sequences of crosstalk probing symbols assigned to the respective communication lines between the respective successive crosstalk acquisition cycles, and varying at least one of a phase and an amplitude of the sequences of crosstalk probing symbols assigned to the respective communication lines between the respective successive crosstalk acquisition cycles, and iteratively configure the vectoring processor to mitigate crosstalk between the respective communication lines by adjusting vectoring parameters based on the successively determined crosstalk estimates.
2. The vectoring controller according to claim 1, wherein the successively configured sequences of crosstalk probing symbols are randomized by successive arbitrary selection of crosstalk probing sequences within a set of mutually orthogonal sequences for modulation of respective sequences of crosstalk probing symbols.
3. The vectoring controller according to claim 1, wherein the successively configured sequences of crosstalk probing symbols are randomized by successive arbitrary rotation in the frequency domain of some or all of the sequences of crosstalk probing symbols.
4. The vectoring controller according to claim 3, wherein rotated transmit frequency samples of the successively configured sequences of crosstalk probing symbols coincide with constellation points of a reference constellation grid used for modulation of crosstalk probing symbols, thereby yielding a limited set of allowed rotation values.
5. The vectoring controller according to claim 4, wherein the processor is further configured to execute the computer-readable instructions to evenly distribute the allowed rotation values across the respective communication lines of the vectoring group for rotation of the sequences of crosstalk probing symbols.
6. The vectoring controller according to claim 4, wherein the reference constellation grid is a Binary Phase Shift Keying (BPSK) constellation grid, and the allowed rotation values are multiples of 180.
7. The vectoring controller according to claim 4, wherein the reference constellation grid is a 4-QAM constellation grid, and the allowed rotation values are multiples of 90.
8. The vectoring controller according to claim 3, wherein an amount of applied rotation is arbitrarily selected between 0 and 360, and the processor is further configured to execute the computer-readable instructions to send successive rotation information to the respective receivers indicative of successive rotation values to be applied to receive frequency samples of respective sequences of crosstalk probing symbols.
9. The vectoring controller according to claim 1, wherein the successively configured sequences of crosstalk probing symbols are randomized by successive arbitrary scaling of some or all of the sequences of crosstalk probing symbols, and the processor is further configured to execute the computer-readable instructions to send successive scaling information to the respective receivers indicative of successive scaling values to be applied to receive frequency samples of respective sequences of crosstalk probing symbols.
10. The vectoring controller according to claim 1, wherein the sequences of error samples are indicative of error vectors between receive frequency samples of respective sequences of crosstalk probing symbols and respective selected constellation points onto which the receive frequency samples are demapped.
11. An access node for providing broadband communication services to subscribers, and comprising the vectoring controller according to claim 1.
12. The access node according to claim 11, wherein the access node is a Digital Subscriber Line Access Multiplexer (DSLAM).
13. A method for controlling a vectoring processor that mitigates crosstalk between communication lines of a vectoring group, the method comprising: iterating through successive crosstalk acquisition cycles; successively configuring sequences of crosstalk probing symbols within respective successive crosstalk acquisition cycles for transmission over respective communication lines; receiving sequences of error samples as successively measured by respective receivers coupled to the respective communication lines while the successively configured sequences of crosstalk probing symbols are being transmitted; successively determining crosstalk estimates between the respective communication lines based on the sequences of error samples; randomizing the successively configured sequences of crosstalk probing symbols between the respective successive crosstalk acquisition cycles, to mitigate bias in the successively determined crosstalk estimates due to non-linear effects including one or more of quantization artifacts, signal clipping, and demapping errors, by at least one of reshuffling the sequences of crosstalk probing symbols assigned to the respective communication lines between the respective successive crosstalk acquisition cycles, and varying at least one of a phase and an amplitude of the sequences of crosstalk probing symbols assigned to the respective communication lines between the respective successive crosstalk acquisition cycles; and iteratively configuring the vectoring processor to mitigate crosstalk between the respective communication lines by adjusting vectoring parameters based on the successively determined crosstalk estimates.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The above and other objects and features of the invention will become more apparent and the invention itself will be best understood by referring to the following description of an embodiment taken in conjunction with the accompanying drawings wherein:
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION OF THE INVENTION
(6) There is seen in
(7) The copper loop plant comprises a common access segment 40, wherein the subscriber lines are in close vicinity with each other and thus induce crosstalk into each other, and dedicated loop segments 50 with weak interactions for final connection to the subscriber premises. The transmission media is typically composed of copper Unshielded Twisted Pairs (UTP).
(8) The access node 20 comprises a vectoring processor for jointly processing the data symbols that are being transmitted over, or received from, the loop plant in order to mitigate the crosstalk induced within the common access segment 40 and to increase the communication data rates achievable over the respective subscriber lines.
(9) There is seen in
(10) The access node 100 comprises: N DSL transceivers 110.sub.1 to 110.sub.N; a Vectoring Processing Unit 120 (or VPU); and a Vectoring Control Unit 130 (or VCU) for controlling the operation of the VPU 120.
(11) The transceivers 110 are individually coupled to the VPU 120 and to the VCU 130. The VCU 130 is further coupled to the VPU 120.
(12) The transceivers 110 respectively comprise: a Digital Signal Processor (DSP) 111; and an Analog Front End (AFE) 112.
(13) The CPEs 200 comprise respective DSL transceivers 210.
(14) The DSL transceivers 210 respectively comprise: a Digital Signal Processor (DSP) 211; and an Analog Front End (AFE) 212.
(15) The AFEs 112 and 212 respectively comprise a Digital-to-Analog Converter (DAC) and an Analog-to-Digital Converter (ADC), a transmit filter and a receive filter for confining the signal energy within the appropriate communication frequency bands while rejecting out-of-band interference, a line driver for amplifying the transmit signal and for driving the transmission line, and a Low Noise Amplifier (LNA) for amplifying the receive signal with as little noise as possible.
(16) The AFEs 112 and 212 further comprise a hybrid for coupling the transmitter output to the transmission line and the transmission line to the receiver input while achieving low transmitter-receiver coupling ratio, impedance-matching circuitry for adapting to the characteristic impedance of the transmission line, and isolation circuitry (typically a transformer).
(17) The DSPs 111 and 211 are respectively configured to operate downstream and upstream DSL communication channels.
(18) The DSPs 111 and 211 are further configured to operate downstream and upstream DSL control channels that are used to transport DSL control traffic, such as diagnosis or management commands and responses. Control traffic is multiplexed with user traffic over the DSL channel.
(19) More specifically, the DSPs 111 and 211 are for encoding and modulating user and control data into digital data symbols, and for de-modulating and decoding user and control data from digital data symbols.
(20) The following transmit steps are typically performed within the DSPs 111 and 211: data encoding, such as data multiplexing, framing, scrambling, error control encoding, and data interleaving; signal modulation, comprising the steps of ordering the carriers according to a carrier ordering table, parsing the encoded bit stream according to the respective bit loadings of the ordered carriers, and mapping each chunk of bits onto an appropriate transmit constellation point (with respective carrier amplitude and phase), possibly with Trellis coding; signal scaling; Inverse Fast Fourier Transform (IFFT); Cyclic Prefix (CP) insertion; and possibly time-windowing.
(21) The following receive steps are typically performed within the DSPs 111 and 211: CP removal, and possibly time-windowing; Fast Fourier Transform (FFT); Frequency Equalization (FEQ); signal de-modulation and detection, comprising the steps of applying to each and every equalized frequency sample an appropriate constellation grid, the pattern of which depends on the respective carrier bit loading, detecting the expected transmit constellation point and the corresponding transmit bit sequence, possibly with Trellis decoding, and re-ordering all the detected chunks of bits according to the carrier ordering table; and data decoding, such as data de-interleaving, error detection and/or correction, de-scrambling, frame delineation and de-multiplexing.
(22) The DSPs 111 are further configured to supply transmit frequency samples to the VPU 120 before Inverse Fast Fourier Transform (IFFT) step for joint signal precoding, and to supply receive frequency samples to the VPU 120 after Fast Fourier Transform (FFT) step for joint signal post-processing.
(23) The DSPs 111 are further configured to receive corrected frequency samples from the VPU 120 for further transmission or detection. Alternatively, the DSPs 111 may receive correction samples to add to the initial frequency samples before further transmission or detection.
(24) The VPU 120 is configured to mitigate the crosstalk induced over the transmission lines. This is achieved by multiplying a vector of transmit frequency samples with a precoding matrix P so as to pre-compensate an estimate of the expected crosstalk (downstream), or by multiplying a vector of received frequency samples with a crosstalk cancellation matrix Q so as to post-compensate an estimate of the incurred crosstalk (upstream).
(25) In the matrix P or Q, a row n represents a particular victim line L.sub.n, while a column m represents a particular disturber line L.sub.m. At the intersection, the coupling coefficient that should be applied to the corresponding disturber transmit or receive frequency sample for mitigating over the victim line L.sub.n the crosstalk from the disturber line L.sub.m. Not all the coefficients of the matrix need to be determined, for instance on account of limited vectoring capabilities first assigned to the strongest crosstalkers, or still for instance due to the fact that some lines do not noticeably interact with each other. The undetermined coefficients are preferably set to 0.
(26) Also, it is noteworthy that a communication line L.sub.n for which vectoring operation is not supported or not enabled, such as a legacy line, yet that still noticeably interferes with other communication lines, is only considered as a disturber line within the vectoring group. The off-diagonal coefficients of the corresponding n.sup.th row of the matrix P or Q are thus all set to 0.
(27) The VCU 130 is basically for controlling the operation of the VPU 120, and more specifically for estimating the crosstalk coefficients between the transmission lines of the vectoring group, and for initializing and updating the coefficients of the precoding matrix P and of the crosstalk cancellation matrix Q from the so-estimated crosstalk coefficients.
(28) The VCU 130 is further for controlling the vectoring operation of the transceivers 110 and 210 by appropriately configuring and adjusting the vectoring parameters.
(29) The VCU 130 starts first by configuring the respective downstream pilot sequences for use by the transceivers 110 for modulation of the downstream pilot symbols, and the upstream pilot sequences for use by the transceivers 210 for modulation of the upstream pilot symbols. The same pilot sequence is assumed to be used for both upstream and downstream, although distinct pilot sequences could be configured as well. The pilot sequences assigned to the transmission lines L.sub.1 to L.sub.N are denoted as {S.sub.nt}.sub.n=1 . . . N,t=0 . . . L-1, wherein t denotes a pilot symbol index and L denotes the length of the pilot sequences. A further distinction is made in
(30) The pilot sequences {S.sub.nt}.sub.n=1 . . . N,t=0 . . . L-1 are chosen from a set 131 of mutually orthogonal pilot sequences {W.sub.mt}.sub.m=1 . . . M,t=0 . . . L-1 of size M. In order to fulfill the orthogonality requirement, the size M of the set of mutually orthogonal pilot sequences 131 shall be greater than or equal to the number N of vectored lines, and less than or equal to the length L of the pilot sequences.
(31) The VCU 130 gathers respective slicer errors {E.sub.nt}.sub.n=1 . . . N,T=0 . . . L-1 as measured during the detection of the pilot symbols by the remote transceivers 210 for downstream communication, and by the local transceivers 110 for upstream communication.
(32) The VCU 130 correlates the error samples {E.sub.nt}.sub.t=0 . . . L-1 on a respective victim line L.sub.n with the pilot sequence {S.sub.mt}.sub.t=0 . . . L-1 transmitted over a respective disturber line L.sub.m in order to estimate the crosstalk or residual crosstalk coefficient from the disturber line L.sub.m into the victim line L.sub.n.
(33) The new crosstalk or residual crosstalk estimates are then used for initializing or updating the coefficients of the precoding matrix P or of the crosstalk cancellation matrix Q.
(34) In order to mitigate the non-linear effects that biases the crosstalk estimation process, such as error quantization, error clipping and demapping errors, the VCU 130 introduces some [pseudo-]randomness between the successive crosstalk acquisition cycles that are used for refining the coefficients of the precoding matrix P or of the crosstalk cancellation matrix Q.
(35) In a first embodiment, the VCU 130 re-shuffles the pilot sequences assigned to the transmission lines L.sub.1 to L.sub.N between successive crosstalk acquisition cycles.
(36) More specifically, before a first crosstalk acquisition round, the VCU 130 makes a first [pseudo-]random selection {S.sub.nt.sup.(0)}.sub.n=1 . . . N,t=0 . . . L-1 within the set 131 for assignment to the transmission lines L.sub.1 to L.sub.N, and configures the transceivers 110 and 210 accordingly. The VCU 130 gathers first slicer errors {E.sub.nt.sup.(0)}.sub.n=1 . . . N,t=0 . . . L-1 while first pilot symbols modulated with the first pilot sequences {S.sub.nt.sup.(0)}.sub.n=1 . . . N,t=0 . . . L-1 are being transmitted over the respective transmission lines L.sub.1 to L.sub.N, and determines first crosstalk estimates {{circumflex over ()}.sub.nm.sup.(0)}.sub.n=1 . . . N;m=1 . . . N between the respective transmission lines (or a subset thereof) by correlating the first error samples {E.sub.nt.sup.(0)}.sub.n=1 . . . N,t=0 . . . L-1 with the respective pilot sequences {S.sub.mt.sup.(0)}.sub.m=1 . . . N,t=0 . . . L-1.
(37) Before a second subsequent crosstalk acquisition cycle takes place, the VCU 130 makes a second [pseudo-]random selection {S.sub.nt.sup.(1)}.sub.n=1 . . . N,t=0 . . . L-1 within the set 131 for assignment to the transmission lines L.sub.1 to L.sub.N, and configures the transceivers 110 and 210 accordingly. The VCU 130 gathers second slicer errors {E.sub.nt}.sub.n=1 . . . N,t=0 . . . L-1 while second pilot symbols modulated with the second pilot sequences {S.sub.nt.sup.(1)}.sub.n=1 . . . N,t=0 . . . L-1 are being transmitted over the respective transmission lines L.sub.1 to L.sub.N, and determines second crosstalk estimates {{circumflex over ()}.sub.nm.sup.(1)}.sub.n=1 . . . N;m=1 . . . N between the respective transmission lines (or a subset thereof) by correlating the first error samples {E.sub.nt.sup.(1)}.sub.n=1 . . . N,T=0 . . . L-1 with the respective pilot sequences {S.sub.mt.sup.(1)}.sub.m=1 . . . N,T=0 . . . L-1.
(38) The process may be repeated again and again with further random selections {S.sub.nt(i)}.sub.n=1 . . . N,T=0 . . . L-1 to obtain further crosstalk estimates {{circumflex over ()}.sub.nm.sup.(i)}.sub.n=1 . . . N;m=1 . . . N.
(39) As an alternative to the [pseudo-] random assignment, of the pilot sequences, the VCU 130 could cycle through the set 131 (e.g., first W.sub.1>L.sub.1 W.sub.2>L.sub.2 . . . W.sub.N>L.sub.N; next W.sub.2>L.sub.1 W.sub.3>L.sub.2 . . . W.sub.1>L.sub.N; etc), or follow any pre-defined pattern. Preferably, such a pattern should go through a relatively large number of cycles before repeating the same assignment.
(40) In a second embodiment, which can be used in combination with the pilot re-shuffling, the VCU 130 alters the phase and/or amplitude of the pilot symbols used during successive crosstalk acquisition cycles.
(41) More specifically, before a first crosstalk acquisition round, the VCU 130 makes a first [pseudo-]random selection {S.sub.nt.sup.(0)}.sub.n=1 . . . N,T=0 . . . L-1 within the set 131 for assignment to the transmission lines L.sub.1 to L.sub.N, and configures the transceivers 110 and 210 accordingly. The VCU 130 gathers first, slicer errors {E.sub.nt.sup.(0)}.sub.n=1 . . . N,T=0 . . . L-1 while first pilot symbols modulated with the first pilot sequences {S.sub.nt.sup.(0)}.sub.n=1 . . . N,T=0 . . . L-1 are being transmitted over the respective transmission lines L.sub.1 to L.sub.N, and determines first crosstalk estimates {{circumflex over ()}.sub.nm.sup.(0)}.sub.n=1 . . . N;m=1 . . . N between the respective transmission lines (or a subset thereof) by correlating the first error samples {E.sub.nt}.sub.n=1 . . . N,T=0 . . . L-1 with the respective pilot sequences {S.sub.mt.sup.(0)}.sub.m=1 . . . N,T=0 . . . L-1.
(42) Before a second subsequent crosstalk acquisition cycle takes place, the VCU 130 determines a set of complex factors {n.sup.(1)}.sub.n=1 . . . N to apply to the respective pilot sequences {S.sub.nt.sup.(0)}.sub.n=1 . . . N,T=0 . . . L-1 to yield altered pilot sequences {S.sub.nt.sup.(1)=n.sup.(1).Math.S.sub.nt.sup.(0)}.sub.n=1 . . . N,T=0 . . . L-1. If |n.sup.(1)|=1 then we may say that the pilot symbols are rotated by a given amount in the complex plane. If n.sup.(1) is real and |n.sup.(1)|1 then the pilot symbols are scaled down or up. The complex factors {n.sup.(1)}.sub.n=1 . . . N to apply to the initial pilot sequences {S.sub.nt.sup.(0)}.sub.n=1 . . . N,T=0 . . . L-1, or alternatively the altered pilot sequences {S.sub.nt.sup.(1)}.sub.n=1 . . . N,T=0 . . . L-1, are communicated to the transmitters 110 (downstream) and 210 (upstream) so as they can appropriately alter the corresponding pilot symbols. The VCU 130 gathers second slicer errors {E.sub.nt}.sub.n=1 . . . N,T=0 . . . L-1 while second pilot symbols modulated with the altered pilot sequences {S.sub.nt.sup.(1)}.sub.n=1 . . . N,T=0 . . . L-1 are being transmitted over the respective transmission lines L.sub.1 to L.sub.N, and determines second crosstalk estimates {{circumflex over ()}.sub.nm.sup.(1)}.sub.n=1 . . . N;m=1 . . . N between the respective transmission lines (or a subset thereof) by correlating the first error samples {E.sub.nt.sup.(1)}.sub.n=1 . . . N,T=0 . . . L-1 with the respective pilot sequences {S.sub.mt.sup.(1)}.sub.m=1 . . . N,T=0 . . . L-1.
(43) The process may be repeated again and again with further arbitrary sets of complex factors {n.sup.(i)}.sub.n=1 . . . N to obtain further crosstalk estimates {{circumflex over ()}.sub.nm.sup.(i)}.sub.n=1 . . . N;m=1 . . . N.
(44) The set of complex factors {n.sup.(i)}.sub.n=1 . . . N can be determined [pseudo-]randomly, for example with unit magnitude and phase uniformly distributed between 0 and 360. If so, the complex factors n.sup.(i), or alternatively the altered pilot sequences {S.sub.n.sup.(i)}.sub.n=1 . . . N, need to be communicated to the respective receivers 210 (downstream) and 110 (upstream) so as they can appropriately equalize the so-altered pilot symbols and measure meaningful slicer errors for further reporting.
(45) Alternatively, the complex factors n.sup.(i) may be chosen from a restricted set of allowed values in order to avoid ad-hoc equalization of the pilot symbols at the receivers. Indeed, if BPSK is used then the complex factors n.sup.(i) are chosen from the set {1; 1}; if 4-QAM is used then the complex factors n.sup.(i) are chosen from the set {+1; +j; 1; j}. If so, the rotated transmit frequency samples still coincide with valid transmit constellation points, and the complex factors do not need to be communicated to the receivers for ad-hoc equalization.
(46) Also, the allowed rotation values need to be evenly distributed among the transmission lines L.sub.1 to L.sub.N. For instance, if BPSK is used, it is beneficial if approximately half of the transmission lines are assigned the value +1, meaning their pilot signal is left unchanged, while half of the transmission lines are assigned the value 1, meaning their pilot signal is rotated by 180. If 4-QAM is used, it is beneficial if approximately a quarter of the transmission lines are assigned the value +1 (0), a quarter the value j (+90), a quarter the value 1 (+180), and a quarter the value j (+270).
(47) The successive crosstalk estimates {{circumflex over ()}.sub.nm.sup.(i)}.sub.n=1 . . . N;m=1 . . . N are then used for configuring the VPU 120. As the estimation errors caused by non-linear effects in each cycle depend on the pilot sequences used, and as the pilot sequences used in successive cycles are randomized, the estimation errors obtained in successive cycles are expected to exhibit low correlation or be uncorrelated. After a certain number of iterative updates, the impacts of the aforementioned estimation errors are thus expected to be progressively annihilated, ultimately yielding unbiased precoder or postcoder coefficients that achieves near-optimal bit rates over the transmission lines L.sub.1 to L.sub.N.
(48) The VCU 130 may use different methods to configure the VPU 120.
(49) For instance, the VCU 130 computes a weighted combination of the first, second and further crosstalk estimates to yield an average crosstalk estimate, which is next used to initialize or to refine the precoding matrix P or the crosstalk cancellation matrix Q.
(50) Alternatively, the VCU 130 acquires the first crosstalk estimates and initializes the precoding matrix P or the crosstalk cancellation matrix Q based on these first crosstalk estimates. The VCU 130 may then use the second and further crosstalk estimates to successively refine the coefficients of the precoding matrix P or of the crosstalk cancellation matrix Q. The first crosstalk estimates is typically obtained during an initialization phase (init), while the second and further crosstalk estimates are obtained during an active communication phase (show time).
(51) Still alternatively, the VCU 130 may use the first, second and further crosstalk estimates to successively refine the coefficients of the precoding matrix P or of the crosstalk cancellation matrix Q in successive steps. The first, second and further crosstalk estimates are typically obtained during an active communication phase (show time).
(52) The pilot signals do not need to be changed after each and every pilot cycle (a pilot cycle is meant to be the transmission of L consecutive pilot symbols). For instance, on account of the incurred signaling overload needed for re-configuring the upstream pilot signals, the VCU 130 may wait a given number of pilot cycles with a given set of pilots configured before switching to another set of pilots.
(53) Also, not all pilot cycles are used for crosstalk estimation. For instance, on account of the incurred processing load, the VCU 130 may skip a few pilot, cycles without estimating the residual crosstalk.
(54) Also, the VCU 130 may perform more than one crosstalk acquisition cycles and determine more than one crosstalk estimates while a given set of pilots is configured, and use all these crosstalk estimates to configure the VPU 120.
(55) We now give a mathematical model for a DSL system as per
(56) Channel Model
(57) Consider a system with N DSL lines L.sub.1 to L.sub.N in a vectoring group. Communication takes place on K DMT tones, labeled 0 through K-1. The tones may be thought as independent channels; we focus attention on a specific tone k. In general we will use a subscript k to denote the tone index whenever necessary. Both downstream and upstream operations are considered.
(58) In a frequency-domain model of the system, let complex signals x be the vector of complex signals to be sent downstream on lines L.sub.1 to L.sub.N (on a particular tone k), where is a diagonal matrix with entries nn=n, where n.sup.2 is the transmit power on line L.sub.n, and where x.sub.n is a unit power complex signal to be transmitted downstream onto line L.sub.n. Then, in the absence of vectoring, the received signal is given by:
{tilde over (r)}=Hx+{tilde over (z)},
wherein H is a NN channel matrix, with element H.sub.nn representing direct channel gain and element H.sub.nm representing crosstalk channel gain from line L.sub.m into line L.sub.n,
and wherein {tilde over (z)} represents background noise.
(59) If we apply precoding with precoding matrix P=l+C, we have:
{tilde over (r)}={tilde over (R)}x+{tilde over (z)},
wherein {tilde over (R)}=H(I+C) is the residual channel matrix.
(60) We decompose the channel matrix as:
H=D(I+G),
wherein D is a diagonal matrix of direct gains D.sub.nn=H.sub.nn,
and wherein G is the receiver-referred relative crosstalk channel matrix with entries G.sub.nm=H.sub.nm/H.sub.nn for mn and G.sub.nn=0.
(61) Prior to slicing the received signal on a fixed grid, the received signal passes through a Frequency domain Equalizer (FEQ), and the transmit power is compensated for. The result of these two operations is the normalized received signal:
r=.sup.1D.sup.1{tilde over (r)}=.sup.1Rx+z=x+.sup.1x+z,
wherein R=D.sup.1{tilde over (R)}=(I+G)(I+C) and z=.sup.1D.sup.1{tilde over (z)} are the normalized residual channel matrix and background noise respectively, and wherein =RI=G+C+GC is the normalized residual crosstalk channel matrix.
(62) During SYNC symbols, the transmitted values x.sub.n can be estimated with high reliability by the receiver, and subtracted from the received signal to form an error signal. In vector form the error signal is given by:
e=rx=.sup.1x+z(1).
(63) When error feedback is operational, these complex error values are sent back to the vectoring controller, and can be used to estimate the normalized residual crosstalk channel matrix, which we wish to drive to zero.
(64) Now let complex signals x be the vector of complex signals to be sent upstream on lines L.sub.1 to L.sub.N (on a particular tone k), where is a diagonal matrix with entries nn=n, where n.sup.2 is the transmit power on line L.sub.n, and where x.sub.n is a unit power complex signal to be transmitted upstream onto line L.sub.n. Then, in the absence of vectoring, the received signal is given by:
{tilde over (r)}Hx+{tilde over (z)},
(65) wherein H is a NN channel matrix, with element H.sub.nn representing direct channel gain and element H.sub.nm representing crosstalk channel gain from line L.sub.m into line L.sub.n, and wherein {tilde over (z)} represents background noise.
(66) In the upstream direction, we decompose the channel matrix as:
H=(I+{tilde over (G)})D,
wherein D is a diagonal matrix of direct gains D.sub.nn=H.sub.nn, and wherein {tilde over (G)} is the transmitter-referred relative crosstalk matrix with entries {tilde over (G)}.sub.nm-H.sub.nm/H.sub.mm for mn and {tilde over (G)}.sub.nn=0.
(67) The use of different notations downstream and upstream are useful. One important property is that with these notations, the relative crosstalk coefficients are typically much smaller than unity, even when lines of different lengths are present. In downstream, the channels H.sub.nm and H.sub.nn both have the same propagation distance; the distance is a function of the receiver. In upstream on the other hand, it is the channels H.sub.nm and H.sub.mm that cover the same propagation distance; here the distance is a function of the transmitter.
(68) We apply postcoding with postcoding matrix Q=I+C, followed by frequency equalization (FEQ), represented by a diagonal matrix F, and power normalization. The receiver adapts F to be the inverse of the diagonal of the postcoded channel (I+C)H, which in case of small crosstalk, yields FD.sup.1. The compensated signal after these three operations is thus given by:
y=.sup.1F(I+C){tilde over (r)}=.sup.1FRDx+z,
wherein R=(L+C)(L+{tilde over (G)}) is the normalized residual channel matrix, and wherein the noise term is z=.sup.1F(I+C){tilde over (z)}.sup.1D.sup.1{tilde over (z)}.
(69) The noise term depends on the postcoder setting, but this dependence can be ignored if the coefficients of C are small relative to unity, as should be the case in practice.
(70) In general, we define =RI to be the normalized residual crosstalk channel matrix. We wish to drive this residual crosstalk to zero.
(71) During SYNC symbols, the transmitted values X.sub.n can be estimated with high reliability by the receiver, and subtracted from the compensated signal r to form an error signal. In vector form the error signal is given by:
e=yx=.sup.1FDx+z(2).
(72) When error feedback is operational, these complex error values are forwarded to the vectoring controller, and can be used to estimate the residual crosstalk channel.
(73) Crosstalk Estimation Algorithm
(74) Because the mapping from the residual crosstalk channel to the error samples e is very similar in downstream (1) and upstream (2), the remainder of this description is largely common for upstream and downstream. However, it should be kept in mind that the quantity z has a slightly different meanings in upstream versus downstream. Also, where receiver referred relative crosstalk G is referenced when describing downstream communication, it should be replaced by the transmitter-referred relative crosstalk {tilde over (G)} when describing upstream communication.
(75) For pilot-based crosstalk estimation, we send pilot sequences on the pilot symbols. That is, define a NL pilot matrix S, where S.sub.nt is a binary value +1 or 1, that will modulate the complex symbol sent, on line L.sub.n at time t. The sequence is repeated with period L, that is the value sent at time t is S.sub.n with =t mod L. We choose S to be orthogonal, meaning that SS.sup.T==LI.sub.N, that is L times the NN identity matrix.
(76) Denote by a=(1+j)/2 the 4-QAM constellation point 00, scaled to unit power, with a the point 11. The values sent on the SYNC symbol period t are then x.sub.n(t)=aS.sub.nt.
(77) The L pilot symbols of a given pilot sequence may also be rotated and/or scaled by multiplication with a complex factor .sub.n, in which case the transmitted value is X.sub.n(t)=a .sub.nS.sub.nt.
(78) For downstream, the error symbols received on all lines over L consecutive SYNC symbols can be written in NL matrix notation as:
E=aA.sup.1.sup.1
AS+Z,
wherein A is a diagonal matrix with entries A.sub.nn=.sub.n,
wherein A.sup.1 is the ad-hoc equalization for the received pilot symbols performed at the receiver.
(79) If n=+/1, then the equalization factor A.sup.1 is no longer required and can be omitted. In that case, the receivers estimate AS directly without using knowledge of A, and the error symbols are:
E=a.sup.1
AS+Z
(80) Correlating the sequence of error samples received on each line with each of the pilot sequences can be represented in matrix notation by right-multiplying the error matrix E by the transpose of the pilot, sequence. In case of ad-hoc equalization, the resulting unnormalized correlations are of the form:
U=ES.sup.T=aA.sup.1.sup.1
ASS.sup.T+ZS.sup.T=aLA.sup.1
.sup.1
A+ZS.sup.T.
(81) Note that this correlation operation only involves adding and subtracting complex error samplesthere are no multiplications required. Finally, the unnormalized correlations are normalized to obtain unbiased estimates of the residual crosstalk:
(82)
wherein the noise term is:
(83)
(84) A quick calculation shows that the variance of the crosstalk estimate is:
(85)
(86) For upstream now, the error symbols received on lines L.sub.1 to L.sub.n over L consecutive SYNC symbols can be written in NL matrix notation as:
E=aA.sup.1.sup.1FD
AS+Z,
assuming that the receiver knows and performs ad-hoc equalization of A.
(87) Otherwise, if the receivers directly estimate AS without using knowledge of A, the error feedback is:
E=a.sup.1FD
AS+Z.
(88) Correlating the sequence of error samples received on each line with each of the pilot sequences can be represented in matrix notation by right-multiplying the error matrix E by the transpose of the pilot sequence. In case of ad-hoc equalization, the resulting unnormalized correlations are of the form:
U=ES.sup.T=aA.sup.1.sup.1FD
ASS.sup.T+ZS.sup.T=aLA.sup.1
.sup.1FD
A+ZS.sup.T.
(89) Finally, the unnormalized correlations are normalized to obtain unbiased estimates of the residual crosstalk:
(90)
wherein the noise term is:
(91)
(92) A quick calculation shows that the variance of the crosstalk estimate is:
(93)
Precoder and Postcoder Configuration
(94) The residual crosstalk estimates {{circumflex over ()}.sub.nm.sup.(i)}.sub.n=1 . . . N;m=1 . . . N, which are obtained as per equation (3) or (4) during successive crosstalk acquisition cycles, are next used to iteratively update the precoding matrix P or the crosstalk cancellation matrix Q.
(95) Let P.sup.(i) denote the precoding matrix during the i.sup.th crosstalk acquisition cycle.
(96) Ideally, the new precoding matrix P.sup.(i+1) shall be determined from the estimate {circumflex over ()}.sup.(i) of the normalized residual crosstalk channel matrix using the following matrix inversion formula:
P.sup.(i+1)=I+C.sup.(i+1)=P.sup.(i)R.sup.(i)1=P.sup.(i)(I+.sup.(i)).sup.1.
(97) Indeed, the new normalized channel matrix will become:
(I+G)P.sup.(i+1)=(I+G)P.sup.(i)R.sup.(i)1=(I+G)(I+C.sup.(i))(I+C.sup.(i)).sup.1(I+G).sup.1=I.
(98) Although ideal precoder coefficients are obtained after one iteration, this involves inverting lot of large matrices.
(99) As a first-order approximation, one may subtract the estimated residual crosstalk from the precoder coefficients as follows:
P.sup.(i+1)=I+C.sup.(i+1)=P.sup.(i){circumflex over ()}.sup.(i),
thereby yielding:
(100)
(101) As the normalized crosstalk coefficients are expected to be low compared to unity, the residual crosstalk .sup.(i+1)=.sup.(i){circumflex over ()}.sup.(i)G{circumflex over ()}.sup.(i)G{circumflex over ()}.sup.(i) gets smaller and smaller after each iteration, and the overall channel matrix is expected to converge towards the identity matrix I.
(102) Alternatively, one may use a multiplicative update as per US patent, application entitled Multiplicative Updating of Precoder or Postcoder Matrices for Crosstalk Control in a Communication System, and published on Aug. 2, 2012 with publication number US 2012/0195183.
(103) The idea is to use an auxiliary matrix that is an approximation of the inverse of the resultant channel matrix R.sup.(i), and that is formed by subtracting the estimate {circumflex over ()}.sup.(i) of the normalized residual crosstalk channel matrix from the identity matrix I. This multiplicative update process therefore makes the approximation R.sup.(i).sup.
P.sup.(i+1)=I+C.sup.(i+1)=P.sup.(i)(I{circumflex over ()}.sup.(i)),
and so the updated overall normalized channel matrix is given by:
(104)
(105) The entries of the normalized residual channel matrix are normally much smaller than the entries of the normalized crosstalk channel matrix G, and so the error term.sup.2 is expected to be much smaller than the error term of a typical additive updateG.
(106) One may also introduce respective weights in the iterative update algorithm so as to smooth the convergence process and avoid any transient impairment in case the newly estimated residual crosstalk coefficients are severely biased (e.g., on account of demapping errors).
(107) Alternative update methods could be used as well, such as the Least Mean Square (LMS) adaptive algorithm or alike.
(108) A similar derivation is obtained for updating the crosstalk cancellation matrix Q.
(109) There is seen in
(110) It is assumed that line L.sub.1 is the victim line, and that lines L.sub.2 and L.sub.3 are dominant disturbers for the line L.sub.1.
(111) The pilot sequences are assumed to be of length 4. The constant, sequence [+1, +1, +1, +1] is not used as it yields poor estimates in the presence of constant biases. The three remaining orthogonal sequences are [+1, 1, +1, 1], [1, 1, +1, +1] and [+1, 1, 1, +1]. Let us assume that the lines L.sub.1, L.sub.2 and L.sub.3 are initially assigned the pilot sequences S.sub.1.sup.(0)=[+1, 1, +1, 1], S.sub.2.sup.(0)=[1, 1, +1, +1] and S.sub.3.sup.(0)=[+1, 1, 1, +1]during a first crosstalk acquisition cycle.
(112) The top I/Q plot shows the normalized residual crosstalk coefficients .sub.12k and .sub.13k from lines L.sub.2 and L.sub.3 respectively into line L.sub.1 for a given tone k and during a given crosstalk acquisition cycle. This residual crosstalk is due to several factors, including estimate errors in equations (3) and (4), non-ideal matrix inversion for the determination of the precoding matrix P or the crosstalk cancellation matrix Q, the inherent inaccuracy of the digital arithmetic, as well as any of the aforementioned non-linear effects that may bias the crosstalk estimates.
(113) The bottom I/Q plot shows the frequency samples of a sequence of pilot symbols as received over line L.sub.1 at frequency index k during the same crosstalk acquisition cycle (after channel equalization and power normalization). Assuming there is no other noise source, the received frequency samples go through positions A1, C2, D1 and B2 depending on whether +1 or 1 have been transmitted over the respective lines L.sub.1, L.sub.2 and L.sub.3. As one can see, some specific combination, presently 1 on line L.sub.1, 1 on line L.sub.2 and 1 on line L.sub.3, yields signal clipping (position C2 is beyond the I/Q signal boundaries). Also, as the received samples repeatedly go through a few positions only (4 out of the 8 possible positions), there can be some artifacts arising from the quantization of these particular points.
(114) In order to mitigate these effects, one could randomize the pilot signals during a subsequent crosstalk acquisition cycle.
(115) For instance, one could apply 180 rotation to one or more pilot sequences (inc. the victim line), and keep the other pilots unchanged (0). Presently, during another crosstalk acquisition cycle, the pilot sequences of lines L.sub.3 is inverted, while the pilot sequences of line L.sub.1 and L.sub.2 are left unchanged, thereby yielding the following pilot assignment S.sub.1.sup.(1)=[+1, 1, +1, 1], S.sub.2.sup.(1)=[1, 1, +1, +1] and S.sub.3.sup.(1)=[1, +1, +1, 1]. The received frequency samples now go through different positions, presently positions C1, A2, B1 and D2, thereby mitigating the quantization artifacts.
(116) In order to mitigate the signal clipping that occurs when position C2 is hit, one may apply an ad-hoc rotation .sup.2 to the pilot sequence of line L.sub.2, thereby yielding S.sub.2.sup.(2)=[e.sup.j 2, e.sup.j 2, +e.sup.j 2, +e.sup.j 2], and a rotation .sub.3 to the pilot sequence of line L.sub.3, thereby yielding S.sub.3.sup.(2)=[+e.sup.j 3, e.sup.j 3, e.sup.j 3], while the pilot sequence of line L.sub.1 is left unchanged, i.e. S.sub.1.sup.(2)=[+1, 1, +1, 1]. The rotated crosstalk signals have been plotted as gray vectors, and as one can see, the signal clipping is suppressed or at least mitigated.
(117) The present invention is a simple mechanism that avoids constant offsets while being (partly) compatible with the current VDSL2 standard. The present invention helps to obtain good stable vectored performance in the presence of high crosstalk which would otherwise be impaired by demapping errors, clipping errors, or other non-linear artifacts. The need for complex processing to identify and correct demapping errors is avoided, or at least reduced.
(118) There is seen in
(119) There is seen in
(120) It is to be noticed that the term comprising should not be interpreted as being restricted to the components listed thereafter. Thus, the scope of the expression a device comprising components A and B should not be limited to devices consisting only of components A and B. It means that with respect to the present invention, the relevant components of the device are A and B.
(121) It, is to be further noticed that the term coupled should not be interpreted as being restricted to direct connections only. Thus, the scope of the expression a device A coupled to a device 6 should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B, and/or vice-versa. It means that there exists a path between an output of A and an input of B, and/or vice-versa, which may be a path including other devices or means.
(122) The description and drawings merely illustrate the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention. Furthermore, all examples recited herein are principally intended expressly to be only for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor(s) to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass equivalents thereof.
(123) The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, a processor should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), etc. Other hardware, conventional and/or custom, such as read only memory (ROM), random access memory (RAM), and non volatile storage, may also be included.