码长固定的多码率低密度校验LDPC码构造方法转让专利

申请号 : CN201510970151.4

文献号 : CN105577194B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 白宝明邱晨穆锡金陈刚

申请人 : 西安电子科技大学

摘要 :

本发明公开了一种码长固定的多码率低密度校验LDPC码构造方法。其方案是:1.根据所要构造的多码率LDPC码的最高码率R1确定循环系数矩阵C的列数N;2.选取大于列数N的素数P,并确定循环置换矩阵大小L和码长n;3.根据素数P构造有限域,选取有限域上的本原元α确定循环系数矩阵Ck;4.利用优化算法确定R等于三个不同码率Rk的LDPC码的掩膜矩阵Bk;5.根据各个码率的循环系数矩阵Ck和掩膜矩阵Bk确定各个码率的基矩阵Dk;6.根据基矩阵Dk确定各个码率的LDPC码的校验矩阵Hk,最终得到多码率LDPC码的一组校验矩阵。本发明与现有相比,其构造的多码率LDPC码的码长可固定、能够直接用校验矩阵编码、易于硬件实现,可用于卫星通信系统和蜂窝通信。

权利要求 :

1.码长固定的多码率低密度校验LDPC码构造方法,是通过循环系数矩阵C、掩膜矩阵B、基矩阵D和L阶循环置换单位阵构造,其包括如下步骤:

1)根据所要构造的码长固定的多码率LDPC码的最高码率R1,确定循环系数矩阵C的列数:

2)选取大于列数N的素数P,并由此确定循环置换单位阵大小L和码长n:L=P-1,n=L×N

3)根据素数P构造有限域GF(P),选取该有限域GF(P)上的任意本原元α,在不同的码率Rk下,确定循环系数矩阵Ck中第i行第j列的元素值 其中k=1,2,3,i∈{1,2,...,18},j∈{1,2,...,36},i和j的取值随着码率Rk的不同而不同:当码率为R1=(1-6/N)时,1≤i≤6,1≤j≤36;当码率为R2=(1-12/N)时,1≤i≤12,1≤j≤36;当码率为R3=(1-18/N)时,1≤i≤

18,1≤j≤36;

4)确定最高码率LDPC码的掩膜矩阵B1:

由列数N和码率R1设定掩膜矩阵B1是一个6行N列的矩阵,并根据密度进化理论确定B1的前N-6列是由(N-6)/6个相同的小矩阵Ba排列而成,最后6列是一个咬尾的双对角矩阵Bb,即:其中,

5)确定码率为R2=(1-12/N)的LDPC码的掩膜矩阵B2:

5a)将两个最高码率LDPC码的掩膜矩阵B1按列向进行拼接;

5b)分别将拼接后的矩阵中的1至6行、N-11至N-6列变为全零矩阵;将7至12行、N-11至N-6列变为单对角矩阵;将7至12行的N-5、N-3和N-1列变为全零向量;

5c)利用P-EXIT chart工具选择7至12行中截止到门限最低的列,并将这些列变为全零向量,即得到码率为(1-12/N)的LDPC码的掩膜矩阵B2;

6)确定码率为R3=(1-18/N)的LDPC码的掩膜矩阵B3:

6a)将(1-12/N)码率LDPC码的掩膜矩阵B2和最高码率LDPC码的掩膜矩阵B1按列向进行拼接;

6b)分别将拼接后的矩阵中的1至12行、N-17至N-12列变为全零矩阵;将13至18行、N-17至N-12列变为单对角矩阵;将13至18行、N-11至N-6列变为全零矩阵;将13至18行的N-5、N-3和N-1列变为全零向量;

6c)利用P-EXIT chart工具选择13至18行中截止到门限最低的列,并将这些列变为全零向量,即得到码率为(1-18/N)的LDPC码的掩膜矩阵B3;

7)根据各个码率Rk对应的掩膜Bk确定各个码率的基矩阵Dk:假设循环系数矩阵Ck的第i行和第j列的元素值为 掩膜矩阵Bk第i行和第j列的元素值为 则基矩阵Dk中第i行和第j列的元素 的值为:基矩阵Dk为:

8)根据各个码率Rk的基矩阵Dk确定对应于每个码率的LDPC码的校验矩阵Hk:如果 则校验矩阵Hk的(L×(i-1)+1)至(L×i)行及(L×(j-1)+1)至(L×j)列为L阶全零矩阵;

如果 则校验矩阵Hk的(L×(i-1)+1)至(L×i)行及(L×(j-1)+1)至(L×j)列为L 阶单位矩阵向右循环移位 位所得到的矩阵;

在不同的码率Rk下得到码长相同的一组校验矩阵Hk。

2.根据权利要求1所述的方法,其特征在于:步骤3)中确定的循环系数矩阵Ck中第i行第j列的元素值 是根据不同的i和j的取值确定的:对于1≤i≤6,1≤j≤N-6的每一个元素,则

对于1≤i≤6,N-5≤j≤N的每一个元素,则

对于i=4,j=N-5,则

对于7≤i≤12,1≤j≤N-12的每一个元素,则对于7≤i≤12,N-11≤j≤N的每一个元素,则对于13≤i≤18,1≤j≤N-18的每一个元素,则对于13≤i≤18,N-17≤j≤N的每一个元素,则

3.根据权利要求1所述的方法,其特征在于:步骤2)中循环置换单位阵大小L和码长n随着被选取的素数P的不同而改变,以实现码长可变的特性。

说明书 :

码长固定的多码率低密度校验LDPC码构造方法

技术领域

[0001] 本发明属于无线通信技术领域,特别是涉及一种码长固定的多码率低密度校验LDPC(Low-Density Parity-Check Codes)码的构造方法,可用于军事通信系统、卫星通信系统和蜂窝通信系统的多码率差错控制码。

背景技术

[0002] 为了在时变或有干扰的信道上进行可靠传输,需要一组码率灵活可变的LDPC码,当信道条件较好的时候,使用高码率的码提高传输效率;当信道条件较差的时候,使用低码率的码保障传输可靠度。如果各个码率的码具有不同的码长,则在具体的传输中就要改变数据分组方式或者传输帧长度,这将增加通信系统的整体复杂度。针对这个问题,人们提出了码长固定的多码率码,即在码长固定的条件下提高或降低码率,从而得到不同码率的码。
[0003] 最早构造码长固定的多码率LDPC码的方法是由Andres I.Vila Casado等学者在“Multiple-Rate Low-Density Parity-Check Codes with Constant Blocklength”中提出的行合并技术,即首先构造一个低码率的LDPC母码,然后将一些校验节点合并为一个校验节点来得到高码率的码,同时根据最优度分布添加和删除泰纳图中的某些边来提高性能,但当生成的高码率码的校验矩阵不能合并或者不满足环的约束时,需要重新生成低码率的母码,这使得码构造过程很复杂,甚至不能得到一组满足所有条件的码。2011年,Xueqin Jiang等学者在“Construction of Multiple-Rate Quasi-Cyclic LDPC Codes via the Hyperplane Decomposing”中采用基于超平面的行分解方法构造码长固定的多码率LDPC码,即首先构造一个高码率的LDPC母码,然后利用代数方法将一个校验节点分解为更多的校验节点来得到低码率的码,但该方法所得到的校验矩阵不具有易于快速编码的结构,这使得编码复杂度较高。

发明内容

[0004] 本发明的目的在于提出一种码长固定的多码率LDPC码构造方法,以克服上述基于行合并或行分解方法构造的多码率LDPC码的不足。
[0005] 本发明的技术方案是:首先构造一个高码率的非规则重复累积码作为母码;然后以该母码为基础,通过同时减少信息位和增加校验位来降低码率;最终得到一组码长固定的多码率LDPC码。其实现包括如下步骤:
[0006] 1)根据所要构造的码长固定的多码率LDPC码的最高码率R1,确定循环系数矩阵C的列数:
[0007] 2)选取大于列数N的素数P,并由此确定循环置换矩阵大小L和码长n:
[0008] L=P-1,n=L×N
[0009] 3)根据素数P构造有限域GF(P),选取该有限域GF(P)上的任意本原元α,在不同的码率Rk下,确定循环系数矩阵Ck中第i行第j列的元素值 k=1,2,3:
[0010] 对于1≤i≤6,1≤j≤N-6的每一个元素,则
[0011] 对于1≤i≤6,N-5≤j≤N的每一个元素,则
[0012] 对于i=4,j=N-5,则
[0013] 对于7≤i≤12,1≤j≤N-12的每一个元素,则
[0014] 对于7≤i≤12,N-11≤j≤N的每一个元素,则
[0015] 对于13≤i≤18,1≤j≤N-18的每一个元素,则
[0016] 对于13≤i≤18,N-17≤j≤N的每一个元素,则
[0017] 其中当码率为R1=(1-6/N)时,1≤i≤6,1≤j≤N;当码率为R2=(1-12/N)时,1≤i≤12,1≤j≤N;当码率为R3=(1-18/N)时,1≤i≤18,1≤j≤N;
[0018] 4)确定最高码率LDPC码的掩膜矩阵B1:
[0019] 由列数N和码率R1设定掩膜矩阵B1是一个6行N列的矩阵,并根据密度进化理论确定B1的前N-6列是由(N-6)/6个相同的小矩阵Ba排列而成,最后6列是一个咬尾的双对角矩阵Bb,即:
[0020]
[0021] 其中,
[0022]
[0023] 5)确定码率为R2=(1-12/N)的LDPC码的掩膜矩阵B2:
[0024] 5a)将两个最高码率LDPC码的掩膜矩阵B1按列向进行拼接;
[0025] 5b)分别将拼接后的矩阵中的1至6行、N-11至N-6列变为全零矩阵;将7至12行、N-11至N-6列变为单对角矩阵;将7至12行的N-5、N-3和N-1列变为全零向量;
[0026] 5c)利用P-EXIT chart工具选择7至12行中截止到门限最低的列,并将这些列变为全零向量,即得到码率为(1-12/N)的LDPC码的掩膜矩阵B2;
[0027] 6)确定码率为R3=(1-18/N)的LDPC码的掩膜矩阵B3:
[0028] 6a)将(1-12/N)码率LDPC码的掩膜矩阵B2和最高码率LDPC码的掩膜矩阵B1按列向进行拼接;
[0029] 6b)分别将拼接后的矩阵中的1至12行、N-17至N-12列变为全零矩阵;将13至18行、N-17至N-12列变为单对角矩阵;将13至18行、N-11至N-6列变为全零矩阵;将13至18行的N-5、N-3和N-1列变为全零向量;
[0030] 6c)利用P-EXIT chart工具选择13至18行中截止到门限最低的列,并将这些列变为全零向量,即得到码率为(1-18/N)的LDPC码的掩膜矩阵B3;
[0031] 7)根据各个码率Rk对应的掩膜Bk确定各个码率的基矩阵Dk:
[0032] 假设循环系数矩阵Ck的第i行和第j列的元素值为 掩膜矩阵Bk第i行和第j列的元素值为 则基矩阵Dk中第i行和第j列的元素 的值为:
[0033]
[0034] 基矩阵Dk为:
[0035]
[0036] 8)根据各个码率Rk的基矩阵Dk确定对应于每个码率的LDPC码的校验矩阵Hk:
[0037] 如果 则校验矩阵Hk的(L×(i-1)+1)至(L×i)行及(L×(j-1)+1)至(L×j)列为L阶全零矩阵;
[0038] 如果 则校验矩阵Hk的(L×(i-1)+1)至(L×i)行及(L×(j-1)+1)至(L×j)列为L阶单位矩阵向右循环移位 位所得到的矩阵;
[0039] 在不同的码率Rk下得到码长相同的一组校验矩阵Hk。
[0040] 本发明结合了LDPC码构造中基于代数和基于图的方法,能方便地构造出一组码长固定的多码率LDPC码,且构造的多码率LDPC码可直接使用校验矩阵进行系统编码、易于硬件实现、性能优异。
[0041] 仿真结果表明:利用本发明构造的多码率LDPC码在各个码率都具有良好的性能。

附图说明

[0042] 图1是本发明的实现流程图;
[0043] 图2是用本发明实施例构造的5/6码率LDPC码的校验矩阵H的散点图;
[0044] 图3是用本发明实施例构造的2/3码率LDPC码的校验矩阵H的散点图;
[0045] 图4是用本发明实施例构造的1/2码率LDPC码的校验矩阵H的散点图;
[0046] 图5是用本发明的性能仿真图。

具体实施方式

[0047] 下面结合附图对本发明码长固定的多码率LDPC码的构造方法和效果作详细描述。
[0048] 本发明是一种码长固定的多码率LDPC码构造方法,是通过掩膜矩阵B、循环系数矩阵C、基矩阵D和L阶单位矩阵构造。多码率是通过设计掩膜矩阵和循环系数矩阵中元素的取值、对事先构造的性能优良的高码率LDPC母码减少信息位、同时增加校验位实现。
[0049] 本发明是以构造的固定码长为2376比特,码率R分别为5/6、2/3、1/2的多码率LDPC码为例进行描述
[0050] 参照图1,本实例的实现步骤如下:
[0051] 步骤1,根据所要构造的码长固定多码率LDPC码最高码率R1=5/6确定循环系数矩阵的列数N:
[0052]
[0053] 步骤2,选取大于N=36的素数P=67,并确定循环置换矩阵大小L和码长n:
[0054] L=P-1=66,
[0055] n=L×N=66×36=2376比特。
[0056] 步骤3,确定各个码率Rk下对应的循环系数矩阵Ck中第i行和第j列的元素值 其中k=1,2,3,i∈{1,2,...,18},j∈{1,2,...,36}:
[0057] i和j的取值随着码率Rk的不同而不同:当码率为R1=5/6时,1≤i≤6,1≤j≤36;当码率为R2=2/3时,1≤i≤12,1≤j≤36;当码率为R3=1/2时,1≤i≤18,1≤j≤36;
[0058] 选取有限域GF(67)的本原元α=2,并根据该本原元确定 的数值,得到码率为R1=5/6时循环系数矩阵C1的元素如下:
[0059]19 63 32 54 29 53 47 59 11 30 33 24 61 22 28 48 40 25 15 20 0 0 0 0 0 0
5 7 21 65 34 56 31 55 49 61 13 32 35 26 63 24 30 50 42 27 0 0 0 0 0 0
53 39 7 9 23 1 36 58 33 57 51 63 15 34 37 28 65 26 32 52 0 0 0 0 0 0
16 58 55 41 9 11 25 3 38 60 35 59 53 65 17 36 39 30 1 28 1 0 0 0 0 0
17 46 18 60 57 43 11 13 27 5 40 62 37 61 55 1 19 38 41 32 0 0 0 0 0 0
56 60 19 48 20 62 59 45 13 15 29 7 42 64 39 63 57 3 21 40 0 0 0 0 0 0[0060] 得到码率为R2=2/3时循环系数矩阵C2的元素如下:
[0061]19 63 32 54 29 53 47 59 11 30 33 24 61 22 28 48 40 25 15 20 0 0 0 0 0 0
5 7 21 65 34 56 31 55 49 61 13 32 35 26 63 24 30 50 42 27 0 0 0 0 0 0
53 39 7 9 23 1 36 58 33 57 51 63 15 34 37 28 65 26 32 52 0 0 0 0 0 0
16 58 55 41 9 11 25 3 38 60 35 59 53 65 17 36 39 30 1 28 1 0 0 0 0 0
17 46 18 60 57 43 11 13 27 5 40 62 37 61 55 1 19 38 41 32 0 0 0 0 0 0
56 60 19 48 20 62 59 45 13 15 29 7 42 64 39 63 57 3 21 40 0 0 0 0 0 0
10 43 58 62 21 50 22 64 61 47 15 17 31 9 0 0 0 0 0 0 0 0 0 0 0 0
26 13 12 45 60 64 23 52 24 0 63 49 17 19 0 0 0 0 0 0 0 0 0 0 0 0
39 5 28 15 14 47 62 0 25 54 26 2 65 51 0 0 0 0 0 0 0 0 0 0 0 0
36 62 41 7 30 17 16 49 64 2 27 56 28 4 0 0 0 0 0 0 0 0 0 0 0 0
54 61 38 64 43 9 32 19 18 51 0 4 29 58 0 0 0 0 0 0 0 0 0 0 0 0
18 1 56 63 40 0 45 11 34 21 20 53 2 6 0 0 0 0 0 0 0 0 0 0 0 0
[0062] 得到码率为R3=1/2时循环系数矩阵C3的元素如下:
[0063]19 63 32 54 29 53 47 59 11 30 33 24 61 22 28 48 40 25 15 20 0 0 0 0 0 0
5 7 21 65 34 56 31 55 49 61 13 32 35 26 63 24 30 50 42 27 0 0 0 0 0 0
53 39 7 9 23 1 36 58 33 57 51 63 15 34 37 28 65 26 32 52 0 0 0 0 0 0
16 58 55 41 9 11 25 3 38 60 35 59 53 65 17 36 39 30 1 28 1 0 0 0 0 0
17 46 18 60 57 43 11 13 27 5 40 62 37 61 55 1 19 38 41 32 0 0 0 0 0 0
56 60 19 48 20 62 59 45 13 15 29 7 42 64 39 63 57 3 21 40 0 0 0 0 0 0
10 43 58 62 21 50 22 64 61 47 15 17 31 9 0 0 0 0 0 0 0 0 0 0 0 0
26 13 12 45 60 64 23 52 24 0 63 49 17 19 0 0 0 0 0 0 0 0 0 0 0 0
39 5 28 15 14 47 62 0 25 54 26 2 65 51 0 0 0 0 0 0 0 0 0 0 0 0
36 62 41 7 30 17 16 49 64 2 27 56 28 4 0 0 0 0 0 0 0 0 0 0 0 0
54 61 38 64 43 9 32 19 18 51 0 4 29 58 0 0 0 0 0 0 0 0 0 0 0 0
18 1 56 63 40 0 45 11 34 21 20 53 2 6 0 0 0 0 0 0 0 0 0 0 0 0
40 38 20 3 58 65 42 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 32 42 40 22 5 60 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
35 30 4 34 44 42 24 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 20 64 33 55 30 54 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
38 6 8 22 0 35 57 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
57 54 40 8 10 24 2 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[0064] 步骤4,确定码率为R1=5/6码的掩膜矩阵B1:
[0065] 设掩膜矩阵B1的1至6行、1至30列是由5个相同的小矩阵构成;掩膜矩阵B1的1至6行、31至36列是由一个咬尾的双对角矩阵构成,得到的掩膜矩阵B1如下:
[0066]
[0067] 步骤5,确定码率为R2=2/3的LDPC码的掩膜矩阵B2:
[0068] 5a)将两个码率为5/6的LDPC码的掩膜矩阵B1按列向进行拼接;
[0069] 5b)分别将拼接后的矩阵中的1至6行、25至30列变为全零矩阵;将7至12行、25至30列变为单对角矩阵;将7至12行的31、33和35列变为全零向量;
[0070] 5c)利用P-EXIT chart工具选择7至12行中截止到门限最低的列,并将这些列变为全零向量,得到码率为2/3的LDPC码的掩膜矩阵B2如下:
[0071]
[0072] 步骤6,确定码率为R3=1/2的LDPC码的掩膜矩阵B3:
[0073] 6a)将码率为2/3的LDPC码的掩膜矩阵B2和码率为5/6的LDPC码的掩膜矩阵B1按列向进行拼接;
[0074] 6b)分别将拼接后的矩阵中的1至12行、19至24列变为全零矩阵;将13至18行、19至24列变为单对角矩阵;将13至18行、25至30列变为全零矩阵;将13至18行的31、33和35列变为全零向量;
[0075] 6c)利用P-EXIT chart工具选择13至18行中截止到门限最低的列,并将这些列变为全零向量,得到码率为1/2的LDPC码的掩膜矩阵B3如下:
[0076]
[0077] 步骤7,根据各个码率的循环系数矩阵Ck和掩膜矩阵Bk确定各个码率的基矩阵Dk:
[0078] 假设循环系数矩阵Ck的第i行和第j列的元素值为 掩膜矩阵Bk第i行和第j列的元素值为 则基矩阵Dk中第i行和第j列的元素 的值为:
[0079]
[0080] 基矩阵Dk为:
[0081]
[0082] 当码率为5/6时,得到大小为6行36列的基矩阵D1为:
[0083]
[0084] 当码率为2/3时,得到大小为12行36列的基矩阵D2为:
[0085]
[0086] 当码率为1/2时,得到大小为18行36列的基矩阵D3为:
[0087]
[0088] 步骤8,根据各个码率Rk的基矩阵Dk确定对应于每个码率的LDPC码的校验矩阵Hk:
[0089] 如果 则校验矩阵Hk的(L×(i-1)+1)至(L×i)行及(L×(j-1)+1)至(L×j)列为L阶全零矩阵;
[0090] 如果 则校验矩阵Hk的(L×(i-1)+1)至(L×i)行及(L×(j-1)+1)至(L×j)列为L阶单位矩阵向右循环移位 位所得到的矩阵;
[0091] 在不同的码率Rk下得到码长相同的一组校验矩阵。
[0092] 由于校验矩阵Hk很大,故将其表示在附图中,其中图2所示是5/6码率LDPC码的校验矩阵H1的散点,图3所示是2/3码率LDPC码的校验矩阵H2的散点,图4所示1/2码率LDPC码的校验矩阵H3的散点。每幅图中的散点位置表示校验矩阵的元素值为1,空白处表示校验矩阵的元素值为0。
[0093] 本发明的效果可通过以下仿真进一步说明:
[0094] 仿真1.对本发明构造的码长固定为2376比特的多码率LDPC码进行BPSK调制,再经过AWGN信道,最后在接收端采用和积译码算法,迭代50次进行误码率性能仿真,结果如图5所示。
[0095] 由图5可见,本发明构造的码长固定为2376比特的LDPC码在各个码率下均有较好的性能。