一种基于二分类卷积网络的自适应SCL译码算法

文档序号:28624622发布日期:2022-01-22 13:53阅读:231来源:国知局
一种基于二分类卷积网络的自适应SCL译码算法
一种基于二分类卷积网络的自适应scl译码算法
技术领域
1.本发明属于通信信道编码的译码技术领域,涉及一种二分类卷积网络的自适应scl译码方法,特别是相比于传统的(successive cancellation list)scl译码算法具有更低的复杂度,它利用深度学习技术来降低scl译码复杂度。


背景技术:

2.近几年来,随着人工智能的兴起,深度学习得到了广泛发展,并已迅速应用于各个领域。极化码编码技术由e.arikan于2008年提出,它以信道极化来作为编译码的理论基础。极化码通过信道合并和信道分裂两种操作得到了若干子信道,它们的容量呈现出两极分化的趋势,即在码长无穷大时部分信道容量趋于1,另外一部分趋于0。在这种情况下极化码可以达到香浓极限。在第五代移动通信系统标准的控制信道中已经采用了极化码。极化码所采用的信道极化的编码思想和较早出现的编码技术完全不同,因此受到了人们的广泛关注。然而,对于极化码的译码来说,最先提出来的是串行相消(successive cancellation)sc译码,sc译码算法是一种串行译码算法,当译码一个比特位的时候,它与先前译码的比特位相关联,从而导致较高的时延,并且如果前面的某个比特位被错误译码,会导致后面的比特位也被错误译码,这个就是错误传播现象。针对这问题,相关专家与学者提出了基于似然比的连续消除列表scl译码算法。scl译码算法不同之处在于它通过保留最可靠的l条路径来继续译码一个比特,这样可以一定程度上提高误码性能,但是牺牲了译码时延和计算复杂度。
3.目前,已经有针对scl复杂度较高的问题进行改进的算法,如:bin li等提出的自适应scl译码算法,这个算法从小列表开始进行译码,如果没有通过校验,增大列表大小,直到达到最大l值或者至少有一条路径通过crc校验。jiajie tang等提出的应用启发式的方法,根据译码过程中路径度量值和信噪比的变化来调整列表长度。
4.因为极化码的译码算法结构与神经网络的结构在连接方式上有很大程度的相似处,大量学者开始研究深度学习在极化码译码中的应用。


技术实现要素:

