WO2003005591A1 - Procede et appareil d'utilisation de mecanismes de modulation codes en treillis pour coder et decoder des codes turbo de produits - Google Patents
Procede et appareil d'utilisation de mecanismes de modulation codes en treillis pour coder et decoder des codes turbo de produits Download PDFInfo
- Publication number
- WO2003005591A1 WO2003005591A1 PCT/US2002/021199 US0221199W WO03005591A1 WO 2003005591 A1 WO2003005591 A1 WO 2003005591A1 US 0221199 W US0221199 W US 0221199W WO 03005591 A1 WO03005591 A1 WO 03005591A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bits
- symbols
- uncoded
- symbol
- encoded
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/258—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with turbo codes, e.g. Turbo Trellis Coded Modulation [TTCM]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
- H03M13/2963—Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0059—Convolutional codes
- H04L1/006—Trellis-coded modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
- H04L1/0066—Parallel concatenated codes
Definitions
- the present invention relates to an apparatus and method thereof for the processing of turbo product codes, in general, and in particular, and an apparatus and method for using trellis coded modulation schemes and pragmatic trellis coded modulation schemes for encoding and decoding turbo product codes.
- PTCM Pragmatic Trellis Coded Modulation
- Figure 1A illustrates a general block diagram of an encoding system using the known PTCM method in relation to convolutional codes.
- Figure 1 A illustrates a demultiplexer 102 coupled with a A rate convolutional encoder 104 and a bit mapping module 106.
- Figure 1 A illustrates the l A rate convolutional encoder 104 being coupled with the bit mapping module 106.
- the known PTCM method utilizes input data 108 entering the system 100, wherein the demultiplexer 108 splits the input data 108 into two stream of bits.
- One stream of data is for the to-be encoded bits 112 that are sent to the rate l A convolutional encoder 104, whereas the other stream is for the non-encoded or unencoded bits 110 that are sent directly to the bit mapping module 106.
- input data 108 arrives in a serial fashion into the demultiplexer 102, whereby the input data 108 is demultiplexed into the to-be encoded stream 112 and the non-encoded stream 110.
- the input data is received within the system 100 one bit at a time.
- the system 100 is able to take one bit of input data at a time and demultiplex the bit into the to-be encoded 112 and non-encoded streams 110.
- the to-be encoded stream 112 is sent into the A rate convolutional encoder 104, whereby the encoder 104 encodes the to-be encoded bit 112 and outputs an encoded X and Y bit in their respective streams 114A and 114B to the bit mapping module 106.
- the X and Y bits are utilized as coded mapping symbols C x and C 2 , in which the C x and C 2 mapping symbols are used by the bit mapping module 106 to form the constellation symbols (LQ) 116.
- the non-encoded bit stream 110 is sent directly to the bit mapping module 106.
- the non-encoded bit is utilized as an uncoded mapping symbol U, in which the U j mapping symbol is used by the bit mapping module 106 in conjunction with the and C 2 mapping symbols to form the constellation symbols (I,Q) 116.
- the bit mapping module 106 receives the non-encoded symbol 110 as Uj and also receives the X and Y bits 114A, 114B as coded symbols Q, x and C 2 , respectively.
- the bit mapping module 106 uses the U l5 and C 2 symbols to form a constellation symbol (I,Q) 116, in which the constellation symbol (LQ) 116 is sent over the transmission channel to the receiving end 118 ( Figure IB).
- Figure IB illustrates a general block diagram of a decoding system using the known PTCM method in relation to convolutional codes.
- Figure IB illustrates a soft decision metric generator (SDMG) 120, an uncoded bit decision generator (UBDG) block 124, a rate l A Viterbi decoder 122, a rate l A convolutional encoder 126 and an output multiplexer 128.
- SDMG soft decision metric generator
- UBDG uncoded bit decision generator
- the symbol 116 that is received in the SDMG block 120 is estimated into a metric of coded bits 132, whereby the metric of coded bits 132 are sent to the rate l A Viterbi decoder 122.
- the viterbi decoder 122 decodes the metric of coded bits 132 by generating hard decision estimates of the coded bits.
- the viterbi decoder 122 then sends the decoded bits 136 to the output multiplexer 128 in which the output multiplexer 128 waits to receive the unencoded bit 140 from the UBDG block 124.
- the viterbi decoder 122 After processing the coded bits 132, the viterbi decoder 122 also sends the decoded bits 134 to a rate X A convolutional encoder 126, whereby the convolutional encoder 126 reencodes the decoded bits into two new coded bits 138 and sends the two reencoded bits to the UBDG block 124.
- the UBDG block 124 receives the two reencoded bits 138 and uses these bits in conjunction with the (I,Q) symbol 130 received from the SDMG block 120 to de-map the unencoded bit.
- the UBDG 124 then sends the de-mapped unencoded bit 140 to the output multiplexer 128, whereby the decoded data is output 142.
- TCM and PTCM methods have not been used with TPCs due to the difficulty of processing one symbol at a time for TPCs because of the block nature of the TPCs.
- This difficulty in processing one symbol at a time for a TPC block compared to a convolutional code, causes a low code rate and low data throughput for the same number of bits per symbol.
- the invention is a method of encoding a block of data for a given codeword.
- the method comprises receiving the block of data.
- the block of data is split into a first stream of u bits and a second stream of k bits.
- the second stream of k bits is encoded using a turbo product code encoding scheme, thereby producing a stream of n encoded bits.
- a pre-mapped coded symbol is generated from at least one of the plurality of n encoded bits.
- a pre-mapped uncoded symbol is generated from at least one of the u bits in the first stream.
- a constellation symbol having an I coordinate and a Q coordinate is mapped, wherein the constellation symbol is calculated using the pre-mapped coded symbol and the pre-mapped uncoded symbol.
- Figure 1 A illustrates a general block diagram of an encoding system using the known PTCM method in relation to convolutional codes.
- Figure IB illustrates a general block diagram of a decoding system using the known PTCM method in relation to convolutional codes.
- FIG. 2 illustrates a block diagram of the preferred embodiment of the trellis coding modulation (TCM) encoding system in accordance with the present invention.
- TCM trellis coding modulation
- FIG. 3 illustrates a block diagram of the preferred embodiment of the trellis coding modulation (TCM) decoding system in accordance with the present invention.
- Figure 4 illustrates a constellation map for an 8PSK modulation scheme in accordance with the present invention.
- Figure 5 illustrates a block diagram of the preferred embodiment of the trellis coding modulation (TCM) encoding system 500 in accordance with the present invention for encoding a (32,26) 2 turbo product code.
- TCM trellis coding modulation
- FIG. 6 illustrates a block diagram of the preferred embodiment of the trellis coding modulation (TCM) decoding system in accordance with the present invention for decoding a (32,26) 2 turbo product code.
- TCM trellis coding modulation
- FIG. 2 illustrates a block diagram of the preferred embodiment of the trellis coding modulation (TCM) encoding system in accordance with the present invention. It should be noted that although the system in Figure 2 is described with respect to a trellis coding modulation scheme, the system in Figure 2 is useable in a pragmatic trellis coding modulation scheme as well. As shown in Figure 2, the encoding system
- the 200 includes a demultiplexing module 202, a turbo product code (TPC) encoder 204, a pre-mapping module 206 and a mapping module 208.
- the demultiplexing module 202 is coupled with the encoder 204 and the pre-mapping module 206.
- the TPC encoder 204 is coupled with the pre-mapping module 206.
- the pre-mapping module is coupled with the mapping module 208.
- the demultiplexing module 202 receives input data 210 and multiplexes or splits the data 210 into two or more data streams.
- the turbo product code encoder 204 utilizes error correction schemes known in the art to encode the data that is to be encoded 212.
- the pre-mapping module 206 preferably interleaves more than one data stream in such a way as to alleviate the problem of confidence levels being different for each of the bits in a given higher order modulation symbol.
- the bit mapping module 208 takes the coded bits provided by the pre-mapping module 206 and utilizes them to generate symbols having (LQ) coordinates, in which the (I,Q) symbols are mapped in a constellation diagram.
- a constellation diagram for a 8PSK diagram is shown in Figure 3.
- the present system may also be used in other sized constellations such as QPSK or any sized quadrature amplitude modulation schemes.
- input data 210 for a given codeword having a block size of k information bits preferably enters the system 200 in a serial fashion and is demultiplexed by the demultiplexing module 202.
- the demultiplexing module 202 demultiplexes or splits the input data 210 into two streams, namely the non-encoded stream 216 and the to-be encoded stream 212.
- the number of bits from the input data 210 that are placed in the non encoded stream 216 is preferably dependent on being one-half of the number of total encoded n bits that are output by the TPC encoder 204. Alternatively, the number of bits placed in the non encoded stream 216 is dependent on another ratio (i.e. two-thirds) of the total number of encoded n bits output by the TPC encoder 204.
- the number of bits from the input data 210 that are placed in the to-be encoded stream 212 is preferably the number of k information bits that are input into the TPC encoder 204. However, it is understood that the demultiplexer 202 may be programmed to place any number of bits in the to-be encoded stream 212.
- the non encoded stream 216 and the to-be encoded stream 212 are preferably of unequal length for a given codeword. Alternatively, the non encoded stream 216 and the to-be encoded stream 212 are of equal length for a given codeword.
- the non encoded bit stream 216 having u bits is sent from the demultiplexer 202 directly to the pre-mapping module 206. h addition, the demultiplexer 202 sends the to-be encoded stream 212, having k bits, to the turbo product code (TPC) encoder 204.
- the TPC encoder 204 receives the k bits and encodes the k bits with a forward error correction scheme to generate n coded bits.
- Such forward error correction schemes include using extending hamming codes, parity codes and/or any other known turbo product code encoding scheme, hi addition, the turbo product code encoder 204 may be of any known or available encoder.
- the k bits are encoded by the TPC encoder 204 to have n bits based on an (n,k) turbo product code encoding scheme. It should be understood that the present TCM encoding system 200 is not limited to any particular turbo product code.
- the coding rate of a turbo product code encoded in a trellis coded modulation scheme is (u+k)/(u+n). This is due to the presence of the uncoded u bits which are taken into account in the encoding and decoding processes.
- the uncoded u bits are designated as pre-mapped uncoded symbols U to map the coordinates (I,Q) for each symbol.
- the pre-mapping module 206 is preferably set prior to designating the U,, C and C 2 pre-mapped symbols from the uncoded u bits and encoded n bits.
- the pre-mapping module 206 preferably designates two of the encoded n bits 214 in the stream as coded symbols C t and C 2 .
- the pre-mapping module 206 designates any predetermined number of encoded n bits 214 in the stream with a corresponding number of coded symbols, hi addition, the uncoded u bits 216 are sent to the pre-mapping module 206, whereby the pre-mapping module 206 designates a predetermined number of u bits into a corresponding number of U uncoded symbols, hi the preferred embodiment, the pre- mapping module 206 designates one uncoded u bit as one uncoded XJ X symbol. The pre-mapped uncoded symbol JJ l as well as the pre-mapped coded symbols C ⁇ and C 2 are then sent to the mapping module 208.
- the present invention is not limited to utilizing one pre-mapped uncoded U j symbol per two pre-mapped coded symbols and C 2 in generating a constellation symbol (I,Q).
- any number of coded and uncoded symbols may be provided to the mapping module 208 by the pre-mapping module 206 in generating the constellation symbol (I,Q) for a given codeword.
- the mapping module 208 receives the pre-mapped symbols U l5 C j and C 2 from the pre-mapping module 208.
- the mapping module 208 is preferably set prior to modulating the U,, Cj and C 2 pre-mapped symbols into the constellation symbols (I,Q).
- the mapping module 208 is set to form the constellation symbols for any modulation scheme such as QPSK, 8PSK, 16 Quadrature Amplitude Modulation (QAM), 32 QAM, 64 QAM, 128 QAM, 256 QAM or any other quadrature modulation scheme.
- a look up table is preferably used to generate the (I,Q) symbols.
- the mapping is done using logic, modulation code or a ROM.
- the methods used to generate the (I,Q) symbols from the group of bits are generally well known in the art.
- one pre-mapped uncoded symbol U t and two pre-mapped coded symbols C, and C 2 are used to form one constellation symbol (LQ).
- the number of uncoded u bits sent from the demultiplexer 202 is l A of the n bits encoded by the TPC encoder 204. Therefore, the mapping module 208 preferably outputs (n/2) (I,Q) symbols per codeword.
- any number of uncoded u bits may be used in relation to any number of encoded n bits.
- the mapping module 208 outputs a different number of (I,Q) symbols per codeword.
- the (I,Q) constellation symbols are then transmitted over a transmission channel, whereby the symbols are received at the receiving end having a decoding system of the present invention. It is preferred that all constellation symbols are encoded for the given codeword before being sent over the transmission channel.
- a memory is used (not shown) to store the already encoded symbols while the remaining constellation symbols are generated.
- each constellation symbol is sent over the transmission channel as each symbol is encoded.
- FIG. 3 illustrates a block diagram of the preferred embodiment of the trellis coding modulation (TCM) decoding system in accordance with the present invention.
- TCM trellis coding modulation
- the TCM decoding system 300 shown in Figure 3 includes a soft decision metric generator (SDMG) 302, a turbo product code (TPC) decoder 304, a turbo product code (TPC) encoder 306, an uncoded bit decision generator (UBDG) 308 and an output multiplexer 310.
- SDMG soft decision metric generator
- TPC turbo product code
- TPC turbo product code
- UDG uncoded bit decision generator
- the UBDG 308 is coupled with the SDMG 302, the TPC encoder 306 and the output multiplexer 310.
- the TPC decoder 304 is coupled witkthe SDMG 302, the TPC encoder 306 and the output multiplexer 310.
- the TPC encoder 306 is coupled with the UBDG 308 as well as the TPC decoder 304. It should be noted that although the above modules are only shown and described in Figure 3, other modules maybe added or substituted to the decoding system 300 in accordance with the present invention, hi addition, the present system may be used in other sized constellations such as QPSK or any sized quadrature amplitude modulation schemes.
- Figure 4 illustrates a constellation map for an 8PSK modulation scheme, h particular, the constellation map has an I-axis (in-phase) and a Q-axis (quadrature), whereby constellation symbols or points are positioned on the map based on their (I,Q) coordinates.
- m is the number of bits per constellation point or symbol.
- m is equal to 3 pre-mapped symbols per constellation symbol, the pre-mapped symbols being U l5 C l5 and C 2 .
- pre-mapped symbols U,, C l5 and C 2 are utilized to map a particular constellation symbol (I,Q).
- each quadrant in the constellation includes 2 constellation points. As discussed above, each constellation point is positioned with respect to the bit values of symbols U t , C l5 and C 2 .
- each constellation point can be grouped into a particular set based on the location of each constellation point having the farthest distance to every other constellation point in the map.
- points 1, 3, 5 and 7 are a distance furthest from each other, whereas points 2, 4, 6 and 8 are a distance farthest from each other.
- points 1, 3, 5 and 7 are designated as a first set and points 2, 4, 6 and 8 are designated a second set. Therefore, for an 8 PSK modulation scheme, the constellation map is partitioned into 2 QPSK schemes having 4, instead of 8, constellation points in a set. It should be noted that the above discussion applies to other sized constellations such as QPSK or any sized quadrature amplitude modulation schemes. This designation of sets simplifies the demapping process for the decoding system 300.
- a constellation symbol having coordinates (1,1) may have coordinates of (2.1,0.5) when received at the receiving end.
- the decoding system 300 can use information provided to it as to which set the (I,Q) constellation symbol belongs to.
- the decoding system 300 can look only to the 4 constellation points in that first set, rather than looking at all 8 constellation points, to determine the values of U l5 C,, and C 2 .
- the SDMG 308 of the present invention preferably receives the (I,Q) symbol after the symbol has been transmitted over the transmission channel.
- the integrity of the (I,Q) symbol changes as it is transmitted due to noise in the transmission channel, such as Additive White Gaussian Noise (AWGN).
- AWGN Additive White Gaussian Noise
- SDMG 308 preferably produces the soft decision metric values or metrics for each bit transmitted over channel using log likelihood ratio (LLR) techniques, which are known in the art.
- LLR log likelihood ratio
- the SDMG 308 produces the soft decision metrics using PSK or QAM soft decision value look up tables, which are known in the art.
- the SDMG 308 uses Euclidean distances as well as automatic gain control actions to normalize the amplitude of the received point to unity. For higher mapping orders, such as QAM symbols, the SDMG 308 can use any other available techniques, such as Gray mapping scenarios, etc.
- the UBDG 308 generally receives the n reencoded bits provided by the TPC encoder 306 (see below) as well as the (I,Q) symbols received over the transmission channel. The UBDG 308 then uses this information to determine the value of the uncoded u bit. It is preferred that the UBDG 308 determines the uncoded u bit by the use of special look-up tables. Alternatively, the UBDG 308 utilizes logic, modulation or ROM to determine the value of the uncoded u bit which was supplied to the pre-mapping module 206 ( Figure 2) from the demultiplexer 202 ( Figure 2).
- the constellation symbols (I,Q) for the given codeword are received by the decoding system 300 after the constellation symbols have been transmitted over the transmission channel. Since the constellation symbols most likely will have different I and Q values due to noise present in the channel, the SDMG 302 generates n soft decision metrics of the coded data using any of the methods described above. It is preferred that all of the sent constellation symbols are received by the SDMG 302 before the SDMG 302 processes the symbols or outputs any soft decision metrics. Thus, a memory is used (not shown) to store the constellation symbols as the remaining constellation symbols are still being received in the SDMG 302. Alternatively, the SDMG 302 processes or outputs the soft decision metrics as the constellation symbols are received at the SDMG 302.
- the SDMG 302 sends these n soft decision metrics 316 to the TPC decoder 304, wherein the TPC decoder 304 decodes the n soft decision metrics into k decoded bits 318.
- the TPC decoder 304 utilizes a turbo product code decoding scheme are described in U.S. Patent Application Serial Number 09/406,252, filed September 27,
- the TPC decoder 304 utilizes any other available turbo product code decoding scheme.
- the k decoded bits are directly provided by the TPC decoder 304 to the output multiplexer 310, whereby the output multiplexer 310 preferably waits to receive the decoded u bits from the UBDG 308. Ln this case, the output multiplexer 310 is coupled with a memory (not shown) to store the received k decoded bits. Alternatively, the output multiplexer 310 outputs the k decoded bits as they are received from the TPC decoder 304 and subsequently outputs the u bits once they are received from the UBDG 308.
- the TPC decoder also provides the k decoded bits to the TPC encoder 306. It is preferred that the TPC encoder 306 encodes the decoded k bits 318 with a forward error correction scheme.
- the forward error scheme preferably includes extended hamming codes and parity codes. However, any other known turbo product code encoding scheme may also be used.
- the TPC encoder 306 may be any known or available encoder.
- the TPC encoder 306 reencodes the k decoded bits 318 to generate n reencoded bits 322, whereby the TPC encoder 306 sends the n reencoded bits 322 to the UBDG 308.
- the TPC encoder 306 reencodes the k bits that are aheady decoded to ensure that the UBDG 308 receives the most reliable data. Since the TPC encoder 306 incorporates a forward error correction scheme to encode the k decoded bits, the UBDG 308 can use the extra error correction bits as well as other information provided by the TPC encoder 306 to accurately determine the value of the u bits for a given codeword. In addition, as stated above, the SDMG 302 provides the UBDG 308 with the (I,Q) symbols 314 as they are received over the transmission channel.
- the SDMG 302 supplies the (I,Q) symbols 314 to the UBDG 308 as the TPC encoder 306 provides the UBDG 308 with the n reencoded bits 322.
- the UBDG 308 is provided with the (I,Q) symbols 314 and the n reencoded bits 322 at different times, whereby the UBDG 308 utilizes a memory (not shown) to store the information aheady received.
- the UBDG 308 uses the above described method to estimate or determine the values of the uncoded u bits 324.
- the UBDG 308 Upon determining the value of the uncoded u bits for the given codeword, the UBDG 308 forwards the uncoded u bits to the output multiplexer 310.
- the output multiplexer 310 thereby outputs the uncoded u bits as well as the decoded k bits as decoded data 326. It is preferred that the output multiplexer 310 receives all uncoded u bits as well as all k bits for the given codeword before the data is output. Thus, a memory (not shown) is used to store the already received bits as the remaining bits are being received. Alternatively, the output multiplexer 310 outputs each bit, uncoded or coded, as each bit is received by the output multiplexer 310.
- FIG. 5 illustrates a block diagram of the preferred embodiment of the trellis coding modulation (TCM) encoding system 500 in accordance with the present invention for encoding a (32,26) 2 turbo product code.
- TPC turbo product code
- the encoding system 500 includes a demultiplexing module 502, a turbo product code (TPC) encoder 504, a pre-mapping module 506 and a mapping module 508.
- the demultiplexing module 502 is coupled with the TPC encoder 504 and the pre-mapping module 506.
- the TPC encoder 504 is coupled with the pre-mapping module 506.
- the pre-mapping module is coupled with the mapping module 508.
- the demultiplexing module 502 receives the input data 510 and splits the data 510 into two or more data streams.
- the turbo product code encoder 504 utilizes error correction schemes known in the art to the data that is to be encoded 513.
- the pre-mapping module 506 preferably interleaves more than one data stream in such a way as to alleviate the problem of confidence levels being different for each of the bits in a given higher order modulation symbol.
- the bit mapping module 508 takes the coded symbols provided by the pre-mapping module 506 and maps them to the (I,Q) points of the constellation diagram, hi this example, the constellation diagram is an 8PSK modulation scheme, as shown in Figure 3.
- input data 510 for a given codeword having a block size of 676 bits preferably enters the system 500 in a serial fashion and is de-multiplexed by the demultiplexing module 502.
- the demultiplexing module 502 demultiplexes the input data 510 into two streams, namely the non-encoded stream 516 and the to-be encoded stream 513.
- the non-encoded stream 516 that is sent directly from the demultiplexer 502 to the pre-mapping module 506 contains 512 uncoded u bits, as shown in Figure 5.
- each constellation symbol includes one uncoded symbol U j and two coded symbols and C 2 .
- the number of uncoded u bits is equal to one-half of the total number of n bits that are encoded by the TPC encoder 306 in an 8 PSK scheme.
- the TPC encoder 306 in the present example is set to encode a (32,26) 2 turbo product code block for a given codeword, wherein the number of k information bits is 676 bits.
- the TPC encoder 306 will generate a total nmnber of 1024 encoded bits for the given codeword.
- the number of uncoded u bits will be equal to 512 bits for the given codeword.
- the demultiplexer 502 sends the 676 information bits of the block to the turbo product code encoder 504 via the to-be encoded stream 513.
- the TPC encoder 504 receives the 676 information bits from the demulitplexer 502 and encodes the 676 bits with the appropriate forward error correction scheme. Thus, as stated above, the TPC encoder generates a (32,26) 2 encoded block having a total of 1024 encoded bits. It should be understood that the present TCM encoding system 500 is not limited to any particular turbo product code or turbo product code encoding scheme.
- the encoder 504 sends the encoded 1024 bits 514 to the pre-mapping module 506.
- the pre-mapping module 506 designates the 512 non encoded u bits into 512 pre-mapped U j uncoded symbols
- the pre- mapping module 506 designates the two of the 1024 encoded bits into pre-mapped coded symbols C j and C 2 .
- the pre-mapped U j symbol as well as the pre-mapped coded symbols C ⁇ and C 2 are then sent to the mapping module 508.
- the present invention is not limited to only one pre-mapped U uncoded symbol and two pre-mapped coded symbols Q and C 2 per constellation symbol.
- any number of pre-mapped coded and uncoded bits may be provided to the mapping module 508 by the pre-mapping module 506.
- the mapping module 508 then utilizes the symbols U l5 C x and C 2 to form 512 constellation symbols having (I,Q) coordinates.
- the constellation symbols (I,Q) are then transmitted over the transmission channel to the receiving end. It is preferred that all 512 constellation symbols are encoded for the given codeword before being sent over the transmission channel.
- a memory is used (not shown) to store the aheady encoded symbols while the remaining constellation symbols are generated.
- each of the 512 constellation symbols is sent over the transmission channel as each constellation symbol is generated.
- FIG. 6 illustrates a block diagram of the preferred embodiment of the trellis coding modulation (TCM) decoding system in accordance with the present invention for decoding a (32,26) 2 turbo product code.
- TCM trellis coding modulation
- the TCM decoding system 600 shown in Figure 6 includes a soft decision metric generator (SDMG) 602, a turbo product code (TPC) decoder 604, a turbo product code (TPC) encoder 606, an uncoded bit decision generator (UBDG) 608 and an output multiplexer 610.
- SDMG soft decision metric generator
- TPC turbo product code
- TPC turbo product code
- UDG uncoded bit decision generator
- the SDMG 602 is coupled with the UBDG 608 and the TPC decoder 604.
- the UBDG 608 is coupled with the SDMG 602, the TPC encoder 606 and the output multiplexer 610.
- the TPC decoder 604 is coupled with the SDMG 602, the TPC encoder 606 and the output multiplexer 610.
- the TPC encoder 606 is coupled with the UBDG 608 as well as the TPC decoder 604. It should be noted that although the above modules are only shown and described in Figure 6, other modules may be added or substituted to the decoding system 600 in accordance with the present invention, h addition, the present system may also be used in other sized constellations such as QPSK or any sized quadrature amplitude modulation schemes.
- the SDMG 608 receives each of the received 512 (I,Q) symbols and preferably produces a soft decision value for each of the coded bits in the symbol.
- the SDMG 608 preferably produces the soft decision values using log likelihood ratio techniques, which are known in the art.
- the SDMG 608 produces the soft decision values using PSK soft decision value look up tables, which are also known in the art.
- the SDMG 608 alternatively uses Euclidean distances as well as automatic gain control actions to normalize the amplitude of the received point to unity.
- the SDMG 608 can use any other available techniques, such as Gray mapping scenarios, etc. Details of the SDMG 608 are discussed in detail above.
- the UBDG 608 takes the 512 (I,Q) constellation symbols that are received and, depending on the nature of the coded bits, unmaps the uncoded u bits 216 ( Figure 2). The details regarding the UBDG 608 are discussed above.
- the 512 (I,Q) constellation symbols are received by the decoding system 600, whereby the SDMG 602 generates 1024 soft decision metrics of the coded data using any of the methods described above. It is preferred that all of the sent constellation symbols are received by the SDMG 602 before the SDMG 602 processes the symbols or outputs any soft decision metrics.
- a memory is used (not shown) to store the constellation symbols as the remaining constellation symbols are still being received in the SDMG 602.
- the SDMG 602 processes or outputs the soft decision metrics as the constellation symbols are received at the SDMG 602.
- the SDMG 602 sends these 1024 soft decision metrics 616 to the TPC decoder 604, wherein the TPC decoder 604 decodes the 1024 soft decision metrics back into the decoded 676 information bits 618.
- the TPC decoder 604 utilizes a decoding scheme discussed above.
- the TPC decoder 604 utilizes any other available decoding scheme.
- the 676 decoded bits are directly provided by the TPC decoder 604 to the output multiplexer 610, whereby the output multiplexer 610 preferably waits to receive the uncoded u bits from the UBDG 608. h this case, the output multiplexer 610 is coupled with a memory (not shown) to store the received k decoded bits.
- the TPC decoder 604 also provides the k decoded bits to the TPC encoder 606.
- the TPC encoder 606 reencodes the 676 bits that were decoded by the TPC decoder 604 with a forward error correction schemes, such as extending hamming codes, parity codes and/or any other known turbo product code encoding scheme, hi addition, the TPC encoder 606 may be any known or available encoder.
- the TPC encoder 606 reencodes the 676 information bits 618, such that the encoder
- the TPC encoder 606 outputs 1024 reencoded bits 622 to the UBDG 608.
- the TPC encoder 606 reencodes the bits that have already been decoded by the TPC decoder 604 to ensure that the UBDG 608 is able to decode the pre-mapped U uncoded symbol with the most reliable data. Since the TPC encoder 606 incorporates a forward error correction scheme to the 676 information bits in generating the 1024 reencoded bits, the UBDG
- the SDMG 602 provides the UBDG 608 with the (I,Q) symbols 614 while the TPC encoder 606 provides the UBDG 608 with the 1024 reencoded bits 622.
- the UBDG 608 Upon determining the value of the 512 uncoded u bits for the codeword, the UBDG 608 forwards the value of the uncoded u bits to the output multiplexer 610. Once the output multiplexer 610 receives the determined values of the uncoded u bits from the UBDG 608, the output multiplexer 610 outputs the decoded data 626.
- the details of the output multiplexer 610 are well known in the art and are not discussed herein.
- the output multiplexer 610 receives all uncoded u bits as well as all k bits for the given codeword before the data is output.
- a memory (not shown) is used to store the already received bits as the remaining bits are being received.
- the output multiplexer 610 outputs each bit, uncoded or coded, as each bit is received by the output multiplexer 610.
- the SDMG and UBDG are configured to work on a plurality of constellation symbols at one time, hi addition, the SDMG and UBDG are configured to handle an unequal number of uncoded and coded bits in each symbol.
- the overall block configuration of the encoding system 500 and decoding system 600 will look the same.
- the system will process another amount of bits per plurality of symbols, instead of 2 coded bits per symbol.
- the system would process 3 uncoded bits per two 8PSK symbols, thereby allowing the first 8PSK symbol to have 1 uncoded bit and 2 coded bits and the second 8PSK symbol having 2 uncoded bits and 1 coded bit. Therefore, more than one symbol will be read into the bit mapping module 508 at a time. This would enable the entire system 500 to work in a complete block wise fashion.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
Abstract
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30281901P | 2001-07-03 | 2001-07-03 | |
US60/302,819 | 2001-07-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2003005591A1 true WO2003005591A1 (fr) | 2003-01-16 |
Family
ID=23169330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2002/021199 WO2003005591A1 (fr) | 2001-07-03 | 2002-07-03 | Procede et appareil d'utilisation de mecanismes de modulation codes en treillis pour coder et decoder des codes turbo de produits |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2003005591A1 (fr) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383484B2 (en) | 2004-03-12 | 2008-06-03 | Seagate Technology Llc | Cyclic redundancy check based message passing in turbo product code decoding |
US7441175B2 (en) | 2004-03-12 | 2008-10-21 | Seagate Technology Llc | Turbo product code implementation and decoding termination method and apparatus |
CN106464426A (zh) * | 2014-07-04 | 2017-02-22 | 华为技术有限公司 | Tcm发送器设备和接收器设备及其方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4882733A (en) * | 1987-03-13 | 1989-11-21 | Ford Aerospace Corporation | Method and apparatus for combining encoding and modulation |
US5416801A (en) * | 1992-07-08 | 1995-05-16 | U.S. Philips Corporation | Digital signal transmission system based on partitioning of a coded modulation with concatenated codings |
US5790570A (en) * | 1996-08-30 | 1998-08-04 | Cornell Research Foundation, Inc. | Concatenated trellis coded modulation and linear block codes |
US5996104A (en) * | 1996-09-13 | 1999-11-30 | Herzberg; Hanan | System for coding system |
US6000054A (en) * | 1997-11-03 | 1999-12-07 | Motorola, Inc. | Method and apparatus for encoding and decoding binary information using restricted coded modulation and parallel concatenated convolution codes |
US6034996A (en) * | 1997-06-19 | 2000-03-07 | Globespan, Inc. | System and method for concatenating reed-solomon and trellis codes |
US6161209A (en) * | 1997-03-28 | 2000-12-12 | Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre | Joint detector for multiple coded digital signals |
-
2002
- 2002-07-03 WO PCT/US2002/021199 patent/WO2003005591A1/fr not_active Application Discontinuation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4882733A (en) * | 1987-03-13 | 1989-11-21 | Ford Aerospace Corporation | Method and apparatus for combining encoding and modulation |
US5416801A (en) * | 1992-07-08 | 1995-05-16 | U.S. Philips Corporation | Digital signal transmission system based on partitioning of a coded modulation with concatenated codings |
US5790570A (en) * | 1996-08-30 | 1998-08-04 | Cornell Research Foundation, Inc. | Concatenated trellis coded modulation and linear block codes |
US5996104A (en) * | 1996-09-13 | 1999-11-30 | Herzberg; Hanan | System for coding system |
US6161209A (en) * | 1997-03-28 | 2000-12-12 | Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre | Joint detector for multiple coded digital signals |
US6034996A (en) * | 1997-06-19 | 2000-03-07 | Globespan, Inc. | System and method for concatenating reed-solomon and trellis codes |
US6000054A (en) * | 1997-11-03 | 1999-12-07 | Motorola, Inc. | Method and apparatus for encoding and decoding binary information using restricted coded modulation and parallel concatenated convolution codes |
Non-Patent Citations (1)
Title |
---|
HEWITT E.: "Turbo product codes for LMDS", 1999 RADIO AND WIRELESS CONFERENCE, August 1999 (1999-08-01), pages 107 - 111, XP010365197 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383484B2 (en) | 2004-03-12 | 2008-06-03 | Seagate Technology Llc | Cyclic redundancy check based message passing in turbo product code decoding |
US7441175B2 (en) | 2004-03-12 | 2008-10-21 | Seagate Technology Llc | Turbo product code implementation and decoding termination method and apparatus |
CN106464426A (zh) * | 2014-07-04 | 2017-02-22 | 华为技术有限公司 | Tcm发送器设备和接收器设备及其方法 |
CN106464426B (zh) * | 2014-07-04 | 2019-08-16 | 华为技术有限公司 | Tcm发送器设备和接收器设备及其方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6643332B1 (en) | Method and apparatus for multi-level coding of digital signals | |
US10873418B2 (en) | Iterative multi-level equalization and decoding | |
US7778341B2 (en) | System and method performing quadrature amplitude modulation by combining co-sets and strongly coded co-set identifiers | |
CN101573906B (zh) | 具有网格编码调制、多级编码调制(mlcm)和比特交织mlcm(bimlcm)的单载波块传输 | |
JP4463857B2 (ja) | ビットインターリーブ化符号化変調信号を送受信するための方法および装置 | |
JP5771134B2 (ja) | 送信装置及び受信装置 | |
CN102457356A (zh) | 用于网格编码调制系统中的编码和解码的方法和系统 | |
WO2016000790A1 (fr) | Dispositifs émetteurs et récepteurs tcm et procédés associés | |
CN103516465B (zh) | 编码调制和解调译码方法、装置及系统 | |
EP0459524B1 (fr) | Dispositif de codage de contrÔle d'erreurs pour communications employant une modulation QAM ou PSK codée convolutionnellement | |
US9065623B1 (en) | Mixed mapping for rate compatible trellis coded modulation | |
US6611940B1 (en) | Decoding symbols representing digital words | |
WO2003005591A1 (fr) | Procede et appareil d'utilisation de mecanismes de modulation codes en treillis pour coder et decoder des codes turbo de produits | |
US20120084620A1 (en) | Transmission device and receiving device | |
Karabulut et al. | Superposition block coded modulation | |
US20240039558A1 (en) | Radio Transmitter and Receiver | |
Schuh et al. | Punctured vs. multidimensional TCM—A comparison wrt complexity | |
CN110506401B (zh) | 用于延迟比特交织编码调制的发送器和接收器 | |
Sidhu et al. | A review on the performance of multilevel linear block codes | |
WO2022152919A1 (fr) | Schémas de modulation et de codage | |
EP1028533A1 (fr) | Décodage d'un signal d'entrée numérique | |
CN115834321A (zh) | 一种32qam网格编码调制方法 | |
Naim et al. | Improved hard iterative decoding (IHID) of multilevel codes | |
CA2092608A1 (fr) | Methode de modulation d'amplitude en quadrature m-aire a codage en treillis utilisant un debit 1/2 standard pur decodeur de viterbi avec des circuits logiques additionnels simples | |
Jazir et al. | A competent decoding algorithm for Trellis Code in Digital Mobile Radio |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |