CN101355366A - 低密度奇偶校验码的译码方法及装置 - Google Patents
低密度奇偶校验码的译码方法及装置 Download PDFInfo
- Publication number
- CN101355366A CN101355366A CNA2008100677628A CN200810067762A CN101355366A CN 101355366 A CN101355366 A CN 101355366A CN A2008100677628 A CNA2008100677628 A CN A2008100677628A CN 200810067762 A CN200810067762 A CN 200810067762A CN 101355366 A CN101355366 A CN 101355366A
- Authority
- CN
- China
- Prior art keywords
- variable node
- reliability
- upset function
- node
- iteration
- 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.)
- Granted
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明实施例涉及译码技术,尤其涉及一种低密度奇偶校验码的译码技术。本发明实施例提供了一种低密度奇偶校验码的译码方法,主要包括:在第k次迭代中,对满足预设条件的翻转函数对应的变量节点进行翻转,根据预设的参数修正被翻转的变量节点的可靠度,根据翻转后的变量节点序列,确定校验子序列,以便输出译码结果。本发明实施例还提供了一种低密度奇偶校验码的译码装置。本发明实施例提供的方法和装置,通过对翻转后的变量节点的可靠度进行修正,可以使得计算得到的翻转函数更加真实反映相关比特的正误,从而提高译码性能。
Description
技术领域
本发明涉及译码技术,尤其涉及一种基于低密度奇偶校验码的译码技术。
背景技术
信道编码技术是移动通信系统不可或缺的一项关键技术,而信道编码技术中的LDPC(Low Density Parity Check,低密度奇偶校验)码则被普遍认为具有比以往的信道编码方法更优越的性能,并且在第四代移动通信系统的研究中得到了应用,LDPC码可以用生成矩阵或校验矩阵来表征。
LDPC码是一种比较特殊的线性分组码,特殊性就在于它的奇偶校验矩阵中1的数目远远小于0的数目,称为稀疏性,也称为低密度。LDPC码的译码主要是通过校验节点消息和变量节点消息的更新和相互间的传递实现的。现有技术中有多种LDPC译码算法,比如加权比特翻转译码算法。
然而,在实现本发明的过程中,发明人发现现有的LDPC加权比特翻转译码算法至少存在如下问题:在初始化的时候用各码字的接收信号幅度作为相关变量节点的可靠度,这些数值在迭代译码过程中保持固定。事实上,随着一部分错误比特在译码中被纠正,这些比特应该变得更加可靠,而原先固定的数值已经不能准确反映其真实的可靠度,这在一定程度上影响了最终的译码性能。
发明内容
本发明实例提供了一种低密度奇偶校验码译码方法及其装置,可以有效提高目前译码算法的性能。
本发明实施例提供了一种低密度奇偶校验码译码方法,该方法主要包括:
在迭代过程中,对满足预设条件的翻转函数对应的变量节点进行翻转;
根据预设的参数修正被翻转的变量节点的可靠度;
根据至少部分由翻转后的变量节点组成的序列,确定校验子序列,以便输出译码结果。
本发明实施例还提供了一种低密度奇偶校验码译码装置,该装置主要包括:
翻转单元,用于在迭代过程中,对满足预设条件的翻转函数对应的变量节点进行翻转;
修正单元,用于修正所述翻转单元中被翻转的变量节点的可靠度;
校验子序列确定单元,用于根据翻转后的变量节点序列确定校验子序列,以便输出译码结果。
由此可以看出,本发明实施例提供的方法和装置,通过对翻转后的变量节点的可靠度进行修正,可以使得计算得到的翻转函数更加真实反映相关比特的正误,从而提高译码性能。
附图说明
图1为本发明一实施例的译码方法流程图;
图2为本发明一实施例的译码方法流程图;
图3为本发明一实施例的译码方法的仿真结果图;
图4为本发明一实施例的译码装置的结构示意图。
具体实施方式
在对本发明具体实施方式提供的方案进行详细描述之前,首先对各实施例中将出现的概念和符号进行说明:
低密度奇偶校验码采用迭代译码算法,发送端发送的码序列C={cn,n∈[1,N]},其中N为序列长度,经二相移相键控BPSK调制后,为发送信号序列X={xn=1-2cn,n∈[1,N]},序列X经过零均值方差为σ2的高斯白噪声信道发送后,在接收端接收到接收信号序列Y={yn|yn=xn+zn,n∈[1,N]},z:N(0,σ2)对接收序列Y做符号硬判,得到序列 其中: 校验矩阵HM×N=[hm,n]对应的二分图变量节点集合为V={vn,n∈[1,N]},校验节点集合为S={sm,m∈[1,M]};定义变量节点vn参与的校验节点集合为A(n)={j,hj,n=1},其中集合元素个数为|A(n)|;定义包含于校验节点sm的变量节点集合为B(m)={j,hm,i=1},其中集合元素个数为|B(m)|;定义校验节点集合A(n)中去除校验节点sm的节点集合为A(n)\m;定义变量节点集合B(m)中去除变量节点vn的节点集合为B(m)\n。
本发明一实施例提供了一种低密度奇偶校验码的译码方法,如图1所示,该方法主要包括:
S101,在迭代过程中,对满足预设条件的翻转函数对应的变量节点进行翻转;
在每次迭代中,需要对满足预设条件的翻转函数对应的变量节点进行翻转,比如说可以对翻转函数最大的变量节点进行翻转。
S102,根据预设的参数修正被翻转的变量节点的可靠度;
其中,根据预设的参数修正被翻转的变量节点的可靠度可以有多种方式,比如,将所述被翻转的变量节点的可靠度加上该预设的参数或者将所述被翻转的变量节点的可靠度乘以该预设的参数。一般情况下,每种方式下,该预设参数的取值是不一样的。
S103,根据至少部分由翻转后的变量节点组成的序列,确定校验子序列,以便输出译码结果。
当确定的校验子序列或者迭代次数满足迭代终止条件时,可以根据确定的校验子序列输出译码结果。
下面将通过具体的实现方式进行具体说明。
本发明一实施例提供了一种低密度奇偶校验码的译码方法,如图2所示,该方法主要包括:
S201,在第k次迭代中,对满足预设条件的翻转函数对应的变量节点进行翻转。
定义迭代次数为k,k为非负整数。根据各个校验节点的权重em和各变量节点的可靠度rn获取各个变量节点的翻转函数fn k,n∈[1,N],例如,对于修正加权比特翻转MWBF算法,其翻转函数的计算方式为:
其中,sm k表示第k次迭代中的校验节点集合,α的具体数值是靠仿真决定,该系数可以提高译码性能。
对于迭代次数k=0的情况,也就是初始迭代时,根据符号硬判序列W0和转置的校验矩阵HT计算初始校验子序列S0,即S0=W0HM×N Tmod2,其中mod2表示对2取模运算。接着,获取S0各个校验节点的权重em,m∈[1,M]。对于MWBF算法, 在初始迭代中,各个变量节点的可靠度rn=|yn|,n∈[1,N]。
接着,根据获取的翻转函数,对满足预设条件的翻转函数对应的变量节点进行翻转,比如,可以对翻转函数最大的变量节点nmax进行翻转。对于MWBF算法,nmax可以表示为: 对nmax进行翻转可以表示为:即为将节点nmax对应的变量节点和1做异或运算。
S202,修正被翻转的变量节点的可靠度。
随着一部分错误变量节点在译码中被纠正,这些变量节点应该变得更加可靠,而原先固定的数值已经不能准确反映其真实的可靠度,因此需要根据预设的参数对被翻转的变量节点的可靠度进行修正。修正的方法有多种,比如增大或减小原可靠度的取值。而一般情况下,一个错误的比特被翻转后,其可靠度是增大的,增大可靠度的方式也有多种,比如直接加上一个因子,或者乘以一个系数。该因子和系数都是预设的参数,两者的取值一般是不一样的,可以根据仿真结果确定。以给可靠度直接加上一个因子对修正变量节点的可靠度为例: 其中,为修正后的可靠度,为被翻转的变量节点的可靠度,δ为可靠度的增加因子,其取值可以根据仿真的结果确定。对于确定的校验矩阵,δ的取值是固定的,且在各次迭代中,对需要修改可靠度的变量节点可以都用这个值。而对于不同的校验矩阵,最佳的δ的取值会有不同。而对于减小可靠度的方式与增大可靠度的方式基本相同,即也可以通过加上一个因子或乘以一个系数的方式修正,不过取值有所不同,如,加上的因子取值为负或乘以的因子小于1。
在S201中,对于初始迭代,获取翻转函数时,使用的是初始可靠度,而对于迭代次数k大于0的第k次迭代中,获取翻转函数时,使用的是修正后的可靠度。
S203,根据至少部分由翻转后的变量节点组成的序列,确定校验子序列。
其中,校验子序列可以表示为:Sk=WkHM×N,也就是说校验子序列为变量节点序列和校验矩阵的乘积。
上述S201-S203已经完成了一次迭代译码过程,根据本方法对翻转后的变量节点的可靠度进行修改,可以使得计算得到的翻转函数更加真实反映相关比特的正误,从而提高译码性能。进一步地,为了判断迭代何时终止并最终输出译码结果,需要执行下述步骤:
S204,判断确定的校验子序列是否满足迭代终止条件,如果否,执行S205,如果是,执行S206。
其中,对于S203中确定的校验子序列Sk,需要判断其是否满足迭代终止条件,比如,判断Sk是否为全零向量θ,若Sk=θ,也就是各行的校验结果都是0,则迭代终止。
S205,迭代次数k增加1,并判断增加后的迭代次数是否小于或等于预设的最大迭代次数,如果是跳转至S201进行下一次迭代,否则,执行S206。
当迭代次数超出预设的最大迭代次数时,需要终止迭代,该最大迭代次数可以根据仿真结果确定。
S206:终止迭代,输出译码结果。
在使用MWBF算法处理码长为N,列重为λ的LDPC码字时,一次迭代需要的加法或比较次数为λN。而采用本实施例中的译码方法,只需要在每次迭代中增加1次加法修正可靠度。以行列重都为17的PG273码为例,采用MWBF算法,一次迭代需要4641次计算,而采用本发明实施例的译码方法,只需要在每次迭代中增加1次加法,其复杂度增加可以忽略不计。
图3以列重都为17的PG273码为例,给出了采用本发明实施例的译码方法的仿真结果。可以看出,与MWBF算法相比,本发明实施例的译码方法的译码性能得到了提高。
本发明实施例提供的LDPC的译码方法,可以在几乎不增加译码复杂度的情况下,使得计算得到的翻转函数更加真实反映相关比特的正误,从而提高译码判决的正确性,取得更好的译码性能。
需要说明的是,本发明实施例仅是以MWBF算法为例,具体描述了LDPC译码方法。而本发明实施例的译码方法可以适用于多种LDPC码的加权比特翻转译码算法,如MWBF算法,提高加权比特翻转(IMWBF)算法,并行比特翻转(PWBF)算法等。对于其它译码算法,本领域技术人员可以根据本发明实施例公开的技术,轻易实现。
本发明一实施例提供了一种LDPC的译码装置,如图4所示,该装置可以包括:
翻转单元401,用于在迭代过程中,对满足预设条件的翻转函数对应的变量节点进行翻转。
修正单元402,用于根据预设的参数修正翻转单元401中被翻转的变量节点的可靠度。
校验子序列确定单元403,用于根据至少部分由翻转后的变量节点组成的序列确定校验子序列,以便输出译码结果。
进一步地,为了判断迭代是否终止,该译码装置还可以包括:
判决单元404,用于判断校验子序列确定单元403确定的校验子序列是否满足迭代终止条件,如果满足,则根据校验子序列确定单元403确定的结果输出译码结果,如果否,则迭代次数增加1;
其中,对于校验子序列,其迭代终止条件可以为Sk=θ,θ表示全零向量,也就是各行的校验结果都是0。
进一步的,判决单元404还可以用于在迭代次数增加1后,判断增加后的迭代次数是否小于或等于预设的最大迭代次数,如果是,则由翻转单元401开始下一次迭代,如果否,则根据校验子序列确定单元403确定的结果输出译码结果。该预设的最大迭代次数可以根据仿真结果确定。
其中,翻转单元401可以具体包括:
翻转函数获取子单元4011,用于根据校验节点的权重和可靠度获取各个变量节点的翻转函数。
例如,以MWBF算法为例,其翻转函数的计算方法为: 其中,sm k表示第k次迭代中的校验节点集合,α的具体数值是靠仿真决定,该系数可以提高译码性能。对于初始迭代,根据 计算翻转函数时,使用的是初始可靠度,而对于迭代次数k大于0的第k次迭代中,获取翻转函数时,使用的是修正单元402修正后的可靠度。
翻转控制子单元4012,用于根据翻转函数获取子单元4011获取的翻转函数,对满足预设条件的翻转函数对应的变量节点进行翻转。比如,可以对翻转函数最大的变量节点nmax进行翻转。对于MWBF算法,nmax可以表示为: 对nmax进行翻转可以表示为:即为将节点nmax对应的变量节点和1做异或运算。
此外,修正单元402对翻转单元401中被翻转的变量节点的可靠度进行修正可以有多种方式,比如增大或减小原可靠度的取值。而一般情况下,一个错误的比特被翻转后,其可靠度应该是增大的,增大可靠度的方式也有多种,比如直接加上一个因子,或者乘以一个系数。以给可靠度直接加上一个因子对修正变量节点的可靠度为例: 其中,为修正后的可靠度,为被翻转的变量节点的可靠度,δ为可靠度的增加因子,其取值可以根据仿真的结果确定。对于确定的校验矩阵,δ的取值是固定的,且在各次迭代中,对需要修改可靠度的变量节点可以都用这个值。而对于不同的校验矩阵,δ的取值会有不同。
综上,本发明实施例提供的方法和装置,通过对翻转的变量节点的可靠度进行修正,使得计算得到的翻转函数更加真实反映相关比特的正误。进一步地,从而提高译码判决的正确性,取得更好的译码性能。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种低密度奇偶校验码的译码方法,其特征在于,该方法包括:
在迭代过程中,对满足预设条件的翻转函数对应的变量节点进行翻转;
根据预设的参数修正被翻转的变量节点的可靠度;
根据至少部分由翻转后的变量节点组成的序列,确定校验子序列,以便输出译码结果。
2.根据权利要求1所述的方法,其特征在于,所述对满足预设条件的翻转函数对应的变量节点进行翻转包括:
根据各个校验节点的权重和各变量节点的可靠度获取各个变量节点的翻转函数;
根据获取的翻转函数,对所述满足预设条件的翻转函数对应的变量节点进行翻转。
3.根据权利要求2所述的方法,其特征在于,所述对满足预设条件的翻转函数对应的变量节点进行翻转包括:对翻转函数最大的变量节点进行翻转。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
初始迭代时,根据各个校验节点的权重和各变量节点的初始可靠度获取各个变量节点的翻转函数。
5.根据权利要求1所述的方法,其特征在于,所述根据预设的参数修正被翻转的变量节点的可靠度包括:将所述被翻转的变量节点的可靠度加上所述预设的参数。
6.根据权利要求1所述的方法,其特征在于,所述根据预设的参数修正被翻转的变量节点的可靠度包括:将所述被翻转的变量节点的可靠度乘以所述预设的参数。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:判断所述确定的校验子序列是否满足迭代终止条件,如果是,则迭代终止,输出译码结果。
8.根据权利要求7所述的方法,其特征在于,所述迭代终止条件为:所述校验子序列为全零向量。
9.一种低密度奇偶校验码的译码装置,其特征在于,该装置包括:
翻转单元,用于在迭代过程中,对满足预设条件的翻转函数对应的变量节点进行翻转;
修正单元,用于根据预设的参数修正所述翻转单元中被翻转的变量节点的可靠度;
校验子序列确定单元,用于根据至少部分由翻转后的变量节点组成的序列确定校验子序列,以便输出译码结果。
10.根据权利要求9所述的装置,其特征在于,所述翻转单元包括:
翻转函数获取子单元,用于根据校验节点的权重和变量节点的可靠度获取各个变量节点的翻转函数;
翻转控制子单元,用于根据所述翻转函数获取子单元获取的翻转函数,对满足预设条件的翻转函数对应的变量节点进行翻转。
11.根据权利要求10所述的装置,其特征在于,对于初始迭代的情况下,所述翻转函数获取子单元根据各个校验节点的权重和各变量节点的初始可靠度获取各个变量节点的翻转函数。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:
判决单元,用于判断所述校验子序列确定单元确定的校验子序列是否满足迭代终止条件,如果满足,则由所述译码输出单元输出译码结果,如果否,则迭代次数增加1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100677628A CN101355366B (zh) | 2008-06-13 | 2008-06-13 | 低密度奇偶校验码的译码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100677628A CN101355366B (zh) | 2008-06-13 | 2008-06-13 | 低密度奇偶校验码的译码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101355366A true CN101355366A (zh) | 2009-01-28 |
CN101355366B CN101355366B (zh) | 2011-04-13 |
Family
ID=40307985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100677628A Active CN101355366B (zh) | 2008-06-13 | 2008-06-13 | 低密度奇偶校验码的译码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101355366B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932006A (zh) * | 2012-11-19 | 2013-02-13 | 电子科技大学 | 基于平均幅度的低密度奇偶校验码加权比特翻转解码方法 |
CN101807928B (zh) * | 2009-02-13 | 2013-06-05 | 瑞昱半导体股份有限公司 | 记录控制器及奇偶校验码译码器 |
CN105577195A (zh) * | 2015-12-22 | 2016-05-11 | 中国电子科技集团公司电子科学研究院 | 一种对置信传播算法进行修正的方法 |
CN107241102A (zh) * | 2016-03-29 | 2017-10-10 | 慧荣科技股份有限公司 | 在硬决策软解码期间决定何时结束位翻转算法的方法 |
CN107425856A (zh) * | 2016-03-17 | 2017-12-01 | 慧荣科技股份有限公司 | 低密度奇偶校验译码器以及对其进行省电的方法 |
CN111130564A (zh) * | 2018-10-30 | 2020-05-08 | 华为技术有限公司 | 译码方法及装置 |
-
2008
- 2008-06-13 CN CN2008100677628A patent/CN101355366B/zh active Active
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807928B (zh) * | 2009-02-13 | 2013-06-05 | 瑞昱半导体股份有限公司 | 记录控制器及奇偶校验码译码器 |
CN102932006A (zh) * | 2012-11-19 | 2013-02-13 | 电子科技大学 | 基于平均幅度的低密度奇偶校验码加权比特翻转解码方法 |
CN102932006B (zh) * | 2012-11-19 | 2016-06-29 | 电子科技大学 | 基于平均幅度的低密度奇偶校验码加权比特翻转解码方法 |
CN105577195A (zh) * | 2015-12-22 | 2016-05-11 | 中国电子科技集团公司电子科学研究院 | 一种对置信传播算法进行修正的方法 |
CN107425856A (zh) * | 2016-03-17 | 2017-12-01 | 慧荣科技股份有限公司 | 低密度奇偶校验译码器以及对其进行省电的方法 |
CN107425856B (zh) * | 2016-03-17 | 2020-09-29 | 慧荣科技股份有限公司 | 低密度奇偶校验译码器以及对其进行省电的方法 |
CN107241102A (zh) * | 2016-03-29 | 2017-10-10 | 慧荣科技股份有限公司 | 在硬决策软解码期间决定何时结束位翻转算法的方法 |
CN107241102B (zh) * | 2016-03-29 | 2020-10-20 | 慧荣科技股份有限公司 | 在硬决策软解码期间决定何时结束位翻转算法的方法 |
CN111130564A (zh) * | 2018-10-30 | 2020-05-08 | 华为技术有限公司 | 译码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101355366B (zh) | 2011-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103888148B (zh) | 一种动态阈值比特翻转的ldpc码硬判决译码方法 | |
US8413008B2 (en) | Method for recovery of lost and/or corrupted data | |
CN111628785B (zh) | 使用硬选取硬译码模式下的译码器产生软信息的方法 | |
EP2567462B1 (en) | Method and apparatus for channel coding and decoding in a communication system using a low-density parity-check code | |
CN1714512B (zh) | 用于速率兼容的低密度奇偶校验码的装置和方法 | |
CN100581064C (zh) | 低密度奇偶校验码解码装置和方法 | |
CN101453297B (zh) | 低密度生成矩阵码的编码方法和装置、及译码方法和装置 | |
CN100568755C (zh) | 用于编码和解码具有可变编码率的块低密度奇偶校验码的装置和方法 | |
EP1258999B1 (en) | Evaluating and optimizing error-correcting codes using a renormalization group transformation | |
US7882414B2 (en) | Apparatus and method for transmitting/receiving signal supporting variable coding rate in a communication system | |
EP2482464B1 (en) | Encoding apparatus, decoding apparatus, encoding method, decoding method, and communication system | |
CN101355366B (zh) | 低密度奇偶校验码的译码方法及装置 | |
US20070113148A1 (en) | Decoding apparatus and method in a communication system using low density parity check codes | |
CN102412847A (zh) | 用联合节点处理来解码低密度奇偶校验码的方法和设备 | |
CN101162965B (zh) | 一种ldpc码的纠删译码方法及系统 | |
WO2017194013A1 (zh) | 纠错编码方法及装置 | |
CN100592639C (zh) | 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法 | |
CN105052066A (zh) | 用于多阶段软输入解码的系统和方法 | |
CN105247808A (zh) | 使用后期可靠性信息进行解码的系统和方法 | |
CN105207682A (zh) | 基于动态校验矩阵的极化码置信传播译码方法 | |
US20130151932A1 (en) | Method for recovery of lost data and for correction of corrupted data | |
CN101257311B (zh) | 一种多进制调制下ldpc码的快速译码方法 | |
KR101636965B1 (ko) | 잡음성 매체들에서 데이터를 통신하기 위한 방법 및 장치 | |
CN101465653B (zh) | 一种低密度奇偶校验码的串行译码方法 | |
CN100539441C (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |