CN104702292A - 一种部分并行ldpc译码器的实现方法 - Google Patents

一种部分并行ldpc译码器的实现方法 Download PDF

Info

Publication number
CN104702292A
CN104702292A CN201510099023.7A CN201510099023A CN104702292A CN 104702292 A CN104702292 A CN 104702292A CN 201510099023 A CN201510099023 A CN 201510099023A CN 104702292 A CN104702292 A CN 104702292A
Authority
CN
China
Prior art keywords
node
check
information
represent
variable node
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.)
Pending
Application number
CN201510099023.7A
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201510099023.7A priority Critical patent/CN104702292A/zh
Publication of CN104702292A publication Critical patent/CN104702292A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种部分并行LDPC译码器的实现方法,主要解决现有DVB-X2***中LDPC译码器硬件实现复杂度较高的问题;其实现步骤包括:(1)调整LDPC码译码器输入的对数似然比信息的顺序;(2)将输入的1路数据转换成为180路并行的数据;(3)按并行度为180部分并行译码结构,对变量节点进行初始化;(4)进行校验节点的更新处理;(5)进行变量节点的更新处理;(6)当完成所设定的最大迭代次数时,计算出硬判决信息;(7)对硬判决信息进行判决;(8)调整判决信息的顺序,按照与译码器输入顺序相对应的顺序将译码结果输出。

Description

一种部分并行LDPC译码器的实现方法
技术领域
本发明属于无线通信技术领域,涉及一种部分并行LDPC译码器的实现方法,具体地说,涉及一种适用于DVB-X2***的部分并行LDPC译码器的实现方法。
背景技术
为保证信息能够高效可靠的传输,要求通信***具有一定的检纠错能力。前向纠错码能够有效改善信道噪声对信息传输的影响,在现代数字通信***中已得到了广泛应用,可逼近香农限性能的低密度奇偶校验码(Low Density ParityCheck,LDPC)的纠错码技术更是该领域的研究热点。近年来,用于第二代数字视频广播(Digital Video Broadcasting-Satellite 2,Terrestrial 2 or Cable 2,统称DVB-X2)***的LDPC码的低成本、高速FPGA实现得到了广泛关注。现有的LDPC码译码器硬件实现的复杂度较高,如何降低LDPC译码器硬件实现的资源占用,成为了业内学者和技术人员研究的重点。
LDPC码译码器可采用全串行译码结构、全并行译码结构或部分并行译码结构实现。全串行译码结构只有一个变量节点更新单元和一个校验节点更新单元,在每个时钟周期内只进行校验节点的更新或只进行变量节点的更新,其硬件译码实现结构简单,但由于该结构中所有运算过程都采用流水线串行处理,使得其译码延迟非常严重,且延时会随码长的增加而增加,导致其译码吞吐率很低,不能满足DVB-X2高达80Mbps的吞吐率要求。而全并行译码结构中所有校验节点和变量节点的更新是在同一个时钟周期内同时进行的,其译码速率快、吞吐率高,但是以牺牲译码复杂度为代价的,且随着码长的增加其译码复杂度指数增长。DVB系列标准中LDPC码定义16200和64800两种长度,全并行译码结构实现复杂度过高,不利于相关芯片普及。部分并行译码结构各个子模块间是并行处理的,但是每个子模块内部又有串行处理,在译码复杂度、硬件资源的占用、译码器的译码速率及译码吞吐率等方面,部分并行译码结构是全串行和全并行译码结构的折中,是目前工程界和学术界的主要研究方向。对部分并行LDPC译码器而言,并行度及译码器内部处理方式是衡量其实现结构优劣的重要指标。2010年,G.Fernandes首现在其博士论文“Parallel Algorithms and Architectures for LDPCDecoding”中提出了一种采用部分并行译码结构的LDPC译码器的硬件实现方法,并行度为180,内部使用桶状移位处理模块和译码参数分别ROM存储等设计,使得其在复杂度和吞吐率上取得了较好的折中,但译码复杂度仍较高,并且没有针对DVB-X2的多码率、长短码共存等特性进行专门的设计优化。
发明内容
为了克服现有技术中存在的缺陷,本发明利用目前在数字信号处理领域广泛采用的现场可编程逻辑门阵列(FPGA),提出了一种部分并行LDPC译码器的实现方法,通过优化LDPC译码器中数据移位模块及译码参数存储模块,以达到进一步降低其实现的复杂度的目的。
其技术方案如下:
实现本发明的技术思路是:本发明设计的LDPC低复杂度部分并行译码器的实现方法,包括以下过程:调整LDPC码译码器输入的对数似然比信息的顺序,并将输入的1路数据转换成为180路并行的数据,按并行度为180的部分并行译码结构,使用改进的数据移位模块对变量节点进行初始化,进行校验节点的更新处理,然后再进行变量节点的更新,当完成所设定的最大迭代次数时,计算出硬判决信息,最后对硬判决信息进行判决,调整判决信息的顺序,输出对应顺序的译码结果。一种部分并行LDPC译码器的实现方法,包括以下步骤:
1)对输入到译码器中的对数似然比(LLR)信息流进行顺序调整,得到LLR信息流a;
2)将步骤1)所述的LLR信息流a转换为并行的180路数据,存储到第一存储器RAM1中,当一帧数据接收完成之后,将第一存储器RAM1中的数据转存到第二存储器RAM2中;
3)当下一帧数据到达时再次将输入数据存入到第一存储器RAM1中,同时,译码控制模块根据译码器输入的码率控制信息,输出对应码率下第二存储器RAM2的读地址信息,输出第二存储器RAM2中的数据,得到LLR信息流b,其对应变量节点i的LLR信息为L(Pi),Pi表示变量节点i的概率信息;
4)译码控制模块根据译码器输入的码率控制信息,输出对应码率的译码控制信息,控制数据移位模块将LLR信息流b进行移位,得到变量节点的初始值L(0)(qij),qij表示变量节点i传给校验节点j的外部概率信息;
5)当译码使能信号有效时,根据译码控制模块输出的对应码率的译码控制参数,对校验节点进行更新,校验节点的更新公式如下:
L ( k ) ( r ji ) = α Π i ′ ∈ R j \ i sgn ( L ( k ) ( q i ′ j ) ) · min i ′ ∈ R j \ i ( | L ( k ) ( q i ′ j ) | ) .
其中k是译码的迭代次数,初始值为0,α是修正因子,Rj表示所有与校验节点j相连的变量节点的集合,Rj\i表示除变量节点i之外所有与校验节点j相连的变量节点的集合,i′∈Rj\i表示i′是集合Rj\i中的元素,L(k)(rji)是第k次迭代得到的校验节点j的LLR信息,其中rji表示校验节点j传给变量节点i的外部概率信息;L(k)(qi′j)表示第k次迭代时变量节点i′向校验节点j传送的LLR信息,qi′j表示变量节点i′传给校验节点j的外部概率信息;sgn(L(k)(qi′j))表示求L(k)(qi′j)的符号,表示求所有满足变量节点i′的sgn(L(k)(qi′j))的乘积,|L(k)(qi′j)|表示L(k)(qi′j)的绝对值,表示求出所有满足变量节点i′∈Rj\i的|L(k)(qi′j)|的最小值;
6)根据译码控制模块输出的译码控制参数,使用数据移位模块将步骤5)中计算得到的校验节点的LLR信息进行移位,用于变量节点的更新;
7)当步骤6)所述的校验节点LLR信息的移位完成之后,译码使能信号再次变为有效,此时根据译码控制模块输出的译码控制参数,对变量节点进行更新,变量节点的更新公式如下:
L ( k ) ( q ij ) = L ( P i ) + Σ j ′ ∈ C ( i ) \ j L ( k ) ( r j ′ i ) ,
其中C(i)表示所有与变量节点i相连的校验节点的集合,C(i)\j表示除校验节点j之外所有与变量节点i相连的校验节点的集合,j′∈C(i)\j表示j′是集合C(i)\j的元素,L(k)(qij)表示第k次迭代得到的变量节点i的LLR信息,L(k)(rj′i)表示第k次迭代时校验节点j′向变量节点i传送的LLR信息,rj′i表示校验节点j′传给变量节点i的外部概率信息,表示求所有满足校验节点j′的所有L(k)(rj′i)的和;
8)根据译码控制模块输出的译码控制参数,使用数据移位模块将步骤7)中计算得到的变量节点的LLR信息进行移位,用于下一次译码迭代过程中校验节点的更新;
9)迭代次数k增加1,重复步骤5)~8),进行下一次的译码迭代过程;
10)当迭代次数k达到设定的最大迭代次数h时,计算所有变量节点的硬判决信息,进行硬判决并将判决结果进行缓存,其计算公式如下:
L ( h ) ( q i ) = L ( P i ) + Σ j ∈ C ( i ) L ( h ) ( r ji )
其中j∈C(i)表示j是集合C(i)中的元素,表示求解所有满足校验节点j的L(k)(rji)的和,rji表示校验节点j传给变量节点i的外部概率信息;
11)调整判决信息的顺序,按照与译码器输入顺序相对应的顺序将译码结果输出。同时,译码使能信号变为有效;
12)重复步骤3)~11)对下一帧数据进行译码。
优选地,其中步骤3)、步骤4)、步骤5)、步骤6)、步骤7)和步骤8)中所述的译码控制模块,使用一个较大的只读存储器ROM来存储不同码率的译码参数,较传统的用多个只读存储器ROM存储不同码率参数的方法,利用了FPGA器件特性,降低了LDPC译码器硬件实现的资源占用。且译码控制模块输出的译码控制参数主要包括:译码使能参数、数据移位模块的移位位置及移位的深度、数据移位模块的移位位置首次出现的使能信号和数据存储模块RAM2的读地址。
优选地,其中步骤4)、步骤6)和步骤8)中所述的数据移位模块,其实现采用了条件并行方式控制数据移位模块的输出,提高了LDPC译码器FPGA硬件实现的最大工作时钟。
优选地,其中所述步骤5)中校验节点的更新过程,按如下步骤进行:
5a)计算出所有变量节点的LLR信息的绝对值|L(k)(qij)|;
5b)计算所有满足变量节点i′的LLR信息的最小值
5c)计算所有满足变量节点i′的LLR信息的符号位的乘积
5d)计算校验节点的更新值 L ( k ) ( r ji ) = α Π i ′ ∈ R j \ i sgn ( L ( k ) ( q i ′ j ) ) · min i ′ ∈ R j \ i ( | L ( k ) ( q i ′ j ) | ) .
优选地,其中所述步骤7)中变量节点的更新过程,按如下步骤进行:
7a)计算出所有校验节点j′的LLR信息的和
7b)根据译码控制模块输出的控制信息输出RAM2中存储的变量节点的初始值L(Pi);
7c)计算第k次迭代得到的变量节点的LLR信息
优选地,其中所述步骤10)中硬判决信息的计算,按如下步骤进行:
10a)根据译码迭代完成使能信号计算出所有校验节点LLR信息的和
10b)顺序输出RAM2中存储的变量节点初始值L(Pi);
10c)计算所有变量节点的硬判决信息
10d)根据步骤10c)计算得到的硬判决信息L(h)(qi)的符号位进行译码判决;
10e)将步骤10d)中得到的判决信息进行缓存,用于译码输出。
本发明的有益效果为:
1)本发明采用一个只读存储器ROM来存储多个码率的译码参数,通过译码器输入的不同码率的控制信息输出对应码率的译码参数,避免了传统的LDPC码译码器中参数控制模块中使用不同只读存储器ROM存储不同码率译码参数的方法,减小了LDPC码译码器FPGA硬件实现的资源占用。在Xilinx ML605 FPGA开发板上其RAM占用资源由原来的41%降到了36%。
2)本发明采用条件并行方式控制数据移位模块的输出,较传统的LDPC码译码器中通过多个加法器及循环语句的实现方法,提高了LDPC码译码器FPGA硬件实现的最大工作时钟。
附图说明
图1是本发明的实现流程图;
图2是本发明的LDPC译码器的译码框图;
图3是本发明以DVB-S2标准长帧中码率为1/4、1/3、1/2、3/5的LDPC码译码器为例的误比特率性能仿真图;
图4是本发明以DVB-S2标准长帧中码率为2/3、3/4、4/5、5/6的LDPC码译码器为例的误比特率性能仿真图;
图5是本发明以DVB-S2标准短帧中码率为1/5、1/3、3/5的LDPC码译码器为例的误比特率性能仿真图;
图6是本发明以DVB-S2标准短帧中码率为11/15、7/9、37/45的LDPC码译码器为例的误比特率性能仿真图。
具体实施方式
下面结合附图和具体实施方式对本发明的技术方案作进一步详细地说明。
参照图1和图2,本发明的具体实现步骤如下:
步骤1:对输入到译码器的对数似然比(LLR)信息进行顺序的调整。
本实施例以DVB-X2标准LDPC码为例,当输入数据的使能信号有效时,对输入到译码器中的LLR信息流进行顺序的调整,得到LLR信息流a。
步骤2:将输入到译码器的1路数据转换为180路并行的数据。
将步骤1所述的LLR信息流a转换为并行的180路数据,存储到第一存储器RAM1中,当一帧数据接收完成之后,将第一存储器RAM1中的数据转存到第二存储器RAM2中。
步骤3:输出180路并行的数据。
当下一帧数据到达时再次将输入数据存入到第一存储器RAM1中,同时,译码控制模块根据译码器输入的码率控制信息,输出对应码率下第二存储器RAM2的读地址信息,输出第二存储器RAM2中的数据,得到180路并行的LLR信息流b,其对应变量节点i的LLR信息为L(Pi)。
该步骤及以下步骤中所述的译码控制模块,其实现采用了一个较大的只读存储器ROM来存储不同码率的译码参数,并通过地址控制加以选择,与不同码率使用不同ROM来存储译码参数的方法相比,本发明提出的方法利用了FPGA器件特性,降低了硬件实现的资源占用,提高了LDPC译码器的最大工作时钟。
步骤4:对变量节点进行初始化。
译码控制模块根据译码器输入的码率控制信息,输出对应码率下的移位位置及移位深度信息,控制数据移位模块将LLR信息流b进行移位,得到变量节点的初始值L(0)(qij)。
该步骤及以下步骤中所述的数据移位模块移位的实现,采用条件并行方式控制实现数据的循环移位,取代了传统的通过多个加法器及循环语句的实现方法。
步骤5:对校验节点进行更新
当译码使能信号有效时,根据译码控制模块输出的对应码率的译码控制参数,对校验节点进行更新,本步骤的具体实现如下:
5a)计算出所有变量节点的LLR信息的绝对值|L(k)(qij)|。其中,k是译码的迭代次数,初始值为0,L(k)(qii)表示第k次迭代时变量节点i向校验节点j传送的LLR信息,|L(k)(qi′j)|表示L(k)(qi′j)的绝对值;
5b)计算所有满足变量节点i′的LLR信息的最小值其中,Rj表示所有与校验节点j相连的变量节点的集合,Rj\i表示除变量节点i之外所有与校验节点j相连的变量节点的集合,i′∈Rj\i表示i′是集合Rj\i中的元素,表示求出所有满足变量节点i′∈Rj\i的|L(k)(qi′j)|的最小值;
5c)计算所有满足变量节点i′的LLR信息的符号位的乘积其中,L(k)(qi′j)表示第k次迭代时变量节点i′向校验节点传送的LLR信息,sgn(L(k)(qi′j))表示求L(k)(qi′j)的符号,是所有满足变量节点i′的sgn(L(k)(qi′j))的乘积。
5d)计算校验节点的更新值 L ( k ) ( r ji ) = α Π i ′ ∈ R j \ i sgn ( L ( k ) ( q i ′ j ) ) · min i ′ ∈ R j \ i ( | L ( k ) ( q i ′ j ) | ) . 其中,α是修正因子,L(k)(rji)是第k次迭代到的校验节点j的LLR信息。
步骤6:对校验节点的LLR信息进行移位
译码控制模块根据译码器输入的码率控制信息,输出对应码率下移位的位置及移位的深度信息,控制数据移位模块步骤5中计算得到的校验节点的LLR信息L(k)(rji)进行移位,用于变量节点的更新。
步骤7:对变量节点进行更新。
当步骤6所述的校验节点LLR信息的移位完成之后,译码使能信号再次变为有效,此时根据译码控制模块输出的译码控制参数,对变量节点进行更新,本步骤的具体实现如下:
7a)计算出所有校验节点j′的LLR信息的和其中,C(i)表示所有与变量节点i相连的校验节点的集合,C(i)\j表示除校验节点j之外所有与变量节点i相连的校验节点的集合,j′∈C(i)\j表示j′是集合C(i)\j的元素,L(k)(rj′i)表示第k次迭代时校验节点j′向变量节点i传送的LLR信息,表示求所有满足校验节点j′的所有L(k)(rj′i)的和。
7b)根据译码控制模块输出的对应码率的RAM2的读地址信息,输出RAM2中存储的变量节点的初始值L(Pi);
7c)计算第k次迭代得到的变量节点的LLR信息其中L(k)(qij)表示第k次迭代得到的变量节点i的LLR信息。
步骤8:对变量节点进行移位。
根据译码控制模块输出的对应码率的移位位置及移位深度信息,将步骤7中计算得到的变量节点的LLR信息进行移位,用于下一次译码迭代过程中校验节点的更新。
步骤9:重复步骤5~8,进行下一次的译码迭代过程。
步骤10:译码判决。
当迭代次数k达到设定的最大迭代次数h时,计算所有变量节点的硬判决信息,进行硬判决并将判决结果进行缓存,本步骤的具体实现如下:
10a)根据译码迭代完成使能信号计算出所有校验节点LLR信息的和其中j∈C(i)表示j是集合C(i)中的元素,表示求解所有满足校验节点j的L(k)(rji)的和。
10b)顺序输出RAM2中存储的变量节点初始值L(Pi)。
10c)计算硬判决信息。
达到最高译码迭代次数h时,根据公式计算出所有变量节点的硬判决信息L(h)(qi)。
10d)译码判决。
根据步骤10c)计算得到的硬判决信息L(h)(qi)进行译码判决,若L(h)(qi)≥0,则否则因此,L(h)(qi)的符号位作为其译码判决输出。
10e)将步骤10d)中得到的判决结果进行缓存,用于译码输出。
步骤11:译码输出。
调整判决信息的顺序,按照与译码器输入顺序相对应的顺序将译码结果输出。同时,译码使能信号变为有效;
步骤12:重复步骤3~11对下一帧数据进行译码。
实施例
本发明的效果可通过以下仿真结果进一步说明:
1.仿真条件
以DVB-S2标准中LDPC码的长帧和短帧为例,仿真信道采用AWGN信道。长帧的码长N=64800,短帧的码长N=16200,迭代次数h为20次,LDPC码译码器结构采用并行度为180的部分并行译码结构,采用归一化最小和算法(NMSA),修正因子α=0.875。
2.仿真内容与结果
以DVB-S2标准中LDPC码长帧为例,相同译码算法条件下,分别得到MATLAB实现的浮点数LDPC译码器仿真以及本发明LDPC译码器FPGA下载两种情况下的误码率随信噪比变化的曲线,不同码率结果如图3、图4所示。图5与图6进一步给出了短帧条件下,MATLAB浮点仿真和本发明FPGA下载测试结果。
表1以DVB-S2标准为例的LDPC译码器综合资源使用情况说明
从表1综合资源使用情况及图3、图4、图5和图6的仿真可以看出,本发明LDPC码译码器的FPGA硬件实现与LDPC码译码器的MATLAB实现的仿真曲线基本重合,较浮点算法损失少于0.1dB,基于100MHz工作时钟数据的计算吞吐率最高可达132Mbps。同时,本发明采用的一系列针对DVB-X2标准的资源优化策略,使得算法的FPGA实现较优化前的查找表资源和存储器资源有了较大幅度的减少。说明本发明在较低译码复杂度的条件下,具有较好的误码性能。
以上所述,仅为本发明较佳的具体实施方式,本发明的保护范围不限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可显而易见地得到的技术方案的简单变化或等效替换均落入本发明的保护范围内。

Claims (6)

1.一种部分并行LDPC译码器的实现方法,其特征在于,
包括以下步骤:
1)对输入到译码器中的对数似然比LLR信息流进行顺序调整,得到LLR信息流a;
2)将步骤1)所述的LLR信息流a转换为并行的180路数据,存储到第一存储器RAM1中,当一帧数据接收完成之后,将第一存储器RAM1中的数据转存到第二存储器RAM2中;
3)当下一帧数据到达时再次将输入数据存入到第一存储器RAM1中,同时,译码控制模块根据译码器输入的码率控制信息,输出对应码率下第二存储器RAM2的读地址信息,输出第二存储器RAM2中的数据,得到LLR信息流b,其对应变量节点i的LLR信息为L(Pi),pi表示变量节点i的概率信息;
4)译码控制模块根据译码器输入的码率控制信息,输出对应码率的译码控制信息,控制数据移位模块将LLR信息流b进行移位,得到变量节点的初始值L(0)(qij),qij表示变量节点i传给校验节点j的外部概率信息;
5)当译码使能信号有效时,根据译码控制模块输出的对应码率的译码控制参数,对校验节点进行更新,校验节点的更新公式如下:
L ( k ) ( r ji ) = α Π i ′ ∈ R j \ i sgn ( L ( k ) ( q i ′ j ) ) · min i ′ ∈ R j \ i ( | L ( k ) ( q i ′ j ) | ) ,
其中k是译码的迭代次数,初始值为0,α是修正因子,Rj表示所有与校验节点j相连的变量节点的集合,Rj\i表示除变量节点i之外所有与校验节点j相连的变量节点的集合,i′∈Rj\i表示i′是集合Rj\i中的元素,L(k)(rji)是第k次迭代得到的校验节点j的LLR信息,rji表示校验节点j传给变量节点i的外部概率信息L(k)(qi′j)表示第k次迭代时变量节点i′向校验节点j传送的LLR信息,qi′j表示变量节点i′传给校验节点j的外部概率信息,sgn(L(k)(qi′j))表示求L(k)(qi′j)的符号,表示求所有满足变量节点i′的sgn(L(k)(qi′j))的乘积,|L(k)(qi′i)|表示L(k)(qi′j)的绝对值,表示求出所有满足变量节点i′∈Rj\i的|L(k)(qi′j)|的最小值;
6)根据译码控制模块输出的译码控制参数,使用数据移位模块将步骤5)中计算得到的校验节点的LLR信息进行移位,用于变量节点的更新;
7)当步骤6)所述的校验节点LLR信息的移位完成之后,译码使能信号再次变为有效,此时根据译码控制模块输出的译码控制参数,对变量节点进行更新,变量节点的更新公式如下:
L ( k ) ( q ij ) = L ( P i ) + Σ j ′ ∈ C ( i ) \ j L ( k ) ( r j ′ i ) ,
其中C(i)表示所有与变量节点i相连的校验节点的集合,C(i)\j表示除校验节点j之外所有与变量节点i相连的校验节点的集合,j′∈C(i)\j表示j′是集合C(i)\j的元素,L(k)(qij)表示第k次迭代得到的变量节点i的LLR信息,L(k)(rj′i)表示第k次迭代时校验节点j′向变量节点i传送的LLR信息,rj′i表示校验节点j′传给变量节点i的外部概率信息,表示求所有满足校验节点j′的所有L(k)(rj′i)的和;
8)根据译码控制模块输出的译码控制参数,使用数据移位模块将步骤7)中计算得到的变量节点的LLR信息进行移位,用于下一次译码迭代过程中校验节点的更新;
9)迭代次数k增加1,重复步骤5)~8),进行下一次的译码迭代过程;
10)当迭代次数k达到设定的最大迭代次数h时,计算所有变量节点的硬判决信息,进行硬判决并将判决结果进行缓存,其计算公式如下:
L ( h ) ( q i ) = L ( P i ) + Σ j ∈ C ( i ) L ( h ) ( r ji )
其中j∈C(i)表示j是集合C(i)中的元素,表示求解所有满足校验节点j的L(k)(rji)的和,rji表示校验节点j传给变量节点i的外部概率信息;
11)调整判决信息的顺序,按照与译码器输入顺序相对应的顺序将译码结果输出;同时,译码使能信号变为有效;
12)重复步骤3)~11)对下一帧数据进行译码。
2.根据权利要求1所述的部分并行LDPC译码器的实现方法,其特征在于,其中步骤3)、步骤4)、步骤5)、步骤6)、步骤7)和步骤8)中所述的译码控制模块,使用一个较大的ROM来存储不同码率的译码参数,译码控制模块输出的译码控制参数主要包括:译码使能参数、数据移位模块的移位位置及移位的深度、数据移位模块的移位位置首次出现的使能信号和数据存储模块RAM2的读地址。
3.根据权利要求1所述的部分并行LDPC译码器的实现方法,其特征在于,其中步骤4)、步骤6)和步骤8)中所述的数据移位模块,其实现采用了条件并行方式控制数据移位模块的输出,提高了LDPC译码器FPGA硬件实现的最大工作时钟。
4.根据权利要求1所述的部分并行LDPC译码器的实现方法,其特征在于,其中所述步骤5)中校验节点的更新过程,按如下步骤进行:
5a)计算出所有变量节点的LLR信息的绝对值|L(k)(qij)|;
5b)计算所有满足变量节点i′的LLR信息的最小值
5c)计算所有满足变量节点i′的LLR信息的符号位的乘积
5d)计算校验节点的更新值 L ( k ) ( r ji ) = α Π i ′ ∈ R j \ i sgn ( L ( k ) ( q i ′ j ) ) · min i ′ ∈ R j \ i ( | L ( k ) ( q i ′ j ) | ) .
5.根据权利要求1所述的部分并行LDPC译码器的实现方法,其特征在于,其中所述步骤7)中变量节点的更新过程,按如下步骤进行:
7a)计算出所有校验节点j′的LLR信息的和
7b)根据译码控制模块输出的控制信息输出RAM2中存储的变量节点的初始值L(Pi);
7c)计算第k次迭代得到的变量节点的LLR信息
6.根据权利要求1所述的部分并行LDPC译码器的实现方法,其特征在于,其中所述步骤10)中硬判决信息的计算,按如下步骤进行:
10a)根据译码迭代完成使能信号计算出所有校验节点LLR信息的和
10b)顺序输出RAM2中存储的变量节点初始值L(Pi);
10c)计算所有变量节点的硬判决信息
10d)根据步骤10c)计算得到的硬判决信息L(h)(qi)的符号位进行译码判决;
10e)将步骤10d)中得到的判决信息进行缓存,用于译码输出。
CN201510099023.7A 2015-03-06 2015-03-06 一种部分并行ldpc译码器的实现方法 Pending CN104702292A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510099023.7A CN104702292A (zh) 2015-03-06 2015-03-06 一种部分并行ldpc译码器的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510099023.7A CN104702292A (zh) 2015-03-06 2015-03-06 一种部分并行ldpc译码器的实现方法

