Vous êtes sur la page 1sur 19

Introduction of Low Density Parity Check Codes

Nithesh IGS

What is Coding?

Coding is the conversion of information to another form for some purpose. Source Coding : The purpose is lowering the redundancy in the information. (e.g. ZIP, JPEG, MPEG2) Channel Coding : The purpose is to defeat channel noise.

Block Diagram of a general Communication System

Channel Coding

Channel encoding : The application of redundant symbols to correct data errors. Modulation : Conversion of symbols to a waveform for transmission. Demodulatin : Conversion of the waveform back to symbols, usually one at a time. Decoding: Using the redundant symbols to correct errors.

Why Channel Coding?

Trade-off between Bandwidth, Energy and Complexity. Coding provides the means of patterning signals so as to reduce their energy or bandwidth consumption for a given error performance.

Practical Example

1000 Base-T Ethernet : use 4 pairs of cat-5 cables, use PAM-5 modulation to increase the amount of data sent each symbol, and use 4D 8-state trellis code to combat noise and interference. 802.11a : use OFDM and concatenated code FEC

Common Forward Error Correction Codes


Convolutional Codes Block Codes (e.g. Reed-Solomon Code) Trellis-Coded-Modulation (TCM) Concatenated Codes

How to evaluate Code Performance?


Need to consider Code Rate (R), SNR (Eb/No), and Bit Error Rate (BER). Coding Gain is the saving in Eb/No required to achieve a given BER when coding is used vs. that with no coding. Generally the lower the code rate, the higher the coding gain. Better Codes provides better coding gains. Better Codes usually are more complicated and have higher complexity.

State-of-the-art High Coding Gain Codes

(15, ) Concatenated code: constraint length 15, rate convolutional code Turbo Code These code can achieve coding gains close to Shannon bound, but the implementation cost is high!

Low Density Parity Check Codes

In 1962, Gallager reported work on binary codes defined in terms of low density parity check matrices. In 1996, LDPC codes are re-discovered by D. MacKay and R. Neal. They show it to have very good coding gain performance. Can achieve Turbo Code like performance, but the implementation cost is much lower

LDPC Code Performance

Linear Block Codes

A Linear Code can be described by a generator matrix G or a parity check matrix H. A (N,K) block encoder accepts K-bit input and produces N-bit codeword x= uG, and xHT = 0 where x = codeword, u = information

Encoding / Decoding of LDPC Codes

Encoding is a matrix operation. However, large & sparse LDPC matrix poses implementation problem Decoding problem is to find the most probable vector x such that Hx mod 2 = 0. Many possible implementation exists.

Code Design for LDPC Codes

To achieve good coding gain performance, good LDPC code design is essential. A code design based on density evolution is only 0.0045dB away from the Shannon bound. However, its a rate-1/2 irregular code with maximum variable degree of 100 and blokc size of 107bits. It also requires an average of more than 1000 iterations to achieve the result.

Decoder Implementation of LDPC Codes

Parallel Implementation: Need to cope with complex inter-connect. JSSCC Mar 2002, 1Gb/s 1024b, rate implementation: 690mW, 49mm2 in 0.16 um Not easy to scale to larger block size codes.

Decoder Implementation of LDPC Codes (cont.)

Serial Architecture : Possible to handle larger block size, higher coding gain performance codes. Need fast implementation to achieve high throughput. Possibility : Pipeline or SuperScalar Approach

Application for LDPC Codes

Wireless, Wired, and Optical Communications. Different throughput requirement Need to design codes that work with multi-level modulation (e.g. QAM or MPSK)

Code Design and Implementation

Need to balance the code design requirement for highest coding gain with the ease of implementation. Trade-off between coding gain and implementation complexity.

Research Opportunity

Code Design Hardware Implementation LDPC Application for next generation communication systems (Wireless, OFDM, ADSL).

Vous aimerez peut-être aussi