海明校驗碼
阿新 • • 發佈:2022-05-19
原理:
實際上就是在一個n個二進位制資料序列的資訊碼位之外加上k個二進位制資料序列的檢驗碼位,從而形成一個n+k位的二進位制資料序列的碼字。校驗位的位置,位於整個完成編碼的2^n的位置。把資料的每一個二進位制位分配在幾個不同的偶校驗位的組合中,當某一位出錯後,就會引起相關的幾個校驗位的值發生變化,這不但可以發現出錯,還能指出是哪一位出錯,為進一步自動糾錯提供了依據。
公式說明:
n為資訊位的個數;K為校驗位的個數
2^K >= n + k + 1
例:
原編碼:1011
(1).根據2^K >= n + k + 1公式,n=4,則校驗位k最小位數為3。2^0 = 1,2^1 = 2,2^2 = 4
(2).列出校驗位公式,如下
資訊位拆分:
7位=2^2 + 2^1 + 2^0;6位=2^2 + 2^1;5位=2^2 + 2^0;3位=2^1 + 2^0
I4 =1 ; I3 =0 ; I2 =1 ; I1 =1
校驗位拆分:
4位=2^2;2位=2^1;1位=2^0
校驗碼:
R2(4位) = I4⊕I3⊕I2 = 1⊕0⊕1 = 0
R1(2位) = I4⊕I3⊕I1 = 1⊕0⊕1 = 0
R0(1位) = I4⊕I2⊕I1 = 1⊕1⊕1 = 1
(3).將資料加入表格,如表所示