Cyclic Polar Codes Narayanan Rengaswamy Henry D. Pfister Texas - - PowerPoint PPT Presentation

cyclic polar codes
SMART_READER_LITE
LIVE PREVIEW

Cyclic Polar Codes Narayanan Rengaswamy Henry D. Pfister Texas - - PowerPoint PPT Presentation

Cyclic Polar Codes Narayanan Rengaswamy Henry D. Pfister Texas A&M University Duke University r narayanan 92@tamu.edu henry.pfister@duke.edu 2015 IEEE International Symposium on Information Theory June 16, 2015 Narayanan Rengaswamy


slide-1
SLIDE 1

Cyclic Polar Codes

Narayanan Rengaswamy

Texas A&M University

r narayanan 92@tamu.edu Henry D. Pfister

Duke University

henry.pfister@duke.edu

2015 IEEE International Symposium on Information Theory June 16, 2015

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 1 / 32

slide-2
SLIDE 2

Polar Codes

Overview

1

Polar Codes Overview

2

Cyclic Polar Codes Galois field Fourier transform Cyclic polar codes

3

Decoding Successive Cancellation Decoding

4

Results For the q-ary Erasure Channel For the q-ary Symmetric Channel

5

Conclusions

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 2 / 32

slide-3
SLIDE 3

Polar Codes Overview

Polar Codes

Introduced by Arıkan in [Arı09] using the binary 2 × 2 kernel G2 = 1 1 1

  • Length N = 2n polar transform matrix is given by

GN = BNG ⊗n

2 ,

where BN is the length-N bit-reversal permutation matrix. Shown to achieve the symmetric capacity of binary input DMCs, asymptotically, under successive cancellation (SC) decoding.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 3 / 32

slide-4
SLIDE 4

Polar Codes Overview

Extensions of Polar Codes

Blocklength N = ℓn, ℓ > 2; Transformation GN = BNG ⊗n

Korada et al.: Binary Gℓ for binary DMCs [KS ¸U10]. S ¸a¸ so˘ glu et al.: Binary Gℓ for q-ary DMCs, q prime [S ¸TA09].

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 4 / 32

slide-5
SLIDE 5

Polar Codes Overview

Extensions of Polar Codes

Blocklength N = ℓn, ℓ > 2; Transformation GN = BNG ⊗n

Korada et al.: Binary Gℓ for binary DMCs [KS ¸U10]. S ¸a¸ so˘ glu et al.: Binary Gℓ for q-ary DMCs, q prime [S ¸TA09]. Mori and Tanaka: Non-binary Gℓ for arbitrary q-ary DMCs, q = pm [MT10; MT14].

For example, using extended RS matrices. GRS(3, 3) =   1 1 2 1 1 1 1   =   α0 α0 α1 α0 α0 α0 α0   where α = 2 ∈ F3 is primitive.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 4 / 32

slide-6
SLIDE 6

Polar Codes Overview

Motivation for Cyclic Polar Codes

So far, blocklength N = ℓn and transformation GN = BNG ⊗n

.

How about mixed-size kernels?

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 5 / 32

slide-7
SLIDE 7

Polar Codes Overview

Motivation for Cyclic Polar Codes

System implementation: Many systems use RS or other cyclic codes.

Can we relate polar codes to RS codes? More fundamentally, can we make polar codes cyclic?

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 6 / 32

slide-8
SLIDE 8

CP Codes

Overview

1

Polar Codes Overview

2

Cyclic Polar Codes Galois field Fourier transform Cyclic polar codes

3

Decoding Successive Cancellation Decoding

4

Results For the q-ary Erasure Channel For the q-ary Symmetric Channel

5

Conclusions

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 7 / 32

slide-9
SLIDE 9

CP Codes Galois field Fourier transform

Galois field Fourier Transform

Replace polar transform with Galois field Fourier Transform (GFFT). Input: u = (u0, u1, . . . , uN−1), Output: v = (v0, v1, . . . , vN−1). Then u

GFFT

← − − − v If FN is the GFFT matrix, u = FNv (or) uj =

N−1

  • i=0

viωij for j = 0, 1, . . . , N − 1, where ω in Fq has order N.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 8 / 32

slide-10
SLIDE 10

CP Codes Galois field Fourier transform

Galois field Fourier Transform

How is this related to the polar transform?

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 9 / 32

slide-11
SLIDE 11

CP Codes Galois field Fourier transform

Galois field Fourier Transform

How is this related to the polar transform? Evaluate the GFFT using the Cooley-Tukey FFT [CT65].

Factor N = n

m=1 ℓm = ℓ1ℓ2 · · · ℓn.

Implement small GFFTs of length ℓm directly. Combine them using appropriate twiddle factors and index-shuffles. Simplest case is ℓ1 = ℓ2 = · · · = ℓn = 2 for N = 2n; equivalent to standard polar code.

Ignoring twiddle factors, the Kronecker product of repeated short GFFTs gives a long GFFT.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 9 / 32

slide-12
SLIDE 12

CP Codes Galois field Fourier transform

Galois field Fourier Transform

− → Encode u(0)

i

Stage m = 0 ℓ1 = 5 F ′

ℓ1

Stage m = 1 u(1)

i

ℓ2 = 3 F ′

ℓ2

Stage m = 2 ← − Decode u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 u12 u13 u14 u0 u3 u6 u9 u12 u1 u4 u7 u10 u13 u2 u5 u8 u11 u14 F ′

5

F ′

5

F ′

5

1 α−1 α−2 α−3 α−4 1 α−2 α−4 α−6 α−8 F ′

3

F ′

3

F ′

3

F ′

3

F ′

3

v0 v5 v10 v1 v6 v11 v2 v7 v12 v3 v8 v13 v4 v9 v14 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 GFFT

  • f v

Input Shuffle Length-5 IFFTs Index Shuffle Length-3 IFFTs Output Shuffle GIFFT

  • f u

An example for N = 15 over F16 depicting the transform. α is a primitive element in F16. In this case ω = α.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 10 / 32

slide-13
SLIDE 13

CP Codes Cyclic polar codes

Cyclic Polar Codes

Recollect that uj =

N−1

  • i=0

viωij where ωN = 1 in Fq. In polynomial notation, with v(x) = N−1

i=0 vixi, we have

u(x) =

N−1

  • j=0

ujxj =

N−1

  • j=0

v(ωj)xj Hence, uj’s are evaluations of v(x).

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 11 / 32

slide-14
SLIDE 14

CP Codes Cyclic polar codes

Cyclic Polar Codes

Design of the code C produces the set of information indices A.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 12 / 32

slide-15
SLIDE 15

CP Codes Cyclic polar codes

Cyclic Polar Codes

Design of the code C produces the set of information indices A. Given Ac, the indices frozen to zeros in u(x), there exists a generator g(x) such that v(x) = uA(x)g(x) = uA(x)

  • j∈Ac

(x − ωj) where ωN = 1 in Fq.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 12 / 32

slide-16
SLIDE 16

CP Codes Cyclic polar codes

Cyclic Polar Codes

Design of the code C produces the set of information indices A. Given Ac, the indices frozen to zeros in u(x), there exists a generator g(x) such that v(x) = uA(x)g(x) = uA(x)

  • j∈Ac

(x − ωj) where ωN = 1 in Fq. We have a cyclic code!

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 12 / 32

slide-17
SLIDE 17

CP Codes Cyclic polar codes

Cyclic Polar Codes

Design of the code C produces the set of information indices A. Given Ac, the indices frozen to zeros in u(x), there exists a generator g(x) such that v(x) = uA(x)g(x) = uA(x)

  • j∈Ac

(x − ωj) where ωN = 1 in Fq. We have a cyclic code! Constraint: N|(q − 1). Hence, field size must grow with the blocklength.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 12 / 32

slide-18
SLIDE 18

CP Codes Cyclic polar codes

Cyclic Polar Codes

Is this transformation polarizing?

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 13 / 32

slide-19
SLIDE 19

CP Codes Cyclic polar codes

Cyclic Polar Codes

Example: N = 3 and N = 5 over F16. G3 =   1 1 1 1 ω ω2 1 ω2 ω   and G5 =       1 1 1 1 1 1 ω ω2 ω3 ω4 1 ω2 ω4 ω ω3 1 ω3 ω ω4 ω2 1 ω4 ω3 ω2 ω       where ω3 = 1 for G3, ω5 = 1 for G5.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 14 / 32

slide-20
SLIDE 20

CP Codes Cyclic polar codes

Cyclic Polar Codes

Example: N = 3 and N = 5 over F16. G3 =   1 1 1 1 ω ω2 1 ω2 ω   and G5 =       1 1 1 1 1 1 ω ω2 ω3 ω4 1 ω2 ω4 ω ω3 1 ω3 ω ω4 ω2 1 ω4 ω3 ω2 ω       where ω3 = 1 for G3, ω5 = 1 for G5. The transformation GN, a GFFT matrix, polarizes any q-ary channel because it

is invertible and not upper triangular. contains a primitive element [MT14].

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 14 / 32

slide-21
SLIDE 21

Decoding

Overview

1

Polar Codes Overview

2

Cyclic Polar Codes Galois field Fourier transform Cyclic polar codes

3

Decoding Successive Cancellation Decoding

4

Results For the q-ary Erasure Channel For the q-ary Symmetric Channel

5

Conclusions

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 15 / 32

slide-22
SLIDE 22

Decoding Successive Cancellation Decoding

Soft Decoder

Blocklength N = 2n over q-ary channel, q prime.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 16 / 32

slide-23
SLIDE 23

Decoding Successive Cancellation Decoding

Soft Decoder

Blocklength N = 2n over q-ary channel, q prime. Consider a 2 × 2 butterfly: inputs (a0, a1) and outputs (b0, b1). b0 = a0 + a1 b1 = a0 + αa1

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 16 / 32

slide-24
SLIDE 24

Decoding Successive Cancellation Decoding

Soft Decoder

Blocklength N = 2n over q-ary channel, q prime. Consider a 2 × 2 butterfly: inputs (a0, a1) and outputs (b0, b1). b0 = a0 + a1 b1 = a0 + αa1 To estimate (a0, a1) from (b0, b1) in the polar decoding order, we have ˆ a0 = (1 − α)−1(b1 − αb0)

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 16 / 32

slide-25
SLIDE 25

Decoding Successive Cancellation Decoding

Soft Decoder

Blocklength N = 2n over q-ary channel, q prime. Consider a 2 × 2 butterfly: inputs (a0, a1) and outputs (b0, b1). b0 = a0 + a1 b1 = a0 + αa1 To estimate (a0, a1) from (b0, b1) in the polar decoding order, we have ˆ a0 = (1 − α)−1(b1 − αb0) ˆ a1 = b0 − a0

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 16 / 32

slide-26
SLIDE 26

Decoding Successive Cancellation Decoding

Soft Decoder

Blocklength N = 2n over q-ary channel, q prime. Consider a 2 × 2 butterfly: inputs (a0, a1) and outputs (b0, b1). b0 = a0 + a1 b1 = a0 + αa1 To estimate (a0, a1) from (b0, b1) in the polar decoding order, we have ˆ a0 = (1 − α)−1(b1 − αb0) ˆ a1 = b0 − a0 ˆ a′

1 = α−1(b1 − a0)

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 16 / 32

slide-27
SLIDE 27

Decoding Successive Cancellation Decoding

Soft Decoder

2 × 2 butterfly: Compute optimal soft estimates for (a0, a1) from (b0, b1) using standard techniques from LDPC codes.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 17 / 32

slide-28
SLIDE 28

Decoding Successive Cancellation Decoding

Soft Decoder

2 × 2 butterfly: Compute optimal soft estimates for (a0, a1) from (b0, b1) using standard techniques from LDPC codes. ℓ × ℓ butterfly, ℓ > 2: Hard to implement APP decoder for general length-ℓ code over Fq.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 17 / 32

slide-29
SLIDE 29

Decoding Successive Cancellation Decoding

Soft Decoder

2 × 2 butterfly: Compute optimal soft estimates for (a0, a1) from (b0, b1) using standard techniques from LDPC codes. ℓ × ℓ butterfly, ℓ > 2: Hard to implement APP decoder for general length-ℓ code over Fq. ℓ × ℓ butterfly, ℓ > 2: Alternatively, use algebraic hard-decision decoding.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 17 / 32

slide-30
SLIDE 30

Decoding Successive Cancellation Decoding

Code Design for Algebraic Erasures Decoding

