cyclic codes and cellular automata
play

Cyclic Codes and Cellular Automata Journes Calculabilits 2016 Luca - PowerPoint PPT Presentation

Cyclic Codes and Cellular Automata Journes Calculabilits 2016 Luca Mariot 1 , 2 1 Dipartimento di Informatica, Sistemistica e Comunicazione (DISCo) Universit degli Studi Milano - Bicocca 2 Laboratoire dInformatique, Signaux et Systmes


  1. Cyclic Codes and Cellular Automata Journées Calculabilités 2016 Luca Mariot 1 , 2 1 Dipartimento di Informatica, Sistemistica e Comunicazione (DISCo) Università degli Studi Milano - Bicocca 2 Laboratoire d’Informatique, Signaux et Systèmes de Sophia Antipolis (I3S) Université Nice Sophia Antipolis luca.mariot@disco.unimib.it April 12, 2016

  2. Part 1: Error-Correcting Codes Basics

  3. Communication Model Noise e µ µ c z Alice Encoder Channel Decoder Bob ◮ µ ∈ { 0 , 1 } m : message ◮ e ∈ { 0 , 1 } n : error pattern ◮ c ∈ { 0 , 1 } n : codeword ( n > m ) ◮ z = c ⊕ e (received word) Luca Mariot Cyclic Codes and Cellular Automata

  4. Communication Model Noise e µ µ c z Alice Encoder Channel Decoder Bob ◮ µ ∈ { 0 , 1 } m : message ◮ e ∈ { 0 , 1 } n : error pattern ◮ c ∈ { 0 , 1 } n : codeword ( n > m ) ◮ z = c ⊕ e (received word) � n � errors ⇒ w H ( e ) ≤ t ASSUMPTION : at most t < 2 Luca Mariot Cyclic Codes and Cellular Automata

  5. Linear Codes Definition A ( n , m , d ) binary linear code C of minimum distance d is an m -dimensional subspace of F n 2 , such that for all distinct c 1 , c 2 ∈ C d H ( c 1 , c 2 ) ≥ d Luca Mariot Cyclic Codes and Cellular Automata

  6. Linear Codes Definition A ( n , m , d ) binary linear code C of minimum distance d is an m -dimensional subspace of F n 2 , such that for all distinct c 1 , c 2 ∈ C d H ( c 1 , c 2 ) ≥ d   g 1       .   g 1 , ··· , g m ∈ F n   2 basis of C ⇔ G = . m × n generator matrix of C    .          g m Luca Mariot Cyclic Codes and Cellular Automata

  7. Linear Codes Definition A ( n , m , d ) binary linear code C of minimum distance d is an m -dimensional subspace of F n 2 , such that for all distinct c 1 , c 2 ∈ C d H ( c 1 , c 2 ) ≥ d   g 1       .   g 1 , ··· , g m ∈ F n   2 basis of C ⇔ G = . m × n generator matrix of C    .          g m Encoding : vector-matrix multiplication µ �→ c = µ G Luca Mariot Cyclic Codes and Cellular Automata

  8. Error Correction (Sphere Shrinking – SS) � d − 1 � ◮ t = ⇔ Error-correction capability of C 2 ◮ Sphere of c ∈ C ⇔ S c = { z ∈ F n 2 : d H ( z , c ) ≤ t } c 9 c 10 c 8 c 4 c 5 c 6 c 7 t c 1 c 2 c 3 Luca Mariot Cyclic Codes and Cellular Automata

  9. Error Correction (Sphere Shrinking – SS) � d − 1 � ◮ t = ⇔ Error-correction capability of C 2 ◮ Sphere of c ∈ C ⇔ S c = { z ∈ F n 2 : d H ( z , c ) ≤ t } c 9 c 10 c 8 c 4 c 5 c 6 c 7 t c 1 c 2 c 3 SS-Decoding : return the nearest codeword c ∈ C to z ∈ F n 2 Luca Mariot Cyclic Codes and Cellular Automata

  10. Error Correction – Syndrome Decoding ◮ Parity Check Matrix: a ( n − m ) × n matrix H such that s = Hz ⊤ = 0 ⇔ z ∈ C s : Syndrome of z Luca Mariot Cyclic Codes and Cellular Automata

  11. Error Correction – Syndrome Decoding ◮ Parity Check Matrix: a ( n − m ) × n matrix H such that s = Hz ⊤ = 0 ⇔ z ∈ C s : Syndrome of z ◮ Suppose z = c ⊕ e , c ∈ C and e ∈ F n 2 . Then Hz ⊤ = H ( c ⊕ e ) ⊤ = ✟✟ Hc ⊤ ⊕ He ⊤ = He ⊤ ✟ Luca Mariot Cyclic Codes and Cellular Automata

  12. Error Correction – Syndrome Decoding ◮ Parity Check Matrix: a ( n − m ) × n matrix H such that s = Hz ⊤ = 0 ⇔ z ∈ C s : Syndrome of z ◮ Suppose z = c ⊕ e , c ∈ C and e ∈ F n 2 . Then Hz ⊤ = H ( c ⊕ e ) ⊤ = ✟✟ Hc ⊤ ⊕ He ⊤ = He ⊤ ✟ Syndrome Decoding : find e ∈ F n 2 and return c = z ⊕ e Luca Mariot Cyclic Codes and Cellular Automata

  13. Cyclic Codes Definition A ( n , m , d ) linear code is cyclic if it is closed under cyclic shifts, i.e. for all c = ( c 0 , c 1 , ··· , c n − 1 ) ∈ C σ ( c ) = ( c 1 , ··· , c n − 1 , c 0 ) ∈ C ◮ Polynomial representation: µ = ( µ 0 , ··· ,µ m − 1 ) �→ µ ( X ) = µ 0 + µ 1 X + ··· + µ m − 1 X m − 1 Luca Mariot Cyclic Codes and Cellular Automata

  14. Generator and Parity Check Polynomials ◮ Generator polynomial: g ( X ) = g 0 + g 1 X + ··· + g n − m X n − m Encoding : µ ( X ) �→ c ( X ) = µ ( X ) g ( X ) Luca Mariot Cyclic Codes and Cellular Automata

  15. Generator and Parity Check Polynomials ◮ Generator polynomial: g ( X ) = g 0 + g 1 X + ··· + g n − m X n − m Encoding : µ ( X ) �→ c ( X ) = µ ( X ) g ( X ) ◮ Parity-check polynomial: h ( X ) = ( X n − 1 ) / g ( X ) Syndrome : s ( X ) = z ( X ) h ( X ) = 0 ⇔ z ∈ C Luca Mariot Cyclic Codes and Cellular Automata

  16. Generator and Parity Check Polynomials ◮ Generator polynomial: g ( X ) = g 0 + g 1 X + ··· + g n − m X n − m Encoding : µ ( X ) �→ c ( X ) = µ ( X ) g ( X ) ◮ Parity-check polynomial: h ( X ) = ( X n − 1 ) / g ( X ) Syndrome : s ( X ) = z ( X ) h ( X ) = 0 ⇔ z ∈ C Cyclic codes of length n ⇔ Divisors of X n − 1 Luca Mariot Cyclic Codes and Cellular Automata

  17. Generator and Parity Check Matrices of Cyclic Codes ◮ Generator polynomial: g ( X ) = g 0 + g 1 X + ··· + g n − m X n − m   g 0 g n − m 0 0 ··· ··· ··· ··· ···        0 g 0 ··· g n − m 0 ··· ··· ··· 0        G =   . . . . . . .  ... ...   . . . . . . .    . . . . . . .           0 0 g 0 g n − m ··· ··· ··· ··· ··· Luca Mariot Cyclic Codes and Cellular Automata

  18. Generator and Parity Check Matrices of Cyclic Codes ◮ Generator polynomial: g ( X ) = g 0 + g 1 X + ··· + g n − m X n − m   g 0 g n − m 0 0 ··· ··· ··· ··· ···        0 g 0 ··· g n − m 0 ··· ··· ··· 0        G =   . . . . . . .  ... ...   . . . . . . .    . . . . . . .           0 0 g 0 g n − m ··· ··· ··· ··· ··· ◮ Parity-check polynomial: h ( X ) = h 0 + h 1 X + ··· + h m X m   h m ··· h 0 0 ··· ··· ··· ··· 0        0 h m h 0 0 0  ··· ··· ··· ···       H =   . . . . . . .  ... ...    . . . . . . .    . . . . . . .          0 ··· ··· ··· ··· 0 h m ··· h 0 Luca Mariot Cyclic Codes and Cellular Automata

  19. Systematic Encoding through LFSR [McEl85] ◮ Parity-check polynomial: h ( X ) = h 0 + h 1 X + ··· + h m X m ◮ Reciprocal: h ∗ ( X ) = X m h ( 1 / X ) = h m + h m − 1 X + ··· + h 0 X m Luca Mariot Cyclic Codes and Cellular Automata

  20. Systematic Encoding through LFSR [McEl85] ◮ Parity-check polynomial: h ( X ) = h 0 + h 1 X + ··· + h m X m ◮ Reciprocal: h ∗ ( X ) = X m h ( 1 / X ) = h m + h m − 1 X + ··· + h 0 X m + ··· + + h m − 1 h m h 1 h 0 µ 0 µ 1 ··· µ m − 2 µ m − 1 c Luca Mariot Cyclic Codes and Cellular Automata

  21. Systematic Encoding through LFSR [McEl85] ◮ Parity-check polynomial: h ( X ) = h 0 + h 1 X + ··· + h m X m ◮ Reciprocal: h ∗ ( X ) = X m h ( 1 / X ) = h m + h m − 1 X + ··· + h 0 X m + ··· + + h m − 1 h m h 1 h 0 µ 0 µ 1 ··· µ m − 2 µ m − 1 c c = ( µ 0 , ··· ,µ m − 1 , p 0 , ··· , p n − m − 1 ) � ��������� �� ��������� � � ������������ �� ������������ � original message parity check bits Luca Mariot Cyclic Codes and Cellular Automata

  22. Part 2: Cellular Automata

  23. One-Dimensional Cellular Automata (CA) Definition One-dimensional cellular automaton: triple � n ,δ, f � where n ∈ N is the number of cells arranged on a one-dimensional array, r ∈ N is the diameter and f : { 0 , 1 } δ → { 0 , 1 } is the local rule. Luca Mariot Cyclic Codes and Cellular Automata

  24. One-Dimensional Cellular Automata (CA) Definition One-dimensional cellular automaton: triple � n ,δ, f � where n ∈ N is the number of cells arranged on a one-dimensional array, r ∈ N is the diameter and f : { 0 , 1 } δ → { 0 , 1 } is the local rule. Example: n = 8, δ = 3, f ( s i − 1 , s i , s i + 1 ) = s i − 1 ⊕ s i ⊕ s i + 1 ··· 0 ··· 0 1 1 0 1 0 0 0 0 1 0 1 ⇓ Parallel update Global rule F ↓ f ( 1 , 1 , 0 ) = 1 ⊕ 1 ⊕ 0 0 1 0 0 1 1 0 Luca Mariot Cyclic Codes and Cellular Automata

  25. One-Dimensional Cellular Automata (CA) Definition One-dimensional cellular automaton: triple � n ,δ, f � where n ∈ N is the number of cells arranged on a one-dimensional array, r ∈ N is the diameter and f : { 0 , 1 } δ → { 0 , 1 } is the local rule. Example: n = 8, δ = 3, f ( s i − 1 , s i , s i + 1 ) = s i − 1 ⊕ s i ⊕ s i + 1 ··· 0 ··· 0 1 1 0 1 0 0 0 0 1 0 1 ⇓ Parallel update Global rule F ↓ f ( 1 , 1 , 0 ) = 1 ⊕ 1 ⊕ 0 0 1 0 0 1 1 0 Remark : No boundary conditions ⇒ The array “shrinks” Luca Mariot Cyclic Codes and Cellular Automata

  26. Linear CA ◮ Local rule: linear combination of the neighborhood cells f ( x 0 , ··· , x δ − 1 ) = a 0 x 0 ⊕···⊕ a δ − 1 x δ − 1 , a i ∈ F 2 Luca Mariot Cyclic Codes and Cellular Automata

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend