CN112737599A - 一种原模图ldpc码的自学习快速收敛译码方法及装置 - Google Patents
一种原模图ldpc码的自学习快速收敛译码方法及装置 Download PDFInfo
- Publication number
- CN112737599A CN112737599A CN202110014150.8A CN202110014150A CN112737599A CN 112737599 A CN112737599 A CN 112737599A CN 202110014150 A CN202110014150 A CN 202110014150A CN 112737599 A CN112737599 A CN 112737599A
- Authority
- CN
- China
- Prior art keywords
- decoding
- check nodes
- layer
- ldpc code
- self
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012549 training Methods 0.000 claims abstract description 84
- 238000013528 artificial neural network Methods 0.000 claims abstract description 45
- 238000004422 calculation algorithm Methods 0.000 claims description 43
- 210000002569 neuron Anatomy 0.000 claims description 37
- 238000010276 construction Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 description 16
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 239000013598 vector Substances 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1157—Low-density generator matrices [LDGM]
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Abstract
本说明书一个或多个实施例提供一种原模图LDPC码的自学习快速收敛译码方法及装置,包括基于原模图LDPC码生成训练样本,对原模图LDPC码的校验节点进行分组,得到至少一组校验节点,根据至少一组校验节点,构建自学习神经网络译码模型,输入训练样本对自学习神经网络译码模型进行训练,得到用于对原模图LDPC码进行译码的译码模型,利用译码模型对原模图LDPC码进行译码。本实施例的译码方法,基于分组后的校验节点构建译码模型,利用译码模型进行原模图LDPC码的译码,结合并行计算与串行计算,能够保证译码速度,同时加快译码收敛速度,提高译码性能。
Description
技术领域
本说明书一个或多个实施例涉及通信技术领域,尤其涉及一种原模图LDPC码的自学习快速收敛译码方法及装置。
背景技术
低密度奇偶校验码(Low Density Parity Check Code,LDPC),是一种译码复杂度低且性能优良的线性分组纠错码,LDPC码的优异性能已成为5G标准中的数据信道编码方案,5G标准下的LDPC码是一种原模图LDPC码。
目前的LDPC码迭代译码方法可分为洪泛(flooding)机制和分层(Layered)机制,洪泛机制是指在一次迭代中所有校验节点一起更新,并行度很高,译码速度快,但是同样的迭代次数条件下译码性能不及分层机制;分层机制是指在一次迭代译码中串行调度校验节点,串行度很高,译码速度较慢,译码性能随迭代次数快速收敛。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种原模图LDPC码的自学习快速收敛译码方法及装置,能够提高译码速度,同时保证译码性能。
基于上述目的,本说明书一个或多个实施例提供了一种原模图LDPC码的自学习快速收敛译码方法,包括:
基于原模图LDPC码生成训练样本;
对原模图LDPC码的校验节点进行分组,得到至少一组校验节点;
根据至少一组校验节点,构建自学习神经网络译码模型;
输入所述训练样本对所述自学习神经网络译码模型进行训练,得到用于对所述原模图LDPC码进行译码的译码模型;
利用所述译码模型进行译码。
可选的,所述对原模图LDPC码的校验节点进行分组,得到至少一组校验节点,包括:
确定两两校验节点之间的相关性;
根据两两校验节点之间的相关性,将各校验节点进行聚类,将同一类的校验节点分为一组,得到分组后的至少一组校验节点。
可选的,所述各校验节点进行聚类的方法是:同一组内的校验节点相关性低于预定低阈值,不同组的校验节点相关性高于预定高阈值。
可选的,所述根据至少一组校验节点,构建自学习神经网络译码模型,包括:
将各组校验节点作为一个译码层,构建所述自学习神经网络译码模型,所述自学习神经网络译码模型包括:
输入层,用于输入所述训练样本;
至少一层译码层,每层译码层包括至少一个组合子层,所述组合子层的个数与所述校验节点的组数相同,每个组合子层用于一组校验节点及与该组校验节点连接的变量节点按照特定的译码算法进行更新;
输出层,用于输出经过各译码层进行译码处理后的译码结果。
可选的,所述组合子层包括变量节点更新子层、校验节点更新子层和判决子层,所述变量节点更新子层中的神经元和校验节点更新子层中的神经元用于按照所述译码算法进行更新运算,所判决子层用于输出判决信息。
可选的,所述校验节点更新子层中的神经元设置权重和偏置;
输入所述训练样本对所述自学习神经网络译码模型进行训练,包括:
输入所述训练样本对所述自学习神经网络译码模型进行训练,确定所述权重和偏置。
可选的,所述基于原模图LDPC码生成训练样本,包括:基于原模图LDPC码生成至少一组训练样本;所述训练样本的组数与所述译码层的层数相同,各组训练样本的信噪比不同;
输入所述训练样本对所述自学习神经网络译码模型进行训练,包括:
采用逐层训练方式,按照训练样本的信噪比从高到低的顺序,依次训练串行连接的第一层译码层到最后一层译码层。
可选的,所述方法还包括:
根据待译码的原模图LDPC码的码长和确定出的权重和偏置,确定用于对所述待译码的LDPC码译码的译码模型。
本说明书实施例提供一种原模图LDPC码的自学习快速收敛译码装置,包括:
样本构造模块,用于基于原模图LDPC码生成训练样本;
分组模块,用于对原模图LDPC码的校验节点进行分组,得到至少一组校验节点;
模型构建模块,用于根据至少一组校验节点,构建自学习神经网络译码模型;
训练模块,用于输入所述训练样本对所述自学习神经网络译码模型进行训练,得到用于对所述原模图LDPC码进行译码的译码模型;
译码模块,用于利用所述译码模型进行译码。
可选的,所述分组模块,用于确定两两校验节点之间的相关性;根据两两校验节点之间的相关性,将各校验节点进行聚类,将同一类的校验节点分为一组,得到分组后的至少一组校验节点。
从上面所述可以看出,本说明书一个或多个实施例提供的原模图LDPC码的自学习快速收敛译码方法及装置,通过基于原模图LDPC码生成训练样本,对原模图LDPC码的校验节点进行分组,得到至少一组校验节点,根据至少一组校验节点,构建自学习神经网络译码模型,输入训练样本对自学习神经网络译码模型进行训练,得到用于对原模图LDPC码进行译码的译码模型,利用译码模型对原模图LDPC码进行译码。本说明书的译码方法,结合并行计算与串行计算,能够保证译码速度,同时加快译码收敛,提高译码性能,能够从接收的含有噪声和干扰的信息序列中还原出原始的信息序列。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例的方法流程示意图;
图2为本说明书一个或多个实施例的矩阵形式的原模图示意图;
图3为本说明书一个或多个实施例的校验节点分组示意图;
图4为本说明书一个或多个实施例的模型结构示意图;
图5为本说明书一个或多个实施例的实验结果示意图;
图6为本说明书一个或多个实施例的装置结构示意图;
图7为本说明书一个或多个实施例的电子设备结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
如背景技术部分所述,LDPC码迭代译码方法主要分为洪泛机制的并行译码方法和分层机制的串行译码方法,并行译码方法的并行度高,译码速度快,但是随迭代次数译码收敛速度较慢,译码性能不及串行译码方法,串行译码方法通过串行译码,收敛速度快,但是译码速度慢。
申请人在实现本公开的过程中发现,原模图LDPC码的迭代译码方法在进行置信度传播译码时,信息在校验节点和变量节点之间的迭代过程与深度学习中神经网络的结构类似,因而,可构建用于实现原模图LDPC译码的神经网络模型,通过对模型进行训练得到模型参数,利用训练好的模型进行译码,能够提高译码性能。
以下,通过具体的实施例进一步详细说明本说明书公开的技术方案。
如图1所示,本说明书一个或多个实施例提供一种原模图LDPC码的自学习快速收敛译码方法,包括:
S101:基于原模图LDPC码构造训练样本;
本实施例中,基于原模图LDPC码的生成矩阵,构造训练样本。将0、1等概率的信源比特序列与生成矩阵G相乘得到信息序列y,y=Gx;信息序列y经过特定的调制方式调制后得到调制后的信息序列y`,加入高斯白噪声nz,得到带高斯白噪声的信息序列s,s=y`+nz;基于带高斯白噪声的信息序列,计算对数似然比信息序列g,σ2是噪声nz的方差,将对数似然比信息序列g作为训练样本。
一些方式中,原模图LDPC码的奇偶校验矩阵从原模图扩展Z倍得到,扩展时,原模图的矩阵中元素1扩展成Z×Z的单位矩阵或者单位矩阵循环移位后的矩阵,原模图的矩阵中元素0扩展成Z×Z的全零矩阵,扩展后,原模图LDPC码的奇偶校验矩阵为mZ×nZ。
S102:对原模图LDPC码的校验节点进行分组,得到至少一组校验节点;
本实施例中,根据原模图LDPC码的校验节点之间的相关性,将校验节点进行分组,得到至少一组校验节点。
结合图2所示,一些实施例中,原模图LDPC码的原模图的矩阵形式的每个行向量可以代表一个校验节点,每个列向量代表一个变量节点,每个非零元素代表一条边,表示相互连接的变量节点与校验节点。由此,可基于原模图的矩阵形式,计算两两行向量之间的相关性,根据相关性计算结果对各校验节点进行分组。
S103:根据至少一组校验节点,构建自学习神经网络译码模型;
本实施例中,根据至少一组校验节点,构建自学习神经网络译码模型,包括:将各组校验节点作为神经网络的一层译码层,构建包括至少一层译码层的自学习神经网络译码模型,该自学习神经网络译码模型包括输入层、至少一层译码层以及输出层。
结合图4所示,输入层用于输入训练样本,本实施例中,用于输入对数似然比信息序列;输出层用于输出经过各译码层进行译码处理后的译码结果。
译码层的层数表示迭代译码的次数,每层译码层包括串行连接的S个组合子层,即,第1个组合子层的输出是第2个组合子层的输入,……第S-1个组合子层的输出是第S个组合子层的输入。每个组合子层包括变量节点更新子层、校验节点更新子层和判决子层,每个组合子层用于一组校验节点的更新过程,每个组合子层对应一组校验节点的并行调度,即一组内所有校验节点进行并行调度更新,一层译码层的各个组合子层对应各组校验节点的串行调度更新;对一组校验节点进行并行调度时,该组中的所有校验节点以及相邻的变量节点按照特定的译码算法进行更新,变量节点更新子层用于完成变量节点的更新,校验节点更新子层用于完成校验节点的更新,判决子层更新子层用于更新迭代后的判决信息,得到迭代增益。一些方式中,译码算法可以是MS算法(Min-Sum,最小和算法)及其改进算法等,利用译码模型实现MS算法的优化,译码算法较为简单,本实施例不对具体的译码算法进行具体限定。
其中,变量节点更新子层中的神经元与校验节点更新子层中相连接的神经元对应原模图中的一条边,判决子层的神经元个数与变量节点更新子层中的神经元个数相同,校验节点更新子层中的神经元与判决子层中相连接的神经元对应原模图中的边;上一个组合子层中的判决子层的神经元与下一个组合子层中的变量节点更新子层中相连接的神经元对应原模图中的边;变量节点更新子层的神经元和校验节点更新子层的神经元按照预定的译码算法进行运算,由判决子层的神经元输出译码信息。
在自学习神经网络译码模型中,于每个校验节点更新子层设置可学习的参数,校验节点更新子层的原模图每条边对应的神经元设置一组可学习的参数,在模型训练过程中,确定参数。
S104:输入训练样本对自学习神经网络译码模型进行训练,得到用于对原模图LDPC码进行译码的译码模型;
S105:利用译码模型对原模图LDPC码进行译码。
本实施例中,利用生成的训练样本对构建的自学习神经网络译码模型进行训练,若模型有多层译码层,则采用逐层训练方式(iteration-by-iteration)对自学习神经网络译码模型进行训练。其中,逐层训练方式为:先对第一层译码层进行训练,得到第一层译码层的参数,然后固定第一层译码层的参数,对第二层译码层进行训练,得到第二层译码层的参数,以此类推,分别训练得到各译码层的参数,最终得到参数确定的译码模型,通过逐层训练过程逐层调整参数,能够提高收敛速度,降低低层次迭代译码的误码率,提高译码性能,后续利用训练好的译码模型对原模图LDPC码进行译码。
本实施例提供的原模图LDPC码的自学习快速收敛译码方法,包括基于原模图LDPC码生成训练样本,对原模图LDPC码的校验节点进行分组,得到至少一组校验节点,根据至少一组校验节点,构建自学习神经网络译码模型,输入训练样本对自学习神经网络译码模型进行训练,得到用于对原模图LDPC码进行译码的译码模型,利用译码模型对原模图LDPC码进行译码。本实施例的译码方法,基于分组后的校验节点构建译码模型,利用译码模型进行原模图LDPC码的译码,结合并行计算与串行计算,能够保证译码速度,同时加快译码收敛,提高译码性能。
可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。
一些实施例中,步骤S102中,对原模图LDPC码的校验节点进行分组,得到至少一组校验节点,包括:
确定两两校验节点之间的相关性;
根据两两校验节点之间的相关性,将各校验节点进行聚类,将同一类的校验节点分为一组,得到分组后的至少一组校验节点。
本实施例中,对于m行n列的原模图的矩阵形式,计算两两行向量之间的内积,根据内积计算结果确定两两行向量之间的相关性,根据两两行向量之间的相关性,按照聚类算法将各校验节点进行聚类,将同一类的校验节点分为一组,得到分组后的校验节点。
一些实施例中,各校验节点进行聚类的聚类原则是:同一组内的校验节点相关性低于预定低阈值,不同组的校验节点相关性高于预定高阈值。
本实施例中,分组时,同一组内的校验节点相关性越低越好,能够实现与同一组内的校验节点相连接的变量节点的交集小,并集大,同一组内校验节点完成迭代之后能够更新尽量多的变量节点;不同组的校验节点相关性越高越好,能够实现与不同组的校验节点相连接的变量节点的交集大,并集小,每组校验节点完成迭代之后能够更新尽量多的变量节点,加快译码收敛。
结合图3所示,一些方式中,原模图的矩阵形式具有m个行向量,对应m个校验节点,计算两两行向量之间的内积,确定两两行向量之间的相关性,根据确定出的两两行向量之间的相关性,将m个校验节点分为S组,得到分组后的校验节点G1,G2,…,GS,每组中校验节点的个数分别为a1,a2,…,aS,且每组中的校验节点的个数可以相同或者不同。
一些实施例中,基于原模图LDPC码生成训练样本,包括:基于原模图LDPC码生成至少一组训练样本;其中,训练样本的组数与译码层的层数相同,各组训练样本的信噪比不同;
输入训练样本对自学习神经网络译码模型进行训练,包括:采用逐层训练方式,按照训练样本的信噪比从高到低的顺序,依次训练串行连接的第一层译码层到最后一层译码层。
本实施例中,自学习神经网络译码模型具有至少一层译码层,构造至少一组训练样本,训练样本的组数和译码层的层数相同,每组训练样本用于训练一层译码层的参数,各组训练样本的信噪比不同,按照信噪比从高到低的顺序,依次训练串行连接的第一层译码层到最后一层译码层,即,利用信噪比最高的信息序列训练第一层译码层,利用信噪比最低的信息序列训练最后一层译码层。这样,经过逐层训练方式训练得到的译码模型,能够提高译码性能。
一些实施例中,利用自学习神经网络译码模型实现自学习分层最小和算法(Neural Layered MS,NLMS),该自学习神经网络译码模型包括依次连接的输入层、I层译码层和一个输出层。输入层输入的对数似然比信息序列的码长为N=n×Z,Z是提升因子,n为变量节点的个数;I层译码层对应I次迭代译码,第i次迭代译码对应译码算法的第i次迭代;每层译码层包括S个组合子层,每个组合子层进行一次子迭代,一次子迭代用于一组校验节点的更新过程,每个译码层进行对应S组校验节点的S次子迭代,经过S次子迭代完成所有校验节点的更新过程。输出层输出N个对数似然比信息的译码结果。
每个组合子层包括变量节点更新子层校验节点更新子层和判决子层其中,s=1,2,…,S,变量节点更新子层和校验节点更新子层均有Es×Z个神经元,Es是该组校验节点连边的个数。判决子层用于记录更新的判决信息,并可输出判决信息用于损失函数计算。
其中,为从输入到变量节点v的对数似然比信息序列;为第i次迭代的第s-1次子迭代判决子层中变量节点v对应的神经元输出的对数似然比信息;为第i-1次迭代的第s次子迭代判决子层中变量节点v对应的神经元输出的对数似然比信息;代表第i-1次迭代的第s次子迭代校验节点更新子层中边e=(v,c)对应的神经元输出的对数似然比信息;代表第i次迭代的第s-1次子迭代中判决子层变量节点v对应的神经元输出的对数似然比信息;代表第i次迭代的第s次子迭代变量节点更新子层中边e=(v,c)对应的神经元输出的对数似然比信息。
其中,ReLU(x)=max(x,0),分别为第i次迭代的检验节点更新子层中边e=(v,c)对应的神经元的权重和偏置;为第i次迭代的第s次子迭代变量节点更新子层中边e′=(v′,c)(v′≠v)对应的神经元输出的对数似然比信息;为第i次迭代的第s次子迭代校验节点更新子层中边e=(v,c)对应的神经元输出的对数似然比信息。
其中,为第i-1次迭代的第t次子迭代校验节点更新子层中边e=(v,c)对应的神经元输出的对数似然比信息;为第i次迭代的第t次子迭代校验节点更新子层中边e=(v,c)对应的神经元输出的对数似然比信息;为第i次迭代的第s次子迭代判决子层中变量节点v对应的神经元输出的对数似然比信息。
判决神经元可输出的译码信息为:
其中,σ(x)=(1+exp(-x))-1是激活函数。
输出层输出最后一层译码层的判决子层的译码信息作为自学习神经网络译码模型输出的译码结果。
结合公式(2),在自学习神经网络译码模型的校验节点更新子层的校验节点神经元设置权重和偏置,作为模型训练过程中可学习的参数,经过模型训练,每层译码层的权重和偏置得到优化调整,使得训练得到的译码模型的校验节点更新方式与SP算法(Sum-Product,和积算法)有更好的近似,这样,构建的自学习神经网络译码模型中,虽然变量节点神经元和校验节点神经元采用MS算法进行迭代译码,但是获得的译码性能接近于SP算法,同时保持较低的算法复杂度。另外,通过将校验节点分组,同一组内的校验节点并行调度,各组校验节点串行调度,利用神经网络模型实现校验节点的分组串行调度的方式,加快了译码收敛,提高了译码性能。
一些实施例中,本实施例的原模图LDPC码的自学习快速收敛译码方法,还包括:
根据待译码的原模图LDPC码的码长和确定出的权重和偏置,确定用于对待译码的原模图LDPC码译码的译码模型。
本实施例中,按照上述方法确定出了译码模型,该译码模型能够对与训练样本中的原模图LDPC码的码长一致的原模图LDPC码进行译码。对于由训练所用的原模图扩展的得到的任意码长的LDPC码,可将已经确定出的译码模型的模型参数(偏置和权重)进行复制,将原模图中同一条边的模型参数复制,作为扩展后的Z条边的模型参数,即,扩展后的Z条边公用一组已经训练好的模型参数,得到能够对任意码长的原模图LDPC码进行译码的译码模型。这样,只用一组训练出的参数,能够适用于同一原模图扩展出的不同码长的原模图LDPC码的译码模型中,使得所提供的译码模型具有良好的泛化能力,而且,降低算法复杂度,硬件实现可行性更高。
一些方式中,在模型训练时,设定最大训练数,设定每个批量样本(batch)的样本数以及学习速率,采用逐层训练方式对自学习神经网络译码模型的每层译码层进行训练,训练过程中,组合子层进行子迭代时,根据判决子层输出的判决信息参与损失函数的计算,采用ADAM优化算法调整组合子层的权重和偏置,训练完成后得到每层译码层的权重和偏置,得到参数确定的译码模型。
结合图5所示,通过仿真实验验证本实施例提供的译码方法NLMS的译码性能。训练样本中,选择LDPC码的BG2中码长为156的码,即Z=3,调制方式为BPSK,信道为高斯白噪声信道,迭代次数为5次;同时,采用LSP算法、LMS算法和并行SP算法进行译码,LSP算法、LMS算法与本实施例的NLMS的校验节点的分组方法相同,LSP算法和LMS算法未使用神经网络模型,通过对LSP算法、LMS算法、并行SP算法和本实施例的NLMS算法的译码结果和译码性能进行对比分析,以横坐标为信噪比,纵坐标为误码率,从图中可以看出,NLMS算法与LMS算法的复杂度近似,NLMS算法的译码性能远好于LMS算法的译码性能,在相同的误码率下NLMS算法相对于LSP算法的增益可达0.5dB,相较于迭代10次(图5中对应l=10)的并行SP算法也有0.5dB的增益,可见,本实施例的NLMS算法的收敛较快,译码性能较好。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
如图6所示,本说明书实施例还提供一种原模图LDPC码的自学习快速收敛译码装置,包括:
样本构造模块,用于基于原模图LDPC码生成训练样本;
分组模块,用于对原模图LDPC码的校验节点进行分组,得到至少一组校验节点;
模型构建模块,用于根据至少一组校验节点,构建自学习神经网络译码模型;
训练模块,用于输入所述训练样本对所述自学习神经网络译码模型进行训练,得到用于对所述LDPC码进行译码的译码模型;
译码模块,用于利用所述译码模型进行译码。
一些实施例中,所述分组模块,用于确定两两校验节点之间的相关性;根据两两校验节点之间的相关性,将各校验节点进行聚类,将同一类的校验节点分为一组,得到分组后的至少一组校验节点。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图7示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种原模图LDPC码的自学习快速收敛译码方法,其特征在于,包括:
基于原模图LDPC码生成训练样本;
对原模图LDPC码的校验节点进行分组,得到至少一组校验节点;
根据至少一组校验节点,构建自学习神经网络译码模型;
输入所述训练样本对所述自学习神经网络译码模型进行训练,得到用于对所述原模图LDPC码进行译码的译码模型;
利用所述译码模型进行译码。
2.根据权利要求1所述的方法,其特征在于,所述对原模图LDPC码的校验节点进行分组,得到至少一组校验节点,包括:
确定两两校验节点之间的相关性;
根据两两校验节点之间的相关性,将各校验节点进行聚类,将同一类的校验节点分为一组,得到分组后的至少一组校验节点。
3.根据权利要求2所述的方法,其特征在于,所述各校验节点进行聚类的方法是:同一组内的校验节点相关性低于预定低阈值,不同组的校验节点相关性高于预定高阈值。
4.根据权利要求1所述的方法,其特征在于,所述根据至少一组校验节点,构建自学习神经网络译码模型,包括:
将各组校验节点作为一个译码层,构建所述自学习神经网络译码模型,所述自学习神经网络译码模型包括:
输入层,用于输入所述训练样本;
至少一层译码层,每层译码层包括至少一个组合子层,所述组合子层的个数与所述校验节点的组数相同,每个组合子层用于一组校验节点及与该组校验节点连接的变量节点按照特定的译码算法进行更新;
输出层,用于输出经过各译码层进行译码处理后的译码结果。
5.根据权利要求4所述的方法,其特征在于,所述组合子层包括变量节点更新子层、校验节点更新子层和判决子层,所述变量节点更新子层中的神经元和校验节点更新子层中的神经元用于按照所述译码算法进行更新运算,所判决子层用于输出判决信息。
6.根据权利要求5所述的方法,其特征在于,所述校验节点更新子层中的神经元设置权重和偏置;
输入所述训练样本对所述自学习神经网络译码模型进行训练,包括:
输入所述训练样本对所述自学习神经网络译码模型进行训练,确定所述权重和偏置。
7.根据权利要求4所述的方法,其特征在于,所述基于原模图LDPC码生成训练样本,包括:基于原模图LDPC码生成至少一组训练样本;所述训练样本的组数与所述译码层的层数相同,各组训练样本的信噪比不同;
输入所述训练样本对所述自学习神经网络译码模型进行训练,包括:
采用逐层训练方式,按照训练样本的信噪比从高到低的顺序,依次训练串行连接的第一层译码层到最后一层译码层。
8.根据权利要求6所述的方法,其特征在于,还包括:
根据待译码的原模图LDPC码的码长和确定出的权重和偏置,确定用于对所述待译码的LDPC码译码的译码模型。
9.一种原模图LDPC码的自学习快速收敛译码装置,其特征在于,包括:
样本构造模块,用于基于原模图LDPC码生成训练样本;
分组模块,用于对原模图LDPC码的校验节点进行分组,得到至少一组校验节点;
模型构建模块,用于根据至少一组校验节点,构建自学习神经网络译码模型;
训练模块,用于输入所述训练样本对所述自学习神经网络译码模型进行训练,得到用于对所述原模图LDPC码进行译码的译码模型;
译码模块,用于利用所述译码模型进行译码。
10.根据权利要求9所述的装置,其特征在于,
所述分组模块,用于确定两两校验节点之间的相关性;根据两两校验节点之间的相关性,将各校验节点进行聚类,将同一类的校验节点分为一组,得到分组后的至少一组校验节点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110014150.8A CN112737599A (zh) | 2021-01-06 | 2021-01-06 | 一种原模图ldpc码的自学习快速收敛译码方法及装置 |
PCT/CN2021/085830 WO2021204163A1 (zh) | 2020-04-10 | 2021-04-07 | 原模图低密度奇偶校验码的自学习译码方法及其相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110014150.8A CN112737599A (zh) | 2021-01-06 | 2021-01-06 | 一种原模图ldpc码的自学习快速收敛译码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112737599A true CN112737599A (zh) | 2021-04-30 |
Family
ID=75590688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110014150.8A Pending CN112737599A (zh) | 2020-04-10 | 2021-01-06 | 一种原模图ldpc码的自学习快速收敛译码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112737599A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113473149A (zh) * | 2021-05-14 | 2021-10-01 | 北京邮电大学 | 用于无线图像传输的语义信道联合编码方法及装置 |
CN113872610A (zh) * | 2021-10-08 | 2021-12-31 | 华侨大学 | 一种ldpc码神经网络训练、译码方法及其系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047392A (zh) * | 2007-03-23 | 2007-10-03 | 北京航空航天大学 | 一种多码率的ldpc码的译码器装置及译码方法 |
CN102075197A (zh) * | 2010-12-29 | 2011-05-25 | 北京遥测技术研究所 | 一种ldpc译码方法 |
CN102195655A (zh) * | 2011-02-25 | 2011-09-21 | 山东大学 | 一种准循环ldpc译码器及译码方法 |
CN108183713A (zh) * | 2017-12-15 | 2018-06-19 | 南京大学 | 基于改进型最小和算法的ldpc译码器及其译码方法 |
CN111565051A (zh) * | 2020-04-10 | 2020-08-21 | 北京邮电大学 | 一种用于ldpc码的自学习归一化偏置最小和译码方法 |
-
2021
- 2021-01-06 CN CN202110014150.8A patent/CN112737599A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047392A (zh) * | 2007-03-23 | 2007-10-03 | 北京航空航天大学 | 一种多码率的ldpc码的译码器装置及译码方法 |
CN102075197A (zh) * | 2010-12-29 | 2011-05-25 | 北京遥测技术研究所 | 一种ldpc译码方法 |
CN102195655A (zh) * | 2011-02-25 | 2011-09-21 | 山东大学 | 一种准循环ldpc译码器及译码方法 |
CN108183713A (zh) * | 2017-12-15 | 2018-06-19 | 南京大学 | 基于改进型最小和算法的ldpc译码器及其译码方法 |
CN111565051A (zh) * | 2020-04-10 | 2020-08-21 | 北京邮电大学 | 一种用于ldpc码的自学习归一化偏置最小和译码方法 |
Non-Patent Citations (2)
Title |
---|
JINCHENG DAI等: "Asynchronous Polar-Coded Modulation", 《 2020 IEEE INTERNATIONAL SYMPOSIUM ON INFORMATION THEORY (ISIT)》 * |
雷菁等: "基于串行消息传递机制的QC-LDPC码快速译码算法研究", 《电子与信息学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113473149A (zh) * | 2021-05-14 | 2021-10-01 | 北京邮电大学 | 用于无线图像传输的语义信道联合编码方法及装置 |
CN113872610A (zh) * | 2021-10-08 | 2021-12-31 | 华侨大学 | 一种ldpc码神经网络训练、译码方法及其系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liang et al. | An iterative BP-CNN architecture for channel decoding | |
Lugosch et al. | Neural offset min-sum decoding | |
WO2021204163A1 (zh) | 原模图低密度奇偶校验码的自学习译码方法及其相关设备 | |
CN108933602B (zh) | 用于低密度奇偶校验解码的深度学习 | |
US10380479B2 (en) | Acceleration of convolutional neural network training using stochastic perforation | |
CN106464268B (zh) | 用于管理校验节点计算装置的方法以及实施该方法的装置和软件 | |
CN109361404B (zh) | 一种基于半监督深度学习网络的ldpc译码系统及译码方法 | |
Dolecek et al. | Predicting error floors of structured LDPC codes: Deterministic bounds and estimates | |
CN110932734B (zh) | 一种基于交替方向乘子法的深度学习信道译码方法 | |
JPWO2015118686A1 (ja) | 階層型ニューラルネットワーク装置、判別器学習方法および判別方法 | |
CN111565051B (zh) | 一种用于ldpc码的自学习归一化偏置最小和译码方法 | |
Liu et al. | Exploiting error-correction-CRC for polar SCL decoding: A deep learning-based approach | |
US20210241094A1 (en) | Rank selection in tensor decomposition based on reinforcement learning for deep neural networks | |
Dai et al. | New min-sum decoders based on deep learning for polar codes | |
CN112737599A (zh) | 一种原模图ldpc码的自学习快速收敛译码方法及装置 | |
KR20070058430A (ko) | 블록 부호를 재귀반복적으로 복호하기 위한 방법 및 장치 | |
WO2018157263A1 (en) | Generalized polar codes | |
Rhe et al. | VWC-SDK: Convolutional weight mapping using shifted and duplicated kernel with variable windows and channels | |
CN111917419B (zh) | 一种数据译码的方法以及装置 | |
US20230084339A1 (en) | Method and apparatus for generating a decoding position control signal for decoding using polar codes | |
CN113438191B (zh) | 一种sm-scma系统上行链路的零码字辅助球形译码方法、系统 | |
CN111049531B (zh) | 一种基于分段线性惩罚函数的交替方向乘子法的深度学习信道译码方法 | |
Liang et al. | Exploiting noise correlation for channel decoding with convolutional neural networks | |
Han et al. | A new design of channel denoiser using residual autoencoder | |
JP2008154238A (ja) | Rs復号化における重複度の計算方法、装置並びに復号器および復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210430 |