基于麦克风阵列的现有声源定位技术有_阵列原理

基于麦克风阵列的现有声源定位技术有_阵列原理专利名称:使用麦克风阵列对声源定位的方法技术领域:本发明涉及声源的定位,更具体地讲,涉及一种使用麦克风(MIC)阵列来对声源定位的方法。背景技术:阵列信号处理已经广泛应用于通信、雷达、声纳、医学和航天航空等诸多领域。近年来,随着反恐战的开展,各国已经研制了各种探测爆炸点或枪炮射击点的位置的设备。在实际应用中,由于视觉定位往往不易实现,从而发展了一些声学定位的系统,例如,美国的回力棒系统、以…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

专利名称:使用麦克风阵列对声源定位的方法

技术领域:

本发明涉及声源的定位,更具体地讲,涉及一种使用麦克风(MIC)阵列来对声源 定位的方法。

背景技术:

阵列信号处理已经广泛应用于通信、雷达、声纳、医学和航天航空等诸多领域。近 年来,随着反恐战的开展,各国已经研制了各种探测爆炸点或枪炮射击点的位置的设备。在 实际应用中,由于视觉定位往往不易实现,从而发展了一些声学定位的系统,例如,美国的 回力棒系统、以色列拉斐尔公司的反狙击手声探侧系统,加拿大麦克唐纳 迪特维利公司和 加拿大防务研究和发展委员会也共同开发了一种名为“雪貂”(Ferret)的小型武器探测和 定位系统。Microsoft公司开发的新的Vista操作系统集成了对MIC阵列的支持,Intel公 司的HDAudoi规范可以实现16个MIC、32KHz采样,这些为声波信号阵列处理提供了良好的 支持。

目前,使用麦克风阵列来对声源进行定位的方法总体来说可以分为两类定向波 速形成和时间延迟估计。定向波速形成是基于最大输出功率可控波束方法的一种形式,该 方法对麦克风阵列接收到的语音信号进行滤波延迟并加权求和形成特定指向的波束,然后 计算各个指向上的波束能量,其中搜索空间中功率最大的方向就是对声源位置的一个最大 近似。在基于时间延迟估计的方法中,由于声源发出的信号到达各个麦克风存在时间差,该 方法根据各个通道信号间的相关关系对这个时间延迟进行估计,从而来对声源位置进行估 计。

定向波速形成的方法为了搜索能够使波束功率最大的位置,需要对整个空间进行 扫描,需要进行大量计算,因此很难满足实时的要求。

基于时间延迟估计的方法计算速度快,能达到实时的要求。这类方法可以适用于 如同语音这样的非平稳宽带信源,但是在只有单个信源时能较好地工作,定位的精度与到 达时间差(TDOA)的估计精度有关。发明内容

本发明的目的在于提供一种使用麦克风阵列对声源定位的方法,该方法能够快速 对声源定位。

根据本发明的一方面,提供一种使用麦克风阵列对声源定位的方法,所述麦克风 阵列为构成正三角形的三个麦克风,所述方法包括建立坐标系,所述坐标系的原点与所 述正三角形的重心重合,三个麦克风中的第一麦克风位于坐标系的纵轴上;将正三角形的 重心与正三角形的三个顶点连接并延长,从而将以所述正三角形的重心为圆心的全圆周分 为6个相等的区间;计算声源分别到达三个麦克风中的第一麦克风、第二麦克风、第三麦 克风的时间差;将计算的时间差乘以音速,得到声源到第二麦克风的距离与声源到第一麦 克风的距离之间的第一距离差以及声源到第三麦克风的距离与声源到第一麦克风的距离之间的第二距离差;根据第一距离差和第二距离差的符号以及第一距离差、第二距离差的 绝对值大小比较关系,初步确定声源相对于正三角形重心的方位角Φ所落入的区间;采用 0. 618法对声源与正三角形重心的距离R以及方位角Φ逼近优化点,获得最终估计的距离 R和方位角Φ。

根据本发明的另一方面,提供一种使用麦克风阵列对声源定位的方法,所述麦克 风阵列为构成正三角形的三个麦克风,所述方法包括建立坐标系,所述坐标系的原点与所 述正三角形的重心重合,三个麦克风中的第一麦克风位于坐标系的纵轴上;计算声源分别 到达三个麦克风中的第一麦克风、第二麦克风、第三麦克风的时间差;将计算的时间差乘以 音速,得到声源分别到达第一麦克风、第二麦克风、第三麦克风的距离差;根据三角形边角 关系建立关于声源到各个麦克风的距离差的联立方程组;对联立方程组中的任意两个方程 进行联立求解,得到声源与正三角形重心的距离R以及声源相对于正三角形重心的方位角

通过结合附图,从下面的实施例的描述中,本发明这些和/或其它方面及优点将 会变得清楚,并且更易于理解,其中

图1是根据本发明的采用正三角形麦克风阵列对声源定位的示意图2是根据本发明第一实施例的采用正三角形麦克风阵列对声源定位的方法的 流程图3是根据本发明的采用时间延迟特性进行方位分割的示意图4是根据本发明第二实施例的采用正三角形麦克风阵列对声源定位的方法的 流程图;具体实施方式

本发明针对基于时间延迟定位声源的方法进行了改进和创新。在本发明中,采用 了准Ll相关技术提高时间延迟估计的速度和抗野值干扰能力,进一步采用时间延迟特性 进行方位分割以提高计算速度和去除局部极值点,同时可采用0. 618法加快逼近速度,从 而可以用普通微型计算机在数十毫秒级解决声源定位问题,满足实用性的速度和精度要 求。

以下,参照附图来详细说明本发明的原理以及实施例。在本发明中,采用由三个麦 克风构成的麦克风阵列来对声源定位,三个麦克风被布置为正三角形,即,三个麦克风分别 位于正三角形的三个顶点上。

图1是根据本发明的采用正三角形麦克风阵列对声源定位的示意图,图2是根据 本发明第一实施例的采用正三角形麦克风阵列对声源定位的方法的流程图。

参照图1和图2,在步骤201,建立坐标系,坐标系的原点0(0,0)与第一麦克风a、 第二麦克风b、第三麦克风c构成的正三角形的重心重合,三个麦克风中的一个麦克风(例 如第一麦克风a)位于坐标系的纵轴上。

在步骤202,计算声源ρ分别到达第一麦克风a、第二麦克风b、第三麦克风c的时间差。

在步骤203,将计算的时间差乘以声音在空气中传播的速度(音速),得到声源P 分别到达第一麦克风a、第二麦克风b、第三麦克风c的距离差。

在计算所述时间差的步骤中,可采用准Ll算法估计所述时间差。普通相关函数可 以认为是2范数下的测度,Ll相关是1范数下的测度,Ll相关与L2相关有几乎相同的各种 性质。但是,Ll相关比L2相关容易计算,且抗干扰能力更强。

两个麦克风处的两个声音信号χ (η)和y(n)的Ll互相关函数定义如下NN

Rxy(m) = Z ((abs(x(n)) + abs(y(n)))/2) – (abs(x(n) – y(n + m)))n = \n = l

其中,η表示声音信号的采样时间点,N表示声音信号的总采样点数,m表示时间偏 移量。m是采样间隔的整数倍。

由于上式的第一项对平稳随机过程是常数,因此选择最大的互相关值Rxy (m),等 效于选择最小的第二项,这就是准Ll互相关函数。

对于本发明,对声音信号进行采样,已知两个麦克风处的两个声音信号X(Ii)和 y(n)的波形基本相同但时间延迟不同,针对上述互相关函数改变m值,使得两个声音信号 χ (η)和y(n)的互相关值Rxy (m)最大,S卩,调整χ (η)与y(n)错位对齐,此时的m值即是两 个声音信号x(n)和y(n)的时间差。另外,本领域技术人员应该理解,在上述互相关函数中, abs()表示绝对值函数,X(n)和y(n)表示声音信号的幅度。

