Tải bản đầy đủ (.pdf) (22 trang)

GIáo trình truyền dữ liêu part 2 doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (378.24 KB, 22 trang )

- Tính miễn nhiễu và giao thoa
Các dạng mã khác nhau cho khả năng miễn nhiễu khác nhau. Thí dụ mã Bipolar-AMI
là loại mã có khả năng phát hiện ñược nhiễu.
- Mức ñộ phức tạp và giá thành của hệ thống
Các ñặc tính này của hệ thống cũng tùy thuộc vào dạng mã rất nhiều.


2.2.1 Các dạng mã phổ biến.

2.2.2 Kỹ thuật ngẫu nhiên hóa.


2.2.1 Các dạng mã phổ biến :
Dưới ñây giới thiệu một số dạng mã thông dụng và ñược sử dụng cho các mục ñích
khác nhau tùy vào các yêu cầu cụ thể về các tính chất nói trên (H 2.6)
- Nonreturn - to - zero - Level (NRZ - L)

0 = mức cao

1 = mức thấp

Ðây là dạng mã ñơn giản nhất, hai trị ñiên thế cùng dấu (ñơn cực) biểu diễn hai trạng
thái logic. Loại mã này thường ñược dùng trong việc ghi dữ liệu lên băng từ.
- Nonreturn - to - zero inverted (NRZI)
0 = chuyển mức ñiện thế ở ñầu bít

1 = không chuyển mức ñiện thế ở ñầu bít


(H 2.6)
NRZI là một thí dụ của mã vi phân: Sự mã hóa tùy vào sự thay ñổi trạng thái của các


bít liên tiếp chứ không tùy thuộc vào bản thân bít ñó. Loại mã này có lợi ñiểm là khi giải mã
máy thu dò sự thay ñổi trạng thái của tín hiệu thay vì so sánh tín hiệu với một trị ngưỡng ñể
xác ñịnh trạng thái logic của tín hiệu ñó và kết quả cho ñộ tin cậy cao hơn.
- Bipolar - AMI

0 = không tín hiệu (hiệu thế = 0)

1 = hiệu thế âm hoặc dương, luân phiên thay ñổi với chuỗi bít 1 liên tiếp

- Pseudoternary

0 = hiệu thế âm hoặc dương, luân phiên thay ñổi với chuỗi bít 0 liên tiếp

1 = không tín hiệu (hiệu thế = 0)

Hai loại mã có cùng tính chất là sử dụng nhiều mức ñiện thế ñể tạo mã (Multilevel
Binary), cụ thể là 3 mức: âm, dương và không. Lợi ñiểm của loại mã này là:
- Dễ tạo ñồng bộ ở máy thu do có sự thay ñổi trạng thái của tín hiệu ñiện mặc dù các
trạng thái logic không ñổi (tuy nhiên ñiều này chỉ thực hiện ñối với một loại bit, còn loại bít
thứ hai sẽ ñược khắc phục bởi kỹ thuật ngẫu nhiên hóa)
- Có ñiều kiện tốt ñể dò sai do sự thay ñổi mức ñiện thế của các bít liên tiếp giống
nhau nên khi có nhiễu xâm nhập sẽ tạo ra một sự vi phạm mà máy thu có thể phát hiện dễ
dàng.
Một khuyết ñiểm của loại mã này là hiệu suất truyền tin kém do phải sử dụng 3 mức
ñiện thế .
- Manchester
0 = Chuyển từ cao xuống thấp ở giữa bít

1 = Chuyển từ thấp lên cao ở giữa bít


- Differential Manchester
Luôn có chuyển mức ở giữa bít

0 = chuyển mức ở ñầu bít

1 = không chuyển mức ở ñầu bít

Hai mã Manchester và Differential Manchester có cùng tính chất : mỗi bít ñược ñặc
trưng bởi hai pha ñiện thế (Biphase) nên luôn có sự thay ñổi mức ñiện thế ở từng bít do ñó
tạo ñiều kiện cho máy thu phục hồi xung ñồng hồ ñể tạo ñồng bộ. Do có khả năng tự thực
hiện ñồng bộ nên loại mã này có tên Self Clocking Codes. Do mỗi bít ñược mã bởi 2 pha
ñiện thế nên vận tốc ñiều chế (Modulation rate) của loại mã này tăng gấp ñôi so với các loại
mã khác, cụ thể , giả sử thời gian của 1 bít là T thì vận tốc ñiều chế tối ña (ứng với chuỗi
xung 1 hoặc 0 liên tiếp) là 2/T.


2.2.2 Kỹ thuật ngẫu nhiên hóa (Scrambling techniques) :
Ðể khắc phục khuyết ñiểm của loại mã AMI là cho một mức ñiện thế không ñổi khi
có một chuỗi nhiều bít 0 liên tiếp, người ta dùng kỹ thuật ngẫu nhiên hóa. Nguyên tắc của
kỹ thuật này là tạo ra một sự thay ñổi ñiện thế giã bằng cách thay thế một chuỗi bít 0 bởi một
chuỗi tín hiệu có mức ñiện thế thay ñổi, dĩ nhiên sự thay thế này sẽ ñưa ñến các vi phạm luật
biến ñổi của bít 1, nhưng chính nhờ các bít vi phạm này mà máy thu nhận ra ñể có biện
pháp giải mã thích hợp. Dưới ñây giới thiệu hai dạng mã ñã ñược ngẫu nhiên hóa và ñược
dùng rất nhiều trong các hệ thông tin với khoảng cách rất xa và vận tốc bit khá lớn:

- B8ZS : là mã AMI có thêm tính chất: chuỗi 8 bít liên tục ñược thay bởi một chuỗi
với 2 mã vi phạm luật ñảo bít 1

- Nếu trước chuỗi 8 bit 0 là xung dương, các bit 0 này ñược thay thế bởi 000 + - 0 - +
- Nếu trước chuỗi 8 bit 0 là xung âm, các bit 0 này ñược thay thế bởi 000 - + 0 + -


- HDB3 : là mã AMI có thêm tính chất: chuỗi 4 bít liên tục ñược thay bởi một chuỗi
với 1 mã vi phạm luật ñảo bít 1

Sự thay thế chuỗi 4 bít của mã HDB3 còn theo qui tắc sau:

Cực tính của xung trước
ñó
Số bít 1 từ lần thay thế cuối
cùng
Lẻ chẵn
-
+
000- +00+
000+ -00-

Ngoài ra hệ thống Telco còn có hai loại mã là B6ZS và B3ZS dựa theo qui luật sau:

- B6ZS: Thay chuỗi 6 bit 0 bởi 0 - + 0 + - hay 0 + - 0 - + sao cho sự vi phạm xảy ra ở
bit thứ 2 và thứ 5

