KIỂM TRA VÒNG (CRC)

Một phần của tài liệu KTTruyen So lieu Chuong 8_9 (Trang 27 - 30)

DÒ TÌM VÀ SỬA LỖ

9.5. KIỂM TRA VÒNG (CRC)

Phương pháp thứ 3 và là phương pháp mạnh nhất trong các phưong pháp thêm thông tin kiểm tra là kiểm tra vòng (CRC). Không như các phưong pháp VRC và LRC dựa trên bộ cộng, CRC dựa trên bộ chia nhị phân. Trong CRC thay vị thêm các bít để đạt được sự chẵn lẻ theo yêu cầu, CRC thêm phần các bít được gọi là phần dữ CRC để mà dữ liệu nhận đựa chia hết cho một khối dữ liệu nhị phân xac định trước. Ở trạm nhận, dữ liệu được chia cho cùng khố dữ liệu đó. Nếu phép chia là không có dư, dữ liệu đựoc coi như truyền chính xác và được chập nhận. Phần dư chỉ ra rằng dữ liệu đã bị lỗi trong quá trình truyền và cần loại bỏ.

Các bít thêm vào được sử dụng bởi CRC được tạo ra bằng cách chia mỗi đơn vị dữ liệu cho một bộ chia, số dư là CRC. Để đảm bảo điểu kiện, số dư phải thảo mãn 2 yêu cầu sau:

- Nó phải có số bít it hơn số bít của bộ chia 1

- Khi thêm nó vào cuối dữ liệu thì kết quả nhận được phải chia hết cho sô chia

Hình 9.8 Bộ tạo CRC và kiểm tra (CRC generator and checker)

Cả về mặt lý thuyết lẫn ứng dụng của CRC đều khá rõ ràng. Chỉ có một điều phức tạp là để nhận được số dư CRC. Chúng ta xem các bước cơ bản của phương pháp như sau:

- Đầu tiên một xâu gồm n bít được thêm vào cuối dữ liệu. Số bít của số chia sẽ là n+1

- Tiếp đó dữ liệu mới nhận được được chia cho số chia sử dụng phép chia nhị phân. Phần dư gọi là CRC

- Lấy phần dư CRC gồm n bít thay thế n bít thêm vào ở bước 1. Chý ý rằng CRC có thể chứa toàn bít 0.

Bên máy nhận, máy nhận sẽ coi toàn bộ xâu bít như là một đơn vị dữ liệu và chia nó cho cùng số chia.

Nếu phép chia không dữ, bộ kiểm tra sẽ coi dữ liệu là không có lỗi và cho truyền qua. Nếu phép chia là có dư, dữ liệu coi như là có lỗi và không cho phép truyền qua.

Bộ tạo CRC:

Một bộ tạo CRC sử dụng phép chia modulo 2. Trong hình 9.9, đầu tiên 4 bít của số chia được trừ đi từ các bít tương ứng của số bị chia, chú ý ở đây là phép trừ không có vay. Trong ví dụ này, số chia là 1101, được trừ bởi 4 bít đầu của số bị chia, 1001, kết quả nhận được là 100. Sau đó chúng ta lại hạ các bít từ số bị chia để cho đủ số bít bằng với số bít trong số chia. Và quá trình chia lại tiếp tục.

Trong quá trình này, số chia luôn có bít đầu tiên bằng 1, số chia được trừ từ một phần của só bị chia và phần dư trước đó sao cho có cùng độ dài. Số chia chỉ được trừ từ số bị chia và phần dư trước đó sao cho bít đầu tiên cùng phải bằng 1. Bất cứ khi nào bít trái nhất của số dư là 0, nó phải được thay bằng một dãy các bít 0 có độ dài bằng độ dài của số chia.

Hình 9.9 Bộ tạo CRC bằng phép chia modul 2

Bộ kiểm tra CRC:

Bộ kiểm tra CRC có chức năng tương tự như bộ tạo CRC. Sau khi nhận được dữ liệu vời phần mở rộng CRC, nó thực hiện phép chia modulo – 2. Nếu phép chia không có dư, nó xoá phần CRC đi và dữ liệu được chấp nhận. Nếu phép chia có dữ dữ liệu bị từ trối và sẽ được yêu câu truyền lại.

Các đa thức:

Bộ tạo CRC thường không được biểu diễn như là một dãy các bít 1 và 0 mà như một đa thức. Dạng biểu diễn đa thức thường được sử dụng vì 2 lý do:

Hình 9.11 Ví dụ về đa thức chia

- Nó ngắn gọn hơn

- Nó có thể sử dụng để chứng minh một số tính chất có liên quan đến toán học

Một đa thức đựoc chọn phải thoả mãn 2 tính chất sau: - Không chia hết cho x

Điều kiện thứ nhất đảm bảo rằng tất cả các lỗi đa bít có độ dài tương đương với bậc của đa thức được pháp hiện. Điều kiện thứ 2 đảm bảo rằng tất cả các lỗi đa bít mà có một số lẻ các bịt bị lỗi đều được phát hiện.

Hình 9.12 Đa th ức v à pháp chia

Khả năng phát hiện lỗi:

CRC là phương pháp kiểm tra lỗi rất hiện quả. Nếu số chỉa được lựa chọn thoả mãn những điều kiện trước đây:

- CRC có thể phát hiện được tất cả các lỗi là có một số lẻ bít bị lỗi

- CRC có thể phát hiện được tất cả các lỗi là độ dài bằng hoặc nhỏ hơn bậc của đa thức.

- CRC có thể phát hiện được các lỗi đa bít với sắc xuất cao khi mà độ dài của lỗi lớn hơn bậc của đa thức.

9.6. CHECKSUM

Các phương pháp kiểm tra lỗi đươc sử dụng bởi tầng trên được gọi là Checksum. Cũng như các phương pháp VRC, LRC, CRC, Checksum dựa trên phần dữ liệu thêm vào

Một phần của tài liệu KTTruyen So lieu Chuong 8_9 (Trang 27 - 30)

Tải bản đầy đủ (DOC)

(36 trang)
w