You are on page 1of 41

HATA SEZME VE DZELTME

TEKNKLER

4.Hata Sezme ve dzeltme

Veri paketleri iletilirken baz bitleri bozulabilir. Bu olaslk ou


uygulamalar (text v.b) tarafndan kabul edilmez. Paketin ierisindeki
1 bit bozulsa dahi, tm verinin yanl anlalmasna neden olabilir.
Bunun iin iletiim yaplrken bozulma olup olmadnn anlalmas
iin hata sezme teknikleri ve dzeltme teknikleri kullanlr. Dzeltilme
ilemi baarlamazsa, paketin yeniden gnderilmesi kanlmazdr.
Veri iletiminde iki tip hata olabilir.

1-

Patlama hatas (burst error): evre koullar nedeniyle bir sre


alcya gerek olmayan anlamsz bilgiler gelir. Bu sre 1-100 ms
aras olabilir.(yldrm v.s)

2- Rasgele hata (random errror): letim yolundaki elektriksel grlt


nedeniyle bilgi katar iinde rastgele bir bitin bozulmas sz
konusudur.

letim hatalar 3 ana kategoride incelenebilir


Giriim (Interference):
ortamdaki elektromanyetik radyasyon ( elektrik motorlar v.b)
Kablolardan iletilen sinyallerin ve radyo iletiminin bozulmasna sebep olan
grlt ye sebep olur
(Bozulma) Distortion:
Btn fiziksel sistemler sinyalleri bozarlar.
Bir fiber optik boyunca bir sinyal hareket ederken, sinyal dalr(disperse)
Kablolar capacitance (kapasitans) ve inductance (indktans) zelliklerine
sahiptir
Dier frekanslardaki sinyallerin girmesine izin verirken, baz frekanslardaki
sinyalleri bloke eder.
Bir kabloyu byk bir metal nesnenin yanna yerletirmek, kablonun
iinden geen sinyallerin frekansn deitirebilir.
Metal objeler radyo dalgalarnn frekansn bloke edebilir.
(Zayflama )Attenuation :
Bir sinyal ortamlar arasndan geerken, sinyal zayflar.
Kablo veya fiber optiklerin zerindeki sinyaller uzun mesafelerde zayflar, bir
radyo sinyali uzaklkla birlikte zayflar.

Veri zerine iletim hatalarnn etkisi

Tabloda iletim hatalarnn veriye olan etkisi gsterilmitir.


rnek olarak; ok ksa sren giriim, spike olarak adlandrlr, tek
bitlik hataya sebep olur
Uzun sren giriim veya bozulma burst (birden fazla bitlik) hatalar
retebilir
Bazen bir sinyal ak olarak 1 veya 0 deildir,fakat belirsiz bir alana
der ki bu erasure (silinmi yer) olarak adlandrlr.

Single bit error

Burst errors

Hata bulma (sezme) olaslklar


Pb : letiim hattndan letilen tek bitlik bir bilginin, belirli bir
zaman aralndaki bozulma olasldr.
Bit hata oran (Bit Error Rate BER) olarak da bilinir.
P1 : Bir ereveninin hatasz olarak alnabilme olasl
P2 : Hata bulma protokolu kullanlarak, bir framein bir ya da
daha ok bulunamams hatal bitle alnma olasl.
P3 : Hata bulma protokolu kullanlarak, bir framein bir ya da
daha ok sayda bulunmus hatal bitle alnma olasl.
Hata bulma protokolu olmadan;
F: Her erevedeki bit says

BER arttka framein hatasz alnma olasl dser.


Frame uzunluu arrtka hatasz alnma olasl der

rnek
F (ereve)= 500 bytes (4000 bits)
Pb = BER = 10-6
P1 = (1- 10-6)4000 = 0.9960
P2 = 1-(1- 10-6) 4000 = 0.0040
Her 1000 ereveden 4 tanesinin hatal alnma olasl var.
100kbps tama hzna gre, 1 dakikada tanan paketlerden ka
tanesinin bozuk alnma ihtimali vardr.?
Cevap 6 adet.