q-ary Erasure Channel (QEC) with ǫ = 0.5. Use Forney’s algebraic decoder. ui ∈ F16, vi ∈ F16 ∪ {?}

...

u(m−1)

i

ℓm = 3 u(m)

i

...

u0 u1 u2 F ′

3

v0 v1 v2

GFFT

  • f v

(I)FFT GIFFT

  • f u

Uncover next (unknown) input using outputs and recovered inputs.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 18 / 32

slide-31
SLIDE 31

Decoding Successive Cancellation Decoding

Code Design for Algebraic Erasures Decoding

q-ary Erasure Channel (QEC) with ǫ = 0.5. Use Forney’s algebraic decoder. ui ∈ F16, vi ∈ F16 ∪ {?}, ǫ = P{vi =?} = 0.5

...

u(m−1)

i

ℓm = 3 u(m)

i

...

u0 u1 u2 F ′

3

v0

0.5

v1

0.5

v2

0.5

GFFT

  • f v

(I)FFT GIFFT

  • f u

Uncover next (unknown) input using outputs and recovered inputs.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 18 / 32

slide-32
SLIDE 32

Decoding Successive Cancellation Decoding

Code Design for Algebraic Erasures Decoding

q-ary Erasure Channel (QEC) with ǫ = 0.5. Use Forney’s algebraic decoder. ui ∈ F16, vi ∈ F16 ∪ {?}, ǫ = P{vi =?} = 0.5 Theoretical 1 − (1 − ǫ)3

...

u(m−1)

i

ℓm = 3 u(m)

i

...

u0

0.875

u1 u2 F ′

3

v0

0.5

v1

0.5

v2

0.5

GFFT

  • f v

(I)FFT GIFFT

  • f u

Uncover next (unknown) input using outputs and recovered inputs.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 18 / 32

slide-33
SLIDE 33

Decoding Successive Cancellation Decoding

Code Design for Algebraic Erasures Decoding

q-ary Erasure Channel (QEC) with ǫ = 0.5. Use Forney’s algebraic decoder. ui ∈ F16, vi ∈ F16 ∪ {?}, ǫ = P{vi =?} = 0.5 Theoretical 1 − (1 − ǫ)3 1 − [3(1 − ǫ)2ǫ + (1 − ǫ)3] ...

u(m−1)

i

ℓm = 3 u(m)

i

...

u0

0.875

u1

0.5

u2 F ′

3

v0

0.5

v1

0.5

v2

0.5

GFFT

  • f v

(I)FFT GIFFT

  • f u

Uncover next (unknown) input using outputs and recovered inputs.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 18 / 32

slide-34
SLIDE 34

Decoding Successive Cancellation Decoding

Code Design for Algebraic Erasures Decoding

q-ary Erasure Channel (QEC) with ǫ = 0.5. Use Forney’s algebraic decoder. ui ∈ F16, vi ∈ F16 ∪ {?}, ǫ = P{vi =?} = 0.5 Theoretical 1 − (1 − ǫ)3 1 − [3(1 − ǫ)2ǫ + (1 − ǫ)3] ǫ3

...

u(m−1)

i

ℓm = 3 u(m)

i

...

u0

0.875

u1

0.5

u2

0.125

F ′

3

v0

0.5

v1

0.5

v2

0.5

GFFT

  • f v

(I)FFT GIFFT

  • f u

Uncover next (unknown) input using outputs and recovered inputs.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 18 / 32

slide-35
SLIDE 35

Decoding Successive Cancellation Decoding

Code Design on QEC

− → Encode u(0)

i

Stage m = 0 ℓ1 = 5 F ′

ℓ1

Stage m = 1 u(1)

i

ℓ2 = 3 F ′

ℓ2

Stage m = 2 ← − Decode u0 u1 u2 u3 u4 u5 u6 u7 u8

(D)

u9 u10 u11

(D)

u12 u13

(D)

u14

(D)

u0 1.000 u3 0.999 u6 0.984 u9 0.879 u12 0.513 u1 0.969 u4 0.813 u7 0.500 u10 0.188

(D)u13

0.031 u2 0.487 u5 0.121

(D)u8

0.016

(D)u11

0.001

(D)u14

0.000 F ′

5

F ′

5

F ′

5

0.875 0.5 0.125 0.875 0.5 0.125 1 0.875 α−1 0.5 α−2 0.125 α−3 0.875 α−4 0.5 1 0.125 α−2 0.875 α−4 0.5 α−6 0.125 α−8 F ′

3

F ′

3

F ′

3

F ′

3

F ′

3

v0 0.5 v5 0.5 v10 0.5 v1 0.5 v6 0.5 v11 0.5 v2 0.5 v7 0.5 v12 0.5 v3 0.5 v8 0.5 v13 0.5 v4 0.5 v9 0.5 v14 0.5 v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 GFFT

  • f v

Input Shuffle Length-5 IFFTs Index Shuffle Length-3 IFFTs Output Shuffle GIFFT

  • f u

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 19 / 32

slide-36
SLIDE 36

Decoding Successive Cancellation Decoding

Code Design for Algebraic Errors and Erasures Decoding

q-ary Symmetric Channel with Erasures (QSCE) with e = 0.5, ǫ = 0. Use Berlekamp-Massey (B-M) and Forney algorithms. ui ∈ F16, vi ∈ F16 ∪ {?}

...

u(m−1)

i

ℓm = 3 u(m)

i

...

u0 u1 u2 F ′

3

v0 v1 v2

GFFT

  • f v

(I)FFT GIFFT

  • f u

Uncover next (unknown) input using outputs and recovered inputs.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 20 / 32

slide-37
SLIDE 37

Decoding Successive Cancellation Decoding

Code Design for Algebraic Errors and Erasures Decoding

q-ary Symmetric Channel with Erasures (QSCE) with e = 0.5, ǫ = 0. Use Berlekamp-Massey (B-M) and Forney algorithms. ui ∈ F16, vi ∈ F16 ∪ {?}, e = P{vi = u(m)

i

} = 0.5, ǫ = P{vi =?} = 0

...

u(m−1)

i

ℓm = 3 u(m)

i

...

u0 u1 u2 F ′

3

v0

0.5

v1

0.5

v2

0.5

GFFT

  • f v

(I)FFT GIFFT

  • f u

Uncover next (unknown) input using outputs and recovered inputs.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 20 / 32

slide-38
SLIDE 38

Decoding Successive Cancellation Decoding

Code Design for Algebraic Errors and Erasures Decoding

q-ary Symmetric Channel with Erasures (QSCE) with e = 0.5, ǫ = 0. Use Berlekamp-Massey (B-M) and Forney algorithms. ui ∈ F16, vi ∈ F16 ∪ {?}, e = P{vi = u(m)

i

} = 0.5, ǫ = P{vi =?} = 0 eu0 = 0.846, ǫu0 = 0 Monte Carlo

...

u(m−1)

i

ℓm = 3 u(m)

i

...

u0 u1 u2 F ′

3

v0

0.5

v1

0.5

v2

0.5

GFFT

  • f v

(I)FFT GIFFT

  • f u

Uncover next (unknown) input using outputs and recovered inputs.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 20 / 32

slide-39
SLIDE 39

Decoding Successive Cancellation Decoding

Code Design for Algebraic Errors and Erasures Decoding

q-ary Symmetric Channel with Erasures (QSCE) with e = 0.5, ǫ = 0. Use Berlekamp-Massey (B-M) and Forney algorithms. ui ∈ F16, vi ∈ F16 ∪ {?}, e = P{vi = u(m)

i

} = 0.5, ǫ = P{vi =?} = 0 eu0 = 0.846, ǫu0 = 0 eu1 = 0.031, ǫu1 = 0.846 Monte Carlo

...

u(m−1)

i

ℓm = 3 u(m)

i

...

u0 u1 u2 F ′

3

v0

0.5

v1

0.5

v2

0.5

GFFT

  • f v

(I)FFT GIFFT

  • f u

Uncover next (unknown) input using outputs and recovered inputs.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 20 / 32

slide-40
SLIDE 40

Decoding Successive Cancellation Decoding

Code Design for Algebraic Errors and Erasures Decoding

