基于自编码神经网络的调制信号去噪方法

文档序号:25784295发布日期:2021-07-09 10:23阅读:282来源:国知局
基于自编码神经网络的调制信号去噪方法

1.本发明属于通信信号处理技术领域,特别涉及一种基于自编码神经网络的调制信号去噪方法。


背景技术:

2.通信信号的调制识别技术是实现信号检测、解调的关键步骤和基础环节,在频谱感知、电子对抗和防御等领域具有广泛的应用。近年来,基于特征的自动调制识别技术取得了较大的进展,比如基于瞬时特征、高阶累计量、循环谱技术、时频分析、小波变换等方法,这些方法通常采用带噪调制信号作为样本集,需要设计复杂的算法来提取特征量,而这些特征量往往受信号中噪声信息的影响,特别是在低信噪比环境下,调制信号会受到严重干扰,在进行特征提取时,并不能对各类调制信号起到很好的识别分类效果。
3.先将带噪的调制信号进行去噪处理,再利用去噪后的调制特征信息做调制识别分类,可有效增强调制识别的分类效果。基于这种想法,本发明提出了一种基于自编码神经网络的调制信号去噪方法,主要用于对带噪调制信号进行去噪处理。由于自编码神经网络对一维数据具有良好的表征能力,且结构简单、计算量较小,将其作为带噪调制信号的去噪模型,可具有较好的去噪效果。不同信噪比环境下的调制信号都携带着有用的特征信息,将带噪调制信号特征作为自编码神经网络的输入,将干净调制信号特征作为标签,利用反向传播算法和梯度下降法,优化更新自编码模型中参数的取值,使得参数满足一个从带噪调制信号到干净调制信号的映射,从而实现调制信号的去噪功能。
4.在现有的调制信号去噪方法中,主要是小波去噪方法、小波阈值去噪方法。基于自编码神经网络的方法用于数据去噪的应用不少,但目前在调制信号去噪中应用很少。
5.西北工业大学在其申请的专利文献“基于自编码神经网络的水声信号去噪方法”(申请号202010180738.6,申请公布号cn 111401236 a)公开了一种基于自编码神经网络的水声信号去噪方法。该发明对带噪水声信号提取相位特征信息,对信号进行分帧加窗处理,对每一帧采用短时傅里叶变换,再对相邻两帧频谱进行50%重叠,提取出相位信息特征后输入自编码进行训练,得到激活函数模型,该自编码网络每一层的激活函数选取sigmoid函数,由该模型来实现带噪声水声信号样本的去噪功能。该方法虽然提出了一种基于自编码神经网络的去噪算法,但是对数据的预处理阶段非常复杂,这在很大程度上降低了模型的去噪速度,在对去噪速度要求较高时并不适用。并且该自编码网络只提取水声信号的相位信息特征,很可能导致特征丢失较多。
6.中国工程物理研究院计算机应用研究所在其申请的专利文献“一种基于深度学习的脉冲波形去噪方法”(申请号202011093353.2,申请公布号cn 112149617 a)公开了一种基于深度学习的脉冲波形去噪方法。该发明的数据集是利用数值方法模拟幅频效应来生成,共生成2000对无调制噪音和含有调制噪音的随机脉冲波形数据,其去噪模型为基于一维u

net模型的深度神经网络,该神经网络由11个卷积层、4个上采样层、4个最大池化层、拼接层等组成。该损失函数包括两个部分,分别是绝对值损失和全变差值损失,目的是减小计
算误差,加快模型训练速度,同时去除波形毛刺,确保波形平滑。该方法虽然提出了一种调制信号的去噪方法,但是该方法仍然存在的不足之处:训练数据仅包含单脉冲波形,且脉宽仅包含2至3ns,未涵盖实际多种调制方式下调制信号的各种复杂情况,对于实际复杂多变情况下的调制信号并不能说明达到了很好的效果。


技术实现要素:

