CN101436864A - 一种低密度奇偶校验码的译码方法及装置 - Google Patents

一种低密度奇偶校验码的译码方法及装置 Download PDF

Info

Publication number
CN101436864A
CN101436864A CNA2007101655636A CN200710165563A CN101436864A CN 101436864 A CN101436864 A CN 101436864A CN A2007101655636 A CNA2007101655636 A CN A2007101655636A CN 200710165563 A CN200710165563 A CN 200710165563A CN 101436864 A CN101436864 A CN 101436864A
Authority
CN
China
Prior art keywords
check
side information
node
output
checking symbol
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
Application number
CNA2007101655636A
Other languages
English (en)
Other versions
CN101436864B (zh
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.)
Huawei Technologies Co Ltd
Southeast University
Original Assignee
Huawei Technologies Co Ltd
Southeast University
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 Huawei Technologies Co Ltd, Southeast University filed Critical Huawei Technologies Co Ltd
Priority to CN2007101655636A priority Critical patent/CN101436864B/zh
Publication of CN101436864A publication Critical patent/CN101436864A/zh
Application granted granted Critical
Publication of CN101436864B publication Critical patent/CN101436864B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明涉及译码技术,尤其涉及一种基于低密度奇偶校验码的译码技术。一种低密度奇偶校验码的译码方法,进行至少一次迭代译码,并在每次迭代时:获得各校验节点输出的边信息校验符号,其中,校验节点的相关变量节点向该校验节点输出的边信息都为正时,该校验节点输出的边信息校验符号为正,反之该校验节点输出的边信息校验符号为负;并确定所述各校验节点输出的边信息校验符号都为正时终止迭代。本发明还提供了一种低密度奇偶校验码的译码装置。由于将迭代过程中各校验节点输出的边信息校验符号参与校验方程计算,而不是用每次迭代的输出代入校验方程进行完整的校验方程计算,所以不需要新增计算资源,也不会增加译码时延,并保证译码的准确性。

Description

一种低密度奇偶校验码的译码方法及装置
技术领域
本发明涉及译码技术,尤其涉及一种基于低密度奇偶校验码的译码技术。
背景技术
信道编码技术是移动通信系统不可或缺的一项关键技术,而信道编码技术中的LDPC(Low Density Parity Check,低密度奇偶校验)码则被普遍认为具有比以往的信道编码方法更优越的性能,并且在第四代移动通信系统的研究中得到了应用,LDPC码可以用生成矩阵或校验矩阵来表征。
LDPC码是一种比较特殊的线性分组码,特殊性就在于它的奇偶校验矩阵中1的数目远远小于0的数目,称为稀疏性,也称为低密度。
一、低密度奇偶校验码编码过程
第一步:为了方便求出生成矩阵G,从而在编码时能够方便的解出校验比特,可通过算法,如高斯消去算法,对任意一个校验矩阵H0可以线性变换为典型校验矩阵H,校验矩阵H0的列数代表码字的长度,行数代表奇偶校验位的数目。典型校验矩阵H如式1所示:
H=[PT,I]                (1)
典型校验矩阵H可以划分为两部分,其中一部分为单位阵I,另一部分PT为P矩阵的转置矩阵。
第二步:再利用该典型校验矩阵H方便的构造出如下式2所示的典型生成矩阵G:
G=[I,P];                (2)
利用典型校验矩阵H构造的典型生成矩阵G同样可以划分为两部分,其中一部分为一个单位阵I,另一部分即为P矩阵。
第三步:在分组编码时,根据生成矩阵G的行数对信源比特u进行分组,每一个分组中包括的信源比特数为生成矩阵G的行数。每一个分组分别和生成矩阵G相乘得到编码后的输出码字,各组输出码字根据分组顺序组成输出码字序列。
其中第i组ui和生成矩阵G相乘得到的输出码字ci为:
ci=ui G=[ui,ui P]                (3)
其中:每一组输出码字ci中包括两部分,其中一部分ui为该组信源比特ui和典型生成矩阵G中的单位阵I相乘的结果,称为系统位;另一部分ui P为该组信源比特ui和典型生成矩阵G中的P矩阵相乘的结果,称为校验位。
下面以一个示例进一步说明,例如:
校验矩阵 H 0 4 × 7 = 1 1 1 0 1 0 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 ;
线性转换为典型校验矩阵 H 4 × 7 = 1 0 1 1 1 1 1 1 0 0 1 1 , 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 = [ P T , I ] ;
则构造出的生成矩阵 G 3 × 7 = [ I , P ] = 1 0 0 0 1 0 0 0 1 , 1 1 1 0 0 1 1 1 1 1 0 1 ;
若待编码的信源比特序列m为(0,1,0,1,1,1),利用上述H4×7校验阵完成编码的过程包括如下步骤:
1、根据典型生成矩阵的行数,将(0,1,0,1,1,1)分成(0,1,0)和(1,1,1)两组;
2、分别编码后两组输出码字为:(0,1,0)×G3×7=(0,1,0,0,1,1,1);(1,1,1)×G3×7=(1,1,1,0,1,0,0);
3、根据分组顺序组合成输出的编码数据c为:(0,1,0,0,1,1,1,1,1,1,0,1,0,0)。
任何一个低密度奇偶校验码的校验矩阵都可以转化为一张对应的二分(Tanner)图,比特变量节点和校验节点是校验矩阵转化为Tanner图后的标识,比特变量节点对应于校验矩阵的列,校验节点对应于校验矩阵的行。
以校验矩阵H1 4×8为例,其中V和S分别标识对应的比特变量节点和校验节点:
H 1 4 × 8 = v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 8 1 0 1 0 1 0 1 0 s 1 1 0 0 1 0 1 0 1 s 2 0 1 1 0 0 1 1 0 s 3 0 1 0 1 1 0 0 1 s 4
转化的Tanner图如图1所示,有8个比特变量节点v1,v2...v8,4个校验节点s1,s2...s4。以方框标识校验节点,圆圈标识比特变量节点,连接对应行和列的交叉元素为1的校验节点和比特节点,例如v1和s1、v1和s2,这样在Tanner图会形成很多循环,例如其中粗线标识的s1、v3、s3和v7
二、低密度奇偶校验码译码过程
低密度奇偶校验码采用迭代译码算法,对于发送端发送的码序列C={cn,n∈[1,N]},经调制后为发送信号序列X={xn=1-2cn,n∈[1,N]},序列X经过零均值方差为σ2的高斯白噪声信道发送后,在接收端接收到接收信号序列Y={yn,n∈[1,N]},该接收信号序列到达译码器为W={wn,n∈[1,N]}序列,其中wn=2yn2。校验矩阵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
以下为译码器的具体译码步骤:
第一步:初始化
初始化各变量节点输出总信息 L n 0 = w n = 2 y n / σ 2 ; 初始化各变量节点向各校验节点输出的边信息 L nm 0 = w n = 2 y n / σ 2 ; 并设置迭代次数k=1。
第二步:根据第k-1次迭代的各变量节点vn向各校验节点sm输出的边信息
Figure A200710165563D00083
计算第k次迭代各校验节点sm向各变量节点vn输出的边信息。对于k=1的情况,即根据初始的各变量节点vn向各校验节点sm输出的边信息
Figure A200710165563D00084
计算本次迭代各校验节点sm向各变量节点vn输出的边信息。
具体计算方法,可以通过公式4的置信传播算法进行计算,也可以通过公式5的最小和算法进行计算:
L mn k = 2 a tanh [ Π n ′ ∈ B ( m ) \ n sign ( L n ′ m k - 1 ) · Π n ′ ∈ B ( m ) \ n tanh ( | L n , m k - 1 | / 2 ) ] - - - ( 4 )
L mn k = η · [ Π n ′ ∈ B ( m ) \ n sign ( L n ′ m k - 1 ) ] ( min n ′ ∈ B ( m ) \ n L n ′ m k - 1 ) - - - ( 5 )
其中,公式6中的η为修正因子。
第三步:计算第k次迭代的各变量节点vn向校验节点sm输出的边信息,如公式6所示:
L nm k = L n 0 + Σ m ′ ∈ A ( n ) \ m L m ′ n k - - - ( 6 )
第四步:计算第k次迭代的译码输出:对于每个变量节点vn,n∈[1,N]将所有该变量节点相连的校验节点sm输出的信息
Figure A200710165563D00088
以及该变量节点的初始信息
Figure A200710165563D00089
相加,作为第k次迭代的该变量节点的总的输出信息如公式7所示;
L n k = L n 0 + Σ m ∈ A ( n ) L mn k - - - ( 7 )
根据当前迭代的各个变量节点的输出信息
Figure A200710165563D000812
按照公式8作符号判决得到输出序列Ck
c n k = 0 , if L n k > 0 c n k = 1 , if L n k ≤ 0 - - - ( 8 )
第五步:迭代终止判断:根据某种迭代收敛准则判断译码是否需要终止,若判断迭代收敛,则第四步输出的结果将作为最终的译码输出:C=Ck,并终止译码;如果判断没有收敛,且迭代次数小于设定的最大迭代次数K,则跳转到第二步继续译码;如果判断没有收敛,且迭代次数大于、等于设定的最大迭代次数K,则译码失败。
在现有技术中有如下几种迭代终止判断方法:一是完整的校验式判断;二是根据译码过程中输出信息变化趋势进行判断;三是判断判决输出是否一致。
一、完整的校验式判断是利用LDPC码的校验矩阵本身进行迭代终止判断的。
利用每次迭代的输出信息的符号 sign ( L n k ) n ∈ [ 1 , N ] , 计算各校验式
Figure A200710165563D00093
m∈[1,M]:
s m k = Π n ∈ B ( m ) sign ( L n k ) - - - ( 9 )
如果所有校验式满足 s m k > 0 , 则判断所有校验方程均满足,迭代收敛,终止迭代;否则,继续迭代。
将每次迭代的输出代入校验方程,不仅会在相邻的两次迭代之间插入一段校验计算时隙,并且还需要增加相应的计算资源作校验式判断,无法兼顾校验时延和系统复杂度。
二、根据译码过程中输出信息变化趋势进行判断,例如对互信息量进行计算来判断,该方法进行互信息统计的时候需要大量的计算资源,所以一般在实际系统中不被采用。
三、实际系统中一般采用相对简单的HDA(Hard Decision Aided,硬判辅助停止判断)判断,如Turbo码迭代译码。HDA准则即判断相邻两次迭代硬判决输出是否一致,若一致则停止迭代,译码结束;否则继续迭代译码。HDA准则具体实现如公式10所示:
( HDA ) n = sign ( L n k - 1 ) · sign ( L n k ) - - - ( 10 )
若满足(HDA)n>0,n∈[1,N],则表明HDA准则判断迭代译码已收敛,终止译码,输出译码序列C=Ck
由于该HDA准则判断没有结合LDPC码本身的校验式进行迭代终止判断,所以误判的可能性较高。特别在高信噪比的时候,误判的几率更高。
发明内容
本发明实施例提供了一种低密度奇偶校验码的译码方法及其装置,用以实现在减少译码时延的同时保证较高译码准确性。
一种低密度奇偶校验码的译码方法,进行至少一次迭代译码,并在每次迭代时:
获得各校验节点输出的边信息校验符号,其中,校验节点的相关变量节点向该校验节点输出的边信息都为正时,该校验节点输出的边信息校验符号为正,反之该校验节点输出的边信息校验符号为负;并
确定所述各校验节点输出的边信息校验符号都为正时终止迭代。
一种低密度奇偶校验码的译码装置,包括:
校验节点处理模块,用于在每次译码迭代中获得各校验节点的边信息校验符号并输出,其中,校验节点的相关变量节点向该校验节点输出的边信息都为正时,该校验节点输出边信息校验符号为正的第一指示信息,反之该校验节点输出边信息校验符号为负的第二指示信息;
边信息校验判断模块,用于根据所述校验节点处理模块输出的第一指示信息和/或第二指示信息判决边信息校验符号是否都为正,并输出判决结果;
主控模块,用于接收所述边信息校验判断模块输出的判决结果,并在所述判决结果为边信息校验符号都为正时终止迭代。
本发明实施例由于利用迭代过程中的中间值一一各校验节点输出的边信息校验符号参与校验方程计算,所以不需要在每次迭代译码后再将每次迭代的输出代入校验方程进行完整的校验方程计算带来附加的译码时延,从而减少译码时延;而相对于HDA准则的判决方法,由于采用各校验节点输出的边信息校验符号参与了校验方程的计算,判决结果具有较高的准确性。所以,在减少译码时延的同时保证了较高译码准确性,是实现复杂度和整体系统性能之间的一个良好的折中处理方案。
附图说明
图1为现有技术的校验矩阵H1 4×8对应的Tanner示意图;
图2为本发明实施例的译码方法流程图;
图3为本发明实施例的译码装置结构框图;
图4为本发明实施例的校验节点处理子模块与边信息校验判断模块连接示意图;
图5为本发明实施例的校验节点处理子模块内部结构框图。
具体实施方式
本发明实施例在利用迭代译码的校验节点更新计算过程中,用变量节点输入的边信息参与校验方程计算,若校验方程全部满足则终止译码,否则继续迭代译码。该迭代终止判决方法可以适用于多种LDPC码的译码算法,例如BP算法,MS算法及其各种修正算法等。本发明实施例以标准的BP算法为例,具体描述判决方案,对于其它译码算法,本领域技术人员可以根据本发明实施例公开的技术,轻易实现。
如图2所示,本发明实施例的提供译码方法流程包括如下具体步骤:
步骤S201:迭代初始化,确定初始的各变量节点输出总信息以及初始的各变量节点向分别每一个校验节点输出的边信息,并设置迭代次数k=1。
接收到经过零均值方差为σ2的高斯白噪声信道的码序列yn后,进行译码迭代的初始化:确定各变量节点vn,n∈[1,N]的初始信息为 L n 0 = 2 y n / σ 2 ; 确定各变量节点vn,n∈[1,N]向各校验节点sm,m∈[1,M]输出的初始边信息 L nm 0 = L n 0 , 并设置迭代次数k=1。其中,N为变量节点总的个数,M为校验节点总的个数。
步骤S202:根据第k-1次迭代的各变量节点向相关的校验节点输出的边信息,分别计算出第k次迭代每一个校验节点输出的边信息校验符号。
对于第k-1次迭代的各变量节点vn向每一个校验节点sm输出的信息
Figure A200710165563D00123
符号,其中,如果符号为正,用逻辑“1”表示;如果符号为负,用逻辑“0”表示。对于每一个校验节点,将用“1”、“0”表示的第k-1次迭代的各变量节点vn向校验节点sm输出的信息
Figure A200710165563D00124
符号进行连乘,计算出第k次迭代校验节点sm输出的边信息校验符号。具体计算如公式11所示:
L m , sign k = Π n ∈ B ( m ) sign ( L nm k - 1 ) - - - ( 13 )
其中,
Figure A200710165563D00126
为第k次迭代校验节点sm输出的边信息校验符号,该校验符号可以作为步骤S207中判断译码收敛的标志。
步骤S203:根据第k-1次迭代的各变量节点向相关校验节点输出的边信息,计算出第k次迭代各校验节点向相关变量节点输出的边信息。根据第k-1次迭代的各变量节点vn向校验节点sm输出的边信息
Figure A200710165563D00127
计算出第k次迭代每一个校验节点sm向各变量节点vn输出的边信息具体计算公式如12所示:
L mn k = L m , sign k · sign ( L nm k - 1 ) · 2 a tanh [ Π n ′ ∈ B ( m ) \ n tanh ( | L n ′ m k - 1 | / 2 ) ] - - - ( 12 )
步骤S204:计算第k次迭代各变量节点向每一个校验节点输出的边信息。
将各校验节点sm向变量节点vn输出的边信息以及该变量节点的初始信息相加,作为该变量节点vn向校验节点sm的输出信息,如公式13所示:
L nm k = L n 0 + Σ m ′ ∈ A ( n ) \ m L m ′ n k - - - ( 13 )
步骤S205:计算第k次迭代各变量节点总输出的信息。
对于每个变量节点vn,n∈[1,N],将所有与之相连的校验节点sm输出的边信息
Figure A200710165563D00132
以及该变量节点的初始信息
Figure A200710165563D00133
相加,作为第k次迭代的该变量节点的总的输出信息具体计算如公式14所示:
L n k = L n 0 + Σ m ∈ A ( n ) L mn k - - - ( 14 )
步骤S206:根据第k次迭代的各变量节点总输出的信息作判决,得到第k次迭代的译码输出序列。
根据第k次迭代的各个变量节点的总输出信息
Figure A200710165563D00136
按照公式15做出判决,得到输出序列Ck
c n k = 0 , if L n k > 0 c n k = 1 , if L n k ≤ 0 - - - ( 15 )
步骤S207:根据第k次迭代校验节点输出的边信息校验符号进行迭代终止判断。
根据步骤S202中得到的第k次迭代如果每个校验节点输出的边信息校验符号
Figure A200710165563D00138
进行迭代终止判断:如果
Figure A200710165563D00139
为正,表示该校验节点输入的边信息符号满足校验方程;为负表示该校验节点输入的边信息符号不满足校验方程。如果所有校验节点输出的边信息校验符号都为正,则表示当前迭代中所有校验节点输入边信息参与的校验方程完全满足,整个译码系统趋于最终达到的稳定状态,则将当前第k次迭代译码结果Ck作为最终的译码输出,并终止迭代译码,执行步骤S209;如果不能满足每个校验节点输出的边信息校验符号
Figure A200710165563D001310
都为正,继续进行下次迭代,执行步骤S208。
对于第k次迭代如果每个校验节点输出的边信息校验符号
Figure A200710165563D001311
如果边信息校验符号为正,则用逻辑1表示;如果边信息校验符号为负,则用逻辑0表示。用与门对每个校验节点输出的边信息校验符号进行与运算,如果与门输出逻辑1,则判断出每个校验节点输出的边信息校验符号都为正,满足校验方程;反之,判断出不是每个校验节点输出的边信息校验符号都为正,不满足校验方程。此外,还可以用加法器对每个校验节点输出的边信息校验符号进行相加,如果相加结果等于校验矩阵的总行数,判断每个校验节点输出的边信息校验符号都为正,满足校验方程;反之,判断出不是每个校验节点输出的边信息校验符号都为正,不满足校验方程。
当然,在具体实现中,还可以用逻辑0表示正的边信息校验符号;用逻辑1表示负的边信息校验符号。相应地,就可以用或门来对每个校验节点输出的边信息校验符号进行或运算,如果或门输出为逻辑0,则判断每个校验节点输出的边信息校验符号都为正,满足校验方程;反之,判断出不是每个校验节点输出的边信息校验符号都为正,不满足校验方程。当然,还可以用加法器来实现判断方法:加法器对每个校验节点输出的边信息校验符号进行相加,如果相加结果等于零,判断每个校验节点输出的边信息校验符号都为正,满足校验方程;反之,判断出不是每个校验节点输出的边信息校验符号都为正,不满足校验方程。
对于迭代终止的判断不仅仅限于在步骤S206后进行,本领域技术人员可以根据实际情况,实现从步骤S202计算出第k次迭代如果每个校验节点输出的边信息校验符号到步骤S206第k次译码输出序列的过程中进行迭代终止的判断。
步骤S208:迭代次数k增加1,并判断迭代次数k是否等于最大迭代次数K,若迭代次数等于最大迭代次数K,跳转到步骤S209终止迭代;否则跳转至步骤S202进行下一次迭代。
步骤S209:终止迭代,输出结果。
本发明实施例提供了一种LDPC码的译码迭代判决装置,应用于LDPC码的译码装置中,该迭代判决装置如图3所示,包括:主控模块301、输入信息存储模块302、似然比信息存储模块303、校验节点处理模块304、边信息校验判断模块305、变量节点处理模块306、输出信息存储模块307。
在一次译码过程开始时,输入信息存储模块302用于接收需要被译码的码序列wn。该码序列通常是系统接收的码序列yn经过零均值方差为σ2的高斯白噪声信道后的,到达输入信息存储模块302的码序列:wn=2yn2
主控模块301将输入信息存储模块302接收的码序列wn作为初始的变量节点总输出信息 L n 0 = w n 设置到似然比信息存储模块303中,并还将wn作为初始的各变量节点vn,n∈[1,N]向各校验节点sm,m∈[1,M]输出的边信息 L nm 0 = w n 设置到似然比信息存储模块303中,并将迭代次数k设置为1。主控模块301在每次译码迭代判决完成后,决定是终止迭代,还是将迭代次数k加1后,继续迭代。存储在似然比信息存储模块303中的初始变量节点总输出信息以及初始各变量节点向各校验节点输出的边信息作为迭代次数k为0的变量节点总输出信息以及各变量节点向各校验节点输出的边信息。之后,在每次迭代过程中,校验节点处理模块304从似然比信息存储模块303中获得其中存储的各变量节点向各校验节点输出的边信息,并将计算的各校验节点向各变量节点输出的边信息存储到该似然比信息存储模块303中,替换了存储的上次迭代的各校验节点向各变量节点输出的边信息;变量节点处理模块306从似然比信息存储模块303中获得其中存储的各校验节点向各变量节点输出的边信息,并将计算的各变量节点总输出信息存储到该似然比信息存储模块303中,替换了存储的上次迭代的各变量节点总输出信息。
之后,主控模块301控制校验节点处理模块304从似然比信息存储模块303中获得第k-1次迭代的各变量节点vn向各校验节点sm输出的边信息
Figure A200710165563D00153
对于k=1的情况,就是获得初始的各变量节点Vn向各校验节点Sm输出的边信息
Figure A200710165563D00154
校验节点处理模块304用于根据第k-1次迭代的各变量节点vn向各校验节点sm输出的边信息
Figure A200710165563D00155
计算出第k次迭代各校验节点sm向各变量节点vn输出的边信息
Figure A200710165563D00161
并在将计算出的第k次迭代各校验节点sm向各变量节点vn输出的边信息
Figure A200710165563D00162
输出到似然比信息存储模块303后,向主控模块301发送校验节点处理完毕信息。校验节点处理模块304还将计算过程中的中间值——第k次迭代各校验节点sm输出的边信息校验符号输出到边信息校验判断模块305中,在校验节点的相关变量节点向该校验节点输出的边信息都为正时,校验节点处理模块304输出该校验节点输出边信息校验符号为正的第一指示信息;反之校验节点处理模块304输出该校验节点输出边信息校验符号为负的第二指示信息。
边信息校验判断模块305用于根据第一指示信息和/或第二指示信息得出第k次迭代是否终止的判断结果。如果输出的为第一指示信息,表示第k次迭代各校验节点sm输出的边信息校验符号都为正,表明整个译码系统趋向稳定状态,判断结果为终止迭代;否则,继续迭代。
主控模块301在接收到校验节点处理完毕信息后控制变量节点处理模块306从似然比信息存储模块303中获得第k次迭代各校验节点sm向各变量节点vn输出的边信息
Figure A200710165563D00163
变量节点处理模块306用于根据第k次迭代各校验节点sm向各变量节点vn输出的边信息
Figure A200710165563D00164
以及初始的各变量节点总输出信息
Figure A200710165563D00165
计算出第k次迭代各变量节点vn向各校验节点sm输出的边信息
Figure A200710165563D00166
并根据第k次迭代各校验节点sn向各变量节点vm输出的边信息
Figure A200710165563D00167
以及初始的各变量节点总输出信息
Figure A200710165563D00168
计算出第k次迭代的各变量节点总输出信息
Figure A200710165563D00169
并根据第k次迭代的各变量节点总输出信息
Figure A200710165563D001610
判决出第k次迭代的输出序列Ck,并在将该输出序列Ck输出到输出信息存储模块307后,发送迭代输出完毕信息给主控模块301。
主控模块301在接收到迭代输出完毕信息后从边信息校验判断模块305中获得第k次迭代的终止判断结果,并根据判断结果以及迭代次数判断是非终止迭代,以及决定输出结果。具体的,如果判断结果为终止迭代,则主控模块301控制输出信息存储模块307将第k次迭代的输出序列Ck作为最终译码序列输出;如果判断结果为继续迭代,且迭代次数k小于设定的总迭代次数K,则将迭代次数加1,再次控制校验节点处理模块304、变量节点处理模块306以及边信息校验判断模块305,开始下一次的迭代循环过程,从而计算出下次迭代的输出序列并作迭代终止判决;如果判断结果为继续迭代,且迭代次数k大于、等于设定的总迭代次数K,则终止迭代,判定此次译码失败,输出译码失败信息。
其中,主控模块301、输入信息存储模块302、似然比信息存储模块303、校验节点处理模块304、变量节点处理模块306、输出信息存储模块307中的功能都可以是由译码装置中相同功能的模块来承担。
如图4所示,对于每个校验节点,比如校验节点sm都可以设置有一个校验节点处理子模块,用于计算第k次迭代该校验节点sm向各变量节点输出的边信息并输出到似然比信息存储模块303,以及计算第k次迭代该校验节点sm输出的边信息校验符号并输出到边信息校验判断模块305。边信息校验判断模块305根据接收的第k次迭代各校验节点sm输出的边信息校验符号得出第k次迭代是否终止的判断结果。边信息校验判断模块可以是由与门组成,也可以是用其它电路搭建而成,本领域技术人员可以根据本发明实施例公开的技术搭建其它电路以实现边信息校验判断模块的功能。比如,还可以采用加法器的方法,将所有输入信号相加,进行判决。
具体的,如果用逻辑1表示校验节点输出的边信息校验符号为正,即第一指示信息;用逻辑0表示校验节点输出的边信息校验符号为负,即第二指示信息。将用逻辑1和/或逻辑0表示的校验节点输出的边信息校验符号输入到与门进行与运算,如果与门输出逻辑1,则判断出每个校验节点输出的边信息校验符号都为正,满足校验方程;反之,判断出不是每个校验节点输出的边信息校验符号都为正,不满足校验方程。此外,还可以用加法器对用逻辑1和/或逻辑0表示的校验节点输出的边信息校验符号进行相加,如果相加结果等于校验矩阵的总行数,判断每个校验节点输出的边信息校验符号都为正,满足校验方程;反之,判断出不是每个校验节点输出的边信息校验符号都为正,不满足校验方程。
当然,在具体实现中,还可以用逻辑0表示正的边信息校验符号,即第一指示信息;用逻辑1表示负的边信息校验符号,即第二指示信息。相应地,就可以用或门来对用逻辑1和/或逻辑0表示的校验节点输出的边信息校验符号进行或运算,如果或门输出为逻辑0,则判断每个校验节点输出的边信息校验符号都为正,满足校验方程;反之,判断出不是每个校验节点输出的边信息校验符号都为正,不满足校验方程。当然,还可以用加法器来实现判断方法:加法器对用逻辑1和/或逻辑0表示的校验节点输出的边信息校验符号进行相加,如果相加结果等于零,判断每个校验节点输出的边信息校验符号都为正,满足校验方程;反之,判断出不是每个校验节点输出的边信息校验符号都为正,不满足校验方程。
对于每个校验节点,比如校验节点sm,校验节点处理子模块的内部结构如图5所示,包括:符号与幅值分离单元组501、最小值和次最小值比较单元502、最小值修正单元504、次最小值修正单元505、查表单元506、总乘积单元503、子乘积单元组507、校验输出更新单元组508。
符号与幅值分离单元组501中包括|B(m)|个符号与幅值分离单元分别对应|B(m)|个的变量节点。符号与幅值分离单元组501从似然比信息存储模块303中获得各变量节点向该校验节点sm输出的边信息Lnm后,根据Lnm获得该Lnm值的绝对值输出到最小值和次最小值比较单元502,并获得Lnm值的符号信息,即Lnm值的正、负号输出到总乘积单元503。
最小值和次最小值比较单元502获得各变量节点向该校验节点sm输出的边信息Lnm的绝对值后,计算出其中的最小值输出到最小值修正单元504、计算出其中的次最小值输出到次最小值修正单元505,并将最小值对应的变量节点序号输出到查表单元506。
最小值修正单元504对最小值和次最小值比较单元502输出的最小值作归一化修正;次最小值修正单元505对最小值和次最小值比较单元502输出的次最小值作归一化修正。
查表单元506具有|B(m)|个输出,根据最小值对应的变量节点序号,将对应序号的输出置为有效电平。
总乘积单元503获得各变量节点向该校验节点sm输出的边信息Lnm的符号信息,并对这些符号信息作连乘运算。“正”、“负”符号可以用电平“1”、“0”表示,具体实现时可以用多输入与门来实现连乘运算。只要输入的符号信息中有“负号”,即“0”电平,则与门输出“0”电平,这与数学中作连乘的计算结果一致。本领域技术人员也可以采用其它方法或者电路来实现该连乘运算。连乘运算结果被输出到边信息校验判断模块305。
子乘积单元组507包括|B(m)|个子乘积单元。每个子乘积单元都是一个双输入的与门。|B(m)|个子乘积单元分别接收|B(m)|个符号与幅值分离单元输出的变量节点向该校验节点sm输出的边信息Lnm的符号信息,同时还接收总乘积单元503输出的连乘结果,并作乘积运算后输出到校验输出更新单元组508中的|B(m)|个校验输出更新单元。
|B(m)|个校验输出更新单元还接收最小值修正单元504的修正后的最小值、次最小值修正单元505输出的修正后的次最小值以及分别接收查表单元的|B(m)|的输出。校验输出更新单元根据其接收的查表单元的输出是否有效来决定其输出值的绝对值:当其接收的查表单元的输出为有效信号,其输出值的绝对值为修正后的最小值;当其接收的查表单元的输出为无效信号,其输出值的绝对值为修正后的次最小值。校验输出更新单元根据其接收的子乘积单元的输出来决定其输出值的符号:如果子乘积单元的输出为“1”,校验输出更新单元输出值的符号为正;如果子乘积单元的输出为“0”,校验输出更新单元输出值的符号为负。校验输出更新单元将输出值的绝对值以及输出值的符号组合成最后输出的输出值,即该校验节点sm向变量节点输出的边信息Lmn
本发明实施例由于将迭代过程中的中间值——各校验节点sm输出的边信息校验符号参与校验方程计算,而不是用每次迭代的输出代入校验方程进行完整的校验方程计算,所以不需要新增计算资源,同时也不会给迭代译码带来附加的译码时延,而相对于HDA准则的判决方法,由于参与了校验方程的计算,判决结果具有较高的准确性。所以,在不增加系统功耗,尽早终止迭代的同时,还保证了较高的译码准确性,是实现复杂度和整体系统性能之间平衡的一个良好的折中处理方案。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (14)

1、一种低密度奇偶校验码的译码方法,进行至少一次迭代译码,并在每次迭代时:
获得各校验节点输出的边信息校验符号,其中,校验节点的相关变量节点向该校验节点输出的边信息符号都为正时,该校验节点输出的边信息校验符号为正,反之该校验节点输出的边信息校验符号为负;并
确定所述各校验节点输出的边信息校验符号都为正时终止迭代。
2、如权利要求1所述的译码方法,其特征在于,确定所述各校验节点输出的边信息校验符号都为正的方法包括:
用逻辑1表示校验节点输出的正边信息校验符号,用逻辑0表示校验节点输出的负边信息校验符号;
将用逻辑1或0表示的边信息校验符号相加,当相加结果等于校验矩阵总行数时确定所述各校验节点输出的边信息校验符号都为正。
3、如权利要求1所述的译码方法,其特征在于,确定所述各校验节点输出的边信息校验符号都为正的方法包括:
用逻辑1表示校验节点输出的正边信息校验符号,用逻辑0表示校验节点输出的负边信息校验符号;
对逻辑1或0表示的边信息校验符号作连乘,在连乘结果为逻辑1时,确定所述各校验节点输出的边信息校验符号都为正。
4、如权利要求1所述的译码方法,其特征在于,确定所述各校验节点输出的边信息校验符号都为正的方法包括:
用逻辑0表示校验节点输出的正边信息校验符号,用逻辑1表示校验节点输出的负边信息校验符号;
将用逻辑1或0表示的边信息校验符号相加,当相加结果等于零时确定所述各校验节点输出的边信息校验符号都为正。
5、如权利要求1所述的译码方法,其特征在于,在迭代次数等于设定的迭代最大次数时,终止迭代。
6、一种低密度奇偶校验码的译码迭代判决装置,其特征在于,包括:
校验节点处理模块,用于在每次译码迭代中获得各校验节点的边信息校验符号并输出,其中,校验节点的相关变量节点向该校验节点输出的边信息都为正时,该校验节点输出边信息校验符号为正的第一指示信息,反之该校验节点输出边信息校验符号为负的第二指示信息;
边信息校验判断模块,用于根据所述校验节点处理模块输出的第一指示信息和/或第二指示信息判决边信息校验符号是否都为正,并输出判决结果;
主控模块,用于接收所述边信息校验判断模块输出的判决结果,并在所述判决结果为边信息校验符号都为正时终止迭代。
7、如权利要求6所述的装置,其特征在于,所述校验节点处理模块包括至少一个第一校验节点处理子模块,每一个第一校验节点处理子模块用于接收一个校验节点的相关变量节点向该校验节点输出的边信息,并当接收的边信息都为正时,向所述边信息校验判断模块输出的第一指示信息为逻辑1,反之向所述边信息校验判断模块输出的第二指示信息为逻辑0。
8、如权利要求7所述的装置,其特征在于,所述边信息校验判断模块为多输入加法器,用于将所述校验节点处理模块输出的逻辑1和/或逻辑0进行相加,并在相加结果等于校验矩阵总行数时判决所述边信息校验符号都为正。
9、如权利要求7所述的装置,其特征在于,所述边信息校验判断模块为多输入与门,用于对所述校验节点处理模块输出的逻辑1和/或逻辑0作逻辑与运算,并在逻辑与运算结果为逻辑1时判决所述边信息校验符号都为正。
10、如权利要求6所述的装置,其特征在于,所述校验节点处理模块包括至少一个第二校验节点处理子模块,每一个第二校验节点处理子模块用于接收一个校验节点的相关变量节点向该校验节点输出的边信息,并当接收的边信息都为正时,向所述边信息校验判断模块输出的第一指示信息为逻辑0,反之向所述边信息校验判断模块输出的第二指示信息为逻辑1。
11、如权利要求10所述的装置,其特征在于,所述边信息校验判断模块为多输入加法器,用于对所述校验节点处理模块输出逻辑1和/或逻辑0进行相加,并在相加结果等于零时判决所述边信息校验符号都为正。
12、如权利要求11所述的装置,其特征在于,所述边信息校验判断模块为多输入或门,用于接收所述校验节点处理模块输出的逻辑1和/或逻辑0作逻辑或运算,并在逻辑或运算结果为逻辑0时判决所述边信息校验符号都为正。
13、如权利要求7或10所述的装置,其特征在于,所述第一校验节点处理子模块包括:
至少一个符号与幅值分离单元,每一个符号与幅值分离单元用于接收一个相关变量节点输出的边信息,从边信息中分离出边信息符号并输出所述边信息符号;
总乘积单元,用于对各符号与幅值分离单元输出的边信息符号进行连乘获得边信息校验符号,并根据所述边信息校验符号向边信息校验判断模块输出逻辑1和/或逻辑0。
14、一种低密度奇偶校验码的译码装置,其特征在于,包括权利要求6-13任一所述的译码迭代判决装置。
CN2007101655636A 2007-11-12 2007-11-12 一种低密度奇偶校验码的译码方法及装置 Active CN101436864B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101655636A CN101436864B (zh) 2007-11-12 2007-11-12 一种低密度奇偶校验码的译码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101655636A CN101436864B (zh) 2007-11-12 2007-11-12 一种低密度奇偶校验码的译码方法及装置

Publications (2)

Publication Number Publication Date
CN101436864A true CN101436864A (zh) 2009-05-20
CN101436864B CN101436864B (zh) 2012-04-04

Family

ID=40711115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101655636A Active CN101436864B (zh) 2007-11-12 2007-11-12 一种低密度奇偶校验码的译码方法及装置

Country Status (1)

Country Link
CN (1) CN101436864B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103208995A (zh) * 2013-03-27 2013-07-17 东南大学 一种低密度奇偶校验码译码的提前终止方法
WO2020077596A1 (zh) * 2018-10-18 2020-04-23 华为技术有限公司 Ldpc码的译码方法和装置
CN111130564A (zh) * 2018-10-30 2020-05-08 华为技术有限公司 译码方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103208995A (zh) * 2013-03-27 2013-07-17 东南大学 一种低密度奇偶校验码译码的提前终止方法
CN103208995B (zh) * 2013-03-27 2016-02-24 东南大学 一种低密度奇偶校验码译码的提前终止方法
WO2020077596A1 (zh) * 2018-10-18 2020-04-23 华为技术有限公司 Ldpc码的译码方法和装置
CN111130564A (zh) * 2018-10-30 2020-05-08 华为技术有限公司 译码方法及装置

Also Published As

Publication number Publication date
CN101436864B (zh) 2012-04-04

