使用移动设备作为基于移动的控制器的制作方法

文档序号:13518230阅读:217来源:国知局
使用移动设备作为基于移动的控制器的制作方法

相关申请的交叉引用

本申请要求2015年4月30日提交的美国临时专利申请序号62/154,809,“utilizingamobiledeviceasamouse”的优先权,其全部内容通过引用方式并入本文中。

本发明是关于诸如鼠标一类的指针装置,特别是使用移动装置作为基于运动的控制器(例如鼠标、游戏控制器、物联网控制器)。



背景技术:

在电脑方面,鼠标是检测相对表面的二维运动的指针装置。此运动通常被转换成显示器上的指针的运动,允许对图形用户界面进行精细控制。

物理上讲,鼠标是一种握在手中的物件,上面有一个或多个按钮。鼠标通常包含其它特征,例如触碰表面和“轮子”,能够进行额外的控制和不同维度的输入。

由于易于使用,鼠标一直是用于控制图形用户界面的最成功的技术之一。它的吸引力很快渗透到电脑之外。已经有了专为游戏机和智能电视设计的鼠标。智能电视允许用户运行计算机程序和智能手机应用程序。例如,智能电视用户能使用网络浏览器,并使用鼠标点击某个统一资源定位符(url)或地图的某个部分。依靠按钮进行用户输入的传统遥控器已经不足以利用智能电视提供的全部功能。未来越来越多的设备,如智能眼镜(如google(谷歌眼镜)、婴儿监视器和新一代家用电器都将需要鼠标功能,这些功能允许用户从各种选项中进行选择,并轻松点击视图的不同部分。

另一方面,传统鼠标需要平坦且光滑的表面进行操作,不能满足许多新的使用场景。用户希望在移动时与远程设备进行交互。例如,讲话者想自由移动,在其移动时点击不同物件;智能电视用户想在房间的任何地方看电视;google用户想要在旅游时查询物件。如果用户能通过把他/她的移动设备(例如,智能电话、智能手表)移动到空中而将其转换成鼠标,这无疑会很好。



技术实现要素:

在本发明的一个实施例中,提供了一种将移动设备用作基于运动的控制器的方法,包括确定移动设备控制的设备的两个或更多个扬声器之间的距离。所述方法还包括,移动设备用麦克风接收来自设备的听不见的声音信号。所述方法还包括:记录所述听不见的声音信号。此外,所述方法包括:使用所记录的听不到的声音信号来估计频移。此外,所述方法包括:用估计的频移来估计移动设备的速度。此外,所述方法还包括:用估计的速度和移动设备的先前位置来估计移动设备所在的位置离两个或更多个扬声器中的每个扬声器的距离。所述方法还包括:由处理器用所述移动设备所在的位置离两个或更多个扬声器的估计距离、设备的两个或更多扬声器之间的距离和移动设备的先前位置来确定移动设备的当前位置。

上述方法实施例的其他形式在系统和计算机程序产品中。

在本发明的另一个实施例中,提供了一种将移动设备用作基于运动的控制器的方法,包括:确定扬声器和无线设备的无线发射机之间的距离。所述方法还包括:移动设备用麦克风从所述移动设备控制的、具有扬声器的设备接收听不见的声音信号。所述方法额外包括:从所述无线设备接收射频信号。此外,所述方法还包括:记录所述听不见的声音信号和所述射频信号。此外,所述方法包括:估计所述射频信号的相位。此外,所述方法包括:使用所述射频信号的估计的相位和所述移动设备的先前位置来估计所述移动设备所在的位置离所述无线发射机的距离。所述方法还包括:使用所记录的听不到的声音信号来估计频移。所述额外方法包括:用估计的频移来估计移动设备相对扬声器的速度。此外,所述方法还包括:用估计的速度和移动设备的先前位置来估计移动设备所在的位置离所述扬声器的距离。此外,所述方法包括:由处理器用所述移动设备所在的位置离所述扬声器的估计距离、所述移动设备所在的位置离所述无线发射机的估计距离、所述扬声器和所述无线发射设备的无线发射机之间的距离和移动设备的先前位置来确定移动设备的当前位置。

上述方法实施例的其他形式在系统和计算机程序产品中。

在本发明的另一个实施例中,提供了一种将移动设备用作基于运动的控制器的方法,包括:确定所述移动设备控制的设备的两个或更多个扬声器之间的距离。所述方法还包括:确定所述设备的两个或更多扬声器中的每一个和无线设备的无线发射机之间的距离。所述方法额外包括:所述移动设备用麦克风从所述设备接收听不到的声音信号。此外,所述方法包括:从所述无线设备接收射频信号。此外,所述方法包括:记录所述听不到的声音信号和所述射频信号。此外,所述方法还包括:估计所述射频信号的相位。所述方法还包括:用射频信号的估计的相位和所述移动设备的先前位置来估计所述移动设备所在的位置离所述无线设备的所述无线发射机的距离。所述方法额外包括:用所记录的听不到声音信号来估计频移。此外,所述方法包括:用估计的频移来估计移动设备与两个或更多扬声器中的每一个的相对速度。此外,所述方法包括:用估计的速度和所述移动设备的先前位置来估计所述移动设备所在的位置离所述两个或更多个扬声器中的每一个的距离。此外,所述方法包括:由处理器用所述移动设备所在的位置离所述无线设备的所述无线发射机的估计距离、所述设备的两个或更多的扬声器之间的距离、所述设备的两个或更多的扬声器中的每一个和所述无线发射机的距离,以及移动设备的先前位置来估计所述移动设备的当前位置。

上述方法实施例的其他形式在系统和计算机程序产品中。

前面简单地概述了本发明的一或多个实施例的特征和技术优点,以便可以更好地理解接下来对本发明的详细描述。下面将描述本发明的更多特征和优点,这些特征和优点可形成本发明的权利要求的主题。

附图说明

当结合以下附图详细描述时,可以获得对本发明的更好理解。其中:

图1显示根据本发明的实施例配置的系统;

图2显示根据本发明的实施例的移动设备的硬件配置;

图3根据本发明的实施例显示将移动设备用作基于运动的控制器(例如,鼠标)与电子设备进行交互的方法的流程图;

图4a根据本发明的实施例显示用户在校准过程期间手握移动设备扫描设备;

图4b根据本发明的实施例显示用户正在执行校准时多普勒频移的变化;

图5a和5b根据本发明的实施例分别显示由方程eq1估计的多普勒频移和随时间移动的距离;

图6a和6b根据本发明的实施例分别显示,当移动设备绕着圆移动时,接收的音频信号频域和估计的多普勒频移的示例;

图7根据本发明的实施例显示新位置应当是中心点分为(0,0)和(d,0)并且半径分别为d1,1和d1,2的两个圆的交点;

图8a-8c根据本发明的实施例分别显示原始多普勒频移测量和除去或没除去异常值后的最大比组合(maximalratiocombining,mrc)的结果;和

图9根据本发明的实施例显示用于控制包含单个扬声器的电子设备的方法的流程图。

具体实施方式

尽管以下就利用移动设备作为诸如鼠标的基于运动的控制器,使用了具有两个扬声器的电子设备(例如,智能电视机)或具有单个扬声器加上一个无线设备的电子设备来讨论本发明,本发明的原理可以应用于具有三个或更多个扬声器的设备,并选择使用或不使用其无线设备。例如,如果有两个以上的扬声器可用,则可以更高的维度跟踪移动设备和/或可提高精度。具体来说,可以与本文所讨论的相同的方式得到离每个扬声器的距离,然后使用这些圆的交点。例如,如果电子设备具有三个扬声器,则可以通过与这三个圆相交在三维空间中进行定位。如果只对二维空间感兴趣,则可以使用与附加扬声器的距离来提高精度(例如,该位置被估计为这些交点的重心)。本领域普通技术人员将能够将本发明的原理应用于这样的实现。此外,将本发明的原理应用于这些实现的实施例将落入本发明的范围内。

在下面的描述中,描述了各种实施例,并出于解释的目的,阐述了具体的配置和细节以提供对实施例的透彻理解。对于本领域技术人员显而易见的是,本发明可以在没有本文所描述的具体细节的情况下实施。此外,众所周知的特征可被省略或简化,以免模糊所描述的实施例。

现在详细参考附图,图1显示了根据本发明实施例配置的系统100。参考图1,系统100包括具有可由移动设备103控制的两个或更多个扬声器102a-102b的电子设备101(例如,智能电视,笔记本电脑,台式计算机系统)。尽管下面讨论设备101包含两个扬声器102a-102b,实际上如下面进一步讨论,设备101可以包含单个扬声器或多于三个扬声器。系统100可以选择性地包括通过网络105与移动设备103通信的无线设备104。移动设备103可以是便携式计算单元、个人数字助理(pda)、智能电话、移动电话、导航设备、游戏机等。移动设备103可以是具有麦克风的任何移动计算设备。下面会配合图2描述移动设备103的硬件配置。无线设备104可以是wi-fi卡、蓝牙卡或其他无线发射机。

网络105可以是蓝牙网络、wi-fi网络、ieee802.11标准网络、或其各种组合等。其他网络也可以被结合使用于图1的系统100中,为简洁起见,这里省略了这些网络的描述,但其仍不脱离本发明的范围。

系统100的范围不限于任何一个特定的网络架构。

现在参考图2,图2显示了移动设备103(图1)的硬件配置,表示用于实施本发明的硬件。参考图2,移动设备103具有通过系统总线202耦合到各种其他组件的处理器201。操作系统203在处理器201上运行,并控制和协调图2中各组件的功能。基于本发明原则的应用程序204与操作系统203一起运行,并提供对操作系统203的调用,这些调用实现了由应用程序204执行的各种功能或服务。应用程序204可以包括例如一个程序,用于利用移动装置103作为基于运动的控制器(例如,鼠标、游戏控制器、物联网控制器),如下面将结合图3、图4a-4b、图5a-5b、图6a-6b、图7、图8a-8c和图9一起做进一步的讨论。

移动设备103还包括连接到总线202的存储器205,其被配置为控制移动设备103的其他功能。存储器205通常被集成为移动设备103电路的一部分,但在一些实施例中可以包括可移动存储器,例如可移动磁盘存储器、集成电路(ic)存储器、存储卡等。处理器201和存储器205还实现逻辑并存储移动设备103的设置、偏好和参数。应当注意的是,包括操作系统203和应用程序204的软件组件可以被加载到存储器205中执行,而存储器205在此可以是移动设备的103主内存。

移动设备103另外还可以包括将总线202与外部网络(例如,图1的网络105)互连的无线模块206,从而允许移动设备103与诸如无线设备104(图1)的其他设备通信。在一个实施例中,无线模块206包括被配置为无线发送和接收如蓝牙、红外线或wi-fi网络等短距离信号的本地电路。

输入/输出设备还可以经由用户界面适配器207和显示器适配器208连接到移动设备103。键盘209、麦克风210和扬声器211可以通过用户界面适配器207互连到总线202。小键盘209被配置为移动设备103的一部分,用于拨打电话号码和输入数据。移动设备103可以具有麦克风210和扬声器211,供用户说话和收听呼叫者。此外,移动设备103包括通过显示适配器208连接到系统总线202的显示屏幕212。显示屏幕212可以被配置为显示图形显示、显示与移动设备103的呼入或其他特征有关的消息和信息。以此方式,用户能够通过小键盘209或麦克风210输入到移动设备103,并且经由扬声器211或显示屏幕212从移动设备103接收输出。在图2中未示出的其它输入方式可被用来向移动设备103输入数据,例如具有触摸屏能力的显示屏幕212可提供虚拟键盘的功能。图2中的移动设备103的范围并不限于图2所显示的元件,可以包含比图2所示更少或更多的元件。如,移动设备103可以仅包括存储器205、处理器201、麦克风210和无线模块206。

本发明可以是系统,方法和/或计算机程序产品。计算机程序产品包括其上具有计算机可读程序指令的计算机可读存储介质(或介质),此程序指令可使处理器执行本发明的各个方面。

计算机可读存储介质是可保留和存储程序指令以供指令执行设备使用的有形装置。计算机可读存储介质可以例如是但不限于,电子存储设备、磁存储设备、光学存储设备、电磁存储设备、半导体存储设备或上述的任何合适的组合。计算机可读存储介质的更多具体但非详尽无遗的列表包括如下:便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程读取存储器只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字通盘(dvd)、记忆棒、软盘、机械编码装置-例如在其上记录有指令的凹槽中的穿孔卡或凸起结构、以及上述的任何合适的组合。本文所使用的计算机可读存储介质不应被解释为暂时信号本身,例如无线电波或其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线传输的电信号。

本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备或经由网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并将计算机可读程序指令进行转发以存储在相应的计算/处理设备内的计算机可读存储介质中。

用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或以一种或多种编程语言的任一组合编写的源代码或目标代码,包括面向对象的编程语言,例如smalltalk,c++等,以及常规的程序性编程语言,例如c编程语言或类似的编程语言。计算机可读程序指令可以作为独立的软件包完全在用户的计算机上执行、部分地在用户的计算机上运行,部分地在用户的计算机上且部分地在远程计算机上运行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者(例如,使用因特网服务提供商通过因特网)可连接到外部计算机。在一些实施例中,包括可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)等的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以个性化电子电路,以便执行本发明的方面。

本文参照根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。应当理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。

这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图框中指定的功能/动作的手段。这些计算机可读程序指令还可存储在计算机可读存储介质中,计算机可读存储介质可引导计算机、可编程数据处理装置和/或其它设备得以特定方式工作,使存储有程序指令的计算机可读存储介质包括一件制造品,所述制造品包括实现在流程图和/或框图框中指定的功能/动作的方面的指令。

计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实施的方法,使得在计算机、其他可编程设备或其他设备上执行的指令实现流程图和/或框图框中指定的功能/动作。

附图中的流程图和框图显示了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示模块、段或部分指令,包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代的实施方案中,框中记载的功能可能以与图中指出的顺序不同的顺序发生。例如,取决于所涉及的功能,连续地显示的两个框实际上可以同时执行,或者有时可以以相反的顺序执行框。并且,框图和/或流程图图示的各个框以及框图和/或流程图的框的组合可以由专用的基于硬件的系统来实现,所述系统执行指定的功能或作用或实施专用硬件和计算机指令的组合。

如背景部分所述,鼠标由于其易于使用,一直是用于控制图形用户界面的最成功的技术之一。它的吸引力很快就会渗透到电脑之外。已经有了专为游戏机和智能电视设计的鼠标。智能电视允许用户运行流行的计算机程序和智能手机应用程序。例如,智能电视用户可能想要使用网络浏览器,并使用鼠标点击某个url(网址)或地图的某个部分。使用按钮进行用户输入的传统遥控器已经不足以利用智能电视提供的全部功能。未来越来越多的设备,如婴儿监视器和新一代家用电器,都将需要鼠标功能,这允许用户从各种选项中进行选择,并轻松点击不同的部分视图。另一方面,需要平坦光滑的表面进行操作的传统鼠标不能满足许多新的使用场景。用户可能希望在移动时与远程设备进行交互。例如,一个讲话者想自由移动,点击他的幻灯片中的不同物件;智能电视用户想在房间的任何部分看电视;用户想要在游览时查询物件。如果用户可以通过将他/她的移动设备(例如,智能电话,智能手表)移动到空中而将其转换成鼠标,那肯定会很好。

本发明的原理提供了一种使移动设备(如智能电话)在与诸如智能电视的设备进行通信时能够被用作基于运动的控制器(例如,鼠标、游戏控制器、物联网控制器)的手段,如下面针对图3、4a-4b、5a-5b、6a-6b、7、8a-8c和9所讨论。图3是将移动设备103(见图1和图2)用作基于运动的控制器(例如鼠标、游戏控制器、物联网控制器)的方法的流程图。图4a显示了用户在校准过程期间,用手握住移动设备来扫描设备。图4b显示了当用户正执行校准时多普勒频移的变化。图5a和5b分别显示了通过等式eq1估计的随时间变化的多普勒频移和移动距离。图6a和6b分别显示了当移动设备正绕圈移动时,分别在频域中接收的音频信号和估计的多普勒频移的示例。图7说明新位置应为中心点为(0,0)和(d,0)的两个圆的交点,半径分别为d1,1和d1,2。图8a-8c分别显示原始多普勒频移测量结果以及在不去除异常值的情况下和去除异常值的情况下经过最大比值组合(mrc)之后的结果。图9是用于控制包含单个扬声器的电子设备的方法的流程图。

为了使移动设备103能够用作基于运动的控制器(例如,鼠标),需要非常准确地追踪设备的移动,並保持几厘米内的误差。现有室内定位的误差在以米为单位的级别,因此无法实现此一目标。许多智能电视和机顶盒制造商提供先进的遥控器,其中一些甚至使用惯性传感器(例如加速度计和陀螺仪)提供运动控制和手势识别。现有的加速度计的显著测量误差是众所周知的,因此无法提供准确的追踪。陀螺仪在跟踪旋转中获得更好的精度。然而,用户必须学习如何旋转以便控制在二维(2-d)空间中的位移,这种操作方式并不直觉,并且在对角线方向上移动特别困难,从而降低用户体验和控制速度。

如本文所讨论的,本发明使移动设备103(图1和图2)能够实时准确地跟踪设备的移动。它使具有麦克风(诸如智能手机和智能手表)的任何移动设备能够用作为基于运动的控制器(例如,鼠标)来控制具有扬声器的电子设备。本发明方法的独特之处在于使用移动和电子设备中的现有硬件。

总体方法的简要讨论如下。参考图1,设备101发出人耳听不见的声音信号,移动设备103记录并发送回设备101,设备101基于多普勒频移来估计移动设备的位置。

虽然目前已有一些文献利用多普勒频移来做手势识别,但是追踪更具挑战性。因为手势识别仅需要匹配一种训练模型,而跟踪需要移动设备的精确定位。这不仅需要对频移的精确估计,而且还要将频移转换成位置,这涉及一些重要的额外的研究课题,例如如何估计扬声器之间的距离、移动设备的初始设备位置以及基于频移确定其新的位置。

用以下方式解决了这些具有挑战性的问题。先假定扬声器102a、102b之间的距离以及移动设备103的初始位置都是已知的,然后估计频移并用于定位移动设备103。然后开发出使用多普勒频移快速校准扬声器102a、102b之间的距离的技术。为了解决移动设备的未知初始位置,使用粒子滤波器,粒子滤波器生成对应于移动设备的可能位置的许多粒子,并且对位置与测量的频移不一致的粒子进行过滤。移动设备103的当前位置被估计为剩余粒子的质心。为了进一步增强鲁棒性,以多个频率发送信号,执行去除异常值,并且结合剩余的估计。最后,本发明的方法被一般化以处理仅具有一个扬声器和另一无线设备(例如,wi-fi)的装备上。在这种情况下,使用来自人耳听不到的声音信号的频移和接收的wi-fi信号的相位来得出移动设备103与扬声器和wi-fi发射机的距离。应用相同的框架来像以前一样实时连续跟踪移动设备103。

如上所述,图3是根据本发明实施例用于将移动设备103(图1)用作基于运动的控制器(例如,鼠标)与设备101(图1)通信的方法300的流程图。设备101例如是智能电视。

参考图3和图1-2,在步骤301中,移动设备103会确定设备101的扬声器102a、102b之间的距离。在一个实施例中,此距离可以通过使移动设备103的用户在设备101的二端来回地移动设备103来校准,如下面进一步讨论。

在一个实施例中,扬声器102a、102b之间的距离是已知的。实践中,这些信息可能无法事先得知。一个解决方案是要求用户使用尺来测量扬声器102a、102b之间的距离并报告此距离。这是很麻烦的。此外,有时用户不知道扬声器102a、102b的确切位置。因此,希望提供一种简单而有效的校准机制,每当扬声器的位置改变时,可用来测量扬声器的距离。

本文提出了基于多普勒的校准方法。用户只需几秒钟进行校准。如图4a所示,图4a显示了根据本发明的实施例,在校准过程期间用户的手握住移动设备103,扫描设备101。在校准期间,设备101发出听不见的声音,移动设备103使用其麦克风210(下面结合步骤303、304进行讨论)录下此听不见的声音。在实施例中,在校准期间,用户从设备101的左端开始,并以直线向设备101的右端移动。用户在超出右端后停止,并返回到左端。用户可以重复此过程几次以提高准确性。

图4b显示了根据本发明的实施例中,当用户正在执行校准时,多普勒频移的变化。可以测量移动设备103移动经过左右扬声器102a、102b的时间,并通过基于多普勒频移计算移动速度来测量扬声器102a、102b之间的距离。当接收机向发送方移动,多普勒频移为正。当移动设备103位于两个扬声器102a、102b的左侧并向右移动时,f1s(来自第一扬声器例如102a的频率偏移量)和f2s(来自第二扬声器例如102b的频率偏移量)为正。当它在1.48秒经过左扬声器(如图4a所示)时,f1s变为负,而f2s保持为正。同样地,随着移动设备103经过第二扬声器,f2s从正变为负。通过找到这些点,可以发现用户在两个扬声器102a、102b之间移动的时间,从而使用多普勒频移来测量扬声器102a、102b之间的距离。为了提高准确度,可以获得在每个方向的距离的估计,然后对两个方向的估计距离进行平均。

特别地,图4a和4b显示通过估计t1和t2(即分别与左侧和右侧扬声器最接近时的时间)以及用多普勒频移估计t1和t2期间的速度来测量扬声器102a、102b之间的距离,图4b中的点401,402表示t1和t2,其中t1=1.48秒,t2=3.58秒。

一个问题是需要重复多少次来实现准确的定位。这取决于距离误差及其对设备追踪的影响。当用户重复校准三次时(即,来回移动移动设备103三次),95百分位数误差为5厘米。实验还显示了5cm扬声器距离误差对设备跟踪的影响可以忽略不计。因此,重复三次通常就足够了。

在移动设备103的初始位置未知的情况下,在步骤302中,移动设备103生成与移动设备103的可能的初始位置相对应的粒子。如下面更详细的介绍,那些位置与估计的频率偏移不一致的粒子将被过滤,然后使用未被过滤的剩余粒子的质心来估计移动设备103的当前位置。

在步骤303中,移动设备103从包含两个扬声器102a,102b的设备101接收听不见的信号。在一个实施例中,扬声器102a,102b产生不同频率的听不见的声音信号。

在步骤304中,移动设备103记录接收的听不到的声音信号。

在步骤305中,移动设备103将记录的听不到的声音信号发送到设备101以执行下面讨论的步骤(例如,步骤306-311)。可选地,移动设备103执行下面讨论的如下步骤。

在步骤306中,如下面进一步详细介绍,移动设备103用所记录的听不到的声音信号估计频移。

在步骤307中,如下文进一步说明的,移动设备103使用估计的频移来估计移动设备103的速度。

多普勒效应是众所周知的现象,其中信号的频率随着发送器或接收器的移动而改变。在不损失通用性的情况下,考虑只有接收者移动而发送者保持静态的情况。令f表示信号的原始频率,fs表示频移量,v和c分别表示接收机朝向发送方的速度和波的传播速度。他们有以下关系:v=(fs/f)*ceq(1)

因此,如果f和c是已知的,fs是可以测量的,则可以使用eq(1)来估计移动速度。与加速度需要双重积分得到距离相比,多普勒频移只需要单重积分获得距离,所以多普勒频移更可靠。

在任何波形中都能观察到多普勒效应,包括rf和声音信号。我们使用声音信号实现高精度,因为它的(i)带宽较窄而且(ii)传播速度较慢。其较窄的带宽使得与rf信号相比(例如,在声音信号中为44.1khz,wi-fi中为20mhz),易于检测1hz频移。即使假设可以在wi-fi和声音信号中测到1hz的频移,由于声音信号传播速度较慢,速度估计的精度对声音信号仍然较高。声音信号在26℃的干燥空气中以346m/s行进。如果使用17khz的声频,则速度分辨率为1*346.6/17000=0.02m/s=2cm/s。相比之下,当rf中心频率为2.4ghz时,分辨率为1*3*10^8/(2.4*10^9)=0.125m/s=12.5cm/s,约为6倍。这意味着对于相同的移动,声音信号的多普勒频移是rf信号的六(6)倍,这允许更准确地测量移动速度。

此外,使用扬声器和麦克风很容易产生和接收声音信号,扬声器和麦克风在电视机、google眼镜、智能手机和智能手表上广泛使用。为了避免对其他人的干扰,可以产生听不见的声音信号。虽然理论上有些人可能听到高达20khz,但是发现17khz以上的声音通常听不见。

以下用简单的实验来看使用多普勒频移追踪移动设备103的移动的准确程度。使用产生一个17khz的正弦音频文件,在频域中取1hz,所述正弦音频文件用普通pc扬声器播放,并使用4上的麦克风进行录制。多普勒频移是在移动设备103正朝向设备101的扬声器102a、102b移动时测量。下面将说明如何准确地计算多普勒频移的细节。图5a和5b分别显示出了根据本发明的实施例的通过等式(1)估计的随时间的多普勒频移和移动距离。如图5b所示,追踪误差小于1cm。移动设备103在1秒钟开始移动并在2.8秒停止。图5a的点501a、501b分别表示运动的开始和结束。与加速度测量不同,用多普勒频移很容易看出移动设备103的移动开始和停止时间(例如,在移动期间多普勒频移远高于1hz,并且在停止时远低于1hz)。此外,由于人们可以从多普勒频移获得速度,并且可以使用一重积分计算出行进距离,而不是加速度计中的双重积分,所以精度明显提高。如图5b所示,最大跟踪误差仅为0.7厘米。

基于上述概念,开发了下面如图1所示的系统,其中有两个扬声器102a,102b的发送者(例如,设备101)发送听不见的声音脉冲发送到要跟踪的移动设备103。如上所述,移动设备103可以是具有麦克风的任何设备,例如智能电话和智能手表。为了区分哪个扬声器102a,102b产生信号,两个扬声器102a,102b发射不同的频率。在一个实施例中,移动设备103使用简单的手势或点击屏幕启动跟踪,并开始从麦克风210记录音频信号。移动设备103可以本地处理接收的信号以计算其位置,或者经由无线接口(例如,wi-fi或蓝牙)返回到发送者101,以供其处理数据并跟踪移动设备103。音频信号仅仅是脉冲编码调制(pcm)位的序列,其通常为每个样本的16比特位。假设44.1khz采样率,每秒音频数据量为705.6kb,低于经典蓝牙的比特率(即2.1mbps)。根据应用程序,可以将其转换为光标位置或用于跟踪用户运动的轨迹。

为了在没有混叠的情况下将不可听见范围内的声音记录下来(例如,17khz和22khz之间),可以使用至少44khz的音频采样率。为了实现高跟踪精度,目的是以1hz的分辨率估计频移。这意味着需要执行44,100点fft,以1hz级别的频域分析信号。这带来了一个挑战:长的fft不允许我们实时连续跟踪设备。对于44,100点fft,需要存储44100个样本,这需要一秒钟。在此期间,设备的位置可能已经发生了几次变化,这显着降低了跟踪的可靠性和响应速度。

为了解决这个问题,使用短期傅里叶转换(stft)来分析频谱随时间的变化。它使用比fft要求更少的数据样本。输入的缺失值用零填充。那么fft输出就有要求的分辨率。但是,由于欠采样,这可能会导致混叠。为了最小化失真,在时域中应用加窗,并且每个窗口包含当前采样间隔期间的所有音频采样。在一个实施例中,hanning(汗宁)窗口被用于此目的。本发明的原理在范围上不限于使用hanning函数,可以使用其他函数来实现相同的目的。

在本发明的设计中,将输入长度设置为44,100,并且将1,764个音频采样(即,40ms内的音频采样的总数)用作输入,能达到fft输出每40毫秒1hz的分辨率。通过找到峰值频率(即,具有最高值的频率)并从原始信号频率中减去峰值频率来测量多普勒频移。为了检测峰值频率,复杂度取决于要扫描的频谱的宽度。假设最大可能的多普勒频移为50hz,将扫描的频谱的宽度设置为100hz,对应于1m/s。根据本发明的实验,当人用他/她的手移动移动设备103时,其速度一般不超过1m/s。图6a和6b分别显示根据本发明实施例的移动设备103(图1和图2)正围绕圆周移动时频域中接收的声音信号和估计的多普勒频移的示例。

在步骤308中,移动设备103用估计的速度和每个粒子的先前位置(移动设备103的先前位置)来估计移动设备103距每个扬声器102a、102b的距离。在一个实施例中,基于从扬声器102a、102b中的每一个到麦克风的音频信号的到达时间,可以测量声音的传播延迟的差异,这被用来估计离扬声器102a、102b中的每一个在距离上的差异。这个相对距离可以与(下面进一步讨论的)使用粒子滤波器由频移得到的距离估计结合起来,以进一步提高精度。这步骤是可选的,但有助于提高准确性。

在步骤309中,移动设备101用移动设备103所在的位置离扬声器102a,102b的估计距离,扬声器102a、102b之间的距离和每个粒子的先前位置(移动设备103的先前位置)来确定每个粒子的当前位置。

在步骤310中,移动设备103过滤那些位置与估计速度不一致的粒子。

在步骤311中,移动设备103使用如下所讨论未被滤波的剩余粒子的质心来估计移动设备103的当前位置。

当移动设备103的当前位置被确定之后,在步骤303从设备101接收进一步的听不见的信号,以随着移动设备103的移动确定移动设备103的下一位置。

有时移动设备103的初始位置是未知的。为了解决这个问题,使用了粒子滤波器。粒子滤波器已成功地用于定位以解决位置的不确定性。由本发明的原理以下列方式来使用粒子滤波器。最初,许多粒子均匀地分布在一个区域中,其中每个粒子对应于移动设备103的可能的初始位置。在下一个多普勒采样间隔中,确定移动设备103从当前粒子的移动。如果移动设备103的移动不可行,则滤除粒子。如下面将进一步讨论,通过找到两个圆的交点来确定设备的位置。如果d1+d2≤d(其中,如下面进一步讨论,d表示扬声器102a、102b之间的距离,d1是第一扬声器(例如,扬声器102a)与移动设备103的位置的距离,d2是第二扬声器(例如,扬声器102b)与移动设备103的位置的距离),可以找到一个或多个交叉点;否则,没有交叉点。在后一种情况下,当前粒子被认为是不可行的并将其过滤掉。移动设备103的移动是通过对所有剩余粒子的移动进行平均来确定。

更具体地说,令p作为粒子的集合,p被初始化为p={(xo1,yo1),...,(xon,yon)},其中(xok,yok)是第k个粒子的初始位置,n是粒子数。在新的多普勒采样间隔期间,从p滤除给出不可行运动的粒子。在第i次运动之后,通过对第i+1个和第i个粒子位置之间的差值进行平均来追踪第i+1个样本的位置。即其中|p|是p中剩余粒子的数量

剩下的问题是要分配多少颗粒。这是复杂性和准确性之间的取舍。增加粒子数量可能会增加初始位置估计的准确性。在一个实施例中,使用625个颗粒来平衡取舍。625颗粒子需要3.63ms进行处理,远低于40ms采样间隔。

如本文进一步讨论的,估计的频移用于得出移动设备103的位置。设备101的扬声器102a,102b之间的距离通过上述校准步骤获得,并且移动设备103的先前位置是估计为剩余粒子的重心。现在考虑如何基于扬声器之间的距离、移动设备的先前位置和估计的频移来获得移动设备的新位置。

估计来自扬声器102a,102b的频移以从扬声器获得距离变化。更具体地,令d表示扬声器102a,102b之间的距离。构造虚拟二维坐标,其中原点是左扬声器,x轴与扬声器102a、102b之间的线对齐。在此坐标中,左和右扬声器分别位于(0,0)和(d,0)。令(x0,y0)表示移动设备在该坐标中的前一位置。从移动设备103到扬声器102a,102b的距离分别由d1,1和d1,2表示。令ts是估计频移的采样间隔。在一个实施例中,本发明使用40ms,这意味着每40ms更新光标的位置,这对应于每秒24-25帧的流行视频帧速率。在ts之后,可以使用多普勒频移获得离两个扬声器102a、102b的新距离。从测量的多普勒频移和方程eq(1)得到:

d1,1=d0,1+({f1,1s/f1}c)ts,

d1,2=d0,2+({f1,2s/f2}c)ts,

其中fk和fi,ks分别是在第i个采样间隔期间来自扬声器k的声音频率和多普勒频移。

给出离扬声器102a、102b的更新的距离,剩下的问题是如何获得新的位置。根据本发明的实施例,如图7所示,新位置应该是两个圆的交点,这两个圆的中心点为(0,0)和(d,0),半径分别为d1,1和d1,2。两圆的交点可以计算如下:

(x1,y1)=(d1,1cos(θ1),d1,1sin(θ1)),

(x2,y2)=(d1,1cos(-θ1),d1,1sin(-θ1)),

其中(x1,y1)和(x2,y2)是圆的两个交点。注意,如果dt,1+dt,2<d,两个圆之间没有交点。如果dt,1+dt,2=d,则有一个交点。在其他情况下,有两个交点。在最后一种情况下,由于移动是连续的并且采样间隔较小,所以选择更接近(x0,y0)的点作为下一个位置,表示为(x1,y1)。

在下一个多普勒采样间隔中,测量f2,1s和f2,2s,计算d2,1和d2,2,从中得到(x2,y2)。重复该过程直到移动设备103停止移动。为了尽量减少频移估计中误差的影响,低于1hz的频移被过滤,用剩余的频移来估计速度和距离。

为实现设备追踪时的高精度,精确地估计多普勒频移是重要的。然而,用单个声波测量可能不可靠。估计多普勒频移的准确度部分取决于接收信号的信噪比(snr)。由于频率选择性衰落,snr随频率而变化。为了增强鲁棒性,在一个实施例中,以不同的中心频率发送1-hz声调(soundtones),他们都被用来测量多普勒频移。

为了利用多个频率,第一个问题是应该使用哪个中心频率。如果不同的中心频率太近,它们会相互干扰,特别是在运动中。如前所述,用于鼠标应用的手移动速度通常在1m/s以内,这对应于50hz多普勒频移。保守起见,相邻的声调(soundtones)被设置为相隔200赫兹(hz)。在一个实施例中,为每个扬声器102a,102b分配10个声调。

下一个问题是如何利用多个频率的测量来提高精度。一种方法是应用在接收机天线分集中使用的最大比组合(mrc)技术,即对由噪声方差的倒数加权的接收信号进行平均。该方法在噪声遵循高斯分布时是最佳的。然而,某些频率可能会产生比其他频率更高的噪声,所以在使用加权平均值组合它们之前需要去除这些异常值。在本发明的系统中,多普勒采样间隔为40ms。与前一次测量的差异为10hz,意味着40ms内的速度变化为0.2m/s,转化为5m/s2的加速度。这样大的加速度不太可能由移动设备103的移动引起。因此,无论何时在两个连续采样间隔(例如|fi+1,ks-fi,ks|)期间频移上的变化大于10hz时,被认为是错误,在执行mrc之前就移除。在所有测量差异超过10hz的例外情况下,选择最接近以前测量的一个。在mrc之后,应用kalman滤波来平滑估计。kalman滤波器中的过程噪声协方差q和测量噪声协方差r都设置为0.00001。

图8a-8c显示根据本发明的实施例的原始多普勒频移测量,不去除异常值的情况下mrc之后的结果,和去除异常值的情况下mrc之后的结果。图8a显示从5个音调(tones)测量的多普勒频移。图8b显示没有去除异常值的情况下mrc之后的多普勒频移。图8c显示除去异常值的情况下mrc之后的多普勒频移。去除异常值的多普勒估计产生更平稳的输出,且可能包含更小的误差。

前面讨论的控制设备101包含两个扬声器102a、102b,可以估计离这两个扬声器102a,102b的距离,以追踪移动设备103。目前,智能电视具有两个扬声器。大多数笔记本电脑有两个扬声器。最近一些笔记本电脑有三个扬声器,提供更好的多媒体体验。三个扬声器提供更多的锚点,支持三维空间的跟踪,或进一步提高二维空间中的跟踪精度。

然而,设备101可以仅包含单个扬声器。以下结合图9讨论用于控制包含单个扬声器的电子设备101的方法。

图9是根据本发明实施例用于控制包含单个扬声器的电子设备101(例如,设备101仅包含扬声器102a或仅包含扬声器102b)的方法900的流程图。

方法900的许多步骤对应于方法300的步骤,因此为了简洁起见将不详细讨论。

参考图9,结合图1-3,在步骤901中,移动设备103确定设备101的扬声器(例如,扬声器102a)与无线设备104的无线发射机之间的距离。

在步骤902中,移动设备103生成对应于移动设备103的可能位置的粒子。

在步骤903中,移动设备103从包含单个扬声器的设备101接收听不到的信号。

在步骤904中,移动设备103从无线设备104接收射频信号(例如,wi-fi信号,蓝牙信号,无线信号)。

在步骤905中,移动设备103记录接收到的听不到的信号和射频信号。

在步骤906中,移动设备103将记录的听不到信号和射频信号发送到要控制的设备101,以执行下面讨论的步骤(例如,步骤906-914)。或者,移动设备103执行下面讨论的以下步骤。

在步骤907中,移动设备103估计射频信号的相位。

在步骤908中,移动设备103使用射频信号的估计相位和移动设备103的先前位置来估计移动设备103所在位置离无线设备104的无线发射机的距离。

在步骤909中,移动设备103用所记录的听不到信号和射频信号的估计相位来估计频移。

在步骤910中,移动设备103用估计的频移来估计移动设备103相对扬声器的速度,并且用估计的射频信号的相位来估计移动设备103相对无线设备104的无线发射机的速度。

在步骤911中,移动设备103基于移动设备103的速度和每个粒子的先前位置(移动设备103的先前位置)来估计移动设备103所在的位置离扬声器和无线发射机的距离。

在移动设备103的初始位置未知的情况下,在步骤910,移动设备103使用移动设备103所在的位置离单个扬声器(例如,扬声器102a)的估计距离、离无线设备104的无线发射机的估计距离、扬声器(例如,扬声器102a)与无线设备104的无线发射机之间的距离,以及每个粒子的前一位置(移动设备103的先前位置)来确定每个粒子的当前位置。

在步骤913中,移动设备103过滤那些位置与估计的速度不一致的粒子。

在步骤914中,移动设备103使用未被过滤的剩余粒子的质心来估计移动设备103的当前位置。

在移动设备103的当前位置被确定之后,移动设备103用步骤903通过从设备101接收到的听不到的信号来确定移动设备103的下一个位置。

尽管前面结合利用具有单个扬声器的电子设备101以及无线设备104来讨论本发明,但是使用上面结合图3讨论的方法,本发明的原理可以利用具有两个或更多个扬声器(例如,扬声器102a,102b)的电子设备101以及无线设备。例如,随后使用估计的频移以及使用所接收的射频信号的相位来确定移动设备103的估计速度。

到目前为止假设要被控制的设备具有两个扬声器102a,102b,使得可以估计离这些扬声器102a,102b的距离,以追踪移动设备103。目前,智能电视具有两个扬声器。大多数笔记本电脑有两个扬声器。最近一些笔记本电脑有三个扬声器,提供更好的多媒体体验。三个扬声器提供更多的锚点,允许在三维空间中跟踪,或进一步提高二维空间中的跟踪精度。

如本文所讨论的,本发明的方法可以扩展到处理仅具有一个扬声器的设备101。在这种情况下,假设系统100具有另一无线设备104。然后可以使用来自扬声器的声信号的多普勒效应以及来自无线设备104的rf信号以启动跟踪。

使用与上面描述相同的框架来进行跟踪。新问题是如何估计装备上的移动设备103与无线设备104之间的距离。用以下已知的关系来计算距离:

其中,分别表示移动设备103在时间t1和t2处接收的信号相位,并且dt1和dt2分别是它们各自的距离。这使得能够通过下面方式跟踪离rf源的新距离:

其中,k是整数并且设置为0,因为rf相位的采样间隔为10ms,并且在采样间隔期间可以安全地假设移动小于一个波长。

基于rf的跟踪的一大挑战是精确测量接收信号相位。特别地,即使接收者不是正在移动,发送者和接收者之间的载波频率偏移(cfo)导致相位随时间变化。在一个实施例中,为了简化实现,发送者和接收者与相同的外部时钟连接,以保证它们没有频率偏移。在发送者正连续发送1mhz宽的正交频分复用(ofdm)符号时,估计接收者的相位。

如前所述,如果知道移动设备103的初始位置以及扬声器和rf源之间的距离,则可以通过找到两个圆的交点来跟踪位置,这两个圆的半径分别是由多普勒频移和rf相位追踪测量的距离。此外,当移动设备103的初始位置未知时,可以再次应用粒子滤波器来解决该问题。另外,可以采用类似的校准方法,以通过基于多普勒频移符号的变化(例如,从正到负)检测扬声器的位置,基于接收的rf信号的相位变化(例如,从降低阶段到增加阶段)来检测rf源的位置,从而测量扬声器和rf源之间的距离。

如本文所讨论的,开发了一种新颖系统,可以准确地跟踪手部移动并将其应用于实现鼠标。本发明的方案的一个独特优点是只用移动设备中已经可得到的现有硬件和待控制的装备(例如,智能电视机)就能实现高跟踪精度(例如,大约1.4cm的中值误差)。

为了方便说明,在此呈现了对本发明的一些实施例的描述,但并不旨在穷举或限于所提到的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。本文中选择使用的术语是用于最好地解释实施例的原理、实际应用或对市场上找到的技术的技术改进,或使本领域的普通技术人员能够理解本文所揭露的实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1