Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 83 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
83
Dung lượng
2,06 MB
Nội dung
CHƯƠNG 5: ĐIỀU KHIỂN LIÊN KẾT DỮ LIỆU 5.1 Phát lỗi sửa sai Trong hệ thống truyền dẫn số, lỗi xảy có bit bị biến đổi bên gửi bên nhận Có dạng lỗi: Lỗi bit lỗi nhiều bit (burst) cịn gọi lỗi cụm Hình Các dạng lỗi - Lỗi bit: Chỉ có bit bị sai đơn vị liệu (byte, ký tự, đơn vị liệu, hay gói) Ví dụ: thay đổi từ 0 từ 1 00000010 (STX: start of text) bị sai bit liệu nhận 00001010 (LF: line feed) Hình Lỗi bit Lỗi bit xuất phương thức truyền nối tiếp, mà thường xuất truyền song song - Lỗi cụm: có hai nhiều bit sai đơn vị liệu Hình 5.3 Lỗi nhiều bit (lỗi cụm) Lỗi cụm khơng có nghĩa bit bị lỗi liên tục, chiều dài tính từ bit sai bit sai cuối Một số bit bên cụm khơng bị sai 114 Lỗi cụm thường xuất truyền nối tiếp Lỗi bit khơng thể tránh khỏi q trình truyền dẫn nhiều nguyên nhân: đường truyền, lưu lượng truyền, loại mã đùng, loại điều chế, loại thiết bị phát, thiết bị thu, hay xuyên nhiễu kết bit khung truyền bị lỗi Để tăng xác suất thu thông tin bên thu hệ thống cần sử dụng biện pháp phát sửa sai đầu thu Một số kỹ thuật thường dùng: - Dùng giải mã có khả tự sửa sai Truyền lại phận liệu để thực việc sửa sai, cách gọi ARQ - Automatic Repeat Request Hình 5.4 Xử lý phát lỗi Các phương pháp sửa lỗi dựa nguyên tắc sau: Khi khung liệu truyền chèn thêm số bit kiểm tra gọi mã phát lỗi hay bit kiểm tra Mã tính tốn hàm bit truyền Cụ thể, có khối gồm k bit liệu cần truyền đi; từ khối bit này, người ta sử dụng thuật toán phát lỗi để tính mã phát lỗi gồm (n – k) bit, với (n – k) < k, để đóng gói liệu tạo thành khung gồm n bit truyền Bên thu tách khung thu thành k bit liệu (n – k) bit kiểm tra Sau đó, dựa vào k bit thơng tin thu được, bên thu sử dụng thuật toán phát lỗi tương tự bên phát để tính tốn lại bit kiểm tra; đối chiếu với bit kiểm tra thu Nếu chúng khác kết luận trình truyền tin có lỗi Ngun tắc thể sơ đồ hình 5.4 115 5.1.1 Phƣơng pháp kiểm tra bit chẵn lẻ (parity bit) Phương pháp thông dụng dùng để phát lỗi bit truyền không đồng truyền đồng hướng ký tự phương pháp kiểm tra bit chẵn lẻ (parity bit) Với cách máy phát thêm vào ký tự truyền bit kiểm tra parity tính tốn trước truyền Khi nhận thơng tin truyền, máy thu thực thao tác tính tốn ký tự thu được, so sánh với bit kiểm tra parity thu Nếu chúng nhau, giả sử khơng có lỗi, ta dùng từ giả sử, cách khơng phát lỗi lỗi tồn liệu Nhưng chúng khác chắn lỗi xảy Hình 5.5 Mạch tạo bit kiểm tra chẵn (VRC) liệu bit: 1100001 Hình 5.6 Mạch kiểm tra chẵn (VRC) liệu bit (11000011) Để tính toán bit parity cho ký tự, số bit mã ký tự cộng module với bit parity chọn cho tổng số bit bao gồm bit parity chẵn (even parity) lẻ (odd parity) Trong mã ASCII ký tự có bit bit kiểm tra Với kiểm tra chẵn giá trị bit kiểm tra số lượng bit có giá trị bit chẵn có giá trị trường hợp ngược lại Với kiểm tra lẻ ngược lại Thơng thường người ta sử dụng kiểm tra chẵn bit kiểm tra gọi P Giá trị kiểm tra cho phép đầu thu phát sai sót 116 đơn giản Ví dụ 5.1: Kí tự A Bit kiểm tra P Mã ASCII 1000001 Từ mã phát 10000010 E 1010001 10100011 Phương pháp kiểm tra bit chẵn lẻ phát lỗi đơn bit (số lượng bit lỗi số lẻ) phát lỗi bit (hay số bit lỗi số chẵn) 5.1.2 Kiểm tra tổng BSC (Block Sum Check) Khi khối ký tự truyền đi, xác suất ký tự chứa lỗi bit gia tăng Chúng ta mở rộng khả phát lỗi từ bit parity ký tự (byte) cách dùng tập bit parity tính từ tồn khối ký tự khung Với phương pháp này, ký tự khung phân phối bit parity (parity hàng) Ngồi bit mở rộng tính cho vị trí bit (parity cột) tồn khung Tập bit parity cho cột gọi ký tự kiểm tra khối, BCC (block check character) bit tạo nên ký tự tổng module tất bit cột tương ứng Ví dụ hình 5.7 dùng phương pháp kiểm tra lẻ cho bit parity hàng, phương pháp kiểm tra chẵn cho bit parity cột giả sử khung chứa ký tự in a) [ ] = ví dụ tổ hợp lỗi khơng phát Pr = Bit parity hàng 117 b) Hình 5.7 Ví dụ kiểm tra BSC: a) Các bit parity hàng cột; b): Tổng bù Trong ví dụ thì, lỗi bit ký tự thoát khỏi kiểm tra parity theo hàng, chúng bị phát kiểm tra parity cột tương ứng Tuy nhiên, điều khơng có lỗi bit xảy cột thời điểm Xác suất xảy trường hợp nhỏ nhiều so với xác suất xảy lỗi bit ký tự Việc dùng kiểm tra tổng khối cải thiện đáng kể đặc trưng phát lỗi lược đồ kiểm tra chẵn lẻ Một dạng khác lược đồ dùng tổng bù làm sở cho kiểm tra tổng khối, thay dùng tổng module Nguyên lý lược đồ minh họa hình 5.2 b Trong lược đồ này, ký tự khối cần truyền xem số nhị phân không dấu Trước hết, số cộng với dùng phép toán bù Tất bit kết đảo ngược bit (mã bù 1) kết đảo ngược dùng ký tự kiểm tra khối BCC (mã bù 1) Tại máy thu, tổng bù tất ký tự khối, bao gồm ký tự kiểm tra tính Nếu khơng có lỗi xuất kết zero Với phép tốn bù 1, số nhớ cuối dùng, giá trị vượt ngồi vị trí bit có nghĩa lớn cộng vào tổng nhị phân hữu Zero phép bù biểu diễn tất bit nhị phân tất Từ hình 5.2 b, suy đặc tính phát lỗi lược đồ tốt so với phương pháp tổng module Tổng bù tính dễ dàng, nên dùng phương pháp phát lỗi số ứng dụng yêu cầu hoạt động phát lỗi thực phần mềm Ví dụ 5.2: Giả sử khối 16 bit sau gửi dùng checksum bit 10101001 00111001 Xác định bit kiểm tra BCC thực việc kiểm tra bên thu thu 118 Giải: Tính tốn bit BCC: 10101001 00111001 Chuỗi bit truyền Tổng 11100010 BCC 10101001 00011101 00111001 00011101 BCC Giả sử máy thu nhận mẫu sau ví dụ khơng có lỗi, 10101001 00111001 Khi máy thu cộng ba phân đoạn lại: 10101001 00111001 00011101 Tổng 11111111 Kết không lỗi 5.1.3 Kiểm tra CRC (Cyclic Redundancy Check) Các mã thích hợp cho ứng dụng xuất lỗi đơn bit ngẫu nhiên Tuy nhiên, khối lỗi xuất hiện, phải dùng phương pháp chắn Một loại mã phát lỗi phổ biến mã vòng dư thừa CRC (Cyclic Redundancy Check) Phương pháp kiểm tra tín hiệu mã vịng thực sau: Cách 1: Một từ mã viết dạng đa thức C ( x) Cn1 X n1 Cn2 X n2 C1 X C0 (5.1) Tín hiệu cần phát khung gồm k bit bên phát thêm vào (c = n-k) bit để kiểm tra gọi Khung Check Sequence (FCS) Như tín hiệu phát bao gồm n bit Bên thu nhận tín hiệu đem chia cho đa thức gọi đa thức sinh biết trước (bên phát bên thu chọn đa thức này) Nếu kết chia khơng dư coi tín hiệu nhận Kết dư lại phép chia CRC Bên thu sau nhận thông báo đem chia cho hàm biết trước bên phát Nếu kết trình truyền khơng gây sai số Tính FCS gồm bước: + Bước 1: Chuyển thông báo nhị phân thành đa thức M(x) Chọn hàm cho trước G(x) có bậc c, G( x) X c ( c độ dài CRC ) 119 + Bước : Nhân M (x) với X c + Bước : Thực phép tính Q( x) M ( x) X c ta phần nguyên số dư G ( x) R( x) , R(x) CRC (FCS ) G ( x) + Bước : Thành lập C (x) thơng báo cần truyền C ( x) X c M ( x) R( x) Ví dụ: Tín hiệu cần truyền 110101 Ta có M ( x) X X X Chọn đa thức sinh G( x) X , có c Tính M ( x) X R( x) Q( x) G ( x) G ( x) X8 + X7 + X5 + X3 X8 + X5 X7 + X3 X7 + X4 X3 + X5 + X4 + X + X4 + X X3 +X X3 +1 X+1 Vậy R( x) X ; Q( x) X X X Thông tin cần truyền đường truyền 110101011 Thu kiểm tra CRC Để kiểm tra sai số truyền, phận thu đem khối thông tin thu chia cho G(x) theo module phần dư cịn lại khơng mã nhận đúng, phần dư khác không mã nhận sai Kiểm tra CRC : Ta có hàm phát đi: C ( x) X c M ( x) R( x) X c M ( x) R( x) Trong , R(x) đa thức dư Q( x) G ( x) G ( x) Tại đầu thu ta thu C ' ( x) đem giá trị thu chia cho đa thức sinh G(x) ta có: C ' ( x) X c M ( x) R( x) X c M ( x) R( x) R( x) R( x) Q( x ) G ( x) G ( x) G ( x) G ( x) G ( x) R( x) = Q( x ) R( x) C ' ( x) (1 1) mà (1 1) → Q( x) G ( x) G ( x) 120 Phần dư Ví dụ 5.3: Thơng tin truyền là: 110101011 Thông tin nhận là: 110101011 Thực kiểm tra việc truyền tin không lỗi bên nhận Giải: Kiểm tra việc truyền tin không lỗi bên nhận, điều có nghĩa truyền tức R(x) phải Kiểm tra CRC sau : Chuyển thông tin nhận thành đa thức : 110101011 → X X X X X 1 Đa thức sinh mà bên thu bên phát biết G( x) X đem đa thức nhận chia cho đa thúc G(x) chắn phần dư Thực phép chia sau : X8 + X7 + X5 + X3 + X + X8 + X5 X7 + X3 X7 + X4 X4 + X3 + X X4+ X X +1 X3 + = R(x) X3 + X5 + X4 + X + Cách 2: Chúng ta biểu diễn xác định FCS trực tiếp từ bit nhị phân theo cách đây: Chúng ta định nghĩa: T = khung gồm n bit truyền D = khối liệu gồm k bit, k bit vị trí đầu T F = mã kiểm tra FCS gồm (n – k) bit, (n-k) bit vị trí cuối T P = mẫu gồm (n – k + 1) bit, số chia xác định trước Ta biều diễn T sau: T = 2n-kD + F F chuỗi bit kiểm tra thêm vào sau bit liệu, đảm bảo cho phép chia T/P khơng có dư Thực phép chia 2n-kD/P, ta có: 121 2n k D R Q P P (5.2) Trong Q thương, R/P phần dư Vì phép chia module nên phần dư ln số chia bit Chúng ta lấy phần dư làm FCS Dưới đây, ta chứng minh R thỏa mãn điều kiện đảm bảo cho phép chia T/P khơng có dư Thật vậy: T 2nk D R T n k D R 2n k D R P P P P (5.3) Thay biểu thức (5.2) vào (5.3), ta có: T R R Q P P P (5.4) Tuy nhiên, số nhị phân cộng module với Do đó: T RR Q Q P P (5.5) Như vậy, phép chia T/P khơng có dư, hay T chia hết cho P Qua đó, ta thấy, FCS dễ dàng tạo cách chia 2nk D cho P sử dụng (n – k) bit phần dư làm FCS Bên thu thực chia T cho P, dư kết luận khung khơng lỗi Ví dụ 5.4: Cho tin cần truyền D = 1010001101 (10 bit) Mẫu P = 110101 (6 bit) Xác định khung cần truyền? Giải: FCS cần xác định gồm bit Do đó, n = 15 Bản tin nhân với 25 : 101000110100000 Ta thực phép chia module 2: 25D cho P: 122 Phần dư cộng với 25D tạo thành chuỗi bit T = 101000110101110 truyền Tại bên thu, chuỗi bit T nhận chia cho P để kiểm tra Nếu lỗi xảy phần 5.1.4 Phát sửa sai theo Hamming Các phương pháp trình bày phát lỗi truyền, sửa sai Phương pháp trình bày sau phát lỗi sai mà cịn sửa sai cho số bit định Hình 5.8 mơ tả tổng qt q trình xử lý phát lỗi Khi liệu đọc vào nhớ, việc tính tốn biểu diễn hàm f tiến hành liệu để tạo mã sửa sai Cả mã liệu lưu giữ Do đó, M bit từ (word) lưu giữ, mã có chiều dài k bit kích thước thực lưu giữ M + K bit 123 ... lỗi Sửa lỗi đơn Số bit liệu Số bit kiểm tra 16 64 %gia tăng 50 31 ,25 18,75 128 25 6 10,94 6 ,25 3, 52 125 Sửa lỗi đơn/ Phát lỗi kép Số bit kiểm tra %gia tăng 62, 5 37,5 21 ,875 10 12, 5 7,03 3,9 Các... bit) Xác định khung cần truyền? Giải: FCS cần xác định gồm bit Do đó, n = 15 Bản tin nhân với 25 : 101000110100000 Ta thực phép chia module 2: 25 D cho P: 122 Phần dư cộng với 25 D tạo thành chuỗi... (buffer) 5.3 .2 Các phƣơng pháp điều khiển luồng Có hai phương pháp dùng là: dừng - - chờ cửa sổ trượt Hình 5. 12 Hai phương pháp dùng điều khiển lưu lượng 133 5.3 .2. 1 Dừng - - chờ (Stop - and - wait)