Similar Documents

Publication Publication Date Title
CN107846261B (zh) 用于并行连续取消解码和连续取消列表解码的设备和方法
CN103888148B (zh) 一种动态阈值比特翻转的ldpc码硬判决译码方法
CN102164025B (zh) 基于重复编码和信道极化的编码器及其编译码方法
Xu et al. XJ-BP: Express journey belief propagation decoding for polar codes
CN100581064C (zh) 低密度奇偶校验码解码装置和方法
Arikan A survey of reed-muller codes from polar coding perspective
CN106888026B (zh) 基于lsc-crc译码的分段极化码编译码方法及系统
CN100589357C (zh) 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法
CN102412847A (zh) 用联合节点处理来解码低密度奇偶校验码的方法和设备
CN100539440C (zh) 低密度奇偶校验码迭代排序统计译码方法
CN104995844A (zh) 具有对于ldpc码可靠性输入的比特翻转解码
CN104025459A (zh) 译码处理方法及译码器
CN107204780B (zh) polar-LDPC级联码的合并BP解码算法及装置
Das et al. Distributed matrix-vector multiplication: A convolutional coding approach
CN101064591B (zh) 低密度奇偶校验码的译码方法及其校验节点更新电路
CN107086870A (zh) 修复多节点失效的mds阵列码编码以及解码方法
WO2007034870A1 (ja) 復号装置および受信装置
CN101656541A (zh) Rs码的译码方法和装置
CN111490796B (zh) 基于动态翻转比特的置信传播译码方法
CN100542049C (zh) 一种多码率的ldpc码的译码器装置及译码方法
CN105356971A (zh) 一种基于概率计算的scma译码器
CN104242957A (zh) 译码处理方法及译码器
US7757149B2 (en) Broadcast message passing decoding of low density parity check codes
CN102893529A (zh) Ldpc码的解码
CN106708654A (zh) 一种用于NANDflash的BCH纠错码的电路结构

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