一种面向5G终端的高吞吐率LDPC译码算法及架构的制作方法

文档序号:20916308发布日期:2020-05-29 13:34阅读:285来源:国知局
一种面向5G终端的高吞吐率LDPC译码算法及架构的制作方法

本发明属于无线通信技术领域,涉及一种面向5g终端的高吞吐率ldpc译码算法及架构。



背景技术:

通信的目的是将信号从一端发送,在另一端接收,从而获取信息的过程,在这个过程中由于信道衰落和信道中噪声的干扰,会严重影响接收端信息获取的可靠性,降低获取信息的质量。因此,信道编码技术的提出即是为了改善信号在信道中的传输质量。1948年,香农发表的《通信的数学理论》奠定了信息论的基础,其定义的信道编码理论,为后来的编译码技术提供了理论支撑。

1963年,gallager提出了低密度奇偶校验码(low-densityparity-checkcodes,ldpc),这是一种具有非常稀疏校验矩阵的线性分组纠错码,其具有逼近香农极限的优异性能,并且具有译码复杂度低,错误平层低等优点。但在发明后的几十年由于技术水平的限制,ldpc码并没有得到关注,在上个世纪九十年代被重新发现后,经过科学家们几十年的研究,现在的ldpc码已经广泛用于深空通信,数据存储等方面。随着无线通信技术的发展,第五代移动通信技术—5g,越来越受到人们的关注,3gpp协会已经确定了ldpc码的一种具有准循环结构的码—qc-ldpc码,作为5g通信增强型移动带宽(embb)场景下数据信道的编码方式,在相关标准中定义了5gldpc具有两种基矩阵,根据码字长度,基矩阵,码率等参数可以获得基矩阵的扩展因子,从而可以得到两种基矩阵相应的各51种校验矩阵。

在5g通信中,qc-ldpc码的编码结构基本已经得到确定,但其译码系统由于设备的使用场景,信道的复杂情况,噪声干扰程度等的不同,对于译码性能的要求也不尽相同,但整体来说,具有优异的译码性能且实现复杂度较低的译码器更符合5g终端系统的要求。ldpc码的译码算法可以分为硬判决算法和软判决算法,硬判决算法由于其译码性能较低,不符合5g通信的高性能要求,因此一般不采用。

软判决算法是基于置信传播(beliefpropagation,bp)算法及其在bp算法基础上改进后的算法。常规的bp算法具有接近信道极限的译码性能,但是在bp算法中,进行校验节点更新时,需要进行大量的非线性函数的运算,以及大量的乘法运算。此外,进行译码时节点的处理流程也能对译码产生严重的影响,因此,需要选择合适的译码方案来减少译码时某些过程中的复杂度,译码方案一般可以分为:洪泛调度(flooding),分层译码(layered),动态调度(dynamicscheduling)。

洪泛调度是一种全并行译码方案,顾名思义,校验节点和变量节点更新时并行进行,因此,在译码器的实现时需要消耗数量极多的资源为节点更新提供计算资源和存储资源,这种译码方案具有很高的吞吐率,但缺陷也很明显,消耗资源太多。分层译码方案进行译码时,首先对校验矩阵进行分层处理,完成一层的译码后信息可以传递到下一层协助后续译码,从而提高译码的收敛速度,此外,根据ldpc码的结构,每一层的校验节点更新可以并行进行,从而提高译码的吞吐率。动态调度译码方案在进行节点更新时,每一个节点更新都需要计算整个校验矩阵的残差值,因此译码步骤十分复杂,在5g中暂时不具有实用性。

综上所述,面向5g终端的译码器,应该具有低复杂度,易于实现,高吞吐率的特征,并且在实现时需要消耗较少的资源。



技术实现要素:

有鉴于此,本发明的目的在于提供一种面向5g终端的高吞吐率ldpc译码算法及架构,能够满足5g终端高吞吐量的要求,克服传统译码算法和调度方案的缺陷。

为达到上述目的,本发明提供如下技术方案:

一种面向5g终端的高吞吐率ldpc译码算法,采用分层调度的最小和译码算法,对每一个分层的层块结构,其所有的校验节点进行全并行处理,每一个层块结构更新的节点信息存储在层间移位寄存器中,用于后续节点更新,该算法具体包括以下步骤:

s1:校验矩阵h=m×n,其中m=1,2,…,m,n=1,2,…,n,校验节点βm,n初始化为0,变量节点γn初始化为信道信息;

s2:设置迭代次数,分层译码调度方案不同于传统的洪泛调度方案,分层调度方案因其每一层更新的消息能够用于后续节点更新,因此,分层方案具有译码收敛速度快的优势,所以能够设置较少的迭代次数达到洪泛调度方案相同的译码性能;

s3:5gnr标准定义的两种基矩阵,每一种基矩阵有51种不同的基矩阵扩展因子z,因此,根据扩展因子z设置分层数量;

s4:每层校验节点数量与基矩阵的扩展因子大小相同,根据扩展因子获取每一层校验节点的数量;

s5:获得每一层中与每一个校验节点相连的变量节点的集合;

s6:对变量节点和校验节点进行更新,并获得每一层更新后变量节点的后验信息;

s7:对每一层的每一个校验节点更新后,即可获得最终变量节点的消息,对消息进行判决,进一步可以得到译出的码字,如果译出的码字满足校验矩阵,或者达到设定的迭代次数,则完成译码。

进一步,在所述步骤s6中,根据如下方程对变量节点和校验节点进行更新,并获得每一层更新后变量节点的后验信息:

s61:变量节点处理:αm,n=γn-βm,n;

s62:校验节点处理:

s63:后验概率更新:

在校验节点和变量节点的信息更新时,每次更新的节点的信息不包括该节点传递的信息,其中,αm,n是变量节点消息更新后传递给校验节点的消息,βm,n是校验节点消息,γn是变量节点的后验概率信息,m,n分别表示校验矩阵的行序号和列序号,n∈h(m)\n表示,与校验节点连接的变量节点集合,不包括变量节点n。

一种面向5g终端的高吞吐率ldpc译码架构,该架构主要适用于5g通信的相关标准,满足3gpp标准下对qc-ldpc码的定义,满足5g终端对译码器高吞吐率的需求;主要包括vcn模块、控制逻辑模块、消息ram模块;所述vcn模块是整个译码器的计算模块,用于对变量节点和校验节点进行更新;所述控制逻辑模块用于对译码器的流程进行逻辑控制,包括节点更新计算流程的判断、每一层更新消息的存储和读取、层数的判断、迭代过程的判断、每一次迭代完成后译码结果的判断;所述消息ram模块用于包括校验矩阵的初始信息的存储,进行译码时,根据控制逻辑模块的使能信号对消息ram的信息进行读取和存储。

进一步,所述vcn模块是译码器的核心计算模块,主要包块vcn计算单元和其他运算逻辑,vcn计算单元用于更新节点消息,其他运算逻辑进行包括分层、判断、校验在内的处理;vcn计算单元的初始信息从信道消息中获取(变量节点γn初始化为信道信息,校验节点βm,n初始化为0);根据5gnr标准qc-ldpc码的结构,在扩展因子z的基础上对校验矩阵进行分层,分层后的每一层称为层块结构,层块之间是移位寄存器,每一个层块结构使用z个vcn计算单元更新节点消息,更新后的消息会使用移位寄存器进行存储,运算逻辑则是对分层、判断、校验等的处理,主要包括:

1)对译码变量如校验矩阵信息、迭代次数、节点初始信息等进行初始化;

2)根据基矩阵和扩展因子等对校验矩阵分层,每一层作为一个层块结构,并确定每个层块结构校验节点数目;

3)更新校验节点和变量节点,更新后验概率信息;

4)译码迭代过程判断,正确译码或者达到设定的最大迭代次数。

进一步,所述3gpp标准的qc-ldpc码,基矩阵有两种,基矩阵1、基矩阵2,基矩阵1的行数和列数分别是46和68,基矩阵2的行数和列数分别是42和52,两种基矩阵一共有102个扩展因子,在进行译码时,首先需要进行基矩阵的判定,根据基矩阵选择扩展因子,最终确定校验矩阵。

进一步,分层处理过程,实现译码器的分层调度算法,基于基矩阵的扩展因子对校验矩阵进行分层,每一层形成一个层块结构,每个层块结构的校验节点个数等于扩展因子。

进一步,节点的更新过程,运用最小和算法,变量节点更新只进行加减运算,校验节点的更新需要获得符号信息和幅值信息,在译码器架构中,每一个层块结构的校验节点更新执行全并行操作,可以同时更新每层的校验节点;所述的消息更新,其符号信息和幅值消息以及相应序号存储在层间移位寄存器中,用于下一层节点消息的更新。

进一步,所述控制逻辑模块对译码器的译码过程进行逻辑控制,码字的信息进入译码器后,需要运用控制模块对译码的开始和终止进行判断;译码进行时,对于vcn模块计算单元的触发和停止进行控制,对于消息ram中信息的读取和存储进行控制。

进一步,所述消息ram模块用于存储译码器的固有信息,此外,层块结构更新的信息存储在层间的移位寄存器中,根据最小和算法节点更新的特点,存储的消息可以分为符号信息和幅值信息以及相应消息的序号信息。

本发明的有益效果在于:

1)本发明在5g终端译码器中,采用最小和译码算法,相较于置信传播算法,大大较低了译码器的实现复杂度,而译码性能损失较小;

2)本发明具有高吞吐率的优点,并且译码收敛速度比洪泛调度更快;

3)本发明应用于5g终端数据信道的译码器,符合3gpp5gnr的相关标准,因此可以兼容5g的多种码率方案,根据打孔比特位和校验比特位的信息长度,可以调整基矩阵的大小,从而符合5g标准中提出的码率范围,具有很好的码率兼容性。

本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:

图1为ldpc分层调度最小和译码算法流程图;

图2为5g终端译码器简要架构;

图3为校验矩阵层块结构模型。-

具体实施方式

下面结合附图对本发明的具体实施例进行详细说明。

图2为5g终端译码器简要架构,如图2所示,是5g终端译码器简要架构,在控制逻辑模块的控制下,信道信息进入译码器,经过相关的处理后,在vcn模块中的计算单元用于更新节点,译码器的固有信息和节点更新过程中的中间信息存储在消息ram中,最后输出译码结果。在vcn模块中主要进行节点更新,即本发明中分层调度最小和译码算法的实现,以及其他计算过程。

图1是ldpc分层调度最小和译码算法流程,在译码流程中,主要步骤为:初始化变量节点和校验节点、设置迭代次数和划分校验矩阵层数、vcn计算单元更新变量节点和校验节点、译码判决和码字校验。与传统洪泛调度方案的不同之处在于图1中的虚线框内,本发明提出的分层调度最小和译码算法包括如下步骤:

1、初始化:变量节点γn初始化为信道信息,校验节点βm,n初始化为0;

2、初始设置:(1)设置译码迭代次数;(2)根据码字的码率和净荷长度选择基图和扩展因子z,并划分层数。如图3所示,为校验矩阵的层块模型,译码的初始信息来源于信道信息,分层后的每一层称为层块结构,如图3中的层块结构0(layeredblock0),每一层更新后的信息可以传递给下一层用于后续节点消息的更新。完成每一层的节点更新后,根据层的位置判断进行译码判决还是进行下一次迭代;

3、节点更新:vcn模块中的计算单元更新每一个层块结构的节点信息,本发明采用的是最小和译码算法,节点的更新算法步骤为:

变量节点处理:αm,n=γn-βm,n;

校验节点处理:

后验概率更新:

更新后的信息存储在层块结构之间的移位寄存器中,用于后续层块结构中的节点更新,在进行消息存储时,因为应用的是最小和译码算法,因此仅存储符号信息和最大的绝对值幅值。如果更新完所有层的节点,则进行译码判决。

4、译码判决:更新完所有层的节点信息后,则进行译码判决,获得译码码字

5、码字校验:运用检验译出码字是否正确,如果满足则输出译码码字,否则判断迭代次数,达到迭代次数,输出码字,未达到迭代次数,则继续进行译码。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1