Download presentation
Presentation is loading. Please wait.
1
Code and Decoder Design of LDPC Codes for Gbps Systems Jeremy Thorpe Presented to: Microsoft Research 2002.11.25
2
Talk Overview Introduction (13 slides) Wiring Complexity ( 9 slides) Logic Complexity (7 slides)
3
Reliable Communication over Unreliable Channels Channel is the means by which information is communicated from sender to receiver Sender chooses X Channel generates Y from conditional probability distribution P(Y|X) Receiver observes Y channel P(Y|X) Y X
4
Shannon’s Channel Coding Theorem Using the channel n times, we can communicate k bits of information with probability of error as small as we like as long as as long as n is large enough. C is a number that characterizes any channel. The same is impossible if R>C.
5
The Coding Strategy Encoder chooses the m th codeword in codebook C and transmits it across the channel Decoder observes the channel output y and generates m’ based on the knowledge of the codebook C and the channel statistics. Decoder Encoder Channel
6
Linear Codes A linear code C can be defined in terms of either a generator matrix or parity-check matrix. Generator matrix G (k×n) Parity-check matrix H (n-k×n)
7
Regular LDPC Codes LDPC Codes linear codes defined in terms of H. The number of ones in each column of H is a fixed number λ. The number of ones in each row of H is a fixed number ρ. Typical parameters for Regular LDPC codes are (λ,ρ)=(3,6).
8
Graph Representation of LDPC Codes H is represented by a bipartite graph. nodes v (degree λ) on the left represent variables. Nodes c (degree ρ)on the right represent equations:... Variable nodes Check nodes
9
Message-Passing Decoding of LDPC Codes Message Passing (or Belief Propagation) decoding is a low-complexity algorithm which approximately answers the question “what is the most likely x given y?” MP recursively defines messages m v,c (i) and m c,v (i) from each node variable node v to each adjacent check node c, for iteration i=0,1,...
10
Two Types of Messages... Liklihood Ratio For y 1,...y n independent conditionally on x: Probability Difference For x 1,...x n independent:
11
...Related by the Biliniear Transform Definition: Properties:
12
Variable to Check Messages On any iteration i, the message from v to c is:... v c
13
Check to Variable Messages On any iteration, the message from c to v is:... v c
14
Decision Rule After sufficiently many iterations, return the likelihood ratio:
15
Theorem about MP Algorithm If the algorithm stops after r iterations, then the algorithm returns the maximum a posteriori probability estimate of x v given y within radius r of v. However, the variables within a radius r of v must be dependent only by the equations within radius r of v, v r...
16
Wiring Complexity
17
Physical Implementation (VLSI) We have seen that the MP decoding algorithm for LDPC codes is defined in terms of a graph Nodes perform local computation Edges carry messages from v to c, and c to v Instantiate this graph on a chip! Edges →Wires Nodes →Logic units
18
Complexity vs. Performance Longer codes provide: More efficient use of the channel (eg. less power used over the AWGN channel) Faster throughput for fixed technology and decoding parameters (number of iterations) Longer codes demand: More logic resources Way more wiring resources
19
The Wiring Problem The number of edges in the graph grows like the number of nodes n. The length of the edges in a random graph also grows like. A random graph
20
Graph Construction? Idea: find a construction that has low wire- length and maintains good performance... Drawback: it is difficult to construct any graph that has the performance of random graph.
21
A Better Solution: Use an algorithm which generates a graph at random, but with a preference for: Short edge length Quantities related to code performance
22
Conventional Graph Wisdom Short loops give rise to dependent messages (which are assumed to be independent) after a small number of iterations, and should be avoided.
23
Simulated Annealing! Simulated annealing approximately minimizes an Energy Function over a Solution space. Requires a good way to traverse the solution space.
24
Generating LDPC graphs with Simulated Annealing Define energy function with two components: Wirelength Loopiness traverse the space by picking two edges at random and do:
25
Results of Simulated Annealing The graph on the right has nearly identical performance to the one shown previously A graph generated by Simulated Annealing
26
Logic Complexity
27
Complexity of Classical Algorithm Original algorithm defines messages in terms of arithmetic operations over real numbers: However, this implies floating-point addition, multiplication, and even division!
28
A modified Algorithm We define a modified algorithm in which all messages are their logarithms in the original scheme The channel message λ is similarly replaced by it's logarithm.
29
Quantization Replaced a product by a sum, but now we have a transcendental function φ. However, if we quantize the messages, we can pre-compute φ for all values!
30
Quantized MP Performance The graph to the following page shows the bit error rate for a regular (3,6) of length n=10,000 code using between 2 and 4 bits of quantization. (Some error floors predicted by density evolution, some are not)
32
Quantization Tradeoffs A quantizer is characterized by its range and granularity For fixed channel quantization: A finely granulated quantizer (Q 1 ) performs well at low SNR. However, the quantizer must be broadened (Q 2 ) to avoid saturation, and resulting error floor. Q1Q1 Q2Q2
33
Conclusion There is a tradeoff between logic complexity and performance Nearly optimal performance (+.1 dB = × 1.03 power) is achievable with 4-bit messages. More work is needed to avoid error-floors due to quantization.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.