Upload
butrosgali88
View
224
Download
0
Embed Size (px)
Citation preview
7/27/2019 TI P04 Zast Kodiranje I Dio
1/50
Zatitno kodiranje IZatitno kodiranje I
Teorija informacije
7/27/2019 TI P04 Zast Kodiranje I Dio
2/50
Teorija informacije 2 od 50
Sadraj predavanjaSadraj predavanja
Uvod Komunikacijski sustav; Cilj zat. kodiranja; Podjela zatitnih
kodova.
Blok kodovi Uvod Paritetno kodiranje
Linearno binarni blok kodovi Generirajua matrica G i njen standardni oblik
Kodiranje Dekodiranje (dekodiranje preko sindroma) Proraun vjerojatnosti ispravnog dekodiranja
Hammingovi kodoviCiklini kodovi
7/27/2019 TI P04 Zast Kodiranje I Dio
3/50
Teorija informacije 3 od 50
Komunikacijski sustavKomunikacijski sustav
Koder informacije Formira poruku (tzv. kodirana poruka) minimalne duljine koja
opisuje sadraj na izvoru;
Koder kanala
Dijeli kodiranu poruku na fragmente koje u okviru ovog poglavljanazivamo porukama; Definira zatitni kd kojim se provodi pridruivanje zatitnih kodnih
rijei porukama. Nazivlje: zatitne kodne rijei kodne rijei (engl. code words).
7/27/2019 TI P04 Zast Kodiranje I Dio
4/50
Teorija informacije 4 od 50
to kada otkrijemo pogreku?
Cilj zatitnog kodiranjaCilj zatitnog kodiranja
Cilj zatitnog kodiranja je iskoristiti onaj zatitni kd koji: Uvodi najmanje mogue poveanje prosjene duljine kodnih rijei u
odnosu na prosjenu duljinu poruka; Osigurava prihvatljivo malu vjerojatnost da pogreke simbola
zatitno kodirane poruke ostanu neotkrivene.
Pokree se neki od postupaka otklanjanja pogreke (engl.error correction).
Ispravljanje pogreki u dekoderu kanala (FEC engl. forward errorcorrection);
Koriste se kodovi za otkrivanje i ispravljanje pogreaka (engl. errorcorrecting codes).
Ispravljanje pogreki ponovnim slanjem (BEC engl. backwarderror correction).
Koriste se kodovi za otkrivanje pogreaka (engl. error detection codes).
7/27/2019 TI P04 Zast Kodiranje I Dio
5/50
Teorija informacije 5 od 50
Dvije glavne skupine zatitnih kodova, i to: Blok kodovi (engl. block codes);
Konvolucijski kodovi (engl. convolutional codes). Glavne razlike se odnose na nain izvedbe kodera.
Blok kodovi: k-bitna poruka potpuno se preslikava u n-bitnu kodnurije, tj. generiranje nekog bita u kodnoj rijei funkcija je trenutanog
stanja ulaza kodera; Konv. kodovi: generiranje nekog bita u kodnoj rijei funkcija je
trenutanog stanja ulaza kodera kao i nekolicine prethodnih stanja.
Druga podjela zatitnih kodova napravljena je na osnovu
strukture i svojstava kodnih rijei, i to na: Linearane (engl. linear).
Blok, konvolucijski i turbo kodovi.
Nelinearne (engl. nonlinear).
Podjela zatitnih kodovaPodjela zatitnih kodova
7/27/2019 TI P04 Zast Kodiranje I Dio
6/50
Teorija informacije 6 od 50
Blok kodoviBlok kodovi
7/27/2019 TI P04 Zast Kodiranje I Dio
7/50
Teorija informacije 7 od 50
Definicija: abeceda kodaDefinicija: abeceda koda
Abeceda koda: Kodne rijei koda K sastoje se od simbolaizabranih iz konanog skupa simbola Fqs q elemenata kojeg
nazivamo abeceda koda.
Primjer: U digitalnim komunikacijskim sustavima koristi se
abeceda F2={0, 1}. Simbolu abecede F2 su binarne znamenke0 i 1, dok se kodovi koji koriste ovu abecedu zovu binarnikodovi.
Napomena: U okviru kolegija Teorija informacije prouavate se iskljuivo zatitni binarni kodovi!
7/27/2019 TI P04 Zast Kodiranje I Dio
8/50
Teorija informacije 8 od 50
0 0 ;
0 1 ;=1 0 ;
1 1 .
A
BPC
D
1
0 0 0 ;
0 1 1 ;
= 1 0 1 ;
1 1 0 .
A
B
K C
D
2
0 0 0 0 0 ;
0 1 1 0 1 ;
= 1 0 1 1 0 ;
1 1 0 1 1 .
A
B
K C
D
Kd K1 formiran dodavanjem
jednog redundantnog simbola
Kd K2 formiran dodavanjem tri
redundantna simbola
Primjer: zatitno kodiranjePrimjer: zatitno kodiranje
Primjer: Izvor informacije generira etiri razliita simbola: A,B, Ci D, a koder informacije kodira ih kao:
Koder kanala
7/27/2019 TI P04 Zast Kodiranje I Dio
9/50
Teorija informacije 9 od 50
Blok kd:Kd K zove seblok-kdukoliko su duljine svihnjegovih kodnih rijei jednake. Ako kodne rijei koda K imaju
duljinu n, onda je Kblok-kd duljinen.
Definicija: blok kDefinicija: blok kdd
Primjer:
1
0 0 0 ;0 1 1 ;
=1 0 1 ;
1 1 0 .
A
BK
C
D
2
0 0 0 0 0 ;0 1 1 0 1 ;
=1 0 1 1 0 ;
1 1 0 1 1 .
AB
KC
D
Blok kod n= 3 Blok kod n= 5
7/27/2019 TI P04 Zast Kodiranje I Dio
10/50
Teorija informacije 10 od 50
Hammingova udaljenost:Hammingova udaljenost izmeu dvije kodne rijeije broj pozicija na kojima se kodne rijei razlikuju, tj. broj pozicija na kojimakodne rijei imaju razliite simbole.
Oznaka Hammingove udaljenosti izmeu dviju kodnih rijeix iyje d(x, y).
Definicija: Hammingova udaljenostDefinicija: Hammingova udaljenost
Za kodne rijei i x,y i z blok-koda K, Hammingova udaljenost ima sljedeasvojstva: d(x,y)=0 ako i samo ako je x = y; d(x,y)=d(y,x) za sve x,y K; d(x,y) d(x,z) + d(z,y) za sve x,y,z K(nejednakost trokuta).
Primjer:
7/27/2019 TI P04 Zast Kodiranje I Dio
11/50
Teorija informacije 11 od 50
OZNAKA BLOK-KODA:
( n, M, d)
Udaljenost koda:Udaljenost koda K, s oznakom d(K), je najmanjaHammingova udaljenost svih parova kodnih rijei koda K, tj.
DULJINA KODA
BROJ KODNIH RIJEI U KODU
DISTANCA KODA
( ),
( ) = min ( , )K
d K d
x y
x y x y
Definicija: Udaljenost blokDefinicija: Udaljenost blok--koda ikoda injegova oznakanjegova oznaka Dekodiranje kodne rijei se provodi na nain da se kao primljena kodna
rije odabire ona koja od primljene rijei ima najmanju Hammingovuudaljenost princip dekodiranja najbliim susjedom.
Sposobnost koda da otkrije ili ispravi pogreke ovisi o najmanjojHammingovoj udaljenosti izmeu svih parova kodnih rijei nekog koda K.
7/27/2019 TI P04 Zast Kodiranje I Dio
12/50
Teorija informacije 12 od 50
Otkrivanje i ispravljanje pogreakaOtkrivanje i ispravljanje pogreaka(1/2)(1/2)
Ako zatitni kd Kima distancu d(K) i ako sedekodiranje provodi principom najblieg susjeda,
onda vrijedi sljedee:Kd Kmoe otkriti najvie d(K)1 pogreaka u jednoj
kodnoj rijei, tj. ako je najvei broj pogreaka koje kd moe
otkriti s, onda mora biti zadovoljen izraz d(K)s+1.
Primjer (blok kd n= 3, M= 4, d(K) = 2 s= 1):
1
0 0 0 ;
0 1 1 ;=1 0 1 ;
1 1 0 .
A
BKC
D
7/27/2019 TI P04 Zast Kodiranje I Dio
13/50
Teorija informacije 13 od 50
Otkrivanje i ispravljanje pogreakaOtkrivanje i ispravljanje pogreaka(2/2)(2/2)
Ako zatitni kd Kima distancu d(K) i ako sedekodiranje provodi principom najblieg susjeda,onda vrijedi sljedee: ...
Kd Kmoe ispraviti najvie (d(K)1)/2 pogreaka ujednoj kodnoj rijei, gdje je x oznaka za najvei cijeli brojmanji od x. Drugim rijeima, ukoliko se s toznai najvei
broj pogreaka koje kd Kmoe ispraviti u jednoj kodnojrijei, onda mora biti zadovoljen izraz d(K)2t+1.(Napomena: Objanjenje slijedi u nastavku!)
7/27/2019 TI P04 Zast Kodiranje I Dio
14/50
Teorija informacije 14 od 50
10011101 1111
0001 11000101
0101 0111 00110100 0000
0110
0 1 2d d d
= = =
Kugla kodne rijeiKugla kodne rijei
Kugla kodne rijei x radijusa rsu sve rijei (vektori) duljine nsaskalarima 0 i 1 ija je Hammingova distanca od x manja ilijednaka r.
{ }2( , ) = | ( , )nS r F d r x y x y
Primjer: (x = [0101], Kugla S(x, 2))
7/27/2019 TI P04 Zast Kodiranje I Dio
15/50
Teorija informacije 15 od 50
Primjer: kugla kodne rijeiPrimjer: kugla kodne rijei
Primjer: Dan je kd s etiri kodne rijei x1, x2, x3 i x4 i d(K)2t+1.
7/27/2019 TI P04 Zast Kodiranje I Dio
16/50
Teorija informacije 16 od 50
n d= 3 d= 5 d= 7
5 4 2 -
6 8 2 -
7 16 2 2
8 20 4 2
9 40 6 2
10 72-79 12 2
11 144-158 24 4
12 256 32 4
13 512 64 8
14 1024 128 16
15 2048 256 32
16 2560-3276 256-340 36-37
Osnovni zadatak teorije kodiranjaOsnovni zadatak teorije kodiranja
Za definiranu duljinu kodne rijei nkoda Ki definiranu distancu d, odrediti najveimogui broj kodnih rijei M= A(n, d).
7/27/2019 TI P04 Zast Kodiranje I Dio
17/50
Teorija informacije 17 od 50
Neperfektan kd i ogranienje sfernog
pakiranja
Perfektan kd sve sfere pokrivaju
sve vektore!
2
...0 1 2
n
Mn n n n
t
=
+ + +
PERFEKTAN KD
2
...0 1 2
n
Mn n n n
t
+ + +
HAMMINGOVA MEA
(SPHERE-PACKING BOUND)
Hammingova mea zaHammingova mea za AA((nn,, dd) i) iperfektan kperfektan kdd
7/27/2019 TI P04 Zast Kodiranje I Dio
18/50
Teorija informacije 18 od 50
1 2
0 0 0 0 0 0 0 1 0 0
0 1 1 0 1 0 0 0 1 1= =1 0 1 1 0 1 1 0 0 0
1 1 0 1 1 1 1 1 1 1
K K
Ekvivalentni kodovi:Dva binarna blok-koda su ekvivalentna ukoliko se jedan izdrugog mogu dobiti:(1) postupkom invertiranja simbola nad jednom ili vie pozicija koda,(2) zamjenom dviju ili vie pozicija koda prije ili nakon (1).
Ekvivalencija blok kodovaEkvivalencija blok kodova
Primjer: Kod K2 nastao iz koda K1.
(1) zamjena simbola (0 1 i
1 0) na treoj poziciji ukodu K1;(2) zamjena pozicija 2 i 4 svih
kodnih rijei.
Hammingova udaljenost
7/27/2019 TI P04 Zast Kodiranje I Dio
19/50
Teorija informacije 19 od 50
1 2
1 2
( ),
1 ( ).
k
k
R x x x parni paritet
R x x x neparni paritet
= + + +
= + + + +
Paritetno kodiranje (1/2)Paritetno kodiranje (1/2)
Koristi se iskljuivo za otkrivanje pogreaka u kodnoj rijei. Na poruku se dodaje jedan zalihosni simbol (bit) koji se naziva paritetni bit (engl. parity
check).
U praksi se koristi parni paritet (engl. even parity) ili neparni paritet (engl. odd parity).
Primjer: Proraun vjerojatnosti neotkrivenih pogreaka (pnp) za paritet.
Napomena: Paritetni bit Rse izraunava zbrajanjem aritmetikom modulo 2.
n -duljina kodne rijei; p- vjerojatnost pojave pogreke na jednom bitu.
neparno)1(1
...)1(4
)1(2
parno...)1(4)1(2
14422
4422
++
+
=
++
+
=
nppn
npp
npp
np
npn
n
pp
n
pp
n
p
nnnnp
nnn
np
7/27/2019 TI P04 Zast Kodiranje I Dio
20/50
Teorija informacije 20 od 50
1 2 , 1, ...,i i i m iC x x x i k = + + + =
1 1 2 ,k mC R R R+ = + + +
Paritetno kodiranje (2/2)Paritetno kodiranje (2/2)
Vertikalna i horizontalna provjera zalihosti. Uvoenje zajednikih paritetnih bitova za vie uzastopnih poruka. Formiranje posebne kodne rijei s bitovima C1,..., Ck.
7/27/2019 TI P04 Zast Kodiranje I Dio
21/50
Teorija informacije 21 od 50
Linearno binarni bLinearno binarni bloklok kodovikodovi
7/27/2019 TI P04 Zast Kodiranje I Dio
22/50
Teorija informacije 22 od 50
x1 x2 x1+ x2 x1 x20011
0101
0110
0001
[ ] [ ] [ ][ ] [ ]
1 2 3 1 2 3 1 1 2 2 3 3
1 2 3 1 2 3
, , , ..., , , , ..., , , , ..., ,
, , , ..., , , , ..., ,
n n n n
n n
x x x x y y y y x y x y x y x y
a a x x x x a x a x a x a x
+ = + = + + + +
= =
x y
x
Vektorski prostor: definicijaVektorski prostor: definicija
Linearno binarni blok kodovi definiraju se preko skupa vektora (vektorski prostor) nadkojim su definirane odreene operacije.
Kodnu rije opisujemo binarnim vektorom x = [ x1 x2 xn ]; xisu iz abecede F2 = {0, 1}.
Na skupom F2 = {0, 1} definiraju se operacije zbrajanja i mnoenja u aritmetici modulo 2.
Neutralni element s obzirom na zbrajanje je 0, a s obzirom na mnoenje je 1. U aritmetici modulo 2 zadovoljene su jednakosti: -1 = 1 i 11-1 = 1. Neka je V(n) skup svih binarnih vektora duljine nnad kojim su definirane operacije
zbrajanja vektora i mnoenja vektora skalarom na sljedei nain:
a, xi, yisu skalari iz F2; x, y su vektori iz V(n)
S ovako definiranim operacijama skup V(n) je VEKTORSKI PROSTOR!
7/27/2019 TI P04 Zast Kodiranje I Dio
23/50
Teorija informacije 23 od 50
Linerani binarni blok kd:Neka je blok-kd K potprostor vektorskog prostora V(n): KV(n). Neka sux iy kodne rijei koda K i neka je a {0,1}. Ako je za svex , y i aispunjeno:x+y K, ax K,onda je K linearan binarni blok-kd.
Definicija: linearni binarni blok kDefinicija: linearni binarni blok kdd
Svi vektori duljine nine vektorski prostor V(n). Ako je Kpotprostor od V(n),onda je KLINEARAN BLOK KD!
Zbrajanjem dvije kodne rijei nastaje neka nova rije koda K.
Mnoenjem neke kodne rije
i s konstantom nastaje neka nova rije
koda K. Kodna rije0 pripada kodu K. Linerani blok kodovi: proraun udaljenosti koda preko teine kodnih rijei.
7/27/2019 TI P04 Zast Kodiranje I Dio
24/50
Teorija informacije 24 od 50
d(K)=2
Teina kodne rijei: Teina kodne rijeix koda K je broj pozicijakodne rijei na kojima se nalazi simbol1. Oznaka teine kodne
rijeixje w(x).
000
011101
110
K: 22
Definicija: teina kodne rijeiDefinicija: teina kodne rijei
Primjer: w(101011) = 4, w(001000) = 1.
Kod linearnih blok kodova vrijedi:d(x, y) = w(x y)
Budui da je svaka razlika dvije kodnerijei neka kodna rije linearnog blok-koda, distancu koda odreujemo kao:
d(K) = mini w(x) uz x 0
7/27/2019 TI P04 Zast Kodiranje I Dio
25/50
Teorija informacije 25 od 50
x = a [0 1 1] + b [1 0 1], a, b {0, 1}
[0 0 0] = 0 [ 0 1 1] + 0 [ 1 0 1 ] [1 0 1] = 0 [ 0 1 1] + 1 [ 1 0 1 ]
[0 1 1] = 1 [ 0 1 1] + 0 [ 1 0 1 ] [1 1 0] = 1 [ 0 1 1] + 1 [ 1 0 1 ]
000
011
101110
K: 22011
101BAZA
dimenzija potprostora:
k= 2 (broj vektora u bazi)
M= 2k (broj kodnih rijei)
Vektorski prostor: baza prostoraVektorski prostor: baza prostora
Baza vektorskog prostora/potprostora: Skup svih linearno nezavisnih vektora. Svi vektori nekog prostora/potprostora mogu se dobiti kao linearna kombinacija vektora
baze.
Primjer:
7/27/2019 TI P04 Zast Kodiranje I Dio
26/50
Teorija informacije 26 od 50
1 1 2 2=
k ka a a + + + x b b b
Generirajua matrica koda: Matrica dimenzija kniji se reci sastoje odvektora baze koda(n,M,d) se zove generirajua matrica. Oznaka G.
K=
0 0 0 0 0
1 1 1 0 00 0 1 1 1
1 1 0 1 1
0 0 1 1 1
1 1 0 1 1
M= 4k= 2
G =
Definicija: generirajua matricaDefinicija: generirajua matrica GG
Ako znamo bazu linearnog blok-koda (tj. vektorskog potprostora), ondasvaku kodnu rije moemo izraziti kao linearnu kombinaciju vektora baze:
Iz razlga jednostavnosti generiranja kodnih rijei vektore baze stavljamo umatricu.
7/27/2019 TI P04 Zast Kodiranje I Dio
27/50
Teorija informacije 27 od 50
0 0 0 0 0
1 1 1 0 0
= 0 0 1 1 1
1 1 0 1 1
K
0 0 1 1 1
= 1 1 0 1 1
G
0 [ 0 0 1 1 1 ] + 0 [ 1 1 0 1 1 ]
0 [ 0 0 1 1 1 ] + 1 [ 1 1 0 1 1 ]
1 [ 0 0 1 1 1 ] + 0 [ 1 1 0 1 1 ]
1 [ 0 0 1 1 1 ] + 1 [ 1 1 0 1 1 ]
= [ 0 0 0 0 0 ]
= [ 1 1 1 0 0 ]
= [ 0 0 1 1 1 ]
= [ 1 1 1 0 0 ]
Primjer: generiranje kodnih rijeiPrimjer: generiranje kodnih rijei
Binarni kd K=(5, 4, 3)
D fi i ij k li g bl kD fi i ij k li g bl k
7/27/2019 TI P04 Zast Kodiranje I Dio
28/50
Teorija informacije 28 od 50
d(K) = min w(x) = 3
Oznaka linearnog blok koda: Ako je kd K vektorski k-dimenzionalnipotprostor vektorskog prostoraV(n), onda kd K ima oznaku[n, k]. Ukoliko jepoznata udaljenost koda d, onda je oznaka koda[n, k, d].
0 0 0 0 0
1 1 1 0 0=0 0 1 1 1
1 1 0 1 1
K
n = 5
M= 4 k= log2(4)=2 [5, 2] = (5,4).
[5, 2, 3] = (5, 4, 3).
Definicija: oznaka linearnog blokDefinicija: oznaka linearnog blokkodakoda
Generirajue matrice ekvivalentnihGenerirajue matrice ekvivalentnih
7/27/2019 TI P04 Zast Kodiranje I Dio
29/50
Teorija informacije 29 od 50
0 0 0 0
0 1 0 1
= 1 0 1 1
1 1 1 0
K
0 0 1 0
0 1 1 1
= 1 0 0 1
1 1 0 0
eK
EKVIVALENTAN
KD
Generirajue matrice ekvivalentnih linearnih blok kodova: Dva ekvivalentnalinearna binarna blok-koda [n, k], K1 i K2, imaju generirajue matrice G1 i G2koje se jedna iz druge mogu dobiti sljedeim operacijama:
(1) Zamjena redaka;(2) Dodavanje jednog retka drugom retku;(3) Zamjena stupaca.
Generirajue matrice ekvivalentnihGenerirajue matrice ekvivalentnihlinearnih blok kodovalinearnih blok kodova
Primjer: ekvivalentan kd (zamjena 0 1, 1 0 na treoj poziciji)
Ekvivalentan kd linearnog blok koda nije nuno i linearan! Mora postojati
kodna rije0. Sljedee pravilo definira nain dobivanja ekvivalentnih linearnih blok kodova:
Definicija: standardni oblikDefinicija: standardni oblik
7/27/2019 TI P04 Zast Kodiranje I Dio
30/50
Teorija informacije 30 od 50
Standardni oblik generirajue matrice: Generirajua matricaG nekog kodaK ima standardni oblik ako ima strukturu
G = [ Ik | A ],
gdje je Ikjedinina matrica reda k, a A matrica dimenzija k(nk).
01
01
10
11
11
G = 10
01
01
11
11
G =
0
1
0
1
1
0
1
1
1
1G =
Definicija: standardni oblikDefinicija: standardni oblikgenerirajue matricegenerirajue matrice GG
Primjer: Binarni kd K=(5, 4, 3) Generirajue matrice
Kodiranje linearnim blok kodovimaKodiranje linearnim blok kodovima
7/27/2019 TI P04 Zast Kodiranje I Dio
31/50
Teorija informacije 31 od 50
1 1 1 0 0 0 0
1 0 0 1 1 0 0
0 1 0 1 0 1 0
1 1 0 1 0 0 1
[ 0 1 0 1 ]
1 1 0 1 0 0 1
1 0 0 1 1 0 0
0 1 0 0 1 0 1
+
[ 1 0 1 1 ]
G =
1 1 1 0 0 0 0
0 1 0 1 0 1 0
1 1 0 1 0 0 1
0 1 1 0 0 1 1
+
Kodiranje linearnim blok kodovimaKodiranje linearnim blok kodovima(1/2)(1/2)
Ideja kodiranja kodirana poruka odreuje vektore baze (retke matrice G)koji ulaze u linearnu kombinaciju s koeficijentom 1 kako bi dali kodnu rije.
Na primjer: Ako je poruka [ 0 1 0 1 ], to znai da e se toj poruci pridruiti
kd dobiven zbrajanjem 2. i 4. vektora baze.
Kodiranje linearnim blok kodovimaKodiranje linearnim blok kodovima
7/27/2019 TI P04 Zast Kodiranje I Dio
32/50
Teorija informacije 32 od 50
1 1 1 0 0 0 0
1 0 0 1 1 0 0
0 1 0 1 0 1 0
1 1 0 1 0 0 1
[ 1 0 1 1 ]
=
1
2
k
r
rG
r
=1= = .
k
i
i
m ix r m G
= [ 0 1 1 0 0 1 1 ]
Kodiranje linearnim blok kodovimaKodiranje linearnim blok kodovima(2/2)(2/2)
Nain formiranja kodne rijei x odgovara mnoenju vektor-retka kodiraneporuke m duljine ki generirajue matrice G u aritmetici modulo 2.
PROBLEM gdje su bitovi kodirane poruke a gdje zatitni bitovi?
Nesistematian kd.
Kodiranje s matricomKodiranje s matricom GG uu
7/27/2019 TI P04 Zast Kodiranje I Dio
33/50
Teorija informacije 33 od 50
G =1 0
0 1
0 1 1
1 1 1
1 0
0 1
0 1 1
1 1 1
[ ]| = { , }. k
m I A m m A
I2
A
[ 0 1 ] = [ 0 1 ] [ 0 1 ] = [ 1 1 1 ]
poruka zatitni bitovi
1 0 0 1 1[ 0 1 ] = [ 0 1 1 1 1 ].
0 1 1 1 1
poruka zatitni bitovi
Kodiranje s matricomKodiranje s matricom GG uustandardnom oblikustandardnom obliku
Kada je generirajua matrica u standardnom obliku, generiranje kodne rijeise pojednostavljuje, a kd postaje sistematian.
7/27/2019 TI P04 Zast Kodiranje I Dio
34/50
Teorija informacije 34 od 50
Dekodiranje linearnog blok kodaDekodiranje linearnog blok koda
Primjer: Kd (5, 4, 3) = [5, 2, 3] otkriva dvostruku i ispravlja jednostrukupogreku koritenjem principa dekodiranja najbliim susjedom.
0 0 0 0 0
1 1 1 0 0=
0 0 1 1 1
1 1 0 1 1
K
Dekodiranje po principu pronalaenja kodne rijei koja od primljene kodnerijei ima najmanju Hammingovu distancu. Sloenost postupka raste s brojem kodnih rijei M; Za velike kodove ovaj postupak zahtijeva veliko optereenje procesora prijemnika. Razvijene su druge metode brzog dekodiranja linearnih blok kodova (Na primjer: Sindromsko
dekodiranje). Sindromsko dekodiranje.
Za razumijevanje ovog naina dekodiranja potrebno je poznavanje sljedeihpojmova: vektor pogreke, standardni niz, razred, matrica provjere pariteta isindrom.
7/27/2019 TI P04 Zast Kodiranje I Dio
35/50
Teorija informacije 35 od 50
Predajnik alje x = [ 1 1 0 1 1 ]
Vektor pogreke: Vektor pogrekee za poslanu kodnu rijex =[x1, x2, , xn] i primljenu kodnu rijeiy =[ y1, y2, , yn ] se
definira kao razlika vektora:1 2= = [ ].ne e ee y x
Prijemnik prima y = [ 1 0 1 1 1 ]
Vektor pogreke e = [ 0 1 1 0 0 ]
Definicija: vektor pogrekeDefinicija: vektor pogreke
7/27/2019 TI P04 Zast Kodiranje I Dio
36/50
Teorija informacije 36 od 50
Standardni nizStandardni nizK=
0 0 0 0 01 1 1 0 0
0 0 1 1 1
1 1 0 1 1
0 0 0 0 10 0 0 1 0
0 0 1 0 0
0 1 0 0 0
1 0 0 0 0
1 1 1 0 11 1 1 1 0
1 1 0 0 0
1 0 1 0 0
0 1 1 0 0
0 0 1 1 00 0 1 0 1
0 0 0 1 1
0 1 1 1 1
1 0 1 1 1
1 1 0 1 01 1 0 0 1
1 1 1 1 1
1 0 0 1 1
0 1 0 1 1
Definicija: standardni niz i razredDefinicija: standardni niz i razred
Standardni niz je tablica koja se formira na sljedei nain: U prvom retku su kodne rijei koda K; Prva kodna rije je 0; Prvi stupac je stupac vektora pogreki;
U ostalim redcima nalaze se razredi koda Knastali dodavanjem vektora pogreke e kodnim rijeima koda K.
lanovi nekog retka predstavljaju jedan razred (engl. coset) skupa kodnih rijei koda K. Svaki razred koda Kje blok kd nastao dodavanjem nekog vektora pogreke svim kodnim rijeima koda K.
Primjer: dekodiranje koritenjemPrimjer: dekodiranje koritenjem
7/27/2019 TI P04 Zast Kodiranje I Dio
37/50
Teorija informacije 37 od 50y = [ 1 1 1 1 0 ]
0 0 0 0 10 0 0 1 0
0 0 1 0 0
0 1 0 0 01 0 0 0 0
1 1 1 0 11 1 1 1 0
1 1 0 0 0
1 0 1 0 00 1 1 0 0
0 0 1 1 00 0 1 0 1
0 0 0 1 1
0 1 1 1 11 0 1 1 1
1 1 0 1 01 1 0 0 1
1 1 1 1 1
1 0 0 1 10 1 0 1 1
0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 1 1
PRIMLJENO:
e = [ 0 0 0 1 0 ]
VEKTOR POGREKE:
x = [ 1 1 1 0 0 ]
DEKODIRANO:
Ako je primljeno[ 1 0 1 0 1 ] ?
Primjer: dekodiranje koritenjemPrimjer: dekodiranje koritenjemstandardnog niza (1/2)standardnog niza (1/2)
Neka je primljena kodna rijey = [ 1 1 1 1 0 ]
Pronai primljenu kodnu rijey u standardnom nizu; Ako y postoji tada je prvi element retka vektor pogreke, a prvi element
stupca je poslana kodna rije; Ako y ne postoji tada je pogreka otkrivena, ali se ne moe ispraviti!
Primjer: dekodiranje koritenjemPrimjer: dekodiranje koritenjem
7/27/2019 TI P04 Zast Kodiranje I Dio
38/50
Teorija informacije 38 od 50
Primjer: dekodiranje koritenjemPrimjer: dekodiranje koritenjemstandardnog niza (2/2)standardnog niza (2/2)
Dekodiranje pomoi standardnog niza je procesorski zahtijevan postupak utablicama velikih dimenzija to rezultira skupom i sloenom izvedbomdekodera kanala.
Ubrzavanje postupka dekodiranja preko matrice provjere pariteta H. Potrebno je definirati sljedee pojmove: ortogonalnost, dualni kd i linearnost
dualnog koda!
ORTOGONALNOST Pretpostavimo da postoji linearni blok kd s oznakom K ije su sve kodne rijei
ortogonalne na sve kodne rijei koda K. to je ortogonalnost? Skalarni umnoak svih vektora kodnih rijei iz Ki K
jednak je nula. Na primjer: [ 1 1 0 0 0 ] [ 0 0 1 1 1 ] = 0.
Definicija: dualni kDefinicija: dualni kd i njegovad i njegova
7/27/2019 TI P04 Zast Kodiranje I Dio
39/50
Teorija informacije 39 od 50
Dualni kd: Neka sux vektori koda K(x K). Skup svih vektoray vektorskogprostora V(n) koji su ortogonalni na svex Kini dualni kd koda K i imaoznaku K:
gdje jexy skalarni produkt vektora u aritmetici modulo 2.
{= ( ) | , = 0 ,K V n K y x y x
00000
11100 10111,
10111 01011
01011
K
= =
G
00000 01110
10100 01101
11010 00011
11001 10111
K
=
Linearnost dualnog koda: Neka je K linearni blok-kd[n, k]. Dualni kd
koda K jelinearanblok-kd[n, n - k].
Definicija: dualni kDefinicija: dualni kd i njegovad i njegovalinearnostlinearnost
Generirajue matrice kodovaGenerirajue matrice kodova Ki
7/27/2019 TI P04 Zast Kodiranje I Dio
40/50
Teorija informacije 40 od 50
= [ 0 0 0 ]x H
aj a aaj a aK
Dualni kd je linearan posjeduje bazu i generirajuu matricu koju emooznaavati s H.
Skalarni produkti izmeu svih parova redaka matrica G (kd K) i H (kd K)
jednaki su 0 te vrijedi jednadba:
Vano: Za provjeru ispravnosti primljene kodne rijei x dovoljno je skalarno
pomnoiti primljenu kodnu rije sa svim vektorima generirajue matricedualnog koda kojih ima nk.
=G H 0
Matrica pro jere pariteta kodaMatrica pro jere pariteta koda KK
7/27/2019 TI P04 Zast Kodiranje I Dio
41/50
Teorija informacije 41 od 50
1 0 1 1 0=
0 1 1 0 1
G
1 1 1 0 0
= 1 0 0 1 0
0 1 0 0 1
H
[ ]1 2 3 4 5 1 2 3 1 4 2 5
1 1 0
1 0 1
[ ] ( ) ( ) ( ) [ 0 0 0 ]1 0 0
0 1 0
0 0 1
y y y y y y y y y y y y
= + + + + =
Matrica H praktiki odreuje pozicije u kodnoj rijei iji zbroj u aritmetici modulo2 mora biti 0, odnosno pozicije na kojima mora biti zadovoljen PARNI PARITET.Matricu H zbog toga nazivamo MATRICA PROVJERE PARITETA!
Matrica provjere pariteta kodaMatrica provjere pariteta koda KK
Primjer: Sljedei par matrica G i H zadovoljava jednadbu GHT=0.
Ukoliko je primljena kodna rijey primljena ispravno, onda njenim mnoenjem s HT
moramo dobiti nul-vektor.
Matrica provjere paritetaMatrica provjere pariteta HH i njeni njen
7/27/2019 TI P04 Zast Kodiranje I Dio
42/50
Teorija informacije 42 od 50
Proraun matrice provjere pariteta: Neka jeG generirajua matrica linearnogbinarnog koda K u standardnom obliku:
Generirajua matrica dualnog koda K zadovoljava jednadbuGH =0 ijednaka je
[ ]= | .kG I A
= | .n k
H A I
Matrica provjere pariteta: Neka jeH generirajua matrica dualnog koda K. MatricaHse naziva matrica provjere pariteta(engl. parity-check matrix) ili paritetna matrica kodaK. U svakom retku matriceHjedinice odreuju pozicije unutar ispravne kodne rijei nakojima zbroj vrijednosti simbola mora biti paran broj. UkolikoH ima strukturu:
gdje jeB kvadratna matrica, onda je paritetna matricaH u standardnom obliku.
[ ]= | ,n kH B I
p j pp j p jjstandardni oblikstandardni oblik
Primjer: proraun matrice provjerePrimjer: proraun matrice provjere
7/27/2019 TI P04 Zast Kodiranje I Dio
43/50
Teorija informacije 43 od 50
0 0 0 0 0
1 0 1 1 0 1 0 1 1 0= =
0 1 1 0 1 0 1 1 0 1
1 1 0 1 1
K
G
2
1 0 1 1 0= , =
0 1 1 0 1
I A
3= |
H A I
1 1 1 0 0
= 1 0 0 1 0 .0 1 0 0 1
H
j p p jj p p jparitetapariteta HH
Primjer: Dekodiranje pomouPrimjer: Dekodiranje pomou
7/27/2019 TI P04 Zast Kodiranje I Dio
44/50
Teorija informacije 44 od 50
1 1 0
1 0 1
[ 1 1 0 1 1 ] 1 0 00 1 0
0 0 1
Primljena kodna rije y=[ 1 1 0 1 1 ]
= [ 0 0 0 ].
Primljena kodna rije y=[ 1 0 0 1 1 ]1 1 0
1 0 1
[ 1 0 0 1 1 ] 1 0 00 1 0
0 0 1
= [ 1 0 1 ].
?
Dekodiraj pomou standardnog niza!Rje: e = [0 1 0 0 0] i x = [1 1 0 1 1]
j j pj j pmatrice provjere paritetamatrice provjere pariteta HH
Definicija: sindromDefinicija: sindrom
7/27/2019 TI P04 Zast Kodiranje I Dio
45/50
Teorija informacije 45 od 50
0 0 1
Sindrom: Sindrom primljene kodne rijeiy koda K s paritetnom matricomHjevektor dobiven umnokom:
S(y) =yH.
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
1 0 0 0 0
1 1 1 0 1
1 1 1 1 0
1 1 0 0 0
1 0 1 0 0
0 1 1 0 0
0 0 1 1 0
0 0 1 0 1
0 0 0 1 1
0 1 1 1 1
1 0 1 1 1
1 1 0 1 0
1 1 0 0 1
1 1 1 1 1
1 0 0 1 1
0 1 0 1 1
0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 1 1
S(y)e
0 0 0
0 1 0
1 0 0
1 0 1
1 1 0
JEDAN VEKTOR POGEKE JEDAN SINDROM
Definicija: sindromDefinicija: sindrom
Sindromsko dekodiranjeSindromsko dekodiranje
7/27/2019 TI P04 Zast Kodiranje I Dio
46/50
Teorija informacije 46 od 50
e 00000 00001 00010 00100 01000 10000
S(y) 000 001 010 100 101 110
POSTUPAK DEKODIRANJA: izraunaj sindrom S(y) primljene kodne rijei y; iz tablice preslikavanja odredi vektor pogreke e; poslana kodna rije je x = y e.
PRIMLJENO:
y=[ 1 1 0 0 0 ]
SINDROM:
y HT =[ 1 0 0 ]
VEKTOR e:
e =[ 0 0 1 0 0 ]
DEKODIRANO:
x= y-e =[ 1 1 1 0 0 ]
Sindromsko dekodiranjeSindromsko dekodiranje
Sindrom jedinstveno odreuje vektor pogreke. Stoga moemo formirati tablicupreslikavanja izmeu sindroma S(y) i vektora pogreke e!
Ukoliko se pojavi sindrom [011] ili [111], dolo je do viestruke pogreke koju nijemogue ispraviti!
Vjerojatnost ispravnog dekodiranja (1/3)Vjerojatnost ispravnog dekodiranja (1/3)
7/27/2019 TI P04 Zast Kodiranje I Dio
47/50
Teorija informacije 47 od 50
Vjerojatnost ispravnog dekodiranja (1/3)Vjerojatnost ispravnog dekodiranja (1/3)
Promatramo prijenos poruke preko BSC-a.Dogaaji pogrenog prijenosa simbola iste kodne rijei
su neovisni omoguen jednostavan proraunvjerojatnosti pojave pogreke na kpozicija unutarkodne rijei duljine nsimbola.
Primjer: Neka je tono kunaprijed odreenih
pozicija simbola neke kodne rijei, duljine n,pogreno preneseno. Vjerojatnost ovog dogaajaje:
Dobiveni izraz predstavlja vjerojatnost pojave bilokojeg vektora pogreke s kpogrenih simbola.
kng
kg pp
)1(
Vjerojatnost ispravnog dekodiranja (2/3)Vjerojatnost ispravnog dekodiranja (2/3)
7/27/2019 TI P04 Zast Kodiranje I Dio
48/50
Teorija informacije 48 od 50
Vjerojatnost ispravnog dekodiranja (2/3)Vjerojatnost ispravnog dekodiranja (2/3)
Primjer: Za kd [n, k, d] = [5, 2, 3] vrijedi:p(00001)=p(00010)=p(00100)=p(01000)=p(10000)=
Vjerojatnost p(K) da e rije dobivena dekodiranjempomou standardnog niza biti jednaka poslanoj
rauna se iz:
4
).1( gg pp =
ing
ig
n
i
i ppNKp
=
= )1()(0
Nije broj vektora pogreke s ijedinica koji pripadajustandardnom nizu blok koda Kduljine n.Primjer (kd [5, 2, 3]): {00000} N0 = 1; {00001, 00010, 00100,
01000, 10000} N1 = 5; N2 = N3 = N4 = N5 = 0.
Vjerojatnost ispravnog dekodiranja (3/3)Vjerojatnost ispravnog dekodiranja (3/3)
7/27/2019 TI P04 Zast Kodiranje I Dio
49/50
Teorija informacije 49 od 50
Vjerojatnost ispravnog dekodiranja (3/3)Vjerojatnost ispravnog dekodiranja (3/3)
Ukoliko je poznata udaljenost koda d(K) tada kd Kmoe ispravitinajvie t-struku pogreku d(K) 2t+ 1. U standardnom nizu se zasigurno nalaze svi vektori pogreke s 0 it
jedinica.
=
inNi
Openito gledano, u standardnom nizu se mogu nalaziti i vektori pogreke svie od tjedinica. Ne postoji jednostavan nain prorauna N
i
.
Ako je kd Kperfektan tada su sve rijei unutar kugli radijusa t. U standardnom nizu tada se nalaze iskljuivo vektori pogreke s ti manje
jedinica.
Vjerojatnost ispravnog dekodiranja u tom sluaju je:
ing
ig
t
i
ppi
nKp
=
= )1()(
0
Definicija: Kodna brzina zatitnog kodaDefinicija: Kodna brzina zatitnog koda
7/27/2019 TI P04 Zast Kodiranje I Dio
50/50
Teorija informacije 50 od 50
Definicija: Kodna brzina zatitnog kodaDefinicija: Kodna brzina zatitnog koda
Oznaka: R(K) = udio informacijskih bitova u kodnoj rijei. K= [n,k] - linearni binarni blok kd; n duljina kodne rijei; k broj informacijskih bitova u kodnoj rijei.
1)( =nkKR