一种编码方法及装置、计算机存储介质与流程

文档序号:16461752发布日期:2019-01-02 22:36阅读:147来源:国知局
一种编码方法及装置、计算机存储介质与流程

本申请涉及通信技术领域,尤其涉及一种编码方法及装置、计算机存储介质。



背景技术:

当前第三代合作伙伴计划(3gpp)提出需要针对5g中移动宽带增强(embb)场景,给出低密度奇偶校验码(lowdensityparitycheckcode,ldpc)信道编码设计。

ldpc码是通过校验矩阵定义的一类线性码,为使译码可行,在码长较长时需要校验矩阵满足稀疏性,即校验矩阵中1的密度比较低,也就是要求校验矩阵中1的个数远小于0的个数,并且码长越长,密度就要越低。

但是,现有技术中没有给出适用于5g系统的ldpc的编码方案。



技术实现要素:

本申请实施例提供了一种编码方法及装置、计算机存储介质,用以提高ldpc编码性能,从而适用于5g系统。

本申请实施例提供的一种编码方法,包括:

确定低密度奇偶校验码ldpc矩阵的基础图basegraph,并构造循环系数指数矩阵;

根据所述循环系数指数矩阵,确定子循环矩阵;

根据所述子循环矩阵以及所述basegraph,进行ldpc编码。

通过该方法,确定低密度奇偶校验码ldpc矩阵的基础图basegraph,并构造循环系数指数矩阵,根据所述循环系数指数矩阵,确定子循环矩阵,根据所述子循环矩阵以及所述basegraph,进行ldpc编码,从而提高了ldpc编码性能,适用于5g系统。

可选地,所述构造循环系数指数矩阵,具体包括:

步骤一:将需要支持的子循环矩阵的维数z的集合划分为多个子集;

步骤二:针对每个所述子集,生成一套循环系数指数矩阵;

步骤三:根据所述循环系数指数矩阵,确定多个子集的z所对应的循环系数;

步骤四:对每个z,检测所确定的循环系数指数矩阵的性能是否满足预设条件,如果是,则结束,否则,重新执行步骤二。

可选地,z=a×2j;采用下列方式之一执行所述步骤一:

方式一:根据a的取值,将z分成多个子集;

方式二:根据j的取值,将z分成多个子集;

方式三:根据信息比特的长度,将z分成多个子集。

可选地,所述步骤三具体包括:采用如下公式确定每个z所对应的循环系数pi,j:

其中,vi,j是循环系数指数矩阵的第(i,j)个元素对应的循环系数。

可选地,当采用所述方式一时,确定的循环系数指数矩阵如下表所示:

可选地,当采用所述方式一时,确定的循环系数指数矩阵如下表所示:

可选地,当采用所述方式一时,确定的循环系数指数矩阵如下表所示:

可选地,当采用所述方式一时,确定的循环系数指数矩阵如下表所示:

可选地,当采用所述方式一时,确定的循环系数指数矩阵如下表所示:

可选地,当采用所述方式一时,确定的循环系数指数矩阵如下表所示:

可选地,该方法还包括:

对所述循环系数指数矩阵进行更新;

利用更新后的循环系数指数矩阵,更新所述子循环矩阵。

可选地,所述更新至少包括矩阵元素的行列置换。

可选地,根据所述子循环矩阵以及所述basegraph,进行ldpc编码,具体包括:

根据所述子循环矩阵以及所述basegraph,确定校验矩阵;

利用所述校验矩阵,进行ldpc编码。

可选地,确定校验矩阵之后,该方法还包括:对校验矩阵进行行列置换;

利用所述校验矩阵,进行ldpc编码,具体包括:利用行列置换后的校验矩阵,进行ldpc编码。

可选地,对所述校验矩阵进行行列置换,具体包括:

对校验矩阵中的部分行和/或列元素进行更新,和/或,对校验矩阵中的全部行和/或列元素进行更新。

本申请实施例提供的一种编码装置,包括:

第一单元,用于确定低密度奇偶校验码ldpc矩阵的基础图basegraph,并构造循环系数指数矩阵;

第二单元,用于根据所述循环系数指数矩阵,确定子循环矩阵;

第三单元,用于根据所述子循环矩阵以及所述basegraph,进行ldpc编码。

可选地,所述第一单元构造循环系数指数矩阵,具体包括:

步骤一:将需要支持的子循环矩阵的维数z的集合划分为多个子集;

步骤二:针对每个所述子集,生成一套循环系数指数矩阵;

步骤三:根据所述循环系数指数矩阵,确定多个子集的z所对应的循环系数;

步骤四:对每个z,检测所确定的循环系数指数矩阵的性能是否满足预设条件,如果是,则结束,否则,重新执行步骤二。

可选地,z=a×2j;所述第一单元采用下列方式之一执行所述步骤一:

方式一:根据a的取值,将z分成多个子集;

方式二:根据j的取值,将z分成多个子集;

方式三:根据信息比特的长度,将z分成多个子集。

可选地,所述步骤三具体包括:采用如下公式确定每个z所对应的循环系数pi,j:

其中,vi,j是循环系数指数矩阵的第(i,j)个元素对应的循环系数。

可选地,当采用所述方式一时,确定的循环系数指数矩阵如下表所示:

可选地,当采用所述方式一时,确定的循环系数指数矩阵如下表所示:

可选地,当采用所述方式一时,确定的循环系数指数矩阵如下表所示:

可选地,当采用所述方式一时,确定的循环系数指数矩阵如下表所示:

可选地,当采用所述方式一时,确定的循环系数指数矩阵如下表所示:

可选地,当采用所述方式一时,确定的循环系数指数矩阵如下表所示:

可选地,所述第二单元还用于:

对所述循环系数指数矩阵进行更新;

利用更新后的循环系数指数矩阵,更新所述子循环矩阵。

可选地,所述更新至少包括矩阵元素的行列置换。

可选地,所述第三单元具体用于:

根据所述子循环矩阵以及所述basegraph,确定校验矩阵;

利用所述校验矩阵,进行ldpc编码。

可选地,所述第三单元还用于:确定校验矩阵之后,对校验矩阵进行行列置换;

所述第三单元利用所述校验矩阵,进行ldpc编码,具体包括:利用行列置换后的校验矩阵,进行ldpc编码。

可选地,所述第三单元对所述校验矩阵进行行列置换,具体包括:

对校验矩阵中的部分行和/或列元素进行更新,和/或,对校验矩阵中的全部行和/或列元素进行更新。

本申请实施例提供的另一种编码装置,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一种方法。

本申请实施例提供的一种计算机存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的basematrix的结构示意图;

图2本申请实施例提供的矩阵p的结构示意图;

图3本申请实施例提供的当z=8时的循环置换矩阵的结构示意图;

图4本申请实施例提供的basegraph与循环系数矩阵(z=8)的结构示意图;;

图5本申请实施例提供的支持冗余递增的ldpc校验矩阵的结构示意图;

图6本申请实施例提供的5gldpc要求支持的循环矩阵大小z的集合的示意图;

图7为本申请实施例提供的basegraph#2的结构示意图;

图8为本申请实施例提供的第一种循环系数指数矩阵的结构示意图;

图9为本申请实施例提供的第二种循环系数指数矩阵的结构示意图;

图10为本申请实施例提供的第三种循环系数指数矩阵的结构示意图;

图11为本申请实施例提供的第四种循环系数指数矩阵的结构示意图;

图12为本申请实施例提供的第五种循环系数指数矩阵的结构示意图;

图13为本申请实施例提供的第六种循环系数指数矩阵的结构示意图;

图14为本申请实施例提供的z=128时采用pcm2(a=3)r=1/5对应的校验矩阵的其girth分布示意图;

图15为本申请实施例提供的ldpc循环系数性能的示意图;

图16为本申请实施例提供的一种编码方法的流程示意图;

图17为本申请实施例提供的一种编码装置的结构示意图;

图18为本申请实施例提供的另一种编码装置的结构示意图。

具体实施方式

本申请实施例提供了一种编码方法及装置、计算机存储介质,用以提高ldpc编码性能,从而适用于5g系统。

本申请实施例提供的技术方案,给出针对emmb场景的数据信道采用ldpc编码替代原长期演进(longtermevolution,lte)系统采用的turbo编码,即给出适用于5g系统的ldpc编码方案。

