KĨ THUẬT TRUYỀN SỐ LIỆU

Embed Size (px)

Citation preview

Bo co k thut truyn s liu

LI M UTrong thi i hin nay thng tin lin lc ng vai tr ht sc quan trng trong cuc sng, hu ht chng ta lun gn lin vi mt vi ng dng trao i thng tin no . Thng tin trao i bao gm vic trao i tin tc, cc ti nguyn hc tp nghin cu nh cc phn mm (d liu, chng trnh ng dng,...)Trong mn hc truyn d liu chng ta c nghin cu rt nhiu cch truyn tin v cc vn lin quan n n. V ti m chng em tm hiu l : " M kim tra li CRC " CRC chnh l mt phng php nhm kim tra xem ni dung mt tp tin c b thay i trong qu trnh truyn tin hay khng. tng v CRC cng khng qu phc tp. Trong bi vit ny, chng ta s tm hiu k m CRC qua cc phn sau: Phn 1: Gii thiu m CRC Phn 2: Ni dung Phn 3: Chng trnh m phng D tm hiu rt k nhng trong bi bo co khng trnh khi thiu st. Chng em xin trn trng tip thu tt c nhng kin ng gp ca c v cc bn hon thin bn bo co ny hn na. Xin trn thnh cm n!

SVTH: nh Khi Thm

Page 1

Bo co k thut truyn s liu

MC LCLI M U .....................................................................................................................................1 PHN I: GII THIU .......................................................................................................................3 PHN II: NI DUNG ........................................................................................................................4 I. 1. 2. Nguyn tc to m CRC.............................................................................................................4 Xc nh m CRC dng thut ton Mod-2. ...........................................................................4 Dng php biu din a thc .................................................................................................7

II. Mch to m CRC ...........................................................................................................................8 1. 2. Mch to m CRC bn pht.....................................................................................................8 Mch to m CRC bn thu.....................................................................................................10

IV. Kh nng d sai ca m CRC.....................................................................................................11 1. M CRC lun lun cho php my thu d ra mt bit sai. .......................................................12

2. My thu s lun lun d ra li gm nhiu bit v c tng s bit li l s l nu ta chn P(x) chia ng cho (x+1). ..............................................................................................................12 3. 4. My thu lun lun d ra li nu chui d liu sai c chiu di bc ca P(x). .................13 Vi on d liu sai c chiu di > bc ca P(x) ....................................................................13

V. Cc a thc sinh thng dng .....................................................................................................14 PHN III: CHNG TRNH M PHNG....................................................................................15 1. 2. Giao din chng trnh ..............................................................................................................15 Code ...........................................................................................................................................15

SVTH: nh Khi Thm

Page 2

Bo co k thut truyn s liu

PHN I: GII THIUC nhiu cch kim tra cc bit kim tra li khi truyn d liu. K thut ph bin v chi ph t nht cho d tm li l k thut VRC, thng c gi l kim tra chn l. VRC c th d tm tt c cc li bit n. N cng c th do tm cc li bit chm bit min l tng s cc bit thay i lun l s l (1, 3, 5).Tuy nhin, b kim tra VRC khng th d tm khi tng s cc bit 1 ca n v d liu b thay i l chn. Hoc kim tra li bng phng php LRC, n l k thut tng cng kh nng d tm cc li bit hng lot. Tuy nhin, khi c mt mu cc bit vn cha khc phc c. Nu 2 bit trong mt n v d liu b thay i v hai bit cng ng v tr trong n v d liu khc cng b h hi, B kim tra LRC s khng d tm thy li. K thut th 3 v l k thut mnh nht trong cc k thut kim tra d tha l k thut kim tra vng CRC. CRC (Cyclic Redundancy Check) L vic kim tra d tha theo chu k vit tt l CRC, l mt k thut pht hin li trong k thut truyn d liu, nhng khng c kh nng sa li. N c s dng ch yu truyn d liu. Trong phng php CRC, mt tp tin bit kim tra c tnh ton cho mi khung tin da vo ni dung khung, sau c gn vo ui khung cc bt truyn i. Bn thu thc hin tnh ton tng t nh bn pht. Nu mt li xy ra, ngi nhn s gi mt thng boNAK cho bn pht yu cu c truyn li. K thut ny cng i khi c p dng cho cc thit b lu tr d liu chng hn nh mt a. Ti , mi khi trn a s c bit kim tra, v n c th t ng bt u c li khi li pht hin, hoc n c th bo co li cho phn mm.

SVTH: nh Khi Thm

Page 3

Bo co k thut truyn s liu

PHN II: NI DUNGI. Nguyn tc to m CRC

- Bc 1: mt chui n bit c ghp vo n v d liu. S n l mt s nh hn s cc bit trong s chia xc nh trc c chiu di n+1 bit. - Bc 2: n v d liu mi ko di chia cho s chia s dng mt qu trnh gi l chia nh phn. Phn d ca php chia l CRC. - Bc 3: CRC ca n bit dn ra t bc 2 thay th cc bit 0 c ghp vo cui n v d liu. Ch l CRC c th bao gm tt c cc bit 0. u tin, d liu c nhn, theo l CRC. Bn nhn coi ton b chui d liu l mt n v v chia n cho cng s chia m c s dng trc tm ra s d CRC. Nu chui n m khng c li, b kim tra CRC s cho kt qu u ra l s d bng 0 v n v d liu c qua. Nu chui b thay i trong qu trnh truyn, kt qu php chia l mt s khc 0, do n v d liu khng c qua. 1. Xc nh m CRC dng thut ton Mod-2 * Nhc li mt s tnh cht ca php ton Mod-2:SVTH: nh Khi Thm Page 4

Bo co k thut truyn s liu

- Php cng Mod-2 l php cng nh phn khng nh, di y l th d v php cng v php nhn 1010 + 1101 0111 1011 11 1011 1011 11101 - Php cng Mod-2 c thc hin bi cng EX-OR - Php tr Mod-2 ging nh php cng - Nhn Mod-2 mt s vi 2n tng ng vi di s n bit v bn tri v thm n bit 0 vo bn phi s , th d 11001* 23 = 11001000 - Php chia Mod-2 c thc hin ging nh php chia thng nhng nh l php tr trong khi chia c thc hin nh php cng. * Thut ton Gi T = (k+n) bit l khung thng tin c pht, vi n < k, M = k bit d liu, k bit u tin ca T F = n bit ca khung FCS, n bit cui ca T P = (n+1) bit, s chia trong php ton S T c to ra bng cch di s M sang tri n bit ri cng vi s F: T = 2nM + F Chia s 2n M cho P ta c:2n M R Q P P

Q l s thng b R l s d V php chia thc hin vi s nh phn nn s d lun lun t hn s chia 1 bit. Ta dng s d ny lm s F, ngha l:SVTH: nh Khi Thm Page 5

Bo co k thut truyn s liu

T = 2nM + R. my thu khi nhn c khi d liu, mang chia cho P, kt qu s d s = 0:T R R R R Q Q P P P P

V R+R=0 nn T/P= Q Nh vy dng s d R ca php chia 2nM cho P lm k t kim tra trong khung FCS th chc chn T s chia ng cho P nu bn tin khng c li. Th d: D liu cn gi i: M= 101101 a thc sinh: P= 1101 S phi tm R (3 bt) cho khung FSC c xc nh nh sau: Nhn M vi 23 cho kt qu: 101101000 Thc hin php chia cho P:

101101000 1101 0 11001 1101 1100 0 1101 1100 1101 10 110 1 3 Ta c R=010, cng R vi 2 M s cho s T pht i l: T= 101101000 + 010 =101101010 Nu bn tin khng c li T phi chia ng cho P Thc hin php chia T/P ta thy s d =0 Tm li, c mt khung FCS n bit, ngi ta phi dng mt s P c n+1 bit to s R c n bit dng cho khung FCS. P c gi l a thc sinh (generatorSVTH: nh Khi Thm Page 6

Bo co k thut truyn s liu

polynomial), dng ca n do cc giao thc qui nh, tng qut P phi c bit u v bit cui l bit 1. 2. Dng php biu din a thc thy qu trnh hnh thnh m CRC, ta c th dng php biu din mt s nh phn di dng mt a thc ca bin x vi h s l cc s nh phn v bc ca x l gi tr ch v tr ca s nh phn . V d s nh phn 110110 c th biu din bi: 1.x5 + 1.x4 + 0.x3 + 1. x2 + 1.x1 + 0.x0 = x5 + x4 + x2 + x Qu trnh hnh thnh m CRC c thc hin nh sau: - Gi M l a thc biu din thng tin cn truyn - P l a thc sinh, bc n (cha n+1 bit) Thc hin php chia:

