Precoding scheme for transmitting data using optimally-shaped constellations over intersymbol-interference channels
First Claim
1. A digital communication apparatus that transmits binary data from a transmitter to a receiver over a channel, the apparatus comprising:
- means for receiving a stream of input binary data,a shaping encoder means for mapping a block of data from the stream of input binary data to a point in a constellation of dimension N having a constituent d-dimensional constellation, the constellation point being represented as a concatenation of i constituent points each from the constituent d-dimensional constellation where i and d are integers;
whereini) boundary of the constituent d-dimensional constellation is chosen to minimize the peak energy for a given predetermined data transmission rate and a given predetermined d-dimensional constellation expansion ratio, and boundary of the constellation approximating a boundary that maximizes shaping gain;
ii) the mapping from the block of data to the constellation point is invertible and is performed by;
(a) partitioning the constituent d-dimensional constellation into t groups of points where t is an integer, each group containing equal number of points;
(b) assigning an integer length to each point in a group, the length being a non-decreasing function of the average energy of all the points in that group;
(c) assigning a unique index between 1 and t to each of the t groups;
(d) assigning a total length to each constellation point, the total length being sum of the lengths of its i constituent points;
(e) ordering all the constellation points such that;
i) constellation point with smaller total length precedes constellation point with larger total length, and. ii) for two constellation points with same total length, order depends on indices of groups that their i constituent points belong to,(f) assigning a unique binary address to each constellation point depending on its position in set of ordered constellation points; and
(g) mapping the block of data to a constellation point that has same address as a binary number represented by the block of data.
10 Assignments
0 Petitions
Accused Products
Abstract
A precoding scheme for noise whitening on ISI channels is presented where the scheme permits any type of shaping and is compatible with trellis coding. Its implementation complexity is significantly less than that of trellis precoding. The resulting reduction in shaping gain is small and becomes negligible as the rate per 2D of the constellation increases. This technique uses a structured vector quantization (SVQ) technique for optimal shaping of the constellation. Optimal (N-sphere) SVQ shaping results in higher shaping gains than those of Voronoi constellations based on known N-dimensional lattices. For a given CER2 (or PAR2) SVQ shaping results in optimal shaping. This is useful for implementation over QAM modems as significant shaping gains can be achieved even for a small constellation expansion. The SVQ-shaped constellations have a very reasonable implementation complexity. They allow for the possibility of opportunistic secondary channels, and there constituent 2D constellations are invariant to π/2 phase rotations (assuming cubic lattice based constellations). Compatibility of SVQ shaping with trellis coding was also demonstrated, resulting in the SVQ-shaped trellis-coded modulation scheme which can realize both shaping and coding gains. For transmission over ISI channels, SVQ shaping can be used together with the precoding scheme to realize shaping gains up to 1.15 dB.
-
Citations
15 Claims
-
1. A digital communication apparatus that transmits binary data from a transmitter to a receiver over a channel, the apparatus comprising:
-
means for receiving a stream of input binary data, a shaping encoder means for mapping a block of data from the stream of input binary data to a point in a constellation of dimension N having a constituent d-dimensional constellation, the constellation point being represented as a concatenation of i constituent points each from the constituent d-dimensional constellation where i and d are integers;
whereini) boundary of the constituent d-dimensional constellation is chosen to minimize the peak energy for a given predetermined data transmission rate and a given predetermined d-dimensional constellation expansion ratio, and boundary of the constellation approximating a boundary that maximizes shaping gain; ii) the mapping from the block of data to the constellation point is invertible and is performed by; (a) partitioning the constituent d-dimensional constellation into t groups of points where t is an integer, each group containing equal number of points; (b) assigning an integer length to each point in a group, the length being a non-decreasing function of the average energy of all the points in that group; (c) assigning a unique index between 1 and t to each of the t groups; (d) assigning a total length to each constellation point, the total length being sum of the lengths of its i constituent points; (e) ordering all the constellation points such that;
i) constellation point with smaller total length precedes constellation point with larger total length, and. ii) for two constellation points with same total length, order depends on indices of groups that their i constituent points belong to,(f) assigning a unique binary address to each constellation point depending on its position in set of ordered constellation points; and (g) mapping the block of data to a constellation point that has same address as a binary number represented by the block of data. - View Dependent Claims (2, 3, 4)
-
-
5. A digital communication apparatus that transmits binary data from a transmitter to a receiver over a channel using a signal set based on a predetermined trellis code, where the trellis code is generated by partitioning a d-dimensional constellation A0 into two subsets B0 and B1 in the first level of set partitioning, the apparatus comprising:
-
i) means for receiving a stream of input binary data; ii) a shaping encoder means for mapping a block of data from the stream of input binary data to a point in an N-dimensional constellation having B0 as constituent d-dimensional constellation, the constellation point being represented as a concatenation of i constituent points each from the constituent d-dimensional constellation where N, i and d are integers;
wherein;A) boundary or the constituent d-dimensional constellation is chosen to minimize the peak energy for a given predetermined data transmission rate and a given predetermined d-dimensional constellation expansion ratio, and boundary of the constellation approximating a boundary that maximizes shaping gain; B) the mapping from the block of data to the constellation point is invertible and is performed by; (a) partitioning the constituent d-dimensional constellation into t groups of points where t is an integer, each group containing equal number of points; (b) assigning an integer length to each point in a group, the length being a non-decreasing function of the average energy of all the points in that group; (c) assigning a unique index between 1 and t to each of the t groups; (d) assigning a total length to each constellation point, the total length being sum of the lengths of its i constituent points; (e) ordering all the constellation points such that;
i) constellation point with smaller total length precedes constellation point with larger total length, and ii) for two constellation points with same total length, order depends on indices of groups that their i constituent points belong to,(f) assigning a unique binary address to each constellation point depending on its position in set of ordered constellation points; and (g) mapping the block of data to a constellation point that has same address as a binary number represented by the block of data; iii) means for pairing each of the i constituent points of the N-dimensional constellation point to a point in B1 of the same energy as the constituent point, thereby generating a sequence of i pairs; and iv) means for transforming the sequence of pairs, one pair at a time, into a trellis code sequence by choosing one point from each pair, where a point from a current pair is chosen based on a current trellis state which in turn is generated by a previous trellis state and a previous chosen point. - View Dependent Claims (6)
-
-
7. A digital communication apparatus that transmits binary data from a transmitter to a receiver over a channel using a constellation based on a predetermined k-dimensional trellis code and having a constituent k-dimensional constellation A0, where A0 is partitioned into two subsets B0 and B1 in a first level of set partitioning used to generate the predetermined trellis code, where k is an integer, the apparatus comprising:
-
i) means for receiving a stream of input binary data; ii) means for mapping the input binary data into sequence of pairs of points where each pair of points contains one point from B0 and one point from B1 ; and iii) means for transforming the sequence of pairs of points, one pair at time, into a trellis code sequence by choosing one point from each pair where a point from a current pair is chosen based on a current trellis state which in turn is generated by a previous trellis state and a previous chosen point. - View Dependent Claims (8)
-
-
9. A digital communication apparatus that transmits binary data from a transmitter to a receiver over an intersymbol interference channel, the apparatus comprising:
-
i) means for receiving a stream of input binary data; ii) means for mapping the input binary data into a trellis code sequence from a predetermined trellis code based on partitioning a lattice into a certain number of cosets; and iii) a precoder means for modifying each sample of the trellis code sequence one at a time such that an input to a Viterbi trellis decoder in the receiver is a valid trellis code sequence, where the said modifying of a current sample of the trellis code sequence is performed by subtracting a small dither sample which is a function of previous modified samples and intersymbol interference characteristics of the channel. - View Dependent Claims (10)
-
-
11. A digital communication apparatus that transmits binary data from a transmitter to a receiver over intersymbol interference channels with data processing components which are serially connected in the following order comprising:
-
a) a means for entering input binary data to the apparatus, b) a data shaping encoder means for generating multidimensional signal constellation points, c) a trellis encoder means, d) a Laroia-Tretter-Farvardin (LTF) precoder means for shaping and modifying trellis encoded multidimensional signal constellation points before transmission, e) a transmit filter means, f) a channel filter means, g) a linear equalizer-sampler means, h) a noise prediction-error filter means H(z) for i) whitening noise introduced into the channel, ii) reducing the variance of the noise in the channel and iii) in combination with the LTF precoder, generating output binary data that is always a sequence consistent with the trellis encoder means, i) a Viterbi trellis decoder means for decoding the noise plus trellis sequence into a noiseless trellis sequence, j) an intersymbol interference removing filter 1/H (z) and a quantizer encoder means for performing the inverse operation of that performed by the LTF precoder means, and k) a shaping decoder means for outputting the binary data. - View Dependent Claims (12)
-
-
13. A method of transmitting and receiving data in a communication apparatus employing an encoder and decoder within the apparatus, the steps including:
-
a) taking input binary data at the encoder and transforming by a structured vector quantizer decoder means for a rate r bits/dimension N-dimensional signal constellation shaping, b) using a structured vector quantizer based encoding means that converts constellation points to binary data sequences at the decoder within the apparatus, and c) mapping at the encoder that assigns a unique Nr-bit binary number to a codevector which is determined from a codebook Q that consists of 2Nr codevectors, the decoder uses an inverse step of the encoder that assigns the codevector to the Nr-binary codeword wherein Nr is an integer. - View Dependent Claims (14, 15)
-
Specification