近世代数理论基础40:BCH码

BCH码

纠错码

数字信息传输过程中可能受干扰导致出错,为了正确传送信息,采用抗干扰编码的方法,在信息传输之前进行一次抗干扰编码然后再发送编码后的信息,收信者收信后可根据编码的功能进行检错和纠错,该编码称为纠错码

线性码

线性码是最常用的一类纠错码

一个线性码\mathcal{C}F_2上n维向量空间F_2^n中一个k(\lt n)维子空间,也可用一般的有限域F_q代替F_2,但数字通信中常用F_2

\mathcal{C}中的每个向量称为码字,设c=(c_0,c_1,\cdots,c_{n-1})(c_i\in F_2)\mathcal{C}中的一个码字,它的非零分量根叔定义为重量,记作w(c),即w(c)=\#\{c_i|c_i\neq 0,0\le i\le n-1\}

定义\mathcal{C}的最小重量维d(\mathcal{C})=min\{w(c)|c\in \mathcal{C},c\neq 0\},\forall c,c’\in \mathcal{C},定义c,c’的距离为d(c,c’)=w(c-c’)

\mathcal{C}是线性码,故d(\mathcal{C})=min\{w(c-c’)|c,c’\in\mathcal{C},c\neq c’\},d(\mathcal{C})也称为\mathcal{C}的最小距离

d(\mathcal{C})是决定\mathcal{C}的纠错功能的重要参数,d(\mathcal{C})越大,\mathcal{C}的纠错功能越强

设计线性码时,希望它的最小重量能达到一定要求

利用有限域设计BCH码

BCH码是一类线性码

n=2^m-1,F_2上任一n维向量c=(c_0,c_1,\cdots,c_{n-1}),c_i\in F_2,对应F_2上一个次数不超过n-1的多项式c(x)=c_0+c_1x+\cdots+c_{n-1}x^{n-1}\in F_2[x]

故一个码字也可用一个多项式表示

\betaF_{2^m}的一个本原元,d\in Z_+,d\le n

定义\mathcal{C}=\{c(x)\in F_2[x]|deg c(x)\le n-1,c(\beta^i)=0,1\le i\le d-1\}

c(x),c’(x)\in \mathcal{C},则显然c(x)+c’(x)\in \mathcal{C},\mathcal{C}对应F_2^n中的一个线性子空间,是一个线性码

定义F_{2^m}上一个(d-1)\times n矩阵

H=\begin{pmatrix}1&\beta&\beta^2&\cdots&\beta^{n-1}\\ 1&\beta^2&\beta^{2\cdot 2}&\cdots&\beta^{2\cdot(n-1)}\\ \vdots&\vdots&\vdots& &\vdots\\ 1&\beta^{d-1}&\beta^{(d-1)\cdot 2}&\cdots&\beta^{(d-1)\cdot(n-1)}\end{pmatrix}

c(x)=c_0+c_1x+\cdots+c_{n-1}x^{n-1}\in \mathcal{C}\Leftrightarrow (c_0,c_1,\cdots,c_{n-1})\cdot H^T=0

其中H^T表示H的转置矩阵

\beta是本原元,故\beta,\beta^2,\cdots,\beta^{d-1}(d\le n)互不相同

H的任意d-1列所决定的子矩阵的行列式是一个非取零值的Vandermonde行列式

H的任意d-1列都线性无关

\forall c\in \mathcal{C},有w(c)\ge d

\mathcal{C}的最小重量d(\mathcal{C})\ge d,d称为\mathcal{C}的设计距离

g_i(x)\beta^iF_2上的极小多项式,g(x)g_1(x),g_2(x),\cdots,g_{d-1}(x)的最小公倍式

g_i(x)|x^n-1,x^n-1无重根,n为奇数,故g(x)|x^n-1

线性码\mathcal{C}也可定义为\mathcal{C}=\{f(x)g(x)(mod\;x^n-1)|f(x)\in F_2[x]\}\\=\{f(x)g(x)|deg\;f(x)\lt n-deg\;g(x),f(x)\in F_2[x]\}

理解为g(x)在环F_2[x]/(x^n-1)中生成的理想

c=(c_0,c_1,\cdots,c_{n-1})\mathcal{C}的一个码字

x\cdot c(x)=x(c_0+c_1x+\cdots+c_{n-1}x^{n-1})

\equiv c_{n-1}+c_0x+\cdots+c_{n-2}x^{n-1}(mod\; x^n-1)

(c_{n-1},c_0,\cdots,c_{n-2})也是\mathcal{C}的一个码字

具有该性质的纠错码称为循环码,BCH码是循环码

例:设n=31,m=5,d=8,令\betaF_{32}的一个本原元,定义BCH码\mathcal{C}=\{c(x)\in F_2[x]|deg\;c(x)\le 30,c(\beta^i)=0,1\le i\le 7\}

\mathcal{C}的设计距离为8,令g_i(x)(1\le i\le 7)\beta^iF_2上的极小多项式

g(x)g_1(x),g_2(x),\cdots,g_7(x)的最小公倍式,则

g_1(x)=(x-\beta)(x-\beta^2)(x-\beta^4)(x-\beta^8)(x-\beta^{16})

g_2(x)=(x-\beta^3)(x-\beta^6)(x-\beta^{12})(x-\beta^{24})(x-\beta^{17})

g_5(x)=(x-\beta^5)(x-\beta^{10})(x-\beta^{20})(x-\beta^9)(x-\beta^{18})

g_7(x)=(x-\beta^7)(x-\beta^{14})(x-\beta^{28})(x-\beta^{25})(x-\beta^{19})

g(\beta^i)=0,1\le i\le 10,故码\mathcal{C}的最小距离至少为11

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 二维码在目前我们生活中是太常见了,扫码登陆、扫码支付、加好友......二维码又称QR Code,是一个在移...
    MrYun阅读 17,072评论 1 17
  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
    Winterfell_Z阅读 5,893评论 0 13
  • 奇偶校验、海明码、CRC循环冗余校验码 三种校验码比较重要,需要牢记,在计算机网络中用处较大 奇偶校验 根据被传输...
    正经龙阅读 9,420评论 0 1
  • MappleSupport阅读 189评论 0 0
  • 本来想开个微博小号的。。。 奈何记性太差 无意间发现简书 附上之前努力的5幅。。。嗯?有努力吗? 都是盯着手机画的...
    非常OnTime阅读 176评论 0 0