CN105680882A - 一种平方剩余码的硬判决译码方法 - Google Patents

一种平方剩余码的硬判决译码方法 Download PDF

Info

Publication number
CN105680882A
CN105680882A CN201610008352.0A CN201610008352A CN105680882A CN 105680882 A CN105680882 A CN 105680882A CN 201610008352 A CN201610008352 A CN 201610008352A CN 105680882 A CN105680882 A CN 105680882A
Authority
CN
China
Prior art keywords
decoding
vector
error location
syndrome
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610008352.0A
Other languages
English (en)
Inventor
黎勇
张棚伟
刘宏清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN201610008352.0A priority Critical patent/CN105680882A/zh
Publication of CN105680882A publication Critical patent/CN105680882A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种平方剩余码的硬判决译码方法。该方法在解QR码时,通过牛顿恒等式推导出不含未知校正子的公式解,计算接收矢量的比特可靠性值,并按可靠性值从低到高依次翻转,再按照4个错误的译码方式进行译码,如果译码失败,则翻转下一比特,直至译码成功。本发明无需计算未知校正子,从而改善了译码效率并节约了译码存储空间。本发明从低错误形态依次解到高错误形态的译码过程,在采用reliability-research解5个错误的过程中,随着信噪比的增加,译码效率将会提升,并减小了译码算法的运算量。

Description

一种平方剩余码的硬判决译码方法
技术领域
本发明属于数字通信技术领域,具体涉及一种QR码的硬判决译码方法。
背景技术
在过去的几十年中,Sylvester结子或者基是用来解二进制QR码最为常见的方法。这两种方法被用来解牛顿恒等式,从而找出错误位置多项式并最终完成译码。而牛顿恒等式是非线性的、高阶的多变量方程,随着错误形态重量的增加,解对应方程的计算量和复杂度都会急剧增加,这是该类译码方式的一大弊端。
(47,24,11)QR码也是一个BCH码(BCH是由Bose、Chaudhuri和Hocquenghem三个人先后独立发现的,BCH是一大类强有力的纠正随机错误的循环码,这类码是对汉明码的一种重要推广,可用于纠正多个错误),其最小距离为11,因此可以解5个错误。2001年,首先提出了(47,24,11)QR码的译码方法。在QR码中,已知校正子可以通过接收矢量直接求得,但未知校正子则需通过其他方式求解。该译码方法给出了在不同错误的情况下未知校正子S5的求取方式,从而获得错误位置多项式的系数。再进而解得错误图样,完成译码。
文献(GregoryDubney,I.S.Reed,T.K.Truong,andJunYang,"Decodingthe(47,24,11)QuadraticResidueCodeUsingBit-ErrorProbabilityEstimates,"IEEETransactionsonCommunications,Vol.57,no.7,pp.1986-1993,July2009)提出(47,24,11)QR码的一种纠5个错误的译码算法。该方法利用Chase-IIalgorithm的译码思想,采用reliability-researchalgorithm翻转一个错误比特,然后利用4个错误的译码方法来解5个错误。该方法的优点是随着信噪比的增加,译码效率将会显著提高。
文献(T.C.Lin,H.P.Lee,Hsin-ChiuChang,Shao-IChu,andT.K.Truong,"Highspeeddecodingofthebinary(47,24,11)quadraticresiduecode,"Informationsciences,vol.180,Iss.20,pp.4060–4068,Oct.2010)提出了(47,24,11)QR码不同错误模式对应的检测条件,从而使(47,24,11)QR码的硬判决译码可以先判定错误个数,再实施具体译码。该码的构造原理为:令m是使得n能够被2m-1整除的最小正整数。对于(47,24,11)QR码而言,m=23,n=47。让α∈GF(223)并且是本原多项式x23+x5+1的一个根。然后可以利用本原多项式产生有限域GF(223)上的所有非零元素。令β=αu是单位圆的本原47阶根,其中u=(223-1)/47=178,481。按平方剩余的定义得到集合Q47={i|i≡j2mod47,1≤j≤46}={1,2,3,4,6,7,8,9,12,14,16,17,18,21,24,25,27,28,32,34,36,37,42}。所以,(47,24,11)QR码的生成多项式为
g ( x ) = Π i ∈ Q 47 ( x - β i ) = x 23 + x 19 + x 18 + x 14 + x 13 + x 12 + x 10 + x 9 + x 7 + x 6 + x 5 + x 3 + x 2 + x + 1
定义码字多项式为c(x)=c46x46+c45x45+…+c1x+c0,错误多项式为e(x)=e46x46+e45x45+…+e1x+e0,接收矢量为r(x)=c(x)+e(x)。假定接收矢量中发生了v个错误,v≤t。校验子定义为si:=e(βi)=c(βi)+r(βi),0≤i≤46。因为βi(i∈Q47)是生成多项式g(x)的根,所以有si=r(βi)=e(βi),它们被称为已知校正子。
定义错误位置多项式为: L ( z ) = Π j = 1 v ( z - Z j ) = z v + Σ i = 1 v σ i z v - i
其中,v≤5,1≤j≤v,rj表示错误位置。对于(47,24,11)QR码而言,当错误个数小于等于3时,求解错误位置多项式的系数σi无需计算未知校正子,而对于4个错和5个错,需要计算未知校正子。随着错误个数的增加和有限域的扩大,计算未知校正子的复杂度也会显著增加。所以在GF(223)下解4个错和5个错时,相应的未知校正子S5的计算具有较高的复杂度,导致译码效率不高。
发明内容
本发明针对现有技术平方剩余码QR码(QuadraticResiduecode),尤其是(47,24,11)QR码译码过程中未知校正子的计算复杂度较高,导致译码效率不高的缺陷。提出一种改善译码复杂度的方案,从而提高译码效率。在本发明中我们提出了一种(47,24,11)平方剩余码不用计算未知校正子的快速硬判决译码方法。本发明解决上述技术问题的技术方案是,一种QR码的硬判决译码方法,根据已知校正子计算接收矢量发生错误时的错误位置多项式的不含未知校正子的系数,构建已知校正子矩阵;根据已知校正子和矩阵判断接收矢量发生错误数,根据系数及已知校正子建立对应的错误位置多项式;从接收矢量的低错误形态依次向高错误形态,求解错误位置多项式的根,根据错误位置多项式的根及对应的有限域中元素确定接收矢量的错误位置,将接收矢量对应的该错误位置翻转。
其中,已知校正子根据有限域GF(223)中的元素获得,具体可为,根据公式Si=r(βi)=e(βi)确定已知校正子Si,其中,β是有限域GF(223)中的元素,βi表示β的i次方,r(x)为码字的代数形式,e(x)是错误模式的代数形式。
本发明的其中一个实施例进一步包括,如果接收矢量发生1个错误,其系数σ1=S1,错误位置多项式为L1(Z)=Z+S1,求解L1(Z)=0的根,获得错误位置。
本发明的其中一个实施例进一步包括,如果接收矢量发生2个错误,2个错对应的系数分别为σ1=S1,σ2=(S3+S1 3)/S1,错误位置多项式为L2(Z)=Z2+S1Z,求解L2(Z)=0的根,获得错误位置。(例如:L2(Z)=0解出的Z1为α1606329,Z2为α3212658,其中α有限域GF(223)元素,β=α178481,那么α1606329=β9,α3212658=β18,此时9,18就是错误位置,错在第9位和第18位(从0位到46位)。)
本发明的其中一个实施例进一步包括,如果接收矢量发生3个错误,3个错对应的系数分别为σ1=S1,σ2=(S6X3+S9)/(S1S6+S7),σ3=(S7X3+S1X9)/(S1X6+S7),错误位置多项式为L3(Z)=Z3+S1Z22Z+σ3,求解L3(Z)=0的根,获得错误位置。
本发明的其中一个实施例进一步包括,如果接收矢量发生4个错误,根据公式σ1=S1,σ2=(k1k2+k3k4)/(k5k2+k3k6),σ3=X3+S1σ2,σ4=σ2 22b2+S1S3+S1 4+b2S3/S1得到发生4个错误的不含未知校正子的系数,错误位置多项式为L4(Z)=Z41Z32Z23Z+σ4,求解L4(Z)=0的根,获得错误位置。
本发明的其中一个实施例进一步包括,如果接收矢量发生5个错误,执行如下步骤,(1)计算接收矢量对应的比特可靠性值,将可靠性值从小到大排序;(2)从可靠性值最小的比特开始翻转,并判断等式M(S18n1+S27n2+S42n3)+N(S1m1+S9m2+S21m3)=0是否成立,如等式成立,根据公式σ5=0,σ1=S1,σ2=(k1k2+k3k4)/(k5k2+k3k6),σ3=X3+S1σ2,σ4=σ2 22b2+S1S3+S1 4+b2S3/S1计算相应的系数,建立错误位置多项式为L4(Z)=Z41Z32Z23Z+σ4,求解多项式的根得到除已翻转的一位错误外的其余4个错误位置;(3)如果等式不成立,将已翻转的比特翻转回去,继续翻转可靠性值次小的比特,重复执行步骤(2),直至达到预设的最大翻转次数。
本发明中的代数译码算法是从低错误形态依次解到高错误形态的译码过程,通过对比分析提出的算法在一定程度减小了运算量,提升了译码效率。同时把现有的4个错判断条件减小到8个4×4的矩阵来进一步提升译码效率。解5个错时运用reliability-research算法对5个错进行译码,在这里该算法是一种重复利用4个错的译码算法以实现对5个错进行译码的算法。本发明提出的4个错译码算法高效,且reliability-research算法是一种随着信噪比增加其译码效率快速提高的算法,因此使得5个错的译码效率得到较大提升。
附图说明
图1为本发明提出的硬判决译码算法的流程图;
图2为本发明提出的新译码算法与现有译码算法在AWGN信道下的性能对比。
具体实施方式
以下针对附图和具体实例,对本发明的实施作进一步具体说明。
对于4个错和5个错而言,现有的译码算法均涉及到未知校正子的计算,它们具有较大的运算量。本发明基于牛顿恒等式得出4个错的代数式子作为错误位置多项式,直接用已知校正子对其进行译码,该方法在一定程度减小了运算量,提升了译码效率。同时把现有的4个错判断条件减小到8个4×4的矩阵来进一步提升译码效率。
给定一个接收矢量r(长度可为47比特),对r进行取模运算,得到余数s1=r%g,其中g是生成函数;对余数s1进行判断,如果该值为0,则认为接收矢量r是一个合法码字,输出r即可;如果s1不为0,则说明接收矢量r中发生错误,需要进一步的计算以实现译码。
根据平方剩余码的构造规则利用有限域GF中元素获得已知校正子,根据已知校正子构建矩阵,计算不含未知校正子的系数;根据已知校正子和矩阵判断接收矢量发生错误数,根据系数建立错误位置多项式,求解错误位置多项式,根据错误位置多项式的根与有限域中元素获得接收矢量的错误位置。(可根据公式:w=Z/A得到错误位置,其中,w为接收矢量中发生错误的位置数值,A为有限域中元素对应的幂)
通过牛顿恒等式组推导得出4个错的错误位置多项式的不含未知校正子的系数。建立4个错错误位置多项式,
根据已知校正子S1,S2,S3计算4个错的错误位置多项式的不含未知校正子的系数分别为σ1、σ2、σ3、σ4,根据如下公式获得:
σ1=S1(1)
σ2=(k1·k2+k3·k4)/(k5·k2+k3·k6)(2)
σ 3 = S 3 + S 1 3 + S 1 σ 2 - - - ( 3 )
σ 4 = σ 2 2 + σ 2 b 2 + S 1 S 3 + S 1 4 + b 2 S 3 / S 1 - - - ( 4 )
其中k1—k6,b2,b9,b11为中间变量,S1—S3为已知校正子,σ1—σ4分别为含有1—4个错的不含未知校正子的系数,取有限域GF(223)中的元素β,通过公式:
si=r(βi)=e(βi)计算得到已知校正子si。根据平方剩余码的构造规则,α为有限域元素,β=α178481。参考该码的构造规则,如果译码正确必然有αz=αw*A=(αA)w=βw。这样,β是有限域GF(223)中的元素,βi表示β的i次方,r(x)为码字的代数形式,e(x)是错误模式的代数形式。假设一个码的码长是5,如其码字的二进制形式是10110,相应的代数形式r(x)和e(x)为x4+x2+x计算已知校正子时,将代数式中的x替换为已知校正子si即可。
其中中间变量与已知校正子的关系如下:
b2=b11/b9(5)
b 9 = S 7 S 1 2 + S 3 3 + S 1 3 S 3 2 + S 1 9 - - - ( 6 )
b 11 = S 9 S 1 2 + S 7 S 1 S 3 + S 1 2 S 3 3 + S 1 5 S 3 2 - - - ( 7 )
k 1 = b 2 2 ( S 3 6 + S 1 18 + S 1 4 S 7 2 + S 1 6 S 3 4 ) + b 2 ( S 3 2 S 7 2 + S 1 8 S 3 4 + S 3 S 17 + S 1 S 3 4 S 7 ) + S 1 4 S 9 2 + S 1 S 21 + S 1 S 7 3 + S 1 5 S 17 + S 1 S 3 S 9 2 + S 1 2 S 3 S 17 - - - ( 8 )
k 2 = b 2 ( S 9 2 + S 1 S 17 + S 1 15 S 3 + S 1 4 S 7 2 + S 3 6 + S 1 6 S 3 4 ) + S 3 S 17 + S 1 3 S 17 + S 1 17 S 3 + S 1 6 S 7 2 + S 1 8 S 3 4 + S 1 S 3 4 S 7 - - - ( 9 )
k 3 = b 2 ( S 16 + S 3 6 / S 2 + S 2 S 14 + S 4 S 12 ) + S 18 + S 1 18 + S 1 6 S 12 + ( S 12 S 7 ) / S 1 - - - ( 10 )
k 4 = b 2 2 ( S 1 2 S 3 6 + S 3 2 S 7 2 + S 3 8 / S 1 4 + S 1 14 S 3 2 ) + b 2 ( S 1 22 + S 1 8 S 7 2 + S 1 10 S 3 4 + S 1 16 S 3 2 + S 1 S 7 3 + S 1 15 S 7 + S 1 3 S 3 4 S 7 + ( S 3 2 S 9 2 ) / S 1 2 ) + S 1 6 S 9 2 + S 1 12 S 3 4 + S 1 17 S 7 + S 1 24 + ( S 7 S 9 2 ) / S 1 + ( S 3 4 S 7 2 ) / S 1 2 - - - ( 11 )
k 5 = b 2 2 ( S 16 + S 3 6 / S 2 + S 2 S 7 2 + S 4 S 12 ) + b 2 ( S 1 15 S 3 + S 1 6 S 12 + S 1 S 17 + ( S 12 S 7 ) / S 1 ) + S 1 20 + S 1 3 S 17 + S 1 17 + S 3 + S 2 S 18 + S 1 6 S 14 + S 3 S 17 - - - ( 12 )
k 6 = b 2 2 ( S 3 6 + S 1 18 + S 1 4 S 7 2 + S 1 6 S 3 4 ) + b 2 ( S 3 2 S 7 2 + S 1 8 S 3 4 + S 3 S 17 + S 1 S 3 4 S 7 ) + S 1 S 7 3 + S 1 5 S 17 + S 1 4 S 9 2 + S 1 S 21 + S 1 S 3 S 9 2 + S 1 2 S 3 S 17 - - - ( 13 )
根据未知校正子的系数建立4个错误的错误位置多项式为:
L4(Z)=Z41Z32Z23Z+σ4,其系数都不含未知校正子。
从低错误形态依次解到高错误形态的译码过程,即依次根据发生错误的条件判断错误的次数,根据错误次数建立相应多项式,解出多项式的根得到错误位置,依次类推,直到解完5个错的错误位置多项式为止。根据错误位置多项式的根及有限域中元素,确定错误位置。再将接收矢量r对应的该错误位置翻转即可(如该位置是1,则翻转为0;如果该位置是0,则翻转为1)。
(如L1(Z)=0解出的Z为α1606329,因有限域GF(223)元素β=α178481,那么α1606329=β9,此时接收矢量的第9位就是错误位置。如:L2(Z)=0解出的Z1为α1606329,Z2为α3212658,其中有限域GF(223)元素β=α178481,那么α1606329=β9,α3212658=β18,此时9,18就是错误位置,错在第9位和第18位。
以下具体根据发生错误个数说明多项式的建立。
1)发生0个错误
如果S1=0,判断为接收矢量没有发生错误,相应的σ1=σ2=σ3=σ4=σ5=0。错误位置多项式为L0(Z)=0。
2)发生1个错误
如果S1 47=1,判断为接收矢量发生1个错误,相应的σ2=σ3=σ4=σ5=0。得到σ1=S1,错误位置多项式为L1(Z)=Z+S1
3)发生2个错误
如果S7X3+S1X9=0,判断为接收矢量发生2个错误,其中X3=S3+S1 3,X9=S9S1 9。相应的σ3=σ4=σ5=0。得到σ1=S1,σ2=(S3+S1 3)/S1,错误位置多项式为L2(Z)=Z2+S1Z。
4)发生3个错误
根据已知校正子构建矩阵: c 1 = S 3 S 4 S 14 S 21 S 6 S 7 S 17 S 24 S 16 S 17 S 27 S 34 S 36 S 37 S 0 S 7 , 如果行列式c1=0,判断为接收矢量发生3个错误,相应的系数σ4=σ5=0。得到σ1=S1,σ2=(S6X3+S9)/(S1S6+S7),σ3=(S7X3+S1X9)/(S1X6+S7),建立错误位置多项式L3(Z)为:L3(Z)=Z3+S1Z22Z+σ3
5)发生4个错误
根据已知校正子构建矩阵:
M = S 3 S 7 S 16 S 27 S 4 S 8 S 17 S 28 S 12 S 16 S 25 S 36 S 24 S 28 S 37 S 1 n 1 = S 3 S 7 S 16 S 27 S 12 S 16 S 25 S 36 S 24 S 26 S 37 S 1 S 8 S 12 S 21 S 32
n 2 = S 3 S 7 S 16 S 27 S 4 S 8 S 17 S 28 S 24 S 28 S 37 S 1 S 8 S 12 S 21 S 32 n 3 = S 3 S 7 S 16 S 27 S 4 S 8 S 17 S 28 S 12 S 16 S 25 S 36 S 8 S 12 S 21 S 32
N = S 9 S 37 S 7 S 32 S 27 S 8 S 25 S 3 S 36 S 17 S 34 S 12 S 4 S 32 S 2 S 27 m 1 = S 9 S 37 S 7 S 32 S 17 S 42 S 12 S 37 S 36 S 17 S 34 S 12 S 4 S 32 S 2 S 27
m 2 = S 9 S 37 S 7 S 32 S 14 S 42 S 12 S 37 S 27 S 8 S 25 S 3 S 4 S 32 S 2 S 27 m 3 = S 9 S 37 S 7 S 32 S 14 S 42 S 12 S 37 S 27 S 8 S 25 S 3 S 36 S 17 S 34 S 12
如果等式M(S18n1+S27n2+S42n3)+N(S1m1+S9m2+S21m3)=0,判断为接收矢量发生4个错误。相应的σ5=0。
根据公式σ1=S1,σ2=(k1k2+k3k4)/(k5k2+k3k6),σ3=X3+S1σ2,σ4=σ2 22b2+S1S3+S1 4+b2S3/S1得到发生4个错误的不含未知校正子的系数,由此,建立错误位置多项式为:L4(Z)=Z41Z32Z23Z+σ4
6)发生5个错误
如果M(S18n1+S27n2+S42n3)+N(S1m1+S9m2+S21m3)≠0,判断为接收矢量至少发生5个错误。首先计算接收矢量对应的比特可靠性值,并按可靠性值从小到大排序,接着翻转可靠性最低的比特,然后按照4个错误的译码方式译码,如果译码失败,则将被翻转的比特翻转回去,并翻转可靠性第二低的比特,不断重复直到解出4个错误位置,或者达到预设的最大翻转次数γ。如果译码成功,解出的4个错误位置加上前面翻转的一个错误比特位置,即得到5个错误位置。
在译码过程中,需从第0个错误判断条件到第4个错误判断条件依次判断。如果满足第3个错误条件就认为此时接收矢量发生3个错误,如果不满足再计算第4个错误判断条件,如果满足就认为此时接收矢量发生4个错误,否则接收矢量发生5个错误。一般错误位置多项式的求解方式具有相当运算复杂度。在求解错误位置多项式之前,我们计算一种运算复杂度较低的判断条件,若果条件结果满足要求,则再求解相应错误位置多项式,如果不满足则计算下一错误判断条件并对其进行判断。平方剩余码是一种错误位置多项式的复杂度会随着错误个数的增加而增加的循环码,所以通过使用判断条件在一定程度上可减小运算复杂度。
以下举例说明采用reliability-research的方法解5个错误的方法,该算法是一种重复利用4个错的译码算法以实现对5个错进行译码的算法,且是一种随着信噪比增加其译码效率快速提高的算法。
为了解5个错误,译码器必须计算两个11阶的多项式f(S5)和g(S5)。在有限域GF(223)下,计算这两个多项式的系数具有较高的运算复杂度。因此,为了降低译码复杂度,本发明采用reliability-searchalgorithm的方法求解5个错误。这种译码方式运用接收矢量中每个比特的可靠性值。该可靠性值越大,说明这个比特发生错误的可能性越小;反之,则错误可能性越大。
假设在接收矢量中有5个错。首先计算所有比特(对于(47,24,11)的平方剩余码,47是码长,所以接收到的信息含47个比特,24是信息,11是最小汉明距。计算所有比特的可靠值有47个)的可靠性值,并且对它们进行从小到大的排序,如pm=(p0,p1,…,p46)。接着翻转接收矢量中可靠性值最小的比特,然后用4个错译码器对当前翻转后的接收矢量进行译码。如果翻转的比特刚好是5个错中的一个,那么译码器将会解出余下的4个错误,但是如果翻转的不是错误比特,则会导致6个错误,从而不能正确译码。此时将被翻转的矢量比特翻转回去,然后再选择可靠性值第二小的比特进行翻转。重复上面的步骤,直至翻转的比特是5个错中的一个为止。
以下举例说明用reliability-searchalgorithm解(47,24,11)QR码5个错误采用的方法:
1)给定一个含有47个信道观察值(信道观察值是实数)的接收矢量,计算每个信道观察值的可靠性值,并以升序进行排序。同时对接收矢量作BPSK(模拟信号转换成数据值)的解调(≥0→0,<0→1)得到一个47比特的二进制数r。可根据公式μn=2yn2得到可靠性值μn,其中,yn是接收矢量中第n个比特所对应的信道观察值,σ2是码字通过高斯白噪声信道的方差。
2)将矢量比特可靠性值最小对应的第I[m]比特矢量进行翻转,并调用公式M(S18n1+S27n2+S42n3)+N(S1m1+S9m2+S21m3)是否等于零,判断接收矢量是否发生4个错误,如果等式等于零判断接收矢量发生4个错误,根据公式σ5=0,σ1=S1,σ2=(k1k2+k3k4)/(k5k2+k3k6),σ3=X3+S1σ2,σ4=σ2 22b2+S1S3+S1 4+b2S3/S1计算相应的系数。建立错误位置多项式为L4(Z)=Z41Z32Z23Z+σ4。求解多项式的根得到4个错误位置加上翻转的第I[m]比特,获得待纠正的5个错误位置,译码结束。
3)如果M(S18n1+S27n2+S42n3)+N(S1m1+S9m2+S21m3)≠0,则翻转的比特不是5个错中的一个,将已翻转的第I[m]比特矢量翻转回去,继续执行步骤2)。直至译码器根据错误位置多项式解出4个错误位置或者到达预设的最大翻转次数。
简化4个错的检测条件
现有文献中提出的4个错误检测条件包含6个2阶矩阵,19个3阶矩阵,22个4阶矩阵,11个5阶矩阵,2个6阶矩阵。该检测条件在有限域GF(223)下进行计算,其复杂度极高。本发明给出一种复杂度更低的检错条件。根据已知校正子,建立相应的已知校正子矩阵,根据已知校正子矩阵构建错误检测公式M(S18n1+S27n2+S42n3)+N(S1m1+S9m2+S21m3)对错误进行检测,如果接收矢量中有4个错误,等式M(S18n1+S27n2+S42n3)+N(S1m1+S9m2+S21m3)=0成立。
图1为本发明提出的硬判决译码算法的流程图。
1)由信息经过系统编码得到的码子c(x),错误形态e(x)根据公式r(x)=c(x)+e(x)确定接收矢量;
2)根据公式si=r(βi)=e(βi)计算(47,24,11)QR码相应的已知校正子,并根据已知校正子判断接收矢量r的错误数;
3)如果S1=0,判断为接收矢量r没有发生错误,译码结束。
4)如果S1 47=1,判断为接收矢量r发生1个错误,用chiensearch算法(伽罗华有限域的搜索查找法)解出L1(Z)=0的根,译码结束。
5)如果S7X3+S1X9=0,判断为接收矢量r发生2个错误,用chiensearch算法解出L2(Z)=0的根,译码结束。
6)如果行列式c1=0,判断为接收矢量r发生3个错误,用chiensearch算法解出L3(Z)=0的根,译码结束。其中 c 1 = S 3 S 4 S 14 S 21 S 6 S 7 S 17 S 24 S 16 S 17 S 27 S 34 S 36 S 37 S 0 S 7 ;
7)如果M(S18n1+S27n2+S42n3)+N(S1m1+S9m2+S21m3)=0,判断为接收矢量r发生4个错误,用chiensearch算法解出L4(Z)=0的根,译码结束。
如果M(S18n1+S27n2+S42n3)+N(S1m1+S9m2+S21m3)≠0,判断为接收矢量r至少发生5个错误。首先计算接收矢量r对应的比特可靠性值,并按可靠性值从小到大排序,得到一个可靠性值集合I[m],且令m=0;接着翻转可靠性值最低对应的比特rm(x)=r(x)+xI[m],(其中,r(x)是接收矢量的二进制代数表示方式,I[m]是可靠性值pm对应的下标集合。例如,4个比特(1011)接收矢量表示为代数方式为x3+x+1。如按从小到大排序后pm集合为{{0.09(3),0.09(1),0.20(0),0.21(2)},那么I[m]集合为{3,1,0,2}。先翻转可靠性值最小对应的下标,此时就应该翻转第3比特,翻转后对应的代数表达式为rm(x)+x3=(x3+x+1)+x3=x+1,对应二进制为(0011)。接着根据已知校正子建立4个错的判断公式,如果该式等于0,则按照4个错的译码方式译码;如果该式不等于0,且m不等于46,则将m加1(m=m+1),将被翻转的比特翻转回去,接着翻转可靠性第二低的比特,并且重新计算相应的已知校正子。不断重复这个过程直到解出4个错误位置,或者达到预设的最大翻转次数46。如果译码成功,解出的4个错误位置加上前面翻转的一个错误比特位置,即是所求的5个错误位置,译码结束。对接收矢量r进行每次翻转后,都需要对相应的变量进行重新计算,计算方法采用与未翻转时的方法相同。
为了便于理解,以下举一具体实例进一步说明。
1)假设发送消息m={100011001010010010001100};
2)编码后的码字为c=
{10000000000001110011001100011001010010010001100};
3)对码字c进行BPSK(将模拟信号转换成数据值的转化方式)调制得到输入信道的信息c_modulation(具体可为0→1,1→-1),得到输入信道的信息c_modulation=
{-1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,1,1,-1,-1,1,1,-1,-1,1,1,1,-1,-1,1,1,-1,1,-1,1,1,-1,1,1,-1,1,1,1,-1,-1,1,1}。
4)经过AWGN(加性高斯白噪声信道)信道后的接收信息r_chanel={-0.81(46),0.31(45),1.33(44),0.93(43),0.09(42),1.61(41),1.71(40),1.55(39),0.92(38),1.56(37),0.77(36),-0.09(35),1.78(34),1.15(33),-1.02(32),-0.20(31),0.41(30),0.51(29),-1.50(28),-1.37(27),0.84(26),1.46(25),-0.78(24),-1.92(23),0.84(22),-0.28(21),0.72(20),-0.21(19),0.45(18),0.60(17),1.29(16),-0.27(15),1.59(14),-1.06(13),0.87(12),1.49(11),-0.56(10),-0.31(9),1.21(8),-1.37(7),1.26(6),1.25(5),1.46(4),-1.61(3),-1.06(2),1.82(1),0.80(0)},-0.81(46)表示第46位所携带的信道信息是-0.81。该样本值在信噪比5dB下取得。对信道信息r_chanel进行硬判决解调,≥0→0,<0→1,得到矢量r={10000000000100110011001101010001010011010001100};
5)S1=α5772665≠0,该发送码字c在传输过程中发生错误;α∈GF(223)且是本原多项式x23+x5+1=0的一个根,α5772665是GF(223)中元素,后面计算的结果α的幂次方都是GF(223)中的元素;
6)S1 47=α2344692≠1,该发送码字c在传输过程中出错,至少有2个错误;
7)S7X3+S1X9=α6235305≠0,该发送码字c在传输过程中出错,至少有3个错误;
8)行列式c1=α124686≠0,该发送码字c在传输过程中出错,至少有4个错误;
9)M(S18q1+S27q2+S42q3)+Q(S1m1+S9m2+S21m3)=α8278009≠0,该发送码字c在传输过程中出错,至少有5个错误;
此时判断至少有5个错,采用reliability-research方法针对5个错误译码。首先对信道信息取绝对值,即获得可靠性值,后按从小到大排列,sort(|r_chanel|)={0.09(35),0.09(42),0.20(31),0.21(19),0.27(15),0.28(21),0.31(45),0.31(9),0.41(30),0.45(18),0.51(29),0.56(10),0.60(17),0.72(20),0.77(36),0.78(24),0.80(0),0.81(46),0.84(22),0.84(26),0.87(12),0.92(38),0.93(43),1.02(32),1.06(2),1.06(13),1.15(33),1.21(8),1.25(5),1.26(6),1.29(16),1.33(44),1.37(7),1.37(27),1.46(25),1.46(4),1.49(11),1.50(28),1.55(39),1.56(37),1.59(14),1.61(41),1.61(3),1.71(40),1.78(34),1.82(1),1.92(23)}。由上述可知,第35个比特的可靠性值最低,对其进行翻转后,得到修改后的矢量(矩形框表示对该比特位进行翻转)。根据检测条件M(S18q1+S27q2+S42q3)+Q(S1m1+S9m2+S21m3)=0,判断r'有4个错误,计算σ1=α6330693,σ2=α5610513,σ3=α4082794,σ4=α4145046,解L4(Z)=0得到4个根为α1606329=β9,α3212658=β18,α3748101=β21,α5889873=β33,其中β=α178481是单位圆的本原47阶根。即得到4个错误位置9,18,21,33,加上此前的第35位,即解得5个错误位置。对r'在解出的4个位置处进行翻转即解得码字因为是系统编码,取前24位即为发送消息dm={100011001010010010001100},从而完成译码。
如果此时4个错误的检测条件不成立,则翻转回第35个比特位置,接着翻转可靠性值第二小的比特位置,重复此过程直到译码完成或者达到最大翻转次数。该样本值是在5dB下取得,可以得知,用reliability-research的方法仅翻转一次就可完成译码。该方法在解5个错的时候,随着信噪比的增加,平均翻转次数将会逐渐减少,在高信噪比时,通常仅需翻转一到两次就可正确译码。因此,在译码时设置一个适当的最大翻转次数γ,将会在保证译码性能基本不变的同时,大幅提升译码效率。
如图2为本发明提出的新译码算法与现有技术译码算法在AWGN信道下的性能对比。从图2可以看出新的译码算法和现有译码算法在误符号率和误比特率的曲线图基本一致,证明了新译码算法的正确性。
表1本发明提出的新译码算法与现有文献译码算法在AWGN信道下各dB值的平均译码时间对比。单位:毫秒(ms)
从表1中可以看出采用本发明方法4个错译算法码平均时间是1.51ms,现有技术4个错译码算法平均时间是6.17ms,本发明方法比现有技术方法在时间上提升了75.5%。本发明方法5个错译码算法平均时间是2.24ms,现有5个错译码算法平均时间是11.39ms,且可以看出本发明方法5个错译码算法使用reliability-searchalgorithm算法会随着Eb/N0的提高译码效率也有所提高,该方法比现有算法在时间上提升了80.3%。结合图2的我们可以得出结论:本发明方法的译码算法具有在译码性能基本不改变的前提下,译码效率有较大改善。

Claims (7)

1.一种QR码的硬判决译码方法,其特征在于:根据已知校正子计算接收矢量发生错误时的错误位置多项式的不含未知校正子的系数,构建已知校正子矩阵;根据已知校正子和矩阵判断接收矢量发生错误数,根据系数及已知校正子建立对应的错误位置多项式;从接收矢量的低错误形态依次向高错误形态,求解错误位置多项式的根,根据错误位置多项式的根及对应的有限域中元素确定接收矢量的错误位置,将接收矢量对应的该错误位置翻转。
2.根据权利要求1所述的方法,其特征在于:根据公式Si=r(βi)=e(βi)确定已知校正子Si,其中,β是有限域GF中的元素,βi表示β的i次方,r(βi)为码字的代数形式,e(βi)是错误模式的代数形式。
3.根据权利要求2所述的方法,其特征在于:如果接收矢量发生1个错误,其系数σ1=S1,错误位置多项式为L1(Z)=Z+S1,求解L1(Z)=0的根,获得错误位置。
4.根据权利要求2所述的方法,其特征在于:如果接收矢量发生2个错误,2个错对应的系数分别为σ1=S12=(S3+S1 3)/S1,错误位置多项式为L2(Z)=Z2+S1Z,求解L2(Z)=0的根,获得错误位置。
5.根据权利要求2所述的方法,其特征在于:如果接收矢量发生3个错误,3个错对应的系数分别为σ1=S1,σ2=(S6X3+S9)/(S1S6+S7),σ3=(S7X3+S1X9)/(S1X6+S7),错误位置多项式为L3(Z)=Z3+S1Z22Z+σ3,求解L3(Z)=0的根,获得错误位置。
6.根据权利要求2所述的方法,其特征在于:如果接收矢量发生4个错误,根据公式σ1=S1,σ2=(k1k2+k3k4)/(k5k2+k3k6),σ3=X3+S1σ2,σ4=σ2 22b2+S1S3+S1 4+b2S3/S1得到发生4个错误的不含未知校正子的系数,错误位置多项式为L4(Z)=Z41Z32Z23Z+σ4,求解L4(Z)=0的根,获得错误位置。
7.根据权利要求2所述的方法,其特征在于:如果接收矢量发生5个错误,执行如下步骤,(1)计算接收矢量对应的比特可靠性值,将可靠性值从小到大排序;(2)从可靠性值最小的比特开始翻转,并判断等式M(S18n1+S27n2+S42n3)+N(S1m1+S9m2+S21m3)=0是否成立,如等式成立,根据公式σ5=0,σ1=S1,σ2=(k1k2+k3k4)/(k5k2+k3k6),σ3=X3+S1σ2,σ4=σ2 22b2+S1S3+S1 4+b2S3/S1计算相应的系数,建立错误位置多项式为L4(Z)=Z41Z32Z23Z+σ4,求解多项式的根得到除已翻转的一位错误外的其余4个错误位置;(3)如果等式不成立,将已翻转的比特翻转回去,继续翻转可靠性值次小的比特,重复执行步骤(2),直至达到预设的最大翻转次数。
CN201610008352.0A 2016-01-07 2016-01-07 一种平方剩余码的硬判决译码方法 Pending CN105680882A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610008352.0A CN105680882A (zh) 2016-01-07 2016-01-07 一种平方剩余码的硬判决译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610008352.0A CN105680882A (zh) 2016-01-07 2016-01-07 一种平方剩余码的硬判决译码方法

Publications (1)

Publication Number Publication Date
CN105680882A true CN105680882A (zh) 2016-06-15

Family

ID=56299274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610008352.0A Pending CN105680882A (zh) 2016-01-07 2016-01-07 一种平方剩余码的硬判决译码方法

Country Status (1)

Country Link
CN (1) CN105680882A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833050A (zh) * 2017-03-24 2018-11-16 华为技术有限公司 编码方法、译码方法、装置和设备
CN109787717A (zh) * 2018-12-25 2019-05-21 杭州电子科技大学 一种基于fpga的qr31码译码方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7622880B1 (en) * 2006-10-13 2009-11-24 Marvell International Ltd. Voice-coil motor control with zero-current sensing
CN102394662A (zh) * 2011-10-27 2012-03-28 优能通信科技(杭州)有限公司 一种bch码的译码方法
CN102684709A (zh) * 2012-05-10 2012-09-19 天津大学 一种译码方法及其译码装置
CN103346805A (zh) * 2013-05-31 2013-10-09 中国科学院自动化研究所 一种长bch码的译码系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7622880B1 (en) * 2006-10-13 2009-11-24 Marvell International Ltd. Voice-coil motor control with zero-current sensing
CN102394662A (zh) * 2011-10-27 2012-03-28 优能通信科技(杭州)有限公司 一种bch码的译码方法
CN102684709A (zh) * 2012-05-10 2012-09-19 天津大学 一种译码方法及其译码装置
CN103346805A (zh) * 2013-05-31 2013-10-09 中国科学院自动化研究所 一种长bch码的译码系统及方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
GREGORY DUBNEY 等: "Decoding the (47,24,11) quadratic residue code using bit-error probability estimates", 《IEEE TRANSACTIONS ON COMMUNICATIONS》 *
PENGWEI ZHANG 等: "Fast Decoding of the (47, 24, 11) Quadratic Residue Code Without Determining the Unknown Syndromes", 《IEEE COMMUNICATIONS LETTERS》 *
RUHUA HE 等: "Fast Decoding of the (47, 24, 11) Quadratic Residue Code Without Determining the Unknown Syndromes", 《IEEE TRANSACTIONS ON INFORMATION THEORY》 *
TSUNG-CHINGLIN 等: "High speed decoding of the binary (47,24,11) quadratic residue code", 《INFORMATION SCIENCES》 *
YONG LI 等: "An Improved Decoding Algorithm of the (71, 36, 11) Quadratic Residue Code Without Determining Unknown Syndromes", 《IEEE TRANSACTIONS ON COMMUNICATIONS》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833050A (zh) * 2017-03-24 2018-11-16 华为技术有限公司 编码方法、译码方法、装置和设备
US10439759B2 (en) 2017-03-24 2019-10-08 Huawei Technologies Co., Ltd. Communication method and apparatus
US11057152B2 (en) 2017-03-24 2021-07-06 Huawei Technologies Co., Ltd. Communication method and apparatus
CN109787717A (zh) * 2018-12-25 2019-05-21 杭州电子科技大学 一种基于fpga的qr31码译码方法
CN109787717B (zh) * 2018-12-25 2021-05-18 杭州电子科技大学 一种基于fpga的qr31码译码方法

