Message Board

Dear readers, authors and reviewers,you can add a message on this page. We will reply to you as soon as possible!

2017 Volume 39 Issue 1
Article Contents

Deng-jie WU, Xiao-min BAO, Yun-yun QU, et al. On Fast Decoding of (41, 21, 9) Quadratic Residue Code[J]. Journal of Southwest University Natural Science Edition, 2017, 39(1): 103-108. doi: 10.13718/j.cnki.xdzk.2017.01.016
Citation: Deng-jie WU, Xiao-min BAO, Yun-yun QU, et al. On Fast Decoding of (41, 21, 9) Quadratic Residue Code[J]. Journal of Southwest University Natural Science Edition, 2017, 39(1): 103-108. doi: 10.13718/j.cnki.xdzk.2017.01.016

On Fast Decoding of (41, 21, 9) Quadratic Residue Code

More Information
  • Corresponding author: Xiao-min BAO ; 
  • Received Date: 28/09/2015
    Available Online: 20/01/2017
  • MSC: O211.4

  • The binary QR codes are a family of linear cyclic BCH codes. In this paper, a fast syndrome-weight decoding algorithm (FSWDA) has been presented to decode up to four possible errors in a binary systematic (41, 21, 9) quadratic residue (QR) code. The main idea of FSWDA is based on the property of cyclic codes together with the weight of syndrome difference. The advantage of the FSWDA decoding algorithm over the previous table look-up methods is that it has no need of a look-up table to store the syndromes and their corresponding error patterns in the memory. Moreover, it can be extended to decode all four-error-correcting binary QR codes.
  • 加载中
  • [1] PRANGE E. Some Cyclic Error-Correcting Codes with Simple Decoding Algorithms [R]. Cambridge: Air Force Cambridge Research Center, 1958.

    Google Scholar

    [2] WICKER S B. Error Control Systems for Digital Communication and Storage [M]. New Jersey: Prentice Hall, 1995.

    Google Scholar

    [3] MCELIECE R J. The Theory of Information and Coding [M]. 2nd ed.北京:电子工业出版社, 2002.

    Google Scholar

    [4] CHEN Y H, CHIEN C H, HUANG C H, et al. Efficient Decoding of Systematic (23, 12, 7) and (41, 21, 9) Quadratic Residue Codes [J]. Journal of Information Science and Engineering, 2010, 26: 1831-1843.

    Google Scholar

    [5] LIN T C, LEE H P, CHANG H C, et al. High Speed Decoding of the Binary (47, 24, 11) Quadratic Residue Code [J]. Information Sciences, 2010, 180: 4060-4068. doi: 10.1016/j.ins.2010.06.022

    CrossRef Google Scholar

    [6] LEE H P, CHANG H C. A Memory Improvement on Decoding of the (41, 21, 9) Quadratic Residue Code [J]. International Journal of Computer Theory and Engineering, 2012, 4: 590-594.

    Google Scholar

    [7] ELIA M. Algebraic Decoding of the (23, 12, 7) Golay Codes [J]. IEEE Transactions on Information Theory, 1987, 33: 150-151. doi: 10.1109/TIT.1987.1057262

    CrossRef Google Scholar

    [8] WOLFMANN J. A Permutation Decoding of the (24, 12, 8) Golay code [J]. IEEE Transactions on Information Theory, 1983, 29: 748-750. doi: 10.1109/TIT.1983.1056726

    CrossRef Google Scholar

    [9] HE R, REED I S, TRUONG T K, et al. Decoding the (47, 24, 11) Quadratic Residue Code [J]. IEEE Transactions on Information Theory, 2001, 47: 1181-1186. doi: 10.1109/18.915677

    CrossRef Google Scholar

  • 加载中
通讯作者: 陈斌, bchen63@163.com
  • 1. 

    沈阳化工大学材料科学与工程学院 沈阳 110142

  1. 本站搜索
  2. 百度学术搜索
  3. 万方数据库搜索
  4. CNKI搜索

Tables(1)

Article Metrics

Article views(810) PDF downloads(48) Cited by(0)

Access History

Other Articles By Authors

On Fast Decoding of (41, 21, 9) Quadratic Residue Code

    Corresponding author: Xiao-min BAO ; 

Abstract: The binary QR codes are a family of linear cyclic BCH codes. In this paper, a fast syndrome-weight decoding algorithm (FSWDA) has been presented to decode up to four possible errors in a binary systematic (41, 21, 9) quadratic residue (QR) code. The main idea of FSWDA is based on the property of cyclic codes together with the weight of syndrome difference. The advantage of the FSWDA decoding algorithm over the previous table look-up methods is that it has no need of a look-up table to store the syndromes and their corresponding error patterns in the memory. Moreover, it can be extended to decode all four-error-correcting binary QR codes.

  • 二次剩余码(简称QR码)是文献[1]提出的一类循环BCH码.由于这类码的码率都大于或等于1/2,所以大部分QR码都是比较好的纠错码.例如(24,12,8) QR码已被用于航海通信[2].

    在过去的几十年里,关于QR码的译码方法已经提出很多种[3-9],但这些译码方法很多都采用了一些代数工具,需要比较复杂的有限域中的计算,从而延长了译码时间.为减少译码复杂性,查表译码就成为一个比较好的选择.查表译码需要预先存储由校验子和相应的错误模式构成的表.对于纠错能力为4的(41,21,9) QR码,它需要存储 $\sum _{i = 1}^4\left( \begin{array}{l} 41\\ i \end{array} \right) = 112\,791$ 个校验子和相应的错误模式,存储大小为112 791×(6bytes+3bytes)≈991.3 Kbytes.文献[4]经过改善,提出的算法需要存储101.26 Kbytes.事实上,考虑循环码的特性,只需存储 $\sum _{i = 1}^4\left( \begin{array}{l} 41\\ i \end{array} \right)/41 = 2751$ 个校验子和相应的错误模式即可,此时存储大小仅为24.18 Kbytes[2].而文献[5]和文献[6]又进一步优化,分别将存储大小减少到2.47 Kbytes和2.03 Kbytes,大大节省了存储空间.

    本文继续沿用查表译码的思想,同时又利用校验子与校验矩阵之间的关系,提出了一种基于校验子重量的快速译码算法(fast syndrome-weight decoding algorithm,FSWDA).这个算法具有运算简单、存储量小的特点,而且可以用于其它纠错能力小于或等于4的QR码.

1.   (41,21,9) 二次剩余码背景知识
  • 二次剩余码是由域GF(2) 上的生成多项式g(x)=g0+g1x+…+gn-kxn-k生成的一类线性循环码,用(nkd)来表示,其中n=8l±1(l为正整数)为码长,k为信息长度,d为码的最小汉明距离. (41,21,9) QR码就是其中一种. m是能满足n整除2m-1的最小正整数.设Qn={j|jx2mod n,1≤x≤(n-1)/2}.当n=41时,m=20,且Q41={1,2,4,5,8,9,10,16,18,20,21,23,25,31,32,33,36,37,39,40}. α是本原多项式p(x)=x20+x3+1的一个根.因此,β=αuu=(2m-1) /n=(220-1)/41=25 575,是域GF(220)上一个41阶本原根.生成多项式g(x)通过

    可以得到.

    由(41,21,9) QR码的最小汉明距离d=9,可知它的纠错能力 $t=\left\lfloor \frac{d-1}{2} \right\rfloor =4$ (41,21,9) QR码的码字可用多项式c(x)=c0+c1x+…+c40x40来表示,其中c(x)是g(x)的倍式,即c(x)=m(x)g(x),这里m(x)=m0+m1x+…+m20x20为码的信息多项式.当码字通过一个有噪音的信道,接收到的多项式r(x)=r0+r1x+…+r40x40c(x)与错误多项式e(x)=e0+e1x+…+e40x40的和.为简单起见,信息、码字、错误模式、接收量和校验子分别用向量m=[m0m1,…,mk-1],c=[c0c1,…,cn-1],e=[e0e1,…,en-1],r=[r0r1,…,rn-1]和s=[s0s1,…,sn-k-1]来表示.

    QR码作为循环码,按下列方法可得它的一个生成多项式G1[3]

    G1进行行初等变换,可以得到形式为G=[IkA]的生成矩阵,其中Ik是一个k×k单位矩阵,A是一个k×(n-k)矩阵.由G可得形如H=[-ATIn-k]的一个校验矩阵.用Hi表示HT的第i行向量,即

    对于(41,21,9) QR码,矩阵A

    当给定信息向量m=[m0m1,…,mk-1],码字c通过

    进行编码得到.向量[m0m1,…,mk-1]和[p0p1,…,pn-k-1]分别为码字c的信息部分和校验部分.另外,对于接收向量r,它的校验子s=rHT.

2.   译码算法及相关定理
  • 为了更好了解FSWDA算法,我们先给出相关的定义和结论.需要注意的是这些结论都是针对(nkd)二进制循环码,所有计算都在域GF(2) 上进行,而H=[ATI]是它的一个校验矩阵.

    定义1 一个向量z的非零分量的个数称为向量z的汉明重量,记为w(z).向量a-b的汉明重量w(a-b)表示向量a和向量b的不同分量的个数,又称为向量a和向量b的汉明距离.

    e是错误向量e=[eMeP]=[e0e1,…,en-1],其中eM=[e0e1,…,ek-1]是信息部分,eP=[ekek+1,…,en-1]是校验部分,w(e)≤t,s=eHT.

    下面这个结论在后面的证明中多次用到:

    定理1 若H=[ATI],e=[eM01×(n-k)]≠0n,则w(eHT)≥d-w(eM).

     因为码字的重量至少是deM[IA]=[eMeMA]是码字,所以w(eM)+w(eMA)≥d.而

    w(eHT)=w(eMA)≥d-w(eM).

    在纠错范围内,定理2和定理3确定何时错误只出现在校验部分.

    定理2 若e=[0keP],其中w(eP)≤t,则w(s)=w(eHT)≤t.

     由H=[ATI]的结构可得

    w(s) =w(eP)≤t.

    定理3 若e=[eMeP],其中w(eM)≥1,w(eM)+w(eP)≤t,则w(s)=w(eHT)≥t+1.

     此时

    故结论成立.

    推论1 若w(e)≤t,则w(eHT)≤t当且仅当e=[0keHT].

    e=[eMeP]时,下面的定理给出了ePe的伴随式和eM的伴随式之间的一个关系.

    定理4 设e=[eMeP].若[eM01×(n-k)]HT=sM,则eP=eHT-sM.

     因为w(eP)≤w(e)≤t,所以

    结论得证.

    下面的定理是我们的查表译码算法正确性的理论基础.

    定理5 设w(e)≤te=[eMeP],w(eM)≥1.若eHT=s,则存在唯一一个 $\mathit{\boldsymbol{\hat e}}{\rm{ = }}\left[ {{{\mathit{\boldsymbol{\hat e}}}_{M,}}{\bf{0}}} \right]$ 及相应的校验子 ${\mathit{\boldsymbol{\hat s}}}$ ,使得 $w\left( {\mathit{\boldsymbol{s}} - \mathit{\boldsymbol{\hat s}}} \right) = w\left( {{{{\bf{\hat e}}}_M}} \right) \le t$ .此时一定有 $\mathit{\boldsymbol{e = }}\left[ {\mathit{\boldsymbol{\hat e}},\mathit{\boldsymbol{s - \hat s}}} \right].$ .

     当 ${{\mathit{\boldsymbol{\hat e}}}_M} = {\mathit{\boldsymbol{e}}_M}$ 时,由定理4知eP=s- ${\mathit{\boldsymbol{\hat s}}}$ ,故w(s- ${\mathit{\boldsymbol{\hat s}}}$ )+w( ${\mathit{\boldsymbol{\hat e}}}$ M)=w(ep)+w(eM)≤t,说明存在性成立.下面只需证当 ${\mathit{\boldsymbol{\hat e}}}$ MeM时必有w([s-sieMi])≥t+1,可证明唯一性也成立.实际上

    当得到接收向量r时,向右循环i个比特可以得到r(i)=[rn-i,…,rn-1r0,…,rn-i-1].通过s(i)=r(i)H可以得到r(i)的校验子.由r=c+e易得r(i)=c(i)+e(i).换句话说,如果r的错误模式是e,那么e(i)r(i)相应的错误模式.根据推论1,若1≤w(s)≤4,则错误仅出现在r的校验部分;若1≤w(s(n-k))≤4,则错误仅出现在r的信息部分.设e0=[1,0,…,0]是n维向量,ej为仅在下标为j的位置有错误的n维向量(除第j位为1外,其它位均为0),相应的校验子sj= ejHT=Hj,0≤jk-1.显然,在第i位和第j位比特发生错误可用ei+ej来表示,Hi+Hjei+ej的校验子,其中0≤ijk-1.在这里可以看出,校验子、校验矩阵和错误模式的紧密联系,这就是不需要存储校验子和错误模式构成的表却仍可查表译码的原因.设sdw为第w步校验子shi的差值,即s-hi,FSWDA算法通过sdw的汉明重量,能很快地确定错误模式.

    用大写字母F,M和P分别表示r的第一个信息比特、其余信息比特和校验比特.对于(41,21,9) QR码,共有24种错误情况(P,PP,PPP,PPPP,M,MM,MMM,MMMM,F,FP,MP,FPP,MPP,FPPP,MPPP,FM,FMM,MMP,FMMM,MMMP,FMP,FMPP,MMPP,FMMP),覆盖了所有 $\sum \begin{array}{l} 4\\ i = 1 \end{array} \left( \begin{array}{l} 41\\ i \end{array} \right) = 112791$ 个错误模式.如果w(s)=0,那么接收向量r没有错误.如果1≤w(s)≤4或者1≤w(s(20))≤4,那么可以解决8种错误情况(P,PP,PPP,PPPP,M,MM,MMM,MMMM).计算sd3=(s-hi),0≤i≤20.如果1≤w(sd3)≤3,那么又可解决7种错误情况(F,FP,MP,FPP,MPP,FPPP,MPPP).若还没解决,则继续计算sd4=(s(20)-hi),0≤i≤20.如果1≤w(sd4)≤3,那么又有5种错误情况(FM,FMM,MMP,FMMM,MMMP)被检测解决.若仍未解决,则再计算sd5=(s-hi-hj),0≤i≤19,i+1≤j≤20.如果1≤w(sd5)≤2,那么3种错误情况(FMP,FMPP,MMPP)能被检测解决.若上述还不能找到错误,则需要计算sd6=(s(20)-h20-hi),0≤i≤19.如果w(sd6)=2,那么一定属于(FMMP)这种错误情况. 表 1列出了FSWDA算法每一步能解决的错误情况及相应的错误模式数量. FSWDA算法具体译码步骤如下:

    1) 错误情况为(P,PP,PPP,PPPP).根据推论1,计算sw(s).如果0≤w(s)≤4,那么错误模式e=[01×21,s].跳至7);

    2) 错误情况为(M,MM,MMM,MMMM).根据推论1,计算w(s(20)).如果1≤w(s(20))≤4,那么错误模式e(20)=[01×21s(20)],也就是说,e=[01×1,s(20),01×20],跳至7);

    3) 错误情况为(F,FP,MP,FPP,MPP,FPPP,MPPP).计算sd3=(s-hi),0≤i≤20.如果0≤w(sd3)≤3,那么错误向量e=ei+[01×21sd3].跳至7);

    4) 错误情况为(FM,FMM,MMP,FMMM,MMMP).计算sd4=(s(20) -hi),0≤i≤20.如果1≤w(sd4)≤3,那么错误向量e(20)=ei+[01×21sd4],也就是说,e=e[i-20]+[01×1sd401×20],其中, e的下标[x]表示x模41.跳至7);

    5) 错误情况为(FMP,FMPP,MMPP).计算sd5=(s-hi-hj),0≤i≤19,i+1≤j≤20.如果1≤w(sd5)≤2,那么错误向量e=ei+ej+[01×21sd5].跳至7);

    6) 错误情况为(FMMP).计算sd6=(s(20)-h20-hi),0≤i≤19.如果1≤w(sd6)≤2,那么错误模式e(20)=e20+ei+[01×21sd6].也就是说,e=e0+e[i-20]+ [01×1sd601×20],跳至7);

    7) 计算c=r+e.跳至8);

    8) 结束.

    本文利用Matlab对(41,21,9) 码纠错范围内的所有112791种错误进行模拟测试,所需平均译码时间大约为3.062 0×10-4s,并与文献[5-6]中提出的算法进行对比,运算速度基本相当,但其突出特点是能够节省存储空间,对于存储能力有限的终端,特别是移动终端来说具有一定实际意义.

Table (1) Reference (9)

Catalog

    /

    DownLoad:  Full-Size Img  PowerPoint
    Return
    Return