xn

M(x) R(x) Q(x) P(x) P(x)

Khung thng tin truyn c trng bi: T(x) = xn M(x) + R(x) - bn thu thc hin php chia T(x) cho P(x) s d phi bng 0.T(x) R(x) R(x) R(x) Q(x) Q(x) 2 Q(x) P(x) P(x) P(x) P(x)

Th d: M= 111101 tng ng vi a thc: M(x) = x5 + x4 + x3+ x2 + 1 P(x) =1101 tng ng vi a thc: P(x) = x3 + x2 +1 Tnh R(x) = ?

SVTH: nh Khi Thm

Page 7

Bo co k thut truyn s liu

x8+ x7+ x6+x5 + x3 x8 +x7 + x5 6 x +x3 x6 +x5 +x3 x5 x5 +x4 +x2 x4 +x2 x4 +x3 +x x3 +x2 +x x3 +x2 +1 x+1

x3+ x2 +1 X5 + x3 +x2 +x+1

R(x) =x +1 tng ng vi gi tr 011 => T = 111101011 II. Mch to m CRC Ta xt v d truyn i 1 khung 8 bt: 11100110 qua ng truyn s liu s dng m CRC pht hin li. a thc sinh s dng l 11001. 1. Mch to m CRC bn pht l khung tin m ta cn truyn i.

SVTH: nh Khi Thm

Page 8

Bo co k thut truyn s liuTn hiu iu khin phn hi (t 1 thnh 0 sau 8 N TxC

x0 x1 x2

x3

TxC PISO lsb msb

Np song song tng byte trong N byte trong trung tn

TxD

TxC 0 1 2 3 4 5 6 7 8 9 10 11 lsb 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0

Thanh ghi PISO 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 msb 1 1 1 0 0 1 1 0 0 0 0 0

Thanh ghi FSC X0 X1 X2 X3 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0

S bt trong FSC l 4 bt nn cn 1 thanh ghi dch 4 bt gi l thanh ghi dch FSC biu din x3, x2, x1, x0 trong a thc sinh. Vi a thc sinh ny th cc s x3, x0 l 1, cn x2, x1 l 0. Trng thi mi ca x2, x1 c thay bng trng thi trc SVTH: nh Khi Thm Page 9

Bo co k thut truyn s liu

ca x0, x1. Trng thi mi ca x0, x3 c thay bng trng thi ca ng phn hi XOR vi s trc . Mch hot ng nh sau: Trc tin xa thanh ghi dch FSC v np song song 8 bt u tin trong khung tin vo thanh ghi vo song song, ra ni tip PISO. Tn hiu phn hi l 1. Theo tc ca ng h pht TxC, cc bt ny c dch ra ng truyn ln lt t MSB n LSB. Cng lc ny dng bt ny c XOR vi x3 qua u phn hi tr li cc u vo chn lc ca FCS. Sau khi 8 bit u i qua ht thanh ghi PISO, th tc ny lp li. Sau khi xut ra byte cui cng trong khung tin thanh ghi PISO c np ton l s 0, tn hiu phn hi t 1 tr thnh 0, do ni dung ca thanh ghi FSC l cc bit kim tra i theo sau khung tin pht ra ng truyn. 2. Mch to m CRC bn thu

SVTH: nh Khi Thm

Page 10

Bo co k thut truyn s liu

FCS x0 x1 x2 x3

RxD

RxC SIPO lsb msb

c song song byte (xN)

RxC RxD 0 1 2 3 4 5 6 7 8 9 10 11 12 1 1 1 0 0 1 1 0 0 1 1 0 lsb 0 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 1 0

Thanh ghi PISO 0 0 0 0 msb X 0 0 1 1 1 0 1 1 0 1 1 0 0 0 00

1 1 1 0 0 1

1 1 1 0 0

1 1 1 0

1 1 1

1 1

c byte

Thanh ghi FSC X1 X2 X3 0 0 0 0 0 0 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0

S liu thu RxD ln lt c dch vo thanh ghi vo ni tip ra song song SIPO (Serial Input Parallel Output) gia mi bit. Cc bt RxD ln lt c XOR vi x3 v phn hi tr li thanh ghi SIPO mi khi nhn c byte 8 bt, thit b iu khin s c byte. IV. Kh nng d sai ca m CRC Mt li xy ra mt v tr no trong khung d liu lm o bit v tr SVTH: nh Khi Thm Page 11

Bo co k thut truyn s liu

ca khung, iu ny tng ng vi php tnh EX-OR bit v bit 1 (v 0+1=1 v 1+1=0). Nu gi E l mt khung c s lng bit bng vi khung d liu, trong ch cc v tr ca bit li = 1 v cc bit khc = 0 th khung thng tin Tr nhn c c th vit: Tr = T + E. Th d: T = 10110110110 Dng a thc: T(x) = x10 + x8 + x7 + x5 + x4 + x2 + x1 Gi s bn tin sai cc bit x8, x2 v x1 Khung E c dng: E = 0010000011 E(x) = x8 + x2 + x1 Khung d liu nhn c: Tr = 10010110100 Tr(x) =x10 + x7 + x5 + x4 Ta c:

TE T E P P P

My thu khng nhn ra li khi no Tr(x) chia ng cho P(x), hay ch khi E(x) chia ng cho P(x). CRC l phng php d tm li rt hiu qu. Nu s chia c chn theo nguyn tc trc th: 1. M CRC lun lun cho php my thu d ra mt bit sai. Gi s bn tin ch sai mt bit khi a thc E(x) c dng xi, i l mt s nguyn, E(x) chia ng cho P(x) ch khi P(x) cng c dng xn. Ngi ta chn P(x) c t nht l 2 s hng nn E(x) khng th chia ng cho P(x). Vy m CRC lun cho php my thu d ra 1 bt sai. 2. My thu s lun lun d ra li gm nhiu bit v c tng s bit li l s lSVTH: nh Khi Thm Page 12

Bo co k thut truyn s liu

nu ta chn P(x) chia ng cho (x+1). Gi s bn tin sai mt chui, nhng c tng s bit sai l s l: a thc E(x) cha s l bit 1 nn E(1) =1. Mt khc, gi s (x+1) l tha s ca P(x), ta c th vit P(x) = (x+1)*H(x),vi H(x) l mt a thc. Ta cng gi s li ny khng c d ra, ngha l E(x) chia ng cho P(x), hay E(x) = P(x)*K(x). Thay P(x) = (x+1)*H(x) vo E(x) c E(x) = (x+1)*H(x)*K(x), biu thc ny cho E(1) = 0. iu ny tri vi gi thit trn, hay ni cch khc, my thu s d ra li nu ta chn P(x) sao cho chia ng cho (x+1). Vy my thu lun d ra li gm nhiu bit v c tng s bit li l s l nu P(x) chia ht cho (x+1). 3. My thu lun lun d ra li nu chui d liu sai c chiu di bc ca P(x). Gi s nhiu lm sai mt on d liu c chiu di m bc n ca P(x) Gi s chui bit sai c v tr t th i n th i+m-1, E(x) c dng: E(x) = xi+m-1 + . . . . +xi = xi.(xm-1+ . . . +1)

E(x) x i (x m1 ... 1) P(x) P(x)Ngi ta lun chn P(x) c nhiu hn 1 bit nn xi khng th chia ht cho P(x). My khng d c li khi v ch khi (xm-1+ . . . +1) chia ht cho P(x). V m bc ca P(x) - Trng hp m-1 = n hay (m=n+1). V bc ca P(x) l n nn c php chia ng P(x) phi c dng xn+ . . . . +1 vi cc s hng gia xn v 1 phi hon ton ging vi cc s hng ca xm-1+ . . . . . +1 th my thu khng d c li. C n-1 s hng gia xn v 1 nn c 2n-1 t hp v nu cc t hp ny c xc sut xy ra nh nhau th xc sut my thu khng nhn c li s l 1/2n-1.SVTH: nh Khi Thm Page 13

Bo co k thut truyn s liu

- Trng hp m>n+1, ta chp nhn kt qu xc sut ny l 1/2n. Ly th d m CRC-32 (n=32), xc sut khng d ra mt li c chiu di >33 bit l 1/2.1032 (tng ng vi kh nng d ra li l 99,99999998%). Tm li vi n cng ln vic my thu khng d ra li cng rt kh xy ra. V. Cc a thc sinh thng dng Mt a thc s c la chn sao cho tha mn: - N s khng c chia ht bi x - N c th c chia ht bi (x+1) C 4 a thc P(x) c dng to m CRC thng dng: CRC_12 = x12 +x11 + x3 + x2 + x + 1 CRC_16 = x16+x15 + x2 + 1 CRC_CCITT = x16+x12 + x5 + 1 CRC_32 = x32+ x26+ x23+ x22 + x16+ x12 + x11+ x10+ x8+ x7 + x5 + x4 + x2+x+1 CRC_12 dng truyn vi k t 6 bit v khung FCS di 12 bit. CRC_16 & CRC_CCITT dng truyn k t 8 bit v khung FCS di 16 bit. ( M v u chu). CRC_32 Dng trong mng cc b (LAN) v mt s ng dng ca DOD (Department Of Defense).

SVTH: nh Khi Thm

Page 14

Bo co k thut truyn s liu

PHN III: CHNG TRNH M PHNG1. Giao din chng trnh

2. Code Private Sub Command1_Click() Dim tem3 As String, tem4 As String Dim y, x, z, tem1 As Long Dim tem2, i As Integer z = Bin2Dec(Text1.Text) tem2 = Len(Combo1.Text) tem1 = z * (2 ^ (tem2 - 1)) tem4 = Dec2Bin(tem1) x = Bin2Dec(Combo1.Text) For i = 0 To (Len(tem4) - tem2)SVTH: nh Khi Thm Page 15

Bo co k thut truyn s liu

If i = 0 Then tem3 = Left(tem4, tem2) Else tem3 = tem3 + Mid(tem4, tem2 + i, 1) End If y = Bin2Dec(tem3) If Len(Dec2Bin(y)) = Len(Combo1.Text) Then tem3 = Dec2Bin(y Xor x) End If Next Do While (Len(tem3) < (tem2 - 1)) tem3 = 0 & tem3 Loop Text2.Text = Text1.Text & tem3 End Sub Function Bin2Dec(Num As String) As Long Dim n As Integer n = Len(Num) - 1 a=n Do While n > -1 x = Mid(Num, ((a + 1) - n), 1) Bin2Dec = IIf((x = "1"), Bin2Dec + (2 ^ (n)), Bin2Dec) n=n-1SVTH: nh Khi Thm Page 16

Bo co k thut truyn s liu

Loop End Function

Function Dec2Bin(ByVal n As Long) As String Do Until n = 0 If (n Mod 2) Then Dec2Bin = "1" & Dec2Bin Else Dec2Bin = "0" & Dec2Bin n=n\2 Loop End Function

Private Sub Command2_Click() End End Sub

Private Sub Form_Load() Combo1.AddItem "10" Combo1.AddItem "10011" Combo1.AddItem "10101" Combo1.AddItem "1000011" Combo1.AddItem "10001001" Combo1.AddItem "100000111" Combo1.AddItem "111010101"SVTH: nh Khi Thm Page 17

Bo co k thut truyn s liu

Combo1.AddItem "11000110011" Combo1.AddItem "11000000000000101" End Sub Private Sub Timer1_Timer() Dim a As String Dim b As String a = Left(Label2.Caption, 1) b = Right(Label2.Caption, Len(Label2.Caption) - 1) Label2.Caption = b + a End Sub

SVTH: nh Khi Thm

Page 18

Bo co k thut truyn s liu

TNG KT1. T nh gi kt qu bo co ti. ti ca nhm em c hon thnh mc c bn v cng pht trin rng thm mt s chi tit trong bi. Cc nh ngha cng nh nhng ni dung trong bi, chng e c gng lm ngn gn xc tch v d hiu nht c th. Cn mt s t cc chi tit cha kp hon thnh xong nh d tnh ban u. C th cn mt s mt hn ch cha c b sung. Mong thy khi c xong ti bo co ca chng em th gp kin cho nhm em ln sau nhm em lm ti bo co c tt hn na. 2. Hng pht trin. Nu c iu kin hn v thi gian, chng em s c gng hon thnh tt hn bi bo co ca minh, sau ny c th c ng dng vo thc t. V gip ch cho cuc sng nhiu hn. V chng em xin chn thnh cm n nhng ng gp kin ca thy c!

SVTH: nh Khi Thm

Page 19