- B3ZS: Thay chuỗi 3 bit 0 bởi một trong các chuỗi: 00 +, 00 -, - 0 - hay + 0 +, tùy
theo cực tính và số bit 1 trước ñó (tưong tự như HDB3).

Lưu ý là kỹ thuật ngẫu nhiên hóa không làm gia tăng lượng tín hiệu vì chuỗi thay thế
có cùng số bit với chuỗi ñược thay thế.
(H 2.7) là một thí dụ của mã B8ZS và HBD3.




B = Valid bipolar signal; V = Bipolar violation
(H 2.7)

2.3 ÐIỀU CHẾ :



Biến ñiệu hay ñiều chế là quá trình chuyển ñổi phổ tần của tín hiệu cần truyền ñến
một vùng phổ tần khác bằng cách dùng một sóng mang ñể chuyên chở tín hiệu cần truyền ñi;
mục ñích của việc làm này là chọn một phổ tần thích hợp cho việc truyền thông tin, với các
tần số sóng mang khác nhau người ta có thể truyền nhiều tín hiệu có cùng phổ tần trên các
kênh truyền khác nhau của cùng một ñường truyền.

Một cách tổng quát, phương pháp ñiều chế là dùng tín hiệu cần truyền làm thay ñổi
một thông số nào ñó của sóng mang (biên ñộ, tần số, pha ). Tùy theo thông số ñược lựa
chọn mà ta có các phương pháp ñiều chế khác nhau: ñiều chế biên ñộ (AM), ñiều chế tần số
(FM), ñiều chế pha ΦM, ñiều chế xung PM . . .





2.3.1 ðiều chế biên ñộ
2.3.2 ðiều chế góc .

2.3.3 ðiều chế xung .


2.3.1 Ðiều chế biên ñộ ( Amplitude Modulation, AM ) :


Xét tín hiệu cao tần

e(t)=A
c
cos(ω
c
t +θ) (1)

Tín hiệu AM có ñược bằng cách dùng tín hiệu g(t) làm biến ñổi biên ñộ của e(t).

Biểu thức của tín hiệu AM là:
e
AM
(t) = [A
c
+g(t)] cosω
c
t (2)

Ðể ñơn giản, ta bỏ qua θ là lượng không ñổi trong AM.

Những tính chất cơ bản của AM dễ dàng ñược xác ñịnh nếu ta biết tín hiệu g(t).

Xét g(t) là tín hiệu hạ tần:

g(t)= E
m
cosω
m
t (3)


Như vậy:

e
AM
(t)=(A
c
+ E
m
cosω
m
t

)cosω
c
t = A
c
[1+ (E
m
/A
c
)cosω
m
t

]cosω
c
t

=A

c
[1+m
a
cosω
m
t]

cosω
c
t (4)
Trong ñó m
a
= E
m
/A
c
gọi là chỉ số biến ñiệu

(H 2.8) vẽ dạng sóng và phổ tần của tín hiệu AM.


(a) (H 2.8) (b)

Ðể thấy ñược phổ tần ta triển khai hệ thức (4)

e
AM
(t) = A
c
cosω

c
t + (m
a
A
c
/2)cos(ω
c

m
)t + (m
a
A
c
/2)cos(ω
c

m
)t
(5)

Từ (H 2.8b) ta thấy băng thông của tín hiệu ñã ñiều chế bằng hai lần tần số của tín
hiệu hạ tần và ñược chia ra làm hai băng cạnh. Ðiều chế biên ñộ là một quá trình tuyến tính
nên mỗi tần số của tín hiệu hạ tần tạo ra một băng thông và trong trường hợp tín hiệu hạ tần
gồm nhiều tần số khác nhau thì băng thông của tín hiệu biến ñiệu là:

BW = 2f
m
(max)

f

m
(max) là tần số hạ tần cao nhất.

Dữ liệu số có thể ñược truyền bằng phương pháp ñiều chế AM, trong trường hợp này
gọi là kỹ thuật dời biên (ASK, Amplitude- Shift Keying). Bit 1 ñược truyền ñi bởi sóng
mang có biên ñộ E
1
và bít 0 bởi sóng mang biên ñộ E
2
. (H 2.9) minh họa tín hiệu ASK

(H 2.9)

2.3.2 Ðiều chế góc (Angle modulation) :

Ta cũng bắt ñầu với sóng mang chưa ñiều chế:

e(t)= A
c
cos(ω
c
t + f)= A
c
cosΦ(t) (6)

Nếu ω
c
thay ñổi tương ứng với nguồn thông tin, ta có tín hiệu ñiều chế tần số (FM) và
nếu Φ(t) thay ñổi ta có tín hiệu ñiều chế pha (ΦM).


Hai kỹ thuật ñiều chế này cơ bản giống nhau và ñược gọi chung là ñiều chế góc.


2.3.2.1 Ðiều chế tần số .

2.3.2.2 Ðiều chế pha .


2.3.2.1 Ðiều chế tần số (FM) :

Tần số ω(t) là giá trị biến ñổi theo thời gian của Φ(t), nghĩa là:


ω
(t) =
(7)
Vậy tần số của tín hiệu chưa ñiều chế là:

ω(t)
=


(8)



Giả sử tín hiệu ñiều chế là g(t), theo ñịnh nghĩa của phép ñiều chế tần số, tần số tức
thời của sóng mang là: ω(t)=ω
c
[1+ g(t) ]


(9)


Thay (9) vào (7):


Φ(t) =

(10)
Thay vào pt (6):


e
FM
(t) =

(11)

Biểu thức (11) cho thấy tín hiệu g(t) ñược lấy tích phân trước khi ñược ñiều chế.

Xét trường hợp g(t) là tín hiệu hạ tần có dạng hình sin:


g(t) =


cosω
m
(t) (12)


∆ω là ñộ di tần và ω
m
là tần số của tín hiệu hạ tần


Ф(t) =


= ω
c
t + m
f
sinω
m
t



với m
f
=

∆ω /ω
m
là chỉ số ñiều chế. Ðó là tỉ số của ñộ di tần và tần số của tín hiệu
ñiều chế (hạ tần).

e
FM

(t) = A
c
cos{ ω
c
t + m
f
sinω
m
t}
(13)

Ðể thấy phổ tần của sóng FM ta triển khai biểu thức (13):

e
FM
(t) = A
c
J
0
(m
f
) cosω
c
t + A
c
J
2n
(m
f
) [ cos(ω

c
t + 2ncosω
m
t) + cos(ω
c
t -
2ncosω
m
t)]

A
c
J
2n+1
(m
f
) { cos[ω
c
t + (2n+1)cosω
m
t] - cos[ω
c
t - (2n+1)cosω
m
t]}
(14)

J là hàm Bessel theo m
f
và n có mọi trị nguyên từ 0 ñến ∞.


Từ (14) ta thấy sóng FM gồm thành phần cơ bản có tần số của sóng mang và biên ñộ
cho bởi số hạng thứ I , J
0
(m
f
) , và các băng cạnh cho bởi các số hạng còn lại.

Vì n lấy mọi giá trị từ 0 ñến ∞ nên phổ tần của sóng FM rộng vô hạn, tuy nhiên do
năng lượng tín hiệu giảm rất nhanh với tần số cao nên người ta xem băng thông trong FM
xấp xỉ bằng:
BW = 2(m
f
ω
m
+ ω
m
) = 2(∆ω + ω
m
) rad/s

(H 2.10) cho dạng sóng và phổ tần của sóng FM


(H2.10)

Cũng như trong trường hợp AM, tín hiệu dữ liệu số cũng ñược truyền bằng phương
pháp FM. Kỹ thuật này ñược gọi là kỹ thuật dời tần (FSK: Frequency- Shift Keying).

FSK ñược dùng rộng rãi trong truyền số liệu. Trong FSK bít 1 ñược truyền ñi bởi tần

số f
m
và bít 0 bởi tần số f
s
ví dụ, trong hệ thống truyền sử dụng tiêu chuẩn của hảng Bell bít 1
ñược truyền bởi tần số 1070 Hz (f
m
) và bít 0 bởi tần số 1270 Hz (f
s
). (H 2.11) minh họa tín
hiệu ñiều chế FSK


(H 2.11)

2.3.2.2 Ðiều chế pha (ФM ) :

Từ phương trình (6) nếu góc pha Ф(t) thay ñổi theo tín hiệu thông tin ta có ñiều chế
pha.

Vậy: e
PM
(t) = A
c
cos[ω
c
t + m
p
g(t)]
(15)


Trong ñó m
p
là ñộ dời pha cực ñại

Tần số tức thời cho bởi:

ω
i
(t) = dФ(t)/dt


= ω
c
+ m
p


Nếu g(t) có dạng cos ω
m
t thì:

ω
i
(t) = ω
c
- m
p
ω
m

sin ω
m
t (16)

e
PM
(t) = A
c
cos[ω
c
t - m
p
ω
m
sin ω
m
t ] (17)

So sánh (17) và (13), xem m
p
là chỉ số ñiều chế pha, tương ñương với m
f
trong FM,
ta có thể xác ñịnh ñược băng thông của tín hiệu ФM

BW = 2(ω
m
+ m
p
ω

m
) rad/s (18)

m
p
ω
m
= ∆ω
ep
là ñộ di tần tương ñương của ФM

So sánh (11) và (15) ta thấy kỹ thuật của FM và ФM có cùng cơ sở. Ðiểm khác biệt
là trong FM ta lấy tích phân của tín hiệu hạ tần trước khi ñiều chế còn trong ФM

thì không.

Ðiều chế pha là kỹ thuật rất tốt ñể truyền số liệu. Trong kỹ thuật dời pha, PSK
(Phase-Shift Keying), các bít 1 và 0 ñược biểu diễn bởi các tín hiệu có cùng tần số nhưng có
pha trái ngược nhau.

(H 2.12) mô tả một tín hiệu FSK.


(H 2.12)

2.3.3 ÐIỀU CHẾ XUNG ( PULSE MODULATION) :
Ðây là phương pháp dùng tín hiệu hạ tần ñiều chế sóng mang là tín hiệu xung (có tần
số cao hơn), còn gọi là phương pháp lấy mẫu tín hiệu hạ tần. Mặc dù các tín hiệu tương tự
ñược lấy mẫu bởi các giá trị rời rạc, nhưng các mẫu này có thể có bất cứ giá trị nào trong
khoảng biến ñổi của tín hiệu hạ tần nên hệ thống truyền tín hiệu này là hệ thống truyền tương

tự chứ không phải hệ thống truyền số.

Tùy theo thông số nào của xung thay ñổi theo tín hiệu hạ tần, ta có : Ðiều chế biên ñộ
xung (pulse amplitude modulation, PAM), ñiều chế vị trí xung (pulse position modulation,
PPM), ñiều chế ñộ rộng xung (pulse width modulation, PWM).

2.3.3.1 Ðiều chế biên ñộ xung .

2.3.3.2 Ðiều chế thời gian xung .


2.3.3.1 Ðiều chế biên ñộ xung ( PAM) :

Khi một chuỗi xung hẹp với tần số lặp lại cao p(t) ñược ñiều chế biên ñộ bởi tín hiệu
sin tần số thấp m(t), ta có sự ñiều chế biên ñộ xung. Tín hiệu sau khi ñiều chế là tích của hai
tín hiệu m(t).p(t) có dạng sóng là các xung với biên ñộ thay ñổi theo dạng sóng hạ tần m(t)
(H 2.13).




(H 2.13)

a. Mẫu PAM tự nhiên .

b. Mẫu PAM ñỉnh phẳng.


a-/ Mẫu PAM tự nhiên (Natural PAM sampling) :


Khi biên ñộ xung ñã ñiều chế có ñỉnh theo dạng của tín hiệu m(t), ta có mẫu PAM tự
nhiên (H 2.13).

Kết quả của phần 2.1.1 cho thấy tín hiệu p(t) có thể phân tích thành các thành phần:

V
o
+ Σ V
n
.cos(nω
s
t)

với V
0
= Vτ / T
s
là thành phần DC và ω
s
= 2π / T
s
là tần số của p(t).

Như vậy, m(t).p(t) bao gồm:

m(t).V
o
= m(t).Vτ / T
s



m(t).ΣV
n.
cos(nω
s
t)

Tóm lại, tích m(t).p(t) có chứa dạng sóng của tín hiệu ñiều chế (tín hiệu cần truyền)
trong thành phần tần số thấp m(t).V
0
và có thể phục hồi bằng cách cho sóng mang ñã ñiều
chế qua một mạch lọc hạ thông.

Thành phần họa tần có dạng V
n
m(t)cos(nω
s
t) tương tự như tín hiệu ñiều chế 2 băng
cạnh triệt sóng mang (Double Sideband Suppressed Carrier, DSBSC).

Phổ tần của tín hiệu PAM với hạ tần là m(t) = sinω
m
t có dạng như (H 2.14)


(H 2.14)

Trong (H 2.14) M(f) là phổ tần của tín hiệu dải nền và fm là tần số cao nhất của tín
hiệu này. Từ (H 2.14) ta cũng thấy tại sao tần số xung lấy mẫu fs phải ít nhất hai lần lớn hơn
f

m
. Nếu M(f) ñược phục hồi từ mạch lọc hạ thông, ñộ phân cách từ M(f) tới dải tần kế cận
phải lớn hơn 0, nghĩa là W > 0

W = f
s
- f
m
- f
m
> 0 hay f
s
> 2 f
m

b-/ Mẫu PAM ñỉnh phẳng (Flat-top PAM) :

