Crosstalk (or inter-channel interference) is a major source of channel impairment for Multiple Input Multiple Output (MIMO) wired communication systems, such as Digital Subscriber Line (DSL) communication systems.
As the demand for higher data rates increases, DSL systems are evolving toward higher frequency bands, wherein crosstalk between neighboring transmission lines (that is to say transmission lines that are in close vicinity over part or whole of their length, such as twisted copper pairs in a cable binder) is more pronounced (the higher frequency, the more coupling).
Different strategies have been developed to mitigate crosstalk and to maximize effective throughput, reach and line stability. These techniques are gradually evolving from static or dynamic spectral management techniques to multi-user signal coordination (or vectoring hereinafter).
One technique for reducing inter-channel interference is joint signal precoding: the transmit data symbols are jointly passed through a precoder before being transmitted over the respective communication channels. The precoder is such that the concatenation of the precoder and the communication channels results in little or no inter-channel interference at the receivers.
A further technique for reducing inter-channel interference is joint signal post-processing: the receive data symbols are jointly passed through a postcoder before being detected. The postcoder is such that the concatenation of the communication channels and the postcoder results in little or no inter-channel interference at the receivers. Postcoders are also sometimes referred to as crosstalk cancellation filters.
The choice of the vectoring group, that is to say the set of communication lines, the signals of which are jointly processed, is rather critical for achieving good crosstalk mitigation performances. Within a vectoring group, each communication line is considered as a disturber line inducing crosstalk into the other communication lines of the group, and the same communication line is considered as a victim line receiving crosstalk from the other communication lines of the group. Crosstalk from lines that do not belong to the vectoring group is treated as alien noise and is not canceled.
Ideally, the vectoring group should match the whole set of communication lines that physically and noticeably interact with each other. Yet, local loop unbundling on account of national regulation policies and/or limited vectoring capabilities may prevent such an exhaustive approach, in which case the vectoring group would include a sub-set only of all the physically interacting lines, thereby yielding limited vectoring gains.
Signal vectoring is typically performed within a Distribution Point Unit (DPU), wherein all the data symbols concurrently transmitted over, or received from, all the subscriber lines of the vectoring group are available. For instance, signal vectoring is advantageously performed within a Digital Subscriber Line Access Multiplexer (DSLAM) deployed at a Central Office (CO) or as a fiber-fed remote unit closer to subscriber premises (street cabinet, pole cabinet, building cabinet, etc). Signal precoding is particularly appropriate for downstream communication (toward customer premises), while signal post-processing is particularly appropriate for upstream communication (from customer premises).
More formally, a vectored system can be described by the following linear model:Y(k)=H(k)X(k)+Z(k)  (1),wherein the N-component complex vector X, respectively Y, denotes a discrete frequency representation, as a function of the frequency/carrier/tone index k, of the symbols transmitted over, respectively received from, the N vectored channels, wherein the N×N complex matrix H is referred to as the channel matrix: the (i,j)-th component hij of the channel matrix H describes how the communication system produces a signal on the i-th channel output in response to a signal being transmitted to the j-th channel input; the diagonal elements of the channel matrix describe direct channel coupling, and the off-diagonal elements of the channel matrix (also referred to as the crosstalk coefficients) describe inter-channel coupling, and wherein the N-component complex vector Z denotes additive noise over the N channels, such as Radio Frequency Interference (RFI) or thermal noise.
Linear signal precoding and post-processing are advantageously implemented by means of matrix products.
In downstream, the linear precoder performs a matrix-product in the frequency domain of a transmit vector U(k) with a precoding matrix P(k), i.e. X(k)=P(k)U(k) in eq. (1), the precoding matrix P(k) being such that the overall channel matrix H(k)P(k) is diagonalized, meaning the off-diagonal coefficients of the overall channel H(k)P(k), and thus the inter-channel interference, mostly reduce to zero.
Practically, and as a first order approximation, the precoder superimposes anti-phase crosstalk pre-compensation signals over the victim line along with the direct signal that destructively interfere at the receiver with the actual crosstalk signals from the respective disturber lines.
In upstream, the linear postcoder performs a matrix-product in the frequency domain of the receive vector Y(k) with a crosstalk cancellation matrix Q(k) to recover the transmit vector U(k) (after channel equalization and power normalization), the crosstalk cancellation matrix Q(k) being such that the overall channel matrix Q(k)H(k) is diagonalized, meaning the off-diagonal coefficients of the overall channel Q(k)H(k), and thus the inter-channel interference, mostly reduce to zero.
Thus, the performance of signal vectoring depends critically on the component values of the precoding or cancellation matrix, which component values are to be computed and updated according to the actual and varying crosstalk couplings.
The various channel couplings are estimated by a vectoring controller based on pilot (or probing) signals transmitted over the respective channels. The pilot signals are typically transmitted over dedicated symbols and/or over dedicated tones.
For instance, in the recommendation entitled “Self-FEXT Cancellation (vectoring) For Use with VDSL2 Transceivers”, ref. G.993.5, and adopted by the International Telecommunication Union (ITU) on April 2010, the transceiver units send pilot signals on the so-called SYNC symbols. The SYNC symbols occur periodically after every 256 DATA symbols, and are transmitted synchronously over all the vectored lines (super frame alignment).
On a given disturber line, a representative subset of the active tones of the SYNC symbol are 4-QAM modulated by the same pilot digit from a given pilot sequence, and transmit one of two complex constellation points, either ‘1+j’ corresponding to ‘+1’, or ‘−1−j’ corresponding to ‘−1’. The remaining carriers of the SYNC symbol keeps on carrying the typical SYNC-FLAG for On-Line Reconfiguration (OLR) message acknowledgment.
On a given victim line, both the real and imaginary part of the slicer error, which is the difference vector between the received frequency sample and the constellation point onto which this frequency sample is demapped, are measured on a per pilot tone basis and reported for a specific SYNC symbol to the vectoring controller for further crosstalk estimation.
The successive error samples are next correlated with a given pilot sequence transmitted over a particular disturber line in order to obtain the crosstalk contribution from that disturber line. To reject the crosstalk contribution from the other lines, the pilot sequences used over the respective disturber lines are made orthogonal with respect to each other, for instance by using the well-known Walsh-Hadamard sequences.
The crosstalk estimates are eventually used for updating the coefficients of the precoding or cancellation matrix. Once the precoding or cancellation matrix is initialized and in force, the process is repeated as needed to track the residual crosstalk and to obtain more and more accurate estimates.
With the advent of new copper access technologies and the use of even broader spectrum up to and beyond 100 MHz, the crosstalk coupling increases, and the crosstalk power may even exceed the direct signal power. The superimposition of the crosstalk precompensation signals on the victim line may thus cause a violation of the transmit Power Spectral Density (PSD) mask, which defines the allowed amount of signal power for an individual user as a function of frequency, and may as well result in signal clipping within the Digital to Analog Converter (DAC) causing severe signal distortions.
A prior art solution is to scale down the direct signal gains such that the transmit signals, including both the direct and precompensation signals, remain within the allowed bounds. The PSD reduction is line and frequency dependent, and may change over time, e.g. when a line joins or leaves the vectoring group. The change in direct signal gains must be communicated to the receiver to avoid FEQ issues. This first solution has been described in a standard contribution to the International Telecommunication Union (ITU) from Alcatel-Lucent entitled “G.fast: Precoder Gain scaling”, reference ITU-T SG15 Q4a 2013-03-Q4-053, March 2013.
Another prior art solution is the use of Non-Linear Precoding (NLP), which applies modulo arithmetic operation to shift a transmit constellation point with excessive power back within the constellation boundary. At the receiver, the same modulo operation will shift the signal back to its original position.
The idea to employ modulo arithmetic to bound the value of the transmit signal was first introduced by Tomlinson and Harashima independently and nearly simultaneously with application to single-user equalization (M. Tomlinson, “New Automatic Equalizer Employing Modulo Arithmetic” Electronics Letters, 7(5-6), pp. 138-139, March 1971; and H. Harashima, and H. Miyakawa, “Matched-Transmission Technique for Channels with Inter symbol Interference” IEEE Trans. on Communications, 20(4), pp. 774-780, August 1972). Ginis and Cioffi applied the concept to multi-user system for crosstalk cancellation (G. Ginis and J. M. Cioffi, “A Multi-User Precoding scheme Achieving crosstalk Cancellation with Application to DSL systems”, Proc. 34th Asilomar conference on Signals, Systems and computers, 2000).
Yet, modulo operation directly affects the transmit signal and thus the actual crosstalk induced onto the system, ending into a ‘chicken-egg’ problem: modulo operation for a first user alters precompensation for a second user; altered precompensation for the second user alters modulo operation for the second user; altered modulo operation for the second user user alters precompensation for the first user; and altered precompensation for the first user alters modulo operation for the first user; and so on.
In order to overcome this issue, the non-linear precoder is constructed using the so-called QR matrix decomposition. A good overview of the technique, with step-by-step description of the functions is given by Ikanos (S. Singh, M. Sorbara, “G.fast: Comparison of Linear and Non-Linear Pre-coding for G.fast on 100m BT Cable”, ITU-T SG15 Q4a contribution 2013-01-Q4-031, January 2013).
More formally, the channel matrix H is first written as:H=D. (I+C)  (2),wherein the carrier index k has been voluntarily omitted, D is a diagonal matrix comprising the direct channel coefficients hii, I is the identity matrix, and C is an off-diagonal normalized crosstalk matrix comprising the normalized crosstalk coefficients hij/hii.
Ideal Zero-Forcing (ZF) linear precoding is achieved when the precoding matrix P implements the inverse of the normalized crosstalk coupling channel, namely:P=(I+C)−1  (3),such that H·P=D, the latter being compensated by single-tap Frequency EQualization (FEQ) at the receiver. With linear ZF precoding, the noise at the receiver input is enhanced by the direct channel frequency response by a factor 1/hi,i. We also note that the noise is evenly enhanced for identical lines as they are all expected to have an equal path loss hi,i.
With non-linear precoding, the conjugate transpose of the normalized channel matrix is first factored into two matrices, namely:(I+C)*=QR  (4),wherein * denotes the conjugate transpose, R is an N×N upper triangular matrix, Q is a N×N unitary matrix that preserves power, i.e. Q*Q=I.
One diagonalizing precoding matrix is then given by:P=QR*−1  (5),yielding HP=D(I+C)QR*−1=DR*Q*QR*−1=D.
Let us write:R*−1=LS−1  (6),wherein L is a N×N lower triangular matrix with unit diagonal, and S is a N×N normalization diagonal matrix whose elements are the diagonal elements of R*.
The diagonal matrix S indicates a per-line precoding gain that depends on the encoding order. S scaling is to be disposed of as modulo operation has to operate on normalized frequency samples, thereby yielding P=QL and HP=D(I+C)QL=DR*Q*QR*−1S=DS. A further equalization step S−1 is thus required at the receiver to recover the initial transmit sample. The gain scaling matrix S is estimated by the vectoring controller, and sent to the receiver for proper signal equalization.
The non-linear precoder comprises a first feedforward filter L, or equivalently a first feedback filter I-S−1R*, followed by a second feedforward filter Q.
In a first step, the transmit vector U is multiplied row by row with the lower triangular matrix L, but before proceeding to the next row, the output for element i is adapted through a modulo operation, thereby keeping the transmit power within the allowed bounds. The triangular structure of the matrix L is a solution to the aforementioned ‘chicken-egg’ problem: the modulo output for user i serves as input for users j encoded later (j>i), but does not affect the output of users k encoded earlier (k<i).
In a second step, the resulting vector is multiplied with the matrix Q, which preserves the initial transmit power on account of its unitary property.
More formally, the output of the non-linear precoder X′ is given by:
                                          x            1            ′                    =                      u            1                          ⁢                                  ⁢                              x            2            ′                    =                                    Γ                              2                ,                k                                      ⁡                          (                                                u                  2                                -                                                                            r                      21                                                              r                      22                                                        ⁢                                      x                    1                    ′                                                              )                                      ⁢                                  ⁢        ⋮        ⁢                                  ⁢                                            x              N              ′                        =                                          Γ                                  N                  ,                  k                                            ⁡                              (                                                      u                    N                                    -                                                                                    r                                                  NN                          -                          1                                                                                            r                        NN                                                              ⁢                                          x                                              N                        -                        1                                            ′                                                        -                  …                  -                                                                                    r                                                  N                          ⁢                                                                                                          ⁢                          1                                                                                            r                        NN                                                              ⁢                                          x                      1                      ′                                                                      )                                              ,                                    (        7        )            wherein rij denotes the coefficients of R*, and Γi,k denotes the modulo operator as a function of the constellation size for carrier k and user i.
The modulo operator Γi,k is given by:
                                                        Γ                              i                ,                k                                      ⁡                          (                              x                                  i                  ,                  k                                            )                                =                                    x                              i                ,                k                                      -                          d              ·                              M                                  i                  ,                  k                                            ·                              ⌊                                                                            x                                              i                        ,                        k                                                              +                                          d                      ·                                                                        M                                                      i                            ,                            k                                                                          /                        2                                                                                                  d                    ·                                          M                                              i                        ,                        k                                                                                            ⌋                                                    ,                            (        8        )            wherein xi,k denotes a transmit frequency sample for carrier k and user i, Mi,k denotes the number of constellation points per I/Q dimension for carrier k and user i, and d denotes the distance between neighboring constellation points in the one dimension.
At the receiver, the equalized receive signal samples are given by:
                              y          i          ′                =                                            r              ii                        ⁢                                          Γ                                  i                  ,                  k                                            ⁡                              (                                                      u                    i                                    -                                                            ∑                                              j                        =                        1                                                                    i                        -                        1                                                              ⁢                                                                                            r                          ij                                                                          r                          ii                                                                    ⁢                                              x                        j                        ′                                                                                            )                                              +                                    ∑                              j                =                1                                            i                -                1                                      ⁢                                          r                ij                            ⁢                              x                j                ′                                              +                                    z              i                        .                                              (        9        )            
A further equalization step S−1 together with a further modulo operation is then needed to recover the initial transmit vector U:
                                          y            ^                    i                =                                            Γ                              i                ,                k                                      ⁡                          (                                                y                  i                  ′                                                  r                  ii                                            )                                =                                                    Γ                                  i                  ,                  k                                            ⁡                              (                                                                            Γ                                              i                        ,                        k                                                              ⁡                                          (                                                                        u                          i                                                -                                                                              ∑                                                          j                              =                              1                                                                                      i                              -                              1                                                                                ⁢                                                                                                                    r                                ij                                                                                            r                                ii                                                                                      ⁢                                                          x                              j                              ′                                                                                                                          )                                                        +                                                            ∑                                              j                        =                        1                                                                    i                        -                        1                                                              ⁢                                                                                            r                          ij                                                                          r                          ii                                                                    ⁢                                              x                        j                        ′                                                                              +                                                            z                      i                                                              r                      ii                                                                      )                                      =                                                            Γ                                      i                    ,                    k                                                  ⁡                                  (                                                            u                      i                                        +                                                                  z                        i                                                                    r                        ii                                                                              )                                            .                                                          (        10        )            
The term
      u    i    +            z      i              r      ii      is expected to be within the constellation boundaries and thus
      Γ          i      ,      k        ⁡      (                  u        i            +                        z          i                          r          ii                      )  should be equal to
      u    i    +                    z        i                    r        ii              .  The decision ûi is then made on that sample.
We note that the non-linear precoder implemented with QR matrix decomposition achieves ZF equalization, while the noise sample at the receiver input is enhanced by a factor of 1/rii. We also note that for a cable with identical lines, the diagonal values of the R* matrix do not have the same value; hence the noise enhancement is not the same on each line, which may lead to an unfair distribution of bit rates to the different users depending on the level of crosstalk couplings.
A major issue with non-linear precoding is the amount of processing resources required for updating the non-linear precoder. Indeed, whenever the crosstalk couplings substantially change, then a new QR matrix decomposition of the normalized channel matrix I+C is required to update both the precoding matrices Q and L. Such a QR matrix decomposition requires intensive computational resources as it is computationally equivalent to a full matrix inversion.
Another issue is that the non-linear precoder breaks the orthogonality of the pilot sequence, thereby biasing in the crosstalk estimates. To overcome this issue, one can either reduce the transmit power of the pilot (leading to slower convergence), or treat the modulo-pilots as quasi-orthogonal (leading to slower convergence, if any), or to not apply modulo operation (leading to PSD mask violation and clipping). None of these solutions are satisfactory.