Bit chẵn lẻ 2 chiều

Một phần của tài liệu Đề cương môn học Mạng truyền thông công nghiệp (Trang 39 - 43)

C phát hiện xung đột, hủy bỏ bức đIện hờ một thời gian ngẫu nhiên và lặp lạ

2.5.3 Bit chẵn lẻ 2 chiều

Phương phỏp dựng bit chẵn lẻ hai chiều cũn được gọi là phương phỏp bảo tồn khối. Dóy bit mang thụng tin nguồn được sắp xếp lại thành từng khối vuụng (trong tưởng

tượng), coi như cú hai chiều. Trong thực tế người ta hay chọn 7 hàng và 7 cột. Việc tớnh bit chẵn lẻ được thực hiện theo cả hai chiều hàng và cột.

Dưới đõy là vớ dụ một bức điện sử dụng bit chẵn lẻ 2 chiều khụng bị lỗi, với cấu trỳc (7+1) x (7+1) và parity chẵn. Một điểm đỏng chỳ ý là số bit 1 hoặc 0 ở cột p (tớnh parity theo hàng) cũng giống như ở hàng p (tớnh parity theo cột), nờn bit cuối cựng giao nhau giữa hàng p và cột p cú thể tớnh parity theo hàng hoặc cột.

1. 2. 3. 4. 5. 6. 7. p 1. 0 1 0 0 1 0 1 1 2. 1 0 0 1 0 0 0 0 3. 1 1 1 0 1 1 1 0 4. 0 1 0 1 0 1 0 1 5. 1 1 1 1 0 1 1 0 6. 0 0 0 1 1 1 1 0 7. 1 1 0 0 1 1 0 0 p 0 1 0 0 0 1 0 0

Trong trường hợp chỉ một bớt bị đảo, vớ dụ ở hàng thứ 3 và cột thứ 4 trong bảng sau

đõy, thỡ lỗi đú khụng những phỏt hiện được, mà ta cũn cú thể cho rằng lỗi định vị được

1. 2. 3. 4. 5. 6. 7. p 1. 0 1 0 0 1 0 1 1 1. 0 1 0 0 1 0 1 1 2. 1 0 0 1 0 0 0 0 3. 1 1 1 1 1 1 1 0 4. 0 1 0 1 0 1 0 1 5. 1 1 1 1 0 1 1 0 6. 0 0 0 1 1 1 1 0 7. 1 1 0 0 1 1 0 0 p 0 1 0 0 0 1 0 0

Tương tự như vậy, hai bit bị lỗi nằm khỏc hàng và khỏc cột sẽ phỏt hiện được và sửa

được. Tuy nhiờn, nếu hai bit bị lỗi lại nằm cựng một cột hay cựng một hàng, thỡ chỳng

chỉ cú thể phỏt hiện nhưng khụng định vị được.

Trong trường hợp 3 bit bị đảo, bờn nhận vẫn chắc chắn phỏt hiện được cú lỗi. Tuy nhiờn, một điều rất thỳ vị là ở đõy bờn nhận khụng khẳng định được số lỗi là 1 hay là 3. Xỏc định nhầm số lỗi ở đõy là 1 sẽ dẫn đến nhầm lẫn tai hại khi tỡm cỏch sửa bit lỗi. Lật lại vấn đề ở vớ dụ một lỗi hoặc hai lỗi (khỏc hàng và khỏc cột) xột ở trờn, rừ ràng bờn nhận khụng cú cỏch gỡ xỏc định được số lỗi một cỏch chớnh xỏc mà chỉ biết được số lỗi là chẵn hoặc lẻ. Tồi tệ hơn nữa là khi chớnh cỏc parity bit cú thể bị lỗi. Như vậy cú thể kết luận rằng ngay cả với phương phỏp parity hai chiều này, bờn nhận nếu cú phỏt hiện ra lỗi cũng khụng cú khả năng sửa lỗi một cỏch tin cậy.

1. 2. 3. 4. 5. 6. 7. p 1. 0 1 0 0 1 0 1 1 2. 1 0 0 1 0 0 0 0 3. 1 1 1 1 0 1 1 0 4. 0 1 0 1 0 1 0 1 5. 1 1 1 0 1 1 1 0 6. 0 0 0 1 1 1 1 0 7. 1 1 0 0 1 1 0 0 p 0 1 0 0 0 1 0 0

Ta xột tiếp trường hợp 4 bit bị lỗi cựng nằm ở 2 hàng và 2 cột bất kỳ. Cỏch tớnh chẵn lẻ theo cả hai chiều đều khụng phỏt hiện được, tuy xỏc suất xảy ra tỡnh huống này rất nhỏ. Vậy khoảng cỏch Hamming của mó dữ liệu thực hiện theo phương phỏp này là 4.

1. 2. 3. 4. 5. 6. 7. p 1. 0 1 0 0 1 0 1 1 1. 0 1 0 0 1 0 1 1 2. 1 0 0 1 0 0 0 0 3. 1 1 1 1 0 1 1 0 4. 0 1 0 1 0 1 0 1 5. 1 1 1 0 1 1 1 0 6. 0 0 0 1 1 1 1 0 7. 1 1 0 0 1 1 0 0 p 0 1 0 0 0 1 0 0 2.5.4 CRC

CRC (Cyclic Redundancy Check) cũn được gọi là phương phỏp mó đa thức hoặc mó vũng. Phương phỏp này được sử dụng trong hầu hết cỏc hệ thống truyền thụng. Tuy cỏi tờn của nú khụng biểu hiện nhiều, nhưng ý tưởng ở đõy là thụng tin kiểm lỗi (ở đõy được gọi là checksum) phải được tớnh bằng một thuật toỏn thớch hợp, trong đú giỏ trị

mỗi bit của thụng tin nguồn đều được tham gia nhiều lần vào quỏ trỡnh tớnh toỏn.

Để tớnh toỏn thụng tin kiểm lỗi đú, người ta dựng một “đa thức phỏt” G (generator

polynomial) cú một dạng đặc biệt. Chớnh vỡ thế phương phỏp này cũn được gọi là

phương phỏp dựng đa thức. G được qui ước dưới dạng nhị phõn, tức cỏc hệ số của nú chỉ cú giỏ trị 1 hoặc 0 tương ứng với cỏc chữ số trong một dóy bit. Vớ dụ:

Dạng đa thức: G = x7 + x6 + x5 + (0x4 + 0x3) + x2 + (0x1) + 1 Dạng nhị phõn: G = {11100101}

Dạng octal: G = {345}

Nguyờn tắc cơ bản của phương phỏp CRC

Giả sử đa thức G cú bậc n, vớ dụ x3+x+1 tương ứng với dóy bit {1011}. Dóy bit mang thụng tin nguồn I được thờm vào n bit 0 và coi như một đa thức nhị phõn P. Vớ dụ thụng tin nguồn là {110101} thỡ sau khi thờm 3 bit 0, ta cú dóy bit {110101000} tương ứng với đa thức P = x8+x7+x5+x3.

• Đa thức P được chia cho đa thức G, dựa vào cỏc qui tắc đơn giản của phộp trừ

khụng cú nhớ như sau: 1 - 1 = 0

0 - 0 = 0 1 - 0 = 1 1 - 0 = 1 0 - 1 = 1

• Khụng cần quan tõm tới kết quả của phộp chia, phần dư R (lấy n chữ số) của phộp chia được thay thế vào chỗ của n chữ 0 bổ sung trong P, tức là ta cú D = P +

R. Theo tớnh chất của phộp chia đa thức nhị phõn, nếu D-R chia hết cho G thỡ D = P+R cũng vậy. R được gọi là checksum và D chớnh là dóy bit được gửi đi thay cho I.

• Giả sử dóy bit nhận được là D' khụng chia hết cho G thỡ tức là D khỏc D', ta cú

thể khẳng định được rằng bức điện chắc chắn bị lỗi. Ngược lại, nếu D' chia hết cho G, thỡ xỏc suất rất cao là bức điện nhận được khụng cú lỗi. Ta núi “xỏc suất cao”, bởi mỗi bit trong thụng tin nguồn tham gia nhiều vũng (cyclic) vào tớnh toỏn thụng tin bổ trợ nờn khả năng “dữ kiện sai mà kết quả đỳng” là rất ớt.

Vớ dụ minh họa

• Thụng tin cần truyền I = 110101

• Đa thức qui ước G = 1011 (tức x3 + x + 1)

• Thờm 3 bit 0 vào thụng tin nguồn I, ta cú P = 110101000

• Chia đa thức P : G theo kiểu nhị phõn

1 1 0 1 0 1 0 0 0 1 0 1 1 - 1 0 1 1 1 1 1 1 0 1 - 1 0 1 1 1 1 1 1 0 1 0 1 1 0 0 - 1 0 1 1 0 1 1 1 1 - 1 0 1 1 0 1 0 0 0 - 1 0 1 1 0 0 1 1 0 0 - 1 0 1 1 0 1 1 1 P hần dư R • Dóy bit được chuyển đi: D = P + R = 110101111

• Giả sử dữ liệu nhận được là D' = 110101111

• Chia đa thức D' : G

110101111 : 1011 = 111101

Phần dư 0000 -> Xỏc suất rất cao là khụng cú lỗi

Một điều đỏng chỳ ý là tuy phương phỏp CRC cú vẻ như phức tạp, nhưng thực sự việc thực hiện nú lại rất đơn giản. Phộp chia đa thức nhị phõn ở đõy được thực hiện

thuần tỳy bởi cỏc phộp trừ khụng cú nhớ - hay chớnh là cỏc phộp logic XOR. Bờn cạnh

đú chỉ cần cỏc phộp sao chộp và so sỏnh bit thụng thường.

Như ta thấy, khả năng phỏt hiện lỗi được đặc trưng qua khoảng cỏch Hamming phụ thuộc hoàn toàn vào cỏch chọn đa thức qui ước G. Tuy nhiờn, để phương phỏp này đạt

được hiệu quả tối ưu, cần cõn nhắc cả tới quan hệ giữa chiều dài của dóy bit mang thụng

được gọi là mó (m, n), trong đú m là tổng số bit và n là số bit mang dữ liệu. Một cấu

trỳc bức điện theo tiờu chuẩn DIN 19 244:

Tờn gọi: Mó (8i+8, 8i), với i = 1...15 là số byte (octet) của dữ liệu Lớp cấu trỳc (format class): FT2

Đa thức phỏt: G = 11100101, tức x7 + x6 + x5 + x2 + 1 Khoảng cỏch Hamming: HD = 4

Vớ dụ với i = 7, ta sẽ cú mó (64, 56), tức bức điện dài 8 byte chứa 7 byte dữ liệu. Trong 8 bit kiểm lỗi cú 7 bit là phần dư R được tớnh theo phương phỏp CRC, bit cũn lại chớnh là parity bit chẵn của R, sau đú giỏ trị mỗi bit lại được đảo lại.

Một phần của tài liệu Đề cương môn học Mạng truyền thông công nghiệp (Trang 39 - 43)