• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            海明碼(海明碼能糾正幾位錯(cuò))

            更新時(shí)間:2023-03-01 19:12:29 閱讀: 評(píng)論:0

            什么是海明碼呀?通俗一點(diǎn),但又能深刻一點(diǎn)!謝謝了?。?!

            海明碼其實(shí)也不難,相對(duì)于寄偶檢驗(yàn)碼 它不僅可以檢驗(yàn)出錯(cuò)誤,還能修正錯(cuò)誤!但只能是檢驗(yàn)、修正一位錯(cuò)誤!說一大堆理論是沒什么意思,下面將通過一個(gè)例子,盡可能的用最通俗易懂的方式進(jìn)行講解!最后大家會(huì)發(fā)現(xiàn)海明碼很神奇?。?/p>

            假設(shè)要傳送的數(shù)據(jù)為:1011 0011

            校驗(yàn)流程如下:

            一:確定校驗(yàn)位并插入到有效數(shù)據(jù)位中。

            相比奇偶校驗(yàn)只插入一個(gè)檢驗(yàn)碼,海明碼需要插入多個(gè)檢驗(yàn)碼,插入的位數(shù)與有效數(shù)據(jù)位數(shù)相關(guān),公式如下

            公式:2^r-r>k+1,其中r就是要插入檢驗(yàn)碼的個(gè)數(shù),取滿足條件的最小整數(shù),k是有效數(shù)據(jù)位數(shù)。因?yàn)槲覀円獋魉偷臄?shù)據(jù)是:1011 0011,顯然k=8,推出r=4。也就說我們要將4個(gè)校驗(yàn)位插入到有效數(shù)據(jù)中,怎么插入呢?按照如下規(guī)則:

            插入位置固定為2^N(N:0,1,2,3,4,5……)處,因?yàn)閞=4,即只需要取4個(gè)有{2^0,2^1,2^2,2^3},對(duì)應(yīng)位置即是1,2,4,8,當(dāng)然了,如果r=5,那么插入位置為:1,2,4,8,16.同類可以推出其他情況,不再啰嗦。(之所以選擇這樣的位置插入,是為了有效的分組,保證后面的校驗(yàn)分組能有效的錯(cuò)開,不會(huì)互相干擾,這句話不需要理解,到后面就能體會(huì)?。?/p>

            通過分析得到待傳送的數(shù)據(jù)為:xx1x 011x 0011,4位校驗(yàn)位+8為有效數(shù)據(jù)位。

            二、確定校驗(yàn)位的數(shù)值。

            顯然X只能取0,1,下面確定x的值:

            由一可知待傳送數(shù)據(jù)為:xx1x 011x 0011。

            規(guī)則:以X的位置為長(zhǎng)度,依次從待傳送數(shù)據(jù)中取X個(gè)數(shù),然后跳過X個(gè)數(shù),再取X個(gè)數(shù),直到待傳送數(shù)據(jù)串尾,得到一個(gè)子串,然后統(tǒng)計(jì)子串中1的個(gè)數(shù),如果為奇數(shù),則x=0,為偶數(shù),x=1(當(dāng)然,反過來也行,其實(shí)這就是奇偶校驗(yàn)的規(guī)則,想了解奇偶校驗(yàn)可以參見我以前的回答的,這里不了解也行)

            第1個(gè)X:位置為1,從第1個(gè)位置開始依次取1個(gè)數(shù)據(jù),并跳過1個(gè)數(shù)據(jù)再取,直到串尾得到一個(gè)子串:

            {x 1 0 1 0 1},這個(gè)串可記為第1個(gè)校驗(yàn)組, 因?yàn)?的個(gè)數(shù)是3個(gè)為奇數(shù),故x=0.

            第2個(gè)X:位置為2,故從第2個(gè)位置開始依次取2個(gè)數(shù)據(jù),并跳過2個(gè)數(shù)據(jù)再取,直到串尾得到一個(gè)子串:

            {x1 11 01} ,記為第2個(gè)校驗(yàn)組,因?yàn)?的個(gè)數(shù)為4是偶數(shù),故x=1.

            第3個(gè)X:位置是4,故從第4個(gè)位置開始依次取4個(gè)數(shù)據(jù),并跳過4個(gè)數(shù)據(jù)再取,直到串尾得到一個(gè)子串:

            {x011 1},記為第3個(gè)校驗(yàn)組,因?yàn)?的個(gè)數(shù)為3是奇數(shù),故x=0.

            第4個(gè)X:位置是8,故從第8個(gè)位置開始依次取8個(gè)數(shù)據(jù),并跳過8個(gè)數(shù)據(jù)再取,直到串尾得到一個(gè)子串:

            {x0011 },記為第4個(gè)校驗(yàn)組,……,X=1。

            故得到最終的待傳送的數(shù)據(jù)串為:011001110011。

            這里其實(shí)就可以看到了,為什么X的位置要取2^N,這樣才能保證各個(gè)校驗(yàn)位不會(huì)相互干擾。

            經(jīng)過以上一、二步驟就完整了海明碼的構(gòu)造過程,下面講解校驗(yàn)過程:

            三、根據(jù)步驟二中的構(gòu)造規(guī)則,取出各校驗(yàn)組

            發(fā)送的數(shù)據(jù)串為:011001110011。

            假設(shè)接受到的數(shù)據(jù)串為:011001111011(注意和傳送數(shù)據(jù)串相比,第9為出現(xiàn)了錯(cuò)誤?。?/p>

            規(guī)則:以X的位置為長(zhǎng)度,依次從待傳送數(shù)據(jù)中取X個(gè)數(shù),然后跳過X個(gè)數(shù),再取X個(gè)數(shù),直到待傳送數(shù)據(jù)串尾,得到一個(gè)子串,然后統(tǒng)計(jì)子串中1的個(gè)數(shù),如果為奇數(shù),則x=0,為偶數(shù),x=1(規(guī)則必須和步驟二中一樣)

            根據(jù)二中制定的規(guī)則再次取出各個(gè)校驗(yàn)組。

            第1個(gè)校驗(yàn)組:從第1個(gè)位置開始依次取1個(gè)數(shù)據(jù),并跳過1個(gè)數(shù)據(jù)再取,直到串尾得到一個(gè)子串:{0 1 0 1 1 1}。

            第2個(gè)校驗(yàn)組:從第2個(gè)位置開始依次取2個(gè)數(shù)據(jù),并跳過2個(gè)數(shù)據(jù)再取,直到串尾得到一個(gè)子串:{11 11 01}

            第3個(gè)校驗(yàn)組:從第4個(gè)位置開始依次取4個(gè)數(shù)據(jù),并跳過4個(gè)數(shù)據(jù)再取,直到串尾得到一個(gè)子串:{0011 1}

            第4個(gè)校驗(yàn)組:從第8個(gè)位置開始依次取8個(gè)數(shù)據(jù),并跳過8個(gè)數(shù)據(jù)再取,直到串尾得到一個(gè)子串:{11011}.

            四、根據(jù)步驟二的構(gòu)造規(guī)則,確定存在錯(cuò)誤的校驗(yàn)組,并通過錯(cuò)誤校驗(yàn)組的交集,最終確定出錯(cuò)的位置。

            由步驟三得到4個(gè)校驗(yàn)組:

            1:{0 1 0 1 1 1}。 對(duì)應(yīng)位置為{1 3 5 7 9 11}

            2:{11 11 01}。對(duì)應(yīng)位置為{2 3 6 7 10 11}

            3:{0011 1} 。對(duì)應(yīng)位置為{4567 12}

            4:{11011}。 對(duì)應(yīng)位置為{8 9 10 11 12}

            因?yàn)槲覀兊臉?gòu)造規(guī)則是:統(tǒng)計(jì)子串中1的個(gè)數(shù),如果為奇數(shù),則x=0,為偶數(shù),x=1。

            所以正確的校驗(yàn)組中1的個(gè)數(shù)絕對(duì)是奇數(shù)!(好好琢磨,很容易就想通了,如果我們的規(guī)則是為奇數(shù),則x=1,為偶數(shù),x=0。那么正確的校驗(yàn)組中1的個(gè)數(shù)絕對(duì)是偶數(shù)),所以如果校驗(yàn)組1的個(gè)數(shù)不是奇數(shù),那么這個(gè)校驗(yàn)組就存在問題。因而可以判斷第1個(gè)和第4個(gè)校驗(yàn)組出現(xiàn)問題了。

            確定了第1個(gè)和第4個(gè)校驗(yàn)組出現(xiàn)問題后,找到這兩個(gè)校驗(yàn)組的交集即第9個(gè)位置和第11個(gè)位置是它們交集,即共同校驗(yàn)的位置。于是判斷出現(xiàn)問題的位置要么就是第9個(gè)位置,要么就是第11個(gè)位置!因?yàn)樵诘?個(gè)校驗(yàn)組中有第11個(gè)位置,故第11個(gè)位置絕對(duì)沒有出錯(cuò),因?yàn)榫涂梢耘袛嗍堑?個(gè)位置出現(xiàn)錯(cuò)誤!

            到這里,應(yīng)該懂了吧?但是不是覺得找出錯(cuò)位置有點(diǎn)麻煩???下面就給出一個(gè)具體的實(shí)現(xiàn)方法,理解了上面的描述,再了解下面實(shí)現(xiàn)的方法,立馬就能確定出錯(cuò)誤的位置:

            首先:我們對(duì)各個(gè)校驗(yàn)組求異或。

            第一個(gè)校驗(yàn)組:{0 1 0 1 1 1} 異或的結(jié)果為:0

            第二個(gè)校驗(yàn)組:{11 11 01}異或的結(jié)果為:1

            第三個(gè)校驗(yàn)組:{0011 1}異或的結(jié)果為:1

            第四個(gè)校驗(yàn)組:{11011}異或的結(jié)果為:0

            接著:倒置拼接異或結(jié)果,得到:0110,

            最后:按位取反的到:1001,。

            大家有沒有驚奇的發(fā)現(xiàn)1001的十進(jìn)制數(shù)就是9,這不就是出錯(cuò)的位置嗎?這是巧合嗎?

            不急再看一個(gè)例子:

            傳送的數(shù)據(jù)串為: 011001110011(還是我們開始的那個(gè)串)

            接受到的數(shù)據(jù)串為:011011110011(和正確數(shù)據(jù)串相比,第5個(gè)位置出錯(cuò)了)

            第一個(gè)校驗(yàn)組:{0 1 1 1 0 1} 異或的結(jié)果為:0

            第二個(gè)校驗(yàn)組:{11 11 01}異或的結(jié)果為:1

            第三個(gè)校驗(yàn)組:{0111 1}異或的結(jié)果為:0

            第四個(gè)校驗(yàn)組:{10011}異或的結(jié)果為:1

            倒置拼接:1010 反轉(zhuǎn)為:0101 對(duì)應(yīng)十進(jìn)制數(shù)為5!

            也就是說方法是真確的??!不用懷疑?。∵@也就是海明碼的奇妙之處!

            再來看看一個(gè)例子:

            傳送的數(shù)據(jù)串為: 011001110011(還是我們開始的那個(gè)串)

            接受到的數(shù)據(jù)串為:011001100011(和正確數(shù)據(jù)串相比,第8個(gè)位置校驗(yàn)位出錯(cuò)了)

            顯然這是校驗(yàn)位出錯(cuò)了,那么能不能校驗(yàn)出來呢?

            第一個(gè)校驗(yàn)組:{0 1 0 1 0 1} 異或的結(jié)果為:1

            第二個(gè)校驗(yàn)組:{11 11 01}異或的結(jié)果為:1

            第三個(gè)校驗(yàn)組:{0011 1}異或的結(jié)果為:1

            第四個(gè)校驗(yàn)組:{00011}異或的結(jié)果為:0

            倒置反轉(zhuǎn)結(jié)果為1000 正好是8,所以也沒問題。

            下面我們來說下規(guī)則:(其實(shí)就是說異或與奇偶的關(guān)系,想拓展的就可以看看)

            上面的例子中,我們規(guī)定: 統(tǒng)計(jì)子串中1的個(gè)數(shù),如果為奇數(shù),則x=0,為偶數(shù),x=1。如果是按這樣的規(guī)定,那么校驗(yàn)組中1的個(gè)數(shù)必定是奇數(shù),正是因?yàn)槿绱耍孕r?yàn)組中如果1的個(gè)數(shù)不是奇數(shù)那么肯定出現(xiàn)了錯(cuò)誤!而如果一個(gè)串中1的個(gè)數(shù)是奇數(shù),那么串異或的結(jié)果一定為1,其實(shí)這個(gè)規(guī)則對(duì)應(yīng)的就是奇校驗(yàn)!反之,如果為奇數(shù),則x=1,為偶數(shù),x=0,那么對(duì)應(yīng)的就是偶校驗(yàn)!

            故得到以下結(jié)論:

            如果采用奇檢驗(yàn)構(gòu)造海明碼,那么出錯(cuò)校驗(yàn)組中的1的個(gè)數(shù)必為偶數(shù),即異或的結(jié)果必定為0!

            如果采用奇檢驗(yàn)構(gòu)造海明碼,那么出錯(cuò)的位置是校驗(yàn)組異或結(jié)果倒置拼接并反轉(zhuǎn)的十進(jìn)制數(shù)

            如果采用偶檢驗(yàn)構(gòu)造海明碼,那么出錯(cuò)校驗(yàn)組中的1的個(gè)數(shù)必為奇數(shù),即異或的結(jié)果必定為1!

            如果采用偶檢驗(yàn)構(gòu)造海明碼,那么出錯(cuò)位置是校驗(yàn)組異或結(jié)果直接倒置拼接的十進(jìn)制數(shù)!

            關(guān)于偶檢驗(yàn)構(gòu)造海明碼這里就不再詳細(xì)展開,如果你能用偶檢驗(yàn)的方法在把上面的例子都做一遍,那么海明碼你就已經(jīng)完全弄懂了!試試吧!

            關(guān)于奇偶檢驗(yàn)碼 建議還是看看,因?yàn)楹C鞔a是基于奇偶校驗(yàn)的改進(jìn)!而且奇偶校驗(yàn)更簡(jiǎn)單!


            關(guān)于海明碼的原理和計(jì)算

            綜合上面我們求一下信息1011的海明碼是多少?

            答:
            我們知道信息位有4位,即為n=4,求得公式中校驗(yàn)位K=3。所以海明碼一共7位:H7-H1 ; 信息位:D3-D0; 校驗(yàn)位:P3-P1。

            求P3-P1在海明碼中的位置。根據(jù)圖中下面這句話。我們可以求得位置。

            p1= 2的(1-1)次方=1
            p2=>2
            p3=>4

            校驗(yàn)位在海明碼中的位置:P1----1 P2----2 P3----4
            現(xiàn)在我們需要求得P1-P3的值,我們的海明碼就出來了。

            eg: H7 下標(biāo)為7, 校驗(yàn)碼下標(biāo)有1,2,4。 則需要7=4+2+1 。所以P1,P2,P3都參與了D3的校驗(yàn)。

            接下來我們統(tǒng)計(jì)一個(gè)各個(gè)校驗(yàn)位校驗(yàn)的信號(hào)位有哪些。
            P1---->P1,D0,D1,D3
            P2---->P2,D0,D2,D3
            P3---->P3,D1,D2,D3
            進(jìn)行異或運(yùn)算(相同為0,相異為1)
            P1=D0⊕D1⊕D3=1 1 1=1
            P2=D0⊕D2⊕D3=1 0 1=0
            P3=D1⊕D2⊕D3=1 0 1=0

            所以海明碼為:1010101。

            檢錯(cuò)計(jì)算: 本來是1011,假如傳過來的是1001。(D1出錯(cuò)了)
            則從又到左D0=1 D1=0, D2=0, D3=1
            G1=P1⊕D0⊕D1⊕D3=1 1 0 1=1
            G2=P2⊕D0⊕D2⊕D3=0 1 0 1=0
            G3=P3⊕D1⊕D2⊕D3=0 0 0*1=1

            G3G2G1=101

            如果是偶校驗(yàn),則需要全部為0,如果是奇校驗(yàn)全部為1。
            101的10進(jìn)制。則是海明碼里面的第5位出錯(cuò)。H5(D1)出錯(cuò)。則D1取反,得到。1001-->1011 。 這樣就實(shí)現(xiàn)了檢錯(cuò),改錯(cuò)了。


            如何理解海明碼可以發(fā)現(xiàn)雙比特錯(cuò),但是只能糾正單比特錯(cuò)?

            糾錯(cuò)編碼:
            不僅可以發(fā)現(xiàn)錯(cuò)位,還可以指出錯(cuò)位的位置,為自動(dòng)糾錯(cuò)提供數(shù)據(jù)。
            海明碼:
            可以發(fā)現(xiàn)雙比特錯(cuò),但只能糾正單比特錯(cuò)。
            海明碼工作原理:
            動(dòng)一發(fā)而牽全身(在數(shù)據(jù)中有多個(gè)校驗(yàn)碼,可能一個(gè)比特受多個(gè)校驗(yàn)碼校驗(yàn),當(dāng)一個(gè)比特出了差錯(cuò),可以通過校驗(yàn)碼看出哪個(gè)比特出錯(cuò))
            海明碼工作流程:
            1.確定校驗(yàn)碼位數(shù)r
            n為有效信息的位數(shù),k位校驗(yàn)碼位數(shù):
            2^k>=n+k+1;
            例如:D=1010 (n=4)
            帶入上述公式得出 :
            k = 3 得出對(duì)應(yīng)的海明碼位數(shù)為 4+3=7位

            2.確定校驗(yàn)碼和數(shù)據(jù)的位置
            Note:二進(jìn)制從0001開始,千萬不要從0開始

            校驗(yàn)碼只能放在2的幾次方的位置
            p1 放在2的0次方 = 1p2 放在2的1次方 = 2p3 放在2的2次方 = 4D = 1 0 1 0 (D4--D1)| 二進(jìn)制 | 0111 | 0110 | 0101 | 0100 | 0011 | 0010 | 0001 || 數(shù)據(jù)位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | | 代 碼 | D4 | D3 | D2 | p3 | D1 | p2 | p1 | | 實(shí)際值 | 1 | 0 | 1 | | 0 | | | 剩下的位置放置原數(shù)據(jù)

            3.求出校驗(yàn)碼的值
            Note:二進(jìn)制從0001開始,千萬不要從0開始| 二進(jìn)制 | 0111 | 0110 | 0101 | 0100 | 0011 | 0010 | 0001 || 數(shù)據(jù)位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | | 代 碼 | D4 | D3 | D2 | p3 | D1 | p2 | p1 | | 實(shí)際值 | 1 | 0 | 1 | | 0 | | | 以p1為例,p1二進(jìn)制位末位是 1找所有二進(jìn)制位位 1 的校驗(yàn)位 p1,D1,D2,D4 ==(?,0,1,1)
            令所有要校驗(yàn)的位 異或 = 0: p1,D1,D2,D4 相互異或 (同0異1) 得到p1 = 0同理求出剩余
            p2 找第二位是 1p3 找第三位是 1| 二進(jìn)制 | 0111 | 0110 | 0101 | 0100 | 0011 | 0010 | 0001 || 數(shù)據(jù)位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | | 代 碼 | D4 | D3 | D2 | p3 | D1 | p2 | p1 | | 實(shí)際值 | 1 | 0 | 1 | 0 | 0 | 1 | 0 |

            4.檢錯(cuò)并糾錯(cuò)
            | 二進(jìn)制 | 0111 | 0110 | 0101 | 0100 | 0011 | 0010 | 0001 || 數(shù)據(jù)位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | | 代 碼 | D4 | D3 | D2 | p3 | D1 | p2 | p1 | | 實(shí)際值 | 1 | 0 | 1->0 | 0 | 0 | 1 | 0 |假設(shè)D2從 1變成了0 接收端做第三步的逆操作
            令所有要檢驗(yàn)的位異或運(yùn)算
            p1 = (0,0,0,1) = 1p2 = 0p3 = 1可以看出出錯(cuò)的是第 三 位和第 一 位是 1 的數(shù) 也就是 D2 出錯(cuò)了 將D2改正

            簡(jiǎn)單理解海明校驗(yàn)碼

            二進(jìn)制數(shù)據(jù)經(jīng)過傳送、存取等環(huán)節(jié),會(huì)發(fā)生誤碼(1變成0或0變成1),這就有如何發(fā)現(xiàn)及糾正誤碼的問題。所有解決此類問題的方法就是在原始數(shù)據(jù)(數(shù)碼位)基礎(chǔ)上增加幾位校驗(yàn)位。我們常使用的檢驗(yàn)碼有三種. 分別是奇偶校驗(yàn)碼、海明校驗(yàn)碼和循環(huán)冗余校驗(yàn)碼(CRC)。

            海明校驗(yàn)碼是由RichardHamming于1950年提出、目前還被廣泛采用的一種很有效的校驗(yàn)方法。它的實(shí)現(xiàn)原理,是在k個(gè)數(shù)據(jù)位之外加上r個(gè)校驗(yàn)位,從而形成一個(gè)k+r位的新的碼字,使新的碼字的碼距比較均勻地拉大。把數(shù)據(jù)的每一個(gè)二進(jìn)制位分配在幾個(gè)不同的偶校驗(yàn)位的組合中,當(dāng)某一位出錯(cuò)后,就會(huì)引起相關(guān)的幾個(gè)校驗(yàn)位的值發(fā)生變化,這不但可以發(fā)現(xiàn)出錯(cuò),還能指出是哪一位出錯(cuò),為進(jìn)一步自動(dòng)糾錯(cuò)提供了依據(jù)。但是因?yàn)檫@種海明校驗(yàn)的方法只能檢測(cè)和糾正一位出錯(cuò)的情況。所以如果有多個(gè)錯(cuò)誤,就不能查出了。

            什么是碼距?
            兩個(gè)碼組對(duì)應(yīng)位上數(shù)字的不同位的個(gè)數(shù)稱為碼組的距離,簡(jiǎn)稱碼距,又稱海明(Hamming)距離。例如00110和00100碼距為1,12345和13344碼距為2,Caus和Daun碼距為2。

            海明校驗(yàn)碼公式(假設(shè)為k個(gè)數(shù)據(jù)位設(shè)置r個(gè)校驗(yàn)位)

            公式怎么得出來的呢?
            假設(shè)有r個(gè)校驗(yàn)位,一個(gè)位子有0或1兩種情況,r個(gè)位子就有2 r種排列情況,能表示2 r種狀態(tài)。其中一個(gè)狀態(tài)用來表示正確(沒有錯(cuò)誤發(fā)生)的這種情況。其余的2 r-1種狀態(tài)來表示錯(cuò)誤發(fā)生在哪一位??偣灿衚+r位,所以2 r-1一定要>=總位子k+r。
            按照該不等可以得出k與r的對(duì)應(yīng)關(guān)系

            注意:海明校驗(yàn)碼是放在2的冪次位上的,即“1,2,4,8,16,32······”

            實(shí)戰(zhàn)求1011的海明碼
            第一步:求r的值(即校驗(yàn)位數(shù))
            直接根據(jù)公式代入得:
            2^r-1 ≥ 4 + r
            2^r-r ≥ 5
            得到r最小為3
            所以海明碼的位數(shù)是4+3=7位
            第二步:校驗(yàn)位和信息位對(duì)號(hào)入座
            注意: 信息位的位置分配是從高位到低位依次存放
            注意: 海明校驗(yàn)碼是放在2的冪次位上的

            位數(shù)|1|2|3|4|5|6|7
            :-:|:-:|:-:|:-:|:-:|:-:|:-:
            信息位|||1||1|0|1
            校驗(yàn)位|r1|r2||r3|||
            第三步:確定校驗(yàn)位的值
            校驗(yàn)原則:被校驗(yàn)的海明位的下標(biāo)等于所有參與校驗(yàn)該為的校驗(yàn)位的下標(biāo)之和

            然后將校驗(yàn)碼校驗(yàn)的信息位的位置記錄下來:

            然后做對(duì)應(yīng)信息位的異或運(yùn)算(異或的運(yùn)算法則為:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同為0,異為1))

            代入表格得到

            注意:按照從低位到高位的排列順序得到海明碼:1010101


            海明碼的原理

            海明碼是一種可以糾正一位差錯(cuò)的編碼。它是利用在信息位為k位,增加r位冗余位,構(gòu)成一個(gè)n=k+r位的碼字,然后用r個(gè)監(jiān)督關(guān)系式產(chǎn)生的r個(gè)校正因子來區(qū)分無錯(cuò)和在碼字中的n個(gè)不同位置的一位錯(cuò)。它必需滿足以下關(guān)系式: r 2^r ≥ k r 1 或 2^r ≥ n 1海明碼的編碼效率為: R=k/(k+r) 式中 k為信息位位數(shù) r為增加冗余位位數(shù)

            目錄

            1.海明碼的原理
            2.海明碼的生成與接收
            3.海明碼的計(jì)算
            4.海明碼校驗(yàn)程序設(shè)計(jì)原理分析參考

            編輯本段1.海明碼的原理
              在數(shù)據(jù)中間加入幾個(gè)校驗(yàn)碼,碼距均勻拉大,將數(shù)據(jù)的每個(gè)二進(jìn)制位分配在幾個(gè)奇偶校驗(yàn)組里,當(dāng)某一位出錯(cuò),會(huì)引起幾個(gè)校驗(yàn)位的值發(fā)生變化。
              海明不等式:
              校驗(yàn)碼個(gè)數(shù)為K,2的K次方個(gè)信息,1個(gè)信息用來指出“沒有錯(cuò)誤”,其余(2^K)-1個(gè)指出錯(cuò)誤發(fā)生在那一位,但也可能是校驗(yàn)位錯(cuò)誤,故有N<=(2^K)-1-K能被校驗(yàn)。
              海明碼的編碼規(guī)則:
              1.每個(gè)校驗(yàn)位Ri被分配在海明碼的第2的i次方的位置上,
              2.海明碼的每一位(Hi)是由多個(gè)/1個(gè)校驗(yàn)值進(jìn)行校驗(yàn)的,被校驗(yàn)碼的
              位置碼是所有校驗(yàn)位的校驗(yàn)位位置碼之和。
              一個(gè)例題:
              4個(gè)數(shù)據(jù)位d0,d1,d2,d3, 3個(gè)校驗(yàn)位r0,r1,r2,對(duì)應(yīng)的位置為:
              d3 d2 d1 r2 d0 r1 r0 ======b7 b6 b5 b4 b3 b2 b1
              校驗(yàn)位的取值,就是他所能校驗(yàn)的數(shù)據(jù)位的異或
              b1為b3,b5,b7的異或,b2為b3,b6,b7 b4為b5,b6,b7
              海明v傳送到接受方后,將上三式的右邊(b1,b2,b4)的邏輯表達(dá)式分別
              異或上左邊的值就得到了校驗(yàn)方程,如果上題采用偶校驗(yàn)
              G1=b1 b3 b5 b7的異或
              G2=b2 b3 b6 b7的異或
              G3=b4 b5 b6 b7的異或
              若G1G2G3為001是第一位錯(cuò)
              若為011是第三位錯(cuò)
            編輯本段2.海明碼的生成與接收
              特注:以下的+均代表異或
              方法一:
              1)海明碼的生成。
              例1.已知:信息碼為:"0010"。海明碼的監(jiān)督關(guān)系式為:
              S2=a2+a4+a5+a6
              S1=a1+a3+a5+a6
              S0=a0+a3+a4+a6
              求:海明碼碼字。
              解:1)由監(jiān)督關(guān)系式知冗余碼為a2a1a0。
              2)冗余碼與信息碼合成的海明碼是:"0010a2a1a0"。
              設(shè)S2=S1=S0=0,由監(jiān)督關(guān)系式得:
              異或運(yùn)算:
              a2=a4+a5+a6=1
              a1=a3+a5+a6=0
              a0=a3+a4+a6=1
              因此,海明碼碼字為:"0010101"
              對(duì)以上這道題目的第二問的疑問:
              冗余碼與信息碼合成的海明碼是:"0010a2a1a0"。為什么a2a1a0直接加在信息碼后面,而不是按照1,2,4,8位的順序加在信息碼后面【例如:001(a2)0(a1)(a0)=0011001】
              2)海明碼的接收。
              例2.已知:海明碼的監(jiān)督關(guān)系式為:
              S2=a2+a4+a5+a6
              S1=a1+a3+a5+a6
              S0=a0+a3+a4+a6
              接收碼字為:"0011101"(n=7)
              求:發(fā)送端的信息碼。
              解:1)由海明碼的監(jiān)督關(guān)系式計(jì)算得S2S1S0=011。
              2)由監(jiān)督關(guān)系式可構(gòu)造出下面錯(cuò)碼位置關(guān)系表:
              S2S1S0
              000
              001
              010
              100
              011
              101
              110
              111
              錯(cuò)碼位置
              無錯(cuò)
              a0
              a1
              a2
              a3
              a4
              a5
              a6
              3)由S2S1S0=011查表得知錯(cuò)碼位置是a3。
              4)糾錯(cuò)--對(duì)碼字的a3位取反得正確碼字:"0 0 1 0 1 0 1"
              5)把冗余碼a2a1a0刪除得發(fā)送端的信息碼:"0010"
              方法二:(不用查表,方便編程)
              1)海明碼的生成(順序生成法)。
              例3.已知:信息碼為:" 1 1 0 0 1 1 0 0 " (k=4代表冗余位數(shù),即校驗(yàn)碼位數(shù))
              求:海明碼碼字。
              解:1)把冗余碼A、B、C、…,順序插入信息碼中,得海明碼
              碼字:" A B 1 C 1 0 0 D 1 1 0 0 "
              碼位: 1 2 3 4 5 6 7 8 9 10 11 12
              其中A,B,C,D分別插于2的k次方位(k=0,1,2,3)。碼位分別為1,2,4,8。
              2)冗余碼A,B,C,D的線性碼位是:(相當(dāng)于監(jiān)督關(guān)系式)
              監(jiān)督關(guān)系式的推導(dǎo):
              D C B A
              1 0 0 0 1
              2 0 0 1 0
              3 0 0 1 1
              4 0 1 0 0
              5 0 1 0 1
              6 0 1 1 0
              7 0 1 1 1
              8 1 0 0 0
              9 1 0 0 1
              10 1 0 1 0
              11 1 0 1 1
              12 1 1 0 0
              根據(jù)上面表格得到 A B C D
              需要說明的是公式中參與計(jì)算的是表格中出現(xiàn)"1"的那個(gè)位 右邊是數(shù)據(jù)位的二進(jìn)制數(shù),公式中的"+"表示異或
              故此有如下表達(dá)式:
              A->1,3,5,7,9,11;(這里的1 3 5 7 9 11均為A那一列出現(xiàn)1的位)
              B->2,3,6,7,10,11;
              C->4,5,6,7,12;(注 5=4+1;6=4+2;7=4+2+1;12=8+4)
              D->8,9,10,11,12。
              3)把線性碼位的值的偶校驗(yàn)作為冗余碼的值(設(shè)冗余碼初值為0):
              A=∑(0,1,1,0,1,0)=1
              B=∑(0,1,0,0,1,0)=0
              C=∑(0,1,0,0,0) =1
              D=∑(0,1,1,0,0) =0
              4)海明碼為:"1 0 1 1 1 0 0 0 1 1 0 0"
              2)海明碼的接收。
              例4.已知:接收的碼字為:"1 0 0 1 1 0 0 0 1 1 0 0"(k=4代表冗余位數(shù),即校驗(yàn)碼位數(shù))
              求:發(fā)送端的信息碼。
              解:1)設(shè)錯(cuò)誤累加器(err)初值=0
              2)求出冗余碼的偶校驗(yàn)和,并按碼位累加到err中:
              A=∑(1,0,1,0,1,0)=1 err=err+2^0=1
              B=∑(0,0,0,0,1,0)=1 err=err+2^1=3
              C=∑(1,1,0,0,0) =0 err=err+0 =3
              D=∑(0,1,1,0,0) =0 err=err+0 =3
              由err≠0可知接收碼字有錯(cuò),
              3)碼字的錯(cuò)誤位置就是錯(cuò)誤累加器(err)的值3。
              4)糾錯(cuò)--對(duì)碼字的第3位值取反得正確碼字:
              "1 0 1 1 1 0 0 0 1 1 0 0"
              5)把位于2的k次方位的冗余碼刪除得信息碼:"1 1 0 0 1 1 0 0"
            編輯本段3.海明碼的計(jì)算
              海明碼(Hamming Code )編碼的關(guān)鍵是使用多余的奇偶校驗(yàn)位來識(shí)別一位錯(cuò)誤。
              碼字(Code Word) 按如下方法構(gòu)建:
              1、把所有2的冪次方的數(shù)據(jù)位標(biāo)記為奇偶校驗(yàn)位(編號(hào)為1, 2, 4, 8, 16, 32, 64等的位置)
              2、其他數(shù)據(jù)位用于待編碼數(shù)據(jù). (編號(hào)為3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17等的位置)
              3、每個(gè)奇偶校驗(yàn)位的值代表了代碼字中部分?jǐn)?shù)據(jù)位的奇偶性,其所在位置決定了要校驗(yàn)和跳過的比特位順序。
              位置1:校驗(yàn)1位,跳過1位,校驗(yàn)1位,跳過1位(1,3,5,7,9,11,13,15,…)
              位置2:校驗(yàn)2位,跳過2位,校驗(yàn)2位,跳過2位 (2,3,6,7,10,11,14,15,…)
              位置4:校驗(yàn)4位,跳過4位,校驗(yàn)4位,跳過4位 (4,5,6,7,12,13,14,15,20,21,22,23,…)
              位置8:校驗(yàn)8位,跳過8位,校驗(yàn)8位,跳過8位(8-15,24-31,40-47,…)
              …
              如果全部校驗(yàn)的位置中有奇數(shù)個(gè)1,把該奇偶校驗(yàn)位置為1;如果全部校驗(yàn)的位置中有偶數(shù)個(gè)1,把該奇偶校驗(yàn)位置為0.
              舉例說明:
              一個(gè)字節(jié)的數(shù)據(jù):10011010
              構(gòu)造數(shù)據(jù)字(Data Word),對(duì)應(yīng)的校驗(yàn)位留空_ _ 1 _ 0 0 1 _ 1 0 1 0
              計(jì)算每個(gè)校驗(yàn)位的奇偶性 ( ?代表要設(shè)置的比特位):
              位置1檢查1,3,5,7,9,11:
              ? _ 1 _ 0 0 1 _ 1 0 1 0. 偶數(shù)個(gè)1,因此位置1設(shè)為0,即: 0 _ 1 _ 0 0 1 _ 1 0 1 0
              位置2檢查2,3,6,7,10,11:
              0 ? 1 _ 0 0 1 _ 1 0 1 0. 奇數(shù)個(gè)1,因此位置2設(shè)為1,即: 0 1 1 _ 0 0 1 _ 1 0 1 0
              位置4檢查4,5,6,7,12:
              0 1 1 ? 0 0 1 _ 1 0 1 0. 奇數(shù)個(gè)1,因此位置4設(shè)為1,即: 0 1 1 1 0 0 1 _ 1 0 1 0
              位置8檢查8,9,10,11,12:
              0 1 1 1 0 0 1 ? 1 0 1 0. 偶數(shù)個(gè)1,因此位置8設(shè)為0,即: 0 1 1 1 0 0 1 0 1 0 1 0
              因此碼字為: 011100101010.
              查找并糾錯(cuò)一位錯(cuò)誤
              上例中構(gòu)建了一個(gè)碼字 011100101010,假定實(shí)際接收到的數(shù)據(jù)是011100101110. 則接收方可以計(jì)算出哪一位出錯(cuò)并對(duì)其進(jìn)行更正。方法就是驗(yàn)證每一個(gè)校驗(yàn)位。記下所有出錯(cuò)的校驗(yàn)位,可以發(fā)現(xiàn)校驗(yàn)位2和8的數(shù)據(jù)不正確. 錯(cuò)誤校驗(yàn)位 2 + 8 = 10, 則位置10的數(shù)據(jù)出錯(cuò)。一般說來,對(duì)所有校驗(yàn)位進(jìn)行檢查, 將所有出錯(cuò)的校驗(yàn)位置相加, 得到的就是錯(cuò)誤信息所在的位置.
            編輯本段4.海明碼校驗(yàn)程序設(shè)計(jì)原理分析參考
              海明碼校驗(yàn)是為了保證數(shù)據(jù)傳輸正確而提出的,本來就是一串要傳送的數(shù)據(jù),如:D7,D6,D5,D4,D3,D2,D1,D0,這里舉的是八位數(shù)據(jù),可以是n位數(shù)據(jù)。就這樣傳送數(shù)據(jù),不知道接收到后是不是正確的。所以,要加入校驗(yàn)位數(shù)據(jù)才能檢查是否出錯(cuò)。這里涉及到一個(gè)問題,要多少位校驗(yàn)數(shù)據(jù)才能查出錯(cuò)誤呢?
              我們只要能檢測(cè)出一位出錯(cuò),則對(duì)于8位信息數(shù)據(jù),校驗(yàn)位為4位。滿足下列條件:2的k次方大于等于n+k+1,其中k為校驗(yàn)位位數(shù),n為信息數(shù)據(jù)位位數(shù)。驗(yàn)證一下,2的4次方等于16,n+k+1等于8+4+1等于13。 8位信息數(shù)據(jù)與4位校驗(yàn)位總共有12位數(shù)據(jù),怎么排列呢?我們先把校驗(yàn)位按P4,P3,P2,P1排列,用通式Pi表示校驗(yàn)位序列,i為校驗(yàn)位在校驗(yàn)序列中的位置。 傳送的數(shù)據(jù)流用M12,M11,M10,M9,M8,M7,M6,M5,M4,M3,M2,M1表示,接下來的問題是如何用D7,D6,D5,D4,D3,D2,D1,D0與P4,P3,P2,P1來表M12,M11,M10,M9,M8,M7,M6,M5,M4,M3,M2,M1了。校驗(yàn)位在傳送的數(shù)據(jù)流中位置為2的i-1次方,則P1在M1位,P2在M2位,P3在M4位,P4在M8位。其余的用信息數(shù)據(jù)從高到低插入。 傳送的數(shù)據(jù)流為D7,D6,D5,D4,P4,D3,D2,D1,P3,D0,P2,P1。 接下來,我們要弄明白如何找出錯(cuò)誤位的問題。引進(jìn)4位校驗(yàn)和序列S4,S3,S2,S1。S4,S3,S2,S1等于0,0,0,0表示傳送的數(shù)據(jù)流正確;如S4,S3,S2,S1等于0,0,1,0則表示傳送的數(shù)據(jù)流中第2位出錯(cuò);如S4,S3,S2,S1等于0,0,1,1則表示傳送的數(shù)據(jù)流中第3位出錯(cuò);依次類推。
              用M12,M11,M10,M9,M8,M7,M6,M5,M4,M3,M2,M1如何表示S4,S3,S2,S1呢,簡(jiǎn)單的方法就是S1=1時(shí),S4,S3,S2從0,0,0到1,1,1的所有的Mx異或。即S1等于M1異或M3異或M5異或M7異或M9異或M11。也就是S1等于P1異或D0異或D1異或D3異或D4異或D6。S2=1時(shí),S4,S3,S1從0,0,0到1,1,1的所有的Mx異或。即S2等于M2異或M3異或M6異或M7異或M10異或M11。S3=1時(shí),S4,S2,S1從0,0,0到1,1,1的所有的Mx異或。即S3等于M4異或M5異或M6異或M7異或M12。S4=1時(shí),S3,S2,S1從0,0,0到1,1,1的所有的Mx異或。即S4等于M8異或M9異或M10異或M11異或M12。這樣,對(duì)于一串碼流,知道幾位校驗(yàn)位,可以很快確定哪一位出錯(cuò)。而在發(fā)送端,可以根據(jù)S4,S3,S2,S1的表達(dá)式求出P4,P3,P2,P1的表達(dá)式,只要把式子右邊的P4或P3或P2或P1移到左邊替換掉S4或S3或S2或S1就可以了。面舉例說明:用^表示異或
              D7,D6,D5,D4,D3,D2,D1,D0=11010001
              S4=M8^M9^M10^M11^M12=D7^D6^D5^D4^P4; P4=D7^D6^D5^D4;
              S3=M4^M5^M6^M7^M12 =D7^D3^D2^D1^P3; P3=D7^D3^D2^D1;
              S2=M2^M3^M6^M7^M10^M11 =D6^D5^D3^D2^D0^P2; P2=D6^D5^D3^D2^D0;
              S1=M1^M3^M5^M7^M9^M11=D6^D4^D3^D1^D0^P1; P1=D6^D4^D3^D1^D0;
              所以,
              P4=D7^D6^D5^D4=1^1^0^1=1
              P3=D7^D3^D2^D1=1^0^0^0=1
              P2= D6^D5^D3^D2^D0=1^0^0^0^1=0 P1=D6^D4^D3^D1^D0=1^1^0^0^1=1
              故,傳送碼流為D7,D6,D5,D4,P4,D3,D2,D1,P3,D0,P2,P1等于
              110110001101
              若接收端收到110110001101,則
              S4=M8^M9^M10^M11^M12=1^1^0^1^1=0
              S3=M4^M5^M6^M7^M12=1^0^0^0^1=0
              S2=M2^M3^M6^M7^M10^M11=0^1^0^0^0^1=0
              S1=M1^M3^M5^M7^M9^M11=1^1^0^0^1^1=0
              故,接收碼流正確。
              若M6出錯(cuò),由0變?yōu)?。則
              S4=M8^M9^M10^M11^M12=1^1^0^1^1=0
              S3=M4^M5^M6^M7^M12=1^0^1^0^1=1
              S2=M2^M3^M6^M7^M10^M11=0^1^1^0^0^1=1 S1=M1^M3^M5^M7^M9^M11=1^1^0^0^1^1=0
              即S4S3S2S1=0110,此為十進(jìn)制的6,說明第六位出錯(cuò),也就是M6出錯(cuò)。完全符合。
              5.海明碼的表格計(jì)算
              如果對(duì)于m位的數(shù)據(jù),增加k位冗余位,則組成位n=m+k位的糾錯(cuò)碼。對(duì)于2^m個(gè)有效碼字中的每一個(gè),都有n個(gè)無效但可以糾錯(cuò)的碼字。這些可糾錯(cuò)的碼字與有效碼字的距離是1,含單個(gè)錯(cuò)誤位。這樣,對(duì)于一個(gè)有效的消息總共有n+1個(gè)可識(shí)別的碼字。這n+1個(gè)碼字相對(duì)于其他2^m-1個(gè)有效消息的距離都大于1。這意味著總共有2^m(n+1)個(gè)有效的或是可糾錯(cuò)的碼字。顯然這個(gè)數(shù)應(yīng)小于等于碼字的所有的可能的個(gè)數(shù)2^n。于是我們有
              2^m(n+1)<2^n
              因?yàn)閚=m+k,我們得出
              m+k+1<2^k
              對(duì)于給定的數(shù)據(jù)位m,上式給出了k的下界,即要糾正單個(gè)錯(cuò)誤,k必須取最小的值。海明建議了一種方案,可以達(dá)到這個(gè)下界,并能直接指出錯(cuò)在哪一位。首先把碼字的位從1到n編號(hào),,并把這個(gè)編號(hào)表示成二進(jìn)制數(shù),即2的冪之和。然后對(duì)2的每一個(gè)冪設(shè)置一個(gè)奇偶位。例如對(duì)于6號(hào)位,由于6=110(二進(jìn)制),所以6號(hào)位參加第2位和第4位的奇偶校驗(yàn),而不參加第1位奇偶校驗(yàn)。類似的9號(hào)位參加第1位和第8位的奇偶校驗(yàn)而不參加第2位和第4位的奇偶校驗(yàn)。海明把奇偶校驗(yàn)分配在1,2,4,8等位置上,其他位置放數(shù)據(jù)。下面根據(jù)海明編碼的例圖,舉例說明編碼的方法
            海明編碼的例

            海明編碼的例
              例如傳送的消息為:1001011
              我們把數(shù)據(jù)放在3,5,6,7,9,10,11等位置上,1,2,4,8則為校驗(yàn)位。
              

            1
            0 0 1
            0 1 1
             1 2 3 4 5 6 7 8 9 10 11
              根據(jù)海明編碼的例,3、5、7、9、11的二進(jìn)制編碼的第一位為1,所以3、5、7、9、11號(hào)位參加第一位校驗(yàn)位,若按偶校驗(yàn)計(jì)算,1號(hào)位應(yīng)為1
              
            1
            1
            0 0 1
            0 1 1
             1 2 3 4 5 6 7 8 9 10 11
              類似的,3、6、7、10、11號(hào)位參加2號(hào)位校驗(yàn),5、6、7號(hào)位參加4號(hào)位校驗(yàn),9、10、11號(hào)位參加8號(hào)位校驗(yàn),全部按偶校驗(yàn)計(jì)算,最終得到如下結(jié)果
              
            1 0 1 1 0 0 1 0 0 1 1
             1 2 3 4 5 6 7 8 9 10 11
              如果這個(gè)碼字傳輸中有錯(cuò)誤,比如說6號(hào)位出錯(cuò)。就會(huì)變成
              √ ╳ ╳ √
              
            1 0 1 1 0 1 1 0 0 1 1
             1 2 3 4 5 6 7 8 9 10 11
              當(dāng)接收端按照同樣的規(guī)則計(jì)算奇偶位時(shí),就會(huì)發(fā)現(xiàn)1號(hào)位和8號(hào)位的奇偶性正確而2號(hào)位和4號(hào)位的奇偶性不對(duì),于是2+4=6,,立即可以判斷錯(cuò)在6號(hào)位。
              上例中k=4,因而m<2^4-4-1=11,即數(shù)據(jù)位可以用到11位,共組成15位的碼字,可檢測(cè)出單個(gè)位置的錯(cuò)誤。

            怎么理解海明碼?

            海明碼1.海明碼的概念海明碼是一種可以糾正一位差錯(cuò)的編碼。它是利用在信息位為k位,增加r位冗余位,構(gòu)成一個(gè)n=k+r位的碼字,然后用r個(gè)監(jiān)督關(guān)系式產(chǎn)生的r個(gè)校正因子來區(qū)分無錯(cuò)和在碼字中的n個(gè)不同位置的一位錯(cuò)。它必需滿足以下關(guān)系式:2^r>=n+1 或 2^r>=k+r+1海明碼的編碼效率為:R=k/(k+r)式中 k為信息位位數(shù)r為增加冗余位位數(shù) 2.海明碼的生成與接收方法一:1)海明碼的生成。例1.已知:信息碼為:"0010"。海明碼的監(jiān)督關(guān)系式為:S2=a2+a4+a5+a6S1=a1+a3+a5+a6S0=a0+a3+a4+a6求:海明碼碼字。解:1)由監(jiān)督關(guān)系式知冗余碼為a2a1a0。2)冗余碼與信息碼合成的海明碼是:"0010a2a1a0"。設(shè)S2=S1=S0=0,由監(jiān)督關(guān)系式得:a2=a4+a5+a6=1a1=a3+a5+a6=0a0=a3+a4+a6=1因此,海明碼碼字為:"0010101"2)海明碼的接收。例2.已知:海明碼的監(jiān)督關(guān)系式為:S2=a2+a4+a5+a6S1=a1+a3+a5+a6S0=a0+a3+a4+a6接收碼字為:"0011101"(n=7)求:發(fā)送端的信息碼。解:1)由海明碼的監(jiān)督關(guān)系式計(jì)算得S2S1S0=011。2)由監(jiān)督關(guān)系式可構(gòu)造出下面錯(cuò)碼位置關(guān)系表: S2S1S0000001010100011101110111錯(cuò)碼位置無錯(cuò)a0a1a2a3a4a5a63)由S2S1S0=011查表得知錯(cuò)碼位置是a3。4)糾錯(cuò)--對(duì)碼字的a3位取反得正確碼字:"0 0 1 0 1 0 1"5)把冗余碼a2a1a0刪除得發(fā)送端的信息碼:"0010"方法二:(不用查表,方便編程)1)海明碼的生成(順序生成法)。例3.已知:信息碼為:" 1 1 0 0 1 1 0 0 " (k=8)求:海明碼碼字。解:1)把冗余碼A、B、C、…,順序插入信息碼中,得海明碼碼字:" A B 1 C 1 0 0 D 1 1 0 0 "碼位: 1 2 3 4 5 6 7 8 9 10 11 12 其中A,B,C,D分別插于2k位(k=0,1,2,3)。碼位分別為1,2,4,8。2)冗余碼A,B,C,D的線性碼位是:(相當(dāng)于監(jiān)督關(guān)系式)A->1,3,5,7,9,11;B->2,3,6,7,10,11; C->4,5,6,7,12;(注 5=4+1;6=4+2;7=4+2+1;12=8+4)D->8,9,10,11,12。3)把線性碼位的值的偶校驗(yàn)作為冗余碼的值(設(shè)冗余碼初值為0):A=∑(0,1,1,0,1,0)=1B=∑(0,1,0,0,1,0)=0C=∑(0,1,0,0,0) =1D=∑(0,1,1,0,0) =04)海明碼為:"1 0 1 1 1 0 0 0 1 1 0 0"2)海明碼的接收。例4.已知:接收的碼字為:"1 0 0 1 1 0 0 0 1 1 0 0"(k=8)求:發(fā)送端的信息碼。解:1)設(shè)錯(cuò)誤累加器(err)初值=02)求出冗余碼的偶校驗(yàn)和,并按碼位累加到err中:A=∑(1,0,1,0,1,0)=1 err=err+20=1B=∑(0,0,0,0,1,0)=1 err=err+21=3C=∑(1,1,0,0,0) =0 err=err+0 =3D=∑(0,1,1,0,0) =0 err=err+0 =3由err≠0可知接收碼字有錯(cuò),3)碼字的錯(cuò)誤位置就是錯(cuò)誤累加器(err)的值3。4)糾錯(cuò)--對(duì)碼字的第3位值取反得正確碼字:"1 0 1 1 1 0 0 0 1 1 0 0"5)把位于2k位的冗余碼刪除得信息碼:"1 1 0 0 1 1 0 0"

            本文發(fā)布于:2023-02-28 20:18:00,感謝您對(duì)本站的認(rèn)可!

            本文鏈接:http://www.newhan.cn/zhishi/a/167766914984112.html

            版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請(qǐng)勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。

            本文word下載地址:海明碼(海明碼能糾正幾位錯(cuò)).doc

            本文 PDF 下載地址:海明碼(海明碼能糾正幾位錯(cuò)).pdf

            標(biāo)簽:海明   幾位
            相關(guān)文章
            留言與評(píng)論(共有 0 條評(píng)論)
               
            驗(yàn)證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實(shí)用文體寫作網(wǎng)旗下知識(shí)大全大全欄目是一個(gè)全百科類寶庫(kù)! 優(yōu)秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 免费中文熟妇在线影片| 久久精品免费无码区| 国产亚洲精品AA片在线爽| 成人无码视频97免费| 国产美女白丝袜精品_a不卡| 免费黄色大全一区二区三区| 美女黄网站人色视频免费国产 | 天天爽夜夜爱| 高清中文字幕一区二区| 亚洲日本VA午夜在线电影| 国产在视频线在精品视频2020| 国产播放91色在线观看| 熟妇人妻无码xxx视频| 久久天天躁夜夜躁狠狠820175| 人妻va精品va欧美va| 国产白丝网站精品污在线入口| 久久人人爽人人爽人人片dvd | 四虎永久免费高清视频| 亚洲人成人无码网WWW电影首页| 一亚洲一区二区中文字幕| 野花韩国高清bd电影| 国产肥白大熟妇bbbb视频| 少妇被粗大的猛烈进出动视频| 国产仑乱无码内谢| 精品一区二区三区少妇蜜臀| 国产成AV人片久青草影院| 四虎成人精品永久网站| 日韩精品 在线 国产 丝袜| 丰满人妻一区二区三区无码AV| 久热99热这里只有精品| 国产福利社区一区二区| 亚洲岛国成人免费av| 啦啦啦高清在线观看视频www| 中文丰满岳乱妇在线观看| 国产精品免费电影| 亚洲成人免费在线| 久久91综合国产91久久精品| 绝顶丰满少妇av无码| 日韩有码中文字幕国产| 国语做受对白XXXXX在线| 男女激情一区二区三区|