2 3 procedura uproszczonegoÞkodowania kodu rs VD6QCROCBKVDU5HUUQKD2I666CON6NW3RBNXL6Q


2.3 Procedura uproszczonego dekodowania

Procedura dekodowania dla wszystkich kodów cyklicznych jest bardzo podobna. Oczywiście każdy kod ma soje specyficzne operacje, jednak ogólny zarys procesu dekodowania taki sam. W praktyce najczęściej stosuje się uproszczony algorytm, jest prosty w implementacji, a jego działanie nie odbiega od procedur nie uproszczonych.

Algorytm wykrywa i koryguje wszystkie błędy znajdujące się na n-k sąsiadujących ze sobą pozycjach wektora kodowego.

Aby rozpocząć proces korekcji błędów w wektorze, należy obliczyć syndrom. W przypadku kodów cyklicznych, a więc i kodów Reeda-Solomona syndrom jest resztą z dzielenia wielomianu odpowiadającego wektorowi odebranemu Cy(x) oraz wielomianu generującego dany kod g(x). Dzielenie to można przestawić jak poniżej:

0x01 graphic

q(x) - oznacza część całkowitą,

g(x) - oznacza wielomian generujÄ…cy,

s(x) - resztÄ… z dzielenia inaczej zwany syndromem.

Syndrom to inaczej wektor współczynników wielomianu stopnia n-k-1, współczynniki pozwalają stwierdzić czy odebrany wektor jest wektorem kodowym czy też podczas przesłania wystąpiły błędy. Obliczamy to w sposób następujący, gdy obliczony syndrom ( lub inaczej wagi) maja wartość zero odebrany wektor nie posiada zniekształceń. Jednak gdy chociaż jedna wartość wektora wag jest różna od zera wtedy wiemy że wystąpiły błędy i dany wektor poddajemy procedurze korekcji.

Poszczególne operacje algorytmu wyglądają następująco:

  1. Odbieramy wektor kodowy ( w naszym przypadku odbiór poprzedza procedura deszyfrowania która zostanie omówiona dalej),

  1. Następnie obliczamy wagi (lub inaczej syndrom) dla odebranego wektora,

  1. Po obliczeniu wektora wag, następuje sprawdzenie czy wektor jest równy zero, czy posiada niezerowe elementy,

  1. Kolejnym krokiem jest sprawdzenie czy ewentualna ilość błędów nie przekracza możliwości korekcyjnych kody następuje korekcja błędów, polega to na dodaniu do wektora kodowego obliczonego wektora wag (syndromu), a powstały wektor zwiera skorygowaną informacje.

  1. Jeżeli ilość błędów czyli niezerowych wartości wektora wag, jest większa od możliwości korekcyjnych kodu następuje przesunięcie cykliczne o jedną pozycje, tak aby błędne wartości znalazły się w części nadmiarowej wektora kodowego, następnie algorytm wraca do punktu drugiego. Operacja jest powtarzana do momentu wykonania pełnego cyklu przesunięć lub gdy po przesunięciu ilość błędów pozwoli na ich korekcje.

Schemat blokowy algorytmu:

0x08 graphic

0x08 graphic

Procedury realizujÄ…ce dekodowanie:

0x08 graphic

Odczyt wektor kodowy

Obliczenie syndromu

Tu następuje sprawdzenie wartości wag

Korekcja błędów, przez sumowanie wektora wag z wektorem kodowym

Przesunięcie cykliczne wektora o jedna pozycje

Syndrom = 0

Syndrom ≠ 0

procedure Decode(n, r, nce: Byte);

var

jk, js, k, ks, xx: Byte;

i: Integer;

procedure Correct;

var kk: Byte;

begin

js:=i;

for kk:=0 to r-1 do

begin

jk:=(n+kk-js) mod n;

vr[jk]:=S(vr[jk], sn[kk])

end

end; {Correct}

procedure Shift(x, y: Byte);

var j: Byte;

begin

xx:=S(x, y);

for j:=r-1 downto 0 do

sn[j]:=S(sn[j-1], P(pg[j], xx))

end; {Shift}

procedure Weight;

var j: Byte;

begin

ks:=0;

for j:=0 to r-1 do if sn[j]<>0 then Inc(ks);

if ks<>0 then

begin

case ks<=nce of

TRUE : begin Correct; inf:='Korekcja OK !!!'; end;

FALSE: inf:='Brak korekcji !!!';

end

end

end; {Weight}

begin

for i:=r-1 downto -1 do sn[i]:=0;

for i:=n-1 downto r do Shift(vr[i], sn[r-1]);

for i:=r-1 downto 0 do sn[i]:=S(vr[i], sn[i]);

i:=0; Weight;

if ks>nce then

repeat

Inc(i); Shift(0, sn[r-1]); Weight

until (ks<=nce) OR (i=n)

end; {Decode}



Wyszukiwarka

Podobne podstrony:
2 2 procedura kodowania kodu rs OGMEYHZCLP77IJOGFRT2YXDUJRVYVF2KUZLUKWQ
Procedura uproszczona
Procedury uproszczone wytyczne
Procedura Uproszczona
Wniosek o udzielenie pozwolenia na stosowanie procedury uproszczonej
Algorytm procedury uproszczonej
2 1 Wielomian generujÄ…cy kodu RS
Procedura uproszczona
Pozwolenie na stosowanie procedury uproszczonej
Załącznik nr 23 – Oświadczenie o stosowaniu procedury uproszczonej
Procedury Uproszczone
Wniosek o udzielenie pozwolenia na stosowanie procedury uproszczonej
procedury czesc 3 uproszczone
słownictwo prawnicze POSTĘPOWANIA SZCZEGÓLNE I UPROSZCZONE PROCEDIMENTI SPECIALI wł pl i pl
Procedura wgrywania plik�w przez RS 232
PROCEDURA OLUP
06 pamięć proceduralna schematy, skrypty, ramyid 6150 ppt

więcej podobnych podstron