基于LSTM的ZigBee网络中通信信号识别算法
2023-10-29刘洪笑谭建军
刘洪笑,向 勉,2,谭建军,朱 黎
(1. 湖北民族大学智能科学与工程学院,湖北 恩施 445000;2. 硒食品营养与健康智能技术湖北省工程研究中心,湖北 恩施 445000)
1 引言
随着物联网(Internet of Things,IoT)设备的迅速普及,ZigBee技术已成为社会基础通信设施的重要组成部分。ZigBee技术是一种基于IEEE 802.15.4规范的高级通信协议,被广泛应用于智能家居、工业设备控制、医疗数据收集和其它低带宽需求场景中[1]。ZigBee网络主要工作在2.4 GHz的ISM(Industrial Scientific Medical)频段,与WiFi网络共享该频段,且ZigBee设备的发射功率远小于WiFi设备的发射功率,因此ZigBee设备极易受到同区域设置的WiFi设备的干扰,导致通信质量的下降[2]。因此,如何有效地识别出ZigBee网络中的各类通信信号是优化信道配置、节约频谱资源的第一步,具有重要的意义[3]。长短期记忆神经网络(Long Short-Term Memory,LSTM)[4]是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,文献[5]结合LSTM与CNN的优点,搭建长短期卷积深度神经网络,实现了高信噪比下的信号高识别率。本文的数据集是通过Matlab软件仿真构建Zigbee和WiFi信号发生器模型来获得IQ数据,然后采用LSTM神经网络对Zigbee和WiFi信号进行识别,由于两者的调制方式不同,所以可以通过LSTM神经网络提取两者的特征信号,进而识别出调制信号并分类。
2 相关研究
早期的通信信号识别是利用人工机械方式来完成的,识别效率低且识别准确率差。1969年,C.S.Weaver等人率先提出通信信号调制方式自动识别方法,引发了国内外学者对通信信号调制识别的研究热潮[6]。但深度学习算法的快速发展,激发了广大学者对研究神经网络提取通信信号特征参数的兴趣[7,8]。Tim O’Shea等人研究了卷积神经网络(Convolutional Neural Networks,CNN)用于通信信号调制识别的适应性,可识别11种调制信号[9],在低信噪比下,卷积神经网络对数量多且密集的编码时间序列进行训练具有明显优势。虽然在CNN的网络构架上做了改进和优化,但是没有充分考虑并研究它们的适用性,随后,Tim O’Shea等人构建深层卷积神经网络以及深层残差网络,实现了24种调制信号的准确识别[10]。深度学习方法在运用残差构架时效果显著,在无法获得真实的数据情况下,尤其是在高信噪比下OTA数据集和等效合成的数据集有着相同的性能,但是在足够大的数据集上直接对模型进行完整训练时,无法获得同等的准确性。文献[11]利用CNN,结合时域分析方法及图像处理算法,实现了雷达信号脉内调制的识别,但能识别的信号调制类型偏少。文献[12]利用改进的残差神经网络中的多流网络提取信号的多种特征,避免了模型复杂带来的过拟合。Wu S等人[13]利用深度学习,构建信号特征学习网络与信号识别网络,提高了通信终端自主学习、决策和更新能力,但算法的计算复杂度较高。为提升低信噪比下通信信号的识别率,刘凯等人[14]通过提取调制信号的多维特征,构建LSTM时间模型,实现了较低信噪比条件下6种数字调制信号的识别。在以上研究工作中,虽然调制信号识别的方法不少,但很难做到在低信噪比下的精准识别,并且未对具体的通信信号如ZigBee信号、WiFi信号等进行分类识别。文献[15]对ZigBee信号、WiFi信号进行了分类识别,但并未分析低信噪比下的信号识别准确率。本文采用LSTM设计通信信号识别机制,对LSTM的结构与参数进行调整,实现ZigBee信号、WiFi信号的高识别率。本文的研究内容如下:
1)通过Matlab中的Simulink仿真搭建ZigBee信号、WiFi信号发生器模型,分别获取ZigBee信号、WiFi信号的IQ数据,构建信号数据集。
2)对IQ信号进行归一化处理,设计LSTM、CNN网络对信号数据进行特征提取处理及分类识别。
3 构建信号数据集
本文利用Matlab构建Zigbee信号发生器模型和WiFi信号发生器模型,获取WiFi和ZigBee信号数据,然后进行一系列的处理,使得数据能够以适当的结构输入到本文所构建的LSTM中,进行信号的分类和识别。本文实验平台为Matlab2020a,实验环境为Windows 10操作系统,12.0 GB内存,Intel(R)Core(TM)i5-7200U CPU @ 2.50GHz。
3.1 搭建信号模型
本文利用Simulink进行信号模型搭建,ZigBee网络信号采集框图如图1所示,模型中有两路通信通路,一路为ZigBee信号,另一路为WiFi信号。ZigBee信号与WiFi信号的发生器内部结构分别如图2、图3所示,两类信号的信号发生器均采用伯努利二进制生成器生成随机的二进制数据,ZigBee信号采用数据速率为250kbps,码片速率为2 Mchips/s的直接序列扩频与OQPSK调制方式[15],发射功率设置为0dBm;WiFi信号采用BPSK调制,发射功率设置为17dBm。被发射的ZigBee、WiFi信号经过高斯白噪声信道,通过直接变频接收机的电路包络模型将数据转化成I、Q两部分输出。为探讨在低信噪比环境下识别算法的准确性,本文将信噪比(Signal to Noise Ratio,SNR)设置为-50dB、-40dB、-30dB、-20dB、-10dB、0dB六种情况[16],分别在六种信噪比环境下采集ZigBee、WiFi信号数据,构建信号数据集。
图1 ZigBee网络信号采集框图
图2 Zigbee 信号发生器内部结构
图3 WiFi 信号发生器内部结构
3.2 信号数据集
实验一共设置了12组信号样本,信号类型分为Zigbee和WiFi两种,而每种信号类型又包含了从-50dB到0dB,一共6种信噪比值下的信号样本,如表1所示。每一条信号样本包含了维度为320000×2的矩阵,矩阵的第二维度表示I和Q两路数据。为了使得信号样本能够以适当的格式输入到神经网络中,本文对于信号样本采取了两种分割方法,第一种分割方法为将32000×2的样本分割为125个256×2的小样本,第二种方法分割的小样本的维度则为512×2。将数据分割完成后还需要对数据进行归一化处理。
表1 数据集参数
使用min-max的方法[17]进行归一化,归一化的公式为
(1)
4 基于长短期记忆神经网络的识别算法
长短期记忆神经网络(LSTM)是一种时间循环神经网络,可解决一般的RNN存在的长期依赖问题。LSTM所擅长解决的问题是基于时间序列的分类问题,而本文所研究的IQ信号是时序信号,2组信号的维度分别为:256×2,512×2,适用于LSTM网路,本文网络训练使用的是NVIDIA GeForce 940MX显卡,实验平台是Python,工具箱为tensorflow2.0。本文所设计的LSTM网络结构如图4所示。
图4 LSTM网络结构
本文所设计的样本数据维数为2,时间维数为256、512和1024。对于LSTM第一层的数据输出,时间的维数仍然是100。而第二层LSTM层的时间维数没有变化,样本数据的维数变化为100。然后连接一个Dense层,神经元数量为100,使用一个softmax层进行分类。选择交叉熵函数作为损失函数。优化器是Adm(adaptive moment estimation)。
文献[6,7]提出,使用卷积神经网络也可以对调制信号进行较为准确的分类,作为本文实验的对比,设计了一组基于CNN的对比实验,实验的框架结构如图5所示。
图5 实验的框架结构
该模型广泛用于调制信号的分类,由2个卷积层、2个ZeroPadding层、2个dense层组成。
5 实验结果与分析
将数据按10:1的比例划分为训练集和测试集。共设置了三组实验,第一组LSTM网络结合256×2的数据,第二组是LSTM网络结合512×2的数据,第三组是CNN结合256×2的数据。通过这三组数据的对比,可以对比出网络结构与数据格式对于分类精度的影响。每个模型训练5次,训练的batch_size都为50,共训练100个世代。结果表明,精度在100个世代前稳定下来。记录了模型在训练过程中训练参数(train_acc)的变化,训练5次,得到 准确性。表2为统计检验结果。
表2 深度学习网络调制识别准确率
对比表2和图6-图10的结果,LSTM模型始终能够获得较高的准确率和较为快速的收敛速度,而CNN在训练过程中,只是在初期有着很短暂和微小的训练loss下降和准确率的提升,最终得到的结果表明CNN准确率基本没有提升,意味它根本无法提取出任何有效的特征,在此实验中,LSTM是一种比CNN更适合的网络结构。分析原因,数据的维度为256×2这样的长方形数据,更接近于类似自然语言等的序列数据而非图像数据。其次,256×2的数据结构的分类准确率比512×2的分类准确率更高,高出了3.6%,并且可以从图7和图9得知,在训练集精度和测试集精度上,256×2的数据结构增长速度更快,大概在60代就可以接近90%,而512×2组在接近100代时才能够达到90%,并且增长曲线更为平滑,从图8和图10上看,同样的变化也体现在loss值上,256×2的数据结构的训练集loss和测试集loss的下降速度和最低值都有着明显的优势,由以上分析可以说明,IQ数据的截取长度、截取方法同样可以影响到最终分类结果,在本文中,256×2的是一种适当的数据分割维度。
图6 不同的模型与数据格式的准确率
图7 训练世代与准确率的关系
图8 训练世代与loss的关系
图9 训练世代与验证集准确率的关系
图10 训练世代与验证集loss的关系
6 总结
本文针对ZigBee信号易受到WiFi信号干扰的问题,提出了一种基于LSTM的ZigBee网络中通信信号识别算法,对ZigBee网络中的ZigBee信号与WiFi信号进行识别。首先通过Matlab的Simulink通信模块搭建干扰网络,在参数上尽可能的贴近真实数据集,获取ZigBee信号、WiFi信号的同相和正交(IQ)数据,构建ZigBee、WiFi信号数据集;然后再经过LSTM对于数据进行特征提取并分类识别。结果表明,以256×2数据结构为输入的LSTM模型的训练精准度为90.5%,有一定的实用价值。