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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

BCH码(能纠正多个随机错误的循环码)

發布時間:2024/8/1 编程问答 72 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BCH码(能纠正多个随机错误的循环码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PS:課上講的也是編解碼流程,也沒有原理,網上也沒找到每一步的原理,想要了解設計思路還是需要去找一下原版的論文。

參考blog:
【1】【舉例子詳細分析】BCH碼(BCH code)

目錄

  • 1. 伽羅華域和多項式
  • 2. 提出背景和思路
  • 3. 案例:為什么需要本原多項式
  • 4. BCH碼編碼過程
  • 5. BCH碼譯碼過程

1. 伽羅華域和多項式

??見之前的blog伽羅華域GF

2. 提出背景和思路

??奇偶校驗碼只能檢查出錯誤而不知道具體是哪里出錯。
??hamming碼只能糾正 1 bit 錯誤。
??在GF(2q)(2^q)(2q)中,用多項式表示對應的有限域中的數值,多項式又可表示成二進制bit流的形式,等于二進制bit流與符號之間的一一映射,同時二進制多項式加法和二進制的按位異或等同(二進制流所受的干擾可用加法表示),多項式乘法及其逆運算能夠實現多項式的恢復,本原多項式能保證逆運算結果具有唯一性。

??現假設待傳輸的消息用二進制流對應的m(x)m(x)m(x)表示,乘上一個編碼多項式p(x)p(x)p(x),傳輸過程收到干擾可表示為e(x)e(x)e(x),則接受到:c(x)=m(x)p(x)+e(x)c(x)=m(x) p(x)+e(x) c(x)=m(x)p(x)+e(x)如果接受端也知道p(x),那么就能得到m(x)m(x)m(x)e(x)e(x)e(x)。

本原元→本原多項式:

  • GF(2q)(2^q)(2q)上的本原元是一個元素, 在域中的任何非零元素都可以表示為它的方冪
  • 任意一個有限域 GF(2q)(2^q)(2q)必有一個本原元α\alphaα
  • 本原元的階數為2q?12^q-12q?1,即α2q?1+1=0\alpha^{2^q-1}+1=0α2q?1+1=0
  • 本原多項式p(x)p(x)p(x)是以本原元α\alphaα為根的、首項系數為1的最低階不可約多項式
  • 3. 案例:為什么需要本原多項式

    對于GF(24)(2^4)(24),有本原多項式p(x)=x2+x+1p(x)=x^{2}+x+1p(x)=x2+x+1
    ??m(x)m(x)m(x)100110011001,而編碼多項式p(x)p(x)p(x)110111011101,則m(x)?p(x)=1100101m(x)*p(x)=1100101m(x)?p(x)=1100101。若收到了干擾e(x)=0000010e(x)=0000010e(x)=0000010,則接受到110011111001111100111,

    e(x)e(x)/p(x) 的余項
    10000001000000
    01000000100000
    00100000010000
    00010001100000
    00001000110000
    00000101110000
    00000011010000

    ??從表中可看出,e(x)e(x)e(x)和所得余項一一對應,通過余項結果可找到對應的e(x)e(x)e(x)。如果采用p(x)=10001=101?101p(x)=10001=101*101p(x)=10001=101?101,1000000和0000100除以10001后余項均為1000000。

    4. BCH碼編碼過程

    ??思想:一個本原多項式糾正一個錯誤,通過修正編碼多項式c(x)=m(x)Q(x)+e(x)c(x)=m(x) Q(x)+e(x) c(x)=m(x)Q(x)+e(x)令其中Q(x)=p(x)p3(x)p5(x)?p2t?1(x)Q(x)=p(x) p_{3}(x) p_{5}(x) \cdots p_{2 t-1}(x)Q(x)=p(x)p3?(x)p5?(x)?p2t?1?(x),p(x)是本原多項式,實現糾正多個錯誤。

    ??p2t?1(x)p_{2 t-1}(x)p2t?1?(x)的性質(a mod b=c,表明a除以b余數為c):

  • p2i?1(x)modp(x)=0,i=2,...,tp_{2 i-1}(x) \, mod \, p(x)=0,i=2,...,tp2i?1?(x)modp(x)=0i=2,...,t
  • 本原BCH碼p(α)=p(α3)=...=p(α2t?1)=0p(\alpha)=p(\alpha^{3})=...=p(\alpha^{2t-1})=0p(α)=p(α3)=...=p(α2t?1)=0
  • ??以n=24?1=15n=2^{4}-1=15n=24?1=15, 糾錯數量t=3t=3t=3 的本原BCH碼為例,設α\alphaα為GF(24)(2^4)(24)的本原元,本原多項式為p(x)=x4+x+1p(x)=x^{4}+x+1p(x)=x4+x+1,那么Q(x)=p(x)p3(x)p5(x)Q(x)=p(x) p_{3}(x) p_{5}(x)Q(x)=p(x)p3?(x)p5?(x),現有p(x)=x4+x+1=(x?α)(x?α2)(x?α4)(x?α8)p(x)=x^{4}+x+1=(x-\alpha)(x-\alpha^2)(x-\alpha^4)(x-\alpha^8)p(x)=x4+x+1=(x?α)(x?α2)(x?α4)(x?α8),畫表得到其共軛根為α3,α6,α12,α9\alpha^{3}, \alpha^{6}, \alpha^{12}, \alpha^{9}α3,α6,α12,α9,故p3(x)=(x?α3)(x?α6)(x?α2)(x?α9)=x4+x3+x2+x+1p_{3}(x)=(x-\alpha^{3})\left(x-\alpha^{6}\right)\left(x-\alpha^{2}\right)\left(x-\alpha^{9}\right)=x^{4}+x^{3}+x^{2}+x+1p3?(x)=(x?α3)(x?α6)(x?α2)(x?α9)=x4+x3+x2+x+1,剩余兩根構成p5(x)=(x?α5)(x?α10)=x2+x+1p_{5}(x)=\left(x-\alpha^{5}\right)\left(x-\alpha^{10}\right)=x^{2}+x+1p5?(x)=(x?α5)(x?α10)=x2+x+1。此時g(x)=p(x)p3(x)p5(x)=x10+x8+x5+x4+x2+x+1g(x)=p(x) p_{3}(x) p_{5}(x)=x^{10}+x^{8}+x^{5}+x^{4}+x^{2}+x+1g(x)=p(x)p3?(x)p5?(x)=x10+x8+x5+x4+x2+x+1。

    此時n=15,t=3,deg(g(x))= 10, k=n-deg=5,t=3,設計的碼距d=2t+1,實際碼距和設計碼距相等

    PS:(以上推導過程為法一,適合做題不適合編程)
    法二:上圖中極小多項式是x2q?1x^{2^q-1}x2q?1的因式分解結果,一個BCH碼的生成多項式也可由LCM[f1(x),f2(x),…,f2t(x)]LCM[f_1(x),f_2(x),…,f_{2t}(x)]LCM[f1?(x),f2?(x),,f2t?(x)]給出,詳細可見參考文獻【1】

    5. BCH碼譯碼過程

    由于m(x)Q(x)m(x) Q(x)m(x)Q(x)α1,α2,…,α2t\alpha^{1}, \alpha^{2}, \ldots, \alpha^{2 t}α1,α2,,α2t為根。想要知道錯誤圖樣,需要知道在位置i是否發生錯誤。
    定義e(x)=∑i=0n?1eixi=∑l=1γYlxile(x)={\sum_{i=0}^{n-1} e_{i} x^{i}}=\sum_{l=1}^{\gamma} Y_{l} x^{i_{l}}e(x)=i=0n?1?ei?xi=l=1γ?Yl?xil?ili_{l}il?表示錯誤位置。
    譯碼五步:

    5.1 伴隨多項式的計算
    法一:接收端知道Q(x)Q(x)Q(x),能得到對應的h(x)=xn+1Q(x)h(x)=\frac{x^n+1}{Q(x)}h(x)=Q(x)xn+1?,從而寫出H,即可計算s(x)
    法二:

    推導過程:

    5.2 錯誤位置多項式系數的求解:

    5.3 錯誤位置的確定

    5.4 計算對應錯誤位置上的錯誤數值

    5.5 得到e(x),輸出結果

    總結

    以上是生活随笔為你收集整理的BCH码(能纠正多个随机错误的循环码)的全部內容,希望文章能夠幫你解決所遇到的問題。

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