1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Mã sửa sai - Phần 3 pdf

7 289 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

7/2/2010 1 Chương 4: Mã sửa sai 4.3 Chận trên và dưới cho khả năng sửa sai của bộ mã kiểm tra chẵn lẻ Khả năng sửa sai • Như đã biết, số từ mã tăng sẽ làm giảm khả năng sửa sai của bộ mã. Ta sẽ cố gắng định lượng mối liên hệ này. • Trong phần này, ta giải quyết bài toán sau: cần chọn ma trận kiểm tra chẵn lẻ như thế nào để bộ mã thu được sửa sai được e bit trở lại. • Xét trường hợp e = 1. Ta xây dựng bộ mã sửa sai được 1 bit. • Nếu bit sai ở vị trí thứ j thì vector hiệu chỉnh tương ứng là cột thứ j của ma trận chẵn lẻ. 7/2/2010 2 Huỳnh Văn Kha 7/2/2010 2 Khả năng sửa sai • Ta chọn ma trận chẵn lẻ sao cho n cột của nó khác nhau đôi một (và khác 0). • Khi đó mọi dãy sai một bit đều có các vector hiệu chỉnh khác nhau. Do đó mọi lỗi sai 1 bit đều sửa sai được. • Ví dụ, nếu n = 7, k = 4, ta có thể chọn ma trận chẵn lẻ như sau: 7/2/2010 3 Huỳnh Văn Kha ðịnh lý 4.9 Bộ mã kiểm tra chẵn lẻ xác định bởi ma trận A sẽ sửa sai được e bit trở lại nếu và chỉ nếu mọi tập 2e cột của A đều độc lập tuyến tính. 7/2/2010Huỳnh Văn Kha 4 Chứng minh: Theo định lý 4.8, mọi lỗi sai không quá e bit sẽ được làm đúng nếu và chỉ nếu các mẫu sai ≤ e bit có các vector hiệu chỉnh phân biệt nhau. Nghĩa là nếu và chỉ nếu không có tổ hợp tuyến tính của e (hoặc ít hơn) cột nào trong A bằng với một tổ hợp tuyến tính khác (cũng của e cột (hoặc ít hơn) trong A). Điều này tương đương với mỗi tập 2e cột của A đều phải độc lập tuyến tính. 7/2/2010 3 Ví dụ • Có thể thấy mỗi tập gồm 4 cột của A là độc lập tuyến tính. Bộ mã ứng với A có thể sửa sai 2 bit • Tuy nhiên: c(r 1 )+c(r 8 )+c(r 9 )=c(r 3 )+c(r 4 )+c(r 6 ) • Do đó các dãy sai ở ba cột 1, 8, 9 và các dãy sai ở ba cột 3, 4, 6 có cùng vector hiệu chỉnh • Như vậy sai 3 bit chưa chắc sửa được. 7/2/2010Huỳnh Văn Kha 5 Chận trên và dưới cho khả năng sửa sai của bộ mã kiểm tra chẵn lẻ • Giả sử ta cần xây dựng bộ mã kiểm tra chẵn lẻ sửa sai được e bit (chiều dài từ mã n cố định) • Vấn đề đặt ra là cần bao nhiêu bit kiểm tra để xây dựng bộ mã như vậy • Ta muốn càng ít bit kiểm tra càng tốt. Do số bit kiểm tra càng ít thì số bit thông tin càng lớn và ta có càng nhiều từ mã • Tổng quát thì không thể xác định chính xác số bit kiểm tra cực tiểu. Nhưng ta có thể ước lượng chận dưới và chận trên như các định lý sau 7/2/2010Huỳnh Văn Kha 6 7/2/2010 4 ðịnh lý 4.10 (Chận dưới Hamming cho số bit kiểm tra) Số bit kiểm tra trong một bộ mã chẵn lẻ sửa sai được e bit cần thỏa: Trong đó: n = chiều dài từ mã m = số bit kiểm tra = n - k 7/2/2010Huỳnh Văn Kha 7 Chứng minh ñịnh lý 4.10 • Để bộ mã kiểm tra chẵn lẻ sửa sai được e bit trở lại thì các lỗi sai e bit hoặc ít hơn có các vector hiệu chỉnh khác nhau đôi một. • Nếu từ mã có chiều dài n thì số lỗi sai đúng i bit là tổ hợp chập i của n. • Số các vector hiệu chỉnh là 2 m . • Do đó để các vector hiệu chỉnh là duy nhất cho mỗi lỗi sai e bit trở lại thì: 7/2/2010Huỳnh Văn Kha 8 7/2/2010 5 Chú ý • Chận dưới Hamming cho số bit kiểm tra chính là chận trên Hamming cho số từ mã (định lý 4.3) • Chận dưới Hamming là điều kiện cần nhưng không đủ cho việc xây dựng bộ mã kiểm tra chẵn lẻ sửa sai được e bit. • Nói cách khác, nếu gọi m 0 là số nguyên nhỏ nhất thỏa định lý 4.10 (với n và e cho trước) thì có thể không có bộ mã nào sửa sai được e bit mà chỉ sử dụng có m 0 bit kiểm tra. • Ví dụ với n = 10, e = 2 ta có m 0 = 6. Tuy nhiên không có bộ mã chẵn lẻ nào sửa sai được 2 bit mà sử dụng ít hơn 7 bit kiểm tra 7/2/2010Huỳnh Văn Kha 9 ðịnh lý 4.11 (Điều kiện Varsharmov-Gilbert-Sacks) Một bộ mã kiểm tra chẵn lẻ sửa sai được e bit với chiều dài từ mã là n có thể xây dựng được nếu số bit kiểm tra m thỏa điều kiện: 7/2/2010Huỳnh Văn Kha 10 Đây là chận trên cho số bit kiểm tra cần thiết cho việc xậy dựng bộ mã chẵn lẻ sửa sai e bit 7/2/2010 6 Chú ý • Điều kiện trong định lý 4.11 là điều kiện đủ nhưng không cần. • Nói cách khác, cố định n và e, gọi m 1 là số nguyên dương nhỏ nhất thỏa định lý 4.11. Thì theo định lý 4.11 có thể xây dựng bộ mã sửa sai e bit sử dụng m 1 bit kiểm tra. Tuy nhiên, trong một số trường hợp, ta cũng có thể xây dựng bộ mã sửa sai e bit mà chỉ sử dụng ít hơn m 1 bit kiểm tra. • Ví dụ với n = 10, e = 2, ta có m 1 = 8. Tuy nhiên ta có thể xây dựng bộ mã sửa sai 2 bit mà chỉ sử dụng 7 bit kiểm tra như ví dụ sau định lý 4.9 7/2/2010Huỳnh Văn Kha 11 Chứng minh ñịnh lý 4.11 • Ta sẽ xây dựng bộ mã thỏa yêu cầu bằng cách chỉ ra các cột c(r 1 ), c(r 2 ), …, c(r n ) của ma trận chẵn lẻ tương ứng. • Các cột này cần phải thỏa điều kiện: mọi tập gồm 2e cột đều độc lập tuyến tính. • Đầu tiên, chọn c(r 1 ) khác 0 tùy ý • Chọn c(r 2 ) sao cho c(r 2 ) ≠ 0, c(r 2 ) ≠ c(r 1 ) • Chọn c(r 3 ) sao cho c(r 3 ) ≠ 0, c(r 3 ) ≠ c(r 1 ), c(r 3 ) ≠ c(r 2 ), c(r 3 ) ≠ c(r 1 )+c(r 2 ) 7/2/2010Huỳnh Văn Kha 12 7/2/2010 7 Chứng minh ñịnh lý 4.11 • Giả sử đã chọn được c(r 1 ), c(r 2 ), …, c(r n-1 ), ta chọn c(r n ) thỏa: 7/2/2010Huỳnh Văn Kha 13 Chứng minh ñịnh lý 4.11 • Số các tổ hợp nói trên, không vượt quá: (Chú ý: không nhất thiết tất cả các tổ hợp nói trên phân biệt nhau, do đó số tổ hợp có thể nhỏ hơn) • Như vậy, nếu tổng trên ≤ 2 m thì hiển nhiên ta chọn được c(r n ). Và do đó định lý được chứng minh. 7/2/2010Huỳnh Văn Kha 14 . 7/2/2010 1 Chương 4: Mã sửa sai 4 .3 Chận trên và dưới cho khả năng sửa sai của bộ mã kiểm tra chẵn lẻ Khả năng sửa sai • Như đã biết, số từ mã tăng sẽ làm giảm khả năng sửa sai của bộ mã. Ta sẽ cố. 8, 9 và các dãy sai ở ba cột 3, 4, 6 có cùng vector hiệu chỉnh • Như vậy sai 3 bit chưa chắc sửa được. 7/2/2010Huỳnh Văn Kha 5 Chận trên và dưới cho khả năng sửa sai của bộ mã kiểm tra chẵn. một bộ mã chẵn lẻ sửa sai được e bit cần thỏa: Trong đó: n = chiều dài từ mã m = số bit kiểm tra = n - k 7/2/2010Huỳnh Văn Kha 7 Chứng minh ñịnh lý 4.10 • Để bộ mã kiểm tra chẵn lẻ sửa sai được

Ngày đăng: 07/08/2014, 15:21

TỪ KHÓA LIÊN QUAN