基于列表的兼容多码率固定长度准循环LDPC码的构造方法
未命名
08-13
阅读:109
评论:0
基于列表的兼容多码率固定长度准循环ldpc码的构造方法
技术领域
1.本发明涉及信道编解码技术领域,特别涉及一种基于列表的兼容多码率固定长度准循环ldpc码的构造方法。
背景技术:
2.在通信系统的发展过程当中,信息传输的可靠性永远是通信系统设计者们的追求之一,而在提升通信系统的可靠性的技术当中,纠错码得到了深入的研究和广泛的应用。其中,ldpc码在不同的数据传输的条件之下,随着译码的不断迭代,其性能都可以逼近香农极限。不仅如此,相比于turbo码一类同样通过译码迭代逼近香农极限的码字,ldpc码具有更低的错误平层,并且其结构更加适合并行译码,从而提升译码的速度,降低了硬件实现的难度,从而更加具有优势。
3.早在上个世纪60年代,gallager就提出了ldpc码的概念。遗憾的是,囿于当时的硬件水平,这种纠错码并没有得到人们的重视。而到了上个世纪80年代,tanner提出了一种图形化的、表示ldpc码校验矩阵结构的方法,在此之后,ldpc码得到了长足的发展,其中,一种具有准循环结构的ldpc码得到了人们的重视。这种ldpc码,具有分块的结构,可以看作是由单位矩阵和单位矩阵的循环移位拼接而成。具有这种结构的ldpc码,相比于传统的随机ldpc码,具有更高的并行度和更低的译码复杂度,且具有简单的描述形式,被广泛应用于众多通信标准当中,例如dvb-s2系列标准,atsc3.0标准,以及5gnr标准等。
4.在不同的环境中,存在着多种不同的通信场景,而对于不同的环境而言,适合的通信系统也各不相同。例如,在人口较为稀疏的地区,相比于地面的通信系统,卫星通信系统更具优势。鉴于ldpc码具有性能逼近香农极限、具备并行结构,便于高速译码等特点,ldpc码成为一种适用于卫星通信系统的纠错码。然而,相比于移动通信系统,卫星通信系统对于纠错码的需求也有所区别。卫星通信系统的信道往往变化较小,因此只需要有限的几种不同码率,要求固定的帧长和更低的误帧率,且卫星通信系统中传输帧的长度也大于地面通信系统。因此,构造在码长不变的情况下,具有多种码率,适合数种不同的信道情况,同时具备足够长的码字长度以及足够优秀的译码性能的ldpc码校验矩阵,对于卫星通信系统通信质量的提升,具有重要的意义。
技术实现要素:
5.本发明提供一种基于列表的兼容多码率固定长度准循环ldpc码的构造方法,可以实现在给定最高码率的ldpc码母码所对应的基矩阵时,通过逐次降低码率,完成一系列多码率的准循环ldpc码的校验矩阵构造,达到综合考虑各个码率的ldpc码性能,构造在具有相近结构、便于硬件实现的同时,在所有码率上都具有较优性能,适合卫星通信系统的系列ldpc码的目的。
6.本发明提供一种基于列表的兼容多码率固定长度准循环ldpc码的构造方法,包括以下步骤:
7.获取具有准循环结构的高码率ldpc码对应的初始基矩阵;
8.通过行列增删操作,根据所述初始基矩阵构造m层基于固定列表宽度的多个准循环ldpc码基矩阵,任意第m层的基矩阵b
m,p
,p=1,2,
…
,p,均以第m-1层的准循环ldpc码基矩阵{b
m-1,1
,
…
,b
m-1,p
}中的一个基矩阵为基础,通过新增一行、修改一列,降低一次码率得到;
9.确定所述准循环ldpc码基矩阵对应的偏移值矩阵,根据所述偏移值矩阵,得到所述准循环ldpc码基矩阵的校验矩阵。
10.可选地,在本发明的一个实施例中,所述初始基矩阵和所述准循环ldpc码基矩阵中的元素均为0或1,所述准循环ldpc码基矩阵b
m,p
具有mm行n列,前km列对应码字中的信息比特,其余列对应码字中的校验比特,确定所述准循环ldpc码基矩阵对应的偏移值矩阵,根据所述偏移值矩阵,得到所述准循环ldpc码基矩阵的校验矩阵,包括:
11.对于任意一个准循环ldpc码基矩阵通过确定每一个元素b
i,j
的偏移值c
i,j
,组成对应的偏移值矩阵并根据偏移值的大小,将所述偏移值矩阵替换为z
×
z的零矩阵或者单位阵的循环移位,得到对应的校验矩阵,其中,z为所述初始基矩阵的拓展因子。
12.可选地,在本发明的一个实施例中,所述初始基矩阵b0表示为[a t],其中a具有m0行k0列,对应信息比特;t对应校验比特且具有双对角结构;所述准循环ldpc码基矩阵b
m,p
表示为其中o为全零矩阵,d中除了副对角线上的元素为1以外,其余所有元素为0,所述任意第m层的基矩阵b
m,p
,p=1,2,
…
,p,均以第m-1层的准循环ldpc码基矩阵{b
m-1,1
,
…
,b
m-1,p
}中的一个基矩阵为基础,通过新增一行、修改一列,降低一次码率得到,包括:
[0013]
将每一个输入准循环ldpc码基矩阵b
m-1,p
初始化后作为根节点,构造p个二叉树并进行修枝,其中每一个二叉树的节点,均代表一个构造过程中的中间基矩阵,将对应b
m-1,p
的二叉树命名为t
p
,p=1,2,
…
,p,b
m-1,p
初始化后得到的根节点基矩阵记为b
′
m,p,1,1
,将t
p
中第l层子节点对应的中间基矩阵依次编号为b
′
m,p,l,q
,其中0《q≤2
l
且q≤2p,将第l层的子节点总数记为q
l
,当每一个二叉树t
p
构造完成后,层数l达到最大值l时,对b
′
m,p,l,q
,p=1,2,
…
,p,q=1,2,
…
,2p共2p2个中间基矩阵进行筛选,将性能最优的p个基矩阵作为b
m,p
,p=1,2,
…
,p。
[0014]
可选地,在本发明的一个实施例中,根据所述初始基矩阵构造m层基于固定列表宽度的多个准循环ldpc码基矩阵,确定所述准循环ldpc码基矩阵对应的偏移值矩阵,根据所述偏移值矩阵,得到所述准循环ldpc码基矩阵的校验矩阵,包括:
[0015]
步骤s01,初始化第m层准循环ldpc码基矩阵:
[0016]
输入所述初始基矩阵的准循环ldpc码基矩阵b
m-1,1
,b
m-1,2
,
…
,b
m-1,p
,初始化p=1,用于表示当前构造的树t
p
。
[0017]
步骤s02,初始化变量:
[0018]
初始化l=1,表示当前构造的二叉树t
p
的层数;初始化当前层节点总数q
l
=1,初始化j=1。
[0019]
步骤s03,初始化所述中间基矩阵:
[0020]
将输入的准循环ldpc码基矩阵新增一行,且将新增行元素置为{0,0,
…
,0};将所述准循环ldpc码基矩阵中元素,0};将所述准循环ldpc码基矩阵中元素置为{0,0,
…
,0,1}
t
,得到b
′
m,p,1,1
,作为树t
p
的根节点。
[0021]
步骤s04,确定偏移值:
[0022]
设置基矩阵b
′
m,p,1,1
中新增行的n个元素通过有限域的方法,得到基矩阵b
′
m,p,1,1
所对应的偏移值矩阵c
m,p
=[c
i,j
],0≤i《mm+1,0≤j《n,则二叉树t
p
中所有的中间基矩阵b
′
m,p,l,q
,l=1,2,
…
,l,q=1,
…
,q
l
,对应的偏移值矩阵c
′
m,p,l,q
=[c
′
i,j
]通过下式得到:
[0023][0024]
根据所述偏移值矩阵,将所述偏移值矩阵替换为z
×
z的单位矩阵或者单位矩阵的循环移位,得到中间基矩阵b
′
m,p,l,q
对应的校验矩阵。
[0025]
步骤s05,判断当前构造的第l层节点总数q
l
是否达到上限2p,若是则进入s06,否则进入s10。
[0026]
步骤s06,新建第l+1层节点:
[0027]
对于每个中间基矩阵b
′
m,p,l,q
,0《q≤q
l
中元素分别将其置为0和1,得到b
′
m,p,l+1,2q-1
和b
′
m,p,l+1,2q
,q=1,2,
…
,q
l
共2q
l
个节点。
[0028]
步骤s07,根据步骤s04,获得第l+1层所有节点对应的校验矩阵。
[0029]
步骤s08,计算误帧率:
[0030]
使用蒙特卡洛仿真估计,估计第l+1层节点的基矩阵b
′
m,p,l+1,q
,q=1,2,
…
,2q
l
所对应校验矩阵的误帧率。
[0031]
步骤s09,更新变量:
[0032]
更新当前层的节点数q
l+1
=2q
l
,随后更新当前层,l=l+1。
[0033]
步骤s10,分支筛选:
[0034]
在当前第l层节点总数q
l
达到上限2p后,对q
l
个节点对应的中间基矩阵b
′
m,p,l,q
,q=1,2,
…
,q
l
按照误帧率由低到高排序,并且只保留前p个性能较好的基矩阵,将其重新依次编号为b
′
m,p,l,q
,q=1,2,
…
,p。
[0035]
步骤s11,同步骤s06新建第l+1层节点。
[0036]
步骤s12,同步骤s07获得第l+1层所有节点对应的校验矩阵。
[0037]
步骤s13,同步骤s08计算误帧率。
[0038]
步骤s14,更新当前层数,l=l+1。
[0039]
步骤s15,j=j+1,更新当前需要确定的新增行元素位置,跳过单对角矩阵的部分。
[0040]
步骤s16,判断是否确定新增行所有元素,若不是则转至步骤s05,若是则代表二叉树t
p
构造完成,l达到最大值l,转至步骤s17。
[0041]
步骤s17,令p=p+1,构造下一个二叉树。
[0042]
步骤s18,判断p是否达到最大值p,若是则代表所有二叉树均构造完成,转至步骤s20,若不是则转至s02。
[0043]
步骤s19,筛选分支,得到输出结果:
[0044]
对所有二叉树t
p
,p=1,2,
…
,p上第l层,总共2p2个中间基矩阵b
′
m,p,l,q
,q=1,2,
…
,2p,p=1,2,
…
,p按照误帧率由低到高进行排序,得到p个性能最优的基矩阵作为输出,记为b
m,p
,p=1,2,
…
,p。
[0045]
步骤20,得到不同码率的固定长度准循环ldpc码。
[0046]
可选地,在本发明的一个实施例中,使用基于有限域的方法,得到基矩阵b=[b
m,n
]m×n对应的偏移值矩阵c=[c
m,n
]m×n的步骤为:
[0047]
根据所述初始基矩阵的拓展因子z,确定有限域gf(t),其中,t为大于z的最小质数,并且确定一个该有限域的生成元α;
[0048]
令集合s1={α0,α1,...α
q-2
},同时令集合其中kn∈0,1,
…
,q-2,0≤n《n,集合s2即为从集合s1中随机选取n个元素并且进行乱序排列;
[0049]
构造矩阵其中
[0050]
根据矩阵t,得到基矩阵b=[b
m,n
]m×n对应的偏移值矩阵c=[c
m,n
]m×n为:
[0051][0052]
本发明实施例的基于列表的兼容多码率固定长度准循环ldpc码的构造方法,具有以下有益效果:
[0053]
(1)现有的多码率准循环ldpc码的构造方法当中,例如dvb-s2系列标准中的ldpc码,往往无法保证在码率调节范围内,所有码率所对应的ldpc码均具有较优的性能。本发明则在构造的过程当中,综合考虑了所有可选码率下对应的ldpc码的性能,确保不会出现个别码率性能极差的情况;
[0054]
(2)本发明在构造矩阵时,通过直接以校验矩阵的性能作为依据来确定元素,具有更高的可靠性;同时,本发明可以任意的调整译码时的信噪比和迭代次数等条件,从而模拟不同应用场景下的传输情况,并且构造出相应的矩阵,具有一定的灵活性。
[0055]
(3)本发明具有一定的迁移性。通过在确定新增行元素时,将其置为大于1的其他值,随后对基矩阵进行多次延拓,可以将该方法从二元域拓展到多元域,提升该方法在码长和码率上的适用范围。
[0056]
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0057]
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0058]
图1为根据本发明实施例提供的一种基于列表的兼容多码率固定长度准循环ldpc码的构造方法的流程图;
[0059]
图2为根据本发明实施例提供的基于列表的兼容多码率固定长度准循环ldpc码的构造方法执行过程示意图;
[0060]
图3为根据本发明实施例提供的以5g矩阵的核心部分为基础,使用本方法构造的
拓展因子40,码长1040,码率1/2的ldpc码的偏移值矩阵的示意图;
[0061]
图4为根据本发明实施例提供的在适当增大拓展因子后,使用本发明构造的基于列表的多码率准循环ldpc码与dvb-s2x标准中,相近码长和码率的ldpc码的性能对比曲线示意图;
[0062]
图5和图6均为根据本发明实施例提供的在对输入矩阵初始化部分进行略微修改后,构造的系列ldpc码在低迭代次数下与5g标准中同等码率、码长的ldpc码的性能对比示意图。
具体实施方式
[0063]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0064]
图1为根据本发明实施例提供的一种基于列表的兼容多码率固定长度准循环ldpc码的构造方法的流程图。
[0065]
如图1所示,该基于列表的兼容多码率固定长度准循环ldpc码的构造方法包括以下步骤:
[0066]
在步骤s101中,获取具有准循环结构的高码率ldpc码对应的初始基矩阵。
[0067]
在步骤s102中,通过行列增删操作,根据初始基矩阵构造m层基于固定列表宽度的多个准循环ldpc码基矩阵,其中,任意第m层的基矩阵b
m,p
,p=1,2,
…
,p,均以第m-1层的准循环ldpc码基矩阵{b
m-1,1
,
…
,b
m-1,p
}中的一个基矩阵为基础,通过新增一行、修改一列,降低一次码率得到。
[0068]
给定一个具有准循环结构的高码率ldpc码所对应的初始基矩阵b0,通过行列增删的操作,构造得到总共m层基于固定列表宽度的系列准循环ldpc码基矩阵(为便于描述,将b0记为第0层)其中,每一层矩阵都有列表宽度p个基矩阵作为备选,且具有相似的结构和相同的行列数。对于第m层的p个基矩阵,m=1,2,
…
,m,将其按照误帧率由低到高的顺序,依次编号为b
m,p
,p=1,2,
…
,p。所有构造的基矩阵均满足:任意第m层的基矩阵b
m,p
,p=1,2,
…
,p,均以第m-1层的基矩阵集合{b
m-1,1
,
…
,b
m-1,p
}中的一个基矩阵为基础,通过新增一行、修改一列,降低一次码率得到;随着层数m的增加,每一层的基矩阵码率不断降低,最终实现构造系列不同码率的固定长度准循环ldpc码。
[0069]
在步骤s103中,确定准循环ldpc码基矩阵对应的偏移值矩阵,根据偏移值矩阵,得到准循环ldpc码基矩阵的校验矩阵。
[0070]
初始基矩阵b0和准循环ldpc码基矩阵b
m,p
,均不包含平行边,即初始基矩阵和准循环ldpc码基矩阵中的元素均为0或1。准循环ldpc码基矩阵b
m,p
具有mm行n列,且其前km列对应码字中的信息比特,之后的列对应码字中的校验比特。对于任意一个准循环ldpc码基矩阵通过确定每一个元素b
i,j
的偏移值c
i,j
,组成对应的偏移值矩阵并根据偏移值的大小,将其替换为z
×
z的零矩阵或者单位阵的循环移位,即可得到对应的校验矩阵。
[0071]
初始基矩阵b0和准循环ldpc码基矩阵b
m,p
,满足以下的结构:初始基矩阵b0可以表
示为[a t],其中a具有m0行k0列,对应信息比特;t对应校验比特且具有双对角结构;而准循环ldpc码基矩阵b
m,p
可以表示为其中o为全零矩阵,d中除了副对角线上的元素为1以外,其余所有元素为0。
[0072]
任意第m层的基矩阵b
m,p
,p=1,2,
…
,p,均以第m-1层的准循环ldpc码基矩阵{b
m-1,1
,
…
,b
m-1,p
}中的一个基矩阵为基础,通过新增一行、修改一列,降低一次码率得到,包括:
[0073]
将第m-1层的基矩阵b
m-1,p
,p=1,2,
…
,p作为输入(第0层只输入b0,p=1),进行一次降低码率的操作,构造第m层基矩阵b
m,p
,p=1,2,
…
,p的过程,即为将每一个输入矩阵b
m-1,p
初始化后作为根节点,构造p个二叉树并进行修枝的过程。其中每一个二叉树的节点,均代表一个构造过程中的中间矩阵。为便于描述,将对应b
m-1,p
的二叉树命名为t
p
,p=1,2,
…
,p,b
m-1,p
初始化后得到的根节点基矩阵记为b
′
m,p,1,1
,将t
p
中第l层子节点对应的中间基矩阵依次编号为b
′
m,p,l,q
,其中0《q≤2
l
且q≤2p,将第l层的子节点总数记为q
l
。当每一个二叉树t
p
构造完成后,层数l达到最大值l,此时,对b
′
m,p,l,q
,p=1,2,
…
,p,q=1,2,
…
,2p共2p2个中间基矩阵进行筛选,其中性能最优的p个基矩阵即为b
m,p
,p=1,2,
…
,p。通过基矩阵b
m-1,p
,p=1,2,
…
,p,进行一次降低码率的操作。
[0074]
构造更低码率的ldpc码的方法包括以下步骤:初始化需要构造的基矩阵的行列;确定基矩阵所对应的偏移值;从左往右,将新增行的元素的可能取值依次代入到基矩阵中,从而得到新的备选矩阵;测试备选矩阵的性能;在备选矩阵超过列表宽度的限定之后仅保留性能最优的维持列表宽度数量的矩阵,并以此为基础继续优化剩下的元素取值;直到最后在保留的列表宽度数量的矩阵中,筛选性能最优的矩阵,得到最终的输出结果。
[0075]
如图2所示,构造b
m,p
,p=1,2,
…
,p的过程包括以下步骤:
[0076]
步骤s01,初始化第m层准循环ldpc码基矩阵:
[0077]
输入初始基矩阵的准循环ldpc码基矩阵b
m-1,1
,b
m-1,2
,
…
,b
m-1,p
,初始化p=1,用于表示当前构造的树t
p
;
[0078]
在一个实施例中,设输入的最高码率的基矩阵b0如式(1)所示。此时,输入的矩阵数量为1,m=1。设p=4。可以看出,此时的行数m0=4,列数n=26,此时前km=22列对应信息比特。同时,将z设置为40。
[0079][0080]
步骤s02,初始化变量:
[0081]
初始化l=1,表示当前构造的二叉树t
p
的层数;初始化当前层节点总数q
l
=1,初始化j=1;
[0082]
步骤s03,初始化中间基矩阵:
[0083]
将输入的准循环ldpc码基矩阵新增一行,且将新增行元素置为{0,0,
…
,0};将准循环ldpc码基矩阵中元素,0};将准循环ldpc码基矩阵中元素置为{0,0,
…
,0,1}
t
,得到b
′
m,p,1,1
,作为树t
p
的根节点;由于输入矩阵只有一
个,因此省略中间矩阵b
′
m,p,l,q
下标p,其他变量也作相同处理。
[0084]
步骤s04,确定偏移值:
[0085]
设置基矩阵b
′
m,p,1,1
中新增行的n个元素通过有限域的方法,得到基矩阵b
′
m,p,1,1
所对应的偏移值矩阵c
m,p
=[c
i,j
],0≤i《mm+1,0≤j《n,则二叉树t
p
中所有的中间基矩阵b
′
m,p,l,q
,l=1,2,
…
,l,q=1,
…
,q
l
,对应的偏移值矩阵c
′
m,p,l,q
=[c
′
i,k
]通过下式得到:
[0086][0087]
根据偏移值矩阵,将偏移值矩阵替换为z
×
z的单位矩阵或者单位矩阵的循环移位,得到中间基矩阵b
′
m,p,l,q
对应的校验矩阵,继而通过直接译码、统计结果的方式估计其性能;
[0088]
使用基于有限域的方法,得到基矩阵b=[b
m,n
]m×n对应的偏移值矩阵c=[c
m,n
]m×n的步骤为:
[0089]
根据初始基矩阵的拓展因子z,确定有限域gf(t),其中,t为大于z的最小质数,并且确定一个该有限域的生成元α;
[0090]
令集合s1={α0,α1,...α
q-2
},同时令集合其中kn∈0,1,
…
,q-2,0≤n《n,集合s2即为从集合s1中随机选取n个元素并且进行乱序排列;
[0091]
构造矩阵其中
[0092]
根据矩阵t,得到基矩阵b=[b
m,n
]m×n对应的偏移值矩阵c=[c
m,n
]m×n为:
[0093][0094]
使用上述的基于有限域的方法确定c1。例如,在本实施例中,一个可能的c1如下式所示:
[0095][0096]
步骤s05,判断当前构造的第l层节点总数q
l
是否达到上限2p,若是则进入s06,否则进入s10;
[0097]
步骤s06,新建第l+1层节点;
[0098]
对于每个中间基矩阵b
′
m,p,l,q
,0《q≤q
l
中元素分别将其置为0和1,得到b
′
m,p,l+1,2q-1
和b
′
m,p,l+1,2q
,q=1,2,
…
,q
l
共2q
l
个节点;
[0099]
例如,在本实施例中,第一次运行到s07时,有层数l=1,第l层矩阵总数q
l
=1。输入矩阵为b
′
1,1,1
:
[0100][0101]
则新建的分支矩阵为:
[0102][0103]
和
[0104][0105]
步骤s07,根据步骤s04,获得第l+1层所有节点对应的校验矩阵;
[0106]
步骤s08,计算误帧率:
[0107]
使用蒙特卡洛仿真估计,估计第l+1层节点的基矩阵b
′
m,p,l+1,q
,q=1,2,
…
,2q
l
所对应校验矩阵的误帧率;
[0108]
随机生成需要的发送比特,根据已有的ldpc码校验矩阵完成编码,得到正确的码字,并模拟在发送端发送;随后按照设定的信噪比条件,模拟实际通信的情况并添加噪声;随后在接收端进行译码。通过多次重复模拟,统计模拟的收发帧数和其中解码的错误帧数,从而估计出误帧率,作为这些节点对应ldpc码校验矩阵的性能的判断标准。
[0109]
步骤s09,更新变量:
[0110]
更新当前层的节点数q
l+1
=2q
l
,随后更新当前层,l=l+1;
[0111]
步骤s10,分支筛选:
[0112]
在当前第l层节点总数q
l
达到上限2p后,对q
l
个节点对应的中间基矩阵b
′
m,p,l,q
,q=1,2,
…
,q
l
按照误帧率由低到高排序,并且只保留前p个性能较好的基矩阵,将其重新依次编号为b
′
m,p,l,q
,q=1,2,
…
,p;
[0113]
步骤s11,同步骤s06新建第l+1层节点;
[0114]
步骤s12,同步骤s07获得第l+1层所有节点对应的校验矩阵;
[0115]
步骤s13,同步骤s08计算误帧率;
[0116]
步骤s14,更新当前层数,l=l+1;
[0117]
步骤s15,j=j+1,更新当前需要确定的新增行元素位置,跳过单对角矩阵的部分;
[0118]
步骤s16,判断是否确定新增行所有元素,若不是则转至步骤s05,若是则代表二叉树t
p
构造完成,l达到最大值l,转至步骤s17;
[0119]
步骤s17,令p=p+1,构造下一个二叉树;
[0120]
步骤s18,判断p是否达到最大值p,若是则代表所有二叉树均构造完成,转至步骤s20,若不是则转至s02;
[0121]
步骤s19,筛选分支,得到输出结果:
[0122]
对所有二叉树t
p
,p=1,2,
…
,p上第l层,总共2p2个中间基矩阵b
′
m,p,l,q
,q=1,2,
…
,2p,p=1,2,
…
,p按照误帧率由低到高进行排序,得到p个性能最优的基矩阵作为输出,记为b
m,p
,p=1,2,
…
,p;
[0123]
步骤20,得到不同码率的固定长度准循环ldpc码。
[0124]
以5g标准中的ldpc码的bg1的核心部分作为多码率准循环ldpc码构造的母码,构造延拓因子z=40、码字长度为1040,码率最低为1/2的系列ldpc码。在构造的过程当中,选
择分支上限p=8,以对应误帧率在10-4
左右的信噪比条件作为判断矩阵优劣的标准,构造出系列ldpc码。图3为一个构造的码率为1/2的ldpc码对应的偏移值矩阵。为了便于和现有的标准进行比较,将这一系列构造的ldpc码的拓展因子扩大到676,使其码长和dvb-s2x标准中的ldpc码相近。图4中绘制了两种ldpc码在相近码率下的性能曲线,可以看出,本发明所构造的码字在多种码率条件下,性能均比dvb-s2x中的ldpc码优大约0.2db。
[0125]
同时,为便于和5g标准中ldpc码比较,将本发明中的输入矩阵初始化部分进行一定的修改,从构造兼容多码率的固定长度ldpc码改为构造变长的、具有码率兼容结构的ldpc码,构造出拓展因子为40,码率范围在2/3到11/12之间的系列ldpc码。并与5g标准下同等长度和码率的ldpc码进行比较,如图5和图6所示。结果表明,在低迭代次数、码率较高的情况下,本发明所构造的码字具有更优的性能。
[0126]
根据本技术实施例提出的基于列表的兼容多码率固定长度准循环ldpc码的构造方法,通过一个给定最高码率的ldpc码母码所对应的基矩阵,以逐行扩增,渐进降低码率的方式,实现兼容多码率ldpc码的校验矩阵构造。可以实现在给定最高码率的ldpc码母码所对应的基矩阵时,通过逐次降低码率,完成一系列多码率的准循环ldpc码的校验矩阵构造,达到综合考虑各个码率的ldpc码性能,构造在具有相近结构、便于硬件实现的同时,在所有码率上都具有较优性能,适合卫星通信系统的系列ldpc码的目的。
[0127]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或n个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0128]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“n个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0129]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或n个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
技术特征:
1.一种基于列表的兼容多码率固定长度准循环ldpc码的构造方法,其特征在于,包括以下步骤:获取具有准循环结构的高码率ldpc码对应的初始基矩阵;通过行列增删操作,根据所述初始基矩阵构造m层基于固定列表宽度的多个准循环ldpc码基矩阵,其中,任意第m层的基矩阵b
m,p
,p=1,2,
…
,p,均以第m-1层的准循环ldpc码基矩阵{b
m-1,1
,
…
,b
m-1,p
}中的一个基矩阵为基础,通过新增一行、修改一列,降低一次码率得到;确定所述准循环ldpc码基矩阵对应的偏移值矩阵,根据所述偏移值矩阵,得到所述准循环ldpc码基矩阵的校验矩阵。2.根据权利要求1所述的方法,其特征在于,所述初始基矩阵和所述准循环ldpc码基矩阵中的元素均为0或1,所述准循环ldpc码基矩阵b
m,p
具有m
m
行n列,前k
m
列对应码字中的信息比特,其余列对应码字中的校验比特,确定所述准循环ldpc码基矩阵对应的偏移值矩阵,根据所述偏移值矩阵,得到所述准循环ldpc码基矩阵的校验矩阵,包括:对于任意一个准循环ldpc码基矩阵通过确定每一个元素b
i,j
的偏移值c
i,j
,组成对应的偏移值矩阵并根据偏移值的大小,将所述偏移值矩阵替换为z
×
z的零矩阵或者单位阵的循环移位,得到对应的校验矩阵,其中,z为所述初始基矩阵的拓展因子。3.根据权利要求2所述的方法,其特征在于,所述初始基矩阵b0表示为[a t],其中a具有m0行k0列,对应信息比特;t对应校验比特且具有双对角结构;所述准循环ldpc码基矩阵b
m,p
表示为其中o为全零矩阵,d中除了副对角线上的元素为1以外,其余所有元素为0,所述任意第m层的基矩阵b
m,p
,p=1,2,
…
,p,均以第m-1层的准循环ldpc码基矩阵{b
m-1,1
,
…
,b
m-1,p
}中的一个基矩阵为基础,通过新增一行、修改一列,降低一次码率得到,包括:将每一个输入准循环ldpc码基矩阵b
m-1,p
初始化后作为根节点,构造p个二叉树并进行修枝,其中每一个二叉树的节点,均代表一个构造过程中的中间基矩阵,将对应b
m-1,p
的二叉树命名为t
p
,p=1,2,
…
,p,b
m-1,p
初始化后得到的根节点基矩阵记为b
′
m,p,1,1
,将t
p
中第l层子节点对应的中间基矩阵依次编号为b
′
m,p,l,q
,其中0<q≤2
l
且q≤2p,将第l层的子节点总数记为q
l
,当每一个二叉树t
p
构造完成后,层数l达到最大值l时,对b
′
m,p,l,q
,p=1,2,
…
,p,q=1,2,
…
,2p共2p2个中间基矩阵进行筛选,将性能最优的p个基矩阵作为b
m,p
,p=1,2,
…
,p。4.根据权利要求3所述的方法,其特征在于,根据所述初始基矩阵构造m层基于固定列表宽度的多个准循环ldpc码基矩阵,确定所述准循环ldpc码基矩阵对应的偏移值矩阵,根据所述偏移值矩阵,得到所述准循环ldpc码基矩阵的校验矩阵,包括:步骤s01,初始化第m层准循环ldpc码基矩阵:输入所述初始基矩阵的准循环ldpc码基矩阵b
m-1,1
,b
m-1,2
,
…
,b
m-1,p
,初始化p=1,用于表示当前构造的树t
p
;步骤s02,初始化变量:初始化l=1,表示当前构造的二叉树t
p
的层数;初始化当前层节点总数q
l
=1,初始化j
=1;步骤s03,初始化所述中间基矩阵:将输入的准循环ldpc码基矩阵新增一行,且将新增行元素置为{0,0,
…
,0};将所述准循环ldpc码基矩阵中元素,0};将所述准循环ldpc码基矩阵中元素置为{0,0,
…
,0,1}
t
,得到b
′
m,p,1,1
,作为树t
p
的根节点;步骤s04,确定偏移值:设置基矩阵b
′
m,p,1,1
中新增行的n个元素通过有限域的方法,得到基矩阵b
′
m,p,1,1
所对应的偏移值矩阵c
m,p
=[c
i,j
],0≤i<m
m
+1,0≤j<n,则二叉树t
p
中所有的中间基矩阵b
′
m,p,l,q
,l=1,2,
…
,l,q=1,
…
,q
l
,对应的偏移值矩阵c
′
m,p,l,q
=[c
′
i,j
]通过下式得到:根据所述偏移值矩阵,将所述偏移值矩阵替换为z
×
z的单位矩阵或者单位矩阵的循环移位,得到中间基矩阵b
′
m,p,l,q
对应的校验矩阵;步骤s05,判断当前构造的第l层节点总数q
l
是否达到上限2p,若是则进入s06,否则进入s10;步骤s06,新建第l+1层节点;对于每个中间基矩阵b
′
m,p,l,q
,0<q≤q
l
中元素分别将其置为0和1,得到b
′
m,p,l+1,2q-1
和b
′
m,p,l+1,2q
,q=1,2,
…
,q
l
共2q
l
个节点;步骤s07,根据步骤s04,获得第l+1层所有节点对应的校验矩阵;步骤s08,计算误帧率:使用蒙特卡洛仿真估计,估计第l+1层节点的基矩阵b
′
m,p,l+1,q
,q=1,2,
…
,2q
l
所对应校验矩阵的误帧率;步骤s09,更新变量:更新当前层的节点数q
l+1
=2q
l
,随后更新当前层,l=l+1;步骤s10,分支筛选:在当前第l层节点总数q
l
达到上限2p后,对q
l
个节点对应的中间基矩阵b
′
m,p,l,q
,q=1,2,
…
,q
l
按照误帧率由低到高排序,并且只保留前p个性能较好的基矩阵,将其重新依次编号为b
′
m,p,l,q
,q=1,2,
…
,p;步骤s11,同步骤s06新建第l+1层节点;步骤s12,同步骤s07获得第l+1层所有节点对应的校验矩阵;步骤s13,同步骤s08计算误帧率;步骤s14,更新当前层数,l=l+1;步骤s15,j=j+1,更新当前需要确定的新增行元素位置,跳过单对角矩阵的部分;步骤s16,判断是否确定新增行所有元素,若不是则转至步骤s05,若是则代表二叉树t
p
构造完成,l达到最大值l,转至步骤s17;步骤s17,令p=p+1,构造下一个二叉树;
步骤s18,判断p是否达到最大值p,若是则代表所有二叉树均构造完成,转至步骤s20,若不是则转至s02;步骤s19,筛选分支,得到输出结果:对所有二叉树t
p
,p=1,2,
…
,p上第l层,总共2p2个中间基矩阵b
′
m,p,l,q
,q=1,2,
…
,2p,p=1,2,
…
,p按照误帧率由低到高进行排序,得到p个性能最优的基矩阵作为输出,记为b
m,p
,p=1,2,
…
,p;步骤20,得到不同码率的固定长度准循环ldpc码。5.根据权利要求4所述的方法,其特征在于,使用基于有限域的方法,得到基矩阵b=[b
m,n
]
m
×
n
对应的偏移值矩阵c=[c
m,n
]
m
×
n
的步骤为:根据所述初始基矩阵的拓展因子z,确定有限域gf(t),其中,t为大于z的最小质数,并且确定一个该有限域的生成元α;令集合s1={α0,α1,...α
q-2
},同时令集合其中k
n
∈0,1,
…
,q-2,0≤n<n,集合s2即为从集合s1中随机选取n个元素并且进行乱序排列;构造矩阵其中根据矩阵t,得到基矩阵b=[b
m,n
]
m
×
n
对应的偏移值矩阵c=[c
m,n
]
m
×
n
为:
技术总结
本申请公开了一种基于列表的兼容多码率固定长度准循环LDPC码的构造方法,属于信道编解码领域,通过一个给定最高码率的LDPC码母码所对应的基矩阵,以逐行扩增,渐进降低码率的方式,实现兼容多码率LDPC码的校验矩阵构造。本发明的构造方法可以实现在给定最高码率LDPC码母码所对应的基矩阵时,通过逐行扩增,渐进降低码率,完成一系列兼容多码率,性能优异的准循环LDPC码校验矩阵构造。异的准循环LDPC码校验矩阵构造。异的准循环LDPC码校验矩阵构造。
技术研发人员:姜明 李阳明 施钰飏 徐安来 张海鑫
受保护的技术使用者:东南大学
技术研发日:2023.05.15
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:大跨距百叶窗的制作方法 下一篇:一种评价化妆品及其原料的抗羰基化功效的方法与流程