5g的ldpc码设计要求采用准循环ldpc码,其校验矩阵h可以表示为如下形式:

其中,ai,j是z×z循环置换矩阵。

对于准循环ldpc码有多种构造方法,例如,首先构造一个大小为ρ×c的基矩阵(basematrix),该矩阵的元素非0即1,如图1所示。然后对该基矩阵b的每个1元素扩展为一个z×z循环置换矩阵(circularpermutationmatrix,cpm),基矩阵的0元素则扩展为一个z×z的全0矩阵,basematrixb在后来的基于原模图的ldpc构造方式中被称为基础图(basegraph,bg)。用pi表示每个z×z循环置换矩阵,其中矩阵p就是单位阵循环向右移动一位得到的矩阵,如图2所示,而i是循环移位标号,即子矩阵的循环系数。图3给出了一个循环置换矩阵pi(子分组大小为8×8,即z=8)的实例。

因此,每个循环置换矩阵pi实际上为单位阵i循环右移i次数,循环置换矩阵循环移位标号i满足

上面所述的循环移位的标号i又称为ldpc校验矩阵的循环移位系数(shiftingcoefficients)。事实上,循环移位系数,即为子循环矩阵第一行1所处的列的index(标号从0开始,index=列数-1)。将basegraph中的每个1用所对应的子循环矩阵的循环移位系数替换,将basegraph中每个0用-1替换,由于每个循环移位标号i是以矩阵指数的形式呈现,所以由此得到的系数矩阵又称为循环系数指数矩阵(shiftingcoefficientsexponentmatrix,sem)。图4表示循环系数指数矩阵的一个例子。其中,bg为3行6列的basegraph,basegraph中每个元素对应大小为8行8列的一个子循环矩阵,利用每个子循环矩阵的循环移位系数替换basegraph,其中0用-1替换得到循环系数指数矩阵。

上面描述的准循环ldpc码对应的子循环矩阵(cm),列重可以大于1,例如列重为2或者更大的值,此时子循环矩阵不再是一个循环置换阵(cpm)。

5g的ldpc码设计要求必须支持ir(incrementalredundancy)-harq,故可以采用递增冗余的方法构造针对5g场景的ldpc码,即首先构造一个高码率的ldpc码,然后采用递增冗余的方式产生更多的校验位,进而得到低码率的ldpc码,基于递增冗余方法构造的ldpc码具有性能优异、码长、码率覆盖范围广、复用度高、易于硬件实现、可以直接用校验矩阵进行编码等优点。具体结构的一个实例如图5所示。其中b是双对角或者准双对角矩阵,c是0矩阵,e是下三角扩展矩阵。ldpc校验矩阵设计主要取决于a、d、e1的设计。

ldpc性能取决于两个最重要的因素,一个是basematrix的设计,另一个为采取何种方式将basematrix中每个非零元素扩展成的一个z×z循环置换矩阵。这两个因素对ldpc性能起到了决定性的作用,basematrix与扩展的子循环置换矩阵的不恰当设计会极大恶化ldpc码性能。

综上所述,5g设计中ldpc校验矩阵正在设计中,由于5g要求支持flexibleldpc,以embb数据信道为例,3gpp要求通过两个basegraph扩展得到的最多两个ldpc校验矩阵支持最高8/9码率,最低1/5,信息位最长为8448bits最短40bits;所述的两个basegraph,大的basegraph为46x68列,其中前22列对应信息位,最低码率为1/3;而小的basegraph大小为42x52列,最低码率为1/5。与大的basegraph不同,小的basegraph为了提高并译码行度,降低译码时延,3gpp目前的结论是当信息比特k>640时,basegraph图中前10列对应信息位;当信息比特560<k<=640时,basegraph的前9列对应信息位,当信息比特192<k<=560时,basegraph的前8列对应信息位;当信息比特40<k<=192时,basegraph的前6列对应信息位。

