Title: Introduction of Low Density Parity Check Codes
1Introduction of Low Density Parity Check Codes
2What 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.
3Block Diagram of a general Communication System
4Channel 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.
5Why 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.
6Practical 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
7Common Forward Error Correction Codes
- Convolutional Codes
- Block Codes (e.g. Reed-Solomon Code)
- Trellis-Coded-Modulation (TCM)
- Concatenated Codes
8How 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.
9State-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!
10Low 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
11LDPC Code Performance
12Linear 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
13Encoding / 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.
14Code 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.
15Decoder 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.
16Decoder 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
17Application 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 M-PSK)
18Code 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.
19Research Opportunity
- Code Design
- Hardware Implementation
- LDPC Application for next generation
communication systems (Wireless, OFDM, ADSL).