使用音频信号测量设备之间的距离的制作方法

文档序号:12481209阅读:224来源:国知局
使用音频信号测量设备之间的距离的制作方法与工艺
本发明涉及使用麦克风阵列来促进如电话会议、话音控制和语音识别等任务。麦克风阵列可以由采用固定安排的多个麦克风组成,所述多个麦克风收集来自多个源的相对高质量的声音。可以通过使用各种声音之间的时间差并且估计声音源的位置并且通过分离各种不同源来增强质量。例如,麦克风可以被放置在沿着墙或天花板的永久位置处。为了从多个源获得高质量声音,有必要抑制不利影响或反射、混响以及多个声音源。麦克风阵列可以包括在若干独立移动设备中的麦克风。设备之间的距离可以使用其麦克风和扬声器来测量。目前,移动设备具有针对其时间同步化并因此对准其记录的轨道的受限的可能性。第二个问题是在设备上开始记录和回放两者的随机延迟。附图说明关于以下附图描述了一些实施例:图1是针对一个实施例的示意性描绘;图2是针对一个实施例的自相关函数;图3是针对一个实施例的图1的导频信号检测器的示意性描绘;图4是针对一个实施例的流程图;图5示出了针对根据一个实施例的三个设备的记录和回放;图6是针对一个实施例的系统描绘;以及图7是针对一个实施例的前视图;具体实施方式音频信号可以用于进行具有良好自相关性质的距离测量,所述距离测量提供子样本延迟测量的可能性。在所述距离测量过程(包括记录其自身回放)中由所有设备进行的连续回放和记录允许排除随机开始/停止延迟以及随后的较大随机错误。所讨论的设备包括通过合适的网络中连接在一起的移动计算设备,如,举几个例子,膝上型计算机、蜂窝电话或游戏设备。所述网络可以是有线或无线网络。命令可以在网络中从一个设备下发到另一个设备以便播放被记录并且然后用于确定各设备之间的距离的导频信号。各设备之间的距离可以用于各种目的,包括但不限于提高由不同设备阵列中的麦克风阵列产生的声音的质量。距离测量还可以在包括干扰缓解、设备定位和网路配置的其他应用中是有用的(仅举几例)。因此,在许多情况下,计算机设备可以具有一个或多个麦克风以及一个或多个扬声器。现有麦克风和扬声器可以用于在此描述的附加目的。假设N个设备(其相对距离将被定义),在一个实施例中,每个设备具有麦克风和扬声器。设备i与j之间的距离为lij,i,j∈0:N-1。在设备i上麦克风与扬声器之间的距离表示为li,j。假设所述设备不具有时间同步并且其麦克风和扬声器在开始停止命令与其实际执行之间具有未知的延迟。在一个实施例中,设备之间的距离计算可以如下。设备(主设备12和从设备14)通过WiFi、蓝牙或其他有线或无线协议建立连接22。所述连接可以是网络连接。他们选择将发送控制命令至从设备14的主设备12。用于选择主设备并发送控制命令的通信可以是网络(例如,包括有线和无线网络)上的有线或无线命令。主设备发送命令16以由在所有设备中由音频回放18同步播放导频信号并且由录音20进行同步记录。在一个实施例中,导频信号然后可以由每个设备同时播放。每个设备生成其自己的导频信号并且开始播放其导频信号以及记录所有设备的音频导频信号(包括其自己的导频信号)两者。每个设备在导频检测器24中检测N个导频信号在其记录的样本中的位置。每个从设备将关于测量的延迟信息发送(框26)至主设备。主设备计算器28计算设备之间的距离并且然后在需要时将所述距离发送至所有设备。具有其自己的音频导频信号的记录可以由设备使用来评估其自己的内部延迟。导频信号可以是用于同步化或参考目的的任何音频信号并且可以包括具有规律间隔(称为导频周期)的一系列尖峰。典型地,在一个实施例中,导频信号具有较宽的音频范围。对于给定的参数F、f0、n,设备k的导频信号被定义为:其中,T0为导频信号的持续时间,T1为相邻设备的导频之间的静默持续时间,并且p(t)为由Shapiro(夏皮罗)多项式定义的伪随机序列。这些多项式可以按递归方式被定义为:P0(z)=1,Q0(z)=1;Pn+1(z)=Pn(z)+z2nQn(z);Qn+1(z)=Pn(z)-z2nQn(z)。多项式Pn(z)和Qn(z)的系数来自集合{1,-1}。相应的多项式中的第i个系数被定义为Pni和Qni。这些系数定义在伪随机信号p(t)中转换的伪随机相位。m(i)=Pn,i,i≤2n-10,i∈2n-1+1:2nQn,i-2ni>2n]]>调制序列为:最后构造p(t),引入将由调制器序列m(i)调制的信号。令其中,f0为载频并且F为采样频率。现在令并且假设t=iN+k,k<N,那么p(t)=m(i)Φ(k)。在攻击检测过程中有用的伪随机序列p(t)的主要性质是其自相关形状。自相关是信号与自己的互相关。图2中给出了针对p(t)的典型的自相关函数,其中,F=44100、f0=11025以及n=9。中心处的主峰P被零包围,从而使得可以从噪声中区别出信号响应。图3中示出的导频检测器24发现在记录的样本中的导频信号之间的延迟。图3中示出了自适应匹配滤波器检测算法。图3中示出的算法可以在软件、固件和/或硬件中实现。在软件和固件实施例中,所述算法可以由存储在如磁、光或半导体存储设备的一个或多个非瞬态计算机可读介质中的计算机执行指令来实现。例如,在一个实施例中,所述算法可以在与处理器相关联的存储设备中实现。导频检测器24使用匹配滤波器30以及滑动窗口w(τ)34中的平均信号功率s(t)来计算记录的样本与伪随机序列p(t)的相关性c(t):所述滑动平均接收所接收的信号的平方(x2)。注意,当调制p(t)的相应部分时,w(τ)是非零的。如果c(t)大于在框36处计算为的自适应阈值A(t),则作出导频检测决策,其中,比例因子K直接控制错误警报概率并且可以被近似为:其中,P为p(t)的总能量,Q-1(·)为反Q函数,并且Pfa为每个样本的错误警报概率。在框38处的比较标识了从滤波器30输入中检测到的候选项,其中,c(t)大于来自框36的所采用的阈值。可以进一步对检测的候选项的峰值进行滤波以便排除由于多径信号传播引起的接近峰值。在给定的观察窗口中,在框40处仅选择最强的峰值。可以将观察窗口的持续时间选择为小于导频周期(例如,导频周期的一半)。为了增加距离测量的精度,在框42处可以使用最强峰值附近的匹配滤波器输出的逼近来估计分数延迟Δt。例如,抛物线逼近给出:其中,t*为最强峰值的整数指数。在一个实施例中,此信号检测方法还允许在一个设备上仅使用导频信号的回放来同步几个设备之间的音频记录轨道。考虑设备之间的距离,其他设备可以找到记录的导频的位置并对准记录的轨道。这在一些实施例中对于智能多麦克风阵列处理而言可以是有用的。图4中示出的算法可以在软件、固件和/或硬件中实现的。在软件和固件实施例中,所述算法可以由存储在如磁、光或半导体存储设备的一个或多个非瞬态计算机可读介质中的计算机执行指令来实现。例如,在一个实施例中,所述算法可以在与处理器相关联的存储设备中实现。图4中示出的序列50为针对主设备的序列。所述序列对应于针对从设备的序列,区别在于从设备接收用于播放并记录的命令并且将所述结果发送至主设备。如框52中指示的,所述序列从选择主设备开始。主设备选择可以是例如用于各种无线协议中的常规序列。然后,如框54中指示的,主设备发送播放并记录导频信号的命令。这导致了同步播放和记录。如框56中指示的,主设备还响应于针对自己的命令播放并记录其自己的导频信号。然后,在框58中,主设备接收来自从设备以及来自其自己的记录设备的导频信号位置信息。然后,如框60中指示的,主设备检测其自己的导频信号的位置。然后,如框62中指示的,主设备计算所述距离。最后,如框64中指示的,主设备向从设备发送经计算的距离。设备k的音频回放中固有的延迟被定义为Δk。设备k的记录延迟被定义为δk,k∈0:N-1。由设备k检测的用于记录设备m的导频延迟被定义为bkm。延迟Δk、δk是由设备之间缺少时间同步以及发送用于播放和记录的命令与在每个设备上针对麦克风和记录器执行那些命令之间的随机延迟两者引起的。图5示出了针对三个设备DEV0、DEV1和DEV2的假设的Δk和δk。例如,DEV0具有在其自己生成的导频与那个导频信号的记录之间的导频延迟b00。其检测自己的导频信号与DEV1的导频信号之间的延迟b01。以下各式成立:bkm=Δm-δk+m(T0+T1)+lkm·F/CS,∀km∈0:N-1lkm=lmk,∀k,m∈0:N-1.]]>这里,cs为声速。给出简单的计算:lkm=lkk+lmm+[(bmk-bkk)+(bkm-bmm)]·cs/F2]]>因此,如果延迟Δk和δk针对每个导频延迟测量是不变的并且这种不变性可以通过连续的回放/记录实现,那么在距离公式中排除未知的延迟。在此描述的处理技术可以在各种硬件架构中实现。例如,可以将所述功能集成到芯片组内。替代性地,可以使用离散处理器。作为又另一个实施例,所述功能可以由通用处理器(包括多核处理器)来实现。图6展示了系统700的实施例。在实施例中,虽然系统700不限于此上下文,系统700可以是媒体系统。例如,系统700可以并入个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板机、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板机或智能电视)、移动互联网设备(MID)、消息设备、数据通信设备等。在实施例中,系统700包括耦合到显示器720的平台702。平台702可以从如(多个)内容服务设备730或(多个)内容传递设备740或其他类似内容源的内容设备接收内容。导航控制器750包括可以用于与例如平台702和/或显示器720交互的一个或多个导航特征。下面将更详细地描述这些部件中的每个部件。在实施例中,平台702可以包括芯片组705、处理器710、存储器712、存储器设备714、图形子系统715、应用程序716和/或无线电设备718的任意组合。芯片组705可以提供处理器710、存储器712、存储设备714、图形子系统715、应用716和/或无线电设备718之间的互通信。例如,芯片组705可以包括能够提供与存储设备714的互通信的存储适配器(未描绘)。处理器710可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核、或任意其他微处理器或中央处理单元(CPU)。在实施例中,处理器710可以包括(多个)双核处理器、(多个)双核移动处理器等等。处理器可以连同存储器712一起实现图4的序列。存储器712可以被实现为易失性存储器设备,如但不限于,随机访问存储器(RAM)、动态随机访问存储器(DRAM)或静态RAM(SRAM)。存储714可以实现为非易失性存储设备,如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附连存储设备、闪存、电池备用SDRAM(异步DRAM)和/或网络可访问存储设备。在实施例中,例如,当包括多个硬盘驱动器时,存储设备714可以包括为有价值的数字媒体提高存储性能加强保护的技术。图形子系统715可以对图像(如静物或视频)执行处理以用于显示。例如,图形子系统715可以是图形处理单元(GPU)或视觉处理单元(VPU)。可以使用模拟或数字接口将图形子系统715和显示720通信地耦合。例如,接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或符合无线HD的技术中的任何一个。图形子系统715可以集成到处理器710或芯片组705中。图形子系统715可以是通信地耦合到芯片组705的独立卡。此处描述的图形和/或视频处理技术可以用各种硬件架构实现。例如,图形和/或视频功能可以集成在芯片组中。替代性地,可以使用分立的图形和/或视频处理器。如又一实施例,图形和/或视频功能可以通过通用处理器(包括多核处理器)来实现。在其他的实施例中,该功能可以在消费电子设备中实现。无线电718可以包括能够使用各种适合的无线通信技术发送和接收信号的一个或多个无线电。这些技术可以涉及跨一个或多个无线网络的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个人区域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨这些网络的通信中,无线电718可以根据一个或多个适用的标准的任何版本操作。在实施例中,显示器720可以包括任意电视类型的监控器或显示器。显示器720可以包括例如计算机显示屏、触摸屏显示器、视频监控器、类似电视机的设备、和/或电视机。显示720可以是数字的和/或模拟的。在实施例中,显示器720可以是全息图形显示器。显示720也可以是可以接收视觉投影的透明表面。这样的投影可以传递各种形式的信息、图像、和/或物体。例如,这样的投影可以是移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用716的控制下,平台702可以在显示720上显示用户界面722。在实施例中,(多个)内容服务设备730可以发起于任意国家的、国际的和/或独立的服务,并通过例如因特网接入平台702。(多个)内容服务设备730可以耦合到平台702和/或显示720。平台702和/或(多个)内容服务设备730可以耦合到网络760以将媒体信息去往和来自网络760地通信(例如发送和/或接收)。(多个)内容传递设备740也可以耦合到平台702和/或显示器720。在实施例中,(多个)内容服务设备730可以包括有线电视盒、个人电脑、网络、电话、能够传送数字信息和/或内容的可接入因特网的设备或装置,以及在内容提供方和平台702和/或显示器720之间通过网络760或直接地单向或双向传输内容的任意其他类似设备。将理解,内容可以经由网络760单向地和/或双向地来往于系统700中的任何一个部件与内容提供方通信。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。(多个)内容服务设备730接收例如包含媒体信息、数字信息和/或其他内容的有线电视节目的内容。内容提供方的示例可以包括任何有线或卫星电视或无线电或因特网内容提供方。提供的示例不意味着对可适用的实施例进行限制。在实施例中,平台702可以从具有一个或多个导航特征的导航控制器750接收控制信号。控制器750的导航特征可以用来与例如用户界面722交互。在实施例中,导航控制器750可以是定位设备,该定位设备可以是允许用户输入空间(如连续的和多维的)数据到计算机的计算机硬件部件(特别是人机接口设备)。如图形用户界面(GUI)和电视机和监视器的许多系统允许用户使用身体姿势来控制计算机或电视机并向计算机或电视机提供数据。可以通过指针、光标、聚焦环或其他在显示器上显示的视觉指示器的移动在显示器(例如,显示器720)上回应控制器750的导航特征的移动。例如,在软件应用716的控制下,位于导航控制器750上的导航特征可以映射到显示在用户界面722上的虚拟导航特征。在实施例中,控制器750可以不是独立部件而是集成在平台702和/或显示器720内。然而实施例不限于这些元素或此处显示或描述的内容。在实施例中,驱动器(未示出)可以包括使用户能够通过例如在初始启动后启动的按钮的触摸立刻打开和关闭类似电视的平台702的技术。当平台被“关闭”时,程序逻辑可以允许平台702流出内容到媒体适配器或其他(多个)内容服务设备730或(多个)内容传递设备740。另外,芯片组705可以包括用于支持如5.1环绕声音频和/或高清7.1环绕声音频的硬件和/或软件。驱动器可以包括用于综合的图形平台的图形驱动器。在实施例中,图形驱动器可以包括外围组件互连(PCI)快速图形卡。在各个实施例中,可以对系统700中示出的任何一个或多个部件进行集成。例如,平台702和(多个)内容服务设备730可以是集成的;或者平台702和(多个)内容传递设备740可以是集成的;或者平台702、(多个)内容服务设备730和(多个)内容传递设备740可以是集成的。在各种实施例中,平台702和显示器720可以是集成的单元。例如,显示720和(多个)内容服务设备730可以是集成的,或者显示720和(多个)内容传递设备740可以是集成的。这些例子并非旨在限制范围。在各种实施例中,系统700可以实现为无线系统、有线系统或二者的组合。当实现为无线系统时,系统700可以包括适合于通过如一个或多个天线、发送器、接收器、收发器、放大器、过滤器、控制逻辑等的无线共享介质通信的部件和接口。无线共享介质的示例可以包括无线频谱部分,例如RF频谱等。当实现为有线系统时,系统700可以包括适用于通过有线通信介质(例如输入/输出(I/O)适配器、利用相应有线通信介质连接I/O适配器的物理连接器、网络接口卡(NIC)、光盘控制器、视频控制器、音频控制器等等)进行通信的部件和接口。有线通信介质的示例可以包括导线、电缆、金属线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤等。平台702可以建立一个或多个逻辑或物理信道以通信信息。所述信息可以包括媒体信息和控制信息。媒体信息可以指表示为用户准备的内容的任何数据。内容的示例可以包括例如来自语音对话、可视会议、视频流、电子邮件(“email”)消息、语音邮件消息、字母符号、图形、图像、视频、文本等等的数据。来自语音对话的数据可以是,例如,发言信息、沉默期、背景噪音、舒适噪音、音质等。控制信息可以是指表示针对自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于将媒体信息路由通过系统或指示节点以预定方式处理媒体信息。然而实施例不限于图6中示出或描述的元素或上下文。如上所述,系统700可以用变化的物理风格或形状系数来体现。图7示出了系统700可以被实施的小形状因数设备800的实施例。例如,在实施例中,设备800可以实现为具有无线能力的移动计算设备。例如,移动计算设备可以指具有处理系统和如一个或多个电池的移动电力源或供应的任何设备。如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板机、触摸垫、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板机或智能电视)、移动互联网设备(MID)、消息设备、数据通信设备等。移动计算设备的示例还可以包括被安排来由人佩戴的计算机,例如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带夹计算机、臂带计算机、鞋计算机、服装计算机和其他可以佩带的计算机。在实施例中,例如移动计算设备可以实现为能够执行计算机应用程序、以及语音通信和/或数据通信的智能电话。尽管一些实施例可以用作为示例实现为智能电话的移动计算设备描述,但应理解,其他实施例也可以使用其他无线移动计算设备实现。实施方案不局限于本上下文中。下面的条款和/或示例关于另外的实施例:一个示例实施例可以是一种方法,所述方法包括:使两个设备彼此同步地播放导频信号;使每个设备记录被播放的导频信号;测量所述记录的导频信号之间的延迟;以及使用所述测量的延迟来计算两个设备之间的距离。所述方法还可以包括:在多个设备当中选择主设备。所述方法还可以包括:使所述主设备向其他设备发送信号以播放导频信号。所述方法还可以包括:使多个设备中的每个设备测量导频信号之间的所述延迟并且将所述延迟测量结果发送至所述主设备。所述方法还可以包括:使所述主设备计算设备之间的距离。所述方法还可以包括:将所述距离发送至所述设备中的每个设备。所述方法还可以包括:使用自适应匹配滤波算法计算所记录的导频信号与由Shapiro多项式定义的伪随机序列的相关性。所述方法还可以包括:使用匹配滤波器以及滑动窗口中的平均信号功率计算所述相关性。所述方法还可以包括:如果所述相关性大于自适应阈值则检测导频信号。所述方法还可以包括:将所述自适应阈值计算为所述平均信号功率的平方根乘以表示错误警报概率的比例因子。另一个示例实施例可以是一种或多种非瞬态计算机可读介质,所述非瞬态计算机可读介质存储由处理器执行用于执行包括以下各项的序列的指令:使两个设备彼此同步地播放导频信号;使每个设备记录被播放的所述两个导频信号;测量所述记录的导频信号之间的延迟;以及使用所述测量的延迟来计算所述设备之间的距离。所述序列的介质可以包括:在多个设备当中选择主设备。所述序列的介质可以包括:使所述主设备向其他设备发送信号以播放导频信号。所述序列的介质可以包括:使多个设备中的每个设备测量所述延迟并且将所述延迟测量结果发送至所述主设备。所述序列的介质可以包括:使所述主设备计算设备之间的距离。所述序列的介质可以包括:将所述距离发送至所述设备中的每个设备。所述序列的介质可以包括:使用自适应匹配滤波算法计算所记录的导频信号与由Shapiro多项式定义的伪随机序列的相关性。所述序列的介质可以包括:使用匹配滤波器以及滑动窗口中的平均信号功率计算所述相关性。在另一个示例实施例中,一种装置包括:导频信号回放设备;录音设备,所述录音设备用于记录导频信号;导频信号检测器;以及距离计算器,所述距离计算器用于测量所检测到的导频信号之间的延迟并且用于使用所述测量的延迟来计算所述装置与另一个装置之间的距离。所述装置可以包括发射器,所述发射器用于向另一个设备发送无线信号以播放导频信号。所述装置可以包括自适应匹配滤波器,所述自适应匹配滤波器用于计算所记录的信号与由Shapiro多项式定义的伪随机序列的相关性。所述装置可以包括所述滤波器,所述滤波器用于使用匹配滤波器以及滑动窗口中的平均信号功率来计算所述相关性。所述装置可以包括所述导频信号检测器,所述导频信号检测器用于如果所述相关性大于自适应阈值则检测导频。所述装置可以包括所述计算器,所述计算器用于将所述自适应阈值计算为所述平均信号功率的平方根乘以表示错误警报概率的比例因子。所述装置可以包括电池。所述装置可以包括固件以及用于更新所述固件的模块。本说明书中通篇提到“一个实施例”或“实施例”表示结合该实施例所述的具体特征、结构或特性包含在本公开所包含的至少一个实现中。因此,短语“一个实施例”或“在一实施例中”的出现不一定都表示同一个实施例。此外,除了所示的特定实施例以外,可以以其他适当的形式来实现所述特定特征、结构或特性,并且所有这样的形式都可以涵盖在本申请的权利要求内。尽管有限数量的实施例已经被描述,但是本领域技术人员将理解大量的其修改和变型。意图是,从属权利要求覆盖所有这种修改和变型就如落入本公开的真实的精神和范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1