发明内容
本发明要解决的技术问题是提供一种基于码结构的交叠编码序列的处理方法和装置,以解决现有交叠编码增益不足的问题。
为解决以上技术问题,本发明针对采用生成矩阵编码的线性分组码采用方法一及处理装置一,针对以校验矩阵编码的线性分组码采用方法二及处理装置二,具体方法及处理装置如下:
提供了一种基于码结构的交叠编码序列处理方法一包括:
分析k行生成矩阵的行重分布,将所述生成矩阵的行号按行重从小到大的顺序排列,生成包括k个行号的行号序列;
对各组信息序列进行交叠处理,其中各组信息序列均包括k-m个比特,后m个比特为交叠部分;
分别依次建立各组交叠后的信息序列的各比特与所述行号序列中的各行号对应关系;
将交叠后的各组信息序列的各比特按照对应的行号进行升序排列得到各组交叠编码序列。
为解决以上技术问题,本发明还提供了另一种基于码结构的交叠编码序列处理方法,该方法二包括:
分析校验矩阵的第N-k+1至N列的环密度分布,将该k列的列号按环密度从大到小的顺序排列生成包括k个列号的列号序列;
对各组信息序列进行交叠处理,其中各组信息序列均包括k-m个比特,后m个比特为交叠部分;
分别依次建立各组交叠后的信息序列的各比特与所述列号序列中的各列号对应关系;
将交叠后的各组信息序列的各比特按照对应的列号进行升序排列得到各组交叠编码序列。
为解决以上技术问题,本发明还提供了一种基于码结构的交叠编码序列处理装置一,该装置包括:
行号序列生成模块,用于分析k行生成矩阵的行重分布,按行重从小到大的顺序排列所述生成矩阵的行号,生成包括k个行号的行号序列;
交叠处理模块,用于对各组信息序列进行交叠处理,其中各组信息序列均包括k-m个比特,后m个比特为交叠部分;
对应关系建立模块,用于分别依次建立各组交叠后的信息序列的各比特与所述行号序列中的各行号对应关系;
排序模块,用于将交叠后的各组信息序列的各比特按照对应的行号进行升序排列得到各组交叠编码序列。
为解决以上技术问题,本发明还提供了另一种基于码结构的交叠编码序列处理装置二,该装置包括:
列号序列生成模块,用于分析校验矩阵的第N-k+1至N列的环密度分布,将该k列的列号按环密度从大到小的顺序排列生成包括k个列号的列号序列;
交叠处理模块,用于对各组信息序列进行交叠处理,其中各组信息序列均包括k-m个比特,后m个比特为交叠部分;
对应关系建立模块,用于分别依次建立各组交叠后的信息序列的各比特与所述列号序列中的各列号对应关系;
排序模块,将交叠后的各组信息序列的各比特按照对应的列号进行升序排列得到各组交叠编码序列。
本发明方法和装置针对对线性分组码生成矩阵和校验矩阵的特性对信息序列进行处理,提高了交叠编码的增益。
具体实施方式
本发明针对线性分组码生成矩阵和校验矩阵的特性,提供了基于码结构的交叠编码序列处理的方法和装置。
下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明基于码结构的交叠编码序列处理方法一的实施例的流程如图1所示,该实施例主要是针对基于生成矩阵编码的线性分组码(也称为I类码如Reed-Muller、BCH、RS等),该方法包括:
步骤101:分析k行生成矩阵的各行的行重分布,按行重从小到大的顺序排列所述生成矩阵的行号,生成包括k个行号的行号序列;
针对I类(N,K)码字,确定生成矩阵的行重分布并将行重分布依升序的方式排列,并记录行重分布对应行号序列,一般地,矩阵的行向量中“1”的个数为行重,“1”越多则行重越大。
如图2所示,W1为行重相对较小的行重集合,I1为行重集合W1在生成矩阵所对应的行号序列,其中行号序列I1的数目为K-2m;W2、W3为行重相对较大的行重集合,I2、I3分别为行重集合W1、W2在生成矩阵所对应的行号序列,其中行号序列的数目均为m。I3包括行重最重的m行的行号,I2包括行的行重介于I1与I3之间。
步骤102:对各组信息序列进行交叠处理,其中各组信息序列均包括k-m个比特,后m个比特为交叠部分;
如图3所示,每组信息序列的长度为(K-m),交叠部分为后m位。
若为两路编码,假定两组信息序列分别为M1和M2,信息序列M1表示为(M11|M12),M2表示为(M21|M22),M11、M21的长度为k-2m,M12、M22长度为m。
则M1包括M11和M12,M2包括M21和M22,(K-m)比特的信息序列M1、M2参与交叠比特均为其后m比特,即M1参与交叠的部分为M12,M2参与交叠的部分为M22。具体交叠过程为:将M1的M12比特添加到M2尾部,同时将M2的M22比特添加到M1尾部;得到两个新的信息序列M1’=(M11|M12|M22)、M2’=(M21|M22|M12)。
步骤103:分别依次建立各组交叠后的信息序列的各比特与所述行号序列中的各行号对应关系,即,各组原始的信息序列的k-m个比特分别依次对应所述行号序列的前k-m个的行号,各组信息序列交叠后添加的m个比特分别依次对应所述行号序列的后m个行号;
如图3所示,对于M1’,M11对应码的生成矩阵行号序列I1,M12对应码的生成矩阵的行号序列I2,M22对应码的生成矩阵的行号序列I3;而对于M2’,M21对应于码的生成矩阵行号序列I1,M22对应于码的生成矩阵的行号序列I2,M12对应于码的生成矩阵的行号序列I3。
M1交叠后的信息序列与行号序列的对应关系为(M11、I1)、(M12、I2)、(M22、I3)。同理M2交叠后的信息序列与行号序列的对应关系为(M21,I1)、(M22,I2)、(M12,I3),并依相同方式操作。
两个新的信息序列M1’=(M11|M12|M22)、M2’=(M21|M22|M12)对应的行号序列都为(I1|I2|I3)。
步骤104:将交叠后的各组信息序列的各比特按照对应的行号进行升序排列得到各组交叠编码序列。
重新将行号序列I1、I2、I3中的行号依升序排列,并相应的调整新的信息序列M1’和M2’中各比特的位置,保持其与行号的对应关系不变。。
所述生成矩阵是基于里德-穆勒码(RM码)、博斯-查德胡里-霍昆格姆码(BCH码)或里德-所罗门码(RS码)这类以生成矩阵编码的线性分组码的生成矩阵。
本实施例1的方法适用于两路或多路编码。以下以两路编码为例对本发明方法进行详细说明。
假定k=7m=2,生成矩阵为7×10,假定行重集合W1中的行重值均小于或等于行重集合W2中的任一行重值,行重集合W2中的行重值均小于或等于行重集合W3中的任一行重值,其中对应行重集合W1的行号为:1、3、7,对应行重集合W2的行号为2、5,对应行重集合W3的行号为4、6。
若第一个5比特的信息序列为M1=(m11 m12 m13 m14 m15),第二个5比特的信息序列为M2=(m21 m22 m23 m24 m25),则:
信息序列M1的各比特与行号的对应关系为:
信息序列M2的各比特与行号的对应关系为:
交叠后的信息序列M1’的各比特与行号的对应关系为:
交叠后的信息序列M2’的各比特与行号的对应关系为:
对交叠后的信息序列M1’重排后获得的交叠编码序列为:(m11 m14 m12 m24m15 m25m13);
对交叠后的信息序列M2’重排后获得的交叠编码序列为:(m21 m24 m22m14 m25 m15m23)。
最后,分别对两路编码。
以3GPP中(32,11)RM码为该方案具体应用实例:
3GPP中(32,11)RM码的生成矩阵如下(其中Mi,i∈[0,…,31]为生成矩阵的第i行):
Mn |
比特位i∈[0,…,31] |
M0 |
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |
M1 |
1 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 |
M2 |
0 1 0 1 1 0 1 0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 0 1 1 0 1 1 1 1 1 0 |
M3 |
0 0 1 1 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 |
M4 |
0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 |
M5 |
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 |
M6 |
0 0 1 0 0 1 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 0 0 1 1 0 0 1 1 1 0 |
M7 |
0 0 0 0 1 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 0 1 0 1 1 0 1 0 1 1 0 |
M8 |
0 0 1 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 |
M9 |
0 1 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 0 |
M10 |
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 1 0 |
(1)、确定此RM码的行重分布并按升序排列,且与行号序列对应
(2)信息序列M1、M2与行号序列的对应关系
6比特信息序列M1=(m11 m12 m13 m14 m15 m16)
6比特信息序列M2=(m21 m22 m23 m24 m25 m26)
(3)交叠后,信息序列的M1’、M2’与行号的对应关系
交叠后M1’=(m22 m11 m12 m13 m14 m15 m16 m23 m24 m25 m26)
交叠后M2’=(m12 m21 m22 m23 m24 m25 m26 m13 m14 m15 m16)
以上示例及应用实例中均划分了三个行重集合,但实质上只要整体上按行重从小到大的顺序排列行号即可,相同行重之间的行号顺序并不重要,只要保证交叠后的各路信息序列与行号的对应关系一致即可。
如图4是所示为3GPP中(32,11)RM码基于该方法的性能仿真曲线,可以看出根据本发明实施例1的方案得到的交叠编码序列相比采用现有技术方案得到交叠编码序列的译码产生的增益在10-5为0.2dB。
本发明基于码结构的交叠编码序列处理的方法二的实施例的流程如图5所示,该实施例主要是针对基于校验矩阵编码的码字(也称为II类码如LDPC),该方法包括:
步骤501:分析校验矩阵的第N-k+1至N列的环密度分布,将该k列的列号按环密度从大到小的顺序排列,生成包括k个列号的列号序列;
针对II类(N,K)码字,信息序列编码时对应于其校验矩阵的N-k+1至N列。搜索校验矩阵的第N-k+1至N列的环分布情况(如6环、8环、10环等的大于或等于6的偶数环分布情况),将列按环分布按相对稀疏与相对密集重新排列,并记录排列前每列对应的列号,如图6所示。I1为列上环分布相对密集所对应的列号序列,其列号序列长度为K-2m;I2、I3为列上环分布相对稀疏所对应的列号序列,其列号序列长度分别为m、m。I3包括环密度最小的m列的列号,I2包括列的环密度介于I1与I3之间。
需要说明的是,若不存在环,则认为该列的环密度为0,即认为该列的环分布最稀疏。
步骤502:对各组信息序进行交叠处理,其中各组信息序列均包括k-m个比特,后m个比特为交叠部分;
如图3所示,每组信息序列的长度为(K-m),交叠部分为后m位。
若为两路编码,假定两组信息序列分别为M1和M2,信息序列M1表示为(M11|M12),M2表示为(M21|M22),M11、M21的长度为k-2m,M12、M22长度为m。
则M1包括M11和M12,M2包括M21和M22,(K-m)比特的信息序列M1、M2参与交叠比特均为其后m比特,即M1参与交叠的部分为M12,M2参与交叠的部分为M22。具体交叠过程为:将M1的M12比特添加到M2尾部,同时将M2的M22比特添加到M1尾部;得到两个新的信息序列M1’=(M11|M12|M22)、M2’=(M21|M22|M12)。
步骤503:分别依次建立各组交叠后的信息序列的各比特与所述列号序列中的各列号对应关系,即,各组原始的信息序列的k-m个比特分别依次对应所述列号序列的前k-m个的列号,各组信息序列交叠后添加的m个比特分别依次对应所述列号序列的后m个列号;
如图3所示,对于M1’,M11对应码的校验矩阵列号序列I1,M12对应码的校验矩阵的列号序列I2,M22对应码的校验矩阵的列号序列I3;而对于M2’,M21对应于码的校验矩阵列号序列I1,M22对应于码的校验矩阵的列号序列I2,M12对应于码的校验矩阵的列号序列I3。
M1交叠后的信息序列与列号序列的对应关系为(M11、I1)、(M12、I2)、(M22、I3)。同理M2交叠后的信息序列与列号序列的对应关系为(M21,I1)、(M22,I2)、(M12,I3),并依相同方式操作。
两个新的信息序列M1’=(M11|M12|M22)、M2’=(M21|M22|M12),对应的列号序列都为(I1|I2|I3)。
步骤504:将交叠后的各组信息序列的各比特按照对应的列号进行升序排列得到各组交叠编码序列。
重新将列号序列I1、I2、I3中的列号依升序排列,并相应的调整新的信息序列M1’和M2’中各比特的位置,保持其与列号的对应关系不变。。
所述校验矩阵是基于低密度奇偶校验码(LDPC)的校验矩阵。
本实施例2的方法适用于两路或多路编码。以下以两路编码为例对本发明方法进行详细说明。
假定k=7 m=2,校验矩阵为2×9,假定环密度集合D1中的密度值均大于或等于环密度集合D2中的任一密度值,环密度集合D2中的密度值均大于或等于环密度集合D3中的任一密度值,则需要搜索第3至9列的6环分布情况,其中对应环密度集合D1的列号为:3、5、9,对应环密度集合D2的列号为4、7,对应环密度集合D3的列号为6、8。
若第一个5比特的信息序列为M1=(m11 m12 m13 m14 m15),第二个5比特的信息序列为M2=(m21 m22 m23 m24 m25),则:
信息序列M1的各比特与列号的对应关系为:
信息序列M2的各比特与列号的对应关系为:
交叠后的信息序列M1’的各比特与列号的对应关系为:
交叠后的信息序列M2’的各比特与列号的对应关系为:
对交叠后的信息序列M1’重排后获得的交叠编码序列为:(m11 m14 m12 m24m15 m25m13);
对交叠后的信息序列M2’重排后获得的交叠编码序列为:(m21 m24 m22m14 m25 m15m23)。
最后,分别对两路编码。
以上示例及应用实例中均划分了三个环密度集合,但实质上只要整体上按环密度从大到小的顺序排列列号即可,相同环密度之间的列号顺序并不重要,只要保证交叠后的各路信息序列与列号的对应关系一致即可。
如图7所示,码长为200、度分布为(3,6)的规则LDPC码的性能仿真曲线,可以看出根据本发明实施例2的方案得到的交叠编码序列比采用现有技术方案得到交叠编码序列的译码产生了增益,增益值为0.2dB。
本发明方法根据交叠编码所基于的码的特性对交叠编码序列进行特别处理,提高了交叠编码的译码性能。
对应于以上方法实施例,本发明还提供了一种基于码结构的交叠编码序列处理装置一的实施例,如图8所示,该装置实施例1包括:
行号序列生成模块,用于分析k行生成矩阵的各行的行重分布,按行重从小到大的顺序排列所述生成矩阵的行号,生成包括k个行号的行号序列;
交叠处理模块,用于对各组信息序列进行交叠处理,其中各组信息序列均包括k-m个比特,后m个比特为交叠部分;
对应关系建立模块,用于分别依次建立各组交叠后的信息序列的各比特与所述行号序列中的各行号对应关系;
排序模块,用于将交叠后的各组信息序列的各比特按照对应的行号进行升序排列得到各组交叠编码序列。
所述生成矩阵是基于里德-穆勒码(RM码)、博斯-查德胡里-霍昆格姆码(BCH码)或里德-所罗门码(RS码)这类以生成矩阵编码的线性分组码的生成矩阵。
所述装置适用于两路或多路编码系统。
对应于前述方法实施例,本发明还提供了另一种基于码结构的交叠编码序列处理装置二的实施例,如图9所示,该装置实施例2包括:
列号序列生成模块,用于分析校验矩阵的第N-k+1至N列的环密度分布,将该k列的列号按环密度从大到小的顺序排列,生成包括k个列号的列号序列;
交叠处理模块,对各组信息序列进行交叠处理,其中各组信息序列均包括k-m个比特,后m个比特为交叠部分;
对应关系建立模块,用于分别依次建立各组交叠后的信息序列的各比特与所述列号序列中的各列号对应关系;
排序模块,将交叠后的各组信息序列的各比特按照对应的列号进行升序排列得到各组交叠编码序列。
进一步地,所述校验矩阵是基于低密度奇偶校验码(LDPC码)的校验矩阵。
可选地,所述装置适用于两路或多路编码系统。
可选地,所述环密度的环数是大于或等于6的偶数。
熟悉本技术领域的人员应理解,以上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范围;凡是依本发明作等效变化与修改,都属于本发明的权利要求保护范围。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。