溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

海明碼的理解計(jì)算

發(fā)布時(shí)間:2020-04-10 01:01:13 來源:網(wǎng)絡(luò) 閱讀:1197 作者:cdlaowang 欄目:網(wǎng)絡(luò)安全


   

海明碼(Hamming Code)是一個可以有多個校驗(yàn)位,具有檢測并糾正一位錯誤代碼的糾錯碼,所以它也僅用于信道特性比較好的環(huán)境中,如以太網(wǎng)中,因?yàn)槿绻诺捞匦圆缓玫那闆r下,出現(xiàn)的錯誤通常不是一位。

海明碼的檢錯、糾錯基本思想是將有效信息按某種規(guī)律分成若干組,每組安排一個校驗(yàn)位進(jìn)行奇偶性測試,然后產(chǎn)生多位檢測信息,并從中得出具體的出錯位置,最后通過對錯誤位取反(原來是1就變成0,原來是0就變成1)來將其糾正。

根據(jù)海明碼的糾錯原理,得出了:


                              m+k+1<=2K

    其中:m表示有效的信息位數(shù);k表示用于糾錯的位數(shù)。滿足了上面的公式,才能進(jìn)行糾錯。

    舉例說明,假設(shè)有一組信息碼為:1101 0111 0,如何計(jì)算海明碼?

一、確定糾錯用的冗余位數(shù)

    M=9,那么,9+k+1<=2k,由此得出k=4,也就是說要在原始有效信息位填充4bit二進(jìn)位。

二、冗余填充位的計(jì)算

    4bit的冗余位按照海明碼的原理要填充在2n位上,即1、2、48……位上。由此得出如下的表格

海明碼的理解計(jì)算

將信息位與冗余位間的關(guān)系整理成一張表格如下。

海明碼的理解計(jì)算

由此得出:

1個冗余位由3、57、9、1113參與校驗(yàn)

2個冗余位由3、6、7、10、11參與校驗(yàn)

4個冗余位由5、6、7、12、13參與校驗(yàn)

8個冗余位由910、11、1213參與校驗(yàn)

如果全部按偶校驗(yàn)計(jì)算得出如下圖結(jié)果:

海明碼的理解計(jì)算

可以這樣理解:

1bit位:B1B3B5B7B9B11B13=0⊕1⊕1⊕1⊕0⊕1⊕0=0

2bit位:B2B3B6B7B10B11 =0⊕1⊕0⊕1⊕1⊕1=0

4bit位:B4B5B6B7B12B13 =1⊕1⊕0⊕1⊕1⊕0=0

8bit位:B8B9B10B11B12B13 =1⊕0⊕1⊕1⊕1⊕0=0

我們稱上面的4個式子為監(jiān)督關(guān)系式。

也就是說,校驗(yàn)與原有的信息做異或運(yùn)算按偶校驗(yàn)計(jì)算得出的結(jié)果全部是0 。

因此,這4bit的冗余位是:0011

三、信息校驗(yàn)

假設(shè)有一位數(shù)據(jù)出錯了,我們這里假設(shè)是第10位在傳輸過程中由1變成了0,出錯了,這樣上面的4個監(jiān)督關(guān)系式就會發(fā)生變化,變成如下:

1bit位:B1B3B5B7B9B11B13=0⊕1⊕1⊕1⊕0⊕1⊕0=0

2bit位:B2B3B6B7B10B11 =0⊕1⊕0⊕1⊕0⊕1=1

4bit位:B4B5B6B7B12B13 =1⊕1⊕0⊕1⊕1⊕0=0

8bit位:B8B9B10B11B12B13 =1⊕0⊕0⊕1⊕1⊕0=1

由此可以看出,14式?jīng)]有錯,而28出現(xiàn)了錯誤,由此B3、B6、B7、B10、B11、B9、B12、B13可能是出錯位,但是從14位可以看出正確的位是:B3、B5、B7B9、B11B13、B6B12,從可能出錯的位中把正確的去掉,就剩下了B3、B6、B7、B10、B11B9、B12、B13(紅色字是去掉的位),這樣就僅剩下第10位了,這樣我們把10進(jìn)行反轉(zhuǎn)就得到了正確的信息了。

更簡單的方法是由高位往低位寫(即由第8位寫到第一位)結(jié)果是1010,轉(zhuǎn)換為10進(jìn)制數(shù)為10,就是第10位出錯了

有這樣一道題:

使用海明碼進(jìn)行前向糾錯,如果冗余為4位,那么信息位最多可以用到多少位?假定碼字位a6  a5  a4  a3  a2  a1  a0,并且有下面的監(jiān)督關(guān)系式:

S2=a2+a4+a5+a6

S1=a1+a3+a5+a6

S0=a0+a3+a4+a6

若S2S1S0=110,則表示出錯位是哪一位?

答案:可以用到11位;a5位出錯

寫得不好,請指教!?。?!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI