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

文档序号:16244375发布日期:2018-12-11 23:25阅读:166来源:国知局
一种编码方法及装置、计算机存储介质与流程
本申请涉及通信
技术领域
,尤其涉及一种编码方法及装置、计算机存储介质。
背景技术
当前第三代合作伙伴计划(3gpp)提出需要针对5g中移动宽带增强(embb)场景,给出低密度奇偶校验码(lowdensityparitycheckcode,ldpc)信道编码设计。ldpc码是通过校验矩阵定义的一类线性码,为使译码可行,在码长较长时需要校验矩阵满足稀疏性,即校验矩阵中1的密度比较低,也就是要求校验矩阵中1的个数远小于0的个数,并且码长越长,密度就要越低。但是,现有技术中没有给出适用于5g系统的ldpc的编码方案。技术实现要素:本申请实施例提供了一种编码方法及装置、计算机存储介质,用以提高ldpc编码性能,从而适用于5g系统。本申请实施例提供的一种编码方法,包括:确定低密度奇偶校验码ldpc矩阵的基础图basegraph;根据所述ldpc矩阵的basegraph,进行ldpc编码。通过本申请实施例提供的该编码方法确定低密度奇偶校验码ldpc矩阵的基础图basegraph,并根据所述ldpc矩阵的basegraph,进行ldpc编码,可以提高ldpc编码性能,从而适用于5g系统。可选地,根据所述ldpc矩阵的basegraph,进行ldpc编码,具体包括:根据所述ldpc矩阵的basegraph,确定ldpc的校验矩阵;利用所述校验矩阵完成ldpc编码。可选地,根据所述ldpc矩阵的basegraph,确定ldpc的校验矩阵,具体包括:根据所述ldpc矩阵的basegraph,确定子循环矩阵的循环系数;利用所述子循环矩阵的循环系数,对原模图矩阵进行散列操作,得到ldpc的校验矩阵。可选地,所述确定ldpc矩阵的basegraph,具体包括下列方式之一或组合:方式一:按照预设的最低码率生成ldpc矩阵的basegraph;方式二:按照不同的码率分块产生ldpc矩阵的basegraph;方式三:逐行随机产生ldpc矩阵的basegraph。可选地,所述方式一具体包括:按照预设的最低码率,以及预设的行重与列重的分布,随机产生basegraph;从该随机产生的basegraph中选择满足预设条件的basegraph。可选地,所述方式二具体包括:根据预设的第一码率,以及预设的行重与列重的分布,随机产生basegraph;基于该随机产生的basegraph进行扩展,生成第二码率的basegraph;其中,所述第一码率大于第二码率。可选地,所述方式三具体包括:逐行随机产生basegraph,其中,每产生一行basegraph,对当前产生的该行basegraph进行优化,使得该行basegraph的译码门限最小化。可选地,所述basegraph为42行52列的basegraph,其中,前两列是内置打孔列,对应的信息位kb=52-42=10列,最低码率rmin=10/(52-2)=1/5,最高码率校验矩阵对应的basegraph为前5行前15列对应的校验矩阵,对应的信息位kb=15-5=10,最高码率rmax=10/(15-2)=0.77。可选地,该方法还包括:按照预设码率,对所述basegraph进行行和/或列置换;根据所述ldpc矩阵的basegraph,进行ldpc编码,具体包括:根据行和/或列置换后得到的新的basegraph,进行ldpc编码。本申请实施例提供的一种编码装置,包括:第一单元,用于确定低密度奇偶校验码ldpc矩阵的基础图basegraph;第二单元,用于根据所述ldpc矩阵的basegraph,进行ldpc编码。可选地,所述第二单元具体用于:根据所述ldpc矩阵的basegraph,确定ldpc的校验矩阵;利用所述校验矩阵完成ldpc编码。可选地,所述第二单元根据所述ldpc矩阵的basegraph,确定ldpc的校验矩阵,具体包括:根据所述ldpc矩阵的basegraph,确定子循环矩阵的循环系数;利用所述子循环矩阵的循环系数,对原模图矩阵进行散列操作,得到ldpc的校验矩阵。可选地,所述第一单元具体采用下列方式之一或组合确定ldpc矩阵的basegraph:方式一:按照预设的最低码率生成ldpc矩阵的basegraph;方式二:按照不同的码率分块产生ldpc矩阵的basegraph;方式三:逐行随机产生ldpc矩阵的basegraph。可选地,所述方式一具体包括:按照预设的最低码率,以及预设的行重与列重的分布,随机产生basegraph;从该随机产生的basegraph中选择满足预设条件的basegraph。可选地,所述方式二具体包括:根据预设的第一码率,以及预设的行重与列重的分布,随机产生basegraph;基于该随机产生的basegraph进行扩展,生成第二码率的basegraph;其中,所述第一码率大于第二码率。可选地,所述方式三具体包括:逐行随机产生basegraph,其中,每产生一行basegraph,对当前产生的该行basegraph进行优化,使得该行basegraph的译码门限最小化。可选地,所述basegraph为42行52列的basegraph,其中,前两列是内置打孔列,对应的信息位kb=52-42=10列,最低码率rmin=10/(52-2)=1/5,最高码率校验矩阵对应的basegraph为前5行前15列对应的校验矩阵,对应的信息位kb=15-5=10,最高码率rmax=10/(15-2)=0.77。可选地,所述第一单元还用于:按照预设码率,对所述basegraph进行行和/或列置换;所述第二单元具体用于:根据行和/或列置换后得到的新的basegraph,进行ldpc编码。本申请实施例提供的另一种编码装置,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一种方法。本申请实施例提供的一种计算机存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的basematrix的结构示意图;图2本申请实施例提供的矩阵p的结构示意图;图3本申请实施例提供的当z=8时的循环置换矩阵的结构示意图;图4本申请实施例提供的支持冗余递增的ldpc校验矩阵结构示意图;图5为本申请实施例提供的(42,52)的basegraph的结构示意图;图6为本申请实施例提供的40行50列的basegraph,码率为0.21的basegraph的结构示意图;图7为本申请实施例提供的新扩展的2行basegraph用于支持3gpp要求的最低1/5码率的basegraph的结构示意图;图8为本申请实施例提供的支持3gpp最低1/5码率的完整basegraph的结构示意图;图9为本申请实施例提供的对图6所示的第5行basegraph进行优化处理后得到的40行50列的basegraph的结构示意图;图10为本申请实施例提供的在图9所示的basegraph后增设图8所示的basegraph后得到的42行52列的basegraph的结构示意图;图11为本申请实施例提供的(42,52)的protomatrix的结构示意图;图12为本申请实施例提供的一种编码方法的流程示意图;图13为本申请实施例提供的一种编码装置的结构示意图;图14为本申请实施例提供的另一种编码装置的结构示意图。具体实施方式本申请实施例提供了一种编码方法及装置、计算机存储介质,用以提高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)。用pi表示每个z×z循环置换矩阵,其中矩阵p就是单位阵循环向右移动一位得到的矩阵,如图2所示,而i是循环移位标号,即子矩阵的循环系数。图3给出了一个循环置换矩阵pi(子分组大小为8×8,即z=8)的实例。因此,每个循环置换矩阵pi实际上为单位阵i循环右移i次数,循环置换矩阵循环移位标号i满足为了获得多种形式的码长,将循环置换矩阵的大小z分别取值为27、54、81,对应3种码长分别是1944、1296、648。上面描述的准循环ldpc码对应的子循环置换矩阵(cm),列重可以大于1,例如列重为2或者更大的值,此时子循环置换矩阵不再是一个cpm。5g的ldpc码设计要求必须支持ir(incrementalredundancy)-harq,故可以采用递增冗余的方法构造针对5g场景的ldpc码,即首先构造一个高码率的ldpc码,然后采用递增冗余的方式产生更多的校验位,进而得到低码率的ldpc码,基于递增冗余方法构造的ldpc码具有性能优异、码长、码率覆盖范围广、复用度高、易于硬件实现、可以直接用校验矩阵进行编码等优点。具体结构的一个实例如图4所示。其中b是双对角或者准双对角矩阵,c是0矩阵,e是下三角扩展矩阵。ldpc校验矩阵设计主要取决于a、d、e1的设计。ldpc性能取决于两个最重要的因素,一个是basematrix的设计,另一个为采取何种方式将basematrix中每个非零元素扩展成的一个z×z循环置换矩阵。这两个因素对ldpc性能起到了决定性的作用,basematrix与扩展的子循环置换矩阵的不恰当设计会极大恶化ldpc码性能。综上所述,由于5g要求支持弹性的(flexible)ldpc,以embb数据信道为例,3gpp要求通过两个basegraph扩展得到的最多两个ldpc校验矩阵支持最高8/9码率,最低1/5,信息位最长为8448bits,最短40bits;众所周知,ldpc是线性分组码,给定信息比特长度和码率,则对应一个校验矩阵,如此看来,5gldpc码设计需要设计很多校验矩阵。因此,需要给出支持多种码率与多种信息比特长度且存储复杂度低的ldpc编码设计。这就对ldpc校验矩阵的basematrix与循环置换矩阵的扩展提出需求。下面给出本申请实施例提供的ldpc编码方法的详细介绍。本申请实施例提供的ldpc编码方法,包括:步骤一:根据预设的basegraph的行数与列数,或者预设的高码率基础图(basegraph),确定ldpc矩阵的整个basegraph。本申请实施例中所述的basegraph事实上就是一个矩阵,也可以称为basematrix,既然basegraph是矩阵,就存在行数与列数。由于basegraph中元素非0即1,因此,本申请实施例中所述的任意一行的行重定义为该行中1的数目,同理,任意一列的列重定义为该列中1的数目。本申请实施例中所述的高码率basegraph,事实上是指的高码率对应的basegraph,以42行,52列的basegraph即最低码率为1/5的basegraph为例(后面解释为什么码率1/5),首先ldpc中校验矩阵(校验矩阵不是basegraph,是basegraph用循环置换矩阵扩展得到的)的列数n(n对应ldpc码长)减去行数m(m对应校验方程的个数)得到信息比特的个数k=n-m,k的单位是比特,码率为信息比特数除以码长即r=k/n;而basegraph与校验矩阵间大小相差子循环矩阵大小的倍数z,所以可以用basegraph直接结算信息位与码率,假定basegraph的列数为nb,行数为mb,则信息位对应的列数为kb=nb-mb,注意此处用kb,而非k表示,k的单位是比特,kb的单位是basegraph的列数,二者从比特角度看有z倍的差别。码率根据basegraph参数可得r=kb/nb。又由于5g的basegraph为了提高低信噪比性能采用的basegraph有两个内置打孔列,即对应basegraph的前两列(当然这两列位于basegraph信息位对应列的哪个位置都是可以的),此两列对应的信息位编码后不送入信道,所以实际送入信道的信息位的长度为nb-2,而不是nb,所以对于5gldpc,信息位kb=52-42=10,r=10/(52-2)=1/5,这就是1/5码率的计算方法。那么,关于高码率对应的basegraph,高码率也是相对的,如果已经构造好了22行32列的高码率的basegraph:同理kb=32-22=10,r=10/(32-2)=1/3,根据r=1/3的22行32列的basegraph再向下扩充20行20列,即得42行52列的低码率r=1/5的basegraph,这既是根据较高码率的basegraph构造低码率basegraph的来源。具体步骤:a)根据具体设计指标(性能与复杂度要求),确定需要设计的ldpc矩阵的basegraph的行重与列重的分布。b)采用下列方式之一或组合确定basegraph:方式一、按照预设的最低码率产生basegraph;方式二、按照不同的码率分块产生basegraph;方式三、逐行产生符合要求的basegraph,与方式二每次按照码率增加一块basegraph不同的是,方式三每次增加一行basegraph。上述basegraph都是随机产生的,例如:方式一、按照最低码率生成的basegraph,是随机产生一个大的basegraph(根据预设的最低码率产生一个最大的basegraph),然后从该basegraph中选择性能与译码门限最佳的basegraph;以42x52的r=1/5的basegraph为例,根据列中1的个数所占比例,即列重的度分布,即对basegraph中各列不同列重分别占多大比例预先约定,随机产生一个42x52列的basegraph,然后根据exit算法计算其门限,计算机大量仿真筛选最佳basegraph。关于译码门限,例如信噪比用db表示,译码没有错误的最低信噪比(snr)值即译码门限。方式二、按照不同码率分块产生的basegraph的方法,可以首先根据高码率(预设第一码率)随机产生一个basegraph,得到最优的高码率的basegraph,然后再扩展到低码率(预设第二码率)去设计低码率对应的basegraph;关于如何按照不同的码率分块产生basegraph,即前面所说的先按照码率划分,例如根据r=10/13码率,随机产生一个basegraph,设计好以后再向下增加5行5列的basegraph,继续优化这5行5列,得到r=2/3对应的basegraph。关于如何根据高码率随机产生一个basegraph,例如,假定有3行6列,这6列中有两列列重为2,两列列重为3,两列列重为6,完全可以随机产生一个矩阵满足这些要求,当然1的位置是随机的。方式三、逐行优化的方法,是逐行随机产生basegraph,前面行完成优化设计后,再进行下一行的优化设计。具体的优化措施就是逐行随机产生的basegraph使得译码门限最小化,理论的译码门限是基于无限码长的,所以可以先基于译码门限确定初始的basegraph,然后可以根据仿真性能及其度分布设计等因素进行调整。以上三种方式可以联合使用,例如:实施例1:例如采用上述方式二和方式三先确定每个码率,然后在每个码率内部调整进行优化,得到一个ldpc矩阵的完整的basegraph,该basegraph大小为42行,52列,如图5所示,前两列是高列重的内置打孔列,其对应的信息比特至少在初传时不在信道发送,对应的信息位kb=52-42=10列,最低码率rmin=10/(52-2)=1/5,最高码率校验矩阵对应的basegraph为前5行前15列对应的校验矩阵,对应的信息位kb=15-5=10,最高码率rmax=10/(15-2)=0.77。需要说明的是,本领域技术人员可以基于图5,对图5所示的basegraph进行和/或列置换,这仍属于本申请实施例提供的技术方案。实施例2:根据高码率basegraph产生低码率的basegraph。例如:可在预先设置的一个高码率(预设的第一码率)的basegraph基础上,向下按照不同码率分块产生的basegraph的方法,设计最优的basegraph,然后再对新产生的basegraph(即最优的basegraph)内逐行置换,置换的依据是逐行优化basegraph的准则,使得新产生的码块内靠近前面的行具有更好的性能,这样的目的在于:假定从码率1/2扩展到码率1/3,在basegraph上增加了6行,移动通信中的码率是任意的,例如很可能介于码率1/3到1/2之间,故这6行虽然从码率1/3角度上看性能都是一致的,但是前面行性能好,有利于提高实际传输的性能。需要注意的是此处所述的逐行置换,较佳的,是指去除下三角扩展e矩阵(下三角矩阵)的对角线上非零元素以外的其他元素的置换,这样做的目的是不破坏冗余扩展的下三角结构,维持直接编码的特性。一个更具体的例子如下:图6是一个精心设计的40行50列basegraph,支持的信息位为kb=50-40=10,码率r=10/(52-10)=0.21;在图6基础上以逐行随机产生basegraph的优化方法,确保每行都使得译码门限最优,仿真性能最优,扩展产生了如图7所示的两行新的basegraph,用以支持3gpp要求的1/5码率。将basegraph新扩展两行后,图4所示的e矩阵相应的需要扩展两列,在图6的基础上补全两行两列basegraph的支持3gpp最低1/5码率的完整basegraph如图8所示。本申请实施例中,可以在图8所示的完整的basegraph的基础上,进行ldpc编码。如前所述对图7与图8所示的basegraph进行行和/或列置换,仍属于本申请实施例提供的技术方案,例如为了支持更短的信息位长度需要采用补零(zeropadding)技巧,即在basegraph的某些列对应的信息位上放置全0信息,编码后这些已知的0不送入信道,译码时由于这些位置传输的信息一定是0所以不影响译码。实际中这些zeropadding对应的basegraph中的信息位列,有时为了方便操作需要放置在信息位列的最后一列或多列,而且为了保证不采用zeropadding的列的性能尽可能好,最好zeropadding列对应的列重较小,故此时有可能需要对图8所示的basegraph的信息位对应的列进行和/或列置换操作。需要进一步指出的是,作为一种可选方式,还可对图6所示的basegraph进行一定的优化调整,且不影响图7所示的低码率basegraph的设计,例如可将图6所示的第5行处的basegraph中的前15列的元素内容进行元素变更。其中,图6所示的第5行处的basegraph中的前15列的元素内容如下表所示:110000000001001其中,信息位对应前两个1,校验位对应后两个1,一种优化方法是可以将第三个1变更为0,这样做的好处在于:前5行前15列支持最高码率为rmax=10/(15-2)=10/13,第5行的最后一个1恰好在最后第15列上,导致rmax对应的basegraph上最后一列列重为1,根据ldpc的设计理论可知,列重为1的列保护级别很低,会导致所对应的最后一个校验位性能不是太好,从而使得码字整体errorfloor性能有所损失,注意到第五行的前两个1对应两个高列重的信息位(注意此处一个1对应basegraph图中的一列,对应z比特,而不是1个比特),由于高列重的信息位提供了很高的保护级别,故可用这个两个高保护的信息列与最后一个校验列的奇偶校验关系来保证此列重为1的校验列的性能,从而使得既可以提高信噪比性能,又不会使得高信噪比时的errorfloor性能有明显损失。上面对图6所示的basegraph的修改只是一个实施例,比如对图6所示的basegraph进行行置换,或者变更部分元素(将其中部分的0变更为1,和/或将其中部分的1变更为0)都不影响图7所示的basegraph。上述对图6中的第5行的第三个1变更为0后优化得到的basegraph如图9所示,图9与图7构成的完整的码率为1/5的basegraph如图10所示。其中,关于如何按照不同的码率分块产生basegraph,例如:以42行52列basegraph为例,它是从最高码率前5行15列rmax=(15-5)/(15-2)=10/13,逐渐向下扩展得到,目的是对相同的信息比特逐渐提供更多的冗余比特,因为码率越低冗余/校验比特越多,目前规定的设计码率为8/9,3/4,2/3,1/2,1/3,1/5,在5行15列基础上向下扩展2行2列得到7行17列的basegraph的kb=17-7=10r=10/(17-2)=2/3,以此类推,7行与17向下扩展5行5列得12行22列,得到1/2码率对应的basegraph,12行22列继续扩展10行10列得到22行32列,得到r=1/3,22行32列继续扩展20行20列得到42行52列,即得r=1/5。这就是分块产生basegraph的过程。关于如何逐行置换,比如向下扩展5行5列得到1/2码率,这5行5列是按照方式二产生的,从扩充到这1/2码率角度,这5行是性能最优的,但是还可以在这5行内逐行调整,目的使得前面行性能最优,这样有利于实际系统,因为实际编码的码率是任意的,一般不是从2/3码率直接调到1/2码率,这样逐行调整对实际码率有好处。步骤二:根据ldpc矩阵的整个basegraph,确定子循环矩阵的循环系数。确定子循环矩阵的循环系数,需要首先确定子循环矩阵的大小z,不同的z对应不同的校验矩阵,也对应不同的信息位的大小,5g的ldpc设计要求能够适应信息比特长度从40到8448,所以对应众多的z,例如,信息比特k=40到8448。关于如何根据k确定z,假定k=1280的basegraph的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列又称为basegraph。所以得到basegraph后要将每个1扩展成一个循环置换矩阵,每个0扩展为zxz的0矩阵,从整个校验矩阵来看不是循环置换矩阵,但是从每个子矩阵来看都是循环的,这就是子循环矩阵的定义的来源。关于子循环矩阵的循环系数介绍如下:由于basegraph中每个1要扩展成为一个循环置换矩阵,而循环置换矩阵的事实上取决于第一行,第一行中1的位置就是循环置换矩阵的循环系数,根据文中定义,单位阵循环系数为第一行1的位置数,注意:是从0开始的index。关于所述的校验矩阵介绍如下:线性分组码,首先要有一个二元矩阵h,该矩阵称为校验矩阵,利用此矩阵可以将信息比特进行线性变换得到很多与信息比特相关的比特,称为校验比特或者冗余比特,这些校验比特用于译码时恢复被fadingchannel淹没的信息比特,假定信息比特为x,这是发送端已知的,接收端未知,发送端除了发信息比特,还要引入校验比特p,具体关系为:校验矩阵h乘以w=[xp]级联的向量为0,发送端如何得到p,可以利用hw=0解方程组,如果h矩阵设计成5g采用的下三角形式,方程组很容易利用校验关系hw=0解出来,这就是校验矩阵的来由,编码必须有h矩阵,所以先由basegraph扩展到hmarix才能进行编码。关于所述的循环系数的函数介绍如下:不同的z采用相同的循环系数,这本身就是循环系数的一种特殊常函数,比如根据z=256设计的循环系数为shift_coefficient,当z=128时,循环系数变为mod(shift_coefficient,128),保证循环系数不会超出z的限制。在ldpc矩阵的整个basegraph中将每个1用对应的子循环矩阵的循环系数代替得到的矩阵,定义为原模图矩阵(protomatrix)。图5所示的basegraph的一个protomatrix的例子如图11所示。步骤三:以循环因子z,对原模图矩阵protomatrix,进行散列(dispersion)操作,得到ldpc码的校验矩阵h。其中,原模图矩阵的循环系数就是子循环矩阵的循环系数。步骤四:利用校验矩阵h完成ldpc编码。综上,参见图12,本申请实施例提供的一种编码方法,包括:s101、确定低密度奇偶校验码ldpc矩阵的基础图basegraph;s102、根据所述ldpc矩阵的basegraph,进行ldpc编码。可选地,根据所述ldpc矩阵的basegraph,进行ldpc编码,具体包括:根据所述ldpc矩阵的basegraph,确定ldpc的校验矩阵;利用所述校验矩阵完成ldpc编码。可选地,根据所述ldpc矩阵的basegraph,确定ldpc的校验矩阵,具体包括:根据所述ldpc矩阵的basegraph,确定子循环矩阵的循环系数;利用所述子循环矩阵的循环系数,对原模图矩阵进行散列操作,得到ldpc的校验矩阵。可选地,所述确定ldpc矩阵的basegraph,具体包括下列方式之一或组合:方式一:按照预设的最低码率生成ldpc矩阵的basegraph;方式二:按照不同的码率分块产生ldpc矩阵的basegraph;方式三:逐行随机产生ldpc矩阵的basegraph。可选地,所述方式一具体包括:按照预设的最低码率,以及预设的行重与列重的分布,随机产生basegraph;从该随机产生的basegraph中选择满足预设条件的basegraph。可选地,所述方式二具体包括:根据预设的第一码率,以及预设的行重与列重的分布,随机产生basegraph;基于该随机产生的basegraph进行扩展,生成第二码率的basegraph;其中,所述第一码率大于第二码率。可选地,所述方式三具体包括:逐行随机产生basegraph,其中,每产生一行basegraph,对当前产生的该行basegraph进行优化,使得该行basegraph的译码门限最小化。可选地,所述basegraph为42行52列的basegraph,其中,前两列是内置打孔列,对应的信息位kb=52-42=10列,最低码率rmin=10/(52-2)=1/5,最高码率校验矩阵对应的basegraph为前5行前15列对应的校验矩阵,对应的信息位kb=15-5=10,最高码率rmax=10/(15-2)=0.77。可选地,确定所述basegraph具体包括:确定x行y列的basegraph,其中,x、y均为正整数;根据所述x行y列的basegraph,扩展产生x行y列basegraph,得到完整的x+x行y+y列的basegraph;其中,x、y均为正整数;根据所述ldpc矩阵的basegraph,进行ldpc编码,具体包括:根据所述完整的x+x行y+y列的basegraph,进行ldpc编码。例如,对于图6和图9所示的basegraph,x为40,y为50。那么,所述确定的x行y列的basegraph,例如可以是图6或图9所示的basegraph。可选地,所述的x行y列basegraph为图7所示的两行两列basegraph,即此时x和y的值均为2。当然,本申请实施例中,所述的x行y列basegraph并不限于图7所示的样式,还可以是其他样式的basegraph。所述得到的完整的x+x行y+y列的basegraph,例如,可以是图8或图10所示的basegraph,即扩展产生的x行y列basegraph,可以添加在x行y列的basegraph的最后。但是,需要说明的是,扩展产生的x行y列basegraph,可以添加在x行y列的basegraph的最后,也可以添加在x行y列的basegraph的最前面或中间行的任意位置,具体位置不限定。可选地,该方法还包括:按照预设码率,对所述basegraph进行行和/或列置换;根据所述ldpc矩阵的basegraph,进行ldpc编码,具体包括:根据行和/或列置换后得到的新的basegraph,进行ldpc编码。与上述方法相对应地,参见图13,本申请实施例提供的一种编码装置,包括:第一单元11,用于确定低密度奇偶校验码ldpc矩阵的基础图basegraph;第二单元12,用于根据所述ldpc矩阵的basegraph,进行ldpc编码。可选地,所述第二单元具体用于:根据所述ldpc矩阵的basegraph,确定ldpc的校验矩阵;利用所述校验矩阵完成ldpc编码。可选地,所述第二单元根据所述ldpc矩阵的basegraph,确定ldpc的校验矩阵,具体包括:根据所述ldpc矩阵的basegraph,确定子循环矩阵的循环系数;利用所述子循环矩阵的循环系数,对原模图矩阵进行散列操作,得到ldpc的校验矩阵。可选地,所述第一单元具体采用下列方式之一或组合确定ldpc矩阵的basegraph:方式一:按照预设的最低码率生成ldpc矩阵的basegraph;方式二:按照不同的码率分块产生ldpc矩阵的basegraph;方式三:逐行随机产生ldpc矩阵的basegraph。可选地,所述方式一具体包括:按照预设的最低码率,以及预设的行重与列重的分布,随机产生basegraph;从该随机产生的basegraph中选择满足预设条件的basegraph。可选地,所述方式二具体包括:根据预设的第一码率,以及预设的行重与列重的分布,随机产生basegraph;基于该随机产生的basegraph进行扩展,生成第二码率的basegraph;其中,所述第一码率大于第二码率。可选地,所述方式三具体包括:逐行随机产生basegraph,其中,每产生一行basegraph,对当前产生的该行basegraph进行优化,使得该行basegraph的译码门限最小化。可选地,所述basegraph为42行52列的basegraph,其中,前两列是内置打孔列,对应的信息位kb=52-42=10列,最低码率rmin=10/(52-2)=1/5,最高码率校验矩阵对应的basegraph为前5行前15列对应的校验矩阵,对应的信息位kb=15-5=10,最高码率rmax=10/(15-2)=0.77。可选地,所述第一单元具体用于:确定x行y列的basegraph,其中,x、y均为正整数;根据所述x行y列的basegraph,扩展产生x行y列basegraph,得到完整的x+x行y+y列的basegraph;其中,x、y均为正整数;所述第二单元具体用于:根据所述完整的x+x行y+y列的basegraph,进行ldpc编码。可选地,所述的x行y列basegraph为如图7所示的两行两列basegraph。可选地,所述第一单元还用于:按照预设码率,对所述basegraph进行行和/或列置换;所述第二单元具体用于:根据行和/或列置换后得到的新的basegraph,进行ldpc编码。本申请实施例提供的另一种编码装置,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一种方法。例如,参见图14,本申请实施例提供的另一种编码装置,处理器500,用于读取存储器520中的程序,执行下列过程:确定低密度奇偶校验码ldpc矩阵的基础图basegraph;根据所述ldpc矩阵的basegraph,进行ldpc编码。可选地,处理器500根据所述ldpc矩阵的basegraph,进行ldpc编码,具体包括:处理器500根据所述ldpc矩阵的basegraph,确定ldpc的校验矩阵;处理器500利用所述校验矩阵完成ldpc编码。可选地,处理器500根据所述ldpc矩阵的basegraph,确定ldpc的校验矩阵,具体包括:处理器500根据所述ldpc矩阵的basegraph,确定子循环矩阵的循环系数;处理器500利用所述子循环矩阵的循环系数,对原模图矩阵进行散列操作,得到ldpc的校验矩阵。可选地,所述处理器500确定ldpc矩阵的basegraph,具体包括下列方式之一或组合:方式一:处理器500按照预设的最低码率生成ldpc矩阵的basegraph;方式二:处理器500按照不同的码率分块产生ldpc矩阵的basegraph;方式三:处理器500逐行随机产生ldpc矩阵的basegraph。可选地,所述方式一具体包括:处理器500按照预设的最低码率,以及预设的行重与列重的分布,随机产生basegraph;处理器500从该随机产生的basegraph中选择满足预设条件的basegraph。可选地,所述方式二具体包括:处理器500根据预设的第一码率,以及预设的行重与列重的分布,随机产生basegraph;处理器500基于该随机产生的basegraph进行扩展,生成第二码率的basegraph;其中,所述第一码率大于第二码率。可选地,所述方式三具体包括:处理器500逐行随机产生basegraph,其中,每产生一行basegraph,对当前产生的该行basegraph进行优化,使得该行basegraph的译码门限最小化。可选地,所述basegraph为42行52列的basegraph,其中,前两列是内置打孔列,对应的信息位kb=52-42=10列,最低码率rmin=10/(52-2)=1/5,最高码率校验矩阵对应的basegraph为前5行前15列对应的校验矩阵,对应的信息位kb=15-5=10,最高码率rmax=10/(15-2)=0.77。可选地,处理器500具体用于:确定x行y列的basegraph,其中,x、y均为正整数;根据所述x行y列的basegraph,扩展产生x行y列basegraph,得到完整的x+x行y+y列的basegraph;其中,x、y均为正整数;根据所述完整的x+x行y+y列的basegraph,进行ldpc编码。可选地,所述的x行y列basegraph为图7所示的两行两列basegraph。可选地,处理器500还用于:按照预设码率,对所述basegraph进行行和/或列置换;处理器500根据所述ldpc矩阵的basegraph,进行ldpc编码,具体包括:处理器500根据行和/或列置换后得到的新的basegraph,进行ldpc编码。收发机510,用于在处理器500的控制下接收和发送数据。其中,在图14中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器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页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1