Targeted rectangular conditioning
11424785 · 2022-08-23
Assignee
Inventors
Cpc classification
H04J11/0033
ELECTRICITY
International classification
Abstract
A vectoring controller for configuring a vectoring processor that jointly processes DMT communication signals to be transmitted over, or received from, a plurality of N subscriber lines according to a vectoring matrix. In accordance with an embodiment, the vectoring controller is configured, for given ones of a plurality of tones, to enable the given tone for direct data communication over a first set of N−Mk targeted lines out of the plurality of N subscriber lines, and to disable the given tone for direct data communication over a second disjoint set of Mk supporting lines out of the plurality of N subscriber lines, Mk denoting a non-null positive integer. The vectoring controller is further configured to configure the vectoring matrix to use an available transmit or receive power at the given tone over the second set of Mk supporting lines for further enhancement of data signal gains at the given tone over the first set of N−Mk targeted lines.
Claims
1. A vectoring controller for configuring a vectoring processor that jointly processes Discrete Multi-Tone DMT communication signals to be transmitted over or received from a plurality of N subscriber lines according to a vectoring matrix, the vectoring controller configured to, for given ones of a plurality of tones: enable the given tone for direct data communication over a first set of N−Mk targeted lines out of the N subscriber lines, disable the given tone for direct data communication over a second disjoint set of M.sub.k supporting lines out of the N subscriber lines, M.sub.k denoting a nonnull positive integer, configure the vectoring matrix to use, when transmitting, an available transmit power, and to use, when receiving, an available receive power, at the given tone over the second set of M.sub.k supporting lines for enhancement of data signal gains at the given tone over the first set of N−M.sub.k targeted lines, distribute targeted and supporting roles across the N subscriber lines while iterating through the plurality of tones in sequence such that respective data rates over the N subscriber lines are steered towards respective target data rates, during the respective iterations, update the respective data rates over the N subscriber lines based on the enabled and disabled tones and the configuration of the vectoring matrices during the respective iterations, and determine first and second sets of lines based on the updated data rates.
2. A vectoring controller according to claim 1, wherein the vectoring controller is further configured to assign at least one subscriber line of the plurality of N subscriber lines, whose updated data rate exceeds a target data rate, to the second set of M.sub.k supporting lines for at least one subsequent iteration.
3. A vectoring controller according to claim 1, wherein the vectoring controller is further configured to assign at least one subscriber line of the N subscriber lines, whose updated data rate exceeds by a given margin at least one further updated data rate of at least one further subscriber line of the N subscriber lines, to the second set of M.sub.k supporting lines for at least one subsequent iteration.
4. A vectoring controller according to claim 1, wherein the configured vectoring matrix is a rectangular Nx(N−M.sub.k) precoding matrix with at least one non-null off-diagonal precoding coefficient for the respective M.sub.k matrix rows corresponding to the second set of M.sub.k supporting lines.
5. A vectoring controller according to claim 4, wherein the configured rectangular vectoring matrix is a generalized inverse matrix of a (N−M.sub.k)xN reduced channel matrix comprising far-end coupling coefficients from the N subscriber lines into the first set of N−M.sub.k targeted lines.
6. A vectoring controller according to claim 5, wherein the generalized inverse matrix is a Moore-Penrose pseudo-inverse of the (N−M.sub.k)xN reduced channel matrix.
7. A vectoring controller according to claim 1, wherein the configured vectoring matrix is a rectangular (N−M.sub.k)xN postcoding matrix with at least one non-null off-diagonal postcoding coefficient for the respective M.sub.k matrix columns corresponding to the second set of Mk supporting lines.
8. A vectoring controller according to claim 7, wherein the configured rectangular vectoring matrix is a generalized inverse matrix of a Nx(N−M.sub.k) reduced channel matrix comprising far-end coupling coefficients from the first set of N−M.sub.k targeted lines into the N subscriber lines.
9. A vectoring controller according to claim 8, wherein the generalized inverse matrix is a Moore-Penrose pseudo-inverse of the Nx(N−M.sub.k) reduced channel matrix.
10. An access node for providing broadband communication services to subscribers, and comprising the vectoring controller according to claim 1.
11. A method for configuring a vectoring processor that jointly processes Discrete Multi-Tone DMT communication signals to be transmitted over or received from, a plurality of N subscriber lines according to a vectoring matrix, and the method comprising, for given ones of a plurality of tones: enabling the given tone for direct data communication over a first set of N−M.sub.k targeted lines out of the N subscriber lines, disabling the given tone for direct data communication over a second disjoint set of M.sub.k supporting lines out of the N subscriber lines, M.sub.k denoting a nonnull positive integer, configuring the vectoring matrix to use, when transmitting, an available transmit power, and to use, when receiving, an available receive power, at the given tone over the second set of M.sub.k supporting lines for enhancement of data signal gains at the given tone over the first set of N−M.sub.k targeted lines, distributing targeted and supporting roles across the N subscriber lines while iterating through the plurality of tones in sequence such that respective data rates over the N subscriber lines are steered towards respective target data rates, during the respective iterations, updating the respective data rates over the N subscriber lines based on the enabled and disabled tones and the configuration of the vectoring matrices during the respective iterations, and determining first and second sets of lines based on the updated data rates.
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)
(6)
(7)
DETAILED DESCRIPTION OF THE INVENTION
(8) The square brackets hereinafter surround terms that are deemed to be optional, and thus an expression such as e.g. “the [normalized] channel matrix” shall be construed as either “the channel matrix” or “the normalized channel matrix”.
(9) There is seen in
(10) As an illustrative example, the copper plant comprises four subscriber lines L.sub.1 to L.sub.4 sharing a common access segment 40, and then going through dedicated loop segments 50 for final connection to CPEs 30.sub.1 to 30.sub.4 respectively.
(11) Within the common access segment 40, the subscriber lines L.sub.1 to L.sub.4 are in close vicinity and thus induce crosstalk into each other (see the arrows in
(12) The access node 20 comprises a Vectoring Processing Unit 21 (or VPU) for jointly processing the data symbols that are being transmitted over, or received from, the copper plant in order to mitigate the crosstalk and to increase the achievable data rates.
(13) There is seen in
(14) The access node 100 comprises: transceivers 110; a Vectoring Processing Unit (VPU) 120; and a Vectoring Control Unit (VCU) 130 for controlling the operation of the VPU 120.
(15) 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.
(16) The transceivers 110 individually comprise: a Digital Signal Processor (DSP) 111; and an Analog Front End (AFE) 112.
(17) The transceivers 110 are coupled to respective transceivers 210 within the CPEs 200 through respective subscriber lines L.sub.1 to L.sub.N, which are assumed to form part of the same vectoring group.
(18) The transceivers 210 individually comprise: a Digital Signal Processor (DSP) 211; and an Analog Front End (AFE) 212.
(19) The AFEs 112 and 212 individually 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.
(20) In case of Frequency Division Duplexing (FDD) operation where downstream and upstream communications operate simultaneously over the same transmission medium in distinct and non-overlapping frequency bands, the AFEs 112 and 212 further comprise a hybrid for coupling the transmitter output to the transmission medium and the transmission medium to the receiver input while achieving low transmitter-receiver coupling ratio. The AFE may further accommodate echo cancellation filters to reduce the coupling ratio at a further extent.
(21) In case of Time Duplexing Division (TDD) operation where downstream and upstream communications operate over the same frequency band but in distinct and non-overlapping time slots, the hybrid can be advantageously omitted as the transmitter and receiver operate in alternate mode: the receive circuitry is switched OFF (or the receive signal is discarded) while the transmit circuitry is active, and the way around, the transmit circuitry is switched OFF while the receive circuitry is active.
(22) The AFEs 112 and 212 further comprise impedance-matching circuitry for adapting to the characteristic impedance of the transmission medium, clipping circuitry for clipping any voltage or current surge occurring over the transmission medium, and isolation circuitry (typically a transformer) for DC-isolating the transceiver from the transmission medium.
(23) The DSPs 111 and 211 are configured to operate downstream and upstream communication channels for conveying user traffic over the subscriber lines L.sub.1 to L.sub.N.
(24) The DSPs 111 and 211 are further configured to operate downstream and upstream control channels that are used to transport control traffic, such as diagnosis, management or On-Line Reconfiguration (OAR) commands and responses. Control traffic is multiplexed with user traffic over the transmission medium.
(25) More specifically, the DSPs 111 and 211 are for encoding and modulating user and control data into DMT symbols, and for de-modulating and decoding user and control data from DMT symbols.
(26) The following transmit steps are typically performed within the DSPs 111 and 211: data encoding, such as data multiplexing, framing, scrambling, error correction encoding and interleaving; signal modulation, comprising the steps of ordering the tones according to a tone ordering table, parsing the encoded bit stream according to the respective bit loadings of the ordered tones, and mapping each chunk of bits onto an appropriate transmit constellation point (with respective carrier amplitude and phase), possibly with Trellis coding; signal scaling, such as power normalization, transmit PSD shaping and transmit gain scaling; Inverse Fast Fourier Transform (IFFT); Cyclic Prefix (CP) insertion; and time-windowing.
(27) The following receive steps are typically performed within the DSPs 111 and 211: time-windowing and CP removal; 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 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 tone ordering table; and data decoding, such as data de-interleaving, error correction decoding, de-scrambling, frame delineation and de-multiplexing.
(28) Some of these transmit or receive steps can be omitted, or some additional steps can be present, depending on the exact digital communication technology being used.
(29) The DSPs 111 are further configured to supply transmit frequency samples u.sub.k to the VPU 120 before Inverse Fast Fourier Transform (IFFT) for joint signal precoding, and to supply receive frequency samples y.sub.k to the VPU 120 after Fast Fourier Transform (FFT) for joint signal post-processing.
(30) The DSPs 111 are further configured to receive pre-compensated transmit samples x.sub.k from the VPU 120 for further transmission, and to receive post-compensated receive samples y′.sub.k from the VPU 120 for further detection. Alternatively, the DSPs 111 may receive correction samples to add to the initial frequency samples before further transmission or detection.
(31) The VPU 120 is configured to mitigate the crosstalk induced over the subscriber lines. The VPU 120 comprises a linear precoder configured to multiply a vector u.sub.k of transmit frequency samples with a precoding matrix P.sub.k in order to pre-compensate an estimate of the expected crosstalk, and a linear postcoder configured to multiply a vector of receive frequency samples y.sub.k with a crosstalk cancellation matrix Q.sub.k so as to post-compensate an estimate of the incurred crosstalk.
(32) In the matrix P.sub.k or Q.sub.k, a row i is associated with a particular victim line L.sub.i, while a column j is associated with a particular disturber line L.sub.j.
(33) The VCU 130 is basically for controlling the operation of the VPU 120, and more specifically for estimating the crosstalk coefficients between the subscriber lines of the vectoring group, and for initializing and updating the coefficients of the precoding matrix P.sub.k and of the crosstalk cancellation matrix Q.sub.k from the so-estimated crosstalk coefficients.
(34) The VCU 130 starts first by configuring the transceivers 110 and 210 with the respective pilot sequences to use for modulation of the pilot tones of the pilot symbols (SYNC symbols). The pilot sequences comprises T pilot digits using {+1, −1} or {+1, 0, −1} as alphabet. The pilot digit that modulates a given tone k during pilot symbol position t over line L.sub.i is denoted as w.sub.i,k.sup.t. Presently, the pilot symbols are not processed through the VPU 120 as one needs first to characterize the channel matrix per se.
(35) The VCU 130 next gathers measurement samples as measured by the transceivers 110 and 210 while the pilot symbols are being transmitted. The measurement sample as measured by the transceiver 110i or 210i over a victim line L.sub.i at tone k during pilot symbol position t is denoted as e.sub.i,k.sup.t.
(36) The VCU 130 correlates T measurement samples {e.sub.i,k.sup.t}.sub.t=t.sub.
(37) The channel matrix and/or the normalized channel matrix are determined based on these correlation results. The nominal channel matrix is derived from a measure of the raw receive signals before equalization, whereas the normalized channel matrix is derived from a measure of the slicer errors after channel equalization.
(38) The so-determined channel matrix may exhibit ill-conditioning at specific tones, that is to say one or more row(s) and/or column(s) of the channel matrix corresponding to one or more subscriber lines can be expressed as, or come close to, a linear combination of the other rows or columns, which makes the channel matrix singular or almost singular, and yields very large vectoring coefficients for zero-forcing vectoring.
(39) Typically, the matrix singularity is quantified by means of a condition number, and a matrix is said to be ill-conditioned when that condition number exceeds some given threshold. For instance, the ratio between the largest and lowest singular values of the channel matrix is a good indicator for ill-conditioning and can be used as condition number.
(40) The VCU 130 is further configured to characterize the ill-conditioning of the so-determined channel matrix at respective tones, and if the channel matrix is characterized as being ill-conditioned at a given tone, then the VCU 130 is further configured to select one or more lines and to disable the given tone for direct data communication over these lines so as the corresponding reduced channel matrix is well-conditioned. The set of lines for which the given tone is kept active for direct data communication is referred to as the targeted set, whereas the set of lines for which the given tone is disabled for direct data communication is referred to as the supporting set.
(41) The VCU 130 distributes targeted and supporting roles to the various subscriber lines L.sub.1 to L.sub.N across different tones. Indeed, this is made possible because, when one matrix row or column is [almost] a linear combination of say two other matrix rows or columns, then any of the three subscriber lines corresponding to these three matrix rows or columns can be selected for the supporting set in order to ‘re-orthogonalize’ the channel matrix and make it no longer singular. Owing to the frequency coherence of the channel, the same three lines are likely to be again in the same linear relationship at neighboring tones, and the VCU 130 can select each of these 3 lines in turn. The VCU 130 thus has some degree of freedom for balancing targeted and supporting roles across the lines and achieving some kind of fairness as it will be set forth further in the description.
(42) Also it is noteworthy that, with TDD, the sets of targeted and supporting lines for a given tone can be different in upstream and downstream.
(43) For every line Li, a set of disabled tones ST.sub.i is determined and sent to the respective transceiver 110i (see “ST.sub.i={k.sub.1, . . . }” in
(44) It is noteworthy that pilot signals keep on being transmitted over these disabled tones notwithstanding their transmit gain and bit loading, which have been both set to zero. By so doing, the full [normalized] channel matrix can still be estimated on every tone.
(45) Let k be such an ill-conditioned tone: direct data communication at tone k is to be disabled over one or more subscriber lines in order to obtain a well-conditioned reduced channel matrix at tone k.
(46) Let L={L.sub.1, . . . , L.sub.N} denote the set of all vectored lines. Let A.sub.k denote the set of targeted lines at tone k, that is to say the set of lines for which tone k is kept enabled for direct data communication (i.e., corresponding bit loading and transmit gain are both different from zero), and let Bk denote the set of supporting lines at tone k, that is to say the set of lines for which tone k is disabled for direct data communication (i.e., corresponding bit loading and transmit gain are both set to zero).
(47) We have:
L=A.sub.k∪B.sub.k and A.sub.k∩B.sub.k=Ø (2).
(48) Let M.sub.k denote the size of the set B.sub.k, implying that N−M.sub.k is the size of the set A.sub.k on account of the set equations (2). The number M.sub.k of lines that need to be removed from the targeted set is mostly determined by the condition of the [normalized] channel matrix at respective tones, but may also depend on further criteria.
(49) Let H.sub.k denote the N×N [normalized] channel matrix at tone k, and let us arrange the [normalized] channel matrix as
(50)
wherein H.sub.Ak denotes a reduced (N−M.sub.k)×N [normalized] channel matrix comprising the N−M.sub.k rows of the [normalized] channel matrix H.sub.k corresponding to the set of targeted lines A.sub.k and all N columns, and H.sub.Bk denotes a reduced M.sub.k×N [normalized] channel matrix comprising the M.sub.k rows of the [normalized] channel matrix H.sub.k corresponding to the set of supporting lines B.sub.k and all N columns. In other words, the rows of the [normalized] channel matrix H.sub.k have been re-arranged for the supporting lines B.sub.k to occupy the last M.sub.k rows. This rearrangement of rows and columns is to simplify the notation for exposition, and is not necessary in practice as should be clear to those skilled in the art.
(51) Let P.sub.k=[P.sub.Ak P.sub.Bk] denote the precoding matrix used at tone k, with P.sub.Ak denoting a reduced N×(N−M.sub.k) precoding matrix comprising the N−M.sub.k columns of the precoding matrix P.sub.k corresponding to the set of targeted lines A.sub.k and all N rows, and P.sub.Bk denoting a reduced N×M.sub.k precoding matrix comprising the M.sub.k columns of the precoding matrix P.sub.k corresponding to the set of supporting lines B.sub.k and all N rows.
(52) With zero-forcing precoding and when targeting all lines, we would have P.sub.k=H.sub.k.sup.−1.
(53)
be the transmit gain scaling diagonal matrix at tone k for conformance to a transmit PSD mask and total aggregate power, with S.sub.Ak and S.sub.Bk being the diagonal matrices corresponding to the set of targeted lines A.sub.k and the set of supporting lines B.sub.k respectively. The diagonal coefficients of the diagonal matrix S.sub.Bk are set to zero as there are no data communication signals transmitted over the supporting lines B.sub.k at tone k.
(54) With this notation in mind, the VCU 130 is further configured, for respective ones of the ill-configured tones used for downstream communication: to determine a set A.sub.k of targeted lines and a corresponding set B.sub.k of supporting lines to obtain a well-conditioned reduced [normalized] channel matrix H.sub.Ak; and to compute or recompute a rectangular precoding matrix {tilde over (P)}.sub.Ak for the targeted lines A.sub.k for which the following three conditions hold: a) The rows of {tilde over (P)}.sub.Ak corresponding to the supporting lines B.sub.k are not forced to zero, and thus precompensation signals are transmitted over the supporting lines B.sub.k. b) The rows of {tilde over (P)}.sub.Ak corresponding to the targeted lines A.sub.k are not the same as the corresponding rows of the full precoding matrix P.sub.k (i.e., when all lines are targeted). This emphasizes that one does not just take the rows of the inverse of the full [normalized] channel matrix P.sub.k=H.sub.k.sup.−1. c) The (re)computed vectoring matrix {tilde over (P)}.sub.Ak has a zero-forcing design and diagonalizes the overall channel over the targeted lines A.sub.k:
(55)
(56) One possible concrete precoder computation is to use the Moore-Penrose pseudo-inverse of the reduced [normalized] channel matrix H.sub.Ak as follows:
{tilde over (P)}.sub.Ak=H.sub.Ak.sup.H(H.sub.AkH.sub.Ak.sup.H).sup.−1 (4).
(57) However, this is not the only choice, but a whole family of generalized inverses can serve as precoder. For instance, the following generalized inverse could be used as zero-forcing precoder too:
{tilde over (P)}.sub.Ak=WH.sub.Ak.sup.H(H.sub.AkWH.sub.Ak.sup.H).sup.−1 (5),
wherein W denotes a N×N diagonal matrix with real diagonal coefficients.
(58) In general, an N×(N−M.sub.k) precoder has N(N−M.sub.k) degrees of freedom, of which (N−M.sub.k).sup.2 should be used to ensure that all crosstalk is canceled (D.sub.A is diagonal), and the remaining (N−M.sub.k)M.sub.k degrees of freedom are available to try to maximize the power of the receive communication signals on the N−M.sub.k targeted lines, that is to say to make diagonal values of the diagonal matrix D.sub.Ak as large as possible while meeting the various power constraints.
(59) A few words regarding the use of the channel matrix or the normalized channel matrix for the computation of the precoding matrix.
(60) The channel matrix and the normalized channel matrix only differ by left-multiplication with a diagonal matrix F.sub.k comprising the inverses of the diagonal elements of H.sub.k:
G.sub.k=F.sub.kH.sub.k (5),
wherein H.sub.k and G.sub.k denote the now-differentiated channel matrix and normalized channel matrix respectively.
(61) By virtue of eq. (4) or (5), the corresponding precoding matrices will only differ by right-multiplication with a diagonal matrix:
{tilde over (P)}.sub.Ak=G.sub.Ak.sup.H(G.sub.AkG.sub.Ak.sup.H).sup.−1
=(F.sub.AkH.sub.Ak).sup.H((F.sub.AkH.sub.Ak)(F.sub.AkH.sub.Ak).sup.H).sup.−1=H.sub.Ak.sup.HF.sub.Ak.sup.H(F.sub.AkH.sub.AkH.sub.Ak.sup.HF.sub.Ak.sup.H).sup.−1 (6),
=H.sub.Ak.sup.HF.sub.Ak.sup.HF.sub.Ak.sup.H−1(F.sub.AkH.sub.AkH.sub.Ak.sup.H).sup.−1=H.sub.Ak.sup.H(H.sub.AkH.sub.Ak.sup.H).sup.−1F.sub.Ak.sup.−1
wherein the normalized channel matrix G.sub.k has been decomposed into G.sub.Ak and G.sub.Bk as per the channel matrix H.sub.k, and wherein F.sub.Ak denotes a diagonal matrix comprising the diagonal coefficients of the diagonal matrix F.sub.k corresponding to the N−M.sub.k targeted lines.
(62) Some power normalization is however required at transmit side through pre-multiplication with the scaling matrix S.sub.Ak in order to achieve the required transmit power, and thus the use of the nominal or normalized channel matrix for the computation of the precoding matrix will eventually yield the same effective precoding matrix.
(63) Rectangular precoding is illustrated in
(64) N transceivers TU-C.sub.1 to TU-C.sub.N at network side supplies a downstream transmit vector u.sub.k for every transmit DMT symbol period for further precoding, transmission, reception and detection by N respective transceivers TU-R.sub.1 to TU-R.sub.N at subscriber side. The transmit vector u.sub.k, comprising respective transmit frequency samples u.sub.1,k to u.sub.N,k after constellation mapping and scaling, is input to a precoder with precoding matrix P.sub.k to yield a precoded signal x.sub.k=[x.sub.1,k . . . x.sub.N,k].sup.T=P.sub.ku.sub.k for further transmission over the respective subscriber lines L.sub.1 to L.sub.N.
(65) Let us assume for convenience that, at tone k, one line is being moved from the targeted set A.sub.k to the supporting set B.sub.k (i.e., M.sub.k=1) in order to obtain a well-conditioned reduced channel matrix, and let us further assume that this supporting line is line L.sub.N. Thus no downstream data is conveyed over line L.sub.N at tone k, or equivalently u.sub.N,k=0 (see crosshatched area in transmit vector u.sub.k), and corresponding transmit gain and bit loading are both set to zero. As a consequence, the corresponding N.sup.th column of the precoding matrix P.sub.k is irrelevant as it does not play any role in signal precoding (see crosshatched area in precoding matrix P.sub.k). The corresponding precoding coefficients P.sub.1N to P.sub.NN are preferably (but not necessarily) set to zero.
(66) Yet, one or more off-diagonal coefficients of the N.sup.th row of the precoding matrix P.sub.k are set to a value different from 0 (see boldened coefficients in precoding matrix P.sub.k), meaning that crosstalk precompensation signals keep on being transmitted over line L.sub.N at tone k despite tone k being disabled for direct data communication over line L.sub.N (i.e., x.sub.N,k≠0 despite u.sub.N,k=0). The effective precoding matrix has thus a rectangular shape.
(67) Next, the precoded vector x.sub.k goes through the channel matrix H.sub.k, thereby yielding the receive vector y.sub.k=[y.sub.1,k . . . y.sub.N,k].sup.T for reception and detection by the transceivers TU-R.sub.1 to TU-R.sub.N. As no communication takes place over tone k for line L.sub.N, the transceiver TU-R.sub.N discards the receive frequency sample y.sub.N,k and the corresponding N.sup.th row of the channel matrix H.sub.k is irrelevant (see crosshatched area in channel matrix H.sub.k and vector y.sub.k).
(68) A new rectangular N×(N−1) precoding matrix {tilde over (P)}.sub.Ak is computed and enforced into the columns of the precoding matrix P.sub.k corresponding to the targeted lines A.sub.k. The new rectangular precoding matrix {tilde over (P)}.sub.Ak makes an opportunistic use of the available transmit power over the supporting line L.sub.N (on account of no data communication signal being sent on that line) for insertion over that line of appropriately scaled and rotated replicas of the N−1 communication signals u.sub.i,i≠N (or a part thereof), and further for coherent combining of these N−1 communication signals u.sub.i,i□N traveling over the various propagation paths at the transceivers TU-R.sub.i,i≠N, which then undergo a substantial increase of their receive signal power compared to full precoding (all lines being targeted with considerable signal down-scaling) or square tone suppression (one or more lines being suppressed without any signal transmission over the suppressed lines).
(69) The data signal gain α.sub.i,k over line L.sub.i at tone k is given by:
(70)
and now comprises an additional term H.sub.iN,kP.sub.Ni,k on account of the rectangular conditioning. This term will reinforce the power (or magnitude) of the useful signal u.sub.i,k provided the precoding coefficient P.sub.Ni,k is appropriately chosen.
(71) The postcoding use case is very similar to the precoding use case.
(72) Let us arrange the N×N [normalized] channel matrix as H.sub.k=[H.sub.AkH.sub.Bk], wherein H.sub.Ak now denotes a reduced N×(N−M.sub.k) [normalized] channel matrix comprising the N−M.sub.k columns of the [normalized] channel matrix H.sub.k corresponding to the set of targeted lines A.sub.k and all N rows, and H.sub.Bk now denotes a reduced N×M.sub.k [normalized] channel matrix comprising the M.sub.k columns of the [normalized] channel matrix H.sub.k corresponding to the set of supporting lines B.sub.k and all N rows. In other words, the columns of the [normalized] channel matrix H.sub.k have been re-arranged for the supporting lines B.sub.k to occupy the last M.sub.k columns.
(73) Let
(74)
denote the postcoding matrix used at tone k, with Q.sub.Ak denoting a reduced (N−M.sub.k)×N postcoding matrix comprising the N−M.sub.k rows of the postcoding matrix Q.sub.k corresponding to the set of targeted lines A.sub.k and all N columns, and Q.sub.Bk denoting a reduced M.sub.k×N postcoding matrix comprising the M.sub.k rows of the postcoding matrix Q.sub.k corresponding to the set of supporting lines B.sub.k and all N columns.
(75) With zero-forcing postcoding and when all lines are targeted, we would still have Q.sub.k=H.sub.k.sup.−1.
(76)
still denotes the transmit gain scaling matrix. The diagonal coefficients of the diagonal matrix S.sub.Bk are set to zero as there are no communication signals transmitted over the supporting lines B.sub.k at tone k.
(77) The VCU 130 is further configured, for respective ones of the ill-configured tones used for upstream communication: to determine a set A.sub.k of targeted lines and a corresponding set B.sub.k of supporting lines to obtain a well-conditioned reduced [normalized] channel matrix H.sub.Ak; and to compute or recompute a rectangular postcoding matrix {tilde over (Q)}.sub.Ak for the targeted active lines A.sub.k for which the following three conditions hold: a) The columns of {tilde over (Q)}.sub.Ak corresponding to the supporting lines B.sub.k are not forced to zero, and thus the signals that leak into the supporting lines B.sub.k are exploited for further enhancement of the data signal gains over the targeted lines A.sub.k. b) The columns of {tilde over (Q)}.sub.Ak corresponding to the targeted lines A.sub.k are not the same as the corresponding columns of the full postcoding matrix Q.sub.k (i.e., when all lines are targeted). This emphasizes that one does not just take the columns of the full matrix inverse Q.sub.k=H.sub.k.sup.−1. c) The (re)computed vectoring matrix {tilde over (Q)}.sub.Ak has a zero-forcing design and diagonalizes the overall channel over the targeted lines A.sub.k:
(78)
(79) One possible concrete postcoder computation is to use the Moore-Penrose pseudo-inverse for the reduced channel H.sub.Ak as follows:
{tilde over (Q)}.sub.Ak=(H.sub.Ak.sup.HH.sub.Ak).sup.−1H.sub.Ak.sup.H (9).
(80) Other generalized inverses can serve as postcoder too, such as:
{tilde over (Q)}.sub.Ak=(H.sub.Ak.sup.HWH.sub.Ak).sup.−1H.sub.Ak.sup.HW (10)
wherein W denotes a N×N diagonal matrix with real diagonal coefficients.
(81) The same reasoning applies regarding the indistinct use of the channel matrix or normalized channel matrix for the computation of the postcoding matrix as per eq. (9) or (10): the corresponding postcoding matrices will now only differ by left-multiplication with a diagonal matrix, which diagonal matrix being anyhow compensated for by frequency equalization at the receivers, which will re-normalize the power of the receive samples before detection.
(82) Rectangular postcoding is illustrated in
(83) N transceivers TU-R.sub.1 to TU-R.sub.N at subscriber side transmit respective transmit frequency samples u.sub.1,k to u.sub.N,k over the respective subscriber lines L.sub.1 to L.sub.N for further transmission, reception, postcoding and detection by N respective transceivers TU-C.sub.1 to TU-C.sub.N at network side. These transmit samples form a transmit vector u.sub.k=[u.sub.1,k . . . u.sub.N,k].sup.T.
(84) Let us again assume for convenience that, at tone k, one line is being moved from the targeted set A.sub.k to the supporting set B.sub.k (i.e., M.sub.k=1) in order to obtain a well-conditioned reduced channel matrix, and let us again further assume that this supporting line is line L.sub.N. Thus no upstream data is conveyed over line L.sub.N at tone k, or equivalently u.sub.N,k=0 (see crosshatched area in transmit vector u.sub.k), and corresponding transmit gain and bit loading are both set to zero. As a consequence, the corresponding N.sup.th column of the channel matrix H.sub.k is irrelevant (see crosshatched area in channel matrix H.sub.k).
(85) The receive vector y.sub.k=[y.sub.1,k . . . y.sub.N,k].sup.T=H.sub.ku.sub.k goes through the postcoding matrix Q.sub.k to yield the postcoded vector y′.sub.k=[y′.sub.1,k . . . y′.sub.N,k].sup.T=Q.sub.ky.sub.k. One or more off-diagonal coefficients of the N.sup.th column of the postcoding matrix Q.sub.k are set to a value different from 0 (see boldened coefficients in postcoding matrix Q.sub.k), meaning that the signal received from the supporting line L.sub.N, which comprises all crosstalk signals from lines L.sub.1 to L.sub.N−1 that have leaked into line L.sub.N, keep on being processed at tone k for further enhancement of the data signal gains over lines L.sub.1 to L.sub.N−1. The effective postcoding matrix has thus a rectangular shape.
(86) A new rectangular (N−1)×N postcoding matrix {tilde over (Q)}.sub.Ak is computed and enforced into the rows of the postcoding matrix Q.sub.k corresponding to the targeted lines. The new rectangular postcoding matrix {tilde over (Q)}.sub.Ak makes an opportunistic use of the available receive power over the supporting line L.sub.N (on account of no data communication signal being sent on that line) by appropriately scaling and rotating the N−1 crosstalk signals H.sub.Niu.sub.i,i≠N (or a part thereof), and further for coherent combining of these N−1 crosstalk signals H.sub.Niu.sub.i,i≠N at the transceivers TU-C.sub.i,i≠N, which then undergo a substantial increase of the SNR before detection compared to full postcoding (when all lines are targeted but with considerable increase of the noise power because of the channel ill-conditioning) or square tone suppression (one or more lines being suppressed without any receive signal from the suppressed lines being exploited).
(87) The data signal gain α.sub.i,k over line L.sub.i at tone k is given by:
(88)
and now comprises an additional term Q.sub.iN,kH.sub.Ni,k on account of the rectangular conditioning. This term will reinforce the strength of the data signal u.sub.i,k provided the postcoding coefficient Q.sub.iN,k is appropriately chosen.
(89) As no communication takes place over tone k for line L.sub.N (see crosshatched area in vector y′k), the transceiver TU-C.sub.N discards the receive frequency sample y′.sub.N,k and the corresponding N.sup.th row of the postcoding matrix Q.sub.k is irrelevant (see crosshatched area in postcoding matrix Q.sub.k).
(90) The performance of the proposed rectangular conditioning versus known vectoring schemes are illustrated on
(91)
(92) In
(93) It is to be noticed that the proposed rectangular conditioning does not need to be restricted to ill-conditioned tones only, but can further be used at tones for which the full channel matrix is well-conditioned, for instance in order to improve data rates over targeted bad-performing lines.
(94) There is seen in
(95) When moving lines from the targeted set A.sub.k to the supporting set B.sub.k on a given tone, the overall data rates of the remaining targeted lines A.sub.k are increased at the expense of the supporting lines B.sub.k. By choosing different subsets on different tones, advantageous trade-offs can be made between lines to optimize desired objectives. For example, one objective may be to ensure that all lines achieve specified target rates.
(96) Here, the goal is to adapt the targeted set to steer the line data rates towards the specified target data rates. These target rates can be a common minimum target data rate for all lines, or they can differ from each other in case particular lines get boosted target data rates for premium service.
(97) At step S00, the set of satisfied lines L.sub.5 is initialized to the empty set (L.sub.s=Ø). For all tones k, the set of targeted lines A.sub.k is initialized to the set L (i.e., all vectored lines), and the set of supporting lines B.sub.k is initialized to the empty set (i.e., M.sub.k=0). A first tone index k=k.sub.1 is selected, and the method starts.
(98) At step S01, the set of targeted lines A.sub.k is updated to the set L\L.sub.s (i.e., the lines that have not yet satisfied their target rates), and the set of supporting lines B.sub.k is initialized to the set L.sub.s.
(99) At next step S02, the VCU 130 computes a condition number ICN.sub.k for the reduced channel matrix H.sub.Ak.
(100) At step S03, the VCU 130 determines whether the [reduced] channel matrix H.sub.Ak is ill-conditioned by comparing the condition number ICN.sub.k versus some threshold.
(101) If the condition number ICN.sub.k is greater than the threshold, then the [reduced] channel matrix H.sub.Ak is expected to be ill-conditioned, and one or more subscriber lines should be removed from the targeted set A.sub.k for that tone. Consequently, at step S04, a line is selected and moved from the set of targeted lines A.sub.k to the set of supporting lines B.sub.k, and the VCU 130 re-iterates through the steps S02 and S03 till the [reduced] channel matrix H.sub.Ak is no longer ill-conditioned. This procedure is guaranteed to stop before A.sub.k is empty, because a reduced channel matrix consisting of a single row or column is always well-conditioned.
(102) When the condition number ICN.sub.k is lower than the given threshold, then the [reduced] channel matrix H.sub.Ak is not or is no-longer ill-conditioned, and no or no more lines need to be removed from the targeted set A.sub.k.
(103) The VCU 130 goes to next step S05, and configures a new rectangular vectoring matrix {tilde over (P)}.sub.Ak or {tilde over (Q)}.sub.Ak as per the present invention.
(104) At step S06, the VCU 130 updates respective line metrics LM.sub.n for all lines L.sub.1 to L.sub.N based on the configured set of targeted lines A.sub.k and set of supporting lines B.sub.k, and on the configured vectoring matrix {tilde over (P)}.sub.Ak or {tilde over (Q)}.sub.Ak. The line metric may refer for instance to an aggregate achievable data rate or an aggregate transmit power across all the tones that have been configured so far.
(105) For the computation of the aggregate achievable data rates, an estimation of the achievable bit loadings for the respective tones needs to be carried out. This estimation can be based on actual error measurements at the receivers after the new vectoring matrix {tilde over (P)}.sub.Ak or {tilde over (Q)}.sub.Ak has been enforced, or can be based on an estimation of the data signal gains based on the configured vectoring matrix and an estimate of the channel matrix H. The bit loading computation is typically based on the Shannon capacity formula, and includes a given SNR gap to account for the particular coding and modulation schemes being used, and possibly a given SNR margin to absorb noise fluctuations if any.
(106) At step S07, each of the updated line metrics is tested against a respective target metric. If a current line metric LM.sub.n for a particular line L.sub.n is greater than a respective target metric LMT.sub.n to be achieved over that line, then at step S08 the line L.sub.n is added to the set of satisfied lines L.sub.s. This means that L.sub.n will be pre-assigned to the set of supporting lines B.sub.k for subsequent k, thereby giving precedence to the lines that did not yet achieve their respective target metric for the next tone iterations.
(107) If the respective target metrics are met over all the lines L.sub.1 to L.sub.N, then this pre-assignment is no longer necessary, and the set L.sub.s can be re-initialized to the empty set.
(108) Last, at step S09, a new tone index k is selected, and one re-iterates from step S01 onwards with the new selected tone index k till all tones have been processed. The tones can be processed in a deterministic order, such as increasing or decreasing tone index, or can be processed in a random or pseudo-random order.
(109) The targeted set and the supporting set may be reinitialized occasionally (e.g., every 200.sup.th tone), for instance in order to prevent a line that contributes to the ill-conditioning on a given tone from being removed for all subsequent tones.
(110)
(111) In an alternative embodiment, the VCU 130 does not wait for a metric target to be met before pre-assigning a line to the set of supporting lines for subsequent tone iterations. Instead, the aggregate data rates are tracked through the successive tone iterations, and if some lines are allocated much more data rates than others, then they are removed from the set of targeted lines for one or more subsequent tone iterations till the data rates are again appropriately balanced.
(112) For instance, the lines can be sorted according to their respective data rates, and the ratio or difference between the maximum and minimum data rates can be computed and compared to some given threshold for deciding whether the line with the maximum data rate shall be pre-assigned to the set of supporting lines for one or more subsequent tone iterations.
(113) This embodiment is further advantageous in that data rate are continuously rebalanced while iterating through the steps of the method.
(114) Once a given line achieves its metric target, then the first algorithm may kick in and that line may be pre-assigned to the set of supporting lines for subsequent tone iterations.
(115) It is to be noticed that the term ‘comprising’ should not be interpreted as being restricted to the means listed thereafter. Thus, the scope of the expression ‘a device comprising means 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.
(116) 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 B’ 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.
(117) 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.
(118) 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.