q-ary Symmetric Channel with Erasures (QSCE) with e = 0.5, ǫ = 0. Use Berlekamp-Massey (B-M) and Forney algorithms. ui ∈ F16, vi ∈ F16 ∪ {?}, e = P{vi = u(m)

i

} = 0.5, ǫ = P{vi =?} = 0 eu0 = 0.846, ǫu0 = 0 eu1 = 0.031, ǫu1 = 0.846 eu2 = 0.055, ǫu2 = 0.452 Monte Carlo

...

u(m−1)

i

ℓm = 3 u(m)

i

...

u0 u1 u2 F ′

3

v0

0.5

v1

0.5

v2

0.5

GFFT

  • f v

(I)FFT GIFFT

  • f u

Uncover next (unknown) input using outputs and recovered inputs.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 20 / 32

slide-41
SLIDE 41

Decoding Successive Cancellation Decoding

Code Design for Algebraic Errors and Erasures Decoding

q-ary Symmetric Channel with Erasures (QSCE) with e = 0.5, ǫ = 0. Use Berlekamp-Massey (B-M) and Forney algorithms. ui ∈ F16, vi ∈ F16 ∪ {?}, e = P{vi = u(m)

i

} = 0.5, ǫ = P{vi =?} = 0 Theoretical 1 − (1 − e)3 = 0.875 1 − (1 − e)3 = 0.875 1 − [3(1 − e)2e + (1 − e)3] = 0.5...

u(m−1)

i

ℓm = 3 u(m)

i

...

u0 u1 u2 F ′

3

v0

0.5

v1

0.5

v2

0.5

GFFT

  • f v

(I)FFT GIFFT

  • f u

Uncover next (unknown) input using outputs and recovered inputs.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 20 / 32

slide-42
SLIDE 42

Decoding Successive Cancellation Decoding

Code Design for Algebraic Errors and Erasures Decoding

q-ary Symmetric Channel with Erasures (QSCE) with e = 0.5, ǫ = 0. Use Berlekamp-Massey (B-M) and Forney algorithms. ui ∈ F256, vi ∈ F256 ∪ {?}, e = P{vi = u(m)

i

} = 0.5, ǫ = P{vi =?} = 0 Monte Carlo eu0 = 0.875, ǫu0 = 0 eu1 = 0.002, ǫu1 = 0.875 eu2 = 0.003, ǫu2 = 0.482 ...

u(m−1)

i

ℓm = 3 u(m)

i

...

u0 u1 u2 F ′

3

v0

0.5

v1

0.5

v2

0.5

GFFT

  • f v

(I)FFT GIFFT

  • f u

Uncover next (unknown) input using outputs and recovered inputs.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 20 / 32

slide-43
SLIDE 43

Decoding Successive Cancellation Decoding

Decoding Complexity

For a length-ℓ block, bounded by Cℓ2 operations for some C > 0. Since there are

j=m ℓj = N/ℓm blocks at stage ℓm, the decoding

complexity is bounded by

n

  • m=1
  • j=m

ℓj

  • Cℓ2

m

  • = CN

n

  • m=1

ℓm ≤ CNn max

m ℓm.

For comparison, complexity of standard polar codes for N = 2n is O(NlogN) under SC decoding.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 21 / 32

slide-44
SLIDE 44

Decoding Successive Cancellation Decoding

Performance of Cyclic Polar Codes

What is the performance of cyclic polar codes?

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 22 / 32

slide-45
SLIDE 45

Results

Overview

1

Polar Codes Overview

2

Cyclic Polar Codes Galois field Fourier transform Cyclic polar codes

3

Decoding Successive Cancellation Decoding

4

Results For the q-ary Erasure Channel For the q-ary Symmetric Channel

5

Conclusions

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 23 / 32

slide-46
SLIDE 46

Results For the q-ary Erasure Channel

Simulation Results on a q-ary Erasure Channel (QEC)

0.4 0.5 0.6 0.7 0.8 0.9 1 10−2 10−1 100 Channel Erasure Rate Block Erasure Rate

  • Std. q = 257, N = 28

Cyclic q = 257, N = 28 Cyclic q = 256, N = 255 Comparison of performance of standard polar and cyclic polar codes. δ = 0.1; ǫ = 0.5 produced rates 0.328 for N = 256, 0.384 for N = 255.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 24 / 32

slide-47
SLIDE 47

Results For the q-ary Symmetric Channel