Ðây là mẫu PAM ñược dùng rộng rãi do dễ tạo ra sóng ñiều chế. Dạng sóng cho ở (H
2.15) các xung sau khi ñiều chế có ñỉnh phẳng chứ không theo dạng của hạ tần.


(H 2.15)
Mặc dù khi phục hồi tín hiệu từ mạch lọc hạ thông sẽ có biến dạng do ñoạn ñỉnh
phẳng nhưng vì bề rộng xung thường rất nhỏ so với chu kỳ T
s
nên biến dạng không ñáng kể.
Nếu sự biến dạng là ñáng kể thì cũng có thể loại bỏ bằng cách cho tín hiệu ñi qua một mạch
bù trừ.

Tín hiệu PAM ít ñược dùng ñể phát trực tiếp do lượng thông tin cần truyền chứa trong

biên ñộ của xung nên dễ bị ảnh hưởng của nhiễu. PAM thường ñược dùng như là một bước
trung gian trong một phương pháp ñiều chế khác, gọi là ñiều mã xung (pulse code
modulation, PCM) và ñược dùng trong ña hợp thời gian ñể truyền (TDM).


2.3.3.2 Ðiều chế thời gian xung (Pulse -time Modulation, PTM) :

Ðiều chế thời gian xung bao gồm bốn phương pháp (H 2.16). Ba phương pháp ñầu tập
trung trong một nhóm gọi là ñiều chế ñộ rộng xung (Pulse-width modulation, PWM) (H
2.16d, e, f), phương pháp thứ tư là ñiều chế vị trí xung (Pulse-position modulation, PPM) (H
2.16g).
Ba phương pháp ñiều chế ñộ rộng xung khác nhau ở ñiểm cạnh lên, cạnh xuống hay
ñiểm giữa xung ñược giữ cố ñịnh trong khi ñộ rộng xung thay ñổi theo tín hiệu ñiều chế.

Phương pháp thứ tư, PPM là thay ñổi vị trí xung theo tín hiệu ñiều chế trong khi bề
rộng xung không ñổi. (H 2.16) minh họa cho các cách ñiều chế này.

Lưu ý là kỹ thuật PTM tưong tự với ñiều chế FM và ΦM , tín hiệu có biên ñộ không
ñổi nên ít bị ảnh hưởng bởi nhiễu.

Phổ tần của tín hiệu ñã ñiều chế bằng phương pháp PWM, PPM giống như phổ tần
của tín hiệu ñiều chế FM (H 2.16h), nghĩa là có nhiều họa tần nên khi sử dụng PWM và PPM
người ta phải gia tăng tần số xung lấy mẫu hoặc giảm ñộ di tần (ñể giới hạn băng thông của
tín hiệu và tăng số kênh truyền).

(H 2.16)















CHƯƠNG 3
CÁC LOẠI MÃ TRONG TRUYỀN DỮ LIỆU


. Nội dung:

3.1 MÃ NHỊ PHÂN CỦA CÁC CHỮ SỐ .

3.2 CÁC MÃ PHÁT HIỆN LỖI .

3.3 MÃ NÉN DỮ LIỆU .

3.4 MẬT MÃ .





Tin tức bao gồm các văn bản, số liệu, hình ảnh . . . . cần ñược mã hóa bằng tập hợp
các số nhị phân trước khi ñược chuyển ñổi thành các tín hiệu số ñể truyền ñi

Một yếu tố quan trọng trong hệ thống thông tin là ñộ chính xác, thiếu yếu tố này hệ
thống xem như không có giá trị sử dụng, nên kèm theo bản tin thường phải thêm vào các từ
mã có khả năng phát hiện lỗi và thậm chí sửa ñược lỗi.
Ngoài ra, nếu số lượng bít dùng ñể mã hóa cùng một ñối tượng càng ít thì với cùng
vận tốc truyền, lượng thông tin truyền của hệ thống càng lớn mà lại hạn chế ñược khả năng
xảy ra lỗi. Do ñó việc giảm số lượng bít dùng mã hóa cũng là một vấn ñề cần ñược quan tâm.
Chương này bàn ñến một số phương pháp mã hóa dữ liệu phổ biến ñể tạo các loại mã
có khả năng phát hiện lỗi, phát hiện và sửa lỗi, các loại mã nén.

3.1 MÃ NHỊ PHÂN CỦA CÁC CHỮ SỐ :


Ðể biểu diễn các chữ và số người ta dùng các mã nhị phân. Một số nhị phân n bít biểu
thị ñược 2
n
ký tự (chữ, số, các dấu hiệu )
Các bộ mã phổ biến trong truyền dữ liệu là : mã Baudot, mã ASCII và mã EBCDIC



3.1.1 Mã Baudot.
3.1.2 Mã ASCII.
3.1.3 Mã EBCDIC.

3.1.1 Mã Baudot :
Là bộ mã nhị phân dùng 5 bít ñể biểu diển chữ số và một số dấu hiệu.
Bảng 3.1 Bộ mã Baudot

Mã Chữ Dấu/Số Mã Chữ Dấu/Số


11000
10011
01110
10010
10000
10110
01011
00101
01100
11010
11110
01001
00111
00110
00011
01101
A
B
C
D
E
F
G
H
I
J
K
L
M
N

O
P
-
?
:
$
3
!
&
#
8
'
(
)
.
,
9
0
11101
01010
10100
00001
11100
01111
11001
10111
10101
10001
11111
11011

00100
00010
01000
00000
Q
R
S
T
U
V
W
X
Y
Z
LTRS
FIGS
SPC
CR
LF
NULL
1
4
BELL
5
7
;
2
/
6
"

LTRS
FIGS
SPC
CR
LF
NULL


Với n = 5 chỉ có 2
5
= 32 mã khác nhau, không ñủ ñể biểu diển các ký tự chữ và số
nên một số mã phải biểu thị cả hai và chúng ñược phân biệt bằng cách kèm theo ký tự FIGS
hoặc LTRS ở trước.
Thí dụ: mã của ñoạn văn NO. 27 có dạng như sau :
LTRS N O FIGS . SPC 2 7
11111 00110 00011 11011 00111 00100 11001 11100
Khi dùng mã Baudot ñể truyền bất ñồng bộ, số bít stop luôn luôn là 1,5


