HK1073934B - System and method performing quadrature amplitude modulation by combining co-sets and strongly coded co-set identifiers - Google Patents
System and method performing quadrature amplitude modulation by combining co-sets and strongly coded co-set identifiers Download PDFInfo
- Publication number
- HK1073934B HK1073934B HK05106329.4A HK05106329A HK1073934B HK 1073934 B HK1073934 B HK 1073934B HK 05106329 A HK05106329 A HK 05106329A HK 1073934 B HK1073934 B HK 1073934B
- Authority
- HK
- Hong Kong
- Prior art keywords
- constellation
- data stream
- stream
- shaping
- mapping
- Prior art date
Links
Description
Technical Field
The present invention relates to a system and method for combining binary error correction coding (e.g., TURBO codes) with multi-level signal sets, such as QAM (quadrature amplitude modulation), PSK (phase shift keying), PAM (pulse amplitude modulation).
Background
A typical operating principle of a conventional system and method that combines binary error correction coding (e.g., TURBO codes) with a multi-level signal set (e.g., QAM) is shown in fig. 1. The input data is encoded, for example using TURBO coding. The encoded output is interleaved and m bits are mapped to a QAM constellation at a time using a QAM constellation mapping, typically a Gray (Gray) mapping. The result is transmitted through the channel. Demapping is performed at the receiver followed by TURBO decoding.
In these schemes, TURBO decoding is implemented in two stages. First, probability values corresponding to respective bits are extracted by adding probability values corresponding to respective points of the constellation. The probability values of these bits are then interleaved decoded by a conventional Turbo decoder. The complexity of these methods increases as the size of the constellation increases, because more complex steps of extracting probability values are required. Moreover, the need to add an extra interleaving stage between the binary encoder and the constellation (in order to reduce the interdependence of adjacent bits mapped to the same constellation) makes the overall system more complex. It is well known that the coding gain of these schemes decreases as the spectrum utilization increases.
Disadvantageously, noise in QAM can cause multiple uncorrectable bit errors. For example, in a 1024-point constellation, each symbol may represent 10 bits. The worst case mapping may cause errors to all 10 bits. Most popular systems map similar bit sequences to constellation points that are close enough to each other to alleviate this problem to some extent. Gray (Gray) mapping is an example.
Despite the use of Gray mapping, these systems are still able to achieve much lower error rates than the theoretical optimal limit obtainable according to Shannon (Shannon) coding theory. With increasing QAM size, coding losses are significant.
Disclosure of Invention
The most important aspect of the invention is to provide a method of encoding a stream of data elements. The method comprises splitting a stream of data elements into a first data stream and a second data stream; encoding the first data stream into a first encoded stream; the constellation mapping is performed using a combination of the first encoded stream and a third data stream based on the second data stream.
In some embodiments, the constellation mapping performs Gray mapping when mapping the third data stream.
In some embodiments, the third data stream is identical to the second data stream.
In some embodiments, the method further comprises encoding the second data stream to produce the third data stream using a weaker encoding method than encoding the first data stream to produce the third data stream.
In some embodiments, the method further comprises shaping the second data stream to produce a third data stream.
In some embodiments, the method further comprises shaping and channel coding the second data stream using a weaker coding method than the method used to code the first data stream to produce a third data stream.
In some embodiments, the encoding performed on the first data stream is turbo encoding.
In some embodiments, the shaping is performed using a Huffman tree based addressing scheme to obtain a substantially Gaussian amplitude distribution.
In some embodiments, the constellation shaping a given signal constellation comprising a plurality of constellation points comprises: associating each of the plurality of constellation points with a cost; defining a hierarchy of blocks, said hierarchy having a plurality of levels including at least a first level and a last level, each level containing a smaller number of blocks than each of its previous levels; wherein the method for forming the layer comprises the following steps: sorting all image forming points according to cost, then distributing a first image forming point group with the lowest cost to a first shaping partition, distributing an image forming point group with the lowest secondary cost to a second shaping partition, and dividing to form a plurality of shaping partitions, and continuing in this way until distributing an image forming point group with the highest cost to a last shaping partition, so that the cost is given to each shaping partition according to the cost of the image forming points in the shaping partitions, and each shaping partition is a first layer block; wherein the elements in each other layer are formed by combining two blocks of a previous layer and a cost is given to the elements according to the costs of the two blocks in the previous layer, the blocks of each layer comprising one of the elements according to the cost or a group of elements according to the cost; the last layer has a single block comprising a plurality of elements; the shaping gain is achieved by mapping to only a subset of the last layer elements.
In some embodiments, the constellation mapping uses data elements of the first encoded stream to represent the least significant bits of the constellation mapping and the constellation mapping uses data elements of the third encoded stream to represent the most significant bits of the constellation mapping.
In certain embodiments, the method further comprises: defining a signal constellation comprising a plurality of constellation points; defining a plurality of cosets within the plurality of constellation points such that a minimum distance between constellation points within each coset is greater than a minimum distance between any constellation points within the signal constellation; the method for executing the conformation mapping is as follows: a sequence of cosets of the plurality of cosets is identified using a first coded stream and a sequence of constellation points within each of the cosets in the sequence of cosets identified by the first coded stream is identified using a third data stream.
In some embodiments, the labels of the constellation points within each coset are Gray (Gray) mapped.
In some embodiments, the constellation point mapping uses data elements of the first encoded stream to represent the least significant bits of the constellation mapping and uses data elements of the third encoded stream to represent the most significant bits of the constellation mapping.
In certain embodiments, the plurality of constellation points comprises a regular array, and wherein each coset comprises a respective set of equally spaced points within the regular array.
In certain embodiments, the Turbo coding is symbol-based Turbo coding.
Another important aspect of the present invention is to provide a transmitter having: a demultiplexer adapted to decompose an input data stream into a first data stream and a second data stream; a first encoder adapted to encode the first data stream to produce a first encoded stream; a constellation mapper adapted to perform constellation mapping using a combination of the first encoded stream and a third encoded stream based on the second data stream.
Another important aspect of the present invention is to provide a receiver having: a first constellation demapper adapted to demap the received signal to extract a first substream; a decoder adapted to decode the first substream to produce a decoded substream; a re-encoder adapted to re-encode the decoded substreams to produce a sequence of coset identifiers; a second constellation demapper adapted to constellation demapp the received signal over a range of cosets of constellation points identified by the sequence of cosets to extract a second substream.
Another important aspect of the present invention is to provide a transmitter having: means for splitting a stream of data elements into a first data stream and a second data stream; means for encoding the first data stream to produce a first encoded stream; and means for performing constellation mapping using a combination of the first encoded stream and a third data stream based on the second data stream.
Any of the embodiments outlined above and described below may be implemented on a suitable computer readable medium, such as a storage medium with memory capabilities, e.g. a disk. They may also be implemented on any suitable processing platform, such as a general purpose processor, a custom made processor, or an ASIC (application specific integrated circuit), such as an FPGA (field programmable gate array), a DSP (digital signal processor), to name a few.
Drawings
The preferred embodiments of the present invention will be described with reference to the accompanying drawings, in which:
FIG. 1 is a block diagram of a conventional QAM encoding scheme;
FIG. 2A is a block diagram of a constellation encoding scheme provided by a first embodiment of the present invention;
FIG. 2B is an example of how a simple QAM constellation may be used with the embodiment shown in FIG. 2A;
FIGS. 2C, 2D, 2E, and 2F provide examples of performance results for the embodiment of FIG. 2A;
FIG. 3 is a block diagram of a constellation encoding scheme provided by a second embodiment of the present invention;
FIG. 4 is a block diagram of a constellation encoding scheme provided by a third embodiment of the present invention; and
fig. 5 is a simple example illustrating how the embodiment of fig. 4 performs an encoding operation.
Detailed Description
Referring now to FIG. 2A, a first embodiment of the present invention is shown in block diagram form. The figures show that: collectively a transmitter and encoder function, designated 80; a channel, generally indicated at 98, which for the present example is a bandlimited Additive White Gaussian Noise (AWGN) channel; and a receiver/decoder function generally indicated at 82.
A transmitter/encoder receives an input stream 84 and splits it into first and second parallel data streams 86, 88 using a bit demultiplexer 85, each having a bit width L1And K1. The second data stream 88 is turbo encoded with a turbo encoder 90 to produce K2The bit stream 91, or more generally, is encoded with a coding scheme that is more powerful than any error correcting coding scheme used for the first data stream 86 that is not encoded in the illustrated example. The underlying turbo code preferably employs a symbol-based turbo code that preferably interleaves bits combined into symbols that are used to select cosets (the symbol size preferably takes 2 bits). A constellation selector 96 (also referred to as a constellation mapper) maps the sets of input bits to respective constellation points within the signal constellation range to achieve signal constellation. The constellation signal set formed by the mapping by the constellation mapper 96 is partitioned into cosets for bit group (symbol) selection of a symbol-based turbo code. For example, the turbo code may interleave bits in pairs, and the constellation may be a PAM (pulse amplitude modulation) signal set divided into 4 cosets for 2-bit selection for the symbol-based turbo code. The nature of an example of such a 2-bit by 2-symbol interleaving is mentioned in U.S. patent No.6298463 to Bingeman et al, entitled "symbol-based turbo code," which is assigned to the same assignee as the present application and is hereby incorporated by reference in its entirety. For the parallel second bit stream, K1/R=R2Where R is the coding rate of the turbo code. The two data streams 86, 91 are multiplexed by a bit multiplexer 97, the output of which is input to a constellation selectorThe operation of the selector 96, the constellation selector 96, is illustrated by way of example given below with reference to fig. 2B. Constellation selector 96 may implement any suitable constellation, such as QAM, PAM, PSK, or other forms. Alternatively, a scheme may be employed in which two separate data streams are input to constellation selector 96.
Constellation selector 96 may map 2L2×2K2A set of possible constellation points. The physical parsing of the bitstream in the above-described manner is such that the available constellation points are divided into 2K2A plurality of cosets, each coset having 2L2A single image point. Fig. 2B is a simple example of such cosets representing QAM modulation. In this example, L22 and K2So we have 16 QAM constellation points 40, which are divided into 2K2Individual cosets 42, 44, 46, 48, each coset containing 2L2A single image point. In this case, the input for mapping is 4 bits (l)0,l1,k0,k1) Wherein l0,l1Are the most significant bits from the uncoded data stream, and where k0,k1Are the least significant bits, which are from the already encoded data stream. The least significant bit, indicated at 49, is used to select one out of the 4 cosets 42, 44, 46, 48. The most significant bit, denoted 51, is used to select a point from the range of cosets identified by the least significant bit. Shown here is the case where coset 42 is selected by the least significant bit. More generally, the mapping of constellation selector 96 uses the data elements of the Turbo encoded stream to represent a given subset of bits (e.g., the least significant bits) of the constellation point index (cable), while the data elements of the remaining data streams of constellation selector 96 are used to represent the remaining bits (e.g., the most significant bits) of the constellation point index.
The data elements of the Turbo encoded stream 91 are used as a coset identifier stream. The data elements of the first data stream 86 are used to identify points within the coset sequence. It is generally preferred to map the first data stream 86 to a given coset using Gray mapping. This involves ensuring that the bit pattern of the map, within a coset, has only one bit different from its adjacent symbol (symbol). This allows for the habit of symbol identification, where there is no Gray encoding step or Gray decoding step. These matters essentially pertain to the process of selecting labels for the constellation points.
It should be noted that in fig. 2A and the subsequent figures, the various functional blocks are shown separately. More generally, these blocks may be implemented using any collection of one or more physical blocks. For example, may be implemented with a general purpose processor, DSP, ASIC, FPGA or other processing platform.
The benefit is that the minimum distance between constellation points within a given coset may be significantly greater than the minimum distance of constellation points within the constellation as a whole.
In FIG. 2A, at the receiver/decoder 82, K alone is first applied2A constellation demapper 108 of the Turbo encoded bits performs the constellation demapping. Turbo decoding is performed by Turbo decoder 102, for K1Turbo decoding the least significant bits to produce K1A decoded stream of bits. For example, the probability value required for initializing the Turbo decoder may be calculated by: the probabilities of the constellation points within each coset are summed. A conventional iterative decoding process is then performed as follows. Re-encoded with a Turbo encoder 104, which is identical to the encoder 90 at the input. This process yields K2The sequence of bit widths is output as a coset identifier. They are used by the coset selector 107 to select cosets, thereby identifying a set of points as constellation points, represented by the most significant bits. Then, based on the cosets selected in the above manner, the L is mapped using the software-constellation demapper 1112The most significant bits are demapped. The most important choice is made at decision block 110, and L is2=L1The bit output is sent to a bit multiplexer 112. K for Turbo decoder 1021The bit outputs are also sent to a bit multiplexer 112, the output of which is restored to a bit stream.
The results of certain exemplary operations are shown in fig. 2C, where a 16PAM constellation is used. The capacity of its least significant bit group (Turbo encoded group) is plotted as curve 72, the capacity of the most significant bit group is plotted as curve 70, the capacity of the combined channel is plotted as curve 74, and the theoretical Shannon (Shannon) limit of the AWGN (additive white gaussian noise) channel is represented by curve 76. Similar results shown in fig. 2D correspond to 4PAM modulation. The Bit Error Rate (BER) performance of two examples is shown in fig. 2E and 2F. Fig. 2E is for Turbo coded QAM modulated BER at rate 4/664 QAM (spectral efficiency 4 bits/sec/hz) with interleaver size N of 2000 (bits); fig. 2F is suitable for Turbo coded QAM modulation at a rate of 12/1416384 QAM (12 bits/sec/hz spectral efficiency) with an interleaver size of N2000 (bits).
Referring now to FIG. 3, a second embodiment of the present invention is shown in block diagram form. As with the embodiment of fig. 2A, the embodiment generally contains many blocks, and the blocks are identified using the same number of words. This embodiment shows the features of the channel encoder 89 in the transmitter/encoder 80 between the bit demultiplexer 85 and the bit multiplexer 97. For example, channel encoder 89 may align L of multiplexer 851Bitstream output implementing block coding to produce L2The bit channel encoded stream is then input to the bit multiplexer 97. Unlike L in the first example2=L1,L2=L1/R2Where R is2Is the code rate implemented in the channel encoder 89.
As previously described, the second parallel stream 88 is Turbo encoded by a Turbo encoder 90 or, more generally, encoded in some more robust form than the channel encoder 89. Where block coding was used in the previously presented example, more generally any coding scheme that is weaker than the coding used for the second parallel bit stream may be used. Then, similar to the previous embodiment, the channel coded bitstream 86 is used to select constellation points within the coset sequence identified by the Turbo coded bitstream.
The processing of the Turbo encoded bit stream in the receiver/decoder 82 is the same as in the first embodiment described above. However, for channel coded bit streams, the constellation soft/demapping function 108 here may beIs a soft and/or hard demapping function 111. Followed by a rate R2A channel decoder for decoding, which generates L2The bit stream is input to a bit multiplexer 112.
With reference to fig. 4, another embodiment of the present invention will now be described. There are many blocks of this embodiment that are identical to the embodiment shown in fig. 2A, and the blocks are numbered identically. At the transmitter/encoder side 80 there is optionally a channel encoder 89 which performs channel encoding at rate R2 as described above, and a constellation shaping block 113 which performs constellation shaping by mapping shaping bits into a sequence of shaping partitions. The order of blocks 89 and 113 may be reversed, but a generally preferred order is shown here. The output of the constellation shaping block 113 is L1Bit stream, and the output of the channel encoder 89 is L2The bit bitstream 93, as before, is input to a bit multiplexer 97 for aggregation with the coset identifier sequence generated by the Turbo encoder 90. The processing of the second data stream output by the bit demultiplexer 85 is not the same as in the previous two embodiments.
Inclusion of conformation shaping block 113 more or less alters the nature of the cosets. In the previous embodiment, the various cosets are static entities, and in the present embodiment, the various cosets are shaped by the conformation shaping block 113. In other words, from L2The order of the shaping partitions is selected by bits (fig. 4), and then cosets are selected within the range of each shaping partition by Turbo coded bits. This is guaranteed as long as each shaping partition contains the same number of points from each coset. A detailed example is given below with reference to fig. 5. Various shaping techniques may be employed herein. Commonly assigned U.S. application US10/226172 entitled "system and method for reducing peak power in multicarrier modulation" filed on 8/23 2002 discloses that a shaping method may be employed. The entire disclosure of said application is incorporated herein by reference.
Said application teaches a method of constellation shaping of a signal constellation having a plurality of constellation points. The method comprises the following steps: associating each of the plurality of constellation points with a cost; defining a hierarchy of blocks, said hierarchy having a plurality of levels including at least a first level and a last level, each level containing a smaller number of blocks than each of its previous levels; wherein the method of forming the first layer is: sorting all the image forming points according to the cost, then assigning the image forming point group with the lowest first cost to a first shaping partition, assigning the image forming point group with the second lowest cost to a second shaping partition, obtaining a plurality of shaping partitions in the splitting process, and handling the steps until the image forming point group with the highest cost is assigned to the last shaping partition, assigning the cost to each shaping partition according to the cost of the image forming points in the partitions, wherein each shaping partition is a first layer block; wherein the elements of each other layer are formed by combining two blocks of a previous layer and a fee is given to the elements according to a fee of two blocks of the previous layer, a block of each layer comprising one of the elements according to a fee or a group of elements according to a fee; the last layer has a single block comprising a plurality of elements; the shaping gain is achieved by mapping to only a subset of the last layer elements.
In some embodiments, the cost assigned to each constellation point is its energy.
In some embodiments, at least at some layers, the blocks are simply re-ordered combinations of blocks from previous layers.
In some embodiments, for some groups of layers where the blocks are a combination of reordered blocks of a previous layer, all groups have the same size.
In some embodiments, the groups are of different sizes within at least one layer of groups in which the blocks are combinations of reordered blocks of a previous layer.
The method may further comprise: performing an addressing operation that identifies elements of the highest layer block using a first subset of the set of input bits; identifying blocks of the subsequent layer using subsequent subsets of the set of input bits, while identifying a particular shaping partition in the first layer; at the first layer, the last subset of the set of input bits is used to identify a particular signal constellation point within the particular shaping partition identified by the first layer.
In certain embodiments, Huffman tree based addressing is employed. In other embodiments, fixed tree based addressing is employed.
In some embodiments, a 256-point constellation is used, with 16 levels of partitions, each partition including 16 constellation points; there are 8 layers of two blocks, each block containing 16 elements; there are 4 layers of 3 blocks, each block containing 8 elements, the size of the 8 elements being {16, 16, 32, 32, 32, 32, 32, 64 }; there are 2 layers of 4 blocks each containing 64 elements; there are 1 level 5 blocks containing 4096 elements.
In some embodiments, the input bits comprise a plurality of data bits and at least one dummy bit, the method further comprising repeating the method 16 for each permutation of the value of the at least one dummy bit.
In some embodiments, the method is repeated for each of a plurality of signal constellations to produce a corresponding plurality of shaped outputs for each signal constellation. The peak average power is then reduced by appropriately selecting a single shaped output from each of the corresponding plurality of shaped outputs.
At the receiver 82 of fig. 4, the decoding of the turbo encoded bits as in the previous example is performed to produce a series of cosets that are input to the remaining L2Bit constellation soft demapping. The soft value output from the soft demapping step is input to a channel decoder which processes the rate R2The code is decoded. L thus outputted1The bit-channel decoded stream is then input to the reverse addressing block 110 and then the inverse of the constellation shaping block 113, resulting in L1The bit data stream is input to a bit multiplexer 112, coupled with K1The bit turbo decoded streams are merged.
Figure 5 gives a very simple example of how the mapping can be performed using the structure of figure 4. In this example we have a 16PAM constellation and show 16PAM constellation points (generally designated 500) arranged in a column. One 16PAM constellation point may represent 4 bits. Each constellation point is selected by a combination of a two-bit encoding label 502 and a two-bit shaping label 504.
There are four reshaping designations 00, 01, 10, 11. The first shaping index 00 is applied to the 4PAM constellation points with the lowest energy, i.e. those points in the center of the PAM constellation. The second shaping index 01 is applied to the 4PAM constellation points with the next lowest energy, which lie on either side of the previous 4 constellations. The third shaping index 10 is applied to the 4PAM constellation points with the next lowest energy, which lie on either side of the second 4 constellation points. Finally, the last shaping index 11 is applied to the 4PAM constellation points with the highest energy.
In this example, the coding index is also 4, that is, there are only 4 coset identifiers, which are indices 00, 01, 10, 11. These labels are applied to PAM symbols (symbols) such that for each shaping label (label) there is exactly one coded label/coset identifier for a symbol. More generally, the number of points from each coset should be equal within each shaping partition. In this case, it can be seen that the shaping and encoding works independently, with the coset identifier acting on the constellation point within the shaping partition selected by the shaping block. For the case where more than one coded label is present within the same shaping partition, additional bits are used to select between points. For example, the same numbering scheme as in fig. 5 may be used for a 32PAM constellation, but one more bit is taken from the input for each shaping number. The coded index combinations are used to select between two PAM constellation points. In this case, the shaping index is used to select a specific shaping partition, and the coding index (output by the turbo encoder) is used to select the cosets within the specific shaping partition. In case ambiguities still exist, extra bits (which can also be considered as part of the shaping label) are used to select the last point.
Fig. 2A, 3 and 4 include various functional entities of the receiver for recovering the transmitted information. It should be appreciated that there are many different receiver architectures that can be used to recover information encoded using the encoding techniques shown in fig. 2A, 3 and 4.
In one embodiment, at the transmitter, shaping is followed by channel coding, and probability values are calculated for all bits of the turbo coded bits (whether systematic or parity bits). Bayesian (Bayes) formula is then used to combine the computed probability values with the conditional probabilities within the coset. The probability values for the points are then added as appropriate to calculate the probability values for the bits of the channel coded stream. And then the resulting probability value is sent to a software decision decoder to solve the channel code in the coset range. Finally, the bit after decoding the result is sent to a reverse shaping block to recover the shaping bit.
In one embodiment, at the transmitter, shaping is followed by channel coding, and probability values are calculated for all bits of the turbo coded bits (whether systematic or parity bits). Bayesian (Bayes) formula is then used to combine the resulting probability values with the conditional probabilities within the coset. The probability values for the points are then added as appropriate to calculate the probability values for the bits of the channel coded stream. And then the resulting probability value is sent to a software output decoder to solve the channel code in the coset range. The resulting bit probabilities are finally fed to a reverse shaping block, in this case a finite state system, which is used for soft output decoding of the shaped bits. This finite state system is the same as the finite state system used for addressing. It is also possible to perform iterative decoding between different soft output decoders.
Numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.
Claims (29)
1. A method of encoding a stream of data elements, the method comprising:
dividing the stream of data elements into a first stream of data and a second stream of data;
encoding the first data stream with a symbol-based Turbo encoding to produce a first encoded stream;
performing constellation mapping using a combination of the first encoded stream and a third data stream based on the second data stream.
2. The method of claim 1, wherein: the constellation mapping performs gray mapping in mapping the third data stream.
3. The method of claim 2, wherein: the third data stream is identical to the second data stream.
4. The method of claim 1, further comprising:
the second data stream is encoded using a relatively weaker encoding method than the method used to encode the first data stream, resulting in the third data stream.
5. The method of claim 1, further comprising:
shaping the second data stream to produce the third data stream.
6. The method of claim 1, further comprising:
shaping and channel coding are applied to the second data stream, using a relatively weaker encoding method than that used when encoding the first data stream to produce the third data stream.
7. The method of claim 5, wherein: the shaping is performed using a huffman tree based addressing scheme to obtain a substantially gaussian amplitude distribution.
8. The method of claim 6, wherein: the shaping is performed using a huffman tree based addressing scheme to obtain a substantially gaussian amplitude distribution.
9. The method of claim 5, wherein: performing constellation shaping on a given signal constellation comprising a plurality of constellation points comprises:
associating each of the plurality of constellation points with a cost;
a hierarchy of blocks is defined, the structure having a plurality of levels including at least a first level and a last level, each level including fewer blocks than each previous level.
Wherein the first layer is formed by reordering all constellation points according to cost, then assigning a first lowest cost group of constellation points to a first shaping partition, and a second lowest cost group to a second shaping partition, and so on until a highest cost group of constellation points is assigned to a last shaping partition, the partitions being given costs according to the cost of constellation points at each shaping partition, each shaping partition being a first layer block;
wherein the elements of each other layer are formed by combining two blocks of a previous layer and a fee is given to the elements according to the fees of the two blocks of the previous layer, a block of each layer comprising one of the elements according to fee or a group of the elements according to fee;
the last layer has a single block comprising a plurality of elements;
shaping gain is achieved only by mapping to a subset of the last layer elements.
10. The method of claim 2, wherein:
the constellation mapping uses data elements of the first encoded stream as the least significant bits of the constellation mapping and the constellation mapping uses data elements of a third data stream as the most significant bits of the constellation mapping.
11. The method of claim 1, further comprising:
defining a signal constellation comprising a plurality of constellation points;
defining a plurality of cosets within a range of a plurality of constellation points such that, inside each coset, a minimum distance between the constellation points is greater than a minimum distance between the constellation points inside the entire signal constellation;
the method for performing the conformation mapping comprises the following steps: one of the coset sequences is identified with the first coded stream, and a sequence of constellation points within a corresponding coset range of the coset sequence identified by the first coded stream is identified with a third data stream.
12. The method of claim 11, wherein: and gray mapping the labels of the image construction points in each coset.
13. The method of claim 11, wherein: the constellation mapping uses data elements of the first encoded stream as the least significant bits of the constellation mapping and the constellation mapping uses data elements of the third encoded stream as the most significant bits of the constellation mapping.
14. The method of claim 11, wherein: the plurality of constellation points comprises a regular array, and wherein each coset comprises a respective set of points having the same spacing within the regular array.
15. A transmitter, comprising:
a demultiplexer adapted to split an input data stream into a first data stream and a second data stream;
a first encoder adapted to encode the first data stream using symbol-based Turbo coding to produce a first encoded stream;
a constellation mapper adapted to perform constellation mapping using a combination of the first encoded stream and a third encoded stream based on the second encoded stream.
16. The transmitter of claim 15, wherein: the constellation mapper is configured to perform gray mapping on the third data stream.
17. The transmitter of claim 15, wherein: the third data stream is identical to the second data stream.
18. The transmitter of claim 15, further comprising:
a second encoder adapted to encode the second data stream using a weaker method than that used in the first encoder to produce the third data stream.
19. The transmitter of claim 15, further comprising:
a shaper and a second encoder adapted to shape and encode the second data stream to produce the third data stream.
20. The transmitter of claim 19, wherein: the shaper is adapted to perform constellation shaping for a given signal constellation comprising a plurality of constellation points, the shaping being: .
Associating a cost with each of the plurality of constellation points;
defining a hierarchy of blocks, the structure comprising a plurality of layers including at least a first layer and a last layer, each layer containing fewer blocks than each previous layer;
wherein the first layer is formed by ordering all constellation points according to cost, then assigning a first lowest cost group of constellation points to a first shaping partition, and a second lowest cost group to a second shaping partition, and so on until a highest cost group of constellation points is assigned to a last shaping partition, each shaping partition being a first layer block, with a cost being assigned to each shaping partition according to the cost of constellation points at each shaping partition;
wherein the elements of each other layer are formed by combining two blocks of a previous layer and are given a fee in accordance with the fee of the two blocks of the previous layer, the blocks of each layer including one of the elements in accordance with the fee or a group of the elements in accordance with the fee;
the last layer has a single block comprising a plurality of elements;
shaping gain is achieved only by mapping to a subset of elements of the last layer.
21. The transmitter of claim 15, wherein: the constellation mapper uses data elements of the first encoded stream as the least significant bits of the constellation mapping and the constellation mapper uses data elements of the third encoded stream as the most significant bits of the constellation mapping.
22. The transmitter of claim 15, wherein: :
the constellation mapper is adapted to map a signal constellation comprising a plurality of constellation points, a plurality of cosets being defined internally such that a minimum distance between internal constellation points of each coset is greater than a minimum distance between any constellation point within the entire signal constellation;
the constellation mapper is adapted to identify a sequence of cosets of the plurality of cosets using the first encoded stream, an
The constellation mapper is adapted to use the third data stream to identify a series of constellation points within a corresponding coset in the sequence of cosets identified by the first encoded stream.
23. The transmitter of claim 22, wherein: the plurality of constellation points comprises a rectangular array, and wherein each coset comprises a respective set of equally spaced points within the rectangular array.
24. A receiver, comprising:
a first constellation demapper adapted to demap the received signal to extract a first substream;
a decoder adapted to decode the first substream to produce a decoded substream;
a re-encoder adapted to re-encode the decoded sub-streams using symbol-based Turbo coding to produce a series of coset identifiers, each coset identifier comprising two or more bits;
a second constellation demapper adapted to constellation demapp the received signal within the constellation of constellation points identified by the sequence of cosets to extract a second substream.
25. The receiver of claim 24, wherein: the second constellation demapper includes a constellation soft demapping function and a decision block.
26. The receiver of claim 24, wherein: the second constellation demapper comprises a constellation soft or hard demapping function and the receiver further comprises a second decoder adapted to decode the second substream.
27. The receiver of claim 24, wherein the second constellation demapper comprises: a constellation soft demapping function adapted to perform soft demapping on the reshaped bits; a channel decoder adapted to channel decode an output of the second constellation demapper; and a reverse addressing block adapted to perform the reverse operation to the shaping.
28. A transmitter, comprising:
means for splitting the stream of data elements into a first data stream and a second data stream;
means for encoding the first data stream using symbol-based Turbo coding to produce a first encoded stream;
means for performing constellation mapping using a combination of the first encoded stream and the third data stream based on the second data stream;
29. the method of claim 1, wherein: the symbol-based Turbo coding includes symbol-based interleaving.
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US31416901P | 2001-08-23 | 2001-08-23 | |
| US31416801P | 2001-08-23 | 2001-08-23 | |
| US60/314,168 | 2001-08-23 | ||
| US60/314,169 | 2001-08-23 | ||
| PCT/CA2002/001296 WO2003019792A1 (en) | 2001-08-23 | 2002-08-23 | System and method performing quadrature amplitude modulation by combining co-sets and strongly coded co-set identifiers |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1073934A1 HK1073934A1 (en) | 2005-10-21 |
| HK1073934B true HK1073934B (en) | 2009-02-06 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7778341B2 (en) | System and method performing quadrature amplitude modulation by combining co-sets and strongly coded co-set identifiers | |
| JP4669026B2 (en) | Digital signal transmission by orthogonal frequency division multiplexing | |
| TW478258B (en) | Turbo code symbol interleaver | |
| CN101488819B (en) | LDPC code encoding modulation method and apparatus | |
| US5633881A (en) | Trellis encoder and decoder based upon punctured rate 1/2 convolutional codes | |
| RU2340092C2 (en) | Device and method of transmitting and receiving coded data using coder, with unequal error probability, in mobile communications system | |
| JP2008295057A5 (en) | ||
| US8875000B2 (en) | Methods and systems systems for encoding and decoding in trellis coded modulation systems | |
| JP2001522198A (en) | Time variable lattice code | |
| CN111670543A (en) | Multi-component coding for signal shaping | |
| EP0991219A2 (en) | Concatenated error control method and system for uplink satellite transmission | |
| US5570391A (en) | Trellis coding method using a multilevel delay device | |
| CN103516465B (en) | Coded modulation and demodulation and demodulation and decoding method, device and system | |
| CN113556211B (en) | Asynchronous multi-level bit interleaving coding modulation method based on polarization code | |
| CN113067676A (en) | Novel bit mapping method in polar code high-order modulation system | |
| US6671327B1 (en) | Turbo trellis-coded modulation | |
| CN101326728A (en) | TURBO code interleaver for low frame error rates | |
| CN112398580B (en) | A modulation method and device | |
| HK1073934B (en) | System and method performing quadrature amplitude modulation by combining co-sets and strongly coded co-set identifiers | |
| KR101503655B1 (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
| KR101187070B1 (en) | Method for encoding using parity check matrix | |
| Williams | Low complexity block coded modulation | |
| KR101221897B1 (en) | LDPC encoder | |
| Prashantha et al. | Performance analysis of stack decoding on block coded modulation schemes using tree diagram | |
| Husni | Reed Solomon coded MPSK modulation for a Gaussian channel |