7.本发明的目的在于克服现有技术的不足,提供一种结构简单,对调制信号具有良好的表征能力,能自动提取多种调制类型和不同信噪比环境下的调制信号时域幅度特征的基于自编码神经网络的调制信号去噪方法,只需将待测调制信号输入该模型即可实现降噪,具有复杂度低、去噪效果优良、稳定的优点。
8.本发明的目的是通过以下技术方案来实现的:基于自编码神经网络的调制信号去噪方法,包括以下步骤:
9.步骤1、采用matlab仿真软件模拟一般通信链路结构,生成各类通信调制信号的带噪样本数据集和纯净样本数据集;
10.步骤2、对各样本集进行[0,1]归一化;
[0011]
步骤3、构建基于自编码神经网络的调制信号去噪自动编码器并设置超参数;
[0012]
步骤4、训练去噪模型,利用反向传播算法和梯度下降法优化更新神经网络中参数的取值,得到去噪模型。
[0013]
进一步地,步骤1中生成通信调制信号样本数据集的具体方法为:利用matlab模拟生成通信调制信号样本数据集时,设置每种调制信号的采样频率fs为93.3khz,载波频率fc为fs/4,码元速率为4

24khz,所加噪声为高斯白噪声,每个样本长度为40000个比特,将带噪信号和纯净信号保存在同一样本文件中,其中前20000个比特为纯净的无噪信号,后20000个比特为不同信噪比的带噪信号;
[0014]
根据通信信号的不同调制方式,生成12类调制信号,分别是2fsk、4fsk、8fsk、8psk、8qam、bpsk、oqpsk、16qam、16qpsk、32qam、32qps、pi4qpsk,每类调制方式均包含16种信噪比,分别为0db

15db;每类调制信号样本包含每种信噪比均有700个,每类调制信号均生产11200个信号样本,最终得到134400个调制信号样本。
[0015]
进一步地,步骤2具体实现方法为:根据归一化公式,对数据样本集中每个调制信号样本进行[0,1]归一化处理,并将所有归一化处理后的调制信号样本作为自编码神经网络的输入数据集;所述[0,1]归一化处理的公式如下:
[0016][0017]
其中y
i
表示第i个调制信号样本归一化后的数据,x
i
表示第i个调制信号样本的数据,x
min
和x
max
分别代表x
i
中的最小值和最大值。
[0018]
进一步地,所述步骤3具体实现方法为:基于自编码神经网络的调制信号去噪自动编码器包括特征编码器和生成解码器;
[0019]
特征编码器由三个卷积层和三个池化层交替连接而成,形成串联的叠层结构,以完成逐层提取特征的任务;三个卷积层的输出节点分别设置为128、64、16;每个卷积层中添加relu线性整流激活函数;设置每层padding=“same”,采用打补丁的方式使每层卷积的输
出长度与输入长度保持一致;池化层的大小为2,用来逐渐缩减每层卷积的输入大小,提升模型的计算速度,同时提高模型提取特征的鲁棒性;
[0020]
生成解码器采用与特征编码器对称的结构,同样由三个卷积层和三个池化层交替连接而成,卷积层的输出节点分别设置为16、64、128;
[0021]
所述叠层串联结构通过特征编码器对输入的一维时域带噪调制信号进行卷积操作生成时域幅度特征图,再采用池化层对特征图进行下采样,从而降低特征图维数并选择出最显著的特征;随后通过生成解码器对特征进行反卷积和上采样操作,增加特征维数至输入信号的长度,最后在解码器网络的末端连接了一个sigmoid分类器作为输出层,输出重构样本;
[0022]
所述池化层均采用max

pooling方式,即最大池化方式;
[0023]
设置所述调制信号去噪模型的超参数,将网络的学习率设为0.001的固定值;将训练时每次输入网络的样本数量batch_size设为16;每一轮迭代的最大批训练次数设为500、最大批验证次数设为100;训练的最高迭代次数设为300;初始迭代次数为1;每训练一轮,输出损失函数loss值;
[0024]
基于自编码神经网络的调制信号去噪自动编码器的结构关系如下:
[0025]
第一层为输入层,可接收的输入大小设置为(20000,1)。
[0026]
第二层为第一卷积层,有128个卷积核,每个卷积核的大小为1x3,卷积步长为1,采用relu线性整流激活函数作为激活函数,设置padding=“same”;
[0027]
第三层为第一池化层,采用max

