基于LDPC码的预处理编码方法、电子设备以及介质
未命名
10-10
阅读:222
评论:0
基于ldpc码的预处理编码方法、电子设备以及介质
技术领域
1.本发明实施例涉及但不限于通信编码领域,尤其涉及一种基于ldpc码的预处理编码方法、电子设备以及介质。
背景技术:
2.低密度奇偶校验(low density parity check,ldpc)码是前向纠错(forward error correct,fec)方案中使用的信道码。ldpc码可实现接近香农限的性能,由于在硬件中能够设计实现高度并行化的码,支持高数据速率,因此近年来受到极大的关注,但是ldpc编码的编码复杂度较高,存在编码时延较大的问题。
技术实现要素:
3.以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
4.本发明实施例的主要目的在于提出一种基于ldpc码的预处理编码方法、电子设备以及介质,不影响原有的编码增益,能够有效降低编码运算的复杂度和减小编码时延。
5.第一方面,本发明实施例提供了一种基于ldpc码的预处理编码方法,所述方法包括:
6.获取ldpc矩阵;
7.根据所述ldpc矩阵确定校验矩阵和记录矩阵,所述校验矩阵为由所述ldpc矩阵中的校验列所组成的矩阵;
8.根据所述校验矩阵对所述ldpc矩阵和记录矩阵进行预处理,得到为近似下三角矩阵的目标ldpc矩阵和目标记录矩阵,所述目标记录矩阵表征所述校验矩阵在预处理过程中列的移动情况;
9.根据所述目标ldpc矩阵和所述目标记录矩阵进行编码处理,得到所述ldpc矩阵所对应的码字。
10.第二方面,本发明实施例提供了一种预处理编码装置,包括:
11.获取模块,用于获取ldpc矩阵;
12.确定模块,用于根据所述ldpc矩阵确定校验矩阵和记录矩阵,所述校验矩阵为由所述ldpc矩阵中的校验列所组成的矩阵;
13.预处理模块,用于根据所述校验矩阵的行重和列重对所述ldpc矩阵和记录矩阵进行预处理,得到为近似下三角矩阵的目标ldpc矩阵和目标记录矩阵,所述目标记录矩阵表征所述校验矩阵在预处理过程中列的移动情况;
14.编码模块,用于根据所述目标ldpc矩阵和所述目标记录矩阵进行编码处理,得到所述ldpc矩阵所对应的码字
15.第三方面,本发明实施例提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一
方面所述的基于ldpc码的预处理编码方法。
16.第四方面,一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行第一方面所述的基于ldpc码的预处理编码方法。
17.本发明实施例包括:获取ldpc矩阵;根据ldpc矩阵确定校验矩阵和记录矩阵,校验矩阵为由ldpc矩阵中的校验列所组成的矩阵;根据校验矩阵对ldpc矩阵和记录矩阵进行预处理,得到为近似下三角矩阵的目标ldpc矩阵和目标记录矩阵,目标记录矩阵表征校验矩阵在预处理过程中列的移动情况;根据目标ldpc矩阵和目标记录矩阵进行编码处理,得到ldpc矩阵所对应的码字。本实施例的预处理编码方法技术方案是通过基于ldpc矩阵中的校验列所组成的校验矩阵进行预处理得到的目标ldpc矩阵和目标记录矩阵,并利用目标ldpc矩阵和目标记录矩阵进行编码处理所得到与ldpc矩阵所对应的码字,使用该预处理编码方法在预处理过程中不改变ldpc矩阵,不影响原有的编码增益,并可以实现低复杂度编码运算,从而能够有效减小编码时延。
18.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
19.图1是本发明一个实施例提供的用于执行基于ldpc码的预处理编码方法的系统平台架构的示意图;
20.图2是本发明一个实施例提供的基于ldpc码的预处理编码方法的流程图;
21.图3是本发明另一个实施例提供的基于ldpc码的预处理编码方法的流程图;
22.图4是本发明另一个实施例提供的基于ldpc码的预处理编码方法的流程图;
23.图5是本发明另一个实施例提供的基于ldpc码的预处理方法的流程图;
24.图6是本发明另一个实施例提供的基于ldpc码的编码方法的流程图;
25.图7是本发明一个实施例提供的本发明一个实施例提供的目标ldpc矩阵划分为六个矩阵的示意图。
具体实施方式
26.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
27.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书、权利要求书或上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
28.本发明实施例提供了一种基于ldpc码的预处理编码方法、电子设备以及介质,该基于ldpc码的预处理编码方法包括以下步骤:获取ldpc矩阵;根据ldpc矩阵确定校验矩阵和记录矩阵,校验矩阵为由ldpc矩阵中的校验列所组成的矩阵;根据校验矩阵的行重和列重对ldpc矩阵和记录矩阵进行预处理,得到为近似下三角矩阵的目标ldpc矩阵和目标记录
矩阵,目标记录矩阵表征校验矩阵在预处理过程中列的移动情况;根据目标ldpc矩阵和目标记录矩阵进行编码处理,得到ldpc矩阵所对应的码字。本实施例的预处理编码方法技术方案是通过基于ldpc矩阵中的校验列所组成的校验矩阵进行预处理得到的目标ldpc矩阵和目标记录矩阵,并利用目标ldpc矩阵和目标记录矩阵进行编码处理所得到与ldpc矩阵所对应的码字,使用该预处理编码方法在预处理过程中不改变ldpc矩阵,不影响原有的编码增益,并可以实现低复杂度编码运算,从而能够有效减小编码时延。
29.下面结合附图,对本发明实施例作进一步阐述。
30.如图1所示,图1是本发明一个实施例提供的用于执行基于ldpc码的预处理编码方法的系统平台架构的示意图。
31.在图1的示例中,该系统平台架构100设置有处理器110和存储器120,其中,处理器110和存储器120可以通过总线或者其他方式连接,图1中以通过总线连接为例。
32.存储器120作为一种非暂态计算机本发明一个实施例提供的用于执行基于ldpc码的预处理编码方法的系统平台架构的示意图可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器120可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器120可选包括相对于处理器110远程设置的存储器,这些远程存储器可以通过网络连接至该肾上腺功能性肿瘤分型定位设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
33.本领域技术人员可以理解的是,该系统平台架构100可以应用于5g通信网络系统以及后续演进的移动通信网络系统等,本实施例对此并不作具体限定。
34.本领域技术人员可以理解的是,图1中示出的系统平台架构100并不构成对本发明实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
35.基于上述系统平台架构,下面提出本发明的基于ldpc码的预处理编码方法的各个实施例。
36.如图2所示,图2是本发明一个实施例提供的基于ldpc码的预处理编码方法的流程图,本发明实施例的基于ldpc码的预处理编码方法可以包括但不限于包括步骤s100、步骤s200、步骤s300和步骤s400。
37.步骤s100,获取ldpc矩阵。
38.具体地,获取需要进行编码处理的ldpc矩阵,ldpc矩阵通常包括含有信息比特的信息列和含有校验比特的校验列。
39.步骤s200,根据ldpc矩阵确定校验矩阵和记录矩阵,校验矩阵为由ldpc矩阵中的校验列所组成的矩阵。
40.具体地,从ldpc矩阵中确定含有校验比特的校验列,并将含有校验比特的校验列组成为校验矩阵,然后根据校验矩阵的行个数和列个数,生成记录矩阵,记录矩阵为与校验矩阵的行个数和列个数相同的矩阵,记录矩阵用于记录后续预处理过程中校验矩阵的列的移动情况。
41.在一实施例中,根据ldpc矩阵确定检验列,将所有检验列组合成校验矩阵,然后获取校验矩阵的行数量和列数量,根据校验矩阵的行数量和列数量生成记录矩阵,记录矩阵
为与校验矩阵的行数量和列数量相同的单位矩阵,其中,记录矩阵用于记录后续预处理过程中校验矩阵的列的移动情况。
42.需要说明的是,记录矩阵可以是单位矩阵,也可以是其他结构的矩阵,本实施例对其不作具体限定。
43.步骤s300,根据校验矩阵的行重和列重对ldpc矩阵和记录矩阵进行预处理,得到为近似下三角矩阵的目标ldpc矩阵和目标记录矩阵,目标记录矩阵表征校验矩阵在预处理过程中列的移动情况。
44.具体地,以校验矩阵为基础,根据校验矩阵的行重和列重对ldpc矩阵进行预处理,在预处理过程中,在移动行的情况下,则针对校验矩阵的行对ldpc矩阵的行进行统一移动;而在列移动的过程中,只需要移动校验矩阵的列,不移动非校验矩阵的列,在移动校验矩阵的列的过程中,同步对记录矩阵中对应的列进行移动,在完成预处理之后,得到为近似下三角矩阵的目标ldpc矩阵和目标记录矩阵。
45.步骤s400,根据目标ldpc矩阵和目标记录矩阵进行编码处理,得到ldpc矩阵所对应的码字。
46.具体地,在完成ldpc矩阵对预处理得到目标ldpc矩阵后,可以根据对根据目标ldpc矩阵和目标记录矩阵进行编码处理,得到ldpc矩阵所对应的码字,由于目标ldpc矩阵进行位置置换的列只包括校验矩阵中校验bit对应的校验列,不会改变ldpc矩阵中校验比特和信息bit的校验关系,那么编码得到的码字与ldpc矩阵对应,在后续的接收端对码字进行译码直接得到ldpc矩阵,能够不影响原有的编码增益。
47.在一实施例中,首先获取ldpc矩阵,ldpc矩阵包括含有信息比特的信息列和含有校验比特的校验列,然后将ldpc矩阵中校验列组合成校验矩阵,并根据校验矩阵生成大小相同的记录矩阵,再根据校验矩阵的行重和列重对ldpc矩阵和记录矩阵进行预处理,得到为近似下三角矩阵的目标ldpc矩阵和目标记录矩阵,其中目标记录矩阵表征校验矩阵在预处理过程中列的移动情况,完成预处理步骤,接着最后根据目标ldpc矩阵和目标记录矩阵进行编码处理,得到ldpc矩阵所对应的码字,完成对ldpc矩阵的编码。本实施例的预处理编码方法技术方案是通过基于ldpc矩阵中的校验列所组成的校验矩阵进行预处理得到的目标ldpc矩阵和目标记录矩阵,并利用目标ldpc矩阵和目标记录矩阵进行编码处理所得到与ldpc矩阵所对应的码字,使用该预处理编码方法在预处理过程中不改变ldpc矩阵,不影响原有的编码增益,并可以实现低复杂度编码运算,从而能够有效减小编码时延。
48.另外,如图3所示,图3是本发明另一个实施例提供的基于ldpc码的预处理编码方法的流程图;步骤s200可以包括但不限于包括步骤s310、步骤320、步骤330和步骤340。
49.步骤s310,获取校验矩阵中所有行的行重;
50.步骤s320,根据校验矩阵的行重进行第一阶段预处理,得到第一阶段预处理后的校验矩阵,第一阶段预处理后的校验矩阵的行数量比校验矩阵的行数量少,且第一阶段预处理后的校验矩阵中包括列重为1的列;
51.步骤s330,根据列重为1的列对第一阶段预处理后的校验矩阵和记录矩阵进行第二阶段预处理,得到第二阶段预处理后的校验矩阵和第二阶段预处理后的记录矩阵,第二阶段预处理后的校验矩阵的行数量和列数量均比第一阶段预处理后的校验矩阵的行数量和列数量少,第二阶段预处理后的记录矩阵表征第二阶段预处理后的校验矩阵相对第一阶
段预处理后的校验矩阵的列移位情况;
52.步骤s340,迭代执行第一阶段预处理和第二阶段预处理,直至第二阶段预处理后的校验矩阵的行数为0,得到近似下三角矩阵的目标ldpc矩阵和目标记录矩阵。
53.在一实施例中,在确定校验矩阵和记录矩阵之后,对基于校验矩阵对ldpc矩阵进行预处理,首先获取校验矩阵中所有行的行重,然后根据校验矩阵的行重进行第一阶段预处理,得到第一阶段预处理后的校验矩阵,第一阶段预处理后的校验矩阵的行数量比校验矩阵的行数量少,且第一阶段预处理后的校验矩阵中包括列重为1的列,接着从第一阶段预处理后的校验矩阵中找出列重为1的列,并对第一阶段预处理后的校验矩阵中对列重为1的列的进行第二阶段预处理,得到第二阶段预处理后的校验矩阵,第二阶段预处理后的校验矩阵的行数量和列数量均比第一阶段预处理后的校验矩阵的行数量和列数量少,同时,根据第二阶段预处理后的校验矩阵相对第一阶段预处理后的校验矩阵的列移位情况对记录矩阵进行第二阶段预处理,得到第二阶段预处理后的记录矩阵,接着,迭代执行上述第一阶段预处理和第二阶段预处理,直至第二阶段预处理后的校验矩阵的行数为0,停止预处理操作,得到目标ldpc矩阵和目标记录矩阵。
54.在一实施例中,在第一阶段预处理的方法流程中,迭代将校验矩阵中行重最大的行所对应的初始ldpc矩阵中的行下移至检验矩阵中的最下一行,并剔除检验矩阵中的最下一行,直至剔除处理后的校验矩阵中包括列重为1的列以完成第一阶段预处理,得到第一阶段预处理后的校验矩阵,第一阶段预处理的更新行为是减去行重最大的一行,这样可以保证每次更新后的校验矩阵中所含非零元素最少,所得矩阵下三角矩阵更大,从而使得下三角矩阵的大小与校验比特个数的距离更加小,从而能够使得编码运算部分复杂度越低。
55.在一实施例中,在第二阶段预处理的方法流程中,首先从第一阶段预处理后的校验矩阵中随机选择列重为1的列,并将所选择的列重为1的列移动至校验矩阵中的最右列,然后将移动后的校验矩阵的最右列中的非零元素所对应的ldpc矩阵的行移动至ldpc矩阵的最下一行,接着剔除移动后的校验矩阵中的最右列以及最下一行,以完成对第一阶段预处理后的校验矩阵的第二阶段预处理,得到第二阶段预处理后的校验矩阵,再根据从第一阶段预处理后的校验矩阵中随机选择列重为1的列,确定记录矩阵中需要移动的列,并将需要移动的列移动至记录矩阵中的最右列,以完成对记录矩阵的第二阶段预处理,得到第二阶段预处理后的记录矩阵,通过第一阶段和第二极端预处理步骤能够在校验矩阵中逐步生成矩阵下三角矩阵。
56.在一实施例中,在确定校验矩阵和记录矩阵之后,在校验矩阵中不存在列重为1的列的情况下,执行第一阶段预处理,根据校验矩阵的行重进行第一阶段预处理,得到第一阶段预处理后的校验矩阵,第一阶段预处理后的校验矩阵的行数量比校验矩阵的行数量少,且第一阶段预处理后的校验矩阵中包括列重为1的列;若在校验矩阵中存在列重为1的列的情况下,可以跳过第一阶段预处理操作,直接执行第二阶段预处理,根据列重为1的列对第一阶段预处理后的校验矩阵和记录矩阵进行第二阶段预处理,得到第二阶段预处理后的校验矩阵和第二阶段预处理后的记录矩阵,第二阶段预处理后的校验矩阵的行数量和列数量均比第一阶段预处理后的校验矩阵的行数量和列数量少,第二阶段预处理后的记录矩阵表征第二阶段预处理后的校验矩阵相对第一阶段预处理后的校验矩阵的列移位情况,通过上述预处理方法,可以保证每次更新后的校验矩阵中所含非零元素最少,所得矩阵下三角矩
阵更大,从而使得下三角矩阵的大小与校验比特个数的距离更加小,从而能够使得编码运算部分复杂度越低。
57.另外,如图4所示,图4是本发明另一个实施例提供的基于ldpc码的预处理编码方法的流程图;基于上述步骤s400的步骤,可以包括但不限于步骤s410和步骤420。
58.步骤s410,根据目标ldpc矩阵进行第一编码处理,得到目标ldpc矩阵所对应的码字;
59.步骤s420,根据目标ldpc矩阵所对应的码字、目标ldpc矩阵和目标记录矩阵进行第二编码处理,得到初始ldpc矩阵所对应的码字。
60.具体地,在预处理得到目标ldpc矩阵和目标记录矩阵之后,进入到编码流程中,首先,根据目标ldpc矩阵进行第一编码处理,得到目标ldpc矩阵所对应的码字,然后根据目标ldpc矩阵所对应的码字中的校验信息比特向量、目标ldpc矩阵和目标记录矩阵进行计算,得到目标校验比特向量,再根据目标ldpc矩阵中的信息比特向量和目标校验比特向量进行第二编码处理,得到初始ldpc矩阵所对应的码字,使用该预处理编码方法在预处理过程中不改变ldpc矩阵,不影响原有的编码增益,并可以实现低复杂度编码运算,从而能够有效减小编码时延。
61.另外,本发明另一个实施例提供的基于ldpc码的预处理编码方法。
62.基于ldpc码的预处理编码方法中对预处理部分的改进主要有:第一,进行位置置换的列只包括h矩阵(ldpc矩阵)中校验比特对应的列(校验列),不会改变h矩阵(ldpc矩阵)中校验比特和信息比特的校验关系。第二,当ha(校验矩阵)中不包含列重为1的列,集合ω为空时,集合ω为列重为1的列的集合,减去ha(校验矩阵)中行重最大的一行,这样可以保证每次更新后ha(校验矩阵)所含非零元素最少,所得校验矩阵中的下三角矩阵t更大。
63.在一实施例中,将码字表示为c
ldpc
=(s,p),其中s表示信息比特向量,p表示校验比特向量,码字长度为n,信息比特长度为k,校验比特长度为m=n-k,ldpc矩阵h的大小为m
×
n,h的前k列是信息比特对应部分,表示为hs(m
×
k);h的后m列是校验比特对应部分,表示为h
p
(m
×
m)。
64.改进的预处理部分,只对校验比特对应部分h
p
(m
×
m)中的列进行位置变换,得到目标ldpc矩阵h
pre
。同时用记录矩阵pc记录所进行的列位置变化。后续编码运算部分,先根据h
pre
·cpret
=0求得c
pre
,然后再根据pc将c
pre
中的校验比特位置进行变化,得到c
ldpc
,c
ldpc
满足h
·cldpct
=0。
65.参照图5,图5为本发明另一个实施例提供的基于ldpc码的预处理方法的流程图,具体步骤如下:
66.步骤1、初始化,处理对象矩阵ha=h
p
,h
pre
=h;pc=i(m
×
m),pc是大小为(m
×
m)的单位矩阵,执行步骤2。
67.其中,h
pre
矩阵为ldpc矩阵,ha矩阵为校验矩阵,pc用于记录h
pre
的列位置变化。
68.步骤2、寻找ha中所有列重为1的列,将其所在的h
pre
矩阵中的列构成列集合ω(ha中的一列,都是h
pre
中一列的某一部分,行列置换对象是h
pre
中的列),执行步骤3。
69.步骤3、判断ω集合是否为空,如果ω集合不为空,则进行步骤7;如果ω集合为空,则进行步骤4。
70.步骤4、寻找ha中行重最大的行,将其对应的h
pre
的行下移到ha中最下一行,执行步
骤5。
71.步骤5、更新ha=h
a-(ha的最下一行),执行步骤6。
72.步骤6、如果ha的行数大于等于1,重新回到步骤2。如果ha的行数等于0,算法停止,预处理完成,得到目标ldpc矩阵h
pre
,执行步骤7。
73.步骤7、随机等概选择ω中的任意一列,将其位置移动到ha的最右列,找到其非零元素所在的h
pre
的行,将其位置移动到ha的最下一行,执行步骤8。
74.步骤8、同时对pc矩阵进行相同的列移位操作,执行步骤9。
75.步骤9、更新ha=h
a-(步骤7移动的列和行),转至步骤6。
76.参照图6,图6为本发明另一个实施例提供的基于ldpc码的编码的流程图,具体步骤如下:
77.步骤1、输入目标ldpc矩阵h
pre
、目标记录矩阵pc、三角矩阵的大小与校验比特个数的距离g、信息比特向量s;
78.步骤2、根据距离g的大小,讲矩阵h
pre
划分为(如图7);
79.步骤3、求解t-1
、求解φ-1
=(-et-1
b+d)-1
;
80.步骤4、求解求解
81.步骤5、将校验位p
pre
重新排序得到p;
82.步骤6、输出码字c
ldpc
=[s,p]。
[0083]
在一实施例中,编码运算部分先求得h
pre
所对应的码字c
pre
,然后再由c
pre
求得校验矩阵h所对应的码字c
ldpc
。
[0084]cpre
码字可以表示为s为码字信息比特向量,为校验比特向量。
[0085]
可以由h
pre
和s求得p
pre
。
[0086]
依据公式
[0087]
将p
pre
中元素顺序重排得到p,从而得到c
ldpc
=(s,p),将c
ldpc
=(s,p)发送至接收端;
[0088]
接收端根据来进行译码,可以完全没有改变初始h矩阵。
[0089]
另外,通过一个具体实施例对图5的预处理流程进行详细说明,具体如下:
[0090]
a)初始化,处理对象矩阵ha=h
p
,h
pre
=h;pc=i(m
×
m),pc是大小为(m
×
m)的单位矩阵。(pc用于记录ha的位置变化)
[0091][0092]
b)此时ha没有列重为1的列,ω为空,转到步骤4。
[0093]
c)寻找ha中行重最大的行,将其对应的h
pre
的行下移到ha中最下一行。
[0094]
更新ha=h
a-(ha最下一行)。重新回到步骤2。
[0095]
d)此时ha没有列重为1的列,ω为空,转到步骤4。
[0096]
e)寻找ha中行重最大的行,将其对应的h
pre
的行下移到ha中最下一行。
[0097]
更新ha=h
a-(ha最下一行)。重新回到步骤2。
[0098][0099]
f)寻找ha中所有列重为1的列,将其所在的h
pre
矩阵中的列构成列集合ω。
[0100]
ω集合不为空,进行步骤7。
[0101][0102]
g)等概选择ω中的任意一列,将其位置移动到ha的最右列,找到其非零元素所在的h
pre
的行,将其位置移动到ha的最下一行。同时对pc矩阵进行相同的行列移位操作。
[0103][0104]
h)更新ha=h
a-(步骤7移动的列和行)。如果ha的行数大于等于1,重新回到步骤2。
[0105][0106]
i)寻找ha中所有列重为1的列,将其所在的h
pre
矩阵中的列构成列集合ω。
[0107]
ω集合不为空,进行步骤7。
[0108][0109]
j)等概选择ω中的任意一列,将其位置移动到ha的最右列,找到其非零元素所在的h
pre
的行,将其位置移动到ha的最下一行。同时对pc矩阵进行相同的行列移位操作。
[0110][0111]
k)更新ha=h
a-(步骤7移动的列和行)。如果ha的行数大于等于1,重新回到步骤2。
[0112][0113]
l)寻找ha中所有列重为1的列,将其所在的h
pre
矩阵中的列构成列集合ω。
[0114]
ω集合不为空,进行步骤7。
[0115][0116]
m)等概选择ω中的任意一列,将其位置移动到ha的最右列,找到其非零元素所在的h
pre
的行,将其位置移动到ha的最下一行。同时对pc矩阵进行相同的行列移位操作。
[0117][0118]
n)更新ha=h
a-(步骤7移动的列和行)。ha的行数大于等于1,重新回到步骤2。
[0119][0120]
o)寻找ha中所有列重为1的列,将其所在的h
pre
矩阵中的列构成列集合ω。
[0121]
ω集合不为空,进行步骤7。
[0122][0123]
p)等概选择ω中的任意一列,将其位置移动到ha的最右列,找到其非零元素所在的h
pre
的行,将其位置移动到ha的最下一行。同时对pcpc矩阵进行相同的行列移位操作。
[0124][0125]
选择的列恰好是在ha的最右列和最下列,不用移动。
[0126]
q)更新ha=h
a-(步骤7移动的列和行)。ha的行数等于0,算法停止,预处理完成。
[0127][0128]
此外,再通过另一个具体实施例对图5的预处理流程进行详细说明。本实施例说明针对准循环ldpc码字(qc-ldpc),在保留循环结构(qc结构)下,本算法的实施。在此应用下,h
pre
不是基于矩阵h建立,而是基于qc-ldpc码的基矩阵建立。
[0129]
已构qc-ldpc码字的基矩阵如下:
[0130][0131]
其中z表示在h矩阵中此处为大小为(3
×
3)的全0矩阵:
[0132][0133]
数字表示在h矩阵中此处为大小为(3
×
3)单位阵的循环移位矩阵:
[0134][0135]
预处理部分h
pre
、ha都基于hj矩阵建立,由此,初始化的ha和pc如下:
[0136][0137]
之后的处理过程中,z等同于实施例一的0元素,数字等同于实施例一的非零元素,上述h
qc-pre
与实施例一中h
pre
的处理过程完全一致。因为将h
qc-pre
中的z替换为0,将所有数字替换为1,得到的矩阵h
t
与上一实施例中的初始化h
pre
完全一致。
[0138][0139]
另外,本发明的一个实施例提供了一种预处理编码装置,包括:
[0140]
获取模块,用于获取ldpc矩阵;
[0141]
确定模块,用于根据所述ldpc矩阵确定校验矩阵和记录矩阵,所述校验矩阵为由所述ldpc矩阵中的校验列所组成的矩阵;
[0142]
预处理模块,用于根据所述校验矩阵的行重和列重对所述ldpc矩阵和记录矩阵进行预处理,得到为近似下三角矩阵的目标ldpc矩阵和目标记录矩阵,所述目标记录矩阵表征所述校验矩阵在预处理过程中列的移动情况;;
[0143]
编码模块,用于根据所述目标ldpc矩阵和所述目标记录矩阵进行编码处理,得到所述ldpc矩阵所对应的码字。
[0144]
在一实施例中,预处理模块还用于获取所述校验矩阵中所有行的行重;根据所述校验矩阵的行重进行第一阶段预处理,得到所述第一阶段预处理后的校验矩阵,所述第一阶段预处理后的校验矩阵的行数量比所述校验矩阵的行数量少,且所述第一阶段预处理后的校验矩阵中包括列重为1的列;根据所述列重为1的列对所述第一阶段预处理后的校验矩阵和所述记录矩阵进行第二阶段预处理,得到第二阶段预处理后的校验矩阵和第二阶段预处理后的记录矩阵,所述第二阶段预处理后的校验矩阵的行数量和列数量均比所述第一阶段预处理后的校验矩阵的行数量和列数量少,所述第二阶段预处理后的记录矩阵表征所述第二阶段预处理后的校验矩阵相对所述第一阶段预处理后的校验矩阵的列移位情况;迭代执行所述第一阶段预处理和所述第二阶段预处理,直至所述第二阶段预处理后的校验矩阵的行数为0,得到近似下三角矩阵的目标ldpc矩阵和目标记录矩阵。
[0145]
在一实施例中,预处理模块还用于迭代将所述校验矩阵中行重最大的行所对应的初始ldpc矩阵中的行下移至所述检验矩阵中的最下一行,并剔除所述检验矩阵中的最下一行,直至剔除处理后的校验矩阵中包括列重为1的列以完成第一阶段预处理,得到所述第一阶段预处理后的校验矩阵。
[0146]
在一实施例中,预处理模块还用于从所述第一阶段预处理后的校验矩阵中随机选择所述列重为1的列,并将所选择的所述列重为1的列移动至所述校验矩阵中的最右列;将移动后的所述校验矩阵的最右列中的非零元素所对应的所述ldpc矩阵的行移动至所述ldpc矩阵的最下一行;剔除移动后的所述校验矩阵中的最右列以及最下一行,以完成对所述第一阶段预处理后的校验矩阵的第二阶段预处理,得到第二阶段预处理后的校验矩阵;根据从所述第一阶段预处理后的校验矩阵中随机选择所述列重为1的列,确定所述记录矩阵中需要移动的列,并将所述需要移动的列移动至所述记录矩阵中的最右列,以完成对所述记录矩阵的第二阶段预处理,得到第二阶段预处理后的记录矩阵。
[0147]
在一实施例中,确定模块还用于根据所述ldpc矩阵确定检验列;将所有所述检验列组合成校验矩阵;获取所述校验矩阵的行数量和列数量;根据所述校验矩阵的行数量和列数量生成记录矩阵,所述记录矩阵为与所述校验矩阵的行数量和列数量相同的单位矩
阵。
[0148]
在一实施例中,还包括执行模块,用于在所述校验矩阵中不存在列重为1的列的情况下,执行所述第一阶段预处理;或者,在所述校验矩阵中存在列重为1的列的情况下,执行所述第二阶段预处理。
[0149]
在一实施例中,编码模块还用于根据所述目标ldpc矩阵进行第一编码处理,得到所述目标ldpc矩阵所对应的码字;根据所述目标ldpc矩阵所对应的码字、所述目标ldpc矩阵和所述目标记录矩阵进行第二编码处理,得到所述初始ldpc矩阵所对应的码字。
[0150]
在一实施例中,编码模块还用于根据所述目标ldpc矩阵所对应的码字中的校验信息比特向量、所述目标ldpc矩阵和所述目标记录矩阵进行计算,得到目标校验比特向量;根据所述目标ldpc矩阵中的信息比特向量和所述目标校验比特向量进行第二编码处理,得到所述初始ldpc矩阵所对应的码字。
[0151]
需要说明的是,上述预处理编码装置的各个实施例与基于ldpc码的预处理编码方法的实施例中所使用的技术手段、解决的技术问题以及达到的技术效果一致,此处不作具体赘述,详见会话管理方法的实施例。
[0152]
另外,本发明的一个实施例提供了一种电子设备,该设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。处理器和存储器可以通过总线或者其他方式连接。需要说明的是,本实施例中的计算机,可以对应为包括有如图1所示实施例中的存储器和处理器,能够构成图1所示实施例中的系统架构平台的一部分,两者属于相同的发明构思,因此两者具有相同的实现原理以及有益效果,此处不再详述。
[0153]
实现上述实施例的基于ldpc码的预处理编码方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例的基于基于ldpc码的预处理编码方法,例如,执行以上描述的图2中的方法步骤s100至s400、图3中的方法步骤s310至s340和图4中的方法步骤s410至s420。
[0154]
此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,当计算机可执行指令用于执行上述控制器的基于ldpc码的预处理编码方法,例如,执行以上描述的图2中的方法步骤s100至s400、图3中的方法步骤s310至s340和图4中的方法步骤s410至s420。
[0155]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包括计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0156]
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本发明权利要求所限定的范围内。
技术特征:
1.一种基于低密度奇偶校验ldpc码的预处理编码方法,所述方法包括:获取ldpc矩阵;根据所述ldpc矩阵确定校验矩阵和记录矩阵,所述校验矩阵为由所述ldpc矩阵中的校验列所组成的矩阵;根据所述校验矩阵的行重和列重对所述ldpc矩阵和记录矩阵进行预处理,得到为近似下三角矩阵的目标ldpc矩阵和目标记录矩阵,所述目标记录矩阵表征所述校验矩阵在预处理过程中列的移动情况;根据所述目标ldpc矩阵和所述目标记录矩阵进行编码处理,得到所述ldpc矩阵所对应的码字。2.根据权利要求1所述的基于ldpc码的预处理编码方法,其特征在于,所述根据所述校验矩阵对所述ldpc矩阵和记录矩阵进行预处理,得到为近似下三角矩阵的目标ldpc矩阵和目标记录矩阵,所述目标记录矩阵表征所述校验矩阵在预处理过程中列的移动情况,包括:获取所述校验矩阵中所有行的行重;根据所述校验矩阵的行重进行第一阶段预处理,得到所述第一阶段预处理后的校验矩阵,所述第一阶段预处理后的校验矩阵的行数量比所述校验矩阵的行数量少,且所述第一阶段预处理后的校验矩阵中包括列重为1的列;根据所述列重为1的列对所述第一阶段预处理后的校验矩阵和所述记录矩阵进行第二阶段预处理,得到第二阶段预处理后的校验矩阵和第二阶段预处理后的记录矩阵,所述第二阶段预处理后的校验矩阵的行数量和列数量均比所述第一阶段预处理后的校验矩阵的行数量和列数量少,所述第二阶段预处理后的记录矩阵表征所述第二阶段预处理后的校验矩阵相对所述第一阶段预处理后的校验矩阵的列移位情况;迭代执行所述第一阶段预处理和所述第二阶段预处理,直至所述第二阶段预处理后的校验矩阵的行数为0,得到近似下三角矩阵的目标ldpc矩阵和目标记录矩阵。3.根据权利要求2所述的基于ldpc码的预处理编码方法,其特征在于,所述根据所述校验矩阵的行重进行第一阶段预处理,得到所述第一阶段预处理后的校验矩阵,包括:迭代将所述校验矩阵中行重最大的行所对应的初始ldpc矩阵中的行下移至所述检验矩阵中的最下一行,并剔除所述检验矩阵中的最下一行,直至剔除处理后的校验矩阵中包括列重为1的列以完成第一阶段预处理,得到所述第一阶段预处理后的校验矩阵。4.根据权利要求2或者3所述的基于ldpc码的预处理编码方法,其特征在于,所述根据所述列重为1的列对所述第一阶段预处理后的校验矩阵和所述记录矩阵进行第二阶段预处理,得到第二阶段预处理后的校验矩阵和第二阶段预处理后的记录矩阵,包括:从所述第一阶段预处理后的校验矩阵中随机选择所述列重为1的列,并将所选择的所述列重为1的列移动至所述校验矩阵中的最右列;将移动后的所述校验矩阵的最右列中的非零元素所对应的所述ldpc矩阵的行移动至所述ldpc矩阵的最下一行;剔除移动后的所述校验矩阵中的最右列以及最下一行,以完成对所述第一阶段预处理后的校验矩阵的第二阶段预处理,得到第二阶段预处理后的校验矩阵;根据从所述第一阶段预处理后的校验矩阵中随机选择所述列重为1的列,确定所述记录矩阵中需要移动的列,并将所述需要移动的列移动至所述记录矩阵中的最右列,以完成
对所述记录矩阵的第二阶段预处理,得到第二阶段预处理后的记录矩阵。5.根据权利要求1所述的基于ldpc码的预处理编码方法,其特征在于,所述根据所述ldpc矩阵确定校验矩阵和记录矩阵,所述校验矩阵为由所述ldpc矩阵中的校验列所组成的矩阵,包括:根据所述ldpc矩阵确定检验列;将所有所述检验列组合成校验矩阵;获取所述校验矩阵的行数量和列数量;根据所述校验矩阵的行数量和列数量生成记录矩阵,所述记录矩阵为与所述校验矩阵的行数量和列数量相同的单位矩阵。6.根据权利要求2所述的基于ldpc码的预处理编码方法,其特征在于,所述根据所述ldpc矩阵确定校验矩阵和记录矩阵,所述校验矩阵为由所述ldpc矩阵中的校验列所组成的矩阵之后,所述方法还包括:在所述校验矩阵中不存在列重为1的列的情况下,执行所述第一阶段预处理;或者,在所述校验矩阵中存在列重为1的列的情况下,执行所述第二阶段预处理。7.根据权利要求1所述的基于ldpc码的预处理编码方法,其特征在于,所述根据所述目标ldpc矩阵和所述目标记录矩阵进行编码处理,得到所述ldpc矩阵所对应的码字,包括包括:根据所述目标ldpc矩阵进行第一编码处理,得到所述目标ldpc矩阵所对应的码字;根据所述目标ldpc矩阵所对应的码字、所述目标ldpc矩阵和所述目标记录矩阵进行第二编码处理,得到所述初始ldpc矩阵所对应的码字。8.根据权利要求7所述的基于ldpc码的预处理编码方法,其特征在于,所述根据所述目标ldpc矩阵所对应的码字、所述目标ldpc矩阵和所述目标记录矩阵进行第二编码处理,得到所述初始ldpc矩阵所对应的码字,包括:根据所述目标ldpc矩阵所对应的码字中的校验信息比特向量、所述目标ldpc矩阵和所述目标记录矩阵进行计算,得到目标校验比特向量;根据所述目标ldpc矩阵中的信息比特向量和所述目标校验比特向量进行第二编码处理,得到所述初始ldpc矩阵所对应的码字。9.一种预处理编码装置,其特征在于,包括:获取模块,用于获取ldpc矩阵;确定模块,用于根据所述ldpc矩阵确定校验矩阵和记录矩阵,所述校验矩阵为由所述ldpc矩阵中的校验列所组成的矩阵;预处理模块,用于根据所述校验矩阵的行重和列重对所述ldpc矩阵和记录矩阵进行预处理,得到为近似下三角矩阵的目标ldpc矩阵和目标记录矩阵,所述目标记录矩阵表征所述校验矩阵在预处理过程中列的移动情况;编码模块,用于根据所述目标ldpc矩阵和所述目标记录矩阵进行编码处理,得到所述ldpc矩阵所对应的码字。10.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任意一项所
述的基于ldpc码的预处理编码方法。11.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至8任意一项所述的基于ldpc码的预处理编码方法。
技术总结
本发明实施例提供了一种基于LDPC码的预处理编码方法、电子设备以及介质,该方法包括以下步骤:获取LDPC矩阵;根据LDPC矩阵确定校验矩阵和记录矩阵,校验矩阵为由LDPC矩阵中的校验列所组成的矩阵;根据校验矩阵的行重和列重对LDPC矩阵和记录矩阵进行预处理,得到为近似下三角矩阵的目标LDPC矩阵和目标记录矩阵,目标记录矩阵表征校验矩阵在预处理过程中列的移动情况;根据目标LDPC矩阵和目标记录矩阵进行编码处理,得到LDPC矩阵所对应的码字。本实施例的技术方案通过基于LDPC矩阵中的校验列所组成的校验矩阵进行预处理,不影响原有的编码增益,能够有效降低编码运算的复杂度和减小编码时延。小编码时延。小编码时延。
技术研发人员:陶凯 王立芊 陈雪 朱淼 王卫明
受保护的技术使用者:北京邮电大学
技术研发日:2022.03.23
技术公布日:2023/10/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
