新闻中心

EEPW首页 > 设计应用 > 基于麦克风阵列的声源跟踪系统

基于麦克风阵列的声源跟踪系统

作者:王宇威 雍洋 孙新 时间:2018-11-29来源:电子产品世界收藏
编者按:随着科技的发展,声源定位技术在越来越多的地方发挥着重要的作用,在多个领域有着广泛的应用。声源目标跟踪技术可以应用在视频录制、安防监控、鸣笛抓拍等场景中,在这些场景中,针对目标对象的语音信号,可以应用阵列信号处理的知识,将麦克风按照特定阵列放置在空域中,利用空间不同位置点的声源对麦克风阵列响应的时延相位误差,对声源进行测向,实现低成本的声源定位跟踪功能。   本作品便是基于麦克风阵列的声源跟踪系统,将6路麦克风按照线型排列,并接入瑞萨SK-S7G2单片机的6路ADC中,单片机将采样值通过阵列信号处理中波达

作者 / 王宇威 雍洋 孙新 西安交通大学 信息与通信工程系(陕西 西安 710000)

本文引用地址:http://www.amcfsurvey.com/article/201811/395037.htm

*本项目获得“2018年瑞萨杯”信息科技前沿专题邀请赛的最高奖“瑞萨杯”奖。

摘要:随着科技的发展,声源定位技术在越来越多的地方发挥着重要的作用,在多个领域有着广泛的应用。声源目标跟踪技术可以应用在视频录制、安防监控、鸣笛抓拍等场景中,在这些场景中,针对目标对象的语音信号,可以应用阵列信号处理的知识,将麦克风按照特定阵列放置在空域中,利用空间不同位置点的声源对麦克风阵列响应的时延相位误差,对声源进行测向,实现低成本的声源定位跟踪功能。

  本作品便是基于麦克风阵列的声源跟踪系统,将6路麦克风按照线型排列,并接入的6路ADC中,单片机将采样值通过阵列信号处理中波达方向(DOA)估计等算法,获得声源的来波方向。然后用单片机去驱动云台,上面搭载摄像头或者高指向性麦克风,可以实现用户特定的跟踪需求。

  我们结合瑞萨单片机的性能与实际测试效果,选用了进行角度估计,利用频率采样型的FIR滤波器实现了对人声信号的切片,并对得到的角度结果进行低通滤波、设定阈值、非线性约束等处理,解决了环境噪声、室内混响等因素带来的问题。此外,我们将阵列置于云台上,进一步提高了跟踪的精度,云台的驱动采用步进方式,实现了实时跟踪。最后,我们将所有算法移植到瑞萨单片机上,制作了GUI界面,并添加了噪声训练功能,使之成为一个完整的系统。

0 引言

  当今社会,人们对自动控制的需求越来越高,而其中一个重要的分支就是目标跟踪技术。伴随着人工智能的热潮,通过图像识别来进行目标跟踪是现在的主流做法,但是神经网络算法的复杂度极高,不可能在普通的MCU上实现,只能借助于一些高性能的芯片如FPGA,这样就会需要较高的成本。其实在一些特定场合,可以通过或者只能通过声源定位的方法进行目标跟踪,而其中用到的阵列信号处理技术经过改进和优化之后,可以将算法移植到普通的MCU中进行实现,从而可以保证跟踪效果的同时降低产品的成本。

  现在随着网络的普及,网络公开课越来越受欢迎,而网络公开课的录制就需要对讲课的教师进行摄像跟踪,在这种场景下,就可以利用阵列信号处理中的DOA技术对声源进行估计,从而使云台转动,跟踪摄像目标。除此之外,现在的城市中,为了减少噪音污染,有不少的禁止鸣笛区。在这些鸣笛区中,为了精确地抓拍到违章鸣笛的车辆,就必须要用到声源定位,这里就需要进行波达方向估计,才能精确地找到违章车辆。在这些场景下使用DOA估计来实现目标跟踪是完全可以满足要求的,而且可以在单片机上实现,并且可以最大限度地节省计算资源。

1 作品设计与实现

  1.1 系统方案

  先用六阵元线阵的进行拾音,然后使用Renesas(瑞萨)SK-S7G2单片机的ADC进行采样,采样率8000Hz,采样结束之后对采样数据进行DOA估计(波达方向估计),把估计出来的角度与当前云台的角度比较,来确定是否转动云台以及转动方向,从而使摄像头或者高指向性麦克风对准声源,实现声源跟踪的目的。

  1.2 理论分析及计算

  1.2.1 阵列信号处理基本模型

  阵列信号处理(Array Signal Processing)作为信号处理的一个重要内容,其含义是指将一批传感器按照特定阵列流型放置在空域中,对空域信号进行采样,得到信源的空域采样数据并进行处理。

  在传统的阵列信号处理中,主要处理的是窄带信号,窄带信号是指带宽远远小于中心频率的信号,并且假设信号源位于阵列的远场,因此可以使用平面波传播理论,认为信号平行入射,各阵元接收到的信号之间没有幅度差异,只存在传播延时造成的相位差异。最常用的是均匀线阵,其远场模型如图2所示。

  其中θ为信号入射方向角,d为阵元间距。为“避免混叠”,阵元间距一般取入射信号的半波长。记信号波长为λ,阵元个数为N ,阵列等效孔径为:

基于麦克风公式1.jpg

  可以将麦克风阵列和单片机ADC结合起来看作进行空间采样的装置,阵列每接收一次数据就是在空间的一次采样或者快拍(snapshot),阵列信号就是由快拍组成的向量序列。均匀线阵是在空间的一条直线上均匀采样,它对应于时间序列的均匀采样。由于阵元间距 为空间采样间隔, 即为空间采样频率,而为阵列信号的空间频率。与奈奎斯特采样定理相似,为避免空域混叠,对空间采样频率有一定的要求:

  基于麦克风公式2.jpg(3)

  12.2 频率切片

  传统阵列信号处理的模型与算法都是建立在窄带信号的条件下,可是语音信号的频率范围为300~3400 Hz,带宽较大,所以不能对语音信号直接进行处理,要先通过频率采样型的FIR滤波器进行频率切片,然后对切片之后的数据进行处理。频率采样滤波器由一个梳状滤波器和一个谐振器组成。 

