Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cyclic Codes 1. Definition Linear:

Similar presentations


Presentation on theme: "Cyclic Codes 1. Definition Linear: "โ€” Presentation transcript:

1 Cyclic Codes 1. Definition Linear: ๐‘Ž 0 ,โ€ฆ, ๐‘Ž ๐‘›โˆ’1 โˆˆ๐ถ, ๐‘ 0 ,โ€ฆ, ๐‘ ๐‘›โˆ’1 โˆˆ๐ถ
โŸนฮฑ ๐‘Ž 0 ,โ€ฆ, ๐‘Ž ๐‘›โˆ’1 +ฮฒ ๐‘ 0 ,โ€ฆ, ๐‘ ๐‘›โˆ’1 โˆˆ๐ถ Cyclic: ๐‘ 0 ,โ€ฆ, ๐‘ ๐‘›โˆ’1 โˆˆ๐ถโŸน ๐‘ ๐‘›โˆ’1 , ๐‘ 0 ,โ€ฆ, ๐‘ ๐‘›โˆ’2 โˆˆ๐ถ

2 ๐‘ญ๐’๐’“ ๐’†๐’™๐’‚๐’Ž๐’‘๐’๐’†: C= ๐ŸŽ ๐ŸŽ ๐ŸŽ , ๐ŸŽ ๐Ÿ ๐Ÿ , ๐Ÿ ๐ŸŽ ๐Ÿ , ๐Ÿ ๐Ÿ ๐ŸŽ is a ๐’=๐Ÿ‘, ๐’Œ=๐Ÿ cyclic code ๐’๐’—๐’†๐’“ ๐‘ฎ๐‘ญ ๐Ÿ with ๐’’ ๐’Œ =๐Ÿ’ ๐’„๐’๐’…๐’†๐’˜๐’๐’“๐’…๐’”; C= ๐ŸŽ ๐ŸŽ ๐ŸŽ , ๐ŸŽ ๐Ÿ ๐Ÿ , ๐Ÿ ๐ŸŽ ๐Ÿ , ๐Ÿ ๐Ÿ ๐ŸŽ , ๐ŸŽ ๐Ÿ ๐Ÿ , ๐Ÿ ๐ŸŽ ๐Ÿ , ๐Ÿ ๐Ÿ ๐ŸŽ , ๐Ÿ ๐Ÿ ๐Ÿ ,(๐Ÿ,๐Ÿ,๐Ÿ) is a ๐’=๐Ÿ‘, ๐’Œ=๐Ÿ ๐’„๐’š๐’„๐’๐’Š๐’„ ๐’„๐’๐’…๐’† ๐’๐’—๐’†๐’“ ๐‘ฎ๐‘ญ ๐Ÿ‘ with ๐’’ ๐’Œ =๐Ÿ— ๐’„๐’๐’…๐’†๐’˜๐’๐’“๐’…๐’”.

3 2. Generating function ๐‘ 0 ,โ€ฆ, ๐‘ ๐‘›โˆ’1 โˆˆ๐ถโ†’
๐‘ 0 ,โ€ฆ, ๐‘ ๐‘›โˆ’1 โˆˆ๐ถโ†’ ๐‘ 0 + ๐‘ 1 ๐‘ฅ+ ๐‘ 2 ๐‘ฅ 2 +โ€ฆ+ ๐‘ ๐‘›โˆ’1 ๐‘ฅ ๐‘›โˆ’1 โˆˆ๐ถ which is a corresponding polynomial for the codeword, Note that generating function is for codeword, not for code, and cannot generate the whole cyclic code ! from now on, codeword and polynomial are the same !

4 Example: C= ๐ŸŽ ๐ŸŽ ๐ŸŽ , ๐ŸŽ ๐Ÿ ๐Ÿ , ๐Ÿ ๐ŸŽ ๐Ÿ , ๐Ÿ ๐Ÿ ๐ŸŽ , ๐ŸŽ ๐Ÿ ๐Ÿ , ๐Ÿ ๐ŸŽ ๐Ÿ , ๐Ÿ ๐Ÿ ๐ŸŽ , ๐Ÿ ๐Ÿ ๐Ÿ ,(๐Ÿ,๐Ÿ,๐Ÿ) is a ๐Ÿ‘,๐Ÿ ๐’„๐’š๐’„๐’๐’Š๐’„ ๐’„๐’๐’…๐’† ๐’๐’—๐’†๐’“ ๐‘ฎ๐‘ญ ๐Ÿ‘ with ๐’’ ๐Ÿ =๐Ÿ— ๐’„๐’๐’…๐’†๐’˜๐’๐’“๐’…๐’”. The generating functions of the codewords are: 0, x+2 ๐’™ ๐Ÿ , 2+ ๐’™ ๐Ÿ , 1+2x, 2x+ ๐’™ ๐Ÿ , 1+2 ๐’™ ๐Ÿ , 2+x, 1+x+ ๐’™ ๐Ÿ , 2+2x+ ๐Ÿ๐’™ ๐Ÿ

5 3. Re-define Cyclic code by using generating function
โŸน ๐ถ ๐‘… (๐‘ฅ)โˆˆ๐ถ Linear: ๐‘Ž ๐‘ฅ =๐‘Ž 0 + ๐‘Ž 1 ๐‘ฅ+โ€ฆ+ ๐‘Ž ๐‘›โˆ’1 ๐‘ฅ ๐‘›โˆ’1 โˆˆ๐ถ, ๐‘ ๐‘ฅ =๐‘ 0 + ๐‘ 1 ๐‘ฅ+โ€ฆ+ ๐‘ ๐‘›โˆ’1 ๐‘ฅ ๐‘›โˆ’1 โˆˆ๐ถ โŸนฮฑ๐‘Ž(๐‘ฅ)+ฮฒ๐‘(๐‘ฅ)โˆˆ๐ถ

6 4. Generator polynomial (lowest degree of nonzero codewords)

7 combine the conditions on โ€œcyclic and linearโ€ together
Example: C= ๐ŸŽ ๐ŸŽ ๐ŸŽ , ๐ŸŽ ๐Ÿ ๐Ÿ , ๐Ÿ ๐ŸŽ ๐Ÿ , ๐Ÿ ๐Ÿ ๐ŸŽ , ๐ŸŽ ๐Ÿ ๐Ÿ , ๐Ÿ ๐ŸŽ ๐Ÿ , ๐Ÿ ๐Ÿ ๐ŸŽ , ๐Ÿ ๐Ÿ ๐Ÿ ,(๐Ÿ,๐Ÿ,๐Ÿ) is a ๐Ÿ‘,๐Ÿ ๐’„๐’š๐’„๐’๐’Š๐’„ ๐’„๐’๐’…๐’† ๐’๐’—๐’†๐’“ ๐‘ฎ๐‘ญ ๐Ÿ‘ with ๐’’ ๐Ÿ =๐Ÿ— ๐’„๐’๐’…๐’†๐’˜๐’๐’“๐’…๐’”. The generating functions of the codewords are: 0, x+2 ๐’™ ๐Ÿ , 2+ ๐’™ ๐Ÿ , 1+2x, 2x+ ๐’™ ๐Ÿ , 1+2 ๐’™ ๐Ÿ , 2+x, 1+x+ ๐’™ ๐Ÿ , 2+2x+ ๐Ÿ๐’™ ๐Ÿ Generator polynomial: g(x)=1+2x or 2+x ? We need monic: 2+x need monic ! The 3rd definition of cyclic code by using generating function: combine the conditions on โ€œcyclic and linearโ€ together Theorem 8.2 implies C = ๐‘ก ๐‘ฅ ๐‘”(๐‘ฅ) ๐‘› :๐‘ก(๐‘ฅ)โˆˆ๐น[๐‘ฅ]

8 4.2 Property of Factor: Part I
๐’ˆ(๐’™) is unique in this way ๐’ˆ ๐’™ |๐‘ท ๐’™ , Otherwise ๐‘ƒ ๐‘ฅ =๐‘ข ๐‘ฅ ๐‘” ๐‘ฅ +๐‘ฃ ๐‘ฅ where 0<๐œ•๐‘ฃ ๐‘ฅ <๐œ•๐‘” ๐‘ฅ โ‰ค๐‘›โˆ’1, which implies that ๐‘ฃ ๐‘ฅ = [๐‘ฃ ๐‘ฅ ] ๐‘› = ๐‘ƒ ๐‘ฅ โˆ’๐‘ข ๐‘ฅ ๐‘” ๐‘ฅ ๐‘› = [๐‘ƒ ๐‘ฅ ] ๐‘› โˆ’ [๐‘ข ๐‘ฅ ๐‘” ๐‘ฅ ] ๐‘› is a nonzero codeword, i.e. a contradiction. Corollary: ๐’ˆ ๐’™ |๐’„ ๐’™ where ๐’„ ๐’™ is any codeword, ๐’ˆ ๐’™ | ๐’™ ๐’ โˆ’๐Ÿ.

9 4.3 Property of Factor: Part II,
which is the 4th definition of cyclic code, i.e. Th. 8.3 (1) C = ๐‘ก ๐‘ฅ ๐‘”(๐‘ฅ) ๐‘› :๐‘ก(๐‘ฅ)โˆˆ๐น[๐‘ฅ] = ๐‘ก ๐‘ฅ ๐‘” ๐‘ฅ :๐‘ก ๐‘ฅ โˆˆ๐น ๐‘ฅ , ๐œ•๐‘ก ๐‘ฅ โ‰ค๐‘›โˆ’๐‘Ÿโˆ’1 where ๐‘Ÿ=๐œ•๐‘” ๐‘ฅ Proof. ๐‘ก ๐‘ฅ ๐‘” ๐‘ฅ :๐‘ก ๐‘ฅ โˆˆ๐น ๐‘ฅ , ๐œ•๐‘ก ๐‘ฅ โ‰ค๐‘›โˆ’1โˆ’๐‘Ÿ โŠ‡๐ถ because of Lemma 2 โŠ‡ ๐‘ก ๐‘ฅ ๐‘”(๐‘ฅ) ๐‘› :๐‘ก(๐‘ฅ)โˆˆ๐น[๐‘ฅ] because of Theorem 8.2 โŠ‡ ๐‘ก ๐‘ฅ ๐‘” ๐‘ฅ :๐‘ก ๐‘ฅ โˆˆ๐น ๐‘ฅ , ๐œ•๐‘ก ๐‘ฅ โ‰ค๐‘›โˆ’1โˆ’๐‘Ÿ ๐จ๐›๐ฏ๐ข๐จ๐ฎ๐ฌ๐ฅ๐ฒ # So ๐’Œ= ๐’๐’๐’ˆ ๐’’ ๐‘ช = ๐’๐’๐’ˆ ๐’’ ๐’’ ๐’โˆ’๐’“ =๐’โˆ’๐๐’ˆ ๐’™

10 5. One to one correspondence
between cyclic code with length n and monic divisor of xn-1 (b) i.e. if ๐’ˆ ๐’™ | ๐’™ ๐’ โˆ’๐Ÿ ๐’• ๐’™ ๐’ˆ ๐’™ :๐’• ๐’™ โˆˆ๐‘ญ ๐’™ , ๐๐’• ๐’™ โ‰ค๐’โˆ’๐’“โˆ’๐Ÿ is a cyclic code.

11 ๐’• ๐’™ ๐’ˆ(๐’™) ๐’ = ๐’• ๐’™ ๐’ˆ ๐’™ +v ๐’™ ๐’™ ๐’ โˆ’๐Ÿ , and ๐’ˆ ๐’™ | ๐’™ ๐’ โˆ’๐Ÿ,
(b) If ๐’ˆ ๐’™ | ๐’™ ๐’ โˆ’๐Ÿ, ๐‚= ๐’• ๐’™ ๐’ˆ ๐’™ :๐’• ๐’™ โˆˆ๐‘ญ ๐’™ , ๐๐’• ๐’™ โ‰ค๐’โˆ’๐’“โˆ’๐Ÿ is a cyclic code. Proof. ๐ฐ๐ž ๐จ๐ง๐ฅ๐ฒ ๐ง๐ž๐ž๐ ๐ญ๐จ ๐ฉ๐ซ๐จ๐ฏ๐ž ๐ญ๐ก๐š๐ญ ๐‘ก ๐‘ฅ ๐‘” ๐‘ฅ :๐‘ก ๐‘ฅ โˆˆ๐น ๐‘ฅ , ๐œ•๐‘ก ๐‘ฅ โ‰ค๐‘›โˆ’๐‘Ÿโˆ’1 = ๐‘ก ๐‘ฅ ๐‘”(๐‘ฅ) ๐‘› :๐‘ก(๐‘ฅ)โˆˆ๐น[๐‘ฅ] since ๐‘ก ๐‘ฅ ๐‘”(๐‘ฅ) ๐‘› :๐‘ก ๐‘ฅ is a cyclic code. O๐ง๐ฅ๐ฒ ๐ง๐ž๐ž๐ ๐ญ๐จ ๐ฉ๐ซ๐จ๐ฏ๐ž ๐‘” ๐‘ฅ | ๐‘ก ๐‘ฅ ๐‘”(๐‘ฅ) ๐‘› . From the definition of mod, ๐’• ๐’™ ๐’ˆ(๐’™) ๐’ = ๐’• ๐’™ ๐’ˆ ๐’™ +v ๐’™ ๐’™ ๐’ โˆ’๐Ÿ , and ๐’ˆ ๐’™ | ๐’™ ๐’ โˆ’๐Ÿ, It is easy to see that ๐‘” ๐‘ฅ | ๐‘ก ๐‘ฅ ๐‘”(๐‘ฅ) ๐‘› . # For example, for ๐’=๐Ÿ‘ ๐จ๐ฏ๐ž๐ซ ๐‘ฎ๐‘ญ(๐Ÿ‘), ๐‘ฅ ๐‘› โˆ’1= ๐‘ฅโˆ’1 3 has ๐Ÿ’ factors๏ผš (1) ๐‘” ๐‘ฅ =1 (2) ๐‘” ๐‘ฅ =๐‘ฅโˆ’1 (3) ๐‘” ๐‘ฅ = ๐‘ฅโˆ’1 2 = ๐‘ฅ 2 +๐‘ฅ+1 (4) ๐‘” ๐‘ฅ = ๐‘ฅโˆ’1 3 = ๐‘ฅ 3 โˆ’1=0 ๐‘š๐‘œ๐‘‘ ๐‘ฅ ๐‘› โˆ’1. see follows.

