一种低精度的深度神经网络极化码SC译码算法制造技术

技术编号:35688947 阅读:18 留言:0更新日期:2022-11-23 14:36
本发明专利技术公开了一种低精度的深度神经网络极化码SC译码算法,首先基于深度神经网络构造神经网络译码器;改进神经网络译码器的激活函数和损失函数;对神经网络译码器采取权值量化;将极化码划分为子块,分别使用神经网络译码器进行译码,保存网络模型;将训练好的各个子块的神经网络译码器通过传统SC译码算法进行耦合。本发明专利技术改善了传统神经网络译码器浮点运算带来的计算资源消耗与额外内存开销,取得了较低的译码时延,并且误比特率性能有一定的改善。改善。改善。

【技术实现步骤摘要】
一种低精度的深度神经网络极化码SC译码算法


[0001]本专利技术属于深度学习和极化码译码领域,涉及一种低精度的深度神经网络极化码SC译码算法。

技术介绍

[0002]2008年,E.Arikan教授根据信道极化现象首次提出了极化码(Polar Codes),区别于以往的信道编码方式,极化码因其在理论上被证明能够达到香农极限而备受关注,目前已被确定为第五代增强移动宽带(enhanced Mobile Broadband,eMBB)场景中的控制信道编码方案。
[0003]极化码的基本译码算法主要有串行抵消(Successive Cancellation,SC)译码算法和置信传播(Belief Propagation,BP)译码算法。与BP译码算法相比,SC译码算法以及通过改进的SC算法可以实现较好的信道容量能力并达到较低的误块率(block error rate,BLER),但受限于串行译码的性质,使得译码过程中吞吐量较低,时延较高。与SC译码算法相比,BP译码算法由于其并行译码的特性,从而具有较高的吞吐率和较低的译码时延,但是也导致了计算复杂度的提升,同时BP算法迭代译码的特性,也使得译码时延随着迭代次数的增加而增加,并且在少量迭代内无法达到理想的纠错性能。
[0004]SC算法作为一种比BP算法更流行、更基础的极码译码算法,具有更大的研究价值。Tobias Gruber等人在2017年提出了基于深度神经网络(Deep Neural Networks,DNN)的极化码译码方案,利用神经网络去学习译码前后信息的映射关系,可以有效的替代传统的复杂接收端译码算法,仿真证明了其译码性能可以达到和CA

SCL译码算法性能接近的最大后验概率(maximum a posteriori probability,MAP)性能,但是只限于短码长的极化码,随着码长的增加,呈指数增长规律的计算复杂度依然是神经网络译码器广泛应用的一个阻碍。N.Doan等人则借鉴了分区译码器的设计思路,将多个神经网络与SC译码器相串接,构成了神经连续删除(Neural Successive Cancellation,NSC)译码器,在极化码码长为128,码率为0.5的情况下,NSC能达到与分区BP译码器相同的译码性能,译码时延降低了42.5%。尽管NSC译码算法取得了较低的译码时延,但神经网络译码器使用浮点数进行训练,预训练必须存储许多权重,所需要的浮点运算在硬件和能源消耗方面都很昂贵,导致了更高的内存资源和时间开销。

技术实现思路

[0005]本专利技术的目的是提供一种低精度的深度神经网络极化码SC译码算法,解决了现有技术中基于深度神经网络极化码SC译码算法浮点运算导致的较高的内存资源和时间开销的问题。针对该问题,本专利技术设计一种低精度的深度神经网络串行抵消译码器,该译码器由多个神经网络译码器组成,通过SC译码连接在一起,减少了深度神经网络SC译码算法的内存资源开销,在取得较低译码时延的基础上有一定的性能增益。
[0006]本专利技术所采用的技术方案是一种低精度的深度神经网络极化码SC译码算法,具体
包括以下步骤:
[0007](1)基于深度神经网络构造神经网络译码器;
[0008](2)改进神经网络译码器的激活函数和损失函数;
[0009](3)对神经网络译码器采取权值量化;
[0010](4)将极化码划分为子块,分别使用神经网络译码器进行译码,保存网络模型;
[0011](5)将训练好的各个子块的神经网络译码器通过传统SC译码算法进行耦合;
[0012]步骤(1)中,深度神经网络译码器模型可以抽象为将输入映射到输出的一个函数f:
[0013]y=f(x0;θ)
[0014]其中,θ表示已知输入和期望输出值之间映射的最优参数解。
[0015]步骤(2)中,将神经网络译码器中的ReLU激活函数改为了Swish激活函数,将二元交叉熵(Binary Cross

Entropy,BCE)损失函数改为了二元加权交叉熵(Weighted Binary Cross

Entropy,WBCE)损失函数。
[0016]步骤(3)中,使用Q8.4定点数字格式的8位量化输入和输出来执行所有的算术运算,并使用伪量化函数将量化误差引入神经网络译码器。
[0017]本专利技术的有益效果是本专利技术与原有极化码神经网络SC译码器相比,其显著优点是:改善了传统神经网络译码器浮点运算带来的计算资源消耗与额外内存开销,取得了较低的译码时延,并且误比特率(bit error rate,BER)性能有一定的改善。
附图说明
[0018]图1是深度神经网络译码器系统框架图;
[0019]图2是深度神经网络译码器体系结构图;
[0020]图3是不同信噪比下的NVE图;
[0021]图4是ReLU函数图像与Swish函数图像;
[0022]图5是两种激活函数译码性能图;
[0023]图6是两种损失函数译码性能图;
[0024]图7是(16,8)极化码神经网络译码器两种损失函数训练对比图;
[0025]图8是神经网络权值量化数据流图;
[0026]图9是低精度DNN

SC译码器模型图;
[0027]图10是低精度DNN

SC译码过程图;
[0028]图11是(16,8)极化码的BER性能图;
[0029]图12是(32,16)极化码的BER性能图。
具体实施方式
[0030]下面结合附图和具体实施方式对本专利技术进行详细说明。
[0031]对于给定参数为的极化码,其中N为码长,K为信息位长度,A为信息序列集合,A
c
表示冻结比特集合。信息序列分为两大部分,u
A
为信息比特的值,为冻结比特的值,一般令其为0,码率R=K/N。源序列经极化编码后得到再送入信道W
N
传输,最
后,接收端接收到码字序列那么此信道的转移概率为SC译码算法根据信息得到关于的估计值
[0032]SC算法根据接收比特的顺序依次进行译码判决,当i满足i∈A
c
时,即可认为u
i
是固定比特,所以SC译码器会直接判定由于SC是串行译码算法,所以该比特的判决结果会用于后面比特的判决。当i满足i∈A时,即u
i
是信息比特,此时判决就要根据接收到的信道输出和前面已经判决出的(i

1)个估计值计算出当和时的转移概率和同时计算对数似然比(Likelihood Ratio,LLR):
[0033][0034]此时就能得出u
i
的判决值,判决规则如下:
[0035][0036]SC译码算法中的关键步骤就是计算信道LLR值。为了简化LLR的计算,可以借助以下递归公式进行计算:
...

【技术保护点】

【技术特征摘要】
1.一种低精度的深度神经网络极化码SC译码算法,其特征在于,具体包括以下步骤:(1)基于深度神经网络构造神经网络译码器;(2)改进神经网络译码器的激活函数和损失函数;(3)对神经网络译码器采取权值量化;(4)将极化码划分为子块,分别使用神经网络译码器进行译码,保存网络模型;(5)将训练好的各个子块的神经网络译码器通过传统SC译码算法进行耦合。2.根据权利要求1所述一种低精度的深度神经网络极化码SC译码算法,其特征在于:步骤(1)中,深度神经网络译码器模型可以抽象为将输入映射到输出的一个函数f:y=...

【专利技术属性】
技术研发人员:李桂萍贠昌
申请(专利权)人:西安工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1