BÀI 3: KỸ THUẬT MÃ HÓA
Mã hóa và điều chế
Mã NRZ (Nonreturn to Zero)
Mã Multilevel Binary
• Dùng nhiều hơn 2 mức tín hiệu
Bipolar-AMI (Alternate Mark Inversion)
– 0 được biểu diễn bằng không có t/h
– 1 được biểu diễn bằng xung dương hay xung âm
– Các xung 1 thay đổi cực tính xen kẽ
– Không mất đồng bộ khi dữ liệu là một dãy 1 dài (dãy 0 vẫn bị
vấn đề
đồng bộ)
– Không có thành phần một chiều
– Băng thông thấp
– Phát hiện lỗi dễ dàng
Pseudoternary
– 1 được biểu diễn bằng không có t/h
– 0 được biểu diễn bằng xung dương âm xen kẽ nhau
– Không có ưu điểm và nhược điểm so với bipolar-AMI
Mã Multilevel Binary
Trade Off
– Không hiệu quả bằng NRZ
– Mỗi phần tử t/h chỉ biểu diễn 1 bit
Hệ thống 3 mức có thể biểu diễn log23= 1.58 bit
– Bộ thu phải có khả năng phân biệt 3 mức (+A, -A, 0)
– Cần thêm khoảng 3dB công suất để đạt được cùng xác
suất bit lỗi của binary code
Mã Biphase: Manchester
– Thay đổi ở giữa thời khoảng bit
– Thay đổi được dùng như t/h đồng bộ (clock) và
dữ liệu
– L→H biểu diễn 1
– H→L biểu diễn 0
– Dùng trong IEEE 802.3 (ethernet)
Mã Differential Manchester
– Thay đổi giữa thời khoảng bit chỉ dùng cho đồng bộ
– Thay đổi đầu thời khoảng biểu diễn bit 0
– Không có thay đổi ở đầu thời khoảng biểu diễn bit 1
– Dùng trong IEEE 802.5 (token ring)
Ưu và nhược điểm mã Biphase
– Nhược
• Tối thiểu có 1 thay đổi trong
thời khoảng 1 bit và có thể có
2
• Tốc độ điều chế tối đa bằng 2
lần NRZ
• Cần băng thông rộng hơn
– Ưu
• Đồng bộ dựa vào sự thay đổi ở
giữa thời khoảng bit (self
clocking)
• Không có thành phần một
chiều
• Phát hiện lỗi Khi thiếu sự thay
đổi mong đợi
Mã B8ZS và HDB3
• B8ZS (Bipolar With 8 Zeros Substitution)
– Dựa trên bipolar-AMI
– Nếu có 8 số 0 và xung điện áp cuối cùng trước đó là dương, mã
thành 000+–0–+
– Nếu có 8 số 0 và xung điện áp cuối cùng trước đó là âm,
mã thành 000–+0+–
– Gây ra 2 vi phạm mã AMI
– Không thể lầm lẫn với tác động gây ra bởi nhiễu
– Bộ thu phát hiện và diễn giải chúng như 8 số 0
• HDB3 (High Density Bipolar 3 Zeros)
– Dựa trên bipolar-AMI
– Chuỗi 4 số 0 được thay thế bằng chuỗi có 1 hoặc 2 xung
theo quy tắc:
• Nếu số bit 1 kể từ lần thay thế cuối cùng là lẻ: “ 0000” -> “000V”
• Nếu số bit 1 kể từ lần thay thế cuối cùng là chẵn: “ 0000” ->
“B00V”
Mã B8ZS và HDB3
So sánh các pp mã hóa
• Phổ t/h
– Việc thiếu thành phần tần số cao làm giảm yêu cầu về băng thông
– Thiếu thành phần một chiều cho phép “ac coupling” thông qua bộ biến
đổi
– Tập trung công suất ở giữa băng thông
• Đồng bộ
– Đồng bộ bộ thu và bộ phát
– T/h đồng bộ ngoại vi
– Cơ chế đồng bộ dựa trên t/h
• Khả năng phát hiện lỗi
– Cóthể được tích hợp trong cơ chế mã hóa
• Nhiễu và khả năng miễn nhiễm
– Vài mã tốt hơn các mã khác
• Độ phức tạp và chi phí
– Tốc độ t/h cao hơn (và do đó tốc độ dữ liệu cao hơn) dẫn tới chi phí
cao
– Vài mã đòi hỏi tốc độ t/h cao hơn tốc độ dữ liệu
Mã nhị phân của các chữ cái và 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 2n 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
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.
• Với n = 5 chỉ có 25 = 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
• Khi dùng mã Baudot để truyền bất đồng
bộ, số bít stop luôn luôn là 1,5
Mã Baudot
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ó 27 =
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.
Mã ASCII
Các loại 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
Các loại lỗi xảy ra trên đường truyền
• Môi trường truyền dẫn bị nhiễu (điện, từ, …) → dữ liệu nhận có lỗi
(các bit bị thay đổi)
• 2 cách khắc phục khi phát hiện có lỗi
– Forward error control: thông tin sửa sai được thêm vào các ký tự
hoặc các frame truyền đi, để bên nhận có thể phát hiện khi nào có
lỗi va lỗi nằm ở đâu để sửa (có khả năng sửa lỗi)
– Feedback (backward) error control: thông tin sửa sai được thêm vào
các ký tự hoặc các frame truyền đi chỉ đủ để phát hiện khi nào có lỗi
(không có khả năng sửa lỗi). Cơ chế yêu cầu truyền lại ký tự/frame
sai được dùng trong trường hợp này
• Phân loại lỗi
– Lỗi 1 bit
• Chỉ 1 bit bị lỗi, không ảnh hưởng các bit xung quanh
• Thường xảy ra do nhiễu trắng
– Lỗi chùm (busrt error)
• Một chuỗi liên tục B bit trong đó bit đầu, bit cuối và các bit bất kì nằm
giữa chuỗi đều bị lỗi
• Thường xảy ra do nhiễu xung
• Ảnh hưởng càng lớn đối với tốc độ truyền cao
Cơ chế phát hiện lỗi
Kiểm tra lỗi bằng pp kiểm tra chẵn lẻ
• Dùng kiểm tra chẵn lẻ để dò ra một bít sai
• Dùng kiểm tra chẵn lẻ để dò sai hai bít
• Dùng kiểm tra chẵn lẻ để dò ra một chuỗi
bít sai
• Kiểm tra khối
Kiểm tra chẵn lẻ 1 bit
• 1 bit parity được thêm vào 1
khối dữ liệu cần truyền đi
• Bit parity
– Parity chẵn: tổng số bit 1
có trong khối dữ liệu, kể cả
bit parity, là số chẵn
– Parity lẻ: tổng số bit 1 có
trong khối dữ liệu, kể cả bit
parity, là số lẻ
Đặc điểm pp kiểm tra chẵn lẻ 1 bit
• Chỉ dò được lỗi sai
một
• số lẻ bit, không dò
được lỗi sai một số
chẵn bit
• Không sửa được lỗi
• Ít được dùng trong
truyền dữ liệu đi xa,
đặc biệt ở tốc độ cao
Kiểm tra chẵn lẻ dò sai 2 bit
• Lần lượt kiểm tra
chẵn lẻ với các bít ở
vị trí chẵn và vị trí lẻ.
• Máy thu dò ra lỗi khi 2
bít liên tiếp bị sai.
• 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.
B7 B6 B5 B4 B3 B2 B1 B0
⊕
P1
⊕
P2
Mã kiểm tra chẵn lẻ 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)
Mã kiểm tra chẵn lẻ khối
(Block Check Character, BCC )
• Gọi các bít của mỗi ký tự là bij (i=1,....., n là thứ
tự các bít trong ký tự ; j=1,...., m là thứ tự của ký
tự)
• Rj là bít parity của ký tự thứ j, giả sử chọn parity
chẵn, ta có :
Rj = b1j + b2j + ...........+ bnj
• Ci là bít parity của tất cả bít thứ i
Ci = bi1 + bi2 + ...........+ bim +
• Tập hợp các bít Rj (j = 1,.......,m ) dùng kiểm tra
chiều dọc và tập hợp các bít Ci (i = 1,......,n)
dùng kiểm tra chiều ngang