Bai tap ma hamming (mmt)

4 1 0
Bai tap ma hamming (mmt)

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

Thông tin tài liệu

Mã Hamming là một mã sửa lỗi tuyến tính (linear errorcorrecting code), được đặt tên theo tên của người phát minh ra nó, Richard Hamming. Mã Hamming có thể phát hiện một bit hoặc hai bit bị lỗi (single and doublebit errors). Mã Hamming hoạt động bằng cách thêm một số bit kiểm tra vào từ gốc. Các bit kiểm tra này được sử dụng để phát hiện và sửa lỗi. Số lượng bit kiểm tra cần thiết để phát hiện và sửa lỗi cho một từ gốc có n bit là n + 2n 1. Ví dụ, để phát hiện và sửa lỗi cho một từ gốc có 3 bit, ta cần thêm 5 bit kiểm tra. Từ gốc có dạng 011 thì từ mã Hamming có dạng 011011. Để phát hiện lỗi, ta có thể tính tổng kiểm tra của từ mã. Nếu tổng kiểm tra không bằng 0, thì có lỗi xảy ra. Để sửa lỗi, ta có thể sử dụng bảng Hamming. Bảng Hamming cho biết bit nào bị lỗi dựa trên giá trị của tổng kiểm tra. Mã Hamming được sử dụng trong nhiều ứng dụng, bao gồm viễn thông, lưu trữ dữ liệu và truyền dữ liệu. Dưới đây là một số ví dụ về việc sử dụng mã Hamming: Trong viễn thông, mã Hamming được sử dụng để phát hiện và sửa lỗi trong tín hiệu truyền đi qua kênh truyền. Trong lưu trữ dữ liệu, mã Hamming được sử dụng để phát hiện và sửa lỗi trong dữ liệu được lưu trữ trên đĩa cứng hoặc thẻ nhớ. Trong truyền dữ liệu, mã Hamming được sử dụng để phát hiện và sửa lỗi trong dữ liệu được truyền giữa các thiết bị. Mã Hamming là một kỹ thuật quan trọng để đảm bảo độ tin cậy của dữ liệu.

Thuật toán cho việc sử dụng bit chẵn lẻ 'mã Hamming' thông thường tương đối đơn giản: Tất bit vị trí số mũ (powers of two) dùng làm bit chẵn lẻ (các vị trí 1, 2, 4, 8, 16, 32, 64 v.v hay nói cách khác 0, 21, 22, 23, 24, 25, 26 v.v.) Tất vị trí bit khác dùng cho liệu mã hóa (các vị trí 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, ) Mỗi bit chẵn lẻ tính giá trị chẵn lẻ cho số bit từ mã (code word) Vị trí bit chẵn lẻ định chuỗi bit mà luân phiên kiểm tra bỏ qua (skips)        Vị trí (n=1): bỏ qua bit(n-1), kiểm bit(n), bỏ qua bit(n), kiểm bit(n), bỏ qua bit(n), v.v Vị trí 2(n=2): bỏ qua bit(n-1), kiểm bit(n), bỏ qua bit(n), kiểm bit(n), bỏ qua bit(n), v.v Vị trí 4(n=4): bỏ qua bit(n-1), kiểm bit(n), bỏ qua bit(n), kiểm bit(n), bỏ qua bit(n), v.v Vị trí 8(n=8): bỏ qua bit(n-1), kiểm bit(n), bỏ qua bit(n), kiểm bit(n), bỏ qua bit(n), v.v Vị trí 16(n=16): bỏ qua 15 bit(n-1), kiểm 16 bit(n), bỏ qua 16 bit(n), kiểm 16 bit(n), bỏ qua 16 bit(n), v.v Vị trí 32(n=32): bỏ qua 31 bit(n-1), kiểm 32 bit(n), bỏ qua 32 bit(n), kiểm 32 bit(n), bỏ qua 32 bit(n), v.v tiếp tục Nói cách khác, bit chẵn lẻ vị trí k kiểm bit bit vị trí t có giá trị logic phép toán AND k t khác Ví dụ mã Hamming Lấy ví dụ có từ liệu dài bit với giá trị "0110101" Để chứng minh phương pháp mã Hamming tính tốn sử dụng để kiểm tra lỗi, xin xem bảng liệt kê Chữ d (data) dùng để biểu thị bit liệu chữ p (parity) để biểu thị bit chẵn lẻ (parity bits) Đầu tiên, bit liệu đặt vào vị trí tương thích chúng, sau bit chẵn lẻ cho trường hợp tính tốn dùng quy luật bit chẵn lẻ số chẵn[1] Thứ tự bit Vị trí bit chẵn lẻ bit liệu p p d p d d d p d d d Nhóm liệu (khơng có bit chẵn lẻ): p1 p2 p3 p4 Nhóm liệu (với bit chẵn lẻ): 1 1 3 4 1 1 1 0 1 1 1 0 1 0 1 1 Cách tính bit chẵn lẻ mã Hamming (từ trái sang phải) Nhóm liệu (new data word) - bao gồm bit chẵn lẻ - "10001100101" Nếu thử cho bit cuối bị thối hóa (gets corrupted) bị lộn ngược từ sang Nhóm liệu "10001100100"; Dưới đây, phân tích quy luật kiến tạo mã Hamming cách cho bit chẵn lẻ giá trị kết kiểm tra dùng quy luật số chẵn bị sai Thứ tự bit 1 Vị trí bit chẵn lẻ bit liệu p p d p d d d p d d d Nhóm liệu nhận được: 0 1 0 0 p1 p2 p3 p4 1 0 3 4 Kiểm tra bit chẵn lẻ (bit bị đảo lộn có thẫm) Bit chẵn lẻ Sai Sai Đúng Sai 1 0 Kiểm chẵn lẻ Bước cuối định giá trị bit chẵn lẻ (nên nhớ bit nằm viết bên phải viết ngược lại từ lên trên) Giá trị số nguyên bit chẵn lẻ 11 (10), có nghĩa bit thứ 11 nhóm liệu (data word) - bao gồm bit chẵn lẻ - bit có giá trị khơng đúng, bit cần phải đổi ngược lại p p p p Nhị phân 1 Thập phân Σ= 11 Khi hai bit liệu (3,7) có bit chẵn lẻ kiểm tra vi trí k - ví dụ (1,2) - biến đổi giá trị (lỗi truyền thông) giá trị bit chẵn lẻ giá trị gốc (0,1) Việc đổi ngược giá trị bit thứ 11 làm cho nhóm 10001100100 trở lại thành 10001100101 Bằng việc bỏ phần mã Hamming, lấy phần liệu gốc với giá trị 0110101 Lưu ý, bit chẵn lẻ không kiểm tra lẫn nhau, bit chẵn lẻ bị sai thôi, tất bit khác đúng, có bit chẵn lẻ nói đến sai mà thơi khơng phải bit kiểm tra (not any bit it checks)

Ngày đăng: 05/11/2023, 11:07

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan