You are on page 1of 2

Ví dụ 4.

1: Cho từ mã thông tin là 101111, yêu cầu:


A) Xây dựng từ mã Hamming lẻ.
B) Kiểm tra chuỗi bit nhận được 1001100110.

Lời giải:

A) Mã hóa

Ta có: D = 6, áp dụng công thức D + P + 1  2P => P = 4

10 9 8 7 6 5 4 3 2 1
D6 D5 P3 D4 D3 D2 P2 D1 P1 P0
1 0 P3 1 1 1 P2 1 P1 P0

Tìm P0:

Điều kiện là: P0  vt3  vt5  vt7  vt9 = 1

<=> P0 = vt3  vt5  vt7  vt9  1 = D1  D2  D4  D5  1

<=> P0 = 1  1  1  0  1 = 0

Tìm P1:

Điều kiện là P1  vt3  vt6  vt7  vt10 = 1

<=> P1 = vt3  vt6  vt7  vt10  1= D1  D3  D4  D6  1

<=> P1 = 1  1  1  1  1 = 1

Tìm P2:

Điều kiện là: P2  vt5  vt6  vt7 = 1

<=> P2 = vt5  vt6  vt7  1 = D2  D3  D4  1

<=> P2 = 1  1  1  1 = 0

Tìm P3:

Điều kiện là: P3  vt9  vt10 = 1

<=> P3 = vt9  vt10  1 = D5  D6  1

<=> P3 = 0  1  1 = 0

10 9 8 7 6 5 4 3 2 1
D6 D5 P3 D4 D3 D2 P2 D1 P1 P0
1 0 0 1 1 1 0 1 1 0

Vậy từ mã Hamming lẻ phát đi là: 1001110110

Từ đó ta vẽ được mạch tạo mã như Hình 4.1.


Hình 4.1: Mạch tạo mã Hamming

B) Giải mã
Khi nhận được từ mã, tiến hành tính Si. Nếu mã Hamming chẵn thì Si = 0, nếu là Mã Hamming
lẻ thì Si = 1. Nếu kết quả nhận được không đúng thì tổ hợp giá trị của các Si chính là vị trí lỗi.

Biểu thức của các Si (đối với ví dụ trên) là:

S0 = P0  D1  D2  D4  D5

S1 = P1  D1  D3  D4  D6

S2 = P2  D2  D3  D4

S3 = P3  D5  D6

Từ đó ta vẽ được mạch giải mã như Hình 4.2.

D6 D5 P3 D4 D3 D2 P2 D1 P1 P0 S0 S1 S2 S3

Hình 4.2: Mạch giải mã Hamming

Ví dụ: Từ mã thu được trong ví dụ phát dãy bit ở trên là: 1001100110

Giả sử lỗi 1 bit, ta có thể tìm ra vị trí bit lỗi thông qua tổ hợp S3S2S1S0 như sau: 1001110110

S0 = P0(vt1)  vt3  vt5  vt7  vt9 = 0  1  0  1  0 = 0

S1 = P1(vt2)  vt3  vt6  vt7  vt10 = 1  1  1  1  1 = 1

S2 = P2(vt4)  vt5  vt6  vt7 = 0  0  1  1 = 0

S3 = P3(vt8)  vt9  vt10 = 0  0  1 = 1

Vậy S3S2S1S0 = 1010 => S3 S 2 S1S 0  0101 => Sai ở vị trí 5.

You might also like