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 & Henry D. Pfister June 16, 2015 1 / 32 Cyclic Polar Codes
Polar Codes Overview Polar Codes 1 Overview Cyclic Polar Codes 2 Galois field Fourier transform Cyclic polar codes Decoding 3 Successive Cancellation Decoding Results 4 For the q -ary Erasure Channel For the q -ary Symmetric Channel Conclusions 5 Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 2 / 32 Cyclic Polar Codes
Polar Codes Overview Polar Codes Introduced by Arıkan in [Arı09] using the binary 2 × 2 kernel � 1 � 0 G 2 = 1 1 Length N = 2 n polar transform matrix is given by G N = B N G ⊗ n 2 , where B N 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 June 16, 2015 3 / 32 Cyclic Polar Codes
Polar Codes Overview Extensions of Polar Codes Blocklength N = ℓ n , ℓ > 2; Transformation G N = B N G ⊗ 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 June 16, 2015 4 / 32 Cyclic Polar Codes
Polar Codes Overview Extensions of Polar Codes Blocklength N = ℓ n , ℓ > 2; Transformation G N = B N G ⊗ 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 = p m [MT10; MT14]. For example, using extended RS matrices. α 0 α 0 1 1 0 0 = α 1 α 0 G RS (3 , 3) = 2 1 0 0 α 0 α 0 α 0 1 1 1 where α = 2 ∈ F 3 is primitive. Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 4 / 32 Cyclic Polar Codes
Polar Codes Overview Motivation for Cyclic Polar Codes So far, blocklength N = ℓ n and transformation G N = B N G ⊗ n . ℓ How about mixed-size kernels? Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 5 / 32 Cyclic Polar Codes
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 June 16, 2015 6 / 32 Cyclic Polar Codes
CP Codes Overview Polar Codes 1 Overview Cyclic Polar Codes 2 Galois field Fourier transform Cyclic polar codes Decoding 3 Successive Cancellation Decoding Results 4 For the q -ary Erasure Channel For the q -ary Symmetric Channel Conclusions 5 Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 7 / 32 Cyclic Polar Codes
CP Codes Galois field Fourier transform Galois field Fourier Transform Replace polar transform with Galois field Fourier Transform (GFFT). Input: u = ( u 0 , u 1 , . . . , u N − 1 ), Output: v = ( v 0 , v 1 , . . . , v N − 1 ). Then GFFT u ← − − − v If F N is the GFFT matrix, N − 1 � v i ω ij u = F N v (or) u j = i =0 for j = 0 , 1 , . . . , N − 1, where ω in F q has order N . Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 8 / 32 Cyclic Polar Codes
CP Codes Galois field Fourier transform Galois field Fourier Transform How is this related to the polar transform? Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 9 / 32 Cyclic Polar Codes
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 = 2 n ; equivalent to standard polar code. Ignoring twiddle factors, the Kronecker product of repeated short GFFTs gives a long GFFT. Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 9 / 32 Cyclic Polar Codes
CP Codes Galois field Fourier transform Galois field Fourier Transform − → ℓ 1 = 5 ℓ 2 = 3 ← − Stage Stage Stage Encode u (1) F ′ F ′ Decode u (0) m = 0 m = 1 i m = 2 ℓ 1 ℓ 2 i u 0 u 0 v 0 v 0 u 1 u 3 F ′ v 5 v 1 3 F ′ u 2 u 6 v 10 v 2 5 u 3 u 9 v 1 v 3 u 4 u 12 v 6 v 4 F ′ 3 u 5 u 1 v 11 v 5 1 u 6 u 4 v 2 v 6 α − 1 u 7 u 7 F ′ F ′ v 7 v 7 5 α − 2 3 u 8 u 10 v 12 v 8 α − 3 u 9 u 13 v 3 v 9 α − 4 u 10 u 2 F ′ v 8 v 10 3 1 u 11 u 5 v 13 v 11 α − 2 u 12 u 8 v 4 v 12 F ′ α − 4 5 u 13 u 11 v 9 v 13 F ′ α − 6 3 u 14 u 14 v 14 v 14 α − 8 GFFT Input Length-5 Index Length-3 Output GIFFT of v of u Shuffle IFFTs Shuffle IFFTs Shuffle An example for N = 15 over F 16 depicting the transform. α is a primitive element in F 16 . In this case ω = α . Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 10 / 32 Cyclic Polar Codes
CP Codes Cyclic polar codes Cyclic Polar Codes Recollect that N − 1 � v i ω ij u j = i =0 where ω N = 1 in F q . In polynomial notation, with v ( x ) = � N − 1 i =0 v i x i , we have N − 1 N − 1 u j x j = � � v ( ω j ) x j u ( x ) = j =0 j =0 Hence, u j ’s are evaluations of v ( x ). Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 11 / 32 Cyclic Polar Codes
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 June 16, 2015 12 / 32 Cyclic Polar Codes
CP Codes Cyclic polar codes Cyclic Polar Codes Design of the code C produces the set of information indices A . Given A c , the indices frozen to zeros in u ( x ), there exists a generator g ( x ) such that � ( x − ω j ) v ( x ) = u A ( x ) g ( x ) = u A ( x ) j ∈A c where ω N = 1 in F q . Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 12 / 32 Cyclic Polar Codes
CP Codes Cyclic polar codes Cyclic Polar Codes Design of the code C produces the set of information indices A . Given A c , the indices frozen to zeros in u ( x ), there exists a generator g ( x ) such that � ( x − ω j ) v ( x ) = u A ( x ) g ( x ) = u A ( x ) j ∈A c where ω N = 1 in F q . We have a cyclic code! Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 12 / 32 Cyclic Polar Codes
CP Codes Cyclic polar codes Cyclic Polar Codes Design of the code C produces the set of information indices A . Given A c , the indices frozen to zeros in u ( x ), there exists a generator g ( x ) such that � ( x − ω j ) v ( x ) = u A ( x ) g ( x ) = u A ( x ) j ∈A c where ω N = 1 in F q . We have a cyclic code! Constraint: N | ( q − 1). Hence, field size must grow with the blocklength. Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 12 / 32 Cyclic Polar Codes
CP Codes Cyclic polar codes Cyclic Polar Codes Is this transformation polarizing? Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 13 / 32 Cyclic Polar Codes
CP Codes Cyclic polar codes Cyclic Polar Codes Example: N = 3 and N = 5 over F 16 . 1 1 1 1 1 ω 2 ω 3 ω 4 1 1 1 1 ω ω 2 ω 2 ω 4 ω 3 G 3 = 1 ω and G 5 = 1 ω ω 2 ω 3 ω 4 ω 2 1 ω 1 ω ω 4 ω 3 ω 2 1 ω where ω 3 = 1 for G 3 , ω 5 = 1 for G 5 . Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 14 / 32 Cyclic Polar Codes
CP Codes Cyclic polar codes Cyclic Polar Codes Example: N = 3 and N = 5 over F 16 . 1 1 1 1 1 ω 2 ω 3 ω 4 1 1 1 1 ω ω 2 ω 2 ω 4 ω 3 G 3 = 1 ω and G 5 = 1 ω ω 2 ω 3 ω 4 ω 2 1 ω 1 ω ω 4 ω 3 ω 2 1 ω where ω 3 = 1 for G 3 , ω 5 = 1 for G 5 . The transformation G N , 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 June 16, 2015 14 / 32 Cyclic Polar Codes
Decoding Overview Polar Codes 1 Overview Cyclic Polar Codes 2 Galois field Fourier transform Cyclic polar codes Decoding 3 Successive Cancellation Decoding Results 4 For the q -ary Erasure Channel For the q -ary Symmetric Channel Conclusions 5 Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 15 / 32 Cyclic Polar Codes
Decoding Successive Cancellation Decoding Soft Decoder Blocklength N = 2 n over q -ary channel, q prime. Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 16 / 32 Cyclic Polar Codes
Decoding Successive Cancellation Decoding Soft Decoder Blocklength N = 2 n over q -ary channel, q prime. Consider a 2 × 2 butterfly: inputs ( a 0 , a 1 ) and outputs ( b 0 , b 1 ). b 0 = a 0 + a 1 b 1 = a 0 + α a 1 Narayanan Rengaswamy & Henry D. Pfister June 16, 2015 16 / 32 Cyclic Polar Codes
Recommend
More recommend