Documente Academic
Documente Profesional
Documente Cultură
Curs 4
Coduri detectoare si corectoare de erori
„Codarea unei surse” se realizează în scopul reducerii dimensiunii
reprezentării pe un canal de comunicaţie care se presupune a fi lipsit
de pierderi.
O problemă diferită este cea a „codării canalului de comunicaţie”
care vizează detecţia şi corecţia erorilor ce apar în condiţii de
zgomot (perturbații). Dacă la codarea sursei (compresia datelor) ne
interesa să mărim eficienţa şi să scădem redundanţa, acum avem în
vedere introducerea unui anumit nivel de redundanţă care să permită
transmiterea datelor nu numai eficient, ci şi corect. Astfel, pe
canalul de comunicație se adaugă simboluri suplimentare numite și
simboluri de control care permit apoi detectarea și corectarea unor
posibile erori la transmisie.
Coduri detectoare si corectoare de erori
Acţionează de regulă la
nivelul data-link
(corecţia erorilor şi
controlul fluxului) din
modelul ISO-OSI
(International
Organization for
Standardization - Open
System Interconnection)
Coduri detectoare si corectoare de erori
Codificare Codificare Canal de
Sursa Decodificare Destinatie
primara redundanta comunicatie
La sursă are loc codificarea; cea redundantă adaugă informația de control.
La destinație are loc decodificarea + detecția/corecția erorilor.
Tipuri de coduri:
Coduri bloc – pentru care prelucrările necesare obţinerii proprietăţilor
de detecţie sau de corecţie se fac în blocuri de n simboluri:
Coduri grup– pentru care secvențele de cod sunt considerate ca
fiind elemente dintr-un spațiu vectorial;
Coduri ciclice– pentru care secvențele de cod sunt considerate ca
fiind elemente într-o algebră.
Coduri convoluţionale (recurente) – prelucrarea simbolurilor generate
de sursă se realizează în mod continuu.
Distanta de cod
În cazul codurilor grup, secvenţele de cod sunt considerate ca fiind elemente dintr-un spaţiu
vectorial și, ca atare, probabilitatea de detecție și corecție a unui astfel de cod depinde de
distanța minimă între două cuvinte de cod.
Distanţa dintre două cuvinte de cod este egală cu numărul de simboluri prin care cele două
cuvinte se deosebesc.
Distanţa de cod este o funcţie definită de:
De ce să folosești ECC?
https://danluu.com/why-ecc/
Codul Hamming - aplicabilitate
Memoria ECC utilizează biți de paritate pentru a stoca un cod criptat la scrierea datelor în
memorie, iar codul ECC este stocat în același timp. Când se citesc datele, codul ECC stocat este
comparat cu codul ECC care a fost generat când datele au fost citite. Dacă acel cod care a fost
citit nu se potrivește cu codul stocat, este decriptat de biții de paritate pentru a determina care
bit a fost eronat, atunci acest bit este corectat imediat. Pe măsură ce sunt procesate datele,
memoria ECC scanează constant codul cu un algoritm special pentru detectarea și corectarea
erorilor de memorie pe un singur bit.
ECC este cel mai des folosit în cazul serverelor sau la sisteme unde se lucrează cu date de mare
valoare. Tehnologia permite detectarea și corectarea erorilor de memorie pe un singur bit, o
eroare de date în ieșirea sau producția serverului, eroare care poate avea un mare impact asupra
performanței serverului sau chiar pierderea datelor.
ECC poate afecta performanța, încetinând cu aproximativ 0,5-2% sistemul. Din fericire, erorile
de memorie sunt rare în cazurile memoriilor mai performante din zilele noastre, astfel încât
majoritatea utilizatorilor nu au nevoie de un ECC la sistemul de acasă.
Probleme
Codificare
a) Să se determine secvențelele codului Hamming pentru cifrele zecimale
4,5,6,7 știind că într-o primă codificare s-a utilizat codul 2421.
b) Cunoscând că prin codul Hamming se asigură detecția și corecția unei
singure erori, să se verifice dacă secvențele de cod obținute respectă condiția
distanței minime.
Corectie
A fost recepționat mesajul 1001101. Știind că reprezintă o secvență a
codului Hamming să se verifice corectitudinea ei. Dacă este posibil să se
asigure corecția. Cărei cifre zecimale îi corespunde mesajul corectat dacă
într-o primă codificare s-a utilizat codul 2421?
Coduri liniare cu control încrucișat
Paritatea longitudinală
Coduri liniare cu control încrucișat
Recepție
Coduri polinomiale ciclice. Codificare
Coeficienţii polinomului T(x) constituie mesajul ce se va transmite:
T: (anan-1....a0cr-1.....c0) care conţine în poziţiile semnificative cele n+1
simboluri informaţionale iar în poziţiile mai puţin semnificative cele r
simboluri de control.
Polinomul ataşat mesajului transmis este un multiplu al polinomului de
generare.
Înlocuind prin relaţia
obținem
Rezultă că T(x) este divizibil prin G(x). Această proprietate este folosită
Coduri polinomial ciclice
Recepție
Fie mesajul recepţionat T', acestuia i se asociază polinomul T'(x).
Putem scrie că T'(x)=T(x) E(x), unde E(x) este polinomul
erorilor.
Aplicând criteriul de detecţie a erorilor, obţinem:
Coduri polinomial ciclice
Recepție
Se observă că dacă E(x) este multiplu al lui G(x), mesajul
recepţionat este validat, deşi conţine erori.
Dacă E(x) nu este multiplu al lui G(x) atunci eroarea este
sesizată.
Prin această metodă sunt determinate toate pachetele de erori
de lungime mai mică decît gradul polinomului G(x)+1.
Se numeşte pachet de erori o succesiune de simboluri, corecte
sau eronate, în care primul şi ultimul simbol sunt eronate.
Probleme
Codificare
Mesajul binar M: 110011 se transmite după codificarea polinomial-
ciclică prin polinomul de generare G(x) = x2+x+1. Care este
reprezentarea binară a mesajului transmis?
Corecție
Mesajul binar recepționat T’: 111111 a fost codificat prin polinomul
de generare G(x) = x2+1. Să se verifice corectitudinea mesajului
recepționat.
Bibliografie
Floarea Nastase, Razvan Zota, Bazele tehnologiei
informatiei, Editura ASE, Bucuresti, 2005, paginile 59-78.
Iuliana Dorobat, Bazele tehnologiei informatiei aplicatii,
Editura ASE, Bucuresti, 2018.
https://ro.wikipedia.org/wiki/Memoria_ECC
https://danluu.com/why-ecc/
https://www.nyu.edu/pages/linguistics/courses/v610003/
shan.html
https://profs.info.uaic.ro/~fliacob/An1/2007-2008/Utilita
ti/U11/Despre%20entropie/Informatie%20si%20entropie%2
0(%20Problema%20entropiei%20maxime%20).pdf
https://towardsdatascience.com/the-intuition-behind-sha
nnons-entropy-e74820fe9800