pooling方式进行下采样,采样核size为2;
[0028]
第四层为第二卷积层,有64个卷积核,每个卷积核的大小为1x3,卷积步长为1,采用relu线性整流激活函数作为激活函数,设置padding=“same”;
[0029]
第五层为第二池化层,采用max

pooling方式进行下采样,采样核size为2;
[0030]
第六层为第三卷积层,有16个卷积核,每个卷积核的大小为1x3,卷积步长为1,采用relu线性整流激活函数作为激活函数,设置padding=“same”;
[0031]
第七层为第三池化层,采用max

pooling方式进行下采样,采样核size为2;
[0032]
第八层为第一卷积层,有16个卷积核,每个卷积核的大小为1x3,卷积步长为1,采用relu线性整流激活函数作为激活函数,设置padding=“same”;
[0033]
第九层为第一上采样层,采样核size为2;
[0034]
第八层为第二卷积层,有64个卷积核,每个卷积核的大小为1x3,卷积步长为1,采用relu线性整流激活函数作为激活函数,设置padding=“same”;
[0035]
第九层为第二上采样层,采样核size为2;
[0036]
第十层为第三卷积层,有128个卷积核,每个卷积核的大小为1x3,卷积步长为1,采用relu线性整流激活函数作为激活函数,设置padding=“same”;
[0037]
第十一层为第三上采样层,采样核size为2;
[0038]
第十二层为输出层,采用一个一维的卷积层,有1个卷积核,卷积核大小为1x3,采用sigmoid函数作为激活函数,设置padding=“same”,输出大小为(20000,1)。
[0039]
进一步地,步骤4中训练去噪模型的具体方法为:
[0040]
步骤41、将带噪调制信号特征作为输入,干净调制信号特征作为标签,利用反向传播算法和梯度下降法优化更新神经网络中参数的取值,使得参数满足一个从带噪调制信号
到干净调制信号的映射;
[0041]
步骤42、将带噪信号y输入自编码神经网络,对不同调制信号的特征进行编码,在多个隐含层中逐层进行特征提取:
[0042]
y
i+1
=δ(w
i
y
i
+b
i
)
[0043]
其中,i表示对应带噪信号特征向量y所在的层数;δ表示编码器中的激活函数,本发明设置δ为非线性激活函数relu;w
i
和b
i
表示上一层特征向量和第i层隐藏层特征向量y
i
之间的权重矩阵与偏置矩阵;
[0044]
特征编码器部分有三个卷积层,最后一层卷积后的高层特征为:
[0045]
y4=δ(w3y3+b3);
[0046]
步骤43、通过解码器进行解码并输出重构样本,解码器部分有三层卷积层进行三次重构得到重构向量,对所得高层特征y4进行重构,y4经过第一层卷积,得到第一层的重构向量:
[0047]
z1=δ(w4y4+b4)
[0048]
将z1输入第二层重构层,得到第二层输出的重构向量z2:
[0049]
z2=δ(w5z1+b5)
[0050]
将z2输入第三层重构层,得到去噪模型输出的重构向量z3:
[0051]
z3=δ(w6z2+b6);
[0052]
步骤44、根据调制信号重构样本z和目标纯净样本x的误差,设置基于自编码神经网络去噪模型的误差损失函数,再利用反向传播算法和梯度下降法优化更新神经网络中参数的取值。
[0053]
本发明的有益效果是:
[0054]
1、由于本发明使用了基于自编码神经网络的去噪网络模型,避免了传统调制信号去噪算法中对信号复杂的预处理过程,整体结构流程较简单,网络计算量较小,去噪速度较快。
[0055]
2、所述去噪自编码神经网络模型由多个卷积层和多个池化层交替连接而成,结构简单,对调制信号具有良好的表征能力,能自动提取多种调制类型和不同信噪比环境下的调制信号时域幅度特征,只需将待测调制信号输入该模型即可实现降噪,具有复杂度低、去噪效果优良、稳定的优点。
附图说明
[0056]
图1为本发明的一种基于自编码神经网络的调制信号去噪方法的流程图;
[0057]
图2为本发明的自编码神经网络的模型示意图;
[0058]
图3为本发明的去噪自编码神经网络模型的loss曲线图;
[0059]
图4为本发明的信噪比为5db的4fsk信号的去噪效果图。
具体实施方式
[0060]
下面结合附图进一步说明本发明的技术方案。
[0061]
如图1所示,本发明的一种基于自编码神经网络的调制信号去噪方法,包括以下步骤:
[0062]
步骤1、采用matlab仿真软件模拟一般通信链路结构,生成各类通信调制信号的带噪样本数据集和纯净样本数据集;
[0063]
生成通信调制信号样本数据集的具体方法为:利用matlab模拟生成通信调制信号样本数据集时,设置每种调制信号的采样频率fs为93.3khz,载波频率fc为fs/4,码元速率为4

24khz,所加噪声为高斯白噪声,每个样本长度为40000个比特,将带噪信号和纯净信号保存在同一样本文件中,其中前20000个比特为纯净的无噪信号,后20000个比特为不同信噪比的带噪信号;
[0064]
根据通信信号的不同调制方式,生成12类调制信号,分别是2fsk、4fsk、8fsk、8psk、8qam、bpsk、oqpsk、16qam、16qpsk、32qam、32qps、pi4qpsk,每类调制方式均包含16种信噪比,分别为0db

15db;每类调制信号样本包含每种信噪比均有700个,因此每类调制信号均生产11200个信号样本,12类调制信号最终得到134400个调制信号样本。
[0065]
本发明将调制信号样本集划分成训练样本集、验证样本集与测试样本集;具体实现方法为:从生成的信号样本集中按训练集:验证集:测试集=5:1:1的比例划分样本,分别组成训练样本集、验证样本集与测试样本集;训练样本集包含每类调制信号每种信噪比500个信号,共96000个信号样本;验证样本集与测试样本集均包含每类调制信号每种信噪比100个信号,分别有19200个信号样本。
[0066]
所述训练样本集用来估计模型,验证样本集用来确定网络模型的超参数,测试样本集用来测试模型在新样本上的泛化性能。在本实施例中,验证样本集和训练样本集按5:1的比例一起输入模型,用于模型的训练。一般在训练的前几个epoch中,可以通过验证样本集及时发现模型或者参数的问题,比如模型在验证样本集上是否发散、是否出现异常(如loss无穷大、map不增长或者增长缓慢),这时可以及时终止训练,重新调参或者调整模型,而不需要等到训练结束。同时,验证样本集可以验证模型的泛化能力,如果在验证样本集上的效果比训练样本集上差很多,就要考虑模型是否过拟合。另外,还可以通过验证样本集对比不同模型的去噪效果。
[0067]
步骤2、对各样本集进行[0,1]归一化;具体实现方法为:根据归一化公式,对数据样本集中每个调制信号样本进行[0,1]归一化处理,并将所有归一化处理后的调制信号样本作为自编码神经网络的输入数据集;所述[0,1]归一化处理的公式如下:
[0068][0069]
其中y
i
表示第i个调制信号样本归一化后的数据,x
i
表示第i个调制信号样本的数据,x
min
和x
max
分别代表x
i
中的最小值和最大值。
[0070]
步骤3、构建基于自编码神经网络的调制信号去噪自动编码器并设置超参数;将多个卷积层与多个池化层交替连接,形成叠层串联结构,自编码神经网络的结构如图2所示;具体实现方法为:基于自编码神经网络的调制信号去噪自动编码器包括特征编码器和生成解码器;
[0071]
特征编码器由三个卷积层和三个池化层交替连接而成,形成串联的叠层结构,以完成逐层提取特征的任务;三个卷积层的输出节点分别设置为128、64、16;每个卷积层中添加relu线性整流激活函数;设置每层padding=“same”,采用打补丁的方式使每层卷积的输出长度与输入长度保持一致;池化层的大小为2,用来逐渐缩减每层卷积的输入大小,提升
模型的计算速度,同时提高模型提取特征的鲁棒性;
[0072]
生成解码器采用与特征编码器对称的结构,同样由三个卷积层和三个池化层交替连接而成,卷积层的输出节点分别设置为16、64、128;
[0073]
所述叠层串联结构通过特征编码器对输入的一维时域带噪调制信号进行卷积操作生成时域幅度特征图,再采用池化层对特征图进行下采样,从而降低特征图维数并选择出最显著的特征;随后通过生成解码器对特征进行反卷积和上采样操作,增加特征维数至输入信号的长度,最后在解码器网络的末端连接了一个sigmoid分类器作为输出层,输出重构样本;
[0074]
所述池化层均采用max

