CN100425000C - 双涡轮结构低密度奇偶校验码解码器及解码方法 - Google Patents

双涡轮结构低密度奇偶校验码解码器及解码方法 Download PDF

Info

Publication number
CN100425000C
CN100425000C CNB2006100965359A CN200610096535A CN100425000C CN 100425000 C CN100425000 C CN 100425000C CN B2006100965359 A CNB2006100965359 A CN B2006100965359A CN 200610096535 A CN200610096535 A CN 200610096535A CN 100425000 C CN100425000 C CN 100425000C
Authority
CN
China
Prior art keywords
node
check
variable node
information
code
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
Application number
CNB2006100965359A
Other languages
English (en)
Other versions
CN1937413A (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.)
Southeast University
Original Assignee
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 Southeast University filed Critical Southeast University
Priority to CNB2006100965359A priority Critical patent/CN100425000C/zh
Publication of CN1937413A publication Critical patent/CN1937413A/zh
Application granted granted Critical
Publication of CN100425000C publication Critical patent/CN100425000C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

双涡轮结构低密度奇偶校验码解码器,主要包括校验节点处理单元阵列、变量节点处理单元阵列、校验节点输出信息存储器、变量节点输出信息存储器、初始信息存储器、收敛测试单元、迭代控制单元等部分。解码器根据码字的校验矩阵将变量节点和校验节点分块,各变量节点处理单元和校验节点处理单元同时工作,相互之间通过存储器交互信息,进行迭代译码。同时,对各变量节点块和校验节点块处理的起始位置进行优化,加大迭代译码过程中软信息提前使用的比重,进一步提高解码器的性能。这种同步并行迭代的解码器和其它一些硬件资源接近的低密度奇偶校验码解码器相比,收敛速度快,性能更为优越,其工作鲁棒性适用于各种准循环结构的低密度奇偶校验码。

Description

