马 锐,张自嘉,王远大
(南京信息工程大学信息与控制学院,江苏南京 210044)
机械产品在工作时会产生一定的噪声,增加了自身的磨损,降低了使用寿命,同时也会对环境造成一定的噪声污染,因此对噪声进行准确定位,对机械产品的改进和故障检测具有重要意义。基于麦克风阵列的声源定位方法,按照原理可以分成三大类:基于最大输出功率的可控波束形成技术;基于到达时间差(TDOA)技术;基于高分辨率谱估计的定位技术[1-3]。基于高分辨率谱估计的定位技术,代表算法为MUSIC[4-5],是利用麦克风信号间的相关矩阵来确定方向角,从而进一步定位声源位置,波束形成算法是对阵列接收到的语音信号进行滤波,加权求和,然后控制麦克风指向使波束有最大输出功率的方向[6-7]。声源定位在麦克分阵列形式上分为直线阵、十字阵、矩形阵、圆形阵等,均匀圆阵可以进行二维角度估计,相对于矩形阵减少了阵元个数,具有较高的实用意义[8]。基于声纳的水下目标定位多采用直线阵列、雷达定位系统对高空目标进行定位且以主动搜索为主[9-10],不需要考虑上半空间和下半空间的问题,而基于麦克风阵列的近场声源定位,声源可能出现在阵列的任意方位,若声源出现在阵列水平轴下方,采用原有的公式和阵列顺序,根据波束形成算法得到的功率密度是杂乱的,无法直接给出目标的方向角,此时需要通过对阵列数据进行旋转并二次计算才能得到方向角,但这明显增加了计算时间。
针对这一问题,通过分析和实验,对比了多种方法,提出了利用互相关测量方法[11]判断声源处于阵列水平线的上下方向,再运用波束形成算法给出二维角度估计,可以很好地解决这一问题,而且不会显著增加计算时间。
图1所示为圆阵的示意图。
图1 阵列结构示意图
阵元分布在xoy平面内,圆的半径为r,麦克风个数为M,第1和第5个麦克风位于x轴上,来波方向为ed,声音传播速度为c.
可以得到信号延迟时间为
(1)
各麦克风接收到的离散信号序列为
x(n)=A(θ,φ,f)s(n)+N(n)
(2)
式中:x(n)为麦克风阵列的输出向量,x(n)=[x1(n),x2(n),…,xM(n)]T;N(n)为其中的噪声向量,N(n)=[N1(n),N2(n),…,NM(n)]T;n为时间采样序列;A(θ,φ,f)=[e-j2πfτ1,e-j2πfτ2,…,e-j2πfτm]T。
对目标方位的估计需要借助波束形成来实现,采集的声音信号为宽带信号,可以在时域实现,也可以在频域实现,后者精度高,虽然计算量大,但目前的计算速度可以满足一般的要求,因此通常在频域进行[12]。波束形成器的输出为
=WH(θ,φ,f)X(k,f)
(3)
式中:W(θ,φ,f)为波束形成器中的频率为f的谐波分量的权向量,W(θ,φ,f)=[w1(θ,φ,f),w2(θ,φ,f),wm(θ,φ,f)]T;X(k,f)为第k个抽样时间快拍且频率为f的输出向量,X(k,f)=[x1(k,f),x2(k,f),…,xM(k,f)]。
波束形成器的输出功率为
P(θ,φ,f)=E(|y(k,θ,φ,f)|2)
=WH(θ,φ,f)E(X*(k,f)XH(k,f))W(θ,φ,f)
=WH(θ,φ,f)R(k,f)W(θ,φ,f)
(4)
式中:*为复共轭;E()为数学期望;对常规波束,W(θ,φ,f)和导向矢量A(θ,φ,f)相同;R(k,f)为输出信号中,第k个快拍、频率为f的窄带信号的协方差矩阵。
(5)
利用式(4)可以计算出波束形成的输出功率,改变θ和φ,找到功率的最大值就可以确定目标的方位。式(4)为常规波束形成器(CBF)的输出功率。常规波束形成器具有稳定、可靠和计算量较小等优点,但分辨率较低、抗干扰能力差。最小方差无失真响应(MVDR)或最优权波束形成器是一种自适应波束形成算法,有较强的抗干扰能力,可以对不同的环境做自适应处理。
MVDR波束形成的波束输出功率为
(6)
通过式(1)中的三角函数的对称性可知,φ的范围是0~90°,θ的范围是0~180°,决定了波束形成算法计算方位角时,只能给出半个空间0~180°内的目标方位角,通过仿真和实验证明了存在该问题。
在Matlab中,8个麦克风按照式(1)的原理接受y=cos(2πft)的声源信号,f为声源的频率,阵列半径r=0.2 m,声源距离阵列ra=5 m,声源S的坐标为(rasinφcosθ,rasinφsinθ,racosφ),各麦克风的坐标为(rcosαm,rsinαm,0),声源与第1个麦克风的距离为
(7)
声源与第m个麦克风的距离为
(8)
根据波动方程,各麦克风接受到的信号为
ym=cos〔2πft-2πf·(rm+r1)/c〕
(9)
再给这8路声音信号加上随机噪声产生仿真数据。分别设置方位角为120°和240°、俯仰角为60°的2个声源,通过波束形成算法计算功率谱,如图2、图3所示。
图2 θ=120°,φ=60°功率谱图
图3 θ=240°,φ=60°功率谱图
比较图2、图3可以看出,当目标出现在180°~360°时,采用原有的公式和阵列顺序,计算出的功率谱无明显的指向。
圆阵由8个麦克风构成,分别经过前置放大后输入8通道同步数据采集卡(HTPXI4484A),通过LabVIEW软件控制数据的采集。该采集卡AD分辨率为16位,最高采样率为2 MS/s,采集模式设定为连续采集,采样率设定为25 kHz,8通道同步采样,采样点数分别设置为256、512、1 024。仿真中遇到的问题在实际试验中同样存在,分别采集声源在x轴上方和下方方位角为90°、俯仰角为70°的2组声音数据,通过波束形成算法得出功率谱图,如图4、图5所示。
图4 x轴上方θ=90°,φ=70°功率谱图
在图5中会存在一些杂乱的谱峰,是麦克风阵列接收到声源传播中遇到墙面反射的信号谱峰[13]。
图5 一次计算x轴下方θ=90°,φ=70°功率谱图
对于阵列信号判别目标上下界,主要依据声源与各通道之间的距离,即各通道接受信号的时间差,主要方法有DFT频谱分析法和数字相关法[14]。DFT频谱分析法计算量小、分辨率高,其原理为对两路信号进行傅里叶变换,得到离散频谱的实部和虚部分别包含了余弦信息和正弦信息,DFT频谱分析法正是利用这两项信息分别求得两路信号的相位值,再相减得到相位差,根据相位差的值判断两路信号到达时间,但只适合处理周期性信号,大量的实验证明,对采集的声音信号不能计算出准确的相位差。
数字相关法可以通过2个麦克风声音信号互相关曲线的最高峰来估计时间延迟。由式(2)可得到2个麦克风接收到的信号为
xm(t)=Am(θ,φ,f)s(t)+Nm(t)
(10)
xn(t)=An(θ,φ,f)s(t-d)+Nn(t)
(11)
式中d为声音信号达到2个麦克风的时间延迟。
假设声源信号功率远远大于噪声信号功率的情况下,2个麦克风接受信号的互相关函数可表示为
(12)
由式(12)可得到,当且仅当互相关函数取最大值时,对应的τ即为时间延迟d,即:
(13)
对于圆阵,若声源出现在x轴上方,声音达到第3个麦克风的时间小于达到第7个麦克风的时间,即d小于0,若在x轴下方,d大于0。
通过计算声源在x轴下方,方位角θ=90°,俯仰角φ=70°的声音信号,第3个麦克风和第7个麦克风两信号的互相关曲线,如图6所示。当采样率为25 kHz,d=4.4000×10-4s,可知声源出现在x轴下方。
(a)声音信号
(b)第3路、第7路信号互相关曲线
判别声源所处阵列的上下界,可改变阵列顺序,再进行处理,即可得到准确的二位角度估计,相比进行二次计算,可较少1/3的运算量,提高系统定位的速度。图7为图5的数据改变阵列顺序后计算出的准确功率谱图。
图7 x轴下方θ=90°、φ=70°功率谱图
将采集到的数据在Matlab中计算,比较不同采样点数据通过2种方法所用的计算时间,如表1所示,可以看出运用互相关测量法的MVDR算法可以节约1/3的时间。
表1 实验结果
声源定位中应用的基于高分辨率谱估计的定位技术,利用麦克风信号间的相关矩阵来算出方向角,从而进一步确定声源位置,不存在目标上下界判定的问题[15-16]。波束形成算法是对阵列接收到的语音信号进行滤波,加权求和,然后控制麦克风指向使波束有最大输出功率的方向,在圆阵和矩形阵中,麦克风指向的范围是0~180°,给出360°角需要进行二次计算,通过互相关曲线最高峰来计算两通道信号的时间延迟,初步判断声源所处阵列的位置,再运用波束形成算法计算声源的功率谱,准确得到声源的方位角,可以减少1/3的运算量。
参考文献:
[1]POTAMITIS I,CHEN H M,TREMOULIS G.Tracking of Multiple Moving Speakers with Multiple Microphone Arrays.IEEE Trans.On Speech and Audio Processing,2004,12(5):520-529.
[2]杨东勇,顾东袁,傅晓婕.一种基于RSSI相似度的室内定位算法.传感技术学报,2009,22(2):264-268.
[3]陈奎,徐钊.OFDM联合时延和到达角度的定位算法.传感技术学报,2009,22(7):988-992.
[4]MULLER M,ELLIS D P W,RICHARD G,et al.Signal Processing for MUSIC Analysis.IEEE Journal of Selected Topics in Signal Processing,2011,5(6):1088-1110.
[5]WANG T,YANG L S,YANG S Z,et al.A modified MUSIC to estimation DOA of the coherent narrowband sources based on UCA.International Conference on Communication Technology.Chongqing,IEEE,2006:1-4.
[6]曾浩,朱自华,李慧君,等.均匀圆阵下的宽带信号DOA估计算法.电路与系统学报,2013,18(1):432-437.
[7]蒋毅,古天祥.基于有限域搜索的MUSIC法快速频率估计.仪器仪表学报,2006,27(11):1526-1528.
[8]陈丰,潘翔.基于FFT的矩形阵波束形成算法.传感技术学报,2006,19(6):2588-2590.
[9]洪振清,张剑云.基于波束域预处理的MIMO雷达MVDR波束形成算法.系统仿真学报,2013,25(4):722-727.
[10]杨丽,蔡志明.混响背景下单、双基地声纳的探测范围比较.系统仿真学报,2006,18(11):3263-3267.
[11]吴晓,靳世久,李一博,等.基于麦克风阵列声音信号定位方法的研究.传感技术学报,2010,23(5):682-686.
[12]张自嘉,王昌明,刘伟.基于虚拟仪器的水声信号采集与处理.仪器仪表学报,2007,28(4):205-207.
[13]金乃高,殷福亮,陈喆.基于分层采样粒子滤波的麦克风阵列说话人跟踪方法.电子学报,2008,36(1):194-198.
[14]方汉方,黄勇,蔡艺剧,等.基于FFT超声波传输时间测量的误差分析.西华大学学报,2012,31(6):59-64.
[15]LIU Z H,HUANG Z T,ZHOU Y Y,Direction-of-Arrival Estimation of Wideband Signals via Covariance Matrix Sparse Representation.IEEE Transactions on Signal Processing,2011,59(9):4256-4270.
[16]ZEN W J,LI X L.High-Resolution Multipe Wpideband and Nonstationary Source localization With Unknown Number of Sources.IEEE Transactions on Signal Processing,2010,58(6):3125-3136.