pooling方式,即最大池化方式;
[0075]
设置所述调制信号去噪模型的超参数,将网络的学习率设为0.001的固定值;将训练时每次输入网络的样本数量batch_size设为16;每一轮迭代的最大批训练次数设为500、最大批验证次数设为100;训练的最高迭代次数设为300;初始迭代次数为1;每训练一轮,输出损失函数loss值;
[0076]
基于自编码神经网络的调制信号去噪自动编码器的结构关系如下:
[0077]
第一层为输入层,可接收的输入大小设置为(20000,1)。
[0078]
第二层为第一卷积层,有128个卷积核,每个卷积核的大小为1x3,卷积步长为1,采用relu线性整流激活函数作为激活函数,设置padding=“same”;
[0079]
第三层为第一池化层,采用max

pooling方式进行下采样,采样核size为2;
[0080]
第四层为第二卷积层,有64个卷积核,每个卷积核的大小为1x3,卷积步长为1,采用relu线性整流激活函数作为激活函数,设置padding=“same”;
[0081]
第五层为第二池化层,采用max

pooling方式进行下采样,采样核size为2;
[0082]
第六层为第三卷积层,有16个卷积核,每个卷积核的大小为1x3,卷积步长为1,采用relu线性整流激活函数作为激活函数,设置padding=“same”;
[0083]
第七层为第三池化层,采用max

pooling方式进行下采样,采样核size为2;
[0084]
第八层为第一卷积层,有16个卷积核,每个卷积核的大小为1x3,卷积步长为1,采用relu线性整流激活函数作为激活函数,设置padding=“same”;
[0085]
第九层为第一上采样层,采样核size为2;
[0086]
第八层为第二卷积层,有64个卷积核,每个卷积核的大小为1x3,卷积步长为1,采用relu线性整流激活函数作为激活函数,设置padding=“same”;
[0087]
第九层为第二上采样层,采样核size为2;
[0088]
第十层为第三卷积层,有128个卷积核,每个卷积核的大小为1x3,卷积步长为1,采用relu线性整流激活函数作为激活函数,设置padding=“same”;
[0089]
第十一层为第三上采样层,采样核size为2;
[0090]
第十二层为输出层,采用一个一维的卷积层,有1个卷积核,卷积核大小为1x3,采用sigmoid函数作为激活函数,设置padding=“same”,输出大小为(20000,1)。
[0091]
步骤4、训练去噪模型,利用反向传播算法和梯度下降法优化更新神经网络中参数的取值,得到去噪模型;具体方法为:
[0092]
步骤41、本发明生成的每个调制信号样本长度为40000比特,其中前20000个比特为纯净的无噪信号,后20000个比特为不同信噪比的带噪信号,假设单个样本的前20000比
特数据为纯净信号x,后20000比特数据为带噪信号y。将y作为训练的输入,x作为训练的标签,利用反向传播算法和梯度下降法优化更新神经网络中参数的取值,使得参数满足一个从带噪调制信号到干净调制信号的映射;
[0093]
步骤42、去噪模型包括特征编码器和生成解码器,首先将带噪信号y输入自编码神经网络,对不同调制信号的特征进行编码,在多个隐含层中逐层进行特征提取:
[0094]
y
i+1
=δ(w
i
y
i
+b
i
)
[0095]
其中,i表示对应带噪信号特征向量y所在的层数;δ表示编码器中的激活函数,本发明设置δ为非线性激活函数relu;w
i
和b
i
表示上一层特征向量和第i层隐藏层特征向量y
i
之间的权重矩阵与偏置矩阵;
[0096]
特征编码器部分有三个卷积层,最后一层卷积后的高层特征为:
[0097]
y4=δ(w3y3+b3);
[0098]
步骤43、通过解码器进行解码并输出重构样本,解码器部分有三层卷积层进行三次重构得到重构向量,对所得高层特征y4进行重构,y4经过第一层卷积,得到第一层的重构向量:
[0099]
z1=δ(w4y4+b4)
[0100]
将z1输入第二层重构层,得到第二层输出的重构向量z2:
[0101]
z2=δ(w5z1+b5)
[0102]
将z2输入第三层重构层,得到去噪模型输出的重构向量z3:
[0103]
z3=δ(w6z2+b6);
[0104]
步骤44、根据调制信号重构样本z和目标纯净样本x的误差,设置基于自编码神经网络去噪模型的误差损失函数,再利用反向传播算法和梯度下降法优化更新神经网络中参数的取值。本发明设置基于自编码神经网络去噪模型的误差损失函数为交叉熵,即mse损失函数。所述去噪模型的目标是使损失函数η尽可能减小,通过adam优化算法对损失函η进行迭代优化,以此得到表征性更好的特征。mse损失函数的公式为:
[0105][0106]
步骤5、将测试样本集的带噪信号输入去噪模型的最终形式,得到测试集的loss值变化情况,分析该模型对带噪调制信号的去噪效果。
[0107]
本发明具体效果通过以下测试进一步说明:
[0108]
1、测试条件:
[0109]
本发明的测试实验在intel i7

