You are on page 1of 2

Mã Hamming

Khái niê ̣m:


 Trong viễn thông, mã Hamming là mô ̣t mã sửa lỗi tuyến tính (linear error-
correcting code) được đă ̣t theo tên của người phát minh ra nó Richard
Hamming.
Mục đích:
 Phát hiê ̣n và sửa các kí tự hay các bít thu bị lỗi trong quá trình truyền dữ
liê ̣u.
Ứng dụng:
 Trong các hê ̣ thống truyền thông vô tuyến như các thiết bị wifi, điê ̣n thoại di
đô ̣ng, truyền thông vê ̣ tinh….
Cách thực hiê ̣n:
 Mã Hamming có khoảng cách Hamming d=3, có khả năng phát hiê ̣n được 2
lỗi và sửa được 1 lỗi.
 Từ mã Hamming được biểu diễn dưới dạng tổng quát c c i c i i i c i…, i là
các bit tin và c là các bit kiểm tra.
 Các bit c chính là kết quả của phép XOR giá trị chỉ vị trí của các bit 1 với
nhau, quá trình kiểm tra lỗi bên thu tương tự như bên phát.
 Nếu kết quả của phép XOR khác 0 thì đó là vị trí của bit lỗi.

Ví dụ: Mã hóa thông tin gốc m=1010101 bằng mã Hamming C(11,7)
Với 7 là số bit thông tin gốc, từ mã có 11 bit.
Từ mã có dạng w=c1 c2 1 c4 0 1 0 c8 1 0 1 trong đó c1 c2 c4 c8 là các bit kiểm tra
được thêm vào vị trí 1 2 4 8 của từ mã.
Xét từ mã w có bit 1 ở các vị trí 3 6 9 11.
Đổi các vị trí thành số nhị phân 3-> 0011, 6-> 0110, 9-> 1001, 11-> 1011.
XOR các vị trí 0011 0110 1001 1011 = 0111 (c8c4c2c1)
Từ mã w = 11110100101
Cách phát hiê ̣n lỗi và sửa lỗi:
Giả sử từ mã w sai ở bit thứ 3 và tiến hành sửa lỗi.
r = w + e = 11110100101 + 00100000000 = 11010100101
Trong r có 6 bit 1 và các vị trí của các bit này là 1 2 4 6 9 11
Đổi các vị trí sang nhị phân ta được 0001, 0010, 0100, 0110, 1001, 1011.
XOR tất cả các giá trị ta được 0011-> 3(hê ̣ 10) vâ ̣y sai ở bit thứ 3 và tiến hành sửa
ta được r = 11110100101.
Ưu điểm
 Sửa lỗi được tín hiê ̣u trên đường truyền, tránh được viê ̣c mất tin hay tín hiê ̣u
trong quá trình truyền tín hiê ̣u.
Nhược điểm
 Chỉ có thể sửa tối đa được 1 bit nên nếu từ mã sai nhiều hơn 1 bit thì không
thể sửa được.

You might also like