CN104022786B - 乘积码译码方法 - Google Patents
乘积码译码方法 Download PDFInfo
- Publication number
- CN104022786B CN104022786B CN201410221533.2A CN201410221533A CN104022786B CN 104022786 B CN104022786 B CN 104022786B CN 201410221533 A CN201410221533 A CN 201410221533A CN 104022786 B CN104022786 B CN 104022786B
- Authority
- CN
- China
- Prior art keywords
- deviation
- msub
- linear
- mrow
- 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.)
- Expired - Fee Related
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明涉及通信技术领域,涉及一种乘积码译码方法,按照公式来计算每个比特满足r个线性校验关系式L0=0,…,Lr‑1=0条件下的线性偏差同时提供一种乘积码译码方法,按照方程式作为混合计算方程式计算更新的线性偏差。本发明通过输入线性偏差和堆积引理计算校验全空间所有组合的校验关系式的线性偏差,进而通过沃尔什逆变换求出每个比特的输出线性偏差,和现有技术相比,对相同数据进行译码,译码效果更好,比特错误率低于现有译码方法;通过行、列迭代方法中的混合运算方程式对数据中的错误比特进行修正,降低了译码错误率,提高了译码性能。
Description
技术领域
本发明涉及通信技术领域,特别涉及乘积码译码方法。
背景技术
在现有的信道编码技术中,线性分组码具有明显的数据结构,是许多性能良好编码的基础。对于乘积码,由两个线性分组码C1、C2构造的乘积码的构造如附图1所示。
设C1的编码参数为(n1,k1,δ1)、C2的编码参数为(n2,k2,δ2),其中ni,ki,δi(i=1,2)分别表示码字长度、信息位个数、最小汉明距离。在附图1中,将k1×k2个信息比特排成k1行、k2列的矩阵。其中,前k1行用C2编码,每一列用C1编码;后(n1-k1)行用C2编码后(n2-k2)列用C1编码。这样得到乘积码D的参数为n=n1×n2,k=k1×k2,δ=δ1×δ2,编码效率为R=R1×R2,其中R1为C1的编码效率,R2为C2的编码效率。
显然,线性分组码的译码性能决定了乘积码的译码性能。当线性分组码的码长较大时,靠穷尽整个码字空间的最大似然译码方法(MLD)显然是不现实的。1972年,Chase提出了近似最大似然译码方法,计算复杂度大大降低。该方法是在先验概率已知的前提下,设定最不可信的点的范围,在缩小的码字范围内进行最大似然译码。1994年,法国科学家RameshMahendra Pyndiah等人提出了一种乘积码的次优译码方法,该方法采用Chase译码思想,近似计算出每个比特位的可信度,通过乘积码行、列的多次迭代实现译码。此方法称为次优方法(Near-Optimum),是目前被广泛应用的乘积码译码方法。但是,该方法中每个比特的可信度是在一定范围内的近似计算,精确度不高,属于次优方法。
发明内容
本发明需解决的技术问题是提供精度高的乘积码译码方法。
为解决上述技术问题,本发明提供一种乘积码译码方法,乘积码由线性分组码构建,对于参数为(n,k)的线性分组码,线性分组码的每个码字为n比特向量ξ=(ξ0,ξ1,…,ξn-1),校验位有r=n-k比特,即有r个校验方程,r个校验方程都为线性校验关系式,记为L0=0,…,Lr-1=0,为随机变量ξ0,ξ1,…,ξn-1的输入线性偏差,线性分组码输出线性偏差计算如下步骤:
步骤一、由r个校验方程生成2r个组合校验关系式fc(ξ):
每个校验方程都是对随机变量ξ0,ξ1,…,ξn-1的一种线性组合,得到r个随机变量L0,…,Lr-1,对随机变量L0,…,Lr-1进行校验全空间的线性组合,共得到2r个线性组合,对应着2r个组合校验关系式,记为fc(ξ),其中c为线性系数状态,c=(c0,c1,…,cr-1),c∈[0,2r-1],;
步骤二、由输入线性偏差和堆积引理计算2r个组合校验关系式的线性偏差 其中□表示随着线性系数状态c的变化,随机变量ξ0,ξ1,…,ξn-1的组合系数也将产生变化,的线性组合有2r个,记为
步骤三、计算每个比特的输出线性偏差:
(1)由沃尔什逆变换得,
其中,p(0)表示L0=0,…,Lr-1=0出现的概率,p(0)=p(L0=0,L1=0,…,Lr-1=0);
(2)p(L0=0,L1=0,…,Lr-1=0,ξi=0)、p(L0=0,L1=0,…,Lr-1=0,ξi=1);
令ξi=0(i=0,1,…,n-1),代入L0,…,Lr-1,计算出2r个线性组合的线性偏差将2r个线性组合的线性偏差相加,得到
再令ξi=1(i=0,1,…,n-1),代入L0,…,Lr-1,计算出2r个线性组合的线性偏差将2r个线性组合的2r个线性偏差相加,得到
其中,p(L0=0,L1=0,…,Lr-1=0,ξi=0)和p(L0=0,L1=0,…,Lr-1=0,ξi=1)分别表示L0=0,L1=0,…,Lr-1=0,ξi=0和L0=0,L1=0,…,Lr-1=0,ξi=1出现的的概率;
(3)每个比特的输出线性偏差为每个比特满足r个线性校验关系式L0=0,…,Lr-1=0条件下的线性偏差简记为
同时,提供一种乘积码译码方法,乘积码每行是参数为(n2,k2,δ2)的线性分组码C2,每列是参数为(n1,k1,δ1)的线性分组码C1;对于乘积码采用行、列迭代方法进行译码,迭代译码方法为:
(一),列译码:乘积码共n2列,每列是参数为(n1,k1,δ1)线性分组码,采用所述的线性分组码输出线性偏差计算方法计算出每个比特的输出线性偏差,在此记作将每个比特的输出线性偏差与输入线性偏差按方程式进行混合运算,得到更新的输出线性偏差
(二),行译码:乘积码共n1行,每行是参数为(n2,k2,δ2)线性分组码,将列译码得到的每个比特的更新的输出线性偏差作为行译码的输入线性偏差,记作采用所述的线性分组码输出线性偏差计算方法计算出每个比特的输出线性偏差,在此记作将每个比特的输出线性偏差与输入线性偏差按方程式进行混合运算,得到更新的输出线性偏差一次迭代结束;
(三),对乘积码进行数次迭代,当最终的输出线性偏差收敛到+1或-1时,迭代结束。
本发明通过输入线性偏差和堆积引理计算校验全空间所有组合的校验关系式的线性偏差,进而通过沃尔什逆变换求出每个比特的输出线性偏差,和现有技术相比,对相同数据进行译码,译码效果更好,比特错误率低于现有译码方法;通过行、列迭代方法中的混合运算方程式对数据中的错误比特进行修正,降低了译码错误率,提高了译码性能。
附图说明
图1为乘积码的构造示意图;
图2为本发明基于线性分组码的乘积码译码方法的流程框图;
图3为本发明基于迭代的乘积码译码方法的流程框图;
图4为本发明基于线性分组码的乘积码译码方法与次优方法译码性能比较曲线图;
图5为本发明基于迭代的乘积码译码方法与次优方法译码性能比较曲线图。
具体实施方式
下面结合附图和具体实施例对本发明的内容做进一步详细解释与描述。
结合图2,一种乘积码译码方法,乘积码由线性分组码构建,对于参数为(n,k)的线性分组码,线性分组码的每个码字为n比特向量ξ=(ξ0,ξ1,…,ξn-1),校验位有r=n-k比特,即有r个校验方程,r个校验方程都为线性校验关系式,记为L0=0,…,Lr-1=0,为随机变量ξ0,ξ1,…,ξn-1的输入线性偏差,线性分组码输出线性偏差计算如下步骤:
步骤一、由r个校验方程生成2r个组合校验关系式fc(ξ):
每个校验方程都是对随机变量ξ0,ξ1,…,ξn-1的一种线性组合,得到r个随机变量L0,…,Lr-1,对随机变量L0,…,Lr-1进行校验全空间的线性组合,共得到2r个线性组合,对应着2r个组合校验关系式,记为fc(ξ),其中c为线性系数状态,c=(c0,c1,…,cr-1),c∈[0,2r-1],;
步骤二、由输入线性偏差和堆积引理计算2r个组合校验关系式的线性偏差 其中□表示随着线性系数状态c=(c0,c1,…,cr-1)的变化,随机变量ξ0,ξ1,…,ξn-1的组合系数也将产生变化,的线性组合有2r个,记为
步骤三、计算每个比特的输出线性偏差:
(1)由沃尔什逆变换得,
其中,p(0)表示L0=0,…,Lr-1=0出现的概率,p(0)=p(L0=0,L1=0,…,Lr-1=0);
(2)p(L0=0,L1=0,…,Lr-1=0,ξi=0)、p(L0=0,L1=0,…,Lr-1=0,ξi=1);
令ξi=0(i=0,1,…,n-1),代入L0,…,Lr-1,计算出2r个线性组合的线性偏差将2r个线性组合的线性偏差相加,得到
再令ξi=1(i=0,1,…,n-1),代入L0,…,Lr-1,计算出2r个线性组合的线性偏差将2r个线性组合的2r个线性偏差相加,得到
其中,p(L0=0,L1=0,…,Lr-1=0,ξi=0)和p(L0=0,L1=0,…,Lr-1=0,ξi=1)分别表示L0=0,L1=0,…,Lr-1=0,ξi=0和L0=0,L1=0,…,Lr-1=0,ξi=1出现的的概率;
(3)每个比特的输出线性偏差为每个比特满足r个线性校验关系式L0=0,…,Lr-1=0条件下的线性偏差简记为
一种乘积码译码方法,乘积码每行是参数为(n2,k2,δ2)的线性分组码C2,每列是参数为(n1,k1,δ1)的线性分组码C1;对于乘积码采用行、列迭代方法进行译码,迭代译码方法为:
(一),列译码:乘积码共n2列,每列是参数为(n1,k1,δ1)线性分组码,采用分组码输出线性偏差计算方法计算出每个比特的输出线性偏差,在此记作将每个比特的输出线性偏差与输入线性偏差按方程式进行混合运算,得到更新的输出线性偏差
(二),行译码:乘积码共n1行,每行是参数为(n2,k2,δ2)线性分组码,将列译码得到的每个比特的更新的输出线性偏差作为行译码的输入线性偏差,记作采用所述的线性分组码输出线性偏差计算方法计算出每个比特的输出线性偏差,在此记作将每个比特的输出线性偏差与输入线性偏差按方程式进行混合运算,得到更新的输出线性偏差一次迭代结束;
(三),对乘积码进行数次迭代,当最终的输出线性偏差收敛到+1或-1时,迭代结束。
进一步,为便于理解,结合图1和图3,对图2中计算出来的输出线性偏差进行迭代译码,由线性分组码构建的乘积码每行是参数为(n2,k2,δ2)的线性分组码C2,每列是参数为(n1,k1,δ1)的线性分组码C1。
第一步、列译码:
每列是参数为(n1,k1,δ1)的线性分组码C1,共n2列,设第j列为按j=0,1,…,n2-1的顺序进行下列操作:
由每个比特的输入线性偏差根据分组码输出线性偏差计算方法计算出每个比特的输出线性偏差然后将代替代替根据列译码的混合运算方程式计算出新的输出线性偏差记作
第二步、行译码:
每行是参数为(n2,k2,δ2)的线性分组码C2,共n1行,设第i行为按i=0,1,…,n1-1的顺序进行操作:
将由列译码得到的输出线性偏差作为行译码的输入线性偏差,记作根据分组码输出线性偏差计算方法计算出每个比特的输出线性偏差然后将代替代替根据行译码的混合运算方程式计算出新的输出线性偏差记作
第一次迭代结束。
第三步、数次迭代:
将第一次迭代中行译码得到的输出线性偏差作为第二次迭代列译码中的初始输入线性偏差,按照第一次迭代方法中的步骤进行列译码和行译码,依次类推。
第四步、迭代结束:
对乘积码进行数次迭代后,当输出线性偏差收敛到+1或-1时,也就是收敛到+1时,迭代结束,输出
当然在上述迭代的过程中,也可以先进行列译码,再进行行译码。也就是说,列译码和行译码的前后顺序并不影响本发明迭代的效果。
为了考察本发明的译码效果,以码率为3/4的TPC编码(Turbo Product Code)为例,在已知正确的数据基础上进行加噪处理,利用本发明译码方法与次优方法译码后进行纠错能力和收敛情况进行比较。
本发明涉及的TPC编码属于乘积码的一种,该乘积码由扩展的奇偶校验BCH编码构建。编码阵列为46行64列,每行前63比特是(63,57)BCH编码,每列前45比特为(45,39)缩短BCH编码,且两者生成多项式均为f(x)=x6+x+1。第46行、第64列分别为垂直偶数检错码、水平偶数检错码。对于该乘积码的每一行,由BCH编码的生成多项式f(x),可以求出BCH编码的监督矩阵H6×63,由监督矩阵得到r=n-k=63-57=6个校验方程,加上最后一比特的偶数检错,共得到7个校验方程,这7个校验方程都是线性校验关系式,该行的每个码字为64比特向量ξ=(ξ0,ξ1,…,ξ63),都应满足这7个线性校验关系式。同理,对于乘积码的每一列,由缩短BCH编码和最后1比特的偶数检错,也得到相应的7个线性校验关系式。具体如下:
1111110101011001101110110100100111000101111001010001100001000000
0111111010101100110111011010010011100010111100101000110000100000
0011111101010110011011101101001001110001011110010100011000010000
0001111110101011001101110110100100111000101111001010001100001000
0000111111010101100110111011010010011100010111100101000110000100
1111101010110011011101101001001110001011110010100011000010000010
1111111111111111111111111111111111111111111111111111111111111111
每行为一个线性校验关系式,分别记为L1,L2,...,L7。如L1表示x[1]+x[2]+x[3]+x[4]+x[5]+x[6]+x[8]+x[10]+x[12]+x[13]+x[16]+x[17]+x[19]+x[20]+x[21]+x[23]+x[24]+x[26]+x[29]+x[32]+x[33]+x[34]+x[38]+x[40]+x[41]+x[42]+x[43]+x[46]+x[48]+x[52]+x[53]+x[58]=0时,第1个校验关系式通过。其中x[i]表示行向量中的第i个比特值。
对于该乘积码的每一列,由缩短BCH码和最后一比特的偶数检错,也得到相应的7个线性校验关系式。具体如下:
1110110100100111000101111001010001100001000000
0111011010010011100010111100101000110000100000
1011101101001001110001011110010100011000010000
1101110110100100111000101111001010001100001000
0110111011010010011100010111100101000110000100
1101101001001110001011110010100011000010000010
1111111111111111111111111111111111111111111111
TPC2944乘积码可以重新表述为其中C1的参数为(64,57,2),C2的参数为(46,39,2),D的参数为(2944,2223,4)。
设D中每个比特的初始线性偏差在信道译码前已经获得,要解决的问题是:如何由初始线性偏差,7个线性校验关系式成立的情况,精确计算出每个比特新的线性偏差。
乘积码每行为64比特,是64比特随机变量ξ0,ξ1,…,ξ63。已知初始线性偏差:
p(ξi)=p(ξi=0)-p(ξi=1)=2p(ξi=0)-1,i=0,1,…,63;满足7个线性校验关系式:L0(ξ)=0,…,L6(ξ)=0.简记为L0=0,…,L6=0。求出概率p(ξi=0|L0=0,…,L6=0)和p(ξi=1|L0=0,…,L6=0),就可以计算出每个比特的输出线性偏差简记为,
分析:利用贝叶斯公式p(A|B)=P(AB)/P(B)
推导出:
p(L0=0,…L6=0)=p(ξi=0,L0=0,…L6=0)+p(ξi=1,L0=0,…L6=0)
所以求出p(L0=0,…L6=0,ξi=0),p(L0=0,…L6=0,ξi=1)就可以逆推得到结果。
每个线性校验关系式都是随机变量ξ0,ξ1,…,ξ63的一种线性组合,7个线性组合得到7个新的随机变量L0,…,L6。对随机变量L0,…,L6进行全空间线性组合,共有27=128种,具体如下:
每种线性组合对应一个线性系数状态,所有线性系数状态构成一个7维空间。设线性系数状态为(c0,c1,…,c6),由堆积引理可以将这128个线性组合的线性偏差计算出来,分别记为
由沃尔什变换定义得知,(c0,c1,…,c6)∈[0,127]为函数f(L0,…,L6)=N(L0,…,L6)的沃尔什谱。
因为向量(L0,L1,…,L6)与二进制数L0L1…L6一一对应,所以p(L0,L1,…,L6)可以表示为p(L0L1…L6),L0L1…L6∈[0,127],表示为(c0c1…c6)∈[0,127]。
p(0),p(1),…,p(127)的值可以由经沃尔什逆变换得到:
即通过堆积引理,计算出所有线性系数对应的线性线性偏差表,由线性线性偏差表通过逆Hadamard变换,得到状态概率分布表。
因为每个码字都要满足7个线性校验关系式,即L0=0,L1=0,…,L6=0,所以只需要求出p(L0=0,L1=0,…,L6=0)=p(0)的值。
利用Hadamard矩阵第1行第1列为全‘1’的特点,容易推导出:
利用方程式(11),可以快速计算出p(0)的值。
有了p(0)值,就可以精确计算出BCH码中每个比特的新线性偏差,具体步骤如下:对每个比特ξi,i=0,1,…,63
(1)先令ξi=0,代入L0,…,L6,计算出128种线性组合的线性偏差128个线性偏差相加,得到p(L0=0,L1=0,…,L127=0,ξi=0)。
(2)再令ξi=1,代入L0,…,L6,计算出128种线性组合的线性偏差128个线性偏差相加,得到p(L0=0,L1=0,…,L127=0,ξi=1)。
(3)ξi,i=0,1,…,63在满足线性校验关系条件下的线性偏差为
下述提供一种简便算法计算来每个比特的输出线性偏差:
根据每个比特的原始输入偏差,首先将所有线性组合校验关系式的线性偏差计算出来,分别记为
计算第i个比特的线性偏差时,不含有ξi的组合校验关系式的线性偏差保持不变,含有ξi的组合校验关系式的线性偏差除以再求2r个组合校验关系式的线性偏差的均值,就得到p(L0=0,…,Lr-1=0,ξi=0),记作sum0。
类似地,得到p(L0=0,…,Lr-1=0,ξi=1),记作sum1。
每个比特的输出线性偏差为每个比特满足r个线性校验关系式L0=0,…,Lr-1=0条件下的线性偏差计算公式为: 简便算法的益处是,计算n个比特的输出线性偏差,即:i=0,...,n-1,每次计算时,仅在原始组合校验关系式的线性偏差上稍微进行修改,不必重新计算每个组合校验关系式的线性偏差,大大减少了计算复杂度,提高了效率。
对于TPC2944,每行每列都是一个BCH码。每次迭代,先对列进行操作,共64列,每列为46比特BCH码,分别按照上述步骤计算出每个比特的输出线性偏差;输出线性偏差与原始输入线性偏差进行混合运算,得到更新的线性偏差。再对行进行操作,列更新后的线性偏差作为行输入线性偏差,共46行,每行为64比特BCH码,分别按照上述步骤计算出行输出线性偏差;每个比特的输出线性偏差与输入线性偏差进行混合运算,得到更新的线性偏差,第一次迭代结束。第一次迭代结束后的更新的线性偏差作为第二次迭代的输入线性偏差,进入第二次迭代。迭代几次后,输出线性偏差收敛到+1或-1,迭代结束。输出线性偏差+1对应比特0,输出线性偏差-1对应比特1,实现了信道纠错。
本发明译码方法与次优方法纠错能力比较
步骤1:产生随机噪声源,按照固定的信噪比,使得一帧数据中每个比特位置按照预定的随机概率发生,即获得先验概率已知的试验数据;
步骤2:分别用本发明译码方法和次优方法进行迭代纠错译码,迭代次数为6次;
步骤3:译码后分别记录两种方法的比特错误率,具体结果如表1所示:
表1
比较两种方法对同类数据的译码效果,如表1所示:当信噪比在2.5~4.0区间时,译码后,本发明的译码方法的比特错误率明显低于次优方法,即要达到相同的译码效果,本发明译码方法所需的信噪比更低。如译码后比特错误率要达到2.7×10-5,次优方法需要信噪比为3.8dB,而本发明译码方法需要3.7dB,节省了0.1dB。
结合图4,本发明译码方法的曲线在这个区间接近于一条直线,而次优方法呈现为该直线外的弧线。当信噪比大于4.0dB时,次优方法收敛较快。当数据的含错率非常低(小于1.2%)时,次优方法译码效果较好,当数据的含错率较高(大于1.2%)且在信道编码的纠错能力范围内时,本发明译码方法效果更好。
本发明译码方法与次优方法收敛情况比较
步骤1:设置初始先验错误概率分别为0.014、0.018、0.020的TPC编码数据作为译码数据;
步骤2:用本发明和次优方法进行纠错译码;
步骤3:比较每次迭代后TPC编码的比特错误率。
表2
从表2和图5可以看出,本发明译码方法迭代1次后,比特的正确率提升1%以上,次优方法迭代1次后,比特的正确率提升0.4%左右。可知本发明的收敛速度更快。
本发明译码方法与次优方法的计算复杂度比较
本发明中一次迭代都是指一次行/列译码紧跟着一次列/行译码,所以整体复杂度由一次迭代的复杂度决定,进而由一次行/列译码的复杂度决定。即线性分组码的计算复杂度决定了乘积码的复杂度。
在发明内容中,由本发明的计算方法可知,在计算2r个组合校验关系的线性偏差时,每个组合校验关系含有n/2项,因此计算2r-1个组合校验关系的线性偏差需(2r-1)·(n/2-1)次乘法运算;在计算所有比特的输出线性偏差时,由于与ξi相关的组合校验关系一般为(2r-1)/2个,因此需要n·2r+1次加法运算、n·2r次乘法运算。整体计算复杂度为(3·2r -1·n-2r-n/2+1)次乘法运算,n·2r+1次加法运算。而次优方法的复杂度与最不可信点的个数p相关,随着p值的增大,呈2p增长。以TPC 3/4编码为例,当p=7时,经实际数据测算得知:迭代相同的次数,本发明所需时间是次优方法的1/2。
Claims (1)
1.一种乘积码译码方法,乘积码每行是参数为(n2,k2,δ2)的线性分组码C2,每列是参数为(n1,k1,δ1)的线性分组码C1,ni、ki、δi(i=1,2)分别表示码字长度、信息位个数、最小汉明距离;对于乘积码采用行、列迭代方法进行译码,其特征在于,迭代译码方法为:
(一),列译码:乘积码共n2列,每列是参数为(n1,k1,δ1)线性分组码,采用线性分组码输出线性偏差计算方法计算出每个比特的输出线性偏差,在此记作将每个比特的输出线性偏差与输入线性偏差按方程式进行混合运算,得到更新的输出线性偏差
(二),行译码:乘积码共n1行,每行是参数为(n2,k2,δ2)线性分组码,将列译码得到的每个比特的更新的输出线性偏差作为行译码的输入线性偏差,记作采用线性分组码输出线性偏差计算方法计算出每个比特的输出线性偏差,在此记作将每个比特的输出线性偏差与输入线性偏差按方程式进行混合运算,得到更新的输出线性偏差一次迭代结束;
将上一次迭代中行译码得到的输出线性偏差作为下一次迭代列译码中的初始输入线性偏差;
(三),对乘积码进行数次迭代,当最终的输出线性偏差收敛到+1或-1时,迭代结束;
其中,乘积码由线性分组码构建,对于参数为(n,k)的线性分组码,线性分组码的每个码字为n比特向量ξ=(ξ0,ξ1,…,ξn-1),校验位有r=n-k比特,即有r个校验方程,r个校验方程都为线性校验关系式,记为L0=0,…,Lr-1=0,为随机变量ξ0,ξ1,…,ξn-1的输入线性偏差,线性分组码输出线性偏差计算如下步骤:
步骤一、由r个校验方程生成2r个组合校验关系式fc(ξ):
每个校验方程都是对随机变量ξ0,ξ1,…,ξn-1的一种线性组合,得到r个随机变量L0,…,Lr-1,对随机变量L0,…,Lr-1进行校验全空间的线性组合,共得到2r个线性组合,对应着2r个组合校验关系式,记为fc(ξ),其中c为线性系数状态,c=(c0,c1,…,cr-1),c∈[0,2r-1];
步骤二、由输入线性偏差和堆积引理计算2r个组合校验关系式的线性偏差 的线性组合有2r个,记为其中□表示随着线性系数状态c的变化,随机变量ξ0,ξ1,…,ξn-1的组合系数也将产生变化;
步骤三、计算每个比特的输出线性偏差:
(1)由沃尔什逆变换得,
其中,p(0)表示L0=0,…,Lr-1=0出现的概率,
p(0)=p(L0=0,L1=0,…,Lr-1=0);
(2)p(L0=0,L1=0,…,Lr-1=0,ξi=0)、p(L0=0,L1=0,…,Lr-1=0,ξi=1);
令ξi=0(i=0,1,…,n-1),代入L0,…,Lr-1,计算出2r个线性组合的线性偏差将2r个线性组合的线性偏差相加,得到
再令ξi=1(i=0,1,…,n-1),代入L0,…,Lr-1,计算出2r个线性组合的线性偏差将2r个线性组合的2r个线性偏差相加,得到
其中,p(L0=0,L1=0,…,Lr-1=0,ξi=0)和p(L0=0,L1=0,…,Lr-1=0,ξi=1)分别表示L0=0,L1=0,…,Lr-1=0,ξi=0和L0=0,L1=0,…,Lr-1=0,ξi=1出现的的概率;
(3)每个比特的输出线性偏差为每个比特满足r个线性校验关系式L0=0,…,Lr-1=0条件下的线性偏差简记为
<mrow>
<mover>
<mi>p</mi>
<mo>~</mo>
</mover>
<mrow>
<mo>(</mo>
<msub>
<mi>&xi;</mi>
<mi>i</mi>
</msub>
<mo>|</mo>
<mi>L</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mi>p</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>L</mi>
<mn>0</mn>
</msub>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<msub>
<mi>L</mi>
<mn>1</mn>
</msub>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<mn>...</mn>
<mo>,</mo>
<msub>
<mi>L</mi>
<mrow>
<mi>r</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<msub>
<mi>&xi;</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mn>0</mn>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mi>p</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>L</mi>
<mn>0</mn>
</msub>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<msub>
<mi>L</mi>
<mn>1</mn>
</msub>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<mn>...</mn>
<mo>,</mo>
<msub>
<mi>L</mi>
<mrow>
<mi>r</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<msub>
<mi>&xi;</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>p</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>L</mi>
<mn>0</mn>
</msub>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<msub>
<mi>L</mi>
<mn>1</mn>
</msub>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<mn>...</mn>
<mo>,</mo>
<msub>
<mi>L</mi>
<mrow>
<mi>r</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<msub>
<mi>&xi;</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mn>0</mn>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mi>p</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>L</mi>
<mn>0</mn>
</msub>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<msub>
<mi>L</mi>
<mn>1</mn>
</msub>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<mn>...</mn>
<mo>,</mo>
<msub>
<mi>L</mi>
<mrow>
<mi>r</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<msub>
<mi>&xi;</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>.</mo>
</mrow>
2
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410221533.2A CN104022786B (zh) | 2014-05-21 | 2014-05-21 | 乘积码译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410221533.2A CN104022786B (zh) | 2014-05-21 | 2014-05-21 | 乘积码译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104022786A CN104022786A (zh) | 2014-09-03 |
CN104022786B true CN104022786B (zh) | 2017-09-01 |
Family
ID=51439388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410221533.2A Expired - Fee Related CN104022786B (zh) | 2014-05-21 | 2014-05-21 | 乘积码译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104022786B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109412610B (zh) * | 2017-08-16 | 2022-08-09 | 深圳市中兴微电子技术有限公司 | 一种编码方法、译码方法、编码装置及译码装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1266555A (zh) * | 1998-05-04 | 2000-09-13 | 阿尔卡塔尔公司 | 乘积码的迭代解码 |
EP1443657A1 (en) * | 1998-09-28 | 2004-08-04 | Comtech Telecommunications Corp. | Turbo product code decoder |
CN1555603A (zh) * | 2002-07-01 | 2004-12-15 | 连宇通信有限公司 | 一种基于伴随式的乘积码迭代译码方法及装置 |
CN1688111A (zh) * | 2005-05-19 | 2005-10-26 | 上海交通大学 | 乘积码的并行迭代译码方法 |
CN1805293A (zh) * | 2005-01-12 | 2006-07-19 | 凌阳科技股份有限公司 | 乘积码的译码装置及译码方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8359518B2 (en) * | 2009-10-27 | 2013-01-22 | Altera Canada Co. | 2D product code and method for detecting false decoding errors |
-
2014
- 2014-05-21 CN CN201410221533.2A patent/CN104022786B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1266555A (zh) * | 1998-05-04 | 2000-09-13 | 阿尔卡塔尔公司 | 乘积码的迭代解码 |
EP1443657A1 (en) * | 1998-09-28 | 2004-08-04 | Comtech Telecommunications Corp. | Turbo product code decoder |
CN1555603A (zh) * | 2002-07-01 | 2004-12-15 | 连宇通信有限公司 | 一种基于伴随式的乘积码迭代译码方法及装置 |
CN1805293A (zh) * | 2005-01-12 | 2006-07-19 | 凌阳科技股份有限公司 | 乘积码的译码装置及译码方法 |
CN1688111A (zh) * | 2005-05-19 | 2005-10-26 | 上海交通大学 | 乘积码的并行迭代译码方法 |
Non-Patent Citations (1)
Title |
---|
NEAR OPTIMUM DECODING OF PRODUCT CODES;Ramesh PYNDIAH 等;《IEEE Transactions on Communications》;19980831;第46卷(第8期);339-343 * |
Also Published As
Publication number | Publication date |
---|---|
CN104022786A (zh) | 2014-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10673462B2 (en) | Coding method and coding device | |
CN103888148B (zh) | 一种动态阈值比特翻转的ldpc码硬判决译码方法 | |
CN100592639C (zh) | 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法 | |
CN109075803B (zh) | 具有打孔、缩短和扩展的极化码编码 | |
CN109921803B (zh) | 基于神经网络的高密度线性分组码译码方法 | |
WO2017194013A1 (zh) | 纠错编码方法及装置 | |
US20200220556A1 (en) | Generalized low-density parity check codes in digital communication system | |
CN100425000C (zh) | 双涡轮结构低密度奇偶校验码解码器及解码方法 | |
CN101656541A (zh) | Rs码的译码方法和装置 | |
CN109981112A (zh) | 一种部分循环冗余校验辅助的排序统计译码方法 | |
CN108736900B (zh) | Turbo码译码的控制方法及装置、计算机可读介质、终端 | |
CN105553485A (zh) | 基于fpga的bch编解码装置及其编解码方法 | |
CN103731239A (zh) | 一种适用于向量处理器的通用crc并行计算部件及方法 | |
CN105634506A (zh) | 基于移位搜索算法的平方剩余码的软判决译码方法 | |
CN110730008A (zh) | 一种基于深度学习的rs码置信传播译码方法 | |
CN103199877B (zh) | 一种结构化ldpc卷积码构造编码方法 | |
CN102420616B (zh) | 基于拉丁方阵的准循环ldpc码纠错方法 | |
CN101567696B (zh) | 一种参数可变的bch码编码器及译码器 | |
CN104022786B (zh) | 乘积码译码方法 | |
CN105391455A (zh) | 一种归零Turbo码起点及深度盲识别方法 | |
CN110739977B (zh) | 一种基于深度学习的bch码译码方法 | |
CN103401650A (zh) | 一种(n,1,m)有误码卷积码的盲识别方法 | |
CN103368585A (zh) | 一种ldpc码校验矩阵的构造方法 | |
CN113422611B (zh) | 一种qc-ldpc编码器的高度并行编码方法 | |
CN1192486C (zh) | 一种缩短循环码纠错译码算法的集成电路实现方法及电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170901 Termination date: 20180521 |