LDPC码校验矩阵的构造方法
技术领域
本申请涉及5G信道编码技术,特别涉及LDPC码校验矩阵的构造方法。
背景技术
目前,随着第四代移动通信技术(the 4th Generation mobile communicationtechnology,4G)进入规模商用阶段,面向未来的第五代移动通信技术(the 5thGeneration mobile communication technology,5G)已成为全球研发的热点。
5G新空口(New radio,NR)设计中,增强移动宽带业务(enhanced MobileBroadband,eMBB)场景的数据信道决定采用低密度校验(Low Density Parity CheckCode,LDPC)码代替原长期演进(Long Term Evolution,LTE)采用的Turbo码。
5G新空口定义了三种典型应用场景:增强移动宽带业务(eMBB,enhanced MobileBroadband),大规模机器通信(massive Machine Type Communications,mMTC)和低时延高可靠通信(Ultra-Reliable and Low Latency Communications,URLLC)。LDPC码已被遴选为5G eMBB场景中数据信道的编码方案。
针对5G eMBB场景中LDPC码的设计,当前第三代合作伙伴计划(3GPP)已经达成了很多重要共识。
首先5G LDPC码要求采用准循环LDPC码。准循环LDPC码的校验矩阵H通常可以表示为如下阵列:
其中,每个矩阵Ai,j都是大小为Z×Z的循环矩阵。对于这种LDPC码,这些循环矩阵必须是稀疏的。事实上,重量为1的循环矩阵最为常见,也就是说,循环矩阵中的每行或每列只有一个非零元素。如果将校验矩阵H的行数和列数分别记为M=ρZ和N=cZ的话,待传输的信息序列分组长度则为K=N-M。发送端需要用校验矩阵对待传输的信息序列分组进行编码,而接收端也需要基于校验矩阵进行译码。准循环LDPC码的设计过程涉及三个重要概念:循环置换矩阵(Circular permutation matrix,CPM)、基模图(Base graph)和基矩阵。
准循环LDPC码的构造方法有很多种。2003年提出的一种构造准循环LDPC码的方法为:首先构造一个大小为ρ×c的基矩阵B,例如:
准循环LDPC码的基模图是与基矩阵大小相同的矩阵,元素非0即1的:“1”表示基矩阵相应位置的移位值不等于-1;“0”则表示基矩阵相应位置的移位值为-1。例如,上述例子中基矩阵的基模图为:
然后,将基矩阵B中的每个非“-1”元素扩展成大小为Z×Z的循环置换矩阵,将“-1”元素则扩展成大小为Z×Z的全零矩阵。假设采用Pi表示一个Z×Z的循环置换矩阵,也称为基矩阵的子循环矩阵,i则称为Pi的移位值。例如:
以Z=8为例:
可以看出,P0为单位阵,每个循环置换矩阵Pi实际上是由单位阵循环右移i位得到。而且,对于一个给定的Z,共有Z个Pi,即i∈{0,1,2,,Z-1}。每个Pi(0≤i<Z)用于对基矩阵B中取值为i的元素进行扩展。
这样,可以根据不同的码率,截取基矩阵B的不同部分扩展为相应的校验矩阵,其中,最大可以得到一个(ρZ)×(cZ)的检验矩阵;从而可以根据获得的不同检验矩阵,在不同码率下对待传输的信息序列进行编解码。
5G数据信道中LDPC码的设计面临的重大挑战是:3GPP要求所设计的LDPC码支持的可传输信息的信息序列长度最小为40、最大为8192;而且要求不同的信息序列长度均能够支持多种码率,如,从最高码率R=8/9到最低码率R=1/3或1/5。众所周知,LDPC码是线性分组码,给定信息序列长度和码率,则对应一个校验矩阵,如此看来,5G LDPC码设计需要设计很多校验矩阵。
换言之,5G数据信道中LDPC码的设计目标为:所设计的LDPC码在几十到8192的信息序列长度范围、8/9到1/3的码率范围下都能保持优异的性能。因此,需要设计多个校验矩阵,对应于基矩阵B上不同行数和不同列数构成的子矩阵以及子矩阵的循环系数。
显然,找到一套支持多种码率与多种信息序列长度的LDPC码设计方法是非常困难的。
随着会议的推进,3GPP进一步要求所设计的LDPC码的码率范围满足更低码率要求(<1/3),如,1/5,即需要设计42×52大小、信息位列数kb=10的基矩阵来生成校验矩阵。基模图与基矩阵不同,基模图中的元素非0即1而校验矩阵是通过采用CPM对基矩阵中的元素进行扩展得到的。也就是说,根据基模图仅能获知采用CPM还是全零矩阵进行扩展,而不知道CPM的具体形式,即大小以及移位值。
综上所述,现有技术下,LDPC码的低码率(<1/3)部分具有高设计灵活性,且LDPC码在该码率范围很难保证性能优异。
因此,找到一套支持多种码率与多种信息比特长度,并且低码率(<1/3)部分满足相应的LDPC码设计准则的设计方案仍是亟待解决的问题。
发明内容
本发明实施例提供一种LDPC码校验矩阵的构造方法。用以找到一套支持多种码率与多种信息序列长度且存储复杂度低的LDPC码设计方法。
本发明实施例提供的具体技术方案如下:
LDPC码校验矩阵的构造方法,包括:
基于预设的信息位列数以及预设的基模图大小,生成相应的基模图;所述基模图中对应低码率部分的所有行,行重ω满足设定范围:A≤ω≤B,A、B为预设参数;
基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数;
基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵,所述校验矩阵用于对信息序列进行编解码。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数之前,进一步包括:
根据待传输的信息序列长度,以及所述信息位列数确定相应的扩展因子;
采用扩展因子,对所述原始循环系数矩阵进行模Z操作,其中,Z为扩展因子的取值。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数,包括:
基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充;其中,所述原始循环系数矩阵的行数不少于所述基模图的行数;
基于所述基模图中每一个0元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素;
基于替换后的部分循环系数矩阵得到相应的基矩阵,其中,基矩阵中的每一个非标记元素为所述基模图中相应的行、列位置的非0元素对应的循环系数。
可选的,基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充,包括:
根据基模图的行数从所述原始循环系数矩阵中选取相应行数的部分循环系数矩阵时,其中,所述部分循环系数矩阵的行数为所述基模图的行数,所述部分循环系数矩阵的列数为所述基模图的列数减去基模图中右上角全零矩阵的列数;
基于所述基模图的大小,在所述部分循环系数矩阵的后面补充指定元素,获得与所述基模图大小一样的矩阵,作为补充后的部分循环系数矩阵。
可选的,基于替换后的部分循环系数矩阵得到相应的基矩阵,包括:
直接将替换后的部分循环系数矩阵作为基矩阵;或者,
采用预设的双对角结构的置换矩阵对替换后的部分循环系数矩阵中的双对角区域置进行置换,并将置换后的部分循环系数矩阵作为基矩阵。
可选的,基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵,包括:
按照指定的码率,从基矩阵中截取相应的子矩阵,所述子矩阵对应需使用的部分基模图;
将所述子矩阵中的每一个标记元素,分别扩展为Z*Z的全零矩阵,其中,Z表示扩展因子;
将所述子矩阵中的每一个零元素,分别扩展为Z*Z的所述单位阵;
针对所述子矩阵中除标记元素和零元素之外的每一个其他元素,执行以下操作:根据一个元素的取值确定相应的循环置换矩阵,将所述一个元素扩展为所述循环置换矩阵。
可选的,所述A的取值小于所述B的取值,所述B取值最大为5。
可选的,进一步包括:
采用获得的每一种校验矩阵,按照相应码率,分别对待传输的信息序列进行编码,以及分别对接收的信息进行解码。
LDPC码校验矩阵的构造方法,包括:
第一处理单元,用于基于预设的信息位列数以及预设的基模图大小,生成相应的基模图;所述基模图中对应低码率部分的所有行,行重ω满足设定范围:A≤ω≤B,A、B为预设参数;
第二处理单元,用于基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数;
第三处理单元,用于基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵,所述校验矩阵用于对信息序列进行编解码。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数之前,所述第二处理单元进一步用于:
根据待传输的信息序列长度,以及所述信息位列数确定相应的扩展因子;
采用扩展因子,对所述原始循环系数矩阵进行模Z操作,其中,Z为扩展因子的取值。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数时,所述第二处理单元用于:
基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充;其中,所述原始循环系数矩阵的行数不少于所述基模图的行数;
基于所述基模图中每一个0元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素;
基于替换后的部分循环系数矩阵得到相应的基矩阵,其中,基矩阵中的每一个非标记元素为所述基模图中相应的行、列位置的非0元素对应的循环系数。
可选的,基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充时,所述第二处理单元用于:
根据基模图的行数从所述原始循环系数矩阵中选取相应行数的部分循环系数矩阵时,其中,所述部分循环系数矩阵的行数为所述基模图的行数,所述部分循环系数矩阵的列数为所述基模图的列数减去基模图中右上角全零矩阵的列数;
基于所述基模图的大小,在所述部分循环系数矩阵的后面补充指定元素,获得与所述基模图大小一样的矩阵,作为补充后的部分循环系数矩阵。
可选的,基于替换后的部分循环系数矩阵得到相应的基矩阵时,所述第二处理单元用于:
直接将替换后的部分循环系数矩阵作为基矩阵;或者,
采用预设的双对角结构的置换矩阵对替换后的部分循环系数矩阵中的双对角区域置进行置换,并将置换后的部分循环系数矩阵作为基矩阵。
可选的,基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵时,所述第三处理单元用于:
按照指定的码率,从基矩阵中截取相应的子矩阵,所述子矩阵对应需使用的部分基模图;
将所述子矩阵中的每一个标记元素,分别扩展为Z*Z的全零矩阵,其中,Z表示扩展因子;
将所述子矩阵中的每一个零元素,分别扩展为Z*Z的所述单位阵;
针对所述子矩阵中除标记元素和零元素之外的每一个其他元素,执行以下操作:根据一个元素的取值确定相应的循环置换矩阵,将所述一个元素扩展为所述循环置换矩阵。
可选的,所述A的取值小于所述B的取值,所述B取值最大为5。
可选的,进一步包括:
通信单元,用于采用获得的每一种校验矩阵,按照相应码率,分别对待传输的信息序列进行编码,以及分别对接收的信息进行解码。
进一步地,参阅图10所示,本发明实施例提供了一种通信设备,包括:
处理器1000,用于读取存储器中的程序,执行下列过程:
基于预设的信息位列数以及预设的基模图大小,生成相应的基模图;所述基模图中对应低码率部分的所有行,行重ω满足设定范围:A≤ω≤B,A、B为预设参数;
基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数;
基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵,所述校验矩阵用于对信息序列进行编解码;
收发机1010,用于在处理器1000的控制下接收和发送数据,并采用校验矩阵对信息序列进行编解码
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数之前,处理器1000进一步用于:
根据待传输的信息序列长度,以及所述信息位列数确定相应的扩展因子;
采用扩展因子,对所述原始循环系数矩阵进行模Z操作,其中,Z为扩展因子的取值。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数时,处理器1000用于:
基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充;其中,所述原始循环系数矩阵的行数不少于所述基模图的行数;
基于所述基模图中每一个0元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素;
基于替换后的部分循环系数矩阵得到相应的基矩阵,其中,基矩阵中的每一个非标记元素为所述基模图中相应的行、列位置的非0元素对应的循环系数。
可选的,基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充时,处理器1000用于:
根据基模图的行数从所述原始循环系数矩阵中选取相应行数的部分循环系数矩阵时,其中,所述部分循环系数矩阵的行数为所述基模图的行数,所述部分循环系数矩阵的列数为所述基模图的列数减去基模图中右上角全零矩阵的列数;
基于所述基模图的大小,在所述部分循环系数矩阵的后面补充指定元素,获得与所述基模图大小一样的矩阵,作为补充后的部分循环系数矩阵。
可选的,基于替换后的部分循环系数矩阵得到相应的基矩阵时,处理器1000用于:
直接将替换后的部分循环系数矩阵作为基矩阵;或者,
采用预设的双对角结构的置换矩阵对替换后的部分循环系数矩阵中的双对角区域置进行置换,并将置换后的部分循环系数矩阵作为基矩阵。
可选的,基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵时,处理器1000用于:
按照指定的码率,从基矩阵中截取相应的子矩阵,所述子矩阵对应需使用的部分基模图;
将所述子矩阵中的每一个标记元素,分别扩展为Z*Z的全零矩阵,其中,Z表示扩展因子;
将所述子矩阵中的每一个零元素,分别扩展为Z*Z的所述单位阵;
针对所述子矩阵中除标记元素和零元素之外的每一个其他元素,执行以下操作:根据一个元素的取值确定相应的循环置换矩阵,将所述一个元素扩展为所述循环置换矩阵。
可选的,所述A的取值小于所述B的取值,所述B取值最大为5。
可选的,进一步包括:
收发机1010,用于采用获得的每一种校验矩阵,按照相应码率,分别对待传输的信息序列进行编码,以及分别对接收的信息进行解码。
本发明实施例中,生成低码率部分的行重满足预设范围的基模图,并基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数,再基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵。这样,便通过在设计的基模图中限定低码率部分的行重,保证了根据基模图对应的循环系数获得的校验矩阵在应用过程中的传输性能。这种设计方案简单易实现,不会增加存储复杂度也不会增加后续的运维成本,同时,又能在信息传输过程中,有效地支持多种码率以及支持信息比特长度,从而在最大限度上提高系统传输性能。
附图说明
图1为本发明实施例中构造校验矩阵流程图;
图2为本发明实施例中基模图示意图;
图3为本发明实施例中原始循环系数矩阵示意图;
图4为本发明实施例中经模Z操作后的原始循环系数矩阵示意图;
图5为本发明实施例中基矩阵部分示意图;
图6为本发明实施例中42*52的基矩阵的正例示意图;
图7为本发明实施例中42*52的基矩阵的反例示意图;
图8为本发明实施例中仿真效果示意图;
图9为本发明实施例中通信装置第一功能结构示意图;
图10为本发明实施例中通信装置第二功用结构示意图。
具体实施方式
为了找到一套支持多种码率与多种信息序列长度且存储复杂度低的LDPC码设计方法,本发明实施例中,采用了以下设计方案:先生成低码率(<1/3)部分的行重ω满足设定范围A≤ω≤B的基模图,再基于基模图和构造的原始循环系数矩阵获得基矩阵,最后,按照指定的每一种码率,分别从基矩阵中截取相应的子矩阵扩展为对应的校验矩阵。
基于基模图中预设的信息位列数以及预设的基模图的大小,生成相应的基模图,接着,基于得到的基模图,从所述原始循环系数矩阵中选取相应行数的部分循环系数矩阵(注:不要求连续选);其中,所述原始循环系数矩阵的行数不少于所述基模图的行数,所述原始循环系数矩阵的列数等于所述基模图的列数减去所述基模图中右上角全零矩阵的列数(注:5G LDPC码基模图的右上角为全零矩阵、右下角为单位阵),且每个元素是小于扩展因子的非负整数;
基于所述基模图中每一个0元素的行、列位置,将所述部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素(如,-1),并基于替换后的部分循环系数矩阵获得基矩阵;
基于扩展因子确定所用到的循环置换矩阵(即CPM)及其大小,基于给定的码率,从基矩阵中截取相应的子矩阵扩展为对应的校验矩阵,所述校验矩阵用于对待传输的信息序列进行编解码。
下面结合附图对本发明优选的实施方式进行详细说明。
参阅图1所示,本申请实施例中,构造LDPC码校验矩阵的详细流程如下:
步骤100:基于预设的信息位列数以及预设的基模图的大小(即设定的行数和列数),生成相应的基模图,其中,基模图中对应低码率部分的所有行中,行重ω满足设定范围:A≤ω≤B;其中,A、B为预设参数。
例如,参阅图2所示,设计一个信息位列数kb=10、大小为42×52的基模图,其低码率部分的行重ω(即每行中1元素的个数)满足:3≤ω≤5,本发明实施例部分,低码率部分指码率<1/3的部分,其他应用场景中,有可能指其他码率部分,在此不再赘述。
现有技术下,5G LDPC码设计要求必须支持递增冗余自动请求重传(IR-HARQ),故当前主要采用递增冗余的方法构造针对5G场景的LDPC码:首先构造一个高码率的LDPC码,然后采用递增冗余的方式产生更多校验位,进而得到更低码率的LDPC码。基于递增冗余方法构造的LDPC码具有性能优异、码长和码率覆盖范围广、复用度高、易于硬件实现、可以直接用校验矩阵进行编码等优点。
进一步地,基于LDPC的定义,在校验矩阵中,矩阵列数(N)与矩阵行数(M)之差等于信道中实际传输的信息比特个数(K),即K=N-M,而由于基模图是用于生成校验矩阵的基础,因此,也需要遵循这一原则,具体的kb(基模图中信息位列数)=Nz(基模图的列数)-Mz(基模图的行数),其中,K=Kb*Z,N=Nz*Z,M=Mz*Z,Z为扩展因子。
基于上述特点,在图2所示的基模图中,在前22行、前32列的基础上,通过增加行号为22~41、列号为32~51的部分可以实现更低码率。这是因为,码率=Kb/N'=(Nz-Mz)/N',其中,N'=Nz-2,这是因为发送端不发送基模图前两列对应的编码比特,所以真正传输的码字序列长度为N'*Z。因此,假设Nz=17,Mz=7,则码率=10/15=2/3,而假设Nz=32,Mz=22,则码率=10/30=1/3。随着行数的增加,码率会越来越低,而超过22行之后,码率将降到1/3以下。
步骤110:基于预设方式,构造原始循环系数矩阵,其中,原始循环系数矩阵的行数不少于基模图的行数(即Mz),列数等于基模图的列数(即Nz)减去基模图右上角全零矩阵的列数。
原始循环系数矩阵中的元素的取值可以大于预设的扩展因子。例如,假设一个原始循环系数矩阵如图3所示。
步骤120:根据待传输的信息序列长度以及上述信息位列数计算得到扩展因子Z。
例如,假设待传输的信息序列长度K=1280,那么,扩展因子Z=K/kb=128。
当然,步骤120也可以放置在步骤100之前执行,即一开始便确定待传输的信息序列长度K=1280,以及扩展因子Z=128。
本实施例中的步骤执行顺序仅为举例。
步骤130:采用扩展因子Z,对上述原始循环系数矩阵进行模Z操作。
具体的,经模Z操作后得到的原始循环系数矩阵与未经模Z操作的原始循环系数矩阵的大小相同。
本实施例中,也可以将经过模Z操作后得到的的循环系数矩阵称为与K=1280、Z=128对应的特定循环系数矩阵。
例如,以上述原始循环系数矩阵为例,采用Z=128进行模Z操作后,得到的特定循环系数矩阵如图4所示。
之所以执行步骤130,是为了将原始循环系数矩阵中的各个元素转换为小于扩展因子Z的非负整数,以便于后续基于Z×Z大小的循环置换矩阵对基矩阵进行扩展,因为Z×Z大小的循环置换矩阵Pi的移位值i的最大取值为Z-1。而实际应用中,假如在设计原始循环系数矩阵时,已将其中各个元素的取值设置为小于Z的非负整数,则也可以不执行步骤130,在此不再赘述。
步骤140:基于上述基模图的大小,从经过模Z操作后得到的循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充。
具体的,可以根据基模图的行数(即Mz)在原始循环系数矩阵中选取相应行数的部分循环系数矩阵时,无需连续选取,而是可以任意选取,只需要选取的行数目符合基模图的行数Mz即可,在此不再赘述。
其中,已选取的Mz行构成的部分循环系数矩阵并不满足列数要求,其列数等于基模图的列数减去基模图中右上角全零矩阵的列数,因此,只对应于待设计的基矩阵的前kb+4列。
而5G LDPC码的基矩阵中后(Nz-kb-4)列中的元素是固定,因而需要按照基模图的大小,进一步地,在已选取的Mz行的部分循环系数矩阵的后面补充指定元素,从而获得与基矩阵大小一样(也与基模图大小一样)的矩阵,本实施例中,为了便于理解,称其为补充后的部分循环系数矩阵。
具体的,只需要作如下处理:
其中,B’为补充后的部分循环系数矩阵,U为从经模Z操作后的循环系数矩阵中选取的Mz行的部分循环系数矩阵,V是全-1矩阵,W是对角线元素为0、其余元素为-1的方阵。
步骤150:基于上述基模图中每一个0元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素(如,-1)。
具体的,由于在步骤140中得到的补充后的部分循环系数矩阵的行数和列数与基模图相同,因此,基模图中的每一个元素,在部分循环系数矩阵中均对应一个行、列位置相同的元素。由于基模图中低码率部分的行重ω符合A≤ω≤B(如,3≤ω≤5),那么,替换后的部分循环系数矩阵的行重ω'也符合A≤ω≤B,而同时,替换后的部分循环系数矩阵的大小与待设计的基矩阵大小也相同。
例如,基模图中第1行第2列的元素取值为0,那么,需要将补充后的部分循环系数矩阵中第1行第2列的元素的取值替换为-1。本实施例中的部分特征移位矩阵中,行重ω'表示一行中非-1元素的个数,当然,将-1作为不计入行重的标记元素仅为举例,实际应用中也可以设置为其他取值,在此不再赘述。
步骤160:采用预设的双对角结构的置换矩阵对替换后的部分循环系数矩阵中的双对角区域进行置换,并将置换后的部分循环系数矩阵作为基矩阵。
可选的,置换矩阵可以为(仅为举例):其中,双对角结构是指矩阵中标注下划线的元素取值为零。
本实施例中,所谓双对角区域,通常情况下是指基矩阵中行号0~3、列号10~13的部分。之所以需要对这部分元素进行转换是因为:信息分组只是对应基模图的前Kb=10列,而取前4行扩展为校验矩阵时(即行数为4),相应的列数需要为14列,这样便存在4*Z校验比特需要确定。而因为基矩阵的前4行、前10列中的非-1元素很多,当校验矩阵对应的基矩阵为4*14时,如果将双对角区域置换为双对角结构的置换矩阵的话,则会比较容易计算获得前14列中后4列对应的校验比特。
例如,经过置换后的基矩阵如图3所示,可以记为与K=1280对应的基矩阵B1280。
可以看出,图3所示的基矩阵B1280中,序号21行(行数22)-序号41行(行数42)中,各行对应的行重ω'均符合3≤ω'≤5。
步骤170:基于扩展因子确定使用的循环置换矩阵,并基于指定的码率从基矩阵中截取相应的子矩阵,以及采用上述循环置换矩阵将所述子矩阵扩展为对应的校验矩阵,其中,校验矩阵用于对待传输的信息序列进行编码。
所谓的单位阵即是指:其中,Z为扩展因子。
那么,在执行步骤170时,需要针对指定的每一种码率获得相应的校验矩阵,本发明实施例中,以一种码率(以下称码率R)为例,介绍校验矩阵的生成过程如下:
首先,按照码率R,从基矩阵(即信息长度K对应的基矩阵)中截取相应的子矩阵。
例如,假设码率R为1/3,则截取的子矩阵为基矩阵中左上角22*32的部分。
又例如,假设码率R为1/5,则截取的子矩阵为基矩阵中左上角42*52的部分(本实施例中,42*52的子矩阵实际为基矩阵的全部)。
其次,将上述子矩阵中的每一个标记元素(如,-1),分别扩展为Z*Z的全零矩阵,其中,Z表示扩展因子。
再次,将上述子矩阵中的每一个零元素,分别扩展为Z*Z的所述单位阵。
最后,针对上述子矩阵中除标记元素和零元素之外的每一个其他元素,执行以下操作:根据一个元素的取值以及单位阵(元素取值即为循环移位标号i),确定相应的循环置换矩阵,将上述一个元素扩展为上述循环置换矩阵。
例如,假设部分基矩阵中的一个元素的取值为1,则基于单位阵获得的
循环置换矩阵为:以此类推,由于单位阵为Z*Z,Z=128,且基矩阵中的各个元素的取值均小于128,则通过单位阵的循环移位,可以对应每一个元素的取值获得相应的循环置换矩阵。
这样,截取的子矩阵中的所有元素便得到了相应的扩展,在全部元素扩展完毕后,便得到了码率R对应的校验矩阵。
当然,上述标记元素、零元素以及除标记元素和零元素之外的其他元素的扩展顺序可以灵活设置,上述介绍流程仅为一种举例。
这样,将根据不同码率截取的子矩阵进行扩展后,便得到了相应码率下可使用的校验矩阵,至此,便完成了LDPC码的构造。
上述技术方案可以由信息的发送端执行,也可以由信息的接收端执行。在获得了支持各种码率的检验矩阵后,发送端便可以分别采用每一种码率对应的检验矩阵对待传输的信息序列进行编码,并向接收端发送编码后的信息,而接收端在接收到信息后,则可以分别采用每一种码率对应的检验矩阵对接收的信息进行解码。这样,便基于同一基模图,实现了支持不同码率的LDPC码的构造,同时又没有增加实现复杂度。
下面采用一个具体的仿真实例对本发明技术方案的实施效果进行介绍。
参阅图6所示,假设kb=10,K=1280,基模图低码率(<1/3)部分的行重ω'满足:3≤ω'≤5,以及假设仿真条件为:正交相移键控(Quadrature Phase Shift Keyin,QPSK)调制,加性白高斯噪声(Additive White Gaussian Noise,AWGN)信道,译码采用置信传播(Belief Propagation,BP)译码算法,最大迭代次数(Max Ite)为50次。
同时,设置了低码率部分(<1/3)符合3≤ω'≤5的42*52的基矩阵(即码率=1/5),具体如图7所示;以及设置了不满足上述约束条件的反例,即低码率部分(<1/3)中部分行的行重ω'符合ω'=6的42*52的基矩阵(即码率=1/5),具体如图5所示,已在图5中使用灰色标注出了相较于图4新增加的元素取值,
那么,参阅图8所示,采用上述仿真条件进行仿真后,低码率部分的最大行重ω'只增加到6,传输性能(即误帧率以及信噪比)就出现了明显恶化。
因此,基矩阵的行重ω'的取值上限B=5。当然,在其他应用场景下,也不排除B的取值大于5,只需要在仿真条件下,确定行重ω'的取值可能保证传输性能即可。
同时,参阅图4所示,在5G LDPC码基矩阵中,由于低码率部分的前两列一般满足列正交特性,并且为了保证译码迭代时信息的有效传递,前两列中至少一列具有高列重,其中,基矩阵的列重即是指一列中包含的非-1元素的个数,而又由于5G LDPC码基矩阵的右下部分是单位阵,因此,从图4中可以看出,本发明实施例中,ω'的取值下限A=3。当然,其他实施例中,也有可能小于3,只需要A不大于B即可。
进一步地,参阅步骤140和步骤150所示,由于基矩阵是在截取及进行元素补充后的部分循环系数矩阵的基础上,参考基模图中每一个0元素的行、列位置将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素(如,-1)后得到的,而在基模图中,行重ω表示的是一行元素中包含的非0元素的数目,因此,在设置基模图时,也必须遵循ω的上限B=5。当然,在其他应用场景下,也不排除B的取值大于5,只需要在仿真条件下,确定行重ω的取值可能保证传输性能即可。
同理,本发明实施例中,ω的取值下限A=3。当然,其他实施例中,也有可能小于3,只需要A不大于B即可。
基于上述实施例,可以看出,虽然本发明实施例中采用了扩展基矩阵的方式来获得校验矩阵,但是本质上还是对基模图的扩展,即上述方案实际上是基于基模图和原始循环系数矩阵,来确定基模图中每一个非0元素对应的循环系数,然后,按照指定的码率从基模图中截取部分基模图(对应一个子矩阵),并采用基于扩展因子获得的循环置换矩阵,对上述部分基模图中每一个非0元素对应的循环系数进行扩展,从而得到指定的码率对应的校验矩阵。其中,基矩阵中的每一个非标记元素即是基模图中相应的行、列位置的非0元素对应的循环系数。
因此,本发明实施例中,最关键的还是基模图的设计,只需要基模图的低码率部分的行重设置的准确,无论是否使用基矩阵,都可以得到所需的理解的校验矩阵,在此不再赘述。
基于上述实施例,参阅图9所示,本发明实施例中,用于构造LDPC码校验矩阵的一种通信设备,至少包括第一处理单元91、第二处理单元92和第三处理单元93,其中,
第一处理单元91,用于基于预设的信息位列数以及预设的基模图大小,生成相应的基模图;所述基模图中对应低码率部分的所有行,行重ω满足设定范围:A≤ω≤B,A、B为预设参数;
第二处理单元92,用于基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数;
第三处理单元93,用于基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵,所述校验矩阵用于对信息序列进行编解码。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数之前,第二处理单元92进一步用于:
根据待传输的信息序列长度,以及所述信息位列数确定相应的扩展因子;
采用扩展因子,对所述原始循环系数矩阵进行模Z操作,其中,Z为扩展因子的取值。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数时,第二处理单元92用于:
基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充;其中,所述原始循环系数矩阵的行数不少于所述基模图的行数;
基于所述基模图中每一个0元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素;
基于替换后的部分循环系数矩阵得到相应的基矩阵,其中,基矩阵中的每一个非标记元素为所述基模图中相应的行、列位置的非0元素对应的循环系数。
可选的,基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充时,第二处理单元92用于:
根据基模图的行数从所述原始循环系数矩阵中选取相应行数的部分循环系数矩阵时,其中,所述部分循环系数矩阵的行数为所述基模图的行数,所述部分循环系数矩阵的列数为所述基模图的列数减去基模图中右上角全零矩阵的列数;
基于所述基模图的大小,在所述部分循环系数矩阵的后面补充指定元素,获得与所述基模图大小一样的矩阵,作为补充后的部分循环系数矩阵。
可选的,基于替换后的部分循环系数矩阵得到相应的基矩阵时,第二处理单元92用于:
直接将替换后的部分循环系数矩阵作为基矩阵;或者,
采用预设的双对角结构的置换矩阵对替换后的部分循环系数矩阵中的双对角区域置进行置换,并将置换后的部分循环系数矩阵作为基矩阵。
可选的,基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵时,第三处理单元93用于:
按照指定的码率,从基矩阵中截取相应的子矩阵,所述子矩阵对应需使用的部分基模图;
将所述子矩阵中的每一个标记元素,分别扩展为Z*Z的全零矩阵,其中,Z表示扩展因子;
将所述子矩阵中的每一个零元素,分别扩展为Z*Z的所述单位阵;
针对所述子矩阵中除标记元素和零元素之外的每一个其他元素,执行以下操作:根据一个元素的取值确定相应的循环置换矩阵,将所述一个元素扩展为所述循环置换矩阵。
可选的,所述A的取值小于所述B的取值,所述B取值最大为5。
可选的,进一步包括:
通信单元94,用于采用获得的每一种校验矩阵,按照相应码率,分别对待传输的信息序列进行编码,以及分别对接收的信息进行解码。
进一步地,参阅图10所示,本发明实施例提供了一种通信设备,包括:
处理器1000,用于读取存储器中的程序,执行下列过程:
基于预设的信息位列数以及预设的基模图大小,生成相应的基模图;所述基模图中对应低码率部分的所有行,行重ω满足设定范围:A≤ω≤B,A、B为预设参数;
基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数;
基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵,所述校验矩阵用于对信息序列进行编解码;
收发机1010,用于在处理器1000的控制下接收和发送数据,并采用校验矩阵对信息序列进行编解码
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数之前,处理器1000进一步用于:
根据待传输的信息序列长度,以及所述信息位列数确定相应的扩展因子;
采用扩展因子,对所述原始循环系数矩阵进行模Z操作,其中,Z为扩展因子的取值。
可选的,基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数时,处理器1000用于:
基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充;其中,所述原始循环系数矩阵的行数不少于所述基模图的行数;
基于所述基模图中每一个0元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素;
基于替换后的部分循环系数矩阵得到相应的基矩阵,其中,基矩阵中的每一个非标记元素为所述基模图中相应的行、列位置的非0元素对应的循环系数。
可选的,基于预设的基模图的大小,从构造的原始循环系数矩阵中选取相应行数的部分循环系数矩阵并进行元素补充时,处理器1000用于:
根据基模图的行数从所述原始循环系数矩阵中选取相应行数的部分循环系数矩阵时,其中,所述部分循环系数矩阵的行数为所述基模图的行数,所述部分循环系数矩阵的列数为所述基模图的列数减去基模图中右上角全零矩阵的列数;
基于所述基模图的大小,在所述部分循环系数矩阵的后面补充指定元素,获得与所述基模图大小一样的矩阵,作为补充后的部分循环系数矩阵。
可选的,基于替换后的部分循环系数矩阵得到相应的基矩阵时,处理器1000用于:
直接将替换后的部分循环系数矩阵作为基矩阵;或者,
采用预设的双对角结构的置换矩阵对替换后的部分循环系数矩阵中的双对角区域置进行置换,并将置换后的部分循环系数矩阵作为基矩阵。
可选的,基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵时,处理器1000用于:
按照指定的码率,从基矩阵中截取相应的子矩阵,所述子矩阵对应需使用的部分基模图;
将所述子矩阵中的每一个标记元素,分别扩展为Z*Z的全零矩阵,其中,Z表示扩展因子;
将所述子矩阵中的每一个零元素,分别扩展为Z*Z的所述单位阵;
针对所述子矩阵中除标记元素和零元素之外的每一个其他元素,执行以下操作:根据一个元素的取值确定相应的循环置换矩阵,将所述一个元素扩展为所述循环置换矩阵。
可选的,所述A的取值小于所述B的取值,所述B取值最大为5。
可选的,进一步包括:
收发机1010,用于采用获得的每一种校验矩阵,按照相应码率,分别对待传输的信息序列进行编码,以及分别对接收的信息进行解码。
其中,在图10中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1000代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机1010可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器1000负责管理总线架构和通常的处理,存储器可以存储处理器1000在执行操作时所使用的数据。
本发明实施例中,生成低码率部分的行重满足预设范围的基模图,并基于构造的原始循环系数矩阵,确定所述基模图中每一个非0元素对应的循环系数,再基于指定的码率及所述基模图确定需使用的部分基模图,以及采用基于扩展因子确定的循环置换矩阵,对所述部分基模图中的非0元素对应的循环系数进行扩展得到相应的的校验矩阵。这样,便通过在设计的基模图中限定低码率部分的行重,保证了根据基模图对应的循环系数获得的校验矩阵在应用过程中的传输性能。
具体而言,本发明实施例中,生成低码率部分的行重满足预设范围的基模图,并基于基模图的大小对构造的原始循环系数矩阵进行截取及元素补充,以及基于基模图中每一个不计算行重的元素的行、列位置,将补充后的部分循环系数矩阵中相应行、列位置的元素替换为不计入行重的标记元素,进而获得所需的基矩阵,最后,基于扩展因子确定使用的循环置换矩阵,并基于指定的码率从基矩阵中截取相应的子矩阵,再采用所述循环转换矩阵将所述子矩阵扩展为对应的校验矩阵。这样,便通过在设计的基模图中限定低码率部分的行重,保证了基于基模图生成的基矩阵的行重控制在设定范围内,从而保证了基于基矩阵扩展获得的校验矩阵在应用过程中的传输性能。
这种设计方案简单易实现,不会增加存储复杂度也不会增加后续的运维成本,同时,又能在信息传输过程中,有效地支持多种码率以及支持信息比特长度,从而在最大限度上提高系统传输性能。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。