基于校验矩阵的BCH码译码方法的研究
2018-09-21姜恩华
姜恩华,马 琳
(淮北师范大学物理与电子信息学院,安徽 淮北 235000)
BCH码是循环码的一个子类,属于线性分组码的范畴.对于二进制本原的BCH码,在给定码长n的条件下,可以根据纠错能力t,设计出二元本原BCH码.BCH码通用的经典译码算法是Berlekamp(BM)迭代译码算法.[1]近年来,BCH被应用于北斗系统中,并提出了相应的译码算法.[2-4]本文借助无噪条件下的压缩感知理论[5-7],提出了BCH码的一种译码方法,该方法通过收码R和校验矩阵H求出伴随式S,把S作为测量信号、H作为测量矩阵,通过基追踪BP算法重构出差错图案E,把E与收码R进行模2加运算,求出发码C的估值. 本文研究了BCH码的校验矩阵H的稀疏度Spark和约束等距性RIP[8-9],设计了基于校验矩阵H的BCH码译码的仿真实验方案,以(15,5)、(15,7)、(31,16)和(31,21)BCH码为例,通过误码率和码字C重构的成功率,分析比较了本文提出的算法和BM迭代译码算法的译码效果.
1 校验矩阵H
1.1 校验矩阵的构成
BCH码的校验矩阵H可以通过生成矩阵G的系统形式直接生成[10],公式为
G=[Ik,P],H=[PT,In-k],
(1)
BCH码的生成矩阵G可以通过其生成多项式g(x)求出.根据BCH码的码长n和信息元组长度k,通过MATLAB语句bchgenpoly(n,k)直接求得生成多项式g(x). 以(15,7)BCH码为例,通过MATLAB函数bchgenpoly(15,7)求得生成的多项式为
g157(x)=x8+x7+x6+x4+1.
(2)
根据生成多项式g157(x),求出其生成矩阵G,化简为系统形式G157,根据(1)式,求出其校验矩阵H157,公式为:
(3)
(15,7)BCH码的纠错能力t为2,有1位和2位差错的收码R能够被纠正,即差错图案E的稀疏度K的最大值为2,由(3)式可知,校验矩阵H157的稀疏度Spark为5.[11]
1.2 校验矩阵的性质
对于随机差错来说,BCH码的差错图案E可以看做是一维稀疏……