基于麦克风公式3.jpg 

  频率采样型结构中谐振器的极点恰好各自抵消梳状滤波器的零点,其系数就是滤波器在基于麦克风公式4.jpg处的响应。为了防止滤波器不稳定,可以将梳状滤波器的零点和谐振器的极点同时向圆内移一点,就可以保证滤波器的稳定,即:

  基于麦克风公式5.jpg(7)

  频率采样型结构的作用就是一个“滤波器柜”,想要滤出信号的某个频率分量,只需在对应的那一路后面接抽头,输出即为该频率分量的时域信号。所以只要把语音信号以200 Hz为间隔切片,得到各个频率分量的窄带信号,对窄带信号进行处理之后再相加即可。

  1.2.3 DOA(波达方向估计)

  (1)DOA估计的基本模型

  在前面模型的基础上,在只有一个声源的情况下,各个阵元接收到的信号为:

  基于麦克风公式6.jpg

  实现DOA的算法有很多种,有,Capon算法,Music算法等等,其中,是在角度和频率方向的二维搜索,相对稳健,即使在有混响的情况下也能找到方向,并且该算法可以移植到单片机中进行实现,而Music算法的仿真效果较好,其主瓣窄,旁瓣小,但算法复杂度较高,且极易受到混频干扰的影响。在进行了实际实验验证之后,综合楼室内混响带来的误差,我们选择了相对稳健的周期图法,下面简单介绍一下周期图法。

  (2)周期图法

  基于麦克风公式7.jpg

  周期图法是通过算出每个角度入射信号的功率,然后找出最大值所对应的角度,就是声音信号入射的角度。做法是先对采集的N次快拍求平均估计自相关矩阵:

 基于麦克风公式8.jpg

  这种方法较为稳健,从仿真结果来看,虽然主瓣较宽,但在精度要求不是十分严格的情况下可以应用,尤其在有混频干扰的情况下,周期图法也能较为准确地估计出角度。且该算法的复杂度较低,易于在单片机上实现,所以我们就选择了周期图法,并且选用了6阵元的线阵,由于声速v=340 m/s,人声频率在300~3400 Hz之间,其中f=1700 Hz对应的半波长λ = 0.5*v/f = 0.1 m = 10 cm,阵元间距为10 cm。

  1.3 系统优化

  1.3.1 频率切片

  传统阵列信号处理的模型与算法都是建立在窄带信号的条件下,可是语音信号的频率范围为300 Hz-3400 Hz,带宽较大,所以不能对语音信号直接进行处理,要先进行切片。但是各个频率分量的功率有很大区别,如果对300 Hz~3400 Hz都进行切片的话会造成计算资源的浪费,我们在实验过后发现正常人声在600 Hz~1200 Hz内频率分量的功率最大,所以我们在这个范围内进行切片,以200 Hz为间隔,共切四片。

  1.3.2 结果滤波

  为了提高系统的稳定性和准确性,我们进行了结果滤波,分为两个阶段:适应噪声和线性约束滤波。

  (1)噪声自适应

  在开始进行DOA估计且云台跟踪之前,需要先对电路噪声及环境噪声进行适应。进入噪声适应模式之后,通过麦克风采集当前的电路及环境噪声,计算其功率,然后设定一个合适的阈值。在之后的计算中,若功率大于阈值,则视为有用的声音,否则视为噪声,不计算角度。这样可以有效地滤除底噪的干扰,当人停止说话时,摄像头不会因为噪声的干扰而随意摆动。

  (2)线性约束

  为了提高系统的稳定性以及减小放射径的影响,我们采用了线性约束的方法,这样能有效地减小突变以及放射径的影响,即:

  最终角度=0.8 上次角度+0.2 当前计算角度

  由于每一秒会计算出15次结果,所以难免会有一些计算出来的结果不太准确,这样使用了线性约束之后,即使有一些角度不太准确也不会造成较大的影响,大大地提高了系统的稳定性。

  1.3.3 云台目标跟踪

  云台的控制是通过单片机串口给解码器发指令来完成的,并且采用了步进的方法控制。在云台和麦克风阵列摆放关系的问题上,我们采取的方案是阵列固定在云台上面,跟随云台一起转动,云台根据DOA的估计结果不断向0°方向靠拢。

2 参赛感受

  本次比赛我们的作品得到了不少评委老师的肯定与认可,并且摘得了本次比赛的最高奖瑞萨杯奖,我认为是因为我们作品的以下一些亮点:首先,我们的作品的处理器只使用了组委会提供的开发板,在我们的不断改进与优化下,全部的算法与控制都在瑞萨单片机上实现,把单片机的计算资源、内存都运用到了极致。这样就大大降低了成本,增加了把该作品变成产品推向市场的可能性。其次,我们的系统的稳定性很好,我们使用了噪声自适应、线性约束、结果滤波等方法增加了系统的稳定性,并且在不同的环境下都进行了测试。还有一点,就是实际应用价值较高,现在的市场对声源定位的需求越来越高,可以在网络视频自动录制、鸣笛抓拍等场景中有广泛的应用。

  这次的比赛,我们收获的不仅仅是瑞萨杯这个奖项,更多的是在比赛过程中能力的提升。在这个过程中,我们不仅在理论知识上得到了提高,动手能力也有了很大的进步,解决问题的能力也得到了很大的提升,意志力也得到了锻炼,在即将升入大四,开始更多地接触科研任务之际,这次比赛也给了我们很多前行的动力和信心。

  参考文献:

  [1]McCowan I A.,Robust Speech Recognition using Microphone Arrays[D]. Queensland University of Technology,Australia,2001.

  [2]梁玉杰. 基于超格点DOA的室内无线传感器网络定位技术研究[D]. 上海:上海交通大学,2015-4-7.

  [3]Jacob Benesty,Jingdong Chen,Yiteng Huang,Microphone Array Signal Processing[M]. 北京:国防工业出版社,2015.

  [4]张小飞,陈华伟,仇小锋. 阵列信号处理及MATLAB实现[M].北京:电子工业出版社,2014.

  [5]姚天任. 数字信号处理[M]. 北京:清华大学出版社,2011.

  本文来源于《电子产品世界》2018年第12期第48页,欢迎您写论文时引用,并注明出处。



评论


技术专区

关闭