Mã Hamming

Một phần của tài liệu ĐÁNH GIÁ HIỆU QUẢ HỆ THỐNG ĐIỀU CHẾ SỐ KẾT HỢP VỚI MÃ HÓA KÊNH (Trang 52 - 57)

V xMAãX =2 m≤ f

2.3.2.2.Mã Hamming

Khi nói đến mã hamming là muốn nói đến mã (7,4) mà Hammming công bố năm 1950. Với mỗi nhóm 4 bít dữ liệu, mã hamming thêm 3 bít kiểm tra. Thuật toán (7,4) của Hamming có thể sửa bất cứ một lỗi nào, và phát hiện tất cả lỗi đơn, và phát hiện các lỗi của 2 bít. Điều này có nghĩa là các phơng tiện truyên thông không có lỗi chùm đột phát xảy ra, mã hamming (7,4) có hiệu quả. Trừ khi phơng tiện truyền thông có độ nhiễu rất cao thì mới có thể gây nhiễu cho 2 bít trong số 7 bít truyền bị lỗi.

Mã Hamming là lớp mã khối (n,k) với đặc tính Độ dài từ mã N = 2r - 1

Số phần tử mang tin K = n- r = 2r - 1 –r

Nhận xét thấy : mã hamming hoàn toàn xác định đợc số lợng phần tử d trong tổ hợp mã: R= n - k

Tốc độ mã hoá của mã hamming sẽ tiến dần đến 1 khi tăng độ dài. khi tăng độ dài từ mã thì số lợng bit mang tin và bit kiểm tra đều tăng nhng tốc độ tăng của bit mang tin nhanh hơn nhiều so với bit kiểm tra. bảng số cho ta quan hệ giữa n, k, r của 8 mã hamming đầu tiên.

r k n R=k/n 3 4 7 0.57 4 11 15 0.73 5 26 31 0.84 6 57 63 0.90 7 120 127 0.94 8 247 255 0.97 9 502 511 0.98 10 1013 1023 0.99

Bảng tốc độ mã hoá của mã hamming

Mã Hamming có khoảng cách dmin = 3 bởi vậy t = 1, do đó có khả năng hiệu chỉnh đợc lỗi đơn.

Ta xét với r =3, khi này n = 7, k =4, mã (7,4).

Ký hiệu các bít trong từ mã lần lợt là X1, X2, X3, X4, X5, X6, X7, trong đó X1 ữ X4 là các bít thông tin, X5 ữ X7 là các bít kiểm tra. Mã đợc

tuân theo quy luật sau:

I : X1 ⊕ X3 ⊕ X5⊕ X7 = 0II : X2 ⊕ X3 ⊕ X6⊕ X7 = 0 II : X2 ⊕ X3 ⊕ X6⊕ X7 = 0 III : X4 ⊕ X5 ⊕ X6 ⊕ X7 = 0

Từ đó, ta có thể rút ra cách xác định các bít kiểm tra từ các bít thông tin:

X5 = X2 ⊕ X3⊕X4 X6 = X1 ⊕ X3 ⊕ X4 X7 = X1 ⊕X2 ⊕ X4

Quá trình mã hoá đợc thực hiện dễ dàng nhờ bộ ghi dịch và các mạch hoặc tuyệt đối nh hình vẽ dới đây:

s Hình 2.33 : Quá trình mã hoá

Tại đầu thu sẽ tiến hành so sánh các bít kiểm tra thu đợc và các bít kiểm tra xác định từ các bít thông tin thu đợc. Nếu hai kết quả là đồng nhất thì từ mã không chứa sai lỗi. Nếu ngợc lại, sai lỗi là bị phát hiện và có thể hiệu chỉnh.

ở ví dụ trên, quá trình so sánh có thể mô tả:

Các bít kiểm tra thu đợc X5 X6 X7 ⊕ Các bít kiểm tra tính từ các bít thông tin thu X'

5 X'

6 X'7 7

Từ so sánh (Syndrome) F F5 F6 F7

Sai lỗi đợc phát hiện và hiệu chỉnh căn cứ và Syndrome F nhận đợc mô tả ở bảng dới: STT F F5 F6 F7 Vị trí bít lỗi STT F F5 F6 F7 Vị trí bít lỗi 0 0 0 0 Không lỗi 4 1 0 0 X5 1 0 0 1 X7 5 1 0 1 X2 2 0 1 0 X6 6 1 1 0 X3 3 0 1 1 X1 7 1 1 1 X4 2.3.2.3. Mã cyclic

Mã Cyclic là một họ mã có ứng dụng rộng rãi trong thông tin. Mã có tên gọi Cyclic do có đặc tính: Dịch Cyclic (dịch vòng) của một từ mã là một từ mã.

Hình 2.34

Khái niệm" dịch vòng" đợc minh hoạ ở hình trên. Trên hình này, thay thế việc dọc theo chiều ngang một từ 7- bít bằng việc dọc theo một hình tròn. Khi bắt đầu từ một điểm bất kỳ, Ví dụ tại điểm A ta có từ mã tính theo chiều kim đồng hồ là 1101001. Khi khởi đầu từ một điểm khác, Ví dụ tại điểm B ta có từ mã khác 0111010. Hai từ mã này có thể tạo nên trên cơ sở từ kia bằng phép dịch vòng. Trên hình vẽ ta thấy có 7 vị trí để bắt đầu từ mã, mỗi từ mã là dịch vòng của từ mã khác. thứ tự các từ mã còn phụ thuộc theo hớng dịch, song tập hợp các từ mã tạo ra không phụ thuộc vào hớng dịch vòng.

Mã Cyclic là một lớp mã đặc bịêt quan trọng trong đó có đặc tính là mã đại số, cho phép mã hoá và giải mã đơn giản. Thủ tục tạo ra từ mã có thể tóm tắt nh sau: k bít thông tin A = [Ak−1....A1A0] có thể viết nh các hệ số của một đa thức.

A(x) = Ak−1x k−1 ⊕ . . .⊕A2x2 ⊕ A1x ⊕A0

Tơng tự, từ mã tạo thành gồm n bít tơng ứng với một đa thức: T(x) = Tn−1xn−1 ⊕ . . .⊕T2x2 ⊕ T1x ⊕T0

Quá trình tạo và giải mã còn liên quan tới một đa thức nữa, gọi là đa thức sinh g(x) có bậc r = n – k.

g(x) = grx r ⊕ gr−1x r−1 ⊕ . . .⊕g2x2 ⊕ g1x ⊕1 (adsbygoogle = window.adsbygoogle || []).push({});

Các hệ số của g(x) đợc xác định từ điều kiện g(x) phải là phần tử của đa thức f(x) = xn + 1. Khi g(x) xác định, T(x) sẽ biết từ phơng trình:

T(x) = g(x).A(x)

Nh vậy tính chất quan trọng của mã Cyclic là: Đa thức ứng với một từ mã T(x) luôn chia hết cho đa thức sinh g(x)

Tại đầu thu, ngời ta xét phần tử của đa thức tơng ứng với từ mã thu đ- ợc cho ta đa thức sinh. Nếu phần tử d bằng không, từ mã thu đợc là từ mã hợp lệ. Trong trờng hợp ngợc lại , từ mã thu chắc chắn chứa sai lỗi, và ngời ta có thể hiệu chỉnh đợc một vài sai lỗi khi xem xét cụ thể phần tử d này.

Mã Cyclic đợc xây dựng theo cách này là mã khối không hệ thống (nonsystematic), khi các bít thông tin không đợc giữ nguyên tại đầu t mã phát đi.

Cũng có thể xây dựng từ mã Cyclic hệ thống theo cách sau: 1. Nhân đa thức tin A(x) với Xnk.

2. Chia A(x). Xnk cho g(x) để lấy phần tử d R(x) . 3. T(x) nhận đợc bằng cách cộng R(x) vào A(x)Xnk.

Bớc 1 đợc thức hiện một cách đơn giản nhờ thêm n - k số 0 vào dãy tin dầu vào. Phần d R(x) thu đợc nhờ bộ ghi dịch có n - k khâu, kết hợp với các mạch cộng modulo 2 tại các vị trí ứng với các vị trí khác 0 của đa thức sinh g(x). Có 4 đa thức sinh thờng đợc sử dụng CRC - 12 = X12 + X11 + X3 + X2 + 1 CRC - 16 = X16 + X15 + X2 + 1 CRC – CCITT = X16 + X12 + X5 +1 CRC - 32 = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1

Đa thức sinh CRC - 12 đợc dùng để truyền luồng ký tự 6 bít và tạo ra 12 bít kiểm tra bộ d FCS. Cả CRC -16 và CRC CCITT đều đợc dùng phổ biến ở Mỹ và Châu Âu tơng ứng cho 8 bít. CRC -32 cho khả năng sửa lỗi hiệu quả hơn và đợc dùng nh một tuỳ chọn (Option) cho một số chuẩn truyền đồng bộ điểm - điểm và các ứng dụng chuyên dụng.

2.3.3. Mã xoắn

Mã khối khá hiệu quả khi các sai lỗi xuất hiện độc lập song không đủ mạnh trong trờng hợp có chùm lỗi. Mã xoắn phát huy tốt hơn trong trờng hợp này. Trớc hết ta xem xét một loại mã có t tởng rất giống với mã xoắn đ- ợc xây dụng để chống các lỗi chùm khi thiết lập cuộc gọi của thông tin di động.

Một phần của tài liệu ĐÁNH GIÁ HIỆU QUẢ HỆ THỐNG ĐIỀU CHẾ SỐ KẾT HỢP VỚI MÃ HÓA KÊNH (Trang 52 - 57)