Recursive Trellis Decoding Techniques of Polar Codes Peter Trifonov - - PowerPoint PPT Presentation

recursive trellis decoding techniques of polar codes
SMART_READER_LITE
LIVE PREVIEW

Recursive Trellis Decoding Techniques of Polar Codes Peter Trifonov - - PowerPoint PPT Presentation

Recursive Trellis Decoding Techniques of Polar Codes Peter Trifonov ITMO University, Russia June 18, 2020 Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 1 / 18 Outline Polar


slide-1
SLIDE 1

Recursive Trellis Decoding Techniques of Polar Codes

Peter Trifonov

ITMO University, Russia

June 18, 2020

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 1 / 18

slide-2
SLIDE 2

Outline

1

Polar codes

2

Recursive trellis decoding

3

Application of recursive trellis decoding to polar codes

4

Hybrid decoding

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 2 / 18

slide-3
SLIDE 3

Polar codes

Polar Codes

Encoding: cn−1 = un−1 1 1 1 ⊗m Bm, ui = 0, i ∈ F

Bm is the bit-reversal permutation matrix (it will be essential!) n = 2m

Successive cancellation decoding

Far from maximum likelihood Decoding latency O(n)

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 3 / 18

slide-4
SLIDE 4

Recursive trellis decoding

Recursive Trellis Decoding: the Idea

Partition the noisy vector into a number

  • f sections

Find the most probable codeword subvectors for each section Combine short codeword subvectors into longer subvectors Do this recursively1

00 10 00 01 10 11 00 11 0000 1001 1100 1111 10011100 noisy vector

  • 1T. Fujiwara, H. Yamamoto, T. Kasami, and S. Lin, “A trellis-based recursive maximum-likelihood decoding algorithm for binary linear block codes,” IEEE

Transactions On Information Theory, vol. 44, no. 2, March 1998. Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 4 / 18

slide-5
SLIDE 5

Recursive trellis decoding

Sectionalized Trellis of a Linear Block Code

Given a linear code C, let Ch,h′ be its subcode, such that all its codewords have non-zero symbols only in positions h ≤ i < h′ Let ph,h′(C) be a linear code obtained by puncturing all symbols, except those in positions h ≤ i < h′, from codewords of C Let sh,h′(C) = ph,h′(Ch,h′), i.e. a code obtained from C by shortening it on all symbols except those with indices h ≤ i < h′. Trellis paths from time h to time h′ correspond to cosets in ph,h′(C)/sh,h′(C). The same coset may

  • ccur several times in a trellis

C : G =     1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0    

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 5 / 18

slide-6
SLIDE 6

Recursive trellis decoding

Sectionalized Trellis of a Linear Block Code

Given a linear code C, let Ch,h′ be its subcode, such that all its codewords have non-zero symbols only in positions h ≤ i < h′ Let ph,h′(C) be a linear code obtained by puncturing all symbols, except those in positions h ≤ i < h′, from codewords of C Let sh,h′(C) = ph,h′(Ch,h′), i.e. a code obtained from C by shortening it on all symbols except those with indices h ≤ i < h′. Trellis paths from time h to time h′ correspond to cosets in ph,h′(C)/sh,h′(C). The same coset may

  • ccur several times in a trellis

C : G =     1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0     p0,4(C) : G0,4 =   1 1 1 1 1 1 0 0 1 0 1 0  

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 5 / 18

slide-7
SLIDE 7

Recursive trellis decoding

Sectionalized Trellis of a Linear Block Code

Given a linear code C, let Ch,h′ be its subcode, such that all its codewords have non-zero symbols only in positions h ≤ i < h′ Let ph,h′(C) be a linear code obtained by puncturing all symbols, except those in positions h ≤ i < h′, from codewords of C Let sh,h′(C) = ph,h′(Ch,h′), i.e. a code obtained from C by shortening it on all symbols except those with indices h ≤ i < h′. Trellis paths from time h to time h′ correspond to cosets in ph,h′(C)/sh,h′(C). The same coset may

  • ccur several times in a trellis

C : G =     1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0     p0,4(C) : G0,4 =   1 1 1 1 1 1 0 0 1 0 1 0   s0,4(C) : G0,4 = 1 1 1 1

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 5 / 18

slide-8
SLIDE 8

Recursive trellis decoding

Sectionalized Trellis of a Linear Block Code

Given a linear code C, let Ch,h′ be its subcode, such that all its codewords have non-zero symbols only in positions h ≤ i < h′ Let ph,h′(C) be a linear code obtained by puncturing all symbols, except those in positions h ≤ i < h′, from codewords of C Let sh,h′(C) = ph,h′(Ch,h′), i.e. a code obtained from C by shortening it on all symbols except those with indices h ≤ i < h′. Trellis paths from time h to time h′ correspond to cosets in ph,h′(C)/sh,h′(C). The same coset may

  • ccur several times in a trellis

C : G =     1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0     p0,4(C) : G0,4 =   1 1 1 1 1 1 0 0 1 0 1 0   s0,4(C) : G0,4 = 1 1 1 1

s 0000 1010 1100 0110 e 0000 1111 0000 1111 0101 1010 1010 0101 1100 0011 1100 0011 1001 0110 0110 1001

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 5 / 18

slide-9
SLIDE 9

Recursive trellis decoding

Recursive Trellis Decoding of Linear Block Codes

For each coset D ∈ px,y(C)/sx,y(C) find the most probable element l(D), and its correlation m(D) Composite branch table CBTx,y stores (l(D), m(D)) ML decoding of (n, k) code C: p0,n(C)/s0,n(C) contains a single element, so CBT0,n contains the solution of the ML decoding problem Construction of CBTx,y: y − x ≥ 2:

Consider all combinations of cosets D′ ∈ px,z(C)/sx,z(C), D′′ ∈ pz,y(C)/sz,y(C), such that D′.D′′ = D ∈ px,y(C)/sx,y(C), i.e. concatenation of any their representatives is in D ∈ px,y(C)/sx,y(C) m(D) = maxD′,D′′(m(D′) + m(D′′)), l(D) = l(D′).l(D′′)

s 0000 1010 1100 0110 e 0000 1111 0000 1111 0101 1010 1010 0101 1100 0011 1100 0011 1001 0110 0110 1001

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 6 / 18

slide-10
SLIDE 10

Recursive trellis decoding

Generator Matrices of Section Codes

Generator matrix of px,y(C) is G(p)

x,y =

     G(s)

x,z

G(s)

z,y

G(00)

x,y

G(01)

x,y

G(10)

x,y

G(11)

x,y

     Generator matrix of sx,y(C) is G(s)

x,y =

   G(s)

x,z

G(s)

z,y

G(00)

x,y

G(01)

x,y

   G(00)

x,y , G(01) x,y are some k′′ x,y × (z − x) and k′′ x,y × (y − z) matrices

G(10)

x,y , G(11) x,y are some k′ x,y × (z − x) and k′ x,y × (y − z) matrices

One-to-one correspondence between vG′

x,y, where G′ x,y =

  • G(10)

x,y

G(11)

x,y

  • , and

cosets D ∈ px,y(C)/sx,y(C) CBT entries are indexed by v ∈ F

k′

x,y

2

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 7 / 18

slide-11
SLIDE 11

Recursive trellis decoding

Merging the Composite Branch Tables

CBTx,y[v].m = max

u∈F

k′′ x,y 2

(CBTx,z[a].m + CBTz,y[b].m) , v ∈ F

k′

x,y

2

where a and b are indices of the cosets D′ ∈ px,z(C)/sx,z(C) and D′′ ∈ pz,y(C)/sz,y(C), such that

  • u

v

  • G(00)

x,y

G(10)

x,y

  • ∈ D′ and
  • u

v

  • G(01)

x,y

G(11)

x,y

  • ∈ D′′

Such values a, b can be identified from a′ a G(s)

x,z

G′

x,z

  • =

u v

  • G(00)

x,y

G(10)

x,y

  • b′

b G(s)

z,y

G′

z,y

  • =

u v

  • G(01)

x,y

G(11)

x,y

  • ,

where a′, b′ are some irrelevant values The solutions are a = u v Gx,y and b = u v Gx,y for some Gx,y and Gx,y Complexity is O(2k′

x,y+k′′ x,y)

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 8 / 18

slide-12
SLIDE 12

Application of recursive trellis decoding to polar codes

Recursive Trellis Decoding of Polar Codes

Arikan successive cancellation decoding is equivalent2 to successive application of the recursive trellis decoding algorithm to codes generated by rows i, . . . , 2m − 1 of Am Recursive trellis algorithm provides ML decoding, SC algorithm is far from ML Can polar codes be efficiently decoded by a single pass of the recursive trellis algorithm?

2P . Trifonov. Trellis-based Decoding Techniques for Polar Codes with Large Kernels. In Proc. of IEEE Information Theory Workshop 2019 Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 9 / 18

slide-13
SLIDE 13

Application of recursive trellis decoding to polar codes

Polar Section Codes

Theorem Given a length-2m polar code C with a frozen set F, px,y(C) is a polar code with the frozen set F′

τ,t = {i ∈ [2τ]|∀j ∈ [ν] : Rm−τ(t) j ⇒ iν + j ∈ F}, where

x = 2τt, y = 2τ(t + 1), t ∈ [ν], ν = 2m−τ Theorem Given a length-2m canonical polar code C with a frozen set F, sx,y(C) is a polar code with the frozen set F′′

τ,t = {i ∈ [2τ]|iν ∈ F} , where x = 2τt, y = 2τ(t + 1), 0 ≤ t < ν, ν = 2m−τ

Bit reversal function Rm m−1

s=0 is2s

= m−1

s=0 is2m−1−s, is ∈ {0, 1}

For canonical polar code, F is the set of indices of low-capacity subchannels The proof exploits partial ordering of bit subchannels

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 10 / 18

slide-14
SLIDE 14

Application of recursive trellis decoding to polar codes

Dimensions of Section Codes

Complexity of construction of CBTx,y from CBTx,z and CBTz,y is C = O(2k′

x,y+k′′ x,y)

k′′

2τ t,2τ (t+1) = 2

  • i ∈ [2τ−1]|i2m−τ+1 ∈ F
  • i ∈ [2τ]|i2m−τ ∈ F
  • Dimension of the space of coset representatives of px,y(C)/sx,y(C) (i.e.

log2(size of CBTx,y)) k′

2τ t,2τ (t+1) =

  • i ∈ [2τ]|i2m−τ ∈ F
  • i ∈ [2τ]|(i + 1)2m−τ − 1 ∈ F
  • Total complexity for sections of length y − x = 2τ is 2m−τC = O(2δ)

δ = (m − τ) +    2

  • i ∈ [2τ−1]|i2m−τ+1 ∈ F
  • N1

  • i ∈ [2τ]|(i + 1)2m−τ − 1 ∈ F
  • N2

   

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 11 / 18

slide-15
SLIDE 15

Application of recursive trellis decoding to polar codes

Trellises and Imperfectly Polarized Subchannels

Assume that F =

  • i|Zm,i ≥ π
  • , where Zm,i is the Bhattacharyya parameter of W (i)

m

Zm,2i ≤2Zm−1,i − Z 2

m−1,i ≤ 2Zm−1,i

Zm,2i+1 =Z 2

m−1,i.

N1 =

  • i ∈ [2τ−1]|i2m−τ+1 ∈ F
  • ≥ N′

1 =

  • i ∈ [2τ−1]|(2i + 1)2m−τ ∈ F
  • due to

universal subchannel ordering 2N1 ≥ N1 + N′

1 =

  • i ∈ [2τ]|Zm,i2m−τ ≥ π
  • i ∈ [2τ]|Zτ,i ≥ π2τ−m
  • N2 =
  • i ∈ [2τ]|Zm,(i+1)2m−τ −1 ≥ π
  • =
  • i ∈ [2τ]|Zτ,i ≥ π2τ−m
  • δ = (m − τ) + 2N1 − N2 ≥ m − τ +
  • i ∈ [2τ]|π2τ−m ≥ Zτ,i ≥ π2τ−m
  • The complexity at level τ grows exponentially with the number of imperfectly

