ECC-handouts lecture9-PolarCodes
ECC-handouts lecture9-PolarCodes
ECC-handouts lecture9-PolarCodes
Lecture Notes
W vector channel W1
W Wvector W2
W Wn
combine split
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 266 / 385
Basic Principle of Polar Codes
Combining Step leads to Vector Channel
x1
u1 W y1
x2
u2 W y2
Gn
xn
un W yn
Wvector
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 271 / 385
Basic 2-Channel Module
Summary of Bit-Channel Capacities
(1) (2)
• Vector channel is mapped onto bit-channels W2 and W2
x1 x1
u1 W y1 u1 W y1
x3 x2
u3 W y3 u2 W y2
x2 x3
u2 W y2 u3 W y3
x4 x4
u4 W y4 u4 W y4
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 274 / 385
Extension to 8 Basic Channels
x1
u1 W y1
x2
u2 W y2
x3
u3 W y3
x4
u4 W y4
x5
u5 W y5
x6
u6 W y6
x7
u7 W y7
x8
u8 W y8
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 275 / 385
Mathematical Description of Polar codes
• Polar codes are linear block codes related to Reed-Muller codes
• Kronecker product ⊙
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 276 / 385
Effect of Polarization
Generalization of Results for W2 (see slide 272)
x1 (1)
u1 W1 y1
x2 (2)
u2 W1 y2
G2
(i)
• For original BEC channels W all bit-channels Wn are BECs as well
• Each combining step for 2 BECs with erasure probabilities ϵ1 and ϵ2
delivers 2 kinds of channels
• W − = u1 → (y) : Pe (W − ) = 1 − (1 − ϵ1 )(1 − ϵ2 ) = ϵ1 + ϵ2 − ϵ1 ϵ2
• W + = u2 → (y, u1 ) : Pe (W + ) = ϵ1 ϵ2
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 277 / 385
Effect of Polarization x1
Results for W4 u1 W y1
x2
u2 W y2
x3
u3 W y3
x4
u4 W y4
1
n = 22 = 4 n = 23 = 8
0.8
0.6
Pe
0.4
0.2
0
1 2 3 4 2 4 6 8
1
n = 24 = 16 n = 25 = 32
0.8
0.6
Pe
0.4
0.2
0
5 10 15 10 20 30
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 280 / 385
Effect of Polarization
Numerical Results for BEC with Pe = 0.2
1
n = 26 = 64 n = 27 = 128
0.8
0.6
Pe
0.4
0.2
0
20 40 60 50 100
1 8 9
n = 2 = 256 n = 2 = 512
0.8
0.6
Pe
0.4
0.2
0
100 200 200 400
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 281 / 385
Effect of Polarization
Error Probabilities for n = 220 ≈ 106 and BEC with different Pe
1
Pe = 0.1
Pe = 0.2
0.8 Pe = 0.3
Pe = 0.4
P e Wn →
= 0.5
0.6 Pe
Pe = 0.6
(i)
Pe = 0.7
0.4 = 0.8
Pe
Pe = 0.9
0.2
0
0 0.2 0.4 0.6 0.8 1
i/n →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 282 / 385
Effect of Polarization
Histogram of error probabilities for n = 220 ≈ 106 and BEC with Pe = 0.2
100
→
10−1
o
(i)
Pr Pe Wn
10−2
n
10−3
10−4
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
(i)
Pe Wn →
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 283 / 385
Polarization Theorems
Theorem (Polarization, Arikan 2007)
(i)
The bit-channel capacities C(Wn ) polarize for any δ ∈ (0, 1) as the
construction size n grows, i.e.
(i) (i)
no. of channels Wn with C(Wn ) > 1 − δ
−−−→ C(W )
n n→∞
(i) (i)
no. of channels Wn with C(Wn ) < δ
−−−→ 1 − C(W )
n n→∞
holds.
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 284 / 385
Encoding of Polar Codes of length n = 8
BEC with Pe = 0.2 → C = 0.8, code rate Rc = 86 = 0.75
! (i) "
I W8 ) rank
• List decoding
• Breadth-first search algorithm with limited branching and complexity
O(LN log N )
• First produce L candidate decisions and pick the most likely word
from the list
• Sphere-decoding
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 287 / 385
Successive Cancellation Decoding of Polar Codes
• Not powerful enough to challenge LDPC and turbo codes for short to
moderate lengths
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 288 / 385
Successive Cancellation Decoding of Polar Codes
Decoding of bit u1
a1 b1 x1
û1 W y1
a2 b2 x2
W y2
b3 x3
W y3
b4 x4
W y4
x5
W y5
x6
W y6
x7
W y7
x8
W y8
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 289 / 385
Successive Cancellation Decoding of Polar Codes
Decoding of bit u1
p(y|u =0)
• Decoding rule based on LLR L(u1 | y) = log p(y|u1 =1)
1
u1 position is frozen
û1 = 0 L(u1 | y) > 0
1 L(u1 | y) ≤ 0
(1)
• Associated bit-channel W8 is likely to be frozen
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 290 / 385
Successive Cancellation Decoding of Polar Codes
Decoding of bit u2 given u1
a1 b1 x1
û1 W y1
a2 b2 x2
û2 W y2
b3 x3
W y3
b4 x4
W y4
x5
W y5
x6
W y6
x7
W y7
x8
W y8
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 291 / 385
Successive Cancellation Decoding of Polar Codes
Decoding of bit u2
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 293 / 385
Successive Cancellation Decoding of Polar Codes
Decoding of bit u3 given bits u1 and u2
• Decoding u3 requires knowledge of u1 and u2 (to be detected first)
• Decoding rule equivalent to rules for u1 and u2
• Intermediate steps
L(a3 ) = (−1)â1 · L(b1 ) = (−1)â1 · L(x1 ) ⊞ L(x5 )
L(a4 ) = (−1)â2 · L(b2 ) = (−1)â2 · L(x2 ) ⊞ L(x6 )
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 294 / 385
Successive Cancellation Decoding of Polar Codes
Decoding of bit u4 given bits u1 to u3
â1 b1 x1
û1 W y1
â2 b2 x2
û2 W y2
a3 b3 x3
û3 W y3
α4 a4 b4 x4
û4 W y4
x5
W y5
x6
W y6
x7
W y7
x8
W y8
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 295 / 385
Successive Cancellation Decoding of Polar Codes
Decoding of bit u4 given bits u1 to u3
• Intermediate steps
L(a3 ) = (−1)â1 · L(b1 )
L(a4 ) = (−1)â2 · L(b2 )
L(α4 ) = (−1)û3 · L(a3 ) + L(b3 )
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 297 / 385
Error Rate Performance of Polar Codes
Transmission over AWGN and different code lengths N = 2n
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 298 / 385
Error Rate Performance of Polar Codes
Transmission over AWGN and N = 212 and Rc = 0.5
V. Kühn | Error Control Coding | Modern Error Correcting Codes → Polar Codes 299 / 385