12 ๐‘” ๐‘ฅ =1 corresponds to C= ๐‘ก ๐‘ฅ :๐‘ก ๐‘ฅ โˆˆ๐น ๐‘ฅ , ๐œ•๐‘ก ๐‘ฅ โ‰ค2 ={(0 0 0), (1 0 0), (2 0 0), โ€ฆ, (2 2 2)} totally 27 codewords, i.e. whole space; (2) ๐‘” ๐‘ฅ =๐‘ฅโˆ’1 corresponds to C= ๐‘ก ๐‘ฅ (๐‘ฅโˆ’1):๐‘ก ๐‘ฅ โˆˆ๐น ๐‘ฅ , ๐œ•๐‘ก ๐‘ฅ โ‰ค1 ={(0 0 0), (2 1 0), (0 2 1), (1 0 2), (1 2 0), (0 1 2), (2 0 1), (1 1 1), (2 2 2)} totally 9 codewords; (3) ๐‘” ๐‘ฅ = ๐‘ฅโˆ’1 2 = ๐‘ฅ 2 +๐‘ฅ+1 corresponds to C= ๐‘ก ๐‘ฅ ( ๐‘ฅ 2 +๐‘ฅ+1):๐‘ก ๐‘ฅ โˆˆ๐น ๐‘ฅ , ๐œ•๐‘ก ๐‘ฅ โ‰ค0 ={(0 0 0), (1 1 1), (2 2 2)} totally 3 codewords; (4) ๐‘” ๐‘ฅ = ๐‘ฅโˆ’1 3 = ๐‘ฅ 3 โˆ’1=0 ๐‘š๐‘œ๐‘‘ ๐‘ฅ ๐‘› โˆ’1 corresponds to C={(0 0 0)}.

13 6. Parity-check polynomial

14 7. Generator matrix and Parity-check matrix
Example: for C ={(0 0 0), (2 1 0), (0 2 1), (1 0 2), (1 2 0), (0 1 2), (2 0 1), (1 1 1), (2 2 2)} over ๐บ๐น(3) We have ๐’ˆ ๐’™ =๐Ÿ+๐’™, and ๐บ=

15 Note that the previous form of ๐บ 1 , and the relation ๐‘” ๐‘ฅ โ„Ž ๐‘ฅ = ๐‘ฅ ๐‘› โˆ’1, imply that one parity check matrix can be ๐ป 1 . Example cont'd: ๐’‰ ๐’™ = ๐’™ ๐Ÿ‘ โˆ’๐Ÿ ๐Ÿ+๐’™ = ๐’™ ๐Ÿ +๐’™+๐Ÿ, and ๐’‰ ๐’™ = ๐’™ ๐Ÿ +๐’™+๐Ÿ ๐ป= 1 1 1

