IV. CÂC PHƯƠNG PHÂP MÊ HÓA DỮ LIỆU:
3. Mê sửa sa i Mê Hammin g:
Nếu chỉ sử dụng n bit cho mỗi ký tự để truyền dữ liệu từ một bộ ký tự có 2n
ký tự – lă điều có hiệu quả nhất – nhưng nơi thu sẽ không thể phât hiện được lỗi vì nếu một ký tự năo đó sai một bit thì nơi thu sẽ hiểu lă một ký tự khâc . Nếu chúng ta thím văo một bit dư cho mỗi ký tự vă sử dụng (n + 1) bits , nơi thu có thể phât hiện được lỗi . Điều năy tương ứng với việc dùng 1 bit để kiểm tra chẵn lẻ vă do đó người ta thường gởi 8 bit trong mỗi mê ASCCII 7 bit .
Richard Hamming đê đưa ra khâi niệm về khoảng câch mê ( code distance ) . Khoảng câch Hamming giữa 2 từ mê lă số bit khâc nhau của 2 từ mê năy . Ví dụ mê ASCII đối với chữ B lă 1000010 vă đối với chữ C lă 1000011 có khoảng câch Hamming lă 1 vì chúngchỉ khâc nhau 1 bit – nếu thím văo bit kiểm tra parity chẵn – mê ASCII của B lă 01000010 vă của C lă 11000011 . Lúc năy chúng có 2 bit khâc nhau vă khoảng câch Hamming lă 2 .
Bằng câch thím một số bit kiểm tra văo câc bit của mỗi mê ký tư,ï ta có thể cho phĩp nơi thu không chỉ phât hiện mă còn sửa sai được bit lỗi . Hamming đê đưa ra câc thủ tục để thực hiện điều năy vă mê tạo thănh được gọi lă mê Hamming . Ông đê công bố câc phương trình cho phĩp tính toân số bit kiểm tra cần thiết cho mỗi ký tự về câc giâ trị vă vị trí của chúng trong khi phât tuần tự.
Để minh họa ứng dụng của câc mê sửa sai Hamming , giả sử ta muốn mê hóa 16 số hex từ 00H đến 0FH . Bằng câch sử dụng câc mê 7 bit thay vì 4 bit , nơi thu có thể phât hiện được câc cặp bit sai vă sửa đúng 1 bit .
7 bit của mỗi mê gồm có 4 bit thông tin : m3 , m2 , m1 , m0 vă 3 bit kiểm tra c2 , c1 , c0 . Câc bit của mỗi từ mê được sắp teo thứ tự m3m2m1c2m0c1c0 .
3 bit kiểm tra được tính bằng câch EX-OR câc bit thông tin như sau : c0 = m0 + m1 + m3 c1 = m0 + m2 + m3 c2 = m0 + m2 + m3 Ví dụ : Xĩt từ mê của A : m3m2m1m0 = 1010 ( AH )
c0 = 0 + 1 + 1 = 0 c1 = 0 + 0 + 1 = 1 c2 = 1 + 0 + 1 = 0
Vì vậy tư mê của AH trở thănh 1010010 ( m3m2m1c2m0c1c2 ) . Khi nơi thu nhận được 1 tư mê , mây thu sẽ tính 3 bit kiểm tra chẵn lẻ như sau :
Po = 0 + 0 + 1 + 1 = 0 P1 = 1 + 0 + 1 + 1 = 1 P2 = 0 + 1 + 1 + 1 = 1
Từ đó ta biết có lỗi ở vị trí bit : P2P1P0 = 110 lă vị trí bit thứ 6 .
Muốn biết nhiều hơn về mê HAMMING ta có thể tìm đọc cuốn Coding and Information Theory ( Englewood Cliffs . N.J : Prentice Hall. Inc . 1980 ) .