Publication number | US20070198899 A1 |

Publication type | Application |

Application number | US 11/673,380 |

Publication date | Aug 23, 2007 |

Filing date | Feb 9, 2007 |

Priority date | Jun 12, 2001 |

Also published as | CN1515079A, CN100389540C, US7240274, US7243295, US20020194567, US20040199856, WO2002101936A2, WO2002101936A3 |

Publication number | 11673380, 673380, US 2007/0198899 A1, US 2007/198899 A1, US 20070198899 A1, US 20070198899A1, US 2007198899 A1, US 2007198899A1, US-A1-20070198899, US-A1-2007198899, US2007/0198899A1, US2007/198899A1, US20070198899 A1, US20070198899A1, US2007198899 A1, US2007198899A1 |

Inventors | Daniel Yellin, Doron Rainish |

Original Assignee | Intel Corporation |

Export Citation | BiBTeX, EndNote, RefMan |

Referenced by (16), Classifications (20), Legal Events (1) | |

External Links: USPTO, USPTO Assignment, Espacenet | |

US 20070198899 A1

Abstract

A packet of encoded data is received and decoded using a look-up table that stores information approximating output of an algorithmic decoding process.

Claims(2)

a processor configured to:

jointly quantize symbols received in a packet of encoded symbols;

decode the jointly quantized symbols to obtain a result; and

decompress the result into individual decoded symbols.

Description

This invention relates to channel decoders.

In many of today's advanced communication systems, channel coding is a key ingredient. The transmitter partition's the data stream into blocks of bits (packets) that are encoded to introduce redundancy information into the transmitted block. The encoded data block is modulated and transmitted through the communication link (channel) connecting the transmitter to the receiver, and a channel-corrupted version of the transmitted data block is received at the receiver-end. After down-conversion and demodulation, the channel decoder at the receiver uses the redundancy introduced by the encoder to recover the transmitted information more reliably.

In general, channel decoders are often categorized by the combination of input/output values they accept or provide. For example, a hard-input hard-output (HIHO) decoder accepts a stream of bits (binary values) as input and provides a stream of binary bits at its output that represent the estimated transmitted bit sequence. Soft-input hard-output (SIHO) decoders accept as input real-valued levels called soft symbols or soft bits that represent the reliability of the bit value. A SIHO decoder produces a stream of binary bits at its output that represents the estimated transmitted bit sequence.

Turbo codes are a special case of channel coding that can operate very close to the theoretical limits of channel capacity and, therefore, are close to optimal. See, for example, C. Berrou et al., *Near Optimum Error Correcting Coding and Decoding: Turbo Codes, *44 IEEE Transaction on Communications 1261 (1996), which addresses parallel concatenated turbo codes and their associated encoders and decoders. Serial concatenated turbo codes are addressed, for example, in S. Benedetto et al., “Serial Concatenation of Interleaved Codes: Performance Analysis, Design and Iterative Decoding,” *IEEE Transaction on Information Theory, *vol. 44, No. 3, pp. 909-926, May 1998.

Turbo codes typically use another type of decoder, known as soft-input soft-output (SISO) decoder, that not only accepts soft inputs, but also provides soft-output. Thus, in SISO decoders, the reliability of the estimated bits, as well as the estimated bits, is provided. Some SISO decoders use the Bahl, Cocke, Jeinek and Raviv (BCJR) algorithm or the soft-output Viterbi algorithm (SOVA). See L. R. Bahl et al., *Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate, *IT-20 IEEE Trans. Inform. Theory 248 (1974); G. D. Forney, *The Viterbi Algorithm, *61 Proc. IEEE 268 (1973).

As shown in **100** that produces a bit stream to be transmitted. Framing block **110** partitions the bit streams into packets of M bits that are encoded by channel encoder **120**. The encoded bits/packets are modulated by a modulator **130** and are up-converted by an up-conversion element **140** and transmitted through the transmitter's antenna **150**.

As shown in **240** that receives encoded data packets from the transmitter. The encoded packet is down-converted by a down conversion element **200** and demodulated by a demodulator **210**. The demodulated packet is provided to a channel decoder **220** to recover the transmitted package. The sequence of recovered packages is converted to an estimated bit stream by a de-framing device **230**.

**120**. The packet data, a**1**, a**2**, . . . , aM (**121**) represents a sequence of M bits to be encoded. The output of the encoder includes the data bits a**1**, a**2**, . . . , aM (**121**), a set of redundancy bits c**1**, c**2**, . . . , cM (**122**) that are the output of a first convolutional encoder **125**, and a second set of redundancy bits d**1**, d**2**, . . . , dM (**123**) that are the output of a second convolutional encoder **126** that operates on re-ordered input bits obtained from an interleaver **124**.

**220** for decoding data packets encoded by the encoder **120** of **210** are passed through a switch **225** to a first SISO decoder **221**A. The soft decoder outputs are passed into a summer **222**A where the soft inputs to the first SISO decoder are subtracted. Thus, the summer **222**A arithmetically combines the output from the SISO decoder **221**A and the soft input values. The outputs of the summer **222** are considered extrinsic information. The extrinsic information is interleaved by interleaver **223** and fed into a second SISO decoder **221**B. Extrinsic information is generated at the output of a summer **222**B and is deinterleaved by the de-interleaver **224** and passed through the switch **225** as input to the fist SISO decoder **221**A. The process continues in an iterative manner, until a termination criterion is satisfied. The values output from the SISO **221**B then are passed through a decision device such as a slicer **226** that provides the final estimate of the transmitted bits, â_{1}, â_{2}, . . . , â_{M}.

As illustrated in **221**A, **221**B can be replaced by a look-up table (LUT) **19** that is pre-configured to approximate the output of an algorithmic SISO decoding process. A pre-configuration process is shown in **19** are determined by generating a **2** ^{(N*K} ^{ 1 } ^{) }entry table, with each entry having K_{2 }bits. The table entries. are chosen so that the table's output in response to a given set of N soft symbols (each consisting of K_{1 }bits) corresponds to an approximation of the output of a pre-specified conventional SISO decoder **221** operating on a block of M symbols, where M is greater than N−1. The approximation can be based, for example, on the mean square of the error term E(n), or on some other pre-specified criteria. If the optimization criterion is minimizing the mean square error between the LUT and actual SISO decoder outputs, then the entries to the LUT **19** should be adjusted to minimize the sum of errors squared:

An alternative LUT pre-configuration criterion can be the overall probability of error of the decoder that utilizes the LUT. In that case, the entries of the table are chosen to minimize the overall error probability of the resulting decoder.

The parameters N, K_{1 }and K_{2 }are user-defined parameters that may depend on the coding scheme, signal-to-noise ratio (SNR), anticipated channel conditions, and on the value of M.

As shown by **41** is received, the corresponding output soft symbol is found in the LUT **19**. The n^{th }soft output is obtained by feeding the soft symbols n−n_{1}, n−n_{1+1}, . . . , n−1, n, n+1, . . . , n−n_{1}+N−1, to the look-up table and reading the corresponding K_{2 }bit table entry. The parameter n_{1 }also is a design parameter.

To reduce the number of entries in the table, joint quantization of several symbols can be performed, thereby allowing the decoder **220** to operate on soft multi-symbols requiring fewer bits. This can significantly reduce the number of bits required at the input to the LUT **19** and, therefore, significantly reduce the number of its entries. When implemented for turbo decoders, this also can reduce the overall memory requirements of the decoder because joint quantization of multiple symbols is more economical in terms of storage requirements than individual single-symbol scalar quantization of each symbol (bit).

**220** that uses both joint quantization and LUT SISO decoding. As shown in **220** receives a vector of soft symbols from the demodulator **210**. A compressor **315** jointly quantizes P adjacent soft symbols that then are decoded by a soft-input soft-output (SISO) decoder block **317** that can include a look-up table (LUT) **319** that is pre-configured to approximate the output of a SISO decoder that operates jointly on P soft symbols. The pre-configuration process is explained below.

The soft outputs of the SISO decoder **317** are passed through a summer **321** where the soft inputs are subtracted to generate extrinsic information. The extrinsic information is decompressed into the single-symbol (bit) level by a decompressor **323** and interleaved by the interleaver **325**.

Next, the soft symbols are re-compressed by a compressor **327** that functions in a similar manner as the first compressor **315**. The compressed symbols are processed by a second SISO decoder block **329** that also can use a LUT **331** to decode the symbols. The SISO block **329** and its LUT **331** can be identical to or substantially the same as the first SISO block **317** and LUT **319**. The resulting soft symbols are used to generate extrinsic information at the output of another summer **333**. The extrinsic information is decompressed to the bit level by decompressor **335** and de-interleaved by de-interleaver **337**. The decompressor **335** may be identical to or substantially the same as decompressor **323**.

The process continues in an iterative manner for a predetermined number of iterations of the decoding process, or until some other termination criterion is reached. A slicer **339** then converts the soft symbols to bits to provide the estimated transmitted information sequence â_{1}, â_{2}, . . . , â_{M}.

As explained above, to reduce the number of entries in the tables **319**, **331**, joint quantization of P symbols can be performed to allow the decoder to operate on soft multi-symbols that require fewer bits to represent each multi-symbol compared to the P*K1 that may be required in the scalar single-symbol quantizer approach. This can significantly reduce the number of bits required at the input to the look-up tables **319**, **331** and can significantly reduce the number of the entries in the tables. In the context of turbo decoding, it also can reduce the storage requirements because fewer than M*k1 bits are required to represent each block of M soft symbols. For a rate ⅓ turbo code, at least three such blocks would be stored.

As shown in **341** that is used as a reference for adapting the look-up table **319** (or **331**) can be fed with the soft symbols without quantizing them. The LUT **319** would receive soft multi-symbols as input. A multi-symbol quantizer **351** also can be used to implement a look-up table adapted for use in the decoder, thereby optimizing both the quantizer **351** and LUT **319**. Alternatively, the SISO decoder **341** can be fed with the quantized multi-symbols and adaptation of the LUT can be performed as described above.

The compressors **315** and **327** can be identical to or substantially the same as the joint quantizer **351**, and the decompressors **323** and **335** can implement the inverse operation.

As shown in **351** and the inverse operation of decomposing the multi-symbol soft from the LUT-based SISO decoder **319** into P multiple soft symbols can be pre-configured jointly by a decompressor block **353**. The joint quantizer **351** and the decompressor **353** also can be implemented by a look-up table and can be pre-configured to minimize the error term E(n) or to minimize the overall probability of error.

The decompressors **323** and **335** can be identical to or substantially similar to the pre-configured multi-symbol decompressor **353**.

The foregoing techniques using look-up tables to implement the SISO block(s) can be used for other channel decoders, for example, for serially concatenated turbo decoders or for other non-turbo channel decoders. The techniques can be used for SIHO, HIHO and HISO decoders.

Using a look-up table that approximates output of the algorithmic decoding process can help reduce the cost and complexity of channel decoders.

Similarly, the joint quantization approach with compress/decompress stages can be performed without the SISO being replaced by look-up tables, for example, to reduce memory requirements in turbo codes.

Although the techniques have been described above in the context of processing turbo codes, a look-up table can be used to replace a conventional SISO decoder in other contexts as well, such as the BCJR algorithm and the soft-output Viterbi algorithm (SOVA). Soft-input hard-output (SIHO) decoders such as those used in the Viterbi algorithm also can be implemented with this approach, as well as hard-input hard-output (HIHO) decoders. In addition, partial implementation of any of these decoders using a LUT also can be used. For example, the forward iteration of the BCJR algorithm can be implemented in a conventional manner while the backward iteration may be implemented with a LUT.

Various features of the system can be implemented in hardware, software, or a combination of hardware and software. For example, some features of the system can be implemented in computer programs executing on programmable computers. Each program can be implemented in a high level-procedural or object-oriented programming language to communicate with a computer system. Furthermore, each such computer program can be stored on a storage medium, such as read-only-memory (ROM) readable by a general or special purpose programmable computer or processor, for configuring and operating the computer when the storage medium is read by the computer to perform the function described above.

Other implementations are within the scope of the following claims.

Referenced by

