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
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,
n
n
n
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
n Applications of cyclic codes
q
2
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.
3
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
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)
q
𝒟(2p; n, k, dBCH), k = n – deg gBCH(x), dBCH is the number of the consecutive roots over F!6 in gBCH(x)
4
n Bounded minimum-distance decoding
q
Berlekamp-Massey (BM) algorithm, Euclidean algorithm, etc.
n
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]
5
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)
⊥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)
6
n
w(x) = e(x)b(x) mod (xn – 1)
q
Eg., shift w(x) by
q
Use d⊥ shifts
= 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
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
q
Indicator function 𝑈 𝑚, 𝑗, 𝑘, ℎ = R 1, if w;,*
(:) = 𝜏2
0, otherwise
q
Reliability measure 𝜚2,* = ∑ ∑ 𝑈(𝑚, 𝑗, 𝑘, ℎ)
` :/$
8
n
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
w;
(:)(x) = xb?
β?
(@) r(x)b(𝑚)(x)
1 2 3 4 5 6 7
9
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,*
10
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
n Soft-decision iterative shift-sum (SISS) algorithm
q
Coefficient w;,*
(:) = $
β?
(@) ∑
βB
(:)𝑠 *D;#B EFG I
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,* = ∑ ∑ 𝑈(𝑚, 𝑗, 𝑘, ℎ)
` :/$
q
Determine 𝒦 = 𝒦($) ∩ 𝒦(!) and 𝑓̂ 𝑦 = ∑ 𝑓̂*
𝑦*
q
Refine r(x) = r(x) – 𝑓̂ 𝑦 . If r(x) is not a valid codeword, continue the decoding
12
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
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
1 2 3 4 5 6 7
13
n 𝒟(16; 15, 5, 11) RS code, QSC, L = 335, d⊥ = 6
€ • ‚ • 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
n 𝒟(4; 63, 27, 21) NB-BCH code, QSC, L = 183, d⊥ = 14
€ • ‚ • 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
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
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
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
n 𝒟(16; 15, 5, 11) RS code, AWGN, L = 335, d⊥ = 6
q
q
q
19
n The shift-sum decoding for non-binary cyclic codes has
n Two iterative decoding algorithms based on the shift-
n Simulation results show the decoding performance and
20