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

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

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



背景技术:

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

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

相关技术中的fec编码包括:卷积码、turbo码和低密度奇偶校验(lowdensityparitycheck,ldpc)码。fec编码过程中,对比特数目为k的信息序列进行fec编码获得n比特的fec编码码字(冗余比特为n-k),fec编码码率为k/n。卷积编码可容易地对任意大小的分组进行编码,以及在turbo编码中,通过利用对信息序列进行操作处理的两个编码分量以及可支持不同大小的编码交织方法,可支持不同的信息序列大小。ldpc码是一种可以用非常稀疏的奇偶校验矩阵或者二分图定义的线性分组码,正是利用它的校验矩阵的稀疏性,才能实现低复杂度的编译码,从而使得ldpc走向实用化。经过各种实践和理论证明,ldpc码是在加性高斯白噪声(additivewhitegaussiannoise,awgn)信道下性能最为优良的信道编码,性能非常靠近香农极限。特别是,结构化ldpc码由于具有结构化特征,逐渐成为主流应用,如在ieee802.11ac、ieee802.11ad、ieee802.11aj、ieee802.16e、ieee802.11n、dvb、微波通信以及光纤通信等中获得大量应用。ldpc码的奇偶校验矩阵中,每一行都是一个奇偶校验码,每一行中如果某一索引位置元素值等于1则说明该比特参与到该奇偶校验码中,如果等于0,则说明该位置比特不参与该奇偶校验码。这种结构化ldpc码的奇偶校验矩阵h为m×z行和n×z列的矩阵,它是由m×n个子矩阵构成,每个子矩阵都是大小为z×z的基本置换矩阵的不同幂次,也就是大小为z×z单位阵的循环移位若干值所获得的矩阵。那么,每个子矩阵就可以利用这些循环移位值来表示,即结构化ldpc码的基础校验矩阵,也可以叫做基础矩阵。进而,可以直接采用基础校验矩阵和子矩阵大小z来为确定结构化ldpc码的构造,所述子矩阵大小z也可以叫做扩展因子或者提升值(liftsize),在本发明中主要描述为扩展因子,意思都一致。结构化ldpc码的奇偶校验矩阵有如下的形式:

如果hbij==-1,则有是大小为z×z的全零矩阵;为了从数学上更容易描述单位阵的循环移位,以上所述的结构化ldpc码基础校验矩阵中,在这里定义一个大小z×z的标准置换矩阵p,对单位阵的循环移位即对标准置换矩阵p进行相应大小的幂次,所述的标准置换矩阵p如下所示:

通过这样的幂次hbij就可以唯一标识每一个分块矩阵,如果某一分块矩阵为全0矩阵,矩阵一般用-1来表示或者空值表示;而如果是单位阵的循环移位s获得,则等于s,所以所有hbij可以构成一个基础校验矩阵hb,进而ldpc码的基础校验矩阵hb可以表示如下:

所以,结构化ldpc码完全可以由基础校验矩阵hb和扩展因子z唯一确定。所述基础校验矩阵hb也叫基础矩阵(basematrix)或者原模图(basegraph)等名称。基础校验矩阵包括多个参数:m、n和k,其中,m是基础校验矩阵行数(可以说是基础校验矩阵的校验列数),n基础校验矩阵总列数,而k=n-m是基础校验矩阵的系统列数。

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

则奇偶校验矩阵为:

从以上所述的ldpc码奇偶校验矩阵来看,可以知道,奇偶校验矩阵的第1行等于1的元素索引为[169],说明在该结构化ldpc码中,第1比特、第6比特和第9比特构成一个奇偶校验码;同理,第2行中等于1的索引为[2710],则第2比特、第7比特和第10比特构成一个奇偶校验码;依此类推,可以知道ldpc码其实就是很多歌奇偶校验码堆积起来的码字。而结构化ldpc码,好处在于只要存储基础校验矩阵hb和扩展因子z即可,存储非常简单,以及编码/译码算法中可以利用其分块特性,可以简化算法,如采用分层译码,而每行内比特节点位置都不冲突,可以采用流水线操作,可以减少译码时延和译码复杂度,实现非常简单。

ldpc码在译码时,一般采用分层译码,即采用行并行译码方法,相比于全并行译码可以大大降低迭代次数(约只要一般迭代次数)。如上所述的结构化ldpc码的奇偶校验矩阵有8行(扩展因子z=4,有2行和4列),说明有8个奇偶校验码或者说8个校验方程,在译码时,需要每个奇偶校验码分别译码,如果所有8个奇偶校验码都更新数据完则为一个迭代。而在如果采用分层译码的行或者部分并行中,每次迭代过程中,如并行度为p,即有p个奇偶校验码同时更新,则迭代中当前和下一个p个奇偶校验码运行都是采用同一个更新模块(奇偶校验码更新模块),则译码器的复杂度要低很多,而且分层译码中下一层的数据更新可以采用当前已经更新好的数据,所以需要的迭代次数更低,译码吞吐量要高一些。如以上所示的h,如果并行度为2,则奇偶校验矩阵的每4行(对应于基础校验矩阵的一行)有2个并行度的奇偶校验码同时更新。

虽然采用分层译码可以大为降低译码迭代次数和提高译码速度,但是还是存在一些瓶颈,即需要在基础校验矩阵的行和行更新之间预留等待时间。具体可以描述如下:根据以上所述的分层译码结构中,可以知道,在基础校验矩阵的一行内(对应奇偶校验矩阵的每z=4个奇偶校验码),由于读取的每个比特节点之间都是不重叠的,所以不会存在地址冲突,即可以加入流水线操作以减少译码时延,但是在基础矩阵的行和行之间就会出现地址冲突问题,基础校验矩阵的第1行更新必须等到第0行更新完,因为下一行读取的数可能在上一行中并没有更新,所以需要等待时间;同理下一次迭代,第0行也必须等到第1行更新完才能进行读取数据更新。即,所谓分层译码中是需要等待时间,所述的等待时间会大大限制ldpc码的译码速度和译码吞吐量。

针对相关技术中结构化ldpc码的分层译码器需要等待时间进而会降低译码器的吞吐量问题,目前还没有有效解决方案。



技术实现要素:

本发明实施例提供了一种结构化ldpc码的处理方法及装置,以至少解决相关技术中结构化ldpc码的分层译码器需要等待时间进而会降低译码器的吞吐量问题。

根据本发明的一个实施例,提供了一种结构化ldpc码的处理方法,包括:确定m行n列的基础校验矩阵和扩展因子z,所述基础校验矩阵包括k0个第一类元素和k1个第二类元素,所述第一类元素对应于z×z全零矩阵,所述第二类元素对应于z×z单位阵循环右移对应所述第二类元素的值所获得的矩阵,其中,所述第二类元素包括hcj和hdj,所述hcj和hdj满足关系式mod(hdj-hcj,a)≤b,hcj和hdj是列索引都为j以及行索引分别c和d的元素值,d=mod(c+1,m),c是小于或等于m-1的任意非负整数,j是小于或等于n-1的任意非负整数,所述参数a是z的一个正整数因子,所述参数b是大于或等于0且小于a的整数;

根据所述基础校验矩阵和所述扩展因子z进行结构化低密度奇偶校验ldpc编码或结构化ldpc译码,其中,m是大于0的整数,n是大于m的整数,z是大于0的整数,k0+k1小于或等于m×n。

可选地,所述第一类元素的具体值采用空值表示或者采用-1表示,所述第二类元素的值是大于或等于0并且小于z的整数。

可选地,所述参数a等于扩展因子z除以参数p所获得的整数值,其中,所述参数p是所述结构化ldpc译码中的译码并行度,所述译码并行度为p表征所述结构化ldpc译码中有p个奇偶校验码同时更新,且所述参数p是正整数。

可选地,所述参数p按以下方式之一选取:

根据编码端和译码端的预先约定进行选取;

根据编码端向译码端发送的信令的指示进行选取;

根据译码端向编码端发送的信令的指示进行选取;

根据系统预先定义设置进行选取。

可选地,所述参数b等于所述参数a减去参数c获得的值,其中,所述参数c是小于等于a的正整数。

可选地,所述参数c是所述结构化ldpc译码中任一校验方程的执行时钟数目,其中,所述参数c是小于所述参数a的正整数,所述参数c由系统配置或者系统预先定义。

可选地,所述c为以下之一:

由0到m-1中的所有偶数构成的集合中的元素;

由0到m-1中的所有奇数构成的集合的元素;

由0到m-1中的所有间隔为大于e0小于e1的所有整数构成的集合的元素,其中e0是大于或等于0小于m的任意整数,e1是大于e0小于m的任意整数。

可选地,所述参数a是大于1小于30的一个整数。

可选地,所述参数b等于0。

可选地,确定m行n列的基础校验矩阵包括:对m行n列的源基础校验矩阵执行行重排或者元素值修正确定所述m行n列的基础校验矩阵。

可选地,所述行重排是将所述源基础校验矩阵的所有行索引进行重新排列,和/或,所述元素值修正是将所述源基础校验矩阵的元数值进行修改。

可选地,根据所述基础校验矩阵和所述扩展因子z进行结构化ldpc编码或结构化ldpc译码包括:根据所述基础校验矩阵和扩展因子z对长度为(n-m)×z比特的待编码信源序列进行编码获得长度为n×z比特的ldpc码字序列;根据所述基础校验矩阵和扩展因子z对长度为n×z的待译码数据序列进行译码获得长度为(n-m)×z比特的译码比特序列。

可选地,所述基础校验矩阵有两种码率阈值:r0和r1,其中,r0是大于0小于1的实数,且r1是大于r0小于1的实数;其中,所述码率为r0对应于所述基础校验矩阵中所有行和所有列构成的基础校验矩阵所支持的码率,其中,r0=(n-m)/n;所述码率为r1对应于所述基础校验矩阵中第0-(m2-1)行和第0-(n2-1)列所构成的第一基础校验矩阵所支持的码率,其中,r1=(n2-m2)/n2;其中,m2是大于0的整数,n2是大于m2的整数。

可选地,根据所述基础校验矩阵和所述扩展因子z进行结构化ldpc编码,获得结构化ldpc码序列,包括以下方式之一:

采用所述基础校验矩阵进行码率为r0的结构化ldpc编码获得第二结构化ldpc码比特序列,对所述第二结构化ldpc码比特序列通过扩展方法获得所述结构化ldpc码序列;

采用所述基础校验矩阵中的第0-(m3-1)行和第0-(n3-1)列所构成子基础校验矩阵进行编码获得所述结构化ldpc码序列,其中,m3和n3是大于0的整数,且m3<n3;

采用所述第一基础校验矩阵进行结构化ldpc编码获得第一结构化ldpc码比特序列,所述结构化ldpc码序列是所述第一结构化ldpc码比特序列的一个子集序列。

可选地,所述对所述第二结构化ldpc码比特序列通过扩展方法获得所述结构化ldpc码序列,包括以下方式之一:

所述第二结构化ldpc码比特序列分为多份子序列,从所述多份子序列中选择f组子序列,每组子序列至少包括2份子序列,对每组子序列中所有子序列的对应位置上的比特分别进行二进制相加,获得由f份比特序列构成的第一扩展比特序列,所述第二结构化ldpc码比特序列的一个子集序列和所述第一扩展比特序列的一个子集序列构成所述结构化ldpc码序列,其中,f是大于0的整数;

对第二结构化ldpc码比特序列重复g倍获得第二扩展比特序列,所述第二扩展比特序列的一个子集序列构成所述结构化ldpc码序列,其中,g是大于1的整数;

可选地,所述参数m3和n3满足,(n3-m3)/n3≤r,其中,r是所述结构化ldpc码序列的码率,r是大于0且小于1的实数。

根据本发明的另一个实施例,提供了一种结构化ldpc码的处理装置,包括:确定模块,用于确定m行n列的基础校验矩阵和扩展因子z,所述基础校验矩阵包括k0个第一类元素和k1个第二类元素,所述第一类元素对应于z×z全零矩阵,所述第二类元素对应于z×z单位阵循环右移对应所述第二类元素的值所获得的矩阵,其中,所述第二类元素包括hcj和hdj,所述hcj和hdj满足关系式mod(hdj-hcj,a)≤b,hcj和hdj是列索引都为j以及行索引分别c和d的元素值,d=mod(c+1,m),c是小于或等于m-1的非任意负整数,j是小于或等于n-1的任意非负整数,所述参数a是z的一个正整数因子,所述参数b是大于或等于0且小于a的整数;处理模块,用于根据所述基础校验矩阵和所述扩展因子z进行结构化低密度奇偶校验ldpc编码或结构化ldpc译码,其中,m是大于0的整数,n是大于m的整数,z是大于0的整数,k0+k1小于或等于m×n。

