WO2003005591A1 - Method and apparatus for using trellis coded modulation schemes for encoding and decoding turbo product codes - Google Patents

Method and apparatus for using trellis coded modulation schemes for encoding and decoding turbo product codes Download PDF

Info

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
Application number
PCT/US2002/021199
Other languages
French (fr)
Inventor
Anthony Mark Jones
Garik Markarian
Patrick Alan Owsley
Keith Pickavance
Original Assignee
Comtech Telecommunications Corp.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Comtech Telecommunications Corp. filed Critical Comtech Telecommunications Corp.
Publication of WO2003005591A1 publication Critical patent/WO2003005591A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/258Error 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]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2963Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • H04L1/006Trellis-coded modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel 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.

Abstract

An apparatus and method for encoding a block of data for a given codeword is disclosed. The block of data (210) is split (202) into a first stream (216) of u bits and a second stream (212) of k bits; and the second steam of k bits is encoded using a turbo product code encoding encoding scheme (204), to produce a stream (214) of n encoded bits. Pre-mapped coded symbols and pre-mapped uncoded symbols (218) are generated (206) from at least one of the plurality of n encoded bits and at least one of the plurality of the u bits in the first stream. A mapping (208) to a constellation symbol (220) having an I coordinate and a Q coordinate is then performed from the pre-mapped coded symbol and the pre-mapped uncoded symbol.

Description

METHOD AND APPARATUS FOR USING TRELLIS CODED MODULATION SCHEMES FOR ENCODING AND DECODING TURBO
PRODUCT CODES
Related Applications This Patent Application claims priority under 35 U.S.C. 119 (e) of the co- pending U.S. Provisional Patent Application, Serial No. 60/302,819 filed July 3, 2001, and entitled "METHOD AND APPLICATION OF TURBO PRODUCT CODES FOR USE IN ADVANCED ERROR CODING AND MODULATION SYSTEMS FOR THE PROTECTION OF DATA IN COMMUNICATIONS". The Provisional Patent Application, Serial No. 60/302,819 filed July 3, 2001, and entitled "METHOD AND
APPLICATION OF TURBO PRODUCT CODES FOR USE IN ADVANCED ERROR CODING AND MODULATION SYSTEMS FOR THE PROTECTION OF DATA IN COMMUNICATIONS" is also hereby incorporated by reference.
Field of the Invention
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.
Background of the Invention
The following primarily concerns itself with the use of Turbo Product Codes (TPC) in schemes that exhibit trellis coded modulation type schemes and further pragmatic trellis coded modulation type schemes. Pragmatic Trellis Coded Modulation (PTCM) was first thought to provide a useful and general means of using a rate lA convolutional code in a general system to provide for higher throughputs, hi using the PTCM method in existing systems, certain bits that are passed through the system as uncoded bits use the power of convolutional codes as well as the Viterbi decoder to counteract the performance degradation of these uncoded bits. The idea of using a single rate lA convolutional encoder was also to develop excellent chips that can then be used in more general situations.
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. hi addition, Figure 1 A illustrates the lA 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 lA 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.
Specifically, 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. Thus, 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 Cx and C2, in which the Cx and C2 mapping symbols are used by the bit mapping module 106 to form the constellation symbols (LQ) 116. As stated above, 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 Uj mapping symbol is used by the bit mapping module 106 in conjunction with the and C2 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 C2, respectively. The bit mapping module 106 uses the Ul5 and C2 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 lA Viterbi decoder 122, a rate lA convolutional encoder 126 and an output multiplexer 128. Once the symbol (I,Q) 116 is received at the receiving end 118, the symbol is sent to the SDMG block 120 as well as the UBDG block 124. 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 lA 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. After processing the coded bits 132, the viterbi decoder 122 also sends the decoded bits 134 to a rate XA 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.
Although the above system has been used with convolutional codes, the above system as well as the TCM and PTCM methods have not been used in conjunction with Turbo Product Codes. The TCM and PTCM methods have not been used with Turbo Product Codes due the very long block structure of TPCs. hi addition, the
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.
What is needed is a system and method of encoding and decoding Turbo Product Codes using the PTCM method, thereby to achieving a higher code rate and data throughput without loss of performance in the system.
Summary of the Invention
In one aspect of 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.
Other features and advantages of the present invention will become apparent after reviewing the detailed description of the preferred embodiments set forth below.
Brief Description of the Drawings 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.
Figure 2 illustrates a block diagram of the preferred embodiment of the trellis coding modulation (TCM) encoding system in accordance with the present invention.
Figure 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.
Figure 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.
Detailed Description of the Preferred Embodiment
Reference will now be made in detail to the preferred and alternative embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it should be noted that the present invention may be practiced without these specific details, hi other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
Figure 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
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. h general, 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. However, the present system may also be used in other sized constellations such as QPSK or any sized quadrature amplitude modulation schemes. It should be noted that although the above modules are only shown and described in Figure 2, other modules may be added or substituted to the encoding system 200 in accordance with the present invention. As shown in Figure 2, 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, designated as u bits, 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. As stated above, 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.
Considering that the encoding system 200 has a coding rate of k/n, where k is the number of data bits in the information block and n is the number of total bits in the encoded block, 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. For example, a constellation having 2m points contains m bits per constellation point, (I,Q), whereby the number of total m bits is equal to the sum of mu uncoded bits and mc coded bits. Therefore, mapping mu uncoded bits and mc coded bits to each constellation symbol (I,Q) in an 8PSK modulation scheme would have an m=3, mu=l and mc=2. In other words, in an 8PSK modulation scheme, one uncoded U symbol and two coded C symbols are used to generate one constellation symbol. Once the k bits have been encoded by the turbo product code encoder 204, the encoded n bits 214 are sent to the pre-mapping module 206. The pre-mapping module 206 is preferably set prior to designating the U,, C and C2 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 Ct and C2. Alternatively, 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 XJX symbol. The pre-mapped uncoded symbol JJl as well as the pre-mapped coded symbols C} and C2 are then sent to the mapping module 208. As stated above, the present invention is not limited to utilizing one pre-mapped uncoded Uj symbol per two pre-mapped coded symbols and C2 in generating a constellation symbol (I,Q). Thus, 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 Ul5 Cj and C2 from the pre-mapping module 208. The mapping module 208 is preferably set prior to modulating the U,, Cj and C2 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. Once the mapping module 208 receives the group of pre-mapped symbols, a look up table is preferably used to generate the (I,Q) symbols.
Alternatively, 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. As stated above, it is preferred that one pre-mapped uncoded symbol Ut and two pre-mapped coded symbols C, and C2 are used to form one constellation symbol (LQ). hi addition, as stated above, it is preferred that the number of uncoded u bits sent from the demultiplexer 202 is lA of the n bits encoded by the TPC encoder 204. Therefore, the mapping module 208 preferably outputs (n/2) (I,Q) symbols per codeword. As stated above, any number of uncoded u bits may be used in relation to any number of encoded n bits. Alternatively, 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. Thus, a memory is used (not shown) to store the already encoded symbols while the remaining constellation symbols are generated. Alternatively, each constellation symbol is sent over the transmission channel as each symbol is encoded.
Figure 3 illustrates a block diagram of the preferred embodiment of the trellis coding modulation (TCM) decoding system in accordance with the present invention. It should be noted that although the system in Figure 3 is described with respect to a trellis coding modulation scheme, the system in Figure 3 is useable in a pragmatic trellis coding modulation scheme as well. 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. The SDMG 302 is coupled with the UBDG 308 and the TPC decoder 304. 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. For a particular modulation scheme, there are 2m points in the mapping constellation, where m is the number of bits per constellation point or symbol. For example, in an 8PSK modulation scheme, m is equal to 3 pre-mapped symbols per constellation symbol, the pre-mapped symbols being Ul5 Cl5 and C2. In other words, for an 8PSK modulation scheme, pre-mapped symbols U,, Cl5 and C2 are utilized to map a particular constellation symbol (I,Q). As shown in Figure 4, 8 constellation points are displayed at different locations, wherein each constellation point has a different set of I and Q coordinates. In addition, as shown in Figure 4, 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 Ut, Cl5 and C2. For example, the first quadrant in Figure 4 includes points 1 and 2, whereby point 1 comprises bits U,=0, C^O, and C2=0 and point 2 comprises bits U,=0, C^O, and C2=l and so on. Based on the type of modulation scheme, 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. For example, in Figure 4, 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. Thus, 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. As the data 220 is transmitted over the transmission channel, the presence of Additive White Gaussian Noise (AWGN) in the channel deteriorates the integrity of the data 220. Thus, a constellation symbol having coordinates (1,1) may have coordinates of (2.1,0.5) when received at the receiving end. To aid the decoding system 300 in determining the bit values based on the new (I,Q) values, the decoding system 300 can use information provided to it as to which set the (I,Q) constellation symbol belongs to. In other words, if the decoding system 300 knows that the received (I,Q) symbol belongs to the first set of symbols, 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 Ul5 C,, and C2.
Referring back to Figure 3, 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). Thus, 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. Alternatively, the SDMG 308 produces the soft decision metrics using PSK or QAM soft decision value look up tables, which are known in the art. Using this method, 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.
Regarding the UBDG (uncoded bit decision generator) 308, 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).
In operation, 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. Preferably, 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,
1999, and entitled "Turbo Product Code Decoder", the content of which are hereby incorporated by reference. Alternatively, 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. In addition, 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. It is preferred that 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. Alternately, 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. Once the (I,Q) symbols 314 and the n reencoded bits 322 are received, the UBDG 308 uses the above described method to estimate or determine the values of the uncoded u bits 324. 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. 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. It should be noted that although the system in Figure 5 is described with respect to a trellis coding modulation scheme, the system in Figure 5 is useable in a pragmatic trellis coding modulation scheme as well. As shown in Figure 5, 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.
Generally, as shown in Figure 5, 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. However, the present system may also be used in other sized constellations such as QPSK or any sized quadrature amplitude modulation schemes. It should be noted that although the above modules are only shown and described in Figure 5, other modules may be added or substituted to the encoding system 500 in accordance with the present invention. As shown in Figure 5, 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. As stated above, it is preferred that each constellation symbol includes one uncoded symbol Uj and two coded symbols and C2. It is also preferred that 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. As will be described, 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. Therefore, the TPC encoder 306 will generate a total nmnber of 1024 encoded bits for the given codeword. Thus, the number of uncoded u bits will be equal to 512 bits for the given codeword. Considering this, 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.
Once the 676 information bits have been encoded by the turbo product code encoder 504, the encoder 504 sends the encoded 1024 bits 514 to the pre-mapping module 506. h the present example, the pre-mapping module 506 designates the 512 non encoded u bits into 512 pre-mapped Uj uncoded symbols, h addition, the pre- mapping module 506 designates the two of the 1024 encoded bits into pre-mapped coded symbols Cj and C2. The pre-mapped Uj symbol as well as the pre-mapped coded symbols Cλ and C2 are then sent to the mapping module 508. Although this example utilizes a V% rate TPC encoder 504, the present invention is not limited to only one pre-mapped U uncoded symbol and two pre-mapped coded symbols Q and C2 per constellation symbol. Thus, 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 Ul5 Cx and C2 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. Thus, a memory is used (not shown) to store the aheady encoded symbols while the remaining constellation symbols are generated. Alternatively, each of the 512 constellation symbols is sent over the transmission channel as each constellation symbol is generated.
Figure 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. It should be noted that although the system in Figure 6 is described with respect to a trellis coding modulation scheme, the system in Figure 6 is useable in a pragmatic trellis coding modulation scheme as well. 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. 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. Alternatively, the SDMG 608 produces the soft decision values using PSK soft decision value look up tables, which are also known in the art. Using this method, the SDMG 608 alternatively 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 608 can use any other available techniques, such as Gray mapping scenarios, etc. Details of the SDMG 608 are discussed in detail above. Regarding the UBDG (uncoded bit decision generator) 608, 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. hi operation, as shown in Figure 6, 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. Thus, a memory is used (not shown) to store the constellation symbols as the remaining constellation symbols are still being received in the SDMG 602. Alternatively, 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. Preferably, the TPC decoder 604 utilizes a decoding scheme discussed above. Alternatively, 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. It is preferred that 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
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
608 will be able to use the extra error correction bits to determine the value of the u bits for the given codeword.
As stated above, 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. 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. It is preferred that the output multiplexer 610 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 610 outputs each bit, uncoded or coded, as each bit is received by the output multiplexer 610. hi an alternate embodiment of the present invention, 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. For instance, using the above (32,26)2 2- dimensional TPC in a TCM scheme example, the overall block configuration of the encoding system 500 and decoding system 600 will look the same. However, the system will process another amount of bits per plurality of symbols, instead of 2 coded bits per symbol. For example, 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.
The present invention has been described in terms of specific embodiments incorporating details to facilitate the understanding of the principles of construction and operation of the invention. Such reference herein to specific embodiments and details thereof is not intended to limit the scope of the claims appended hereto. It will be apparent to those skilled in the art that modification s may be made in the embodiment chosen for illustration without departing from the spirit and scope of the invention.

Claims

ClaimsWhat is claimed is:
1. A method of encoding a block of data for a given codeword comprising the steps of: a. receiving the block of data, wherein the block of data is split into a first stream of u bits and a second stream of k bits; b. encoding the second stream of k bits using a turbo product code encoding scheme, thereby producing a stream of n encoded bits; c. generating a pre-mapped coded bit from at least one of the plurality of n encoded bits; d. generating a pre-mapped uncoded bit from at least one of the u bits in the first stream; e. mapping a constellation symbol having an I coordinate and a Q coordinate, wherein the constellation symbol is calculated using the pre-mapped coded bit and the pre-mapped uncoded bit.
PCT/US2002/021199 2001-07-03 2002-07-03 Method and apparatus for using trellis coded modulation schemes for encoding and decoding turbo product codes WO2003005591A1 (en)

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 (en) 2003-01-16

Family

ID=23169330

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/021199 WO2003005591A1 (en) 2001-07-03 2002-07-03 Method and apparatus for using trellis coded modulation schemes for encoding and decoding turbo product codes

Country Status (1)

Country Link
WO (1) WO2003005591A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
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 (en) * 2014-07-04 2017-02-22 华为技术有限公司 Tcm transmitter and receiver devices and methods thereof

Citations (7)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 (en) * 2014-07-04 2017-02-22 华为技术有限公司 Tcm transmitter and receiver devices and methods thereof
CN106464426B (en) * 2014-07-04 2019-08-16 华为技术有限公司 TCM transmitter device and receiver apparatus and its method

Similar Documents

Publication Publication Date Title
US6643332B1 (en) Method and apparatus for multi-level coding of digital signals
US7778341B2 (en) System and method performing quadrature amplitude modulation by combining co-sets and strongly coded co-set identifiers
US10873418B2 (en) Iterative multi-level equalization and decoding
CN101573906B (en) Single carrier block transmission with trellis coded modulation (tcm), multi-level coded modulation (mlcm) and bit-interleaved mlcm (bimlcm)
JP4463857B2 (en) Method and apparatus for transmitting and receiving bit interleaved coded modulated signals
JP5771134B2 (en) Transmitting apparatus and receiving apparatus
CN102457356A (en) Methods and systems for encoding and decoding in trellis coded modulation systems
EP3149874A1 (en) Tcm transmitter and receiver devices and methods thereof
CN103516465B (en) Coded modulation and demodulation and demodulation and decoding method, device and system
EP0459524B1 (en) Error control coding arrangement for communication using convolutionally encoded QAM or PSK
US9065623B1 (en) Mixed mapping for rate compatible trellis coded modulation
US6611940B1 (en) Decoding symbols representing digital words
WO2003005591A1 (en) Method and apparatus for using trellis coded modulation schemes for encoding and decoding turbo product codes
US20120084620A1 (en) Transmission device and receiving device
Karabulut et al. Superposition block coded modulation
US20240039558A1 (en) Radio Transmitter and Receiver
CN110506401B (en) Transmitter and receiver for delayed bit interleaved coded modulation
Sidhu et al. A review on the performance of multilevel linear block codes
WO2022152919A1 (en) Modulation and coding schemes
Naim et al. Improved hard iterative decoding (IHID) of multilevel codes
EP1028533A1 (en) Decoding an input digital signal
CN115834321A (en) 32QAM grid coding modulation method
CA2092608A1 (en) Moam trellis coded modulation technique using industry standard viterbi decoder rate 1/2 and additional simple logic
Jazir et al. A competent decoding algorithm for Trellis Code in Digital Mobile Radio
Öztürk et al. A combined interleaving technique for trellis coded MPSK systems in Rayleigh fading channels

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