白話 海明校驗碼及編碼過程

2021-09-09 05:25:52 字數 1101 閱讀 4610

學習組原了解到海明校驗碼,剛開始實在是看不懂,腦子一團漿糊,然後還做到了一道錯題更是慘的一批,現在還算是有了乙個比較清晰的了解。想著做乙個總結過程,希望像我這樣的小白能免幸遇難。本文適合對海明校驗碼不清楚的小白,大神請繞路。有不全面的地方,麻煩大家指正,畢竟我也還只是個大學生,下面直接進入正題。

例:計算原始資訊位為0110101按配偶原則配置對應的海明校驗碼?(奇校驗的話校驗位是組內所有數異或的非)

海明校驗碼有個公式:2^r -1 >= k + r

因為題目資訊位為7位,所以r = 4.

海明校驗碼是放在2的冪次位上的,即「1,2,4,8,16,32······」;並不是像crc樣全求出餘數然後放在低位。

錯誤的插入: 位置

1234

5678

91011資料10

1011

0 正確的插入:位置1

2345

6789

1011資料0

1101

01很容易看出一種是從右往左插入,另一種是從左往右。(在這個坑里不知道待了多久,望小白都能注意)

注:空白部分為校驗位位置

通過這個圖可以看出每個校驗碼校驗了那幾個位置。

p1:3,5,7,9,11

p2:3,6,7,10,11

p3:5,6,7

p4:9,10,11

p1:0+1+0+1+1,如果海明校驗碼採用偶校驗,則p1為1,奇校驗為取非為0

p2:0+1+0+0+1,偶校驗,則p2為0,奇校驗為1

p3:1+1+0,偶校驗,則p3為0,奇校驗為1

p4:1+0+1,偶校驗,則p4為0,奇校驗為1

將校驗位新增入錶中既為對應的海明校驗碼。位置1

2345

6789

1011資料1

0001

1001

01這裡我用的是偶校驗,所以結果為:

10001100101

注:若還有疑問可看教材《計算機組成原理》唐朔飛編著,位置:p100

海明校驗碼

這是關於計算機基礎的知識。我們都知道計算機系統執行時,各個部件之間要進行資料交換,為了確保資料在傳送的過程中正確無誤,一是提高硬體電路的可靠性,二是提高 的校驗能力,包括查錯和糾錯。此文主要是從海明碼的校驗能力來說,也是使用校驗碼的方法來檢測傳送的資料是否出錯。它的實現原理,是在m個資料位之外加上k...

海明校驗碼

是由貝爾實驗室的richard hamming設計的,是一種利用奇偶性來檢錯和糾錯的檢驗方法。海明碼的構成方法是在資料位之間的特定位置上插入k個校驗位,通過擴大碼距來實現檢錯和糾錯。實現原理 是在m個資料位之外加上k個校驗位,從而形成乙個m k位的新的碼字,使新的碼字的碼距比較均勻地拉大。把資料的每...

海明校驗碼

計算機組成中的海明校驗碼,相信學過的都會有了解,那麼對其中校驗位的確定,我想似乎有些人不是很明白,今天我來詳細的把如何確定校驗位分享一下 首先看下基本的概念 2 r k r 1 其中r為校驗位 k為資訊位 資訊位是已知的,那麼如何確定校驗位呢,用乙個例子來說明 例如 二進位製碼1011 求它的海明編...