Download presentation
Presentation is loading. Please wait.
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 ๐ช โฅ .
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.