DECODAREA PE BAZA CRITERIULUI PROBABILITATII CONDITIONATE MAXIME DE DECIZIE (MLD-MAXIMUM LIKELIHOOD DECODING)
La receptie decoderul va trebui sa decida, pe baza secventei receptionate r care a fost secventa transmisa, deci va estima emisia () pe baza receptiei.
Daca (secventa de cod), nu sint erori la decodare. Daca secventa estimata () difera de o secventa de cod (v), decodarea este eronata. Probabilitatea ca in cazul receptiei lui r sa apara eroare la decodare este :
=: (17)
Probabilitatea de eroare a decoderului se poate exprima si sub forma :
(18)
derivata ca probabilitate marginala din probabilitatea cuplului (E,r) :
p(E,r)=p(E/r)p(r) .
Conform relatiei (18), vom avea o probabilitate minima de eroare la decodare daca p(E/r) va fi minim, dat fiind ca p(r) este independenta de decodare. Deoarece minimizarea lui este echivalenta cu maximizarea lui p(/r) rezulta ca p(E) min se obtine pentru p(v/r) maxim. p(v/r) se poate exprima, conform formulei lui Bayes:
(19)
deci maximizarea lui p(v/r) este echivalenta cu maximizarea lui p(r/v), in ipoteza echiprobabilitatii cuvintelor de cod v. In cazul unui canal fara memorie, pentru care fiecare simbol receptionat depinde doar de simbolul emis, avem :
(20)
unde ri,vi sint componentele cuvintului receptionat, respectiv a cuvintului de cod transmis.
Decoderul care face estimarea secventei receptionate prin maximizarea relatiei (20) se numeste decoder dupa probabilitatea conditionata maxima (MLD).
(21)
unde vi sint componentele lui v.
Deoarece ldx este o functie crescatoare monotona cu x, maximizarea relatiei (21) este echivalenta cu maximixarea logaritmului functiei respective :
(22)
Observatie :
daca cuvintele de cod v nu sint echiprobabile, decoderul MLD nu este totdeauna optimal, dat fiind ca in relatia (20) vor fi ponderate de p(v) ; in numeroase aplicatii nu se cunosc la receptie p(v), fapt pentru care decodarea MLD ramine decodarea practica cea mai buna.
In cazul unui CBS, pentru care =p ,daca si (1-p) daca , pentru un cod bloc de lungime n, relatia (22) se scrie :
max ld p(r/v)=max =max [d(r,v)ld+nld(1-p)] . (23)
Dat fiind ca ld<0 , pentru p<1/2 si nld(1-p) este o constanta pentru orice v, regula MLD de decodare pentru un CBS estimeaza ca acel cuvint v care minimizeaza d(r,v), fapt pentru care decoderul MLD se mai numeste si decoder de distanta minima.
max ld p(r/v)=min d(r,v) (24)
In consecinta un decoder MLD determina distanta dintre r si toate cuvintele de cod posibile vi si selecteaza acel vi pentru care d(r,vi) este minima (). Daca acest minim nu este unic, alegerea intre mai multe cuvinte vi este arbitrara.
In fig.6 este ilustrat principiul decoderului de distanta minima (MLD). Fie v1 si v2 doua cuvinte de cod aflate la o distanta d(v1,v2)=
r1
v1 a
v1 b c d
Fig. 6 Ilustrarea principiului decoderului de distanta minima (d=5)
Fie patru situatii a,b,c,d corespunzind receptiei cuvintelor r1,r2,r3 r4 aflate la distanta 1,2 3 respectiv 4 de v1. In cazul a, corespunzind existentei unei singure erori in v1 decoderul va decide ca r1 provine din v1 deoarece d(r1 ,v1)=1< d(v2,r1)=4. Decodarea va fi eronata in situtia in care r1 ar fi provenit din v2 prin eronarea a 4 simboluri. In cazul b, corespunzator eronarii lui v1 pe doua pozitii, decoderul va decide ca r2 provine din v1 pentru ca d(v1,r2)=2< d(v2,r2)=3 ; se va produce eroare la decodare in situatia in care r2 ar fi provenit din v2 prin eronarea a 3 pozitii. In cazul c decodorul va decide ca r3 provine din v2 prin aparitia a doua erori : d(v2,r3)=2< d(v1,r3)=3. Pentru cazul d, decoderul va decide ca r4 provine din v2 prin eronarea unui bit : d(v2,r4)=1< d(v1,r4)=4.Aceeasi discutie de eroare la decodare poate fi facuta si in aceste ultime cazuri, ca si in situatiile a si b. Figura 6 ilustreaza ca in cazul in care se receptioneaza r1,r2,r3r4, corespunzator eronarii pe 1,2,3 sau 4 biti, a lui v1 sau v2 este posibila detectia erorii. Erori nedetectabile apar cind receptia este eronata pe 5 pozitii.
Acest exemplu ilustreaza faptul ca distanta de cod este un parametru ce indica capacitatea de detectie, respectiv de corectie a unui cod. In [Li-83] se demonstreaza ca :
conditia necesara si suficienta pentru ca un cod sa corecteze maxim t erori este ca :
(25)
conditia necesara si suficienta pentru ca un cod sa detecteze maxim e erori este ca (26)
conditia necesara si suficienta pentru ca un cod sa poata simultan corecta naxim t erori si detecta maxim e erori este ca
, e>t. (27)
Observatie :
corectia implica in prelabil detectie ; de exemplu pentru d=7 putem avea situatiile :
e (detectie) |
t (corectie) |
daca apar 3 erori, toate pot fi detectate si corectate.
daca apar 5 erori, toate sint detectate, dar poate fi corectata numai una.
Acelasi parametru d poate fi utilizat pentru aprecierea capacitatii de corectie a anularilor (erasure correction)[Sk-88]. In cazul canalelor cu anulari, am vazut ca alfabetul de iesire al canalului are un simbol suplimentar (y3) numit simbol de anulare (stergere). In momentul in care decoderul declara un simbol de anulare, desi valoarea corecta nu este cunoscuta, pozitia se stie, deci corectia erorilor erorilor de anulare trebuie sa fie mai simpla decit a celorlalte erori (care necesita cunoasterea pozitiei si valorii in cazul general). Se demonstreaza ca pentru corectia unui numar de s erori de stergere (anulare) trebuie sa fie indeplinita conditia [Sk-88]:
(28)
Conditia pentru corectia simultana a t erori si s stergeri este :
(29)
Corectia simultana a s erori de stergere si t erori se desfasoara in felul urmator. La inceput cele s pozitii anulate se inlocuiesc cu "0" si cuvintul de cod se decodeaza normal. Apoi cele s pozitii anulate se inlocuiesc cu "1" si se repeta algoritmul de decodare. Din cele doua cuvinte decodate se selecteaza acela corespunzator numarului minim de erori corectate in afara celor s pozitii anulate.
Exemplul 2
Fie codul 0000 0101 1010 1111. Se determina usor ca d=2, de unde, conform relatiei (28) rezulta ca vor putea fi corectate s=1 erori de stergere (anulare).
Fie cuvintul 0101 transmis. La receptie presupunem ca s-a detectat un simbol de anulare
r= x101
Inlocuim x cu 0; se obtine r1=0101=v2, deci d(r1,v2)=0. Inlocuim x cu 1; se obtine r2=1101C; determinam d(r2,v2)=1, d(r2,v3)=3, d(r2,v4)=1=v2.
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |