【投资日报】73家IPO企业退出背后的真相,马云套现9000万
06-18
摘要:声源定位与跟踪技术在当今社会的应用越来越广泛。
这里使用两个高灵敏度麦克风作为传感器,配备音频信号处理芯片,接收音频信号并进行模数转换。
采用FPGA器件作为核心控制器,结合TDOA算法和ILD算法,实现室内环境下的二维音频处理。
平面内的声源定位。
并根据声源定位信息,驱动摄像机旋转,使其始终瞄准声源位置,保持连续跟踪。
FPGA采用NiosⅡ内核,方便使用高级语言进行编程。
摄像机的视频输出信号可连接至PC或其他视频设备。
与其他定位算法相比,该系统减少了传感器的使用数量。
在日常生活中,声源跟踪定位技术有着广泛的应用。
例如,在视频会议中,通过声源定位来检测发言者的位置,并自动调整摄像头旋转角度以与发言者对齐;舞台表演时,声源定位跟踪让摄像机自动保持指向主持人或主角;在安防系统中,声源定位技术可以使监控区域内发生声音时监控摄像头对准声源的位置,并持续跟踪移动的声源。
目前常见的麦克风声源定位算法多为TDOA算法。
其基本原理是根据信号到达两个不同位置麦克风的时间差来估计信号到达两个不同位置麦克风的距离差。
可以列出对偶算法。
曲线方程,使用另外两个不同的麦克风同时检测信号可以得到另一个双曲线方程。
两个双曲线方程的交点就是声源的位置坐标。
使用该方法定位声源时,至少需要使用3个麦克风,并且必须使用两次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芯片EP3C16F作为核心处理器。
采用UDA芯片作为前端音频信号采集电路的处理芯片,两个高灵敏度麦克风作为音频信号的传感器。
两个麦克风面向同一方向,平行放置,距离0.5 m。
麦克风在使用前需要进行校准,以保证麦克风在同一位置接收到同一信号时,其接收到的信号幅度一致。
使用两个两相步进电机来控制相机的旋转角度。
为了记录数据,系统中添加了4 Mb FLASH存储器,并使用带有字体的16x2 LCD来显示定位信息。
为了保证摄像机的视线不受环境障碍物的干扰,摄像机应放置在一定的高度,一般高于麦克风的高度。
因此需要两个步进电机来调节摄像头的角度,一个用于调节水平旋转角度,另一个用于调节摄像头的角度。
一是调节俯仰角。
系统框图如图1所示。
EP3C16F是Cyclone III FPGA。
是一款应用于终端市场的低成本FPGA器件。
它共有15个逻辑单元、56个嵌入式乘法器、4个锁相环和用户定义的I/O。
脚。
可以满足通用系统核心控制器的应用。
UDA是一款经济型音频信号采集和编码芯片。
它有两个具有高过采样率的ADC模块。
其各种工作参数,如增益,均可编程。
系统启动时,首先进行初始化操作,通过UDA1芯片的L3总线接口设置芯片的工作模式和工作参数。
两个麦克风接收到的音频信号经过音频信号采集电路处理,转换为离散信号,送入FPGA进行处理。
控制器根据接收信号的顺序确定两个麦克风接收信号的时间差以及信号功率的衰减,然后计算出声源的位置坐标。
控制步进电机的旋转,将摄像头对准声源。
系统还在液晶显示屏上显示测量到的声源位置坐标。
用户在使用时可以根据具体的使用环境建立定位坐标系。
坐标系确定后,在系统启动初始化时,通过矩阵键盘将两个麦克风的位置坐标和摄像头的位置输入到系统中。
3系统软件设计 FPGA编程中常用的语言是VHDL和Verilog HDL语言。
这两种语言都是硬件编程语言。
它们功能强大,可以用来描述数字系统的结构和功能。
他们非常有逻辑。
但如果用于编写一些信号处理算法,难度和工作量都比较大。
Altera推出了可移植到FPGA芯片上的Nios II内核。
利用该内核可以轻松削减系统资源,同时使用C/C++语言进行程序开发,大大降低了FPGA开发难度。
为了保证系统的实时响应,本文采用NIOSII/f类型内核。
虽然占用了大量的FPGA资源,但获得了最高的系统性能。
同时添加的其他系统资源包括:63 KB片上SRAM、定时器、串口、JTAG接口、FLASH控制器CFI、用于矩阵键盘的5位通用I/O端口、以及一个用于 LCD 显示的 5 位通用 I/O 端口。
16位通用I/O口,两个9位通用I/O口用于前端数据采集电路的输入,两个1位I/O口用于控制两个步进器电机。
在Quarters II 9.0开发环境中完成Nios II内核的配置和编译后,在Nios II IDE中使用C++语言编写程序。
图2是软件流程图。
系统启动后,首先进行初始化操作,设置UDA的工作模式,设置麦克风和摄像头的位置坐标。
声源发出的音频信号经过前端信号采集电路处理,成为离散时间信号。
系统每次从前端信号处理电路的两个输出中读取相同时间段内相同长度的序列,将其存储在存储器中,直到下次读取数据进行更新。
系统对读取的音频数据进行归一化,以消除两个麦克风接收到的信号的能量差异。
然后对两列信号进行广义互相关运算,判断是否有有效的声源信号输入。
如果有有效的声源信号输入,则根据前端信号采集电路的采样率计算两个麦克风接收信号的时间差。
并利用存储的原始信号计算两个麦克风接收到的信号的功率衰减。
根据式(6)和式(7),计算并存储声源的位置坐标。
如果没有有效信号输入,系统会继续从前端处理电路读取数据并继续判断。
安装系统时,为了防止摄像机的视线被障碍物阻挡,摄像机的安装高度应高于两个麦克风的安装高度。
因此,在计算相机的旋转角度时,需要同时考虑相机的水平旋转角度和相机的垂直旋转角度。
系统计算出声源的位置坐标后,根据当前相机方向计算出相机需要在水平和垂直方向旋转的角度,并控制步进电机旋转,使相机指向该位置的声源。
完成一次定位操作后,系统继续从前端电路读取数据,进行下一次定位操作。
4 实验测试 由于设计中只使用了两个麦克风,因此只能在二维平面内实现麦克风前置范围的定位和跟踪。
摄像机的高度应高于声源的高度。
否则,摄像头可能无法看到声源的位置。
测试在10.8m的室内环境下进行,麦克风的坐标不能设置在坐标轴上;设麦克风1的坐标为(1.0,1.0),麦克风2的坐标为(1.5,1.0)。
信号发生器产生的脉冲信号作为声源。
每组信号只有一个脉冲,频率2 kHz,幅度3 V。
每组脉冲的发射间隔为2 s。
通过扬声器播放,室内环境保持安静。
通过以较慢的速度将声源移动到室内,系统可以实现对声源的正常跟踪,让摄像机始终将声源保持在镜头的视野范围内。
图3是计算机监测到的音频信号波形图。
上方波形是右侧麦克风接收到的信号,下方波形是左侧麦克风接收到的信号,其中右侧麦克风距离声源较近。
从波形图中可以看出,左侧麦克风接收到的信号相比右侧麦克风有一定的延迟,并且接收到的信号幅度也较小。
该系统设计为仅使用两个麦克风作为传感器。
当声源移动到两个麦克风连接处的垂直中间位置时,两个麦克风接收到的信号的能量衰减相同,方程无法求解。
此时稍微偏转麦克风,使声源偏离中心垂直位置,即可继续定位跟踪。
5 结论 在舞台和视频会议中,声源定位跟踪技术比其他技术具有许多优势。
声源定位跟踪可实现全自动工作模式,工作过程中无需人工控制。
与相同功能的红外跟踪定位系统相比,跟踪目标无需携带红外发射装置,无需考虑红外发射的角度、频率等问题。
与利用图像识别进行跟踪的方法相比,其系统结构、算法等方面都更加简单。
同时,如果将摄像头换成聚光灯,还可以实现灯具的自动跟踪控制。
在现有的设计中,如果想要确定二维平面上的一点,至少需要三个麦克风作为传感器来接收信号。
本设计采用两个麦克风作为系统传感器,采用TDOA算法和ILD算法相结合的方式实现定位操作。
比现有设计少了一个麦克风,使系统体积更小,同时也降低了对麦克风放置的要求,可以根据具体环境更灵活地放置麦克风。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-17
06-17
06-18
06-17
06-18
06-18
06-17
最新文章
PCBA质检员的日常工作内容
美国法院裁定VoIP不属于电信服务,需征税
雷达嵌入式工控主板如何使用?工控主板故障分析
摩托罗拉在西班牙促销Z8手机
中宇买下了一台三星机型,品牌和规模是合作的主要原因
舰载军用加固计算机热设计
谷歌开始对仍由HTC生产的谷歌手机进行内部测试
英国EE分享LTE发展经验教训,面临终端-语音-回传三大挑战