Documente Academic
Documente Profesional
Documente Cultură
Solomon
Campuri Galois
Pentru a determina g(x) a.i. codul sa poata corecta maxim t erori independente vom utiliza
teoria Campurilor Galois (GF – Galois Fields)
Campurile Galois se noteaza GF(2k), unde k este extensia campului.
Un GF (2k) este definit prin elementele sale:
𝑘 −2
𝐺𝐹 2𝑘 : 01𝛼 𝛼2 3
𝛼 …𝛼 2
g(x): 2 4 6 7
0 10 1 0 0 1 1 0 111
MSB
𝑔 𝑥 = 𝑥 10 + 𝑥 8 + 𝑥 5 + 𝑥 4 + 𝑥 2 + 𝑥 + 1
a) Pentru m =5, din secventa informationala data, primul bloc informational este:
𝑖1 = 1 0 1 0 1
MSB
′
′ 𝑥 𝑘 ∙𝑖 𝑥
Relatia de codare este 𝑣 𝑥 = 𝑥𝑘 ∙𝑖 𝑥 + 𝑟𝑒𝑠𝑡𝑢𝑙
𝑔 𝑥
𝑣= 1 0 1 0 1 1 0 0 1 0 0 0 1 1 1
MSB
𝑥 14 + 𝑥 12 + 𝑥 10 𝑥 10 + 𝑥 8 + 𝑥 5 + 𝑥 4 + 𝑥 2 + 𝑥 + 1
𝑥 14 + 𝑥 12 + 𝑥 9 + 𝑥 8 + 𝑥 6 + 𝑥 5 + 𝑥 4 𝑥4 + 1
/ / 𝑥 10 + 𝑥 9 + 𝑥 8 + 𝑥 6 + 𝑥 5 + 𝑥 4
𝑥 10 + 𝑥 8 + 𝑥 5 + 𝑥 4 + 𝑥 2 + 𝑥 + 1
/ 𝑥9 + 𝑥6 + 𝑥2 + 𝑥 + 1
b) lungimea secventei codate
Lungimea secventei informationale este de 15 biti. Daca m = 5 => secventa se imparte in blocuri
de 5 biti => 3 blocuri informationale. Dupa codare fiecare bloc are 15 biti, deci lungimea
secventei codate va avea 45 biti
𝑛𝑟.𝑏𝑖𝑡𝑖 𝑠𝑒𝑐𝑣𝑒𝑛𝑡𝑎 𝑛𝑟.𝑏𝑖𝑡𝑖 𝑠𝑒𝑐𝑣𝑒𝑛𝑡𝑎
𝐿= ∙ 𝑛 . Daca nu este un nr. intreg atunci se adauga biti de zero la
𝑚 𝑚
secventa a.i. nr. bitilor din secventa sa se imparta exact la m
15
𝐿= ∙ 15 = 45 𝑏𝑖𝑡𝑖
5
c) distanta de cod
t = 3 erori => cod corrector de erori => d ≥ 2t + 1 => d = 7
P2. Fie un cod BCH corector de t = 3 erori cu n = 15. Determinati cuvantul de cod din care provine
Unde 𝜶 ∈ 𝑮𝑭 𝟐𝟒 , 𝛼15 = 1
𝑺1 = 𝑟 𝛼 = 𝛼14 + 𝛼10 + 𝛼 9 + 𝛼 5 + 𝛼 3 + 1 = 1 + 𝛼 3 + 1 + 𝛼 2 + 𝛼 3 + 𝛼 + 𝛼 2 + 𝛼 3 + 1 = 1 + 𝛼 +
+ 𝛼3 = 𝛼7
𝑆3 = 𝑟 𝛼 3 = 𝛼 42 + 𝛼 30 + 𝛼 27 + 𝛼15 + 𝛼 9 + 1 = 𝛼12 + 1 + 𝛼12 + 1 + 𝛼 9 + 1 = 𝛼 7
𝝈1 = 𝑆1 = 𝛼 7
𝝈3 = 𝑆13 + 𝑆3 + 𝑆1 𝝈2 = 𝛼10 + 𝛼 4 = 𝛼 2
Pas 3. Cautarea pozitiilor eronate (cautarea Chien)
Erorile se gasesc pe pozitiile (n-j); j=1…n, daca:
?
σ3𝑖=1 𝝈𝑖 𝜶𝑖⋅𝑗 = 1 , j=1,n
Pt. j =1 𝛔1 𝜶1⋅1 + 𝝈2 𝜶2⋅1 + 𝝈3 𝜶3⋅1 = 𝛼 7 ⋅ 𝛼 + 𝛼12 ⋅ 𝛼 2 + 𝛼 2 ⋅ 𝛼 3 ≠ 1
Pt. j =2 𝛔1 𝜶1⋅2 + 𝝈2 𝜶2⋅2 + 𝝈3 𝜶3⋅2 = 𝛼 7 ⋅ 𝛼 2 + 𝛼12 ⋅ 𝛼 4 + 𝛼 2 ⋅ 𝛼 6 = 𝛼 9 + 𝛼 + 𝛼 8 ≠ 1
Pt. j =3 𝛔1 𝜶1⋅3 + 𝝈2 𝜶2⋅3 + 𝝈3 𝜶3⋅3 = 𝛼 7 ⋅ 𝛼 3 + 𝛼12 ⋅ 𝛼 6 + 𝛼 2 ⋅ 𝛼 9 = 𝛼10 + 𝛼 3 + 𝛼11 = 1 => rn−j = r12 eronat
Pt. j =4 𝛔1 𝜶1⋅4 + 𝝈2 𝜶2⋅4 + 𝝈3 𝜶3⋅4 = 𝛼 7 ⋅ 𝛼 4 + 𝛼12 ⋅ 𝛼 8 + 𝛼 2 ⋅ 𝛼12 = 𝛼11 + 𝛼 5 + 𝛼14 = 1 => rn−j = r11 eronat
Pt. j =5 𝛔1 𝜶1⋅5 + 𝝈2 𝜶2⋅5 + 𝝈3 𝜶3⋅5 = 𝛼 7 ⋅ 𝛼 5 + 𝛼12 ⋅ 𝛼10 + 𝛼 2 ⋅ 𝛼15 = 𝛼12 + 𝛼 7 + 𝛼 2 ≠ 1
Pt. j =6 𝛔1 𝜶1⋅6 + 𝝈2 𝜶2⋅6 + 𝝈3 𝜶3⋅6 = 𝛼 7 ⋅ 𝛼 6 + 𝛼12 ⋅ 𝛼12 + 𝛼 2 ⋅ 𝛼18 = 𝛼13 + 𝛼 9 + 𝛼 5 = 1=> rn−j = r9 eronat
Restul sumelor sunt ≠ 1
Corectia:
𝑟= 1 0 0 0 1 1 0 0 0 1 0 1 0 0 1
MSB
⊕
𝑒= 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0
MSB
=
𝑣= 1 0 1 1 1 0 0 0 0 1 0 1 0 0 1
MSB
2. Coduri RS (Reed-Solomon)
Pb. 3 Fie un cod RS(n,m) = RS(7,5) in care cuvantul de informatiei este i = 1 2 3 4 5,
MSC
Determinati:
a) g(x) pentru p =1
b) cuvantul de cod corespunzator
c) distanta de cod
n = 7 si m = 5 => k’ = 2 => t =k’/2 = 1
n = 7 si 𝑛 = 2𝑘 − 1 => k=3 => GF(23)
0 1 𝛼 𝛼2 𝛼3 𝛼4 𝛼5 𝛼6
GF 23 = , 𝛼7 = 1
012 3 4 5 6 7
a) Determinarea lui g(x) pentru p = 1
𝑔 𝑥 = 𝑥 + 𝛼 𝑝 𝑥 + 𝛼 𝑝+1 = 𝑥 + 𝛼 𝑥 + 𝛼 2 = 𝑥 2 + 𝛼 2 𝑥 + 𝛼𝑥 + 𝛼 3 = 𝑥 2 + 𝛼 4 𝑥 + 𝛼 3
Sau putem nota 𝑔 𝑥 = 𝑥 2 + 5𝑥 + 4 daca inlocuim elementele de GF cu valori zecimale
b) cuvantul de cod corespunzator
Pas1. scrierea polinomului 𝑖 𝑥
i= 1 2 3 4 5 ⇒ 𝑖 𝑥 = 𝑥 4 + 2𝑥 3 + 3𝑥 2 + 4𝑥 + 5 ⇒ 𝑖 𝑥 = 𝑥 4 + 𝛼𝑥 3 + 𝛼 2 𝑥 2 + 𝛼 3 𝑥 +
MSC
𝛼4
𝑘 ′
Pas2. calcularea lui 𝑥 ∙𝑖 𝑥
′
𝑥 𝑘 ∙ 𝑖 𝑥 = 𝑥 2 𝑥 4 + 𝛼𝑥 3 + 𝛼 2 𝑥 2 + 𝛼 3 𝑥 + 𝛼 4 = 𝑥 6 + 𝛼𝑥 5 + 𝛼 2 𝑥 4 + 𝛼 3 𝑥 3 + 𝛼 4 𝑥 2
′
Pas3. impartirea lui 𝑥 𝑘 ∙ 𝑖 𝑥 la 𝑔 𝑥 pentru a obtine restul
𝑥 6 + 𝛼𝑥 5 + 𝛼 2 𝑥 4 + 𝛼 3 𝑥 3 + 𝛼 4 𝑥 2 𝑥 2 + 𝛼4𝑥 + 𝛼3
𝑥 6 + 𝛼4𝑥 5 + 𝛼3𝑥 4 𝑥 4 + 𝛼 2 𝑥 3 + 𝛼𝑥 2 + 𝛼 3 𝑥 + 1
𝑣= 1 2 3 4 5 4 4
MSC
P4. Pentru codul RS(7,3) fie cuvantul receptionat r = 0 5 2 4 4 3 1 Determinati cuvantul
MSC
de cod din care provine.
Solutie:
n = 7, m = 3 => k’ = n-m = 4
t = k’/2 = 2
𝑛 = 7 = 2𝑘 − 1 ⇒ 𝑘 = 3 ⇒ 𝐺𝐹(23 ), 𝛼 7 = 1
0 1 𝛼 𝛼2 𝛼3 𝛼4 𝛼5 𝛼6
GF(23 ) =
012 3 4 5 6 7
Aflam polinomul corespunzator lui r
𝑟 𝑥 = 𝛼 4 𝑥 5 + 𝛼𝑥 4 + 𝛼 3 𝑥 3 + 𝛼 3 𝑥 2 + 𝛼 2 𝑥 + 1
Pas 1. Determinare sindroamele erorii (Si, i =1,2t)
𝑺1 = 𝒓 𝜶 = 𝛼 3
𝑺2 = 𝒓 𝜶2 = 𝛼 5
𝑺3 = 𝒓 𝜶3 = 𝛼 5
𝑺4 = 𝒓 𝜶4 = 0 ⇒ 𝑆 = 𝛼 3 α5 𝛼 5 0 ≠ 0 => avem erori
Pas 2. Determinarea coeficientilor polinomului erorri 𝜎𝑖
𝜎1 = 𝑆1 𝑆4 + 𝑆3 𝑆2 / 𝑆22 + 𝑆1 𝑆3 = 𝛼 5 𝛼 5 / 𝛼 10 + 𝛼 3 𝛼 5 = 𝛼 3
𝜎2 = 𝑆2 𝑆4 + 𝑆32 / 𝑆22 + 𝑆1 𝑆3 = 𝛼 10 / 𝛼 10 + 𝛼 3 𝛼 5 = 𝛼 3
Pas 3. Cautarea Chien
𝑗 = 1 𝜎1 𝛼1⋅1 + 𝜎2 𝛼 2⋅1 = 1 deci pozitia n−j = 7−1 = 6 este eronata(MSC): 𝑋1 = 𝛼 6
𝑗 = 2 𝜎1 𝛼1⋅2 + 𝜎2 𝛼 2⋅2 = 𝛼 2 ≠ 1
𝑗 = 3 𝜎1 𝛼1⋅3 + 𝜎2 𝛼 2⋅3 = 𝛼 6 + 𝛼 9 = 1 deci pozitia n − j = 7 −3 = 4 este eronata: 𝑋2 = α4
𝑗= 4 𝜎1 𝛼1⋅4 + 𝜎2 𝛼 2⋅4 ≠ 1
𝑗= 5 𝜎1 𝛼1⋅5 + 𝜎2 𝛼 2⋅5 ≠ 1
𝑗= 6 𝜎1 𝛼1⋅6 + 𝜎2 𝛼 2⋅6 ≠ 1
𝑗= 7 𝜎1 𝛼1⋅7 + 𝜎2 𝛼 2⋅7 ≠ 1
Pas 4. Calcularea valorilor erorilor
𝑆1 𝑋2 +𝑆2 𝑆1 𝑋1 +𝑆2
𝑌1 = = 𝛼2 si 𝑌2 = = 𝛼2
𝑋1 𝑋2 +𝑋22 𝑋1 𝑋2 +𝑋22
Pas 5.
𝑣6 = 𝑟6 ⊕ 𝑌1 = 0 ⊕ 𝛼 2 = 𝛼 2 ⇒ 3
𝑣4 = 𝑟4 ⊕ 𝑌2 = 𝛼 ⊕ 𝛼 3 = 𝛼 + 𝛼 + 1 = 1 ⇒ 1