结构化LDPC码的数据处理方法及装置与流程

文档序号:12967310阅读:375来源:国知局
结构化LDPC码的数据处理方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种结构化ldpc码的数据处理方法及装置。



背景技术:

数字通信系统中,一般包括三个部分:发送端、信道和接收端。发送端可对信息序列进行信道编码从而获取编码码字,对编码码字进行交织,并将交织后的比特映射成调制符号,然后可以根据通信信道信息来处理和发送调制符号。在信道中,由于多径、移动等因素导致特定的信道响应,这些都会使数据传输失真,同时由于噪声和干扰也会进一步恶化数据传输。接收端接收通过信道后的调制符号数据,此时的调制符号数据已经失真,需要进行特定处理才能恢复原始信息序列。

根据发送端对信息序列的编码方法,接收端可以对接收数据进行相应处理从而可靠地恢复原始信息序列。所述的编码方法必须是收发两端都是可见的。一般地,所述编码处理方法是基于前向纠错(forwarderrorcorrection,简称为fec)编码,其中,前向纠错编码在信息序列中添加一些冗余信息。接收端可以利用该冗余信息来可靠地恢复原始信息序列。

一些常见的fec编码包括:卷积码、turbo码和低密度奇偶校验(lowdensityparitycheck,简称为ldpc)码。fec编码过程中,对比特数目为k的信息序列进行fec编码获得n比特的fec编码码字(冗余比特为n-k),fec编码码率为k/n。卷积编码可容易地对任意大小的分组进行编码,以及在turbo编码中,通过利用对信息序列进行操作处理的两个编码分量以及可支持不同大小的编码交织方法,可支持不同的信息序列大小。

ldpc码是一种可以用非常稀疏的奇偶校验矩阵或者二分图定义的线性分组码,正是利用它的校验矩阵的稀疏性,才能实现低复杂度的编译码,从而使得ldpc走向实用化。经过各种实践和理论证明,ldpc码是在加性高斯白噪声(additivewhitegaussiannoise,简称为awgn)信道下性能最为优良的信道编码,性能非常靠近香农极限,优于卷积码和turbo编码。

特别是,结构化ldpc码由于具有结构化特征,逐渐成为主流应用,如在ieee802.11ac、ieee802.11ad、ieee802.11aj、ieee802.16e、ieee802.11n、dvb、微波通信以及光纤通信等中获得大量应用。这种结构化ldpc码的奇偶校验矩阵h为mb×z行和nb×z列的矩阵,它是由mb×nb个分块矩阵构成,每个分块矩阵都是z×z的基本置换矩阵的不同幂次,它们都是单位阵的循环移位矩阵。具有如下的形式:

如果即z×z的全0矩阵;如果是大于或者等于0的整数,定义在这里p是一个z×z的标准置换矩阵,如下所示:

通过这样的幂次就可以唯一标识每一个分块矩阵,如果某一分块矩阵为全0矩阵,矩阵一般用-1来表示,如果是单位阵的循环移位s获得,则等于s,所以所有可以构成一个基础校验矩阵hb。而z是指示所述标准置换矩阵的维数,在此我们将z称之为扩展因子。此时,结构化ldpc码完全可以由基础校验矩阵hb和扩展因子z唯一确定。基础校验矩阵包括多个参数:mb、nb和kb,其中,mb是基础校验矩阵行数(可以说是基础校验矩阵的校验列数),nb基础校验矩阵列数,而kb=nb-mb是基础校验矩阵的系统列数。

例如,基础校验矩阵hb(2行4列)如下而且扩展因子z等于4:

则奇偶校验矩阵为:

ldpc码在译码时,可以采用分层译码,即采用部分并行译码方法。如上所述的奇偶校验矩阵有8行,说明有8个奇偶校验码,在译码时,需要每个奇偶校验矩阵分别译码,如果所有8个奇偶校验码都更新数据完则为一个迭代。而在每次迭代过程中,如果采用部分并行(即分层译码),如并行度为p,即有p个奇偶校验码同时更新,则迭代中当前和下一个p个奇偶校验码运行都是采用同一个更新模块,则译码器的复杂度要低很多,而且分层译码中下一层的数据更新可以采用当前已经更新好的数据,所以需要的迭代次数更低,译码吞吐量要高一些。如以上所示的h,如果并行度为2,则奇偶校验矩阵的每4行(基础校验矩阵的一行)有2个并行度的奇偶校验码同时更新。

一般来说,奇偶校验矩阵都是比较大的,存储处理等都不方便,采用基础校验矩阵存储就简单很多。

根据数学基本知识,质数(primenumber)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数或者素数,所以一般来说,素数是大于1的整数,例如2、3、5、7、11、13、17、19等等。

在几乎所有的fec编码方法中,编码器复杂度较低,而基本复杂度在于接收端的译码器,ldpc编码由于本身具有并行特性进而可以采用并行译码,所以具有更高译码速度和吞吐量。但是,由于ldpc码的基础校验矩阵一般只是适应一部分长度,可能不易于实现各种灵活长度的编码块,以及对于适应不同长度的编码块时复杂度会比较高。

针对相关技术中ldpc编译码的数据序列的处理灵活度低的问题,目前还没有有效地解决方案。



技术实现要素:

本发明实施例提供了一种结构化ldpc码的数据处理方法及装置,以至少解决相关技术中ldpc编译码的数据序列的处理灵活度低的问题。

根据本发明的一个实施例,提供了一种结构化ldpc码的数据处理方法,包括:获取结构化ldpc编码的编码块大小;至少根据以下参数之一确定编码扩展因子z:所述编码块大小、基础校验矩阵的参数kb、正整数值p、mb行和nb列的基础校验矩阵;根据所述基础校验矩阵和所述编码扩展因子对待编码数据序列进行编码或者对待译码数据序列进行译码;其中,kb=nb-mb,kb、p、mb、z和nb均是大于1的整数。

可选地,至少根据所述编码块大小cbs、所述基础校验矩阵的参数kb和所述正整数值p确定所述编码扩展因子包括:通过公式确定所述编码扩展因子,其中,表示向上取整。

可选地,获取所述结构化ldpc编码的所述编码块大小包括:所述编码块大小等于基础校验矩阵的参数kb与一组升序自然数中的一个元素相乘所获得的数值。

可选地,所述一组升序自然数中包括多个分组,其中,所述多个分组中的分组内相邻元素的第一增加值相等。

可选地,所述一组升序自然数中的第i个分组的所述第一增加值小于第i+1个分组的所述第一增加值,其中,所述i为正整数。

可选地,根据所述编码块大小确定所述编码扩展因子包括:所述编码块大小为一组编码块大小中的一个元素值,所述一组编码块大小为升序的第一自然数组;所述编码扩展因子为一组编码扩展因子中的一个元素值,所述一组编码扩展因子为升序的第二自然数组。

可选地,所述一组编码块大小中包括连续的a个元素,其中,在所述连续的a个元素的首元素值大于z(j)×kb,且尾元素值小于或者等于z(j+1)×kb的情况下,所述连续的a个元素对应的编码扩展因子为z(j+1),所述a为正整数,所述z(j)为所述一组编码扩展因子中的第j个元素值,所述j为正整数,所述kb是基础校验矩阵的参数。

可选地,在获取的所述编码块大小为所述连续的a个元素中的一个元素的情况下,所述编码扩展因子为z(j+1)。

可选地,在所述编码块大小与所述基础校验矩阵的参数kb的比值大于z(j)且小于或者等于z(j+1)的情况下,所述编码扩展因子被确定为z(j+1),其中,所述z(j)为所述一组编码扩展因子中的第j个元素值。

可选地,所述一组编码扩展因子中包括多个分组,其中,所述多个分组的分组内相邻元素的第二增加值相等,所述多个分组中的第h个分组的所述第二增加值小于第h+1个分组的所述第二增加值,所述h为正整数。

可选地,所述一组编码扩展因子中的所有大于所述正整数值p的元素值都是所述正整数值p的正整数n倍。

可选地,所述一组编码块大小至少包括:所述基础校验矩阵的参数kb与所述一组编码扩展因子相乘得到的乘积值,以及全部所述乘积值之间间隔为b的整数值,其中,所述b为正整数。

可选地,根据所述基础校验矩阵和所述编码扩展因子对待编码数据序列进行编码之前,所述方法还包括:对第一数据序列进行比特填充,其中,对所述第一数据序列进行比特填充包括:将所述第一数据序列分成多个子数据序列,对所述多个子数据序列分别进行比特填充,所有填充比特后的子数据序列构成所述待编码数据序列。

可选地,根据基础校验矩阵和所述编码扩展因子对待编码数据序列进行编码之前,所述方法还包括:对第二数据序列进行比特填充,其中,对所述第二数据序列进行比特填充包括:将所述第二数据序列分成所述kb个比特数目小于或者等于z的子数据序列,对每个子数据序列添加填充比特使得每组子数据序列的比特数目达到z,所有填充比特后的子数据序列构成所述待编码数据序列,其中,kb是础校验矩阵的参数,z是所述编码扩展因子。

可选地,在对所述第一数据序列进行比特填充或者对所述第二数据序列进行比特填充之前,所述方法还包括:对第三数据序列添加l比特的循环冗余校验crc序列获得所述第一数据序列或者所述第二数据序列,其中,所述l是大于或者等于0的整数。

可选地,所述基础校验矩阵的参数kb为所述基础校验矩阵的列数和所述基础校验矩阵的行数的差值,kb是大于等于4且小于等于64的一个整数。

可选地,所述正整数值p是ldpc译码并行度。

可选地,所述正整数值p是一个固定正整数,所述ldpc译码并行度p包括:所述正整数值p为2的正整数次幂或者所述正整数值p为2的正整数次幂再乘以一个素数。

可选地,所述正整数值p是子集合p的一个元素,其中,所述子集合p是pmax的所有正整数因子所构成集合中的一个子集,pmax是大于3且小于或者等于1024的一个整数。

可选地,所述正整数n的所有取值构成子集合nset,其中,所述nset是正整数集合ns中长度为f的一个子集,所述正整数集合ns={1、2、3、…、m},m是大于1的整数。

可选地,所述子集合nset包括以下之一:所述正整数集合ns中的前f个元素构成的子集合、所述正整数集合ns中的后f个元素构成的子集合、所述正整数集合ns中的f个素数构成的子集合、所述正整数集合ns中的f个奇数构成的子集合、所述正整数集合ns中的f个偶数构成的子集合,f是小于m的正整数。

可选地,所述编码扩展因子包括:所述编码扩展因子等于2的正整数次幂然后减1,或者所述编码扩展因子等于2的正整数次幂再乘以一个素数,所述的素数包括以下之一:3、5、7、11、13、17、19、23、29。

可选地,所述编码扩展因子等于2的正整数次幂再乘以一个素数,该素数包括3和5。

可选地,所述编码扩展因子等于2的正整数次幂再乘以一个素数,该素数包括5和7。

可选地,所述编码扩展因子等于2的正整数次幂再乘以一个素数,该素数包括3、5和7。

可选地,所述编码扩展因子包括以下之一:7、15、31、63、127、255、511、1023、2047、4095。

可选地,在至少根据以下参数之一确定所述编码扩展因子z:所述编码块大小、所述基础校验矩阵的参数kb、所述正整数值p、所述基础校验矩阵之后,所述方法还包括:至少存储所述基础校验矩阵。

可选地,在对所述待编码数据序列进行编码之前,还包括:在待编码数据序列中填充长度为k’比特的哑元比特获得长度为kb*z比特的待编码数据序列,其中,所述k’与kb*z的比值小于或等于1/4,k’是大于或者等于0的整数,所述kb是所述基础校验矩阵的系统列数,所述z是编码使用的扩展因子大小,kb是大于1的整数,z是大于0的整数。

可选地,所述扩展因子z均为一个正整数值pl的n倍。

可选地,所述正整数值pl是子集合pset的一个元素,其中,所述子集合pset是pmax的所有正整数因子所构成集合中的一个子集,n是一个自然数,pmax是大于等于4的整数。

可选地,所述正整数n的所有取值构成子集合nset,其中,所述nset是正整数集合ns中长度为f的一个子集,所述正整数集合ns={1、2、3、…、m},m是大于1的整数。

可选地,所述基础校验矩阵中指示非全0方阵的任何hbij元素的满足如下条件:mod(hbij,(pmax/pl))=0,其中,i=0,1,2..,mb-1,j=0,1,…,nb-1,pmax是大于等于4的整数。

可选地,所述基础校验矩阵中指示非全0方阵的任何hbij元素的满足如下条件:mod(hbij,(pmax/pl))=a,其中i和j分别是所述基础校验矩阵中行索引i和列索引j的元素以及所述hbij指示非全0方阵,a是小于pl且大于或者等于0的固定整数,pmax是大于等于4的整数。

可选地,基础校验矩阵的参数kb为基础校验矩阵系统列数。

根据本发明的另一个实施例,提供了一种结构化ldpc码的数据处理装置,包括:获取模块,用于获取结构化ldpc编码的编码块大小;确定模块,至少根据以下参数之一确定编码扩展因子z:所述编码块大小、基础校验矩阵的参数kb、正整数值p、mb行和nb列的基础校验矩阵;处理模块,用于根据所述基础校验矩阵和所述编码扩展因子对待编码数据序列进行编码或者对待译码数据序列进行译码;其中,kb=nb-mb,kb、p、mb、z和nb均是大于1的整数。

可选地,所述确定模块用于:通过公式确定所述编码扩展因子,其中,所述cbs为所述编码块大小,表示向上取整。

可选地,所述获取模块用于:所述编码块大小等于基础校验矩阵的参数kb与一组升序自然数中的一个元素相乘所获得的数值。

可选地,所述一组升序自然数中包括多个分组,其中,所述多个分组中的分组内相邻元素的第一增加值相等。

可选地,所述一组升序自然数中的第i个分组的所述第一增加值小于第i+1个分组的所述第一增加值,其中,所述i为正整数。

可选地,所述确定模块用于:所述编码块大小为一组编码块大小中的一个元素值,所述一组编码块大小为升序的第一自然数组;所述编码扩展因子为一组编码扩展因子中的一个元素值,所述一组编码扩展因子为升序的第二自然数组。

可选地,所述一组编码块大小中包括连续的a个元素,其中,在所述连续的a个元素的首元素值大于z(j)×kb,且尾元素值小于或者等于z(j+1)×kb的情况下,所述连续的a个元素对应的编码扩展因子为z(j+1),所述a为正整数,所述z(j)为所述一组编码扩展因子中的第j个元素值,所述j为正整数,所述kb是基础校验矩阵的参数。

可选地,在获取的所述编码块大小为所述连续的a个元素中的一个元素的情况下,所述编码扩展因子为z(j+1)。

可选地,在所述编码块大小与所述基础校验矩阵的参数kb的比值大于z(j)且小于或者等于z(j+1)的情况下,所述编码扩展因子被确定为z(j+1),其中,所述z(j)为所述一组编码扩展因子中的第j个元素值。

可选地,所述一组编码扩展因子中包括多个分组,其中,所述多个分组的分组内相邻元素的第二增加值相等,所述多个分组中的第h个分组的所述第二增加值小于第h+1个分组的所述第二增加值,所述h为正整数。

可选地,所述一组编码扩展因子中的所有大于所述正整数值p的元素值都是所述正整数值p的正整数n倍。

可选地,所述一组编码块大小至少包括:所述基础校验矩阵的参数kb与所述一组编码扩展因子相乘得到的乘积值,以及全部所述乘积值之间间隔为b的整数值,其中,所述b为正整数。

可选地,所述装置还包括:第一比特填充模块,用于对第一数据序列进行比特填充,其中,对所述第一数据序列进行比特填充包括:将所述第一数据序列分成多个子数据序列,对所述多个子数据序列分别进行比特填充,所有填充比特后的子数据序列构成所述待编码数据序列。

可选地,所述装置还包括:第二比特填充模块,用于对第二数据序列进行比特填充,其中,对所述第二数据序列进行比特填充包括:将所述第二数据序列分成所述kb个比特数目小于或者等于z的子数据序列,对每个子数据序列添加填充比特使得每组子数据序列的比特数目达到z,所有填充比特后的子数据序列构成所述待编码数据序列,其中,kb是础校验矩阵的参数,z是所述编码扩展因子。

可选地,所述装置还包括:添加模块,用于对第三数据序列添加l比特的循环冗余校验crc序列获得所述第一数据序列或者所述第二数据序列,其中,所述l是大于或者等于0的整数。

可选地,所述基础校验矩阵的参数kb为所述编码基础校验矩阵的列数和所述编码基础校验矩阵的行数的差值,kb是大于等于4且小于等于64的一个整数。

可选地,所述正整数值p是ldpc译码并行度。

可选地,所述正整数值p是一个固定正整数,所述ldpc译码并行度p包括:所述正整数值p为2的正整数次幂或者所述正整数值p为2的正整数次幂再乘以一个素数。

可选地,所述正整数值p是子集合p的一个元素,其中,所述子集合p是pmax的所有正整数因子所构成集合中的一个子集,pmax是大于3且小于或者等于1024的一个整数。

可选地,所述正整数n的所有取值构成子集合nset,其中,所述nset是正整数集合ns中长度为f的一个子集,所述正整数集合ns={1、2、3、…、m},m是大于1的整数。

可选地,所述子集合nset包括以下之一:所述正整数集合ns中的前f个元素构成的子集合、所述正整数集合ns中的后f个元素构成的子集合、所述正整数集合ns中的f个素数构成的子集合、所述正整数集合ns中的f个奇数构成的子集合、所述正整数集合ns中的f个偶数构成的子集合,f是小于m的正整数。

可选地,所述编码扩展因子包括:所述编码扩展因子等于2的正整数次幂然后减1,或者所述编码扩展因子等于2的正整数次幂再乘以一个素数,所述的素数包括以下之一:3、5、7、11、13、17、19、23、29。

可选地,所述编码扩展因子等于2的正整数次幂再乘以一个素数,该素数包括3和5。

可选地,所述编码扩展因子等于2的正整数次幂再乘以一个素数,该素数包括5和7。

可选地,所述编码扩展因子等于2的正整数次幂再乘以一个素数,该素数包括3、5和7。

可选地,所述编码扩展因子包括以下之一:7、15、31、63、127、255、511、1023、2047、4095。

可选地,所述装置还包括:存储模块,用于至少存储所述基础校验矩阵。

可选地,所述装置还用于:在对所述待编码数据序列进行编码之前,在待编码数据序列中填充长度为k’比特的哑元比特获得长度为kb*z比特的待编码数据序列,其中,k’与kb*z的比值小于或等于1/4,k’是大于等于0的整数,所述kb是所述基础校验矩阵的系统列数,所述z是编码使用的扩展因子大小,kb是大于1的整数,z是大于0的整数。

可选地,所述扩展因子z均为一个正整数值pl的n倍。

可选地,所述正整数值pl是子集合pset的一个元素,其中,所述子集合pset是pmax的所有正整数因子所构成集合中的一个子集,n是一个自然数,pmax是大于等于4的整数。

可选地,所述正整数n的所有取值构成子集合nset,其中,所述nset是正整数集合ns中长度为f的一个子集,所述正整数集合ns={1、2、3、…、m},m是大于1的整数。

可选地,所述基础校验矩阵中指示非全0方阵的任何hbij元素的满足如下条件:mod(hbij,(pmax/pl))=0,其中,i=0,1,2..,mb-1,j=0,1,…,nb-1,pmax是大于等于4的整数。

可选地,所述基础校验矩阵中指示非全0方阵的任何hbij元素的满足如下条件:mod(hbij,(pmax/pl))=a,其中i和j分别是所述基础校验矩阵中行索引i和列索引j的元素以及所述hbij指示非全0方阵,a是小于pl且大于或者等于0的固定整数,pmax是大于等于4的整数。

可选地,基础校验矩阵的参数kb为基础校验矩阵系统列数。

通过本发明,获取结构化ldpc编码的编码块大小;至少根据以下参数之一确定编码扩展因子z:编码块大小、基础校验矩阵的参数kb、正整数值p、mb行和nb列的基础校验矩阵;根据基础校验矩阵和编码扩展因子对待编码数据序列进行编码或者对待译码数据序列进行译码;其中,kb=nb-mb,kb、p、mb、z和nb均是大于1的整数,由此可见,采用上述方案根据ldpc编码的编码块大小、基础校验矩阵的参数kb、正整数值p、mb行和nb列的基础校验矩阵中的至少之一确定编码扩展因子,并根据基础校验矩阵和编码扩展因子进行ldpc编译码,因此,提高了ldpc编译码数据处理的灵活度,从而解决了相关技术中ldpc编译码的数据处理灵活度低的问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种结构化ldpc码的数据处理方法的移动终端的硬件结构框图;

图2是根据本发明实施例的一种结构化ldpc码的数据处理方法的流程图;

图3是根据本发明实施例的一种结构化ldpc码的数据处理装置的结构框图一;

图4是根据本发明实施例的一种结构化ldpc码的数据处理装置的结构框图二;

图5是根据本发明实施例的一种结构化ldpc码的数据处理装置的结构框图三;

图6是根据本发明可选实施例的基础校验矩阵的示意图;

图7是根据本发明可选实施例的基础校验矩阵hb’的示意图一;

图8是根据本发明可选实施例的基础校验矩阵hb’的示意图二;

图9是根据本发明可选实施例的加性白噪声信道下的不同填充方法的性能对比的示意图。

图10是根据本发明可选实施例的ldpc码译码器的存储示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例1

本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种结构化ldpc码的数据处理方法的移动终端的硬件结构框图,如图1所示,移动终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的载波相位恢复方法方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种结构化ldpc码的数据处理方法,图2是根据本发明实施例的一种结构化ldpc码的数据处理方法的流程图,如图2所示,该流程包括如下步骤:

步骤s202,获取结构化ldpc编码的编码块大小;

步骤s204,至少根据以下参数之一确定编码扩展因子z:编码块大小、基础校验矩阵的参数kb、正整数值p、mb行和nb列的基础校验矩阵;

步骤s206,根据基础校验矩阵和编码扩展因子对待编码数据序列进行编码或者对待译码数据序列进行译码;

其中,kb=nb-mb,kb、p、mb、z和nb均是大于1的整数。

可选地,上述结构化ldpc码的数据处理方法可以但不限于应用于处理数据序列的场景中。例如:ldpc编码译码处理数据序列的场景。

可选地,上述结构化ldpc码的数据处理方法可以但不限于应用于ldpc编码器或者ldpc译码器,例如:利用ldpc编码的发送端、利用ldpc解码的接收端。

通过上述步骤,获取结构化ldpc编码的编码块大小;至少根据以下参数之一确定编码扩展因子z:编码块大小、基础校验矩阵的参数kb、正整数值p;根据基础校验矩阵和编码扩展因子对待编码数据序列进行编码或者对待译码数据序列进行译码,由此可见,采用上述方案根据ldpc编码的编码块大小、基础校验矩阵的参数kb、正整数值p中的至少之一确定编码扩展因子,并根据基础校验矩阵和编码扩展因子进行ldpc编译码,因此,提高了ldpc编译码数据处理的灵活度,从而解决了相关技术中ldpc编译码的数据处理灵活度低的问题。进一步,支持对不同长度的编码块大小进行有效的ldpc编码和译码,进而降低了ldpc编译码的复杂度。

可选地,可以但不限于通过公式确定编码扩展因子,其中,cbs为编码块大小,表示向上取整。

可选地,在上述步骤s202中,编码块大小等于基础校验矩阵的参数kb与一组升序自然数中的一个元素相乘所获得的数值。

可选地,一组升序自然数中可以但不限于包括多个分组,其中,多个分组中的分组内相邻元素的第一增加值相等。

可选地,一组升序自然数中的第i个分组的第一增加值小于第i+1个分组的第一增加值,其中,i为正整数。

可选地,在上述步骤s206中,如果根据编码块大小确定编码扩展因子可以但不限于为:编码块大小为一组编码块大小中的一个元素值,一组编码块大小为升序的第一自然数组;编码扩展因子为一组编码扩展因子中的一个元素值,一组编码扩展因子为升序的第二自然数组。

可选地,一组编码块大小中包括连续的a个元素,其中,在连续的a个元素的首元素值大于z(j)×kb,且尾元素值小于或者等于z(j+1)×kb的情况下,连续的a个元素对应的编码扩展因子为z(j+1),a为正整数,z(j)为一组编码扩展因子中的第j个元素值,j为正整数,kb是基础校验矩阵的参数。

可选地,在获取的编码块大小为连续的a个元素中的一个元素的情况下,编码扩展因子可以但不限于为z(j+1)。

可选地,在编码块大小与基础校验矩阵的参数kb的比值大于z(j)且小于或者等于z(j+1)的情况下,编码扩展因子被确定为z(j+1),其中,z(j)为一组编码扩展因子中的第j个元素值。

可选地,一组编码扩展因子中可以但不限于包括多个分组,其中,多个分组的分组内相邻元素的第二增加值相等,多个分组中的第h个分组的第二增加值小于第h+1个分组的第二增加值,h为正整数。

可选地,一组编码扩展因子中的所有大于正整数值p的元素值都是正整数值p的正整数n倍。

可选地,一组编码块大小可以但不限于至少包括:基础校验矩阵的参数kb与一组编码扩展因子相乘得到的乘积值,以及全部乘积值之间间隔为b的整数值,其中,b为正整数。

可选地,在上述步骤s206之前,可以但不限于对第一数据序列进行比特填充,其中,对第一数据序列进行比特填充包括:将第一数据序列分成多个子数据序列,对多个子数据序列分别进行比特填充,所有填充比特后的子数据序列构成待编码数据序列。

可选地,在上述步骤s206之前,可以但不限于对第二数据序列进行比特填充,其中,对第二数据序列进行比特填充包括:将第二数据序列分成kb个比特数目小于或者等于z的子数据序列,对每个子数据序列添加填充比特使得每组子数据序列的比特数目达到z,所有填充比特后的子数据序列构成待编码数据序列,其中,kb是础校验矩阵的参数,z是编码扩展因子。

可选地,在对第一数据序列进行比特填充或者对第二数据序列进行比特填充之前,可以但不限于对第三数据序列添加l比特的循环冗余校验crc序列获得第一数据序列或者第二数据序列,其中,l是大于或者等于0的整数。

可选地,基础校验矩阵的参数kb为基础校验矩阵的列数和基础校验矩阵的行数的差值,kb是大于等于4且小于等于64的一个整数。

可选地,正整数值p是ldpc译码并行度。

可选地,正整数值p是一个固定正整数,ldpc译码并行度p包括:正整数值p为2的正整数次幂或者正整数值p为2的正整数次幂再乘以一个素数。

可选地,正整数值p是子集合p的一个元素,其中,该子集合p是pmax的所有正整数因子所构成集合中的一个子集,pmax是大于3且小于或者等于1024的一个整数。

可选地,正整数n的所有取值构成子集合nset,其中,nset是正整数集合ns中长度为f的一个子集,正整数集合ns={1、2、3、…、m},m是大于1的整数。

可选地,子集合nset包括以下之一:正整数集合ns中的前f个元素构成的子集合、正整数集合ns中的后f个元素构成的子集合、正整数集合ns中的f个素数构成的子集合、正整数集合ns中的f个奇数构成的子集合、正整数集合ns中的f个偶数构成的子集合,f是小于m的正整数。

可选地,编码扩展因子可以但不限于包括:编码扩展因子等于2的正整数次幂然后减1,或者编码扩展因子等于2的正整数次幂再乘以一个素数,该素数包括以下之一:3、5、7、11、13、17、19、23、29。可选地,编码扩展因子等于2的正整数次幂再乘以一个素数,该素数包括3和5。或者可选地,编码扩展因子等于2的正整数次幂再乘以一个素数,该素数包括5和7。以及可选地,编码扩展因子等于2的正整数次幂再乘以一个素数,该素数包括3、5和7。

可选地,编码扩展因子包括以下之一:7、15、31、63、127、255、511、1023、2047、4095。

可选地,在上述步骤s204之后,还可以存储基础校验矩阵。

可选地,对待编码数据序列进行编码之前,还可以在待编码数据序列中填充长度为k’比特的哑元比特获得长度为kb*z比特的待编码数据序列,其中k’与kb*z的比值小于或等于1/4,其中k’是大于等于0的整数,kb是基础校验矩阵的系统列数,z是编码使用的扩展因子大小,kb是大于1的整数,z是大于0的整数。在进行ldpc编码时,由于ldpc码的基础校验矩阵存在一定度分布特性,如果填充比特过多会使得ldpc码的度分布特性收到破坏,会影响ldpc码的译码性能,将填充长度限制与1/4之内的有益效果在于:保证ldpc码基础校验矩阵的基本特性改变不大,保证ldpc码的译码性能改变不大。这里的填充比特的数目和位置相对于发端和收端来说都是已知的,在数据传输过程中是不包括填充比特,在ldpc码译码过程中,由于这些比特是已知的,所以其不会影响译码结果,如果对应基础校验矩阵中某一列的所有比特都是填充比特,那么意味着基础校验矩阵的对应该列删除,所以此时基础校验矩阵的度分布受到改变。

可选地,扩展因子z均为一个正整数值pl的n倍。

可选地,正整数值pl是子集合pset的一个元素,其中,子集合pset是pmax的所有正整数因子所构成集合中的一个子集,n是一个自然数,pmax是大于等于4的整数。

可选地,正整数n的所有取值构成子集合nset,其中,nset是正整数集合ns中长度为f的一个子集,正整数集合ns={1、2、3、…、m},m是大于1的整数。

可选地,基础校验矩阵中指示非全0方阵的任何hbij元素的满足如下条件:mod(hbij,(pmax/pl))=0,其中,i=0,1,2..,mb-1,j=0,1,…,nb-1,pmax是大于等于4的整数。

可选地,基础校验矩阵中指示非全0方阵的任何hbij元素的满足如下条件:mod(hbij,(pmax/pl))=a,其中i和j分别是基础校验矩阵中行索引i和列索引j的元素以及hbij指示非全0方阵,a是小于pl且大于或者等于0的固定整数,pmax是大于等于4的整数。

可选地,基础校验矩阵的参数kb为基础校验矩阵系统列数。

实施例2

在本实施例中还提供了一种结构化ldpc码的数据处理装置,该装置用于实现上述实施例及可选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图3是根据本发明实施例的一种结构化ldpc码的数据处理装置的结构框图一,如图3所示,该装置包括:

1)获取模块32,用于获取结构化ldpc编码的编码块大小;

2)确定模块34,耦合至获取模块32,用于至少根据以下参数之一确定编码扩展因子z:编码块大小、基础校验矩阵的参数kb、正整数值p;

3)处理模块36,耦合至确定模块34,用于根据基础校验矩阵和编码扩展因子对待编码数据序列进行编码或者对待译码数据序列进行译码;

其中,kb=nb-mb,kb、p、mb、z和nb均是大于1的整数。

可选地,上述结构化ldpc码的数据处理装置可以但不限于应用于处理数据序列的场景中。例如:ldpc编码译码处理数据序列的场景。

可选地,上述结构化ldpc码的数据处理装置可以但不限于应用于ldpc编码器或者ldpc译码器,例如:利用ldpc编码的发送端、利用ldpc解码的接收端。

通过上述装置,获取模块获取结构化ldpc编码的编码块大小;确定模块至少根据以下参数之一确定编码扩展因子z:编码块大小、基础校验矩阵的参数kb、正整数值p、mb行和nb列的基础校验矩阵;处理模块根据基础校验矩阵和编码扩展因子对待编码数据序列进行编码或者对待译码数据序列进行译码;其中,kb=nb-mb,kb、p、mb、z和nb均是大于1的整数,由此可见,采用上述方案根据ldpc编码的编码块大小、基础校验矩阵的参数kb、正整数值p中的至少之一确定编码扩展因子,并根据基础校验矩阵和编码扩展因子进行ldpc编译码,因此,提高了ldpc编译码数据处理的灵活度,从而解决了相关技术中ldpc编译码的数据处理灵活度低的问题。进一步,支持对不同长度的编码块大小进行有效的ldpc编码和译码,进而降低了ldpc编译码的复杂度。

可选地,确定模块可以但不限于用于:通过公式确定编码扩展因子,其中,cbs为编码块大小,表示向上取整。

可选地,获取模块可以但不限于用于:编码块大小等于基础校验矩阵的参数kb与一组升序自然数中的一个元素相乘所获得的数值。

可选地,一组升序自然数中可以但不限于包括多个分组,其中,多个分组中的分组内相邻元素的第一增加值相等。

可选地,一组升序自然数中的第i个分组的第一增加值小于第i+1个分组的第一增加值,其中,i为正整数。

可选地,确定模块用于:编码块大小为一组编码块大小中的一个元素值,一组编码块大小为升序的第一自然数组;编码扩展因子为一组编码扩展因子中的一个元素值,一组编码扩展因子为升序的第二自然数组。

可选地,一组编码块大小中包括连续的a个元素,其中,在连续的a个元素的首元素值大于z(j)×kb,且尾元素值小于或者等于z(j+1)×kb的情况下,连续的a个元素对应的编码扩展因子为z(j+1),a为正整数,z(j)为一组编码扩展因子中的第j个元素值,j为正整数,kb是基础校验矩阵的参数。

可选地,在获取的编码块大小为连续的a个元素中的一个元素的情况下,编码扩展因子为z(j+1)。

可选地,在编码块大小与基础校验矩阵的参数kb的比值大于z(j)且小于或者等于z(j+1)的情况下,编码扩展因子被确定为z(j+1),其中,z(j)为一组编码扩展因子中的第j个元素值。

可选地,一组编码扩展因子中包括多个分组,其中,多个分组的分组内相邻元素的第二增加值相等,多个分组中的第h个分组的第二增加值小于第h+1个分组的第二增加值,h为正整数。

可选地,一组编码扩展因子中的所有大于正整数值p的元素值都是正整数值p的正整数n倍。

可选地,一组编码块大小至少包括:基础校验矩阵的参数kb与一组编码扩展因子相乘得到的乘积值,以及全部乘积值之间间隔为b的整数值,其中,b为正整数。

图4是根据本发明实施例的一种结构化ldpc码的数据处理装置的结构框图二,如图4所示,可选地,装置还包括:

第一比特填充模块42,耦合至处理模块36,用于对第一数据序列进行比特填充,其中,对第一数据序列进行比特填充包括:将第一数据序列分成多个子数据序列,对多个子数据序列分别进行比特填充,所有填充比特后的子数据序列构成待编码数据序列。

图5是根据本发明实施例的一种结构化ldpc码的数据处理装置的结构框图三,如图5所示,可选地,装置还包括:

第二比特填充模块52,耦合至处理模块36,用于对第二数据序列进行比特填充,其中,对第二数据序列进行比特填充包括:将第二数据序列分成kb个比特数目小于或者等于z的子数据序列,对每个子数据序列添加填充比特使得每组子数据序列的比特数目达到z,所有填充比特后的子数据序列构成待编码数据序列,其中,kb是础校验矩阵的参数,z是编码扩展因子。

可选地,装置还包括:添加模块,耦合至第一比特填充模块42或者第二比特填充模块52,用于对第三数据序列添加l比特的循环冗余校验crc序列获得第一数据序列或者第二数据序列,其中,l是大于或者等于0的整数。

可选地,基础校验矩阵的参数kb为编码基础校验矩阵的列数和编码基础校验矩阵的行数的差值,kb是大于等于4且小于等于64的一个整数。

可选地,正整数值p可以但不限于是ldpc译码并行度。

可选地,正整数值p是一个固定正整数,ldpc译码并行度p包括:正整数值p为2的正整数次幂或者正整数值p为2的正整数次幂再乘以一个素数。

可选地,正整数值p是子集合p的一个元素,其中,该子集合p是pmax的所有正整数因子所构成集合中的一个子集,pmax是大于3且小于或者等于1024的一个整数。

可选地,正整数n的所有取值构成子集合nset,其中,nset是正整数集合ns中长度为f的一个子集,正整数集合ns={1、2、3、…、m},m是大于1的整数。

可选地,子集合nset包括以下之一:正整数集合ns中的前f个元素构成的子集合、正整数集合ns中的后f个元素构成的子集合、正整数集合ns中的f个素数构成的子集合、正整数集合ns中的f个奇数构成的子集合、正整数集合ns中的f个偶数构成的子集合,f是小于m的正整数。

需要说明的是,第一种情况“正整数值p为2的正整数次幂”和第二种情况“正整数值p为2的正整数次幂再乘以一个素数”是排他的,如果素数是2,则第一种情况和第二种情况是同一种情况,就不合理了,所以素数为2的情况需要归类到第一种情况,进一步,本文理解是:第一种情况是1*2的幂次,而1不属于素数。所以说这里的素数至少大于等于3的。

可选地,编码扩展因子包括:编码扩展因子等于2的正整数次幂然后减1,或者编码扩展因子等于2的正整数次幂再乘以一个素数,的素数包括以下之一:3、5、7、11、13、17、19、23、29。可选地,编码扩展因子等于2的正整数次幂再乘以一个素数,该素数包括3和5。或者可选地,编码扩展因子等于2的正整数次幂再乘以一个素数,该素数包括5和7。以及可选地,编码扩展因子等于2的正整数次幂再乘以一个素数,该素数包括3、5和7。

可选地,编码扩展因子包括以下之一:7、15、31、63、127、255、511、1023、2047、4095。

可选地,该装置还可以包括:存储模块,用于至少存储基础校验矩阵。

