技术领域
[0001] 本
发明属于无线通信中的速率自适应传输技术领域,更具体地,涉及一种基于深度学习的RCM方法。
背景技术
[0002] 在无线传输系统中,为了提高时变信道下的
频谱效率,需要根据信道条件进行传输速率的自适应调节,从而在保证信息可靠传输的
基础上尽可能地提高
信息传输速率。基于速率兼容调制(Rate Compatible Modulation,RCM)技术设计的速率自适应传输系统,无需准确、及时的信道状态信息,即可实现无缝平滑的盲速率自适应传输,且可以在很大的
信噪比(Signal Noise Ratio,SNR)范围内获得接近信道容量的频谱效率。
[0003] RCM通过稀疏映射矩阵对信息比特进行加权求和操作从而生成编码符号,然后使用基于Tanner图的置信传播(Belief Propagation,BP)
算法进行译码,Tanner图中的变量
节点表示原始信息比特序列,校验节点表示经信道传输后的RCM码字序列。译码第一步,根据信息比特的稀疏度初始化所有变量节点为0或为1的
置信度;第二步校验节点根据接收到的符号值及噪声分布概率进行卷积计算得到与之相连的各个变量节点的置信度并传递给变量节点;第三步变量节点根据第二步得到的置信信息统计出更新后的变量节点的置信度;第四步,判决输出,根据变量节点的置信度得到原始信息比特的估计值,重复
迭代二三步直至达到最大译码周期数或原始信息比特的估计值满足校验条件。
[0004] BP译码算法虽然具有优良的译码性能,但迭代过程中校验节点的更新需要大量卷积运算导致其计算复杂度很高;译码过程中需要多次迭代,且每次迭代都需要存储所有参加更新的节点的信息,导致译码占用的内存空间过大;译码过程中多次迭代运算限制了BP译码算法的译码速度,降低了译码吞吐率,限制了RCM在高速无线通信中的应用。
发明内容
[0005] 针对
现有技术的
缺陷,本发明的目的在于提供一种基于深度学习的RCM方法,旨在解决现有BP译码算法收敛速度慢,且需要多次迭代,导致内存开销大、译码速度低以及吞吐率低的问题。
[0006] 为实现上述目的,本发明提供了一种基于深度学习的RCM方法,包括:
[0007] (1)在不同信噪比条件下生成多组带标签的数据集(r,b);其中,b表示随机生成的原始信息比特序列,r表示b经过稀疏编码矩阵编码以及信道传输后的码字序列;
[0008] (2)建立深度学习译码模型;
[0009] 所述深度学习译码模型包括
输入层、
隐藏层、
输出层;
[0010] 所述输入层,用于接收信道传输后的码字序列;所述隐藏层,用于提取所述码字序列之间的时序相关特征,并学习所述码字序列与原始信息比特之间的非线性关系;所述输出层,用于根据所述非线性关系,输出所述码字序列经过译码后的信息比特序列;
[0011] (3)将码字序列r作为深度学习译码模型的输入,将原始信息比特序列b作为深度学习译码模型的目标输出,对构建好的深度学习译码模型进行训练,当所述深度学习译码模型的输出与期望输出的误差小于设定
阈值或达到最大训练迭代次数时,停止训练,得到训练好的深度学习译码模型;
[0012] (4)将待译码的RCM码字序列输入训练好的深度学习译码模型,得到信息比特序列。
[0013] 进一步地,所述输入层大小根据不同信噪比条件下译码所需的码字序列的长度确定。
[0014] 进一步地,所述隐藏层包括多个依次连接的LSTM层,每个LSTM层包括多个并列的LSTM神经元。
[0015] 进一步地,所述隐藏层中包含的LSTM层数以及每层包含的LSTM神经元数量根据待译码的RCM码字序列长度确定。
[0016] 进一步地,所述LSTM神经元包括:遗忘
门、输入门和输出门;
[0017] 所述遗忘门,用于选择性的忘记之前的状态信息;
[0018] 所述输入门,用于确认当前时刻的输入信息;
[0019] 所述输出门,用于输出当前时刻的信息。
[0020] 进一步地,所述遗忘门、输入门和输出门均包括一个sigmoid函数和一个点乘运算。
[0021] 进一步地,所述输出层采用sigmoid函数作为激活函数:
[0022]
[0023] 其中,z=w·x+b,表示神经网络非线性映射之前的值,σ(z)表示神经网络的预测值。
[0024] 进一步地,根据所述激活函数的特征将输出的译码信息序列 判决为0或1,判决方式如下:
[0025]
[0026] 进一步地,所述输出层的大小为原始信息比特序列b的数目。
[0027] 进一步地,训练所述深度学习译码模型时采用的损失函数为:
[0028]
[0029] 其中,lBCE为损失函数的均值,k为样本数量。
[0030] 通过本发明所构思的以上技术方案,与现有技术相比,能够取得以下有益效果:
[0031] 本发明利用训练好的深度学习译码模型从含有噪声干扰的RCM编码符号中恢复出原始编码信息比特,只需要简单的乘法和加法运算即可实现译码,实现了无需迭代的高吞吐量译码,译码速度远远快于RCM-BP译码算法,可以解决现有RCM-BP译码算法译码复杂度高,多次迭代造成的译码时延大以及吞吐率低的问题,有效提高了译码器的译码吞吐率,对于推动RCM在高速无线通信中的应用具有重要价值。
附图说明
[0032] 图1表示本发明的基于深度学习的RCM方法
流程图;
[0033] 图2表示信息比特到RCM码字序列的映射示意图;
[0034] 图3表示本发明提出的深度学习译码模型结构示意图;
[0035] 图4表示长短时记忆网络LSTM的内部结构构成;
[0036] 图5表示本发明的深度学习译码模型训练流程图;
[0037] 图6表示基于深度学习的RCM译码方法与BP译码方法的误码率性能对比。
具体实施方式
[0038] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及
实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0039] RCM属于非一一映射方式,一个RCM符号由多个信息比特加权求和获得,一个信息比特可以被多个RCM
采样编码,RCM符号和符号之间存在明显的时序相关性。LSTM非常适合解决RCM的译码问题,将长短时记忆网络应用于RCM译码中可以有效降低译码计算量和复杂度。
[0040] 参考图1,本发明实施例提供了一种基于深度学习的RCM方法,包括:
[0041] (1)在不同信噪比条件下生成多组带标签的数据集(r,b);其中,b表示随机生成的原始信息比特序列,r表示b经过稀疏编码矩阵编码以及信道传输后的码字序列;
[0042] 具体地,如图2所示,b表示物理层输入的长度为N的原始二进制比特
块 r表示b经过稀疏编码矩阵G编码以及信道传输后的RCM
信号r=G·b+n,其中,稀疏编码矩阵G大小为M×N、每行有L个非零元素W={w1,w2,...,wL},n为信道高斯白噪声向量。为了确定不同信噪比条件下译码所需的RCM符号数,即RCM码字序列r的长度,建立RCM成功译码概率模型(SNR-CDF模型),当成功解码概率大于等于99.99%时,即认为译码成功,根据SNR-CDF模型确定不同信噪比条件下译码成功所需的RCM符号数。
[0043] 本实施例在信噪比为10~18dB的条件下,使用32个RCM符号进行译码。根据RCM编码,在不同的信噪比SNR条件下(10dB~18dB,间隔1dB)分别生成108组带标签的样本,从而构成译码的训练样本集(r,b,Ntrain),Ntrain=9*108表示该样本集中总有9*108个样本。同理,在不同的信噪比SNR条件下(10dB~18dB,间隔1dB)分别生成106组样本,从而构建译码的测试样本集(r,b,Ntest),测试样本集包含的样本数为9*106个。
[0044] (2)建立深度学习译码模型;
[0045] 具体地,如图3所示,深度学习译码模型包括输入层Input Layer、隐藏层Hidden Layer、输出层Output Layer;输入层,用于接收信道传输后的码字序列;隐藏层,用于提取码字序列r之间的时序相关特征,并学习码字序列与原始信息比特b之间的非线性关系;隐藏层包括多个依次连接的LSTM层,每个LSTM层包括多个并列的LSTM神经元;输出层,用于根据非线性关系,输出码字序列经过译码后的信息比特序列 图3中,输入是长度为32的RCM码字序列r,实际应用中输入层大小根据不同信噪比条件下译码所需的码字序列的长度确定;隐藏层包括2层LSTM层,每层长短时记忆网络包含964个LSTM Cell,实际应用中,隐藏层中包含的LSTM层数以及每层包含的LSTM神经元数量根据待译码的RCM码字序列长度确定;输出为长度为32的信息比特序列 实际应用中,输出层的大小为原始信息比特序列b的数目。
[0046] 如图4所示,ht-1表示上一时刻LSTM Cell的输出,xt表示当前时刻LSTM Cell的输入,Ct-1表示上一时刻LSTM Cell的状态,Ct表示当前时刻的状态,LSTM神经元主要包括:遗忘门、输入门和输出门,对应的输出分别为:ft、it和Ot,相应的权重参数为Wf、Wi和Wo;
[0047] 遗忘门,用于选择性的忘记之前的状态信息Ct-1,其输出ft:
[0048] ft=sigmoid(Wf·[ht-1,xt]+bf);
[0049] 输入门,用于确认当前时刻的输入信息:
[0050] it=sigmoid(Wi·[ht-1,xt]+bi)
[0051]
[0052] 状态更新阶段,将状态信息Ct-1更新为Ct,通过ft控制Ct-1保留的信息,通过it控制输入的信息:
[0053]
[0054] 输出门,输出当前时刻的信息:
[0055] Ot=sigmoid(Wo·[ht-1,xt]+bo)
[0056] ht=Ottanh(Ct)
[0057] 当前时刻的输出ht作为下一时刻的输入,当前时刻的状态Ct参与下一时刻的状态更新。
[0058] “门”结构解决了RNN存在的梯度消失和长时间依赖问题,上述“门”结构均由一个sigmoid函数和一个点乘运算构成。
[0059] 输出层采用sigmoid函数作为激活函数: 其中,z=w·x+b,表示神经网络非线性映射之前的值,σ(z)表示神经网络的预测值,为了输出得到译码信息序列,根据神经网络输出层激活函数的特征将其输出判决为0/1,判决方式如下:
[0060]
[0061] (3)将码字序列r作为深度学习译码模型的输入,原始信息比特序列b作为深度学习译码模型的目标输出,对构建好的深度学习译码模型进行训练,当所述深度学习译码模型的输出与期望输出的误差小于设定阈值或达到最大训练迭代次数时,停止训练,得到训练好的深度学习译码模型;
[0062] 具体地,深度学习译码模型的训练过程如图5所示,首先由计算机仿真得到步骤(1)所述的
训练数据集,然后建立步骤2所述的神经网络译码模型,模型的输入为标签样本(r,b)中的r,b为模型的目标输出,以交叉熵函数作为损失函数,利用Adam
优化算法对深度学习译码模型进行训练,当模型的训练误差小于10-5或达到设定的最大训练次数时停止训练,否则继续训练,使得该译码模型获得良好的网络参数,最后将训练得到的网络参数保存;
[0063] 采用的损失函数为:
[0064]
[0065] 其中,lBCE为损失函数的均值,k为样本数量。
[0066] (4)将待译码的RCM码字序列输入训练好的深度学习译码模型,得到信息比特序列。
[0067] 具体地,利用训练好的深度学习译码模型对经过信道噪声干扰的RCM码字序列进行相关运算即可实现译码,输出为信息比特序列
[0068] 图6比较了本发明的基于深度学习的RCM译码方法与原始RCM-BP译码方法的误码率性能,由图可知,本发明的基于深度学习的RCM译码算法的误码率性能明显优于RCM-BP算法的性能。
[0069] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何
修改、等同替换和改进等,均应包含在本发明的保护范围之内。