海明碼距離及檢錯糾錯問題和CRC校驗

2022-07-15 04:48:11 字數 1056 閱讀 5341

兩個長度相等的字串的海明距離是在相同位置上不同的字元的個數,也就是將乙個字串替換成另乙個字串需要的替換的次數。海明距離與檢錯和糾錯的關係:

因為在距離為d+1的檢驗碼中,只改變d位的值,不可能產生另乙個合法碼。如奇偶校驗碼,海明距離為2,能查出單個錯。

因為此時,如果乙個碼字有d位發生差錯,它仍然距離原來的碼字距離最近,可以直接恢復為該碼。

(奇偶校驗碼,海明距離為2,可以檢出單個錯)

糾正單位元錯的冗餘位下界,m為資料位數,r為校驗位數  

(m+r+1)≤2^r

1.每乙個碼字從左到右編號,最左邊為第1位

2.校驗位和資料位

凡編號為2的乘冪的位是校驗位,如1、2、4、8、16、……。

其餘是資料位,如3、5、6、7、9、……。

3.每乙個校驗位設定根據:包括自己在內的一些位的集合的奇偶值(奇數或偶數)。

海明碼糾錯過程(只糾錯1位)

首先將差錯計數器置「0」。

當海明碼資料到達接收端後,接收端逐個檢查各個校驗位的奇偶性。

如發現某一校驗位和它所檢測的集合的奇偶性不正確,就將該檢驗位的編號加到差錯計數器中。

待所有校驗位核對完畢:

若差錯計數器仍為「0」值,則說明該碼字接收無誤。

非「0」值,差錯計數器的值為出錯位的編號,將該位求反就可得到正確結果。

可以檢測到所有長度小於等於r的突發錯誤

廣泛用於各種網路,幾乎所有的區域網

假設g(x)的階為r, 那麼m(x)在末尾新增r個0,得到 m+r位的位模式 。

利用模2出發,用g(x)去除 ,得到對應的餘數(總是小於等於r位)。

利用 減去(模2減法)第2步中得到的餘數,得到的位模式就是即將被傳輸的帶校驗和的幀

小結:sender

在資料幀的低端加上r個零,對應多項式為xrm(x)

採用模2除法,用g(x)去除xrm(x),得餘數

採用模2減法,用xrm(x)減去餘數,得到帶crc校驗和的幀

receiver

用收到的幀去除以g(x)

為零:無錯誤產生。非零:發生了錯誤,重傳

史上最通俗的海明碼編碼計算 檢錯和糾錯原理解析

一 海明碼檢錯 糾錯基本思想 海明碼 hamming code 是乙個可以有多個校驗位,具有檢測並糾正一位錯誤 的糾錯碼,所以也僅用於通道特性比較好的環境中,如以太區域網。它的檢錯 糾錯基本思想如下 1 將有效資訊按某種規律分成若干組,每組安排乙個校驗位通過異或運算進行校驗,得出具體的校驗碼 2 在...

史上最通俗的海明碼編碼計算 檢錯和糾錯原理解析

所謂合法 集就是當 由於未知因素導致出錯後,計算機可是識別到錯誤的 不合法 集 如果 101 出錯,可能是 111 那麼無法判斷是錯誤 還是本來就是 111 因此不合法。下面給出合法 集 當有一位發生變化時並不會和 集中的其他 發生衝突,因此合法。l 編碼的最小距離 d 檢錯的位數 c 糾錯的位數 ...

史上最通俗的海明碼編碼計算 檢錯和糾錯原理詳細解析

合法 集 所謂合法 集就是當 由於未知因素導致出錯後,計算機可是識別到錯誤的 不合法 集 如果 101 出錯,可能是 111 那麼無法判斷是錯誤 還是本來就是 111 因此不合法。下面給出合法 集 當有一位發生變化時並不會和 集中的其他 發生衝突,因此合法。l 編碼的最小距離 d 檢錯的位數 c 糾...