Sie sind auf Seite 1von 10

ELEKTROTEHNIKI FAKULTET OSIJEK

Zavod za komunikacije
KOMUNIKACIJSKE MREE
Laboratorijske vjebe
Prezime i ime studenta, broj indeksa:

Datum:

(popunjava student)

(popunjava asistent)

Pregledano:

Vjeba 2. Sloj linka podataka:


Primjena zatitnih kodova
UVOD
Na slici 1 prikazana je blok-shema jednostavnog komunikacijskog sustava. Njega ine izvor
informacija, predajnik, komunikacijski kanal (prijenosni medij), prijemnik i odredite informacija.

Slika 1. Komunikacijski sustav

Izvor informacija generira ogranieni skup simbola. Niz takvih simbola predstavlja informaciju.
Postupkom kodiranja nastoji se izvornu informaciju pretvoriti u oblik pogodan za obradu i prijenos preko
komunikacijskog kanala. Takoer, kodiranjem se nastoji u to veoj mjeri neutralizirati djelovanje
smetnji na komunikacijskom kanalu. Zadaa pretvaraa je pripremiti izlaz iz kodera za prijenos medijem,
tj. pretvoriti primljene kodne rijei u niz analognih ili digitalnih simbola.
Kodiranje se (prema mjestu provoenja) moe podijeliti na dva osnovna tipa. To su:
kodiranje izvora: provodi se na izvoru informacije s ciljem smanjivanja koliine podataka koji e
se prenositi komunikacijskim kanalom (tj. izdvajanjem redundancije provodi se saimanje
podataka);
kodiranje kanala: provodi se prije prijenosa informacije preko komunikacijskog kanala i slui za
zatitu informacija od utjecaja smetnji koje se neizostavno javljaju u svakom realnom
komunikacijskom kanalu.

Postoji vie razliitih vrsta zatitnih kodova. Izbor odreene vrste zatitnog koda uvelike ovisi o vrsti
komunikacijskog kanala. Openito, zatitni kodovi mogu se svrstati u dvije skupine. Prvu skupinu ine
zatitni kodovi za otkrivanje pogreaka, dok u drugu spadaju kodovi za otkrivanje i ispravljanje
pogreaka.
Komunikacijske mree LV2 Sloj linka podataka (2013)

U praksi se ulazne informacije uvijek grupiraju u okvire nad kojima se potom provodi postupak
zatitnog kodiranja. Postupak upravljanja pogrekama (error control) obuhvaa mehanizme za otkrivanje
i ispravljanje pogreaka koje nastaju tijekom prijenosa podatkovnih okvira preko komunikacijskog
kanala. Kao rezultat djelovanja smetnji prilikom prijenosa mogu nastati dva karakteristina tipa pogreke:
izgubljeni okvir (lost frame) podatkovni okvir uope ne stie na odredite budui da se pod
utjecajem smetnji toliko izobliio da ga prijemnik na odreditu nije u stanju prepoznati kao
ispravan podatkovni okvir;
oteeni okvir (damaged frame) podatkovni okvir raspoznatljiv dolazi na odredite ali je na
nekim njegovim bitovima dolo do pogreke.
Postoje dvije osnovne skupine metoda za otkrivanje i ispravljanje pogreaka:
BEC (Backward Error Correction) otkrivanje pogreaka u prijemniku nakon ega slijedi
retransmisija pogreno primljenog podatkovnog okvira;
FEC (Forward Error Control) ispravljanje pogreaka u prijemniku.
FEC metoda podrazumijeva koritenje zatitnih kodova koji osim detekcije omoguavaju i
ispravljanje pogreaka. Iako FEC metoda bitno smanjuje broj retransmisija, BEC metoda se i dalje vrlo
esto koristi zbog jednostavnije i jeftinije implementacije.

Slika 2. Naelo otkrivanja pogreaka

Na slici 2 prikazano je osnovno naelo djelovanja metoda za otkrivanje pogreaka. Za svaki


podatkovni okvir predajnik pomou funkcije zatitnog kodiranja f izraunava zatitni slijed bita E koji se
pridodaje podatkovnom okviru. Prijemnik na odredinoj strani razdvaja primljene podatke od zatitnog
niza E. Prijemnik potom pomou funkcije f (funkcija je ista kao i na predajnoj strani) na osnovu
primljenih podataka izraunava zatitni slijed Z i vri usporedbu s primljenim zatitnim slijedom E.
Ukoliko se ispostavi da je Z=E prijemnik pretpostavlja da prilikom prijenosa nisu nastale pogreke (iako
je mogue da nastane odreena kombinacija pogreaka pri kojoj e biti Z=E). Ukoliko je ZE prijemnik
sa sigurnou zakljuuje da je dolo do pogreke. Ukoliko je prilikom kodiranja koriten zatitni kod koji
omoguava i ispravljanje pogreaka dekoder prema odreenom algoritmu (karakteristinom za svaki
pojedini tip zatitnog koda) pronalazi mjesto pogreke i vri ispravku. Dekoder potom iz kodne rijei
odstranjuje zatitne bitove i predaje niz informacijskih bitova odreditu.
Ciklika provjera zalihosti (Cyclic Redundancy Check CRC)
Ciklika provjera zalihosti (CRC, Cyclic Redundancy Check) predstavlja jednu od najeih
metoda za detekciju pogreaka kod prijenosa podataka. Ova metoda postala je vrlo popularna zbog vrlo
dobre sposobnosti detekcije pogreke, jednostavne implementacije i relativno kratke zatitne sekvence
koja se dodaje informacijskim bitovima.
Kod primjene CRC zatitne metode svi nizovi bitova tretiraju se kao binarni polinomi. To su
polinomi iji koeficijenti mogu biti 0 ili 1. Ukoliko niz bitova ima duljinu k, pripadajui polinom bit e
stupnja k-1. Pri tome e krajnji desni bit iz niza predstavljati najnii stupanj u polinomu (nulti stupanj).
Komunikacijske mree LV2 Sloj linka podataka (2013)

Primjer:
Niz bitova 101011 bit e pomou binarnog polinoma prikazan na sljedei nain:
101011 1 x 5 + 0 x 4 + 1 x 3 + 0 x 2 + 1 x1 + 1 x 0 = x 5 + x 3 + x + 1
Pomou binarnog polinoma dobivenog iz niza informacijskih bitova P(x) i zadanog generatorskog
polinoma G(x) dobije se zatitni niz bitova (CRC) koji se pridruuje izvornom nizu informacijskih bitova
na predajnoj strani. Na prijemnoj strani se ponovno izraunava CRC koji mora odgovarati primljenoj
vrijednosti ukoliko nije dolo do pogreke. Postupak se odvija kroz nekoliko koraka:
1. Iz niza informacijskih bitova formira se binarni polinom P(x) koji reprezentira podatke.
2. Polinom P(x) mnoi se sa vrijednou xp gdje p predstavlja stupanj generatorskog polinoma.
3. Dobiveni umnoak P(x)*xp dijeli se sa generatorskim polinomom G(x) pri emu se dobije kolinik
Q(x) i ostatak R(x).
4. Dobiveni polinom ostatka R(x) predstavlja CRC, pa se onda polinom T(x) koji predstavlja podatak
za slanje dobije na sljedei nain: T(x) = P(x)*xp + R(x)
Napomena: sve operacije s polinomima provode se po modulo-2 aritmetici!
Primjer:
Izraunati CRC za sljedei niz informacijskih bitova: 1010010111 uz zadani generatorski
polinom G(x) = x4 + x2 + x + 1.
1. P(x) = x9 + x7 + x4 + x2 + x + 1
2. P(x) * x4 = x13 + x11 + x8 + x6 + x5 + x4
3. ( P(x) * x4 ) / G(x)
( x13 + x11 + x 8 + x 6 + x 5 + x 4 ) ( x 4 + x 2 + x + 1) = x 9 + x 6 + x 5 + x 2
x13 + x11 + x 10 + x 9
x10 + x 9 + x 8 + x 6 + x 5 + x 4
x10 + x 8 + x 7 + x 6
x9 + x7 + x5 + x4
x9 + x7 + x6 + x5
x6 + x4
x6 + x4 + x3 + x2
x3 + x2

Q(x) = x9 + x6 + x5 + x2
R(x) = x3 + x2  CRC
4. T(x) = P(x) * xp + R(x) = x13 + x11 + x8 + x6 + x5 + x4 + x3 + x2
Dakle, niz bitova za slanje je: 1 0 1 0 0 1 0 1 1 1 1 1 0 0
Hammingov kod
Jedan od najee koritenih zatitnih kodova za otkrivanje i ispravljanje pogreaka je
Hammingov kod. Od izvora informacije uzima se k informacijskih bitova i dodaje im se m zatitnih
(paritetnih) bitova. Komunikacijskim kanalom prenose se blokovi od n=k+m simbola. Hammingovim
kodom (n,k) nazivaju se kodovi za koje vrijedi n=2m-1, k=2m-1-m (m=3,4,5,). Tako niz Hammingovih
kodova ine kodovi (7,4), (15,11), (31,26) Unutar bloka duljine n bita Hammingov kod moe ispraviti
jednostruku pogreku.
Komunikacijske mree LV2 Sloj linka podataka (2013)

Kod Hammingovog (7,4) koda na 4 informacijska bita dolaze 3 zatitna (paritetna) bita. Paritetni
bitovi u kodnim rijeima Hammingovog koda dolaze na mjesta koja su potencije broja 2 (dakle na 1., 2.
4., 8. itd.) Prema tome, u 7-bitnoj kodnoj rijei kod Hammingovog (7,4) koda prvi, drugi i etvrti bit su
zatitni bitovi (oznaimo ih sa C1, C2 i C4), dok su preostali bitovi informacijski (I3, I5, I6 i I7). Dakle, 7bitna kodna rije izgleda ovako: C1 C2 I3 C4 I5 I6 I7.
Paritetni bitovi odreuju se na sljedei nain:
C1 = I 3 I 5 I 7
C2 = I 3 I 6 I 7
C4 = I 5 I 6 I 7
gdje operacija predstavlja logiku operaciju XOR (iskljuivo ILI). Paritet je paran, to znai da u nizu
koji tvore paritetni bit i informacijski bitovi koje on titi mora biti paran broj jedinica.
Primjer: Odrediti kodnu rije Hammingovog (7,4) koda za niz informacijskih bitova 1 0 1 0
I3 = 1 I5 = 0 I6 = 1 I7 = 0
C1 = I 3 I 5 I 7 = 1 0 0 = 1
C2 = I 3 I 6 I 7 = 1 1 0 = 0
C4 = I 5 I 6 I 7 = 0 1 0 = 1
Prema tome, Hammingova kodna rije glasi: 1 0 1 1 0 1 0.
Na prijemnoj strani vri se provjera pariteta. Ukoliko je za neke od kontrolnih bitova paritet
naruen znai da je dolo do pogreke prilikom prijenosa. Kod Hammingovog koda (7,4) mogue je
ispravljanje jednostruke pogreke. Potrebno je odrediti za koje od kontrolnih suma (C1, C2, C4) je naruen
paritet i na temelju sljedee tablice mogue je odrediti lokaciju neispravnog bita:
C4

C2
X
X

X
X
X
X

C1
X
X
X

X
X

Neispravan bit
C1
C2
I3
C4
I5
I6
I7

Primjer:
Na prijemnoj strani primljena je sljedea kodna rije: 1 0 1 1 0 1 1. Provjeriti ispravnost
primljene rijei. Ukoliko je dolo do pogreke potrebno je ispraviti pogreku ako je to mogue.
Lako je utvrditi da je parni paritet naruen za sva tri kontrolna (paritetna) bita C1, C2, C4. Iz tablice
vidimo da to znai da je pogreka nastala na bitu I7. Dakle, poslana kodna rije glasila je: 1 0 1 1 0 1 0.

Komunikacijske mree LV2 Sloj linka podataka (2013)

PRIPREMA ZA VJEBU

Prouiti primjenu zatitnih kodova u komunikacijama, s naglaskom na CRC i Hammingov


kod.
Zadan je generatorski polinom G(x) = x4 + x2 + x + 1. Izraunati CRC za sljedee nizove
bitova:
a) 1 1 0 1 0 0 0 1 1 0
b) 1 0 1 1 1 0 1 1 0 1

Hammingovim kodom (7,4) kodirati sljedee nizove bitova:


a) 1 1 1 0
b) 1 0 0 1

Komunikacijske mree LV2 Sloj linka podataka (2013)

ZADACI
1. CIKLIKA PROVJERA ZALIHOSTI (CRC Cyclic Redundancy Check)

Pomou programa CRCgen u Matlab-u provjeriti ispravnost izraunatih CRC vrijednosti u


zadatku iz pripreme.
Pomou programa CRCgen u Matlab-u generirati CRC za sljedee nizove informacijskih bitova
(generatorski polinom je G(x) = x4 + x2 + x + 1):
a) 1 0 1 0 1 1 1 1 0 1
b) 1 1 0 1 0 0 1 0 1 0
c) 1 0 0 1 1 0 0 0 1 1
d) 1 1 1 0 0 0 1 1 0 1

2. HAMMINGOV KOD (7,4)

Pomou programa hammenc u Matlab-u provjeriti ispravnost dobivenih kodnih rijei


Hammingovog (7,4) koda iz zadatka za pripremu.
Kodirati vlastito ime i prezime 7-bitnim ASCII kodom (tablica 7-bitnog ASCII koda nalazi se u
prilogu).
Dobiveni niz bitova kodirati Hammingovim (7,4) kodom pomou programa hammenc u
Matlab-u.

Komunikacijske mree LV2 Sloj linka podataka (2013)

Pomou programa hammdec u Matlab-u dekodirati sljedee kodne rijei Hammingovog (7,4)
koda:
a) 0 0 1 1 0 0 1
b) 0 1 1 0 0 0 1
c) 0 1 0 1 0 1 0
d) 0 0 1 1 0 0 0
Na kojim bitovima je dolo do pogreke? Je li dekoder uspio ispraviti pogreku?

3. PRIJENOSNI MEDIJ
3.1. MODEL KANALA SA SMETNJOM
Konfiguracija modela sastoji se od izvora signala, kanala sa smetnjom i detektora pogreke. Svaki
element predstavljen je kroz blok u modelu. Izvor signala predstavlja Bernoulli-ev binarni generator
sekvenci sluajnih brojeva. Blok kanala predstavlja simulirani kanal sa doprinosom u smetnjama.
Uvedena je varijabla za pojavljivanje sluajnih pogreaka u opsegu 0 1 i obrnuto. Trei blok
predstavlja izraun pogreke s obzirom na poetnu poslanu vrijednost. Konfiguracijom izlaza kao port
sekvence na displeju je potrebno oitati stanja prema sljedeim zadacima:

Pomou modela kanal u Matlab-u simulirati scenarij zadan sljedeim parametrima:


Binary Symmetric Channel postaviti za Error probability na
a) 0.01,
b) 0.03 i
c) 0.05
Iskljuiti opciju Output error vector u istom prozoru
Pokrenuti commstartup naredbu u Command Window

Slika 3. Simulacijski model kanala prijenosnog medija sa smetnjama

Zapaanja i komentare predstaviti u predvien prostor:

3.2.

SMANJIVANJE UESTALOSTI POGREKE (ERROR RATE) KORISTEI CIKLIKU


PROVJERU ZALIHOSTI
Pomou modela kanal_CRC u Matlab-u simulirati scenarij zadan sljedeim parametrima:
- Binary Symmetric Channel postaviti za Error probability na
a) 0.01,
b) 0.03 i
c) 0.05
- Iskljuiti opciju Output error vector u istom prozoru
- Pokrenuti commstartup naredbu u Command Window

Slika 4. Simulacijski model kanala prijenosnog medija sa smetnjama koristei CRC enkoder i dekoder

Zapaanja i komentare predstaviti u predvien prostor:

3.3. SMANJIVANJE UESTALOSTI POGREKE (ERROR RATE) KORISTEI HAMMINGOV


ENKODER I DEKODER

Pomou modela kanal_Hamm u Matlab-u simulirati scenarij zadan sljedeim parametrima:


Binary Symmetric Channel postaviti za Error probability na
a) 0.01,
b) 0.03 i
c) 0.05
Iskljuiti opciju Output error vector u istom prozoru
Pokrenuti commstartup naredbu u Command Window

Slika 5. Simulacijski model kanala prijenosnog medija sa smetnjama koristei Hammingov enkoder i
dekoder

Zapaanja i komentare predstaviti u predvien prostor:

ZAKLJUAK

Napisati vlastita zapaanja i zakljuke sa vjebe. U emu je bitna razlika izmeu CRC-a i
Hammingovog koda?

Komunikacijske mree LV2 Sloj linka podataka (2013)

Das könnte Ihnen auch gefallen