双涡轮结构低密度奇偶校验码解码器及解码方法
技术领域
本发明给出了一种双涡轮结构的低密度奇偶校验码解码器,属于信道纠错编码的解码技术领域。
背景技术
低密度奇偶校验码(Low Density Parity Check Codes,LDPC)是一种基于稀疏校验矩阵的线性分组码,它有着接近于香农限(Shannon Limit)的性能和低的错误平板效应(Error Floor),近年来得到了广泛的应用。LDPC码一般用和其校验矩阵相应的二分图进行描述,二分图中包含校验节点和变量节点,分别和校验矩阵的行和列对应。
由于LDPC码的校验矩阵进行高斯消去得到的矩阵不再稀疏,这使得LDPC码的编码复杂度比较高,硬件实现起来较为困难。在实际系统中,为了便于编码,通常采用一类具有准循环结构的LDPC码,其编码可以通过简单的移位寄存器实现,复杂度较低。本发明中的解码器就是针对这种结构的LDPC码进行设计的,适用于规则的和非规则的准循环LDPC码。
LDPC码的解码一般采用基于二分图的软判决迭代译码算法,如和积算法、最小和算法以及最小和算法的各类修正等等。在迭代过程中,与校验节点和变量节点相关的信息交替被更新,相互之间通过二分图中的边进行传递。这类算法易于并行实现,但是由于硬件资源的限制,全并行方案不太可行,一般采用部分并行的方法实现。LDPC码解码器的性能一方面取决于所采用的解码算法,另一方面和迭代的次数有关。对某一种解码算法,迭代次数越多,性能越好,但是迭代次数增加使得译码时延增加,解码速率将低,即解码器的速率和性能之间存在着矛盾。现代通信系统对传输速率和传输质量的要求越来越高,这就需要同时提高解码器的速率和性能。其中,在有限的迭代次数下充分和有效地利用现有的硬件资源来加快迭代的收敛速度和提高性能是一种合理的方法,本发明所提出的双涡轮结构解码器就具有这一特点。
发明内容
技术问题:本发明的目的是提供一种双涡轮结构低密度奇偶校验码解码器及解码方法,提高低密度奇偶校验码解码速率和性能,通过对硬件资源的充分和有效的使用,加快迭代的收敛速度,以获得更好的性能。该方法适合于各类准循环结构的LDPC码(规则的和非规则的),且工作的鲁棒性高。
技术方案:本发明的双Turbo结构的低密度奇偶校验码解码器,根据码字校验矩阵将变量节点和校验节点分块,解码器各个变量节点处理单元和校验节点处理单元同时工作,相互之间通过存储器交互信息,进行迭代译码。同时,为了进一步加快迭代译码的收敛速度,对各变量节点块和校验节点块处理的起始位置进行优化,提高解码器的性能。
该解码器包括:
校验节点处理单元阵列:包括多个校验节点处理单元,用于计算相应的校验节点到其邻近的变量节点的输出信息;
变量节点处理单元阵列:包括多个变量节点处理单元,用于计算相应的变量节点到其邻近的校验节点的输出信息,同时完成和变量节点对应码字比特后验概率的计算,给出相应比特取值的估计;
校验节点输出信息存储器:用于存储校验节点输出给与之相连的变量节点的信息;
变量节点输出信息存储器:用于存储变量节点输出给与之相连的校验节点的信息;
初始信息存储器:用于存储当前帧和下一帧输入解码器的初始信息;
收敛测试单元:用于检验一个给定的序列是否为一个码字;
迭代控制单元:用于迭代过程的控制,包括存储器的访问、各个模块工作调度和迭代的提前终止;
其中,根据码字校验矩阵的结构,按行分块,每块对应校验节点处理单元阵列中的一个单元,校验节点处理单元阵列的变量节点信息输入端与变量节点输出信息存储器相连,处理完成后将信息输出到校验节点输出信息存储器中;根据码字校验矩阵的结构,按列分块,每块对应变量节点处理单元阵列中的一个单元,变量节点处理单元阵列的校验节点信息输入端和初始似然比信息输入端分别与校验节点输出信息存储器和初始信息存储器相连,处理完成后将信息输出到变量节点输出信息存储器中,同时把迭代过程中得到的码字序列估计输出给收敛测试单元;迭代控制单元分别与校验节点处理单元阵列、变量节点处理单元阵列、收敛测试单元相接,控制整个迭代译码过程。
本发明的双涡轮结构的低密度奇偶校验码解码器的解码方法为:根据码字校验矩阵的结构,将校验节点和变量节点分块,每个块对应一个处理单元;在迭代译码过程中,校验节点处理单元阵列和变量节点处理单元阵列同时工作,它们分别从变量节点输出信息存储器、校验节点输出信息存储器中读取信息,按照信息传播规则计算输出的信息,并写入各自相应的输出信息存储器,完成信息的更新;在校验节点处理单元阵列和校验节点处理单元阵列工作的同时,收敛测试单元对迭代中得到的序列进行检验,如果是一个码字,则提前终止迭代,否则进行下一次迭代,直至达到最大迭代次数。
具体的解码方法如下:
设低密度奇偶校验码的校验矩阵H是一个M行N列的矩阵,由J×L块Z×Z的子矩阵Hjl构成,J=M/Z,L=N/Z;解码器使用J个校验节点处理单元和L个变量节点处理单元进行并行解码,分别用Rmn k,z、Qnm k,z(0≤z<Z)表示在第k次迭代的第z个节拍校验节点cm输出给变量节点vn的信息、变量节点vn输出给校验节点cm的信息,用Qn k表示变量节点vn的后验概率信息,用yn表示输入解码器的和变量节点vn对应的码字比特的初始似然比信息,并用dn表示根据Qn k硬判决得到的码字序列当前比特的估计;其中,Rmn k,z、Qnm k,z分别存储在校验节点输出信息存储器和变量节点输出信息存储器中;在译码过程中,每次迭代各校验节点处理单元和变量节点处理单元对应的块的起始位置向量分别为S=[s0,s1,…,sJ-2,sJ-1]、T=[t0,t2,…,tL-2,tL-1],解码器按照如下步骤工作:
1.)初始化;
迭代次数k初始化:k=0;
校验节点输出信息存储器初始化:对所有的m,n∈B(m), R mn 0 , Z - 1 = 0 ;
变量节点输出信息存储器初始化:对所有的n,m∈A(n), Q nm 0 , Z - 1 = y n , 其中yn为输入解码器的初始似然比信息;
2.)迭代译码;
迭代次数加1:k=k+1;
对当前迭代的第z(0≤z≤Z-1)个节拍,作如下处理:
①J个校验节点处理单元同时从变量节点输出信息存储器中读取信息来计算输出到相应变量节点的信息,具体来说:对第j(0≤j≤J-1)个校验节点处理单元,当前节拍处理第m=j·Z+(sj+z)mod Z个校验节点,对所有n∈B(m),按照修正的最小和算法,
R mn k , z = β · Π n ′ ∈ B ( m ) \ n sgn ( Q n ′ m k , z - 1 ) · min n ′ ∈ B ( m ) \ n | Q n ′ m k , z - 1 |
其中β为修正因子, Q n ′ m k , - 1 = Q n ′ m k - 1 , Z - 1 ;
②L个变量节点处理单元同时从校验节点输出信息存储器中读取信息,结合输入解码器的初始似然比信息,计算输出到相应校验节点的信息,具体来说:对第l(0≤l≤L-1)个变量节点处理单元,当前节拍处理第n=l·Z+(tl+z)modZ个变量节点,先计算该节点的后验信息
Q n k = y n + Σ m ∈ A { n } R mn k , z - 1
对Qn k硬判决得到dn;再对所有m∈A{n},
Q nm k , z = Q n k - R mn k , z - 1
其中 R mn k , - 1 = R mn k - 1 , Z - 1 ;
以上过程①和②是同时进行的;
3.)收敛测试模块对本次迭代得到的序列dn进行校验,如果满足所有的校验式,则译码结束,将序列dn作为最终码字输出;否则转到步骤2)继续迭代,直到达到最大迭代次数或者某次迭代的结果满足所有校验式为止。
在迭代译码中,各校验节点处理单元从变量节点输出信息存储器或各变量节点处理单元从校验节点输出信息存储器读取的信息中有的是本次迭代更新过的,有的是上一次迭代得到的,即本次迭代得到的信息被提前使用;信息提前使用的情况与迭代过程中各个处理单元对应块的起始位置有关,需要对起始位置进行优化;具体来说,把各个块的起始位置作为待优化的变量,以一次迭代中使用本次迭代得到信息的数量为目标函数,采用差分演化的方法就可以得到一个最优的起始位置向量。
有益效果:
本发明的有益效果主要体现在以下几个方面:
(1).在解码器中校验节点处理单元和变量节点处理单元同时工作,两者均使用提前更新的软信息,加快了迭代过程中信息的更新速度。
(2).通过对各个校验节点处理单元和变量节点处理单元起始位置的优化,加大软信息提前使用的比重,性能得到进一步提高。
(3).和其他硬件资源接近的解码器相比,本解码器收敛速度更快,性能更好。
附图说明
图1是一个LDPC码二分图连接示意图。
图2是准循环LDPC码的校验矩阵示意图,其中J=4,L=24。
图3是解码器的总体结构框图。
图4是解码器校验节点处理单元示意图。
图5是解码器变量节点处理单元示意图。
图6是解码器工作的总体流程图。
图7是解码器pipeline工作示意图。
图8给出了WiMAX系统中5/6码率960长度码字性能的仿真曲线。
以上的图中有校验节点处理单元阵列1、变量节点处理单元阵列2、校验节点输出信息存储器3、变量节点输出信息存储器4、初始信息存储器5、收敛测试单元6、迭代控制单元7;
具体实施方式
设LDPC码的校验矩阵H是一个M×N的矩阵,由J×L块Z×Z的子矩阵Hjl构成,J=M/Z,L=N/Z。每个子矩阵是一个单位阵,或者单位阵的循环移位阵Ip(单位阵各行向右循环移动p位),或者全0阵O。校验矩阵H对应的二分图变量节点核校验节点的集合分别为V={vn,1≤n≤N}、C={cm,1≤m≤M}。定义B(m)={n:Hmn=1}为校验节点cm对应的变量节点集合,A(n)={m:Hmn=1}为变量节点vn对应的校验节点集合,用B(m)\n表示和校验节点cm相连的除vn以外的变量节点集合,用A(n)\m表示和变量节点vn相连的除
cm以外的校验节点集合。
整个解码器主要包括以下几个部分:
校验节点处理单元阵列:用于计算相应的校验节点到其邻近的变量节点的输出信息。
变量节点处理单元阵列:用于计算相应的变量节点到其邻近的校验节点的输出信息,同时完成和变量节点对应码字比特后验概率的计算,给出相应比特取值的估计。
校验节点输出信息存储器:用于存储校验节点输出给与之相连的变量节点的信息。
变量节点输出信息存储器:用于存储变量节点输出给与之相连的校验节点的信息。
初始信息存储器:用于存储当前帧和下一帧输入解码器的初始信息。
收敛测试单元:用于检验一个给定的序列是否为一个码字。
迭代控制单元:用于迭代过程的控制,包括存储器的访问、各个模块工作调度和迭代的提前终止。
整个解码器使用J个校验节点处理单元和L个变量节点处理单元进行并行解码,分别用Rmn k,z、Qnm k,z(0≤z<Z)表示在第k次迭代的第z个节拍校验节点cm输出给变量节点vn的信息、变量节点vn输出给校验节点cm的信息,用Qn k表示变量节点vn的后验概率信息,用yn表示输入解码器的和变量节点vn对应的码字比特的初始似然比信息,并用dn表示根据Qn k硬判决得到的码字序列当前比特的估计。其中,Rmn k,z、Qnm k,z分别存储在校验节点输出信息存储器和变量节点输出信息存储器中。在译码过程中,每次迭代各校验节点处理单元和变量节点处理单元相应的块的起始位置向量分别为S=[s0,s1,…,sJ-2,sJ-1]、T=[t0,t2,…,tL-2,tL-1]。下面具体描述解码器工作的步骤:
(1)初始化
迭代次数初始化:k=0;
校验节点输出信息存储器初始化:对所有的m,n∈B(m), R mn 0 , Z - 1 = 0 ;
变量节点输出信息存储器初始化:对所有的n,m∈A(n), Q nm 0 , Z - 1 = y n , 其中yn为输入解码器的初始似然比信息。
(2)迭代译码
迭代次数加1:k=k+1;
对当前迭代的第z(0≤z≤Z-1)个节拍,作如下处理:
①J个校验节点处理单元同时从变量节点输出信息存储器中读取信息来计算输出到相应变量节点的信息,具体来说:
对第j(0≤j ≤J-1)个校验节点处理单元,当前节拍处理第m=j·Z+(sj+z)modZ个校验节点,对所有n∈B(m),按照修正的最小和算法,
R mn k , z = β · Π n ′ ∈ B ( m ) \ n sgn ( Q n ′ m k , z - 1 ) · min n ′ ∈ B ( m ) \ n | Q n ′ m k , z - 1 |
其中β为修正因子, Q n ′ m k , - 1 = Q n ′ m k - 1 , Z - 1 .
②L个变量节点处理单元同时从校验节点输出信息存储器中读取信息,结合输入解码器的初始似然比信息,计算输出到相应校验节点的信息,具体来说:
对第l(0≤l≤L-1)个变量节点处理单元,当前节拍处理第n=l·Z+(tl+z)modZ个变量节点,先计算该节点的后验信息
Q n k = y n + Σ m ∈ A { n } R mn k , z - 1
对Qn k硬判决得到dn;再对所有m∈A{n},
Q nm k , z = Q n k - R mn k , z - 1
其中 R mn k , - 1 = R mn k - 1 , Z - 1 .
以上过程①和②是同时进行的。
(3)收敛测试模块对本次迭代得到的序列dn进行校验,如果满足所有的校验式,则译码结束,将序列dn作为最终码字输出;否则转到(2)继续迭代,直到达到最大迭代次数或者某次迭代的结果满足所有的校验式为止。
下面以IEEE 802.16e为标准的WiMAX系统中采用的LDPC码为例,结合附图说明本发明提出的解码器的具体工作方式。
WiMAX系统采用的LDPC码是一种非规则的准循环码,其校验矩阵每行有L=24个子块,每列的子块数J随码率的不同而不同。系统有1/2、2/3、3/4、5/6四种码率,相应的各列子块数分别为12、8、6、4。在各种码率下,码字的长度N随各个子块大小Z的变化而变化,从576到2304共19种。图2给出了5/6码率码字校验矩阵的示意图,以下就以5/6码率的码字进行说明。
图3给出了整个解码器的结构示意图,包括校验节点处理单元、变量节点处理单元、校验节点输出信息存储器、变量节点输出信息存储器、初始信息存储器、收敛测试模块、迭代控制单元等等。接下来具体介绍各个部分的结构和功能。
图4给出了校验节点处理单元的示意图。在图4(a)中,校验节点处理单元从变量节点输出信息存储器中读取与之相连的变量节点传递过来的信息,进行相应处理后写入到校验节点输出信息存储器中。这里采用的是修正的最小和算法,通过分段分层比较的方法得到最小值和次小值,再乘上修正因子之后写入到校验节点输出信息存储器。修正因子β可以通过仿真的方法得到,也可以通过密度演变的方法获得。对5/6码率的码字,仿真后发现β取0.8左右性能较好,为了便于硬件实现,β取0.8125,通过移位的方法即可实现。图4(b)给出了从输入校验节点处理单元的信息中寻找最小值和次小值的电路图。这里每个校验节点的度数均为20,采用分层分组比较的方法得到最小值和次小值,第一层分为5组,每组从4个数值中得到最小值和次小值;第二层将第一层比较得到的5个最小值和5个次小值分组比较,5个最小值比较得到20个数中的最小值;第三层再把上一层5个最小值比较得到的次小值和上一层5个次小值比较得到的比较,得到的最小值作为20个数中的次小值输出。图4(c)是从4个数中得到最小值和次小值的比较和译码电路,5个数的情况与此相似。在图4(c)中,共使用6个减法器对4个数进行两两比较,比较得到的结果通过译码电路得到最小值和次小值;图中还给出了译码电路的内部逻辑,其中没有标0或1的地方表示任意值。
图7给出了变量节点处理单元的示意图。变量节点处理单元从校验节点输出信息存储器中和初始信息存储器中读出相关信息,先求和再分别减掉与之相关的信息后输出,同时根据所求的和的符号得到码字当前比特的估计。由于在存储器中数据是按照原码的形式表示的,不利于加减运算,所以先将其转成补码形式进行运算,最后再转成原码形式送回存储器。图中的变量节点度数为3,其它度数的节点处理方法类似。
下面说明解码器中存储器的结构。在整个解码器中,存储器分为三类:初始信息存储器、校验节点输出信息存储器、变量节点输出信息存储器。其中,初始信息存储器用于存储输入解码器的初始似然必信息,为了保持解码器连续工作,解码器中用两块Ram以乒乓的方式工作,一块用于当前帧,一块用于下一帧。校验节点输出信息存储器和变量节点输出信息存储器所存储的信息和码字二分图的边一一对应,为了使多个校验节点运算单元和变量节点运算单元同时并行工作,需要将存储器分块,并采用双端口Ram,从而可以同时读写多组数据。这里存储器按照校验矩阵中的非全零子块进行分块,每块Ram存储Z个数据,并且校验节点输出信息存储器和变量节点输出信息存储器以乒乓的方式工作,在相邻的迭代之间交替。在迭代译码过程中,校验节点处理单元从变量节点输出信息存储器中读取信息,处理完成后写回原先读取的地址,供下面的迭代使用;变量节点处理单元的处理方式类似,从校验节点输出信息存储器中读取信息,处理完成后写回原先读取的地址,供下面的迭代使用。
收敛测试单元检验某次迭代产生的序列dn是否满足所有的校验式,并把测试的结果反馈给迭代控制单元。收敛测试模块比较容易实现,采用J个多输入的异或门并行测试,每次对应校验矩阵的J行,J个多输入的异或门的输出接入一个J输入的或非门,用于判断是否满足校验矩阵中对应的J行,这样Z个节拍可以完成。如果某个节拍或非门输出为0,则说明dn不满足校验矩阵;如果Z个节拍中或非门的输出都是1,说明dn满足校验矩阵的所有行,是一个码字。
图6给出了解码器工作的流程图,通过迭代控制单元实现。在迭代控制单元的控制下,校验节点处理单元和变量节点处理单元分别从相应的存储器中读取数据,处理完成后再写回存储器,完成迭代译码。与此同时,收敛测试单元对上一次迭代得到的序列dn进行检验,决定停止译码或继续迭代。为了提高解码速率和器件的使用效率,解码器的各单元采用pipeline的工作方式,具体如图7所示。
由于在解码器中校验节点处理单元和变量节点处理单元是同时工作的,在同一次迭代中,输入某个节点处理单元的信息中,有的是本次迭代更新过的,有的是上一次迭代得到的,即提前使用了软信息。这是本发明提出的解码器的一个重要特征,通过软信息的提前使用加快迭代的收敛速度,从而提高解码器的性能。在解码器中,每个处理单元对校验矩阵的Z行或Z列进行处理,各个处理单元起始位置不同,迭代过程中软信息的提前使用情况就不一样,最终的性能也有差别,这就需要对起始位置进行优化。优化的方法有多种,这里采用差分演化的方法,把各个块的起始位置作为待优化的向量,目标函数定义为在一次迭代中输入各个节点处理单元的似然比信息中被本次迭代更新过的数目。对WiMAX系统中5/6码率长为960的码字,采用这种方法优化得到如下的起始位置向量:
校验节点:S=[4,23,38,16]
变量节点:T=[3,30,35,37,24,7,19,1,6,37,24,30,13,32,29,22,13,4,22,8,22,22,37]图8给出了具体的结果,其中(a)是误帧率曲线,同时给出了标准和积算法解码器的性能曲线。由于本专利给出的双Turbo结构解码器完成一次迭代需要的时间为标准和积算法解码器的一半,图中标准和积算法解码器最大迭代次数设为20,双Turbo结构解码器的最大迭代次数设为40。可以看出,在误帧率1×10-4处,双Turbo结构解码器和标准和积算法解码器相比,大约有0.25dB的性能增益。图(b)给出了不同信噪比下的平均迭代次数,为了便于比较,图中以标准和积算法的迭代次数为基准,双Turbo结构解码器一次迭代算为0.5次,可以看出,双Turbo结构解码器的平均迭代次数比标准和积算法解码器要小。总之,双Turbo结构解码器在性能和速率上都要优于标准和积算法解码器。
本专利给出的解码器在校验节点处理时采用的是作乘法修正的最小和算法,值得注意的是,当校验节点采用和积算法、偏移的最小和算法等处理时,也可以采用这种结构。同时,这里给出的解码器还可以和系统前端的信道估计器、均衡器、软解调器等联合使用,各个模块相互传递信息,通过迭代提高整个系统的性能。

Claims (4)

1. 一种双涡轮结构的低密度奇偶校验码解码器,其特征在于该解码器包括:
校验节点处理单元阵列(1):包括多个校验节点处理单元,用于计算相应的校验节点到其邻近的变量节点的输出信息;
变量节点处理单元阵列(2):包括多个变量节点处理单元,用于计算相应的变量节点到其邻近的校验节点的输出信息,同时完成和变量节点对应码字比特后验概率的计算,给出相应比特取值的估计;
校验节点输出信息存储器(3):用于存储校验节点输出给与之相连的变量节点的信息;
变量节点输出信息存储器(4):用于存储变量节点输出给与之相连的校验节点的信息;
初始信息存储器(5):用于存储当前帧和下一帧输入解码器的初始信息;
收敛测试单元(6):用于检验一个给定的序列是否为一个码字;
迭代控制单元(7):用于迭代过程的控制,包括存储器的访问、各个模块工作调度和迭代的提前终止;
其中,根据码字校验矩阵的结构,按行分块,每块对应校验节点处理单元阵列(1)中的一个单元,校验节点处理单元阵列(1)中变量节点信息输入端(a)与变量节点输出信息存储器(4)相连,输出给变量节点的信息由端口(d)与校验节点输出信息存储器(3)相连接;根据码字校验矩阵的结构,按列分块,每块对应变量节点处理单元阵列(2)中的一个单元,变量节点处理单元阵列(2)的校验节点信息输入端(c)和初始似然比信息输入端分别与校验节点输出信息存储器(3)和初始信息存储器(5)相连,输出给校验节点的信息由端口(e)和变量节点输出信息存储器(4)相连,同时通过端口(f)与收敛测试单元(6)相连,输出迭代过程中得到的码字序列的估计;迭代控制单元(7)分别接校验节点处理单元阵列(1)、变量节点处理单元阵列(2)、收敛测试单元(6)。
2. 一种如权利要求1所述的双涡轮结构的低密度奇偶校验码解码器的解码方法,其特征在于:根据码字校验矩阵的结构,将校验节点和变量节点分块,每个块对应一个处理单元;在迭代译码过程中,校验节点处理单元阵列(1)和变量节点处理单元阵列(2)同时工作,它们分别从变量节点输出信息存储器(4)、校验节点输出信息存储器(3)中读取信息,按照信息传播规则计算输出的信息,并写入各自相应的输出信息存储器,完成信息的更新:在校验节点处理单元阵列(1)和校验节点处理单元阵列(2)工作的同时,收敛测试单元(6)对迭代中得到的序列进行检验,如果是一个码字,则提前终止迭代,否则进行下一次迭代,直至达到最大迭代次数。
3. 根据权利要求2所述的双涡轮结构的低密度奇偶校验码解码器的解码方法,其特征在于解码方法具体如下:
设低密度奇偶校验码的校验矩阵H是一个M行N列的矩阵,由J×L块Z×Z的子矩阵Hjl构成,J=M/Z,L=N/Z;解码器使用J个校验节点处理单元和L个变量节点处理单元进行并行解码,分别用Rmn k,z、Qnm k,z(0≤z<Z)表示在第k次迭代的第z个节拍校验节点cm输出给变量节点vn的信息、变量节点vn输出给校验节点cm的信息,用Qn k表示变量节点vn的后验概率信息,用yn表示输入解码器的和变量节点vn对应的码字比特初始似然比信息,并用dn表示根据Qn k硬判决得到的码字序列当前比特的估计;其中,Rmnk,z、Qnm k,z分别存储在校验节点输出信息存储器和变量节点输出信息存储器中;在译码过程中,每次迭代各校验节点处理单元和变量节点处理单元对应的块的起始位置向量分别为S=[s0,s1,…,sJ-2,sJ-1]、T=[t0,t2,…,tL-2,tL-1],解码器按照如下步骤工作:
1.)初始化;
迭代次数k初始化:k=0;
校验节点输出信息存储器初始化:对所有的m,n∈B(m), R mn 0 , Z - 1 = 0 ;
变量节点输出信息存储器初始化:对所有的n,m∈A(n), Q n , m 0 , Z - 1 = y n , 其中yn为输入解码器的初始似然比信息;
2.)迭代译码;
迭代次数加1:k=k+1;
对当前迭代的第z(0≤z≤Z-1)个节拍,作如下处理:
①J个校验节点处理单元同时从变量节点输出信息存储器中读取信息来计算输出到相应变量节点的信息,具体来说:对第j(0≤j≤J-1)个校验节点处理单元,当前节拍处理第m=j·Z+(sj+z)modZ个校验节点,对所有n∈B(m),按照修正的最小和算法,
R mn k , z = β · Π n ′ ∈ B ( m ) \ n sgn ( Q n ′ m k , z - 1 ) · min n ′ ∈ B ( m ) \ n | Q n ′ m k , z - 1 |
其中β为修正因子, Q n ′ m k , - 1 = Q n ′ m k - 1 , Z - 1 ;
②L个变量节点处理单元同时从校验节点输出信息存储器中读取信息,结合输入解码器的初始似然比信息,计算输出到相应校验节点的信息,具体来说:对第l(0≤l≤L-1)个变量节点处理单元,当前节拍处理第n=l·Z+(tl+z)modZ个变量节点,先计算该节点的后验信息
Q n k = y n + Σ m ∈ A { n } R mn k , z - 1
对Qn k硬判决得到dn;再对所有m∈A{n},
Q nm k , z = Q n k - R mn k , z - 1
其中 R mn k , - 1 = R mn k - 1 , Z - 1 ;
以上过程①和②是同时进行的;
3.)收敛测试模块对本次迭代得到的序列dn进行校验,如果满足所有的校验式,则译码结束,将序列dn作为最终码字输出;否则转到步骤2)继续迭代,直到达到最大迭代次数或者某次迭代的结果满足所有校验式为止。
4. 根据权利要求2或3所述的双涡轮结构的低密度奇偶校验码解码器的解码方法,其特征在于:
在迭代译码中,各校验节点处理单元从变量节点输出信息存储器或各变量节点处理单元从校验节点输出信息存储器读取的信息中有的是本次迭代更新过的,有的是上一次迭代得到的,即本次迭代得到的信息被提前使用;信息提前使用的情况与迭代过程中各个处理单元对应块的起始位置有关,需要对起始位置进行优化。
CNB2006100965359A 2006-09-30 2006-09-30 双涡轮结构低密度奇偶校验码解码器及解码方法 Expired - Fee Related CN100425000C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100965359A CN100425000C (zh) 2006-09-30 2006-09-30 双涡轮结构低密度奇偶校验码解码器及解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100965359A CN100425000C (zh) 2006-09-30 2006-09-30 双涡轮结构低密度奇偶校验码解码器及解码方法

Publications (2)

Publication Number Publication Date
CN1937413A CN1937413A (zh) 2007-03-28
CN100425000C true CN100425000C (zh) 2008-10-08

Family

ID=37954740

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100965359A Expired - Fee Related CN100425000C (zh) 2006-09-30 2006-09-30 双涡轮结构低密度奇偶校验码解码器及解码方法

Country Status (1)

Country Link
CN (1) CN100425000C (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345601B (zh) * 2007-07-13 2011-04-27 华为技术有限公司 一种译码方法和译码器
CN101188426B (zh) * 2007-12-05 2011-06-22 深圳国微技术有限公司 用于对准循环结构的ldpc码进行并行处理的译码器及方法
CN101534166B (zh) * 2008-03-10 2012-07-11 上海明波通信技术有限公司 准循环低密度奇偶校验码解码器及解码方法
CN101257315B (zh) * 2008-04-03 2010-06-16 浙江大学 双二进制Turbo码停止迭代译码的方法
CN101262231B (zh) * 2008-04-25 2011-09-28 浙江大学 一种块状低密度校验码的译码方法及可重构多模式译码器
CN102005250A (zh) * 2010-10-27 2011-04-06 记忆科技(深圳)有限公司 准循环低密度奇偶校验码译码器及译码方法
CN102325001B (zh) * 2011-05-24 2013-07-31 东南大学 一种带宽自适应大迭代接收机
CN104767536B (zh) * 2015-03-19 2018-05-25 深圳市力合微电子股份有限公司 基于ofdm电力线通信系统的qc-ldpc译码方法和译码器
CN106130567B (zh) * 2016-05-20 2020-01-07 东南大学 基于Single Block Row QC-LDPC的时间非均匀分配的列-层译码方法及架构
CN106911336B (zh) * 2017-01-17 2020-07-07 清华大学 多核调度的高速并行低密度奇偶校验译码器及其译码方法
US11218166B1 (en) * 2021-05-03 2022-01-04 Beijing Tenafe Electronic Technology Co., Ltd. Early convergence for decoding of LDPC codes
CN113961506B (zh) * 2021-10-19 2023-08-29 海飞科(南京)信息技术有限公司 加速器和电子装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467063B1 (en) * 1998-06-02 2002-10-15 Matsushita Electric Industrial Co., Ltd. Reed Solomon coding apparatus and Reed Solomon coding method
US20050166133A1 (en) * 2002-07-03 2005-07-28 Hughes Electronics Corporation Method and system for decoding low density parity check (LDPC) codes
CN1808955A (zh) * 2005-01-23 2006-07-26 中兴通讯股份有限公司 基于非正则低密度奇偶校验码的编译码器及其生成方法
CN1822509A (zh) * 2004-10-04 2006-08-23 美国博通公司 低密度奇偶校验解码器及其解码方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467063B1 (en) * 1998-06-02 2002-10-15 Matsushita Electric Industrial Co., Ltd. Reed Solomon coding apparatus and Reed Solomon coding method
US20050166133A1 (en) * 2002-07-03 2005-07-28 Hughes Electronics Corporation Method and system for decoding low density parity check (LDPC) codes
CN1822509A (zh) * 2004-10-04 2006-08-23 美国博通公司 低密度奇偶校验解码器及其解码方法
CN1808955A (zh) * 2005-01-23 2006-07-26 中兴通讯股份有限公司 基于非正则低密度奇偶校验码的编译码器及其生成方法

Also Published As

Publication number Publication date
CN1937413A (zh) 2007-03-28

Similar Documents

Publication Publication Date Title
CN100425000C (zh) 双涡轮结构低密度奇偶校验码解码器及解码方法
CN101106381B (zh) 分层的低密度校验码译码器及译码处理方法
AU2005225107B2 (en) Method and apparatus for decoding low density parity check code using united node processing
CN101162907B (zh) 一种利用低密度奇偶校验码实现编码的方法及装置
CN111615793A (zh) 竖直分层式有限字母表迭代解码
EP1881610A1 (en) Encoder and decoder by ldpc encoding
CN101924565A (zh) Ldpc编码器、解码器、系统及方法
Montanari et al. The statistical mechanics of turbo codes
CN100505555C (zh) 一种无线通信系统中非正则低密度奇偶校验码的生成方法
CN100589357C (zh) 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法
WO2018036178A1 (zh) 一种ldpc的解码方法
CN101471674A (zh) 低密度奇偶校验码译码方法及装置
CN106936446A (zh) 一种基于多进制ldpc码的高速译码器及其译码方法
CN101335592B (zh) 基于矩阵分块的高速ldpc译码器实现方法
CN109586732B (zh) 中短码ldpc编解码系统和方法
CN101567697A (zh) 一种速率兼容的低密度奇偶校验码编码方法和编码器
CN102664638A (zh) 基于分层nms算法的多码长ldpc码译码器的fpga实现方法
CN100542049C (zh) 一种多码率的ldpc码的译码器装置及译码方法
CN101273531B (zh) 低密度奇偶校验码的改进turbo-译码消息传递方法、设备和系统
CN101562456B (zh) 基于低密度奇偶校验码译码软信息的码辅助帧同步方法
Chen et al. Cyclically equivariant neural decoders for cyclic codes
CN102340320B (zh) 卷积Turbo码双向并行译码方法
CN106374940A (zh) 一种多进制ldpc译码方法及译码器
CN102420616B (zh) 基于拉丁方阵的准循环ldpc码纠错方法
CN103731157B (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
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: 20081008

Termination date: 20180930