一种LDPC码构造方法及装置
技术领域
本发明涉及通信技术领域,特别涉及一种LDPC码构造方法及装置。
背景技术
随着4G(the 4th Generation mobile communication technology,第四代移动通信技术)进入规模商用阶段,面向未来的第五代移动通信技术5G(5th Generation,第五代)已成为全球研发的热点。确定统一的5G概念,制定全球统一的5G标准,已经成为业界的共同呼声。5G新空口定义了三种典型应用场景,eMBB(enhanced Mobile Broadband,增强型移动带宽),mMTC(massive Machine Type Communications,大连接物联网)and URLLC(Ultra-Reliable and Low Latency Communications,低时延、高可靠通信)。5G的信道纠错编码设计中LDPC码(Low Density Parity Check Code,低密度奇偶校验码)被遴选为eMBB场景数据信道编码方案。
当前5G的LDPC码设计要求采用准循环LDPC码,其校验矩阵H可以表示为如下形式:
其中Ai,j是z×z循环矩阵。
对于准循环LDPC码有多种构造方法,常用为首先构造一个大小为ρ×c的Basematrix B基矩阵B,该矩阵的元素非0即1,B可以表示为如下形式:
然后对该基矩阵B的每个1元素进行扩展为一个z×z循环置换矩阵(CPM:CircularPermutation Matrix),基矩阵的0元素则扩展为一个z×z的全0矩阵,Base matrix B在后来的基于原模图的LDPC构造方式中被称为base graph。802.11n也采用此种方法描述LDPC码的校验矩阵。用Pi表示每个z×z循环置换矩阵,其中矩阵P就是单位阵循环右移动一位得到的矩阵,而i是循环移位标号,即子矩阵的循环系数,例如z=8时,P可以表示为如下形式
因此,每个循环置换矩阵Pi实际上为单位阵I循环右移i次数,循环置换矩循环移位标号i满足0≤i<z,i∈¢。为了获得多种形式的码长,802.11n将循环置换矩阵的大小z分别取值为27,54,81对应3种码长分别是1944、1296、648。
其中,3GPP要求所设计的LDPC码可以支持的信息比特个数最小为40最大为8192,而且对不同的信息比特长度需要支持多种码率,如从最高的R=8/9到最低的R=1/3or 1/5。但是,由上述内容,现有的LDPC是线性分组码每一种信息比特长度与每一种码率都对应一个校验矩阵,所以,会具有较大的存储量。
发明内容
本发明的目的是提供一种LDPC码构造方法及装置,以解决现有的LDPC码为适应不同的信息比特长度和多种码率具有较大存储量的问题。
为达到上述目的,本发明的实施例提供一种低密度奇偶校验码LDPC码构造方法,包括:
获取LDPC码的循环系数集合;
根据所述循环系数集合和待传输数据的信息比特长度,获得与所述待传输数据对应的特定循环系数集合,其中,所述特定循环系数集合中每一元素均小于所述待传输数据对应的扩展因子;
获取对应所有码率的基矩阵;
根据所述基矩阵和所述特定循环系数集合,确定与所述待传输数据对应的待扩展矩阵;
根据所述扩展因子对所述待扩展矩阵进行扩展,得到所述待传输数据的校验矩阵,完成所述LDPC码的构造。
其中,根据所述循环系数集合和待传输数据的信息比特长度,获得与所述待传输数据对应的特定循环系数集合的步骤包括:
根据扩展因子计算公式Z=K/V,计算与所述待传输数据对应的扩展因子,其中,K为所述待传输数据的信息比特长度,Z为扩展因子,V为预设定的系数;
基于所述扩展因子对所述循环系数集合中的各个元素进行求余或缩放处理,得到特定循环系数集合。
其中,根据所述基矩阵和所述特定循环系数集合,确定与所述待传输数据对应的待扩展矩阵的步骤包括:
将所述基矩阵中的0元素替换为预设值,得到目标矩阵;
基于预设方式依次选取所述特定循环系数集合中的第一目标元素替换所述目标矩阵中的第二目标元素;
确定替换后满足预设条件的目标矩阵为待扩展矩阵。
其中,将所述基矩阵中的0元素替换为预设值,得到目标矩阵的步骤包括:
将所述基矩阵中的预定位置的元素替换为对应目标值,除所述预定位置之外其他位置的0元素替换为预设值,得到目标矩阵。
其中,根据所述扩展因子对所述待扩展矩阵进行扩展,得到所述待传输数据的校验矩阵的步骤包括:
获取预先设置的与所述待扩展矩阵中各个元素对应的系数置换矩阵,所述系数置换矩阵为Z*Z矩阵,其中,Z为扩展因子;
基于所述系数置换矩阵替换所述待扩展矩阵中的各个元素,得到所述校验矩阵。
其中,获取对应所有码率的基矩阵的步骤包括:
基于预设搜索算法,以密度进化译码门限为测度,搜索对应所有码率的基矩阵。
为达到上述目的,本发明的实施例还提供了一种LDPC码构造装置,包括:
第一获取模块,用于获取LDPC码的循环系数集合;
第一处理模块,用于根据所述循环系数集合和待传输数据的信息比特长度,获得与所述待传输数据对应的特定循环系数集合,其中,所述特定循环系数集合中每一元素均小于所述待传输数据对应的扩展因子;
第二获取模块,用于获取对应所有码率的基矩阵;
第二处理模块,用于根据所述基矩阵和所述特定循环系数集合,确定与所述待传输数据对应的待扩展矩阵;
第三处理模块,用于根据所述扩展因子对所述待扩展矩阵进行扩展,得到所述待传输数据的校验矩阵,完成所述LDPC码的构造。
其中,所述第一处理模块包括:
第一处理子模块,用于根据扩展因子计算公式Z=K/V,计算与所述待传输数据对应的扩展因子,其中,K为所述待传输数据的信息比特长度,Z为扩展因子,V为预设定的系数;
第二处理子模块,用于基于所述扩展因子对所述循环系数集合中的各个元素进行求余或缩放处理,得到特定循环系数集合。
其中,所述第二处理模块包括:
第三处理子模块,用于将所述基矩阵中的0元素替换为预设值,得到目标矩阵;
第四处理子模块,用于基于预设方式依次选取所述特定循环系数集合中的第一目标元素替换所述目标矩阵中的第二目标元素;
确定子模块,用于确定替换后满足预设条件的目标矩阵为待扩展矩阵。
其中,所述第三处理子模块进一步用于将所述基矩阵中的预定位置的元素替换为对应目标值,除所述预定位置之外其他位置的0元素替换为预设值,得到目标矩阵。
其中,所述第三处理模块包括:
获取子模块,用于获取预先设置的与所述待扩展矩阵中各个元素对应的系数置换矩阵,所述系数置换矩阵为Z*Z矩阵,其中,Z为扩展因子;
第五处理子模块,用于基于所述系数置换矩阵替换所述待扩展矩阵中的各个元素,得到所述校验矩阵。
其中,所述第二获取模块进一步用于基于预设搜索算法,以密度进化译码门限为测度,搜索对应所有码率的基矩阵。
本发明的上述技术方案的有益效果如下:
本发明实施例的LDPC码构造方法,首先,会获取LDPC码的循环系数集合;然后,根据该循环系数集合和待传输数据的信息比特长度,得到与该待传输数据的特定循环系数集合;之后,再获取对应所有码率的基矩阵;进而,由特定循环系数集合和基矩阵,确定出该待传输数据的待扩展矩阵;最终,基于扩展因子对该待扩展矩阵进行扩展,得到所需的校验矩阵,完成LDPC码的构造。这样,由于无需存储每一种信息比特长度与每一种码率对应的校验矩阵,仅需预先存储一LDPC码的循环系数集合,之后依据该循环系数集合确定对应当前待传输数据的校验矩阵,完成LDPC码的构造即可,减少了存储量。
附图说明
图1为本发明实施例的LDPC码构造方法的步骤流程示意图一;
图2为应用本发明实施例的LDPC码构造方法得到的基矩阵示意图;
图3为本发明实施例的LDPC码构造方法的步骤流程示意图二;
图4为应用本发明实施例的LDPC码构造方法得到的待扩展矩阵示意图;
图5为应用本发明实施例的LDPC码构造方法得到的校验矩阵的散点图;
图6为本发明实施例的LDPC码构造方法的仿真应用性能示意图;
图7为本发明实施例的LDPC码构造装置的结构示意图;
图8为本发明实施例的编码器的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的LDPC码为适应不同的信息比特长度和多种码率具有较大存储量的问题,提供了一种LDPC码构造方法,针对不同的信息比特长度和多种码率均可通过循环系数集合来实现LDPC码的构造,降低了存储量。
如图1所示,本发明实施例的一种LDPC码构造方法,包括:
步骤101,获取LDPC码的循环系数集合;
步骤102,根据所述循环系数集合和待传输数据的信息比特长度,获得与所述待传输数据对应的特定循环系数集合,其中,所述特定循环系数集合中每一元素均小于所述待传输数据对应的扩展因子;
步骤103,获取对应所有码率的基矩阵;
步骤104,根据所述基矩阵和所述特定循环系数集合,确定与所述待传输数据对应的待扩展矩阵;
步骤105,根据所述扩展因子对所述待扩展矩阵进行扩展,得到所述待传输数据的校验矩阵,完成所述LDPC码的构造。
按照上述步骤101-步骤105,本发明实施例的LDPC码构造方法,首先,会获取LDPC码的循环系数集合;然后,根据该循环系数集合和待传输数据的信息比特长度,得到与该待传输数据的特定循环系数集合;之后,再获取对应所有码率的基矩阵;进而,由特定循环系数集合和基矩阵,确定出该待传输数据的待扩展矩阵;最终,基于扩展因子对该待扩展矩阵进行扩展,得到所需的校验矩阵,完成LDPC码的构造。这样,由于无需存储每一种信息比特长度与每一种码率对应的校验矩阵,仅需预先存储一LDPC码的循环系数集合,之后依据该循环系数集合确定对应当前待传输数据的校验矩阵,完成LDPC码的构造即可,减少了存储量。
该实施例中,预先存储的LDPC码的循环系数集合,是通过代数方法或几何法构造,如基于有限域构造的LDPC码的循环系数集合。应该知道的是,该实施例的循环系数集合中,各个循环系数i因系统预设阈值z限制,满足0≤i<z。
此外,还应该知道的是,虽然有系统预设阈值z,然而,该循环系数集合中的各个循环系数i可能大于该待传输数据的扩展因子,所以会发生不适用的问题,因此,在步骤101之后,还会对循环系数集合中的各个元素进行修正,如步骤102。其中,步骤102具体包括:
根据扩展因子计算公式Z=K/V,计算与所述待传输数据对应的扩展因子,其中,K为所述待传输数据的信息比特长度,Z为扩展因子,V为预设定的系数;
基于所述扩展因子对所述循环系数集合中的各个元素进行求余或缩放处理,得到特定循环系数集合。
这里,系统已预设定扩展因子的计算系数V,从而,通过扩展因子计算公式Z=K/V,将该待传输数据的信息比特长度K代入后,即可得到该待传输数据的扩展因子Z。然后,基于该扩展因子Z,对步骤101中获取到的循环系数集合中的各个元素进行求余或缩放处理,得到对应该待传输数据的特定循环系数集合,使得该特定循环系数集合每一元素均小于该待传输数据对应的扩展因子Z。其中,预设定的系数V可以是16、32或其他。以V=16为例,当待传输数据的信息比特长度K=1024,其扩展因子Z=K/16=64。
具体的,在上述步骤中,基于扩展因子Z的求余处理得到特定循环系数集合的方式为:以该扩展因子Z作为除数,循环系数集合中的各个元素分别作为被除数进行除法运算,将得到的余数的集合作为该特定循环系数集合。而基于扩展因子Z的缩放处理得到特定循环系数集合的方式为:以系统支持的最大扩展因子Zmax作为除数,循环系数集合中的各个元素分别作为被除数进行除法运算,之后,将各个运算结果乘以该扩展因子Z后得到的最终结果的集合作为该特定循环系数集合。当然,上述的两种方式仅是一种可选方式,由循环系数集合得到对应该待传输数据的特定循环系数集合的方式不限于这两种方式,其他适用的方式也在本发明的保护范围内,在此不再一一列举。
在确定了与该待传输数据对应的特定循环系数集合后,如图1所示,下一步,就要获取对应所有码率的基矩阵,为后续待扩展矩阵的确定做准备。该实施例中,步骤103包括:基于预设搜索算法,以密度进化译码门限为测度,搜索对应所有码率的基矩阵。
这里,提供了构造基矩阵的具体方式,通过预设搜索算法,以密码进化译码门限为测度,搜索对应所有码率的基矩阵。其中,预设搜索算法可为约束树搜索算法等,通过P-EXIT Chart门限计算工具来完成搜索。另外,获取该基矩阵的步骤并不限定于在获得特定循环系数集合之后,也可以在之前来完成,这里不再赘述。如图2所示,为通过该步骤获取到的一基矩阵示例。
而在得到与所述待传输数据对应的特定循环系数集合以及对应所有码率的基矩阵后,即可进行待扩展矩阵的确定,如步骤104。具体的,如图3所示,步骤104包括:
步骤1041,将所述基矩阵中的0元素替换为预设值,得到目标矩阵;
步骤1042,基于预设方式依次选取所述特定循环系数集合中的第一目标元素替换所述目标矩阵中的第二目标元素;
步骤1043,确定替换后满足预设条件的目标矩阵为待扩展矩阵。
这里,确定待扩展矩阵的步骤1041-步骤1043中,首先,会按照0元素对应的预设值,将已获取的基矩阵中的0元素替换为该预设值,得到一目标矩阵;之后,基于预设方式,依次选取出该特定循环系数集合中的第一目标元素,将目标矩阵中的第二目标元素替换为该第一目标元素;最终,将上述替换后满足预设条件的目标矩阵确定为待扩展矩阵。可选的,该预设值为-1。
考虑到该基矩阵的元素往往非0即1,所以,这里,该第二目标元素则为该基矩阵中的1元素。
其中,该预设方式优选为:依据获取的基矩阵每行的目标元素(该目标元素初始值非0)个数,将该特定循环系数集合划分为多个子集,每个子集中元素的个数等于对应行的目标元素个数,每次选取一个子集的所有元素作为第一目标元素,将基矩阵的对应行的目标元素替换,直至基矩阵中的第二目标元素(初始值非0元素)被该第一目标元素替换;又或者仅依据基矩阵的列数,将该特定循环系数集合划分为多个子集,每个子集中元素的个数均等于该基矩阵的列数,每次选取一个子集(如a,b,c,d,e)中对应基矩阵中目标行(如1,-1,1,1,1)的初始值非0元素位的元素(a,c,d,e)作为第一目标元素,去对应替换该目标行的初始值非0元素位的元素(1,1,1,1),得到替换后的目标行(a,-1,c,d,e),直至将该基矩阵中所有行替换完。当然,上述的两种预设方式均为较佳实现方式,而其他方式选取特定循环系数集合中的循环系数替换该基矩阵中元素1的方式也是本发明的保护范围,在此不再一一列举。
在依次替换后,为获取到满足需要的待扩展矩阵,使得最终的校验矩阵能够达到更佳的系统性能,该实施例中预存储了确定待扩展矩阵的预设条件,码字最小距离最大,环分布最优,最优的trapping set特性,复杂度最小,或者特定误码率要求下误码率性能最优等等。所以,在第二目标元素被替换完成后,会基于该预设条件,确定替换后的一满足该预设条件的目标矩阵为待扩展矩阵。如以环分布为测度时,基于环分布最优算法可以为完全遍历优化算法或随机部分优化算法得到该待扩展矩阵。
其中,进一步具体地,步骤1041包括:
将所述基矩阵中的预定位置的元素替换为对应目标值,除所述预定位置之外其他位置的0元素替换为预设值,得到目标矩阵。
这里,首先系统根据对该基矩阵中的预定位置对应设定的目标值,将该预定位置的元素替换为对应目标值后,再将除预定位置之外其他位置的0元素替换为预设值。其中,预定位置对应的子矩阵为双对角矩阵,可设置该子矩阵列重为3的列中,第一个非0元素和第三个非0元素为不等或相等的值,而在第一个非0元素和第三个非0元素设定为不等的值时,能够提供更大的自由度,进而提升校验矩阵的性能。
可选地,该预设位置为基矩阵的第1至3行,17至19列,目标值为
其中,“2”的位置处元素的值不限于“2”,还可以基于上述内容设定为其他数值,在此不再列举。当然,将预设位置设定为目标值后,在下一步,步骤1042中,则无需再对该预设位置的1元素进行替换。如图4所示,为最终得到的一待扩展矩阵示意。
在确定待扩展矩阵后,如图1所示,下一步,如步骤105,就可以根据扩展因子对该待扩展矩阵进行扩展,来得到待传输数据的校验矩阵。这里,步骤105,包括:
获取预先设置的与所述待扩展矩阵中各个元素对应的系数置换矩阵,所述系数置换矩阵为Z*Z矩阵,其中,Z为扩展因子;
基于所述系数置换矩阵替换所述待扩展矩阵中的各个元素,得到所述校验矩阵。
首先,要获取预先设置的与该待扩展矩阵中各个元素对应的系数置换矩阵,当然,该系数置换矩阵是对应该待传输数据的Z*Z矩阵,Z为扩展因子;之后,基于系数置换矩阵替换该待扩展矩阵中的各个元素,如5对应的系数置换矩阵为H5Z*Z,则使用H5Z*Z替换该待扩展矩阵中的所有元素5,直至该待扩展矩阵中所有元素均被替换为对应的系数置换矩阵,即可得到校验矩阵。如图5所示,为根据本发明实施例方法得到的校验矩阵的散点图。
而通过对基于上述方法构造的LDPC码进行仿真,仿真参数为QPSK调制,AWGN信道,译码采用BP译码算法,最大迭代次数为50次,得到如图6所示的符号信噪比Es/N0-块差错率BLER性能示意图,A曲线对应码率R=1/2,B曲线对应码率R=2/3,C曲线对应码率R=3/4,D曲线对应码率R=5/6,E曲线对应码率R=8/9。
综上所述,本发明实施例LDPC码构造方法,首先,会获取LDPC码的循环系数集合;然后,根据该循环系数集合和待传输数据的信息比特长度,得到与该待传输数据的特定循环系数集合;之后,再获取对应所有码率的基矩阵;进而,由特定循环系数集合和基矩阵,确定出该待传输数据的待扩展矩阵;最终,基于扩展因子对该待扩展矩阵进行扩展,得到所需的校验矩阵,完成LDPC码的构造。这样,由于无需存储每一种信息比特长度与每一种码率对应的校验矩阵,仅需预先存储一LDPC码的循环系数集合,之后依据该循环系数集合确定对应当前待传输数据的校验矩阵,完成LDPC码的构造即可,减少了存储量。
如图7所示,本发明的实施例还提供了一种LDPC码构造装置,包括:
第一获取模块701,用于获取LDPC码的循环系数集合;
第一处理模块702,用于根据所述循环系数集合和待传输数据的信息比特长度,获得与所述待传输数据对应的特定循环系数集合,其中,所述特定循环系数集合中每一元素均小于所述待传输数据对应的扩展因子;
第二获取模块703,用于获取对应所有码率的基矩阵;
第二处理模块704,用于根据所述基矩阵和所述特定循环系数集合,确定与所述待传输数据对应的待扩展矩阵;
第三处理模块705,用于根据所述扩展因子对所述待扩展矩阵进行扩展,得到所述待传输数据的校验矩阵,完成所述LDPC码的构造。
其中,所述第一处理模块包括:
第一处理子模块,用于根据扩展因子计算公式Z=K/V,计算与所述待传输数据对应的扩展因子,其中,K为所述待传输数据的信息比特长度,Z为扩展因子,V为预设定的系数;
第二处理子模块,用于基于所述扩展因子对所述循环系数集合中的各个元素进行求余或缩放处理,得到特定循环系数集合。
其中,所述第二处理模块包括:
第三处理子模块,用于将所述基矩阵中的0元素替换为预设值,得到目标矩阵;
第四处理子模块,用于基于预设方式依次选取所述特定循环系数集合中的第一目标元素替换所述目标矩阵中的第二目标元素;
确定子模块,用于确定替换后满足预设条件的目标矩阵为待扩展矩阵。
其中,所述第三处理子模块进一步用于将所述基矩阵中的预定位置的元素替换为对应目标值,除所述预定位置之外其他位置的0元素替换为预设值,得到目标矩阵。
其中,所述第三处理模块包括:
获取子模块,用于获取预先设置的与所述待扩展矩阵中各个元素对应的系数置换矩阵,所述系数置换矩阵为Z*Z矩阵,其中,Z为扩展因子;
第五处理子模块,用于基于所述系数置换矩阵替换所述待扩展矩阵中的各个元素,得到所述校验矩阵。
其中,所述第二获取模块进一步用于基于预设搜索算法,以密度进化译码门限为测度,搜索对应所有码率的基矩阵。
综上,本发明实施例LDPC码构造装置,首先,会获取LDPC码的循环系数集合;然后,根据该循环系数集合和待传输数据的信息比特长度,得到与该待传输数据的特定循环系数集合;之后,再获取对应所有码率的基矩阵;进而,由特定循环系数集合和基矩阵,确定出该待传输数据的待扩展矩阵;最终,基于扩展因子对该待扩展矩阵进行扩展,得到所需的校验矩阵,完成LDPC码的构造。这样,由于无需存储每一种信息比特长度与每一种码率对应的校验矩阵,仅需预先存储一LDPC码的循环系数集合,之后依据该循环系数集合确定对应当前待传输数据的校验矩阵,完成LDPC码的构造即可,减少了存储量。
需要说明的是,该装置是应用了上述LDPC码构造方法的装置,上述LDPC码构造方法的实施例的实现方式适用于该装置,也能达到相同的技术效果。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序(指令),该程序(指令)被处理器执行时实现以下步骤:
获取LDPC码的循环系数集合;
根据所述循环系数集合和待传输数据的信息比特长度,获得与所述待传输数据对应的特定循环系数集合,其中,所述特定循环系数集合中每一元素均小于所述待传输数据对应的扩展因子;
获取对应所有码率的基矩阵;
根据所述基矩阵和所述特定循环系数集合,确定与所述待传输数据对应的待扩展矩阵;
根据所述扩展因子对所述待扩展矩阵进行扩展,得到所述待传输数据的校验矩阵,完成所述LDPC码的构造。
可选地,该程序(指令)被处理器执行时还可以实现以下步骤:
根据扩展因子计算公式Z=K/V,计算与所述待传输数据对应的扩展因子,其中,K为所述待传输数据的信息比特长度,Z为扩展因子,V为预设定的系数;
基于所述扩展因子对所述循环系数集合中的各个元素进行求余或缩放处理,得到特定循环系数集合。
可选地,该程序(指令)被处理器执行时还可以实现以下步骤:
将所述基矩阵中的0元素替换为预设值,得到目标矩阵;
基于预设方式依次选取所述特定循环系数集合中的第一目标元素替换所述目标矩阵中的第二目标元素;
确定替换后满足预设条件的目标矩阵为待扩展矩阵。
可选地,该程序(指令)被处理器执行时还可以实现以下步骤:
将所述基矩阵中的预定位置的元素替换为对应目标值,除所述预定位置之外其他位置的0元素替换为预设值,得到目标矩阵。
可选地,该程序(指令)被处理器执行时还可以实现以下步骤:
获取预先设置的与所述待扩展矩阵中各个元素对应的系数置换矩阵,所述系数置换矩阵为Z*Z矩阵,其中,Z为扩展因子;
基于所述系数置换矩阵替换所述待扩展矩阵中的各个元素,得到所述校验矩阵。
可选地,该程序(指令)被处理器执行时还可以实现以下步骤:
基于预设搜索算法,以密度进化译码门限为测度,搜索对应所有码率的基矩阵。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如图8所示,本发明的实施例还提供了一种编码器,包括:处理器800,用于读取存储器820中的程序,执行下列过程:
获取LDPC码的循环系数集合;
根据所述循环系数集合和待传输数据的信息比特长度,获得与所述待传输数据对应的特定循环系数集合,其中,所述特定循环系数集合中每一元素均小于所述待传输数据对应的扩展因子;
获取对应所有码率的基矩阵;
根据所述基矩阵和所述特定循环系数集合,确定与所述待传输数据对应的待扩展矩阵;
根据所述扩展因子对所述待扩展矩阵进行扩展,得到所述待传输数据的校验矩阵,完成所述LDPC码的构造。
收发机810,用于在处理器800的控制下接收和发送数据。
其中,在图8中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器800代表的一个或多个处理器和存储器820代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机810可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器800负责管理总线架构和通常的处理,存储器820可以存储处理器800在执行操作时所使用的数据。
处理器800还用于根据扩展因子计算公式Z=K/V,计算与所述待传输数据对应的扩展因子,其中,K为所述待传输数据的信息比特长度,Z为扩展因子,V为预设定的系数;基于所述扩展因子对所述循环系数集合中的各个元素进行求余或缩放处理,得到特定循环系数集合。
处理器800还用于将所述基矩阵中的0元素替换为预设值,得到目标矩阵;基于预设方式依次选取所述特定循环系数集合中的第一目标元素替换所述目标矩阵中的第二目标元素;确定替换后满足预设条件的目标矩阵为待扩展矩阵。
处理器800还用于将所述基矩阵中的预定位置的元素替换为对应目标值,除所述预定位置之外其他位置的0元素替换为预设值,得到目标矩阵。
处理器800还用于获取预先设置的与所述待扩展矩阵中各个元素对应的系数置换矩阵,所述系数置换矩阵为Z*Z矩阵,其中,Z为扩展因子;基于所述系数置换矩阵替换所述待扩展矩阵中的各个元素,得到所述校验矩阵。
处理器800还用于基于预设搜索算法,以密度进化译码门限为测度,搜索对应所有码率的基矩阵。
进一步需要说明的是,此说明书中所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。