Simulation Results on a q-ary Symmetric Channel (QSC)

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 10−2 10−1 100 Channel Error Rate Block Error Rate

(256, 84) RS code (256, 84) CP code (255, 98) RS code (255, 98) CP code (16, 4) RS code (16, 4) CP code

Performance of QEC-designed cyclic polar (CP) codes on the QSC. δ = 0.1; ǫ = 0.5 produced rates 0.328 for N = 256, 0.384 for N = 255, 0.25 for N = 16.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 25 / 32

slide-48
SLIDE 48

Conclusions

Overview

1

Polar Codes Overview

2

Cyclic Polar Codes Galois field Fourier transform Cyclic polar codes

3

Decoding Successive Cancellation Decoding

4

Results For the q-ary Erasure Channel For the q-ary Symmetric Channel

5

Conclusions

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 26 / 32

slide-49
SLIDE 49

Conclusions

Summary

Cyclic Polar (CP) code construction for arbitrary blocklength N.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 27 / 32

slide-50
SLIDE 50

Conclusions

Summary

Cyclic Polar (CP) code construction for arbitrary blocklength N. Performance of CP code:

QEC: Outperforms standard polar code under deterministic hard-decision SC decoding with much higher rates and larger polarization kernels.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 27 / 32

slide-51
SLIDE 51

Conclusions

Summary

Cyclic Polar (CP) code construction for arbitrary blocklength N. Performance of CP code:

QEC: Outperforms standard polar code under deterministic hard-decision SC decoding with much higher rates and larger polarization kernels. QSC: With the design on QEC, outperforms hard-decision decoding of a similar RS code under soft-decision SC decoding; demonstrated for N = 28.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 27 / 32

slide-52
SLIDE 52

Conclusions

Summary

Cyclic Polar (CP) code construction for arbitrary blocklength N. Performance of CP code:

QEC: Outperforms standard polar code under deterministic hard-decision SC decoding with much higher rates and larger polarization kernels. QSC: With the design on QEC, outperforms hard-decision decoding of a similar RS code under soft-decision SC decoding; demonstrated for N = 28. QSC: With the design on QEC, inferior to hard-decision decoding of a similar RS code under algebraic hard-decision SC decoding; demonstrated for N = 255 = 3 · 5 · 17.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 27 / 32

slide-53
SLIDE 53

Conclusions

Future Work

Theoretical analysis for mixed-size kernels to prove polarization and see if these codes are capacity-achieving on arbitrary q-DMCs. Better decoding strategies for finite length cyclic polar codes (essentially better RS decoders for the small blocks). Effect of ordering of the factors of blocklength N in the code graph. Performance under random and burst errors/erasures. Optimizing computational complexity for q-ary alphabets. ... and much more!

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 28 / 32

slide-54
SLIDE 54

Conclusions

Thank you!

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 29 / 32

slide-55
SLIDE 55

Conclusions

Questions?

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 30 / 32

slide-56
SLIDE 56

Conclusions

How are the codes cyclic?

Cyclic codes are (principal) ideals in the ring of polynomials GF(q)[x]/(xn − 1). Find a primitive Nth root of unity ω in GF(q). The cyclic subgroup generated by ω gives all the N roots of the equation xN − 1 = 0. Hence we can factorize as xN − 1 =

N−1

  • i=0

(x − ωi) Our generator polynomial g(x) is the product of a subset of these factors and thus divides xN − 1. Since g(x) is monic and is the minimal polynomial of degree N − k in GF(q)[x]/(xn − 1), it is a generator for the ideal. Thus the code is cyclic with generator g(x).

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 31 / 32

slide-57
SLIDE 57

Conclusions

Capacity of QSCE

The capacity of q-ary symmetric channel with erasures (QSCE) with parameters α and β representing the probability of symbol erasure and symbol error, respectively, is

C = (1 − α) + (1 − α)logq 1 − α − β 1 − α

  • − βlogq

1 − α − β β

  • − βlogq(q − 1)

Hence, the capacities of q-ary erasure channel (QEC) and q-ary symmetric channel (QSC) are CQEC = 1 − α and CQSC = 1 − Hq(β) where, Hq(·) is the q-ary entropy function.

Narayanan Rengaswamy & Henry D. Pfister Cyclic Polar Codes June 16, 2015 32 / 32