CN102801432A - 一种多进制ldpc的串行fht-bp译码方法及装置 - Google Patents
一种多进制ldpc的串行fht-bp译码方法及装置 Download PDFInfo
- Publication number
- CN102801432A CN102801432A CN2012102538679A CN201210253867A CN102801432A CN 102801432 A CN102801432 A CN 102801432A CN 2012102538679 A CN2012102538679 A CN 2012102538679A CN 201210253867 A CN201210253867 A CN 201210253867A CN 102801432 A CN102801432 A CN 102801432A
- Authority
- CN
- China
- Prior art keywords
- node
- check
- fht
- module
- message
- 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
本发明公开了一种多进制LDPC的串行FHT-BP译码方法,在初始化的步骤中,将用于更新变量节点Vmn的消息lqmn初始化为0;将用于更新校验节点Cmn的消息lrm初始化为编码信息经FHT变换后的和值,所述编码信息由待译码码字确定;在对变量节点更新的步骤中,利用lqmn根据lqmn=IFHT[lrm-FHT[lq′n-lq′mn]]对变量节点Vmn进行更新;在对校验节点更新的步骤中,利用lrmn根据lrm=lr′m+FHT[lqn-lqmn]对校验节点Cmn进行更新。本发明可通过对译码迭代过程中的重复计算进程进行修改,从而减少了译码运算量。同时,本发明还公开了一种多进制LDPC的串行FHT-BP译码及装置。
Description
技术领域
本发明涉及数字信息传输技术领域,特别涉及一种多进制LDPC码的串行FHT-BP译码方法及装置。
背景技术
低密度奇偶校验(LDPC,Low Density Parity Check)码是目前数字信息传输领域中大量使用的信道编码。LDPC码作为一种普通的线性分组码,通常用生成矩阵G和校验矩阵HM×N来表示,M为校验矩阵行数,N为校验矩阵的列数,其特点是:奇偶校验矩阵HM×N中非零元素的个数远远小于零元素的个数。
LDPC码包括二进制LDPC码(B-LDPC,Binary-Low Density Parity Check)和多进制LDPC码(Q-LDPC,Q-ary Low Density Parity Check),相比较而言,多进制LDPC码比二进制LDPC码具有更好的性能。定义在高阶伽罗华域GF(Galois Field)的Q-LDPC码也可以用一个低密度校验矩阵HM,N来描述,只是矩阵HM,N的每个元素Hi,j取自GF(q)。一个长度为N的向量X如果满足下式,则认为向量X为码字:
Q-LDPC码可以视作M个子码组合,每个子码均为简单的奇偶校验码。根据校验矩阵的行重、列重也可分为规则Q-LDPC码和不规则Q-LDPC码。规则的Q-LDPC码的校验矩阵的每行每列的非零元素数目都是固定的,为dc和dv。
在信息传输过程中,接收端需要对LDPC码进行译码,Q-LDPC码与B-DPC码译码过程中最大的区别在于传递的消息不同。概率消息由原来的只对应于0和1两个元素扩展到对应GF(2p)上的2p个元素,这使水平更新过程中消息的计算复杂度大大增加。目前,Q-LDPC译码方法主要有概率BP译码、并行FHT-BP译码、串行FHT-BP译码等。其中串行FHT-BP译码方法适用于数据传输率较低,译码器复杂度受限的场合。
令N(m):={n:Hmn≠0}为参加校验节点m的所有变量节点的集合;M(n):={m:Hmn≠0}为变量节点n所参加的校验节点m的集合。N(m)\n表示集合N(m)中除去变量节点n,同理M(n)\m表示M(n)中除去校验m。令a∈GF(q),为由除去校验m的其他校验得到的x的第n位取a的概率,为x的第n位取a时校验m被满足的概率。
传统串行FHT-BP译码方法的主要步骤为:
步骤一:初始化,对于所有的m,n,Hmn≠0,令:
lqmn=ln;lrmn=0;n=1
步骤二:对于m∈M(n),更新lrmn
步骤三:对于m∈M(n),更新lqmn
步骤四:n=n+1,判断是否n>N,若是转到步骤五;否则返回步骤二。步骤五:对所有n=1,2,…N,计算lqn
上述传统多进制LDPC码串行FHT-BP译码方法中,其译码实现时存在着占用较多的存储空间,译码运算量较大的问题,缺少对存储空间的优化和降低译码复杂度的方法。
发明内容
本发明的目的在于克服现有技术的不足,提出一种可通过对译码迭代过程中的重复计算进程进行修改,从而减少了译码运算量的多进制LDPC的串行FHT-BP译码实现方法及装置。
本发明的技术解决方案是:
一种多进制LDPC的串行FHT-BP译码方法,包括:
步骤1:变量节点和校验节点的初始化;
步骤2:变量节点更新;
步骤3:校验节点更新;
步骤4:对变量节点和校验节点进行译码判决,若判决通过则将译码结果输出,否则返回步骤2;
在步骤1中,通过以下方法进行初始化
将用于更新变量节点Vmn的消息lqmn初始化为0;
将用于更新校验节点Cmn的消息lrm初始化为编码信息经FHT变换后的和值,所述编码信息由待译码码字确定;
在步骤2中,根据下式利用lqmn对变量节点Vmn进行更新,
lqmn=IFHT[lrm-FHT[lq′n-lq′mn]]
其中,lq′mn为用于对变量节点Vmn进行前次更新时的消息;
在步骤3中,根据下式利用lrmn对校验节点Cmn进行更新,
lrm=lr′m+FHT[lqn-lqmn]
其中,lr′m为对校验节点Cmn前次更新时的消息;lqn=lq′n-lq′mn+lqmn
进一步的,采用一维存储空间用于进行校验节点更新的消息lrm。
一种多进制LDPC的串行FHT-BP译码装置,包括:初始化模块、变量节点更新模块、校验节点更新模块和判决输出模块,其中,所述判决输出模块对变量节点更新模块和校验节点更新模块的译码结果判决,并根据判决结果输出译码结果,
所述变量节点更新模块包括变量节点运算模块和第一存储模块;所述校验节点更新模块包括:校验节点运算模块和第二存储模块
在译码开始前,所述初始化模块利用0对第一存储模块进行初始化;利用编码信息的经FHT变换后的和值对第二存储模块进行初始化;
在译码过程中,所述变量节点模块利用变量节点运算模块根据下式对变量节点进行更新:
lqmn=IFHT[lrm-FHT[lq′n-lq′mn]]
并将获得的lqmn输出给所述校验节点模块;其中,lq′mn为用于对变量节点Vmn进行前次更新时的消息;
所述校验节点模块利用校验节点运算模块根据下式对校验节点进行更新:
lrm=lr′m+FHT[lqn-lqmn]
其中,lr′m为对校验节点Cmn前次更新时的消息;lqn=lq′n-lq′mn+lqmn
进一步的,所述校验节点更新模块中的第二存储模块的存储空间为一维存储空间。
本发明与现有技术相比具有如下优点:
(1)本发明在译码过程中,将编码信息ln直接存储于lqn中,不需要另外的存储编码信息ln的存储空间。
(2)在迭代译码过程中,预先利用M个存储单元存储所对应行的外信息FHT结果之和,在每次更新时,利用此信息减去所更新变量节点对应的软信息FHT结果,获得该变量节点所需的外信息,避免了每次更新时的重复运算,使运算量降低了50%。
(3)使用一维存储空间lrm代替传统方法中的lrmn,降低了译码器的存储器空间。在中长码长时(N>4000),本发明所需的总的存储空间为传统方法的70%以下。
(4)在降低了运算量和存储空间的条件下,本发明的方法保持与传统方法一致的译码性能。
附图说明
图1为本发明方法流程图;
图2为本发明装置示意图
图3为存储空间的变化曲线;
具体实施方式
以下结合附图对本发明做进一步详细说明。
Q-LDPC码译码过程中所传递的消息与B-LDPC码不同,B-LDPC每个消息的表示只需要一个对数似然比值。在Q-LDPC码译码中,消息的表现形式为对数域的消息向量,长度为2p,p为有限域的维数。传统的串行译码过程还需要存储许多中间消息变量如用于更新校验节点Cmn的消息lrmn和用于更新变量节点Vmn的消息lqmn它们各需的存储空间大小为N·dv·2p,N为码字长度、dv为校验矩阵的平均列重。因此译码过程中所需要的中间消息存储空间随p的增加而呈指数增长,会占用大量的存储空间。另外,根据背景技术中式(1),式(2)可以看出,在对lrmn进行更新时,对于不同的变量节点n∈N(m),N(m)为校验矩阵中第m行中非零元素的位置,一部分的中间消息变量的FHT(快速哈达玛变换,Fast Hadamard Transform)结果累加操作出现了重复计算,使运算量增大。为了降低译码过程中对存储空间的需求,减少消息更新过程中不必要的重复运算,对消息更新的过程进行了改进。
如图1所示,Q-LDPC译码的过程包括初始化、迭代译码和迭代译码过程中的判决。
(1)在初始化阶段,在对中间消息变量进行初始化的过程中,利用0对lqmn进行初始化;利用编码信息ln经FHT变换后的和值对lrm进行初始化,对lrm进行初始化的方法可进一步通过下式表示为:
所述编码信息ln由待译码码字确定,如下式所示,通过对接收到的待译码码字所对应的星座符号计算后验概率获得。
(2)在迭代译码阶段,对于变量节点,采用下式利用lqmn对变量节点Vmn进行更新,
lqmn=IFHT[lrm-FHT[lq′n-lq′mn]]
其中,lq′mn为用于对变量节点Vmn进行前次更新时的消息,lq′n为用于对变量节点Vmn进行前次更新时的后验消息;。
对于校验节点,采用下式利用lrmn对校验节点Cmn进行更新,
lrm=lr′m+FHT[lqn-lqmn]
其中,lr′m为对校验节点Cmn前次更新时的消息;lqn=lq′n-lq′mn+lqmn。
对于每一个m∈M(n)和n=1,2,...,N,分别按上述过程对变量节点和校验节点进行更新,其中M(n)为校验矩阵中第n列中非零元素所对应的行位置
(3)对迭代译码的进行判决时,对于每一个如果是其中q-1个元素中的最大值,则判决编码码字中第n个符号的值为k,得到编码码字的判决值计算伴随式如果则迭代结束,译码器将作为最终码字输出。否则,返回步骤二继续译码或到达最大迭代次数时停止。
根据图1所示的方法的操作流程,本发明所述装置组成可进一步如图2所示,包括:初始化模块、变量节点更新模块、校验节点更新模块和判决模块。其中,变量节点更新模块包括变量节点运算模块和第一存储模块;校验节点更新模块包括校验节点运算模块和第二存储模块。
在迭代译码开始前,初始化模块对第一存储模块和第二存储模块中的各存储单元进行初始化。第一存储模块中存储单元的个数由校验矩阵中非零元素的个数和有限域的维数决定,每个存储单元中存储一个长为2p的消息向量。第二存储模块可以采用二维或一维的方式进行存储,采用二维存储时,其存储单元个数与第一存储模块数量相同;采用一维存储时,其存储单元个数与校验矩阵的行数相同,每个存储单元中存储一个长为2p的消息向量。
在迭代译码过程中,在对变量节点更新时,变量节点运算模块根据方法步骤(2)中变量节点更新的方法进行运算,并将运算过程中产生的信息存储到第一存储模块中,对第一存储模块中各存储单元的内容进行更新。在对校验节点更新时,校验节点运算模块根据步骤(2)中校验节点更新的方法进行运算,并将运算过程中产生的信息存储到第二存储模块中。
判决模块根据译码过程中的变量消息向量对符号的有限域取值进行判决,判决过程如方法流程中步骤(3)进行的操作。
下面进一步对本发明所述方法或装置与现有的传统方法进行比较。
在存储空间需求方面,若B为需要存储的消息的大小,传统方法与本发明实现时所需的存储空间相比较。对于传统方法,需要开辟的存储空间为ln和lqn,大小同为N·2p;以及lrmn和lqmn,大小同为N·dv·2p,因此,采用传统方法所需的存储空间大小为2·N·dv·2p·B+2·N·2p·B。采用本发明需要开辟的存储空间为lqn、lrm和lqmn,大小分别为N·2p、M·2p和N·dv·2p,因此,采用本发明所需的存储空间大小为N·dv·2p·B+(N+M)·2p·B。可见,本发明仅用一个大小为M·2p一维存储空间lrm替换传统方法中大小为N·dv·2p的二维存储空间lrmn,降低了译码程中的存储空间需求。
在码长的变化方面,如图3所示,传统方法和本发明存储空间的变化曲线,图3中假定的Q-LDPC码字参数为dv=3,p=6,B=0.007Kbit,R=0.5。可见随着码长N的增加,所提出方法相比传统方法节省的存储空间也在增大。
在译码运算量方面。分别比较了在每次迭代过程中,两种方法所需的FHT变换运算次数和加法运算次数如下表所示。
表1
由于FHT变换过程可以等效为多次的加法运算,从而可以统一到加法的运算次数上面,假定Q-LDPC码字参数为dv=3,dc=6,p=6,B=0.007Kbit,R=0.5,N=1008情况下,所提出方法的计算量约为传统方法的50%。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种多进制LDPC的串行FHT-BP译码方法,包括:
步骤1:变量节点和校验节点的初始化;
步骤2:变量节点更新;
步骤3:校验节点更新;
步骤4:对变量节点和校验节点进行译码判决,若判决通过则将译码结果输出,否则返回步骤2;
其特征在于:
在步骤1中,通过以下方法进行初始化
将用于更新变量节点Vmn的消息lqmn初始化为0;
将用于更新校验节点Cmn的消息lrm初始化为编码信息经FHT变换后的和值,所述编码信息由待译码码字确定;
在步骤2中,根据下式利用lqmn对变量节点Vmn进行更新,
lqmn=IFHT[lrm-FHT[lq′n-lq′mn]]
其中,lq′mn为用于对变量节点Vmn进行前次更新时的消息;
在步骤3中,根据下式利用lrmn对校验节点Cmn进行更新,
lrm=lr′m+FHT[lqn-lqmn]
其中,lr′m为对校验节点Cmn前次更新时的消息;lqn=lq′n-lq′mn+lqmn
2.根据权利要求1所述的一种多进制LDPC的串行FHT-BP译码方法,其特征在于:采用一维存储空间用于进行校验节点更新的消息lrm。
3.一种多进制LDPC的串行FHT-BP译码装置,包括:初始化模块、变量节点更新模块、校验节点更新模块和判决输出模块,其中,所述判决输出模块对变量节点更新模块和校验节点更新模块的译码结果判决,并根据判决结果输出译码结果,
其特征在于:所述变量节点更新模块包括变量节点运算模块和第一存储模块;所述校验节点更新模块包括:校验节点运算模块和第二存储模块
在译码开始前,所述初始化模块利用0对第一存储模块进行初始化;利用编码信息的经FHT变换后的和值对第二存储模块进行初始化;
在译码过程中,所述变量节点模块利用变量节点运算模块根据下式对变量节点进行更新:
lqmn=IFHT[lrm-FHT[lq′n-lq′mn]]
并将获得的lqmn输出给所述校验节点模块;其中,lq′mn为用于对变量节点Vmn进行前次更新时的消息;
所述校验节点模块利用校验节点运算模块根据下式对校验节点进行更新:
lrm=lr′m+FHT[lqn-lqmn]
其中,lr′m为对校验节点Cmn前次更新时的消息;lqn=lq′n-lq′mn+lqmn
4.如权利要求3所述的一种多进制LDPC的串行FHT-BP译码装置,其特征在于:所述校验节点更新模块中的第二存储模块的存储空间为一维存储空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210253867.9A CN102801432B (zh) | 2012-07-20 | 2012-07-20 | 一种多进制ldpc的串行fht-bp译码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210253867.9A CN102801432B (zh) | 2012-07-20 | 2012-07-20 | 一种多进制ldpc的串行fht-bp译码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102801432A true CN102801432A (zh) | 2012-11-28 |
CN102801432B CN102801432B (zh) | 2016-05-04 |
Family
ID=47200417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210253867.9A Active CN102801432B (zh) | 2012-07-20 | 2012-07-20 | 一种多进制ldpc的串行fht-bp译码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102801432B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095311A (zh) * | 2013-01-17 | 2013-05-08 | 上海交通大学 | 多进制ldpc码的协作译码方法 |
CN105049060A (zh) * | 2015-08-14 | 2015-11-11 | 航天恒星科技有限公司 | 一种低密度奇偶码ldpc的译码方法及装置 |
WO2016112857A1 (zh) * | 2015-01-14 | 2016-07-21 | 北京航空航天大学 | Ldpc码编码器和译码器 |
CN114421972A (zh) * | 2022-01-27 | 2022-04-29 | 石家庄市经纬度科技有限公司 | 一种多进制ldpc码译码方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420279A (zh) * | 2008-12-17 | 2009-04-29 | 航天恒星科技有限公司 | 移动多媒体广播中高速ldpc译码器及译码方法 |
CN102594366A (zh) * | 2012-02-29 | 2012-07-18 | 中山大学 | 一种自适应可并行动态异步bp译码方法 |
-
2012
- 2012-07-20 CN CN201210253867.9A patent/CN102801432B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420279A (zh) * | 2008-12-17 | 2009-04-29 | 航天恒星科技有限公司 | 移动多媒体广播中高速ldpc译码器及译码方法 |
CN102594366A (zh) * | 2012-02-29 | 2012-07-18 | 中山大学 | 一种自适应可并行动态异步bp译码方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095311A (zh) * | 2013-01-17 | 2013-05-08 | 上海交通大学 | 多进制ldpc码的协作译码方法 |
CN103095311B (zh) * | 2013-01-17 | 2016-02-10 | 上海交通大学 | 多进制ldpc码的协作译码方法 |
WO2016112857A1 (zh) * | 2015-01-14 | 2016-07-21 | 北京航空航天大学 | Ldpc码编码器和译码器 |
CN105846830A (zh) * | 2015-01-14 | 2016-08-10 | 北京航空航天大学 | 数据处理装置 |
CN107852176A (zh) * | 2015-01-14 | 2018-03-27 | 北京航空航天大学 | Ldpc码编码器和译码器 |
CN105846830B (zh) * | 2015-01-14 | 2019-07-30 | 北京航空航天大学 | 数据处理装置 |
US10536169B2 (en) | 2015-01-14 | 2020-01-14 | Tsinghua University | Encoder and decoder for LDPC code |
CN105049060A (zh) * | 2015-08-14 | 2015-11-11 | 航天恒星科技有限公司 | 一种低密度奇偶码ldpc的译码方法及装置 |
CN105049060B (zh) * | 2015-08-14 | 2019-07-30 | 航天恒星科技有限公司 | 一种低密度奇偶码ldpc的译码方法及装置 |
CN114421972A (zh) * | 2022-01-27 | 2022-04-29 | 石家庄市经纬度科技有限公司 | 一种多进制ldpc码译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102801432B (zh) | 2016-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103888148B (zh) | 一种动态阈值比特翻转的ldpc码硬判决译码方法 | |
CN101156321B (zh) | Ldpc编码码字、特别是dvb-s2 ldpc编码码字的解码控制方法和设备 | |
US10320419B2 (en) | Encoding method, decoding method, encoding device and decoding device for structured LDPC | |
CN111628785B (zh) | 使用硬选取硬译码模式下的译码器产生软信息的方法 | |
CN101079638B (zh) | 用于降低复杂度的低密度奇偶校验解码的系统和方法 | |
CN1953336B (zh) | 在低密度奇偶校验解码器中更新校验节点的方法 | |
CN100592639C (zh) | 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法 | |
CN102611459A (zh) | 解码装置以及解码方法 | |
CN104995844A (zh) | 具有对于ldpc码可靠性输入的比特翻转解码 | |
KR101895164B1 (ko) | 코드 디코딩 에러 정정 방법 및 장치 | |
CN102412843A (zh) | 自适应的归一化最小和ldpc译码方法及译码器 | |
CN103259545A (zh) | 基于振荡的准循环低密度奇偶校验码置信传播译码方法 | |
CN105471547A (zh) | 通信设备及通过其执行的方法 | |
CN102067458A (zh) | 用于低密度奇偶校验解码器的节点信息存储方法和系统 | |
CN109120374B (zh) | 准循环低密度奇偶校验编码设计方法及装置 | |
CN102801432A (zh) | 一种多进制ldpc的串行fht-bp译码方法及装置 | |
CN103199874A (zh) | 一种低密度奇偶校验码译码方法 | |
CN102412844B (zh) | 一种ira类ldpc码的译码方法及译码装置 | |
KR20080000479A (ko) | 통신 시스템에서 신호 수신 장치 및 방법 | |
KR101657912B1 (ko) | 비이진 저밀도 패리티 검사 코드의 복호화 방법 | |
US20160049962A1 (en) | Method and apparatus of ldpc encoder in 10gbase-t system | |
US20100058149A1 (en) | Decoder of error correction codes | |
CN108206722B (zh) | 高码率数据发送方法和装置 | |
CN107615666A (zh) | Ldpc截短码的译码方法和译码设备 | |
CN101273531B (zh) | 低密度奇偶校验码的改进turbo-译码消息传递方法、设备和系统 |
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 |