麦克风阵列缺陷下基于SAE-CNN的DOA估计
2022-05-16郭业才尤俣良
郭业才,尤俣良
(南京信息工程大学电子与信息工程学院,江苏南京 210044)
自上世纪60年代开始,波达方向(Direction of arrival,DOA)估计成为各领域中研究的热点,比如无线通信、雷达和声呐等领域.DOA估计通过提取空间上不同方向的信号特征,进而确定信号源的方向.随着对DOA估计研究的不断深入,DOA估计的研究方向主要可以分为提高估计的精度和超分辨率以及增强对于低信噪比等严苛场景的适应性.针对上述研究方向,国内外研究人员已经提出了多种DOA估计算法,包括波束形成的流形相关[1-2];基于子空间方法的超平面拟合[3-4];稀疏诱导方法的超完备字典上的原始阵列输出重构[5-8]以及适用于最大似然方法的原始阵列输出拟合[9-10].这些算法都通过统计和计算从源到阵列的正向映射以及从阵列到源的反向映射来实现DOA估计.
研究人员也将机器学习技术引入DOA估计中,首先用DOA作为标签建立训练集,然后使用如支持向量回归(Support vector regression,SVR)[11-12]和径向基函数(Radial basis function,RBF)[13]等机器学习技术,实现阵列输出到信号源的反向映射,最后对得到的映射关系进行测试.这种机器学习改进的算法相比较传统的DOA估计算法更有效[14],但是该算法是由数据驱动的算法,往往要求大量的数据来制作训练集和测试集,而且训练集和测试集需要分布合理.同时,在实际系统中往往存在各种缺陷使得映射关系不能正确和精确的建立.而在低信噪比或混响等复杂环境下,传统DOA算法与机器学习改进DOA估计算法的性能都明显降低[15].
为解决麦克风阵列缺陷下传统DOA估计算法性能差的缺点,文中提出了一种基于栈式自编码器-卷积神经网络(Stacked auto encoder-convolutional neural networks,SAE-CNN)改进的DOA估计算法.该算法将DOA估计与SAE-CNN相结合,将阵列输出的协方差矩阵作为SAE的输入,对输入的数据预处理,将信号分解为空间子域,CNN对分解后的信号分类来实现DOA估计.
1 阵列模型
1.1 DOA估计模型
采用M个相同全向阵元组成均匀线阵来接收信号,如图1所示,其中,相邻阵元之间距离为d.假设声信号从声源处以θi∈(0°,180°),i∈[1,M]的角度射入阵列,则阵列中M个阵元接收到的信号为
图1 均匀线阵
xm(n)=αms(n)+vm(n),
(1)
其中,αm(m=1,2,…,M)为传播效应带来的衰减因子;s(n)为声源信号矢量;vm(n)为第m个麦克风处的加性噪声信号矢量,并假设其与源信号和其他麦克风的噪声信号都不相关.
1.2 麦克风阵列缺陷下DOA估计模型
在实际的研究当中,麦克风的设计与制备往往是非理想的,麦克风阵列的布置、麦克风之间的相互干扰以及背景噪声与辐射等都会使得麦克风阵列中存在许多缺陷,在这里主要考虑3种典型的麦克风阵列缺陷,增益误差、相位误差、位置误差以及三者的综合[16].增益误差可表示为
ρ=(ρ1,ρ2,…,ρM)T,
(2)
其中ρm为第m个阵元的增益误差系数;(·)T为转置函数.
相位误差表示为
φ=(ejφ1,ejφ2,…,ejφM)T,
(3)
其中ejφ1为第m个阵元的相位误差系数.
位置误差表示为
φ=(φ1,φ2,…,φM)T,
(4)
其中φm为第m个阵元的位置误差系数.则增益误差、相位误差和位置误差三者相结合可以表示为
麦克风阵列缺陷下DOA估计模型可以表示为
在实验验证中,仅考虑增益误差,Γ=diag(ρ1,ρ2,…,ρM);仅考虑相位误差,Γ=diag(ejφ1,ejφ2,…,ejφM);仅考虑位置误差,Γ=diag(φ1,φ2,…,φM).
2 基于SAE-CNN的DOA估计
传统的DOA估计算法中,多重信号分类(Multiple signal classification,MUSIC)算法最为经典,MUSIC算法在空域中进行谱峰搜索找出信号源方向.同时,它与最大似然法、加权子空间拟合(Weighted subspace fitting,WSF)等其他算法相比,具有运算量小的优点.然而,当信号相干时,MUSIC算法并不能有效的进行DOA估计,以及在麦克风阵列缺陷环境下,MUSIC算法的性能也较低.针对这些问题,文中提出了基于SAE-CNN的DOA估计算法.
首先利用SAE对麦克风阵列输出的协方差矩阵进行预处理,然后输入CNN作为训练集来训练神经网络,将DOA估计变为输入到输出的映射关系,能够不依赖于阵列形状和增强对不同麦克风阵列缺陷的适应性,如图2所示.
图2 算法的网络结构
2.1 数据预处理
将协方差矩阵作为SAE的输入,根据M个接收信号矢量得到的协方差矩阵的估计值R可以表示为
R=E(X(n)XH(n)),
(8)
其中(·)H为复共轭转置函数.
假设当前环境为非相干远场信号且与噪声相互独立,对得到的协方差矩阵进行展开得到
假设麦克风阵列接收的噪声为高斯白噪声,功率为σ2,则
Rn=σ2,I,I∈RM×M.
(10)
接下来按照特征值的大小进行排序,将与信号个数K相等的最大特征值对应的特征向量作为信号子空间,再把剩下的(M-K)特征值的特征向量作为噪声子空间,那么可以得到
由于各阵元之间的噪声互不相关,也不与信号相关,因此协方差矩阵可以变换为
其中,RS为源信号的协方差矩阵.然而在实际工程应用中,阵列协方差矩阵只能通过有限快拍数采样下接收数据获得,所以
其中,x(t)为第t时间段采样得到的信号;Ts为实验中采集的总点数.
采用SAE来对输入数据进行预处理,这样有助于保留大量的原始信息.SAE对阵列输出的协方差矩阵先压缩,提取其中原始输入的主分量,然后进行解压缩,恢复到原始维数,在恢复原始维数的同时,也将各分量分解为L个子空间,如图3所示.
图3 数据预处理
其中b1∈CH×1和b2∈CL×1分别为在输入层和隐含层的偏差向量.
数据预处理不仅减少了噪声对于源信号的干扰,同时也对输出的协方差矩阵进行了分类.
2.2 DOA估计网络
CNN是一种带有卷积结构的深度神经网络,它包括卷积层、池化层以及全连接层等网络结构,如图4所示.CNN是典型的深度前馈深度网络模型,BP算法是CNN的理论基础.与其他深度神经网络相比,CNN内部的神经元相互连接方式略有不同,CNN的上一层神经元与下一层神经元采用局部连接的方式,这种连接方式有效地降低了训练难度.
图4 CNN的网络模型
CNN的训练方法一般采用BP算法,BP算法包括信号的正向传播和误差的反向传播两个过程.正向传播中,信号从输入层传入,逐层处理,由输出层输出;如果输出的结果和期望结果不匹配,则进行反向传播过程,将误差作为修正各单元权值的依据,算法流程如图5所示.其中,训练集的训练过程包括前向计算隐层、输出层各神经元的输出;计算期望输出与网络输出的误差;反向计算修正网络权值和阈值.
图5 BP算法流程图
所提出的基于CNN的框架可以看作是一个映射函数,并且提出了一种学习策略来实现DOA估计,如图4所示.在第1阶段,我们考虑用于训练CNN的学习方案,将不同方向的阵列H获取对应接收信号的协方差矩阵R,预处理后获得的向量t作为训练样本.具体来说,每次在阵列中加入一个发射信号向量后,就会在一个特定的方向上得到对应的R.基于这种方式,可以得到各方向的接收信号.在过去的几十年里,已经提出了许多能够很好地描述信道特性的信道模型,这使得在几乎所有信道条件下实现DOA估计成为可能.同时,可以随机生成物理DOAθn,与获得的向量t形成训练数据集,即CNN的训练样本.在第2阶段,通过给出具体的信道模型进行在线部署,无需迭代即可获得估计的DOA,即
为了获得估计的DOA,选择SoftMax函数作为激活函数,损失函数基于均方误差概念,即
其中,β为对范数惩罚项的相对贡献进行加权的超参数;Ω为标准目标函数;Ψ为模型的参数.具体来说,w表示必须受范数惩罚项影响的所有权重,而变量Ψ包括w和非正则化参数.
2.3 评估指标
文中采用均方根误差(Root mean square error,ERMS)作为评估标准,将本实验中算法和MUSIC以及基于SVR的DOA估计算法进行对比来评估算法的准确性和稳定性.ERMS可表示为
3 实验与仿真
仿真条件设置为如图1所示的均匀线性阵列中,阵元数m=10,阵元之间的间距设置为0.17 m.通过均匀线性阵列来进行空间范围为[-75°,75°)的DOA估计.将空间范围划分为L=5个等范围的子空间,在信号预处理阶段,对协方差矩阵进行分类.最终,以1°作为单位划分网格,θ1=-75°,θ2=-74°,…,θn=75°,则每个子空间对应30个网格.测试集以快照数400从[-75°,75°)空间范围中采样获得20 000个协方差矩阵.仿真在TensorFlow平台上实现,其中CNN的学习率设置为0.001,训练周期为1000.
图6和图7给出了对以10°分隔的两个信号的实际和估计DOA值之间的比较,其中假设DOAs是均匀分布的从-30°到30°,步长为1°,获得的结果显示在图6中,图中用直线表示实际的DOA值,用圆点表示估计DOA值,横坐标是估计阶段的样本数,纵坐标是DOA值.
图6a和图6b分别为MUSIC算法和SVR算法的实际和估计DOA值之间的比较,图7a和图7b是MUSIC算法和SVR算法实际和估计DOA值之间误差,可以看出MUSIC算法和SVR算法都存在着一定的误差.图6c和图7c为文中算法的实际和估计DOA值之间的比较和误差,可以看出文中算法的估计DOA值与真实值非常接近.很明显,提出的算法能够以很好的高精度进行DOA估计.
图6 3种算法的实际和估计DOA值之间的比较
图7 3种算法的实际和估计DOA值之间的误差
图8为SNR对采用MUSIC算法、SVR算法以及文中算法的DOA估计的影响,横坐标为SNR的值,SNR的值设置为-10 dB到10 dB,以2.5 dB为间隔,纵坐标是DOA估计的RMSE值,从图中可以得出,当SNR>-4 dB时,MUSIC算法实现了稍高的估计精度,但是当SNR变小时,基于文中算法的DOA估计方法的性能要好得多,文中算法在低信噪比下显示出良好的抗噪声鲁棒性.
图8 SNR的影响
图9为采样点数对采用MUSIC算法、SVR算法以及文中算法的DOA估计的影响,图中横坐标是采样点数的值,采样点数的值设置为0到400,以50为间隔,纵坐标是DOA估计的RMSE值,随着采样点数的增加,3种算法的RMSE都逐步下降,说明采样点数越多,DOA估计的性能越强.
图9 采样点数的影响
图10给出了处于增益误差、位置误差和相位误差情况下,对MUSIC和算法、SVR算法和文中算法的对比.图中的横轴是指麦克风阵列缺陷的调节参数,它在0到1之间变化,从0到1的变化代表麦克风阵列缺陷对DOA估计过程的影响愈发严重.
从图10中可以看出,当增益误差、位置误差和相位误差的影响小时,3种算法有着近似的准确性,随着影响不断严重,采用MUSIC算法和SVR算法的DOA估计的RMSE不断增加,最终直接呈线性增加,而文中算法的RMSE则在一定的误差范围内变化,保持稳定.说明了文中算法在阵列缺陷情况下的准确性和适应性.当3种阵列缺陷同时存在时,随着阵列缺陷参数的增大,MUSIC算法的RMSE直接呈线性增加,不再像单独一种缺陷时,在阵列缺陷影响较低时保持准确性.而文中算法则保持在一定的误差范围内变化,如图10(d)所示.
图10 3种误差对DOA估计的影响
4 结束语
文中采用SAE-CNN来解决麦克风阵列缺陷下DOA估计准确性降低的问题.通过仿真可以得出,在增益误差、相位误差和位置误差的情况下,采用SAE-CNN网络有效提高了DOA估计的准确性和适应性.然而,文中采用SAE-CNN的DOA估计算法对于其他复杂的麦克风阵列缺陷情况的适应性还不够优秀,所以在后期还需采集更多数据来增大训练集,增强CNN的适应性.