6800k cpu、64g ram、nvidia gtx

1080ti gpu、ubuntu16.04lts系统下,keras2.0.6与matlab2015b运行平台上,完成本发明中不同调制方式的样本集和基于自编码神经网络的调制信号去噪方法的仿真测试实验。
[0110]
2、测试实验内容
[0111]
本发明的样本集仿真实验,由matlab2015b产生调制信号样本,所用的调制类型为bpsk、8psk、oqpsk、pi4qpsk、16qam、32qam、16apsk、32apsk、8fsk、2fsk和4fsk,一共12种,每种调制类型的信号在过信道时加入0

15db的高斯白噪声。本发明选择的方式是将信号统一归一化为中频信号,即把载波频率和采样频率的比值固定在四分之一的定值,将采样速率定为93.3khz。划分好数据集并进行归一化之后,将数据送入设计好的自编码神经网络进行
训练,迭代300个epoch,把在验证集上面表现效果最好的模型最为最终的训练输出模型。
[0112]
3、测试实验结果:
[0113]
本发明对自编码神经网络模型进行去噪训练的实验结果如图3所示。图3中的横轴代表迭代次数,纵轴代表训练样本集每次训练的损失函数值train_loss与验证样本集每次训练的损失函数值val_loss。在对自编码网络模型进行去噪训练的过程中,统计每次训练结果的损失函数值,损失函数值越小代表模型的训练效果越好。由图3可见,随着迭代次数的增加损失函数值递减并最终收敛至稳定,说明测试实验的训练效果随着训练次数的增多而提高并趋于稳定,最终形式的验证集loss值最低为0.0036,模型收敛效果较好。
[0114]
将测试待去噪样本输入训练好的去噪自编码模型,可得到测试实验在信噪比0db

15db范围内的各类调制信号均能有较好的去噪效果。如图4所示的曲线图为信噪比为5db信噪比情况下的16qam调制信号,其中,(a)为时域幅度,(b)为频域功率谱。从时域和频域上皆可说明本发明基于自编码神经网络的调制信号去噪方法对调制信号的去噪功能有效可行。
[0115]
以上的仿真实验说明,针对调制信号的去噪处理,本发明可以完成不同调制类型在不同信噪比环境下的去噪任务,方法有效可行。
[0116]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1