CN110488221A - 多设备场景中的设备定位方法和系统 - Google Patents
多设备场景中的设备定位方法和系统 Download PDFInfo
- Publication number
- CN110488221A CN110488221A CN201910795704.5A CN201910795704A CN110488221A CN 110488221 A CN110488221 A CN 110488221A CN 201910795704 A CN201910795704 A CN 201910795704A CN 110488221 A CN110488221 A CN 110488221A
- Authority
- CN
- China
- Prior art keywords
- equipment
- sound
- loudness
- test
- measuring distance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000004807 localization Effects 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012360 testing method Methods 0.000 claims abstract description 167
- 238000004519 manufacturing process Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006854 communication Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002269 spontaneous effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S3/00—Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received
- G01S3/80—Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received using ultrasonic, sonic or infrasonic waves
- G01S3/802—Systems for determining direction or deviation from predetermined direction
- G01S3/803—Systems for determining direction or deviation from predetermined direction using amplitude comparison of signals derived from receiving transducers or transducer systems having differently-oriented directivity characteristics
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S3/00—Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received
- G01S3/80—Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received using ultrasonic, sonic or infrasonic waves
- G01S3/802—Systems for determining direction or deviation from predetermined direction
- G01S3/808—Systems for determining direction or deviation from predetermined direction using transducers spaced apart and measuring phase or time difference between signals therefrom, i.e. path-difference systems
- G01S3/8083—Systems for determining direction or deviation from predetermined direction using transducers spaced apart and measuring phase or time difference between signals therefrom, i.e. path-difference systems determining direction of source
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
Abstract
本发明公开了一种多设备场景中的设备定位方法和系统。其中,设备定位方法包括:从多个设备中选择一个作为发声设备;令发声设备在测试时间产生测试音强的测试声音;其他设备分别记录接收到测试声音的接收音强和接收时间;根据测试音强、测试时间、接收试音强与接收时间分别计算其他设备与发声设备之间的测试距离;判断是否计算出所有设备之间的测试距离;若是,则根据所有设备之间的测试距离标记所有设备的相对位置分布;若否,则从多个设备中重新选择发声设备,并继续执行后续步骤。对于包括多个设备的场景,本发明可以基于声音的传输时间与音强衰减来标记在该场景中多个设备的相对位置分布,无需依赖具体的麦克风阵列,可适用性强。
Description
技术领域
本发明涉及定位技术领域,尤其涉及一种多设备场景中的设备定位方法和系统。
背景技术
当前的声源设备定位方法大都依赖于麦克风阵列,再具体地基于最大输出功率的可控波束形成技术、基于高分辨率谱图估计技术或者基于声音时间差的声源定位技术来实现声源定位。但是,在对多设备场景中进行声源定位时,由于难以在各设备上安装麦克风以实现统一的阵列化排布,而难以实现对多设备场景中的声源定位。
发明内容
本发明要解决的技术问题是为了克服现有技术中难以对多设备场景中进行声源定位的缺陷,提供一种多设备场景中的设备定位方法和系统。
本发明是通过下述技术方案来解决上述技术问题:
一种多设备场景中的设备定位方法,其特点在于,所述设备定位方法包括:
从多个设备中选择一个设备作为发声设备;
令所述发声设备在测试时间产生测试音强的测试声音;
除所述发声设备之外的其他设备分别记录接收到所述测试声音的接收音强和接收时间;
根据测试音强、测试时间、接收试音强以及接收时间分别计算其他设备与所述发声设备之间的测试距离;
判断是否计算出所有设备之间的测试距离;
若是,则根据所有设备之间的测试距离标记所有设备的相对位置分布;
若否,则从多个设备中选择另一设备作为新的发声设备,并继续执行所述令所述发声设备在测试时间产生测试音强的测试声音的步骤。
较佳地,所述根据测试音强、测试时间、接收音强以及接收时间分别计算其他设备与所述发声设备之间的测试距离的步骤包括:
根据下式计算其他设备与所述发声设备之间的测试距离:
d(p,q)=a*ln(Iq/Ip)/α+b*(tq-tp)*v
其中,d(p,q)是其他设备q与发声设备p之间的测试距离,Ip是测试音强,Iq是接收音强,α是衰减系数,tp是测试时间,tq是接收时间,v是声速,a和b是常数,并且有a+b=1,a<b;
和/或,
所述根据所有设备之间的测试距离标记所有设备的相对位置分布的步骤包括:
将多个设备中的任意两个设备分别记为第一设备和第二设备,将除所述第一设备、所述第二设备之外的任意一个设备记为第三设备;
获取所述第一设备与所述第二设备之间的第一测试距离、所述第一设备与所述第三设备之间的第二测试距离、所述第二设备与所述第三设备之间的第三测试距离;
根据所述第一测试距离、所述第二测试距离以及所述第三测试距离计算所述第三设备与所述第一设备、所述第二设备之间的相对角度;
根据所述相对角度以及所述第一测试距离、所述第二测试距离、所述第三测试距离,标记所述第三设备与所述第一设备、所述第二设备的相对位置
较佳地,在所述除所述发声设备之外的其他设备分别记录接收到所述测试声音的接收音强和接收时间的步骤之后,所述设备定位方法还包括:
判断所述接收时间与所述测试时间之间的差值是否大于第一阈值;
若是,则返回所述令所述发声设备在测试时间产生测试音强的测试声音的步骤;
若否,则转至所述根据测试音强、测试时间、接收音强以及接收时间分别计算其他设备与所述发声设备之间的测试距离的步骤;
和/或,
所述令所述发声设备在测试时间产生测试音强的测试声音的步骤包括:
令所述发声设备在测试时间产生测试音强、测试频率的测试声音;
所述除所述发声设备之外的其他设备分别记录接收到所述测试声音的接收音强和接收时间的步骤包括:
除所述发声设备之外的其他设备分别记录接收到所述测试声音的接收音强、接收时间以及接收频率;
在所述除所述发声设备之外的其他设备分别记录接收到所述测试声音的接收音强和接收时间的步骤之后,所述设备定位方法还包括:
判断所述接收频率与所述测试频率之间的差值是否大于第二阈值;
若是,则返回所述令所述发声设备在测试时间产生测试音强、测试频率的测试声音的步骤;
若否,则转至所述根据测试音强、测试时间、接收音强以及接收时间分别计算其他设备与所述发声设备之间的测试距离的步骤。
较佳地,在所述根据所有设备之间的测试距离标记所有设备的相对位置分布的步骤之后,所述设备定位方法还包括:
基于所有设备的相对位置分布将所有设备分别标记在平面坐标系中,以得到所有设备的设备坐标;
所有设备分别记录接收到由用户发出的语音指令的指令音强和指令时间;
根据至少三个设备对应的指令时间计算所述用户的用户坐标;
根据所述用户坐标和各设备坐标计算所述用户与各设备之间的指令距离;
根据各设备对应的指令音强以及指令距离,计算各设备对应的所述语音指令的产生音强;
确定最小产生音强对应的设备为目标设备。
较佳地,所述根据至少三个设备对应的指令时间计算所述用户的用户坐标的步骤包括:
根据以下方程组求解所述用户的用户坐标:
其中,(xi,yi)是设备i的设备坐标,ti设备i对应的指令时间,(x0,y0)是所述用户坐标,t0所述语音指令的产生时间,v是声速,i是正整数;
和/或,
所述根据各设备对应的指令音强以及指令距离,计算各设备对应的所述语音指令的产生音强的步骤包括:
根据下式计算各设备对应的产生音强:
其中,Ii是设备i对应的指令音强,di是设备i对应的指令距离,α是衰减系数,I(0,i)是设备i对应的产生音强,i是正整数;
和/或,
在所述确定最小产生音强对应的设备为目标设备的步骤之后,所述设备定位方法还包括:
所述目标设备执行所述语音指令。
一种多设备场景中的设备定位系统,其特点在于,所述设备定位系统包括:
指定模块,用于从多个设备中选择一个设备作为发声设备;
测试模块,用于控制所述发声设备在测试时间产生测试音强的测试声音;
记录模块,用于控制除所述发声设备之外的其他设备分别记录接收到所述测试声音的接收音强和接收时间;
第一计算模块,用于根据测试音强、测试时间、接收试音强以及接收时间分别计算其他设备与所述发声设备之间的测试距离;
第一判断模块,用于判断是否计算出所有设备之间的测试距离;
若是,则调用标记模块,所述标记模块用于根据所有设备之间的测试距离标记所有设备的相对位置分布;
若否,则调用所述指定模块从多个设备中选择另一设备作为新的发声设备,并调用所述测试模块。
较佳地,所述第一计算模块具体用于根据下式计算其他设备与所述发声设备之间的测试距离:
d(p,q)=a*ln(Iq/Ip)/α+b*(tq-tp)*v
其中,d(p,q)是其他设备q与发声设备p之间的测试距离,Ip是测试音强,Iq是接收音强,α是衰减系数,tp是测试时间,tq是接收时间,v是声速,a和b是常数,并且有a+b=1,a<b;
和/或,
所述标记模块包括:
第一选择单元,用于将多个设备中的任意两个设备分别记为第一设备和第二设备,将除所述第一设备、所述第二设备之外的任意一个设备记为第三设备;
第一获取单元,用于获取所述第一设备与所述第二设备之间的第一测试距离、所述第一设备与所述第三设备之间的第二测试距离、所述第二设备与所述第三设备之间的第三测试距离;
第一计算单元,用于根据所述第一测试距离、所述第二测试距离以及所述第三测试距离计算所述第三设备与所述第一设备、所述第二设备之间的相对角度;
标记单元,用于根据所述相对角度以及所述第一测试距离、所述第二测试距离、所述第三测试距离,标记所述第三设备与所述第一设备、所述第二设备的相对位置。
较佳地,所述设备定位系统还包括:
第二判断模块,用于判断所述接收时间与所述测试时间之间的差值是否大于第一阈值;
若是,则再次调用所述测试模块;
若否,则调用所述第一计算模块;
和/或,
所述测试模块具体用于控制所述发声设备在测试时间产生测试音强、测试频率的测试声音;
所述记录模块具体用于控制除所述发声设备之外的其他设备分别记录接收到所述测试声音的接收音强、接收时间以及接收频率;
所述设备定位系统还包括:
第三判断模块,用于判断所述接收频率与所述测试频率之间的差值是否大于第二阈值;
若是,则再次调用所述测试模块;
若否,则调用所述第一计算模块。
较佳地,所述设备定位系统还包括:
坐标标记模块,用于基于所有设备的相对位置分布将所有设备分别标记在平面坐标系中,以得到所有设备的设备坐标;
所述记录模块还用于控制所有设备分别记录接收到由用户发出的语音指令的指令音强和指令时间;
第二计算模块,用于根据至少三个设备对应的指令时间计算所述用户的用户坐标;
第三计算模块,用于根据所述用户坐标和各设备坐标计算所述用户与各设备之间的指令距离;
第四计算模块,用于根据各设备对应的指令音强以及指令距离,计算各设备对应的所述语音指令的产生音强;
确定模块,用于确定最小产生音强对应的设备为目标设备。
较佳地,所述第二计算模块具体用于根据以下方程组求解所述用户的用户坐标:
其中,(xi,yi)是设备i的设备坐标,ti设备i对应的指令时间,(x0,y0)是所述用户坐标,t0所述语音指令的产生时间,v是声速,i是正整数;
和/或,
所述第四计算模块具体用于根据下式计算各设备对应的产生音强:
其中,Ii是设备i对应的指令音强,di是设备i对应的指令距离,α是衰减系数,I(0,i)是设备i对应的产生音强,i是正整数;
和/或,
所述设备定位系统还包括:
执行模块,用于控制所述目标设备执行所述语音指令。
本发明的积极进步效果在于:在多设备场景中,本发明基于声音的传输时间与音强衰减来标记在该场景中多设备的相对分布,无需依赖具体的麦克风阵列,也就无需在多设备上实现统一的阵列化排布,可适用性强。
附图说明
图1为根据本发明实施例1的多设备场景中的设备定位方法的流程图。
图2为根据本发明实施例1的多设备场景中的设备定位方法中标记相对位置分布的示意图。
图3为根据本发明实施例2的多设备场景中的设备定位方法的部分流程图。
图4为根据本发明实施例3的多设备场景中的设备定位系统的模块示意图。
图5为根据本发明实施例4的多设备场景中的设备定位系统的模块示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供一种多设备场景中的设备定位方法,图1示出了本实施例的流程图。参照图1,本实施例的设备定位方法包括:
S101、从多个设备中选择一个设备作为发声设备。
在本实施例中,将多个设备分别编号为1、2、……、N,其中N是大于1的正整数,将发声设备记为设备p,将其他设备记为设备q,其中,p,q∈[1,2,……,N],并且p≠q。进一步地,在步骤S102之前,还可以事先同步多个设备的时间,以提高本实施例的可靠性。
S102、令发声设备在测试时间产生测试音强的测试声音。
在本实施例中,还可以检测当前场景中的场景音强,并当场景音强低于预设阈值时,再执行步骤S102,控制发声设备p在测试时间tp产生测试音强为Ip、测试频率为fp、持续时间较短(例如,短于3秒)的测试声音。
S103、除发声设备之外的其他设备分别记录接收到测试声音的接收音强和接收时间。
在该步骤中,其他设备q接收到发声设备p发出测试声音后,记录接收到的测试声音的接收音强Iq、接收时间tq以及接收频率fq。
S104、根据测试音强、测试时间、接收试音强以及接收时间分别计算其他设备与发声设备之间的测试距离。
进一步地,为了检测其他设备q接收到的测试声音的可靠性,本实施例还可以包括以下检测步骤:
判断接收时间tq与测试时间tp之间的差值是否大于第一阈值;
若是,则返回步骤S102;若否,则继续执行步骤S104。
其中,第一阈值可以根据具体应用自定义设置,当判断为是时,声音的传播时间不合理,难以确定其他设备q接收到的声音是来自发声设备p的测试声音;当判断为否时,声音的传播时间合理,可以推断其他设备q接收到的声音是来自发声设备p的测试声音。
本实施例还可以包括以下检测步骤:
判断接收频率fq与测试频率fp之间的差值是否大于第二阈值;
若是,则返回步骤S102;若否,则继续执行步骤S104。
其中,第二阈值可以根据具体应用自定义设置,当判断为是时,发出的声音与接收的声音的频率不相近,难以确定其他设备q接收到的声音是来自发声设备p的测试声音;当判断为否时,发出的声音与接收的声音的频率相近,可以推断其他设备q接收到的声音是来自发声设备p的测试声音。
由于声音的传播需要一定时间,并且在传播过程中会产生一定衰减,当确定其他设备q接收到的测试声音可靠之后,可以根据声音的传播时间以及衰减来计算测试距离,具体地,可以根据下式计算其他设备q与发声设备p之间的测试距离:
d(p,q)=a*ln(Iq/Ip)/α+b*(tq-tp)*v
其中,d(p,q)是其他设备q与发声设备p之间的测试距离,α是衰减系数,v是声速,a和b是常数,并且有a+b=1,a<b,例如,a=0.1,b=0.9。
S105、判断是否计算出所有设备之间的测试距离;
若是,则转至步骤S106;若否,则转至步骤S107;
S106、根据所有设备之间的测试距离标记所有设备的相对位置分布;
S107、从多个设备中选择另一设备作为新的发声设备,并继续执行步骤S102。
在本实施例中,当计算出所有设备之间的测试距离之后,可以根据所有设备之间的测试距离标记所有设备的相对位置分布。
例如,对于多个设备中的任意三个设备,设备A、设备B和设备C,获取设备A和设备B之间的测试距离d(A,B),设备A和设备C之间的测试距离d(A,C),设备B和设备C之间的测试距离d(B,C),可以设备A为基准点,在与设备A距离d(A,B)处标记设备B,分别以设备A为圆心,以d(A,C)为半径绘制第一个圆,以设备B为圆心,以d(B,C)为半径绘制第二个圆,两圆的交点即为设备B。应当理解,当场景中设备的数量越多时,本实施例得到的所有设备的相对位置分布更加准确。
对于上述设备A、设备B以及设备C,还可以利用余弦定理根据d(A,B)、d(A,C)、d(B,C)来计算设备C与设备A、设备B之间的相对角度,具体地,参见图2,可以根据下式计算∠CAB:
继而可以在二维平面上以设备A为基准点,在与设备A距离d(A,B)处标记设备B,再根据∠CAB以及d(A,C)或d(B,C)标记设备C。
在本实施例中,对于包括多个设备的场景,可以基于声音的传输时间与音强衰减来标记在该场景中多个设备的相对分布,实现了基于声源的多个设备的相对定位,无需依赖具体的麦克风阵列,也就无需在多设备上实现统一的阵列化排布,可适用性强。
实施例2
在实施例1的基础上,本实施例提供一种多设备场景中的设备定位方法,图3示出了本实施例的部分流程图。参照图3,较之实施例1,本实施例在步骤S106之后还包括:
S201、基于所有设备的相对位置分布将所有设备分别标记在平面坐标系中。
在该步骤中,基于确定的二维相对位置分布将所有设备分别标记在同一平面坐标系中,以得到设备i的设备坐标(xi,yi),其中,i∈[1,2,……,N]。
S202、所有设备分别记录接收到由用户发出的语音指令的指令音强和指令时间。
当用户在该场景中发出语音指令时,设备i可以记录其接收到的语音指令的指令音强Ii和指令时间ti。
S203、根据至少三个设备对应的指令时间计算用户的用户坐标。
在平面坐标系中,将用户坐标设为(x0,y0),将语音指令的发出时间设为t0,则设备i与用户的距离di可以表示为:
di=(ti-t0)×v
由于声音的传播比较稳定,可以根据声音的传播延时将设备i与用户的距离di可以表示为:
基于上述两个等式对至少三个设备建立方程组:
如此,求解方程组,即可得到用户坐标(x0,y0)。
S204、根据用户坐标和各设备坐标计算用户与各设备之间的指令距离。
至此,已知设备坐标(xi,yi)以及用户坐标(x0,y0),即可计算得到设备i与用户之间的指令距离di。
S205、根据各设备对应的指令音强以及指令距离,计算各设备对应的语音指令的产生音强。
具体地,在本实施例中,可以根据下式计算设备i对应的产生音强I(0,i):
其中,Ii、e、α、di均已知,可以计算得到理论上用户发出的语音指令的音强I(0,i)。
S206、确定最小产生音强对应的设备为目标设备。
由于用户正前方的设备,也即通常情况下用户意图控制的目标设备,其所在方向的音强衰减较小,因此,只需较小的发射音强即可以引起较大的接收音强,基于此,可以确定I(0,i)min对应的设备为目标设备。
S207、目标设备执行语音指令。
在目标设备确定后,可以控制目标设备执行语音指令,具体地,可以根据语音指令进行唤醒,点亮其显示屏等。
在本实施例中,若步骤S202记录到的指令音强Ii和指令时间ti仅有一组,则直接将该组数据对应的设备确定为目标设备。
本实施例在实施例1的基础上,还可以对用户进行声源定位,进而确定用户语音指令的接收对象,提高设备的语音控制效率,提升用户与多个设备的交互体验。
实施例3
本实施例提供一种多设备场景中的设备定位系统,图4示出了本实施例的模块示意图。参照图4,本实施例的设备定位系统包括:
指定模块301,用于从多个设备中选择一个设备作为发声设备。
在本实施例中,将多个设备分别编号为1、2、……、N,其中N是大于1的正整数,将发声设备记为设备p,将其他设备记为设备q,其中,p,q∈[1,2,……,N],并且p≠q。进一步地,在本实施例中,还可以事先同步多个设备的时间,以提高本实施例的可靠性。
测试模块302,用于控制发声设备在测试时间产生测试音强的测试声音。
在本实施例中,还可以检测当前场景中的场景音强,并当场景音强低于预设阈值时,再调用测试模块302,控制发声设备p在测试时间tp产生测试音强为Ip、测试频率为fp、持续时间较短(例如,短于3秒)的测试声音。
记录模块303,用于控制除发声设备之外的其他设备分别记录接收到测试声音的接收音强和接收时间。
在本实施例中,其他设备q接收到发声设备p发出测试声音后,记录接收到的测试声音的接收音强Iq、接收时间tq以及接收频率fq。
第一计算模块304,用于根据测试音强、测试时间、接收试音强以及接收时间分别计算其他设备与发声设备之间的测试距离。
进一步地,为了检测其他设备q接收到的测试声音的可靠性,本实施例还可以包括第二判断模块或者第三判断模块,具体地:
第二判断模块,用于判断接收时间tq与测试时间tp之间的差值是否大于第一阈值;若是,则再次调用测试模块302;若否,则调用第一计算模块304。
其中,第一阈值可以根据具体应用自定义设置,当判断为是时,声音的传播时间不合理,难以确定其他设备q接收到的声音是来自发声设备p的测试声音;当判断为否时,声音的传播时间合理,可以推断其他设备q接收到的声音是来自发声设备p的测试声音。
第三判断模块,用于判断接收频率fq与测试频率fp之间的差值是否大于第二阈值;若是,则再次调用测试模块;若否,则调用第一计算模块。
其中,第二阈值可以根据具体应用自定义设置,当判断为是时,发出的声音与接收的声音的频率不相近,难以确定其他设备q接收到的声音是来自发声设备p的测试声音;当判断为否时,发出的声音与接收的声音的频率相近,可以推断其他设备q接收到的声音是来自发声设备p的测试声音。
由于声音的传播需要一定时间,并且在传播过程中会产生一定衰减,当确定其他设备q接收到的测试声音可靠之后,可以根据声音的传播时间以及衰减来计算测试距离,具体地,第一计算模块304可以根据下式计算其他设备q与发声设备p之间的测试距离:
d(p,q)=a*ln(Iq/Ip)/α+b*(tq-tp)*v
其中,d(p,q)是其他设备q与发声设备p之间的测试距离,α是衰减系数,v是声速,a和b是常数,并且有a+b=1,a<b,例如,a=0.1,b=0.9。
第一判断模块305,用于判断是否计算出所有设备之间的测试距离;
若是,则调用标记模块306根据所有设备之间的测试距离标记所有设备的相对位置分布;
若否,则调用指定模块301从多个设备中选择另一设备作为新的发声设备,并调用测试模块302。
在本实施例中,当计算出所有设备之间的测试距离之后,可以根据所有设备之间的测试距离标记所有设备的相对位置分布。
在本实施例中,标记模块可以包括:第一选择单元、第一获取单元以及标记单元,其中,第一选择单元可以用于将多个设备中的任意三个设备,设备A、设备B和设备C,第一获取单元可以用于获取设备A和设备B之间的测试距离d(A,B),设备A和设备C之间的测试距离d(A,C)以及设备B和设备C之间的测试距离d(B,C),标记单元可以设备A为基准点,在与设备A距离d(A,B)处标记设备B,分别以设备A为圆心,以d(A,C)为半径绘制第一个圆,以设备B为圆心,以d(B,C)为半径绘制第二个圆,将两圆的交点标记为设备B。应当理解,当场景中设备的数量越多时,本实施例得到的所有设备的相对位置分布更加准确。
在本实施例中,标记模块可以包括第一选择单元、第一获取单元、第一计算单元以及标记蒂娜元,其中,第一选择单元可以用于将多个设备中的任意三个设备,设备A、设备B和设备C,第一获取单元可以用于获取设备A和设备B之间的测试距离d(A,B),设备A和设备C之间的测试距离d(A,C)以及设备B和设备C之间的测试距离d(B,C),第一计算单元可以利用余弦定理根据d(A,B)、d(A,C)、d(B,C)来计算设备C与设备A、设备B之间的相对角度,具体地,亦如图2所示,可以根据下式计算∠CAB:
继而标记单元可以在二维平面上以设备A为基准点,在与设备A距离d(A,B)处标记设备B,再根据∠CAB以及d(A,C)或d(B,C)标记设备C。
在本实施例中,对于包括多个设备的场景,可以基于声音的传输时间与音强衰减来标记在该场景中多个设备的相对分布,实现了基于声源的多个设备的相对定位,无需依赖具体的麦克风阵列,也就无需在多设备上实现统一的阵列化排布,可适用性强。
实施例4
在实施例3的基础上,本实施例提供一种多设备场景中的设备定位系统,图5示出了本实施例的模块示意图。参照图5,较之实施例3,本实施例在还包括:
坐标标记模块401,用于基于所有设备的相对位置分布将所有设备分别标记在平面坐标系中,以得到所有设备的设备坐标。
在本实施例中,基于确定的二维相对位置分布将所有设备分别标记在同一平面坐标系中,以得到设备i的设备坐标(xi,yi),其中,i∈[1,2,……,N]。
在本实施例中,记录模块303还用于控制所有设备分别记录接收到由用户发出的语音指令的指令音强和指令时间。具体地,当用户在该场景中发出语音指令时,设备i可以记录其接收到的语音指令的指令音强Ii和指令时间ti。
第二计算模块402,用于根据至少三个设备对应的指令时间计算用户的用户坐标。
在平面坐标系中,将用户坐标设为(x0,y0),将语音指令的发出时间设为t0,则设备i与用户的距离di可以表示为:
di=(ti-t0)×v
由于声音的传播比较稳定,可以根据声音的传播延时将设备i与用户的距离di可以表示为:
基于上述两个等式对至少三个设备建立方程组:
如此,求解方程组,即可得到用户坐标(x0,y0)。
第三计算模块403,用于根据用户坐标和各设备坐标计算用户与各设备之间的指令距离。
至此,已知设备坐标(xi,yi)以及用户坐标(x0,y0),即可计算得到设备i与用户之间的指令距离di。
第四计算模块404,用于根据各设备对应的指令音强以及指令距离,计算各设备对应的语音指令的产生音强。
具体地,在本实施例中,可以根据下式计算设备i对应的产生音强I(0,i):
其中,Ii、e、α、di均已知,可以计算得到理论上用户发出的语音指令的音强I(0,i)。
确定模块405,用于确定最产生音强对应的设备为目标设备。
由于用户正前方的设备,也即通常情况下用户意图控制的目标设备,其所在方向的音强衰减较小,因此,只需较小的发射音强即可以引起较大的接收音强,基于此,可以确定I(0,i)min对应的设备为目标设备。
执行模块406,用于控制目标设备执行语音指令。
在目标设备确定后,可以控制目标设备执行语音指令,具体地,可以根据语音指令进行唤醒,点亮其显示屏等。
在本实施例中,若记录模块303记录到的指令音强Ii和指令时间ti仅有一组,则直接将该组数据对应的设备确定为目标设备。
本实施例在实施例3的基础上,还可以对用户进行声源定位,进而确定用户语音指令的接收对象,提高设备的语音控制效率,提升用户与多个设备的交互体验。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (10)
1.一种多设备场景中的设备定位方法,其特征在于,所述设备定位方法包括:
从多个设备中选择一个设备作为发声设备;
令所述发声设备在测试时间产生测试音强的测试声音;
除所述发声设备之外的其他设备分别记录接收到所述测试声音的接收音强和接收时间;
根据测试音强、测试时间、接收试音强以及接收时间分别计算其他设备与所述发声设备之间的测试距离;
判断是否计算出所有设备之间的测试距离;
若是,则根据所有设备之间的测试距离标记所有设备的相对位置分布;
若否,则从多个设备中选择另一设备作为新的发声设备,并继续执行所述令所述发声设备在测试时间产生测试音强的测试声音的步骤。
2.如权利要求1所述的多设备场景中的设备定位方法,其特征在于,所述根据测试音强、测试时间、接收音强以及接收时间分别计算其他设备与所述发声设备之间的测试距离的步骤包括:
根据下式计算其他设备与所述发声设备之间的测试距离:
d(p,q)=a*ln(Iq/Ip)/α+b*(tq-tp)*v
其中,d(p,q)是其他设备q与发声设备p之间的测试距离,Ip是测试音强,Iq是接收音强,α是衰减系数,tp是测试时间,tq是接收时间,v是声速,a和b是常数,并且有a+b=1,a<b;
和/或,
所述根据所有设备之间的测试距离标记所有设备的相对位置分布的步骤包括:
将多个设备中的任意两个设备分别记为第一设备和第二设备,将除所述第一设备、所述第二设备之外的任意一个设备记为第三设备;
获取所述第一设备与所述第二设备之间的第一测试距离、所述第一设备与所述第三设备之间的第二测试距离、所述第二设备与所述第三设备之间的第三测试距离;
根据所述第一测试距离、所述第二测试距离以及所述第三测试距离计算所述第三设备与所述第一设备、所述第二设备之间的相对角度;
根据所述相对角度以及所述第一测试距离、所述第二测试距离、所述第三测试距离,标记所述第三设备与所述第一设备、所述第二设备的相对位置。
3.如权利要求1所述的多设备场景中的设备定位方法,其特征在于,在所述除所述发声设备之外的其他设备分别记录接收到所述测试声音的接收音强和接收时间的步骤之后,所述设备定位方法还包括:
判断所述接收时间与所述测试时间之间的差值是否大于第一阈值;
若是,则返回所述令所述发声设备在测试时间产生测试音强的测试声音的步骤;
若否,则转至所述根据测试音强、测试时间、接收音强以及接收时间分别计算其他设备与所述发声设备之间的测试距离的步骤;
和/或,
所述令所述发声设备在测试时间产生测试音强的测试声音的步骤包括:
令所述发声设备在测试时间产生测试音强、测试频率的测试声音;
所述除所述发声设备之外的其他设备分别记录接收到所述测试声音的接收音强和接收时间的步骤包括:
除所述发声设备之外的其他设备分别记录接收到所述测试声音的接收音强、接收时间以及接收频率;
在所述除所述发声设备之外的其他设备分别记录接收到所述测试声音的接收音强和接收时间的步骤之后,所述设备定位方法还包括:
判断所述接收频率与所述测试频率之间的差值是否大于第二阈值;
若是,则返回所述令所述发声设备在测试时间产生测试音强、测试频率的测试声音的步骤;
若否,则转至所述根据测试音强、测试时间、接收音强以及接收时间分别计算其他设备与所述发声设备之间的测试距离的步骤。
4.如权利要求1所述的多设备场景中的设备定位方法,其特征在于,在所述根据所有设备之间的测试距离标记所有设备的相对位置分布的步骤之后,所述设备定位方法包括:
基于所有设备的相对位置分布将所有设备分别标记在平面坐标系中,以得到所有设备的设备坐标;
所有设备分别记录接收到由用户发出的语音指令的指令音强和指令时间;
根据至少三个设备对应的指令时间计算所述用户的用户坐标;
根据所述用户坐标和各设备坐标计算所述用户与各设备之间的指令距离;
根据各设备对应的指令音强以及指令距离,计算各设备对应的所述语音指令的产生音强;
确定最小产生音强对应的设备为目标设备。
5.如权利要求4所述的多设备场景中的设备定位方法,其特征在于,所述根据至少三个设备对应的指令时间计算所述用户的用户坐标的步骤包括:
根据以下方程组求解所述用户的用户坐标:
其中,(xi,yi)是设备i的设备坐标,ti设备i对应的指令时间,(x0,y0)是所述用户坐标,t0所述语音指令的产生时间,v是声速,i是正整数;
和/或,
所述根据各设备对应的指令音强以及指令距离,计算各设备对应的所述语音指令的产生音强的步骤包括:
根据下式计算各设备对应的产生音强:
其中,Ii是设备i对应的指令音强,di是设备i对应的指令距离,α是衰减系数,I(0,i)是设备i对应的产生音强,i是正整数;
和/或,
在所述确定最小产生音强对应的设备为目标设备的步骤之后,所述设备定位方法还包括:
所述目标设备执行所述语音指令。
6.一种多设备场景中的设备定位系统,其特征在于,所述设备定位系统包括:
指定模块,用于从多个设备中选择一个设备作为发声设备;
测试模块,用于控制所述发声设备在测试时间产生测试音强的测试声音;
记录模块,用于控制除所述发声设备之外的其他设备分别记录接收到所述测试声音的接收音强和接收时间;
第一计算模块,用于根据测试音强、测试时间、接收试音强以及接收时间分别计算其他设备与所述发声设备之间的测试距离;
第一判断模块,用于判断是否计算出所有设备之间的测试距离;
若是,则调用标记模块,所述标记模块用于根据所有设备之间的测试距离标记所有设备的相对位置分布;
若否,则调用所述指定模块从多个设备中选择另一设备作为新的发声设备,并调用所述测试模块。
7.如权利要求6所述的多设备场景中的设备定位系统,其特征在于,所述第一计算模块具体用于根据下式计算其他设备与所述发声设备之间的测试距离:
d(p,q)=a*ln(Iq/Ip)/α+b*(tq-tp)*v
其中,d(p,q)是其他设备q与发声设备p之间的测试距离,Ip是测试音强,Iq是接收音强,α是衰减系数,tp是测试时间,tq是接收时间,v是声速,a和b是常数,并且有a+b=1,a<b;
和/或,
所述标记模块包括:
第一选择单元,用于将多个设备中的任意两个设备分别记为第一设备和第二设备,将除所述第一设备、所述第二设备之外的任意一个设备记为第三设备;
第一获取单元,用于获取所述第一设备与所述第二设备之间的第一测试距离、所述第一设备与所述第三设备之间的第二测试距离、所述第二设备与所述第三设备之间的第三测试距离;
第一计算单元,用于根据所述第一测试距离、所述第二测试距离以及所述第三测试距离计算所述第三设备与所述第一设备、所述第二设备之间的相对角度;
标记单元,用于根据所述相对角度以及所述第一测试距离、所述第二测试距离、所述第三测试距离,标记所述第三设备与所述第一设备、所述第二设备的相对位置。
8.如权利要求6所述的多设备场景中的设备定位系统,其特征在于,所述设备定位系统还包括:
第二判断模块,用于判断所述接收时间与所述测试时间之间的差值是否大于第一阈值;
若是,则再次调用所述测试模块;
若否,则调用所述第一计算模块;
和/或,
所述测试模块具体用于控制所述发声设备在测试时间产生测试音强、测试频率的测试声音;
所述记录模块具体用于控制除所述发声设备之外的其他设备分别记录接收到所述测试声音的接收音强、接收时间以及接收频率;
所述设备定位系统还包括:
第三判断模块,用于判断所述接收频率与所述测试频率之间的差值是否大于第二阈值;
若是,则再次调用所述测试模块;
若否,则调用所述第一计算模块。
9.如权利要求6所述的多设备场景中的设备定位系统,其特征在于,所述设备定位系统还包括:
坐标标记模块,用于基于所有设备的相对位置分布将所有设备分别标记在平面坐标系中,以得到所有设备的设备坐标;
所述记录模块还用于控制所有设备分别记录接收到由用户发出的语音指令的指令音强和指令时间;
第二计算模块,用于根据至少三个设备对应的指令时间计算所述用户的用户坐标;
第三计算模块,用于根据所述用户坐标和各设备坐标计算所述用户与各设备之间的指令距离;
第四计算模块,用于根据各设备对应的指令音强以及指令距离,计算各设备对应的所述语音指令的产生音强;
确定模块,用于确定最小产生音强对应的设备为目标设备。
10.如权利要求9所述的多设备场景中的设备定位系统,其特征在于,所述第二计算模块具体用于根据以下方程组求解所述用户的用户坐标:
其中,(xi,yi)是设备i的设备坐标,ti设备i对应的指令时间,(x0,y0)是所述用户坐标,t0所述语音指令的产生时间,v是声速,i是正整数;
和/或,
所述第四计算模块具体用于根据下式计算各设备对应的产生音强:
其中,Ii是设备i对应的指令音强,di是设备i对应的指令距离,α是衰减系数,I(0,i)是设备i对应的产生音强,i是正整数;
和/或,
所述设备定位系统还包括:
执行模块,用于控制所述目标设备执行所述语音指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910795704.5A CN110488221B (zh) | 2019-08-27 | 2019-08-27 | 多设备场景中的设备定位方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910795704.5A CN110488221B (zh) | 2019-08-27 | 2019-08-27 | 多设备场景中的设备定位方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110488221A true CN110488221A (zh) | 2019-11-22 |
CN110488221B CN110488221B (zh) | 2022-11-22 |
Family
ID=68554520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910795704.5A Active CN110488221B (zh) | 2019-08-27 | 2019-08-27 | 多设备场景中的设备定位方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110488221B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110910880A (zh) * | 2019-11-29 | 2020-03-24 | 广东美的厨房电器制造有限公司 | 语音控制方法、系统、设备及存储介质 |
CN111812588A (zh) * | 2020-07-20 | 2020-10-23 | 百度在线网络技术(北京)有限公司 | 多设备语音唤醒实现方法及设备、电子设备和介质 |
CN115529529A (zh) * | 2022-09-15 | 2022-12-27 | 汉桑(南京)科技股份有限公司 | 音响设备位置确定方法和系统、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104422922A (zh) * | 2013-08-19 | 2015-03-18 | 中兴通讯股份有限公司 | 一种移动终端实现声源定位的方法及装置 |
CN107643509A (zh) * | 2016-07-22 | 2018-01-30 | 腾讯科技(深圳)有限公司 | 定位方法、定位系统及终端设备 |
US20180306890A1 (en) * | 2015-10-30 | 2018-10-25 | Hornet Industries, Llc | System and method to locate and identify sound sources in a noisy environment |
-
2019
- 2019-08-27 CN CN201910795704.5A patent/CN110488221B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104422922A (zh) * | 2013-08-19 | 2015-03-18 | 中兴通讯股份有限公司 | 一种移动终端实现声源定位的方法及装置 |
US20180306890A1 (en) * | 2015-10-30 | 2018-10-25 | Hornet Industries, Llc | System and method to locate and identify sound sources in a noisy environment |
CN107643509A (zh) * | 2016-07-22 | 2018-01-30 | 腾讯科技(深圳)有限公司 | 定位方法、定位系统及终端设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110910880A (zh) * | 2019-11-29 | 2020-03-24 | 广东美的厨房电器制造有限公司 | 语音控制方法、系统、设备及存储介质 |
CN110910880B (zh) * | 2019-11-29 | 2022-05-10 | 广东美的厨房电器制造有限公司 | 语音控制方法、系统、设备及存储介质 |
CN111812588A (zh) * | 2020-07-20 | 2020-10-23 | 百度在线网络技术(北京)有限公司 | 多设备语音唤醒实现方法及设备、电子设备和介质 |
CN111812588B (zh) * | 2020-07-20 | 2023-08-18 | 百度在线网络技术(北京)有限公司 | 多设备语音唤醒实现方法及设备、电子设备和介质 |
CN115529529A (zh) * | 2022-09-15 | 2022-12-27 | 汉桑(南京)科技股份有限公司 | 音响设备位置确定方法和系统、装置及存储介质 |
CN115529529B (zh) * | 2022-09-15 | 2024-04-02 | 汉桑(南京)科技股份有限公司 | 音响设备位置确定方法和系统、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110488221B (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110488221A (zh) | 多设备场景中的设备定位方法和系统 | |
CN107102296B (zh) | 一种基于分布式麦克风阵列的声源定位系统 | |
US9907008B2 (en) | Cloud-coordinated location system using ultrasonic pulses and radio signals | |
CN106896356B (zh) | 确定距离变化的方法、位置提示方法及其装置和系统 | |
Moutinho et al. | Indoor localization with audible sound—Towards practical implementation | |
CN103634476B (zh) | 一种基于手机的录音装置的定位方法 | |
Tiemann et al. | Localization of marine mammals near Hawaii using an acoustic propagation model | |
CN107576986B (zh) | 一种确定海底地震反射波旅行时的方法和装置 | |
CN104501938B (zh) | 一种在置于空气中的矩形混响水槽内测量水下声源低频辐射声功率的方法 | |
CN102893175A (zh) | 使用声音信号的距离估计 | |
CN102901949B (zh) | 一种二维空间分布式声音相对定位方法及装置 | |
CN104730533A (zh) | 一种移动终端及基于移动终端的测距方法、系统 | |
US10197673B2 (en) | Mobile terminal, wearable terminal, sonic distance measurement system, and sonic distance measurement method | |
CN103278801A (zh) | 一种变电站噪声成像侦测装置及侦测计算方法 | |
Annibale et al. | TDOA-based speed of sound estimation for air temperature and room geometry inference | |
JP2013148576A (ja) | 変調された背景音を利用して位置特定を行う携帯装置、コンピュータプログラム、および方法 | |
KR101081752B1 (ko) | 인공귀 및 이를 이용한 음원 방향 검지 방법 | |
CN104771174A (zh) | 一种站姿身高测量装置及测量方法 | |
CN106339081A (zh) | 一种基于商用设备的免携带设备手掌定位人机交互方法 | |
CN107505653A (zh) | 一种确定叠前偏移时间结果的方法和装置 | |
KR20110060183A (ko) | 로봇 플랫폼에 의해 발생한 반사파 제거 신호처리 장치 및 방법 | |
EP3182734B1 (en) | Method for using a mobile device equipped with at least two microphones for determining the direction of loudspeakers in a setup of a surround sound system | |
KR101369043B1 (ko) | 음원 위치 추적 방법 및 장치 | |
KR20060124443A (ko) | 머리전달함수 데이터베이스를 이용한 음원 위치 추정 방법 | |
CN104569956B (zh) | 一种测距方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |