Iterative Decoding of Non-Binary Cyclic Codes Using Minimum- Weight - - PowerPoint PPT Presentation

iterative decoding of non binary cyclic codes using
SMART_READER_LITE
LIVE PREVIEW

Iterative Decoding of Non-Binary Cyclic Codes Using Minimum- Weight - - PowerPoint PPT Presentation

Iterative Decoding of Non-Binary Cyclic Codes Using Minimum- Weight Dual Codewords Jiongyue Xing , Li Chen n School of EIT, Sun Yat-sen University , Guangzhou, China Martin Bossert, Sebastian Bitzer n Institute of CE, Ulm University , Ulm,


slide-1
SLIDE 1

n

Jiongyue Xing, Li Chen School of EIT, Sun Yat-sen University, Guangzhou, China

n

Martin Bossert, Sebastian Bitzer Institute of CE, Ulm University, Ulm, Germany

n

IEEE International Symposium on Information Theory 21st – 26th, June, 2020, Los Angeles, California, USA

Iterative Decoding of Non-Binary Cyclic Codes Using Minimum- Weight Dual Codewords

slide-2
SLIDE 2

Outline

n Introduction n Shift-Sum Decoding n Iterative Shift-Sum Decoding Algorithms

q Hard-decision ISS algorithm q Soft-decision ISS algorithm

n Simulation Results n Conclusions

1

slide-3
SLIDE 3

n Applications of cyclic codes

q

  • Eg. Reed-Solomon (RS) and BCH codes
  • I. Introduction

2

slide-4
SLIDE 4

n Cyclic codes

q

Finite field: Fq = {σ0, σ1, …, σ!"#$}, its primitive element is α

q

𝒟(2p; n, k, d), p ≤ s p = 1: 𝒟 is a binary BCH code p = s: 𝒟 is an RS code 1 < p < s: 𝒟 is a non-binary BCH (NB-BCH) code

q

Dual code: 𝒟⊥(2p; n, n – k, d⊥)

q

Let c(x) = c0 + c1x + ∙ ∙ ∙ + cn-1xn-1 ∊ 𝒟, sup(c(x)) = { j | cj ≠ 0, ∀j }

n Cyclically different codewords

q

Let c1(x), c2(x) ∊ 𝒟, if c2(x) ≠ αjc1(x)x-h mod (xn – 1), ∀j and ∀h ∊ sup(c1(x)), they are cyclically different.

  • I. Introduction

3

slide-5
SLIDE 5

n Encoding of cyclic codes

q

Message poly.: f(x) = f0 + f1x + ∙ ∙ ∙ + fk-1xk-1

q

Generator poly.: g(x)

q

Codeword: c(x) = f(x)g(x)

n

RS encoding

q

𝒟(2s; n, k, dRS), dRS = n – k + 1 gRS(x) = ∏ (x − α*)

,-.#$ */$

n NB-BCH encoding

q

Cyclotomic cosets Kj = {j・(2p)i mod n, i = 0, 1, …, s p – 1}

q

Let K = ⋃Kj gBCH(x) = ∏ (x − α2)

  • 2∈5

q

𝒟(2p; n, k, dBCH), k = n – deg gBCH(x), dBCH is the number of the consecutive roots over F!6 in gBCH(x)

  • I. Introduction

4

slide-6
SLIDE 6

n Bounded minimum-distance decoding

q

Berlekamp-Massey (BM) algorithm, Euclidean algorithm, etc.

n

Algebraic list decoding

q

Guruswami-Sudan (GS) algorithm, Koetter-Vardy (KV) algorithm, Wu’s decoding, etc.

n Reliability based decoding

q

Generalized minimum-distance decoding, Chase decoding, ordered statistics decoding, etc.

n Belief-propagation based decoding

q

Adaptive BP algorithm, multiple-bases BP algorithm, etc.

n Decoding with minimum-weight dual codewords

q

Reed-Muller codes [Santi_ISIT2018]

q

BCH codes [Bossert_SCC2019]

  • I. Introduction

5

slide-7
SLIDE 7

n Cyclic convolution

q

For all c(x) ∊ 𝒟 and all b(x) ∊ 𝒟⊥ c(x)b(x) = 0 mod (xn – 1)

n Minimum-weight dual codeword (MWDC)

b(x) = β1xb1 + β2xb2 + ∙ ∙ ∙ + βd

⊥xbd⊥

n Channel

q

Error poly.: e(x) = ε1xe1 + ε2xe2 + ∙ ∙ ∙ + ετxeτ

q

Received poly.: r(x) = c(x) + e(x)

q

Check poly.: w(x) = r(x)b(x) = c(x)b(x) + e(x)b(x) = e(x)b(x) mod (xn – 1)

  • II. Shift-Sum Decoding

6

slide-8
SLIDE 8

n

With the choice of b1 = 0, β1 = 1

w(x) = e(x)b(x) mod (xn – 1)

q

Eg., shift w(x) by

q

Use d⊥ shifts

  • II. Shift-Sum Decoding

= e(x) + β2xb2e(x) + ⋯ + βd

⊥xbd⊥e(x) mod (xn – 1)

β2ε1xe1+b2 + β2ε2xe2+b2 + ⋯ + β2ετxeτ+b2+ = ε1xe1 + ε2xe2 + ⋯ + ετxeτ + βd

⊥ε1xe1+bd⊥ + βd ⊥ε2xe2+ bd⊥ + ⋯ + βd ⊥ετxeτ+bd⊥

⋮ x-bh βh w(x) mod (xn – 1), where h ∊ {1, 2, …, d⊥}

βd

β1

w(x) = e(x) + β7 β8xb2–b1e(x) + ⋯ + xbd⊥–b1e(x) mod (xn – 1) x-b1 β1 !! All nonzero coefficients of w(x) are errors or shifted scalar errors !!

7

slide-9
SLIDE 9

q

Use L cyclically different MWDC b(𝑚)(x)= β$

(:)xb1 + β! (:)xb2 + ⋯ + β

d⊥

(:)xbd⊥, 𝑚 = 1, 2, …, L

q

Calculate w(𝑚)(x) = r(x)b(𝑚)(x) mod (xn – 1)

q

Use d⊥ cyclic shifts of w;

(:)(x), where ℎ ∊ {1, 2, …, d⊥}

q

Coefficients of w;

(:)(x)

w;,*

(:) = $

β?

(@) ∑

βB

(:)𝑠 *D;#B EFG I

  • B∈JKL(M @ (N))

q

Indicator function 𝑈 𝑚, 𝑗, 𝑘, ℎ = R 1, if w;,*

(:) = 𝜏2

0, otherwise

q

Reliability measure 𝜚2,* = ∑ ∑ 𝑈(𝑚, 𝑗, 𝑘, ℎ)

  • ;∈JKL(M @ (N))

` :/$

  • II. Shift-Sum Decoding

8

slide-10
SLIDE 10

n

Example: (7, 3) RS code defined over F8

Codeword c(x) = 5 + 6x + 6x2 + 3x3 + 5x5 + 3x6 Received r(x) = 5 + 7x + 6x2 + 3x3 + 3x6 Cyclically different minimum-weight dual codewords b(1)(x) = 1 + 2x + 7x2 + 4x6 b(2)(x) = 1 + x + x3 + x6 b(3)(x) = 1 + 4x2 + 7x3 + 2x6 b(4)(x) = 1 + 4x + 6x2 + 3x5 b(5)(x) = 1 + 3x2 + 7x4 + 5x6 Error poly. e(x) = x + 5x5 Update c a(x) = r(x) – e(x) = 5 + 6x + 6x2 + 3x3 + 5x5 + 3x6

  • II. Shift-Sum Decoding

w;

(:)(x) = xb?

β?

(@) r(x)b(𝑚)(x)

1 2 3 4 5 6 7

  • F8 is an extension field of F2, defined by p(x) = x3 + x + 1
  • In F8, {σ0, σ1, σ2, σ3, σ4, σ5, σ6, σ7} = {0, 1, 2, 4, 3, 6, 7, 5}

9

slide-11
SLIDE 11

n Hard-decision iterative shift-sum (HISS) algorithm

q

Sort 𝜚c,* in an ascending order as 𝜚c,*d

(8) < 𝜚c,*8 (8) < ⋯ < 𝜚c,*gb8 (8)

Let 𝒦($) = {𝑘c

($), 𝑘$ ($), … , 𝑘k#$ ($) }

q

Let 𝜔* = max{𝜚2,*|𝑗 ≠ 0} and 𝑓̂* is the corresponding field elements. Sort 𝜔* in a descending order as 𝜔*d

(7) < 𝜔*8 (7) < ⋯ < 𝜔*gb8 (7)

Let 𝒦(!) = {𝑘c

(!), 𝑘$ (!), … , 𝑘k#$ (!) }

q

Updated positions set 𝒦 = 𝒦($) ∩ 𝒦(!)

q

Updated polynomial 𝑓̂ x = ∑ 𝑓̂*

  • *∈𝒦

x*

q

Refine polynomial r(x) ← r(x) – 𝑓̂ x

q

If r(x) ∊ 𝒟(2p; n, k, d), output r(x). Otherwise, recalculate 𝜚2,*

  • III. Iterative Shift-Sum Decoding Algorithms

10

slide-12
SLIDE 12
  • III. Iterative Shift-Sum Decoding Algorithms

n Reliability matrix

0.02 0.00 0.01 0.01 0.71 0.56 0.01 0 0.02 0.10 0.02 0.11 0.05 0.02 0.08 1 0.01 0.05 0.01 0.05 0.03 0.01 0.29 2 0.00 0.03 0.11 0.68 0.09 0.00 0.46 3 0.12 0.02 0.02 0.00 0.00 0.38 0.11 4 0.80 0.01 0.00 0.10 0.10 0.00 0.01 5 0.00 0.05 0.83 0.03 0.00 0.02 0.01 6 0.30 0.74 0.00 0.02 0.02 0.01 0.03 7 r0 r1 r2 r3 r4 r5 r6

Π =

n Reliability of received symbol rj

𝛿* = max{𝜌2,*|∀𝑗} 1 − max{𝜌2,*|∀𝑗} Hard-decision 5 7 6 3 0 3 Reliability 4.00 2.85 4.88 2.13 2.45 1.27 0.85

11

slide-13
SLIDE 13

n Soft-decision iterative shift-sum (SISS) algorithm

q

Coefficient w;,*

(:) = $

β?

(@) ∑

βB

(:)𝑠 *D;#B EFG I

  • B∈JKL(M @ (N))

q

Reliability measure for w;,*

(:)

𝜊;,*

(:) = min{𝛿 *D;#B EFG I|𝑤 ∈ sup 𝑐 𝑦

and 𝑤 ≠ ℎ}

q

Indicator function 𝑈 𝑚, 𝑗, 𝑘, ℎ = R𝜊;,*

(:), if w;,* (:) = 𝜏2

0 , otherwise

q

Reliability measure 𝜚2,* = ∑ ∑ 𝑈(𝑚, 𝑗, 𝑘, ℎ)

  • ;∈JKL(M @ (N))

` :/$

q

Determine 𝒦 = 𝒦($) ∩ 𝒦(!) and 𝑓̂ 𝑦 = ∑ 𝑓̂*

  • *∈𝒦

𝑦*

q

Refine r(x) = r(x) – 𝑓̂ 𝑦 . If r(x) is not a valid codeword, continue the decoding

  • III. Iterative Shift-Sum Decoding Algorithms

12

slide-14
SLIDE 14

5.95 1.27 4.68 5.00 5.95 2.45 8.84 3.39 13.94 1.70 2.12 0.85 0.85 8.39 2.12 1.27 3.83 2.12 3.40 0.85 1.27 4.25 0.85 1.27 0.85 2.98 3.30 3.40 1.27 2.54 6.26 6.26 2.97 4.98 4.12 1.70 2.12 2.12 3.70 3.70 13.94 2.54 2.13 2.12 4.25 1.70 3.39 2.13 3.72 4.15 0.85 0.85 4.57 2.12 2.98 3.40

n

Example: (7, 3) RS code defined over F8

Codeword c(x) = 5 + 6x + 6x2 + 3x3 + 5x5 + 3x6 Received r(x) = 5 + 7x + 6x2 + 3x3 + 3x6 Symbols reliability: 4.00, 2.85, 4.88, 2.13, 2.45, 1.27, 0.85 Error poly. e(x) = x + 5x5 Update c a(x) = r(x) – e(x) = 5 + 6x + 6x2 + 3x3 + 5x5 + 3x6

  • III. Iterative Shift-Sum Decoding Algorithms

1 2 3 4 5 6 7

13

slide-15
SLIDE 15
  • IV. Simulation Results

n 𝒟(16; 15, 5, 11) RS code, QSC, L = 335, d⊥ = 6

WER(𝜍) = ∑

€ • ‚ • I

  • 𝜍• 1 − 𝜍 I#•

I

  • /$

1.E-9 1.E-8 1.E-7 1.E-6 1.E-5 1.E-4 1.E-3 1.E-2 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 WER ρ BM GS HISS (10)

14

slide-16
SLIDE 16
  • IV. Simulation Results

n 𝒟(4; 63, 27, 21) NB-BCH code, QSC, L = 183, d⊥ = 14

WER(𝜍) = ∑

€ • ‚ • I

  • 𝜍• 1 − 𝜍 I#•

I

  • /$

1.E-9 1.E-8 1.E-7 1.E-6 1.E-5 1.E-4 1.E-3 1.E-2 1.E-1 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 WER ρ BM HISS (10)

15

slide-17
SLIDE 17
  • IV. Simulation Results

n 𝒟(16; 15, 5, 11) RS code, AWGN, L = 335, d⊥ = 6 1.E-05 1.E-04 1.E-03 1.E-02 1.E-01 1.E+00 2 3 4 5 6 7 8 9 10 WER SNR (dB) BM KV (𝑚 = 4) KV (𝑚 = 8) MBBP (10) HISS (3) HISS (5) HISS (10) SISS (3) SISS (5) SISS (10) MLLB MLUB

16

slide-18
SLIDE 18
  • IV. Simulation Results

n 𝒟(16; 15, 9, 7) RS code, AWGN, L = 201, d⊥ = 10 1.E-05 1.E-04 1.E-03 1.E-02 1.E-01 1.E+00 3 4 5 6 7 8 WER SNR (dB) BM / GS KV (𝑚 = 4) KV (𝑚 = 8) HISS (3) SISS (3) MLLB MLUB

17

slide-19
SLIDE 19
  • IV. Simulation Results

n 𝒟(4; 63, 27, 21) NB-BCH code, AWGN, L = 183, d⊥ = 14 1.E-05 1.E-04 1.E-03 1.E-02 1.E-01 1.E+00 2 3 4 5 6 7 8 WER SNR (dB) BM HISS (5) HISS (10) HISS (20) SISS (5) SISS (10) SISS (20) MBBP (10)

18

slide-20
SLIDE 20
  • IV. Simulation Results

n 𝒟(16; 15, 5, 11) RS code, AWGN, L = 335, d⊥ = 6

q

Decoding complexity of each iteration: Ln(d⊥)2

q

GS-Koetter complexity: 9.72 × 106

q

GS-BR complexity: 2.37 × 106

19

slide-21
SLIDE 21
  • V. Conclusions

n The shift-sum decoding for non-binary cyclic codes has

been introduced.

n Two iterative decoding algorithms based on the shift-

sum decoding have been proposed.

n Simulation results show the decoding performance and

complexity potentials of the proposed algorithms. Thank you!

20