Fig. 1. Clasificarea de corectie a erorilor de codificare
Autoprotejat coduri numite corecție. Eroare cod de corectare se bazează pe introducerea redundanță în semnalul transmis. Codul Interferența diferă de convențional prin aceea că respectivul canal nu este transmis toate combinațiile de cod care pot fi formate. Dintre numeroasele combinații de așa-numite stativ combinațiile permise care sunt alocate prin prezența unor proprietăți specifice. codewords Numai aprobate sunt transmise în canalul de comunicație. Restul cuvintele de cod neutilizate numit interzise. canal de transmisie nu sunt supuse comunicării.
Pentru întregul set binare de codewords este egal cu N = 2 n. unde n - numărul de biți într-un cuvânt de cod. Acest set este împărțit în două subseturi de combinații de coduri permise și interzise. Aceste subgrupuri sunt cunoscute ca la transmisie și la partea de recepție.
În cazul în care combinația se duce la un subset al combinațiilor interzise, eroarea este detectată codul transmisă ca rezultat al distorsionare. Codurile, care permite detectarea doar prezența unor erori, dar nu indică numărul de biți de cod distorsionate numit de detectare a erorilor.
Dacă este necesar, se corectează unele distorsiuni generate procedează după cum urmează. Întregul set de codewords N este împărțit în N 0 Dacă vor fi adoptate printr-o combinație de A j este inclusă în subgrupul de N 0J (A 0J j N), se decide că combinația transferată de j. Aceasta este, în cazul în care a primit a rămas cuvântul de cod în același subsetul cum au fost transmise, recepția va fi fără erori. dacă
ca urmare a cuvintelor de cod de distorsiune într-un alt subset, recepția va eșua.
Fig. 2. Principiul corectarea erorilor care apar
Codurile care nu numai că detectează o eroare, dar, de asemenea, să indice numărul poziției distorsionat, numit corectarea erorilor de cod. Când se utilizează codul de corectare a erorilor în canalul de comunicare este transmis numai cuvinte de cod permise. Dacă nu a existat nici o interferență, apoi să transfere aceste codewords
Aceasta ar necesita un număr minim de n biți 0. n log 2 N 0 0 n.
Astfel, detectarea și corectarea erorilor care apar în canalele de comunicare se realizează prin introducerea în biți transmise codewords redundante.
2. Capacitatea de a detecta și codul corect
Luați în considerare posibilitatea de detectare a erorilor și de corectare printr-un exemplu simplu. Să presupunem că informațiile sunt transmise într-un cod binar-un bit. Aceasta este, informația transmisă este 0 sau 1. Numărul de posibile codewords N 0 = 0. 2 n unde n = 0 1 N 0 = 2 1 = 2. Fiecare cuvânt de cod se adaugă o altă descărcare: n = n + 1 = 0 1 + 1 = 2. Numărul de codewords N = 2 n = 2 2 = 4. Aceste combinații fac setul format din 00, 01, 10, 11. Această pluralitate divide prin două subseturi de combinații permise și interzise. Printre permise pus acele combinații în care cantitatea de unități este întotdeauna chiar. Rezoluție Selectați acele combinații care diferă una de cealaltă prin două biți - este 00, și 11. Atunci când o astfel de combinații Alocarea unei singure (sau impar), eroarea se va schimba numărul de unități în ciudatul permise. Adoptat prin cuvântul de cod, în acest caz, se duce la un subset de interzis și este detectată o eroare.
În cazul în care combinația de cod pentru a introduce numărul de biți suplimentari, este posibil nu numai pentru a detecta, dar, de asemenea, să corecteze erorile. În cazul în care combinațiile permise definite, astfel încât oricare dintre ele diferă unul de altul prin cel puțin trei biți, eroarea unică poate fi corectată. Posibilitatea de a corecta o singură eroare în acest caz este faptul că combinația greșit va fi diferit de numai un bit adevărat, și va rămâne în domeniul relevant pentru combinația transmise permise.
Luați în considerare cele de mai sus în modelul geometric al unui cod binar de trei cifre, cu care puteți obține 2 3 = 8 combinații. Și anume, 000, 001, 010, 011, 100, 101, 110, 111. Fiecare combinație nouă poate fi reprezentată printr-un punct în spațiu tridimensional (figura 3.).
Pentru a corecta o singură eroare diviza toate seturile de combinații în cele două domenii, și vom transmite doar două cuvinte de cod 111 și 000. Aceste combinații sunt diferite una de alta prin trei evacuări. Orice singură eroare lasă un cuvânt de cod în domeniu relevant pentru combinația transmis. Astfel, atunci când denaturarea o singură combinație de evacuare în 000 se transformă în 001 sau 100, sau 010. Aceste
a = (0. 1. a n-1); b = (b 0. b 1. b n-1).
Folosind distanța Hamming ca metrice în setul de codewords poate aloca corectarea erorii și zona de detectare.
Aprobarea. Dacă codul este utilizat numai pentru detectarea erorilor este de a detecta o combinație nume de cod arbitrar al s erori, este necesar și suficient ca distanța Hamming pentru oricare două codewords permise a fost de 1 mai mare decât s (numărul de erori detectate): d min o . b s 1
În conformitate cu declarația erorii poate fi detectată în acest exemplu, multiple s = 1 și s = 2. Pentru s = 3 transmis devine o altă nume de cod combinație rezoluție. Eroarea nu este detectată.
Aprobarea. Dacă codul este utilizat numai pentru a corecta erorile, pentru a corecta erorile t este necesar și suficient ca d min o. b 2 t 1.
Aprobarea. Pentru a detecta și erorile t corectă în e cuvântul de cod, dacă și numai dacă d min o. b
Astfel, alegerea corectă a mesajului transmis codewords permis și a blocat face posibilă pentru a forma o detectare a erorilor nu-cod și corectare.
3. Codurile rezistente la zgomot Block
Codurile descompuși sunt de obicei denumite (n, k) - coduri. În cazul în care n - numărul de elemente într-un cuvânt de cod, k - numărul de elemente de informație.
O metodă obișnuită de muncă (n, k) cod este de a reprezenta setul de codewords utilizat sub forma unei matrice cu n coloane și rânduri k. O astfel de matrice se numește matricea generatorului. Desemnat generatoare de matrice - G n k.
Prin transformări elementare (rând permutare; suma rând înlocuirea rândului oricărui alt rând, coloane permutare) matricea generatorului poate fi convertit la forma canonică:
produsul obținut în cuvântul codificat transpusa matrice paritate de verificare. În cazul în care cuvântul de cod este trecut fără distorsiuni, sindromul este zero,
și anume S 000. Dacă, totuși, un caracter va fi dus la distorsionarea, sindromul coincide cu o coloană a matricei de selectare și indicați spre camera de evacuare (simbol în cuvântul cod), care este primit în eroare.
Pentru a corecta o greșeală trebuie să se descarce simbolul care a apărut eroarea adaugă unul modulo doi.
În conformitate cu codul de grup înțeles în mod obișnuit astfel de majoritaristă coduri de grup care permit utilizarea principiului deciziei majorității în decodarea (regula majorității).
Când decodarea codul Hamming utilizat Sindromul Decodarea.
Pentru a forma generatorul de matrice (3),
verificare matrice are canonic
H verificare matrice este compus din 2 submatricile:
r - matricea transpusa determinată din matricea generatorului;
- dimensiunea matricea identitate r
inspecție Proprietate matrice: produsul cuvântului codată (cuvântul de cod permis) prin matricea de verificare transpusa este egal cu zero, vectorului:
1. 0. b b b b k 2. 1. 0. a a r 1. 1 H T 0,0. 0 r 1.
Verificați și matricele de generator sunt legate de expresia:
unde C b 0 b 1 b 2 b 3 _ o 0 1 2 - mesaj primit;
H T - transpunerea matricei de verificare a parității.
Conform regulii de multiplicare a vectorului de către elementele de matrice ale sindromului va fi determinat de expresia:
S 0 b 1 b 2 b 3a 0. S 1 b 0 b 2 b 3 o 2 1. S 0 b 1 b 2 b 3a.
În cazul în care cuvântul de cod este trecut fără distorsiuni, sindromul este zero,
În cazul în care orice caracter este acceptat cu distorsiunea, sindromul va indica numărul de articol în cuvântul de cod, care este acceptat din greșeală.
vector de eroare este un model care este asociat cu sindrom, și conține o unitate în evacuarea în care a apărut eroarea și zerouri în toate celelalte biți. Întocmește un tabel al vectorului sindrom și de eroare:
Corespondența tabelul vector de eroare Sindromul Mesaje