3.1.2 Mã ASCII :
Là bộ mã thông dụng nhất trong truyền dữ liệu. Mã ASCII dùng số nhị phân 7 bít nên
có 2
7
= 128 mã, tương ñối ñủ ñể diễn tả các chữ, số và một số dấu hiệu thông dụng. Từ ñiều
khiển dùng trong các giao thức truyền thông thường lấy trong bảng mã ASCII.
Khi truyền bất ñồng bộ dùng mã ASCII số bít stop là 1 hoặc 2.
Bảng 3.2 trình bày mã ASCII cùng các từ ñiều khiển.
* Từ ñiều khiển trong văn bản:
BS (Back space): chỉ cơ chế in hay con trỏ ñược dời lui một vị trí. Nó có thể ñược
dùng ñể in 2 ký tự ở một vị trí (thường dùng ñể gạch dưới) hay ñể in ñậm một ký tự (in 1 ký

tự 2 lần ở cùng vị trí). Trên màn hình (CRT) chữ sau sẽ thay cho chữ trước.
HT (Horizontal Tab): chỉ cơ chế in hay con trỏ ñược dời tới vị trí tab kế cận hay vị trí
dừng.
LF (Line Feed): chỉ cơ chế in hay con trỏ ñược dời xuống ñầu dòng kế.
VT (Vertical Tab): chỉ cơ chế in hay con trỏ ñược dời ñến dòng kế của chuỗi dòng ñã
ñánh dấu.
FF (Form Feed): chỉ cơ chế in hay con trỏ ñược dời ñến ñiểm bắt ñầu của trang (màn
ảnh) sau
CR (Cariage Return): chỉ cơ chế in hay con trỏ ñược dời ñến ñiểm bắt ñầu trên cùng
một dòng
Bảng 3.2 Mã ASCII

Bit
765→

000 001 010 011 100 101 110 111

Bit
4321↓

0 1 2 3 4 5 6 7

0000
0001
0010
0011
0100
0101
0110
0111

1000
1001
1010
1011
1100
1101
1110
1111

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

NUL
SOH
STX
ETX

EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI

DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
SP

