CN102412846B - 一种适用于低密度奇偶校验码的多值修正最小和解码方法 - Google Patents
一种适用于低密度奇偶校验码的多值修正最小和解码方法 Download PDFInfo
- Publication number
- CN102412846B CN102412846B CN 201110387887 CN201110387887A CN102412846B CN 102412846 B CN102412846 B CN 102412846B CN 201110387887 CN201110387887 CN 201110387887 CN 201110387887 A CN201110387887 A CN 201110387887A CN 102412846 B CN102412846 B CN 102412846B
- Authority
- CN
- China
- Prior art keywords
- node
- variable node
- output
- check
- variable
- 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.)
- Active
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
一种适用于低密度奇偶校验码的多值修正最小和解码方法,对每一个校验节点将关联的变量节点输入数据符号相乘得到总的输出符号,同时比较相邻变量节点输入数据的绝对值大小,得到最小值、次最小值以及第三最小值,另外记录最小值对应的变量节点序号;对于最小值所对应的变量节点,将次最小值和第三最小值作对数似然比(LLR)域的加法运算,得到的结果乘以所述总的输出符号和该变量节点输入数据符号,作为向最小值对应的变量节点的输出信息;对于其他变量节点,则将最小值和第三最小值做LLR域的加法运算,得到的结果乘以所述总的输出符号和该变量节点输入数据符号,作为向该变量节点的输出信息。本发明的译码方法性能好、复杂度低、实现简单。
Description
技术领域
本发明涉及一种低密度奇偶校验(LDPC)码的迭代译码方法,属于信道纠错编码的译码技术领域。
背景技术
各种通信系统中,传输比特受信道随机噪声的影响而产生随机错误。理论和实践证明,通过引入冗余度来提供传输可靠性的纠错编码方法是一类行之有效的手段。而近年来引入的Turbo码和低密度奇偶校验(Low-DensityParity-Check,简称LDPC)码是至今发现的纠错能力最强的编码方案之一。
相比于Turbo码而言,LDPC码的设计更为灵活(不同码率/码长),LDPC码解码算法的全并行结构使得设计高吞吐率的LDPC解码器更容易。因此,未来通信系统中有关信道编码的标准化大都选用LDPC码。
LDPC码的标准迭代解码算法主要包括三种:和积算法(Sum-ProductAlgorithm,SPA)、最小和算法(Min-Sum Algorithm,MSA)、比特翻转解码算法(Bit-Flipping,BF)。在这三种算法中,SPA算法性能最好,但实现也最复杂;BF算法性能最差,但实现最简单。MSA算法对SPA算法的校验节点计算单元做简化处理,是降低SPA算法运算复杂度的一个有效途径,由于MSA算法在复杂度和性能上取得了较好的折中,因此它是实际通信系统中LDPC解码器的优选算法。
MSA算法和SPA算法有相似的迭代结构,也是变量节点和校验节点两层节点之间的一个交替迭代计算过程。但是MSA算法中的校验节点计算单元采用近似方法计算校验节点输出信息,有效地降低了校验节点的计算复杂度,原先SPA算法中的指数和对数运算被简单的比较运算所取代。在节点重量相同的条件下,MSA算法中校验节点和变量节点的计算复杂度近似相等。虽然MSA算法的复杂度明显低于SPA译码算法,但简化处理也使得其译码性能相比SPA算法有较大的差距,SPA算法的校验节点输出信息可靠度大小应当略小于MSA算法的输出幅值。所以如果要很好的逼近标准输出结果,必须适当降低MSA近似输出信息的绝对值大小。J.Chen等人提出了一类无条件修正方案,主要分为两类:通过一个乘性因子修正MSA算法校验式输出,对应的改进MSA算法称为乘性修正的MSA(NMSA,Normalized Min Sum);通过一个偏移因子修正MS算法校验式输出,对应的改进算法称为偏移修正的MSA(OMSA,Offset Min Sum)。
这两种改进MSA算法都是在原始算法的基础上,引入了修正因子,它们与原始MSA算法的共同点是都只用了变量节点输入信息的最小值和次最小值,因此都没有利用较多的变量节点输入信息,导致了这些算法与SPA算法的性能仍存在一定差距。
发明内容
本发明的目的是提供一种性能好、复杂度低、实现简单的低密度奇偶校验码的译码方法。
本发明包括如下技术方案:
一种适用于低密度奇偶校验码的多值修正最小和译码方法,低密度奇偶校验码的校验矩阵为HM×N=[hm,n],低密度奇偶校验码包括变量节点集合{vn,n∈[1,N]}和校验节点集合{cm,m∈[1,M]},变量节点vn参与的校验节点集合为A(n)={j,hj,n=1},包含于校验节点cm的变量节点集合为B(m)={i,hm,i=1};所述译码方法包括按照如下顺序执行的步骤:
(2)根据第k-1次迭代的各变量节点vi向校验节点cm输出的信号
首先根据信号的符号做乘法求得总的输出符号同时按照信号的绝对值大小比较出绝对值最小的三个数值,i1,i2,i3∈B(m),并记录最小值对应的输入变量节点序号i1;然后针对序号i1的变量节点,利用和更新向变量节点i1的输出,计算方法如下:
向其他变量节点i≠i1,i∈B(m)的输出更新计算方法如下:
(3)计算第k次迭代各变量节点总的输出信息及第k次迭代各变量节点向与之相连的每一个校验节点输出的信息对于每个变量节点vn,n∈[1,N],所有与之相连的校验节点cj,j∈A(n)向该变量节点vn输出的信息为则该变量节点vn总的输出信息
(4)根据的符号硬判得到一个输出序列Wk;如果该输出序列满足如下条件:θ为全零行向量;则将该序列Wk作为译码输出,宣布译码成功,终止译码;否则迭代次数k加1,如果迭代次数k大于预设的最大迭代次数K,则译码失败,终止译码,否则继续迭代译码跳转至步骤(2)进行下一次迭代。
本发明与现有技术相比,具有如下优点:
(1)相比于现有的最小和解码方法,本发明在校验节点计算的时候,从变量节点输入信息中再找一个第三最小值,并利用这三个值更新输出信息,该方法利用了较多的变量节点的输入信息,使得修正最小和译码获得更好的性能。
(2)本发明在不增加复杂度的前提下,对原最小和算法的校验节点计算进行改进,使得其性能有很大提高,与标准的和积算法相当,实现复杂度却远低于和积算法。另外,算法计算步骤简单,利于硬件实现。
附图说明
图1是一个LDPC码的校验矩阵和其对应的二分图的示意图。图1(a)是LDPC码的校验矩阵结构图,图1(b)是LDPC码校验矩阵的一个示例图,图1(c)是LDPC码校验矩阵对应的二分图的结构图,即校验节点和变量节点的连接示意图。
图3是变量节点vn如何更新对数似然比域(LLR)输出以及输出信息的原理图。图3(a)给出了变量节点接收来自相邻校验节点的输入信息、计算LLR输出信息以及传输给相邻校验节点信息的示意图;图3(b)给出了变量节点将更新后的信息输出给相邻校验节点的示意图。
图4为本发明实施例的译码方法流程图。
图5为本发明实施例的校验节点处理子模块内部结构框图。
图6是本发明的译码方法与现有的译码方法的误帧率性能比较图。
所有的符号注解:
yn:接收到的信号大小;
σ2:AWGN信道的噪声方差;
vn:第n个变量节点;
cm:第m个校验节点;
A(n):变量节点vn参与的校验节点集合;
B(m):校验节点cm包含的变量节点集合;
Sk:根据Wk计算出的校正子;
LDPC:低密度奇偶校验;
SPA:和积算法;
MSA:最小和算法;
NMSA:归一化的MSA算法;
OMSA:偏移修正的MSA算法;
MMSA:修正MSA算法。
具体实施方式
本发明适用于低密度奇偶校验码的多值修正最小和译码方法,其方法是:用信道初始化信息对变量节点的初始信息以及变量节点向相邻校验节点输出的初始信息赋值,开始迭代;对每一个校验节点将关联的变量节点输入数据符号相乘得到总的输出符号,同时比较相邻变量节点输入数据的绝对值大小,得到最小值、次最小值以及第三最小值,另外记录最小值对应的变量节点序号;对于最小值所对应的变量节点,将次最小值和第三最小值作对数似然比(LLR)域的加法运算,得到的结果乘以所述总的输出符号和该变量节点输入数据符号,作为向最小值对应的变量节点的输出信息;对于其他变量节点,则将最小值和第三最小值做LLR域的加法运算,得到的结果乘以所述总的输出符号和该变量节点输入数据符号,作为向该变量节点的输出信息;对每一个变量节点,累加所有相邻校验节点的输入信息得到LLR域的后验输出,并从LLR域后验输出中减去该校验节点的输入信息,得到向该校验节点的输出信息;根据各个变量节点的LLR域后验输出,取符号硬判得到新的试探序列,如果校验矩阵和试探序列模2乘得到全零序列,宣布译码成功,终止译码;若不为全零序列且迭代次数到达预设的最大迭代次数,宣布译码失败,终止译码;否则继续下一轮迭代。
为使本发明的内容和技术手段更加清楚和完整,以下结合附图对本发明做进一步详细阐明。
定义LDPC码的校验矩阵为HM×N=[hm,n],图1(a)是其具体形式,图1(b)是它的一个例子。图1(c)是LDPC码校验矩阵对应的二分图的结构图,即校验节点和变量节点的连接示意图。LDPC码的校验矩阵和它的二分图之间是唯一确定的关系。二分图包含了N个变量节点{v1,v2,…vN},用集合{vn,n∈[1,N]}表示,每个变量节点代表编码后的比特位或者对应校验矩阵的一列;二分图还包含了M个校验节点,用集合{cm,m∈[1,M]}表示,每个校验节点代表一个校验约束或者对应校验矩阵的一行。当码字中某一比特vn包含在某一校验约束cm中,即校验矩阵中相应位hm,n=1时,则在二分图中对应的变量节点vn和校验节点cm之间连一条边。与一个节点相连的另一节点称为该节点的相邻节点。与一个节点相连的边的数目称为该节点的度数。定义变量节点vn参与的校验节点集合为A(n)={j,hj,n=1},包含于校验节点cm的变量节点集合为B(m)={i,hm,i=1}。
如图4所示,本实施方式的译码方法包括如下具体步骤:
编码序列{x1,x2,...,xN}做BPSK调制zn=1-2xn,n∈[1,N],经过零均值方差σ2的高斯白噪声信道后得到接收序列Y={y1,y2,...,yN},进行译码迭代的初始化:确定初始的各变量节点vn,n∈[1,N]向各校验节点cm,m∈[1,M]输出的边信息并设置迭代次数k=1。其中,N为变量节点总的个数,M为校验节点总的个数。
步骤S402:如图2所示,根据第k-1次迭代的各变量节点vi向校验节点cm输出的信息(k=0时为初始信息),计算出第k次迭代每一个校验节点cm向各变量节点vi输出的信息校验节点cm处理子模块根据输入信号的符号做乘法求得总的输出符号同时按照信号的绝对值大小比较出绝对值最小的三个数值,i1,i2,i3∈B(m),并记录最小值对应的输入变量节点序号i1;并针对序号i1的变量节点,利用和更新向变量节点i1的输出,
另外向其他变量节点i≠i1,i∈B(m)的输出更新计算如下
步骤S403:如图3(a)所示计算第k次迭代各变量节点总的输出信息
步骤S405:根据第k次迭代的各变量节点总的输出信息作判决,得到第k次迭代的译码输出序列。
具体判决条件如下:
其中,n∈[1,N]。
步骤S406:根据第k次迭代的输出序列是否满足校验方程来进行迭代终止判断。
步骤S407:迭代次数k增加1,并判断迭代次数k是否等于最大迭代次数K,若迭代次数大于预设的最大迭代次数K,宣布译码失败,终止迭代;否则跳转至步骤S402进行下一次迭代。
对于每个校验节点,比如校验节点cm,关联的变量节点序号假定为{1,2,...,dc}校验节点cm处理子模块的内部结构如图5所示,包括:符号与幅值分离单元组501、多值比较单元502、最小值修正单元504、非最小值修正单元505、查表单元506、总乘积单元503、子乘积单元组507、校验输出更新单元组508。
符号与幅值分离单元组501中包括dc个符号与幅值分离单元分别对应dc个变量节点。符号与幅值分离单元组501根据各变量节点向该校验节点cm输出的信息后,根据获得该值的绝对值输出到多值比较单元502,并将值的符号信息,即值输出到总乘积单元503。
多值比较单元502获得各变量节点向该校验节点cm输出信息的绝对值后,计算出其中幅度最小的三个数据并将输出到最小值修正单元504、将输出到非最小值修正单元505,并将最小值对应的变量节点序号i1输出到查表单元506。
最小值修正单元504和非最小值修正单元505分别对多值比较单元502的输入数据按对应的计算公式做修正处理,公式如下,
查表单元506具有dc个输出,根据最小值对应的变量节点序号,将对应序号的输出置为有效电平。
子乘积单元组507包括dc个子乘积单元。每个子乘积单元都是一个双输入的与门。dc个子乘积单元分别接收dc个符号与幅值分离单元输出的变量节点向该校验节点cm输出的边信息的符号信息,同时还接收总乘积单元503输出的连乘结果Ek(cm),并作乘积运算后输出到校验输出更新单元组508中的dc个校验输出更新单元。
dc个校验输出更新单元还接收最小值修正单元504和非最小值修正单元505输出的修正后的数据,以及分别接收查表单元的输出最小值节点索引信号i1。校验输出更新单元根据其接收的查表单元的输出是否有效来决定其输出值的绝对值:当其接收的查表单元的输出为有效信号,其输出值的绝对值为最小值修正单元504的输出;当其接收的查表单元的输出为无效信号,其输出值的绝对值为非最小值修正单元505的输出。校验输出更新单元根据其接收的子乘积单元的输出来决定其输出值的符号:如果子乘积单元的输出为“1”,校验输出更新单元输出值的符号为正;如果子乘积单元的输出为“-1”,校验输出更新单元输出值的符号为负。校验输出更新单元将输出值的绝对值以及输出值的符号组合成最后输出的数据,即该校验节点cm向变量节点输出的信息
图6是二相移位键控(BPSK)调制的加性高斯白噪声(AWGN)信道下,总长4536,信息长度1008,码率0.25的基于原图构造的LDPC码,在SPA算法,NMSA算法以及修正最小和(MMSA)算法的误帧率性能比较,最大迭代次数K=50。可以看出,本发明提出的多值修正最小和(MMSA)算法相对于NMSA算法在性能上有显著的提高,且与SPA算法性能逼近。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
本发明说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (1)
1.一种适用于低密度奇偶校验码的多值修正最小和译码方法,低密度奇偶校验码的校验矩阵为HM×N=[hm,n],低密度奇偶校验码包括变量节点集合{vn,n∈[1,N]}和校验节点集合{cm,m∈[1,M]},变量节点vn参与的校验节点集合为A(n)={j,hj,n=1},包含于校验节点cm的变量节点集合为B(m)={i,hm,i=1};
其特征在于:所述译码方法包括按照如下顺序执行的步骤:
首先根据信号 的符号 做乘法求得总的输出符号 同时按照信号的绝对值大小比较出绝对值最小的三个数值, i1,i2,i3∈B(m),并记录最小值对应的输入变量节点序号i1;并针对序号i1的变量节点,利用 和 更新向变量节点i1的输出,计算方法如下:
向其他变量节点i≠i1,i∈B(m)的输出更新计算方法如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110387887 CN102412846B (zh) | 2011-11-29 | 2011-11-29 | 一种适用于低密度奇偶校验码的多值修正最小和解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110387887 CN102412846B (zh) | 2011-11-29 | 2011-11-29 | 一种适用于低密度奇偶校验码的多值修正最小和解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102412846A CN102412846A (zh) | 2012-04-11 |
CN102412846B true CN102412846B (zh) | 2013-05-01 |
Family
ID=45914734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110387887 Active CN102412846B (zh) | 2011-11-29 | 2011-11-29 | 一种适用于低密度奇偶校验码的多值修正最小和解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102412846B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9191256B2 (en) * | 2012-12-03 | 2015-11-17 | Digital PowerRadio, LLC | Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems |
KR102189440B1 (ko) * | 2014-08-25 | 2020-12-14 | 삼성전자주식회사 | 에러 정정 디코더를 포함하는 스토리지 장치 및 에러 정정 디코더의 동작 방법 |
CN105227191B (zh) * | 2015-10-08 | 2018-08-31 | 西安电子科技大学 | 基于修正最小和算法的准循环ldpc码译码方法 |
CN106330203B (zh) * | 2016-08-26 | 2019-12-31 | 晶晨半导体(上海)股份有限公司 | 一种ldpc的解码方法 |
CN107547090B (zh) * | 2017-08-03 | 2020-02-18 | 东南大学 | 一种基于动态选择的ldpc码译码方法 |
US10680647B2 (en) * | 2017-09-25 | 2020-06-09 | SK Hynix Inc. | Min-sum decoding for LDPC codes |
TWI682636B (zh) * | 2018-06-13 | 2020-01-11 | 財團法人資訊工業策進會 | 通訊系統之低密度奇偶檢查碼的解碼方法及應用其之通訊裝置 |
CN114520661B (zh) * | 2022-02-16 | 2024-05-31 | 上海思朗科技有限公司 | Ldpc修正最小和译码方法和ldpc译码器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770641A (zh) * | 2005-11-21 | 2006-05-10 | 东南大学 | 一种基于分段偏移修正的最小和译码方法 |
CN101132252A (zh) * | 2007-09-26 | 2008-02-27 | 东南大学 | 低密度奇偶校验码的量化最小和译码方法 |
-
2011
- 2011-11-29 CN CN 201110387887 patent/CN102412846B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770641A (zh) * | 2005-11-21 | 2006-05-10 | 东南大学 | 一种基于分段偏移修正的最小和译码方法 |
CN101132252A (zh) * | 2007-09-26 | 2008-02-27 | 东南大学 | 低密度奇偶校验码的量化最小和译码方法 |
Non-Patent Citations (4)
Title |
---|
"一种低复杂度的LDPC码迭代译码算法";朱嘉 等;《电讯技术》;20060531(第5期);第94-97页 * |
"基于原型图的低码率LDPC码最小和译码算法改进方案";姜明 等;《电子与信息学报》;20101130;第32卷(第11期);第2781-2784页 * |
姜明 等."基于原型图的低码率LDPC码最小和译码算法改进方案".《电子与信息学报》.2010,第32卷(第11期),第2781-2784页. |
朱嘉 等."一种低复杂度的LDPC码迭代译码算法".《电讯技术》.2006,(第5期),第94-97页. |
Also Published As
Publication number | Publication date |
---|---|
CN102412846A (zh) | 2012-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102412846B (zh) | 一种适用于低密度奇偶校验码的多值修正最小和解码方法 | |
Trifonov et al. | Generalized concatenated codes based on polar codes | |
CN109257148B (zh) | 一种基于高斯近似阈值判断的极化码bp译码方法 | |
Xu et al. | XJ-BP: Express journey belief propagation decoding for polar codes | |
KR100804793B1 (ko) | 저밀도 패러티 검사 복호기에서의 검사 노드 갱신 방법 | |
EP3032748B1 (en) | Coding and decoding with staggered parity | |
CN101345601B (zh) | 一种译码方法和译码器 | |
US11057049B2 (en) | Generalized low-density parity check codes in digital communication system | |
US20200177211A1 (en) | Pre-coding and decoding polar codes using local feedback | |
CN101091321A (zh) | 用于低密度奇偶校验码的多门限解码的固定门限和信道估计 | |
EP3602794B1 (en) | Check bit concatenated polar codes | |
CN107919874A (zh) | 用于非二进制ldpc码解码的校验子计算的基本校验节点处理 | |
CN111294058A (zh) | 一种信道编码和纠错译码方法、设备以及存储介质 | |
CN103199874A (zh) | 一种低密度奇偶校验码译码方法 | |
CN102111241A (zh) | 低密度奇偶校验迭代译码提前终止的方法 | |
CN102122962A (zh) | 基于预测-修正原对偶内点法的ldpc码的lp译码器 | |
US8930790B1 (en) | Method and apparatus for identifying selected values from among a set of values | |
CN105680881A (zh) | Ldpc译码方法及译码器 | |
CN104184480B (zh) | 一种降低复杂度的ldpc改进译码方法 | |
CN112491422A (zh) | 基于高斯优化的比特翻转串行消除列表译码方法和系统 | |
US9026881B2 (en) | Soft input, soft output mappers and demappers for block codes | |
US20160049962A1 (en) | Method and apparatus of ldpc encoder in 10gbase-t system | |
CN106169935A (zh) | 以可靠度为导向的低密度奇偶校验码信度传播译码方法 | |
US20210194509A1 (en) | Information decoder for polar codes | |
US20220337269A1 (en) | Block code encoding and decoding methods, and apparatus therefor |
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 |