CN111565051A - 一种用于ldpc码的自学习归一化偏置最小和译码方法 - Google Patents

一种用于ldpc码的自学习归一化偏置最小和译码方法 Download PDF

Info

Publication number
CN111565051A
CN111565051A CN202010279781.8A CN202010279781A CN111565051A CN 111565051 A CN111565051 A CN 111565051A CN 202010279781 A CN202010279781 A CN 202010279781A CN 111565051 A CN111565051 A CN 111565051A
Authority
CN
China
Prior art keywords
decoding
training
bias
layer
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.)
Granted
Application number
CN202010279781.8A
Other languages
English (en)
Other versions
CN111565051B (zh
Inventor
戴金晟
牛凯
谭凯林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202010279781.8A priority Critical patent/CN111565051B/zh
Publication of CN111565051A publication Critical patent/CN111565051A/zh
Priority to PCT/CN2021/085830 priority patent/WO2021204163A1/zh
Application granted granted Critical
Publication of CN111565051B publication Critical patent/CN111565051B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种用于LDPC码的自学习归一化偏置最小和译码方法,该用于LDPC码的自学习归一化偏置最小和译码方法包括:建立LDPC码译码训练样本集;建立深度学习模型;利用LDPC码译码训练样本集,并采用随机梯度下降的训练方法对所述深度学习模型进行训练,得到训练好的参数;将所述训练好的参数代入到归一化偏置最小和译码算法中进行译码。本发明用于LDPC码的自学习归一化偏置最小和译码方法既具有较低的计算复杂度,又具有良好的译码性能,十分适合实际通信系统中的应用,具有很好的推广应用前景。

Description

一种用于LDPC码的自学习归一化偏置最小和译码方法
技术领域
本发明涉及深度学习和通信技术领域,特别是指一种用于LDPC码的自学习归一化偏置最小和译码方法。
背景技术
低密度奇偶校验码(Low Density Parity Check Code,LDPC),是一种译码复杂度低且性能优良的线性分组纠错码。基于早期的研究表明,人们发现当LDPC码长足够长的情况下,误码率能够非常接近Shannon限(香农限),甚至当达到一定码长时,有比Turbo码更逼近香农限的纠错能力。正是由于LDPC码优异的性能能够满足第五代(Fifth-Generation,5G)移动通信系统中新的通信需求,实现移动设备之间低时延、高速率和高可靠性连接,使其成为了5G标准中的数据信道编码方案。
在5GLDPC码译码方案的硬件实现中并没有采用性能优良的SPA算法,而是常用MS算法和MS算法的改进算法,这是因为SPA算法中在从校验节点到变量节点更新时计算复杂度较高,硬件实现复杂、成本高。但是MS算法和MS算法的改进算法在译码性能上都与SPA算法有不小差距。现有技术中5G LDPC码硬件实现时采用的译码算法的译码性能不足。
发明内容
针对现有技术的不足之处,本发明的目的是提出一种用于LDPC码的自学习归一化偏置最小和译码方法,该基于自学习(深度学习)的信道编码部分的5G LDPC码归一化偏置最小和译码方法可提高译码性能。
基于上述目的,本发明提供的一种用于LDPC码的自学习归一化偏置最小和译码方法,包括:
建立LDPC码译码训练样本集;
建立深度学习模型;
利用LDPC码译码训练样本集,并采用随机梯度下降的训练方法对所述深度学习模型进行训练,得到训练好的参数;
将所述训练好的参数代入到归一化偏置最小和译码算法中进行译码。
在本发明的一些实施例中,所述LDPC码具有特殊的QC结构,其奇偶校验矩阵是由基图经过扩展和循环移位得到的。
在本发明的一些实施例中,所述建立LDPC码译码训练样本集的步骤包括:
选择基图,根据码长确定提升值Z,得到奇偶校验矩阵,再得到对应生成矩阵,等概0、1信源比特信息序列Y与对应生成矩阵相乘后得到信息比特序列X;
信息比特序列X经过二进制相移键控加入高斯白噪声,初始化后得到带高斯噪声的信息比特序列,最后转化成相应的对数似然比信息序列X',以作为LDPC码译码的训练样本集。
在本发明的一些实施例中,所述建立深度学习模型的步骤包括:
通过置信度传播算法中变量节点到校验节点的横向更新和校验节点到变量节点的纵向更新过程,单步展开,根据LDPC码的特性,一个校验节点只与它相关联的变量节点有关,网络的连接方式为非全链接,建立深度学习模型。
在本发明的一些实施例中,所述深度学习模型中,神经网络中每两层对应一次迭代译码,神经网络中间层的数目为最大迭代译码次数的两倍,对神经网络的中间层从1开始编号,每层神经元个数为基图中为“1”的元素个数,奇数层为变量节点更新层,奇数层连接输出层,偶数层为校验节点更新层和输出层。
在本发明的一些实施例中,所述深度学习模型的激活函数由归一化偏置最小和译码算法中节点更新公式决定,其中,奇数层激活函数由变量节点更新公式决定,偶数层由校验节点更新公式决定,输出的对数似然比用sigmoid函数归一化到(0,1)值域上,损失函数为交叉熵函数,优化算法为ADAM算法。
在本发明的一些实施例中,变量节点更新公式为:
Figure BDA0002446127270000021
其中,
Figure BDA0002446127270000022
为在第i次迭代译码中从校验节点c到变量节点v的似然信息,是一个矢量,因为每个神经元处理的是一个Z长度序列;
Figure BDA0002446127270000031
代表与校验节点c相邻的变量节点集合,
Figure BDA0002446127270000032
代表与校验节点c相邻的包括变量结点v的变量节点集合,
Figure BDA0002446127270000033
为第i轮迭代译码待训练的权重,初始化为1,
Figure BDA0002446127270000034
为带训练的偏置,初始化为0;
ReLU(x)=max(x,0)
校验节点更新公式为:
Figure BDA0002446127270000035
其中,
Figure BDA0002446127270000036
为在第i次迭代译码中从校验节点c到变量节点v的似然信息,
Figure BDA0002446127270000037
代表与变量节点v相邻的校验节点集合,
Figure BDA0002446127270000038
代表与变量节点v相邻的不包括校验变结点c的校验节点集合,LLRv为固有的似然信息;
输出似然信息的公式为:
Figure BDA0002446127270000039
其中,Sv为变量节点输出的似然信息,可以直接作软判决得到译码比特序列,LLRv为固有的似然信息;
输出层的激活函数为sigmoid函数为:
Figure BDA00024461272700000310
交叉熵函数为:
Figure BDA00024461272700000311
其中,X为输出的似然信息序列,S为调制前的信息比特序列,N为序列长度。
在本发明的一些实施例中,所述采用随机梯度下降的训练方法对深度学习模型进行训练,得到训练好的参数的步骤包括:
设定最大训练数和每个batch中的样本数;
逐层训练权重和偏置,进行迭代次数为1的译码,只用深度学习模型的前两层,每个batch输入后对第一个奇数层的权重w和偏置b进行调整,当第一层训练完之后把第一个奇数层的权重w和偏置b固定下来,再进行第二层的训练,以此类推直到达到最大迭代次数;
训练完成后,取出每轮迭代中的权重和偏置,保存下来。
在本发明的一些实施例中,所述逐层训练权重和偏置的步骤包括:
步骤S1,初始化迭代计数器h=1。
步骤S2,初始化训练batch数目计数器k=1。
步骤S3,随机选则一种码长并生成所述码长组成的一个batch,输入对应的神经网络;
步骤S4,在神经网络完成2*h层计算后输出,即只进行迭代次数为h的译码;
步骤S5,计算loss并用ADAM优化算法调整第h轮迭代中的权重wh和偏置bh,k加1,返回步骤S3,直到k达到最大训练数;
步骤S6,第h轮迭代中的权重wh和偏置bh中的训练完成后,设置为常量固定下来,h加1,返回步骤S2。
在本发明的一些实施例中,将训练好的所述参数代入到归一化偏置最小和译码算法中进行译码的步骤包括:
取出保存的每轮迭代中的权重w和偏置b代入归一化偏置最小和译码算法中进行译码。
与现有技术相比,本发明具有以下有益效果:
本发明结合归一化最小和译码算法和偏置最小和算法,简化了校验节点到变量节点计算公式,使得计算复杂度大大降低。另外引入深度学习采用逐层训练的方式训练每一层的权重和偏置,提高了算法的译码性能。综合上述两个特点,本发明提出的一种用于LDPC码的自学习归一化偏置最小和译码方法既具有较低的计算复杂度,又具有良好的译码性能。因此,本发明用于LDPC码的自学习归一化偏置最小和译码方法十分适合实际通信系统中的应用,具有很好的推广应用前景。
附图说明
图1为本发明实施例的用于LDPC码的自学习归一化偏置最小和译码方法的流程图;
图2为本发明实施例的用于LDPC码的自学习归一化偏置最小和译码方法的完整流程图;
图3为本发明实施例的BG1中非零元素的位置,也可以看成对应Tanner图的邻接矩阵,行数为46,列数为68;
图4为本发明实施例的基于BG1建立的神经网络部分模型的示意图,完整的模型只需要对中间层进行复制,对应的层与层之间连接方式均相同;另外需要说明的是示意图中省略了很多神经元,图中很多神经元的连接线没有画出,这是因为另外一端的神经元被省略;
图5为本发明实施例的深度学习模型训练过程的流程图;
图6为对5G-NRLDPC码进行编译码仿真的误块率折线图,选择BG1中码长为66的码,即Z=3,调制方式为BPSK,信道为高斯白噪声信道,信噪比范围为-2到4.5,步长为0.5,对码字的前6位进行打孔,译码迭代次数为20次,译码方式有MS算法、SPA算法、NMS算法和基于深度学习的NOMS算法;
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
如背景技术所记载的,现有技术中5G LDPC码硬件实现时采用的译码算法的译码性能不足。考虑到LDPC码的结构和Tanner图的优势,其基于置信度传播译码算法的信息传递的方式,在校验节点和变量节点来回迭代过程和深度学习中反向传播算法的联系,可以从中找到一种新的途径来进一步优化LDPC码译码算法。本发明将深度学习方法用于归一化偏置最小和译码可以进一步提高其译码性能,在一定情况下其译码性能可能好于SPA算法,而且相比MS算法,计算复杂度仅略微变大。
如图1所示,本实施例提供了一种用于LDPC码的自学习归一化偏置最小和译码方法,包括:
步骤S101,建立LDPC码译码训练样本集;
在步骤S101中,LDPC码译码指的是信道编码部分的5G LDPC码,可选的,建立LDPC码译码训练样本集的步骤包括:
选择基图,根据码长确定提升值Z,得到奇偶校验矩阵,再得到对应生成矩阵,等概0、1信源比特信息序列Y与对应生成矩阵相乘后得到信息比特序列X;
信息比特序列X经过二进制相移键控加入高斯白噪声,初始化后得到带高斯噪声的信息比特序列,最后转化成相应的对数似然比信息序列X',以作为LDPC码译码的训练样本集。
具体的,建立LDPC码译码训练样本集的步骤包括:
选择基图(基图有BG1和BG2两种),根据码长确定Z(Lifting Value,提升值),表示在基图基础上扩展的倍数,得到奇偶校验矩阵(PCM),再得到对应生成矩阵(GM),等概0、1信源比特信息序列Y经过编码得到信息比特序列X,具体为:等概0、1信源比特信息序列Y与对应生成矩阵(GM)相乘后得到信息比特序列X;其中,对于任一个LDPC(n,k)码,n为码字的长度,k为信息位长度;
其次,信息比特序列X经过二进制相移键控(BPSK)加入高斯白噪声,初始化后得到带高斯噪声的信息比特序列,最后转化成相应的对数似然比信息序列X',以作为LDPC码译码的训练样本集。设定总的码长种类和最大译码迭代次数,不同码长和用于训练不同层的样本对应的高斯白噪声是不同的,具体体现为信噪比SNR,取该码长LDPC码在采用SPA译码算法迭代次数为该层数下达到一定误比特率所需要的最小信噪比。
可选的,LDPC码具有特殊的QC结构,其奇偶校验矩阵是由基图经过扩展和循环移位得到的,QC-LDPC码(准循环低密度奇偶校验码)是LDPC码的一个重要子类,它的校验矩阵具有准循环形式,这种结构特征决定了其较低的编解码复杂度。
步骤S102,建立深度学习模型;
在步骤S101确定基图后,就可以通过基图对应Tanner图的连接情况来建立深度学习模型。深度神经网络中每两层对应一次迭代译码,神经网络中间层的数目为最大迭代译码次数的两倍,对神经网络的中间层从1开始编号。每层神经元个数为基图中为“1”的元素个数,即Tanner图中连边的个数。奇数层为变量节点更新层,偶数层为校验节点更新层和输出层。
本实施例通过置信度传播算法中变量节点到校验节点的横向更新和校验节点到变量节点的纵向更新过程,单步展开,根据LDPC码的特性,一个校验节点只与它相关联的变量节点有关,因此网络的连接方式为非全链接,搭建深度学习译码模型。模型中的训练变量是奇数层变量节点更新时的权重和偏置,每个神经元对应一个权重和一个偏置。每个神经元处理的数据为一个Z长度的张量,即对于码字的同一个扩展移位单元的Z长度序列共用一个权重和偏置。
深度学习模型的激活函数由归一化偏置最小和译码算法中节点更新公式决定,其中奇数层激活函数由变量节点更新公式决定,偶数层由校验节点更新公式决定。对于每个偶数层都对应一个输出层,目的是在每一次译码迭代都进行一次输出。对于输出的对数似然比用sigmoid函数归一化到(0,1)值域上,损失函数为交叉熵函数,优化算法为ADAM算法。
步骤S103,利用LDPC码译码训练样本集,并采用随机梯度下降的训练方法对所述深度学习模型进行训练,得到训练好的参数;
如图2所示,采用随机梯度下降的训练方法对深度学习模型进行训练,得到训练好的参数的步骤包括:
设定最大训练数和每个batch中的样本数;
逐层训练权重和偏置,进行迭代次数为1的译码,只用深度学习模型的前两层,每个batch输入后对第一个奇数层的权重w和偏置b进行调整,当第一层训练完之后把第一个奇数层的权重w和偏置b固定下来,再进行第二层的训练,以此类推直到达到最大迭代次数;
训练完成后,取出每轮迭代中的权重和偏置,保存下来。
在本实施例中,可选的,所述逐层训练权重和偏置的步骤包括:
步骤S1,初始化迭代计数器h=1。
步骤S2,初始化训练batch数目计数器k=1。
步骤S3,随机选则一种码长并生成所述码长组成的一个batch,输入对应的神经网络;
步骤S4,在神经网络完成2*h层计算后输出,即只进行迭代次数为h的译码;
步骤S5,计算loss并用ADAM优化算法调整第h轮迭代中的权重wh和偏置bh,k加1,返回步骤S3,直到k达到最大训练数;
步骤S6,第h轮迭代中的权重wh和偏置bh中的训练完成后,设置为常量固定下来,h加1,返回步骤S2。
相比于对归一化最小和译码(Normalized Min-Sum,NMS)算法和偏置最小和(OffsetMin-Sum,OMS)算法中的权重和偏置取经验值的方式,本实施例利用深度学习训练得到各变量节点更新时权重和偏置的最优值,训练时更是采用了逐层训练的方法,提高了训练效率,能够进一步降低误码率,提高译码性能。
本实施例采用了深度学习的方法,通过深度学习译码模型训练,不断调整归一化偏置最小和译码算法中每次迭代时每个变量节点更新时的权重和偏置,最终得到使整体译码性能达到最优的一组权重和偏置。训练时,权重和偏置一方面去拟合SPA算法中校验节点更新公式,另一方面调整似然信息在Tanner图环路中的传递。另外,相比于传统深度学习的训练方式,本发明是逐层进行训练的,即先进行第一层的参数训练,只进行一次迭代译码,固定第一层参数后在进行第二层参数的训练,以此类推。这样的训练方法即降低训练复杂度,又克服了梯度消失的问题。
步骤S104,将所述训练好的参数代入到归一化偏置最小和译码算法中进行译码。
在步骤S104中,可选的,将训练好的所述参数代入到归一化偏置最小和译码算法中进行译码的步骤包括:
取出保存的每轮迭代中的权重w和偏置b代入归一化偏置最小和译码算法中进行译码。
可选的,译码算法为归一化偏置最小和译码方法(NormalizedOffsetMin-Sum,NOMS)译码方法,结合了归一化最小和译码(Normalized Min-Sum,NMS)算法和偏置最小和(OffsetMin-Sum,OMS)算法,相比于和积算法(Sum-Product Algorithm,SPA)大大降低了计算复杂度,硬件成本大大降低,同时相于最小和(Min-Sum,MS)算法大大提高了译码性能。
当训练完成后取出训练好的模型中每个奇数层中的一组权重w和偏置b,代入译码程序中进行本实施例提出的5GLDPC码译码算法性能验证。
本实施例中用于LDPC码的自学习归一化偏置最小和译码方法,该LDPC码译码方法可提高译码性能,并降低译码迭代次数和复杂度,实现从含有噪声和干扰的序列中还原发送端的数据。
下面将举出一个具体的例子对本发明的用于LDPC码的自学习归一化偏置最小和译码方法作详细的说明。
步骤S101,建立5G-NRLDPC码译码训练样本集;
基图选择BG1为例(如图3所示),确定一个(68,22)的基本码,对应于BG1的Tanner图中有68个变量节点VNs和22个校验节点CNs,LDPC码的码率为22/68。样本码长种类有三种,44、132和220,分别对应Z=2,6,10。确定Z后可在校验矩阵索引图中找到对应的未扩展的校验矩阵,包括基图中每条边的循环移位值。对基图进行倍数为Z的扩展得到一个(68×Z,22×Z)的大图,基图中为“0”的元素扩展为Z×Z的零矩阵,为“1”的元素扩展为Z×Z的单位矩阵。然后按照基图每条边对应的循环移位值对扩展后的图中的Z×Z的矩阵进行循环移位,得到该码长下的奇偶校验矩阵(PCM),再得到对应生成矩阵(GM)。
训练集每个batch中的每个样本的码长等概率地从以上三种码长中选取。等概0、1信源比特信息序列Y与对应生成矩阵(GM)相乘后得到信息比特序列X。其中,对于任一个LDPC(n,k)码,n为码字的长度,n=68×Z,k为信息位长度,k=22×Z;其次,信息比特序列X进行BPSK再经过高斯白噪声信道(AWGN),转化为对数似然值后得到带高斯噪声的信息比特序列X',以作为LDPC译码的训练样本集。设定最大译码迭代次数MAX=20,不同码长和用于训练不同层的样本对应的高斯白噪声是不同的,具体体现为信噪比SNR,取该码长LDPC码在采用SPA译码算法迭代次数为该层数下达误比特率低于0.01所需要的最小信噪比,可以得到一个(3,20)的信噪比表格SNR_TABLE,如下表1所示。
表1
Figure BDA0002446127270000091
I表为译码迭代轮数,记录了在训练第I轮迭代译码的权重和偏置时不同码长样本所对应的信噪比。
步骤S102,建立深度学习模型;
深度学习译码模型的建立依据是BG1结构和NOMS译码算法中基于置信度传播的信息传递方式。神经网络主体一共有40层,每两层对应译码算法的一次迭代,i=1,2,3,…,20。BG1如图3所示,有68个变量节点VNs和22个校验节点CNs,变量节点与校验节点之间的连边数目为316,神经网络每层的神经元个数为316,每个神经元对应基图中一条连边。
神经网络的奇数层为变量节点更新层,变量节点更新公式为:
Figure BDA0002446127270000101
其中,
Figure BDA0002446127270000102
为在第i次迭代译码中从校验节点c到变量节点v的似然信息,是一个矢量,因为每个神经元处理的是一个Z长度序列。
Figure BDA0002446127270000103
代表与校验节点c相邻的变量节点集合,
Figure BDA0002446127270000104
代表与校验节点c相邻的包括变量结点v的变量节点集合,
Figure BDA0002446127270000105
为第i轮迭代译码待训练的权重,初始化为1,
Figure BDA0002446127270000106
为带训练的偏置,初始化为0。
ReLU(x)=max(x,0)
神经网络偶数层为校验节点更新层,校验节点更新公式为:
Figure BDA0002446127270000107
其中,
Figure BDA00024461272700001011
为在第i次迭代译码中从校验节点c到变量节点v的似然信息,
Figure BDA0002446127270000108
代表与变量节点v相邻的校验节点集合,
Figure BDA0002446127270000109
代表与变量节点v相邻的不包括校验变结点c的校验节点集合,LLRv为固有的似然信息。
训练时是逐层训练的,每一次迭代译码都会输出相应似然信息,因此奇数层还要连接输出层,输出似然信息的公式为:
Figure BDA00024461272700001010
其中Sv为变量节点输出的似然信息,可以直接作软判决得到译码比特序列,LLRv为固有的似然信息。
本方法通过置信度传播算法中变量节点到校验节点的横向更新和校验节点到变量节点的纵向更新过程,单步展开,根据LDPC码的特性,一个校验节点只与它相关联的变量节点有关,因此网络的连接方式为非全链接,搭建深度学习译码模型。具体示例如下:
取BG1中第6行第4列的连边为例,在奇数层中该连边作为一个神经元处理从校验节点c6到变量节点v4的信息传递,由更新公式易知,与该神经元相连的上一层神经元均在基图的第6行,列数有1,2,13,17,22,23,28;在偶数层中该连边作为一个神经元处理从变量节点v4到校验节点c6的信息传递,与该神经元相连的上一层神经元均在基图的第4列,行数有1,2,4,9,14,17,21,25,40,42。偶数层中该连边对应的神经元还连接对应于v4的固有似然信息LLR4的输入。按照这种方式就可以建立一个非全连接的神经网络,如图4所示。
奇数层和偶数层的激活函数由以上对应的节点更新公式易得。输出层的激活函数为sigmoid函数为:
Figure BDA0002446127270000111
目的是归一化到(0,1)值域上,进行损失值loss的计算,损失函数为交叉熵函数,优化算法为ADAM算法。交叉熵函数为:
Figure BDA0002446127270000112
其中,X为输出的似然信息序列,S为调制前的信息比特序列,N为序列长度。
该模型中每个神经元处理的是一组矢量,是一个长度为Z的似然信息序列,在该神经网络中还会对(68,Z)的似然信息矢量在第二维度上进行循环移位,网络结构由校验矩阵决定。由于样本中有三种不同的码长,所以训练模型中由三个规模不同的神经网络,主要区别在于三者能处理的输入信息序列大小分别为(68,2),(68,6),(68,10),分别对应于码长44,132,220的LDPC码。
步骤S103,利用LDPC码译码训练样本集,并采用随机梯度下降的训练方法对所述深度学习模型进行训练,得到训练好的参数;
如图5所示,步骤S103具体包括以下步骤:
步骤S301,设定最大训练数为50000,每batch中的样本数为60,学习速率为0.001。
步骤S302,逐层训练权重和偏置,先进行迭代次数为1的译码模型训练,固定第一次迭代w1的权重和偏置b1,训练下轮迭代的权重和偏置。每轮迭代参数的训练的batch数目均为50000个batch;步骤S302具体包括以下步骤:
步骤S3021,初始化迭代计数器h=1。
步骤S3022,初始化训练batch数目计数器k=1。
步骤S3023,随机选则一种码长并生成60个该码长的组成一个batch输入对应的神经网络。
步骤S3024,在神经网络完成2*h层计算后输出,即只进行迭代次数为h的译码。
步骤S3025,计算loss并用ADAM优化算法调整第h轮迭代中的权重wh和偏置bh,k加1,返回步骤3023,直到k达到最大训练数。
步骤S3026,第h轮迭代中的权重wh和偏置bh中的训练完成后设置为常量固定下来,h加1,返回步骤3022。第h轮迭代中的权重wh和偏置bh中的训练完成后设置为常量固定下来,h加1,返回步骤3022。
步骤S303,整个模型训练完成,取出每轮迭代中的权重和偏置,保存下来。
步骤S104,将所述训练好的参数代入到归一化偏置最小和译码算法中进行译码。
取出保存的每轮迭代中的权重w和偏置b代入NOMS算法中(w和b规模均为20*316)进行译码性能测试。
本实施例已经进行了多次模型训练以及训练参数的调整,下面就仿真实施的译码性能测试结果进行介绍:
参见图6所示,对5G LDPC码进行编译码仿真,选择BG1中码长为66的码,即Z=3,调制方式为BPSK,信道为高斯白噪声信道,信噪比范围为-2到4.5,步长为0.5,对码字的前6位进行打孔,译码迭代次数为20次。由结果可以看出,本发明提出的基于自学习的5G LDPC码NOMS译码算法的误块率要低于NMS算法,远低于MS算法,在信噪比较低时略高于SPA算法,在信噪比较高时误块率甚至低于SPA算法,这说明本实施例提出的译码算法在控制计算复杂度较低的情况下大大优化了译码性能。
与现有技术相比,本实施例的用于LDPC码的自学习归一化偏置最小和译码方法具有以下有益效果:
本实施例结合NMS算法和OMS算法,简化了校验节点到变量节点计算公式,使得计算复杂度大大降低。另外引入深度学习采用逐层训练的方式训练每一层的权重和偏置,提高了算法的译码性能。综合上述两个特点,本实施例提出的基于深度学习的5G LDPC码NOMS译码方法既具有较低的计算复杂度,又具有良好的译码性能。因此,本实施例的用于LDPC码的自学习归一化偏置最小和译码方法十分适合实际通信系统中的应用,具有很好的推广应用前景。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种用于LDPC码的自学习归一化偏置最小和译码方法,其特征在于,包括:
建立LDPC码译码训练样本集;
建立深度学习模型;
利用LDPC码译码训练样本集,并采用随机梯度下降的训练方法对所述深度学习模型进行训练,得到训练好的参数;
将所述训练好的参数代入到归一化偏置最小和译码算法中进行译码。
2.根据权利要求1所述的用于LDPC码的自学习归一化偏置最小和译码方法,其特征在于,所述LDPC码具有特殊的QC结构,其奇偶校验矩阵是由基图经过扩展和循环移位得到的。
3.根据权利要求1所述的用于LDPC码的自学习归一化偏置最小和译码方法,所述建立LDPC码译码训练样本集的步骤包括:
选择基图,根据码长确定提升值Z,得到奇偶校验矩阵,再得到对应生成矩阵,等概0、1信源比特信息序列Y与对应生成矩阵相乘后得到信息比特序列X;
信息比特序列X经过二进制相移键控加入高斯白噪声,初始化后得到带高斯噪声的信息比特序列,最后转化成相应的对数似然比信息序列X',以作为LDPC码译码的训练样本集。
4.根据权利要求1所述的用于LDPC码的自学习归一化偏置最小和译码方法,其特征在于,所述建立深度学习模型的步骤包括:
通过置信度传播算法中变量节点到校验节点的横向更新和校验节点到变量节点的纵向更新过程,单步展开,根据LDPC码的特性,一个校验节点只与它相关联的变量节点有关,网络的连接方式为非全链接,建立深度学习模型。
5.根据权利要求4所述的用于LDPC码的自学习归一化偏置最小和译码方法,其特征在于,所述深度学习模型中,神经网络中每两层对应一次迭代译码,神经网络中间层的数目为最大迭代译码次数的两倍,对神经网络的中间层从1开始编号,每层神经元个数为基图中为“1”的元素个数,奇数层为变量节点更新层,奇数层连接输出层,偶数层为校验节点更新层和输出层。
6.根据权利要求5所述的用于LDPC码的自学习归一化偏置最小和译码方法,其特征在于,所述深度学习模型的激活函数由归一化偏置最小和译码算法中节点更新公式决定,其中,奇数层激活函数由变量节点更新公式决定,偶数层由校验节点更新公式决定,输出的对数似然比用sigmoid函数归一化到(0,1)值域上,损失函数为交叉熵函数,优化算法为ADAM算法。
7.根据权利要求6所述的用于LDPC码的自学习归一化偏置最小和译码方法,其特征在于,变量节点更新公式为:
Figure FDA0002446127260000021
其中,
Figure FDA0002446127260000022
为在第i次迭代译码中从校验节点c到变量节点v的似然信息,是一个矢量,因为每个神经元处理的是一个Z长度序列;
Figure FDA0002446127260000023
代表与校验节点c相邻的变量节点集合,
Figure FDA0002446127260000024
代表与校验节点c相邻的包括变量结点v的变量节点集合,
Figure FDA0002446127260000025
为第i轮迭代译码待训练的权重,初始化为1,
Figure FDA0002446127260000026
为带训练的偏置,初始化为0;
ReLU(x)=max(x,0)
校验节点更新公式为:
Figure FDA0002446127260000027
其中,
Figure FDA0002446127260000028
为在第i次迭代译码中从校验节点c到变量节点v的似然信息,
Figure FDA0002446127260000029
代表与变量节点v相邻的校验节点集合,
Figure FDA00024461272600000210
代表与变量节点v相邻的不包括校验变结点c的校验节点集合,LLRv为固有的似然信息;
输出似然信息的公式为:
Figure FDA00024461272600000211
其中,Sv为变量节点输出的似然信息,可以直接作软判决得到译码比特序列,LLRv为固有的似然信息;
输出层的激活函数为sigmoid函数为:
Figure FDA00024461272600000212
交叉熵函数为:
Figure FDA0002446127260000031
其中,X为输出的似然信息序列,S为调制前的信息比特序列,N为序列长度。
8.根据权利要求1所述的用于LDPC码的自学习归一化偏置最小和译码方法,其特征在于,所述采用随机梯度下降的训练方法对深度学习模型进行训练,得到训练好的参数的步骤包括:
设定最大训练数和每个batch中的样本数;
逐层训练权重和偏置,进行迭代次数为1的译码,只用深度学习模型的前两层,每个batch输入后对第一个奇数层的权重w和偏置b进行调整,当第一层训练完之后把第一个奇数层的权重w和偏置b固定下来,再进行第二层的训练,以此类推直到达到最大迭代次数;
训练完成后,取出每轮迭代中的权重和偏置,保存下来。
9.根据权利要求8所述的用于LDPC码的自学习归一化偏置最小和译码方法,其特征在于,所述逐层训练权重和偏置的步骤包括:
步骤S1,初始化迭代计数器h=1;
步骤S2,初始化训练batch数目计数器k=1;
步骤S3,随机选则一种码长并生成所述码长组成的一个batch,输入对应的神经网络;
步骤S4,在神经网络完成2*h层计算后输出,即只进行迭代次数为h的译码;
步骤S5,计算loss并用ADAM优化算法调整第h轮迭代中的权重wh和偏置bh,k加1,返回步骤S3,直到k达到最大训练数;
步骤S6,第h轮迭代中的权重wh和偏置bh中的训练完成后,设置为常量固定下来,h加1,返回步骤S2。
10.根据权利要求1所述的用于LDPC码的自学习归一化偏置最小和译码方法,其特征在于,将训练好的所述参数代入到归一化偏置最小和译码算法中进行译码的步骤包括:
取出保存的每轮迭代中的权重w和偏置b代入归一化偏置最小和译码算法中进行译码。
CN202010279781.8A 2020-04-10 2020-04-10 一种用于ldpc码的自学习归一化偏置最小和译码方法 Active CN111565051B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010279781.8A CN111565051B (zh) 2020-04-10 2020-04-10 一种用于ldpc码的自学习归一化偏置最小和译码方法
PCT/CN2021/085830 WO2021204163A1 (zh) 2020-04-10 2021-04-07 原模图低密度奇偶校验码的自学习译码方法及其相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010279781.8A CN111565051B (zh) 2020-04-10 2020-04-10 一种用于ldpc码的自学习归一化偏置最小和译码方法

Publications (2)

Publication Number Publication Date
CN111565051A true CN111565051A (zh) 2020-08-21
CN111565051B CN111565051B (zh) 2022-11-25

Family

ID=72071558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010279781.8A Active CN111565051B (zh) 2020-04-10 2020-04-10 一种用于ldpc码的自学习归一化偏置最小和译码方法

Country Status (1)

Country Link
CN (1) CN111565051B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112290954A (zh) * 2020-09-15 2021-01-29 华南理工大学 一种基于深度学习后处理的ldpc码的译码算法
CN112712893A (zh) * 2021-01-04 2021-04-27 山东众阳健康科技集团有限公司 一种提升计算机临床辅助诊断效果的方法
CN112737599A (zh) * 2021-01-06 2021-04-30 北京邮电大学 一种原模图ldpc码的自学习快速收敛译码方法及装置
WO2021204163A1 (zh) * 2020-04-10 2021-10-14 北京邮电大学 原模图低密度奇偶校验码的自学习译码方法及其相关设备
CN113872610A (zh) * 2021-10-08 2021-12-31 华侨大学 一种ldpc码神经网络训练、译码方法及其系统
CN114448570A (zh) * 2022-01-28 2022-05-06 厦门大学 一种分布式联合信源信道编码系统的深度学习译码方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009118418A (ja) * 2007-11-09 2009-05-28 Panasonic Corp 復号化装置、符号化装置、復号化方法、及び、符号化方法
CN108574492A (zh) * 2018-05-03 2018-09-25 重庆邮电大学 一种改进的ldpc码和积译码方案
CN109889208A (zh) * 2019-01-04 2019-06-14 浙江大学 Navdat中基于归一化最小和算法的ldpc信道译码方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009118418A (ja) * 2007-11-09 2009-05-28 Panasonic Corp 復号化装置、符号化装置、復号化方法、及び、符号化方法
CN108574492A (zh) * 2018-05-03 2018-09-25 重庆邮电大学 一种改进的ldpc码和积译码方案
CN109889208A (zh) * 2019-01-04 2019-06-14 浙江大学 Navdat中基于归一化最小和算法的ldpc信道译码方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LOREN LUGOSCH 等: "Neural offset min-sum decoding", 《2017 IEEE INTERNATIONAL SYMPOSIUM ON INFORMATION THEORY (ISIT)》 *
NEJWA EL MAAMMAR 等: "Performance Analysis of Layered Normalized Min-Sum for LDPC Codes over Weibull Fading Channels", 《2019 INTERNATIONAL CONFERENCE ON WIRELESS TECHNOLOGIES, EMBEDDED AND INTELLIGENT SYSTEMS (WITS)》 *
XIAOFU WU 等: "Adaptive-Normalized/Offset Min-Sum Algorithm", 《 IEEE COMMUNICATIONS LETTERS》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021204163A1 (zh) * 2020-04-10 2021-10-14 北京邮电大学 原模图低密度奇偶校验码的自学习译码方法及其相关设备
CN112290954A (zh) * 2020-09-15 2021-01-29 华南理工大学 一种基于深度学习后处理的ldpc码的译码算法
CN112290954B (zh) * 2020-09-15 2023-09-08 华南理工大学 一种基于深度学习后处理的ldpc码的译码算法
CN112712893A (zh) * 2021-01-04 2021-04-27 山东众阳健康科技集团有限公司 一种提升计算机临床辅助诊断效果的方法
CN112737599A (zh) * 2021-01-06 2021-04-30 北京邮电大学 一种原模图ldpc码的自学习快速收敛译码方法及装置
CN113872610A (zh) * 2021-10-08 2021-12-31 华侨大学 一种ldpc码神经网络训练、译码方法及其系统
CN114448570A (zh) * 2022-01-28 2022-05-06 厦门大学 一种分布式联合信源信道编码系统的深度学习译码方法
CN114448570B (zh) * 2022-01-28 2024-02-13 厦门大学 一种分布式联合信源信道编码系统的深度学习译码方法

Also Published As

Publication number Publication date
CN111565051B (zh) 2022-11-25

Similar Documents

Publication Publication Date Title
CN111565051B (zh) 一种用于ldpc码的自学习归一化偏置最小和译码方法
USRE44421E1 (en) Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof
KR100983692B1 (ko) 통신 장치 및 복호 방법
KR100924189B1 (ko) 복호 장치 및 통신 장치
JP4602418B2 (ja) 検査行列生成方法、符号化方法、復号方法、通信装置、符号化器および復号器
CN103259545B (zh) 基于振荡的准循环低密度奇偶校验码置信传播译码方法
KR20080033381A (ko) 검사 행렬 생성 방법, 부호화 방법, 복호 방법, 통신 장치,통신 시스템, 부호화기 및 복호기
CN105763203B (zh) 一种基于硬可靠度信息的多元ldpc码译码方法
CN109547032B (zh) 一种基于深度学习的置信度传播ldpc译码方法
CN109586732B (zh) 中短码ldpc编解码系统和方法
CN111106839A (zh) 一种基于神经网络的极化码译码方法及装置
WO2021204163A1 (zh) 原模图低密度奇偶校验码的自学习译码方法及其相关设备
CN111211790A (zh) 一种面向5g终端的高吞吐率ldpc译码算法及架构
CN115441993B (zh) 一种信道编解码方法、装置、设备及存储介质
CN110730008B (zh) 一种基于深度学习的rs码置信传播译码方法
CN101595644B (zh) 使用信道码解码的设备和方法
CN114448446A (zh) 水下光通信ldpc编码处理方法、装置及计算机可读存储介质
Shah et al. Neural layered decoding of 5G LDPC codes
Lu et al. Deep learning aided SCL decoding of polar codes with shifted-pruning
KR20090012189A (ko) Ldpc 부호의 성능 개선을 위한 스케일링 기반의 개선된min-sum 반복복호알고리즘을 이용한 복호 장치 및그 방법
CN112737600B (zh) 译码方法和译码器
Tian et al. A scalable graph neural network decoder for short block codes
Feng et al. LDPC assisted blind frame synchronization: Efficient measurement mechanism and low-complexity algorithm
CN110708139B (zh) 一种基于并行矢量消息传递算法的ldpc码字扩展方法及系统
Shu et al. A Sparse Neural Network Decoder for Non-binary Polar Codes

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
GR01 Patent grant
GR01 Patent grant