基于声音的定位的制作方法

文档序号:5959004阅读:190来源:国知局
专利名称:基于声音的定位的制作方法
技术领域
本发明涉及通信领域,尤其涉及定位技术。
背景技术
在室内环境(setting)内准确地确定用户或移动设备的定位提出了各种挑战。例如,全球定位系统(GPS)技术在封闭式建筑内不能良好运作,在那里移动设备与GPS卫星的通信可能受到包围结构的阻碍。此外,可用消费者设备在其通信能力、感测能力(例如移动设备话筒)、其内部时钟的准确性、可用功率等方面是有限的。因此,在不对可用移动设备的硬件进行重要修改的情况下,在封闭式建筑内(或其中GPS定位由于某种原因而不可用)获取与移动用户有关的高度准确的实时位置信息则是困难的。

发明内容
本文中描述并要求保护的实现通过以下操作来解决上述问题:使用接收设备从多个声音信号源捕捉声音信号(例如超声波),选择满足可靠性条件的声音信号用于确定接收设备相对于对应声音信号源的初始定位,使用对所选声音信号的多点定位来确定接收设备的初始定位,以及当个别声音信号的可靠性在接收设备和声音信号源之间存在动态改变的环境干扰、多径和移动的情况下变化时,更新接收设备的当前定位。提供本发明内容以便以简化形式介绍将在以下具体实施方式
中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此处还描述和列举了其他实现。


图1不出米用基于声音的定位的一不例场景。图2不出米用基于声音的定位的另一不例场景。图3示出基于声音的定位的示例数据流程图。图4示出基于声音的定位的示例操作。图5示出使用差异到达时间和无差异到达时间的基于声音的定位的示例操作。图6示出了可用于实现所描述的技术的另一示例性系统。
具体实施例方式诸如智能电话之类的某些现代移动设备包括能够检测超声波信号的话筒,这提供使用消费者级移动设备来执行基于超声波的定位的机会。这些设备可检测的超声波带宽当前较窄(例如,20KHz和22KHz之间)。然而,超声波信号可在这一有限带宽内起作用,同时提供足够信息来允许确定接收设备相对于超声波信号源的定位。例如,一个实现包括遍布给定区域的声音信号源(例如扬声器)。声音信号源所发出的声音信号由一个或多个接收设备(例如,具有能够准确捕捉超声波声音信号的话筒的移动设备)来接收,一个或多个接收设备使用接收到的声音信号来计算给定区域内的位置。接收设备可使用多点定位从接收到的声音信号确定其初始定位,多点定位是一种基于准确计算从具有已知位置的多个声音信号源所发出的信号的差异到达时间(TDOA)来确定接收设备的定位的过程。以此方式,多点定位可用于确定接收设备相对于多个声音信号源的定位。之后,给定接收设备的初始定位,有可能导出每一声音信号的时间基准,并由此使用无差异到达时间(TOA)测量来继续更新接收设备的定位,尤其在可靠声音信号的数量下降时(例如,由于改变信号源和接收设备之间的障碍和干扰)。一般而言,多点定位的一个实现涉及从已知位置处的多个声音信号源接收声音信号的接收设备。每一声音信号的到达时间差异可基于已知传输时隙来归一化,并且用于确定接收设备和每一声音信号源之间的距离差异。使用两个声音信号源,接收设备可被定位在双曲面上。使用三个声音信号源,接收设备可被定位在第二双曲面上,其中两个双曲面的交集描绘了接收设备位于的曲线。通过添加第四声音信号源,接收设备可被定位在第三双曲面上,其中这三个双曲面的交集定义了三维空间中的唯一点。然而,应当理解,声音信号的到达时间测量中的误差可使定位计算的准确性降级(例如,基于接收到的声音信号所计算的双曲面几乎不在空间中的精确点处相交)。因此,可应用附加声音信号源和/或优化技术(例如,最小平方方法或扩展Kalman滤波器)来改进所计算的定位结果的准确性。图1示出采用基于声音的定位的示例场景100。购物者102 (示例用户)在他移动通过一商店104 (示例环境)时正携带有执行定位应用的移动电话。购物者102的身体被定向于朝向商店104的东北面。多个声音信号源(例如扬声器106)遍布商店104,每一声音信号源在其自身的时隙中(例如以循环方式)发出声音信号。只要声音信号强得足以被接收设备捕捉,每一声音信号就可由接收设备(例如,移动电话)的音频输入(例如,话筒)来接收。例如,扬声器Iio发出的超声波声音信号被接收设备捕捉,而由于扬声器116距接收设备的距离,该扬声器发出的声音信号不足以强到被接收设备捕捉。此外,某些声音信号不是直接由接收设备接收。例如,购物者102的身体阻挡了扬声器114和接收设备之间的直接声音信号路径。但是,接收设备可接收来自扬声器114的声音信号在周围结构(诸如商店中的货架、天花板、和地板)上的反射。反射信号引入了沿声音信号路径的额外距离,且因此不能提供准确的到达时间测量(在没有某种类型的归一化的情况下)。在一个实现中,接收设备在直接声音信号与反射声音信号之间进行辨别,以便忽略反射声音信号而不进行定位计算,但是可采用其他实现来考虑特定类型的反射。例如,在一个实现中,声音信号源与反射表面之间以及接收设备与反射表面之间的已知几何关系可用于计算声音信号源与接收设备之间沿反射路径的物理距离,并且由此计算声音信号源与接收设备之间的直接物理距离。在另一实现中,基于声音的定位系统可计算由多个捕捉到的声音信号(无论它们是反射的还是直接的信号)所指示的可能的相交(定位)集。在某些情况下,多个所捕捉的信号使其成为可能的定位集可由其他约束来缩小,以推荐要用于最准确定位的最可靠信号源。如图1中所示,在购物者102携带的接收设备上执行的基于声音的定位应用从扬声器106、108、110和112接收直接声音信号。也有可能接收设备从诸如扬声器118和120之类的其他扬声器接收直接声音信号,这可改进定位计算的准确性和/或可靠性。但是,在没有其他信息的情况下,通过接收四个可靠且直接的声音信号,接收设备可使用差异到达时间(DTOA)测量和多点定位来计算其在三维空间内相对于信号源的定位。或者,在没有其他信息的情况下,接收设备可基于三个可靠且直接的音频源,使用多点定位来计算其在二维空间内相对于信号源的定位。在存在诸如定位约束(即,购物者102不可能位于货架顶部或商店104以外)或定位近似(例如,假定购物者102位于过道中间)之类的附加信息的情况下,可提升定位计算的可靠性和准确性,和/或可降低定位计算所需的信号源数量(使得先前所使用的声音信号源的子集被使用)。一旦使用DTOA测量和多点定位确定了购物者102的初始定位,声音定位应用就可计算每一声音信号的定时基准(例如,基于声音信号源和接收设备之间的已知距离,对应声音信号源已传输和/或停止传输的时间)。给定这些基准,声音定位应用可切换到无差异TOA测量,从而允许使用比多点定位阶段所使用的更少的声音信号源来准确定位。因此,随着购物者102在商店四处移动时,某些先前的直接声音信号将变成被该购物者的身体、其他购物者、货架、标牌等阻挡。但是,声音定位应用可继续从遍布该环境的各个声音信号源中捕捉声音信号,并且准确地确定该购物者的定位,甚至在可靠声音源数量变化的情况下。图2示出了采用基于声音的定位的另一示例场景200,其中购物者202相对于遍布商店204的多个信号源(例如,扬声器206)位于不同的位置和定向,每一信号源发出可由接收设备(例如,移动电话)的音频输入(例如,话筒)来接收的声音信号。如同图1中所示的场景100,场景200中的信号强度可影响哪些声音信号由该接收机设备捕捉。此外,某些声音信号不是直接由接收设备接收。例如,与图1形成对比,购物者202的身体转向商店204的东南方。因此,购物者的身体阻挡了接收设备与扬声器206和208之间的直接声音信号路径。但是,接收设备可接收声音信号在周围结构(诸如商店中的货架、天花板、和地板)上的反射。由此,接收设备在直接声音信号和反射声音信号之间进行辨别以便忽略反射声音信号而不进行定位计算,或基于声音信号源、反射表面和接收设备的已知几何关系,来正确地考虑该信号已行进的距离。如图2中所示,购物者202携带的接收设备在扬声器210、212、214和216所分配的时隙中从扬声器210、212、214和216接收直接声音信号。也有可能接收设备从诸如扬声器218和220之类的其他扬声器接收直接声音信号,这可改进定位计算的准确性和/或可靠性。如参考图1和2所示,接收设备在给定区域中的移动可实时更改接收设备可基于其进行定位计算的信号源。此外,环境内反射声音信号的存在进一步使选择适用于定位计算的可靠声音信号变得复杂。因此,所述选择所依赖的接收设备和/或定位系统过滤掉环境中的不可靠声音信号,并且将这些信号的信号源排除在定位计算之外。图3示出基于声音的定位的示例数据流程图300。诸如移动电话之类的接收设备执行操作系统302以管理其资源,并提供在其上可运行基于声音的定位应用的平台。例如,在一个实现中,移动设备执行带有管理该移动设备的音频资源的音频接口(诸如,话筒303和一个或多个扬声器(未不出))的操作系统,并执行能够接收遍布一区域(例如,商店、仓库、生产车间(manufacturingfloor)、办公楼等)的多个声音信号源的声音信号的移动定位应用。应当理解,尽管所描述的技术适合其中标准GPS信号被封闭式结构阻挡的室内使用,但所描述的技术还可用于室外区域,并且可与GPS和W1-Fi技术结合使用。当基于声音的定位应用正在执行时,记录器304 (诸如一处理器可执行软件工具)记录并数字化由话筒303捕捉到的声音信号305。记录器304将数字化的声音信号存储到记录器进程队列306中,其中所记录的声音信号被拆分成声音信号块用于流传输快速傅立叶变换(FFT)处理。在一个实现中,块大小大约为2048音频样本长,但也可采用其他的块大小。记录器进程队列306产生工作者线程308,该工作者线程处理从记录进程队列306中出列的声音信号块以供异步处理。工作者线程308执行峰值查找器310,该峰值查找器处理由工作者线程308处理的每一声音信号块。峰值查找器310采用互相关管理器310和互相关器314来将每一声音信号块与已知的传输信号进行互相关,以便在相关的输出中标识强峰值。互相关是指对两个波形之间相似性的测量。例如,一个实现将这两个波形中的一个波形延迟,并且随后将这两个波形并接(multiple)在一起。通过查找相比于其他相关结果具有特定形状且超出预定阈值(例如,可靠性条件)的相关峰值,定位系统忽略由于反射而过度延迟的信号(例如,这些信号导致以声速可检测的更长路径)。互相关管理器312向互相关器314提供内务管理功能,该互相关器执行互相关操作并且输出互相关数据316作为经处理的(例如互相关的)声音信号(例如相关峰值)的队列。互相关数据316由信号源处理器318处理,该信号源处理器标识从中接收声音信号的声音信号源(例如,扬声器)以及信号源的定位。信号源处理器318的源查找器320确定每一相关峰值的标识号,由此将该相关峰值与已知信号源相关联。在一个实现中,各信号源在信号源组中被关联(例如,一个信号源组中8到16个扬声器之间)。组标识器322标识信号源组,其中,标识出的信号源是一成员。定位记录器324将找出的信号源标识符与对应的声音信号的音频定时相关联(例如,相对于声音信号块的开始,该声音信号何时已开始)。多点定位处理器326接收标识出的信号源集及其相应的定时、已知信号源位置集、以及任何几何约束(例如,商店中的过道),并且使用多点定位操作从该数据中估计接收设备的定位。回调实用程序328异步地调用声音定位器330,该声音定位器将用户位置和相对X/Y/Z坐标转换成应用楼层平面图的坐标系,以供经由用户界面332 (例如,可将应用楼层平面图和用户位置显示在显示器上的用户界面)呈现给用户。取决于环境的范围(例如,信号源数量、同时支持的接收设备数量、以及其他环境因素),可采用各种信号源标识方案,但构想了此处公开的方案之外的其他方案。例如,在小范围环境(例如8-16个信号源)中,可使用音调来标识个别信号源。在一个实施例中,每一信号源通过局部唯一的音调以及自20.1KHz至21.6KHz以IOOHz间隔而分隔开的音调集来标识。在一个示例中,每一信号源发出包括线性调频脉冲和音调的波形,使得例如:波形(i)=线性调频脉冲+音调(i),其中,i表示信号源标识符;线性调频脉冲长度为2048音频样本,并且以从20KHz线性增长到21.6KHz的频率(示例“正向线性调频脉冲(up-chirp)”)来调制;音调表示具有局部唯一频率20.l+i*0.1KHz的正弦波形。或者,可采用使用线性减小的频率的“反向线性调频脉冲(down-chirp)”。如参考其他范围所描述的,也可采用其他波形。在中等范围的环境中(例如,16-64个信号源),例如,以下描述了三种方法,但也可使用其他方法。在一种方法中,使用16个音调来标识个别信号源。这些信号源被划分成2组信号源,缩放到至多32个信号源,使得例如:波形(i,j)=线性调频脉冲(j) +音调(i),其中,j表示该组标识符(j=0=>正向线性调频脉冲从20KHz到21.6KHz且j=l=>反向线性调频脉冲从21.5KHz到20.0KHz);线性调频脉冲之间的互相关基于阈值〈0.2 (可靠性条件)来确定;线性调频脉冲长度是2048音频样本长;i表示信号源标识符;且音调表示具有局部唯一频率20.l+i*0.1KHz的正弦波形。在对于中等范围的环境的另一方法中,再次使用16个音调来标识单个信号源。这些信号源被划分成4组信号源,缩放到至多64个信号源,使得例如:波形(i, j)=线性调频脉冲(j) +音调⑴,其中,j表示该组标识符(j=0=>正向线性调频脉冲从20KHz到20.8KHz, j=l=>正向线性调频脉冲从20.8KHz到21.6KHz ; j=3=>反向线性调频脉冲从21.6KHz到20.8KHz,且j=4=>反向线性调频脉冲从20.8KHz到20KHz);线性调频脉冲之间的互相关基于阈值〈0.3(可靠性条件)来确定;线性调频脉冲长度是2048音频样本长;i表示信号源标识符;且音调表示具有局部唯一频率20.l+i*0.1KHz的正弦波形。在又一对于中等范围的环境的第三方法中,再次将利用的带宽拆分成两个频率范围(例如,20KHz到20.8KHz以及20.8KHz到21.6KHz,两个频率范围都以IOOHz为间隔),以便缩放到至多64个信号源。在第一频率范围中对音调进行编码,以指示8个信号源中的一个,而在第二频率范围中对另一音调进行编码,以指示8个组中的一个,使得例如:波形(i, j)=线性调频脉冲+音调⑴+音调(j),其中,j表示组标识符,且i表示信号源标识符;音调(i)是频率为20.l+i*0.1KHz的正弦信号;音调(j)是频率为20.9+j*0.1KHz的正弦信号;线性调频脉冲之间的互相关基于阈值〈0.3 (可靠性条件)来确定;且线性调频脉冲长度是2048音频样本长。对于大范围的环境中(例如,64-256个信号源),例如,以下描述了三种方法,但也可使用其他方法。在一种方法中,使用16个伪噪声编码(PNC)的波形来对16个信号源标识符进行编码,每一波形横跨一频率范围(例如,20.0KHz到21.6KHz)。另外,频率范围(例如,20.0KHz到21.6KHz)上分布的16个音调用于对16个组标识符进行编码,使得例如:波形(i,j)=PNC(i)+音调(j),其中,j表示组标识符,且i表示信号源标识符;音调(j)是频率为20.l+j*0.1KHz的正弦信号;PNC波形之间的互相关基于2-0.4的阈值;且PNC波形长度是2048音频样本。在对于大范围的环境的另一方法中,再次将利用的带宽拆分成两个频率范围(例如,以19.7KHz为中心频率(fc)的19.0KHz到20.4KHz以及以21.1KHz为中心频率(fc)的20.4KHz到21.8KHz)。在第一波带中,使用16个PNC波形来对16个组标识符进行编码。在第二波带中,使用16个PNC波形来对第二组中16个信号源标识符进行编码,使得例如:波形(i,j) =PNC(I, fc=19.7KHz)+PNC(j, fc=21.ΙΚΗζ),其中,j表示组标识符,且i表示信号源标识符;PNC波形之间的互相关基于 0.2-0.4的阈值;且PNC波形长度是2048音频样本。在对于大范围的环境的又一方法中,再次将利用的带宽拆分成两个频率范围(例如,20KHz到20.8KHz以及20.8KHz到21.6KHz,两个频率范围都以IOOHz为间隔),以便缩放到至多256个信号源。在第一频率范围中对音调进行编码,以指示8个信号源中的一个,而在第二频率范围中对另一音调进行编码,以指示8个组中的一个。另外,这些信号源被划分成4个超组(super-group)信号源,使得例如:波形(i,j, k)=线性调频脉冲(k) +音调⑴+音调(j),其中,k表示该超组标识符(k = 0=>正向线性调频脉冲从20KHz到20.8KHz, k =1=>正向线性调频脉冲从20.8KHz到21.6KHz ;k = 3=>反向线性调频脉冲从21.6KHz到20.8KHz,且k = 4=>反向线性调频脉冲从20.8KHz到20KHz);线性调频脉冲之间的互相关基于阈值〈0.3 (可靠性条件)来确定;线性调频脉冲长度是2048音频样本长;i表示信号源标识符;音调Q)表示具有局部唯一频率20.l+i*0.1KHz的正弦波形;j表示组标识符;且音调(j)表示具有局部唯一频率20.9+j*0.1KHz的正弦波形。对于巨大范围的环境(例如,256-1024个信号源),使用16个伪噪声编码(PNC)的波形来对16个信号源标识符进行编码,每一波形横跨一频率范围(例如,20.0KHz到21.6KHZ)。另外,频率范围(例如,20.0KHz到21.6KHz)上分布的16个音调用于对16个组标识符进行编码,使得例如:波形(i,j, k) =PNC ⑴ + 音调(j) + 音调(k),其中,k表示超组标识符;j表示组标识符;i表示信号源标识符;音调(j)表示频率为20.l+j*0.1KHz的正弦信号;且音调(k)是频率为20.9+k*0.1KHz的正弦信号。用于扩展所支持的环境范围的另一选项涉及向给定区域中的每一声音信号源指定唯一标识符。每一声音信号源发出其组标识符,之后个别信号源按该组内信号源的循环序列发出其信号源标识符。例如,考虑一个两层建筑物,其中第一楼层上的信号源在相比于第二楼层上的信号源不同的组中。因此,初始组标识符信号指示接收设备所位于的楼层,而信号源标识符的后续序列指示该楼层上来自其的信号正被捕捉的信号源。以此方式,信号源标识符可在由所指示的组标识符来区分的不同流之间共享。使用这些或其他编码方案,信号源可使用各种检测方法来标识。在一种方法中,蛮力方法获取捕捉到的声音信号与N个波形中每一个的全面互相关,并且选择具有最大相关峰值的波形。在另一方法中,将波形维持在1600HZ的带宽中,从而在频谱域中提供大约150个频点(frequency bin)(例如,子范围)。256点的快速傅里叶变换(FFT)可足以执行互相关。从FFT互相关中标识具有最大相关峰值的波形之后,可执行与标识出的波形的基准函数的全长互相关,由此基于接收到的声音信号来标识声音信号源。在具有嵌入式音调的波形的情况下,多普勒提取可用于确定接收设备和/或持有接收设备的用户行进的方向和/或速率。在一个实现中,多普勒提取涉及测量音调在频域中的位置相比于嵌入式音调的频率位置的偏移。在涉及伪噪声码(PNC)波形的另一实现中,多普勒偏移可通过以下操作来迭代地确定:使PNC波形的频谱偏移一个或多个频点,乘以所记录的声音信号的频谱,执行较短长度(例如,256)的快速傅立叶逆变换(IFFT),以及标记所得互相关信号的峰值。使互相关峰值最大化的频点偏移值表示所记录的声音信号中的多普勒偏移。在涉及多个PNC波形的又一实现中,在二个维度中重复该过程,即PNC波形标识符和点偏移(bin shift)。使互相关峰值最大化的PNC波形标识符和点偏移对产生由声音信号源传输的PNC波形以及所记录的声音信号中的多普勒偏移。也可以采用其他多普勒提取技术。如所描述的,多普勒偏移结合增量位置确定可用于确定接收设备(和/或用户的)方向和/或行进速率,以便设置对用户移动的约束。由此,多普勒提取允许在声音信号被检测之后的一时间预测接收设备的可能定位,接收设备可能的定位可被用作约束。这样的约束可用于改进定位准确性和/或降低用于准确地确定
位置所需的可靠声音信号的数量。图4示出基于声音的定位的示例操作400。接收操作402标识环境(诸如商店),并且接收该环境的地图,包括信号源位置、其标识符、其组标识符、以及其他环境约束(例如,接收设备可能实际地位于哪里)。在一个实现中,接收操作402在基于声音的定位应用在接收设备上被启动时执行。在替换实现中,接收操作402检测到接收设备已进入已知环境(例如,基于最后已知的GPS定位,基于识别出的W1-Fi路由器MAC地址,基于用户输入),并且从其自身存储或从外部数据源(例如,经W1-Fi连接的服务)中检索该地图。捕捉操作404捕捉与可标识信号源相关联的声音信号。每一信号源根据信令协议在其自身时隙中发出声音信号,诸如上文对于小、中、大、和巨大范围的环境所描述的那些内容。接收到的信号被处理以标识信号源并且评估其可靠性。例如,使用捕捉到的信号与该环境中所支持的每一个波形的互相关,捕捉操作404可选择产生最大相关峰值的波形来标识捕捉到的声音信号的声音信号源。判定操作406确定捕捉到的声音信号是否可靠(例如,具有足够强度的直接声音信号被准确地解码)。如果否,则忽略捕捉到的信号,而在捕捉操作404中捕捉新的声音信号。否则,确定操作408使用互相关结果来确定相关联的声音信号源的捕捉时间戳和身份。另一判定操作410确定是否已经捕捉到足够数量的新鲜、可靠的声音信号。具有一个或多个分量的可靠性条件针对捕捉到的声音信号来应用。例如,一个分量可考虑声音信号波形的形状,以辅助评估捕捉到的声音信号是直接的还是反射的。直接声音信号往往具有与反射声音信号不同的特征,这些不同的特征可使用各种技术来辨别,各种技术包括但不限于:互相关、多普勒提取等。此外,该分量可评估在声音信号的每一周期中的同一时隙期间捕捉到的声音信号。在同一时隙期间捕捉到的声音信号彼此并非良好地互相关,并且可以确定在这些时隙期间捕捉到的声音信号中的一个或多个是反射的且由此不可靠。又一分量可考虑多点定位是在单个点处收敛还是在非常接近于单个点处收敛。多点定位解决方案中的发散可指示分量声音信号之一不是直接的且由此不可靠。在可靠性条件中也可采用其他分量。在另一观点中,如果在第一声音信号和最后一个声音信号之间的跟踪时间大于特定阈值(例如,以秒计),则声音信号可被视为“陈旧的”或“不够新鲜”。例如,由于按时隙序列从各个声音信号源接收声音信号,因此收集足够数量的可靠声音信号用于多点定位可发生在一许多时隙的时间段内(例如,对于接收设备在第一可靠声音信号与最后一个可靠时间信号之间移动不可忽略的距离而言是足够的)。因此,如果接收设备在这一 “跟踪”时间期间移动得太远,则定位计算的准确性会受损。在一个实现中,判定操作410确定声音信号块是否陈旧(例如,太老以至于不能对准确的定位计算作出贡献)且由此不可靠。陈旧的声音信号块可被忽略。此外,关于声音信号是否陈旧的确定可通过各种因素来通知(例如,用户是否展示了多普勒偏移,该多普勒偏移指示在跟踪时间期间导致定位中重要变化的移动,直接的和被阻挡的信号源的身份是否改变,与购物者移动有关的试探法等)。例如,如果基于对反射声音信号的多普勒偏移测量、用户没有显示出显著速率,如果直接的和被阻挡信号源在跟踪时间期间保持不变,和/或如果在跟踪时间不超出跟踪阈值的情况下在统计上知道购物者的位置是可接受的准确的,则声音信号可被视为足够“新鲜”。另外,也可应用环境约束来降低基于DTOA准确计算定位所需的新鲜、可靠的声音信号数量。例如,如果三个新鲜、可靠的声音信号被捕捉(在三维多点定位通常要求四个可靠声音信号的情况下),作出假设:接收设备被假设在预定义高度范围内,则二维定位可能足够,而不需要第四个新鲜、可靠的声音信号。同样,如果假设购物者在可接受的容限内位于过道中心,则准确定位所需的新鲜、可靠的声音信号数量可被降低。其他环境约束同样可降低所需的新鲜、可靠的声音信号数量,和/或改进基于声音的定位结果的准确性和可靠性。可用于降低所需的新鲜、可靠的声音信号数量的又一环境约束涉及在一段时间内的定位结果序列。如果接收设备维护其最近定位(且有可能是其速率)的列表,则可以假定其行进方向(和/或速率)的变化将不会超过任何定位计算之间的特定量。例如,如果接收设备具有若干定位结果,这些定位结果指示在紧邻先前周期中接收设备正以每小时一英里朝北移动,则可以假定以下约束:该约束防止接收设备的下一定位位于来自先前定位结果的先前范围之外。又一环境约束可以是:假定用户可达到的最快速率或临时用户在环境(例如,商店)中的典型最快速率,知道用户在给定时间段可能行进了多远。行进的距离可附加地考虑在真实物理环境中行走的约束,诸如沿着用户路径而不是跳过货架。定位操作412使用多点定位,基于接收设备捕捉到的新鲜、可靠的声音信号、捕捉到的信号的DT0A、和接收到的地图、以及声音信号源位置和标识符,来确定接收设备相对于已知位置即声音信号源的定位。呈现操作414将对所计算的定位的指示呈现在用户界面上的地图内。图5示出使用差异到达时间和无差异到达时间的基于声音的定位的示例操作500。在类似于参考图4所描述的过程中,确定操作502使用来自X个声音信号源的差异到达时间来确定接收设备的初始定位。定时操作504基于初始定位以及初始定位与发出捕捉到的可靠声音信号的每一声音信号源之间的距离,来确定时间基准。给定这些距离,可计算每一声音信号的传输时间,由此产生每一声音信号的定时基准。判定操作506确定是否已经捕捉到足够数量的新鲜可靠的声音信号供无差异到达时间定位。在这一操作中,每一声音信号的定时基准使得执行无差异TOA测量成为可能,由此降低了准确地确定接收设备相对于发出声音信号源的定位所需的可靠声音信号数量。另一确定操作508基于无差异TOA测量和定时基准来确定后续位置。另一决定操作510再测试在后续周期中捕捉到的新鲜、可靠的声音信号数量,以确定是否仍然可以准确地计算无差异到达时间定位,在这种情况下,处理前进至确定操作508。否则,处理前进至确定操作502以使用DTOA来确定新的定位。图6示出了可用于实现所述技术的另一示例系统(标记为移动设备600)。移动设备600包括处理器602、存储器604、显示器606 (例如触摸屏显示器)以及其他接口 608 (例如键盘)。存储器604 —般包括易失性存储器(例如RAM)和非易失性存储器(例如闪存)二者。诸如Microsoft Windows Phone 7操作系统之类的操作系统610驻留在存储器604中,并且由处理器602来执行,但是应当理解,可以采用其他操作系统。一个或多个应用程序612被加载到存储器604中并由处理器602在操作系统610上执行。应用612的示例包括、但不限于电子邮件程序、时间安排程序、个人信息管理器、因特网浏览程序、多媒体播放器应用等等。通知管理器614也被加载到存储器604中并且被处理器602执行以向用户呈现通知。例如,当促销被触发并且呈现给购物者时,通知管理器614可以致使移动设备600蜂鸣或振动(通过振动设备618)并在显示器606上显示促销。移动设备600包括电源616,该电源由一个或多个电池或其他电源供电并且向移动设备600的其他组件提供电能。电源616还可以连接到外部电源,该外部电源对内置电池或其他电源进行覆盖或再充电。移动设备600包括一个或多个通信收发器630以提供网络连通性(例如移动电话网络、W1-Fi 、蓝牙 等等)。移动设备600还包括多种其他组件,比如定位系统620 (例如全球定位卫星收发器)、一个或多个加速度计622、一个或多个相机624、音频接口 626 (例如话筒、音频放大器和扬声器和/或音频插孔)、以及附加的存储628。还可以采用其他配置。在示例实施例中,基于声音的定位应用、峰值查找器、互相关管理器、互相关器、工作者线程、声音定位器、用户界面、多点定位处理器、以及其他模块和服务可以通过存储在存储器604和/或存储设备628并由处理单元602处理的指令来体现。声音信号块、定位、楼层平面图、相应的定时、以及其他数据可以被存储在作为永久性数据存储的存储器604和/或存储设备628中。应当理解,设备存储可以是本地的(例如,闪存或磁存储设备)或远程的(例如,经由网络附连存储设备,诸如DVD、⑶或磁存储设备)。—些实施例可包括制品。制品可包括用于存储逻辑的存储介质。存储介质的示例可包括能够存储电子数据的一种或多种类型的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等。逻辑的示例可包括各种软件元素,诸如软件组件、程序、应用软件、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任意组合。例如,在一个实施例中,制品可以存储可执行计算机程序指令,该指令在由计算机执行时使得该计算机执行根据所描述的各实施例的一种方法和/或操作。可执行计算机程序指令可包括任何合适类型的代码,诸如源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码等。可执行的计算机程序指令可根据用于指示计算机执行特定功能的预定义的计算机语言、方式或句法来实现。这些指令可以使用任何合适的高级、低级、面向对象、可视、编译、和/或解释编程语言来实现。在此所述的本发明的实施例可以实现为一个或多个计算机系统中的逻辑步骤。本发明的逻辑操作可被实现为:(I)在一个或多个计算机系统中执行的处理器实现的步骤的序列;以及(2) —个或多个计算机系统内的互连机器或电路模块。该实现是取决于实现本发明的计算系统的性能要求的选择问题。因此,构成此处所描述的本发明的实施例的逻辑操作被不同地称为操作、步骤、对象或模块。此外,还应该理解,逻辑操作也可以以任何顺序执行,除非明确地声明,或者由权利要求语言固有地要求特定的顺序。
上面的说明、示例和数据提供了对本发明的示例性实施例的结构和使用的完整的描述。因为可以在不背离本发明的精神和范围的情况下做出本发明的许多实施例,所以本发明落在所附权利要求的范围内。此外,不同实施例的结构特征可以与另一实施例相组合而不偏离所记载的权利要求书。
权利要求
1.一种方法,包括: 由第一位置 处的接收设备(300)从声音信号源(110)集合中的每一个接收(404)声音信号(305),从每一声音信号源(110)发出的所述声音信号(305)不同于从另一声音信号源发出的声音信号,且每一声音信号源(110)在该集合内能基于所述声音信号中提供的信息来被唯一地标识; 选择(406)从声音信号源(110)子集中接收到的声音信号(305),所选声音信号满足滤掉反射声音信号的可靠性条件(410),提供所选声音信号的每一声音信号源的位置对于所述接收设备(300)是已知的; 使用差异到达时间测量和互相关来确定(412)所述接收设备(300)相对于该声音信号源子集的已知位置的第一位置;以及 基于所述第一位置以及在所述接收设备(300 )的第二位置处接收到的声音信号的无差异到达时间测量,基于从少于该声音信号源子集接收到的声音信号,来确定(412)所述第二位置。
2.如权利要求1所述的方法,其特征在于,确定所述第二位置的操作包括: 基于所计算的所述第一位置与该子集中每一声音信号源的位置之间的距离,来确定每一捕捉到的声音信号的定时基准。
3.如权利要求1所述的方法,其特征在于,确定所述第二位置的操作包括: 确定所述接收设备的行进方向;以及 针对行进方向来评估所述第一位置和所述无差异到达时间测量,以确定所述第二位置。
4.如权利要求1所述的方法,其特征在于,确定所述行进方向的操作包括: 评估所述接收设备的多个先前所确定的位置,所述先前所确定的位置根据基于声音的定位来确定。
5.如权利要求1所述的方法,其特征在于,确定所述行进方向的操作包括: 评估所述接收设备的多个先前所确定的位置,所述先前所确定的位置根据基于声音的定位来确定。
6.如权利要求1所述的方法,其特征在于,确定所述第二位置的操作包括: 确定所述接收设备的行进速度;以及 针对行进速度来评估所述第一位置和所述无差异到达时间测量,以确定所述第二位置。
7.如权利要求6所述的方法,其特征在于,确定所述行进速度的操作包括: 确定在从所述第一位置接收到的声音信号的频率中的多普勒偏移,以确定所述接收设备的行进速度。
8.如权利要求1所述的方法,其特征在于,所述接收设备是移动设备,并且所述声音信号源是固定的。
9.一种系统,包括: 接收设备(300)的记录器(304),被配置成:在第一位置处捕捉来自声音信号源(110)集合中的每一个的声音信号(305),从每一声音信号源发出的所述声音信号不同于从另一声音信号源发出的声音信号,且每一声音信号源在该集合内能基于所述声音信号中提供的信息来被唯一地标识; 所述接收设备(300)的信号源处理器(318),被配置成:选择从声音信号源(110)子集中接收到的声音信号(305),所选声音信号满足滤掉反射声音信号的可靠性条件(410),提供所选声音信号的每一声音信号源的位置对于所述接收设备(300)是已知的;以及 所述接收设备(300)的声音定位器(330),被配置成:使用差异到达时间测量和互相关,来确定所述接收设备相对于该声音信号源子集的已知位置的第一位置。
10.一个或多个处理器可读存储介质,所述处理器可读存储介质编码有用于在电子设备上执行处理器可执行过程的处理器可执行指令,所述过程包括: 由第一位置处的接收设备(300)从声音信号源(110)集合中的每一个接收(404)声音信号(305),从每一声音信号源(110)发出的所述声音信号(305)不同于从另一声音信号源发出的声音信号,且每一声音信号源(110)在该集合内能基于所述声音信号中提供的信息来被唯一地标识; 选择(406)从声音信号源(110)子集中接收到的声音信号(305),所选声音信号满足滤掉反射声音信号的可靠性条件(400),提供所选声音信号的每一声音信号源的位置对于所述接收设备(300)是已知的;以及 使用差异到达时间测量和互相关来确定(412)所述接收设备(300)相对于该声音信号源子集的已知位置的第一 位置。
全文摘要
本发明公开了基于声音的定位。接收设备从多个声音信号源捕捉声音信号(例如超声波),选择满足可靠性条件的声音信号用于确定接收设备相对于对应声音信号源的初始定位,使用对所选声音信号的多点定位来确定接收设备的初始定位,以及当个别声音信号的可靠性在接收设备和声音信号源之间存在动态改变的环境干扰、多径和移动的情况下变化时,更新接收设备的当前定位。
文档编号G01S5/26GK103105602SQ201210377080
公开日2013年5月15日 申请日期2012年9月28日 优先权日2011年9月30日
发明者M·R·哈瑞尔, W·H·康纳, M·R·帕尔塞蒂亚, J·C·柯兰德尔, H·弗里克, J·赖特, M·J·巴克梅尔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1