Hata bulma lemi

k-bitlik bir veri blou iin (n-k)bitlik hata bulma kodu (n-k) < k
Gnderici
Gnderilecek frame (k-bit) iin,
veri bitlerinden bir hata bulma
kodu (check bits) hesaplar (n-k)bit.
Hesaplanan hata bulma kodu
veri
bitlerine ekler (n-bit).

Alc
Hata bulma kodunu ve veri
bitlerini birbirinden ayrr. Alnan
veri bitlerinden hata bulma
kodunu hesaplar. Hesaplad
hata bulma kodu ile alnan hata
bulma kodunu karlastrr. Tam
elesme yoksa hata vardr

Hata Sezme ve Dzeltme

Uygulamada 2 popler hata denetimi stratejisi vardr.


1- FEC (Error Correction code - Forward Error Correction-leri ynl hata denetimi):
Hata denetimi yapmak iin gnderilecek veri kmesine ek bitler ekler. Hatay bulur ve
gerekirse alcda dzeltmeye alr. Bylelikle bir hz kayb olmaz. ok grltl
ortamlarda kullanlmaz. FEC stratejisi, yeniden iletimin ok zor veya imkansz olduu
balantlarda ve veri kmesinin kk olduu uygulamalarda kullanlr.
FEC iin en ok kullanlan birka nemli algoritma;
a) Katlamal kodlar
b) BCH kodlar
c) Hamming Kodlar
d) Reed-Salamon kodlar
2- ARQ (Automatic Repeat Request- Otomatik tekrar istei): Hatann sezme ve , bozulan
verinin yeniden iletilmesi iin alc taraftan istekte bulunulmas ilemidir.
Uygulamada bu teknik kullanlr,nk ayn hatay tespit iin gerekli bit says, dzeltmek
iin kullanlan bit saysndan ok daha azdr. nemli ARQ (hata sezme) algoritmalar;
a) CRC kodlar
b)Seri Elik (Parity)
c)Blok Elik
d) Checksum (Modl Toplam- Kontrol toplam)

Hata Sezme kodlamalar


Elik (Parity) biti retimi ve kullanlmas Parity Check
Bir erevedeki 1 veya birden fazla bitin
bozulduunu anlamak iin gnderilecek
szcklerden hesap edilen bit veya bitler
ekleme ilemidir.
A- Szckte ift sayda 1 var ise elik biti 0
B- Szckte tek sayda 1 var ise elik biti 1 olarak
hesap edilir.
Yanda BCD szcklerden elde edilen enine ve
boyuna parity bitleri verilmektedir.
Parity bitlerinin donanmsal oluturulmas, szckteki
bitlerin exorlanmas ile gerekletirilir.

Elik kontrol yntemi genellikle, kk bit


sayl verilerde hata sezmek iin kullanlr.

Parity biti oluturma

Tek bir parity biti, tekbir hatay


sezebilir.
Birden fazla bit hatas, tekbir
parity biti ile sezilemeyebilir.
Yani iki adet parity biti iki adet
hatay sezebilir veya tekbir
hatay sezip dzeltebilir.
Tekbir elik bitinin kullanld
yerler, bir szckte tekbir
hatann yksek ihtimalle kabul
edilebilecei yerlerde
uygulanabilir.

Parity biti oluturma


rnek: 1975 (BCD
kodunda) saysn iletiim
hatt zerinden iletelim

Hatal durum (Alnan tarafta)

P.B
1
9
7
5

0 0 0 1 1 (n.zaman )
1 0 0 1 0 (n+1.zaman)
0 1 1 1 1 (n+2. zaman)
0 1 0 1 0 (n+3.zaman)
1 0 1 0 enine parity bitleri
Alnan tarafta da veri bu ekilde
alnp, hesaplanan ve alnan
parityler eit ise hata yoktur.

P.B
1 0001 1 1
9 1011 0 1
7 0111 1 1
5 0101 0 0
1010
1 0 0 0 enine parity bitleri
Krmzlar hesaplanan parity bitleri
olsun. Alnan parity bitleri ile farkl,
o halde hata vardr.

Hata dzeltme

Hamming Kodlama
Daha ok, hatay alcda dzeltmek iin kullanlan en
yaygn olarak kullanlan yntemdir. Her bir szcn
yolda j bitinin bozulmas durumunda, hatay dzeltmenin
mmkn olduu koda j bit hata bakl olan kod
denir.
rnein 4 bitlik data ve 3 adet parity biti kullanan
Hamming (7,4) kodunda, 7 bitlik bir kod szc elde
edilir. 4 bit veri biti, 3 bit parity biti olarak.
3 bitlik bir hamming kodu 1 bitlik hata dzelten veya 2
bitlik hatay sezen bir kodlamadr.
Genellikle szcn sadece tek bir bitinin yolda
bozulabilecei kabul edilen uygulamalarda kullanlr.

Hamming Kodlama

rnein, ayn anda yalnz 1 bitin bozulduu varsaylarak,


(a0,a1,a2,a3) veri bitlerini ve (a4,a5,a6 ) ise Hamming bitlerini ifade
etsin. Bu durumda 7 bitlik bir szck elde edilir.
Dzeltme bitleri aadaki formulasyonla hesap edilir;

a4 = a0 a1 a2
a5 = a1 a2 a3
a6 = a2 a3 a4
Bu ekilde elde edilen bitler ile szck oluturulup alcya
gnderilir.

a0,a1,a2,a3 ,a4,a5,a6

4.Hata Sezme ve dzeltme

Hamming Kodlama
Alc tarafta okunan bitler,
a0 , a1 , a2 , a3 , a4 , a5 , a6 olsun. Alnan bitlere gre
hesaplanan dzeltme bitleri;

a4 = a0 a1 a2
a5 = a1 a2 a3
a6 = a2 a3 a4
eklindedir.Alc tarafta alnan ve hesaplanan bitlerin karlatrlmas;

s4 = a4 a4 = a0 a1 a2 a4
s5 = a5 a5 = a1 a2 a3 a5
s6 = a6 a6 = a2 a3 a4 a6
Sonucunda s4, s5, s6 bitlerinin sonular 0 olursa gnderilen ve alnan szck
dorudur.

4.Hata Sezme ve dzeltme

Hamming Kodlama

s4,s5,s6 bitlerinin geriye


kalan 7 kombinasyonu
ise, hatann hangi bitte
olduunu sezmeye ve
dzeltmeye yarar.

a0

s4
a4 = a0 a1 a2
a5 = a1 a2 a3
a6 = a2 a3 a4

S5
s6

a1

a2

a3

x x x

a4

a5

a6

x x x
x x x

x
x

ARQya rnek
evrimli Fazlalk Snamas (CRC: Cyclic Redundancy Check)

CRC yntemi, uzun veri dizilerindeki hatalarn sezilmesi


iin kullanlr.
CRC ( evrimli Fazlalk Snamas) kodlamasnda,
gnderilecek veri katarndan hesaplanan bir snama bit
katar oluturulur. Ve verinin sonuna eklenir.
Bu yntem esasta donanmsal olarak gerekletirilmeye
dayanr.
Yazlmsal olarak da gerekletirilse de donanmsal olarak
daha hzl almaktadr.
CRC bitlerinin gerek zamanda hesaplamak iin donanm
destei veren iletiim chipleri mevcuttur.
XOR kaps ve Kaydrmal kaydedici (Shift Register)
kullanlarak donanmsal olarak gerekletirilebilir.

CRC oluturma (Donanmsal)

Tasarmc istedii byklkte bir CRC katar oluturabilir.


stedii ekilde ShifREG ve XOR kapsn biraraya getirebilir.
rnek: 16 bitlik CRC kodu oluturan yap.

20

CRC (Donanmsal)rnei
4+7+5 bitlik yazmalar kullanlmtr.
Verinin her bitinin ileme girmesi ile
yazmalardaki deerler deiir.
Verinin tm bitleri ileme girdikten sonra
yazmalarn iindeki deer CRC deeridir.
Bu deer veri paketinin sonuna eklenerek
alcya gnderilir.

21

Yazlmsal CRC
Gnderilecek veri paketi, n adet bite sahip
ise, ninci dereceden bir polinom olarak
dnlr.
Bu polinomun katsaylar, her bir veri bitidir.
Bu polinom, x^p ile arpldktan sonra
rete polinomuna blnr.
Kalan blmndeki polinom CRC kodudur.
Her iki kod, birlikte alcya gnderilir.
Alc benzer ilemleri yaparak denetimi
salar.
22

ARQya rnek CRC kodlama


CRC katarn hesaplama yntemi:
1- Veri katar P(x) gibi bir polinom ile gsterilsin.(Katsaylar 1 veya 0). Aktarlacak
bilginin uzunluu n bit ise; polinom aadaki gibi olur.

P(x) = bn-1 xn-1 + bn-2 xn-2 + ............+ b1.x1 + b0.x0


Yola enson karlacak bit deeri

Buna gre

1 0 1 0 0 1 0 1 1 1 eklindeki veri katarndan;


P(x) = 1.x9 + 1.x7 + 1.x4 +1.x2 + 1.x1 + 1.x0
P(x) = x9 + x7 + x4 + x2 + x1 +1

ARQya rnek CRC kodlama


2-

Bu P(x) polinomu xp ile arplr. ( P genellikle rete fonksiyonun en


st derecesidir). Bu ilem genellikle veri kodlarnn sonlarna eklenmi
p tane 0 ekleme ilemidir.

xp. P(x)
1 0 1 0 0 1 0 1 1 1 0 0 ........0 0 0 0
p tane 0

G(x) baz rete


Polinomlar

x 16 + x15 + x2 + 1
x 16 + x12 + x5 +1
x12 + x11 + x3 + x2 + x +1
x4 + x 2 + x + 1

ARQya rnek CRC kodlama


3- Xp.P(x) polinomu , p. dereceden G(x) ad verilen rete (genarating)
polinomuna blnr. rete polinomlar belirli hata sezme zellikleri bulunan
standart polinomlardr. Biimi hususunda iletiim balamadan nce
gnderici ve alc anlam olmaldr.
4- Gnderici; Xp.P(x) / G(x) blmn hesaplar. Bu blme ileminde:

Blm : Q(x)
Kalan : R(x) olsun.
P: retec fonksiyonun en yksek derecesi.
Xp.P(x) = Q(x).G(x) + R(x)

olur.

Bu ilemde 2 taban (mod 2) aritmetii (elde gz nne alnmadan toplama)


kullanlrsa;

Xp.P(x) - R(x) = Q(x).G(x) + R(x)


F.1

Xp.P(x) + R(x) = Q(x).G(x) olmaldr.

ARQya rnek CRC kodlama


Buna gre gnderici alcya ; P(x) polinomuna kar
den bit dizisi yerine Xp.P(x) + R(x) polinomunu
gndersin.( Bu polinom ,aslnda asl veri katarnn arkasna eklenmi p
uzunluunda ek bir diziden ibaretdir.)

Alcya gnderilen toplam diziye ilikin polinom ,G(x)


polinomunun tam katdr (F1e gre).
Ayrca G(x) polinomu alc tarafndanda bilinmektedir.

Eer yolda herhangi bir bitin bozulmadn ve


Q(x).G(x)in alcya aynen ulatn varsayarsak; Alc
kendine gelen bit dizisine karlk den polinomu G(x)e
bldnde, blme sonucunda kalan olmamaldr.
Alc kalann = 0 olmas durumunda hatasz iletim
olduunu anlar,gelen bit dizisinde en sondaki p tanesini
atar,geriye kalan n bit bilgiyi iler.

CRC kodlama saysal rnek:


CRC hata sezme yntemi kullanlacak bir iletiimde, gnderilecek bilgi bitleri
dizisi 1 0 1 1 0 1 0 1 eklindedir.
rete polinomu olarak G(x) = x3 + x + 1 ise, veriye eklenecek CRC denetim
bitlerini hesaplaynz ve gnderilecek birt dizisini belirtiniz.
zm:
1- Verilen diziden polinom oluturulur.
Verilen orijinal dizi:
1 0 1 1 0 1 0 1
P(x) polinomunun terimleri: x7 x6 x5 x4 x3 x2 x1 x0

P(x) = 1.x7 + 0.x6 +1.x5 + 1.x4+ 0.x3+1.x2+ 0.x1+1.x0 = x7 + x5 + x4+ x2 +1


2- Polinomu rete G(x) polinomunun en yksek dereceli terimiyle arp:

x3 .P(x) = x3.(x7 + x5 + x4+ x2 + 1) = x10 + x8 + x7+ x5 + x3

3 - x3 .P(x) polinomunu verilen G(x) polinomuna blelim.


x3 .P(x) x10 + x8 + x7+ x5 + x3
x10 + x8 + x7

x3 + x + 1 Blen : G(x)
x7 + x2 Blm : Q(x)

x5 + x3
+

x5+ x3 + x2
x2 : Kalan : R(x)

4- Gnderilecek bit dizisini tanmlayan polinom


T(x) = Q(x).G(x) = x3 .P(x) + R(x) =

x10 + x8 + x7+ x5 + x3 + x2

T(x) = 1.x10 + 0.x9 + 1.x8 + 0.x6 + 1.x5 + 0.x4 + 1.x3 +1.x2 +0.x1 + 0.x0
Gnderilen bit dizisi: 1 0 1 1 0 1 0 1 1 0 0

Internette (IPde ) kullanlan 16-bitlik checksum


Checksum, zel kodlama emas IP paketlerinde nemli bir rol oynar.
Genelde internet checksum olarak bilinir,
16-bit 1in tamamlaycs(complement ) (Kontrol Toplam) olarak bilinir

Internet checksum dataword zerinde eit veri bykln empoze


etmez (limitlemez).
Algoritma mesajlarn keyfi uzunlukta olmasna izin verir
Ve btn mesaj zerinden checksum hesaplamas yaplmasna izin verir

Internet checksum mesajlar ierisindeki verilere 16-bitlik tamsaylar


eklinde muamele eder, aadaki ekil bunu gsterir

2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.

29

16-bitlik checksum

Checksum hesaplamak iin, gnderici


16-bitlik tamsaylara saysal deerler ekler
Ve sonucu gnderir
Mesaj onaylamak iin, alc ayn ilemi yeniden hesaplamaldr
8.1 deki algoritma hesaplamadaki detaylar detayl olarak verir
Checksum 1in tamamlaycs aritmetiine gre hesaplanr
Ve 32 ve 64 bit tam say aritmetii yerine 16lk kullanlr
Dng aamasnda, overflow (tama)oluabilir
Bunun iin aadaki dng, algoritma overflow olan veriyi geri
toplama ekler
Neden checksum toplamn tersi aritmetiine gre hesaplanrda, toplama
gre hesaplanmaz?

2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.

30

Varsayalm ki 4x16 bitlik bir veri iin 16 bitlik checksum yapacaz.


1000 0110 0101 1110
1010 1100 0110 0000
0111 0001 0010 1010
1000 0001 1011 0101

8.13 Cyclic Redundancy Codes (CRCs)


Kanal kodlama formu olarak bilinen Cyclic Redundancy
Code (CRC) yksek hzl alarda kullanlr
CRCnin asl zellii aada zetlenmitir

2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.

32

8.13 Cyclic Redundancy Codes (CRC)

Cyclic terimi codeword zelliinde tremitir:


Codewordteki bitlerin Dairesl kaymas ile dier bir tanesi oluturulur
ekil 8.11 (Aadaki) (7, 4) gsterir CRC by Hamming

33

8.13 Cyclic Redundancy Codes (CRCs)

CRC code kapsaml ekilde allmtr


Matematiksel tanmlar deilik gsterebilir ve hesaplama teknikleri
oluturulabilir
Aklamalar grnebilir bylelikler hepsinin ayn konsepti gsterdiini
aklmak zorlar
En nemli grler:
Matematikiler
ki polinomun kili katsayya blnmesinden kalan form olarak
tanmlarlar CRC hesaplamasn
Biri mesaj diperi sabit bleni temsil eder
Teorik Bilgisayar Bilimadamlar
CRC hesaplamann neden iki tane ikili saynn blmnden kalan
olduunu aklarlar
Biri mesaj diperi sabit bleni temsil eder
34

8.13 Cyclic Redundancy Codes (CRCs)


Cryptographer (ifre zcleri)
CRC hesaplamasn matematiksel Galoa(2nin kat) alan
olarak tanmlarlar, GF(2) eklinde yazlr
Bilgisayar programclar
Mesaj boyunca ilerleyen algoritmann hesaplanmas
olarak bakarlar
Donanm mimarlar
CRC hesaplamasn kk donanm pipeline eklinde
tanmlarlar
Ve CRC iterasyon ve blmeye gerek kalmaksz retilir
35

8.13 Cyclic Redundancy Codes (CRC)


Yukarda rnek verilen bak alarna gre
ki saylarn blm olarak dnn ve tama
ileminin olmadn farzedin

ekil 8.12 1010 a blm gsterir


Mesaj simgeler, sabitler CRC den seilmitir,
1011

2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.

36

8.13 Cyclic Redundancy Codes (CRC)

37

8.13 Cyclic Redundancy Codes (CRC)

Matematikilerin bak as ile yukardaki hesaplamay, polinom


blmesi nasl yaplr?
Binary saysndaki her bitin polinomda birer sabit olduklarn dn
n
rnek olarak, ekil 8.12 deki 1011 blen olarak dnebiliriz, ve
sabitler aadaki polinomdur

Benzer olarak,ekil 8.12 deki blnen 1010000, polinomu temsil


etsin:

2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.

38

8.13 Cyclic Redundancy Codes (CRC)


Polinom oluturucusu terimi ilgili blen polinomunu temsil
eder
Polinom oluturucusununseimi CRC deki nemli bir itir
ve iyi hata alglama zelliine sahiptir
deal polinom azaltlamaz ( sadece kendine veya 1 e
blnebilir)
0 olmayan sabitlere sahip olan polinomlar btn tek-bitlik
hatalar saptayabilir

2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.

39

8.14 An Efficient Hardware Implementation of CRC

CRC donanm shift ragister exclusive(xor) eklinde dzenlenir,yada


bitler arasndaki xor kaplar arasnda dzenlenir
ekil 8.13 ilgili donanm iin gerekli 3-bitlik CRC hesaplmasn gsteriri
(ekil8.12 de)

40

8.15 Automatic Repeat reQuest (ARQ) Mechanisms


Bir taraf dier tarafa mesaj gnderdii zaman, dier taraf mesaj aldna
dair geriye kk onay (acknowledgement ) ACK mesaj gnderir.
Mesela, eer A B ye mesaj gnderdiyes, B de A ya ACK gnderir
ACK alndktan sonra, A mesajn doru ekilde yerine ulatn anlar
Eer T zaman aralnda ACK gelmezse, A mesajn kaybolduunu
farzeder ve mesajn bir kopyasn yeniden gnderir
ARQ hata saptanan verinin stesinden gelmek iin nemlidir
fakat hata dorulama yntemi deildir
Gnderim hatalarnn saptanmas iin ou bilgisayar alar CRCyi
kullanr
ARQ emas gnderimin garantiye alnmasn salar, eer gnderim
srasnda hata olumusa
Eer hata olumusa alc paketi atar
Ve gnderici bir kopyasn tekrar gnderir
41

You might also like