互相关比对求时间差的方法(S卩,准Ll算法)虽然可以应用所有采样点的延迟信 息,但因为数字化,所以比对只是在整采样点处进行,而最佳延迟量一般不在整采样点处。 对此问题可以用提高采样率的方法提高估计精度。采样率提高,导致采样间隔较密,可以更 准确地估计延迟时间差。但采样率受硬件限制,存储设备也受硬件限制。因此,在没有提高 采样率的情况下,在本发明中还可以采用三点二次曲线插值的方法估计两个采样点之间的 值,再进行互相关法估计,从而提高了估计精度。

如图1所示,正三角形的重心为坐标系的原点0(0,0)。正三角形的边长为L,声源 P到各个麦克风a、b、c的距离差为

Dl = R2-R1 (1)

D2 = R3-R1 (2)

D3 = R3-R2 (3)

声源ρ的极坐标为(R,Φ),R是声源ρ与正三角形的重心的距离,Φ是声源ρ相 对于正三角形的重心的方位角,R和Φ是待求未知数。

三个麦克风a、b、c的顶点极坐标分别为麦克风a: (r,π/2),麦克风b (r, 7 π/6),麦克风 c :(r,-Ji/6)。

另外,参照图2,各个麦克风a、b、c与正三角形的重心的距离r有下述关系 r = L/V3=0.5773502L (4)。

在步骤204,根据三角形边角关系建立关于声源P到各个麦克风a、b、c的距离差 的联立方程组。

参照图2,根据三角形边角关系可以得出

R\ = ^R2 +r2 -2xRxrx cos(0>)(5)

权利要求

1.一种使用麦克风阵列对声源定位的方法,所述麦克风阵列为构成正三角形的三个麦 克风,所述方法包括建立坐标系,所述坐标系的原点与所述正三角形的重心重合,三个麦克风中的第一麦 克风位于坐标系的纵轴上;将正三角形的重心与正三角形的三个顶点连接并延长,从而将以所述正三角形的重心 为圆心的全圆周分为6个相等的区间;计算声源分别到达三个麦克风中的第一麦克风、第二麦克风、第三麦克风的时间差; 将计算的时间差乘以音速,得到声源到第二麦克风的距离与声源到第一麦克风的距离 之间的第一距离差以及声源到第三麦克风的距离与声源到第一麦克风的距离之间的第二 距离差;根据第一距离差和第二距离差的符号以及第一距离差、第二距离差的绝对值大小比较 关系,初步确定声源相对于正三角形重心的方位角Φ所落入的区间;采用0.618法对声源与正三角形重心的距离R以及方位角Φ逼近优化点,获得最终估 计的距离R和方位角Φ。

2.根据权利要求1所述的方法,其中,计算所述时间差的步骤包括 对于所述三个麦克风中的任意两个麦克风处的两个声音信号χ (η)和y (η),定义互相 关函数

3.根据权利要求2所述的方法,其中,采用0.618法逼近优化点的步骤包括 对距离R取初始值,固定距离R的所述初始值,在初步确定的方位角Φ的范围内,采用0.618法缩小优化点所在的区间,并逼近误差最小的方位角Φ,直到两次逼近的方位角Φ 的误差变化小于预定阈值;固定逼近的方位角Φ,采用0. 618法缩小距离R的范围,直到两次逼近的距离R的误差 变化小于另一预定阈值,得到逼近的距离R,由此获得最终估计的距离R和方位角Φ。

4.根据权利要求3所述的方法,其中,逼近的方位角Φ的步骤包括 (al)取方位角Φ为确定的区间的上限Sl乘以0. 618 ;(a2)根据三角形的边角关系,利用方位角Φ以及距离R的初始值求出声源到第一麦克 风、第二麦克风、第三麦克风的距离;(a3)将计算出的距离分别除以音速,计算声源到达第一麦克风、第二麦克风、第三麦克 风的时间;(a4)计算声源到达第二麦克风与声源到达第一麦克风的时间差t’ bal,并计算声源到 达第三麦克风与声源到达第一麦克风的时间差t’ cal ;(a5)利用先前通过声音信号的互相关值得到的声源到达第二麦克风与声源到达第一 麦克风的时间差tba以及声源到达第三麦克风与声源到达第一麦克风的时间差t。a,计算误 差 errorl = |tba-t’ bal| + |tca_t’ cal | ;(a6)取方位角Φ为上限Sl乘以(1-0. 618),按照步骤(a2)至步骤(a5)计算误差 error2= |tba-t’ ba2| + |tca_t’。a2|,其中,t’ ba2 和 t’。a2 分别是方位角 Φ 为上限 Sl 乘以 (1-0. 618)时计算的声源到达第二麦克风与声源到达第一麦克风的时间差以及计算的声源 到达第三麦克风与声源到达第一麦克风的时间差;(a7)如果|errorl-error2|大于预定阈值,并且errorl > error2,则确定方位角Φ 的范围在确定的区间的下限S2与上限Sl乘以0.618之间;如果|errorl-error2|大于所 述预定阈值,并且errorl < error2,则确定方位角Φ的范围在上限Sl乘以(1-0.618)与 上限Sl之间;(a8)根据再次确定的方位角Φ所落入的区间,重复上述步骤(al)至步骤(a7),直到 errorl-error2小于所述预定阈值,最后所取的两个方位角Φ之一或二者的平均值为最 终估计的方位角Φ。

5.根据权利要求4所述的方法,其中,距离R的初始值以及零值确定一区间,逼近的距 离R的步骤包括(bl)取距离R为确定的区间上限S3乘以0. 618 ;(b2)根据三角形的边角关系,利用最终估计的方位角Φ以及距离R求出声源到第一麦 克风、第二麦克风、第三麦克风的距离R1、R2、R3 ;(b3)将计算出的距离分别除以音速,可以求得声源到达第一麦克风、第二麦克风、第三 麦克风的时间;(b4)计算声源到达第二麦克风与声源到达第一麦克风的时间差t’ ba3,并计算声源到 达第三麦克风与声源到达第一麦克风的时间差t’ ca3;(b5)利用先前通过声音信号的互相关值得到的声源到达第二麦克风与声源到达第一 麦克风的时间差tba以及声源到达第三麦克风与声源到达第一麦克风的时间差t。a,计算误 差 error3 = | tba_t ‘ ba31 +1 tca_t ‘ ca31 ;(b6)取距离R为上限S3乘以(1-0. 618),按照步骤(b2)至步骤(b5)计算误差errorf =|tba-t’ ba4| + |tca-t’ ca4|,其中,t’ ba4和 t’ ca4 分别是距离 R 为上限 S3 乘以(1-0.618) 时计算的声源到达第二麦克风与声源到达第一麦克风的时间差以及计算的声源到达第三 麦克风与声源到达第一麦克风的时间差;(b7)如果I error3-error4 I大于另一预定阈值,并且error3 > error4,则确定距离R 的范围在确定的区间的下限S4与上限S3乘以0. 618之间;如果I error3-error4 I大于所 述另一预定阈值,并且error3 < err or 4,则确定距离R的范围在上限S3乘以(1-0. 618)与 上限S3之间;(b8)根据再次确定的距离R所落入的区间,重复上述步骤(bl)至步骤(b7),直到 error3-error4小于所述另一预定阈值,最后所取的两个距离R之一或二者的平均值为 最终估计的距离R。

6.一种使用麦克风阵列对声源定位的方法,所述麦克风阵列为构成正三角形的三个麦 克风,所述方法包括建立坐标系,所述坐标系的原点与所述正三角形的重心重合,三个麦克风中的第一麦 克风位于坐标系的纵轴上;计算声源分别到达三个麦克风中的第一麦克风、第二麦克风、第三麦克风的时间差;将计算的时间差乘以音速,得到声源分别到达第一麦克风、第二麦克风、第三麦克风的距离差;根据三角形边角关系建立关于声源到各个麦克风的距离差的联立方程组; 对联立方程组中的任意两个方程进行联立求解,得到声源与正三角形重心的距离R以 及声源相对于正三角形重心的方位角Φ。

7.根据权利要求6所述的方法,还包括对联立方程组中的三组两个不同的方程进行 联立求解,分别求出方位角Φ和距离R的三组解,再取三组解的平均值作为方位角Φ和距 离R的估计值。

8.根据权利要求7所述的方法,其中,计算所述时间差的步骤包括对于所述三个麦克风中的任意两个麦克风处的两个声音信号x(n)和y (η),定义互相 关函数

全文摘要

提供一种使用麦克风阵列对声源定位的方法,三个麦克风构成正三角形,该方法包括建立坐标系,其原点与正三角形的重心重合,第一麦克风位于坐标系的纵轴上;将正三角形的重心与正三角形的三个顶点连接并延长,将全圆周分为6个相等的区间;计算声源分别到达第一至第三麦克风的时间差;将时间差乘以音速,得到声源到第二麦克风的距离与声源到第一麦克风的距离之间的第一距离差以及声源到第三麦克风的距离与声源到第一麦克风的距离之间的第二距离差;根据第一和第二距离差的符号以及第一、第二距离差的绝对值大小比较关系,初步确定声源相对于正三角形重心的方位角Φ所落入的区间;采用0.618法对声源与正三角形重心的距离R以及方位角Φ逼近优化点。

文档编号G01S5/22GK102033223SQ20101061108

公开日2011年4月27日 申请日期2010年12月29日 优先权日2010年12月29日

发明者罗倩, 范京 申请人:北京信息科技大学

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/190534.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • latex缩进与对齐_latex 换行后缩进「建议收藏」

    latex缩进与对齐_latex 换行后缩进「建议收藏」且每个条目输入完毕之后不需要做任何的强迫换行记号,如:\\\\(换行符)或者\\par(分段符)Latex可以自动处理四重enumerate嵌套,编号规则为第一级自然数,第二级……那么,如何让空格在本行行尾自动换行?有两种方法可以实现:方法一:选中文字,然后点击格式——段落——缩进和间距,在常规栏中,选择对齐方式为“左对齐”……且每个条目输入完毕之后不需要…

  • php通过ini_set调用output_compression压缩网页

    php通过ini_set调用output_compression压缩网页

  • pstack 安装linux_Linux下pstack的实现

    pstack 安装linux_Linux下pstack的实现Linux下有时候我们需要知道一个进程在做什么,比如说程序不正常的时候,他到底在干吗?最直接的方法就是打印出他所有线程的调用栈,这样我们从栈再配合程序代码就知道程序在干吗了。Linux下这个工具叫做pstack.使用方法是#pstackUsage:pstack当然这个被调查的程序需要有符号信息。比较雷人的是这个程序竟然是个shell脚本,核心实现是gdb的threadapplyal…

  • 镁光闪存颗粒对照表_最全的内存颗粒编码规则说明,教你看穿内存条到底用的什么颗粒…[通俗易懂]

    镁光闪存颗粒对照表_最全的内存颗粒编码规则说明,教你看穿内存条到底用的什么颗粒…[通俗易懂]今天我们一起来了解、学习下海力士、南亚、镁光内存颗粒的编码规则,以帮助我们快速的看穿内存条到底使用的是什么颗粒,颗粒的质量和性能如何。海力士内存颗粒编码规则以苹果DDR42666MHz64GB(2*32GB)笔记本内存条为例,价格8802元。这款内存条采用的颗粒是海力士的H5ANAG8NMJRVKC。海力士DDR4颗粒编码一共14位。前4位基本是固定的,不用看,我们看后10位——AG8NMJR…

  • ELK 收集 Tomcat 日志「建议收藏」

    ELK 收集 Tomcat 日志「建议收藏」01Tomcat安装与测试1.1安装Tomcat安装Tomcat的本体和相关官方测试demo,参考链接apt-getinstalltomcat8-y#安装Tomcat本体apt-getinstalltomcat8-docstomcat8-examplestomcat8-admin-y#安装测试demo1.2Tomcat启动检查systemctlstarttomcat8#启动Tomcatsystemctlstatustomcat8netstat

  • 数组转LIst的几种方法

    数组转LIst的几种方法第一种方式/***针对数组类型转换*分别是int[]、long[]、double[],其他数据类型比如short[]、byte[]、char[],在JDK1.8中暂不支持*/List<Integer>intList=Arrays.stream(newint[]{1,2,3,}).boxed().collect(Collectors.toList());List<Long>longList=Arrays.stream(newlong[]

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号