可选地,装置还用于:在对待编码数据序列进行编码之前,在待编码数据序列中填充长度为k’比特的哑元比特获得长度为kb*z比特的待编码数据序列,其中,k’与kb*z的比值小于或等于1/4,k’是大于或者等于0的整数,kb是基础校验矩阵的系统列数,z是编码使用的扩展因子大小,kb是大于1的整数,z是大于0的整数。

可选地,扩展因子z均为一个正整数值pl的n倍。

可选地,正整数值pl是子集合pset的一个元素,其中,子集合pset是pmax的所有正整数因子所构成集合中的一个子集,n是一个自然数,pmax是大于等于4的整数。

可选地,正整数n的所有取值构成子集合nset,其中,nset是正整数集合ns中长度为f的一个子集,正整数集合ns={1、2、3、…、m},m是大于1的整数。

可选地,基础校验矩阵中指示非全0方阵的任何hbij元素的满足如下条件:mod(hbij,(pmax/pl))=0,其中,i=0,1,2..,mb-1,j=0,1,…,nb-1,pmax是大于等于4的整数。

可选地,基础校验矩阵中指示非全0方阵的任何hbij元素的满足如下条件:mod(hbij,(pmax/pl))=a,其中i和j分别是基础校验矩阵中行索引i和列索引j的元素以及hbij指示非全0方阵,a是小于pl且大于或者等于0的固定整数,pmax是大于等于4的整数。

可选地,基础校验矩阵的参数kb为基础校验矩阵系统列数。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

下面结合本发明可选实施例进行详细说明。

本发明可选实施例提供了一种ldpc编码译码方法,该方法包括以下步骤:

步骤101、获取结构化ldpc编码的编码块大小;

步骤102、至少根据以下参数之一确定编码扩展因子z:编码块大小、基础校验矩阵的参数kb、正整数值p、基础校验矩阵;

步骤103、根据基础校验矩阵和编码扩展因子对待编码数据序列进行编码或者对待译码数据序列进行译码。

可选地,至少根据编码块大小cbs、基础校验矩阵的参数kb和正整数值p确定编码扩展因子包括:编码扩展因子等于其中,cbs是编码块大小。在实际ldpc分层译码过程中,正整数值p对应于ldpc译码并行度,或者等于译码并行度的整数倍。此时编码扩展因子采用与并行度相关,好处在于使得ldpc分层译码硬件简单,不会出现译码器中交织/解交织不对应的问题。

可选地,编码块大小等于基础校验矩阵的参数kb与一组升序自然数中的一个元素相乘所获得的数值。

可选地,基础校验矩阵的参数kb是基础校验矩阵列数和基础校验矩阵行数的差值,基础校验矩阵的参数kb等于从整数4到64范围内的一个整数。并且,一组升序自然数中,包括多个分组,分组内增加值相等。而且,可选地,一组升序自然数中,第i个分组的增加值小于第i+1个分组的增加值,其中,i是正整数。

可选地,编码块大小是一组编码块大小中的一个元素值,编码扩展因子是一组扩展因子中的一个元素值,一组编码块大小是升序的一组自然数,一组扩展因子都是升序的一组自然数。

可选地,一组编码块大小中连续a个元素,其中,连续a个元素的首元素值大于z(j)×kb,而且尾元素值小于或者等于z(j+1)×kb,则连续a个元素对应的编码扩展因子为z(j+1),其中a是正整数,z(j)是一组扩展因子中的第j个元素值。并且,若编码块大小属于连续a个元素中,则编码扩展因子限制为z(j+1)。

可选地,一组扩展因子,包括多个分组,分组内增加值相等,第h个分组的增加值小于第h+1个分组的增加值,其中,h是正整数。而且,一组编码块大小至少包括:基础校验矩阵的参数kb与一组扩展因子相乘得到的乘积值,以及所有乘积值之间间隔为b的整数值,其中,b是正整数。基础校验矩阵的参数kb与一组扩展因子相乘得到的乘积值其实就是ldpc码在不同编码扩展因子下支持的最大系统比特数目,在各个系统比特数目之间也可包含有编码块大小,可以使得编码块大小更加灵活,便于在各种通信系统中使用,同时解决ldpc码的码长和码率灵活性不够的问题。

可选地,编码扩展因子等于2的正整数次幂然后减1,以及更为具体地,编码扩展因子包括:等于7、15、31、63、127、255、511、1023、2047和4095中的一个。此时,有利于在ldpc码中每z比特分组内包含相应数目的循环冗余校验(crc)比特,并且根据crc循环码的特性(循环移位任意比特依然是属于crc循环码字空间,即依然是一个crc循环码),所以可以获得ldpc码的校验比特中每z比特分组也是crc循环码,依然可以进行crc校验,有利于提高ldpc码的译码性能,并且在迭代译码过程加速译码收敛,减少译码时间从而提高译码速度,的z等于扩展因子的值;或者,编码扩展因子可以等于2的正整数次幂再乘以一个素数,更为具体的,例如,一个素数从2、3、5、7、11、13、17、19、23和29中的一个。根据素数的定义,其整数因子除了1和自身以外没有其他了,那么整数就是素数,所以1不属于素数。采用该扩展因子值,便于简化ldpc码的交织和解交织网络,根据ldpc码原理,基础校验矩阵中的每个元素值都对应一个循环移位数目,依据一定原理采用以上数值,可以简化该交织网络和解交织网络,进而降低ldpc码的复杂度(交织网络几乎占用ldpc码译码复杂度的40%左右,一旦降低该部分则ldpc译码复杂度可以得到简化)。

可选地,提供一种扩展因子取值的实例,如编码扩展因子可以等于2的正整数次幂再乘以一个素数,该素数包括3和5,正整数是1、2、3、4、5、6、7、8。采用扩展因子带来的有益效果是:可以使得ldpc译码器复杂度很低,并且支持灵活码长设计。在ldpc译码器中,一般包括存储模块、交织网络模块、解交织网络模块和计算模块等,对于存储模块中存储的是更新后的总软信息(总软信息是所有外信息相加的结果),译码器中需要为基础校验矩阵中的每列分配1个存储块(如果基础校验矩阵大小为mb行nb列,则有nb个存储块),而每个存储块会分为多个地址块,可以将每个地址块定义为1个word,则单个存储块就可以存储多个word,当ldpc译码设计时,一般来说译码并行度等于word大小,word大小是指存储于word中的软比特数目。在本实例中,由于素数的最大值为5,以及2的最大幂次为8,所以ldpc码译码器中的每个存储块有5个word,每个word的大小为28=256;在ldpc码译码过程中,先从存储模块中读取数据,经过交织网络模块,然后进入计算单元,而后再进行解交织,最后再写回存储模块;当扩展因子等于5*28=1280时,正好填满5个word,每个word有256个软比特数据,而在灵活码长(即通过改变扩展因子获得不同码长)情况下,如扩展因子为5*24=80,此时还是占用5个word,只是不同的是每个word中只存储24=16个软比特数据,而且每个word中每间隔16个数据放一个软比特数据,此时当读取word中的数据进行更新时,由于只有16个有效数据,所以此时译码中的计算单元中只有16个有效校验节点更新;而当扩展因子等于素数3的整数倍(2的幂次),此时只要3个word在工作即可,在译码器中,对于扩展因子等于素数乘以2的正整数次幂(1、2、3、4、5、6、7、8)时,素数等于3或者5,以上硬件是可以共用的,即能支持灵活码长设计。

以及,素数可以包括5和7,2的幂次为(1、2、3、4、5、6、7、8),此时word大小也为256,需要7个word,此时由于选用稍大的素数7,可以使得扩展因子较大,可以支持更大的码长。以及可选地,素数可以包括3、5和7,2的幂次为(1、2、3、4、5、6、7、8),此时word大小也为256,由于最大素数为7,所以需要7个word,当扩展因子是3的整数倍,则选择3个word工作;当扩展因子是5的整数倍,则选择5个word工作;当扩展因子是7的整数倍,则选择7个word工作;此时大的扩展因子可以保证ldpc能支持大码长的ldpc码,小的扩展因子可以保证ldpc能支持小码长的ldpc码,取值范围比较合理,使得ldpc码可以支持较大码长范围。本发明可选实施例还提供了一种ldpc编码译码装置,该装置包括:

获取模块201,用于获取结构化ldpc编码的编码块大小;

确定模块202,用于至少根据以下参数之一确定编码扩展因子z:编码块大小、基础校验矩阵的参数kb、正整数值p、基础校验矩阵;

编码模块203,用于根据基础校验矩阵和编码扩展因子对待编码数据序列进行编码或者对待译码数据序列进行译码。

存储模块204,用于至少存储基础校验矩阵。

其中,获取模块中,编码块大小限制为基础校验矩阵的参数kb与一组升序自然数相乘所获得的数值。其中,基础校验矩阵的参数kb是基础校验矩阵列数和基础校验矩阵行数的差值,基础校验矩阵的参数kb等于从整数4到64范围内的一个整数。以及,一组升序自然数中,包括多个分组,分组内增加值相等。并且,一组升序自然数中,第i个分组的增加值小于第i+1个分组的增加值,其中,i是正整数。

可选地,确定模块中,根据编码块大小和正整数值p确定编码扩展因子,包括:编码扩展因子等于其中,cbs是编码块大小,kb是基础校验矩阵列数和基础校验矩阵行数的差值,p是正整数。

可选地,编码块大小是一组编码块大小中的一个元素值,编码扩展因子是一组扩展因子中的一个元素值,一组编码块大小是升序的一组自然数,一组扩展因子都是升序的一组自然数,一组编码块大小的维数大于或者等于一组扩展因子的维数。可选地,一组编码块大小中连续a个元素,其中,连续a个元素的首元素值大于z(j)×kb,而且尾元素值小于或者等于z(j+1)×kb,则连续a个元素对应的编码扩展因子为z(j+1),其中a是正整数,z(j)是一组扩展因子中的第i个元素值。而且,若编码块大小属于连续a个元素中,则编码扩展因子限制为z(j+1)。并且,一组扩展因子,包括多个分组,分组内增加值相等,第i个分组的增加值小于第i+1个分组的增加值,其中,i是正整数。

可选地,一组编码块大小至少包括:基础校验矩阵的参数kb与一组扩展因子相乘得到的乘积值,以及所有乘积值之间间隔为b的整数值,其中,b是正整数。

可选地,编码扩展因子等于2的正整数次幂然后减1,或者等于2的正整数次幂再乘以一个素数。更为具体地,编码扩展因子包括:等于7、15、31、63、127、255、511、1023、2047和4095中的一个。

实施例3

在本实施例中还提供了一种结构化ldpc码的数据处理方法,该方法用于实现上述ldpc码编码译码方法,已经进行过说明的不再赘述。如以下所使用的,术语“方法”或“模块”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的方法较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

根据本发明实施例的一种结构化ldpc码的数据处理方法,用于发送端,该方法包括以下步骤:

1、码块分割,将长度为cl的传输块进行码块分割成多份编码块;

2、依据码块分割后的编码块大小,获取结构化ldpc编码的编码块大小;

3、至少根据以下参数之一确定编码扩展因子z:所述编码块大小、基础校验矩阵的参数kb、正整数值p、基础校验矩阵;

4、根据所述基础校验矩阵和所述编码扩展因子对待编码数据序列进行编码。

可选地,步骤2中,由编码块大小确定编码扩展因子,其中根据所述编码块大小确定所述编码扩展因子包括:所述编码块大小为一组编码块大小中的一个元素值,所述一组编码块大小为升序的第一自然数组;以及所述编码扩展因子为一组编码扩展因子中的一个元素值,所述一组编码扩展因子为升序的第二自然数组。

可选地,所述一组编码扩展因子中的所有大于所述正整数值p的元素值都是所述正整数值p的正整数n倍。

可选地,所述正整数值p是子集合pset的一个元素,其中,所述子集合pset是pmax的所有正整数因子所构成集合中的一个子集,pmax是大于3且小于或者等于1024的一个整数。其中,所述的pmax是数据接收端的ldpc译码器所支持的最大译码并行度。其中,所述译码并行度是指ldpc译码器中可以同时进行的奇偶校验码更新的数目,而所述的pmax是指ldpc译码器所支持的最大并行度。一般来说,ldpc译码器中支持的最大译码并行度为pmax,那么其可以支持小于pmax的其他并行度,可能会增加一些控制电路。

以及,可选地,所述正整数n的所有取值构成子集合nset,其中,所述nset是正整数集合ns中长度为f的一个子集,所述正整数集合ns={1、2、3、…、m},m是大于1的整数,所述子集合nset包括以下之一:所述正整数集合ns中的前f个元素构成的子集合、所述正整数集合ns中的后f个元素构成的子集合、所述正整数集合ns中的f个素数构成的子集合、所述正整数集合ns中的f个奇数构成的子集合、所述正整数集合ns中的f个偶数构成的子集合,f是小于m的正整数。

发送端的一个ldpc码编码实例,需要发送的传输块大小4000比特,ldpc码采用的基础校验矩阵如下所示,对应的一组编码扩展因子为[2468101216202432404864809612816019225632038451264076810241280]。所述一组扩展因子中,包括5乘以2的[12345678]幂次,为[102040801603206401280];以及还包括3乘以2的[12345678]幂次,为[612244896192384768];以及还包括2乘以2的[12345678]幂次,为[48163264128256512];以及还包括1乘以2的[12345678]幂次,为[248163264128256]。即子集合nset取值为包括[1235],子集合pset取值为包括[248163264128256]。所述一组编码扩展因子中的扩展因子等于正整数值p的正整数n倍,其中n是所述子集合nset的一个元素,p是所述子集合pset的一个元素。所述基础校验矩阵亦可成为基础校验矩阵或者其他称谓。所述扩展因子亦可称为提升值或者子矩阵大小或者其他等。基础校验矩阵的参数kb是所述基础校验矩阵的系统列数目,基础校验矩阵的总列数为nb,基础校验矩阵的行数为mb,其中,kb=nb-mb;例如本实例中的基础校验矩阵的系统列数为kb=8,行数为mb=18,总列数为nb=26,满足kb=nb-mb。ldpc码采用的基础校验矩阵等于:

一组编码块大小为至少包括所述一组编码扩展因子与kb=8的乘积,即等于[163248648096128160192256320384512640768102412801536204825603072409651206144819210240]。

本实例包括以下步骤:

1、码块分割,将长度为cl=4000比特的传输块进行码块分割成多份编码块;由于传输块长度为4000比特小于以上所述一组编码块大小的最大值(10240),所以进行码块分割时,只分成1份编码块,其长度为4000比特。

2、依据码块分割后的编码块大小4000,获取结构化ldpc编码的编码块大小,其等于4000;

3、至少根据以下参数之一确定编码扩展因子z:所述编码块大小;此时由于一组编码块大小中大于4000的最小值为4096,所以ldpc码的系统比特长度(即输入ldpc编码器中的比特数目)为为4096,需要填充比特数目为4096-4000=96比特。由于一组编码块大小中大小为4096对应的扩展因子为512,所以编码所使用到的扩展因子为z=512。依据扩展因子z=512对基础校验矩阵的所有元素进行修正,其中修正方法如下公式:

4、根据所述基础校验矩阵和所述编码扩展因子对待编码数据序列进行编码获得长度为13312比特的ldpc码字,根据编码码率r从所述ldpc码字选择出相应码长的码字即可,例如码率为r=1/2,则可以知道需要传输的码长为4000/(1/2)=8000比特,从13312比特中选择8000比特进行传输,其中选择方法为:先对长度为512*26=13312的码字按z=512为单位进行重排,重排向量为[0~7,[8,9,11,10],12:25];从第z*2=1024比特开始进行循环选择,如果达到尾比特则从首比特开始选择,遇到填充比特跳过,选出n=8000比特的ldpc码字。发送所述的n=8000比特的ldpc码字。

对应以上所述的示例,所述有一个接收端,用于接收所述的发送的ldpc码字。所述接收端的ldpc译码方法,包括以下步骤:

1、接收并解调收到的数据获得长度为8000个软比特信息,即获得长度为8000的待译码数据序列;

2、获取结构化ldpc编码的编码块大小,其等于4000;所述获得的编码块大小可以是通过系统配置的信令获得;

3、至少根据以下参数之一确定编码扩展因子z:所述编码块大小;所述确定编码扩展因子z以及基础校验矩阵的修正方法与以上发送端所述的确定方法一致,这里不再赘述。

4、根据所述基础校验矩阵和所述编码扩展因子对长度为8000的待译码数据序列进行译码,由于基础校验矩阵的实际码长为13312,填充比特数为96,所以将填充位置的软比特信息置为很大值,将8000个软比特信息置于对应13312的码字的比特选择位置中,其他软信息(可以说是打孔比特位置或者不传输比特位置)等于0。然后对长度为13312的待译码软信息序列进行译码,输出4096个系统比特,去除填充比特,获得长度为4000比特的数据。所述译码过程中,由于对应的一组编码扩展因子为[2468101216202432404864809612816019225632038451264076810241280]。所述一组扩展因子中,包括5乘以2的[12345678]幂次,为[102040801603206401280],设为集合z0;以及还包括3乘以2的[12345678]幂次,为[612244896192384768],设为集合z1;以及还包括2乘以2的[12345678]幂次,为[48163264128256512],设为集合z2;以及还包括1乘以2的[12345678]幂次,为[248163264128256],设为集合z3;所以译码器中的可以支持最大译码并行度为2的8次幂,即并行度为256,即pmax为256,译码器中的最大保存5个word,每个word大小为256长度。当编码所使用的扩展因子在以上所述的任意集合中,如在集合z0中,译码器中的软信息分别存放在5个word中;如果在集合z1中则存在3个word中;如果在集合z2中则存在2个word中;如果在集合z3中则存在1个word中。采用类似实施例2中所述的译码器方法,进而可以支持灵活码长的设计。

以及所述的ldpc码还可以包括如下例子。基础校验矩阵采用如下所示,大小分别为:矩阵行数mb=8,矩阵系统列数kb=8,矩阵总列数nb=16。一组扩展因子取值为[18213035426370105126210],即包括2个集合[67142142]*3和[67142142]*5,即子集合pset为[67142142],子集合nset为[35]。基础校验矩阵等于:

同理发送端按照以上所述的步骤进行数据处理,确认扩展因子和基础校验矩阵,并进行结构化ldpc编码,具体步骤这里不再赘述;接收端也同理,按以上所述步骤进行。接收端的译码器可采用的最大并行度为子集合pset中的最大元素42,在ldpc译码器中,所述的译码并行度为可以为42或者任意一个比42小的且是42的整数因子。译码器中,如果编码使用的扩展因子是[67142142]*3中,则采用3个word构成的一个存储块,用于存储译码需要的软信息,如确定编码使用的扩展因子为63,此时由于分为3个word,所以实际译码并行度31;如果编码使用的扩展因子是[67142142]*5中,则采用5个word构成的一个存储块,用于存储译码需要的软信息,例如编码使用的扩展因子为70,此时由于分为5个word,所以实际译码并行度14。

实施例4

在本实施例中还提供了一种结构化ldpc码的数据处理方法,该方法用于实现上述ldpc码编码译码方法,已经进行过说明的不再赘述。如以下所使用的,术语“方法”或“模块”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的方法较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

根据本发明实施例的一种结构化ldpc码的数据处理方法,用于发送端,该方法包括以下步骤:

1、码块分割,将长度为cl的传输块进行码块分割成多份编码块;

2、依据码块分割后的编码块大小,获取结构化ldpc编码的编码块大小;

3、确定编码扩展因子z:所述编码块大小、基础校验矩阵的参数kb、正整数值p、基础校验矩阵;所述扩展因子z都是一个正整数值pl的n倍。更为具体的,所述正整数值pl是子集合pset的一个元素,其中,所述子集合pset是pmax的所有正整数因子所构成集合中的一个子集,n是一个自然数,pmax是大于等于4的整数。以及,所述正整数n的所有取值构成子集合nset,其中,所述nset是正整数集合ns中长度为f的一个子集,所述正整数集合ns={1、2、3、…、m},m是大于1的整数。

以及所述基础校验矩阵包括以下参数:系统列数kb,矩阵行数(或者校验列数)mb,矩阵总列数nb,其中,kb=nb-mb。以及基础校验矩阵矩阵中的元素至少包括两种类型:1、指示全0方阵的元素,在本专利中用-1表示,也可用空值等表示或其他描述方式;2、指示单位阵的循环移位方阵的元素(即为非全0方阵),所述元素是大于等于0且小于扩展因子的整数,用于指示单位阵的循环移位的位数。所述基础校验矩阵也可以包括多边结构,所述多变结构是指基础校验矩阵中出现至少包括:同一行索引和列索引上有2个元素,用于指示2个循环移位特定位后的方阵的相加构成。

所述基础校验矩阵中指示非全0方阵的任何hbij元素的满足如下:mod(hbij,(pmax/pl))=0,其中,i=0,1,2..,mb-1,j=0,1,…,nb-1,pmax是大于等于4的整数。

4、根据所述基础校验矩阵和所述编码扩展因子对待编码数据序列进行编码。

按以上,以下提供一种基础校验矩阵,用于所述结构化ldpc编码方法。所述参数pmax=42,pset={62142},nset={35},所述基础校验矩阵的扩展因子取值根据pset和nset确定,即等于3*pset和5*pset,即所有扩展因子构成集合{183063105126210},可见pset是pmax的所有正整数因子所构成集合中的一个子集。所述各个扩展因子所对应每个基础校验矩阵描述如下,其中矩阵参数为:系统列数kb=8,矩阵行数(或者校验列数)mb=4,矩阵总列数nb=12,即满足kb=nb-mb。

扩展因子为18,对应p=6,n=3,基础校验矩阵hb0:

扩展因子为30,对应p=6,n=5,基础校验矩阵hb1:

扩展因子为63,对应p=21,n=3,基础校验矩阵hb2:

扩展因子为105,对应p=21,n=5,基础校验矩阵hb3:

扩展因子为126,对应p=42,n=3,基础校验矩阵hb4:

扩展因子为210,对应p=42,n=5,基础校验矩阵hb5:

可以发现以上所述的基础校验矩阵中,所述基础校验矩阵中指示非全0方阵的任何hbij元素的满足如下:mod(hbij,(pmax/pl))=0,在例子中的所有基础校验矩阵中所述的hbij是不等于-1的元素。

采用以上所述的基础校验矩阵作为ldpc码的编码基础校验矩阵的有益效果类似于实施例2。此时信息存储中,以word为单位作为一个地址的存储,信息的存储非常简单,便于支持灵活码长设计。如上以hb0为例,进行描述。此时,译码器的存储模块如图10所示。基础校验矩阵的总列数都为12列,所以有12个存储块,每个存储块有5个word。图10所示的1001对应基础校验矩阵的第0列的存储块,1002对应基础校验矩阵的第1列,每个word的大小等于pmax=42,即支持最大并行度为pmax。当在不同扩展因子情况下,所述的存储块可以共用。hb0和hb1的存储模块可以采用图10所示的1003进行存储,所述黑色说明存储信息,由于此时扩展因子是18和30,对应基础校验矩阵每列的软比特信息只有18和30,所以每个word中软比特信息是按每7个存放一个软比特信息,hb0采用3个word,hb1采用5个word;

同理,当采用hb2和hb3的存储模块可以采用图10所示的1004进行存储,所述黑色说明存储信息,由于此时扩展因子是63和105,对应基础校验矩阵每列的软比特信息只有63和105,所以每个word中软比特信息是按每2个存放一个软比特信息,hb2采用3个word,hb3采用5个word。

同理,当采用hb4和hb5的存储模块可以采用图10所示的1005进行存储,所述黑色说明存储信息,由于此时扩展因子是126和210,对应基础校验矩阵每列的软比特信息只有126和210,此时每个word中软比特信息填满,hb2采用3个word,hb3采用5个word。

采用以上所述的扩展因子集合以及基础校验矩阵,有益效果就在于ldpc译码器可以完全统一,大大降低采用多个译码器带来的复杂度,以及基础校验矩阵中每列的交织网络可以共用或者采用固定电路网络实现,降低复杂度以及译码时延。

以及提供一种基础校验矩阵如下:扩展因子为63,对应p=21,n=3,基础校验矩阵hb6,满足mod(hbij,(pmax/pl))==a,其中a=1:

在本发明可选实施例中提出的方法可以用于lte移动通信系统或者未来第五代移动通信系统,数据传输方向为基站向移动用户发送数据(下行传输业务数据),或者数据传输方向为移动用户向基站发送数据(上行传输业务数据)。移动用户包括:移动设备、为接入终端、用户终端、用户站、用户单元、移动站、远程站、远程终端、用户代理、用户装置、用户设备、或一些其它术语。基站包括接入点(ap)、或可以称为节点b(nodeb)、无线电网络控制器(rnc)、演进型nodeb(evolvednodeb,enb)、基站控制器(bsc)、基站收发台(bts)、基站(bs)、收发机功能体(tf)、无线电路由器、无线电收发机、基本服务单元(bss)、扩展服务单元(ess)、无线电基站(rbs),或一些其它术语。

根据本发明可选实施例的一个方面,本可选实施例提供一种结构化ldpc码的数据处理方法,应用于newrat(newradioaccesstechnology)中的embb(enhancedmobilebroadband)场景、urllc(ultra-reliableandlowlatencycommunications)场景或者mmtc(massivemachinetypecommunications)场景中。其中embb场景中下行最大吞吐量可以达到20gbps,上行数据最大吞吐量可以达到10gbps;以及在urllc中,可以支持可靠性最低达到10e-5的bler(blockerrorrate)以及上下行达到最短时延达到0.5毫秒;以及mmtc能使设备电池可以使用多年不断电。本实施例的结构化ldpc码的数据处理方法包括以下步骤:

1、获取结构化ldpc编码的编码块大小;

2、至少根据以下参数之一确定编码扩展因子z:编码块大小、基础校验矩阵的参数kb和正整数值p;

3、根据基础校验矩阵和编码扩展因子对待编码数据序列进行编码或者对待译码数据序列进行译码。

可选地,至少根据编码块大小cbs、基础校验矩阵的参数kb和正整数值p确定编码扩展因子,包括:通过公式确定编码扩展因子,其中,表示向上取整。

可选地,获取结构化ldpc编码的编码块大小包括:编码块大小等于基础校验矩阵的参数kb与一组升序自然数中的一个元素相乘所获得的数值。并且,一组升序自然数中包括多个分组,其中,多个分组中的分组内相邻元素的第一增加值相等。以及,一组升序自然数中的第i个分组的第一增加值小于第i+1个分组的第一增加值,其中,i为正整数。如此设计的好处在于,一组升序自然数是逐步增加的,所以其支持编码块大小在较小长度时变化间隔较小,在较大长度时变化间隔较小,即不需要更密的编码块大小,使得通信系统比较灵活,而且少用信令指示,信令交互较少,进而系统复杂度低。

或者,可选地,根据编码块大小确定编码扩展因子,包括:编码块大小为一组编码块大小中的一个元素值,一组编码块大小为升序的第一自然数组;编码扩展因子为一组编码扩展因子中的一个元素值,一组编码扩展因子为升序的第二自然数组。以及,可选地,一组编码块大小中包括连续的a个元素,其中,在连续的a个元素的首元素值大于z(j)×kb,且尾元素值小于或者等于z(j+1)×kb的情况下,连续的a个元素对应的编码扩展因子为z(j+1),a为正整数,z(j)为一组编码扩展因子中的第j个元素值,j为正整数,kb是基础校验矩阵的参数。如果在获取的编码块大小为连续的a个元素中的一个元素的情况下,编码扩展因子为z(j+1)。一组编码扩展因子中包括多个分组,其中,多个分组的分组内相邻元素的第二增加值相等,多个分组中的第h个分组的第二增加值小于第h+1个分组的第二增加值,h为正整数。一组编码块大小至少包括:础校验矩阵的参数kb与一组编码扩展因子相乘得到的乘积值,以及全部乘积值之间间隔为b的整数值,其中,b为正整数。

或者,若编码块大小与基础校验矩阵的参数kb的比值大于z(j)且小于或者等于z(j+1),则编码扩展因子被确定为z(j+1),其中,z(j)为一组编码扩展因子中的第j个元素值。一组编码扩展因子中的所有大于第一正整数值p的元素值都是第一正整数值p的正整数倍。的第一正整数值p是ldpc码译码并行度,限制扩展因子需要等于并行度p的整数倍的目的在于,ldpc分层译码过程可以使得译码器的交织和逆交织网络不会出现地址冲突问题,不需要而额外的硬件电路指示开销,译码复杂度低,对于硬件电路面积更少。

可选地,根据基础校验矩阵和编码扩展因子对待编码数据序列进行编码之前,方法还包括:对第一数据序列进行比特填充,其中,对第一数据序列进行比特填充包括:将第一数据序列分成多个子数据序列,对多个子数据序列分别进行比特填充,所有填充比特后的子数据序列构成待编码数据序列。或者,根据基础校验矩阵和编码扩展因子对待编码数据序列进行编码之前,方法还包括:对第二数据序列进行比特填充,其中,对第二数据序列进行比特填充包括:将第二数据序列分成kb个比特数目小于或者等于z的子数据序列,对每个子数据序列添加填充比特使得每组子数据序列的比特数目达到z,所有填充比特后的子数据序列构成待编码数据序列,其中,kb是础校验矩阵的参数,z是编码扩展因子。以及,在对第一数据序列进行比特填充或者对第二数据序列进行比特填充之前,方法还包括:对第三数据序列添加l比特的循环冗余校验crc序列获得第一数据序列或者第二数据序列,其中,l是大于或者等于0的整数。如图9所示是加性白噪声信道下的性能对比,编码块大小为1120,结构化ldpc码的扩展因子为150,基础校验矩阵系统列数为kb=8,填充比特数为80比特,其中图中padding1是指常规填充方法(即在首部或者尾部填充80比特),而padding2是本方案的方法,对1120分为8个子数据序列,每个子数据序列有140比特,每个填充10比特得到150比特,合并得到系统比特序列,根据如图9所示性能,可以发现采用本专利的填充方案可以获得较大增益(约0.4db)。或者,根据基础校验矩阵和编码扩展因子对待编码数据序列进行编码之前,还包括比特填充,其特征在于,比特填充包括:对第一数据序列分成多个子数据序列,对多个子数据序列分别进行比特填充,所有填充比特后的子数据序列构成待编码数据序列。在根据基础校验矩阵和编码扩展因子对待编码数据序列进行编码之前,还包括比特填充,其特征在于,比特填充包括:对第一数据序列分成kb个比特数目小于或者等于z的子数据序列,对每个子数据序列添加填充比特使得每组子数据序列的比特数目达到z,所有填充比特后的子数据序列构成待编码数据序列,其中,kb是础校验矩阵的参数,z是编码扩展因子。比特填充之前还包括:对第二数据序列添加l比特的循环冗余校验crc序列获得第一数据序列,其中,l是大于或者等于0的整数。

以上的正整数值p是一个固定正整数,ldpc译码并行度p包括:2的正整数次幂或者2的正整数次幂再乘以一个素数。好处在于p可以是较小数的倍数,在ldpc分层译码过程中,如果需要采用更小的硬件复杂度,那么依然可以采用更小的分层译码并行度p来实现,进而可以支持更低功耗的电路设计,如在mmtc场景中使用。

可选地,基础校验矩阵的参数kb为基础校验矩阵的列数和基础校验矩阵的行数的差值,kb是大于等于4且小于等于64的一个整数。基础校验矩阵的参数kb就是基础校验矩阵的系统列数。编码扩展因子包括:编码扩展因子等于2的正整数次幂然后减1,或者编码扩展因子等于2的正整数次幂再乘以一个素数。更为具体地,编码扩展因子包括以下之一:7、15、31、63、127、255、511、1023、2047、4095。

更为具体的一个例子:

例子1

图6是根据本发明可选实施例的基础校验矩阵的示意图,在第5代移动通信中,用于发送端,embb场景中,需要传输的源数据包大小为7952比特,编码块大小为4000。已知基础校验矩阵(16行24列)如下,支持的最大扩展因子为zmax=1000。

如图6所示的基础校验矩阵,可以知道其参数有:基础校验矩阵行数mb=16,基础校验矩阵列数为nb=24,基础校验矩阵系统列数kb=nb-mb=8。假设译码采用的并行度为p=20,每个编码块大小有24比特的循环冗余校验crc序列,编码码率为1/2。依据以上的结构化ldpc码的数据处理方法,包括以下步骤:

步骤1、获取结构化ldpc编码的编码块大小,即等于cbs=4000;

步骤2、至少根据以下参数之一确定编码扩展因子z:编码块大小、基础校验矩阵的参数kb和第一正整数值p;

步骤2中,根据编码块大小cbs、基础校验矩阵的参数kb和第一正整数值p确定编码扩展因子,包括:通过公式确定编码扩展因子,其中,表示向上取整,可以知道扩展因子为z’=500。

步骤3、根据基础校验矩阵和编码扩展因子对待编码数据序列进行编码。

步骤3中,由于以上的基础校验矩阵是基于扩展因子z=1000的需要对基础校验矩阵进行修正,修正方式为:

其中,(hijb)modified是修正后的基础校验矩阵的第i行第j列元素值,(hijb)uniform是以上的基础校验矩阵的第i行第j列元素值。由于编码码率为r=1/2,由kb可以计算出所需要的基础校验矩阵的行数为kb/r=16,直接截取如上修正后基础校验矩阵的8行和16列元素,或者先截取基础校验矩阵的8行和16列元素再进行修正,图7是根据本发明可选实施例的基础校验矩阵hb’的示意图一,如图7所示,获得实际编码用的基础校验矩阵hb’。

对大小为7952比特的源数据包进行码块分割(每个数据分组的比特数目尽量接近cbs-l=3976,其中l=24是crc序列的比特数目),获得2份长度都为3976比特的第二数据序列,对2份第二数据序列添加l=24比特的循环冗余校验crc序列获得长度都为4000比特的第一数据序列。由于结构化ldpc的实际系统比特数目为kb×z'=8×500=4000kb×z=8×500=4000,编码块大小已经等于的实际系统比特数目4000,所以无需再进行填充。

根据以上的实际编码用的基础校验矩阵hb’=8和编码扩展因子z’=500对待编码数据序列(2份4000比特的第一数据序列)进行编码,获得2份长度都为8000比特的ldpc码块。调制并发送ldpc编码块。

如果用于接收端,则对接收数据进行解调获得2份长度都为8000的软信息数据序列(待译码数据序列),采用以上的实际编码用的基础校验矩阵hb’和编码扩展因子z’=500分别对2份长度都为8000的软信息数据序列进行译码,获得结构化ldpc编码的系统比特序列,去除24比特的crc序列,可以得到长度为7952比特的源数据包。

例子2

本例子和例子1不同在于,需要传输的源数据包大小为3256比特,假设结构化ldpc码的编码块大小为3360。结构化ldpc编码的编码块大小等于基础校验矩阵的参数kb=8与一组升序自然数中的一个元素相乘所获得的数值。一组升序自然数中包括多个分组,其中,多个分组中的分组内相邻元素的第一增加值相等。一组升序自然数中的第i个分组的第一增加值小于第i+1个分组的第一增加值,其中,i为正整数。如一组升序自然数为[[2:1:200],[202:2:400],[406:6:796],[804:8:1004]]。

编码块大小3360与基础校验矩阵的参数kb=8的比值为420,大于z(302)=418且小于或者等于z(303)=424,则编码扩展因子被确定为z(303)=424。以及按z’为424对基础校验矩阵进行修正,图8是根据本发明可选实施例的基础校验矩阵hb’的示意图二,如图8所示,可以得到如下基础校验矩阵hb’。即满足:一组编码块大小中包括连续的a个元素,其中,在连续的a个元素的首元素值大于z(j)×kb,且尾元素值小于或者等于z(j+1)×kb的情况下,连续的a个元素对应的编码扩展因子为z(j+1),a为正整数,z(j)为一组编码扩展因子中的第j个元素值,j为正整数,kb是基础校验矩阵的参数。在获取的编码块大小为连续的a个元素中的一个元素的情况下,编码扩展因子为z(j+1)。

以及满足:一组编码扩展因子中包括多个分组,其中,多个分组的分组内相邻元素的第二增加值相等,多个分组中的第h个分组的第二增加值小于第h+1个分组的第二增加值,h为正整数。

由于结构化ldpc的实际系统比特数目为kb×z=8×424=3392,对源数据包大小为3256比特(第三数据序列)添加l=24比特的循环冗余校验crc序列获得长度为3384的第二数据序列,需要再填充8比特获得3392比特。填充方法包括,对第二数据序列分成kb=8个比特数目小于或者等于z=434的子数据序列,对每个子数据序列添加填充1比特使得每组子数据序列的比特数目达到z=434,所有填充比特后的子数据序列构成待编码数据序列,长度为3392。根据以上的实际编码用的基础校验矩阵hb’和编码扩展因子z’=434对待编码数据序列(1份3392比特的待编码数据序列)进行编码,获得1份长度都为6784比特的ldpc码块。调制并发送ldpc编码块。

可选地,在本发明实施例、可选实施例中,矩阵列数为nb,矩阵行数为mb,矩阵系统列数为kb=nb-mb。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求为准。

实施例5

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

s1,获取结构化ldpc编码的编码块大小;

s2,至少根据以下参数之一确定编码扩展因子z:编码块大小、基础校验矩阵的参数kb、正整数值p、mb行和nb列的基础校验矩阵;

s3,根据基础校验矩阵和编码扩展因子对待编码数据序列进行编码或者对待译码数据序列进行译码;其中,kb=nb-mb,kb、p、mb、z和nb均是大于1的整数。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的可选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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