16 Encoding example by polynomials: ๐’„ ๐’™ =๐’– ๐’™ ๐’ˆ(๐’™)
๐‘ข ๐‘ฅ = ๐‘ข 0 + ๐‘ข 1 ๐‘ฅ+โ€ฆ+ ๐‘ข ๐‘˜โˆ’1 ๐‘ฅ ๐‘˜โˆ’1 ๐‘ ๐‘ฅ = ๐‘ 0 + ๐‘ 1 ๐‘ฅ+โ€ฆ+ ๐‘ ๐‘›โˆ’1 ๐‘ฅ ๐‘›โˆ’1 โ€ฆ + + + ๐‘ 0 , ๐‘ 1 ,โ€ฆ, ๐‘ ๐‘›โˆ’1 โ€ฆ ร— ๐‘” ๐‘›โˆ’๐‘˜ ร— ๐‘” ๐‘›โˆ’๐‘˜โˆ’1 ร— ๐‘” 1 ร— ๐‘” 0 ๐‘ข 0 , ๐‘ข 1 ,โ€ฆ, ๐‘ข ๐‘˜โˆ’1 โ€ฆ Begin of output: ๐‘ ๐‘›โˆ’1 =๐‘ข ๐‘˜โˆ’1 ๐‘” ๐‘›โˆ’๐‘˜ End of output: ๐‘ 0 = ๐‘ข 0 ๐‘” 0

17 7. Dual code of cyclic code
Dual code definition. ๐ถ โŠฅ ={ ๐›ผ 0 , ๐›ผ 1 ,โ€ฆ, ๐›ผ ๐‘›โˆ’1 : ๐›ผ 0 ๐›ฝ 0 + ๐›ผ 1 ๐›ฝ 1 +โ€ฆ+ ๐›ผ ๐‘›โˆ’1 ๐›ฝ ๐‘›โˆ’1 =0 ๐‘“๐‘œ๐‘Ÿ ๐‘Ž๐‘™๐‘™ ( ๐›ฝ 0 , ๐›ฝ 1 ,โ€ฆ, ๐›ฝ ๐‘›โˆ’1 )โˆˆ๐ถ} Proposition 1. The dual code of cyclic code is also cyclic. Proof.

18 For example: ๐‘” ๐‘ฅ =๐‘ฅโˆ’1 corresponds to a [3,2] cyclic code over GF(3)
={(0 0 0), (2 1 0), (0 2 1), (1 0 2), (1 2 0), (0 1 2), (2 0 1), (1 1 1), (2 2 2)}. We have [3,1] dual cyclic code ๐ถ โŠฅ ={(0 0 0), (1 1 1), (2 2 2)} = ๐‘ก ๐‘ฅ (๐‘ฅโˆ’1) 2 :๐‘ก ๐‘ฅ โˆˆ๐น ๐‘ฅ , ๐œ•๐‘ก ๐‘ฅ โ‰ค0 .

19 Proposition 2. C is a [n, k] cyclic code
Proposition 2. C is a [n, k] cyclic code. The generator polynomial of is Proof. Step 1: Since generator matrix of is parity check matrix of C, so is a generator matrix of

20 Proposition 3. C is a cyclic code. The parity check polynomial of is
Step 2: is a generator polynomial of the dual code: ๐‘” (๐‘ฅ) โ„Ž (๐‘ฅ) Proposition 3. C is a cyclic code. The parity check polynomial of is ๐‘” ๐‘ฅ โ„Ž ๐‘ฅ = ๐‘ฅ ๐‘› โˆ’1 โŸน๐‘” ๐‘ฅ โˆ’1 โ„Ž ๐‘ฅ โˆ’1 =( ๐‘ฅ โˆ’๐‘› โˆ’1) โŸน [๐‘ฅ ๐‘›โˆ’๐‘˜ ๐‘” ๐‘ฅ โˆ’1 ]ร— [๐‘ฅ ๐‘˜ โ„Ž ๐‘ฅ โˆ’1 ]= ๐‘ฅ ๐‘› ( ๐‘ฅ โˆ’๐‘› โˆ’1) โŸน ๐‘” (๐‘ฅ) โ„Ž (๐‘ฅ)= โˆ’(๐‘ฅ ๐‘› โˆ’1) Proof. From Prop.2, โ„Ž ๐‘ฅ is generator of ๐‘ช โŠฅ , so ๐‘” (๐‘ฅ) is the parity check of ๐‘ช โŠฅ .


Download ppt "Cyclic Codes 1. Definition Linear: "

Similar presentations


Ads by Google