Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

CRC (cyclic redundancy check)

Là phương pháp kiểm tra và phát hiện lỗi bằng cách gắn thêm 1 khối bit phía sau
khối dữ liệu
- Các bit bổ xung vào được gọi là khối Bit CRC
- Thuật toán tạo để tạo ra khối bit CRC là dựa trên phép chia Modul 2 và biểu diễn đa
thức
- Mã CRC là phần dư của phép chia nhị phân không nhớ

1. Xác dinh mã CRC dùng thuât toán Mod 2


Xem chuỗi bit dữ liệu D như là 1 số nhị phân
Chọn mẫu chiều dài r+1 bit (generator - bộ khởit tạo), G
+ r = (số bit của G) - 1

- Mục tiêu: chọn r bit CRC, R sao cho:


B1: Dữ liệu kiểm tra gồm (d+r) bits chia hết cho G (Modul 2)
B2: Bên nhận biết G, tiếp tục lấy (d+r) bits rồi chia lai cho G nếu phần dư khác 0
 Phát hiện lỗi

+ Phương pháp CRC có thể phát hiện tất cả các lỗi nhỏ hơn r+1 bits
Trong ví dụ bit G = 4 bit  r = 3  D*2^r = 101110000

Dưới đây là một số đa thức sinh của các mã CRC cơ bản:


1. CRC-8:
 CRC-8-CCITT: Đa thức sinh - x^8 + x^2 + x + 1
2. CRC-16:
 CRC-16-CCITT: Đa thức sinh - x^16 + x^12 + x^5 + 1
 CRC-16-IBM: Đa thức sinh - x^16 + x^15 + x^2 + 1
 CRC-16-Modbus: Đa thức sinh - x^16 + x^15 + x^2 + 1
3. CRC-32:
 CRC-32-IEEE802.3: Đa thức sinh - x^32 + x^26 + x^23 + x^22 + x^16 + x^12 +
x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1
 CRC-32-IEEE802.11: Đa thức sinh - x^32 + x^26 + x^23 + x^22 + x^16 + x^12 +
x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1
 CRC-32-C: Đa thức sinh - x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 +
x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1

You might also like