!
"
#
$
%
&
`
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>

?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\

]
^( )
_(←)

'
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o

p
q
r
s
t
u
v
w
x

y
z
{
|
}
~
DEL



Thí dụ: ký tự D là 1000100 = 44H
Ý nghĩa các từ trong bảng mã ASCII
* Từ ñiều khiển trong truyền thông
SOH (Start of Heading): bắt ñầu của phần ñầu bản tin. Nó có thể chứa ñịa chỉ, chiều
dài bản tin hay dữ liệu dùng cho kiểm tra lỗi.
STX (Start of Text): bắt ñầu văn bản ñồng thời kết thúc phần ñầu. Thường ñi ñôi với
ETX.
ETX (End of Text): kết thúc văn bản
EOT (End of Transmission): chấm dứt truyền
ENQ (Enquiry): yêu cầu một ñài xa tự xác ñịnh (identify itself).
ACK (Acknowledge) : từ phát bởi máy thu ñể báo cho máy phát ñã nhận bản tin
ñúng.
NAK (Negative Acknowledgment): từ phát bởi máy thu ñể báo nhận bản tin sai.
SYN (Synchronous/Idle): dùng bởi một hệ thống truyền ñồng bộ ñể thực hiện ñồng
bộ. Khi không có dữ liệu ñể phát, máy phát của hệ thống ñồng bộ phát liên tục các từ SYN
ETB (End of Transmission Block): chỉ sự chấm dứt một khối của bản tin.
* Information separator
FS (File Separator), GS (Group Separator), RS (Record Separator), US (United
Separator): Dùng cho sự phân cách. Chữ ñầu chỉ thành ñược phân cách (F: File, G: Group,
R: Record (bảng ghi), U: Unit (ñơn vị))

* Miscellaneous (Linh tinh)
NUL (Null): ký tự rổng, dùng lấp ñầy khoảng trống khi không có dữ liệu
BEL (Bell): dùng khi cần báo sự lưu ý.
SO (Shift Out): chỉ các tổ hợp mã theo sau ñược thông dịch bởi ký tự ngoài tập hợp
ký tự chuẩn cho tới khi gặp từ Shift In.
SI (Shift In): chỉ tập hợp mã theo sau ñược thông dịch bởi ký tự chuẩn.
DEL (Delete): dùng bỏ từ
SP (Space): khoảng cách từ
DLE (Data Link Escape): dùng ñể chỉ sự thay ñổi nghĩa của các từ theo sau. Nó có
thể cung cấp một sự ñiều khiển phụ, hay cho phép gửi ký tự dữ liệu có một tổ hợp bít bất kỳ.
DC1, DC2, DC3, DC4 (Device Control): từ dùng cho sự ñiều khiển thiết bị.
CAN (Cancel): chỉ dữ liệu ñặt trước nó không có giá trị, do dò ñược lỗi.
EM (End of Medium): chỉ sự kết thúc về mặt vật lý của một card, băng hay môi
trường khác.
SUB (Substitute): thay thế một từ bị lỗi hoặc không có giá trị
ESC (Escape) : từ tăng cường ñể cung cấp một mã mở rộng.


3.1.3 Mã EBCDIC (Extended BCD Information Code) :
Là bộ mã 8 bít ñược dùng rộng rãi trong hệ thống thông tin dùng máy tính IBM.
Bảng 3.3 trình bày mã EBCDIC và các ký tự ñiều khiển. Vì mã ký tự chiếm 8 bít nên
muốn dùng parity phải dùng bít thứ 9 (các thanh ghi trong các USART thường có 8 bít) do
ñó mã EBCDIC thường ñược dùng trong những chức năng ñặc biệt như trong các ứng dụng
ñồ họa.
Bảng 3.3 Mã EBCDIC
High

Lơw

0 1 2 3 4 5 6 7 8 9 A


B

C

D

E F
0 NULL

DLE

DS SP &

0
1 SOH DC1 SOS a J A

J 1
2 STX DC2 FS SYN

b k s B

K

S 2
3 ETX DC3 c l t C

L T 3
4 PF RES BYP


PN d m

u D

M

U 4
5 HT NL LF RS e n v E N

V 5
6 LC BS ETB UC f o w

F O

W

6
7 DEL IL ESP EOT g p x G

P X 7
8 CAN

h q y H

Q

Y 8
9 RLF EM i r z I R Z 9
A SMM


CC SM ! ‘ :
B VT $ #
C FF IFS DC4 * %

@


D CR IGS ENQ

NAK

( ) ,
E SO IRS ACK

+ =
F SI IUS BEL SUB ? “

Các mã ñiều khiển không có trong ASCII là :
PF Punch Off CC Cursor Control
LC Lower Case IFS Interchange File Separator
UC Upper Case IGS Interchange Group Separator
RLF Reverse Line Feed IUS Interchange Unit Separator
SMM Start of Manual Message IRS Interchange Record Separator
RES Restore DS Digit Selector
NL New Line SOS Start of Significance
ID Idle BYP Bypass
SM Set Mode RS Reader Top
PN Punch On

3.2 CÁC MÃ PHÁT HIỆN LỖI :




Nhằm phát hiện lỗi người ta thêm vào dòng dữ liệu các bít kiểm tra. Phương pháp này
gọi chung là kiểm tra lỗi dư thừa (Redundancy error check methode), từ dư thừa ñược dùng
vì các bít thím vào không phải là phần thông tin cần gửi ñi.


3.2.1 Kiểm tra chẵn lẻ.
3.2.2 Kiểm tra dư thừa theo chu kỳ.
3.2.3 Mã Hamming.

3.2.1 Kiểm tra chẵn lẻ :
- Dùng kiểm tra chẵn lẻ ñể dò ra một bít sai :
Ðây là phương pháp kiểm tra ñơn giản nhất, bằng cách thêm vào sau chuỗi dữ liệu
(thường là một ký tự) một bít sao cho tổng số bít 1 kể cả bit thêm vào là số chẵn (hoặc lẻ), ở
máy thu kiểm tra lại tổng số này ñể biết có lỗi hay không. Phương pháp ñơn giản nên chất
lượng không cao, nếu số lỗi là chẵn thì máy thu không nhận ra.
- Dùng kiểm tra chẵn lẻ ñể dò sai hai bít :
Vì mỗi lần thực hiện kiểm tra chẵn lẻ cho phép dò ra một bít lỗi nên ta có thể nghĩ
rằng nếu thực hiện nhiều phép kiểm tra ñồng thời cho phép dò ñược nhiều lỗi.
Thí dụ, ñể dò ra 2 lỗi của một chuỗi dữ liệu có thể thực hiện hai phép kiểm tra, một
với các bít chẵn và một với các bít lẻ.
Cho chuỗi dữ liệu: 01101000
Lần lượt thực hiện kiểm tra chẵn với các bít ở vị trí 1, 3, 5, 7 và các bít ở vị trí 2, 4, 6,
8. Gọi P
1
và P
2
là các bít kiểm tra:

P
1
=0+1+1+0 = 0
và P
2
=1+0+0+0 = 1.
Chuỗi dữ liệu phát: 01101000 01.
Máy thu dò ra lỗi khi 2 bít liên tiếp bị sai. Tuy nhiên, nếu hai bít sai ñều là 2 bít chẵn
(hoặc 2 bít lẻ) thì máy thu cũng không dò ra.
- Dùng kiểm tra chẵn lẻ ñể dò ra một chuỗi bít sai :
Ðôi khi nhiễu làm sai cả một chuỗi dữ liệu (ta gọi là burst errors), ñể dò ra ñược chuỗi
bít sai này, người ta bắt chước cách lưu và truyền dữ liệu của máy tính (lưu từng bít của một
byte trong các chip riêng ñể truyền trên các ñường khác nhau và nơi nhận sẽ tái hợp) ñể thực
hiện việc kiểm tra. Chuỗi dữ liệu sẽ ñược chia ra thành các khung (frames), thực hiện kiểm
tra cho từng khung, thay vì phát mỗi lần một khung, người ta phát các tổ hợp bít cùng vị trí
của các khung, nhiễu có thể làm hỏng một trong các tổ hợp này và chuỗi bít sai này có thể
ñược nhận ra ở máy thu.
Thí dụ dưới ñây minh họa cho việc kiểm tra phát hiện chuỗi dữ liệu sai:


Gửi

Nhận

Số
khung
(hàng)
1
2
3

4
5
6
7
8
9
10
Số cột



0 1 1 0 1
1 0 0 0 1
0 1 1 1 0
1 1 0 0 1
0 1 0 1 0
1 0 1 1 1
0 1 1 0 0
0 0 1 1 1
1 0 0 1 1
1 1 0 0 0
1 2 3 4 5
Bit parity
của từng
hàng
1
0
1
1
0

0
0
1
1
0
6




Nhiễu tác
ñộng vào
cột 4,
làm cho
tất cả
các bit = 0

Số
khung
(hàng)
1
2
3
4
5
6
7
8
9
10

Số cột



0 1 1 0 1
1 0 0 0 1
0 1 1 0 0
1 1 0 0 1
0 1 0 0 0
1 0 1 0 1
0 1 1 0 0
0 0 1 0 1
1 0 0 0 1
1 1 0 0 0
1 2 3 4 5
Bit parity
của từng
hàng
1
0
1*
1
0*
0*
0
1*
1*
0
6
Máy thu dò ra các khung có lỗi (các bít parity có dấu *) nhưng không xác ñịnh ñược

cột nào bị sai do ñó phải yêu cầu máy phát phát lại tất cả các cột
- Kiểm tra khối:
Một cải tiến của kiểm tra chẵn lẻ là kiểm tra khối (Block Check Character, BCC). Bản
tin ñược viết thành khối và việc kiểm tra chẵn lẻ ñược thực hiện theo cả 2 chiều dọc (Vertical
Redundancy Check, VRC) và ngang (Longitudinal Redundancy Check, LRC)
Gọi các bít của mỗi ký tự là b
ij
(i=1, , n là thứ tự các bít trong ký tự ; j=1, , m là
thứ tự của ký tự)
R
j
là bít parity của ký tự thứ j, giả sử chọn parity chẵn, ta có :
R
j
= b
1j
+ b
2j
+ + b
nj

C
i
là bít parity của tất cả bít thứ i
C
i
= b
i1
+ b
i2

+ + b
im
+
Tập hợp các bít R
j
(j = 1, ,m) dùng kiểm tra chiều dọc và tập hợp các bít C
i
(i =
1, ,n) dùng kiểm tra chiều ngang.
(H 3.1) cho ta dạng của khối dữ liệu có thực hiện kiểm tra chẵn theo chiều ngang và
dọc.
bít 1 2 . . . . . . . bít n Parity
Character 1 B
11
B
21

. . . . . . . B
n1
R
1

10110111 ↓VRC


Character 2 B
12
B
22
. . . . . . . B

n2
R
2
11010111












00111010

11110000

10001011


Character m B
1m
B
2m
. . . . . . . b
nm
R

m
01011111

Paritycheck
char.
C
1
C
2
. . . . . . . C
n
C
n+1
01111110
←LRC

(H 3.1)
Phương pháp kiểm tra khối cho phép phát hiện và sửa một lỗi vì xác ñịnh ñược vị trí
của lỗi ñó, chính là giao ñiểm của hàng và cột có bít sai.
Máy thu có khả năng phát hiện hai lỗi sai trên cùng một hàng hoặc cột nhưng không
xác ñịnh ñược vị trí bít lỗi. Ví dụ hai bít 1 và 3 của ký tự thứ nhất cùng sai thì bít kiểm tra
VRC không phát hiện ñược nhưng bít LRC thì thấy ngay. Nếu bây giờ có thêm các bít 1 và 3
của ký tự thứ 5 cùng sai thì máy thu sẽ không phát hiện ñược, như vậy cũng còn trường hợp
không phát hiện ñược lỗi nếu số lỗi là một số chẵn theo những vị trí xác ñịnh nào ñó, tuy
nhiên trường hợp này rất hiếm xảy ra.
Tóm lại, dùng kiểm tra chẵn lẻ cho phép phát hiện lỗi trong một số trường hợp, tuy
nhiên hiệu suất phát sẽ bị giảm và chỉ ñược dùng trong các hệ thống có vận tốc truyền thấp
(bất ñồng bộ). Trong các hệ thống truyền ñồng bộ người ta hay sử dụng mã CRC , mã này
cho phép dò lỗi rất hiệu quả và hiệu suất truyền cũng cao.



3.2.2 Kiểm tra dư thừa theo chu kỳ :
Ðể cải thiện hơn nửa việc kiểm tra lỗi người ta dùng phương pháp kiểm tra dư thừa
theo chu kỳ (Cyclic Redundancy Check, CRC)
Nguyên tắc tạo mã CRC : Xét khung dữ liệu gồm k bít và nếu ta dùng n bít cho khung
kiểm tra FCS (Frame check sequence) thì khung thông tin kể cả dữ liệu kiểm tra gồm (k+n)
bít sao cho (k+n) bít này chia ñúng cho một số P có (n+1) bít chọn trước (dùng phép chia
Modulo-2). Ở máy thu khi nhận ñược khung dữ liệu, lại mang chia cho số P này và nếu phép
chia ñúng thì khung dữ liệu không chứa lỗi.
* Nhắc lại một số tính chất của phép toán Mod-2 :
- Phép cộng Mod-2 là phép cộng nhị phân không nhớ, dưới ñây là thí dụ về phép
cộng và phép nhân

1111 11001
+ 1010 x 11
0101 11001
11001
101011
- Phép cộng Mod-2 ñược thực hiện bởi cổng EX-OR
- Phép trừ Mod-2 giống như phép cộng
- Nhân Mod-2 một số với 2
n
tương ứng với dời số ñó n bít về bên trái và thêm
n bít 0 vào bên phải số ñó, thí dụ 11001* 2
3
= 11001000
- Phép chia Mod-2 ñược thực hiện giống như phép chia thường nhưng nhớ là
phép trừ trong khi chia ñược thực hiện như phép cộng.



3.2.2.1. Xác ñịnh mã CRC dùng thuật toán Mod-2.
3.2.2.2. Dùng phép biểu diễn ña thức.
3.2.2.3. Khả năng dò sai của mã CRC.
3.2.2.4. Mạch tạo mã CRC.

3.2.2.1. Xác ñịnh mã CRC dùng thuật toán Mod-2 :
Gọi T = (k+n) bít là khung thông tin ñược phát , với n < k
M = k bít dữ liệu, k bít ñầu tiên của T
F = n bít của khung FCS, n bít cuối của T
P = (n+1) bít, số chia trong phép toán
Số T ñược tạo ra bằng cách dời số M sang trái n bít rồi cộng với số F :
T = 2
n
M + F
Chia số 2
n
M cho P ta ñược :



2
n


Q là số thương và R là số dư
Vì phép chia thực hiện với số nhị phân nên số dư luôn luôn ít hơn số chia 1 bít.
Ta dùng số dư này làm số F, nghĩa là :
T = 2
n
M + R.

Ở máy thu khi nhận ñược khối dữ liệu, mang chia cho P, kết quả số dư sẽ = 0 :



Vì R + R = 0 nên T / P = Q
Như vậy dùng số dư R của phép chia 2
n
M cho P làm ký tự kiểm tra trong khung FCS thì
chắc chắn T sẽ chia ñúng cho P nếu bản tin không có lỗi.
Thí dụ:
Cho M = 1010001101 (10 bít)
P = 110101 (6 bít)
Số phải tìm R (5 bít) cho khung FCS ñược xác ñịnh như sau :
- Nhân M với 2
5
cho : 101000110100000
- Thực hiện phép chia cho P
1101010110


110101


110101↓
0111011
110101↓↓
00111010
110101↓↓
00111110
110101↓↓

00101100
110101↓
0110010
110101↓
0001110 ← R
Ta có R = 01110, cộng với 2
5
M, sẽ cho số T phát ñi là :
T = 101000110100000 + 01110 = 101000110101110
Nếu bản tin không có lỗi T phải chia ñúng cho P.
Thực hiện phép chia T/P ta thấy số dư = 0
Tóm lại, ñể có một khung FCS n bít , người ta phải dùng một số P có n+1 bít ñể tạo số
R có n bít dùng cho khung FCS. P ñược gọi là ña thức sinh (generator polynomial), dạng của
nó do các giao thức qui ñịnh, tổng quát P phải có bít ñầu và bít cuối là bít 1.

3.2.2.2. Dùng phép biểu diễn ña thức :
Ðể thấy quá trình hình thành mã CRC, ta có thể dùng phép biểu diễn một số nhị phân
dưới dạng một ña thức của biến x với hệ số là các số nhị phân và bậc của x là giá trị chỉ vị trí
của số nhị phân ñó.
Ví dụ số nhị phân 110101 có thể biểu diển bởi
1.x
5
+ 1.x
4
+ 0.x
3
+ 1. x
2
+ 0.x
1

+ 1.x
0
= x
5
+ x
4
+ x
2
+ 1
Chú ý mã số n bít cho bậc cao nhất của ña thức là n-1
Quá trình hình thành mã CRC thực hiện như sau :
- Gọi M là ña thức biểu diễn thông tin cần truyền
P là ña thức sinh, bậc n (chứa n+1 bit)
Thực hiện phép chia



x
n


Khung thông tin truyền ñặc trưng bởi
T(x) = x
n
M(x) + R(x)
Lưu ý là nhân M(x) với xn tương ñương với việc dời M(x) sang trái n bít
-
Ở máy thu thực hiện phép chia T(x) cho P(x) số dư phải bằng không






Lấy lại thí dụ trên, bản tin 1010001101 tương ứng với ña thức

M(x) = x
9
+ x
7
+ x
3
+ x
2
+1
Số chia P = 110101 (6 bít) tương ứng với ña thức
P(x) = x
5
+ x
4
+ x
2
+1
x
5
M(x) =

x
14
+ x
12

+ x
8
+ x
7
+ x
5

Thực hiện phép chia :
x
9
+ x
8
+ x
6
+ x
4
+ x
2
+x
x
5
+ x
4
+ x
2
+1 x
14
+ x
12
+ x

8
+ x
7
+ x
5

x
14
+ x
13
+ x
11
+ x
9

x
13
+ x
12
+ x
11
+ x
9
+ x
8
+ x
7
+ x
5
x

13
+ x
12
+ x
10
+ x
8
x
11
+ x
10
+ x
9
+ x
7
+ x
5

x
11
+ x
10
+ x
8
+ x
6
x
9
+ x
8

+ x
7
+ x
6
+ x
5
x
9
+ x
8
+ x
6
+x
4

x
7
+ x
5
+ x
4

x
7
+ x
6
+ x
4
+ x
2


x
6
+ x
5
+ x
2

x
6
+ x
5
+ x
3
+ x


x
3
+ x
2
+ x = R(x)
R(x) = x
3
+ x
2
+ x tương ứng với 01110

3.2.2.3. Khả năng dò sai của mã CRC :
Một lỗi xảy ra ở một vị trí nào ñó trong khung dữ liệu làm ñảo bít ở vị trí ñó của

khung, ñiều này tương ñương với phép tính EX-OR bít ñó và bít 1 (vì 0+1=1 và 1+1=0).
Nếu gọi E là một khung có số lượng bit bằng với khung dữ liệu, trong ñó chỉ các vị trí
của bít lỗi = 1 và các bít khác = 0 thì khung thông tin Tr nhận ñược có thể viết.
Tr = T + E.
Thí dụ:
T = 11010111010
Dạng ña thức: T(x) = x
10
+ x
9
+ x
7
+ x
5
+ x
4
+ x
3
+ x
Giả sử bản tin sai ở các bít x
7
, x
5
và x
4
Khung E có dạng: E = 00010110000
E(x) = x
7
+ x
5

+ x
4

Khung dữ liệu nhận ñược: Tr = 11000001010
Tr(x) =x
10
+ x
9
+ x
3
+ x
Lưu ý phép cộng Modulo 2, tương ứng với phép toán EX-OR, nên x
7
+x
7
=(1+1)x
7
= 0

Ta có:


Máy thu không nhận ra lỗi khi nào Tr(x) chia ñúng cho P(x), hay chỉ khi E(x)
chia ñúng cho P(x).
Vậy với ñiều kiện nào thì E(x) chia hết cho P(x)? Ta sẽ xét một số trường hợp cụ thể:
@- Giả sử bản tin chỉ sai một bít, ña thức E(x) có dạng xi, i là một số nguyên, E(x)
chia ñúng cho P(x) chỉ khi P(x) cũng có dạng x
n
. Người ta ñã chọn P(x) có ít nhất là 2 số
hạng nên E(x) không thể chia ñúng cho P(x). Vậy


Mã CRC luôn luôn cho phép máy thu dò ra một bít sai.

@- Giả sử bản tin sai một chuỗi, nhưng có tổng số bít sai là số lẻ: ña thức E(x) chứa
số lẻ bít 1 nên E(1) =1. Mặt khác, giả sử (x+1) là thừa số của P(x), ta có thể viết P(x) =
(x+1)*H(x), H(x) là một ña thức. Ta cũng giả sử lỗi này không ñược dò ra, nghĩa là E(x) chia
ñúng cho P(x), hay E(x) = P(x)*K(x). Thay P(x) = (x+1)*H(x) vào E(x) ñược E(x) =
(x+1)*H(x)*K(x), biểu thức này cho E(1) = 0. Ðiều này trái với giả thiết ở trên, hay nói cách
khác, máy thu sẽ dò ra lỗi nếu ta chọn P(x) sao cho chia ñúng cho (x+1). Vậy
Máy thu sẽ luôn luôn dò ra lỗi gồm nhiều bít và có tổng số bít lỗi là số lẻ nếu ta
chọn P(x) chia ñúng cho (x+1).
@-Giả sử nhiễu làm sai một ñoạn dữ liệu có chiều dài m ( bậc n của P(x))
Giả sử chuỗi bít sai có vị trí từ thứ i ñến thứ i+m-1, E(x) có dạng:
E(x) = x
i+m-1
+ . . . . +x
i
= x
i
*(x
m-1
+ . . . +1)



P(x) không là thừa số của xi nên E(x) chỉ chia ñúng cho P(x) khi x
m-1
+ . . . +1
chia ñúng cho P(x).
Vì m ≤ n hay m-1< n nên phép chia trên không thể là phép chia ñúng. Vậy


Máy thu luôn luôn dò ra lỗi nếu chuỗi dữ liệu sai có chiều dài (bậc của P(x)
@-Ðoạn dữ liệu sai có chiều dài m >n
Từ kết quả trên



Nhưng bây giờ m-1≥ n nên x
m-1
+ . . . +1 có thể chia ñúng cho P(x). Vậy vấn ñề là có
bao nhiêu cơ hội ñể ñiều này xảy ra.
- Trường hợp m-1 = n hay (m=n+1). Vì bậc của P(x) là n nên ñể có phép chia ñúng
P(x) phải có dạng x
n
+ . . . . . +1 với các số hạng giữa x
n
và 1 phải hoàn toàn giống với các số
hạng của x
m-1
+ . . . . . +1 thì máy thu không dò ñược lỗi. Có n-1 số hạng giữa x
n
và 1 nên có
2
n-1
tổ hợp và nếu các tổ hợp này có xác suất xảy ra như nhau thì xác suất máy thu không
nhận ñược lỗi sẽ là 1/2
n-1
.
- Trường hợp m > n+1, ta chấp nhận kết quả xác suất này là 1/2
n

.
Lấy thí dụ mã CRC-32 (n=32), xác suất không dò ra một lỗi có chiều dài >33 bit là
1/2.10
32
(tương ñương với khả năng dò ra lỗi là 99,99999998%).
Tóm lại với n càng lớn việc máy thu không dò ra lỗi càng rất khó xảy ra.

3.2.2.4. Mạch tạo mã CRC :
Thuật toán mod 2 ñược thực hiện bởi cổng EX-OR.
Dời bít ñược thực hiện bởi thanh ghi dịch.
Quan sát phép tính chia Mod-2 của số 2
n
M cho P(x) ñể có R(x) ta thấy ñây là sự kết
hợp của sự dời bít của số 2
n
M với phép cộng Mod-2 của số P(x). Trong thí dụ trên, ñể tạo
mã CRC với P(x) = 110101, người ta dùng mạch (H 3.2): Cho chuỗi dữ liệu là số 2
n
M (gồm
15 bit, 101000110100000) vào mạch, sau 15 lần dời bít, kết quả trên các thanh ghi dịch
chính là R(x). Mạch tạo mã trong trường hợp này gồm 5 thanh ghi dịch, ký hiệu A(x
5
),
B(x
4
), C(x
3
), D(x
2
), E(x) .

Mạch tạo mã CRC ñược thực hiện như sau:
- Thanh ghi dịch chứa n bít, bằng với chiều dài của khung FCS.
- Có nhiều nhất n cổng EX-OR.
- Sự có mặt hay không của cổng EX-OR tương ứng với sự có mặt của số hạng lũy
thừa bậc n trong ña thức P(x) (Riêng bậc cao nhất (n) của ña thức không kể )



(H3.2)

A B C D E Bít vào

×