Coordinated coding for digital transmission
First Claim
1. A method for coding an input digital data stream comprising the steps ofreceiving the input data stream and grouping the stream into data segments for coding, andencoding each of said data segments with reference to a predetermined multi-point, multi-dimensional coordinated code constellation to produce encoded signals for each of said data segments, wherein said encoded signals for each of said data segments represent coordinates of one of said points in said coordinated code constellation and wherein at most one of said points is located at each coordinate of each of said dimensions and at least one of said coordinates of at least one of said points is different from other of said coordinates.
9 Assignments
0 Petitions
Accused Products
Abstract
Methodology, and associated circuitry, for encoding and decoding an incoming data stream utilize a coordinated code constellation that effects robust signal detection in the presence of channel interference. The encoder partitions the incoming data stream into contiguous data segments in proportion to the number of levels for a given coordinated code. Each data segment is mapped with reference to the coordinated code to signal levels suitable for transmission over a plurality of channels. The decoder measures the received signals on the channels and estimates noise statistics for the channels. A metric relationship engendered by the coordinated code is evaluated with reference to the received signals, estimates to the received signals, and the noise statistics. An output data stream is then generated based on the evaluation of the metric.
136 Citations
21 Claims
-
1. A method for coding an input digital data stream comprising the steps of
receiving the input data stream and grouping the stream into data segments for coding, and encoding each of said data segments with reference to a predetermined multi-point, multi-dimensional coordinated code constellation to produce encoded signals for each of said data segments, wherein said encoded signals for each of said data segments represent coordinates of one of said points in said coordinated code constellation and wherein at most one of said points is located at each coordinate of each of said dimensions and at least one of said coordinates of at least one of said points is different from other of said coordinates.
-
2. A method for coding an input digital data stream to produce an output signal stream for each of a plurality L of channels, the method comprising the steps of
receiving the input data stream and grouping the stream into data segments for coding, encoding each of said data segments with reference to a predetermined multi-point, multi-dimensional coordinated code constellation to produce L encoded signals for each of said data segments, wherein each of said encoded signals for each of said data segments represents one of L coordinates of one of said points in said coordinated code constellation and wherein at most one of said points is located at each coordinate of each of said dimensions and at least one of said L coordinates of at least one of said points is different from other of said L coordinates, and propagating each of said L encoded signals for each of said data segments on a corresponding one of the L channels to thereby produce the output signal stream on each of the L channels.
- 3. A method for coding an input digital data stream to produce an output signal stream for each of a plurality L of channels, the method comprising the steps of
receiving the input data stream and grouping the stream into data segments for coding, encoding each of said data segments with reference to a predetermined coordinated code constellation to produce L encoded signals for each of said data segments, which encoded signals are permutations of one another, and propagating each of said L encoded signals for each of said data segments on a corresponding one of the L channels to thereby produce the output signal stream on each of the L channels, wherein each of the data segments contains Llog2 M positions defining a symbol period, and said step of propagating includes the step of transmitting, during each said symbol period, a message vector m=[m1,m2, . . . ,mL ] over the L channels, said message vector determined with reference to said predetermined coordinated code constellation, where mv is a transmitted signal on channel v, - space="preserve" listing-type="equation">m.sub.v ε
{-M.sup.L +1, -M.sup.L +3, . . . ,M.sup.L -3,M.sup.L -1}.
- View Dependent Claims (4)
- space="preserve" listing-type="equation">m.sub.v ε
-
5. Circuitry for coding an input digital data stream comprising
means for receiving the input data stream and for grouping the stream into data segments for coding, and means for encoding each of said data segments with reference to a predetermined multi-point, multi-dimensional coordinated code constellation to produce encoded signals for each of said data segments, wherein said encoded signals for each of said data segments represent coordinates of one of said points in said coordinated code constellation and wherein at most one of said points is located at each coordinate of each of said dimensions and at least one of said coordinates of at least one of said points is different from other of said coordinates.
-
6. Circuitry for coding an input digital data stream to produce an output signal stream for each of a plurality L of channels, the circuitry comprising
means for receiving the input data stream and for grouping the stream into data segments for coding, means for encoding each of said data segments with reference to a predetermined multi-point, multi-dimensional coordinated code constellation to produce L encoded signals for each of said data segments, wherein each of said L encoded signals for each of said data segments represents one of L coordinates of one of said points in said coordinated code constellation and wherein at most one of said points is located at each coordinate of each of said dimensions and at least one of said L coordinates of at least one of said points is different from other of said L coordinates, and means for propagating each of said L encoded signals for each of said data segments on a corresponding one of the L channels to thereby produce the output signal stream on each of the L channels.
- 7. Circuitry for coding an input digital data stream to produce an output signal stream for each of a plurality L of channels, the circuitry comprising
means for receiving the input data stream and for grouping the stream into data segments for coding, means for encoding each of said data segments with reference to a predetermined coordinated code constellation to produce L encoded signals for each of said data segments, which encoded signals are permutations of one another, and means for propagating each of said L encoded signals for each of said data segments on a corresponding one of the L channels to thereby produce the output signal stream on each of the L channels, wherein each of the data segments contains Llog2 M positions defining a symbol period, and said means for propagating includes means for transmitting, during each said symbol period, a message vector m=[m1, m2, . . . , mL ]over the L channels, said message vector determined with reference to said predetermined coordinated code constellation, where mv is a transmitted signal on channel v, - space="preserve" listing-type="equation">m.sub.v ε
{-M.sup.L +1, -M.sup.L +3, . . . , M.sup.L -3, M.sup.L -1}.
- View Dependent Claims (8)
- space="preserve" listing-type="equation">m.sub.v ε
-
9. A method for decoding received signals transmitted over a plurality L of channels to produce an outgoing data stream, the received signals resulting from grouping an incoming data stream into data segments defining a sequence of symbol periods, encoding each of the segments with reference to a predetermined multi-point, multi-dimensional coordinated code constellation to produce L encoded signals for each of the data segments, and propagating each of the L encoded signals for each of the data segments on a corresponding one of the L channels, the decoding method comprising the steps of
measuring the received signals to produce measured signals over each of the symbol periods, estimating the encoded signals from the measured signals utilizing a metric determined with reference to the coordinated code constellation to produce estimated signals for each of the symbol periods, wherein each of said L encoded signals for each of said data segments represents one of L coordinates of one of said points in said coordinated code constellation and wherein at most one of said points is located at each coordinate of each of said dimensions and at least one of said L coordinates of at least one of said points is different from other of said L coordinates, and generating the corresponding one of the data segments from said estimated signals in each of the symbol periods with reference to the coordinated code constellation.
-
10. A method for decoding received signals transmitted over a plurality L of channels to produce an outgoing data stream, the received signals resulting from grouping an incoming data stream into data segments defining a sequence of symbol periods, encoding each of the segments with reference to a predetermined coordinated code constellation to produce L encoded signals for each of the data segments, and propagating each of the L encoded signals for each of the data segments on a corresponding one of the L channels, the decoding method comprising the steps of
measuring the received signals to produce measured signals over each of the symbol periods, estimating the encoded signals from the measured signals utilizing a metric determined with reference to the coordinated code constellation to produce estimated signals for each of the symbol periods, the step of estimating including the steps of subtracting said estimated signals from said measured signals to determine interference estimates over each of the symbol periods, and computing said metric with reference to said interference estimates, and generating the corresponding one of the data segments from said estimated signals in each of the symbol periods with reference to the coordinated code constellation. - View Dependent Claims (11, 12, 13, 14)
-
13. The method as recited in claim 12 wherein said step of determining includes the step of generating a plurality of samples of said interference estimates during each of the symbol periods to determine said variances and said covariance.
-
14. The method as recited in claim 10 wherein said step of measuring includes the step of equalizing the received signals with a decision feedback equalizer.
-
15. Circuitry for decoding received signals transmitted over a plurality L of channels to produce an outgoing data stream, the received signals resulting from grouping an incoming data stream into data segments defining a sequence of symbol periods, encoding each of the segments with reference to a predetermined multi-point, multi-dimensional coordinated code constellation to produce L encoded signals for each of the data segments, and propagating each of the L encoded signals for each of the data segments on a corresponding one of the L channels, the decoding circuitry comprising
means for measuring the received signals to produce measured signals over each of the symbol periods, means for estimating the encoded signals from the measured signals utilizing a metric determined with reference to the coordinated code constellation to produce estimated signals for each of the symbol periods, wherein each of said L encoded signals for each of said data segments represents one of L coordinates of one of said points in said coordinated code constellation and wherein at most one of said points is located at each coordinate of each of said dimensions and at least one of said L coordinates of at least one of said points is different from other of said L coordinates, and means for generating the corresponding one of the data segments from said estimated signals in each of the symbol periods with reference to the coordinated code constellation.
-
16. Circuitry for decoding received signals transmitted over a plurality L of channels to produce an outgoing data stream, the received signals resulting from grouping an incoming data stream into data segments defining a sequence of symbol periods, encoding each of the segments with reference to a predetermined coordinated code constellation to produce L encoded signals for each of the data segments, and propagating each of the L encoded signals for each of the data segments on a corresponding one of the L channels, the decoding circuitry comprising
means for measuring the received signals to produce measured signals over each of the symbol periods, means for estimating the encoded signals from the measured signals utilizing a metric determined with reference to the coordinated code constellation to produce estimated signals for each if the symbol periods, said means for estimating including means for subtracting said estimated signals from said measured signals to determine interference estimates over each of the symbol periods, and means for computing said metric with reference to said interference estimates, and means for generating the corresponding one of the data segments from said estimated signals in each of the symbol periods with reference to the coordinated code constellation. - View Dependent Claims (17, 18, 19, 20)
-
19. The circuitry as recited in claim 18 wherein said means for determining includes means for generating a plurality of samples of said interference estimates during each of the symbol periods to determine said variances and said covariance.
-
20. The circuitry as recited in claim 16 wherein said means for measuring includes decision feedback equalizer means.
-
21. A method for coding an input digital data stream comprising the steps of
receiving the input data stream and grouping the stream into data segments for coding, and encoding each of said data segments with reference to a predetermined multi-point, two-dimensional coordinated code constellation to produce two encoded signals for each said data segments, said coordinated code constellation being determined by selecting any arbitrary point in a corresponding conventional two-dimensional symmetric code constellation having points, positioning said arbitrary point in a non-occupied coordinate of each dimension in the symmetric constellation, and shifting all other points to maintain the same two-dimensional distance among all points as in the symmetric constellation, said points also being positioned to maintain symmetry with respect to a rotation angle in the two-dimensional symmetric code constellation determined by the shifted coordinate of said arbitrary point, wherein at most one of said points of said coordinated code constellation is positioned at each coordinate of each dimension.
Specification