基于BP神经网络的空时分组码识别算法
2022-09-16王玉龙弓皓臣杨思为
王玉龙 吴 迪 胡 涛 弓皓臣 杨思为
(中国人民解放军战略支援部队信息工程大学,河南郑州 450001)
1 引言
MIMO 通信系统以其超高的信道容量成为当前无线通信技术中的研究热点;空时分组码作为MIMO 中的编码方案,其盲识别问题近年来受到越来越多的关注。
当前,针对空时分组码的识别主要以传统方法为主,基本原理是经过空时编码的调制符号序列在同一空时码块内存在相关性,因此接收信号的相关长度与信源采用的空时分组码的码长具有一致性,通过构造统计量并辅助相应的判决方法实现对信号相关长度的检测,进而达到区分空时分组码的目的;最早,文献[1]利用循环统计量实现了空间复用(Spatial Multiplexing,SM)与Alamouti 编码的区分,但由于算法的可识别码集规模较小,实用价值不高;之后众多文献[2-8]提出利用各种二阶或高阶统计量不断对可识别码集进行扩展,或在码集相同的情况下实现更高的识别率;特别的,文献[9]利用接收信号的自相关矩阵的诱导峰值将可识别的空时分组码扩展至5 个,达到了传统方法中可识别码集规模的最大值。近年来,由于机器学习理论的发展,在信号处理领域涌现出大量基于深度学习的研究文献,比如基于深度学习的调制识别[10-11]等;最近,文献[12]将深度学习应用于空时分组码的识别,实现了低信噪比下SM 与Alamouti 编码的区分,文献[13-14]利用卷积神经网络将可识别的空时编码由原来的5个扩展到了6个。
综合以上分析,关于空时分组码的盲识别,整体研究趋势是可识别的空时码集不断扩大、识别方法从传统方法向基于深度学习的方法转变。由于传统算法的判决过程往往需要人为设置阈值并通过决策树进行自动识别,而同一阈值难以在所有条件下达到最优,且决策树中每一节点仅对一个特征进行决策,识别结果易受单特征随机性的影响;文献[12-14]利用深度学习的方法则完全避免了人为寻找特征及确定阈值的过程,但由于该方法需要较为完备的训练数据才能达到理想的识别效果,对于训练数据未包含的特征不敏感,而实际信号往往存在大量的不确定因素,使得网络对实际信号的识别能力下降,且由于所提深度神经网络输入的是原始的接收符号序列,当实际接收信号的长度比预设长度更长或更短时必须经过处理才能进行识别,因此该方法在对突发场景及信号长度的适应性上不及传统算法。基于此,我们选择了“人工提取特征+BP神经网络”的组合方案,利用人工提取特征可以增加算法的可预测性及可解释性,保持了传统算法对信号长度的良好适应能力,利用BP 神经网络[15]可以避免人为设置阈值,其轻量化的结构相比于深度神经网络更加节省计算资源。
2 信号模型
2.1 编码模型
下面考虑一般的线性空时分组码的编码模型,定义sk=为待进行空时编码的第k组复信号矢量,其中参数ne表示进行空时编码时所需要的复符号个数,si为经过星座映射后的复符号,上标T 表示取转置。sk经过空时编码后得到维数为nt×l的空时编码块C(sk),其表达式为
以Alamouti编码为例,其编码矩阵为
于是
本文算法针对以下空时分组码集进行分析:
2.2 信号接收模型
假设发射机与接收机间已实现同步且最优采样。信号接收模型如下:
式中hu,v为第v根发送天线所发信号xv到达第u根接收天线时的衰减系数,由于本文在瑞利信道下讨论算法的识别性能,所以H中的每一元素满足圆高斯分布;nr为接收天线个数,nu为第u根接收天线所收信号yu中的加性复高斯噪声成分,Yi为第i组接收信号向量。
3 特征提取
3.1 空时相关矩阵
假设两个时间差为τ的接收信号向量分别为Yi和Yi+τ,空时相关矩阵[9]的定义如下:
代入编码模型与信号接收模型,计算得:
式中RX(τ)=,其中E[|s|2]为发送信号的平均功率。因此,在发送功率相同的情况下,RX(τ)仅与信源采用的空时编码相关,而RY(τ)则同时受到空时编码与信道响应矩阵H的影响。当H列满秩时:
由表1 及式(13)可知,在延时量τ分别取0~5 时,在不同STBC 下为0 的情况不同。因此,可通过对Ω 中的六种空时分组码进行区分,而RY(τ)可以通过式(14)进行估计。
表1 不同延时下的统计结果Tab.1 Statistical results of under different delays
其中G为接收的样本个数。
3.2 白化处理
3.3 构造高维空时分组码特征
文献[9]利用决策树对空时码进行识别时一个决策节点只考虑一种延时量下的特征,识别过程通过在每个节点人为设置阈值以判断相应延时量下的特征是否为零对不同空时编码进行区分,对不为零且值不相同的特征没有区分性,因此无法对STBC3-2 与STBC3-3 进行区分;限制该算法的可识别码集进一步扩大的根本原因是识别过程仅利用了一维特征信息;基于此,我们设计了以,τ=0~5 构成的6 维特征对空时分组码进行区分,利用BP 神经网络进行分类,由于识别过程联合了多维特征,更利于区分在特征上仅有细微差异的空时编码。为了直观展示Ω 中的六种空时分组码在该特征下的区分性以及白化处理对区分度的影响,我们绘制了白化前后所提特征在空间中的分布,如图1 所示。仿真过程采用QPSK 调制,瑞利信道,4 根接收天线,接收信号信噪比为10 dB,接收样本数为2048,并对每根接收天线的接收功率及6维特征进行归一化处理,其中SM-K代表信源采用空间复用时使用K根发射天线。
经过对比可以发现,白化处理后原来散乱分布的六维特征的区分度明显提高。根据表1,Alamouti编码仅在τ=1 时不为0,因此接近于1,如图(c)所示;STBC3-1 和STBC3-2 的差别主要体现在,前者接近为0,而后者不为0,如图(d)所示;区别于前面三种空时分组码,STBC3-4在时获得最大值,如图(d)所示;特别地,由于SM 在τ取任何值时均为0,理论上应该处于图(c)和图(d)的中心位置,且所提特征准确的将SM-1和SM-2归为一类;为了更加清晰的显示STBC3-1、STBC3-2和STBC3-3的区分性,我们绘制了三者分别在τ=1和τ=3时的特征,如图(e)所示。
4 基于BP神经网络的空时码识别
BP 神经网络具有任意复杂的模式分类能力和优良的非线性映射能力,同时又具有相对简单的网络结构,在轻量、实用化的系统中应用较为广泛。从结构上讲,BP网络具有输入层、隐藏层和输出层,其结构如图2 所示;从算法上讲,BP 网络就是以输出误差的平方作为目标函数、采用梯度下降算法计算目标函数的最小值,并基于反向传播算法对网络权值进行调整。
本文采用BP 神经网络对提取的6 维特征进行分类,所以BP 神经网络输入节点的个数为6;又由于待识别的空时码共6 类,因此输出节点的个数为6,激活函数选择softmax;基于下文中5.1 小节的分析,隐藏层选择10 个节点,激活函数选择sigmoid。训练过程采用adam 优化器,学习率设为0.001,训练150 轮,每轮开始前对所有的训练数据打乱处理。
训练样本的信噪比从−10 dB 到20 dB 变化,间隔为1 dB;每一信噪比下选用两种调制方式,分别为QPSK 和16QAM;每一调制方式下每种空时编码产生100 个样本,样本长度为2048,使用3 根接收天线;特别的,当空时编码方案采用SM 时,SM-1 和SM-2各为50个样本,共计31×2×5×100=31000个样本。信道模型选用静态瑞利衰落信道,即信道的衰落系数hu,v的实部与虚部独立同分布,均服从,且在一次信号的接收过程中衰落系数不发生变化。
测试样本的相关参数如不明确指出,默认调制方式采用QPSK,样本长度为2048,空时编码方案为SM 时使用SM-2,信道模型为静态瑞利衰落信道,同一参数下产生100个测试样本。
5 仿真分析
在实际应用环境中,由于待识别的信号往往存在大量的不确定因素,如非合作的发送方可能采用独特设计的星座图,或者由于接收机的不理想导致符号同步存在误差等,所有这些不可预测的因素对算法的适用性提出了更高的要求;但是以深度学习为基础的算法往往存在过拟合的缺陷,致使算法对于训练数据未包含的特征不敏感,对实际信号的识别能力降低;从该角度出发,我们特殊设计了5.3~5.5 小节的仿真实验,以考查网络对相应参数的泛化能力。
需要指出的是,以下各小节中的信噪比均指接收端匹配滤波并采样(如不特别指出,均指最优采样)后信号的信噪比;当算法是基于多根接收天线时,信噪比为各接收天线的平均信噪比。
5.1 BP 神经网络的隐藏层采用不同节点个数时的识别率测试
为了选择合适的隐藏层节点个数以达到计算资源与识别效果的均衡,本节我们测试BP 神经网络在不同信噪比(−10 dB、−7 dB、−4 dB、−1 dB、2 dB、5 dB)下隐藏层节点个数分别为2、4、6、8、10、20、30、40、50、60、70、80、90、100 时的识别效果。
由图3(a)可知,当BP 神经网络的隐藏层节点个数大于10 时,不同信噪比下的识别率趋于稳定;同时,由图3(b)可观测到,BP 神经网络对整体测试样本的验证准确度在节点数为10 处达到了接近于84.84%的峰值。基于以上分析,BP 神经网络的隐藏层节点个数选择为10 时可以达到计算资源与识别效果的最佳均衡。
5.2 不同算法的识别效果及计算复杂度对比
本节我们选取两个典型算法进行对比分析。文献[9]所提算法属于传统的基于特征提取的识别算法,相比于其他传统的空时码识别算法,其可识别的空时码集最大,包含五个空时分组码,但该算法需要人为设置虚警概率以计算相应的阈值,我们对该算法在两种虚警概率(probability of false alarm,pfa)下进行了仿真。文献[14]利用深度学习的技术对空时分组码进行识别,将可识别的空时分组码扩充至六个。本文算法在维持可识别的空时码集规模为六的情况下使用了结构更加简单的BP神经网络。
由图4可知,相比于其他两种算法,本文算法在相同条件下具有更高的识别率。其中文献[9]由于无法对STBC3-2 与STBC3-3 进行区分,因此在SNR >0 dB 时识别率不再随着信噪比的提高而提高,即该算法针对当前空时码组的识别存在系统性缺陷,使得即使在高信噪比(20 dB)下算法的识别率也只能达到1/6×100%×4+1/6×50%×2≈0.83。文献[14]所提算法由于是基于单接收天线的,因此对信道条件较为敏感,而在瑞利衰落信道下不同发射天线所发信号的幅度与相位均受到随机畸变的影响,经过多输入单输出(Multiple Input Single Out⁃put,MISO)信道后合为一路,使得相邻接收符号间的相关性降低,而单纯依靠卷积运算无法提取出稳定的空时码特征。
由于针对当前空时码组的识别,文献[9]所提算法存在系统性缺陷,此处我们仅对本文算法及文献[14]的计算复杂度进行分析对比。
文献[14]使用深度神经网络的方法,其计算量主要集中在卷积层和全链接层,此处主要分析卷积核的尺寸及数量、全连接层中节点的个数对乘法运算次数的影响。假设卷积层的输出尺寸为P1×P2、通道数为S,卷积核尺寸为Q1×Q2、通道数为T,则卷积层约需进行P1×P2×S×Q1×Q2×T次乘法;假设当前全连接层节点个数为R,前一层输出尺寸为U×V、通道数为W,则该全连接层需要U×V×W×R次乘法运算;基于此,文献[14]中的深度神经网络共需要约74752G次实数乘法运算,其计算复杂度同样为O(G)。
由图5 可知,虽然两类算法均具有线性的时间复杂度,但在接收信号长度增加相同的情况下本文算法计算量的增长速率低于文献[14],因此具有更好的时间稳定性。
5.3 调制方式对算法识别效果的影响
本节为了考查算法对不同调制方式的识别效果及对未知星座映射的泛化能力,我们仅在QPSK及16QAM下对神经网络进行训练;测试过程选择两组测试数据,第一组测试数据的调制方式为QPSK、16QAM,由于与训练数据的调制方式相同,因此可以考查算法对不同调制方式的识别效果;第二组测试数据的调制方式为8PSK、64QAM,由于与训练数据的调制方式不同,因此,可以考查算法对未知调制的泛化能力;测试结果如图6。
可以发现,本文算法对于参与训练的QPSK、16QAM 调制以及未参与训练的8PSK、64QAM 调制的识别效果随信噪比的变化情况基本一致,因此本文算法的识别率受调制方式的影响较小,且算法对于未知的调制方式具有较好的泛化能力。
5.4 定时同步误差对算法识别效果的影响
目前关于空时码识别的算法均是在收发同步、且最优采样的前提下对获取的接收符号序列或提取特征、或经预处理后输入神经网络进行分类;然而,受限于实际接收机的不理想,定时同步误差或大或小始终存在,并影响最终的识别效果;以SISO(single input single output)信道下的QPSK 调制为例,在不考虑噪声的情况下,定时误差分别为0(即最优采样)和10%时接收符号的星座图如图7(a)和(b)所示。
可以发现,即使在无噪声的环境下,由于定时同步误差的存在,接收符号序列也存在较为严重的畸变,并对最终的判决造成干扰,且调制的阶数越高,相同定时误差下产生的干扰就越大。为了验证定时误差对识别效果的影响,我们在定时误差分别为0%、10%和30%时对算法的识别率进行仿真验证,结果如图8;得益于所提特征的良好鲁棒性,本文算法在不同的定时误差下均具有一致的识别表现,而文献[14]所提算法由于是对原始的接收符号序列进行识别,因此当定时误差增大时,相邻符号间的差异特征随之发生变化,导致算法识别率下降。
5.5 接收样本长度对算法识别效果的影响
本节我们对接收信号的样本长度分别为512、1024、2048、4096 时算法的识别率进行仿真验证,结果如图9 所示。可知,本文算法在低信噪比(SNR<0 dB)下对样本长度的变化较为敏感,同一信噪比下随着样本长度的增加,算法的识别率也随之提高。
文献[14]所提算法对不同的样本长度具有较好的鲁棒性。但同时,由于该算法输入的是原始的接收符号序列,当实际接收信号的长度短于网络预设的输入长度时,只能通过补零或复制原信号以利用原训练好的神经网络进行识别,此时的神经网络无法在较短的接收信号长度下达到最佳识别能力,而当实际接收信号的长度比预设输入长度更长时,只能对信号截短后进行识别,无法利用长序列带来的优势,因此对信号长度的适应能力较差,而本文算法的识别流程是先提取特征,后通过BP 神经网络进行识别,所以保持了传统算法对不同长度的信号的良好适应能力。
5.6 时间相关性噪声对算法识别效果的影响
由于接收机中反馈回路的存在,使得一部分信号会在回路间振荡,形成具有时间相关性的噪声,随着过采样率的增大,这种时间相关性也随之增大[16]。但当前大多数空时码识别算法都是在白噪声的基础上进行推导和分析的,因此验证时间相关性噪声对算法的影响具有一定的实践意义。本节对相关长度分别为0(白噪声)、1、2、3、7时算法的识别率进行仿真验证,结果如图10。
由仿真结果可知,当信噪比较低时(SNR<−2 dB),噪声的时间相关长度越长,算法的识别率就越低,原因是空时相关矩阵本质上是对信号在不同相关长度下的相关程度的度量,而噪声的相关性对信号的相关性形成了干扰,且噪声的相关长度越长,造成的干扰范围就越大,算法的误识别率也随之增大,但随着信噪比的提高,噪声的影响随之降低,各识别率曲线趋于一致。
5.7 接收天线数对算法识别效果的影响
由于本文算法是基于多接收天线的,因此有必要讨论接收天线数对算法识别效果的影响,在本节中我们对接收天线数分别为1、2、3、4、5时算法的识别率进行了仿真验证,结果如图11。需要特别指出的是,BP神经网络只在三根接收天线这一种情况下进行训练,测试时通过改变接收天线数量以验证其对网络识别性能的影响。
由图11可知,当使用单根接收天线时,算法无法正常工作;当使用2根接收天线时,算法的识别率在信噪比高于0 dB 时无法进一步提高;当接收天线数目nr≥3时,算法的识别率随着信噪比的提高而不断提高,且同一信噪比下,接收天线数越多,识别率越高。以上现象形成的原因是本文算法建立在信道响应矩阵H列满秩的条件下,其中H的行数等于接收天线的个数nr,列数等于发送天线的个数nt,nr≥nt是H列满秩的必要条件,当该条件不满足时,识别算法将存在系统性偏差。为了对该结论进行验证,我们绘制了信噪比为10 dB时接收天线数分别为1、2、3 时的混淆矩阵,如图12 所示。当nr=1 时,识别结果中每一类的正确识别率在20%左右,整体较低,如图(a)所示;当nr=2 时,理论上可以对SM 及Ala⁃mouti 码正确识别,两者的正确识别率分别提升至100%及80%,如图(b)所示;当nr=3时,算法针对当前空时码组的识别不再存在系统性误差,识别结果中各类的平均正确识别率为94%,如图(c)所示。
6 结论
区别于单纯依靠人工提取特征或单纯依靠深度神经网络对空时分组码进行识别的方法,本文选择了“人工提取特征+BP神经网络”的识别方案。相比于深度神经网络,由于采用了人工提取特征代替了卷积层,有效避免了深度神经网络易过拟合的缺陷,并继承了人工特征提取对信号长度适应性好的特点。相比于传统方法,使用BP神经网络代替了人为设置阈值的过程,减少了算法在部署时因为参数设置导致人为出错的可能性,且算法可识别的空时码集规模更大。通过第5 小节的仿真分析,本文算法在瑞利信道下具有更高的识别率,且对不同的调制方式、不同程度的定时同步误差均具有较好的鲁棒性,且可根据实际应用环境增加接收天线的个数以达到同信噪比下提高识别率的目的,灵活性好。