基于TDOA的声源定位系统设计
2024-01-03张晓光
刘 坤,栾 雨,袁 帅,张晓光
(中国矿业大学信息与控制工程学院,江苏 徐州 221116)
1 引 言
声源定位在工业、军事、民用等领域有非常重要的意义[1],如机械中故障诊断、电力状态检测及军事中探测敌方飞机等。文献[2]提出利用接收声音信号的强度进行声源定位,但定位精度较低。文献[3]提出利用声波的到达时间进行声源定位,但要求声传感器之间的时间严格同步,实现较为困难。鉴于此,本文设计了一种基于TDOA算法的声源定位系统。
该声源定位系统基于TDOA算法[4]获得4个声传感器之间的相对时间差,实现对特定频率声波的检测。采用平面四元十字阵列建立的声传感器阵列实现位置解算,获得声源坐标。硬件上该系统综合应用了锁相环路、51单片机和运算放大器等元器件,软件上利用C51语言编写代码,实现了对特定频率声波的定位。
2 系统框图
基于TDOA算法的声源定位系统可满足使用者对不同频率声波的定位与检测,其系统框图如图1所示。硬件电路主要采用51单片机和声传感器相结合,首先51单片机通过接收声传感器所发出的高电平信号触发中断,进行时间差获取;然后应用TDOA算法和平面四元十字阵列得到声源所在的三维直角坐标,并在显示模块显示。
图1 系统框图
3 算法实现
基于TDOA的定位主要利用4个声传感器采集声源发出的声波信号,如图2所示,其定位主要分为两步。
图2 基于TDOA的定位
第一步,获得4个声传感器之间的相对时间差。因为4个声传感器位置不同,且与声源的距离不同,因此4个声传感器接收到声源信号的时间延迟不同。通过声传感器接收声源声波,被锁相环路识别之后对51单片机的引脚输出低电平,并通过51单片机的定时器中断而获得。
第二步,采用平面四元十字阵列[5]来建立声传感器阵列(如图3所示),实现位置解算,获得声源坐标。图3中,设O点为坐标原点,声源点为P(x,y,z),声传感器的位置分别为S1,S2,S3,S4,声传感器距离原点的距离为L,声源P距离声传感器S1,S2,S3,S4的距离分别为R1,R2,R3,R4。
图3 平面四元十字声传感器阵列
由几何关系可知,通过确定声源P与坐标原点O之间的距离R,P点关于xoy平面的俯仰角θ,以及声源P点在xoy平面的投影关于x轴正半轴的方位角φ,就可以得到声源P的准确坐标。根据直角坐标和球坐标之间的转化关系,可得到P点相应的球坐标为P(Rsinθcosφ,Rsinθsinφ,Rcosθ),0°<θ<90°。
选择4个声传感器中的S1作为基准,记录其余3个声传感器S2,S3,S4相对于基准声传感器S1的时延差τ21,τ31,τ41。根据几何关系,可得下列方程组:
(1)
式中,c为声速,L为声传感器与原点O之间的距离,(x,y,z)为目标声源P的坐标,R1为声源与基准声传感器S1之间的距离,其表达式为:
(2)
通过计算可得声源坐标的直角坐标为:
(3)
俯仰角及方位角的表达式为:
(4)
通过分析可知,若已知声传感器与原点O之间的距离L以及各个声传感器之间的时延差,即可得到声源P的坐标。
4 软硬件实现
4.1 硬件
采集到的声波信号首先送入芯片LM358进行信号放大,接下来送入到芯片LM567中进行鉴频。LM358内部有两个独立的、高增益、内部频率补偿的运算放大器,有极高的稳定性,声波信号通过LM358可以增强信号的可识别性。LM567是一个高稳定性的低频集成锁相环路解码器,拥有良好的噪声抑制能力和中心频率稳定度。LM567所鉴定的频率公式为:f0≈Ct/1.1×(Rt×Ct)Ct,式中Rt为外界定时电阻,Ct为外界定时电容[6]。由公式可知,只需设定好定时电阻与定时电容的值,便可得到所要识别的目标声波频率。
若检测到声波信号的频率是LM567芯片设定的目标频率,说明该声波信号是目标声源发出的,便可输出一个低电平信号触发定时器中断,进行后续的时间计时、计算定位。声波获取及鉴频部分电路设计如图4所示。
图4 声波获取及鉴频部分电路设计图
51单片机通过接收鉴频输出口的低电平触发定时器中断,进而计算出4个声传感器之间的时间差,为之后目标声源的三维直角坐标计算打下基础。51单片机电路连接如图5所示,其中单片机最小系统由电源、晶振以及复位电路3部分组成。4个鉴频输出口连接在P3.0,P3.1,P3.2以及P3.3,LCD1602显示模块连接在P0端口以及P2.7,P2.6和P2.5。
图5 51单片机连接图
STC89C52连接4个运放鉴频电路,4个声传感器采取平面四元十字阵列排放,当接收到第1个运放鉴频电路有低电平信号输出时,便开始计时。当其余3个运放鉴频电路也分别接收到目的信号并触发中断时,便得到了3个计时时间,也就是3个相对时延。之后利用TDOA算法和平面四元十字阵列结合的结论,得到声源确切位置。定位系统通过LCD1602液晶屏将声源三维坐标显示在屏幕上,本文所设计的声源定位装置如图6所示。
图6 声源定位装置
4.2 软件
51单片机持续检测4个声传感器所连接引脚的电平值,当有1个声传感器接收到外界特定频率的声波时,便会输出一个低电平。51单片机检测到低电平时,便会触发定时器中断,进而将4个声传感器之间的时间差记录在一个数组中,并计算目标声源三维坐标,程序流程图如图7所示。声传感器之间的时间差所产生的误差对于目标声源坐标的计算有极大的影响,为了进一步提高准确性,对于程序代码的精简有着更高的要求。采用C51语言所编写的程序更接近硬件底层,因此在计算时间差上具有一定的优势。
图7 程序运行流程图
5 系统性能分析
驻极体式传感器接收外界声波信号,将声信号转化为电信号,并将电信号传递给LM358双运算放大器进行信号放大,提高可辨识度。经过放大后的电信号送入LM567锁相环路中,LM567通过改变定时电阻的电阻值与定时电容的电容值来设置所要定位声波的频率,通过比对放大后电信号的频率是否与预设频率一致来选择是否输出低电平给51单片机。若预设频率值与放大后电信号的频率不一致,则继续监听;若预设频率值与放大后电信号的频率一致,则输出低电平传递给51单片机。51单片机接收到低电平后便触发定时器中断,并计算出4个声传感器之间的时间差,进而得出目标声源的三维直角坐标。
对于定位结果的模拟可通过Proteus软件实现,而对于实际定位的结果则是通过具体声源对于该声源定位设备的测试,并将结果显示在LCD1602液晶屏幕上(如图8所示)。
图8 LCD1602显示声源坐标
5.1 定位准确性评价
对于声源定位设备的误差分析,是根据实际声源的位置坐标与LCD1602液晶显示屏上所显示的位置坐标进行比对,通过多次测量取平均值并画出误差曲线。在确定声波强度一定的情况下,采用按键控制蜂鸣器输出PWM波,实现固定频率的声波输出,通过测试,系统在安静环境情况下的定位性能与嘈杂环境情况下的定位性能如图9所示。
图9 误差分析
由图9可以看出,声源定位系统的误差约为2%~7%。在相同声源距离的情况下,嘈杂环境下的定位误差大于安静环境下的定位误差,说明环境噪声会对设备的定位性能造成一定的影响。若环境噪声中具有所要识别的频率声波且强度较大,则设备的定位性能将大大减弱。在安静环境下,误差的产生主要由以下几点所致:(1)电路结构采用面包板连接方式,该连接方式会给电路连接带来一些便捷,但会导致电路不稳定,进而产生误差;(2)单片机采用的代码是以C51语言所编写,相较于汇编语言的高效与高速,C51语言代码的冗余会使得时延差的计算出现误差,进而导致定位坐标结果产生偏差;(3)测量实际声源的位置时,存在因为测量工具或测量手法所产生的仪器误差与操作误差。
进一步分析误差产生的原因可知,通过改变电路连接方式,例如采用PCB板焊接的方式即可避免大部分误差。对于程序代码冗余的问题,则可以通过精简代码、优化代码等方式解决。而对于仪器误差与操作误差,则可以通过多次测量并取平均值的方法来修正。
5.2 抗干扰性能评价
该系统控制器核心采用51单片机,当有噪声叠加在驻极体式传感器上时,会导致较大的测量误差。由于这些噪声的随机性,该系统通过锁相环路滤波技术剔除虚假信号,获得真正的声波信息。锁相环路的中心频率确定之后,可以滤除大部分噪声干扰,其抗干扰的特点为:外界噪声中无目标频率声波时,定位效果极佳;外界噪声为高斯白噪声时,定位效果略受干扰;外界噪声中充斥大量目标频率声波时,定位效果较差。该设备适用于特定环境下,如机械运行故障发出特定频率声波的情况。通过试验仿真及设备测试,当外加干扰强度不过大时,抗干扰能力良好,灵敏度也较高。
6 结束语
本文提出了一种易于实现、较为简易的声源定位系统方案。通过驻极体式传感器对外界声波进行接收,并通过LM358运算放大器对所接收的声波信号进行放大,同时通过LM567锁相环路的鉴频,实现对声波频率的鉴定。利用单片机的中断程序,结合TDOA算法,实现了目标声源的定位。该声源定位系统的主要创新点是采用了非数字信号处理的方式,借助于锁相环路的固有属性实现了对固定频率声波的定位。后续,团队基于该系统研究声源定位改进方案,通过对接收到的声波信号进行信号分析,结合梅尔倒谱滤波器及神经网络算法,实现对特定音色声波的定位。