Similar Documents

Publication Publication Date Title
CN101656541B (zh) Rs码的译码方法和装置
CN110278002A (zh) 基于比特翻转的极化码置信传播列表译码方法
CN100539440C (zh) 低密度奇偶校验码迭代排序统计译码方法
CN104025459A (zh) 译码处理方法及译码器
CN107204780B (zh) polar-LDPC级联码的合并BP解码算法及装置
CN101542913A (zh) 用于ldpc码的解码方法和设备以及包括这种设备的通信设备
CN102412843B (zh) 自适应的归一化最小和ldpc译码方法及译码器
CN109981112A (zh) 一种部分循环冗余校验辅助的排序统计译码方法
CN103929210B (zh) 一种基于遗传算法与神经网络的硬判决译码方法
Miloslavskaya et al. Design of binary polar codes with arbitrary kernel
RU2310273C2 (ru) Способ кодирования-декодирования информации в системах передачи данных
CN105634506A (zh) 基于移位搜索算法的平方剩余码的软判决译码方法
Zrelli et al. Blind identification of convolutional encoder parameters over GF (2m) in the noiseless case
Grinchenko et al. Improving performance of multithreshold decoder over binary erasure channel
CN103023518A (zh) 一种基于并行编码译码的循环汉明码的纠错方法
CN105680882A (zh) 一种平方剩余码的硬判决译码方法
CN103457612B (zh) 针对里德所罗门-卷积级联码的迭代软判决译码方法
CN102130745A (zh) 一种改进的ldpc码的线性规划译码方法
RU2699833C1 (ru) Способ ускоренного декодирования линейного кода
CN107612559B (zh) 基于乘性重复的多元极化码的生成方法
CN112104379B (zh) 一种基于关键集的极化码置信度传播动态翻转译码方法
CN101436864B (zh) 一种低密度奇偶校验码的译码方法及装置
Sakkour Decoding of second order Reed-Muller codes with a large number of errors
Genga et al. The modified soft input parity check transformation algorithm for Reed Solomon codes
CN112332866A (zh) 一种基于dvb-s与dvb-s2信号的级联码参数识别方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160615