摘要:声源定位盯梢技能在当今社会有着越来越广泛的运用。在此运用两个高灵敏度麦克风作为传感器,配以音频信号处理芯片,接纳音频信号并进行模数转化,运用FPGA器材作为中心操控器,结合TDOA算法和ILD算法,完结在室内环境下、二维平面内的声源定位。并依据声源定位的信息驱动摄像头滚动,使其一向对准于声源所在方位,并坚持持续盯梢。FPGA运用NiosⅡ内核,便利运用高档言语进行程序规划。摄像头的视频输出信号可接于PC机或其他视频设备。与其他定位算法比较,体系削减了运用传感器的数量。
在日常日子中,声源盯梢定位技能有着广泛的运用。例如在视频会议中,声源定位被用于检测说话人的方位,并主动调整摄像头滚动视点,使其对准说话者;舞台表演中,声源定位盯梢可是摄像头主动坚持指向主持人或主角;安防捍卫体系中,声源定位技能可使监控摄像头在监控区域发生动静的瞬间对准于声源方位,并坚持对移动声源的盯梢。
现在常见的麦克风声源定位算法多见于TDOA算法,其基本原理是依据信号抵达两个不同方位的麦克风的时刻差,估量出信号抵达两个不同方位麦克风的间隔差,能够列出一个双曲线方程,一起运用别的两个不同的麦克风一起检测信号能够得到别的一个双曲线方程,两个双曲线方程的交点便是声源的方位坐标。运用这种办法进行声源定位时,至少要运用三个麦克风,运用两次TDOA算法进行运算,才干完结一次定位操作。为了完结更准确的声源定位,也常选用阵列技能,将多个麦克风组成线阵,或方阵收集信号进行声源定位。但这种定位技能的算法更为杂乱。本文选用两个高灵敏度麦克风作为传感器,选用FPGA作为操控器,当对声源完结定位后,操控步进电机滚动,使摄像头对准声源。当声源方位发生移动时,可使摄像头主动坚持盯梢。
1 规划原理
体系运用TDOA算法和ILD算法相结合的办法,完结声源的定位。在二维平面,即声源和麦克风处于同一平面时,麦克风接纳到的信号模型在考虑信号传达的逆平方规律时可表示为:
x(t)=s(t-τ)/d+n(t) (1)
式中:s(t)为源信号;n(t)为加性白噪声;d和τ别离为信号抵达麦克风的间隔和时延。
运用ILD办法在核算能量时能够疏忽时延信息。在[0,l]时刻规模内,麦克风接纳到的信号能量,便是该时刻段内信号采样的平方和,即:
关于两个麦克风组成的阵列,可得到麦克风接纳到信号的能量与麦克风距声源间隔的关系为:
求解式(6)和式(7)组成的方程组就可得到声源方位坐标。经过进一步的改换能够得到该方程的闭合解。
2 体系硬件规划
本文选用Altera公司的CycloneⅢ系列FPGA芯片EP3C16F484作为中心处理器。运用UDA1341芯片作为前端音频信号收集电路的处理芯片,运用两个高灵敏度的麦克风作为音频信号的传感器。两个麦克风朝向同一方向,间隔0.5 m并行放置。麦克风在运用前需求标定,确保麦克风在同一方位承受同一信号时,其接纳到的信号的幅值共同。运用两个两相步进电机对摄像头的滚动视点进行操控。为了记载数据,在体系中增加了一个4 Mb的FLASH存储器,运用一片带字库的16×2的液晶用于显现定位信息。为确保摄像头的视界不受环境障碍物的搅扰,摄像头在放置时应该有必定的高度,一般高于麦克风的放置高度,因而需求两个步进电机调整摄像头的视点,一个调整水平滚动视点,另一个调整俯仰角。体系框图如图1所示。
EP3C16F484是CycloneⅢ型FPGA,是一种低成本的运用于终端商场的FPGA器材,其共有15 408个逻辑单元,56个嵌入式乘法器,4个锁相环,346个用户界说的I/O脚。可满意一般体系中心操控器的运用。UDA1341是一种经济型的音频信号收集编码芯片,有两个ADC模块,过采样比可达128,能够编程设置其各种作业参数,如增益等。体系在启动时首要进行初始化操作,经过UDA11341芯片的L3总线接口设置芯片的作业方式和作业参数。两个麦克风所接纳到的音频信号经音频信号收集电路处理后,转化成离散的信号,送至FPGA中进行处理。操控器依据接纳到的信号的序列判别出两个麦克风接纳到信号的时差和信号功率的衰减,从而核算出声源的方位坐标。操控步进电机滚动,使摄像头对准声源。体系一起将测得的声源的方位坐标在LCD显现出来。用户在运用时可依据详细的运用环境树立定位的坐标系。确认坐标系后在体系启动初始化时将两个麦克风的方位和摄像头的方位的坐标经过矩阵键盘输入到体系中。
3 体系软件规划
FPGA编程中常用的言语是VHDL和Verilog HDL言语。这两种言语都是硬件编程言语,功用强大,可用于描绘数字体系的结构,功用等,逻辑性十分强,可是若用于一些信号处理方面算法的编程,则难度和作业量都比较大。Altera公司推出了可移植于FPGA芯片上的NiosⅡ内核。运用该内核能够便利的裁剪体系资源,一起运用C/C++言语进行程序的开发,大大降低了运用FPGA开发的难度。为了确保体系呼应的实时性,本文运用NIOSII/f型内核。尽管占用了许多的FPGA资源,但获得了最高的体系功用。一起增加的其他体系资源包含:片上SRAM 63 KB,一个定时器,一个串口,一个JTAG接口,一个FLASH操控器CFI,一个用于矩阵键盘的5位的通用I/O口,用于液晶显现的16位通用I/O口,两个9位的通用I/O口用于前端数据收集电路的输入,两个1位的I/O口用于操控两个步进电机。在QuartersⅡ9.0开发环境中完结对NiosⅡ内核的装备和编译后,在NiosⅡIDE中运用C++言语进行程序的编写。图2为软件流程图。
体系启动后,首要进行初始化操作,设置UDA1341的作业方式,设置麦克风和摄像头的方位坐标。声源所宣布的音频信号经前端信号收集电路处理后变为离散时刻信号。体系每次从前端信号处理电路的两路输出中读取相一起间段的相同长度的序列后,将其存储在内存中,直到下次读入数据进行更新。体系对读入的音频数据进行归一化运算,消除两个麦克风接纳到信号的能量的差异。然后对两列信号进行广义的互相关运算,判别是否有有用的声源信号的输入。若有有用地声源信号输入,则依据前端信号收集电路的采样速率,核算出两个麦克风接纳到信号的时刻差。并运用存储的原始信号核算出两个麦克风接纳到信号的功率衰减,依据式(6),式(7),核算出声源的方位坐标,并存储。
若无有用的信号输入,则体系持续从前端处理电路中读取数据,持续判别。体系在设备时,为防止摄像头的视界被障碍物所遮挡,摄像头的设备方位应高于两个麦克风的设备高度。因而在核算摄像头的滚动视点时即需求考虑摄像头的水平滚动视点,也需求考虑摄像头在笔直方向上的滚动视点。体系核算出声源方位坐标后,依据当时摄像头的指向,别离核算出摄像头在水平方向和笔直方向上需滚动的视点,操控步进电机进行滚动,使摄像头指向声源的方位。完结一次定位操作后,统持续从前端电路中读取数据,进行下次定位操作。
4 实验测验
因为在规划时只运用了两个麦克风,仅能在二维平面内完结对麦克风正面180°规模的定位和盯梢,摄像头的安放高度应高于声源的高度,不然有或许呈现摄像头看不到声源方位的状况。在10.8 m×7.5 m×3.5 m的室内环境进行实验,将麦克风和摄像头置于鸿沟,麦克风安放高度为1.5 m,和声源处于同一高度,摄像头安放高度2.0 m,为了确保能够得到方程的解,麦克风的坐标不能设置在坐标轴上;设麦克风1的坐标为(1.0,1.0),麦克风2的坐标为(1.5,1.0)。运用由信号发生器发生的脉冲信号作为声源,每组信号仅有一个脉冲,频率2 kHz,起伏3 V,每组脉冲发射间隔2 s,经过一音箱播映,室内环境坚持安静。将声源以较慢的步速在室内移动,体系可完结对声源的正常盯梢,使摄像头一向将声源坚持在镜头的视界规模内。图3是核算机所监测到的音频信号的波形图。上面的波形是坐落右侧的麦克风所接纳到的信号,下面的波形是坐落左边的麦克风所接纳到的信号,其间右侧的麦克风间隔声源的方位更近一些。从波形图中能够看出左边的麦克风接纳到的信号相关于右侧的麦克风有必定的时延,而且接纳到信号的幅值也更小一些。体系在规划时仅运用两个麦克风作为传感器,当声源移动至两个麦克风连线的中垂线方位时,因为两个麦克风接纳到的信号的能量衰减相同,无法将方程解出,此刻将麦克风略微偏转一下视点,使声源违背中垂线方位,即可持续定位盯梢。
5 结语
在舞台和视频会议中,声源定位盯梢技能相关于其他技能具有许多长处。声源定位盯梢可完结全主动的作业形式,作业过程中不需求人为操控操作。与相同功用的红外盯梢定位体系比较,盯梢方针身上不需求带着红外发射设备,不用考虑红外发射的视点,频率等问题。与选用图像识别完结盯梢的办法比较,其体系结构、算法等各方面更为简略。一起若将摄像头换成聚光灯,也可完结灯管的主动盯梢操控。现有的规划中,假如要确认一个二维平面的点,至少需求三个麦克风作为传感器接纳信号。本规划选用两个麦克风作为体系传感器,运用TDOA算法和ILD算法相结合的办法完结定位操作。比现有的规划削减一个麦克风,使体系体积更小,一起也降低了麦克风安放的要求,使麦克风能够依据详细环境愈加灵敏的放置。