Citing Patent | Filing date | Publication date | Applicant | Title |
---|---|---|---|---|

US8027407 | Dec 21, 2006 | Sep 27, 2011 | Ntt Docomo, Inc. | Method and apparatus for asynchronous space-time coded transmission from multiple base stations over wireless radio networks |

US8059732 | Nov 13, 2007 | Nov 15, 2011 | Ntt Docomo, Inc. | Method and apparatus for wideband transmission from multiple non-collocated base stations over wireless radio networks |

US8064548 * | May 15, 2008 | Nov 22, 2011 | Ntt Docomo, Inc. | Adaptive MaxLogMAP-type receiver structures |

US8194760 | May 29, 2007 | Jun 5, 2012 | Ntt Docomo, Inc. | Method and apparatus for distributed space-time coding in wireless radio networks |

US8229443 | Aug 10, 2009 | Jul 24, 2012 | Ntt Docomo, Inc. | Method of combined user and coordination pattern scheduling over varying antenna and base-station coordination patterns in a multi-cell environment |

US8279954 | Dec 15, 2008 | Oct 2, 2012 | Ntt Docomo, Inc. | Adaptive forward-backward soft output M-algorithm receiver structures |

US8325840 * | Dec 15, 2008 | Dec 4, 2012 | Ntt Docomo, Inc. | Tree position adaptive soft output M-algorithm receiver structures |

US8451951 | Aug 10, 2009 | May 28, 2013 | Ntt Docomo, Inc. | Channel classification and rate adaptation for SU-MIMO systems |

US8514961 | Feb 4, 2010 | Aug 20, 2013 | Ntt Docomo, Inc. | Method and apparatus for distributed space-time coding in wireless radio networks |

US8542640 | Aug 24, 2009 | Sep 24, 2013 | Ntt Docomo, Inc. | Inter-cell approach to operating wireless beam-forming and user selection/scheduling in multi-cell environments based on limited signaling between patterns of subsets of cells |

US8565329 | Jun 1, 2009 | Oct 22, 2013 | Ntt Docomo, Inc. | Soft output M-algorithm receiver structures with generalized survivor selection criteria for MIMO systems |

US8705484 | Aug 10, 2009 | Apr 22, 2014 | Ntt Docomo, Inc. | Method for varying transmit power patterns in a multi-cell environment |

US8855221 | Sep 11, 2009 | Oct 7, 2014 | Ntt Docomo, Inc. | Method and apparatus for iterative receiver structures for OFDM/MIMO systems with bit interleaved coded modulation |

US8861356 | Feb 29, 2008 | Oct 14, 2014 | Ntt Docomo, Inc. | Method and apparatus for prioritized information delivery with network coding over time-varying network topologies |

US9048977 | May 3, 2010 | Jun 2, 2015 | Ntt Docomo, Inc. | Receiver terminal driven joint encoder and decoder mode adaptation for SU-MIMO systems |

US20090213954 * | Dec 15, 2008 | Aug 27, 2009 | Ozgun Bursalioglu | Tree position adaptive soft output m-algorithm receiver structures |

Classifications

U.S. Classification | 714/776 |

International Classification | H03M13/27, H03M13/45, H03M13/29, H03M13/23, H03M13/00 |

Cooperative Classification | H03M13/299, H03M13/6588, H03M13/6505, H03M13/2957, H03M13/3905, H03M13/6502, H03M13/6577 |

European Classification | H03M13/65V3, H03M13/65V, H03M13/65D1, H03M13/39A, H03M13/65D, H03M13/29T, H03M13/29T5 |

Legal Events

Date | Code | Event | Description |
---|---|---|---|

Mar 1, 2007 | AS | Assignment | Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YELLIN, DANIEL;RAINISH, DORON;REEL/FRAME:018958/0429;SIGNING DATES FROM 20010909 TO 20010916 Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YELLIN, DANIEL;RAINISH, DORON;REEL/FRAME:018958/0561;SIGNING DATES FROM 20010909 TO 20010916 Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YELLIN, DANIEL;RAINISH, DORON;REEL/FRAME:018958/0574;SIGNING DATES FROM 20010909 TO 20010916 |

Rotate