CN101534166B - 准循环低密度奇偶校验码解码器及解码方法 - Google Patents
准循环低密度奇偶校验码解码器及解码方法 Download PDFInfo
- Publication number
- CN101534166B CN101534166B CN2008100431651A CN200810043165A CN101534166B CN 101534166 B CN101534166 B CN 101534166B CN 2008100431651 A CN2008100431651 A CN 2008100431651A CN 200810043165 A CN200810043165 A CN 200810043165A CN 101534166 B CN101534166 B CN 101534166B
- Authority
- CN
- China
- Prior art keywords
- unit
- decoding
- node
- 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
- 238000000034 method Methods 0.000 title claims abstract description 27
- 239000011159 matrix material Substances 0.000 claims abstract description 53
- 230000005540 biological transmission Effects 0.000 claims abstract description 12
- 238000004891 communication Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 60
- 238000004422 calculation algorithm Methods 0.000 claims description 37
- 238000006243 chemical reaction Methods 0.000 claims description 33
- 230000007246 mechanism Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 claims description 3
- 238000009825 accumulation Methods 0.000 claims 1
- 238000012804 iterative process Methods 0.000 abstract description 2
- 238000011002 quantification Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 10
- 238000013139 quantization Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 6
- 230000001788 irregular Effects 0.000 description 6
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种准循环低密度奇偶校验码解码器,包括:初始化单元,接收来自通信信道的码字信息的对数似然比;译码单元,根据消息传递规则计算临近变量节点和校验节点之间的更新信息;译码收敛判决单元,根据每次迭代后的变量节点更新信息的收敛性或到达预定的最大迭代次数来判断译码结束;硬判决单元,根据译码后的变量节点信息的符号位进行硬判决得到码字。本发明还公开了一种准循环低密度奇偶校验码的解码方法,包括对校验矩阵H中的每一个非零位置初始化,迭代过程,尝试判决。本发明可以加快解码的收敛速度,降低量化带来的性能损失及减小解码器实现的复杂度。
Description
技术领域
本发明涉及数字电视地面广播传输领域,特别是涉及一种校验矩阵行重和列重变化的非规则QC-LDPC(准循环低密度奇偶校验,Quasi-CyclicLow-Density Parity-Check)码和规则QC-LDPC码解码器。本发明还涉及一种准循环低密度奇偶校验码的解码方法。
背景技术
低密度奇偶校验(LDPC)码是一类线性分组码,其对较大的数据传输和存储信道集合提供了目前最逼近香农极限的一类纠错码。在1963年,Gallager在其博士论文中首次提出了规则LDPC码:(n,j,k),在规则的LDPC码中,校验矩阵H具有恒定的行重和列重。但限于当时的科学技术,LDPC码一度被认为是无效码,在很长一段时间内没有受到人们的重视。
直到1981年,Tanner在他的一篇奠基性的文章中正式提出了用图模型来描述码字的概念,从而将LDPC码的校验矩阵对应到Tanner图上。Tanner图上具有变量节点V和校验节点C。当奇偶校验矩阵H的元素Hi,j为1时,变量节点V与校验节点C相连。图1给出了规则LDPC码的稀疏奇偶校验矩阵H和相应的Tanner图的示例。H矩阵的维数是m×n,每一行对应一个校验方程,每一列对应码字的一个信息位。每一行中非零元素的个数称为行重dc,每一列中非零元素的个数称为列重dv。规则LDPC码的行重dc相同,列重dv相同,即Tanner图中校验节点和变量节点的度为dc和dv。
1998年,MacKay和Spielman发明了非规则的LDPC码。非规则LDPC码的行重dc不相同,列重dv不相同,即Tanner图中校验节点的度dc不相同,变量节点的dv度不相同。与规则LDPC码相比,非规则码具有更大的扩展性和更好的收敛性,纠错性能更强。图2给出了非规则LDPC码的稀疏奇偶校验矩阵H和相应的Tanner图的示例。
QC-LDPC码是LDPC码的一种,其生成矩阵和校验矩阵都有准循环的特点。QC-LDPC码生成矩阵Gqc为:
其中,I是b×b阶单位矩阵,0是b×b阶零阵,而Gij是b×b循环矩阵,令0≤i≤k-1,0≤j≤c-1,k为源码按长度b的分块数,c为校验方程按长度b的分块数,码长为(c+k)×b。LDPC码信息位在后,校验位在前。
QC-LDPC码校验矩阵Hqc为:
其中,Ai,j是b×b的矩阵,行重为1,Ai,j=n,则表示此矩阵第一行的第n列为1,其余列为0,其余各行均是上一行的循环移位。c为校验矩阵Hqc行按长度b的分块数,t=(c+k)为校验矩阵Hqc列按长度b的分块数。变量节点的个数为t×b,校验节点的个数为c×b。由于QC-LDPC码的良好的编解码特性,被广泛的应用于现代通信系统中。比如,中国数字电视地面广播传输标准DTMB以及欧洲卫星数字电视标准DVB-S2中均采用了QC-LDPC码作为纠错码。
LDPC译码算法是采用基于置信度传播(也称消息传递)机制的迭代译码算法,通过对接收码字信息进行迭代译码。算法是基于编码的Tanner图表示,即在变量节点V和校验节点C之间传递消息。传统的对数域BP译码算法调度机制为溢出调度,即先进行校验节点更新,再进行变量节点更新,往复操作,直到译码结束。调度机制决定了更新规则,即Tanner图上节点之间传递消息次序。
传统的对数域BP解码算法调度机制为溢出调度,输入信号为接收到的代表码字的概率信息的对数似然比(LLR)信息。为了方便说明,以下给出在迭代解码算法说明中所用到的符号的解释:
λmn表示从变量节点n发送给校验节点m的对数似然比消息。
Λmn表示从校验节点m发送给变量节点n的对数似然比消息。
M(n)表示与第n个变量节点相关联的校验节点集合。
N(m)表示与第m个校验节点相关联的变量节点集合。
M(n)/m表示不含第m个校验节点的、与第n个变量节点相关联的校验节点集合。
N(m)/n表示不含第n个变量节点的、与第m个校验节点相关联的变量节点集合。传统的对数域的BP解码算法的具体步骤如下:
步骤一、初始化
对校验矩阵H中的每一个非零位置(m,n)Hmn,令:
Λmn=0 (公式4)
步骤二、迭代过程
(a)校验节点更新
对每个校验节点m及每个变量节点n∈N(m),计算
(公式5)
(公式6)
(b)变量节点更新
对每个变量节点n及每个校验节点m∈M(n),计算
对每个变量节点n,计算
步骤三、尝试判决
若满足以下两个条件之一停止译码:
(2)达到预定的迭代次数,计算误码率。
否则,返回步骤2开始下一轮迭代。
传统的BP算法在实现的过程中采用部分并行结构,即将行迭代分为Ir个子迭代,将列迭代分为Ic个子迭代。行子迭代的个数Ir=M/pc,其中,M为H矩阵的行数,pr为行并行度;列子迭代的个数Ic=N/pc,其中,N为H矩阵的列数,pc为列并行度。在迭代的过程中,第Ij次子迭代没有利用本次迭代已完成的子迭代更新后的信息,从而导致迭代译码的收敛速度较慢。校验节点更新运算中含有双曲正切函数,从而导致定点量化时带来的性能损失很大,且实现非常复杂,导致电路规模很大。
发明内容
本发明要解决的技术问题是提供一种准循环低密度奇偶校验码解码器,可以加快解码的收敛速度,降低量化带来的性能损失及减小解码器实现的复杂度。为此,本发明还要提供一种准循环低密度奇偶校验码的解码方法。
为解决上述技术问题,本发明的准循环低密度奇偶校验码解码器包括:初始化单元,与RAM功能单元连接,接收来自通信信道的码字信息的对数似然比,并将其按接收码字信息的顺序存入RAM功能单元的相应地址单元;
解码单元,与RAM功能单元、ROM功能单元、译码收敛判决单元连接,根据消息传递规则计算临近变量节点和校验节点之间的更新信息;
译码收敛判决单元,与解码单元连接,根据每次迭代后的变量节点更新信息的收敛性或到达预定的最大迭代次数来判断解码是否结束;
硬判决单元,与RAM功能单元连接,主要是根据解码后的变量节点信息的符号位进行硬判决得到码字;
RAM功能单元,与初始化单元、解码单元、硬判决单元连接,存储校验节点更新信息和变量节点更新信息;
ROM功能单元,与解码单元连接,提供H矩阵的图形结构特性。
本发明的准循环低密度奇偶校验码的解码方法,包括如下步骤:
步骤1、初始化
对每个变量节点n计算后验概率对数似然比:
λn=yn(n∈N)
对校验矩阵H中的每一个非零位置初始化:
Λmn=0(Hmn≠0)
步骤2、迭代过程
对于所有的n∈N(m)
对每个校验节点及每个变量节点n∈N(m),计算
步骤3、尝试判决
根据迭代数据更新计算:其中(sm=si^si-1),si为第i次迭代更新的数据符号位,si-1为第i-1次迭代更新的数据符号位。
若满足以下两个条件之一则停止解码:
(1)ssum=n,应判决输出码字;
(2)达到预定的迭代次数,计算误码率;
否则,返回步骤2开始下一轮迭代;
其中,yn表示信道接收到的符号序列;λn表示各变量节点的后验概率对数似然比;表示有待更新的变量节点n的判决信息;表示有待更新的校验节点m发送给变量节点n的对数似然比消息;表示更新的各变量节点的判决信息;表示有待更新的变量节点n发送给校验节点m的对数似然比消息;表示更新的校验节点m发送给变量节点n的对数似然比消息;Hmn≠0表示矩阵H中位置(m,n)为非零元素;ssum表示变量节点的收敛性判决之和。
本发明采用串行调度机制(Serial Schedule),使得第Ij次子迭代可以利用本次迭代已完成的子迭代更新后的信息,从而使解码器的收敛速度更快,降低了电路的动态功耗。利用offset BP-Based算法(可以通过密度寻优或仿真确定β值)化简校验节点运算单元,进而降低由量化带来的性能损失和译码器的复杂度,使校验节点更新单元的复杂度降低,进而减少了解码器的规模。并且可以大大加快解码的收敛速度。
与传统的基于溢出调度机制(Flooding Schedule)的对数域置信度传播(BP:Belief-Propagation)算法相比,解码收敛速度更快,解码器复杂度降低。
本发明在不增加额外运算的情况下,通过利用两次相邻译码过程中相同位置的变量节点更新信息的硬判决同或累加来判决解码收敛,实现了解码收敛判决,从而减少了硬件资源。另外,本发明在不增加RAM容量的情况下,实现多码率统一的LDPC解码器。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是规则LDPC码的稀疏奇偶校验矩阵H和相应的Tanner图的示例;
图2是非规则LDPC码的稀疏奇偶校验矩阵H和相应的Tanner图的示例;
图3是DTMB系统的组成框图;
图4是本发明的基于串行调度的QC-LDPC解码器结构图;
图5是分散RAM结构的QC-LDPC解码器框图;
图6是数据更新单元框图;
图7是DTMB中0.4码率下各种算法的解码性能(BER)示意图;
图8是DTMB中0.6码率下各种算法的解码性能(BER)示意图;
图9是DTMB中0.8码率下各种算法的解码性能(BER)示意图。
具体实施方式
以下将结合中国数字电视地面广播传输标准(DTMB,Digital MediaBroadcasting-Terrestrial)中的LDPC码的格式说明基于本发明所给出的方案实现多码率统一的解码器实现方法。
经过多年的研究和发展,具有自主知识产权的中国数字电视地面广播传输标准(以下简称为DTMB)--GB20600-2006《数字电视地面广播传输系统帧结构,信道编码和调制》,于2006年8月18日正式批准成为强制性国家标准,2007年8月1日起实施。
DTMB规定了数字电视广播传输系统信号的帧结构、信道编码和调制方式。DTMB系统的组成框图如图3所示,其包括扰码器(随机化)、前向纠错编码(FEC)模块、星座映射与交织模块、系统信息模块、复用模块、帧体数据处理模块、帧头模块、组帧模块、基带后处理模块、正交上变频模块。输入数据码流经过扰码器(随机化)、前向纠错编码、比特流到符号流的星座映射、再进行交织后形成基本数据块,基本数据块与系统信息复用后并经过帧体数据处理形成帧体,帧体与相应的帧头(PN序列)复接为信号帧(组帧),经过基带后处理转换为基带输出信号,该信号经正交上变频转换为射频信号。
前向纠错码(FEC)由外码(BCH)和内码(LDPC)两部分级联而成。DTMB中的QC-LDPC码是准循环码,码长为n=7493。LDPC码的生成矩阵Gqc如公式1所示,其中参数b=127。对于不同的码率参数k和c的值不同:0.4码率k=24、c=35;0.6码率k=36、c=23;0.8码率k=48、c=11。
LDPC码的校验矩阵Hqc如公式2所示,其中参数t=59。
本发明的解码算法是基于串行调度的offset BP-Based算法,为了方便说明,以下给出在迭代解码算法说明中所用到的符号的解释:
yn表示信道接收到的符号序列。
λn表示各变量节点的后验概率对数似然比。
表示有待更新的校验节点m发送给变量节点n的对数似然比消息。
表示更新的各变量节点的判决信息。
Hmn≠0表示矩阵H中位置(m,n)为非零元素。
ssum表示变量节点的收敛性判决之和。
其具体实现的步骤如下:
步骤1、初始化
对每个变量节点n计算后验概率对数似然比:
λn=yn(n∈N) (公式9)
对校验矩阵H中的每一个非零位置初始化:
Λmn=0(Hmn≠0) (公式10)
步骤2、迭代过程
对于所有的n∈N(m)
对每个校验节点及每个变量节点n∈N(m),计算
步骤3、尝试判决
若满足以下两个条件之一停止解码:
(1)ssum=n,应判决输出码字。
(2)达到预定的迭代次数,计算误码率。
否则,返回步骤2开始下一轮迭代。
本发明在迭代的过程中,第Ij次子迭代利用本次迭代中已完成的子迭代更新后的信息,从而加快迭代解码的收敛速度。校验节点更新运算采用offset BP-Based算法,从而减少了定点量化时带来的性能损失和实现规模的复杂。
参见图4所示,本发明的基于串行调度的QC-LDPC解码器包括:
初始化单元,接收来自通信信道的码字信息yn的对数似然比,并将其按接收码字信息yn的顺序存入λn RAM功能单元的相应地址单元。
λn RAM功能单元,与初始化单元、硬判决单元、λn数据选择处理单元连接,用于存储变量节点更新信息λn。
λn数据选择处理单元,与λn RAM功能单元、λn数据转换处理单元、控制器单元连接,根据H矩阵的图形结构特性选择相应的变量节点信息。
λn数据转换处理单元,与λn数据选择处理单元、数据更新处理单元、译码收敛判决单元连接,实现对变量节点数据的拼接操作,得到译码的数据。
数据更新处理单元,与λn数据转换处理单元、Λmn数据转换处理单元、译码收敛判决单元、控制器单元连接,主要是实现公式12、13的功能,即校验节点和变量节点的更新操作。
Λmn数据转换处理单元,与数据更新处理单元、Λmn RAM功能单元、控制器单元连接,主要是实现对校验节点数据的拼接操作,得到译码的数据。
Λmn RAM功能单元,与Λmn数据转换处理单元连接,用于存储校验节点更新信息。
控制器单元,与λn数据转换处理单元、数据更新处理单元、Λmn数据转换处理单元、ROM功能单元、译码收敛判决单元连接,通过应用H矩阵的图形结构特性,控制整个译码过程。
译码收敛判决单元,与λn数据转换处理单元、数据更新处理单元、控制器单元连接,主要是根据两次相邻迭代过程中相同位置变量节点的更新信息硬判决同或累加来判决译码的收敛性。根据每次迭代后的变量节点更新信息的收敛性或到达预定的最大迭代次数来判断解码是否结束。
硬判决单元,与λn RAM功能单元连接,主要是根据解码后的变量节点信息的符号位进行硬判决得到码字。
ROM功能单元(H矩阵结构),与解码功能单元连接,主要是提供H矩阵的图形结构特性,存储了不同码率的准循环低密度奇偶校验码的H矩阵的图形结构特性。
其中,由控制器单元、Λmn数据转换处理单元、数据更新处理单元、λn数据转换处理单元和λn数据选择处理单元组成解码单元,根据消息传递规则计算临近变量节点和校验节点之间的更新信息。
由λn RAM功能单元和Λmn RAM功能单元组成RAM功能单元。
数据在解码的过程中,为了得到更快的收敛速度和较小的量化比特位宽,可以根据更新后的变量节点数对校验节点数据进行强制置“0”操作。由此校验节点的数据趋向于中心,变量节点的数据趋向于两极。当解码成功时,变量节点和校验节点数据将不会再变化,因此可以采用固定迭代次数进行解码。采用固定迭代次数可以减少电路的规模和复杂度,但会带来较少电路动态功耗的浪费。
在具体的实现过程中,解码器采用分散RAM结构,如图5所示。根据并行度P,Λmn RAM功能单元分为P个RAM(一块双口RAM或两块单口RAM),位宽为(j×BPM),其中,j为数据更新处理单元输入的信息个数,BPM为每个码字信息的位宽;深度为其中,c为H矩阵行block的个数,即校验节点按长度为b的block数,b为分块数的大小,P为并行度,j为数据更新单元的输入数据个数。由于H矩阵中“1”的分布是不规则的,所以λn RAM功能单元分为t(t为H矩阵的列block的个数,即变量节点按长度为b的block数)个RAM(一块双口RAM或两块单口RAM),位宽为(j×BPM),深度(b为分块数的大小,P为并行度)。由于并行度为P,所以数据处理路径上共有P路相通的数据处理通路。ROM功能单元选用P路并行结构,控制器单元可以同时读取P路的变量节点信息的图形结构特性。通过对两次解码过程中相同位置变量节点的更新信息硬判决同或累加来判决解码收敛。整个解码过程在控制器单元的控制下进行。
并行度P和数据更新处理单元输入数据个数j是整个解码器的可变参数。解码器的面积跟并行度P和数据更新单元输入数据个数j呈正比;解码器的性能跟并行度P和数据更新处理单元输入数据个数j呈反比。在设计的过程中,设计者可以根据具体的设计需求,通过更改并行度P和数据更新处理单元输入数据个数j,从而达到面积和性能之间的平衡。本发明不但可以实现单码率的解码,还可以通过简单的改动实现多码率统一的解码器。所述并行度P可以根据设计任意变化。
以下以DTMB中的LDPC码为实例说明多码率统一的实现方法。DTMB中的LDPC码包括三种码率:0.4(7492,3048)码率、0.6(7493,4572)码率、0.8(7493,6096)码率。在三种码率条件下,由于各自具有不同的生成和校验矩阵,虽然解码算法是一致的,具体的解码处理仍然有不小差别。直接用三个解码器分别对应三种不同码率的应用当然最简单,但是硬件资源浪费很大。本发明充分利用三种码率条件下解码算法的相似性,采用灵活的硬件结构实现最大限度的硬件资源共享,仅以比单码率解码器略大的硬件资源实现三种码率统一的解码器。
0.4码率LDPC码的校验矩阵H为一个4445×7493的矩阵,进一步可以划分成由35×59(c=35,t=59)个子矩阵,每个子矩阵为b×b(b=127),对于子矩阵的一行,其行重为7或8,即每行子矩阵中有7或8个准循环矩阵Aij。
0.6码率LDPC码的校验矩阵H为一个2921×7493的矩阵,进一步可以划分成由23×59(c=23,t=59)个子矩阵,每个子矩阵为b×b(b=127),对于子矩阵的一行,其行重为12或13。
0.8码率LDPC码的校验矩阵H为一个1397×7493的矩阵,,进一步可以划分成由11×59(c=11,t=59)个子矩阵,每个子矩阵为b×b(b=127),对于子矩阵的一行,其行重为26或27。
假定取参数P=8、j=8,采用双口RAM,实现图5(分散RAM结构的LDPC解码器框图)所示的LDPC解码器结构。三种码率的列子矩阵的个数相等(t=59),因此λn RAM功能单元分为59个子RAM,深度为16,位宽为8×BPM。三种码率下Λmn RAM功能单元位宽相同8×BPM,因为三种码率的H矩阵中“1”的个数不同,所以Λmn RAM功能单元的深度也不相同。
0.4码率的包含行重为7的子行5个和行重为8的子行30个。如果不采用压缩存储方式,RAM深度为560,如果采用压缩存储,RAM深度为550。
0.6码率的包含行重为12的子行3个和行重为13的子行20个。如果不采用压缩存储方式,RAM深度为736,如果采用压缩存储,RAM深度为592。
0.8码率的包含行重为26的子行3个和行重为27的子行8个。如果不采用压缩存储方式,RAM深度为704,如果采用压缩存储,RAM深度为588。
综上所述为了减少RAM的使用量,在具体实施时Λmn RAM功能单元将采用压缩方式存储。三种码率的压缩存储深度分别为:0.4码率550、0.6码率592、0.8码率588。由于三种码率共用Λmn RAM功能单元,深度取592。0.4码率在非压缩存储方式下Λmn RAM功能单元深度为560小于592,因此0.4码率将不采用压缩存储方式,从而减少译码控制的复杂度。由此可知在实现多码率统一的LDPC解码器时,并没有带来RAM存储容量的浪费。由于Λmn RAM功能单元采用了压缩存储方式,所以需要Λmn数据转换处理单元和λn数据转换处理单元得到更新操作所需的数据。
λn RAM功能模块分为59块子RAM,深度为16。λn数据选择处理单元是用来实现8路的数据选择。由于H矩阵中“1”的分布不规则性,可以根据H矩阵化简数据选择处理单元。由于一次更新运算所需要的码字信息可能分布在相邻的地址空间内,所以需要Λmn数据转换处理单元和λn数据转换处理单元得到更新操作所需的数据。
图6给出了数据更新处理单元的结构框图,根据串行的调度来迭代计算校验节点和变量节点的更新。执行如下:
(b)根据公式11,针对与校验节点C相连的所有邻近变量节点V,计算得到变量到校验的消息
为了得到充足的解码时间,可以用两块同样大小的λn RAM功能单元,实现两级流水操作。由于信息位在后,且λn RAM功能单元分为59块子RAM,所以初始化单元和硬判决单元共享一块λn RAM功能单元,解码逻辑占用另一块λn RAM,每次解码结束后进行乒乓操作。
为了说明本发明的LDPC译码算法优越性,采用国标LDPC码对解码算法中不同消息传递机制和不同校验节点更新进行了组合仿真。仿真采用AWGN信道,调制方式为BPSK调制,最大译码迭代次数为20次。三种码率下各解码算法的解码性能如图7-9所示,平均迭代次数如下表所示。
表1:
Eb/NO | SS+CBP | SS+CMA | FS+CBP | FS+CMA |
2 | 6.13 | 8.35 | 13.77 | 19.92 |
2.05 | 5.8 | 7.49 | 13.1 | 19.9 |
2.1 | 5.53 | 7.16 | 12.52 | 19.87 |
2.15 | 5.21 | 6.45 | 11.99 | 19.84 |
2.2 | 4.9 | 6.27 | 11.51 | 19.82 |
0.4码率各算法的平均迭代次数
表2:
Eb/NO | SS+CBP | SS+CMA | FS+CBP | FS+CMA |
2.2 | 5.62 | 7.13 | 11.46 | 19.83 |
2.25 | 5.28 | 6.39 | 10.79 | 19.79 |
2.3 | 4.99 | 5.99 | 10.2 | 19.76 |
2.35 | 4.65 | 5.46 | 9.69 | 19.73 |
2.4 | 4.32 | 5.12 | 9.25 | 19.71 |
0.6码率各算法的平均迭代次数
表3:
Eb/NO | SS+CBP | SS+CMA | FS+CBP | FS+CMA |
3.2 | 4.72 | 5.25 | 9 | 19.69 |
3.25 | 4.38 | 5.1 | 8.34 | 19.66 |
3.3 | 4.11 | 4.55 | 7.78 | 19.63 |
3.35 | 3.87 | 4.23 | 7.31 | 19.61 |
3.4 | 3.66 | 4.08 | 6.91 | 19.59 |
0.8码率各算法平均迭代次数
图7-9中TOV表示BER=3e-6。图7-9和表1-3中,
消息传递机制:
FS:溢出消息传递机制(Flooding Schedule)。
SS:串行消息传递机制(Serial Schedule)。
校验节点更新:
CBP:传统BP算法的校验节点更新运算。
CMA:offset BP-Based算法校验节点更新运算。
由图7-9可以看出,由于拟合误差的存在,SS+CMA的解码性能比FS+CBP稍差一些,但是非常接近传统的BP算法。在TOV点处0.4码率劣化仅为0.05dB左右、0.6码率劣化仅为0.02dB左右、0.8码率劣化仅为0.01dB左右。
由表1-3可以看出,SS+CMA算法的平均迭代次数非常逼近SS+CBP算法,且平均迭代次数仅为FS+CBP算法的50%左右。
通过以上分析可以得到,串行调度的offset BP-Based算法解码性能非常逼近传统的BP算法,且平均迭代次数仅为传统的BP算法的50%左右,因此减少了解码过程中动态功耗,加快了解码的收敛速度。又由于offsetBP-Based算法的校验更新节点运算为简单的线性修正,因此降低由量化带来的性能损失。
综上所述,本发明可以大大加快解码的收敛速度,降低由量化带来的性能损失和解码器复杂度;并且根据译码过程中数据的变化情况,引入了新的判决解码收敛的方法;本发明不但可以实现单码率的解码,还可在不增加RAM容量的情况下,实现多码率统一的QC-LDPC码解码器。
Claims (10)
1.一种准循环低密度奇偶校验码解码器,其特征在于,包括:
初始化单元,与RAM功能单元连接,接收来自通信信道的码字信息的对数似然比,并将其按接收码字信息的顺序存入RAM功能单元的相应地址单元;
解码单元,与RAM功能单元、ROM功能单元、译码收敛判决单元连接,根据消息传递规则计算临近变量节点和校验节点之间的更新信息;
译码收敛判决单元,与解码单元连接,根据每次迭代后的变量节点更新信息的收敛性或到达预定的最大迭代次数来判断解码是否结束;
硬判决单元,与RAM功能单元连接,根据解码后的变量节点信息的符号位进行硬判决得到码字;
RAM功能单元,与初始化单元、解码单元、硬判决单元连接,存储校验节点更新信息和变量节点更新信息;
ROM功能单元,与解码单元连接,提供H矩阵的图形结构特性。
2.如权利要求1所述的准循环低密度奇偶校验码解码器,其特征在于,所述解码单元包括:
λn数据选择处理单元,与RAM功能单元、λn数据转换处理单元、控制器单元连接,根据H矩阵的图形结构特性选择相应的变量节点信息;
λn数据转换处理单元,与λn数据选择处理单元、数据更新处理单元、控制器单元、译码收敛判决单元连接,实现对变量节点数据的拼接操作,得到解码的数据;
数据更新处理单元,与λn数据转换处理单元、Λmn数据转换处理单元、 控制器单元、译码收敛判决单元连接,实现校验节点和变量节点的更新操作;
Λmn数据转换处理单元,与数据更新处理单元、控制器单元、RAM功能单元连接,实现对校验节点数据的拼接操作,得到解码的数据;
控制器单元,与λn数据选择处理单元、λn数据转换处理单元、数据更新处理单元、Λmn数据转换处理单元、ROM功能单元、译码收敛判决单元连接,通过应用H矩阵的图形结构特性,控制整个解码过程 ;
其中,λn表示各变量节点的后验概率对数似然比 ,Λmn表示校验节点m发送给变量节点n的对数似然比消息。”
3.如权利要求2所述的准循环低密度奇偶校验码解码器,其特征在于,所述RAM功能单元包括:
λnRAM功能单元,与初始化单元、硬判决单元、λn数据选择处理单元连接,用于存储变量节点更新信息λn;
Λmn RAM功能单元,与Λmn数据转换处理单元连接,用于存储校验节点更新信息;
λn RAM功能单元和Λmn RAM功能单元可以通过双口RAM实现,也可以通过同等深度的两块单口RAM实现;
采用两块同样大小的λnRAM功能单元,实现两级流水操作,初始化单元和硬判决单元共享一块λn RAM功能单元,解码逻辑占用另一块λn RAM,每次解码结束后进行乒乓操作 ;
其中,λn表示各变量节点的后验概率对数似然比 ,Λmn表示校验节点m发送给变量节点n的对数似然比消息。
4.如权利要求2所述的准循环低密度奇偶校验码解码器,其特征在于,所述数据更新处理单元,根据串行调度来迭代计算校验节点和变量节点的更新;执行如下操作:
其中,
5.如权利要求1所述的准循环低密度奇偶校验码解码器,其特征在于,根据并行度P,所述ROM功能单元选用P路并行结构,控制器单元可以同时读取P路的变量节点信息的图形结构特性,通过对两次解码过程中相同位置变量节点的更新信息硬判决同或累加来判决解码收敛。
6.根据权利要求5所述的准循环低密度奇偶校验码解码器,其特征在于,所述并行度P可以根据设计任意变化。
7.根据权利要求1所述的准循环低密度奇偶校验码解码器,其特征在于,所述ROM功能单元存储了不同码率的准循环低密度奇偶校验码的H矩阵的图形结构特性。
8.根据权利要求1所述的准循环低密度奇偶校验码解码器,其特征在于,所述解码器的消息传递机制为串行调度机制。
9.根据权利要求1所述的准循环低密度奇偶校验码解码器,其特征在于,所述解码器的校验节点更新采用offset BP-Based算法校验节点更新运算。
10.一种准循环低密度奇偶校验码的解码方法,其特征在于,包括如下步骤:
步骤1、初始化
对每个变量节点n计算后验概率对数似然比:
λn=yn,n∈N
对校验矩阵H中的每一个非零位置初始化:
Amn=0,Hmn≠0
步骤2、迭代过程
对于所有的n∈N(m)
对每个校验节点及每个变量节点n∈N(m),计算
步骤3、尝试判决
若满足以下两个条件之一则停止解码:
(1)ssum=n,应判决输出码字;
(2)达到预定的迭代次数,计算误码率;
否则,返回步骤2开始下一轮迭代;
其中,
yn表示信道接收到的符号序列;
λn表示各变量节点的后验概率对数似然比 ;
Λmn表示从校验节点m发送给变量节点n的对数似然比消息的初值 ;
N(m)表示与第m个校验节点相关联的变量节点集合。N(m)\n表示不含第n个变量节点的、与第m个校验节点相关联的变量节点集合 ;
β表示offset BP-Based译码算法的偏移因子 ;
ssum表示变量节点的收敛性判决之和。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100431651A CN101534166B (zh) | 2008-03-10 | 2008-03-10 | 准循环低密度奇偶校验码解码器及解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100431651A CN101534166B (zh) | 2008-03-10 | 2008-03-10 | 准循环低密度奇偶校验码解码器及解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101534166A CN101534166A (zh) | 2009-09-16 |
CN101534166B true CN101534166B (zh) | 2012-07-11 |
Family
ID=41104580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100431651A Active CN101534166B (zh) | 2008-03-10 | 2008-03-10 | 准循环低密度奇偶校验码解码器及解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101534166B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101872412B (zh) * | 2010-06-01 | 2015-10-07 | 福建新大陆电脑股份有限公司 | 一种条码解码过程使用的码表的生成方法 |
CN102957436B (zh) * | 2011-08-17 | 2017-11-10 | 北京泰美世纪科技有限公司 | 一种低密度奇偶校验码译码装置和译码方法 |
CN102545913B (zh) * | 2012-02-07 | 2015-05-27 | 中兴通讯股份有限公司 | 一种迭代译码方法及系统 |
EP3001585B1 (en) * | 2014-09-29 | 2017-07-12 | Alcatel Lucent | Optical coherent receiver with forward error correction and parallel decoding |
CN105306198B (zh) * | 2015-10-16 | 2018-10-26 | 中国人民解放军国防科学技术大学 | 一种量子密钥分发随机型低密度奇偶校验码并行译码方法 |
US9793923B2 (en) * | 2015-11-24 | 2017-10-17 | Texas Instruments Incorporated | LDPC post-processor architecture and method for low error floor conditions |
US20170288698A1 (en) * | 2016-03-29 | 2017-10-05 | Silicon Motion Inc. | Power saving for bit flipping decoding algorithm in ldpc decoder |
US20170288697A1 (en) * | 2016-03-31 | 2017-10-05 | Silicon Motion Inc. | Ldpc shuffle decoder with initialization circuit comprising ordered set memory |
US20180123615A1 (en) * | 2016-11-02 | 2018-05-03 | Qualcomm Incorporated | Non-linear log-likelihood ratio quantization techniques for ldpc decoder architecture |
US10289348B2 (en) * | 2016-12-30 | 2019-05-14 | Western Digital Technologies, Inc. | Tapered variable node memory |
CN107204780B (zh) * | 2017-04-25 | 2020-02-07 | 东南大学 | polar-LDPC级联码的合并BP解码算法及装置 |
US10491244B2 (en) * | 2017-11-14 | 2019-11-26 | Nyquist Semiconductor Limited | Systems and methods for decoding error correcting codes |
KR102543059B1 (ko) * | 2017-11-22 | 2023-06-14 | 삼성전자주식회사 | 저밀도 패리티 체크 코드의 디코딩 방법, 이를 수행하는 디코더 및 시스템 |
CN108092673B (zh) * | 2018-02-10 | 2021-04-16 | 中国传媒大学 | 一种基于动态调度的bp迭代译码方法及系统 |
CN109005003B (zh) * | 2018-06-26 | 2020-03-31 | 东南大学 | 一种应用准循环矩阵扩展的稀疏标签多址接入方法 |
CN108649963B (zh) * | 2018-07-09 | 2024-07-16 | 卓荣集成电路科技有限公司 | Qc-ldpc解码器、分层解码方法、存储设备及通信模组 |
US10715182B2 (en) * | 2018-07-27 | 2020-07-14 | Innogrit Technologies Co., Ltd. | Systems and methods for decoding error correcting codes with self-generated LLR |
CN109586732B (zh) * | 2018-10-18 | 2022-02-25 | 天津大学 | 中短码ldpc编解码系统和方法 |
CN109787718B (zh) * | 2019-01-23 | 2021-07-06 | 哈尔滨工业大学 | 一种面向量子密钥分发系统的高效ldpc码的简化译码方法 |
CN110120850B (zh) * | 2019-04-08 | 2021-11-16 | 中国电子科技集团公司电子科学研究院 | 基于集破坏的修正置信传播方法及装置 |
CN113497629A (zh) * | 2020-04-07 | 2021-10-12 | 富华科精密工业(深圳)有限公司 | 基于ldpc的译码方法、装置及计算机可读存储介质 |
CN111865334A (zh) * | 2020-08-17 | 2020-10-30 | 长安大学 | 一种低密度奇偶校验码的高速滑窗置信解码方法 |
CN111865335B (zh) * | 2020-09-24 | 2021-01-22 | 浙江三维通信科技有限公司 | 一种分组纠错码的译码方法、装置、存储介质和电子装置 |
CN113055028B (zh) * | 2021-03-18 | 2022-05-17 | 北京得瑞领新科技有限公司 | Ldpc解码方法、解码器、解码装置及存储介质 |
CN113612575B (zh) * | 2021-06-30 | 2022-10-18 | 南京大学 | 面向Wimax协议的QC-LDPC译码器译码方法及系统 |
CN114142871B (zh) * | 2021-12-03 | 2022-06-24 | 北京得瑞领新科技有限公司 | 一种可提前终止迭代的增量计算的ldpc校验方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937413A (zh) * | 2006-09-30 | 2007-03-28 | 东南大学 | 双涡轮结构低密度奇偶校验码解码器 |
CN101072035A (zh) * | 2007-05-31 | 2007-11-14 | 复旦大学 | 一种算法复杂度低的准循环ldpc码的构造方法 |
-
2008
- 2008-03-10 CN CN2008100431651A patent/CN101534166B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937413A (zh) * | 2006-09-30 | 2007-03-28 | 东南大学 | 双涡轮结构低密度奇偶校验码解码器 |
CN101072035A (zh) * | 2007-05-31 | 2007-11-14 | 复旦大学 | 一种算法复杂度低的准循环ldpc码的构造方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101534166A (zh) | 2009-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101534166B (zh) | 准循环低密度奇偶校验码解码器及解码方法 | |
US8185797B2 (en) | Basic matrix, coder/encoder and generation method of the low density parity check codes | |
CN102394661B (zh) | 基于层译码处理的ldpc译码器及译码方法 | |
EP2093887B1 (en) | Apparatus and method for channel encoding and decoding in a communication system using low-density parity-check codes | |
CN101924565B (zh) | Ldpc编码器、解码器、系统及方法 | |
US20060085720A1 (en) | Message passing memory and barrel shifter arrangement in LDPC (Low Density Parity Check) decoder supporting multiple LDPC codes | |
US20050268206A1 (en) | Common circuitry supporting both bit node and check node processing in LDPC (Low Density Parity Check) decoder | |
CN111211790B (zh) | 一种面向5g终端的高吞吐率ldpc译码算法及架构 | |
CN109586732B (zh) | 中短码ldpc编解码系统和方法 | |
WO2011071293A2 (en) | Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code | |
CN107968657B (zh) | 一种适用于低密度奇偶校验码的混合译码方法 | |
CN103138768A (zh) | 编码和解码通信系统中的信道的设备和方法 | |
EP2472725A1 (en) | Method and apparatus for encoding and decoding a channel in a communication system using a linear block code | |
CN103199874B (zh) | 一种低密度奇偶校验码译码方法 | |
US20160142074A1 (en) | Structure and decoder architecture of a class of low-density parity-check code | |
CN103208995A (zh) | 一种低密度奇偶校验码译码的提前终止方法 | |
CN100539441C (zh) | 一种低密度奇偶校验码的译码方法 | |
CN110583023B (zh) | 在通信或广播系统中用于信道编码和解码的方法和设备 | |
Yang et al. | An FPGA implementation of low-density parity-check code decoder with multi-rate capability | |
CN101136639A (zh) | 用于降低复杂性的低密度奇偶校验解码的系统和方法 | |
CN101150378A (zh) | 低密度奇偶校验编码的32apsk系统的交织方案 | |
EP4050804B1 (en) | Method and apparatus for channel encoding and decoding in communication or broadcasting system | |
Kakde et al. | FPGA implementation of decoder architectures for high throughput irregular LDPC codes | |
CN101150550A (zh) | 低密度奇偶校验编码的16apsk系统的交织方案 | |
CN111181570A (zh) | 基于fpga的编译码方法和装置 |
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 |