可选地,所述第一类元素的具体值采用空值表示或者采用-1表示,所述第二类元素的值是大于或等于0并且小于z的整数。

可选地,所述参数a等于扩展因子z除以参数p所获得的整数值,其中,所述参数p是所述结构化ldpc译码中的译码并行度,所述译码并行度为p表征所述结构化ldpc译码中有p个奇偶校验码同时更新,且所述参数p是正整数。

可选地,所述参数b等于所述参数a减去参数c获得的值,其中,所述参数c是小于等于a的正整数。

可选地,所述参数c是所述结构化ldpc译码中任一校验方程的执行时钟数目,其中,所述参数c是小于所述参数a的正整数,所述参数c由系统配置或者系统预先定义。

可选地,确定m行n列的基础校验矩阵包括:对m行n列的源基础校验矩阵执行行重排或者元素值修正确定所述m行n列的基础校验矩阵。

可选地,所述行重排是将所述源基础校验矩阵的所有行索引进行重新排列,和/或,所述元素值修正是将所述源基础校验矩阵的元数值进行修改。

可选地,所述处理模块包括:编码单元,用于根据所述基础校验矩阵和扩展因子z对长度为(n-m)×z比特的待编码信源序列进行编码获得长度为n×z比特的ldpc码字序列;译码单元,用于根据所述基础校验矩阵和扩展因子z对长度为n×z的待译码数据序列进行译码获得长度为(n-m)×z比特的译码比特序列。

可选地,所述参数p按以下方式之一选取:

根据编码端和译码端的预先约定进行选取;

根据编码端向译码端发送的信令的指示进行选取;

根据译码端向编码端发送的信令的指示进行选取;

根据系统预先定义设置进行选取。

可选地,所述c为以下之一:

由0到m-1中的所有偶数构成的集合中的元素;

由0到m-1中的所有奇数构成的集合的元素;

由0到m-1中的所有间隔为大于e0小于e1的所有整数构成的集合的元素,其中e0是大于或等于0小于m的任意整数,e1是大于e0小于m的任意整数。

可选地,所述参数a是大于1小于30的一个整数。

可选地,所述参数b等于0。

根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:

确定m行n列的基础校验矩阵和扩展因子z,所述基础校验矩阵包括k0个第一类元素和k1个第二类元素,所述第一类元素对应于z×z全零矩阵,所述第二类元素对应于z×z单位阵循环右移对应所述第二类元素的值所获得的矩阵,其中,所述第二类元素包括hcj和hdj,所述hcj和hdj满足关系式mod(hdj-hcj,a)≤b,hcj和hdj是列索引都为j以及行索引分别c和d的元素值,d=mod(c+1,m),c是小于或等于m-1的任意非负整数,j是小于或等于n-1的任意非负整数,所述参数a是z的一个正整数因子,所述参数b是大于或等于0且小于a的整数;

根据所述基础校验矩阵和所述扩展因子z进行结构化低密度奇偶校验ldpc编码或结构化ldpc译码,其中,m是大于0的整数,n是大于m的整数,z是大于0的整数,k0+k1小于或等于m×n。

通过本发明,由于基础校验矩阵中任一列中相邻的非零方阵元素值存在一定的关系,从而可以使得ldpc码采用分层译码器时,无需等待时间或者减少等待时间,进而可以提高译码器的速度和吞吐量,解决了相关技术中结构化ldpc码的分层译码器需要等待时间进而会降低译码器的吞吐量问题。

附图说明

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

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

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

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

图4是本发明实例1中的ldpc码的编码流程图;

图5是本发明实例1中的ldpc码pipeline译码数据更新结构示意图;

图6是本发明实例1中的ldpc码译码器中的存储软信息示意图;

图7是本发明实例1中的结构化ldpc译码算法中的数据更新过程示意图;

图8是本发明实例3中的结构化ldpc译码算法中的数据更新过程示意图。

具体实施方式

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

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

实施例1

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

步骤s102,确定m行n列的基础校验矩阵和扩展因子z,基础校验矩阵包括k0个第一类元素和k1个第二类元素,第一类元素对应于z×z全零矩阵,第二类元素对应于z×z单位阵循环右移对应第二类元素的值所获得的矩阵,其中,所述第二类元素包括hcj和hdj,所述hcj和hdj满足关系式mod(hdj-hcj,a)≤b,hcj和hdj是列索引都为j以及行索引分别c和d的元素值,d=mod(c+1,m),c是小于或等于m-1的任意非负整数,j是小于或等于n-1的任意非负整数,所述参数a是z的一个正整数因子,所述参数b是大于或等于0且小于a的整数;hcj和hdj可以是第二类元素中的任意两个元素;

步骤s104,根据基础校验矩阵和扩展因子z进行结构化低密度奇偶校验ldpc编码或结构化ldpc译码,其中,m是大于0的整数,n是大于m的整数,z是大于0的整数,k0+k1小于或等于m×n。

通过上述步骤,基础校验矩阵中任一列中相邻的非零方阵元素值存在一定的关系,从而可以使得ldpc码采用分层译码器时,无需等待时间或者减少等待时间,进而可以提高译码器的速度和吞吐量,解决了相关技术中结构化ldpc码的分层译码器需要等待时间进而会降低译码器的吞吐量问题。

可选地,上述步骤的执行主体可以为发送端或接收端的设备,如基站、终端等,但不限于此。

可选的,所述第一类元素的具体值采用空值表示或者采用-1表示,第二类元素的值是大于或等于0并且小于z的整数。

可选的,参数a等于扩展因子z除以参数p所获得的整数值,其中,参数p是结构化ldpc译码中的译码并行度,,所述译码并行度为p表征所述结构化ldpc译码中有p个奇偶校验码同时更新,且所述参数p是正整数,也可以是编码并行度。

所述参数p可以按以下方式来选取:根据编码端和译码端的预先约定进行选取;根据编码端向译码端发送的信令的指示进行选取;根据译码端向编码端发送的信令的指示进行选取;根据系统预先定义设置进行选取。

可选的,参数b等于参数a减去参数c获得的值,其中,参数c是小于等于a的正整数。

可选的,参数c是结构化ldpc译码中任一校验方程的执行时钟数目,其中,参数c是小于参数a的正整数,参数c由系统配置或者系统预先定义。

c的取值集合包括多种,如:

由0到m-1中的所有偶数构成的集合中的元素;

由0到m-1中的所有奇数构成的集合的元素;

由0到m-1中的所有间隔为大于e0小于e1的所有整数构成的集合的元素,其中e0是大于或等于0小于m的任意整数,e1是大于e0小于m的任意整数。

可选的,所述参数a是大于1小于30的一个整数;所述参数b等于0。

可选的,确定m行n列的基础校验矩阵包括以下两种具体的方式:对m行n列的源基础校验矩阵执行行重排或者元素值修正确定m行n列的基础校验矩阵。行重排是将源基础校验矩阵的所有行索引进行重新排列,元素值修正是将源基础校验矩阵的元数值进行修改。

可选的,根据基础校验矩阵和扩展因子z进行结构化ldpc编码或结构化ldpc译码具体包括:

根据基础校验矩阵和扩展因子z对长度为(n-m)×z比特的待编码信源序列进行编码获得长度为n×z比特的ldpc码字序列;

根据基础校验矩阵和扩展因子z对长度为n×z的待译码数据序列进行译码获得长度为(n-m)×z比特的译码比特序列。

可选的,所述基础校验矩阵有两种码率阈值:r0和r1,其中,r0是大于0小于1的实数,且r1是大于r0小于1的实数;其中,所述码率为r0对应于所述基础校验矩阵中所有行和所有列构成的基础校验矩阵所支持的码率,其中,r0=(n-m)/n;所述码率为r1对应于所述基础校验矩阵中第0-(m2-1)行和第0-(n2-1)列所构成的第一基础校验矩阵所支持的码率,其中,r1=(n2-m2)/n2;其中,m2是大于0的整数,n2是大于m2的整数。

可选的,根据所述基础校验矩阵和所述扩展因子z进行结构化ldpc编码,获得结构化ldpc码序列,具体可以为以下几种方式:

采用所述基础校验矩阵进行码率为r0的结构化ldpc编码获得第二结构化ldpc码比特序列,对所述第二结构化ldpc码比特序列通过扩展方法获得所述结构化ldpc码序列;

采用所述基础校验矩阵中的第0-(m3-1)行和第0-(n3-1)列所构成子基础校验矩阵进行编码获得所述结构化ldpc码序列,其中,m3和n3是大于0的整数,且m3<n3;

采用所述第一基础校验矩阵进行结构化ldpc编码获得第一结构化ldpc码比特序列,所述结构化ldpc码序列是所述第一结构化ldpc码比特序列的一个子集序列。

可选的,所述对所述第二结构化ldpc码比特序列通过扩展方法获得所述结构化ldpc码序列,具体可以为以下几种方式:

所述第二结构化ldpc码比特序列分为多份子序列,从所述多份子序列中选择f组子序列,每组子序列至少包括2份子序列,对每组子序列中所有子序列的对应位置上的比特分别进行二进制相加,获得由f份比特序列构成的第一扩展比特序列,所述第二结构化ldpc码比特序列的一个子集序列和所述第一扩展比特序列的一个子集序列构成所述结构化ldpc码序列,其中,f是大于0的整数;

对第二结构化ldpc码比特序列重复g倍获得第二扩展比特序列,所述第二扩展比特序列的一个子集序列构成所述结构化ldpc码序列,其中,g是大于1的整数;

可选的,所述参数m3和n3满足,(n3-m3)/n3≤r,其中,r是所述结构化ldpc码序列的码率,r是大于0且小于1的实数。

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

实施例2

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

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

确定模块20,用于确定m行n列的基础校验矩阵和扩展因子z,基础校验矩阵包括k0个第一类元素和k1个第二类元素,第一类元素对应于z×z全零矩阵,第二类元素对应于z×z单位阵循环右移对应第二类元素的值所获得的矩阵,其中,所述第二类元素包括hcj和hdj,所述hcj和hdj满足关系式mod(hdj-hcj,a)≤b,hcj和hdj是列索引都为j以及行索引分别c和d的元素值,d=mod(c+1,m),c是小于或等于m-1的任意非负整数,j是小于或等于n-1的任意非负整数,所述参数a是z的一个正整数因子,所述参数b是大于或等于0且小于a的整数;

处理模块22,用于根据基础校验矩阵和扩展因子z进行结构化低密度奇偶校验ldpc编码或结构化ldpc译码,其中,m是大于0的整数,n是大于m的整数,z是大于0的整数,k0+k1小于或等于m×n。

可选的,第一类元素的具体值采用空值表示或者采用-1表示;第二类元素的值是大于或等于0并且小于z的整数。

可选的,参数a等于扩展因子z除以参数p所获得的整数值,其中,参数p是结构化ldpc译码中的译码并行度,所述译码并行度为p表征所述结构化ldpc译码中有p个奇偶校验码同时更新,参数p由系统配置或者系统预先定义,也可以是编码并行度。

可选的,参数b等于参数a减去参数c获得的值,其中,参数c是小于等于a的正整数。

可选的,参数c是结构化ldpc译码中任一校验方程的执行时钟数目,其中,参数c是小于参数a的正整数,参数c由系统配置或者系统预先定义。

可选的,本实施例中的所述参数p按以下方式之一选取:

根据编码端和译码端的预先约定进行选取;

根据编码端向译码端发送的信令的指示进行选取;

根据译码端向编码端发送的信令的指示进行选取;

根据系统预先定义设置进行选取。

可选的,所述c的取值可以为以下之一:

由0到m-1中的所有偶数构成的集合中的元素;

由0到m-1中的所有奇数构成的集合的元素;

由0到m-1中的所有间隔为大于e0小于e1的所有整数构成的集合的元素,其中e0是大于或等于0小于m的任意整数,e1是大于e0小于m的任意整数。

可选的,所述参数a是大于1小于30的一个整数。所述参数b等于0。

