You are on page 1of 32

Kody liniowe 11

2. Kody liniowe
2.1. Pojcia podstawowe
2.1.1. Okrelenie kodu liniowego
Kody liniowe nale do klasy kodw systematycznych i definiowane s jako kody cechujce
si nastpujcymi wasnociami:
L1. Wszystkie cigi kodowe maj jednakow dugo n. Pozycje cigw kodowych dziel si na
informacyjne i kontrolne. Na pozycjach informacyjnych wystpuj sygnay odwzorowujce
przekazywane informacje. Wasno ta dotyczy systematycznoci kodu.
L2. Pozycje s podzielone na N
k
tzw. zespow kontrolnych. Zespoy kontrolne obejmuj
zarwno pozycje informacyjne jak i kontrolne. W kadym zespole kontrolnym wystpuje
pa r z ys t a liczba sygnaw o wartoci jeden. Sytuacj tak otrzymuje si przez
odpowiednie przyjcie wartoci sygnaw kontrolnych.
L3. Wszystkie cigi o dugoci n, rnice si na pozycjach informacyjnych oraz speniajce
wasno 2 wykorzystywane s jako cigi kodowe.
Na og kady zesp kontrolny zawiera jedn pozycj kontroln, co spowodowane jest
deniem do minimalizacji dugoci cigu kodowego. W przypadku wystpowania w kadym zespole
kontrolnym tylko jednej pozycji kontrolnej, liczba zespow kontrolnych jest rwna liczbie pozycji
kontrolnych
(2.1) N
k
= k
W tej sytuacji warto sygnau kontrolnego w kadym zespole kontrolnym przyjmuje si tak, aby
otrzyma parzyst liczb sygnaw o wartoci jeden. Oznaczajc j-ty zesp kontrolny przez Z
j
dla
sygnaw cigu kodowego ( )
n
s s s s ,..., ,
2 1
, omwion zasad mona zapisa w postaci
nastpujcej
(2.2)
0

j i
Z s
j
s
j = 1,2,...,k
przy czym sumowanie powysze wykonane zostao modulo dwa wartoci sygnaw
i
s
. Spenienie
przez sygnay cigu kodowego powyszego ukadu rwna nazywane jest take spenieniem testu
parzystoci. Oznaczajc przez
) ( j i
s
sygna kontrolny wystpujcy w j-tym zespole kontrolnym, na
podstawie powyszego ukadu rwna otrzymuje si zaleno do wyznaczenia jego wartoci
(2.3)

) (
) (
j i i
j i
s s
Z s
i j i
s s
j = 1,2,...,k
Otrzymano zatem, e zasada wyznaczania wartoci sygnaw kontrolnych opisana jest
ukadem rwna liniowych.
12 Kodowanie nadmiarowe informacji
Z wasnoci L3 wynika, e liczba cigw kodowych jest rwna liczbie moliwych kombinacji
sygnaw binarnych na pozycjach informacyjnych. Powysze mona wic zapisa nastpujco
(2.4)
m
M 2
2

Z kolei liczba moliwych kombinacji jest rwna liczbie kodowanych nadmiarowo informacji.
Wykorzystujc wasnoci L1 i L3 wspczynnik nadmiaru kodu dla kodw liniowych mona okreli
za pomoc nastpujcego wyraenia
(2.5)
k m n
m
n
R 2 2
2
2


Pr z yk a d 2.1
Rozpatruje si kod umoliwiajcy korekcj bdw pojedynczych, ktrego cigi informacyjne
maj dugo m=2. Zgodnie z zalenoci (1.30) wyznacza si dugo cigw kodowych. (n=5)
( )
5 4 3 2 1
, , , , s s s s s s
Zakada si, e kada pozycja kontrolna wchodzi w skad jednego zespou kontrolnego. Ilo
zespow kontrolnych rwna jest k=n-m=5-2=3. Zakada si rwnie nastpujce skady zespow
kontrolnych
{ }
5 3 1 1
, , s s s Z
{ }
3 2 2
, s s Z
{ }
5 4 3
, s s Z
Zgodnie z wasnoci L2 w kadym zespole kontrolnym speniony jest test parzystoci okrelony w
postaci ukadu rwna
0
5 3 1
+ + s s s
0
3 2
+s s
0
5 4
+s s
Przyjmujc zaoenie o wystpowaniu w kadym zespole kontrolnym tylko jednego sygnau
nadmiarowego, na podstawie powyszego ukadu przyjmuje si sygnay
4 2 1
, , s s s jako sygnay
nadmiarowe. Wybr taki spowodowany jest prostot wyznaczenia tych sygnaw, poniewa wystpuj
one tylko w jednym zespole kontrolnym. Rwnania do wyznaczania sygnaw kontrolnych s wic
nastpujce
5 3 1
s s s +
3 2
s s
(*)
5 4
s s
Rozpatrywany kod jest kodem (5,2). Sygnaami informacyjnymi s sygnay s
3
i s
5
, natomiast
kontrolnymi sygnay
4 2 1
, , s s s . Liczba moliwych cigw kodowych jest rwna liczbie moliwych
Kody liniowe 13
kombinacji sygnaw informacyjnych i wynosi 4. Wartoci sygnaw kontrolnych obliczono zgodnie z
rwnaniami (*).
Lp. s
1
s
2
s
3
s
4
s
5
1 0 0 0 0 0
2 1 1 1 0 0
3 1 0 0 1 1
4 0 1 1 1 1
Wspczynnik nadmiaru rozpatrywanego kodu wynosi 8 2
3
R . Wyznaczajc odlegoci
pomidzy poszczeglnymi cigami kodowymi mona okreli minimaln odlego kodu. Minimum z
{3,3,4,4,3,3} wynosi 3.
Naley wyjani, e kody liniowe definiowane s take jako kody, w ktrych zwizek
pomidzy sygnaami informacyjnymi i kontrolnymi opisany jest ukadem rwna liniowych. Definicja
ta nie jest jednak rwnowana podanej na pocztku niniejszego punktu. Przy zasadzie kodowania
opisanej ukadem rwna liniowych, w poszczeglnych zespoach kontrolnych moe wystpowa
parzysta lub nieparzysta liczba sygnaw o wartoci jeden. Oznacza to, e podana powyej definicja
jest bardziej oglna od przyjtej w skrypcie, poniewa przyjta definicja dotyczy tylko parzystej
liczby sygnaw o wartoci jeden wystpujcych w poszczeglnych zespoach kontrolnych. Cigi
kodowe kodw charakteryzujcych si wasnociami L1-L3 tworz struktur algebraiczn, zwan
grup i dlatego stosowana jest te dla nich nazwa kody grupowe.
Reasumujc powysze mona stwierdzi, e w niniejszym paragrafie omawiane s kody
grupowe, bdce szczeglnym przypadkiem zdefiniowanych w szerszym sensie kodw liniowych.
2.1.2. Macierzowy opis kodu liniowego
Kod liniowy mona opisa za pomoc tzw. macierzy kontrolnej H, zwanej te macierz
testw. Uzasadnienie nazwy macierzy H wynika z rozwaa przeprowadzonych w punkcie 2.1.4.
Macierz kontroln H cechuj nastpujce wasnoci:
H1. liczba kolumn jest rwna dugoci cigw kodowych N;
H2. liczba wierszy jest rwna liczbie sygnaw kontrolnych k,
zatem
(2.6)
[ ]
k n
ji k n
h H H
.
,

Elementami macierzy kontrolnej s liczby binarne h
ji
, okrelane nastpujco:
jeli i-ta pozycja cigu kodowego naley
(2.7) do j-tego zespou kontrolnego
w przeciwnym przypadku

'

0
1
ji
h
14 Kodowanie nadmiarowe informacji
Zatem elementy poszczeglnych wierszy macierzy kontrolnej okrelaj skad
poszczeglnych zespow kontrolnych. Powysze przyjmuje si jako kolejn wasno macierzy
kontrolnej (wasno H3). Z wasnoci tej wynikaj bezporednio wasnoci H1 i H2.
Wykorzystujc powyej zdefiniowane liczby h
ji
, wasno L2 kodw liniowych mona zapisa
w postaci
(2.8) 0
1

ji
n
i
i
h s ; j = 1,2,...,k
Powyszy ukad rwna mona zapisa
(2.9)
0
T
H s
gdzie: H
T
transponowana macierz kontrolna H;
0 - k-elementowa zerowa macierz wierszowa;
s - macierz wierszowa opisujca cig kodowy.
(2.10) [ ]
n
s s s s ,..., ,
2 1

Pr z yk a d 2.2
Poszczeglne elementy macierzy kontrolnej kodu, rozwaanego w przykadzie 2.1, wyznacza
si bezporednio na podstawie skadu zespow kontrolnych, otrzymujc
h
11
=1 h
12
=0 h
13
=1 h
14
=0 h
15
=1
h
21
=0 h
22
=1 h
23
=1 h
24
=0 h
25
=0
h
31
=0 h
32
=0 h
33
=0 h
34
=1 h
35
=1
Zatem macierz kontrolna ma posta
1
1
1
]
1

1 1 0 0 0
0 0 1 1 0
1 0 1 0 1
H
W odniesieniu do rozpatrywanego kodu stosuje si nastpujce rwnanie macierzowe
[ ] [ ] 0 0 0
1 0 1
1 0 0
0 1 1
0 1 0
0 0 1
5 4 3 2 1

1
1
1
1
1
1
]
1

s s s s s

Cigi kodowe kodu liniowego cechuj si take nastpujc wlasnoci


(2.11)
S s s j i
S s s
j i
+

,
gdzie S oznacza zbir cigw kodowych.
Wasno ta okrela, e suma cigw kodowych jest take cigiem kodowym. Wasno
powysz wykorzystuje si take do definiowania kodu liniowego. Wasno ta musi by take
speniona w odniesieniu do kodu grupowego. Prawdziwo powyszego wykazuje si, rozpatrujc
cig kodowy s bdcy sum dwch dowolnych cigw kodowych
i
s s oraz
j
s
Kody liniowe 15
(2.12) j i s s s +
Zatem
( )
T
j
T
i
T
j i
T
H s H s H s s H s + +
Uwzgldniajc rwnanie macierzowe kodu liniowego otrzymuje si
(2.13) ( ) 0 +
T
j i H s s
co po uwzgldnieniu wasnoci L2 kodu liniowego wiadczy o prawdziwoci tezy.
Minimaln odlego kodu liniowego mona wyznaczy bezporednio jako minimaln
warto wagi cigw kodowych z wyczeniem cigu kodowego skadajcego si z sygnaw o
wartoci zero
(2.14) ( ) { } S s s s w i i i , 0 : min
Zaleno powysza umoliwia znacznie szybsze wyznaczenie minimalnej odlegoci ni na
podstawie zalenoci (1.8) z poprzedniego rozdziau.
W przypadku gdy pozycje informacyjne s zgrupowane na pocztku cigu kodowego, macierz
kontrolna ma posta
(2.15)
[ ]
k k m k n
I H H ,
'
, ,

natomiast w przypadku zgrupowania pozycji informacyjnych na kocu cigu kodowego, macierz
kontrolna jest nastpujca
(2.16)
[ ]
'
, ,
,
k m k k n
H I H
W powyszych wyraeniach I
k
oznacza macierz jednostkow stopnia k, natomiast macierz
'
, k m
H
jest
macierz o m kolumnach oraz k wierszach. Elementy h
ji
poszczeglnych wierszy macierzy
'
, k m
H

okrelaj fakt naleenia poszczeglnych pozycji informacyjnych do j-tego zespou kontrolnego Z
j
.
Pr z yk a d 2.3
Rozpatruje si kod (5,2), w ktrym pozycje informacyjne s pierwszymi pozycjami cigu
kodowego. Zespoy kontrolne s wic nastpujce
{ }
3 2 1 1
, , s s s Z
{ }
4 2 2
, s s Z
{ }
5 1 3
, s s Z
Macierz kontrolna
'
3 , 2
H
ma wic posta
1
1
1
]
1

0 1
1 0
1 1
'
3 , 2
H
Zatem pena macierz kontrolna ma posta
16 Kodowanie nadmiarowe informacji
1
1
1
]
1

1 0 0 0 1
0 1 0 1 0
0 0 1 1 1
2 , 5
H
Rwnania opisujce dany kod s wic
0
3 2 1
+ + s s s
0
4 2
+ s s
0
5 1
+s s
Sygnay kontrolne wyznacza si zatem w nastpujcy sposb
2 1 3
s s s +
2 4
s s
1 5
s s

2.1.3. Zasada kodowania


W trakcie kodowania nastpuje odwzorowanie informacji w w cigi kodowe s . Uywajc
wic nomenklatury przyjtej w [15] rozpatrywane kodowanie nadmiarowe sprowadza si do
przekodowywania cigw informacyjnych. Przekodowywanie to polega na wyznaczaniu sygnaw
nadmiarowych na podstawie cigw informacyjnych i doczeniu wyznaczonych sygnaw do cigu
informacyjnego. W wyniku powyszego otrzymuje si cig kodowy.
Operacj kodowania okrela si na podstawie tzw. macierzy generujcej G w sposb
nastpujcy
(2.17) G w s
Macierz generujc cechuj nastpujce wasnoci:
G1. Liczba kolumn jest rwna dugoci cigw kodowych n.
G2. Liczba wierszy jest rwna liczbie sygnaw informacyjnych m.
G3. Poszczeglne wiersze macierzy generujcej pokrywaj si z cigami kodowymi
przyporzdkowanymi cigom informacyjnym, zawierajcym jeden sygna o wartoci jeden.
G4. Poszczeglne wiersze macierzy generujcej s liniowo niezalene.
G5. Wszystkie cigi kodowe mona otrzyma drog sumowania odpowiednich wierszy macierzy
generujcej.
Zgodnie z wasnociami G1 i G2
(2.18)
[ ]
m n
ij m n
g G G
.
,

Posta macierzy generujcej mona wyznaczy na podstawie rwna opisujcych rozwaany
kod.
Pr z yk a d 2.4
Wyznacza si macierz generujc kodu rozpatrywanego w przykadzie 2.1. W przykadzie
tym otrzymano nastpujce rwnania do wyznaczania sygnaw kontrolnych
Kody liniowe 17
5 3 1
s s s +
3 2
s s
(*)
5 4
s s
Rwnanie macierzowe kodowania w rozwaanym przypadku jest nastpujce
[ ] [ ]
1
]
1


1 0
0 1
2 2 2
1 1 1
5 3 5 4 3 2 1
z y x
z y x
s s s s s s s
Z powyszego rwnania otrzymuje si
5 2 3 1 1
s x s x s +
5 2 3 1 2
s y s y s +
(**)
5 2 3 1 4
s z s z s +
Porwnujc rwnania ukadw (*) i (**) otrzymuje si wartoci nieznanych elementw macierzy G.
Zatem
1
]
1

1 1 0 0 1
0 0 1 1 1
G

W przypadku, gdy pozycje informacyjne s zgrupowane na pocztku lub kocu cigu


kodowego, macierz generujca wystpuje w jednej z dwch kanonicznych postaci
(2.19)
[ ]
'
, ,
,
m k m m n
G I G
lub (2.20)
[ ]
m m k m n
I G G ,
'
, ,

gdzie I
m
oznacza macierz jednostkow rzdu m.
Przy wydzieleniu pozycji informacyjnych, skadow macierz
'
, m k
G
macierzy generujcej G
mona wyznaczy bezporednio drog transponowania skadowej
'
,k m
H
macierzy kontrolnej H
(2.21) [ ]
T
k m m k
H G
'
,
'
,

Pr z yk a d 2.5
Dla kodu (5,2) rozwaanego w przykadzie 2.3 otrzymano macierz kontroln w postaci
1
1
1
]
1

1 0 0 0 1
0 1 0 1 0
0 0 1 1 1
2 , 5
H
oraz nastpujce rwnania do wyznaczania sygnaw kontrolnych
2 1 3
s s s +
2 4
s s (*)
1 5
s s
Macierz generujca wyznaczona zgodnie z rwnaniem kodowania
[ ] [ ] G s s s s s s s
2 1 5 4 3 2 1
i uwzgldnieniem rwna (*) przyjmuje nastpujc posta
1
]
1

0 1 1 1 0
1 0 1 0 1
G
Skadowa
'
3 , 2
H
macierzy kontrolnej w rozpatrywanym przypadku jest rwna
18 Kodowanie nadmiarowe informacji
1
1
1
]
1

0 1
1 0
1 1
'
3 , 2
H
Wobec tego
1
]
1

0 1 1
1 0 1
'
2 , 3
G
Ostatecznie macierz generujca przyjmuje posta
1
]
1

0 1 1 1 0
1 0 1 0 1
G

Przy konstrukcji kodu najpierw wyznacza si macierz kontroln. W oparciu o macierz


kontroln okrela si w sposb omwiony powyej macierz generujc i dokonuje si kodowania.
Macierz generujca G i transponowana macierz kontrolna H
T
speniaj zaleno
(2.22) 0
T
H G
2.1.4. Zasada dekodowania
Dekodowanie cigw odbieranych realizowane jest w oparciu o macierz kontroln H i jego
pierwszy etap stanowi wyznaczenie tzw. syndromu
K
(2.23)
T
H y K
Wyznaczany syndrom jest cigiem k-elementowym i jego poszczeglne elementy okrelane s w
nastpujcy sposb
(2.24)
j ji
n
i
i
K h y

1
j=1,2,...,k
Zatem s one rwne wynikom sprawdzania spenienia testu parzystoci przez sygnay cigu
odebranego w obrbie poszczeglnych zespow kontrolnych, tzn. sprawdzania czy K
j
=0.
W przypadku wykorzystywania kodu jako detekcyjnego otrzymanie niezerowego syndromu
0 K jest podstaw do podjcia decyzji o wystpieniu bdw w cigu odebranym. W przypadku
0 K podejmuje si decyzj, e cig odebrany y pokrywa si z cigiem kodowym s . Taki
sposb postpowania umoliwia wykrywanie wszystkich cigw bdw e , ktre nie pokrywaj si z
cigami kodowymi s . Prawdziwo powyszego stwierdzenia wykazuje si nastpujco. Poniewa
(2.25) e s y +
oblicza si warto syndromu
(2.26) ( )
T T T
H e H s H e s K + +
Zgodnie z powyszymi rozwaaniami
(2.27) 0
T
H s
otrzymujemy
(2.28)
T
H e K
Kody liniowe 19
Bd nie zostanie wykryty wtedy i tylko wtedy, gdy dla cigw bdw e otrzyma si zerowy
syndrom 0 K , co zachodzi jednak wtedy i tylko wtedy, gdy cig bdw e pokrywa si z cigiem
kodowym s , cnw.
W oparciu o powysze rozwaania mona okreli tzw. wspczynnik skutecznoci kodu
detekcyjnego
(2.29)
e
e
D
N
N
N
gdzie:
e
N
- liczba moliwych cigw bdw;
e
N - liczba wykrywanych cigw bdw.
Liczba moliwych cigw bdw jest rwna liczbie rnych niezerowych cigw binarnych, tzn.
wynosi 2
n
-1. Liczba niewykrywanych cigw bdw jest rwna liczbie cigw kodowych
zmniejszonej o jeden (wyklucza si zerowy cig kodowy), tzn. wynosi 2
m
-1. Uwzgldniajc powysze
otrzymuje si
(2.30)
1 2
2 2

n
m n
D
N
Pr z yk a d 2.6
Dla kodu rozpatrywanego w przykadzie 2.5 wyznacza si wszystkie wykrywane i
niewykrywane cigi bdw. Jak napisano powyej kod liniowy wykrywa wszystkie bdy oprcz
tych, ktre pokrywaj si z cigami kodowymi. Rozpatrywany kod posiada dwie pozycje
informacyjne. Ilo niezerowych cigw kodowych wynosi wobec tego
2
m
- 1 = 3
Z macierzy generujcej odczytujemy niezerowe cigi kodowe. Dwa z nich to wiersze tej macierzy
trzeci jest sum wierzy macierzy generujcej.
(10101), (01110), (11011)
Wszystkie pozostae kombinacje binarne s wykrywane przez ten kod.

Przy wykorzystaniu kodu jako korekcyjnego na podstawie syndromu okrela si przekamane


pozycje cigu odebranego, co jest rwnowane z odtworzeniem cigu bdu ' e . W nastpnym kroku
mone okreli cig nadany ' s w sposb nastpujcy
(2.29) ' ' e y s +
Powysza korekcja bdzie prawidowa, tzn. odtworzony cig ' s bdzie pokrywa si z cigiem
nadanym, jeli okrelony na podstawie syndromu
K
cig bdw ' e pokrywa si z faktycznie
zaistniaym cigiem bdw e .
20 Kodowanie nadmiarowe informacji
Otrzymane syndromy pokrywaj si z kolumnami macierzy kontrolnej. Powysze stanowi
kolejn wasno macierzy kontrolnej (wasno H4). W przypadku wystpienia bdu na j-tej pozycji,
otrzymany syndrom pokrywa si z j-t kolumn macierzy kontrolnej. Powysz wasno mona
zapisa w postaci
(2.30)
( ) ( )
kj j j j
h h h K e e ,..., , 0 ,..., 1 ,..., 0 , 0
2 1

Z przeprowadzonych rozwaa wynika, e poszczeglne kolumny macierzy kontrolnej mog by
przyjmowane w sposb dowolny, poniewa wpywa to jedynie na uzyskanie rnych odpowiednioci
pomidzy cigami bdw a wartociami syndromw. Wniosek ten jest jednak prawdziwy tylko dla
kodw umoliwiajcych korekcj bdw pojedynczych. Zasad okrelania syndromw w przypadku
koniecznoci uzyskania korekcji wikszej liczby bdw omwiono w punkcie 2.2.3.
Pr z yk a d 2.6
Rozpatruje si korekcj bdu w cigu kodowym 01110 kodu omwionego w przykadzie 2.5.
Zakada si, e przekamanie nastpio na czwartej pozycji, tzn. cig odebrany ma posta 01100.
Wykorzystujc macierz kontroln z przykadu 2.5 oblicza si syndrom
[ ] [ ] 0 1 0
1 0 0
0 1 0
0 0 1
0 1 1
1 0 1
0 0 1 1 0
1
1
1
1
1
1
]
1

Otrzymany syndrom pokrywa si z czwart kolumn macierzy kontrolnej, a wic okrela prawidowo
wystpienie bdu na zwartej pozycji. Korygujcy cig ' e ma wic posta
00010 ' e
Dokonujc korekcji cigu odebranego otrzymujemy
01100 + 00010 = 01110

Z kolei wykorzystujc omwiony przebieg dekodowania okrela si zaleno pomidzy


iloci pozycji informacyjnych, dugoci cigu kodowego a minimaln odlegoci kodu.
Analogicznie jak poprzednio zakada si, e kod wykorzystywany jest jako korekcyjny. Liczba
moliwych cigw bdw o krotnoci do t wcznie wynosi
(2.31)

,
_

t
j
e
j
n
N
1
Cigi te identyfikowane s na podstawie syndromu, ktrego dugo jest rwna liczbie k sygnaw
kontrolnych. Liczba moliwych sytuacji, jakie mona wyrni na podstawie wartoci syndromu jest
wic rwna 2
k
. Liczba ta musi zapewnia identyfikacj braku przekamania, a take identyfikacj
wszystkich bdw wynikajcych z poprzedniej zalenoci. Otrzymano zatem zwizek pomidzy
Kody liniowe 21
liczb sygnaw kontrolnych w n-elementowym cigu kodowym oraz parametrem t minimalnej
odlegoci kodu =2t+1
(2.32)
1 2
1
+

,
_