5.本发明为了解决scl译码复杂度高的问题,提供了一种将卷积网络和scl译码算法相结合的极化码译码算法。该译码算法由信道编码与调制模块,加噪模块,卷积网络处理模块和scl译码模块组成。与现有的自适应scl译码算法相比,我们加入了动态思想,在译码之前就根据信道信息决定这次译码需要的列表大小,通过这种动态方法,有效降低了译码复杂度。
6.本发明的基本构思:为了解决scl译码算法每次都采用固定的列表大小进行译码的问题,所以我们引入了动态列表的思想。根据获得的信道信息来预先决定这次译码需要的列表大小。
7.基于以上的技术问题,本发明所采用的设计方案为:本发明提供了一种能把卷积
神经网络和scl译码算法相结合的译码算法。首先待传输的信息经过信道编码以及调制模块,再经过加噪模块,然后把经过干扰的信道信息y输入到卷积网络(convolutional neural network)cnn中。卷积网络根据信道信息y来决定本次译码所需的l,scl利用卷积网络推理的l作为路径搜索宽度。当对卷积网络进行训练时,其中输入层的神经元数目等于极化码的码长,输出层的神经元数目是分类的类别数目。标签使用one-hot热编码方式。如果是较小l的样本,它所对应标签是10。相反,如果是较大l的样本,它所对应标签是01。因为是分类问题,在输出层使用softmax函数将神经网络的输出量化到(0,1)的范围。其余隐藏层的激活函数使用relu函数。损失函数使用交叉熵损失函数(cross entropy loss function),对于二分类问题,其交叉熵损失函数计算公式为:
8.loss=-(target
·
log(predict)+(1-target)
·
log(1-predict))
ꢀꢀ
(1)
9.其中predict是模型预测类别的概率,target是样本标签。运用adam优化算法不断优化神经网络的权重值。模型训练好以后,将每次译码之前的y输入到网络中,获得对应概率最大的类别,将推理出的列表大小当作本次译码的列表大小。
10.本发明相对现有技术的优点为:
11.1)本发明相比于原来的自适应scl译码算法具有动态的思想,可以预先决定本次译码需要使用的列表大小。
12.2)本发明涉及的cnn网络只会在译码设计时需要计算,在后续的使用中可以使用训练好的模型。不再需要训练的代价和资源损耗。
附图说明
13.图1为本发明译码算法结构图;
14.图2为极化码的8码长的译码树形图;
15.图3为本发明cnn神经网络结构图;
16.图4为本发明数据集获取流程图;
具体实施方式
17.下面结合附图对本发明作进一步详细描述,以下实施有助于对本发明的理解,是比较好的应用实例,但不应当作本发明的限制。
18.如图1所示,本发明包含4个模块,分别为信道编码与调制模块,加噪模块,卷积网络处理模块,scl译码模块,将经过加噪后的信息输入到卷积网络模块,获得动态l,使用判决的l进行scl译码。
19.如图2所示,这是一个8码长的译码树形图,根节点处于第0级,叶子节点处于第3级,第3级黑色圆圈代表信息比特,白色圆圈代表冻结比特。
20.图3是cnn卷积网络结构图。本发明使用两层卷积,第一层卷积使用32个过滤器,过滤器大小为3*3;第二层卷积使用8个过滤器,过滤器大小同样为3*3。经过卷积层之后,再经过flattern平铺层,将数据输入到全连接层,本发明使用三层全连接,第一层全连接输出节点为200,第二层全连接输出节点为50,第三层输出节点为2。通过使用softmax激活函数,第三层的输出转为对应的概率大小。通过输出层概率值与样本标签值计算损失loss,loss是一个被用来衡量神经网络学习效果的参数。本发明使用adam算法作为神经网络参数优化算
法。
21.图4是本发明数据集获取的流程图。首先将源信息进行信道编码与调制,使用bpsk调制,让调制后的信息经过高斯信道获得信道接收信息y,然后用较小的l对接收信息y进行scl译码,如果译码成功,则说明这次所接收的信道信息y用较小的l就能译码成功,将这个y作为较小l的一个样本。如果没有译码成功,则用较大的l进行scl译码,如果这时译码成功,说明对于这次的y需要用较大的列表l进行译码,则将这次的y保存为较大l的样本。但是如果用较大的l译码依然没有成功,说明需要更大的l才能译码成功。在使用较小的l和较大的l都未成功译码情况下,此时使用较大的l只会增加译码复杂度。考虑到复杂度,此时将这次的y保存为较小l的一个样本。重复图4的过程,每个类别训练样本量为2*105。
22.本发明码长为128,码率为1/2时,列表的大小为4和8,采用16位crc校验,crc的生成多项式为g(x)=x
16
+x
15
+x2+1。本发明所提出的cnn-adscl译码算法,crc-scl8译码算法,自适应scl(adscl)译码算法具有相似的译码性能,其中crc-scl8译码算法指l=8的crc-scl译码算法。
23.本发明使用译码的平均l作为译码复杂度的评价标准,通过每次译码使用列表的总和除以总帧数得到的。结合实验结果与表1可知,本发明的cnn-adscl译码算法具有比crc-scl8更低的复杂度,adscl也具有比crc-scl8更低的复杂度。在低信噪比下,本发明提出的cnn-adscl与adscl算法相比具有稍高的复杂度。在高信噪比下,cnn-adscl译码复杂度接近adscl算法的译码复杂度。
24.表1
25.信噪比/db11.522.53cnn-adscl5.762265.015014.472894.165424.04429adscl5.285274.448574.131364.037234.00537crc-scl888888crc-scl444444
26.从实验结果可知,通过卷积网络根据信道信息提前预判列表大小,可以降低译码复杂度,并且没有性能损失。
27.上述实施例不以任何形式限制本发明,凡采用本发明的相似结构,方法及其相似变化方式所获得的技术方案,均在本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1