5gldpc设计中为了让固定的两个basegraph支持40~8448的信息比特长度,采用basegraph的每个1对应的子循环矩阵扩展成不同大小的子循环矩阵的方法,即子循环矩阵的大小z可以支持不同的值。3gpp给出的要求支持的子循环矩阵维数z=a×2j,其值具体如图6所示。图6所示的表格中的每一个z都对应ldpc的一个校验矩阵,如此看来,5gldpc码设计需要设计很多校验矩阵。如果为每个z都设计一套循环系数矩阵,不容易存储且工作量巨大,因此找到恰当的支持多种码率与多种信息比特长度且存储复杂度低的ldpc码的循环系数设计方法是一个非常困难的问题,一种方法对多个z采用相同的循环系数,但是这往往难以得到优异的性能;循环系数的设计对5gldpc码的设计提出极大挑战。

下面给出本申请实施例提供的ldpc编码方法的详细介绍。

本申请实施例提供的ldpc编码方法,包括:

第一步:以基于密度进化p-exitchart译码门限(码长无限长时的最低译码门限值,即所需的最低snr值)为测度,结合实际的仿真性能确定basegraph;

第二步:构造循环系数指数矩阵,其中,所述的循环系数的每个值代表一个子矩阵的循环系数,且根据前面描述pi系数i位于指数的位置,所以此处称为循环系数指数矩阵,也可以称为exponentmatrix。该第二步具体包括下列步骤一至步骤四:

步骤一:将需要支持的子循环矩阵的维数z的集合划分为多个子集。以z=a×2j,0≤j≤7,a={2,3,5,7,9,11,13,15}为例,可以采用下列方式之一确定多个子集:

方式一:可以根据a进行分类,例如a=2时,z=2×2j,0≤j≤7是一个子集,这样就将z分成了8个子集,这8个子集实际上分别对应图6的8列,即第一个set就是图6中a=2时对应的第一列的值,以此类推;

方式二:可以根据j分类,对j的每个具体取值,z=a×2j,a={2,3,5,7,9,11,13,15}就构成一个子集,由于j恰好有8个值,故也对应8个子集,例如j=0时,对应图6中的第一行中j=0时对应的第一行的8个值,以此类推;

方式三:根据z的大小进行分类,因为kb*z就是信息比特的长度,其中kb是basegraph图中信息位的列数,与信息比特的个数k不同,对于大的basegraph,kb=22,小的basegraph,kb=10,所以对z按照大小分类,自然就等价于按照信息比特长度k的大小分类。例如:[2:1:15],[16:2:30],[32:4:64],[72:8:128],[144:16:192],[208:16:256],[288:32:320],[352:32:384],这种分法实际上是根据信息比特的长度进行分段。信息比特长度k是以比特为单位的,k/kb=z的估计值,分段时,按照2的整数次幂就是一个例子,z较小时分的密集一些,z较大时分的稀疏一些。

步骤二:针对每个子集,例如可以利用代数与随机相结合的方法产生一套循环系数指数矩阵。其中,随机的方法比如就是随机产生一个指数矩阵,然后通过后续的方法挑选出最优的。代数的方法,例如可以首先构造一个大的指数矩阵,然后利用随机的maskedmatrix得到一个指数矩阵。如此一来,8个子集共需要8套循环系数指数矩阵。

步骤三:根据步骤二所确定的循环系数指数矩阵,对前面说的8个子集(每个集合对应一套循环系数指数矩阵)中的每个z及其部分集合外的z元素,进一步确定每个z所对应的循环系数,由于本申请实施例中除了考虑集合内的元素还考虑集合外的z元素,这样使得该系数指数矩阵具有更好的适应性,首先因为集合内的z往往还是具有较大的间隔,无法达到1比特颗粒度,考虑集合以外的z元素参与循环系数设计,会增加系数指数矩阵对不同z性能的鲁棒性,带来的另外一个增益就是技术上可以为不同的集合配置相同的系数指数矩阵,这样会进一步降低存储量与硬件设计复杂度。其中,每个子集产生一个指数矩阵,这个指数矩阵实际按照子集中最大的z产生,而子集中每个具体的z的系数是这个最大z产生的指数矩阵的一个函数,设计循环系数要使得对子集内所有z的循环系数性能优异,这个子集所对应的指数矩阵才是合格的。根据循环系数指数矩阵,确定每个z对应的循环系数的方法的一个例子为:循环系数pi,j可以利用如下函数计算:

