Tom Richardson
On the occasion of Bob McEliece’s 60th birthday celebration
1
2
• Codes: New and improved LDPC codes. • Error Floors: The final frontier. • Turbo Equalization for noncoherent OFDM: Structural constraints.
3
1961 R. Gallager Random permutation
4
Multi-edge-type ensembles: RA
RA codes Divsalar, Jin, McEliece 1998
5
1998 Irregular LDPC
6
Multi-edge-type ensembles: IRA
IRA codes Jin, Khandekar, McEliece 2000
7
IRA + RA
8
Multi-edge-type ensembles: CT
CT codes Ping, Wu 2001
AWGNC threshold: 0.925 9
Multi-edge-type ensembles: MN
Kantor, Saad 2000
AWGNC threshold: ~ 0.95 10
IRA + RA + … = Multi-edge type LDPC codes
11
Multi Edge Type LDPC codes:
Parity check matrix perspective 2
3
6
7
6
specify row and column weights
7
2 5 22 5 2 4
Standard irregular LDPC:
3 1 3 2
6 2 3 1 3 3
1
Multi-edge type LDPC: node type = column and row clustering
11
received distribution specs. Edge type specifies row and column weights in any, possibly disconnected, rectangle. 12
Multi Edge Type LDPC codes:
Node perspective multivariate polynomial representation.
Standard irregular LDPC edge-perspective degree polynomials. λ(x), ρ (x) Density Evolution: Fl+1 = R λ( ρ (Fl) )
13
Multi Edge Type LDPC codes:
Node perspective multivariate polynomial representation.
Edge types:
x=(x1,x2,…,xk);
received types: r=(r1,r2,…,rl); Degrees:
Densities: F=(F1,F2,…,Fk) Densities: R=(R1,R2,…,Rl)
d=(d1,d2,…,dk), b=(b1,b2,…,bl) xd=Πi xidi,
rb=Πi ribi
14
Node perspective multivariate polynomial representation. ν(r,x) = Σ νb,d rb xd , Coefficients:
νb,d n µd n
µ(x) = Σ µd xd
= #variable nodes of type b,d = #check nodes of type d
where n is the blocklength
Edge equality constraints:
νxi(1,1) = µxi (1) , i=1,…,k
Received constraints:
νri(1,1) = πi ,
Code Rate:
ν (1,1) – µ (1)
i=1,…,l
15
Node perspective multivariate polynomial representation.
The multi-edge formalism can be used to specify a particular graph. The formalism is, in this sense, universal. The purpose, however, is to find good structures, i.e., ensembles.
16
Multi-edge-type ensembles: RA
RA codes Divsalar, Jin, McEliece 1998
Variables
Constraints
ν b,d
b
d
µd
d
1/q
1 0
q 0
1
1 2
1
0 1
0 2
17
Multi-edge-type ensembles: IRA
IRA codes Jin, Kandekkar, McEliece 2000 Variables
Constraints
ν b,d
b
d
µd
d
0.33821
01
3 0
0.5
8 2
0.02910
01
11 0
0.10805
01
12 0
0.02980
01
48 0
0.50000
01
0 2
AWGNC threshold: 0.963
Shannon: 0.979 18
Multi-edge-type ensembles: CT
Variables
Constraints
ν b,d
b
d
µd
d
CT codes
1/2
01
3 1 0 0 0
1/2
3 0 2 0 0
Ping, Wu 2001
1/2
10
0 0 2 1 0
1/2
0 1 0 1 1
1/2
01
0 0 0 0 1
AWGNC threshold: 0.925 19
Multi-edge-type ensembles: MN
Variables
Constraints
ν b,d
b
d
µd
d
0.45
10
2 3 0 0
0.05
1 0 2 0
0.05
10
1 4 0 0
0.45
2 0 2 0
0.5
01
0 0 2 0
0.075
0 6 0 1
0.5
01
0 0 0 1
0.05
0 7 0 1
0.375
0 2 0 1
AWGNC threshold: ~ 0.95
Kantor, Saad 2000
20
Multi-edge-type ensembles
Variables
Constraints
ν b,d
b
d
µd
d
0.5
0 1
20000
0.4
22100
0.3
0 1
03000
0.1
21200
0.2
1 0
00330
0.2
00031
0.2
0 1
00001
AWGNC threshold: ~ 0.965 21
Performance
22
Multi Edge Type LDPC codes:
Node perspective multivariate polynomial representation. λ(r,x) :=
ρ (x ) :=
νx1(r,x)
νx1(1,1) µx1(x) µx1(1)
Density Evolution:
,…,
,…,
νxk(r,x)
νxk(1,1) µxk(x)
µxk(1)
Fl+1 = λ (R, ρ (Fl))
23
Multi Edge Type LDPC codes:
Stability Perfectly decodable fixed point. F*= λ (R, ρ (F*)) When is it stable ? I.e., If F0 ≅ F* then does Fl C F* ?
24
Reduction to case F* = δ
8
Stability: Removal of Degree 1 nodes
25
Multi Edge Type LDPC codes:
Stability (Degree 1 nodes removed)
Stability Matrix:
26
Multi Edge Type LDPC codes:
Stability : Examples Standard Irregular LPDC:
λ2 B(R) ρ’(1)
Irregular RA code:
B(R)
= B(R)
If ν2,0=0
27
Error Floors
C. Di, D. Proietti, R. Urbanke, A. Shokrollahi, E. Teletar
28
Error floors on the erasure channel: Stopping sets.
29
Error floors on the erasure channel: average performance.
30
Error floors on the erasure channel: decomposition
31
Error floors on the erasure channel: average and typical performance.
32
Error floors for general channels:
Stopping sets are no longer sufficient. A generalization is required. We know what that generalization is from experiments and other considerations. Combinatorial analysis, probabilistic analysis and simulation will yield accurate predictor.
33
Error floors for general channels: Design example. AWGN channel rate 51/64 block lengths 4k
34
Error floors for general channels: Design example. AWGN channel rate 51/64 block lengths 4k
35
Error floors for general channels: Design example. AWGN channel rate 51/64 block lengths 4k
36
Turbo Equalization Hui Jin
37
• Flarion Uplink System • Design of LDPC codes in conjunction with turbo equalizer • Hardware implementation of turbo equalizer
38
• Differentially encoded QPSK • Dwell structured transmission
39
Channel Model:
jθ
ri = e si + ni 40
41
• BPSK signaling. • Unknown phase can only be 0 or with equal probability.
π,
ri = zsi + ni, z = − +
42
43
Optimized for AWGN Optimized for TE 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 f1
f2
f3
f6
f7
g3
g4
g5
g6
44
10
Frame Error Rate
10
10
10
Flarion Code Performance curves (code 640/1344)
-1
Code Code Code Code
1 1 2 2
(optimized for Gaussian) NTE TE (optimized for Turbo Equalizer) NTE TE
-2
-3
-4
-3
-2
-1
0 1 E s /N0 (dB)
2
3
4
45
Differential Encoder
46
47
Optimized for AWGN Optimized for PBTE 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 f1
f2
f3
f6
f7
g3
g4
g5
g6
48
10
Flarion Code Performance curves (code 640/1344)
-1
Code 1 (optimized for Gaussian) Code 2 (optimized for TE) Code 3 (optimzed for PBTE)
Frame Error Rate
10
10
10
-2
-3
-4
-3
-2
-1
0 1 E /N (dB) s
2
3
4
0
49
Flarion Code Performance curves (code 640/1344)
-1
10
-2
10 Frame Error Rate
Approximate MAP decision in demodulation Similar to a complex check node update.
-3
10
-4
Code 1 (optimized for Gaussian) Code 2 simplifed algorithm Code 2 optimal algorithm hardware
10
-3
-2
-1
0 1 Es/N0 (dB)
2
3
4
50
• Less than 50% complexity increase, compared with decoder alone. • Runs at over 100 MHz on Xilinx VirtexE 2000.
51
• LDPC codes design in conjunction with turbo equalizer • Hardware implemented algorithm with 1.7 dB performance gain
52