Professional Documents
Culture Documents
LDPC Decoding v2
LDPC Decoding v2
1
Error Correction in Communication Systems
noise
2
Error Detection and Correction
3
Error Correction in Communication Systems
Hamming Turbo
Practical codes
codes implementation
BCH codes Convolutional LDPC beats
of codes
codes Turbo and
Reed Solomon convolutional
codes codes
Modulation
Phase-shift keying (PSK) is a digital modulation scheme that
conveys data by changing, or modulating, the phase of a reference
signal
Binary Phase Shift-Keying (BPSK) Modulation
phase reversal keying, or 2PSK) is the
simplest form of phase shift keying (PSK).
It uses two phases which are separated by 180
In matlab: 1-2X where X is the input signal
Quadrature phase-shift keying (QPSK)
4-PSK, or 4-QAM. QPSK uses four points
on the constellation diagram, equispaced
around a circle. With four phases, QPSK
can encode two bits per symbol, shown in
the diagram with gray coding to minimize
the bit error rate (BER).
5
Key terms
Encoder : adds redundant bits to the sender's bit stream to create a codeword.
Decoder: uses the redundant bits to detect and/or correct as many bit errors as
the particular error-control code will allow.
Communication Channel: the part of the communication system that introduces
errors.
Ex: radio, twisted wire pair, coaxial cable, fiber optic cable, magnetic tape, optical discs, or
any other noisy medium
Additive white Gaussian noise (AWGN)
6
Important metrics
Bit error rate (BER): The probability of bit error.
We want to keep this number small
Ex: BER=10-4 means if we have transmitted10,000 bits, there is 1 bit error.
BER is a useful indicator of system performance independent of error channel
BER=Number of error bits/ total number of transmitted bits
Signal to noise ratio (SNR): quantifies how much a signal has been corrupted by
noise.
defined as the ratio of signal power to the noise power corrupting the signal. A ratio higher than
1:1 indicates more signal than noise
often expressed using the logarithmic decibel scale:
7
signal power is two times noise power
Error Correction in Communication Systems
noise Corrected
Information Codeword Receivedword Information
k-bit Encoder n-bit
Decoder k-bit
n-bit
channel (check parity,
(add parity)
detect error)
V=
Parity Image
H.Vi =0
T
channel
Ethernet cable,
Wireless,
or Hard disk
Iterative message passing decoding
12
LDPC CodesTanner Graph
Interconnect representation of H matrix
Two sets of nodes: Check nodes and Variable nodes
Each row of the matrix is represented by a Check node
Each column of matrix is represented by a Variable node
A message passing method is used between nodes to correct errors
(1) Initialization with Receivedword
(2) Messages passing until correct
Example:
V3 to C1, V4 to C1,
V8 to C1, V10 to C1
C2 to V1, C5 to V1
The same for other nodes:
message passing along the Check nodes
C1 C2 C3 C4 C5 C6
connections
Zj
j ' , hij ' 1
ij ' j : message from check to
variable node
: message from variable
ij Z j ij to check node
14
is the original received information from the channel
Message Passing: Check node processing (MinSum)
Check nodes C1 C2 C3 C4 C5 C6
Z
^
V
^
V
16
Syndrome Check
Compute syndrome
Ex:
17
Example
Corrected
Information Codeword (V) Receivedword() Information
k-bit n-bit Decoder
Encoder BPSK n-bit n-bit
channel (iterative
modulation
MinSum)
Encoded information V= [1 0 1 0 1 0 1 0 1 1 1 1]
Estimated code=
^ 1 0 1
V= 0 1 0 0 0 1 1 1 1
18
Ex: Variable node processing (iteration 1)
0 0
= -9.1 4.9 -3.2 3.6 -1.4 3.1 0.3 1.6 -6.1 -2.5 -7.8 -6.8
Z1
j ' , hij ' 1
i1 1
12 15
19
Ex: Check node processing (Iteration 1)
C1 C2 C3 C4 C5 C6
=-9.1 4.9 -3.2 3.6 -1.4 3.1 0.3 1.6 -6.1 -2.5 -7.8 -6.8
20
Ex: Code Estimation (Iteration 1)
Z= =
[ -9.1 4.9 -3.2 3.6 -1.4 3.1 0.3 1.6 -6.1 -2.5 -7.8 -6.8]
^
V Z
^
V
^
V =1 0 1 0 1 0 0 0 1 1 1 1
21
Ex: Syndrome Check (iteration 1)
Compute syndrome
^
H.ViT=0 (Binary multiplication)
1
0
1 0
0 0
x 1 1
0 1
0 1
0 0
1 0
1
1
Syndromei XOR (v j ) 1
jhij | hij 0
22
Second iteration
In variable node processing, compute , and Z based on the algorithm
-1.4 -1.6
= -9.1 4.9 -3.2 3.6 -1.4 3.1 0.3 1.6 -6.1 -2.5 -7.8 -6.8
Z= [-12.1 7.1 -4.5 7.7 -7.2 4.4 -4.2 7.2 -10.0 -7.7 -8.9 -8.1]
^
V= [ 1 0 1 0 1 0 1 0 1 1 1 1 ]
23
Ex: Syndrome Check (iteration 2)
Compute syndrome
^
H.ViT=0 (Binary multiplication)
1
0
1 0
0 0
x 1 0
0 0
1 0
0 0
1 0
1
1
Syndromei XOR (v j ) 1
jhij | hij 0
24
Full-Parallel Decoding
from channel
Every check node and variable
node is mapped to a processor
All processors directly connected
based on the Tanner graph Chk Chk
init: all = 0
Chk
1 2 5
6
Very High throughput
No large memory storage elements
(e.g. SRAMs) Var Var Var Var
High routing congestion 1 2 3 12
Large delay, area, and power caused
by long global wires
25
Full-Parallel LDPC Decoder Examples
Ex 1: 1024-bit decoder, [JSSC 2002]
52.5 mm2, 50% logic utilization, 160 nm CMOS
512 Chk &
Ex 2: 2048 bit decoder, [ISCAS 2009] 1024 Var
18.2 mm2, 25% logic utilization, 30 MHz, Proc.
65 nm CMOS
CPU time for place & route>10 days
300
CPU time (hours)
384 Chk
200 & 2048
Var Proc.
100
For all data in the plot:
0 5 6
Same automatic place & route flow is used
7
10 10 10 CPU: Quad Core, Intel Xeon 3.0GHz
Number of wire connections
Serial Decoder Example
(2) compute V1 V2 V3
(1) initialize memory and store V4 V5 V6
(clear contents)
V7 V8 V9
V10 V11 V12
(3) now
compute C1 C2 C3
and store C4 C5 C6
Decoding Architectures
Partial parallel decoders
Multiple processing units
and shared memories
Throughput: 100 Mbps-Gbps
Requires Large memory
(depending on the size)
Requires Efficient Control and
scheduling
Reported LDPC Decoder ASICs
5
10
Partial-parallel Decoder
Full-parallel Decoder
4
10
Throughput (Mbps)
10GBASE-T
3
10
802.11n
2 DVB-S2
10
802.11a/g
802.16e
1
10
2000 2002 2004 2006 2008 2010
Year
Throughput Across Fabrication Technologies
Partial-parallel Decoder
4 Full-parallel Decoder
10
Throughput (Mbps)
3
10
2
10
1
10
180 160 130 90 65
CMOS Technology (nm)
Energy per Decoded Bit in Different Technologies
1
10
0
10
-1
10
180 160 130 90 65
CMOS Technology (nm)
Circuit Area in Different Technologies
2
10
1
10
0
10
180 160 130 90 65
CMOS Technology (nm)
Key optimization factors
Architectural optimization
Parallelism
Memory
Data path wordwidth (fixedpoint format)
33
Architectural optimization
34
Z. Zhang JSSC 2010
BER performance versus quantization format
35
SNR(dB)
Check Node Processor
37
Variable Node Processor
ij ij' j
Based on the variable j ' , hij ' 1
update equation
The same as the
original MinSum and
SPA algorithms
Variable node
hardware complexity
is mainly reduced via
wordwidth reduction
seven 5-bit
inputs
39
Partial parallel decoder example
40
802.11ad LDPC code
41
42
Transmission scenario
43