t
j
k
j
n
Wystpienie w czasie transmisji bdu o krotnoci przekraczajcej zdolnoci detekcyjne kodu
nie musi w oglnym przypadku powodowa nieprawidowego dziaania, tzn. niewykrycia
przekamania. Wynika to z faktu wykrywania przez kody liniowe nie tylko cigw bdw o krotnoci
okrelonej przez minimaln odlego kodu, ale dodatkowo wszystkich cigw bdw nie
pokrywajcych si z cigami kodowymi. W przypadku wykorzystywania kodu jako korekcyjnego
moe okaza si, e po dokonaniu korekcji cig odtworzony bdzie rni si bardziej od cigu
nadanego ni cig odebrany. Przypadek taki wyjania si wykorzystujc tzw. zasad sumowania
syndromw. Dotyczy ona nastpujcego przypadku. Jeli cigowi bdw
1
e odpowiada syndrom
1 K
oraz cigowi bdw
2
e syndrom
2 K
, to w przypadku wystpienia cigu bdw
2 1 e e e +

syndrom jest rwny
2 1 K K K +
(2.33) 2 1 2 1 2 2 1 1 , K K K e e e K e K e + +
Prawdziwo powyszej zalenoci mona udowodni nastpujco
(2.34) ( ) 2 1 2 1 2 1 K K H e H e H e e H e K
T T T T
+ + +
Zatem zwikszenie liczby bdw w cigu odebranym w wyniku przeprowadzenia korekcji zachodzi
wtedy, gdy syndrom dla cigu odebranego, ktry powsta w wyniku cznego oddziaywania kilku
korygowanych bdw, pokrywa si z syndromem dla korygowanego cigu bdw. W cigu
odebranym liczba bdw nie zostaje zmieniona jeeli otrzymany syndrom nie pokrywa si z adnym
z syndromw odpowiadajcych korygowanym cigom bdw. Z powyszych powodw bardzo
istotna jest ocena rodzaju bdw jakie mog wystpi w czasie transmisji. Na tej podstawie przyjmuje
si minimaln odlego projektowanego kodu.
Pr z yk a d 2.7
Rozpatruje si korekcj bdu w cigu kodowym kodu omwionego w przykadzie 2.5. Zakada
si, e przekamania wystpiy na drugiej i trzeciej pozycji. Zatem syndrom otrzymany zgodnie z
zasad sumowania syndromw wynosi
110 + 100 = 010
czyli okrela, e przekamana zostaa czwarta pozycja. Po dokonaniu korekcji na tej pozycji otrzyma
si cig rnicy si na trzech pozycja w stosunku do cigu nadanego, podczas gdy przed korekcj
rnica ta wystpowaa tylko na dwch pozycjach. Naley jednak zauway, e odtworzony w ten
sposb cig jest cigiem kodowym. Zgodnie z zasadami dekodowania korekcyjnego odebrany cig
binarny korygowany jest do najbliszego cigu kodowego.
Jeeli natomiast przekamane zostay pozycje pierwsza i czwarta otrzymany syndrom wynosi
22 Kodowanie nadmiarowe informacji
101 + 010 = 111
W macierzy kontrolnej rozpatrywanego kodu nie przewidziano syndromu o takiej wartoci. W tym
przypadku ukad wyznaczania cigu korygujcego dekodera korekcyjnego nie wygeneruje cigu
korygujcego 0 e i do rejestru wyjciowego dekodera zapisany zostanie cig binarny nie bdcy
cigiem kodowym.

2.1.5. Ukady kodujce i dekodujce


Podstawowymi elementami ukadw kodujcych i dekodujcych s rejestry pamitajce,
sumatory modulo dwa oraz bramki logiczne.
Ukad kodujcy skada si z rejestru wejciowego R
A
, rejestru wyjciowego R
B
oraz ukadu
wyznaczania sygnaw nadmiarowych. Ukad wyznaczania sygnaw nadmiarowych stanowi k
sumatorw modulo dwa. Schemat blokowy ukadu kodujcego o wydzielonych sygnaach
informacyjnych przedstawiono na rysunku 4.
Ukad dekodujcy kodu detekcyjnego skada si z rejestru wejciowego R
C
, rejestru
wyjciowego R
D
, ukadu wyznaczania syndromu, ukadu blokady rejestru wyjciowego oraz
wskanika wystpienia bdu. Ukad wyznaczania syndromu stanowi k sumatorw modulo dwa
obliczajcych wynik testu parzystoci w obrbie poszczeglnych zespow kontrolnych. Schemat
blokowy ukadu dekodujcego kodu detekcyjnego przedstawiono na rysunku 5.
S
1
S
2

S
m
S
m+1

S
n

Ukad wyznaczania
sygnaw
nadmiarowych
S
1
S
2

S
m
R
A
R
B
Rys.4
Kody liniowe 23
Ukad dekodujcy kodu korekcyjnego skada si z rejestru wejciowego R
C
, rejestru
wyjciowego R
D
, ukadu wyznaczania syndromu oraz ukadu generujcego cig korygujcy. Schemat
blokowy ukadu dekodujcego kodu korekcyjnego przedstawiono na rysunku 6.
Ukad dekodujcy kodu detekcyjno-korekcyjnego skada si z elementw wchodzcych w
skad omwionych powyej oby ukadw dekodujcych oraz dodatkowego ukadu decyzyjnego,
okrelajcego na podstawie syndromu czy ma by realizowana detekcja, czy te korekcja. Schemat
blokowy ukadu detekcyjno-korekcyjnego przedstawiono na rysunku 7. Przyjto, e sygna wyjciowy
ukadu decyzyjnego o wartoci jeden uniemoliwia korekcj bdw.

k
1
y
1
y
2

y
n
R
C
s
1

s
2

s
n

R
D
Ukad wyznaczania
syndromu
k
k
Wskanik
bdu
Rys. 5
24 Kodowanie nadmiarowe informacji
W rozwizaniach rejestry wyjciowe ukadw dekodujcych posiadaj dugo niezbdn do
zapamitania tylko sygnaw informacyjnych. Szczegowe schematy blokowe ukadw kodujcych i
dekodujcych podano przy omawianiu konkretnych rodzajw kodw.
Na zakoczenia zwraca si uwag, e struktura ukadu wyznaczania sygnaw nadmiarowych
kodera naley bezporednio od postaci macierzy generujcej, natomiast struktura ukadu wyznaczania
syndromu dekodera od postaci macierzy kontrolnej. Ukady te bd tym mniej skomplikowane, im
mniej sygnaw jedynkowych zawieraj te macierze. Powysze naley uwzgldnia przy konstrukcji
kodw.
W skrypcie ograniczono si do opisania realizacji ukadowej rwnolegego kodowania i
dekodowania kodw liniowych. Informacje o szeregowym sposobie kodowania i dekodowania mona
znale przykadowo w [7].

k
1
y
1
y
2

y
n
R
C
Ukad wyznaczania
syndromu
k
k
s
1
*
s
2
*

s
n
*
R
D
Wskanik
bdu
Ukad
wyznaczania cigu
korygujcego
Ukad
decyzyjny

k
1
y
1
y
2

y
n
s
1
*
s
2
*

s
n
*
Ukad
wyznaczania
syndromu
k
k
Ukad
wyznaczania
cigu
korygujcego
Rys.6
Rys.7
Kody liniowe 25
2.2. Oglna zasada konstrukcji kodw liniowych
2.2.1. Wprowadzenie
Konstrukcj kodw prowadzi si przy zaoeniu, e wykorzystywane s one jako korekcyjne.
Podstaw konstrukcji kodu jest przyporzdkowanie wartoci syndromu poszczeglnym pojedynczym
cigom bdw. Ustalenie takiego przyporzdkowania umoliwia bowiem okrelenie rwna
wicych poszczeglne sygnay cigu kodowego lub co jest rwnowane - okrelenie postaci
macierzy kontrolnej. Przyporzdkowanie powysze musi zapewnia jednoznaczn identyfikacj
wszystkich korygowanych cigw bdw a do zaoonej maksymalnej krotnoci.
Uwzgldniajc podan w punkcie 2.1.4 zasad sumowania syndromw i uywajc analogiczne
pojcia do poj wprowadzonych w rozdziale III, cz 2, zwraca si uwag, e w oglnym przypadku
jednoznaczno przyporzdkowania syndromw pojedynczym cigom bdw (jednoznaczno kodu)
nie zapewnia wcale jednoznacznej identyfikacji bardziej zoonych cigw bdw, bdcych sum
pojedynczych cigw bdw (jednoznaczno dekodowania).
Pr z yk a d 2.8.
Rozpatruje si korekcj bdu wystpujcego w cigu kodowym, kodu omwionego w
przykadzie 2.5, na pozycjach pierwszej i drugiej. Syndrom otrzymany w tym przypadku jest rwny
101 + 110 = 011
Analogiczny syndrom otrzymuje si w przypadku wystpienia bdw na pozycjach czwartej i pitej
010 + 001 = 011
2.2.2. Konstrukcja kodw o nieparzystej minimalnej odlegoci
Wykorzystujc zadan minimaln odlego kodu oraz zadan liczb sygnaw
informacyjnych m, na podstawie zalenoci z punktu 1.5 wyznacza si liczb sygnaw kontrolnych.
Liczba elementw syndromu jest rwna wyznaczonej liczbie sygnaw kontrolnych. Nastpnie okrela
si przyporzdkowanie wartoci syndromu wszystkim pojedynczym cigom bdw. W dalszej
kolejnoci, wykorzystujc zasad sumowania syndromw, sprawdza si moliwo jednoznacznej
identyfikacji wszystkich cigw bdw o wadze do t wcznie (
2
1
t ). W przypadku
pozytywnym, na podstawie tablicy syndromw, dla bdw pojedynczych konstruuje si kod. W
przypadku negatywnym - zwiksza si liczb sygnaw kontrolnych o jeden, co jest rwnowane
wydueniu syndromu o jeden element i powtrnie powtarza powysz procedur. Postpowanie takie
koczy si z chwil stworzenia moliwoci jednoznacznej identyfikacji wszystkich uwzgldnianych
cigw bdw.
26 Kodowanie nadmiarowe informacji
Omwione postpowanie ma na celu rozstrzygnicie dla jakiej dugoci cigw kodowych
(okrelonej przy ustalonej liczbie sygnaw informacyjnych przez liczb sygnaw kontrolnych) jest
moliwe otrzymanie 2
m
rozcznych n-wymiarowych kul o promieniu t. Rozwaania zwizane z tym
problemem przeprowadzono na kocu punktu 1.5.
Zwraca si uwag, e tylko dla kodu o =3 jednoznaczne przyporzdkowanie syndromu
pojedynczym cigom bdw koczy proces konstrukcji kodu, poniewa w tym przypadku t=1. Dla
kodw o wikszych nie mona a priori przewidzie liczby prb jakie naley wykona dla uzyskania
poprawnego przyporzdkowania syndromw, a wic ustalenia liczby sygnaw kontrolnych. Z tego
powodu mona spotka twierdzenie, e dla kodw o =2t+1>3 brak jest oglnej metody ich
konstrukcji.
Pr z yk a d 2.9
Rozwa si kod o dwch sygnaach informacyjnych m=2, korygujcy bdy pojedyncze i
podwjne. Minimalna odlego tego kodu rwna jest wic =5. Minimalna liczba sygnaw
kontrolnych speniajcych nierwnoci xxxxx wynosi k=5. Zatem n=k+m=7.
Jedno z moliwych przyporzdkowa wartoci picioelementowego syndromu
siedmioelementowym cigom bdw o wadze jeden przedstawiono w poniszej tablicy.
Numer pozycji
przekamanej Cig bdw Syndrom
1
2
3
4
5
6
7
1000000
0100000
0010000
0001000
0000100
0000010
0000001
00001
00010
00100
01000
10000
01111
11110
Powysze przyporzdkowanie nie zapewnia jednak jednoznacznej identyfikacji bdw
podwjnych, poniewa przykadowo syndrom 10001 otrzymany dla cigu bdw 0000011
opisujcego przekamania na pozycjach 6 i 7 oraz 1000100, ktry opisuje przekamania na pozycjach
1 i 5. Mona bezporednio sprawdzi, e przy picioelementowym syndromie (5 sygnaw
kontrolnych) nie jest moliwe otrzymanie jednoznacznej identyfikacji bdw podwjnych. Z tego
powodu konieczne jest wprowadzenie dodatkowego sygnau kontrolnego, zwikszajcego dugo
cigw kodowych do omiu. Dalszy przebieg konstrukcji tego kodu podano w punkcie 2.3.4.

Omwiona powyej zasada konstrukcji kodw liniowych prowadzia do uzyskania macierzy


kontrolnej. Stwierdzenie, czy okrelona macierz kontrolna H opisuje kod (n,k) o minimalnej
Kody liniowe 27
odlegoci =2t+1 wymaga obliczenia

,
_

t
j
e
j
n
N
1
'
wartoci syndromw oraz sprawdzenia
jednoznacznoci odwzorowania przez nie uwzgldnianych (korygowanych) cigw bdw.
Moliwe jest take okrelenie kodu liniowego przez wyznaczenie macierzy generujcej G. W
tym przypadku wstpnie wyznacza si dugo cigw kodowych z nierwnoci (xx). Nastpnie
okrela si m cigw kodowych stanowicych poszczeglne wiersze macierzy generujcej, przy czym
waga tych cigw nie moe by mniejsza ni =2t+1. Z kolei sumujc odpowiednie kombinacje
wyznaczonych cigw kodowych okrela si pozostae 2
m
cigw kodowych. Otrzymanie wagi
wszystkich cigw kodowych nie mniejszej od wiadczy, e okrelona uprzednio macierz
generujca opisuje kod (n,k=n-m) o zaoonej . Jeeli nie mona zapewni powyszego dla
minimalnie moliwej dugoci cigw kodowych, naley powikszy j o jeden i powtrnie
powtrzy powysz procedur.
Opisana procedura, prowadzca do uzyskania macierzy generujcej, zapewnia szybkie
skonstruowanie kodu liniowego ni przy wykorzystaniu procedury prowadzcej do uzyskania
macierzy kontrolnej, jeeli liczba korygowanych cigw bdw jest wiksza od liczby cigw
informacyjnych. W tym przypadku po mniejszej liczbie sprawdze (wiksza liczba syndromw
odwzorowujcych korygowane cigi bdw ni liczba cigw kodowych) mona stwierdzi czy
okrelony kod liniowy cechuje wymagana minimalna odlego =2t+1.
2.2.3. Konstrukcja kodw o parzystej minimalnej odlegoci
Kody o parzystej minimalnej odlegoci =2a konstruuje si na podstawie kodw o
nieparzystej minimalnej odlegoci =2a-1, ktrych sposb konstrukcji omwiono w pkt. 2.2.2.
Powysze uzasadnia przyjcie zaoenia, e dane s cigi kodowe kodu o =2a-1. Cigi te
rni si zatem na co najmniej 2a-1 pozycjach, a ich minimalna waga wynosi take 2a-1 (zal. 2.14).
Cigi kodowe kodu o =2a otrzymuje si przez doczenie do cigw kodu o =2a-1 dodatkowego
sygnau nadmiarowego, ktrego warto przyjmuje si tak, aby otrzyma w wyznaczonym cigu
kodowym parzyst liczb sygnaw o wartoci jeden.
Prawdziwo powyszego stwierdzenia wynika bezporednio z koniecznoci posiadania przez
wyznaczone cigi kodowe wagi nie mniejszej od minimalnej odlegoci =2a. Rozwaania wystarczy
ograniczy do cigw kodowych o minimalnej wadze rwnej 2a-1. Minimalna waga 2a-1 jest
nieparzysta, zatem zwikszenie jej o jeden (do wymaganej wartoci 2a) wymaga doczenia jednego
jedynkowego sygnau nadmiarowego. Doczenie dodatkowego, parzystociowego sygnau
nadmiarowego do cigw kodowych o wadze ( ) 1 2 > a s w i (a wic nie mniejszej od 2a) powoduje
28 Kodowanie nadmiarowe informacji
otrzymywanie cigw kodowych bd o niezmienionej wadze (w przypadku doczenia sygnau
zerowego), bd o wadze zwikszonej o jeden (w przypadku doczenia sygnau jedynkowego).
Powysze oznacza, e doczenie jednego sygnau nadmiarowego zgodnie z omwion zasad
prowadzi zawsze do uzyskania kodu o zwikszonej o jeden minimalnej odlegoci w porwnaniu z
minimaln odlegoci kodu wykorzystywanego.
Uwzgldniajc uwag o jednoznacznoci konstrukcji kodu o =3 mona zatem stwierdzi, e
kod o =4 jest najbardziej zoonym kodem, ktry mona skonstruowa bez koniecznoci stosowania
omwionej w punkcie 2.2.2 metody kolejnych prb.
Warto sygnau dodatkowego s
n
wyznacza si sumujc modulo dwa wartoci sygnaw kodu
o =2a-1
(2.35)

1
1
n
j
j n
s s
Macierz kontrolna H kodu o =2a mona okreli bezporednio na podstawie macierzy
kontrolnej H
*
kodu o =2a-1. Przy zaoeniu, e dodatkowo wprowadzany sygna kontrolny jest
ostatnim sygnaem cigu kodowego, macierz kontroln H
*
uzupenia si od gry jednym wierszem
skadajcym si z n jedynek. Wiersz ten odpowiada dodatkowo wprowadzonemu elementowi
syndromu.
(2.36)

n
j
j
y K
1
0
Pozostae wiersze macierzy H
*
uzupenia si z prawej strony kolumn skadajc si z samych zer.
Zapewnia to wyczenie dodatkowego sygnau nadmiarowego z zespow kontrolnych kodu o =2a-1.
Zatem wyznaczona macierz kontrolna ma posta
(2.37)
1
1
1
1
1
1
1
1
]
1

0
0
1 1 1 1
*
H
H
Macierz generujca G kodu o =2a mona take okreli bezporednio na podstawie macierzy
generujcej kodu o =2a-1
(2.38)
1
1
1
]
1

' *
, G G G
Macierz
'
G jest macierz kolumnow, ktrej elementy wyznacza si z rwnania (xxx).
2.3. Przykady kodw liniowych
2.3.1. Kody o minimalnej odlegoci =2
Kody liniowe 29
Cigi kodowe kodu o =2 wyznacza si przez doczenie do cigw informacyjnych jednego
sygnau nadmiarowego, zapewniajcego otrzymanie w cigu kodowym parzystej liczby sygnaw o
wartoci jeden.
Dekodowanie sprowadza si do sprawdzenia, czy w cigu odebranym wystpuje parzysta
liczba sygnaw o wartoci jeden. Parzysto tej liczby jest podstaw do podjcia decyzji o braku
bdu w cigu odebranym. W przypadku przeciwnym wnioskuje si o wystpieniu bdu. Sprawdzenie
wystpowania w cigu odebranym parzystej liczby sygnaw o wartoci jeden realizuje si drog
sumowania modulo dwa wartoci jego sygnaw
(2.39)


n
j
j
y K K
1
0
Otrzymanie sumy
K
rwnej zeru wiadczy o parzystej liczbie sygnaw o wartoci jeden w cigu
odebranym, natomiast rwnej jednoci o liczbie nieparzystej. Zgodnie z przyjt nomenklatur, sum
K
nazywa si syndromem, a zasad wyznaczania
K
testem parzystoci.
Zwraca si uwag, e przy takim postpowaniu wykrywane s nie tylko bdy pojedyncze, ale
take wszystkie bdy o krotnoci (wadze) nieparzystej. Wynika to z faktu wystpowania w tym
przypadku w cigu odebranym nieparzystej liczby sygnaw o wartoci jeden. Oznacza to wic, e
wykrywane s wszystkie cigi bdw, ktre nie pokrywaj si z cigami kodowymi. Powysza
zasada, jak wiadomo, jest oglna dla kodw liniowych.
Dla rozwaanych kodw (n,n-1) macierz generujca w postaci kanonicznej przy zaoeniu, e
sygna kontrolny jest ostatnim sygnaem cigu, ma posta
(2.40)
[ ]
1 , 1 1 1 ,
1 ,


n n n n
I G
gdzie:
1 n
I
- macierz jednostkowa rzdu n-1;
1 , 1
1
n - Jednostkowa macierz kolumnowa o n-1 wierszach.
Z kolei, zgodnie z zalenoci (xxx), macierz kontrolna jest macierz wierszow o n
elementach rwnych jednoci
(2.41)
[ ]
1 , 1 ,
1
n n
H
Pr z yk a d 2.10
Rozpatruje si kod (5,4). W tym przypadku rwnanie macierzowe (2.17) ma posta
[ ] [ ] G s s s s s s s s s
4 3 2 1 5 4 3 2 1
, , , , , , ,
Uwzgldniajc zaleno (2.35) otrzymuje si nastpujc posta macierzy generujcej
1
1
1
1
]
1

1 1 0 0 0
1 0 1 0 0
1 0 0 1 0
1 0 0 0 1
G
Macierz kontrolna w rozpatrywanym przypadku ma posta
[ ] 1 1 1 1 1 H
30 Kodowanie nadmiarowe informacji
Na rysunkach 8a i 8b przedstawiono schematy blokowe kodera i dekodera rozpatrywanego
kodu.
2.3.2. Kody o minimalnej odlegoci =3
Zgodnie z zalenoci (2.33), przy t=1 (=2t+1=3), liczba sygnaw kontrolnych spenia
warunek
(2.42) 1 2 + n
k
Przy narzuconej liczbie sygnaw informacyjnych m=n-k liczba sygnaw nadmiarowych spenia
warunek
(2.43) 1 2 + m k
k
Kody o =3, dla ktrych wartoci syndromu bezporednio okrelaj numer pozycji
przekamanej, nazywane s kodami Hamminga. Sposb konstrukcji takiego kodu przedstawiono w
poniszym przykadzie.
k
0
y
1
y
2
y
3
y
5
y
4
s
1
*
s
2
*
s
3
*
s
4
*
s
5
*
Bd
R
C
R
D
b)
Rys.8
R
B
s
1
s
2
s
3
s
4
s
1
s
2
s
3
s
4
s
5
Rys. 8a
R
A
Kody liniowe 31
Pr z yk a d 2.11
Konstruuje si kod Hamminga o dwch sygnaach informacyjnych. Zgodnie z zalenoci
(1.30) liczba sygnaw kontrolnych k=3. Konstruowany kod jest wic kodem (5,2). W poniszej
tablicy podano przyporzdkowanie wartoci syndromu poszczeglnym przekamanym pozycjom
cigu, zgodnie z zaoeniem bezporedniego okrelania przez syndromy numeru pozycji
przekamanej.
Numer pozycji
przekamanej
Syndrom
K
=(K
3
K
2
K
1
)
brak przekamania 000
1 001
2 010
3 011
4 100
5 101
Zatem macierz kontrolna ma posta
1
1
1
]
1

1 1 0 0 0
0 0 1 1 0
1 0 1 0 1
H

Jak wykazano w punkcie 1.4, kody o =3 umoliwiaj take wykrywanie bdw


pojedynczych i podwjnych. Wykrycie faktu wystpienia bdu dokonuje si na podstawie syndromu.
Otrzymanie syndromu zerowego powoduje podjcie decyzji o braku bdu, natomiast dowolnego
syndromu niezerowego o jego wystpieniu. W kolejnej tablicy przedstawiono wartoci skutecznoci
detekcyjnej poszczeglnych kodw (n,m) o =3.
(n,m) (3,1) (5,2) (6,3) (7,4) (9,5) (10,6) (11,7) (12,8)
N
D
0,86 0,90 0,88 0,88 0,93 0,94 0,94 0,94
Zgodnie z powysz tablic, przykadowy kod (7,4) zapewnia wykrywanie 88% wszystkich
moliwych cigw bdw.
Realizacj ukadow kodowania i dekodowania dokonuje si w sposb przedstawiony w
punkcie 2.1.5. Konkretny sposb tej realizacji w odniesieniu do rozpatrywanych kodw o =3
zilustrowano poniszym przykadem.
Pr z yk a d 2.12
Rozpatruje si kod (5,2) o macierzy kontrolnej w postaci kanonicznej
1
1
1
]
1

1 0 0 0 1
0 1 0 1 0
0 0 1 1 1
H
Rwnania do wyznaczania sygnaw kontrolnych s nastpujce
s
3
=s
1
+s
2
s
4
=s
2
s
5
=s
1
a rwnania do wyznaczenia poszczeglnych elementw syndromu maj posta
32 Kodowanie nadmiarowe informacji
K
1
=y
1
+y
2
+y
3
K
2
=y
2
+y
4
K
3
=y
1
+y
5
Na rysunku 9a przedstawiono schemat blokowy ukadu kodujcego, na rysunku 9b schemat blokowy
detekcyjnego ukadu dekodujcego, natomiast na rysunku 9c schemat blokowy korekcyjnego ukadu
dekodujcego.
y
1
y
2
y
3
y
5
y
4
R
C
s
1
*
s
2
*
s
3
*
s
4
*
s
5
*
R
D
k
1
Bd
k
2
k
3
Rys. 9b
s
1
s
2
s
3
s
4
s
5
R
B
s
1
s
2
R
A
Rys.9a
Kody liniowe 33
W oparciu o rozpatrzony kod mona okreli wyniki korekcji przy wystpieniu bdu
przekraczajcego moliwoci korekcyjne kodu. Problem ten zosta zasygnalizowany w punkcie 2.1.4.
W przypadku wystpienia bdu podwjnego na trzeciej i czwartej pozycji, otrzymuje si
syndrom odpowiadajcy bdowi pojedynczemu na pozycji drugiej. Zatem w tej sytuacji w procesie
korekcji zostanie dodatkowo wprowadzony bd na pozycji drugiej. Z kolei w przypadku wystpienia
bdu podwjnego na pozycjach czwartej i pitej, otrzymany syndrom nie pokrywa si z adnym z
syndromw dla bdw pojedynczych. W takiej sytuacji, w procesie korekcji nie zostanie
wprowadzony dodatkowy bd (na wyjciu adnego z iloczynw dekodera korekcyjnego nie pojawi
si sygna korygujcy).
2.3.3. Kody o minimalnej odlegoci =4
Cigi kodowe kodu o minimalnej odlegoci cztery wyznacza si na podstawie cigw
kodowych kodu o minimalnej odlegoci trzy przez doczenie do nich dodatkowego sygnau
kontrolnego. Warto tego sygnau przyjmuje si tak, aby otrzymywane cigi kodowe zawieray
parzyst liczb sygnaw o wartoci jeden.
Przy zaoeniu, e sygna nadmiarowy jest ostatnim sygnaem cigu kodowego, zaleno do
wyznaczenia wartoci tego sygnau jest okrelona wzorem (2.35).
Pr z yk a d 2.13
Rozpatruje si konstrukcj kodu o =4 w oparciu o kod (5,2) omwiony w przykadzie 2.12.
Rozpatrywany kod jest wic kodem (6,2). Wykorzystujc macierz kontroln kodu o =3 z przykadu
2.12 otrzymuje si macierz kontroln konstruowanego kodu o =4
k
1
y
1
y
2
y
3
y
5
y
4
R
C
S
1
*
S
2
*
S
3
*
S
4
*
S
5
*
R
D
k
2
k
3
Rys. 9c
34 Kodowanie nadmiarowe informacji
1
1
1
1
]
1

0 1 0 0 0 1
0 0 1 0 1 0
0 0 0 1 1 1
1 1 1 1 1 1
H
Zgodnie z powysz macierz, rwnania do wyznaczania elementw syndromu s nastpujce
K
0
=y
1
+y
2
+y
3
+y
4
+y
5
+y
6
K
1
=y
1
+y
2
+y
3
K
2
=y
2
+y
4
K
3
=y
1
+y
5
Z kolei rwnania do wyznaczenia sygnaw kontrolnych maj posta
s
3
=s
1
+s
2
s
4
=s
2
s
5
=s
1
s
6
=s
1
+s
2
+s
3
+s
4
+s
5
=s
1
+s
2
Zatem macierz generujca jest nastpujca
1
]
1

1 0 1 1 1 0
1 1 0 1 0 1
G

Dekodowanie oparte jest o syndrom


K
kodu o =3 (wyznaczany na podstawie cigw n-1
elementowych) oraz wynik testu parzystoci K
0
. Obliczanie w procesie dekodowania wartoci
syndromu
K
kodu o =3 i syndromu K
0
oznaczaj:
K
0
= 0 brak bdu lub bd podwjny na pozycjach 1,...,n;
K
0
= 1 bd pojedynczy lub potrjny na pozycjach 1,...,n;
K
= 0 - brak bdu na pozycjach 1,...,n-1;
0 K - bd pojedynczy lub podwjny na pozycjach 1,...,n-1.
Wnioski te ograniczono tylko do rodzajw bdw nie przekraczajcych zdolnoci kodu o =4.
W oparciu o powysze wartoci ustala si rodzaj bdw w nastpujcy sposb:
K
0
= 0, 0 K - brak bdu;
K
0
= 0, 0 K - bd podwjny na pozycjach 1,...,n;
K
0
= 1, 0 K - bd pojedynczy na pozycji n;
K
0
= 1, 0 K - bd pojedynczy na jednej z pozycji 1,...,n-1.
W przypadku wykorzystania kodu jako detekcyjnego, po otrzymaniu syndromw K
0
=0, 0 K
wnioskuje si o braku przekamania w cigu odebranym. W kadej innej sytuacji podejmuje si
decyzj o wystpieniu bdu. Taki sposb postpowania zapewnia wykrywanie bdw pojedynczych,
podwjnych i potrjnych. Wskaniki skutecznoci detekcyjnej poszczeglnych rodzajw kodw (n,m)
o minimalnej odlegoci =4 przedstawiono w poniszej tabeli.
(n,m) (4,1) (6,2) (7,3) (8,4) (10,5) (11,6) (12,7) (13,8)
N
D
0,93 0,95 0,94 0,94 0,97 0,97 0,97 0,97
Kody liniowe 35
Przy zastosowaniu kodu o =4 jako detekcyjno-korekcyjnego w przypadku K
0
=0, 0 K
sygnalizuje si fakt wystpienia bdu, natomiast w przypadku K
0
=1, 0 K oraz K
0
=1, 0 K
dokonuje si korekcji przekamanego sygnau. Sposb przykadowej realizacji ukadw kodowania i
dekodowania dla konkretnego rodzaju kodu zilustrowano na poniszych rysunkach.
Dla kodu omwionego w przykadzie 2.13 na rysunku 10a przedstawiono schemat blokowy
ukadu kodujcego, na rysunku 10b schemat blokowy detekcyjnego ukadu dekodujcego, natomiast
na rysunku 10c schemat blokowy detekcyjno-korekcyjnego ukadu dekodujcego.
R
B
s
1
s
2
R
A
s
1
s
2
s
3
s
4
s
5
s
6
Rys.10a
R
C
y
1
y
2
y
3
y
5
y
4
s
1
*
s
2
*
s
3
*
s
4
*
s
5
*
R
D
k
1
Bd
k
2
k
3
k
0
y
6
s
6
*
Rys.10b
36 Kodowanie nadmiarowe informacji
2.3.4. Kody o minimalnej odlegoci 5
Konstrukcja kodw o minimalnej odlegoci 5 realizowana jest zgodnie z ogln metod
omwion w punkcie 2.2 ze szczeglnym uwzgldnieniem zasady sumowania syndromw. Sposb
konstrukcji zilustrowano przykadem konstrukcji kodu o minimalnej odlegoci =5.
Pr z yk a d 2.15
Rozwaa si konstrukcj kodu o =5 i dwch pozycjach informacyjnych. W przykadzie 2.9
wykazano konieczno zwikszenia liczby sygnaw kontrolnych do k=6. Przyporzdkowanie
wartoci syndromw poszczeglnym cigom bdw pojedynczych dla tego przypadku przedstawiono
w poniszej tablicy.
Numer pozycji
przekamanej
Cig bdw Syndrom
1 10000000 000001
2 01000000 000010
3 00100000 000100
4 00010000 001000
5 00001000 010000
6 00000100 100000
7 00000010 111100
y
1
y
2
y
3
y
5
y
4
Rc
k
1
k
2
k
3
k
0
y
6
S
1
*
S
2
*
S
3
*
S
4
*
S
5
*
Rd
S
6
*
Bd
Rys. 10c
Kody liniowe 37
8 00000001 001111
Syndromy odpowiadajce wszystkim cigom bdw o wadze dwa wyznacza si na podstawie
syndromw wystpujcych przy bdach pojedynczych. Syndromy te przedstawiono w kolejnej
tablicy.
Numery pozycji
przekamanych
Cig bdw Syndrom
Numery pozycji
przekamanych
Cig bdw Syndrom
1,2 11000000 000011 3,5 00101000 010100
1,3 10100000 000101 3,6 00100100 100100
1,4 10010000 001001 3,7 00100010 111000
1,5 10001000 010001 3,8 00100001 001011
1,6 10000100 100001 4,5 00011000 011000
1,7 10000010 111101 4,6 00010100 101000
1,8 10000001 001110 4,7 00010010 110100
2,3 01100000 000110 4,8 00010001 000111
2,4 01010000 001010 5,6 00001100 110000
2,5 01001000 010010 5,7 00001010 101100
2,6 01000100 100010 5,8 00001001 011111
2,7 01000010 111110 6,7 00000110 011100
2,8 01000001 001101 6,8 00000101 101111
3,4 00110000 001100 7,8 00000011 110011
Z tablic syndromw dla cigw o wagach rwnych jeden i dwa wynika, e otrzymano
wzajemnie jednoznaczn odpowiednio pomidzy uwzgldnianymi cigami bdw oraz wartociami
szecioelementowego syndromu. Stworzono zatem moliwo korygowania wszystkich
uwzgldnianych cigw bdw.
Rozwaany kod jest kodem (8,2). Jego wspczynnik nadmiaru jest rwny
64
2
2
2
2
2
8
5

m
n
R
Na podstawie tablicy syndromw dla bdw pojedynczych otrzymuje si ukad rwna dla
poszczeglnych zespow kontrolnych
s
1
+s
8
=0 s
4
+s
7
+s
8
=0
s
2
+s
8
=0 s
5
+s
7
=0
s
3
+s
7
+s
8
=0 s
6
+s
7
=0
Z powyszych rwna wynika, e najdogodniejsze jest przyjcie sygnaw s
7
i s
8
jako
informacyjnych. Poszczeglne sygnay kontrolne wyznacza si zatem w sposb nastpujcy
s
1
=s
8
s
4
=s
7
+s
8
s
2
=s
8
s
5
=s
7
s
3
=s
7
+s
8
s
6
=s
7
Rwnania do wyznaczania poszczeglnych elementw syndromu maj posta
K
1
=y
1
+y
8
K
4
=y
4
+y
7
+y
8
K
2
=y
2
+y
8
K
5
=y
5
+y
7
K
3
=y
3
+y
7
+y
8
K
6
=y
6
+y
7
38 Kodowanie nadmiarowe informacji
Macierz generujca rozwaanego kodu ma wic posta
1
]
1

1 0 0 0 1 1 1 1
0 1 1 1 1 1 0 0
G
Z kolei macierz kontrolna jest nastpujca
1
1
1
1
1
1
1
1
]
1

0 1 1 0 0 0 0 0
0 1 0 1 0 0 0 0
1 1 0 0 1 0 0 0
1 1 0 0 0 1 0 0
1 0 0 0 0 0 1 0
1 0 0 0 0 0 0 1
H
Zwraca si uwag, e w rozwaanym przypadku speniony jest take omwiony w punkcie
2.1.3 zwizek pomidzy macierz generujc i kontroln. Spenienie tego zwizku uzyskano przez
przyjcie dla bdw pojedynczych takich syndromw, ktrych wartoci tworz macierz jednostkow.
Spowodowao to take moliwo przyjcia jako sygnaw informacyjnych ostatnich sygnaw cigu
kodowego.
Na rysunku 11a przedstawiono schemat blokowy ukadu kodujcego.
R
B
R
A
s
1
s
2
s
3
s
4
s
5
s
6
s
7
s
8
s
7
s
8
Rysunek 11a
Kody liniowe 39
Na rysunkach 11b i c przedstawiono schemat blokowy ukadu dekodujcego dla kodu
korekcyjnego. Na rysunku 11b zamieszczono cz ukadu dekodujcego, obliczajcego poszczeglne
elementy syndromu. Na rysunku 11c przedstawiono cz ukadu dekodujcego, zapewniajcego
korygowanie bdw pojedynczych i podwjnych. Dla uproszczenia struktury ukadu ograniczono si
tylko do korygowania sygnaw informacyjnych. Numery poszczeglnych iloczynw logicznych
R
C
k
5
k
2
k
3
k
6
k
1
y
3
y
4
y
5
y
7
y
6
y
8
y
1
y
2
k
4



y
8









y
7









y
6







y
5







y
4







y
3







y
2








y
1
Rys.11b
40 Kodowanie nadmiarowe informacji
okrelaj numery pozycji przekamanych, na ktrych sygna cigu odebranego jest korygowany
sygnaem wyjciowym danego iloczynu.
Rozpatrywany kod moe zosta wykorzystany take jako kod detekcyjny. Zgodnie z
zalenoci (xxx) kod ten zapewnia wykrywanie cigw bdw o wadze do czterech wcznie.
Wspczynnik skutecznoci detekcyjnej tego kodu wynosi wic
99 , 0
1 2
2 2
8
2 8

D
N
Powyszy wynik oznacza, e prezentowany kod umoliwia wykrywanie 99% wszystkich cigw
bdw. Na rysunku 11d przedstawiono schemat blokowy ukadu dekodujcego kodu korekcyjnego.
Rozpatruje si z kolei zastosowanie kodu detekcyjno korekcyjnego. Zgodnie z zalenoci
(xxx) kod ten zapewnia korygowanie bdw pojedynczych oraz wykrywanie bdw podwjnych i
potrjnych.Wyznaczajc wartoci syndromu dla moliwych cigw bdw o wadze rwnej 3 mona
przekona si, e wartoci te rne s od wartoci syndromw otrzymanych w przypadku bdw
pojedynczych. Uwzldniajc powyej zilustrowan wzajemn jednoznaczno syndromw i cigw
bdw o wadze 1 i 2, otrzymuje si potwierdzenie skutecznej detekcji bdw podwjnych i
potrjnych oraz prawidowej korekcji bdw pojedynczych.
y
3
y
4
y
5
y
7
y
6
y
8
y
1
y
2
s
1
*
s
2
*
s
3
*
s
4
*
s
5
*
R
D
Bd
s
6
*
s
7
*
s
8
*
R
C
Rys.11c
Kody liniowe 41
Proces dekodowania odbywa si w sposb nastpujcy. Wstpnie wyznacza si wartoci
syndromw odpowiadajcych wszystkim korygowanym cigom bdw. Otraymanie w procesie
dekodowania takiego syndromu powoduje wyznaczenie numeru pozycji przekamanych, po czym
nastpuje korekcja sygnaw na zidentyfikowanych pozycjach cigu odebranego. Otrzymanie w
procesie dekodowania syndromu rnego od syndromw okrelonych powyej powoduje tylko
sygnalizacj faktu wystpienia bedu. Dla uproszczenia struktury ukadu ograniczono si tylko do
korygowania sygnaw informacyjnych.
7
7,1
7,2
7,3
7,4
7,8
7,5
7,6
8,1
8,2
8,3
8,4
8,6
8
8,5
s
1
s
1
Rys.11d
42 Kodowanie nadmiarowe informacji
Na rysunku 11e przedstawiono schemat blokowy czci ukadu dekodujcego rozwaanego
kodu detekcyjno - korekcyjnego. Cz ta zapewnia wykrywanie i korygowanie bdw. Rejestru
wyjciowego dekodera nie blokujesi, jeeli wystpi bd pojedynczy (o czym wnioskuje si w
przypadku wystpienia cigu korygujcego) lub nie wystpi w ogle bd (o czym wnioskuje si w
przypadku zerowego syndromu). Schemat blokowy pierwszej czci ukadu dekodujcego jest
analogiczny jak na rysunku 11b.
k
1
k
6
Bd
s
1
*
s
2
*
s
3
*
s
4
*
s
5
*
R
D
s
6
*
s
7
*
s
8
*
Rys.11e

You might also like