pi,j=f(vi,j,z)

其中,vi,j是系数指数矩阵的第(i,j)个元素对应的循环系数,函数f定义为:

步骤四:对每个子集中所有的z,例如以环分布与码字最小距离估计为基本的测度,判断步骤二所确定的集合级别的循环系数指数矩阵的优劣,环数与最小距离越大,码字性能越好。若集合级别的循环系数指数矩阵性能不好,则重新返回步骤二。其中,所述环分布就是环长的分布,例如矩形其环长为4,越大越好,永远构不成环就是图形不封闭,在图论上叫树。最小距离是任意两个码字间最小的差异,差异越小,就不容易区分,码字性能就越差,因此,只有最小距离大,编码出的码字性能才好,从而才说明搜索出的指数矩阵越好,否则说明该指数矩阵不应该被采用。

第三步:根据第二步确定的循环系数指数矩阵,将每个循环系数扩展为对应的子循环矩阵,最终得到ldpc码的校验矩阵h。

例如,h矩阵是42行52列子循环矩阵构成,将每个子循环矩阵用0或者1代替就是basegraph,将每个basegraph的每个1元素用子循环矩阵替代就得到h矩阵,用哪个子循环矩阵替代basegraph中的1,就是设计每个子矩阵的循环系数,所有的循环系数放在一个矩阵里描述就是循环系数指数矩阵。

第四步:利用校验矩阵h完成ldpc编码,有了循环系数与z,直接就得到每个子循环矩阵,从而得到整个h矩阵。

下面给出一个具体实施例的举例说明:

5gldpc设计所采用的basegraph#2为42行52列,目前所确定的basegraph如图7所示。42行对应校验节点,52列对应变量节点,对于前面所述basegraph中信息位kb小于10的情形,例如kb=9,则直接将basegraph中第10列删除,若kb=6,则将basegraph的第7,8,9,10列删除,而行不变。

根据图7所示的basegraph,将图6所示的循环矩阵大小z的集合按照a分类,即按照图6的每一列进行分割,a有8个不同的数值,对应得到8个不同的z集合,例如a=2对应的z集合为set1={2,4,8,16,32,64,128,256},a=3对应的z集合为set2={3,6,12,24,48,96,192,384},a=5对应的z集合为set3={5,10,20,40,80,160,320},a=7对应的z集合为set4={7,14,28,56,112,224},a=9对应的z集合为set5={9,18,36,72,144,288},a=11对应的z集合为set6={11,22,44,88,176,352},a=13对应的z集合为set7={13,26,52,104,208},a=15对应的z集合为set8={15,30,60,120,240}。

对每个z集合按照上述第二步所述的方法,确定6个集合级别的循环系数指数矩阵pcmi,i=1,2,3,..6分别为setii=1,2,3,..6所对应的循环系数指数矩阵。其中,a=2,集合set1对应的循环系数指数矩阵pcm1具体如图8所示;a=3,集合set2对应的循环系数指数矩阵pcm2具体如图9所示;a=5,集合set3对应的循环系数指数矩阵pcm3具体如图10所示;a=7,集合set4对应的循环系数指数矩阵pcm4具体如图11所示;a=9,集合set5对应的循环系数指数矩阵pcm5具体如图12所示;a=11,集合set6对应的循环系数指数矩阵pcm6具体如图13所示。

如第二步所述,在为一个集合设计循环系数指数矩阵时,不但根据集合内系数优化,还根据集合外系数优化,以集合二set2(a=3)对应的pcm2为例,设计时考虑了集合一set1(a=2)中的某些z,使得集合一set1(a=2)中的某些z采用集合二set2(a=3)的pcm2矩阵也具有优异性能,以集合一set1(a=2)中的z=128,码率为1/5,采用pcm2对应的校验矩阵为例,其girth分布如图14所示,由于都是6环与8环,所以性能优异。

根据图8至图13所示basegraph设计ldpc性能的一个例子如图15所示,可以看到本申请实施例中的basegraph对应的ldpc码性能较佳。

需要特别指出的是:

本申请实施例中,还可以包括:

对所述循环系数指数矩阵进行更新;

利用更新后的循环系数指数矩阵,更新所述子循环矩阵。

可选地,所述更新至少包括矩阵元素的行列置换。

本申请实施例中,还可以对所设计的校验矩阵h进行行列置换,行列置换除了包括普通意义的行列置换,还包括保持对行与列的部分元素进行置换,以图5中矩阵b所示的双对角矩阵与矩阵e所示的下三角结构为例,进行行列置换时可以保持双对角度与下三角结构不动,而置换行列中其他元素。从系数指数矩阵角度来看,这种置换可以是指数矩阵不同行列间的交换,还可以是指数矩阵中的一行即代表的一行子循环矩阵内部行或者列的交换,比如子循环矩阵的第一行置换到子循环矩阵的最后一行,这样反应在指数矩阵的数值上就是原来系数值加上某一个数值。

综上,参见图16,本申请实施例提供的一种编码方法,包括:

s101、确定低密度奇偶校验码ldpc矩阵的基础图basegraph,并构造循环系数指数矩阵;

s102、根据所述循环系数指数矩阵,确定子循环矩阵;

s103、根据所述子循环矩阵以及所述basegraph,进行ldpc编码。

通过该方法,确定低密度奇偶校验码ldpc矩阵的基础图basegraph,并构造循环系数指数矩阵,根据所述循环系数指数矩阵,确定子循环矩阵,根据所述子循环矩阵以及所述basegraph,进行ldpc编码,从而提高了ldpc编码性能,适用于5g系统。

可选地,所述构造循环系数指数矩阵,具体包括:

步骤一:将需要支持的子循环矩阵的维数z的集合划分为多个子集;

步骤二:针对每个所述子集,生成一套循环系数指数矩阵;

步骤三:根据所述循环系数指数矩阵,确定多个子集的z所对应的循环系数;

步骤四:对每个z,检测所确定的循环系数指数矩阵的性能是否满足预设条件,如果是,则结束,否则,重新执行步骤二。

可选地,z=a×2j,0≤j≤7,a={2,3,5,7,9,11,13,15};采用下列方式之一执行所述步骤一:

方式一:根据a的取值,将z分成8个子集;

方式二:根据j的取值,将z分成8个子集;

方式三:根据信息比特的长度,将z分成8个子集。

可选地,所述步骤三具体包括:采用如下公式确定每个z所对应的循环系数pi,j:

其中,vi,j是循环系数指数矩阵的第(i,j)个元素对应的循环系数。

可选地,根据所述子循环矩阵以及所述basegraph,进行ldpc编码,具体包括:

根据所述子循环矩阵以及所述basegraph,确定校验矩阵;

利用所述校验矩阵,进行ldpc编码。

可选地,确定校验矩阵之后,该方法还包括:对校验矩阵进行行列置换;

利用所述校验矩阵,进行ldpc编码,具体包括:利用行列置换后的校验矩阵,进行ldpc编码。

可选地,对所述校验矩阵进行行列置换,具体包括:

对校验矩阵中的部分行和/或列元素进行更新,和/或,对校验矩阵中的全部行和/或列元素进行更新。

与上述方法相对应地,参见图17,本申请实施例提供的一种编码装置,包括:

第一单元11,用于确定低密度奇偶校验码ldpc矩阵的基础图basegraph,并构造循环系数指数矩阵;

第二单元12,用于根据所述循环系数指数矩阵,确定子循环矩阵;

第三单元13,用于根据所述子循环矩阵以及所述basegraph,进行ldpc编码。

可选地,所述第一单元构造循环系数指数矩阵,具体包括:

步骤一:将需要支持的子循环矩阵的维数z的集合划分为多个子集;

步骤二:针对每个所述子集,生成一套循环系数指数矩阵;

步骤三:根据所述循环系数指数矩阵,确定多个子集的z所对应的循环系数;

步骤四:对每个z,检测所确定的循环系数指数矩阵的性能是否满足预设条件,如果是,则结束,否则,重新执行步骤二。

可选地,z=a×2j,0≤j≤7,a={2,3,5,7,9,11,13,15};所述第一单元采用下列方式之一执行所述步骤一:

方式一:根据a的取值,将z分成8个子集;

方式二:根据j的取值,将z分成8个子集;

方式三:根据信息比特的长度,将z分成8个子集。

可选地,所述步骤三具体包括:采用如下公式确定每个z所对应的循环系数pi,j:

其中,vi,j是循环系数指数矩阵的第(i,j)个元素对应的循环系数。

可选地,所述第三单元具体用于:

根据所述子循环矩阵以及所述basegraph,确定校验矩阵;

利用所述校验矩阵,进行ldpc编码。

可选地,所述第三单元还用于:确定校验矩阵之后,对校验矩阵进行行列置换;

所述第三单元利用所述校验矩阵,进行ldpc编码,具体包括:利用行列置换后的校验矩阵,进行ldpc编码。

可选地,所述第三单元对所述校验矩阵进行行列置换,具体包括:

对校验矩阵中的部分行和/或列元素进行更新,和/或,对校验矩阵中的全部行和/或列元素进行更新。

本申请实施例提供的另一种编码装置,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一种方法。

例如,参见图18,本申请实施例提供的另一种编码装置,处理器500,用于读取存储器520中的程序,执行下列过程:

确定低密度奇偶校验码ldpc矩阵的基础图basegraph,并构造循环系数指数矩阵;

根据所述循环系数指数矩阵,确定子循环矩阵;

根据所述子循环矩阵以及所述basegraph,进行ldpc编码。

可选地,所述处理器500构造循环系数指数矩阵,具体包括:

步骤一:将需要支持的子循环矩阵的维数z的集合划分为多个子集;

步骤二:针对每个所述子集,生成一套循环系数指数矩阵;

步骤三:根据所述循环系数指数矩阵,确定多个子集的z所对应的循环系数;

步骤四:对每个z,检测所确定的循环系数指数矩阵的性能是否满足预设条件,如果是,则结束,否则,重新执行步骤二。

可选地,z=a×2j,0≤j≤7,a={2,3,5,7,9,11,13,15};所述处理器500采用下列方式之一执行所述步骤一:

方式一:根据a的取值,将z分成8个子集;

方式二:根据j的取值,将z分成8个子集;

方式三:根据信息比特的长度,将z分成8个子集。

可选地,所述步骤三具体包括:采用如下公式确定每个z所对应的循环系数pi,j:

其中,vi,j是循环系数指数矩阵的第(i,j)个元素对应的循环系数。

可选地,所述处理器500根据所述子循环矩阵以及所述basegraph,进行ldpc编码,具体包括:

根据所述子循环矩阵以及所述basegraph,确定校验矩阵;

利用所述校验矩阵,进行ldpc编码。

可选地,所述处理器500还用于:确定校验矩阵之后,对校验矩阵进行行列置换;

所述处理器500利用所述校验矩阵,进行ldpc编码,具体包括:利用行列置换后的校验矩阵,进行ldpc编码。

可选地,所述处理器500对所述校验矩阵进行行列置换,具体包括:

对校验矩阵中的部分行和/或列元素进行更新,和/或,对校验矩阵中的全部行和/或列元素进行更新。

收发机510,用于在处理器500的控制下接收和发送数据。

其中,在图18中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器500代表的一个或多个处理器和存储器520代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机510可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器500负责管理总线架构和通常的处理,存储器520可以存储处理器500在执行操作时所使用的数据。

处理器500可以是中央处埋器(cpu)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld)。

本申请实施例提供的编码装置,也可以看做是一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(personaldigitalassistant,pda)等。该计算设备可以包括中央处理器(centerprocessingunit,cpu)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(liquidcrystaldisplay,lcd)、阴极射线管(cathoderaytube,crt)等。

存储器可以包括只读存储器(rom)和随机存取存储器(ram),并向处理器提供存储器中存储的程序指令和数据。在本申请实施例中,存储器可以用于存储编码方法的程序。

处理器通过调用存储器存储的程序指令,处理器用于按照获得的程序指令执行上述编码方法。

本申请实施例提供的一种计算机存储介质,用于储存为上述计算设备所用的计算机程序指令,其包含用于执行上述编码方法的程序。

所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd))等。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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