學習筆記之——漢明碼(Hamming Code)

 

 

差錯控制編碼

在通信系統中,信道通常是非理想的。信號經過信道時,一方面會受到噪聲的干擾;另一方面,信道本身可能產生的複雜衰落變化也會對信號造成影響。這兩種因素通常導致接收出現誤碼。

故此,在一個實際的數字通信系統中,應有某些措施將一個非理想的物理信道,改造成沒有誤碼或可將誤碼控制到可接受範圍的邏輯信道。這些措施中的基本手段,就是所謂的差錯控制編碼

差錯控制的基本思想。。。。。。。。。。。。。。。。。。。。。。。。。。。

與信源編碼的區別:

信源編碼主要作用時根據信源本身的統計特性和特定的應用要求等,通過有損或無損的壓縮變換,減少傳輸的數據量,提高通信效率。

而差錯控制編碼,則是在待傳輸的碼序列中建立某種關聯關係,如果在傳輸過程中發生了錯誤,這種約束關係就會受到破壞,接收端可以據此檢測在傳輸過程中是否出現了錯誤。而要建立這種關聯關係,必須在待傳輸的序列中加入不包含信息的“冗餘”碼作爲監督位。而差錯控制編碼理論,就是研究如何有效地建立這種官渡關係的。

分類:

1、檢錯重發。只具備檢錯功能的編碼算法。如果有錯就重新發送(只適合於有反向傳輸信道的場合)

2、前向糾錯。通過較爲複雜的編碼譯碼算法,使接收端不僅能檢測出錯誤,而且定位出碼字中錯誤的位置並加以糾正。

3、混合差錯控制。前向糾錯編碼算法。

 

Hamming Code

漢明碼(Hamming Code),是在電信領域的一種線性調試碼,以發明者理查德·衛斯里·漢明的名字命名。漢明碼在傳輸的消息流中插入驗證碼,當計算機存儲或移動數據時,可能會產生數據位錯誤,以偵測並更正單一比特錯誤。由於漢明編碼簡單,它們被廣泛應用於內存(RAM)。

在線下分組碼中,漢明碼就是一種高效碼。

漢明碼的實現原則是在原來的數據的插入k位數據作爲校驗位,把原來的N爲數據變爲m(m = n +k)位編碼。其中編碼時要滿足以下原則:

2^k - 1 >= m 其中(m = n + k)

這就是Hamming不等式,漢明碼規定,我們所得到的m位編碼的2^k ( k>=0 && 2^k < m)位上插入特殊的校驗碼,其餘位把源碼按順序放置

 

 

 

 

 

 

參考資料

https://www.cnblogs.com/Philip-Tell-Truth/p/6669854.html

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章