基于校验矩阵的BCH码译码方法的研究

2018-09-21 09:06:42姜恩华
东北师大学报(自然科学版) 2018年3期

姜恩华,马 琳

(淮北师范大学物理与电子信息学院,安徽 淮北 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可以看做是一维稀疏……

登录APP查看全文