发明内容
本申请实施例提供了一种确定校验矩阵的方法及装置、计算机存储介质,用以提供适用于5G***的高吞吐、低延迟的LDPC的校验矩阵的构造方案。
本申请实施例提供的一种确定校验矩阵的方法,包括:
确定低密度奇偶校验码LDPC矩阵的基础图base graph;
根据所述LDPC矩阵的base graph,确定LDPC的校验矩阵。
通过本申请实施例提供的该确定校验矩阵的方法,确定低密度奇偶校验码LDPC矩阵的基础图base graph,根据所述LDPC矩阵的base graph,确定LDPC的校验矩阵,从而可以提供适用于5G***的高吞吐、低延迟的LDPC的校验矩阵的构造方案。
可选地,根据所述LDPC矩阵的base graph,确定LDPC的校验矩阵,具体包括:
根据所述LDPC矩阵的base graph,确定子循环矩阵的循环系数;
利用所述子循环矩阵的循环系数,对原模图矩阵进行散列操作,得到LDPC的校验矩阵。
可选地,所述确定LDPC矩阵的base graph,具体包括:
按照预设的行数与列数,确定LDPC矩阵的base graph。
可选地,所述LDPC矩阵的base graph,包括多个码率的base graph,不同码率的base graph结构不同。
可选地,所述按照预设的行数与列数,确定LDPC矩阵的base graph,具体包括:
按照第一码率,生成预设行重的非行正交结构的base graph;
基于所述非行正交结构的base graph,按照第二码率进行扩展,生成准行正交结构的base graph;
基于所述准行正交结构的base graph,按照第三码率进行扩展,生成行正交结构的base graph;
由所述非行正交结构的base graph、准行正交结构的base graph和行正交结构的base graph,构成满足预设的行数与列数要求的LDPC矩阵的base graph;
其中,第一码率大于第二码率,第二码率大于第三码率。
可选地,所述base graph中,双对角矩阵所对应的base graph中所有行的行重都大于或等于预设值。
本申请实施例提供的一种确定校验矩阵的装置,包括:
第一单元,用于确定低密度奇偶校验码LDPC矩阵的基础图base graph;
第二单元,用于根据所述LDPC矩阵的base graph,确定LDPC的校验矩阵。
可选地,所述第二单元具体用于:
根据所述LDPC矩阵的base graph,确定子循环矩阵的循环系数;
利用所述子循环矩阵的循环系数,对原模图矩阵进行散列操作,得到LDPC的校验矩阵
可选地,所述第一单元具体用于:
按照预设的行数与列数,确定LDPC矩阵的base graph。
可选地,所述LDPC矩阵的base graph,包括多个码率的base graph,不同码率的base graph结构不同。
可选地,所述第一单元具体用于:
按照第一码率,生成预设行重的非行正交结构的base graph;
基于所述非行正交结构的base graph,按照第二码率进行扩展,生成准行正交结构的base graph;
基于所述准行正交结构的base graph,按照第三码率进行扩展,生成行正交结构的base graph;
由所述非行正交结构的base graph、准行正交结构的base graph和行正交结构的base graph,构成满足预设的行数与列数要求的LDPC矩阵的base graph;
其中,第一码率大于第二码率,第二码率大于第三码率。
可选地,所述base graph中,双对角矩阵所对应的base graph中所有行的行重都大于或等于预设值。
本申请实施例提供的另一种确定校验矩阵的装置,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一种方法。
本申请实施例提供的一种计算机存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。
具体实施方式
本申请实施例提供了一种编码方法及装置、计算机存储介质,用以提高LDPC编码性能,从而适用于5G***。
本申请实施例提供的技术方案,给出针对eMMB场景的数据信道采用LDPC编码替代原长期演进(long term evolution,LTE)***采用的turbo编码,即给出适用于5G***的LDPC编码方案。
5G的LDPC码设计要求采用准循环LDPC码,其校验矩阵H可以表示为如下形式:
其中,Ai,j是z×z循环置换矩阵。
对于准循环LDPC码有多种构造方法,例如,首先构造一个大小为ρ×c的基矩阵(Base matrix),该矩阵的元素非0即1,如图1所示。然后对该基矩阵B的每个1元素扩展为一个z×z循环置换矩阵(Circular Permutation Matrix,CPM),基矩阵的0元素则扩展为一个z×z的全0矩阵,Base matrix B在后来的基于原模图的LDPC构造方式中被称为基础图(base graph)。用Pi表示每个z×z循环置换矩阵,其中矩阵P就是单位阵循环向右移动一位得到的矩阵,如图2所示,而i是循环移位标号,即子矩阵的循环系数。图3给出了一个循环置换矩阵Pi(子分组大小为8×8,即z=8)的实例。
因此,每个循环置换矩阵P
i实际上为单位阵I循环右移i次数,循环置换矩阵循环移位标号i满足
为了获得多种形式的码长,将循环置换矩阵的大小z分别取值为27、54、81,对应3种码长分别是1944、1296、648。
上面描述的准循环LDPC码对应的子循环置换矩阵(CM),列重可以大于1,例如列重为2或者更大的值,此时子循环置换矩阵不再是一个CPM。
5G的LDPC码设计要求必须支持IR(Incremental redundancy)-HARQ,故可以采用递增冗余的方法构造针对5G场景的LDPC码,即首先构造一个高码率的LDPC码,然后采用递增冗余的方式产生更多的校验位,进而得到低码率的LDPC码,基于递增冗余方法构造的LDPC码具有性能优异、码长、码率覆盖范围广、复用度高、易于硬件实现、可以直接用校验矩阵进行编码等优点。具体结构的一个实例如图4所示。其中B是双对角或者准双对角矩阵,C是0矩阵,E是下三角扩展矩阵。LDPC校验矩阵设计主要取决于A、D、E1的设计。
LDPC性能取决于两个最重要的因素,一个是base matrix的设计,另一个为采取何种方式将base matrix中每个非零元素扩展成的一个z×z循环置换矩阵。这两个因素对LDPC性能起到了决定性的作用。
综上所述,5G通信***与LTE相比一个重要的需求是大大提高了eMBB场景的数据速率,下行要求支持20Gbps的吞吐量,而上行链路也要求支持10Gbps的吞吐率。为了有效支持吞吐量需求,对eMBB数据信道采用的LDPC码参数进行了定义:最高码率不低于8/9,最大码长为8488,决定LDPC译码并行度的循环子矩阵的最大维数Zmax=384。目前的设计参数对于8/9码率LDPC码支持20Gbps是没有问题的,但是实际应用中存在如下问题:首先5G的LDPC译码器的吞吐量随着码率的降低,至少应该能够取得与LTE turbo码想比拟的性能,例如假定turbo在8/9码率时下行链路最高吞吐为1Gbps,在2/3码率时为750Mbps,则5G下行链路所设计的LDPC吞吐率在2/3码率时至少应该为15Gbps。同时R=8/9码率LDPC码对上/下行链路,分别支持10/20Gbps的吞吐率,最高码率应该是一个入门条件,应考虑重传的因素,冗余递增的LDPC码重传码率一定会低于初传码率,但是随着码率的降低,LDPC码校验矩阵迅速变大,例如:假定8/9码率的LDPC的base graph维数为10行90列,而1/2码率的LDPC码的basegraph就会变为45行90列,随着LDPC校验矩阵行数的增加,其边数即矩阵中1的个数也大量增加,而边的数目与每个码块译码的延迟(latency)成正比,所以若只有8/9码率支持20G吞吐,在重传的低码率上则需要更大的latency,导致此时无法完成译码,一旦无法完成译码终端会以丢包处理回复基站非确认(NACK)信令,则大大降低吞吐率。所以5G的LDPC码设计除了最高码率外,需要在更低的码率上考虑如何设计才能支持20Gbps吞吐率。
5G的URLLC场景,强调低时延高可靠,故需要所设计的LDPC码具有很低的延迟(latency),因此同样希望所设计的低码率LDPC码具有很低的latency。
因此,支持低latency与高吞吐的5G LDPC码校验矩阵的设计结构值得研究。
LDPC的并行度与子循环矩阵的维数Z成正比,为了提高吞吐率,LDPC的所有行间都是正交的,举例如下:下面是4行8列的base graph(每个1代表Z×Z的子循环矩阵):
4行之间互相正交,所以4行可以同时并行处理,latency就降低为单行处理的4倍,大大提高了吞吐率。
所述的并行度是硬件上的术语,译码器分为串行译码与并行译码,比如WCDMA的turbo码只能进行串行译码,即一个比特译完接着译码另一个比特速度很慢,到了LTE–turbo码引入了QPP交织器,使得turbo可以分几段同时译码就是并行译码,QPP交织器的结构决定了turbo能进行同时译码的路数较少,同时可以进行并行译码的数量就称为并行度,LTE-turbo并行度较低,LDPC并行度取决于Z,例如Z=256,就可以分为256路并行译码,256就是并行度。
然而,5G所采用的LDPC码为了提高低信噪比性能,却采用了前两列为内置打孔列的结构,即base graph的第一列与第二列对应的信息位不送入信道,但是译码时却参与译码,由于前两列发送的信号实际并没有传输,为了使得第一列与第二列能够译码成功,使得第一列与第二列必须为高列重,也就是base graph的第一列与第二列的元素绝大多数为1,高列重为不送入信道的信息位提供了高保护,既使对应的信息位不送入信道也能译码正确。为了提高吞吐率,如果设计成行正交特性,会导致不送入信道的base graph的前两列译码无法成功,会极大的损失LDPC码的性能。
因此,本申请实施例提供的一种支持低latency与高吞吐的5G LDPC校验矩阵的确定方法,包括:
步骤一:根据预设的基础图(base graph)的行数与列数,确定LDPC矩阵的整个base graph。
本申请实施例中所述的Base graph事实上就是一个矩阵,也可以称为basematrix,既然Base graph是矩阵,就存在行数与列数。由于base graph中元素非0即1,因此,本申请实施例中所述的任意一行的行重定义为该行中1的数目,同理,任意一列的列重定义为该列中1的数目。
具体步骤:
a)、高码率base graph采用高行重的非行正交结构,具体的图4中的双对角矩阵所对应的base graph里的所有行都采用行重大于预设值,该预设值的大小与高码率对应的base graph大小相关;例如每行1的个数除以高码率的base graph的行数大于预设值,较佳的该预设值为0.5。这种设计可以确保LDPC码高码率的性能,当然由于高码率对应的basegraph中1的数目过多,不具备行正交结构。最高码率对应的base graph一定是非行正交结构,最高码率向下扩展的高码率部分不排除仍然采用非行正交结构,但是行重比双对角部分减轻。
本申请实施例中所述的高码率与低码率都是个相对概念,例如高于1/2码率可以称为高码率,同理,例如低于1/2码率可以称为低码率,中等码率一般指1/2左右,但也不绝对。5G LDPC有两个base graph,大的base graph支持R=8/9到1/3,小的base graph从R=2/3到1/5。对于大的base graph,8/9甚至2/3都算高码率;对于小的base graph,R=2/3算高码率,高于1/2也算高码率。至少双对角结构对应的那几行一定是高码率,双对角向下扩展不是太多,只要在R=1/2以上都算高码率。所谓的低码率一般或者较佳的要求小于1/2。
本申请实施例中所述的高码率base graph,事实上是指的高码率对应的basegraph,以42行,52列的base graph即最低码率为1/5的base graph为例(后面解释为什么码率1/5),首先LDPC中校验矩阵(校验矩阵不是base graph,是base graph用循环置换矩阵扩展得到的)的列数N(N对应LDPC码长)减去行数M(M对应校验方程的个数)得到信息比特的个数K=N-M,K的单位是比特,码率为信息比特数除以码长即R=k/N;而base graph与校验矩阵间大小相差子循环矩阵大小的倍数Z,所以可以用base graph直接结算信息位与码率,假定base graph的列数为Nb,行数为Mb,则信息位对应的列数为Kb=Nb-Mb,注意此处用Kb,而非K表示,K的单位是比特,Kb的单位是base graph的列数,二者从比特角度看有Z倍的差别。码率根据base graph参数可得R=Kb/Nb。又由于5G的base graph为了提高低信噪比性能采用的base graph有两个内置打孔列,即对应base graph的前两列(当然这两列位于basegraph信息位对应列的哪个位置都是可以的),此两列对应的信息位编码后不送入信道,所以实际送入信道的信息位的长度为Nb-2,而不是Nb,所以对于5G LDPC,信息位Kb=52-42=10,R=10/(52-2)=1/5,这就是1/5码率的计算方法。
那么,关于高码率对应的base graph,高码率也是相对的,如果已经构造好了22行32列的高码率的base graph:同理kb=32-22=10,R=10/(32-2)=1/3,根据R=1/3的22行32列的base graph再向下扩充20行20列,即得42行52列的低码率R=1/5的base graph,这既是根据较高码率的base graph构造低码率base graph的来源。
所述的高列重,例如,1的数目与行数之比大于0.5,具体可以根据实际需要而定,1越多的列,越是高列重。
b)、中高码率扩展的base graph采用准行正交结构。具体的可在Base graph图中非行正交的高码率部分之下的扩展的中低码率对应的base graph图中,采用整体或者分组准行正交结构,即对应的base graph中除了前两列保持非正交,而其他列保持全部或者分组行正交结构。
c)、低码率扩展base graph采用行正交结构,具体的可在Base graph图中采用准行正交的中高码率部分之下的扩展的低码率对应的base graph图中,采用整体或者分组行正交结构,即对应的base graph中各行保持全部或者分组行正交结构,即扩展到basegraph中,这些行既使前两列也保持行正交。
由上述非行正交结构的base graph、准行正交结构的base graph、行正交结构的base graph,构成满足预设的行数、列数要求的base graph。
本申请实施例中所述的行正交:行正交的各行内积为0,即没有重合的1;
本申请实施例中所述的准行正交:具体到5G LDPC就是各行除了第1列与第2列不满足正交条件,其他各列都满足正交条件;
本申请实施例中所述的非行正交:指的是不满足行正交条件,但也不是准行正交,正交性最差。
实施例1:base graph大小为22行32列,如图5所示。前两列是高列重的内置打孔列,其对应的信息比特至少在初传时不在信道发送,对应的信息位kb=32-22=10列,最低码率Rmin=10/(32-2)=1/3,最高码率为前5行15列对应的校验矩阵,对应的信息位kb=15-5=10,Rmax=10/(15-2)=0.77。前5行,前15列构成最高码率:R=(15-5)/(15-2)=10/13,为非行正交结构,而双对角矩阵部分为4行14列,双对角矩阵所对应的base graph里的每一行的行重都不小于预设值,该预设值可以设置为上对角部分对应列数的一半,如图5所示,最小行重为8,大于列数的一半7;R=10/13的base graph向下扩展2行2列得7行17列构成码率R=(17-7)/(17-2)=2/3的base graph,所扩展的2行仍然是非行正交结构,故一直到码率R=2/3所对应的base graph仍然是非行正交结构。由R=2/3的base graph向下扩展5行5列得到12行22列,得码率R=(22-12)/(22-2)=1/2的base graph所扩展的5行5列,所扩展的前3行间满足行准正交关系,所扩展的后2行间也满足准正交关系,但是前3行与2行之间却不满足行正交关系。码率为1/2对应base graph向下扩展10行10列得到R=(32-22)/(32-2)=1/3的base graph,所扩展的10行中,第13-14,第14-15行,第15-16行,第17-18行,第19-20行,第21-22行分别满足正交关系。
步骤二:根据LDPC矩阵的整个base graph,确定子循环矩阵的循环系数。
确定子循环矩阵的循环系数,需要首先确定子循环矩阵的大小Z,不同的Z对应不同的校验矩阵,也对应不同的信息位的大小,5G的LDPC设计要求能够适应信息比特长度从40到8448,所以对应众多的Z,例如,信息比特K=40到8448。
关于如何根据K确定Z,假定K=1280的base graph的Kb=10,则Z=1280/10=128,若K=1290,则Z=2560/10=256,所以Z=256,而K从40到8448必然需要很多Z,每个Z对应一个校验矩阵。
为了降低循环系数的存储量,需要多个Z采用相同的循环系数或者是某个循环系数的函数,因此循环系数设计目标是:以环分布为测度使得该循环系数能够适应多个不同的Z,在不同的Z下都具有很好的环分布与最小距离特性。其中,所述最小距离是两个码字间的最小差异,最小距离越大,接收端发生混淆的可能性越小,如果最小距离很小,都符合HW=0,可能校验对了,但实际却不是真正的码字。
关于所述的子循环矩阵介绍如下:准循环LDPC的校验矩阵首先是一个二元矩阵每个元素非零即1,M行N列的校验矩阵有Mb行Nb行子循环矩阵构成,每个子循环矩阵维数为ZxZ,所以这Mb行Nb列又称为base graph。所以得到base graph后要将每个1扩展成一个循环置换矩阵,每个0扩展为ZxZ的0矩阵,从整个校验矩阵来看不是循环置换矩阵,但是从每个子矩阵来看都是循环的,这就是子循环矩阵的定义的来源。
关于子循环矩阵的循环系数介绍如下:由于base graph中每个1要扩展成为一个循环置换矩阵,而循环置换矩阵的事实上取决于第一行,第一行中1的位置就是循环置换矩阵的循环系数,根据文中定义,单位阵循环系数为第一行1的位置数,注意:是从0开始的index。
关于所述的校验矩阵介绍如下:线性分组码,首先要有一个二元矩阵H,该矩阵称为校验矩阵,利用此矩阵可以将信息比特进行线性变换得到很多与信息比特相关的比特,称为校验比特或者冗余比特,这些校验比特用于译码时恢复被fading channel淹没的信息比特,假定信息比特为x,这是发送端已知的,接收端未知,发送端除了发信息比特,还要引入校验比特p,具体关系为:校验矩阵H乘以W=[x p]级联的向量为0,发送端如何得到p,可以利用HW=0解方程组,如果H矩阵设计成5G采用的下三角形式,方程组很容易利用校验关系Hw=0解出来,这就是校验矩阵的来由,编码必须有H矩阵,所以先由base graph扩展到Hmarix才能进行编码。
关于所述的循环系数的函数介绍如下:不同的Z采用相同的循环系数,这本身就是循环系数的一种特殊常函数,比如根据Z=256设计的循环系数为shift_coefficient,当Z=128时,循环系数变为mod(shift_coefficient,128),保证循环系数不会超出Z的限制。
在LDPC矩阵的整个base graph中将每个1用对应的子循环矩阵的循环系数代替得到的矩阵,定义为原模图矩阵(protoMatrix)。
步骤三:以循环因子Z,对原模图矩阵protoMatrix,进行散列(Dispersion)操作,得到LDPC码的校验矩阵H。
其中,原模图矩阵的循环系数就是子循环矩阵的循环系数。
综上,参见图6,本申请实施例提供的一种确定校验矩阵的方法,包括:
S101、确定低密度奇偶校验码LDPC矩阵的基础图base graph;
S102、根据所述LDPC矩阵的base graph,确定LDPC的校验矩阵。
可选地,根据所述LDPC矩阵的base graph,确定LDPC的校验矩阵,具体包括:
根据所述LDPC矩阵的base graph,确定子循环矩阵的循环系数(即上述的步骤二);
利用所述子循环矩阵的循环系数,对原模图矩阵进行散列操作,得到LDPC的校验矩阵(即上述的步骤三)。
可选地,所述确定LDPC矩阵的base graph,具体包括:
按照预设的行数与列数,确定LDPC矩阵的base graph(即上述的步骤一)。
可选地,所述LDPC矩阵的base graph,包括多个码率(例如上述的高码率、中高码率、低码率)的base graph,不同码率的base graph结构(例如非行正交结构、准行正交结构、行正交结构)不同。
可选地,所述按照预设的行数与列数,确定LDPC矩阵的base graph,具体包括:
按照第一码率(例如上述的高码率),生成预设行重(例如所述的高行重)的非行正交结构的base graph;
基于所述非行正交结构的base graph,按照第二码率(例如上述的中高码率)进行扩展,生成准行正交结构的base graph;
基于所述准行正交结构的base graph,按照第三码率(例如上述的低码率)进行扩展,生成行正交结构的base graph;
由所述非行正交结构的base graph、准行正交结构的base graph和行正交结构的base graph,构成满足预设的行数与列数要求的LDPC矩阵的base graph;
其中,第一码率大于第二码率,第二码率大于第三码率。
需要说明的是,本申请实施例中所有所述的预设值,预设码率,预设行重等的具体值,都可以根据实际需要而定,本申请实施例对此并不进行限制。
与上述方法相对应地,参见图7,本申请实施例提供的一种确定校验矩阵的装置,包括:
第一单元11,用于确定低密度奇偶校验码LDPC矩阵的基础图base graph;
第二单元12,用于根据所述LDPC矩阵的base graph,确定LDPC的校验矩阵。
可选地,所述第二单元具体用于:
根据所述LDPC矩阵的base graph,确定子循环矩阵的循环系数;
利用所述子循环矩阵的循环系数,对原模图矩阵进行散列操作,得到LDPC的校验矩阵
可选地,所述第一单元具体用于:
按照预设的行数与列数,确定LDPC矩阵的base graph。
可选地,所述LDPC矩阵的base graph,包括多个码率的base graph,不同码率的base graph结构不同。
可选地,所述第一单元具体用于:
按照第一码率,生成预设行重的非行正交结构的base graph;
基于所述非行正交结构的base graph,按照第二码率进行扩展,生成准行正交结构的base graph;
基于所述准行正交结构的base graph,按照第三码率进行扩展,生成行正交结构的base graph;
由所述非行正交结构的base graph、准行正交结构的base graph和行正交结构的base graph,构成满足预设的行数与列数要求的LDPC矩阵的base graph;
其中,第一码率大于第二码率,第二码率大于第三码率。
本申请实施例提供的另一种编码装置,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一种方法。
例如,参见图8,本申请实施例提供的另一种编码装置,处理器500,用于读取存储器520中的程序,执行下列过程:
确定低密度奇偶校验码LDPC矩阵的基础图base graph;
根据所述LDPC矩阵的base graph,确定LDPC的校验矩阵。
可选地,处理器500根据所述LDPC矩阵的base graph,确定LDPC的校验矩阵,具体包括:
处理器500根据所述LDPC矩阵的base graph,确定子循环矩阵的循环系数;
处理器500利用所述子循环矩阵的循环系数,对原模图矩阵进行散列操作,得到LDPC的校验矩阵。
可选地,处理器500根确定LDPC矩阵的base graph,具体包括:
处理器500按照预设的行数与列数,确定LDPC矩阵的base graph。
可选地,所述LDPC矩阵的base graph,包括多个码率的base graph,不同码率的base graph结构不同。
可选地,所述处理器500按照预设的行数与列数,确定LDPC矩阵的base graph,具体包括:
处理器500按照第一码率,生成预设行重的非行正交结构的base graph;
处理器500基于所述非行正交结构的base graph,按照第二码率进行扩展,生成准行正交结构的base graph;
处理器500基于所述准行正交结构的base graph,按照第三码率进行扩展,生成行正交结构的base graph;
由所述非行正交结构的base graph、准行正交结构的base graph和行正交结构的base graph,构成满足预设的行数与列数要求的LDPC矩阵的base graph;
其中,第一码率大于第二码率,第二码率大于第三码率。
收发机510,用于在处理器500的控制下接收和发送数据。
其中,在图8中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器500代表的一个或多个处理器和存储器520代表的存储器的各种电路链接在一起。总线架构还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机510可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器500负责管理总线架构和通常的处理,存储器520可以存储处理器500在执行操作时所使用的数据。
处理器500可以是中央处埋器(CPU)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)。
本申请实施例提供的确定校验矩阵的装置,也可以看做是一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(PersonalDigital Assistant,PDA)等。该计算设备可以包括中央处理器(Center Processing Unit,CPU)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode RayTube,CRT)等。
存储器可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本申请实施例中,存储器可以用于存储编码方法的程序。
处理器通过调用存储器存储的程序指令,处理器用于按照获得的程序指令执行上述编码方法。
本申请实施例提供的一种计算机存储介质,用于储存为上述计算设备所用的计算机程序指令,其包含用于执行上述编码方法的程序。
所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
综上所述,本申请实施例提供的技术方案,在高码率部分维持高行重,非行正交保证高码率性能,同时由于高码率复杂度低,可以实现高吞吐;高码率扩展的中等码率部分采用准行正交结构,准行正交确保了校验矩阵的前两列的非零元素的密度,保证性能优先,同时行间内置打孔列以外的行中其他元素保持行正交有利于在高吞吐,一种可行的方法可以在内置打孔列所处的位置采用以前迭代的似然比,按照行正交的实现方式处理准行正交的行;在低码率采用完全行正交的设计,低码率部分对内置打孔列的依赖性下降,采用行正交设计不会对***性能带来明显损失,又可以加快低码率译码速度降低latency。因此,本申请实施例提供的技术方案融合非行正交、准行正交、行正交的设计方案,非常适于要求高吞吐,低latency的5G的eMBB与URLLC场景等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。