polarized bit subchannels induced by Aτ The complexity is dominated by a few top levels of the recursion tree

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 12 / 18

slide-16
SLIDE 16

Application of recursive trellis decoding to polar codes

Decoding Latency

CBTx,y[v].m = max

u∈F

k′′ x,y 2

  • CBTx,z[a].m + CBTz,y[b].m
  • , v ∈ F

k′

x,y

2

Latency for computing max is k′′

x,y steps

Let λτ = k′′

x,x+2τ be the latency of CBT construction

The latency of the recursive trellis decoding algorithm is ΛRTA =

m

  • τ=1

λτ

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 13 / 18

slide-17
SLIDE 17

Application of recursive trellis decoding to polar codes

Polar vs Reed-Muller codes: Code Length n = 128

Reed-Muller Polar Dimension k Complexity Latency Design Eb/N0, dB Complexity Latency 8 895 8 383 6 29 4 334 911 23 1 8 575 14 64 4 425 123 935 38 2 142 655 22 99 151 111 775 37 3 43 583 20 Recursive trellis decoder for (128, 8) polar code has lower complexity than the SC decoder (896 operations) Recursive trellis algorithm provides ML decoding Complexity of recursive trellis decoding for polar codes is much lower compared to Reed-Muller codes The SC algorithm has latency 2n

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 14 / 18

slide-18
SLIDE 18

Hybrid decoding

Hybrid SC-Trellis Decoding

Polar code of length 2m is a generalized concatenated code with inner codes Ci : C0 ⊃ C1 ⊃ · · · ⊃ C2m−τ −1, and outer codes Ci Ci is a length-2m−τ polar code with frozen set Fi = {0, . . . , i − 1} Ci is a length-2τ polar code with frozen set Fi = {j ∈ [2τ]|i2τ + j ∈ F} Multistage decoding is possible with ML decoding of outer codes Use the recursive trellis algorithm for decoding of outer codes     1 1 1 1 1 1 1 1 1     inner code Outer code F(0) Outer code F(1) Outer code F(2) Outer code F(3) Latency ΛSCT = 2m−τ −1

i=0

Λili, where li is the latency of computing LLRs for inner code

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 15 / 18

slide-19
SLIDE 19

Hybrid decoding

Performance of Polar Codes Under Trellis-SC Decoding

10−6 10−5 10−4 10−3 10−2 10−1 100 5 5.5 6 6.5 7 7.5 8 FER Eb/N0, dB (1024,980) Trellis−SC τ=3 (1024,980) Trellis−SC τ=6 (1024,980) SCL L=1 (1024,980) SCL L=4 10−6 10−5 10−4 10−3 10−2 10−1 100 1 1.5 2 2.5 3 3.5 4 FER Eb/N0, dB (1024,256) Trellis−SC τ=3 (1024,256) Trellis−SC τ=6 (1024,256) SCL L=1 (1024,256) SCL L=4

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 16 / 18

slide-20
SLIDE 20

Hybrid decoding

Complexity and Latency

(1024, 256) (1024, 980) SCL complexity, L = 1 10240 10240 SCL complexity, L = 4 40960 40960 SCL latency 2048 2048 Trellis-SC complexity, τ = 3 7764 7830 Trellis-SC latency, τ = 3 361 401 Trellis-SC complexity, τ = 6 43248 11109 Trellis-SC latency, τ = 6 122 81 Recursive Trellis Algorithm complexity 9101823

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 17 / 18

slide-21
SLIDE 21

Hybrid decoding

Conclusions

Complexity of recursive trellis decoding for polar codes is much lower compared to Reed-Muller codes Recursive trellis algorithm provides ML decoding with much lower latency compared to the SC algorithm Trellis-SC decoding provides the performance close to SC decoding with lower latency and complexity

Peter Trifonov ( ITMO University, Russia) Recursive Trellis Decoding Techniques of Polar Codes June 18, 2020 18 / 18