消除6/8/10围线且列重量为3的通信用LDPC码构建方法及其产品与流程

文档序号:18884438发布日期:2019-10-15 20:39阅读:319来源:国知局
消除6/8/10围线且列重量为3的通信用LDPC码构建方法及其产品与流程
本发明属于通信传输信道编码
技术领域
,更具体地,涉及一种消除6/8/10围线且列重量为3的通信用ldpc码构建方法及其产品。
背景技术
:gallager在1963年其博士论文中首次提出低密度校验码(ldpc)码,但-当时并没有受到足够的重视。直到1996年,mackey和neal重新发现在加性高斯白噪声(awgn)信道上,ldpc码是一类逼近香农容量限的好码。2001年,huijin在其博士论文中提出了规则重复累积(ra)码和不规则重复累积(ira)码,并在理论上证明了ra码在awgn信道上逼近了香农限,ira码在删余信道上逼近了香农限。低密度奇偶校验(ldpc)码定义为稀疏奇偶校验矩阵h的零空间,即hct=0,其中h表示奇偶校验矩阵,c表示码字序列,t表示矩阵或矢量的转置。奇偶校验矩阵h=[hdhp]可分解为信息位对应的hd矩阵和校验位对应的hp矩阵。目前,被通信工业标准所采纳的ldpc码的结构分为两类:一类是ieee802系列和5g等多个通信工业标准中使用的qc-ldpc码;另一类是被欧洲第二代数字广播电视标准dvb-s2以及中华人民共和国国家军用标准(gjb7296-2011)等多个通信工业标准中采用的ira-ldpc码。两者均能进行串行线性编码和部分并行线性编码,因此,它们都是硬件可实现的实用ldpc码类。所不同的是:前者qc-ldpc码的主要特点是奇偶校验矩阵由分块子矩阵构成,其hd矩阵和hp矩阵的分块子矩阵是由p×p的置换矩阵和p×p的全零矩阵共同构成,此外,qc-ldpc码已经建立了完整的围线分析模型,能够在围线的充分必要条件约束下,设计性能良好的实用qc-ldpc码;后者ira-ldpc码的主要特点是hd矩阵具有类随机结构,hp矩阵是下双对角线结构的。现有的qc-ldpc码虽然已经建立了完整的围线分析模型,由于qc-ldpc码的移位值矩阵是满元的,使得消除没有10围线的qc-ldpc码仍然是非常困难的。技术实现要素:针对现有技术的以上缺陷或改进需求,本发明提供了一种消除6/8/10围线且列重量为3的通信用ldpc码构建方法,其目的在于构造一类具有m位循环下移结构特征的、列重量为3的、变码率的、规则的稀疏奇偶校验矩阵h,由此构造一类围线至少为12的列重量为3的规则ldpc码,所述ldpc码的性能在码率、围线以及码长的约束条件下,比qc-ldpc码的性能更好。为实现上述目的,本发明提供了一种消除6/8/10围线且列重量为3的通信用ldpc码构建方法,所述方法包括以下步骤:(1)设所述ldpc码的码字长度为n,有效信息长度为k,校验位长度为m,设m和n的公约数为l,m=m/l,n=n/l;构造w×n维的数对阵列p,数对阵列p中的元素是由两个参数ui,j和vi,j构成的数对(ui,j,vi,j)组成:数对阵列p中的结构参数v满足下列约束条件:a、p中任意一列的参数v互不相等;b、p中任意两列最多只有一对相等的参数v;c、p中任意一个参数v出现的次数必须等于h矩阵的行重;(2)利用平衡不完全分组设计bibd(x,y,μ,ρ,λ)设计数对阵列p中的参数v;(3)根据数对阵列p中的围线分析方法,将6/8/10围线全部枚举出来;(4)将枚举出的6/8/10围线作为参数u的约束条件,进行参数u的搜索;将所得参数v和参数u代入数对阵列p;(5)根据数对阵列p中的元素设计得到基矩阵b;基矩阵b经过垂直扩展成为抽取矩阵hb;抽取矩阵hb进过水平扩展构成h矩阵;由h矩阵唯一确定ldpc码。进一步地,所述步骤(2)具体为:bibd(x,y,μ,ρ,λ)的5个参数与v参数集在数对阵列p中的分布存在如下对应关系:x对应v参数集的规模m;y对应数对阵列p的列数n;μ对应数对阵列p的行数w=3;ρ对应每个v参数在阵列数对p中出现的次数,也是h矩阵的行重;λ对应步骤(1)中所述约束条件a和b;数对阵列p用组合代数的平衡不完全分组设计bibd(m,n,ρ,3,1)完全确定;得到v参数确定的hv矩阵。进一步地,所述步骤(3)中围线分析方法具体包括以下步骤:(31)在数对阵列p的任意一列均不存在相同v参数的约束条件下,p中的4围线一定出现在两列上,且所述两列的每一列分别提供两个v参数;两条垂线一共连接四个v参数,若四个v参数出现两对相等的,则在数对阵列p一定存在由所述四个v参数构成的4围线;若p中任意两列的四个v参数和形成两条垂线,每一条垂线连接两个v参数;在任意一列j0上确定任意一个v参数,如用表示;与余下的一列j1最多可形成两个相等的v参数对,如由此可得:在数对阵列p的任意两列中最多存在2种不同结构的4围线;(32)在数对阵列p的任意一列均不存在相同v参数的约束条件下,p中的6围线一定出现在三列上,且所述三列的每一列分别提供两个v参数;三条垂线一共连接六个v参数,若六个v参数出现三对相等的,不存在三个相等的v参数,则在数对阵列p一定存在由所述六个v参数构成的6围线;若p中任意三列的六个v参数和形成三条垂线,每一条垂线连接两个v参数;在任意一列j0上确定任意一个v参数,如用表示;与余下的另外两列j1和j2最多可形成四个相等的v参数对,如或若确定其中的一对v参数对,如是确定的,在所述两个v参数和上画一根横跨线,必出现在另一条垂线j1上,并连接一个新的v参数与最后一列j2最多可形成两个相等的v参数对,如和由此可得:在数对阵列p的任意三列中最多存在4×2=8种不同结构的6围线;(33)在数对阵列p的任意一列均不存在相同v参数和数对阵列p中任意两列不超过一对相等的参数v的约束条件下,p中的8围线一定出现在四列上,且所述四列的每一列分别提供两个v参数;四条垂线一共连接八个v参数,若八个v参数出现四对相等的,不存在三个相等的v参数,则在数对阵列p一定存在由所述八个v参数构成的8围线;若p中任意四列的八个v参数和形成四条垂线,每一条垂线连接两个v参数;在任意一列j0上确定任意一个v参数,如用表示;与余下的另外三列j1、j2和j3最多可形成六个相等的v参数对,如和若确定其中的一对v参数对,如是确定的,在所述两个v参数和上画一根横跨线,必出现在另一条垂线j1上,并连接一个新的v参数与剩余两列j2和j3最多可形成四个相等的v参数对,如和若是确定的,在所述两个v参数和画一根横跨线,必出现在另一条垂线j2上,并连接一个新的v参数与最后一列j3最多可形成两个相等的v参数,如和由此可得:在数对阵列p的任意四列中最多存在6×4×2=48种不同结构的八围线;(34)在数对阵列p的任意一列均不存在相同v参数和数对阵列p中任意两列不超过一对相等的参数v的约束条件下,p中的10围线一定出现在五列上,且所述五列的每一列分别提供两个v参数;五条垂线一共连接十个v参数,若十个v参数出现五对相等的,不存在三个相等的v参数,则在数对阵列p一定存在由所述十个v参数构成的10围线;若p中任意五列的十个v参数和形成五条垂线,每一条垂线连接两个v参数;在任意一列j0上确定任意一个v参数,如用表示;与余下的另外四列j1、j2、j3和j4最多可形成八个相等的v参数对,若确定其中的一对v参数对,如是确定的,在所述两个v参数和上画一根横跨线,必出现在另一条垂线j1上,并连接一个新的v参数与剩余三列j2、j3和j4最多可形成六个相等的v参数对,若是确定的,在所述两个v参数和画一根横跨线,必出现在另一条垂线j2上,并连接一个新的v参数与剩余两列j3和j4最多可形成四个相等的v参数,如是确定的,在所述两个v参数和上画一根横跨线,必出现在另一条垂线j3上,并连接一个新的v参数与最后一列j4最多可形成两个相等的v参数;由此可得:在数对阵列p的任意四列中最多存在8×6×4×2=384种不同结构的10围线。进一步地,所述步骤(3)中将6/8/10围线全部枚举出来具体为:数对阵列p中的6围线是由六个数对形成的闭合路径,根据v参数先画横跨线后画垂直线而出现的先后次序,六个数对排列如下:在六个数对中,画横跨线的u参数做减法,画垂直线的u参数做加法,六个u参数写成如下不等式:假设数对阵列p中有a0个六围线,有a0个如(1)所示的不等式,满足a0个不等式的所有u参数将消除在数对阵列p中的a0个6围线,即p中不包含6围线;在上述消除6围线的数对阵列p中,8围线是由八个数对形成的闭合路径,根据v参数先画横跨线后画垂直线而出现的先后次序,八个数对排列如下:在8个数对中,画横跨线的u参数做减法,画垂直线的u参数做加法,八个u参数写成如下不等式:假设数对阵列p中有a1个八围线,有a1个如(2)所示的不等式,满足a1个不等式的所有u参数将消除在数对阵列p中的a1个8围线,即p中不包含8围线;在上述消除8围线的数对阵列p中,10围线是由十个数对形成的闭合路径,据v参数先画横跨线后画垂直线而出现的先后次序,十个数对排列如下:在10个数对中,画横跨线的u参数做减法,画垂直线的u参数做加法,十个u参数写成如下不等式:假设数对阵列p中有a2个八围线,有a2个如(3)所示的不等式,满足a2个不等式的所有u参数将消除在数对阵列p中的a2个10围线,即p中不包含10围线。进一步地,所述步骤(4)具体包括:(41)从矩阵hu的前3列开始,从[0,l-1]中任意取九个值,放置在hu的前三列中,统计在hu的前三列由v参数所确定的6围线的数量,假设在数对阵列p中统计出d0个6围线,在hu的前三列得到d0个6元素u参数集合,验证d0个不同集合中每一个6元素u参数集是否满足(1)式,若d0个6元素u参数集均满足(1)式,则前三列不包含6围线,若其中有一个6元素u参数集不满足(1)式,则修改6个值中的一个值,从新验证d0个6元素u参数集是否均满足(1)式,直到d0个6元u参数集均满足,则进入步骤(42);其中,矩阵hu为数对阵列p中u参数矩阵:(42)新增加一列,从[0,l-1]中任意取三个值放在hu的第4列,分别统计在hu的前四列由v参数所确定的6围线和8围线的数量,假设在数对阵列p的前4列中,分别统计出由v参数所确定的d1个6围线和d2个8围线,在hu的前四列得到d1个6元素u参数集和d2个8元素u参数集,验证d1个不同集合的每一个中6个u参数是否满足(1)式,验证d2个不同集合的每一个中8个u参数是否满足(2)式,若均满足,则hu的前四列不包含6围线和8围线;若d1个6元素u参数集合中有一个不满足(1)式或者d2个8元素u参数集合中有一个不满足(2),则重新从[0,l-1]中选择一个值,替换不满足6元集合或8元集合的一个值,重新进行(1)式和(2)式的验证,直到满足(1)和(2)式,则进入步骤(43);(43)再新增加一列,从[0,l-1]中任意取三个值放在hu的第5列,分别统计在hu的前五列由v参数所确定的6围线、8围线和10围线的数量,假设在数对阵列p的前5列中,分别统计出由v参数所确定的d3个6围线、d4个8围线和d5个10围线,在hu的前五列得到d3个6元u参数集、d4个8元u参数集和d5个10元u参数集,分别验证d3个6元u参数集、d4个8元u参数集和d5个10元u参数集是否满足(1)、(2)和(3)式,若均满足,则hu的前五列不包含6围线、8围线和10围线;若d3个6元u参数集、d4个8元u参数集和d5个10元u参数集中至少有一个不满足(1)、(2)或(3)式,则重新从[0,l-1]中选择一个值,替换不满足6元集合、8元集合或10元集中的一个值,重新进行(1)、(2)和(3)式的验证,直到均满足(1)、(2)和(3)式,则进入步骤(44);(44)重复(41)、(42)和(43)的搜索过程,直到hu矩阵的最后一列,每增加新的一列,均需要在数对阵列p中统计所有由v参数所确定的6围线、8围线和10围线的数量,获得在hu矩阵中的6元u参数集、8元u参数集和10元u参数集的数量,验证每个6元u参数集、8元u参数集和10元u参数集是否满足(1)、(2)和(3)式,若全部满足,则h矩阵没有10围线;若在区间[0,l-1]的l个参数的每一个均在hu矩阵中出现ρ次,在3×n的hu矩阵中(1)式仍然不能被满足,则表明h矩阵包含6围线;若(1)式满足,(2)式不满足,则h矩阵包含8围线;若(1)和(2)式满足,(3)式不满足,则h矩阵包含10围线。进一步地,所述步骤(4)还包括:(45)若在确定l值的情况下,无法搜索得到消除六围线、八围线和十围线的3×n的hu矩阵,则将l值增大;定义step为l值每一次增大的值,再更新l=l+step值,重复步骤(41)、(42)、(43)和(44)的搜索过程。进一步地,所述步骤(5)中根据数对阵列p中的元素设计得到基矩阵b具体为:构造l×n维的基矩阵b,b中的元素表示为bl,j∈{-1,0,1,…,m-1};当bl,j=-1时,表示bl,j用m维全零矢量取代;当bl,j≠-1时,表示bl,j用m维单位列矢量来取代,且所述单位列矢量所包含的唯一的1元素位于值为bl,j的坐标位置上;先初始化基矩阵b中的元素bl,j=-1,表示通过基矩阵b垂直扩展和水平扩展得到的h矩阵是全零矩阵;再根据构造的数对阵列p中的元素来设计基矩阵b中bl,j≠-1的值;数对(ui,j,vi,j)中的参数ui,j表示基矩阵b中第j列第i个不为‘-1’的元素的行坐标,参数vi,j表示基矩阵b中第j列第i个不为‘-1’的元素值;数对阵列p的行数为w,表示经过数对阵列p映射得到的基矩阵b中每一列有w个不为‘-1’的元素,也表示b经垂直扩展和水平扩展得到的h矩阵的列重量为w。进一步地,所述步骤(5)中基矩阵b经过垂直扩展成为抽取矩阵hb具体为:将l×n的基矩阵b中的每一列元素bl,j用m维全零矢量或者是m维单位列矢量取代;具体操作为:当bl,j=-1时,用m维的全零矢量替换bl,j;当bl,j≠-1时,用‘1’元素位置为bl,j的m维单位列矢量替换bl,j;由此将基矩阵b垂直扩展成m×n维的第一列抽取矩阵hb,hb矩阵的列重量等于w。进一步地,所述步骤(5)中抽取矩阵hb进过水平扩展构成h矩阵具体为:将m×n的第一列抽取矩阵hb的n个列矢量分别经过l-1次的m位循环下移操作,得到n个m×l的子矩阵h0h1…hj…hn-2hn-1;n个子矩阵hj构成m×n的h矩阵。进一步地,由权利要求1-8任一项所述设计方法所构造。总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:(1)本发明方法由于采用了数对阵列p构造奇偶校验矩阵h,该方法只需设计较小尺寸的数对阵列p而不需设计尺寸非常大的奇偶校验矩阵h,并且本发明在数对阵列p中提出围线产生方法,使得构造消除6/8/10围线的数对阵列p有了理论指导,因此由数对阵列p构造奇偶校验矩阵h也消除了6/8/10围线;奇偶校验矩阵h围线越大性能更好,由本发明方法得到的列重量为3的规则ldpc码的奇偶校验矩阵h中‘1’元素的分布更加稀疏,且奇偶校验矩阵h具有循环下移结构,在实际的实现中可以减少硬件存储奇偶校验矩阵h的空间,仿真发现,在相等码率、码长和围线的条件下,本发明构造的规则ldpc码比qc-ldpc码性能优异;(2)本发明方法由于采用了bibd(m,n,ρ,3,1)来设计数对阵列p中的参数v,该方法是属于数学工具,bibd(m,n,ρ,3,1)只要修改不同的参数m,n,ρ就可以得到不同码率的列重为3的规则ldpc码且对于利用确定的参数m,n,ρ只需修改参数l就可以得到不同码长、相同码率的直接就可以得到列重为3的规则ldpc码,使得设计列重为3,不同码长、不同码率的规则ldpc码变得灵活;(3)本发明设计了一种数对阵列p中的围线分析方法,该方法使得在确定参数v的数对阵列p中由参数v构成的6/8/10围线的数目和在数对阵列p中的具体位置可以枚举出来,使得对于利用确定参数m,n,ρ的bibd(m,n,ρ,3,1)来设计数对阵列p中的参数v时,数对阵列p中的6/8/10围线的数目是一定的,这样就可以在存在6/8/10围线的数对阵列p中去设计参数u,从而得到消除6/8/10围线的数对阵列p。附图说明图1是本发明方法的总体流程图;图2是为数对阵列p中非交叉横跨线的4围线结构示意图;图3是为数对阵列p中有交叉横跨线的4围线结构示意图;图4是为数对阵列p中非交叉横跨线的6围线结构示意图;图5是为数对阵列p中有交叉横跨线的6围线结构示意图;图6是为数对阵列p中非交叉横跨线的8围线结构示意图;图7是为数对阵列p中有交叉横跨线的8围线结构示意图;图8是为数对阵列p中非交叉横跨线的10围线结构示意图;图9是为数对阵列p中有交叉横跨线的10围线结构示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。首先对ldpc码的一些基本概念进行说明:第一列抽取矩阵hb:假设ldpc码的码字长度为n,有效信息长度为k,校验位长度为m,规定m和n的公约数为l,且有m=m/l,n=n/l。规定ldpc码的奇偶校验矩阵h是规则的,其列重量用w表示,本发明只涉及w=3的h矩阵框架结构。将m×n维的h矩阵按列分块,得到n=n/l个m×l的子矩阵,因此h矩阵可以表示为h=[h0h1…hj…hn-2hn-1],其中每个子矩阵hj的尺寸是m×l,子矩阵的索引为j∈{0,1,2,…n-1}。规定每个子矩阵hj的元素排列具有下列规则:hj矩阵的任意一列都是其前面(左边)一列循环下移m位得到。因此,设计具有m循环下移的h矩阵,只需设计它的每一个子矩阵hj的第一列即可。将子矩阵hj中的第一列抽取出来形成m×n的第一列抽取矩阵,表示为hb,即其中,j∈{0,1,2,…n-1},表示子矩阵hj中的第一列的m长列矢量。基矩阵b:将第一列抽取矩阵hb中的每一列按行划分,划分为l=m/m段,每一段的长度是m,称为m维列矢量,规定每一列中的l个m维列矢量是全零矢量或者是单位列矢量。设bl,j表示单位列矢量中1元素的位置坐标。由此,m×n的第一列抽取矩阵hb可用下列l×n的基矩阵b来等效表示:其中,bl,j∈{-1,0,1,2,…,m-1},l∈{0,1,2,…,l-1},j∈{0,1,2,…,n-1}。bl,j表示基矩阵b中第l行第j列的元素,bl,j=-1表示m维列矢量是全零零矢量,bl,j≠-1表示m维列矢量是‘1’元素位置为bl,j的单位列矢量。列重为w=3的l×n基矩阵b的结构特征:α、在h矩阵的列重w=3时,基矩阵b中任意一列不为‘-1’的元素的个数为3,表明列重量w远小于基矩阵b的行数l。β、在基矩阵b中任意一个bl,j≠-1元素出现的次数等于h矩阵的行重。垂直扩展:设计l×n的基矩阵b就是设计它的每一个元素bl,j的取值,bl,j在集合{-1,0,1,2,…,m-1}中取值。如果bl,j=-1,则用m维全零矢量替换bl,j;如果bl,j从集合{0,1,2,…,m-1}中取值,可以形成一个m维单位列矢量,这个列矢量的第bl,j个位置上是“1”元素,则用这个m维的单位列矢量替换对应的bl,j。由此,l×n基矩阵b被转换成m×n的第一列抽取矩阵hb,从基矩阵b到第一列抽取矩阵hb的转换操作称为垂直扩展。水平扩展:将垂直扩展得到的m×n的第一列抽取矩阵hb进行如下操作:对hb矩阵的所有列分别进行循环下移m位操作,并且均进行l-1次循环下移m位操作,以至于hb矩阵的每一个列矢量均形成一个m×l的子矩阵hj,n个m×l维的子矩阵hj构成m×n的h矩阵。从m×n维的hb矩阵到m×n维的h矩阵的循环下移变化称为对hb矩阵的水平扩展。ldpc码的围线:在ldpc码对应的tanner图中,长度2q的环定义为一条交替连接q个变量节点与q个校验节点的闭合路径,且路径中每一条边只经历一次或每一个节点只经历一次。ldpc码的围线定义为tanner图中任意最短闭合路径的长度。已知ldpc码的tanner图与ldpc码的校验矩阵一一对应。根据tanner图中长度2q的环和围线的定义,同样可以在tanner图对应的奇偶校验矩阵中定义长度2q的环和围线。长度2q的环必定是由奇偶校验矩阵中2q个‘1’元素依次连线所形成的闭合路径,沿着环的路径每个“1”元素只经历一次,每经历一个“1”元素,路径的线段转折一次。ldpc码的围线是奇偶校验矩阵中偶数个1元素构成的最短环。通常ldpc码奇偶校验矩阵中的任意长度2q环必定包含q条垂直线。平衡不完全分组设计(bibd):平衡不完全分组设计(bibd)定义:平衡不完全分组设计(bibd)是一个数对(x,y),其中x是包含x个元素的集合,y是包含y个分组的集合,并且y集合中每个分组的长度是ρ,每个分组的元素由x中元素构成,要求满足:1、集合x中每一个元素恰好在集合y中的μ个分组中出现;2、集合x中的任意一对元素恰好出现在集合y中的λ个分组中;则称数对(x,y)是一个平衡不完全分组设计,用bibd(x,y,ρ,μ,λ)表示。bibd(x,y,ρ,μ,λ)的参数满足xμ=yρ和μ(ρ-1)=λ(x-1)。当λ=1时,bibd(x,y,ρ,μ,λ)表示为bibd(x,y,ρ,μ,1)。结合附图1对本发明方法进行概括,本发明方法包括以下步骤:(1)设所述ldpc码的码字长度为n,有效信息长度为k,校验位长度为m,设m和n的公约数为l,m=m/l,n=n/l;构造w×n维的数对阵列p,数对阵列p中的元素是由两个参数ui,j和vi,j构成的数对(ui,j,vi,j)组成:数对阵列p中的结构参数v满足下列约束条件:a、p中任意一列的参数v互不相等;b、p中任意两列最多只有一对相等的参数v;c、p中任意一个参数v出现的次数必须等于h矩阵的行重;(2)利用平衡不完全分组设计bibd(x,y,μ,ρ,λ)设计数对阵列p中的参数v;(3)根据数对阵列p中的围线产生方法,将6/8/10围线全部枚举出来;(4)将枚举出的6/8/10围线作为参数u的约束条件,进行参数u的搜索;将所得参数v和参数u代入数对阵列p;(5)根据数对阵列p中的元素设计得到基矩阵b;基矩阵b经过垂直扩展成为抽取矩阵hb;抽取矩阵hb进过水平扩展构成h矩阵;由h矩阵唯一确定ldpc码。现从本发明一种消除6/8/10围线且列重量为3的规则ldpc码中h矩阵框架结构的设计、围线分析方法和数对阵列p构造方法来对本发明进行进一步的说明:h矩阵框架结构的设计包括以下几步:1.1)设计数对阵列p,构造w×n维的数对阵列p,其中w=3是m×n维h矩阵的列重量,n=n/l。数对阵列p中的元素是由两个参数ui,j和vi,j构成的数对(ui,j,vi,j)组成。其中,ui,j∈{0,1,0,…l-1}给出了一个u参数集合,vi,j∈{0,1,2,…m-1}给出了一个v参数集合,i=0,1,...,w-1,j=0,1,...,n-1。规定阵列p的每一列中数对(ui,j,vi,j)的第一个参数ui,j互不相等,这是很容易满足的条件,因为l远远大于w,而ui,j在0到l-1之间取值,且每列只有w个ui,j。规定阵列p的每一列中数对(ui,j,vi,j)的第二个参数vi,j互不相等。数对阵列p与h矩阵参数的对应关系:列重量:在阵列p的每一列中,数对的个数等于h矩阵的列重量;行重量:在阵列p的每一个数对中,第二个参数vi,j相同的个数等于h矩阵的行重量。码率:基于数对阵列p构成的ldpc码的码率为注意:n是阵列p的列数。1.2)设计基矩阵b,构造l×n维的基矩阵b,b中的元素表示为bl,j∈{-1,0,1,…,m-1}。当bl,j=-1时,表示bl,j可以用m维全零矢量取代;当bl,j≠-1时,表示bl,j可以用m维单位列矢量来取代,且这个单位列矢量所包含的唯一的1元素位于值为bl,j的坐标位置上。先初始化基矩阵b中的元素bl,j=-1,表示通过基矩阵b垂直扩展和水平扩展得到的h矩阵是全零矩阵。然后根据构造的数对阵列p中的元素来设计基矩阵b中bl,j≠-1的值。数对(ui,j,vi,j)中的参数ui,j表示基矩阵b中第j列第i个不为‘-1’的元素的行坐标,数对(ui,j,vi,j)中的参数vi,j表示基矩阵b中第j列第i个不为‘-1’的元素值。数对阵列p的行数为w,表示经过数对阵列p映射得到的基矩阵b中每一列有w个不为‘-1’的元素,也表示b经垂直扩展和水平扩展得到的h矩阵的列重量为w。1.3)构建第一列抽取矩阵hb。将l×n的基矩阵b中的每一列元素bl,j用m维全零矢量或者是m维单位列矢量取代。具体操作为:当bl,j=-1时,用m维的全零矢量替换bl,j;当bl,j≠-1时,用‘1’元素位置为bl,j的m维单位列矢量替换bl,j。由此,将基矩阵b垂直扩展成m×n维的第一列抽取矩阵hb,hb矩阵的列重量等于w。1.4)构建h矩阵,将m×n的第一列抽取矩阵hb的n个列矢量分别经过l-1次的m位循环下移操作,得到n个m×l的子矩阵h0h1…hj…hn-2hn-1。n个子矩阵hj构成m×n的h矩阵。围线分析方法包括以下步骤:2.1)数对阵列p中的围线产生方法。ldpc码中长度为2q的环必定是由奇偶校验矩阵h中2q个‘1’元素出现的先后次序依次连线所形成的闭合路径。ldpc码奇偶校验矩阵的最围线定义为围线,如果一个h矩阵的最围线是2q,那么由此h矩阵定义的规则ldpc码具有围线2q。受qc-ldpc码围线分析方法的启发,数对阵列p中长度为2q的环必定是由2q个数对所构成的闭合路径。数对阵列p的围线形成方法分为以下两个步骤:第一、如果数对阵列p中不同列的两个数对中有相同的第二个参数v,则这两个数对之间可以画连线(横跨线),包括水平线和斜线;第二、数对阵列p中同一列的任意两个不同数对之间的第二个参数v上可以直接画垂直线,如果从一个v参数上画垂线,有w-1画法,每画一条垂线必定引出一个新的v参数;数对阵列p中存在由参数v构成的长度为2q围线的充分必要条件是:在数对阵列p中存在2q个第二参数v,这2q个第二参数v中在同一列上的两个v参数必定形成一条垂直线,一共形成q条垂直线,在这q条垂直线中,两个相同的v参数之间必定形成一条横跨线;如果,在这q条垂直线中,两两相同的v有q对,每对构成一条横跨线,共构成q条横跨线,(包括水平线和非水平线),那么由这q条垂直线和q条横跨线交替组成的闭合路径即构成数对阵列p中长度为2q的围线。假设数对阵列p中存在由参数v构成的长度为2q的围线,在2q围线上任意选一个顶点从所对应的数对开始,沿着参数vi,j出现的先后次序,先横跨线后垂直线,将2q个数对排列如下:如果数对阵列中的第一个u满足:其中,jq=j0,则h矩阵中存在长度为2q的围线。2.2)数对阵列p中的4/6/8/10围线。2.2.1)在数对阵列p的任意一列均不存在相同v参数的约束条件下,p中的4围线一定出现在两列上,且这两列的每一列分别提供两个v参数。两条垂线一共连接四个v参数,如果四个v参数出现两对相等的,则在数对阵列p一定存在由这四个v参数构成的4围线。如果p中任意两列的四个v参数和形成两条垂线,每一条垂线连接两个v参数。在任意一列j0上确定任意一个v参数,如用表示;与余下的一列j1最多可能形成两个相等的v参数对,如由此可得出结论:在数对阵列p的任意两列中最多存在2种不同结构的4围线。如图2所示,演示了其中的一种4围线结构,横跨线不交叉,v参数满足和并给出了相应的h矩阵存在4围线控制方程(约束方程)如图3所示,演示了包含交叉的4围线结构,v参数满足和并给出了相应的h矩阵存在4围线控制方程(约束方程)2.2.2)在数对阵列p的任意一列均不存在相同v参数的约束条件下,p中的6围线一定出现在三列上,且这三列的每一列分别提供两个v参数。三条垂线一共连接六个v参数,如果六个v参数出现三对相等的,不存在三个相等的v参数,则在数对阵列p一定存在由这六个v参数构成的6围线。如果p中任意三列的六个v参数和形成三条垂线,每一条垂线连接两个v参数。在任意一列j0上确定任意一个v参数,如用表示;与余下的另外两列j1和j2最多可能形成四个相等的v参数对,如或如果确定其中的一对v参数对,如是确定的,在这两个v参数和上画一根横跨线,必出现在另一条垂线j1上,并连接一个新的v参数与最后一列j2最多可能形成两个相等的v参数对,如和由此可得出结论:在数对阵列p的任意三列中最多存在4×2=8种不同结构的6围线。如图4所示,演示了其中的一种6围线结构,横跨线不交叉,v参数满足并给出了相应的h矩阵存在6围线控制方程(约束方程)如图5所示,演示的6围线包含交叉的横跨线,v参数满足以及相应的h矩阵存在6围线控制方程2.2.3)在数对阵列p的任意一列均不存在相同v参数和数对阵列p中任意两列不超过一对相等的参数v的约束条件下,p中的8围线一定出现在四列上,且这四列的每一列分别提供两个v参数。四条垂线一共连接八个v参数,如果八个v参数出现四对相等的,不存在三个相等的v参数,则在数对阵列p一定存在由这八个v参数构成的8围线。如果p中任意四列的八个v参数和形成四条垂线,每一条垂线连接两个v参数。在任意一列j0上确定任意一个v参数,如用表示;与余下的另外三列j1、j2和j3最多可能形成六个相等的v参数对,如和如果确定其中的一对v参数对,如是确定的,在这两个v参数和上画一根横跨线,必出现在另一条垂线j1上,并连接一个新的v参数与剩余两列j2和j3最多可能形成四个相等的v参数对,如和如果是确定的,在这两个v参数和画一根横跨线,必出现在另一条垂线j2上,并连接一个新的v参数与最后一列j3最多可能形成两个相等的v参数,如和由此可得出结论:在数对阵列p的任意四列中最多存在6×4×2=48种不同结构的八围线。如图6所示,演示了其中的一种8围线结构,横跨线不交叉,v参数满足并给出了相应的h矩阵存在8围线控制方程(约束方程)如图7所示,演示的8围线包含交叉的横跨线,v参数满足以及相应的h矩阵存在8围线控制方程2.2.4)在数对阵列p的任意一列均不存在相同v参数和数对阵列p中任意两列不超过一对相等的参数v的约束条件下,p中的10围线一定出现在五列上,且这五列的每一列分别提供两个v参数。五条垂线一共连接十个v参数,如果十个v参数出现五对相等的,不存在三个相等的v参数,则在数对阵列p一定存在由这十个v参数构成的10围线。如果p中任意五列的十个v参数和形成五条垂线,每一条垂线连接两个v参数。在任意一列j0上确定任意一个v参数,如用表示;与余下的另外四列j1、j2、j3和j4最多可能形成八个相等的v参数对,如果确定其中的一对v参数对,如是确定的,在这两个v参数和上画一根横跨线,必出现在另一条垂线j1上,并连接一个新的v参数与剩余三列j2、j3和j4最多可能形成六个相等的v参数对,如果是确定的,在这两个v参数和画一根横跨线,必出现在另一条垂线j2上,并连接一个新的v参数与剩余两列j3和j4最多可能形成四个相等的v参数,如是确定的,在这两个v参数和上画一根横跨线,必出现在另一条垂线j3上,并连接一个新的v参数与最后一列j4最多可能形成两个相等的v参数。由此可得出结论:在数对阵列p的任意四列中最多存在8×6×4×2=384种不同结构的十围线。如图8所示,演示了其中的一种10围线结构,横跨线不交叉,v参数满足并给出了相应的h矩阵存在10围线控制方程(约束方程)如图9所示,,演示的10围线包含交叉的横跨线,并给出了相应的h矩阵存在10围线控制方程(约束方程)数对阵列的构造方法包含以下步骤:3.1)数对阵列p中v参数集的构造规则:数对阵列p中的结构参数应该满足下列约束条件a)p中任意一列的v参数互不相等;b)p中任意两列最多只有一对相等的v参数;c)p中任意一个v参数出现的次数必须等于h矩阵的行重;上述约束条件a)和b)主要给出了v参数的设计规则:若数对阵列p中任意一列的参数v互不相等,且任意两列不超过一对相等的v参数,则数对阵列p中必定不存在四围线。数对阵列p中的六围线必定存在于三列中,八环必定存在于四列中,十环必定存在于五列中。3.2)利用bibd(x,y,ρ,μ,λ)设计数对阵列p中的v参数。平衡不完全分组设计bibd(x,y,ρ,μ,λ)的5个参数与v参数集在数对阵列p中的分布存在如下对应关系:x对应v参数集的规模m;y对应数对阵列p的列数n;μ对应数对阵列p的行数w=3;ρ对应每个v参数在阵列数对p中出现的次数,也是h矩阵的行重;λ对应上述约束条件的a)和b),也即在数对阵列p的每一列中,每个v参数只出现一次,p的任意两列中,相同的两个v参数最多只出现一次。因此,数对阵列p可以用组合代数的平衡不完全分组设计bibd(m,n,ρ,3,1)完全确定。λ=1表明:如果由数对阵列p构成h矩阵,那么由h矩阵通过表达式hct=0定义的ldpc码是最大列重量为3的ldpc码,且数对阵列p中不存在4围线;如果数对阵列p中的任意2q个u参数满足不等式那么h矩阵的tanner图中不包含2q围线。由bibd(m,n,ρ,3,1)构造的最大列重量为3的规则ldpc码的计算码率为r=(n-m)/n。数学家已经完成了bibd(m,n,ρ,3,1)的设计(7≤m≤81),下面的表1中给出已知的bibd(m,n,ρ,3,1)结构。表1中最后一列是对应ldpc码的码率。编号mnρμλ计算码率(r)177331029124310.25313266310.5415357310.57143519579310.666676217010310.772510012310.7582711713310.7692393115515310.8103317616310.8125113722218310.83333123924719310.8421134330121310.85714144533022310.86364154939224310.875165142525310.88175549527310.88889185753228310.89286196161030310.9206365131310.903226216773733310.909091226978234310.911765237387636310.916667247592537310.9189192579102739310.9230772681108040310.925表1由上表的bibd(m,n,ρ,3,1)设计数对阵列p中的v参数,具体是设计所有v参数构成的矩阵,它是3×n的矩阵,表示成hv。也可以将数对阵列p分解为两个矩阵,即3×n的v参数矩阵hv和3×n的u参数矩阵hu和3.3)设计数对阵列p中的参数u。本发明的主要目的是构造列重为3的规则ldpc码,且ldpc码的围线至少为12的h矩阵框架。前面利用bibd(m,n,ρ,3,1)构造的3×n的hv矩阵完成了数对阵列p中v参数的设计,下面设计u参数。数对阵列p中不存在4围线,但必定存在6、8和10围线。但数对阵列p中存在6、8和10围线,并不代表扩展后的h矩阵也存在6、8和10围线。因此,为了避免ldpc码的h矩阵存在6、8和10围线,需要对数对阵列p中的u参数进行设计,保证ldpc码的h矩阵围线至少为12。数对阵列p中的六围线是由六个数对形成的闭合路径。根据v参数先画横跨线后画垂直线而出现的先后次序,六个数对排列如下在六个数对中,画横跨线的u参数做减法,画垂直线的u参数做加法,六个u参数写成如下不等式假设数对阵列p中有a0个六围线,必定有a0个如(11)所示的不等式。满足(11)的所有u参数将消除在数对阵列p中a0个六围线,即p中不包含六围线。在上述消除六围线的数对阵列p中,八围线必定是由八个数对形成的闭合路径。根据v参数先画横跨线后画垂直线而出现的先后次序,八个数对排列如下在八个数对中,画横跨线的u参数做减法,画垂直线的u参数做加法,八个u参数写成如下不等式假设数对阵列p中有a1个八围线,必定有a1个如(13)所示的不等式。满足(13)的所有u参数将消除在数对阵列p中a1个八围线,即p中不包含八围线。在上述消除八围线的数对阵列p中,十围线必定是由十个数对形成的闭合路径。据v参数先画横跨线后画垂直线而出现的先后次序,十个数对排列如下在十个数对中,画横跨线的u参数做减法,画垂直线的u参数做加法,十个u参数写成如下不等式且满足不能整除l假设数对阵列p中有a2个十围线,必定有a2个如(15)所示的不等式。满足(15)的所有u参数将消除在数对阵列p中a2个十围线,即p中不包含十围线。数对阵列p中u参数的设计过程如下:第一步:利用bibd(m,n,ρ,3,1)设计数对阵列p中的v参数,得到v参数确定的hv矩阵,天然形成的6/8/10围线。第二步:根据本发明的第二部分数对阵列p中的围线产生方法,将的6/8/10围线全部枚举出来。第三步:将第二步得到的a0个如式(11)的六围线判断表达式、a1个如(13)式八围线判断表达式和有a2个如(15)式的十围线判断表达式作为搜索u参数的约束条件送入程序中搜索参数u。参数u的取值范围为[0,l-1],规定:在数对阵列的每一列中,三个数对的所有第一个参数u的值要互不相同。计算机搜索的方法:1)先初始化u参数矩阵hu为-1。2)根据bibd(m,n,ρ,3,1)的分组结构,确定v参数的hv矩阵。3)在确定的hv矩阵中,用计算机软件搜索所有的6/8/10围线,给出这些围线的结构和位置坐标。4)在初始化矩阵hu中搜索u参数,搜索过程如下:i)从矩阵hu的前3列开始,从[0,l-1]中任意取九个值,放置在hu的前三列中,统计在hu的前三列由v参数所确定的6围线的数量,假设在数对阵列p中统计出d0个6围线,在hu的前三列得到d0个6元素u参数集合,验证d0个不同集合中每一个6元素u参数集是否满足(11)式,如果d0个6元素u参数集均满足(11)式,则前三列不包含6围线,如果其中有一个6元素u参数集不满足(11)式,则修改6个值中的一个值,从新验证d0个6元素u参数集是否均满足(11)式,直到d0个6元u参数集均满足,则做下一步;ii)新增加一列,从[0,l-1]中任意取三个值放在hu的第4列,分别统计在hu的前四列由v参数所确定的6围线和8围线的数量,假设在数对阵列p的前4列中,分别统计出由v参数所确定的d1个6围线和d2个8围线,在hu的前四列得到d1个6元素u参数集和d2个8元素u参数集,验证d1个不同集合的每一个中6个u参数是否满足(11)式,验证d2个不同集合的每一个中8个u参数是否满足(13)式,如果均满足,则hu的前四列不包含6围线和8围线;如果d1个6元素u参数集合中有一个不满足(11)式或者d2个8元素u参数集合中有一个不满足(13),则重新从[0,l-1]中选择一个值,替换不满足6元集合或8元集合的一个值,重新进行(11)式和(13)式的验证,直到满足(11)和(13)式,进行下一步;iii)再新增加一列,从[0,l-1]中任意取三个值放在hu的第5列,分别统计在hu的前五列由v参数所确定的6围线、8围线和10围线的数量,假设在数对阵列p的前5列中,分别统计出由v参数所确定的d3个6围线、d4个8围线和d5个10围线,在hu的前五列得到d3个6元u参数集、d4个8元u参数集和d5个10元u参数集,分别验证d3个6元u参数集、d4个8元u参数集和d5个10元u参数集是否满足(11)、(13)和(15)式,如果均满足,则hu的前五列不包含6围线、8围线和10围线;如果d3个6元u参数集、d4个8元u参数集和d5个10元u参数集中至少有一个不满足(11)、(13)或(15)式,则重新从[0,l-1]中选择一个值,替换不满足6元集合、8元集合或10元集中的一个值,重新进行(11)、(13)和(15)式的验证,直到均满足(11)、(13)和(15)式,则进行下一步;iv)重复i)、ii)和iii)的搜索过程,直到hu矩阵的最后一列,每增加新的一列,均需要在数对阵列p中统计所有由v参数所确定的6围线、8围线和10围线的数量,获得在hu矩阵中的6元u参数集、8元u参数集和10元u参数集的数量,验证每个6元u参数集、8元u参数集和10元u参数集是否满足(11)、(13)和(15)式,如果全部满足,则h矩阵没有10围线;如果在区间[0,l-1]的l个参数的每一个均在hu矩阵中出现ρ次,在3×n的hu矩阵中(11)式仍然不能被满足,则表明h矩阵包含6围线;如果(11)式满足,(13)式不满足,则h矩阵包含8围线;如果(11)和(13)式满足,(15)式不满足,则h矩阵包含10围线。v)如果在确定l值的情况下,无法搜索得到消除六围线、八围线和十围线的3×n的hu矩阵,则将l值增大。step定义为l值每一次增大的值,step一般取step=1。然后对于新的l=l+step值,重复i)、ii)、iii)和iv)的搜索过程。以上内容本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1