可选的,所述基础校验矩阵有两种码率阈值:r0和r1,其中,r0是大于0小于1的实数,且r1是大于r0小于1的实数;其中,所述码率为r0对应于所述基础校验矩阵中所有行和所有列构成的基础校验矩阵所支持的码率,其中,r0=(n-m)/n;所述码率为r1对应于所述基础校验矩阵中第0-(m2-1)行和第0-(n2-1)列所构成的第一基础校验矩阵所支持的码率,其中,r1=(n2-m2)/n2;其中,m2是大于0的整数,n2是大于m2的整数。

可选的,根据所述基础校验矩阵和所述扩展因子z进行结构化ldpc编码,获得结构化ldpc码序列,具体可以为以下几种方式:

采用所述基础校验矩阵进行码率为r0的结构化ldpc编码获得第二结构化ldpc码比特序列,对所述第二结构化ldpc码比特序列通过扩展方法获得所述结构化ldpc码序列;

采用所述基础校验矩阵中的第0-(m3-1)行和第0-(n3-1)列所构成子基础校验矩阵进行编码获得所述结构化ldpc码序列,其中,m3和n3是大于0的整数,且m3<n3;

采用所述第一基础校验矩阵进行结构化ldpc编码获得第一结构化ldpc码比特序列,所述结构化ldpc码序列是所述第一结构化ldpc码比特序列的一个子集序列。

可选的,所述对所述第二结构化ldpc码比特序列通过扩展方法获得所述结构化ldpc码序列,具体可以为以下几种方式:

所述第二结构化ldpc码比特序列分为多份子序列,从所述多份子序列中选择f组子序列,每组子序列至少包括2份子序列,对每组子序列中所有子序列的对应位置上的比特分别进行二进制相加,获得由f份比特序列构成的第一扩展比特序列,所述第二结构化ldpc码比特序列的一个子集序列和所述第一扩展比特序列的一个子集序列构成所述结构化ldpc码序列,其中,f是大于0的整数;

对第二结构化ldpc码比特序列重复g倍获得第二扩展比特序列,所述第二扩展比特序列的一个子集序列构成所述结构化ldpc码序列,其中,g是大于1的整数;

可选的,所述参数m3和n3满足,(n3-m3)/n3≤r,其中,r是所述结构化ldpc码序列的码率,r是大于0且小于1的实数。

可选的,确定m行n列的基础校验矩阵包括以下两种具体的方式:对m行n列的源基础校验矩阵执行行重排或者元素值修正确定m行n列的基础校验矩阵。行重排是将源基础校验矩阵的所有行索引进行重新排列,元素值修正是将源基础校验矩阵的元数值进行修改。

图3是根据本发明实施例的结构化ldpc码的处理装置的可选结构框图,如图3所示,该装置除包括图2所示的所有模块外,处理模块22还包括:

编码单元30,用于根据基础校验矩阵和扩展因子z对长度为(n-m)×z比特的待编码信源序列进行编码获得长度为n×z比特的ldpc码字序列;

译码单元32,用于根据基础校验矩阵和扩展因子z对长度为n×z的待译码数据序列进行译码获得长度为(n-m)×z比特的译码比特序列。

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

实施例3

本实施例是根据本发明的可选实施例,用于结合具体的场景对本申请进行详细说明,本实施例包括多个实例:

实例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能使设备电池可以使用多年不断电。

发送端需要传输长度为1800比特的信息比特序列,信道编码码率为3/4,信道编码采用结构化ldpc码。图4是本发明实例1中的ldpc码的编码流程图,如图4所示,具体包括以下步骤:

s300、获取信息比特序列,如获得长度为1800比特的信息比特序列;

s301、确定结构化ldpc编码所使用的m行n列的基础校验矩阵和扩展因子z,所述基础校验矩阵包括k0个第一类元素和k1个第二类元素,所述第一类元素对应于z×z全零矩阵,所述第二类元素对应于z×z单位阵循环右移对应所述第二类元素值所获得的矩阵;其特征在于,所述基础校验矩阵满足:若hcj和hdj都是第二类元素,则mod(hdj-hcj,a)≤b,其中,hcj和hdj分别是第c行和第d行中索引为j的元素值,d=mod(c+1,m),c=0、1、…、m-1,j=0、1,…、n-1,所述参数a是z的一个正整数因子,所述参数b是大于或等于0且小于a的整数,函数mod(x1,x2)表示整数x1除以整数x2所获得的余数;m=3,n=12,z=200,a=10,b=6,k0=3,k1=33。

结构化ldpc编码所使用的m行n列的基础校验矩阵如下,扩展因子z=200。

扩展因子为z=200,参数a=10,参数b=6。从以上的所述的结构化ldpc码的基础校验矩阵中可以看出,满足:若hcj和hdj都是第二类元素,则mod(hdj-hcj,a)≤b,其中,hcj和hdj分别是第c行和第d行中索引为j的元素值,d=mod(c+1,m),c=0、1、…、m-1,j=0、1,…、n-1,也可以描述为任意列中2个相邻第二类元素的第2个元素减去第1个元素所获得的差值对参数a=10求余所获得的余数小于或者等于参数b=6。如以上所述的基础校验矩阵中,第0列为[0144179],2个相邻非零方阵元素为[0144]、[144179]和[1790],其中第第2个元素减去第1个元素所获得的差值分别为144、35和-179,对参数a=10求余所获得的余数为4、5和1,即所计算获得的余数值都小于或者等于参数b=6。所述参数a=10是扩展因子z=200的一个正整数因子,更为具体的,是所述参数a=10等于所述扩展因子z=200除以ldpc译码并行度p=20所获得的整数值,所述ldpc译码并行度p=20。所以相对于以上所述基础校验矩阵来说,译码并行度p=20,则基础校验矩阵一行需要分为10个组校验方程(或者描述为奇偶校验码)同时执行更新,每组校验方程有p=20个校验方程。所述参数b=6,即可以通过所述参数a=10减去参数c所计算获得的数值,其中,一般来说如果参数c是小于等于a=10的正整数,这里将所述参数c定义为ldpc译码器的校验方程执行所需要的时钟数,即在实际ldpc码译码器中每个校验方程所实行的时钟数目,在本实例中,c等于4。以上所述的ldpc码译码器都是采用分层译码结构,即基础校验矩阵的前一行更新的最新结果用于下一行的更新中。由于结构化ldpc码的译码过程中,基础校验矩阵中同一行的变量节点之间是正交的,即相互之间没有影响,所以可以采用流水线方式译码,而行与行之间不一定可以。

而如果按照以上所述方法获得的ldpc基础校验矩阵,有益效果在于:可以使得基础校验矩阵的相邻行之间存在部分正交关系,从而可以使得ldpc码译码器的基础校验矩阵的行与行之间可以采用pipeline译码或者流水线译码方式,从而可以提高译码速度并提高译码器的吞吐量。图5是本发明实例1中的ldpc码pipeline译码数据更新结构示意图,如图5所示的ldpc码流水线方式译码数据更新结构图,采用如上所述的基础校验矩阵和扩展因子z=200,以及所述的译码器参数(并行度p=20,每个校验方程执行所需要的时钟数目为c=4,校验方程可以分为3个步骤读取数据r、处理数据p和写入数据w,如图5(a)所示,404为有p=20个校验方程同时更新,400为读取数据r,401为处理数据p,402为写入数据w);图5(b)是基础校验矩阵的第0行406更新中所需要的10个组校验方程运行时序图,每组之间相差1个时钟,即采用流水线译码方式进行更新,共用同一个rpw处理模块,基础校验矩阵的第1行更新407处理开始,此时可以看出在第0行更新完的是第0-6组校验方程405。如果在下一行407更新时读取的数据是上一行的第6组及以前的更新数据,那么该两行之间就不存在地址冲突问题,即可采用流水线方式(或者pipeline管道式)译码,不需要等到上一行的所有10组校验方程全更新完才能启动。

根据以上所提供的结构化ldpc码的基础校验矩阵和扩展因子z=200,译码并行度为p=20,译码器中,图6是本发明实例1中的ldpc码译码器中的存储软信息示意图,如图6所示,保存ldpc码字的软信息中,包括n=12组长度为扩展因子z=200软信息500,每个扩展因子z=200长度的软信息都会分为10组软信息501,每组软信息有20个软信息502,该20个软信息就是有p=20个校验方程读取的数据,由于其是并行进行译码的,所以该20个软信息需要进行合并成一个比特序列而且存储在同一个地址上的数据。所以一旦读取数据,所述的20个软信息是完全一下能同时读出的。

根据本专利方案设计的结构化ldpc码基础校验矩阵,与图5(b)对应的数据更新顺序,图7是本发明实例1中的结构化ldpc译码算法中的数据更新过程示意图,图7所示的是存储器读取顺序示例,只画出基础校验矩阵的第0列的存储器读取情况,以及只画第0行元素和第1行元素的变化。如图7所示,可以看出,由于第0列的第0个元素为0,所以先更新的比特节点为[0,10,20,30,…,190],其次是[1,11,21,31,…,191],后面依次类推。第0列的第1个元素为144,到第1行更新时最先更新的[144,154,…,4,14,…,134],如图中600,其在上行更新中已经更新完成,此时可以直接利用,所以即使上一行的而其他并行度还在译码,但是此时第1行的数据也可以读取并进行更新处理,不会出现地址冲突问题;然后到第0列的第2行的元素值为179,首先更新的比特节点为[179,189,…,9,19,…169],如图7所示的603,而该组比特节点在在第1行中已经更新了602,所以即使第1行基础校验矩阵没有全部更新完成,但是基础校验矩阵的第2行也可以开始进行更新,也不会出现地址冲突问题;同理,在第2行到第0行之间也可以采用相同的译码结构,不会出现地址冲突问题。同时,在其他列也一样可以采用如上所述的流水线方式进行,这里不再赘述。可以看出,在整个一次迭代译码过程中,都不需要等待时间,从而可以大大节约译码时间,从而可以提高译码吞吐量。

s302、根据所述结构化ldpc码的基础校验矩阵和扩展因子z=200对待编码的信息序列进行编码。由以上所述的对获取的1800比特的待编码的信源序列进行编码,码率为3/4,可以获得长度为2400比特的ldpc码字。

s303、发送所述ldpc编码后的编码块。对长度为2400比特的ldpc码字进行调制成相应星座调制符号,并发送所述的星座调制符号。

实例2

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

接收并解码如实例1结构化ldpc码,具体包括以下步骤:

s400、接收并解调信号。对接收信号进行解调,获得对应结构化ldpc码字的各个比特的软信息,即获得长度为2400的待译码的数据序列。

s401、确定结构化ldpc编码所使用的m行n列的基础校验矩阵和扩展因子z,所述基础校验矩阵包括k0个第一类元素和k1个第二类元素,所述第一类元素对应于z×z全零矩阵,所述第二类元素对应于z×z单位阵循环右移对应所述第二类元素值所获得的矩阵;其特征在于,所述基础校验矩阵满足:若hcj和hdj都是第二类元素,则mod(hdj-hcj,a)≤b,其中,hcj和hdj分别是第c行和第d行中索引为j的元素值,d=mod(c+1,m),c=0、1、…、m-1,j=0、1,…、n-1,所述参数a是z的一个正整数因子,所述参数b是大于或等于0且小于a的整数,函数mod(x1,x2)表示整数x1除以整数x2所获得的余数;m=3,n=12,z=200,a=10,b=6,k0=3,k1=33。

结构化ldpc编码所使用的m行n列的基础校验矩阵如下,扩展因子z=200。

s402、根据所述基础校验矩阵和扩展因子z=200对长度为n×z=2400的待译码数据序列进行译码获得长度为(n-m)×z=1800比特的译码比特序列。根据实例1所述的译码器结构,由于基础校验矩阵具有较特殊的元素关系,采用如实例1所介绍的译码流程和流水线方式进行译码,可以大大提高译码速度和节约译码时间,对于要求低时延和高吞吐量的系统要求非常有利。

s403、根据结构化ldpc码译码的结果,获得长度为1800比特的信息比特。

实例1和实例2中,基础校验矩阵和扩展因子大小在收发两端都是已知。

实例3

在本发明可选实例中提出的方法可以用于第五代移动通信系统或者其他无线及有线通信系统,数据传输方向为基站向移动用户发送数据(下行传输业务数据),或者数据传输方向为移动用户向基站发送数据(上行传输业务数据)。本实例主要是用于接收端,接收码率为,2/3,信源序列的比特数目为120比特,结构化ldpc码字比特长度为60/(2/3)=180比特。

所述接收端译码的步骤,包括:

s600、接收解调出结构化ldpc码字的180个软信息;

s601、确定结构化ldpc编码所使用的m行n列的基础校验矩阵和扩展因子z。设编码发送端采用的扩展因子z=20,m=3,n=9,基础校验矩阵如下:

可以看出,所述结构化ldpc编码所采用的基础校验矩阵包括k0=8个第一类元素和k1=19个第二类元素。所述第一类元素对应于z×z=20×20全零矩阵,在此采用-1表示,也可以采用其他空值表示或者其他负数表示;所述第二类元素对应于z×z=20×20单位阵循环右移对应所述第二类元素值所获得的矩阵,所述第二类元素的具体值是大于或等于0并且小于z的整数,如上所述的基础校验矩阵的第0行第0列的元素值等于0,说明对应于20×20的单位阵,第1行第0列的元素值等于5,则对应的是20×20的单位阵循环右移5位获得的矩阵,其他第二类元素依次类推即可;k0+k1=8+19=27正好等于m×n=3×9=27。

并且依据以上所述的结构化ldpc码的基础校验矩阵,所述基础校验矩阵满足:若hcj和hdj都是第二类元素,则mod(hdj-hcj,a)≤b,其中,hcj和hdj分别是第c行和第d行中索引为j的元素值,d=mod(c+1,m),c=0、1、…、m-1,j=0、1,…、n-1,所述参数a是z的一个正整数因子,a=5,所述参数b是大于或等于0且小于a的整数,b=2,函数mod(x1,x2)表示整数x1除以整数x2所获得的余数;列索引j=0时,c=[012],d=mod(c+1,m)=[120],hdj-hcj=[-5-10-15],可以看到,完全满足mod(hdj-hcj,5)≤2;而在j=1时,只有2个第二类元素,此时只有c=2,d=0,mod(hdj-hcj,5)=mod(0-8,5)=2≤2,也满足条件;其他列也依然满足所述条件,在此不再赘述。

s602、根据所述基础校验矩阵和扩展因子z=20对长度为n×z=9×20=180的待译码数据序列(即以上所述的180个软信息)进行译码获得长度为(n-m)×z=120比特的译码比特序列。根据以上所述的结构化ldpc编码的基础校验矩阵特性,可以采用分层译码操作,而且可以减少译码等待时间并且能采用流水线方式进行,在相同译码并行度下,译码速度大约可以提升30%。假设结构化ldpc码译码器中,每个奇偶校验码更新所需要的译码时间为3个时钟数目,即c=3,所述参数c=3是所述结构化ldpc译码中任一校验方程或者奇偶校验码的执行时钟数目,包括3个过程:读取比特软信息、处理软信息和写入更新的软信息。此时可以看出,以上所述的参数b=2等于所述参数a=5减去参数c=3获得的值,这样操作的有益效果为:可以让译码器完全实现流水线方式进行译码,译码迭代过程中每行时间不需要等待时间就可以进行下一行的更新,吞吐量高。

图8是本发明实例3中的结构化ldpc译码算法中的数据更新过程示意图,如图8所示的示例,译码并行度p=4,即译码中,每次可以同时更新4个奇偶校验码或者校验方程,有p=4个奇偶校验码更新算法或者模块同时在运行;图8示例中,基础执行单元700,包括3个过程:读取比特软信息r、处理软信息p和写入更新的软信息w。由于并行度为p=4,所以基础校验矩阵的每一行包括5个基础执行单元700,如图中所示的编号0、1、2、3和4,图8示例中所示的是第0列中的第0行和第1行元素的操作过程,由于第0列第0行元素为0,所以第0个基础执行单元所读取的比特节点软信息为[051015],如图8中的701,而第1个基础执行单元的比特节点软信息就依次增加1,为[161116],后面的基础执行单元依次增加即可。为了方便理解,可以将所述5个基础执行单元读取的地址命名为word0,word1,word2,word3,word4,所述的所有word都是存在同一个地址空间的,而且是同时存取。在时钟t=5后,如图中的703,由于基础校验矩阵的第0行的所有奇偶校验码的数据已经读取完毕,此时如果基础校验矩阵的下一行需要读取的比特节点地址必须是上一行已经更新完的,否则就需要等待时间;而在本实例中,由于第0列第1行元素为5,对应此时在图中的701中已经在t=4时钟处更新完成,那么说明下一行就可以直接读取数据进行更新,不需要等待时间。从图8示例中,可以看出一个规律,只要基础校验矩阵的下一行读取的比特节点软信息在word0、word1和word2内,则就不要等待时间,所述规律可以描述为:下一行元素值减去上一行元素值对元素5求余小于等于2,就可以满足以上所述要求。同理,在所述的基础校验矩阵中的其他列中,只要存在2个相邻元素都属于第二类元素,那么都会存在所述规律,即整个译码不需要等待时间,根据图8所示的示例,每行更新至少能省下2个时钟,大约能提升29%的译码时间,即译码速度可以提升29%。

将此规律可以进行扩大为:在结构化ldpc码的m行n列的基础校验矩阵中,满足:若hcj和hdj都是第二类元素,则mod(hdj-hcj,a)≤b,其中,hcj和hdj分别是第c行和第d行中索引为j的元素值,d=mod(c+1,m),c=0、1、…、m-1,j=0、1,…、n-1,并且所述参数a等于扩展因子z除以参数p所获得的整数值,所述参数b等于所述参数a减去参数c获得的值,其中,所述参数p是所述结构化ldpc译码中的译码并行度,所述参数c是所述结构化ldpc译码中任一校验方程或者奇偶校验码或者基础执行单元的执行时钟数目。那么结构化ldpc码就可以采用如上所述的流水线方式进行译码,如果基础执行单元的执行时钟数目较多而且扩展因子z较大,那么所获得译码速度提升就更高。

采用以上所述的译码算法结构和流水线方式,对所述接收到的180个软信息进行译码,可以获得长度为(n-m)×z=120比特的译码比特序列。

实例4

