Professional Documents
Culture Documents
LI M U
Trong 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!
Page 1
MC LC
LI M U .....................................................................................................................................1
PHN I: GII THIU .......................................................................................................................3
PHN II: NI DUNG ........................................................................................................................4
Nguyn tc to m CRC.............................................................................................................4
I.
1.
2.
2.
4.
2.
Code ...........................................................................................................................................15
Page 2
Page 3
Page 4
1011
+ 1101
11
0111
1011
1011
11101
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
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:
-
101101000 1101
01101
11001
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 (generator
SVTH: nh Khi Thm
Page 6
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)
Q(x) 2
Q(x)
P(x)
P(x) P(x)
P(x)
Page 7
x3+ x2 +1
X5 + x3 +x2 +x+1
x4 +x2
x4 +x3 +x
x3 +x2 +x
x3 +x2 +1
x+1
Page 8
x0 x1 x2
x3
TxC
PISO
lsb
msb
TxC
0
1
2
3
4
5
6
7
lsb
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
0
0
0
8
9
10
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
TxD
1
1
0
0
1
1
0
0
msb
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
Page 9
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
Page 10
FCS
x0
x1
x2
x3
RxD
RxC
SIPO
lsb
msb
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
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
c byte
msb X
0
0
1
1
1
0
1
1
0
1
1
0
0
0
0
Page 11
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 l
SVTH: nh Khi Thm
Page 12
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<n nn my thu
khng th chia ng do vy my thu lun d ra li nu chui d liu sai c chiu di nh
hn bc ca P(x).
4. Vi on d liu sai c chiu di > 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+ . . .
Page 13
Page 14
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
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-1
SVTH: nh Khi Thm
Page 16
Loop
End Function
Page 17
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
Page 18
TNG KT
1. 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!
Page 19