海明校驗碼:



詳解:
當我們確定校驗位在海明碼中的位置后,我們需要做去確定哪幾個位置的資訊位進行異或來得到相應校驗位p1、p2、p3的值,根據圖3
我們將所有資訊位的下標換算成二進制后,確定這些數二進制的位元位是否含有1來判斷參入該校驗位的計算,圖中我們計算p1有H~3~
H~5~、H~7~這三個數的第一位含有1,所以參加p1的計算,其余的也是如此,這樣下來我們就確定每個校驗位如何計算,

當我們確定每個校驗位的位置和大小后,我們開始判斷糾錯,海明碼優于奇偶校驗碼的特點是可以判斷出具體某一位出錯,上述例子中有三個校驗位,我們把整個海明碼分成三部分,也就是校驗位和他本身參與計算得資訊位作為該組成員,就像S~1~、S~2~、S~3~這三部分,然后計算出她它們三個的值,如果都是0說明沒錯(因為偶數個1異或結果是0)出現一個1后出錯,根據圖中接收到1010000,S~2~出現了1,然后將這三個數按照二進制進行排列010,說明就是第二位也就是p2出錯了,

我們也可以根據這個圓型圖看,比如D~4~出錯了,D~4~是被包含在S~1~、S~2~、S~3~這三部分中,說明影響了這三部分,那么這三部分最終結果都是1,換成二進制就是111,這個二進制就是7也就是海明碼的第七位出錯了,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/305507.html
標籤:其他
上一篇:第一個入門級小程式