在本发明可选实例中提出的方法可以用于第五代移动通信系统或者其他无线及有线通信系统,数据传输方向为基站向移动用户发送数据(下行传输业务数据),或者数据传输方向为移动用户向基站发送数据(上行传输业务数据)。由系统配置或者系统预先定义参数p、扩展因子z和参数c,那么参数a等于扩展因子z除以参数p所获得的整数值,参数b等于所述参数a减去所述参数c获得的值。本实中,发送端需要发送信源序列的比特长度为4000比特,码率为2/3,则接收端接收6000长度的软信息进行解码输出4000比特的译码信息序列。由系统配置或者系统预先定义参数p=25、扩展因子z=500和参数c=8,则可以知道,参数a=z/p=20,参数b=a-c=12。结构化ldpc码的基础校验矩阵的行数为m=4,列数为n=12,所以系统比特长度为(n-m)×z=(12-4)×500=4000,码长为n×z=12×500=6000。

根据结构化ldpc的基础校验矩阵需要满足:若hcj和hdj都是第二类元素,则mod(hdj-hcj,a)≤b,其中,hcj和hdj分别是第c行和第d行中索引为j的元素值,d=mod(c+1,m),c=0、1、…、m-1,j=0、1,…、n-1,所述参数a是z的一个正整数因子,所述参数b是大于或等于0且小于a的整数,函数mod(x1,x2)表示整数x1除以整数x2所获得的余数。可以获得结构化ldpc码的基础校验矩阵如下:

可以看出,所述的基础校验矩阵满足以上条件。对于编码发送端,根据所述基础校验矩阵和扩展因子z=500,可以对如上所述的长度为(n-m)×z=4000比特的待编码信源序列进行结构化ldpc编码获得长度为n×z=6000比特的ldpc码字序列;或者,对于接收译码端,可以根据所述基础校验矩阵和扩展因子z=500对长度为n×z=6000的待译码数据序列进行译码获得长度为(n-m)×z=4000比特的译码比特序列,采用类似实例4所述的流水线译码结构,由于基础校验矩阵的每行之间无需等待时间,所述等待时间为c-1=8-1=7个时钟,所以可以提升译码速度进而可以提高译码吞吐量。

实例5

在本发明可选实例中提出的方法可以用于第五代移动通信系统或者其他无线及有线通信系统,数据传输方向为基站向移动用户发送数据(下行传输业务数据),或者数据传输方向为移动用户向基站发送数据(上行传输业务数据)。由系统配置或者系统预先定义参数p、扩展因子z和参数c,那么参数a等于扩展因子z除以参数p所获得的整数值,参数b等于所述参数a减去所述参数c获得的值。本实例中,发送端需要发送信源序列的比特长度为3000比特,码率为3/4,通过结构化ldpc编码获得长度为4000比特的ldpc码字;则接收端接收2000长度的软信息进行解码输出1500比特的译码信息序列。

确定结构化ldpc编码所使用的m=4行n=16列的基础校验矩阵和扩展因子z=250,所述基础校验矩阵包括k0=6个第一类元素和k1=58个第二类元素,所述第一类元素对应于z×z=250×250全零矩阵,所述第二类元素对应于z×z=250×250单位阵循环右移对应所述第二类元素值所获得的矩阵;还包括:对m=4行n=16列列的源基础校验矩阵执行行重排获得所述结构化ldpc编码所使用的m=4行n=16列的基础校验矩阵,所述重排后获得的基础校验矩阵满足:若hcj和hdj都是第二类元素,则mod(hdj-hcj,a)≤b,其中,hcj和hdj分别是第c行和第d行中索引为j的元素值,d=mod(c+1,m),c=0、1、…、m-1,j=0、1,…、n-1,所述参数a是z的一个正整数因子,所述参数b是大于或等于0且小于a的整数,函数mod(x1,x2)表示整数x1除以整数x2所获得的余数;其中,本实例中所述的参数a=25,即结构化ldpc码译码并行度为p=10;参数b=17,基础执行单元的时钟数目为c=8。源基础校验矩阵如下所述:

经过对源基础校验矩阵进行行重排,其中行重排向量为[0231],即将源基础校验矩阵的第0行放在第0行,第2行放在第1行,第3行放在第2行,第1行放在第3行,从而获得如下所述行重排后的基础校验矩阵:

对于发送编码端,采用以上所述的源基础校验矩阵进行编码,有所述的基础校验矩阵的校验部分是严格下三角结构,编码简单。对于接收译码端,可以采用如上所述的重排后的基础校验矩阵进行译码,由于在结构化ldpc码的译码过程中,可以从基础校验矩阵的任意行开始译码并且以任意顺序进行译码对于译码性能影响不大,所以可以采用重排的基础校验矩阵进行译码,而且重排后的基础校验矩阵满足以上所述的条件,那么可以采用如实例4所述的流水线式译码,可以提高译码速度和译码吞吐量。

实施例4

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

s1,确定m行n列的基础校验矩阵和扩展因子z,基础校验矩阵包括k0个第一类元素和k1个第二类元素,第一类元素对应于z×z全零矩阵,第二类元素对应于z×z单位阵循环右移对应第二类元素的值所获得的矩阵,其中,第二类元素包括hcj和hdj,mod(hdj-hcj,a)≤b,hcj和hdj分别是第c行和第d行中索引为j的元素值,d=mod(c+1,m),c为小于或等于m-1的任意非负整数,j为小于或等于n-1的任意非负整数,参数a是z的一个正整数因子,参数b是大于或等于0且小于a的整数;

s2,根据基础校验矩阵和扩展因子z进行结构化低密度奇偶校验ldpc编码或结构化ldpc译码,其中,m是大于0的整数,n是大于m的整数,z是大于0的整数,k0+k1等于m×n。

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

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行确定m行n列的基础校验矩阵和扩展因子z,基础校验矩阵包括k0个第一类元素和k1个第二类元素,第一类元素对应于z×z全零矩阵,第二类元素对应于z×z单位阵循环右移对应第二类元素的值所获得的矩阵,其中,第二类元素包括hcj和hdj,mod(hdj-hcj,a)≤b,hcj和hdj分别是第c行和第d行中索引为j的元素值,d=mod(c+1,m),c为小于或等于m-1的任意非负整数,j为小于或等于n-1的任意非负整数,参数a是z的一个正整数因子,参数b是大于或等于0且小于a的整数;

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行根据基础校验矩阵和扩展因子z进行结构化低密度奇偶校验ldpc编码或结构化ldpc译码,其中,m是大于0的整数,n是大于m的整数,z是大于0的整数,k0+k1等于m×n。

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

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

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

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