基于声学原理的TDOA算法声音定位实验装置
2022-02-03朱思陶李泽旭郑淇峰
朱思陶 李泽旭 郑淇峰
(沈阳师范大学物理科学与技术学院,辽宁 沈阳 110034)
1 研究背景与目标定位
1.1 研究背景
噪声和异响在日常生活和工业生产中很常见,例如,汽车行驶过程中的异常啸叫声,出现故障的机器发出的异常响动。要解决这些实际问题,首先需要精准地找到故障位置,确定出现异常的设备或者部件。
1.2 目标定位
该实验装置是基于人耳听觉机理的声源定位系统来计算听觉场景分析提出的,也是根据声源发出的声波到达所用器材处的时间差异来确定声源的位置,综合运用物理基础概念原理、算术手段和电子技术程序,从而实现对静止或者运动的声源物体进行精准定位的功能。
具体目标如下:1)设计1 组装置,精准探测发声物体的位置。2)探究当麦克风阵列方式不同、阵列相同但是3 个位点间距不同时对定位精准度的影响。3)分析声源在不同分贝条件下的定位效果(取10 个响度环境,分别为10%、20%、30%、40%、50%、60%、70%、80%、90%和100%。通过单片机的PWM 引脚控制响度,并在1m×1m 的空间内进行试验)。4)分析当声源处于运动情况(变速或匀速均考虑)时,经过多普勒效应修正后,定位角度的偏差情况。
2 试验原理细分与算法设计
声源分为相对接收点静止或运动2 种情况,对相对运动的情况来说,该试验使用多普勒效应修正的方法。
原理概述:声波以一定速度在空气中传播,到达设置的不同位置,声音传感器的相位不同,根据这些声音传感器对同一声波记录的相位差别可以求得同一声波到每个声音传感器的时间差值。
得到该时间差后,利用TDOA 算法便可以确定这个声源处于双曲面焦点上。该试验采用3 个声音传感器阵列。此外,试验环境的温度、湿度、风速和声源相对声音传感器的运动状态都会影响定位结果。因此,该设计考虑相关物理修正公式,并代入MATLAB 程序中,实现更精准定位的目标。
2.1 声音传播原理
声波是一种空间传播方式。声源体发生振动会引起四周空气振荡,那种振荡方式就是声波,声波借助空气向四面八方传播。
2.2 温湿度条件下的声速测量原理和修正
声速与声源的性质无关,只与媒质的弹性、密度及温度有关。
声速在温度湿度下的修订如公式(1)所示。
式中:γ为空气的定压比热容和定容比热容之比;T为环境温度;P0为湿空气的压力;ϕ为湿空气的相对湿度;Psb曲为饱和水蒸气分压力[1]。
2.3 在风速环境下对定位结果进行修正
风速环境对三维空间声音传播的仰角和方位角有影响,修正公式如公式(2)和公式(3)所示。
式中:α为风的方向角;φ为方向角实际位置;φ'为计算位置;θ为仰角实际位置;θ'为仰角计算位置;v为声源运动速度;c为光速。
利用这一定位关系,仿照前面的推导过程就可以得出在实际的气象条件下声源定位的坐标。
2.4 对声源和接收点有相对运动的情况的多普勒效应分析
声源定位时,如果其处于运动状态,则需要在消除接收到的声信号的多普勒效应后,再进行定位计算。
当波的传播方向、波源及接收器速度不共线时,可以推出多普勒效应的普适公式,如公式(4)所示。
式中:f0为波源频率;f为接收器收到的频率;u为波在介质中的传播速度;vs、vr分别为波源及接收器速度;θ、φ分别为vs、vr与接收器到波源的连线的夹角。
机械波的多普勒效应公式如公式(5)所示。
式中:f '为观察者接收到的频率;V为波的传播速度。
光波的多普勒效应公式如公式(6)所示。
机械波的多普勒效应公式是设观察者与波源沿在同一直线运动,它们相对媒介的速度分别为v和u,波的传播速度为V,波源发出的频率为f,而观察者接收到的频率为f ',如公式(7)所示。
v>0 或v<0 分别表示观察者趋近或背离波源,而u>0 或u<0 分别表示波源趋近或背离观察者[2]。
2.5 蜂鸣器发声原理
基于该实验器材选择的有源自激型蜂鸣器,其工作发声原理是直流电源输入经过振荡系统的放大取样电路,在谐振装置作用下产生声音信号。
2.6 Chan 算法(非递归双曲线方程组解法)
Chan 算法是到达时间差(The Time Differences Of Arrival,TDOA)定位方法中的一个很好用的方法。
Chan 算法是非递归双曲线方程组解法,具有解析表达式解,主要特点是当测量误差服从理想高斯分布时,它的定位精度高、计算量小,并且可以通过增加已确定点的数量来提高算法的精度。
该算法的推导前提是基于测量误差为零均值高斯随机变量,对实际环境中误差较大的测量值来说,例如在有非视距误差的环境下,该算法的性能会显著下降。该设计采用3 个点参与定位的方式[3]。
3 装置元件
试验所需材料为ArduinoUNO 单片机1 个,风速测量仪1 个,声音传感器模块1 个,温湿度传感器1 个,有源蜂鸣器1 个,无源蜂鸣器1 个,OLED 显示模块1 个,杜邦线若干条,亚克力保护盒1 个,定制铝合金外壳1 个,自制拼接运动小车1 个。
4 主要模块分析
4.1 温湿度传感器模块
检测试验场地所在环境的温、湿度,并将数据作为配置程序的依据,调节程序中的声速,以降低试验误差。
4.2 声音接收模块
采用音频处理芯片LM386,可以将音频信号放大200 倍,可以判断声音的有无及声音强度的大小且灵敏度可调,还可以配合程序对检测的声音进行降噪处理。
4.3 单片机核心部分
单片机作为核心部分,可以配合各种编程语言来监视和获取某些输入,执行高速计算,分析并生成输出,以控制各种设备。
4.4 OLED 显示模块
显示测得的数据,实现数据可视化的目标,以加快信息的传递速率。
5 试验步骤设计
5.1 试验步骤
5.1.1 二维平面
5.1.1.1 声源物体相对声音传感器静止
在二维平面下,当声源物体相对声音传感器静止时的试验步骤如下:1)寻找周围环境较安静的场地,摆放并调试装置,随意取1 个点作为坐标原点(0,0)。2)测量并记录周围温度、湿度和风速环境参数,将其代入相关物理修正公式及设计好的MATLAB 程序中。3)随意放置蜂鸣器(模拟待定位发声物体)。4)依次选择“直角三角形阵列”、“等边三角形阵列”和“随意三点阵列”的声音传感器(麦克风)布局方式进行摆放。3 个点的坐标依次设为(x1,y1)、(x2,y2)和(x3,y3)。5)每种阵列方式进行3 次试验,每次3 个麦克风位点的间距不同。6)打开电源启动装置,3 个声音传感器(麦克风)自动测得收到声波时的时间t1、t2和t3。7)自动记录t1、t2和t3,同时计算t1-t2、t2-t3和t1-t3的值,并将其代入MATLAB 程序中,最终经过单片机运行、分析得出发声物体所在位置的坐标。8)通过OLED 显示屏和电脑屏幕均可以读取声源位点,找到位点位置,与实际位点位置进行比对,分析误差距离。
5.1.1.2 声源物体相对声音传感器的运动情况
在二维平面下,检测声源物体相对声音传感器运动情况的试验步骤如下:1)寻找周围环境较安静的场地,摆放并调试装置,随意取1 个点作为坐标原点(0,0)。2)测量并记录周围温度、湿度和风速环境参数,将其代入相关物理修正公式及设计好的MATLAB 程序中。3)随意放置蜂鸣器(模拟待定位发声物体)。4)依次选择“直角三角形阵列”、“等边三角形阵列”和“随意三点阵列”的声音传感器(麦克风)布局方式进行摆放。3 个点的坐标依次设为(x1,y1)、(x2,y2)和(x3,y3)。5)每种阵列方式进行3 次试验,每次3 个麦克风位点的间距不同。6)打开电源启动装置。首先,3 个声音传感器(麦克风)自动测得收到声波时的时间t1、t2和t3。间隔5 s 后,系统第二次测量得到数据t4、t5和t6。7)系统自动记录t1~t6,同时计算两两时间差,并代入MATLAB 程序中,最终经过单片机运行、分析得出发声物体运动过程中的2 个坐标位置,从而确定大致运动方向。8)通过OLED显示屏和电脑屏幕均可以读取运动大致轨迹,与实际声源轨迹路径位置进行对比,分析误差角度或距离。
5.1.1.3 分析声源在不同分贝条件下的定位效果
在二维平面下,分析声源在不同分贝条件下的定位效果的试验步骤如下:1)寻找周围环境较安静的场地,摆放并调试装置,随意取1 个点作为坐标原点(0,0)。2)测量并记录周围温度、湿度和风速环境参数,将其代入相关物理修正公式及设计好的MATLAB 程序中。3)随意放置蜂鸣器(模拟待定位发声物体)。4)取10 个响度环境,分别为10%、20%、30%、40%、50%、60%、70%、80%、90%和100%。通过单片机的PWM 引脚控制响度,并在1m×1m 的空间内进行试验。依次选择“直角三角形阵列”、“等边三角形阵列”和“随意三点阵列”的声音传感器(麦克风)布局方式进行摆放。3 个点的坐标依次设为(x1,y1)、(x2,y2)和(x3,y3)。5)每种阵列方式进行3 次试验,每次3 个麦克风位点的间距不同。
打开电源启动装置,3 个声音传感器(麦克风)自动测得收到声波时的时间t1、t2和t3。6)系统自动记录t1、t2和t3,同时计算t1-t2、t2-t3和t1-t3的值,并将其代入MATLAB 程序中,最终经过单片机运行、分析得出发声物体所在位置坐标。7)通过OLED 显示屏和电脑屏幕均可以读取声源位点,找到位点位置,与实际位点位置进行对比,分析误差距离。
5.1.2 三维空间
5.1.2.1 声源物体相对声音传感器静止
在三维空间中,分析声源在不同分贝条件下的定位效果的试验步骤如下:1)寻找周围环境较安静的场地,摆放并调试装置(进行降噪处理),随意取1 个点作为坐标原点(0,0,0)。2)测量并记录周围温度、湿度和风速环境参数,将其代入相关物理修正公式及设计好的MATLAB 程序中。3)随意放置蜂鸣器(模拟待定位发声物体)。4)将三维空间降解为3 个二维平面进行处理,即xOy平面、xOz平面和yOz平面。5)在这3 个平面分别测出声源物体在3 个平面的对应投影坐标(a1,b1)、(a2,c1)和(b2,c2),这里在每个平面的测量方法与二维平面相同。6)最终三维空间中的声源位置为。7)将试验得到的坐标位置与实际声源坐标位置进行对比,分析误差距离。
5.1.2.2 声源物体相对声音传感器的运动情况
在三维空间中,对声源物体相对声音传感器运动情况的试验步骤如下:1)寻找周围环境较安静的场地,摆放并调试装置(进行降噪处理),随意取1 个点作为坐标原点(0,0,0)。2)测量并记录周围温度、湿度和风速环境参数,将其代入相关物理修正公式及设计好的MATLAB 程序中。3)随意放置蜂鸣器(模拟待定位发声物体)。4)将三维空间降解为3 个二维平面处理,即xOy平面、xOz平面和yOz平面。5)每个平面采用与二维平面相同的方法。打开电源启动装置后,在3 个平面依次测得声源的3 个投影坐标,取平均值得到声源第一次探测的坐标。6)运动5 s 后,系统进行第二次探测,在3 个平面再次测得声源的投影位置坐标,再取平均值,得到运动5 s 后的声源坐标。7)通过2 次坐标点就可以确定声源的运动轨迹,与实际声源轨迹路径位置进行对比,分析误差角度或距离。
5.1.2.3 分析声源在不同分贝条件下的定位效果
在三维空间中,分析声源在不同分贝条件下的定位效果的试验步骤如下:1)寻找周围环境较安静的场地,摆放并调试装置(进行降噪处理),随意取1 个点作为坐标原点(0,0,0)。2)测量并记录周围温度、湿度和风速环境参数,将其代入相关物理修正公式及设计好的MATLAB 程序中。3)随意放置蜂鸣器(模拟待定位发声物体,取10 个响度环境,分别为10%、20%、30%、40%、50%、60%、70%、80%、90%和100%。通过单片机的PWM 引脚控制响度,并在1m×1m×1m 的空间内进行试验)。4)将三维空间降解为3个二维平面进行处理,即xOy平面、xOz平面和yOz平面。5)分别测出声源物体在3 个平面的对应投影坐标(a1,b1)、(a2,c1)和(b2,c2),这里在每个平面的测量方法与二维平面相同。6)最终三维空间中的声源位置为。7)将试验得到的坐标位置与实际声源坐标位置进行对比,分析误差距离。
温度、湿度和风力环境条件见表1。
表1 温度、湿度和风力环境条件(前提条件为标况下)
由理论初步判断不可以采取“一排形式的麦克风阵列”,其相对原理使用的TDOA 算法缺少1 个维度,无法形成双曲线焦点,进而无法定位。
5.2 试验结论
基于声音探测定位原理,综合考虑各影响因素,通过修正物理和数学公式、设计电子设备和程序初步得出以下3个试验结论:1)该实验装置基本实现在5 m×5 m 范围内的精准声源位置测定功能,误差大约为±5 cm。同时,在试验中进行降噪处理,效果较好。2)针对不同麦克风阵列形式,得出“直角三角形阵列”精准度最高的结论,其误差大约为0.5cm。等边三角形阵列”的误差大约为0.9 cm。“一般三角形阵列”的误差最大,大约为3.3 cm。在同一阵列形状中,3个位点间距对位置探测误差影响在5 m 内可以忽略不计。3)在蜂鸣器(模拟声源物体)相对声音传感器(麦克风阵列)运动的条件下,基于多普勒效应修正公式的引入,测得声源运动试验与实际误差偏角和距离偏小,效果良好。4)在声音响度低于30%的情况下,误差值变化幅度很大,且试验位置与实际位置的误差值偏大,最大偏差值达5 cm。
在声响高于30%的部分变化缓慢,且误差值偏小。同时,随着响度的提高,误差值逐渐减小,当响度达到100%时,误差值最小可达到0.3 cm。
6 装置创新与优势
该文设计的装置创新和优势如下:1)将物理中的声学知识与时间差测距离的方法及电子技术完美结合,体现了物理思想的运用和电子结合的灵活化。2)探究角度独特全面。综合分析了不同麦克风阵列形式、声源不同运动状态、不同噪声程度和不同环境因素(温湿度、风速)下声源位置定位的精准度。3)4 个主要模块密切耦合,确保信息高效、准确,并且整体试验装置灵活、小巧且实用,可应用范围广泛。
7 结语
通过试验验证,该设计的目标功能基本可以实现,即可以实现小范围内精准定位声源位置的目标,降噪方面也具有较好的效果,还对物体相对运动情况进行误差分析。综上所述,基本达到试验预期效果。