CN115395964A - 一种增强部分并行架构高速ldpc译码器及译码方法 - Google Patents
一种增强部分并行架构高速ldpc译码器及译码方法 Download PDFInfo
- Publication number
- CN115395964A CN115395964A CN202210913859.6A CN202210913859A CN115395964A CN 115395964 A CN115395964 A CN 115395964A CN 202210913859 A CN202210913859 A CN 202210913859A CN 115395964 A CN115395964 A CN 115395964A
- Authority
- CN
- China
- Prior art keywords
- storage module
- information storage
- module
- decoding
- information
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种增强部分并行架构高速LDPC译码器及译码方法,所述译码器包括运算单元、信道接收信息存储模块、置信度信息存储模块、硬判决存储模块、数据对齐模块和控制器;本发明将多对角线矩阵进行拆分并采用分布式存储策略分别存储置信度信息;然后将拆分后子矩阵的多行(列)置信度信息存储在同一内存地址,成倍增加了每次内存读写数据量与节点运算量,提高了译码数据吞吐率。本发明在存储器和运算单元之间设计了低复杂度的数据对齐器,有效地避免了存储器访存冲突。
Description
技术领域
本发明属于通信技术领域,具体涉及一种增强部分并行架构高速LDPC译码器及译码方法。
背景技术
随着空间探测任务需求日益提升,航天器携带的载荷设备趋于精密多样,星地链路传输数据量大幅增加。近地轨道(Low Earth Orbit,LEO)卫星因具有发射成本低、通信时延小和覆盖范围广等优势而被广泛应用,其具有如下特点:过境时间短,数传时间有限;一般为小卫星,星上硬件资源有限;通信信道具有时变特性,如何在LEO卫星星上硬件资源、数传时间有限的情况下实现高速数据传输已成为我国目前航天器发展需要解决的核心难题。信道编码作为高速数传的重要环节,能够提高数传系统的抗干扰性和可靠性。低密度奇偶校验(Low-density Parity-check,LDPC)码是一种纠错性能逼近Shannon极限的信道编码,已广泛应用于光纤通信、空间通信、存储等领域。
目前二元LDPC译码硬件实现最常用的算法是修正最小和(Normalized Min-SumAlgorithm,NMSA)译码算法,译码过程中需要进行大量计算并需要对计算得到的置信度信息进行存储,硬件资源消耗大,另外,译码过程中置信度信息存取可能会存在访存冲突,增加了译码器的实现难度。如何设计高速高效的LDPC译码器,获得硬件复杂度和译码性能之间的平衡面临着挑战。
LDPC码译码过程中,校验节点和变量节点更新可以同时进行,因此可利用并行结构实现高速译码器。并行度的选择对译码器硬件资源消耗以及译码吞吐率有较大影响,通常有全并行架构、串行架构和部分并行架构三种架构。全并行架构LDPC译码器通常具有最高的译码吞吐率,但资源占用较多、布局布线复杂、处理节点之间存在路由拥塞,实现复杂度高。串行架构译码器需要的硬件资源最少,但是译码吞吐率低,难以满足实际高速数传需求。部分并行架构很好的实现了资源和吞吐率的折衷。基于FPGA的部分并行架构译码器通常利用块随机存取存储器(Block Random Access Memory,BRAM)来存储处理节点之间交换的置信度信息。但是,当同时计算相邻的行时,需要同时访问多个BRAM地址,因此需要仔细设计置信度消息在BRAM中的存储结构与位置,并且需要专门设计BRAM和处理单元之间的接口,否则将导致内存访问冲突使译码器达到性能瓶颈。
发明内容
本发明的目的在于克服译码过程中的访存冲突问题以及译码吞吐率低的缺陷。
本发明提出了一种增强部分并行架构高速LDPC译码器,所述译码器包括运算单元、信道接收信息存储模块、置信度信息存储模块、硬判决存储模块、数据对齐模块和控制器;
所述运算单元:用于读取所述信道接收信息存储模块信息以及置信度信息存储模块信息完成译码过程中的校验节点更新和变量节点更新运算,输出译码结果;
所述信道接收信息存储模块:用于接收并缓存外部输入的LDPC译码软信息;
所述置信度信息存储模块:用于存储译码过程中所述运算单元计算产生的节点更新置信度信息;
所述硬判决存储模块:用于对译码过程中所述运算单元计算产生的硬判决结果进行存储;
所述数据对齐模块:在译码过程中利用数据对齐模块规避访存冲突;
所述控制器:用于协调各模块的工作,完成译码过程。
作为上述装置的一种改进,所述信道接收信息存储模块由n个RAM组成,每个RAM位宽为P×Q比特,深度为L/P;
其中,n为LDPC码校验矩阵包含子矩阵的列数;P为增强并行度;Q为量化比特数;L为LDPC码校验矩阵子矩阵的阶数。
作为上述装置的一种改进,所述置信度信息存储模块由m×n×cirweight个RAM组成,每个RAM位宽为P×Q比特,深度为L/P;
其中,m为LDPC码校验矩阵包含子矩阵的行数;cirweight为LDPC码校验矩阵子矩阵行列重数。
作为上述装置的一种改进,所述硬判决存储模块由n个RAM组成,每个RAM位宽为P,深度为L/P。
作为上述装置的一种改进,所述运算单元包括校验节点更新模块和变量节点更新模块。
作为上述装置的一种改进,所述校验节点更新模块由m×P个校验节点处理单元组成;所述校验节点处理单元包括符号求解子单元、最小值次小值求解子单元和修正因子单元。
作为上述装置的一种改进,所述变量节点更新模块由n×P个变量节点处理单元组成,采用树形级联累加器实现。
本发明还提供一种增强部分并行架构高速LDPC译码器译码方法,基于上述译码器实现,所述方法包括:
步骤1:初始化:首先将接收到的一帧LDPC码信息存储至所述信道接收信息存储模块的各RAM块,然后将接收的信道信息按顺序分成n段,按顺序存入所述置信度信息存储模块中的各RAM块,其中所述信道接收信息存储模块、所述置信度信息存储模块中的数据按列顺序存储;初始化迭代次数为0,最大迭代次数为ITER_NUM;ITER_NUM>1,具体迭代次数根据译码性能确定;
其中,LDPC码校验矩阵由m×n个行列重为cirweight的L×L阶子矩阵Ai,j构成;
步骤2:校验节点更新:采用m×P个校验节点处理单元并行工作;每个时钟周期首先从所述置信度信息存储块中读取置信度信息,每个RAM块读写地址顺序为:
floor(bi,j/P),floor(bi,j/P)+1,…0,1,…floor(bi,j/P)-1
其中,bi,j为子矩阵Ai,j的循环移位值;P为增强并行度;floor为向下取整函数;
然后将读出的置信度信息经所述数据对齐模块后送入校验节点处理单元计算并更新传递给变量节点的置信度信息;最后,经数据对齐模块后将结果写回所述置信度信息存储模块中;
步骤3:变量节点更新:采用n×P个变量节点处理单元并行工作;每个时钟周期首先从所述置信度信息存储模块和所述信道接收信息存储模块中读取置信度信息以及信道接收信息,每个RAM块读写地址顺序为0,1,2,…L/P;然后将读出的置信度信息经所述数据对齐模块后送入变量节点处理单元,同时将信道接收信息送入变量节点处理单元,由变量节点处理单元计算并更新传递给校验节点的置信度信息以及硬判决信息;最后经数据对齐模块将结果写回所述置信度信息存储模块中,并将硬判决信息存储至所述硬判决信息存储模块中;迭代次数加1;
步骤4:终止判决:如果迭代次数达到最大迭代次数ITER_NUM,则终止迭代,执行步骤5,否则跳转到步骤2继续进行迭代译码;
步骤5:译码输出:从所述硬判决信息存储模块中读出硬判决结果,每个RAM块读地址顺序为0,1,2,…L/P,每个时钟输出P个硬判决结果作为译码结果输出。
作为上述方法的一种改进,最大迭代次数为10。
与现有技术相比,本发明的优势在于:
1、本发明将多对角线矩阵进行拆分并采用分布式存储策略分别存储置信度信息;然后将拆分后子矩阵的多行(列)置信度信息存储在同一内存地址,成倍增加了每次内存读写数据量与节点运算量,提高了译码数据吞吐率。
2、本发明在存储器和运算单元之间设计了低复杂度的数据对齐器,有效地避免了存储器访存冲突。
3、在Xilinx FPGA上对提出的LDPC译码器进行了实现,结果表明,在250MHz工作时钟下,译码吞吐率为1.02Gbps。
附图说明
图1所示为增强部分并行架构高速LDPC译码器示意图;
图2所示为数据对齐模块结构示意图;
图3所示为校验节点更新模块结构示意图;
图4所示为变量节点更新模块结构示意图。
具体实施方式
下面结合附图对本发明的技术方案进行详细的说明。
本发明提出了一种增强部分并行架构高速LDPC译码器,如图1所示,主要包括运算单元(校验节点更新、变量节点更新),信道接收信息存储模块CMB(Channel Memory Bank,CMB),置信度信息存储模块IMB(Intermediate Memory Bank,IMB),硬判决存储模块(HardDecision Memory Bank,HDMB),数据对齐模块以及控制器。其中,运算单元用于完成译码过程中校验节点更新和变量节点更新运算;信道接收信息存储模块用于缓存来自信道的译码软信息;置信度信息存储模块用于存储译码过程中运算单元计算产生的节点更新置信度信息;硬判决存储模块用于对译码硬判决结果进行存储;数据对齐模块用于规避译码过程中的访存冲突;控制器利用状态机和控制信号,协调各功能块的工作,完成译码过程。
对于规则QC-LDPC码,其校验矩阵由m×n个行列重为cirweight的L×L阶子矩阵Ai,j构成,即Ai,j由cirweight个单位阵的不同移位叠加而成,为了高效译码且避免访存冲突,本发明将这些子矩阵Ai,j进行拆分,拆分成cirweight个对应于不同变量节点组和同一校验节点组的单位阵,并采用分布式存储策略,分别存储每一个单位阵对应的变量节点组和校验节点组之间传递的置信度信息。为进一步增加部分并行译码器的并行度,将拆分后单位阵的P行(列)置信度信息存储在同一内存地址,成倍增加每次内存读写数据量与节点运算量,译码器并行度增强为m×P或n×P,即可同时处理n×P个变量节点的更新或m×P个校验节点的更新,提高了译码数据吞吐率,其中P为增强并行度。因此,本发明的信道接收信息存储块CMB由n个RAM组成,每个RAM位宽为P×Q比特,深度为L/P,Q为量化比特数。置信度信息存储块由m×n×cirweight个RAM组成,每个RAM位宽为P×Q比特,深度为L/P。硬判决信息存储块HDMB由n个RAM组成,每个RAM位宽为P,深度为L/P。
由于增强部分并行架构LDPC译码器每个RAM地址中存储了P个数据,会产生访存冲突,有学者利用选择网络和两个数据缓冲区来解决访存冲突,但是选择网络由多个多路选择器(Multiplexers)组成,且输出逻辑复杂,实现复杂度高。本发明设计了一种简单有效的访存冲突规避策略,利用如图2所示的数据对齐模块实现。
如图2所示,每次从RAM中读取的数据(运算单元更新的消息)与上一时刻读取的数据(运算单元更新的消息)进行拼接,根据offset值确定输出窗口的位置,选出P个连续的数据送入运算单元(存入存储器)。其中offset值由mod(bi,j,P)确定并存入查找表中,其中bi,j为子矩阵Ai,j的循环移位值。
运算单元(Processing Unit,PU)由校验节点更新模块和变量节点更新模块组成,结构如图3、4所示。其中校验节点更新模块由m×P个校验节点处理单元组成,包括符号单元(Sign Unit,SU)、最小值次小值模块(First Two Minima Find Module,FTMFM)、修正因子模块(Normalized Modification Module,NMM),分别对应于式(1)中的符号求解、最小值求解以及归一化因子乘法。
式(1)中,α为NMSA算法归一化因子,L(rji)为校验节点传递给变量节点的对数似然比消息,R(j)\i表示除变量节点i外与校验节点j相连的变量节点集合,L(qi'j)为变量节点传递给校验节点的对数似然比消息。
变量节点更新模块由n×P个变量节点处理单元组成,采用树形级联累加器实现。
译码流程如下:
(1)初始化:首先将接收到的一帧信道信息存储至信道接收信息存储块CMB的各RAM块,然后将接收的信道信息按顺序分成n段,并按顺序存入置信度信息存储块IMB中的各RAM块,其中CMB、IMB中的数据按列顺序存储。初始化迭代次数为0,最大迭代次数为ITER_NUM。
(2)校验节点更新:m×P个校验节点处理单元并行工作。每个时钟周期首先从置信度信息存储块IMB中读取置信度信息,每个RAM块读写地址顺序为floor(bi,j/P),floor(bi,j/P)+1,…0,1,…floor(bi,j/P)-1;然后将读出的置信度信息经数据对齐模块后送入校验节点处理单元计算并更新传递给变量节点的置信度信息;最后,经数据对齐模块后将结果写回置信度信息存储块IMB中。
(3)变量节点更新:n×P个变量节点处理单元并行工作。每个时钟周期首先从置信度信息存储块IMB和信道接收信息存储块CMB中读取置信度信息以及信息接收信息,每个RAM块读写地址顺序为0,1,2,…L/P;然后将读出的置信度信息经数据对齐模块后送入变量节点处理单元,同时将信道接收信息送入变量节点处理单元,由变量节点处理单元计算并更新传递给校验节点的置信度信息以及硬判决信息;最后经数据对齐模块将结果写回置信度信息存储块IMB中,并将硬判决信息存储至硬判决信息存储块HDMB中。迭代次数加1。
(4)终止判决:如果迭代次数达到最大迭代次数ITER_NUM,则终止迭代,执行步骤(5),否则跳转到步骤(2)继续进行迭代译码。
(5)译码输出:从硬判决信息存储块HDMB中读出硬判决结果,每个RAM块读地址顺序为0,1,2,…L/P,每个时钟输出P个硬判决结果作为译码结果输出。
在本译码器的一个实际应用中,CCSDS近地卫星通信应用采用了码率为7/8的准循环(8176,7154)LDPC码,该码是一种QC-LDPC码,其校验矩阵H由2×16个子矩阵构成,即m=2,n=16,如式(2)所示。
式中,Ai,j(i=1,2;j=1,2,…16)是大小为L×L=511×511的循环矩阵,即每个循环矩阵Ai,j都可以通过矩阵的首行行向量循环右移得到。循环矩阵Ai,j的行重为2,列重也为2,即cirweight=2,因此校验矩阵H的行重和列重分别为32和4,每个循环矩阵中1的位置bi,j见CCSDS 131.0-B-2标准表7-1。
在NMSA算法中,α值的选择会对译码性能产生影响,可以利用密度进化法来计算,从计算过程可以发现α与码率、行重、信噪比有关。硬件实现时,需要对连续且精度无限的译码软信息进行量化,即需要将其映射至大小精度均有限的消息集合中。量化有易于硬件实现且能够降低硬件资源占用,但会引入误差,使译码性能有一定损失,为了降低损失,需要选取合适的量化参数。此外,迭代次数对译码性能也有着重要影响,一般而言,随着迭代次数的增加,译码性能增加,但当迭代次数达到一定数值时,译码性能不再增加。通过软件仿真,本发明选择α=0.75且采用(6,2)量化方案(即Q=6,其中1位符号位,3位整数位,2位小数位),迭代次数ITER_NUM为10次。
为了高效译码且避免访存冲突,将子矩阵Ai,j进行拆分,拆分成2个对应于不同变量节点组和同一校验节点组的单位阵,并采用分布式存储策略,分别存储每一个单位阵对应的变量节点组和校验节点组之间传递的置信度信息。同时令增强并行度P=7,将拆分后单位阵的7行(列)置信度信息存储在同一内存地址,成倍增加每次内存读写数据量与节点运算量,即可同时处理112个变量节点的更新或14个校验节点的更新。本发明的信道接收信息存储块CMB由16个RAM组成,每个RAM位宽为42比特,深度为73。置信度信息存储块由64个RAM组成,每个RAM位宽为42比特,深度为73。硬判决信息存储块HDMB由16个RAM组成,每个RAM位宽为7,深度为73。
由于增强部分并行架构LDPC译码器每个RAM地址中存储了7个数据,会产生访存冲突,利用如图2所示的数据对齐模块规避访存冲突,每次从RAM中读取的数据(运算单元更新的消息)与上一时刻读取的数据(运算单元更新的消息)进行拼接,根据offset值确定输出窗口的位置,选出7个连续的数据送入运算单元(存入存储器)。其中offset值由mod(bi,j,7)确定并存入查找表中,其中bi,j为子矩阵Ai,j的循环移位值。
译码流程如下:
(1)初始化:首先将接收到的一帧信道信息存储至信道接收信息存储块CMB的各RAM块,然后将接收的信道信息分成16段,按顺序存入置信度信息存储块IMB中的各RAM块,其中CMB、IMB中的数据按列顺序存储。初始化迭代次数为0,最大迭代次数为10。
(2)校验节点更新:14个校验节点处理单元并行工作。每个时钟周期首先从置信度信息存储块IMB中读取置信度信息,每个RAM块读写地址顺序为floor(bi,j/7),floor(bi,j/7)+1,…0,1,…floor(bi,j/7)-1;然后将读出的置信度信息经数据对齐模块后送入校验节点处理单元计算并更新传递给变量节点的置信度信息;最后,经数据对齐模块后将结果写回置信度信息存储块IMB中。
(3)变量节点更新:112个变量节点处理单元并行工作。每个时钟周期首先从置信度信息存储块IMB和信道接收信息存储块CMB中读取置信度信息以及信道接收信息,每个RAM块读写地址顺序为0,1,2,…72;然后将读出的置信度信息经数据对齐模块后送入变量节点处理单元,同时将信道接收信息送入变量节点处理单元,由变量节点处理单元计算并更新传递给校验节点的置信度信息以及硬判决信息;最后经数据对齐模块将结果写回置信度信息存储块IMB中,并将硬判决信息存储至硬判决信息存储块HDMB中。迭代次数加1。
(4)终止判决:如果迭代次数达到最大迭代次数10,则终止迭代,执行步骤(5),否则跳转到步骤(2)继续进行迭代译码。
(5)译码输出:从硬判决信息存储块HDMB中读出硬判决结果,每个RAM块读地址顺序为0,1,2,…72,每个时钟输出7个硬判决结果作为译码结果输出。
本发明通过将多对角线矩阵进行拆分并采用分布式存储策略分别存储置信度信息,同时将多个置信度信息存储在同一内存地址,成倍增加了内存读写数据量与节点运算量,提高了译码数据吞吐率;数据对齐模块有效的避免了访存冲突;FPGA实现结果表明,在250MHz工作时钟下,该译码器可达到1.02Gbps的吞吐率,可满足LEO卫星高速数传需求。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (9)
1.一种增强部分并行架构高速LDPC译码器,所述译码器包括运算单元、信道接收信息存储模块、置信度信息存储模块、硬判决存储模块、数据对齐模块和控制器;
所述运算单元:用于读取所述信道接收信息存储模块信息以及置信度信息存储模块信息完成译码过程中的校验节点更新和变量节点更新运算,输出译码结果;
所述信道接收信息存储模块:用于接收并缓存外部输入的LDPC译码软信息;
所述置信度信息存储模块:用于存储译码过程中所述运算单元计算产生的节点更新置信度信息;
所述硬判决存储模块:用于对译码过程中所述运算单元计算产生的硬判决结果进行存储;
所述数据对齐模块:在译码过程中利用数据对齐模块规避访存冲突;
所述控制器:用于协调各模块的工作,完成译码过程。
2.根据权利要求1所述的增强部分并行架构高速LDPC译码器,其特征在于,所述信道接收信息存储模块由n个RAM组成,每个RAM位宽为P×Q比特,深度为L/P;
其中,n为LDPC码校验矩阵包含子矩阵的列数;P为增强并行度;Q为量化比特数;L为LDPC码校验矩阵子矩阵的阶数。
3.根据权利要求2所述的增强部分并行架构高速LDPC译码器,其特征在于,所述置信度信息存储模块由m×n×cirweight个RAM组成,每个RAM位宽为P×Q比特,深度为L/P;
其中,m为LDPC码校验矩阵包含子矩阵的行数;cirweight为LDPC码校验矩阵子矩阵行列重数。
4.根据权利要求3所述的增强部分并行架构高速LDPC译码器,其特征在于,所述硬判决存储模块由n个RAM组成,每个RAM位宽为P,深度为L/P。
5.根据权利要求4所述的增强部分并行架构高速LDPC译码器,其特征在于,所述运算单元包括校验节点更新模块和变量节点更新模块。
6.根据权利要求5所述的增强部分并行架构高速LDPC译码器,其特征在于,所述校验节点更新模块由m×P个校验节点处理单元组成;所述校验节点处理单元包括符号求解子单元、最小值次小值求解子单元和修正因子子单元。
7.根据权利要求5所述的增强部分并行架构高速LDPC译码器,其特征在于,所述变量节点更新模块由n×P个变量节点处理单元组成,采用树形级联累加器实现。
8.一种增强部分并行架构高速LDPC译码器译码方法,基于权利要求1至7之一的所述译码器实现,所述方法包括:
步骤1:初始化:首先将接收到的一帧LDPC码信息存储至所述信道接收信息存储模块的各RAM块,然后将接收的信道信息按顺序分成n段,按顺序存入所述置信度信息存储模块中的各RAM块,其中所述信道接收信息存储模块、所述置信度信息存储模块中的数据按列顺序存储;初始化迭代次数为0,最大迭代次数为ITER_NUM;ITER_NUM>1,具体迭代次数根据译码性能确定;
其中,LDPC码校验矩阵由m×n个行列重为cirweight的L×L阶子矩阵Ai,j构成;
步骤2:校验节点更新:采用m×P个校验节点处理单元并行工作;每个时钟周期首先从所述置信度信息存储块中读取置信度信息,每个RAM块读写地址顺序为:
floor(bi,j/P),floor(bi,j/P)+1,…0,1,…floor(bi,j/P)-1
其中,bi,j为子矩阵Ai,j的循环移位值;P为增强并行度;floor为向下取整函数;
然后将读出的置信度信息经所述数据对齐模块后送入校验节点处理单元计算并更新传递给变量节点的置信度信息;最后,经数据对齐模块后将结果写回所述置信度信息存储模块中;
步骤3:变量节点更新:采用n×P个变量节点处理单元并行工作;每个时钟周期首先从所述置信度信息存储模块和所述信道接收信息存储模块中读取置信度信息以及信道接收信息,每个RAM块读写地址顺序为0,1,2,…L/P;然后将读出的置信度信息经所述数据对齐模块后送入变量节点处理单元,同时将信道接收信息送入变量节点处理单元,由变量节点处理单元计算并更新传递给校验节点的置信度信息以及硬判决信息;最后经数据对齐模块将结果写回所述置信度信息存储模块中,并将硬判决信息存储至所述硬判决信息存储模块中;迭代次数加1;
步骤4:终止判决:如果迭代次数达到最大迭代次数ITER_NUM,则终止迭代,执行步骤5,否则跳转到步骤2继续进行迭代译码;
步骤5:译码输出:从所述硬判决信息存储模块中读出硬判决结果,每个RAM块读地址顺序为0,1,2,…L/P,每个时钟输出P个硬判决结果作为译码结果输出。
9.根据权利要求8所述的增强部分并行架构高速LDPC译码器译码方法,其特征在于,最大迭代次数为10。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210913859.6A CN115395964A (zh) | 2022-08-01 | 2022-08-01 | 一种增强部分并行架构高速ldpc译码器及译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210913859.6A CN115395964A (zh) | 2022-08-01 | 2022-08-01 | 一种增强部分并行架构高速ldpc译码器及译码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115395964A true CN115395964A (zh) | 2022-11-25 |
Family
ID=84119562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210913859.6A Pending CN115395964A (zh) | 2022-08-01 | 2022-08-01 | 一种增强部分并行架构高速ldpc译码器及译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115395964A (zh) |
-
2022
- 2022-08-01 CN CN202210913859.6A patent/CN115395964A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10536169B2 (en) | Encoder and decoder for LDPC code | |
US20050278604A1 (en) | Decoding method, decoding device, and program | |
US8627172B2 (en) | Error correction encoding apparatus, decoding apparatus, encoding method, decoding method, and programs thereof | |
US10833704B1 (en) | Low-density parity check decoder using encoded no-operation instructions | |
CN110278000B (zh) | 基于dvb-s2标准的ldpc码并行译码fpga实现架构的译码方法 | |
US11258460B2 (en) | Method and apparatus for vertical layered decoding of quasi-cyclic low-density parity check codes built from clusters of circulant permutation matrices | |
CN105262493B (zh) | 低密度奇偶校验码的译码方法 | |
CN109347486B (zh) | 低复杂度高吞吐率的5g ldpc编码器和编码方法 | |
RU2440669C1 (ru) | Устройство декодирования, устройство хранения данных, система обмена данными и способ декодирования | |
US20110179337A1 (en) | Memory utilization method for low density parity check code, low density parity check code decoding method and decoding apparatus thereof | |
US10778251B2 (en) | Method and apparatus for encoding quasi-cyclic low-density parity check codes | |
CN101800627B (zh) | 一种多码率兼容的高速ldpc编码器的硬件实现 | |
CN100544212C (zh) | 高速的减少存储需求的低密度校验码解码器 | |
CN102820890B (zh) | 短码长多进制赋权重复累加码的编码器装置及方法 | |
CN102412844B (zh) | 一种ira类ldpc码的译码方法及译码装置 | |
CN111384970B (zh) | 一种译码方法、装置及通信设备 | |
CN108809327A (zh) | Ldpc译码方法 | |
US10727869B1 (en) | Efficient method for packing low-density parity-check (LDPC) decode operations | |
CN115395964A (zh) | 一种增强部分并行架构高速ldpc译码器及译码方法 | |
CN111313912A (zh) | 一种ldpc码编码器及编码方法 | |
CN113472358B (zh) | 一种基于准循环生成矩阵的高速并行编码器 | |
CN108809324A (zh) | Ldpc译码方法 | |
KR20080068218A (ko) | 통신 시스템에서 데이터 수신 방법 및 장치 | |
KR101073636B1 (ko) | 저밀도 패리티 검사 부호를 이용한 복호화 장치 | |
CN112671415B (zh) | 一种面向乘积码的高吞吐量编码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |