声源定位方法、系统、计算机设备及储存介质
技术领域
本发明涉及到激光通信技术领域,特别是涉及到一种声源定位方法、系统、计算机设备及储存介质。
背景技术
随着科技的发展,人们根据声波的特性,制造了多种多样的用于声音检测的仪器,从早期的有线声音检测,到后来的微型话筒声音检测等,而其中采用激光技术进行声音检测,由于其能够远距离非接触式听到人无法接近的房间内的声音信息,且不易被发现等优点,逐渐有了较为广阔的应用价值以及研究空间,而激光检测声音的技术随着科技的发展逐步成熟,其原理在实验研究上已日趋成熟,渐渐转入了实际应用,市面上也开始出现相应的产品,这种声音检测可以用于各种领域,例如,在发生矿难时辅助对井下人员的救援、对犯罪分子进行远程监听等。但是现有激光声音检测装置只能监听到声音,如果要确定声源的位置则需要使用到别的定位仪器,作用比较单一。
发明内容
本发明的目的为提供一种声源定位方法、系统、计算机设备及储存介质,实现通过激光反射监听声源的同时能定位所监听到声源的位置的目的。
为了实现上述发明目的,本发明提出一种声源定位方法,其涉及的装置包括第一激光监听装置和第二激光监听装置,第一激光监听装置包括第一发射装置和第一接收装置,第二激光监听装置包括第二发射装置和第二接收装置,其中方法包括如下步骤:
获取第一接收装置还原的经由可振动物体表面的第一位置反射回来的由声源发出的第一声音信息,第一位置为第一发射装置以第一角度发射第一激光到达可振动物体表面的位置,同时获取第二接收装置还原的经由可振动物体表面的第二位置反射回来的由声源发出的第二声音信息,第二位置为第二发射装置以第一角度发射第二激光达到可振动物体表面的位置,其中,第一接收装置接收端到第一位置的距离与第二接收装置接收端到第二位置的距离相同,可振动物体可响应于声源发出的声音而振动,第一激光与第二激光不相交;
获取第一接收装置与第二接收装置之间的距离数据,并根据获取的第一声音信息、第二声音信息和距离数据,计算得出第一数据组,第一数据组至少包括第一位置与第二位置之间的第一距离值,和声源到第一位置与到第二位置的距离差值;
获取第一接收装置还原的经由可振动物体表面的第三位置反射回来的由声源发出的第三声音信息,第三位置为第一接收装置相对于可振动物体平行移动后,以第一角度发射第一激光到达可振动物体表面的位置,并重新计算得出第二数据组,第二数据组至少包括第三位置与第二位置之间的第二距离值,和声源到第三位置与到第二位置的距离差值,其中,第三位置、第一位置与第二位置在同一直线上;
根据第一组数据组和第二组数据组,通过预设算法计算得出声源到第二位置的第三距离值,并通过预设算法计算得出第一夹角的角度,第一夹角为声源与第二位置的连线和第二位置与第一位置的连线之间形成的夹角,根据第三距离值和第一夹角的角度确定声源的位置。
进一步地,获取第一接收装置还原的经由可振动物体表面的第一位置反射回来的由声源发出的第一声音信息,第一位置为第一发射装置以第一角度发射第一激光到达可振动物体表面的位置,同时获取第二接收装置还原的经由可振动物体表面的第二位置反射回来的由声源发出的第二声音信息,第二位置为第二发射装置以第一角度发射第二激光达到可振动物体表面的位置的步骤之前,还包括:
检测环境光线频率,将第一激光与第二激光的频率调制为异于环境光线频率的频率。
进一步地,检测环境光线频率,将第一激光与第二激光调制为异于环境光线频率的频率的步骤中,包括:
将第一激光与第二激光的频率调制为同一频率。
进一步地,获取第一接收装置与第二接收装置之间的距离数据,并根据获取的第一声音信息、第二声音信息和距离数据,计算得出第一数据组的步骤中包括:
根据第一接收装置、第二接收装置、第一位置和第二位置之间的几何关系,得到第一距离值,第一距离值为第一接收装置与第二接收装置之间的距离值;
根据第一声音信息和第二声音信息,确定声源发出相同声音信息分别到达第一位置和第二位置的时间差;
根据声音在空气中的传播速度和时间差计算得出声源到第一位置与到第二位置的距离差值。
进一步地,声源到第一位置的距离与声源到第二位置的距离相等。
进一步地,根据第一组数据组和第二组数据组,通过预设算法计算得出声源到第二位置的第三距离值,并通过预设算法计算得出第一夹角的角度的步骤中,包括:
根据第一位置和第二位置确定第一位置和第二位置之间距离的中点,在以声源、第一位置与中点为顶点的第一三角形,以声源、第二位置与中点为顶点的第二三角形,和以声源、第三位置与中点为顶点的第三三角形中,根据余弦定理、第一距离值和第二距离值,分别得到声源到第一位置距离的第一方程式、声源到第二位置距离的第二方程式和声源到第三位置距离的第三方程式;
根据声源到第一位置与到第二位置的距离差值和声源到第三位置与到第二位置的距离差值,将第一方程式、第二方程式和第三方程式代入计算出声源距离中点的第四距离值,和第二夹角的角度,第二夹角为声源与中点的连线和中点与第二位置的连线之间形成的夹角;
在第二三角形中,根据第一距离值、第四距离值和第二夹角的角度,利用余弦定理计算出第三距离值和第一夹角的角度。
进一步地,第一激光和第二激光均为红外激光。
本发明还提出一种声源定位系统,包括第一激光监听装置和第二激光监听装置,第一激光监听装置包括第一发射装置和第一接收装置,第二激光监听装置包括第二发射装置和第二接收装置,其中系统包括:
获取模块,用于获取第一接收装置还原的经由可振动物体表面的第一位置反射回来的由声源发出的第一声音信息,第一位置为第一发射装置以第一角度发射第一激光到达可振动物体表面的位置,同时获取第二接收装置还原的经由可振动物体表面的第二位置反射回来的由声源发出的第二声音信息,第二位置为第二发射装置以第一角度发射第二激光达到可振动物体表面的位置,其中,第一接收装置接收端到第一位置的距离与第二接收装置接收端到第二位置的距离相同,可振动物体可响应于声源发出的声音而振动,第一激光与第二激光不相交;
第一计算模块,用于获取第一接收装置与第二接收装置之间的距离数据,并根据获取的第一声音信息、第二声音信息和距离数据,计算得出第一数据组,第一数据组至少包括第一位置与第二位置之间的第一距离值,和声源到第一位置与到第二位置的距离差值;
第二计算模块,用于获取第一接收装置还原的经由可振动物体表面的第三位置反射回来的由声源发出的第三声音信息,第三位置为第一接收装置相对于可振动物体平行移动后,以第一角度发射第一激光到达可振动物体表面的位置,并重新计算得出第二数据组,第二数据组至少包括第三位置与第二位置之间的第二距离值,和声源到第三位置与到第二位置的距离差值,其中,第三位置、第一位置与第二位置在同一直线上;
第三计算模块,用于根据第一组数据组和第二组数据组,通过预设算法计算得出声源到第二位置的第三距离值,并通过预设算法计算得出第一夹角的角度,第一夹角为声源与第二位置的连线和第二位置与第一位置的连线之间形成的夹角,根据第三距离值和第一夹角的角度确定声源的位置。
本发明还提出一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述任一项声源定位方法的步骤。
本发明实施例还提出一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项的声源定位方法的步骤。
本发明声源定位方法、系统、计算机设备及储存介质的有益效果为:利用声源发出的声音会引起其附近可振动物体的振动,通过检测可振动物体表面反射回来的激光来监听声源,同时通过两套激光监听装置,计算确定声源的位置,实现远距离监听声源的同时能定位声源的位置,增加激光监听装置的作用,而且两套激光监听装置一起监听声源,监听效果更好。
附图说明
图1为本发明声源定位方法一实施例的步骤流程图;
图2为本发明声源与可振动物体中相关点的示意图;
图3为本发明声音定位系统一实施例的模块示意图;
图4为本发明声音定位系统中第一计算模块的模块示意图;
图5为本发明声音定位系统中第三计算模块的模块示意图;
图6为本发明声音定位系统另一实施例的模块示意图;
图7为本发明声音定位系统调制模块的模块示意图;
图8本发明计算机设备一实施例的结构示意框图;
图9为本发明计算机可读存储介质一实施例的结构示意框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,一种声源定位方法,其涉及的装置包括第一激光监听装置和第二激光监听装置,第一激光监听装置包括第一发射装置和第一接收装置,第二激光监听装置包括第二发射装置和第二接收装置,其中方法包括如下步骤:
S1、获取第一接收装置还原的经由可振动物体表面的第一位置反射回来的由声源发出的第一声音信息,第一位置为第一发射装置以第一角度发射第一激光到达可振动物体表面的位置,同时获取第二接收装置还原的经由可振动物体表面的第二位置反射回来的由声源发出的第二声音信息,第二位置为第二发射装置以第一角度发射第二激光达到可振动物体表面的位置,其中,第一接收装置接收端到第一位置的距离与第二接收装置接收端到第二位置的距离相同,可振动物体可响应于声源发出的声音而振动,第一激光与第二激光不相交;
S2、获取第一接收装置与第二接收装置之间的距离数据,并根据获取的第一声音信息、第二声音信息和距离数据,计算得出第一数据组,第一数据组至少包括第一位置与第二位置之间的第一距离值,和声源到第一位置与到第二位置的距离差值;
S3、获取第一接收装置还原的经由可振动物体表面的第三位置反射回来的由声源发出的第三声音信息,第三位置为第一接收装置相对于可振动物体平行移动后,以第一角度发射第一激光到达可振动物体表面的位置,并重新计算得出第二数据组,第二数据组至少包括第三位置与第二位置之间的第二距离值,和声源到第三位置与到第二位置的距离差值,其中,第三位置、第一位置与第二位置在同一直线上;
S4、根据第一组数据组和第二组数据组,通过预设算法计算得出声源到第二位置的第三距离值,并通过预设算法计算得出第一夹角的角度,第一夹角为声源与第二位置的连线和第二位置与第一位置的连线之间形成的夹角,根据第三距离值和第一夹角的角度确定声源的位置。
在上述步骤S1中,激光监听装置是通过对声源附近的可振动物体的振动的检测来还原声源发出的声音的,可振动物体可以是声源附近的受声源的影响而振动并且能够反射激光的任何物体,如可振动物体可以是玻璃、镜面等,优选地,可振动物体为处于同一水平面的两块玻璃,要定位声源的位置需要使用到两套激光监听装置,发射的第一激光和第二激光到可振动物体表面的第一位置和第二位置,优选地,第一位置和第二位置在同一水平面的不同的玻璃上,两者在可振动物体表面相距一段距离,并且在发射的过程中,避免第一激光和第二激光相交,以免两者互相造成影响,由于声源所发出的声音的影响,玻璃将随着声音的变化而发生振动,第一激光和第二激光在可振动物体表面的反射点也会发生变化,由于声源所发出的声音的影响,玻璃将随着声音的变化而发生振动,使得第一反射激光和第二反射激光会带有声源中声波的信息,接收装置接收后可以将声源发出的声音信息还原出来,以此获取第一接收装置和第二接收装置还原的声源发出的声音信息,实现声源监听的作用,并且由两个接收装置一同还原声源的声音信息,可以保证监听声音信息更加准确,由于第一位置和第二位置在可振动物体表面上有一段距离,声源发出的声音传播的到可振动物体表面上第一位置和第二位置会有先后时间,设置第一接收装置的接收端到第一位置和第二接收装置的接收端到第二位置的距离相同,是为了计算相同声音时间戳的时候可以忽略这一段距离。进一步地,在一些实施例中,声源到第一位置的距离与声源到第二位置的距离相等。声源可以根据第一接收装置和第二接收装置还原的相同声音的时间,来判断移动第一发射装置或是移动第二发射装置的方向,例如第一接收装置还原的相同声音的时间比较晚,说明第一位置与声源的距离比较远,可以将第一发射装置往第二发射装置的方向移动,使得两个接收装置可以在相同的时间接收到相同的声音,这样声源到第一位置的距离和声源到第二位置的距离是相等的,可以更加方便计算声源的位置。进一步地,第一激光和第二激光可以均为红外激光。
在上述步骤S2中,第一接收装置与第二接收装置的距离数据可以通过测量得出,根据第一接收装置和第二接收装置还原的声音信息可以确定声源到第一位置和第二位置之间的时间差,通过计算得出需要的第一组数据组。
进一步地,在一些实施例中,在步骤S2中,包括:
S2a、根据第一接收装置、第二接收装置、第一位置和第二位置之间的几何关系,得到第一距离值,第一距离值为第一接收装置与第二接收装置的距离;
S2b、根据第一声音信息和第二声音信息,确定声源发出相同声音信息分别到达第一位置和第二位置的时间差;
S2c、根据声音在空气中的传播速度和时间差计算得出声源到第一位置与到第二位置的距离差值。
在上述步骤S2a中,由于第一接收装置的接收端到可振动物体表面的第一位置的距离与第二接收装置的接收端到可振动物体表面的第二位置的距离相等,第一发射装置发射第一激光与第二发射装置发射第二激光都以相同的第一角度发射,即第一激光与第二激光平行,经过可振动物体表面发射的第一激光与第二激光也是平行的,所以第一接收装置、第二接收装置、第一位置和第二位置构成平行四边形的四个顶点,因此第一位置与第二位置之间的第一距离值也就是第一接收装置与第二接收装置的距离,在另一实施例中,第一距离值也可以有第一发射装置与第二发射装置的距离得出,第一发射装置、第二发射装置、第一位置和第二位置也同样构成平行四边形的四个顶点,因此第一距离值也为第一发射装置与第二发射装置之间的距离。
在上述步骤S2b中,第一接收装置根据反射的第一激光可以还原声源发出的声音信息,第二接收装置根据反射的第二激光可以还原声音发出的声音信息,通过对比还原两个声音信息,得到第一接收装置与第二接收装置接收到相同声音信息的时间差,就可以得出声源发出相同声音信息分别到达第一位置和第二位置的时间差。
在上述步骤S2c中,在得知相同声音信息到达第一位置和第二位置的时间差,就可以再通过声音在空气中的传播速度乘以时间差得出声源到第一位置的距离与声源到第二位置的距离之间差值的绝对值。
在上述步骤S3中,将第一发射装置相对可振动物体表面平行移动,使得第一发射装置以第一角度发射第一激光到可振动物体表面的第三位置,同时是为了使得第一发射装置、第二发射装置、第三位置和第二位置构成平行四边形的四个顶点,或第一接收装置、第二接收装置、第三位置和第二位置构成平行四边形的四个顶点,根据步骤S2a至步骤S2c的过程,可以得到第二数据组,第三位置与第二位置之间的第二距离值,和声源到第三位置与到第二位置的距离差值,具体地,第三位置与第一位置在同一块玻璃上,第三位置、第一位置与第二位置在同一直线上。
在上述步骤S4中,将第一组数据组和第二组数据组代入预设算法中,预设算法可以是根据余弦定理得到的一些方程式,将第一距离值和第二距离值代入一些方程式中,并根据根据声源到第一位置与到第二位置的距离差值和声源到第三位置与到第二位置的距离差值得到方程组,解方程组即可得出声源到第二位置的第三距离值,和第一夹角的角度,即声源与第二位置的连线和第二位置与第一位置的连线之间形成的第一夹角的角度,根据声源到第二位置的距离值和第一夹角即可确定声源的位置,计算声源的方程组可以选择使用软件MATLAB(matrix&laboratory,矩阵工厂),将相应的方程组输入在软件上面即可得到结果,根据第三距离和第一夹角的角度,即可确认声源的位置。
进一步地,在步骤S4中,包括:
S4a、根据第一位置和第二位置确定第一位置和第二位置之间距离的中点,在以声源、第一位置与中点为顶点的第一三角形,以声源、第二位置与中点为顶点的第二三角形,和以声源、第三位置与中点为顶点的第三三角形中,根据余弦定理、第一距离值和第二距离值,分别得到声源到第一位置距离的第一方程式、声源到第二位置距离的第二方程式和声源到第三位置距离的第三方程式;
S4b、根据声源到第一位置与到第二位置的距离差值和声源到第三位置与到第二位置的距离差值,将第一方程式、第二方程式和第三方程式代入计算出声源距离中点的第四距离值,和第二夹角的角度,第二夹角为声源与中点的连线和中点与第二位置的连线之间形成的夹角;
S4c、在第二三角形中,根据第一距离值、第四距离值和第二夹角的角度,利用余弦定理计算出第三距离值和第一夹角的角度。
在上述步骤S4a中,将第一位置记为a,第二位置记为b,声源记为c,第三位置记为d,第一位置与第二位置之间的中点记为e,如图2所示,将上述获得的已知数据第一距离值ab记为L1,声源到第一位置与到第二位置的距离差值记为L2,第二距离值db记为L3,声源到第三位置与到第二位置的距离差值记为L4,同时假设声源c与中点e的连线和中点e与第二位置b的连线之间形成的第二夹角∠ceb的角度为θ,则∠cea的角度为π减去θ,即π-θ,在以声源c、第一位置a与中点e为顶点的第一三角形△cae,以声源c、第二位置b与中点e为顶点的第二三角形△cbe,和以声源c、第三位置d与中点e为顶点的第三三角形中△cde,由余弦定理可以得到如下公式:
第一方程式:
第二方程式:
第三方程式:
在上述步骤S4b中,由第一接收装置和第二接收装置接收到相同声源发出的声音信息可以确定声源离第一位置的距离和声源离第二位置的距离哪个比较大,例如声源离第一位置的距离比声源离第二位置的距离大,再确认声源离第三位置的距离和声源离第二位置的距离哪个比较大,例如声源离第三位置的距离比声源离第二位置的距离大,则ca-cb=L2,cd-cb=L4,L1、L2、L3和L4为已知的数据,因此通过软件MATLAB解方程组可得第四距离值ce的值和cosθ的值,根据cosθ的值可以得到第二夹角θ的值。
在上述步骤S4c中,在上述第二三角形△cbe中,根据余弦定理,声源c到第二位置b的距离值由以下第四方程式得出:
根据第一距离值可以知道中点e与第二位置b的距离eb,第四距离值ce和cosθ的值由步骤S5b计算得出,则eb、ce和cosθ均为已知值,通过软件MATLAB解第四方程式计算出声源c到第二位置b的第三距离值;而第一夹角∠cba的余弦值可以由以下第五方程式得出:
声源c与第二位置b的连线和第二位置b与第一位置a的连线之间形成的第一夹角∠cba的角度值,可以根据∠cba的余弦值,通过软件MATLAB即可得到∠cba的角度值。
进一步地,在一些实施例中,步骤S1之前包括:
S11、检测环境光线频率,将第一激光与第二激光的频率调制为异于环境光线频率的频率。
在上述步骤S11中,激光发射到声源附近的可振动物体表面上会经过一段距离,激光经可振动物体反射回来也是要经过一段距离,如果在这段距离上类似激光频率的光或者信号就会对激光造成干扰,那么激光携带回来的声音信号也会受到干扰,还原的声音会有缺少,所以在激光发射之前可以先用仪器测量附近环境的光线频率,如附近灯光的频率等,然后将第一激光与第二激光的频率调制为异于环境光线频率,如调制为异于附近灯光的频率之外的频率,减少被环境的干扰,有利于保证声音的还原质量,使得后面的计算相同声音时间戳更加准确,而且根据与可振动物体的距离,来调节激光的功率,因为光在传输的过程中会有衰落,距离远了之后光的强度会下降,经过反射之后光强度又会继续衰减,调节激光的功率是保证激光被反射后反射激光的强度,一般5mW功率的激光基本上可以满足使用需求。
进一步地,在一些实施例中,在步骤S11中包括:
S11a、将第一激光与第二激光的频率调制为同一频率。
在上述步骤S11a中,对激光进行调制需要用到调制装置,调制装置用算法对激光进行调制,那么再接收的时候需要对激光进行解调,这也需要用到解调装置根据调制装置的算法进行解调,调制装置和解调装置是对应的,一般调制装置在发射装置上,解调装置在接收装置上,将第一激光和第二激光的频率调制为相同,则解调装置相同,从而接收装置也是相同,在声源定位的过程中,要使用两套发射装置和接收装置,激光的频率调制成相同,这样在使用过程中,接收装置都和两个发射装置对应,在使用的过程中不用加以区分,使用更为方便。
参照图3,本发明一实施例中还提供了一种声源定位系统,包括第一激光监听装置和第二激光监听装置,第一激光监听装置包括第一发射装置和第一接收装置,第二激光监听装置包括第二发射装置和第二接收装置,其中系统包括:
获取模块1,用于获取第一接收装置还原的经由可振动物体表面的第一位置反射回来的由声源发出的第一声音信息,第一位置为第一发射装置以第一角度发射第一激光到达可振动物体表面的位置,同时获取第二接收装置还原的经由可振动物体表面的第二位置反射回来的由声源发出的第二声音信息,第二位置为第二发射装置以第一角度发射第二激光达到可振动物体表面的位置,其中,第一接收装置接收端到第一位置的距离与第二接收装置接收端到第二位置的距离相同,可振动物体可响应于声源发出的声音而振动,第一激光与第二激光不相交;
第一计算模块2,用于获取第一接收装置与第二接收装置之间的距离数据,并根据获取的第一声音信息、第二声音信息和距离数据,计算得出第一数据组,第一数据组至少包括第一位置与第二位置之间的第一距离值,和声源到第一位置与到第二位置的距离差值;
第二计算模块3,用于获取第一接收装置还原的经由可振动物体表面的第三位置反射回来的由声源发出的第三声音信息,第三位置为第一接收装置相对于可振动物体平行移动后,以第一角度发射第一激光到达可振动物体表面的位置,并重新计算得出第二数据组,第二数据组至少包括第三位置与第二位置之间的第二距离值,和声源到第三位置与到第二位置的距离差值,其中,第三位置、第一位置与第二位置在同一直线上;
第三计算模块4,用于根据第一组数据组和第二组数据组,通过预设算法计算得出声源到第二位置的第三距离值,并通过预设算法计算得出第一夹角,第一夹角为声源与第二位置的连线和第二位置与第一位置的连线之间形成的夹角,根据第三距离值和第一夹角的角度确定声源的位置。
在上述获取模块1中,激光监听装置是通过对声源附近的可振动物体的振动的检测来还原声源发出的声音的,可振动物体可以是声源附近的受声源的影响而振动并且能够反射激光的任何物体,如可振动物体可以是玻璃、镜面等,优选地,可振动物体为处于同一水平面的两块玻璃,要定位声源的位置需要使用到两套激光监听装置,发射的第一激光和第二激光到可振动物体表面的第一位置和第二位置,优选地,第一位置和第二位置在同一水平面的不同的玻璃上,两者在可振动物体表面相距一段距离,并且在发射的过程中,避免第一激光和第二激光相交,以免两者互相造成影响,由于声源所发出的声音的影响,玻璃将随着声音的变化而发生振动,第一激光和第二激光在可振动物体表面的反射点也会发生变化,由于声源所发出的声音的影响,玻璃将随着声音的变化而发生振动,使得第一反射激光和第二反射激光会带有声源中声波的信息,接收装置接收后可以将声源发出的声音信息还原出来,以此获取第一接收装置和第二接收装置还原的声源发出的声音信息,实现声源监听的作用,并且由两个接收装置一同还原声源的声音信息,可以保证监听声音信息更加准确,由于第一位置和第二位置在可振动物体表面上有一段距离,声源发出的声音传播的到可振动物体表面上第一位置和第二位置会有先后时间,设置第一接收装置的接收端到第一位置和第二接收装置的接收端到第二位置的距离相同,是为了计算相同声音时间戳的时候可以忽略这一段距离。进一步地,声源到第一位置的距离与声源到第二位置的距离相等。声源可以根据第一接收装置和第二接收装置还原的相同声音的时间,来判断移动第一发射装置或是移动第二发射装置的方向,例如第一接收装置还原的相同声音的时间比较晚,说明第一位置与声源的距离比较远,可以将第一发射装置往第二发射装置的方向移动,使得两个接收装置可以在相同的时间接收到相同的声音,这样声源到第一位置的距离和声源到第二位置的距离是相等的,可以更加方便计算声源的位置,进一步地,第一激光和第二激光可以均为红外激光。
在上述第一计算模块2中,第一接收装置与第二接收装置的距离数据可以通过测量得出,根据第一接收装置和第二接收装置还原的声音信息可以确定声源到第一位置和第二位置之间的时间差,通过计算得出需要的第一组数据组。
参照图4,进一步地,在一些实施例中,第一计算模块2,包括:
第一计算子模块2a,用于根据第一接收装置、第二接收装置、第一位置和第二位置之间的几何关系,得到第一距离值,第一距离值为第一接收装置与第二接收装置的距离;
第二计算子模块2b,用于根据第一声音信息和第二声音信息,确定声源发出相同声音信息分别到达第一位置和第二位置的时间差;
第三计算子模块2c,用于根据声音在空气中的传播速度和时间差计算得出声源到第一位置与到第二位置的距离差值。
在上述第一计算子模块2a中,由于第一接收装置的接收端到可振动物体表面的第一位置的距离与第二接收装置的接收端到可振动物体表面的第二位置的距离相等,第一发射装置发射第一激光与第二发射装置发射第二激光都以相同的第一角度发射,即第一激光与第二激光平行,经过可振动物体表面发射的第一激光与第二激光也是平行的,所以第一接收装置、第二接收装置、第一位置和第二位置构成平行四边形的四个顶点,因此第一位置与第二位置之间的第一距离值也就是第一接收装置与第二接收装置的距离,在另一实施例中,第一距离值也可以有第一发射装置与第二发射装置的距离得出,第一发射装置、第二发射装置、第一位置和第二位置也同样构成平行四边形的四个顶点,因此第一距离值也为第一发射装置与第二发射装置之间的距离。
在上述第二计算子模块2b中,第一接收装置根据反射的第一激光可以还原声源发出的声音信息,第二接收装置根据反射的第二激光可以还原声音发出的声音信息,通过对比还原两个声音信息,得到第一接收装置与第二接收装置接收到相同声音信息的时间差,就可以得出声源发出相同声音信息分别到达第一位置和第二位置的时间差。
在上述第三计算子模块2c中,在得知相同声音信息到达第一位置和第二位置的时间差,就可以再通过声音在空气中的传播速度乘以时间差得出声源到第一位置的距离与声源到第二位置的距离之间差值的绝对值。
在上述第二计算模块3中,将第一发射装置相对可振动物体表面平行移动,使得第一发射装置以第一角度发射第一激光到可振动物体表面的第三位置,同时是为了使得第一发射装置、第二发射装置、第三位置和第二位置构成平行四边形的四个顶点,或第一接收装置、第二接收装置、第三位置和第二位置构成平行四边形的四个顶点,根据第一计算子模块2a至第三计算子模块2c的过程,可以得到第二数据组,第三位置与第二位置之间的第二距离值,和声源到第三位置与到第二位置的距离差值,具体地,第三位置与第一位置在同一块玻璃上,第三位置、第一位置与第二位置在同一直线上。
在上述第三计算模块4中,将第一组数据组和第二组数据组代入预设算法中,预设算法可以是根据余弦定理得到的一些方程式,将第一距离值和第二距离值代入一些方程式中,并根据根据声源到第一位置与到第二位置的距离差值和声源到第三位置与到第二位置的距离差值得到方程组,解方程组即可得出声源到第二位置的第三距离值,和第一夹角的角度,即声源与第二位置的连线和第二位置与第一位置的连线之间的夹角的角度,根据声源到第二位置的距离值和第一夹角即可确定声源的位置,计算声源方程组可以选择使用软件MATLAB(matrix&laboratory,矩阵工厂),将相应的方程组输入在软件上面即可得到结果,根据第三距离和第一夹角的角度,即可确认声源的位置。
参照图5,进一步地,在一些实施例中,第三计算模块4,包括:
第四计算子模块4a,用于根据第一位置和第二位置确定第一位置和第二位置之间距离的中点,在以声源、第一位置与中点为顶点的第一三角形,以声源、第二位置与中点为顶点的第二三角形,和以声源、第三位置与中点为顶点的第三三角形中,根据余弦定理、第一距离值和第二距离值,分别得到声源到第一位置距离的第一方程式、声源到第二位置距离的第二方程式和声源到第三位置距离的第三方程式;
第五计算子模块4b,用于根据声源到第一位置与到第二位置的距离差值和声源到第三位置与到第二位置的距离差值,将第一方程式、第二方程式和第三方程式代入计算出声源距离中点的第四距离值,和第二夹角的角度,第二夹角为声源与中点的连线和中点与第二位置的连线之间形成的夹角;
第六计算子模块4c,用于在第二三角形中,根据第一距离值、第四距离值和第二夹角的角度,利用余弦定理计算出第三距离值和第一夹角的角度。
在上述第四计算子模块4a中,将第一位置记为a,第二位置记为b,声源记为c,第三位置记为d,第一位置与第二位置之间的中点记为e,如图2所示,将上述获得的已知数据第一距离值ab记为L1,声源到第一位置与到第二位置的距离差值记为L2,第二距离值db记为L3,声源到第三位置与到第二位置的距离差值记为L4,同时假设声源c与中点e的连线和中点e与第二位置b的连线之间形成的第二夹角∠ceb的角度为θ,则∠cea的角度为π减去θ,即π-θ,在以声源c、第一位置a与中点e为顶点的第一三角形△cae,以声源c、第二位置b与中点e为顶点的第二三角形△cbe,和以声源c、第三位置d与中点e为顶点的第三三角形中△cde,由余弦定理可以得到如下公式:
第一方程式:
第二方程式:
第三方程式:
第五计算子模块4b,由第一接收装置和第二接收装置接收到相同声源发出的声音信息可以确定声源离第一位置的距离和声源离第二位置的距离哪个比较大,例如声源离第一位置的距离比声源离第二位置的距离大,再确认声源离第三位置的距离和声源离第二位置的距离哪个比较大,例如声源离第三位置的距离比声源离第二位置的距离大,则ca-cb=L2,cd-cb=L4,L1、L2、L3和L4为已知的数据,因此通过软件MATLAB解方程组可得第四距离值ce的值和cosθ的值,根据cosθ的值可以得到第二夹角θ的值。
在上述第六计算子模块4c中,在上述第二三角形△cbe中,根据余弦定理,声源c到第二位置b的距离值由以下第四方程式得出:
根据第一距离值可以知道中点e与第二位置b的距离eb,第四距离值ce和cosθ的值由步骤S5b计算得出,则eb、ce和cosθ均为已知值,通过软件MATLAB解第四方程式计算出声源c到第二位置b的第三距离值;而第一夹角∠cba的余弦值可以由以下第五方程式得出:
声源c与第二位置b的连线和第二位置b第一位置a之间形成的第一夹角∠cba的角度值,可以根据∠cba的余弦值,通过软件MATLAB即可得到∠cba的角度值。
参照图6,进一步地,在一些实施例中,还包括:
调制模块11,用于检测环境光线频率,将第一激光与第二激光的频率调制为异于环境光线频率的频率。
在上述调制模块11中,激光发射到声源附近的可振动物体表面上会经过一段距离,激光经可振动物体反射回来也是要经过一段距离,如果在这段距离上类似激光频率的光或者信号就会对激光造成干扰,那么激光携带回来的声音信号也会受到干扰,还原的声音会有缺少,所以在激光发射之前可以先用仪器测量附近环境的光线频率,如附近灯光的频率等,然后将第一激光与第二激光的频率调制为异于环境光线频率,如调制为异于附近灯光的频率之外的频率,减少被环境的干扰,有利于保证声音的还原质量,使得后面的计算相同声音时间戳更加准确,而且根据与可振动物体的距离,来调节激光的功率,因为光在传输的过程中会有衰落,距离远了之后光的强度会下降,经过反射之后光强度又会继续衰减,调节激光的功率是保证激光被反射后反射激光的强度,一般5mW功率的激光基本上可以满足使用需求。
参照图7,进一步地,在一些实施例中,调制模块11包括:
调制子模块11a,用于将第一激光与第二激光的频率调制为同一频率。
在上述调制子模块11a中,对激光进行调制需要用到调制装置,调制装置用算法对激光进行调制,那么再接收的时候需要对激光进行解调,这也需要用到解调装置根据调制装置的算法进行解调,调制装置和解调装置是对应的,一般调制装置在发射装置上,解调装置在接收装置上,将第一激光和第二激光的频率调制为相同,则解调装置相同,从而接收装置也是相同,在声源定位的过程中,要使用两套发射装置和接收装置,激光的频率调制成相同,这样在使用过程中,接收装置都和两个发射装置对应,在使用的过程中不用加以区分,使用更为方便。
参照图8,本发明一实施例还提出一种计算机设备1001,包括存储器1003和处理器1002,存储器1003存储有计算机程序1004,处理器1002执行计算机程序1004时实现上述任一项声源定位方法的步骤,包括:获取第一接收装置还原的经由可振动物体表面的第一位置反射回来的由声源发出的第一声音信息,第一位置为第一发射装置以第一角度发射第一激光到达可振动物体表面的位置,同时获取第二接收装置还原的经由可振动物体表面的第二位置反射回来的由声源发出的第二声音信息,第二位置为第二发射装置以第一角度发射第二激光达到可振动物体表面的位置,其中,第一接收装置接收端到第一位置的距离与第二接收装置接收端到第二位置的距离相同,可振动物体可响应于声源发出的声音而振动,第一激光与第二激光不相交;获取第一接收装置与第二接收装置之间的距离数据,并根据获取的第一声音信息、第二声音信息和距离数据,计算得出第一数据组,第一数据组至少包括第一位置与第二位置之间的第一距离值,和声源到第一位置与到第二位置的距离差值;获取第一接收装置还原的经由可振动物体表面的第三位置反射回来的由声源发出的第三声音信息,第三位置为第一接收装置相对于可振动物体平行移动后,以第一角度发射第一激光到达可振动物体表面的位置,并重新计算得出第二数据组,第二数据组至少包括第三位置与第二位置之间的第二距离值,和声源到第三位置与到第二位置的距离差值,其中,第三位置、第一位置与第二位置在同一直线上;根据第一组数据组和第二组数据组,通过预设算法计算得出声源到第二位置的第三距离值,并通过预设算法计算得出第一夹角的角度,第一夹角为声源与第二位置的连线和第二位置与第一位置的连线之间形成的夹角,根据第三距离值和第一夹角的角度确定声源的位置。
参照图9,本发明一实施例还提供一种计算机可读存储介质2001,其上存储有计算机程序1004,计算机程序1004被处理器1002执行时实现上述任一项声源定位方法的步骤,包括:获取第一接收装置还原的经由可振动物体表面的第一位置反射回来的由声源发出的第一声音信息,第一位置为第一发射装置以第一角度发射第一激光到达可振动物体表面的位置,同时获取第二接收装置还原的经由可振动物体表面的第二位置反射回来的由声源发出的第二声音信息,第二位置为第二发射装置以第一角度发射第二激光达到可振动物体表面的位置,其中,第一接收装置接收端到第一位置的距离与第二接收装置接收端到第二位置的距离相同,可振动物体可响应于声源发出的声音而振动,第一激光与第二激光不相交;获取第一接收装置与第二接收装置之间的距离数据,并根据获取的第一声音信息、第二声音信息和距离数据,计算得出第一数据组,第一数据组至少包括第一位置与第二位置之间的第一距离值,和声源到第一位置与到第二位置的距离差值;获取第一接收装置还原的经由可振动物体表面的第三位置反射回来的由声源发出的第三声音信息,第三位置为第一接收装置相对于可振动物体平行移动后,以第一角度发射第一激光到达可振动物体表面的位置,并重新计算得出第二数据组,第二数据组至少包括第三位置与第二位置之间的第二距离值,和声源到第三位置与到第二位置的距离差值,其中,第三位置、第一位置与第二位置在同一直线上;根据第一组数据组和第二组数据组,通过预设算法计算得出声源到第二位置的第三距离值,并通过预设算法计算得出第一夹角的角度,第一夹角为声源与第二位置的连线和第二位置与第一位置的连线之间形成的夹角,根据第三距离值和第一夹角的角度确定声源的位置。
上述本申请的声源定位方法,发射第一激光和第二激光到声源附近的可振动物体上,利用声源发出的声音会引起其附近可振动物体的振动,通过检测可振动物体表面反射回来的激光来监听声源,同时通过两套激光监听装置,计算确定声源的位置,实现远距离监听声源的同时能定位声源的位置,增加激光监听装置的作用,并且两套激光监听装置一起监听声源,监听效果更好。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。