llr-based successive cancellation list decoding of polar codes · balatsoukas-stimming, bastani...
TRANSCRIPT
LLR-Based Successive Cancellation List Decoding ofPolar Codes
Alexios Balatsoukas-Stimming,1 Mani Bastani Parizi,2 Andreas Burg1
1: Telecommunications Circuits Laboratory, EPFL2: Information Theory Laboratory, EPFL
ICASSP 2014, Florence
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 1 / 13
Arıkan’s Polar Coding Paradigm
A = {3, 5, 6, 7}
01234567
Encoderx = Gu
Memoryless ChannelW N (y|x) =
∏Ni=1 W (yi|xi)
x ∈ {0, 1}N
Decodery ∈ YN
u =
000
arg max
uA∈{0,1}NR
Pr[Y = y, UAC = 0|UA = uA]arg maxui∈{0,1}
Pr[Y = y, Ui−10 = ui−1
0 |Ui = ui]
Construction:Information Indices: A ⊂ {0, 1, . . . , N − 1}, |A| = NR, N = 2n.
Encoding:
uA , [ui, i ∈ A]T ← data bits,uAC ← known-to-receiver frozen bits (say all-zero).x← Gu (using O(N log N) binary additions).
Decoding: Estimate the information bits uA.
(Optimal) ML Decoding: Consider all 2NR possible paths on the binary tree ofheight N and choose the best → Too complex!(Suboptimal) Successive Cancellation (SC) Decoding: At each level i ∈ A,choose the best possible value of ui given the past estimations and frozen bits.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 2 / 13
Arıkan’s Polar Coding Paradigm
u =
u0u1u2u3u4u5u6u7
Encoderx = Gu
Memoryless ChannelW N (y|x) =
∏Ni=1 W (yi|xi)
x ∈ {0, 1}N
Decodery ∈ YN
u =
000
arg max
uA∈{0,1}NR
Pr[Y = y, UAC = 0|UA = uA]arg maxui∈{0,1}
Pr[Y = y, Ui−10 = ui−1
0 |Ui = ui]
Construction:Information Indices: A ⊂ {0, 1, . . . , N − 1}, |A| = NR, N = 2n.
Encoding:uA , [ui, i ∈ A]T ← data bits,
uAC ← known-to-receiver frozen bits (say all-zero).x← Gu (using O(N log N) binary additions).
Decoding: Estimate the information bits uA.
(Optimal) ML Decoding: Consider all 2NR possible paths on the binary tree ofheight N and choose the best → Too complex!(Suboptimal) Successive Cancellation (SC) Decoding: At each level i ∈ A,choose the best possible value of ui given the past estimations and frozen bits.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 2 / 13
Arıkan’s Polar Coding Paradigm
u =
000u30u5u6u7
Encoderx = Gu
Memoryless ChannelW N (y|x) =
∏Ni=1 W (yi|xi)
x ∈ {0, 1}N
Decodery ∈ YN
u =
000
arg max
uA∈{0,1}NR
Pr[Y = y, UAC = 0|UA = uA]arg maxui∈{0,1}
Pr[Y = y, Ui−10 = ui−1
0 |Ui = ui]
Construction:Information Indices: A ⊂ {0, 1, . . . , N − 1}, |A| = NR, N = 2n.
Encoding:uA , [ui, i ∈ A]T ← data bits,uAC ← known-to-receiver frozen bits (say all-zero).
x← Gu (using O(N log N) binary additions).Decoding: Estimate the information bits uA.
(Optimal) ML Decoding: Consider all 2NR possible paths on the binary tree ofheight N and choose the best → Too complex!(Suboptimal) Successive Cancellation (SC) Decoding: At each level i ∈ A,choose the best possible value of ui given the past estimations and frozen bits.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 2 / 13
Arıkan’s Polar Coding Paradigm
u =
000u30u5u6u7
Encoderx = Gu
Memoryless ChannelW N (y|x) =
∏Ni=1 W (yi|xi)
x ∈ {0, 1}N
Decodery ∈ YN
u =
000
arg max
uA∈{0,1}NR
Pr[Y = y, UAC = 0|UA = uA]arg maxui∈{0,1}
Pr[Y = y, Ui−10 = ui−1
0 |Ui = ui]
Construction:Information Indices: A ⊂ {0, 1, . . . , N − 1}, |A| = NR, N = 2n.
Encoding:uA , [ui, i ∈ A]T ← data bits,uAC ← known-to-receiver frozen bits (say all-zero).x← Gu (using O(N log N) binary additions).
Decoding: Estimate the information bits uA.
(Optimal) ML Decoding: Consider all 2NR possible paths on the binary tree ofheight N and choose the best → Too complex!(Suboptimal) Successive Cancellation (SC) Decoding: At each level i ∈ A,choose the best possible value of ui given the past estimations and frozen bits.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 2 / 13
Arıkan’s Polar Coding Paradigm
u =
000u30u5u6u7
Encoderx = Gu
Memoryless ChannelW N (y|x) =
∏Ni=1 W (yi|xi)
x ∈ {0, 1}N
Decodery ∈ YN
u =
000
arg max
uA∈{0,1}NR
Pr[Y = y, UAC = 0|UA = uA]arg maxui∈{0,1}
Pr[Y = y, Ui−10 = ui−1
0 |Ui = ui]
Construction:Information Indices: A ⊂ {0, 1, . . . , N − 1}, |A| = NR, N = 2n.
Encoding:uA , [ui, i ∈ A]T ← data bits,uAC ← known-to-receiver frozen bits (say all-zero).x← Gu (using O(N log N) binary additions).
Decoding: Estimate the information bits uA.
(Optimal) ML Decoding: Consider all 2NR possible paths on the binary tree ofheight N and choose the best → Too complex!(Suboptimal) Successive Cancellation (SC) Decoding: At each level i ∈ A,choose the best possible value of ui given the past estimations and frozen bits.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 2 / 13
Arıkan’s Polar Coding Paradigm
u =
000u30u5u6u7
Encoderx = Gu
Memoryless ChannelW N (y|x) =
∏Ni=1 W (yi|xi)
x ∈ {0, 1}N
Decodery ∈ YN
u =
000
u3 =?0
u5 =?u6 =?u7 =?
arg maxuA∈{0,1}NR
Pr[Y = y, UAC = 0|UA = uA]arg maxui∈{0,1}
Pr[Y = y, Ui−10 = ui−1
0 |Ui = ui]
Construction:Information Indices: A ⊂ {0, 1, . . . , N − 1}, |A| = NR, N = 2n.
Encoding:uA , [ui, i ∈ A]T ← data bits,uAC ← known-to-receiver frozen bits (say all-zero).x← Gu (using O(N log N) binary additions).
Decoding: Estimate the information bits uA.
(Optimal) ML Decoding: Consider all 2NR possible paths on the binary tree ofheight N and choose the best → Too complex!(Suboptimal) Successive Cancellation (SC) Decoding: At each level i ∈ A,choose the best possible value of ui given the past estimations and frozen bits.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 2 / 13
Arıkan’s Polar Coding Paradigm
u =
000u30u5u6u7
Encoderx = Gu
Memoryless ChannelW N (y|x) =
∏Ni=1 W (yi|xi)
x ∈ {0, 1}N
Decodery ∈ YN
u =
000
u3 =?0
u5 =?u6 =?u7 =?
arg max
uA∈{0,1}NR
Pr[Y = y, UAC = 0|UA = uA]
arg maxui∈{0,1}
Pr[Y = y, Ui−10 = ui−1
0 |Ui = ui]
Construction:Information Indices: A ⊂ {0, 1, . . . , N − 1}, |A| = NR, N = 2n.
Encoding:uA , [ui, i ∈ A]T ← data bits,uAC ← known-to-receiver frozen bits (say all-zero).x← Gu (using O(N log N) binary additions).
Decoding: Estimate the information bits uA.(Optimal) ML Decoding: Consider all 2NR possible paths on the binary tree ofheight N and choose the best → Too complex!
(Suboptimal) Successive Cancellation (SC) Decoding: At each level i ∈ A,choose the best possible value of ui given the past estimations and frozen bits.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 2 / 13
Arıkan’s Polar Coding Paradigm
u =
000u30u5u6u7
Encoderx = Gu
Memoryless ChannelW N (y|x) =
∏Ni=1 W (yi|xi)
x ∈ {0, 1}N
Decodery ∈ YN
u =
000
u3 =??
u5 =?u6 =?u7 =?
arg maxuA∈{0,1}NR
Pr[Y = y, UAC = 0|UA = uA]
arg maxui∈{0,1}
Pr[Y = y, Ui−10 = ui−1
0 |Ui = ui]
Construction:Information Indices: A ⊂ {0, 1, . . . , N − 1}, |A| = NR, N = 2n.
Encoding:uA , [ui, i ∈ A]T ← data bits,uAC ← known-to-receiver frozen bits (say all-zero).x← Gu (using O(N log N) binary additions).
Decoding: Estimate the information bits uA.(Optimal) ML Decoding: Consider all 2NR possible paths on the binary tree ofheight N and choose the best → Too complex!(Suboptimal) Successive Cancellation (SC) Decoding: At each level i ∈ A,choose the best possible value of ui given the past estimations and frozen bits.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 2 / 13
SC Decoding and SCL Decoding in Details . . .
for i = 0, 1, . . . , N − 1 do // Start from the root and go down...if i 6∈ A then
ui ← 0;else
ui ← arg maxui∈{0,1}
W(i)n (y, ui−1|ui);
return uA ;
Sub-optimal, but still asymptotically powerful; Pe ≈ O(2−√
N ) [Arıkan andTelatar’09] ⇒ Polar codes are capacity-achieving.Efficient: O(N log N) arithmetic operations [Arıkan’09]Successive Cancellation List (SCL) decoding to improve the poor finiteblock-length performance [Tal and Vardy’11].
Idea: keep track of L paths on the binary tree concurrently.Time complexity: O(L N log N).
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 3 / 13
SC Decoding and SCL Decoding in Details . . .
for i = 0, 1, . . . , N − 1 do // Start from the root and go down...if i 6∈ A then
ui ← 0; // If i is a frozen index the you know where to goelse
ui ← arg maxui∈{0,1}
W(i)n (y, ui−1|ui);
return uA ;
Sub-optimal, but still asymptotically powerful; Pe ≈ O(2−√
N ) [Arıkan andTelatar’09] ⇒ Polar codes are capacity-achieving.Efficient: O(N log N) arithmetic operations [Arıkan’09]Successive Cancellation List (SCL) decoding to improve the poor finiteblock-length performance [Tal and Vardy’11].
Idea: keep track of L paths on the binary tree concurrently.Time complexity: O(L N log N).
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 3 / 13
SC Decoding and SCL Decoding in Details . . .
for i = 0, 1, . . . , N − 1 do // Start from the root and go down...if i 6∈ A then
ui ← 0; // If i is a frozen index the you know where to goelse
ui ← arg maxui∈{0,1}
W(i)n (y, ui−1|ui); // Follow the best direction given the past
return uA ;
Sub-optimal, but still asymptotically powerful; Pe ≈ O(2−√
N ) [Arıkan andTelatar’09] ⇒ Polar codes are capacity-achieving.Efficient: O(N log N) arithmetic operations [Arıkan’09]Successive Cancellation List (SCL) decoding to improve the poor finiteblock-length performance [Tal and Vardy’11].
Idea: keep track of L paths on the binary tree concurrently.Time complexity: O(L N log N).
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 3 / 13
SC Decoding and SCL Decoding in Details . . .
for i = 0, 1, . . . , N − 1 do // Start from the root and go down...if i 6∈ A then
ui ← 0; // If i is a frozen index the you know where to goelse
ui ← arg maxui∈{0,1}
W(i)n (y, ui−1|ui); // Follow the best direction given the past
return uA ;
Sub-optimal, but still asymptotically powerful; Pe ≈ O(2−√
N ) [Arıkan andTelatar’09] ⇒ Polar codes are capacity-achieving.Efficient: O(N log N) arithmetic operations [Arıkan’09]Successive Cancellation List (SCL) decoding to improve the poor finiteblock-length performance [Tal and Vardy’11].
Idea: keep track of L paths on the binary tree concurrently.Time complexity: O(L N log N).
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 3 / 13
SC Decoding and SCL Decoding in Details . . .
for i = 0, 1, . . . , N − 1 do // Start from the root and go down...if i 6∈ A then
ui ← 0; // If i is a frozen index the you know where to goelse
ui ← arg maxui∈{0,1}
W(i)n (y, ui−1|ui); // Follow the best direction given the past
return uA ;
Sub-optimal, but still asymptotically powerful; Pe ≈ O(2−√
N ) [Arıkan andTelatar’09] ⇒ Polar codes are capacity-achieving.
Efficient: O(N log N) arithmetic operations [Arıkan’09]Successive Cancellation List (SCL) decoding to improve the poor finiteblock-length performance [Tal and Vardy’11].
Idea: keep track of L paths on the binary tree concurrently.Time complexity: O(L N log N).
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 3 / 13
SC Decoding and SCL Decoding in Details . . .
for i = 0, 1, . . . , N − 1 do // Start from the root and go down...if i 6∈ A then
ui ← 0; // If i is a frozen index the you know where to goelse
ui ← arg maxui∈{0,1}
W(i)n (y, ui−1|ui); // Follow the best direction given the past
return uA ;
Sub-optimal, but still asymptotically powerful; Pe ≈ O(2−√
N ) [Arıkan andTelatar’09] ⇒ Polar codes are capacity-achieving.Efficient: O(N log N) arithmetic operations [Arıkan’09]
Successive Cancellation List (SCL) decoding to improve the poor finiteblock-length performance [Tal and Vardy’11].
Idea: keep track of L paths on the binary tree concurrently.Time complexity: O(L N log N).
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 3 / 13
SC Decoding and SCL Decoding in Details . . .
for i = 0, 1, . . . , N − 1 do // Start from the root and go down...if i 6∈ A then
ui ← 0; // If i is a frozen index the you know where to goelse
ui ← arg maxui∈{0,1}
W(i)n (y, ui−1|ui); // Follow the best direction given the past
return uA ;
Sub-optimal, but still asymptotically powerful; Pe ≈ O(2−√
N ) [Arıkan andTelatar’09] ⇒ Polar codes are capacity-achieving.Efficient: O(N log N) arithmetic operations [Arıkan’09]Successive Cancellation List (SCL) decoding to improve the poor finiteblock-length performance [Tal and Vardy’11].
Idea: keep track of L paths on the binary tree concurrently.Time complexity: O(L N log N).
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 3 / 13
SC Decoding and SCL Decoding in Details . . .
for i = 0, 1, . . . , N − 1 do // Go down like before ...if i 6∈ A then
ui[`]← ui, ∀` ∈ {0, 1, . . . , L− 1} ; // Frozen bits are the same for all L pathselse // Continue along the L best paths on the tree
if Less than L paths are active thenDuplicate all the paths and continue with both possible values of ui;
elseSort the likelihoods
{W
(i)n (y, ui−1[`]|ui) : ∀` ∈ {0, 1, . . . , L− 1}, ∀ui ∈ {0, 1}
};
Continue along the L most likely paths;
`∗ ← The index of the most-likely path;return uA[`∗];
Sub-optimal, but still asymptotically powerful; Pe ≈ O(2−√
N ) [Arıkan andTelatar’09] ⇒ Polar codes are capacity-achieving.Efficient: O(N log N) arithmetic operations [Arıkan’09]Successive Cancellation List (SCL) decoding to improve the poor finiteblock-length performance [Tal and Vardy’11].
Idea: keep track of L paths on the binary tree concurrently.
Time complexity: O(L N log N).
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 3 / 13
SC Decoding and SCL Decoding in Details . . .
for i = 0, 1, . . . , N − 1 do // Go down like before ...if i 6∈ A then
ui[`]← ui, ∀` ∈ {0, 1, . . . , L− 1} ; // Frozen bits are the same for all L pathselse // Continue along the L best paths on the tree
if Less than L paths are active thenDuplicate all the paths and continue with both possible values of ui;
elseSort the likelihoods
{W
(i)n (y, ui−1[`]|ui) : ∀` ∈ {0, 1, . . . , L− 1}, ∀ui ∈ {0, 1}
};
Continue along the L most likely paths;
`∗ ← The index of the most-likely path;return uA[`∗];
Sub-optimal, but still asymptotically powerful; Pe ≈ O(2−√
N ) [Arıkan andTelatar’09] ⇒ Polar codes are capacity-achieving.Efficient: O(N log N) arithmetic operations [Arıkan’09]Successive Cancellation List (SCL) decoding to improve the poor finiteblock-length performance [Tal and Vardy’11].
Idea: keep track of L paths on the binary tree concurrently.Time complexity: O(L N log N).
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 3 / 13
Example of SC versus SCL Decoding
u0
u1
u2
u3
u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
0u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
1
0
0
0N = 23, A = {3, 5, 6, 7}uA = [0, 0, 0, 0]T
SC Decoder
⇒ uA = [1, 0, 1, 0]T /
SC List Decoder, L = 2
⇒ uA = [0, 0, 0, 0]T ,
? ?
? ?
? ?
?
? ?
? ? ? ?
? ? ? ?
? ?
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 4 / 13
Example of SC versus SCL Decoding
u0
u1
u2
u3
u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
0u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
1
0
0
0N = 23, A = {3, 5, 6, 7}uA = [0, 0, 0, 0]T
SC Decoder
⇒ uA = [1, 0, 1, 0]T /SC List Decoder, L = 2
⇒ uA = [0, 0, 0, 0]T ,
? ?
? ?
? ?
?
? ?
? ? ? ?
? ? ? ?
? ?
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 4 / 13
Example of SC versus SCL Decoding
u0
u1
u2
u3
u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
0u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
1
0
0
0N = 23, A = {3, 5, 6, 7}uA = [0, 0, 0, 0]T
SC Decoder
⇒ uA = [1, 0, 1, 0]T /SC List Decoder, L = 2
⇒ uA = [0, 0, 0, 0]T ,
? ?
? ?
? ?
?
? ?
? ? ? ?
? ? ? ?
? ?
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 4 / 13
Example of SC versus SCL Decoding
u0
u1
u2
u3
u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
0u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
1
0
0
0N = 23, A = {3, 5, 6, 7}uA = [0, 0, 0, 0]T
SC Decoder
⇒ uA = [1, 0, 1, 0]T /SC List Decoder, L = 2
⇒ uA = [0, 0, 0, 0]T ,
? ?
? ?
? ?
?
? ?
? ? ? ?
? ? ? ?
? ?
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 4 / 13
Example of SC versus SCL Decoding
u0
u1
u2
u3
u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
0u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
1
0
0
0N = 23, A = {3, 5, 6, 7}uA = [0, 0, 0, 0]T
SC Decoder
⇒ uA = [1, 0, 1, 0]T /SC List Decoder, L = 2
⇒ uA = [0, 0, 0, 0]T ,
? ?
? ?
? ?
?
? ?
? ? ? ?
? ? ? ?
? ?
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 4 / 13
Example of SC versus SCL Decoding
u0
u1
u2
u3
u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
0u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
1
0
0
0N = 23, A = {3, 5, 6, 7}uA = [0, 0, 0, 0]T
SC Decoder
⇒ uA = [1, 0, 1, 0]T /SC List Decoder, L = 2
⇒ uA = [0, 0, 0, 0]T ,
? ?
? ?
? ?
?
? ?
? ? ? ?
? ? ? ?
? ?
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 4 / 13
Example of SC versus SCL Decoding
u0
u1
u2
u3
u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
0u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
1
0
0
0N = 23, A = {3, 5, 6, 7}uA = [0, 0, 0, 0]T
SC Decoder
⇒ uA = [1, 0, 1, 0]T /SC List Decoder, L = 2
⇒ uA = [0, 0, 0, 0]T ,
? ?
? ?
? ?
?
? ?
? ? ? ?
? ? ? ?
? ?
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 4 / 13
Example of SC versus SCL Decoding
u0
u1
u2
u3
u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
0u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
1
0
0
0N = 23, A = {3, 5, 6, 7}uA = [0, 0, 0, 0]T
SC Decoder⇒ uA = [1, 0, 1, 0]T /
SC List Decoder, L = 2
⇒ uA = [0, 0, 0, 0]T ,
? ?
? ?
? ?
?
? ?
? ? ? ?
? ? ? ?
? ?
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 4 / 13
Example of SC versus SCL Decoding
u0
u1
u2
u3
u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
0u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
1
0
0
0N = 23, A = {3, 5, 6, 7}uA = [0, 0, 0, 0]T
SC Decoder⇒ uA = [1, 0, 1, 0]T /
SC List Decoder, L = 2
⇒ uA = [0, 0, 0, 0]T ,
? ?
? ?
? ?
?
? ?
? ? ? ?
? ? ? ?
? ?
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 4 / 13
Example of SC versus SCL Decoding
u0
u1
u2
u3
u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
0u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
1
0
0
0N = 23, A = {3, 5, 6, 7}uA = [0, 0, 0, 0]T
SC Decoder⇒ uA = [1, 0, 1, 0]T /
SC List Decoder, L = 2
⇒ uA = [0, 0, 0, 0]T ,
? ?
? ?
? ?
?
? ?
? ? ? ?
? ? ? ?
? ?
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 4 / 13
Example of SC versus SCL Decoding
u0
u1
u2
u3
u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
0u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
1
0
0
0N = 23, A = {3, 5, 6, 7}uA = [0, 0, 0, 0]T
SC Decoder⇒ uA = [1, 0, 1, 0]T /
SC List Decoder, L = 2
⇒ uA = [0, 0, 0, 0]T ,
? ?
? ?
? ?
?
? ?
? ? ? ?
? ? ? ?
? ?
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 4 / 13
Example of SC versus SCL Decoding
u0
u1
u2
u3
u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
0u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
1
0
0
0N = 23, A = {3, 5, 6, 7}uA = [0, 0, 0, 0]T
SC Decoder⇒ uA = [1, 0, 1, 0]T /
SC List Decoder, L = 2
⇒ uA = [0, 0, 0, 0]T ,
? ?
? ?
? ?
?
? ?
? ? ? ?
? ? ? ?
? ?
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 4 / 13
Example of SC versus SCL Decoding
u0
u1
u2
u3
u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
0u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
1
0
0
0N = 23, A = {3, 5, 6, 7}uA = [0, 0, 0, 0]T
SC Decoder⇒ uA = [1, 0, 1, 0]T /
SC List Decoder, L = 2
⇒ uA = [0, 0, 0, 0]T ,
? ?
? ?
? ?
?
? ?
? ? ? ?
? ? ? ?
? ?
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 4 / 13
Example of SC versus SCL Decoding
u0
u1
u2
u3
u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
0u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
1
0
0
0N = 23, A = {3, 5, 6, 7}uA = [0, 0, 0, 0]T
SC Decoder⇒ uA = [1, 0, 1, 0]T /
SC List Decoder, L = 2
⇒ uA = [0, 0, 0, 0]T ,
? ?
? ?
? ?
?
? ?
? ? ? ?
? ? ? ?
? ?
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 4 / 13
Example of SC versus SCL Decoding
u0
u1
u2
u3
u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
0u4
u5
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
0
u6
u7
uA
0uA
1
0u7
uA
0uA
1
1
1
0
1
0
0
0N = 23, A = {3, 5, 6, 7}uA = [0, 0, 0, 0]T
SC Decoder⇒ uA = [1, 0, 1, 0]T /
SC List Decoder, L = 2⇒ uA = [0, 0, 0, 0]T ,
? ?
? ?
? ?
?
? ?
? ? ? ?
? ? ? ?
? ?
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 4 / 13
Implementing the Decoders
SC Decoder: binary decisions
Computing the log-likelihood ratios (LLRs),
L(i)n , ln W
(i)n (y, ui−1|ui = 0)
W(i)n (y, ui−1|ui = 1)
is sufficient for the decisions.LLR-based implementation:
Simple arithmetics (Min-Sum approximation),Numerical stability.
SC List Decoding: Decisions of type best L out of 2L possibilities.
The LLRs
L(i)n [`] , ln W
(i)n (y, ui−1[`]|ui = 0)
W(i)n (y, ui−1[`]|ui = 1)
, ` ∈ {0, 1, . . . , L− 1},
seem not to be useful a priori.Computing the likelihoods directly is practically impossible because ofunderflows.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 5 / 13
Implementing the Decoders
SC Decoder: binary decisionsComputing the log-likelihood ratios (LLRs),
L(i)n , ln W
(i)n (y, ui−1|ui = 0)
W(i)n (y, ui−1|ui = 1)
is sufficient for the decisions.
LLR-based implementation:Simple arithmetics (Min-Sum approximation),Numerical stability.
SC List Decoding: Decisions of type best L out of 2L possibilities.
The LLRs
L(i)n [`] , ln W
(i)n (y, ui−1[`]|ui = 0)
W(i)n (y, ui−1[`]|ui = 1)
, ` ∈ {0, 1, . . . , L− 1},
seem not to be useful a priori.Computing the likelihoods directly is practically impossible because ofunderflows.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 5 / 13
Implementing the Decoders
SC Decoder: binary decisionsComputing the log-likelihood ratios (LLRs),
L(i)n , ln W
(i)n (y, ui−1|ui = 0)
W(i)n (y, ui−1|ui = 1)
is sufficient for the decisions.LLR-based implementation:
Simple arithmetics (Min-Sum approximation),Numerical stability.
SC List Decoding: Decisions of type best L out of 2L possibilities.
The LLRs
L(i)n [`] , ln W
(i)n (y, ui−1[`]|ui = 0)
W(i)n (y, ui−1[`]|ui = 1)
, ` ∈ {0, 1, . . . , L− 1},
seem not to be useful a priori.Computing the likelihoods directly is practically impossible because ofunderflows.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 5 / 13
Implementing the Decoders
SC Decoder: binary decisionsComputing the log-likelihood ratios (LLRs),
L(i)n , ln W
(i)n (y, ui−1|ui = 0)
W(i)n (y, ui−1|ui = 1)
is sufficient for the decisions.LLR-based implementation:
Simple arithmetics (Min-Sum approximation),Numerical stability.
SC List Decoding: Decisions of type best L out of 2L possibilities.
The LLRs
L(i)n [`] , ln W
(i)n (y, ui−1[`]|ui = 0)
W(i)n (y, ui−1[`]|ui = 1)
, ` ∈ {0, 1, . . . , L− 1},
seem not to be useful a priori.Computing the likelihoods directly is practically impossible because ofunderflows.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 5 / 13
Implementing the Decoders
SC Decoder: binary decisionsComputing the log-likelihood ratios (LLRs),
L(i)n , ln W
(i)n (y, ui−1|ui = 0)
W(i)n (y, ui−1|ui = 1)
is sufficient for the decisions.LLR-based implementation:
Simple arithmetics (Min-Sum approximation),Numerical stability.
SC List Decoding: Decisions of type best L out of 2L possibilities.The LLRs
L(i)n [`] , ln W
(i)n (y, ui−1[`]|ui = 0)
W(i)n (y, ui−1[`]|ui = 1)
, ` ∈ {0, 1, . . . , L− 1},
seem not to be useful a priori.
Computing the likelihoods directly is practically impossible because ofunderflows.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 5 / 13
Implementing the Decoders
SC Decoder: binary decisionsComputing the log-likelihood ratios (LLRs),
L(i)n , ln W
(i)n (y, ui−1|ui = 0)
W(i)n (y, ui−1|ui = 1)
is sufficient for the decisions.LLR-based implementation:
Simple arithmetics (Min-Sum approximation),Numerical stability.
SC List Decoding: Decisions of type best L out of 2L possibilities.The LLRs
L(i)n [`] , ln W
(i)n (y, ui−1[`]|ui = 0)
W(i)n (y, ui−1[`]|ui = 1)
, ` ∈ {0, 1, . . . , L− 1},
seem not to be useful a priori.Computing the likelihoods directly is practically impossible because ofunderflows.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 5 / 13
How to Implement a SCL Decoder?
[Tal and Vardy’11] Re-normalize the likelihoods at intermediate steps.Suitable for software implementation but still requires floating point numbersand complicated arithmetic operations (multiplications).
[Balatsoukas-Stimming et. al’13] Compute the log-likelihoods (LLs)
− ln W (i)n (y, ui−1[`]|ui), ∀` = 0, 1, .., L− 1, ui ∈ {0, 1}
Some numerical stability,Relatively simple arithmetics (Min-Sum update rules for LLs),Large and irregular memory elements
Our Contribution
The SCL Decoder can still be implemented using only the LLRs (at eachdecoding path) and an additional path-metric (used for sorting the paths).
⇒ Combining the improved performance of SCL Decoder and the ease ofimplementation of SC Decoder.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 6 / 13
How to Implement a SCL Decoder?
[Tal and Vardy’11] Re-normalize the likelihoods at intermediate steps.Suitable for software implementation but still requires floating point numbersand complicated arithmetic operations (multiplications).
[Balatsoukas-Stimming et. al’13] Compute the log-likelihoods (LLs)
− ln W (i)n (y, ui−1[`]|ui), ∀` = 0, 1, .., L− 1, ui ∈ {0, 1}
Some numerical stability,Relatively simple arithmetics (Min-Sum update rules for LLs),Large and irregular memory elements
Our Contribution
The SCL Decoder can still be implemented using only the LLRs (at eachdecoding path) and an additional path-metric (used for sorting the paths).
⇒ Combining the improved performance of SCL Decoder and the ease ofimplementation of SC Decoder.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 6 / 13
How to Implement a SCL Decoder?
[Tal and Vardy’11] Re-normalize the likelihoods at intermediate steps.Suitable for software implementation but still requires floating point numbersand complicated arithmetic operations (multiplications).
[Balatsoukas-Stimming et. al’13] Compute the log-likelihoods (LLs)
− ln W (i)n (y, ui−1[`]|ui), ∀` = 0, 1, .., L− 1, ui ∈ {0, 1}
Some numerical stability,Relatively simple arithmetics (Min-Sum update rules for LLs),
Large and irregular memory elements
Our Contribution
The SCL Decoder can still be implemented using only the LLRs (at eachdecoding path) and an additional path-metric (used for sorting the paths).
⇒ Combining the improved performance of SCL Decoder and the ease ofimplementation of SC Decoder.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 6 / 13
How to Implement a SCL Decoder?
[Tal and Vardy’11] Re-normalize the likelihoods at intermediate steps.Suitable for software implementation but still requires floating point numbersand complicated arithmetic operations (multiplications).
[Balatsoukas-Stimming et. al’13] Compute the log-likelihoods (LLs)
− ln W (i)n (y, ui−1[`]|ui), ∀` = 0, 1, .., L− 1, ui ∈ {0, 1}
Some numerical stability,Relatively simple arithmetics (Min-Sum update rules for LLs),Large and irregular memory elements
Our Contribution
The SCL Decoder can still be implemented using only the LLRs (at eachdecoding path) and an additional path-metric (used for sorting the paths).
⇒ Combining the improved performance of SCL Decoder and the ease ofimplementation of SC Decoder.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 6 / 13
How to Implement a SCL Decoder?
[Tal and Vardy’11] Re-normalize the likelihoods at intermediate steps.Suitable for software implementation but still requires floating point numbersand complicated arithmetic operations (multiplications).
[Balatsoukas-Stimming et. al’13] Compute the log-likelihoods (LLs)
− ln W (i)n (y, ui−1[`]|ui), ∀` = 0, 1, .., L− 1, ui ∈ {0, 1}
Some numerical stability,Relatively simple arithmetics (Min-Sum update rules for LLs),Large and irregular memory elements
Our ContributionThe SCL Decoder can still be implemented using only the LLRs (at eachdecoding path) and an additional path-metric (used for sorting the paths).
⇒ Combining the improved performance of SCL Decoder and the ease ofimplementation of SC Decoder.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 6 / 13
How to Implement a SCL Decoder?
[Tal and Vardy’11] Re-normalize the likelihoods at intermediate steps.Suitable for software implementation but still requires floating point numbersand complicated arithmetic operations (multiplications).
[Balatsoukas-Stimming et. al’13] Compute the log-likelihoods (LLs)
− ln W (i)n (y, ui−1[`]|ui), ∀` = 0, 1, .., L− 1, ui ∈ {0, 1}
Some numerical stability,Relatively simple arithmetics (Min-Sum update rules for LLs),Large and irregular memory elements
Our ContributionThe SCL Decoder can still be implemented using only the LLRs (at eachdecoding path) and an additional path-metric (used for sorting the paths).
⇒ Combining the improved performance of SCL Decoder and the ease ofimplementation of SC Decoder.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 6 / 13
LLR-based Path Metric Computation
TheoremFor each path ` ∈ {0, 1, . . . , L− 1} and each index i ∈ {0, 1, . . . , N − 1} letthe path-metric be defined as:
PM(i)` ,
i∑j=0
ln(1 + e−(1−2uj [`])·L(j)
n [`]),where L(i)
n [`] = ln W (i)n (y,ui−1[`]|0)
W(i)n (y,ui−1[`]|1)
.
If all the information bits are uniformly distributed in {0, 1}, for any pair ofpaths `, `′ ∈ {0, 1, . . . , L− 1},
W (i)n (y, ui−1[`]|ui[`]) < W (i)
n (y, ui−1[`′]|ui[`′]) ⇐⇒ PM(i)` > PM(i)
`′ .
⇒ Implement a SCL Decoder using L, LLR-based SC decoders + L memoriesfor the path-metrics.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 7 / 13
LLR-based Path Metric Computation
TheoremFor each path ` ∈ {0, 1, . . . , L− 1} and each index i ∈ {0, 1, . . . , N − 1} letthe path-metric be defined as:
PM(i)` ,
i∑j=0
ln(1 + e−(1−2uj [`])·L(j)
n [`]),where L(i)
n [`] = ln W (i)n (y,ui−1[`]|0)
W(i)n (y,ui−1[`]|1)
.
If all the information bits are uniformly distributed in {0, 1}, for any pair ofpaths `, `′ ∈ {0, 1, . . . , L− 1},
W (i)n (y, ui−1[`]|ui[`]) < W (i)
n (y, ui−1[`′]|ui[`′]) ⇐⇒ PM(i)` > PM(i)
`′ .
⇒ Implement a SCL Decoder using L, LLR-based SC decoders + L memoriesfor the path-metrics.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 7 / 13
LLR-based Path Metric Computation
TheoremFor each path ` ∈ {0, 1, . . . , L− 1} and each index i ∈ {0, 1, . . . , N − 1} letthe path-metric be defined as:
PM(i)` ,
i∑j=0
ln(1 + e−(1−2uj [`])·L(j)
n [`]),where L(i)
n [`] = ln W (i)n (y,ui−1[`]|0)
W(i)n (y,ui−1[`]|1)
.
If all the information bits are uniformly distributed in {0, 1}, for any pair ofpaths `, `′ ∈ {0, 1, . . . , L− 1},
W (i)n (y, ui−1[`]|ui[`]) < W (i)
n (y, ui−1[`′]|ui[`′]) ⇐⇒ PM(i)` > PM(i)
`′ .
⇒ Implement a SCL Decoder using L, LLR-based SC decoders + L memoriesfor the path-metrics.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 7 / 13
Properties of the LLR-Based Path Metric
PM(i)` ,
i∑j=0
ln(1 + e−(1−2uj [`])·L(j)
n [`])L(i)
n [`] = ln W(i)n (y, ui−1[`]|0)
W(i)n (y, ui−1[`]|1)
.
Iterative update:
PM(i)` = PM(i−1)
` + ln(1 + e−(1−2ui[`])L(i)
n [`]).
Approximation ln(1 + ex) ≈{
x, if x ≥ 0,
0, if x < 0.
PM(i)` ≈
{PM(i−1)
` if ui[`] = 12 [1− sign(L(i)
n [`])],PM(i−1)
` + |L(i)n [`]|, otherwise.
Hardware-friendly: only addition and comparison requiredNatural interpretation: paths “disobeying” L(i)
n [`] are penalized by anamount ≈ |L(i)
n [`]|.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 8 / 13
Properties of the LLR-Based Path Metric
PM(i)` ,
i∑j=0
ln(1 + e−(1−2uj [`])·L(j)
n [`])L(i)
n [`] = ln W(i)n (y, ui−1[`]|0)
W(i)n (y, ui−1[`]|1)
.
Iterative update:
PM(i)` = PM(i−1)
` + ln(1 + e−(1−2ui[`])L(i)
n [`]).Approximation ln(1 + ex) ≈
{x, if x ≥ 0,
0, if x < 0.
PM(i)` ≈
{PM(i−1)
` if ui[`] = 12 [1− sign(L(i)
n [`])],PM(i−1)
` + |L(i)n [`]|, otherwise.
Hardware-friendly: only addition and comparison requiredNatural interpretation: paths “disobeying” L(i)
n [`] are penalized by anamount ≈ |L(i)
n [`]|.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 8 / 13
Properties of the LLR-Based Path Metric
PM(i)` ,
i∑j=0
ln(1 + e−(1−2uj [`])·L(j)
n [`])L(i)
n [`] = ln W(i)n (y, ui−1[`]|0)
W(i)n (y, ui−1[`]|1)
.
Iterative update:
PM(i)` = PM(i−1)
` + ln(1 + e−(1−2ui[`])L(i)
n [`]).Approximation ln(1 + ex) ≈
{x, if x ≥ 0,
0, if x < 0.
PM(i)` ≈
{PM(i−1)
` if ui[`] = 12 [1− sign(L(i)
n [`])],PM(i−1)
` + |L(i)n [`]|, otherwise.
Hardware-friendly: only addition and comparison required
Natural interpretation: paths “disobeying” L(i)n [`] are penalized by an
amount ≈ |L(i)n [`]|.
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 8 / 13
Properties of the LLR-Based Path Metric
PM(i)` ,
i∑j=0
ln(1 + e−(1−2uj [`])·L(j)
n [`])L(i)
n [`] = ln W(i)n (y, ui−1[`]|0)
W(i)n (y, ui−1[`]|1)
.
Iterative update:
PM(i)` = PM(i−1)
` + ln(1 + e−(1−2ui[`])L(i)
n [`]).Approximation ln(1 + ex) ≈
{x, if x ≥ 0,
0, if x < 0.
PM(i)` ≈
{PM(i−1)
` if ui[`] = 12 [1− sign(L(i)
n [`])],PM(i−1)
` + |L(i)n [`]|, otherwise.
Hardware-friendly: only addition and comparison requiredNatural interpretation: paths “disobeying” L(i)
n [`] are penalized by anamount ≈ |L(i)
n [`]|.Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 8 / 13
Hardware Architecture - LL based
LL Quantization:Channel: Qch
Internal: Qch + j bits for stage j ⇒ irregular memory
Processing Elements: Maximum LL bit-width: QLL = Qch + n bitsMetric Sorter: Sorts 2L path metrics of bit-width QLL
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 9 / 13
Hardware Architecture - LL based
LL Quantization:Channel: Qch
Internal: Qch + j bits for stage j ⇒ irregular memoryProcessing Elements: Maximum LL bit-width: QLL = Qch + n bits
Metric Sorter: Sorts 2L path metrics of bit-width QLL
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 9 / 13
Hardware Architecture - LL based
LL Quantization:Channel: Qch
Internal: Qch + j bits for stage j ⇒ irregular memoryProcessing Elements: Maximum LL bit-width: QLL = Qch + n bitsMetric Sorter: Sorts 2L path metrics of bit-width QLL
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 9 / 13
Hardware Architecture - LLR based
LLR Quantization:QLLR bits for all stages ⇒ regular memory
Processing Elements: LLR bit-width: QLLR bitsPath Metrics: Worst-case QM = QLLR + n
Metric Sorter: Sorts 2L metrics of bit-width QM
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 10 / 13
Hardware Architecture - LLR based
LLR Quantization:QLLR bits for all stages ⇒ regular memory
Processing Elements: LLR bit-width: QLLR bits
Path Metrics: Worst-case QM = QLLR + n
Metric Sorter: Sorts 2L metrics of bit-width QM
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 10 / 13
Hardware Architecture - LLR based
LLR Quantization:QLLR bits for all stages ⇒ regular memory
Processing Elements: LLR bit-width: QLLR bitsPath Metrics: Worst-case QM = QLLR + n
Metric Sorter: Sorts 2L metrics of bit-width QM
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 10 / 13
Performance of Quantized SC List Decoding
Polar code with N = 1024 and R = 0.5, designed for Eb/N0 = 2dB.
LL-based:
Qch = 4 bitsQLL = 14 bits
LLR-based:
QLLR = 6 bitsQM = 8 bits
0 0.5 1 1.5 2 2.5 3 3.5 4
10−5
10−4
10−3
10−2
10−1
100
Eb/N0 (dB)
FER
SC Decoder, QLLRi = 5, QLLR
f = 0SC Decoder, Floating PointL = 2, LLR-based, QLLR
i = 5, QLLRf = 0
L = 2, LL-based, QLLi = 4, QLL
f = 0L = 2, LLR-based, Floating-PointL = 4, LLR-based, QLLR
i = 5, QLLRf = 0
L = 4, LL-based, QLLi = 4, QLL
f = 0L = 4, LLR-based, Floating-Point
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 11 / 13
Performance of Quantized SC List Decoding
Polar code with N = 1024 and R = 0.5, designed for Eb/N0 = 2dB.
LL-based:Qch = 4 bitsQLL = 14 bits
LLR-based:
QLLR = 6 bitsQM = 8 bits
0 0.5 1 1.5 2 2.5 3 3.5 4
10−5
10−4
10−3
10−2
10−1
100
Eb/N0 (dB)
FER
SC Decoder, QLLRi = 5, QLLR
f = 0SC Decoder, Floating PointL = 2, LLR-based, QLLR
i = 5, QLLRf = 0
L = 2, LL-based, QLLi = 4, QLL
f = 0L = 2, LLR-based, Floating-PointL = 4, LLR-based, QLLR
i = 5, QLLRf = 0
L = 4, LL-based, QLLi = 4, QLL
f = 0L = 4, LLR-based, Floating-Point
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 11 / 13
Performance of Quantized SC List Decoding
Polar code with N = 1024 and R = 0.5, designed for Eb/N0 = 2dB.
LL-based:Qch = 4 bitsQLL = 14 bits
LLR-based:QLLR = 6 bitsQM = 8 bits
0 0.5 1 1.5 2 2.5 3 3.5 4
10−5
10−4
10−3
10−2
10−1
100
Eb/N0 (dB)
FER
SC Decoder, QLLRi = 5, QLLR
f = 0SC Decoder, Floating PointL = 2, LLR-based, QLLR
i = 5, QLLRf = 0
L = 2, LL-based, QLLi = 4, QLL
f = 0L = 2, LLR-based, Floating-PointL = 4, LLR-based, QLLR
i = 5, QLLRf = 0
L = 4, LL-based, QLLi = 4, QLL
f = 0L = 4, LLR-based, Floating-Point
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 11 / 13
Performance of Quantized SC List Decoding
Polar code with N = 1024 and R = 0.5, designed for Eb/N0 = 2dB.
LL-based:Qch = 4 bitsQLL = 14 bits
LLR-based:QLLR = 6 bitsQM = 8 bits
0 0.5 1 1.5 2 2.5 3 3.5 4
10−5
10−4
10−3
10−2
10−1
100
Eb/N0 (dB)
FER
SC Decoder, QLLRi = 5, QLLR
f = 0SC Decoder, Floating PointL = 2, LLR-based, QLLR
i = 5, QLLRf = 0
L = 2, LL-based, QLLi = 4, QLL
f = 0L = 2, LLR-based, Floating-PointL = 4, LLR-based, QLLR
i = 5, QLLRf = 0
L = 4, LL-based, QLLi = 4, QLL
f = 0L = 4, LLR-based, Floating-Point
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 11 / 13
Synthesis Area and Timing Results
Cell Area LLR-based LL-based Reduction
List Size L = 2Total 0.977 mm2 1.668 mm2 41.4 %
List Size L = 4Total 1.743 mm2 3.708 mm2 53.0 %
LLR-based LL-based Speedup
List Size L = 2Clock Frequency 558 MHz 427 MHz 30.7 %
List Size L = 4Clock Frequency 412 MHz 386 MHz 6.7 %
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 12 / 13
Synthesis Area and Timing Results
Cell Area LLR-based LL-based Reduction
List Size L = 2Total 0.977 mm2 1.668 mm2 41.4 %
List Size L = 4Total 1.743 mm2 3.708 mm2 53.0 %
LLR-based LL-based Speedup
List Size L = 2Clock Frequency 558 MHz 427 MHz 30.7 %
List Size L = 4Clock Frequency 412 MHz 386 MHz 6.7 %
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 12 / 13
Summary and Conclusion
Proved an LLR-based path metric for SC list decoding
Provided hardware-friendly approximation to metric update rule
Hardware implementation results show:
1 Up to 50% area reduction2 Up to 30% operating frequency increase
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 13 / 13
Summary and Conclusion
Proved an LLR-based path metric for SC list decoding
Provided hardware-friendly approximation to metric update rule
Hardware implementation results show:
1 Up to 50% area reduction2 Up to 30% operating frequency increase
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 13 / 13
Summary and Conclusion
Proved an LLR-based path metric for SC list decoding
Provided hardware-friendly approximation to metric update rule
Hardware implementation results show:1 Up to 50% area reduction2 Up to 30% operating frequency increase
Balatsoukas-Stimming, Bastani Parizi, Burg (EPFL) LLR-Based SC List Decoding of Polar Codes May 8, 2014 13 / 13