日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

纠错编码【海明码】

發布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 纠错编码【海明码】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

海明碼(Hamming Code)

基本概念

  • 對于連續比特的檢驗有檢錯和糾錯兩種形式

    檢錯編碼:

  • 奇偶校驗碼
  • CRC冗余碼
  • 但是對于檢錯編碼不能找到出錯的位置,因此這里介紹一種糾錯編碼:海明碼

  • 海明碼:

    • 能夠檢查出錯位和糾正出錯位
    • 其特點為,檢查偶數位,糾正奇數位
  • 海明不等式:

    2 ^ r - 1 >= k + r

    • r:冗余信息位
    • k:數據信息位

基本步驟

  • 根據傳輸的數據和海明不等式得到需要的冗余位個數:

    例如:

    ∵ data = 101101【6位即k = 6】

    ∴ 需要的最小冗余碼個數位2 ^ r - r >= 7 ==> r = 4

    ∴ 需要4位冗余位

  • 將數據碼填入正確的位置并留出冗余碼的位置

    冗余碼的位置均為2^i --> 1,2,4,8…

    因此冗余碼對應的數據位均只有1位1,其余位均為0,且1的位置逐次升高

    數據位置0001【1】0010【2】0011【3】0100【4】0101【5】0110【6】0111【7】1000【8】1001【9】1010【10】
    信息(k)/冗余?r1r2k1r3k2k3k4r4k5k6
    數值101101
  • 通過冗余碼的數據位置,填充數組

    一個冗余碼控制多個相應位置

    每個冗余碼控制信息位對應位置位1的數據位置【由于冗余碼的填充位置為2^i決定】:

    例:

    ? r1 = 0001最低位為1,因此所有數據位置最低位為1的位置均受其控制【0011(k1),0101(k2),0111(k4),1001(k5)】

    填充方法:

    r1 ⊕ k1 ⊕ k2 ⊕ k4 ⊕ k5 = 0 ==> r1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 0 = 0 ==> r1 = 0

    數據位置0001【1】0010【2】0011【3】0100【4】0101【5】0110【6】0111【7】1000【8】1001【9】1010【10】
    信息(k)/冗余?r1r2k1r3k2k3k4r4k5k6
    數值0010011101
  • 對于接收方的校驗:

    • 對于所有檢驗位均再次對應異或運算:

      例:

      【表格種第五為發生了錯誤】

      重新查看校驗碼:

      r1 ⊕ k1 ⊕ k2 ⊕ k4 ⊕ k5 = 1(P1)

      r2 ⊕ k1 ⊕ k3 ⊕ k4 ⊕ k6 = 0(P2)

      r3 ⊕ k2 ⊕ k3 ⊕ k4 = 1(P3)

      r4 ⊕ k5 ⊕ k6 = 0(P4)

      P4P3P2P1 = 0101 = 5即第5位發生錯誤

      數據位置0001【1】0010【2】0011【3】0100【4】0101【5】0110【6】0111【7】1000【8】1001【9】1010【10】
      信息(k)/冗余?r1r2k1r3k2k3k4r4k5k6
      數值0010111101
  • 將錯誤位取反即糾錯結束

總結

以上是生活随笔為你收集整理的纠错编码【海明码】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。