Publications (1)

Publication Number Publication Date
CN104702292A true CN104702292A (zh) 2015-06-10

Family

ID=53349104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510099023.7A Pending CN104702292A (zh) 2015-03-06 2015-03-06 一种部分并行ldpc译码器的实现方法

Country Status (1)

Country Link
CN (1) CN104702292A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106571829A (zh) * 2016-10-27 2017-04-19 西安空间无线电技术研究所 一种基于fpga的高速自适应dvb‑s2 ldpc译码器及译码方法
CN108566210A (zh) * 2018-03-12 2018-09-21 西安电子科技大学 兼容IEEE802.11n标准的LDPC编码***及方法、LDPC编码器
CN110278000A (zh) * 2019-07-16 2019-09-24 南京中科晶上通信技术有限公司 基于dvb-s2标准的ldpc码并行译码fpga实现架构及译码方法
CN110380735A (zh) * 2019-06-24 2019-10-25 东南大学 一种基于单指令多数据流的软件实现qc-ldpc译码方法
CN110830050A (zh) * 2019-11-27 2020-02-21 武汉虹信通信技术有限责任公司 一种ldpc译码方法、***、电子设备及存储介质
CN110971242A (zh) * 2019-11-29 2020-04-07 中科院计算技术研究所南京移动通信与计算创新研究院 通用化的ldpc译码桶形移位器
CN112260698A (zh) * 2019-07-22 2021-01-22 上海高清数字科技产业有限公司 Ldpc译码器中动态校正因子配置方法
CN112350736A (zh) * 2019-07-22 2021-02-09 上海高清数字科技产业有限公司 Ldpc译码器中动态校正因子配置方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106571829B (zh) * 2016-10-27 2019-09-06 西安空间无线电技术研究所 一种基于fpga的高速自适应dvb-s2 ldpc译码器及译码方法
CN106571829A (zh) * 2016-10-27 2017-04-19 西安空间无线电技术研究所 一种基于fpga的高速自适应dvb‑s2 ldpc译码器及译码方法
CN108566210A (zh) * 2018-03-12 2018-09-21 西安电子科技大学 兼容IEEE802.11n标准的LDPC编码***及方法、LDPC编码器
CN108566210B (zh) * 2018-03-12 2021-10-22 西安电子科技大学 兼容IEEE 802.11n标准的LDPC编码***及方法、LDPC编码器
CN110380735A (zh) * 2019-06-24 2019-10-25 东南大学 一种基于单指令多数据流的软件实现qc-ldpc译码方法
CN110278000B (zh) * 2019-07-16 2020-12-11 南京中科晶上通信技术有限公司 基于dvb-s2标准的ldpc码并行译码fpga实现架构的译码方法
CN110278000A (zh) * 2019-07-16 2019-09-24 南京中科晶上通信技术有限公司 基于dvb-s2标准的ldpc码并行译码fpga实现架构及译码方法
CN112350736A (zh) * 2019-07-22 2021-02-09 上海高清数字科技产业有限公司 Ldpc译码器中动态校正因子配置方法
CN112260698A (zh) * 2019-07-22 2021-01-22 上海高清数字科技产业有限公司 Ldpc译码器中动态校正因子配置方法
CN110830050A (zh) * 2019-11-27 2020-02-21 武汉虹信通信技术有限责任公司 一种ldpc译码方法、***、电子设备及存储介质
CN110830050B (zh) * 2019-11-27 2023-09-29 武汉虹旭信息技术有限责任公司 一种ldpc译码方法、***、电子设备及存储介质
CN110971242A (zh) * 2019-11-29 2020-04-07 中科院计算技术研究所南京移动通信与计算创新研究院 通用化的ldpc译码桶形移位器
CN110971242B (zh) * 2019-11-29 2023-11-03 中科南京移动通信与计算创新研究院 通用化的ldpc译码桶形移位器

Similar Documents

Publication Publication Date Title
CN104702292A (zh) 一种部分并行ldpc译码器的实现方法
CN105187073B (zh) 一种极化码的bp译码方法及装置
CN110915141B (zh) 基于极化码的turbo乘积码
CN100486118C (zh) 一种基于分段偏移修正的最小和译码方法
CN102545913B (zh) 一种迭代译码方法及***
CN101951266B (zh) Turbo并行译码的方法及译码器
CN102412843B (zh) 自适应的归一化最小和ldpc译码方法及译码器
CN102412846B (zh) 一种适用于低密度奇偶校验码的多值修正最小和解码方法
CN108462496B (zh) 一种基于随机比特流更新的ldpc译码器
CN108847848A (zh) 一种基于信息后处理的极化码的bp译码算法
CN103259545A (zh) 基于振荡的准循环低密度奇偶校验码置信传播译码方法
CN110730008B (zh) 一种基于深度学习的rs码置信传播译码方法
CN110233628B (zh) 极化码的自适应置信传播列表译码方法
CN102523076A (zh) 通用可配置的高速率Turbo码译码***及其方法
CN101577607B (zh) 可提前结束迭代的归一化最小和译码方法
CN105262493A (zh) 低密度奇偶校验码的译码方法
CN104092468A (zh) 基于加速交替方向乘子法的ldpc码线性规划译码方法
CN104579362A (zh) 一种空间通信***中部分并行结构ldpc码译码***及其方法
CN104158549A (zh) 一种极性码译码方法及译码装置
CN103152057A (zh) 一种基于双归一化修正因子的ldpc译码器及译码方法
CN104184480A (zh) 一种降低复杂度的ldpc改进译码方法
CN102611462B (zh) 一种ldpc-cc译码算法及译码器
CN103475378B (zh) 一种适用于光通信的高吞吐率ldpc译码器
US20120272125A1 (en) Stopping Methods for Iterative Signal Processing
CN115037310B (zh) 一种基于随机计算的5g ldpc译码器性能优化方法及架构

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150610

WD01 Invention patent application deemed withdrawn after publication