zoukankan      html  css  js  c++  java
  • 室内定位系列(〇)——从人耳听觉定位原理到室内定位技术

    之前上过一门与定位技术沾点边的课程大脑与空间,也看过一些关于麦克风阵列定位的论文,觉得还挺有趣,好多的技术都是从自然界学习和模仿的。刚开始学习室内定位技术的师弟师妹们可能很容易被各种专业名词吓住了,这里从人耳的定位原理开始,来简单讲讲各种室内定位技术,希望能引起大家的学习兴趣,对定位技术能有个了解。这里也粗浅地讲了讲位置指纹法,以后准备写一系列更详细的指纹法定位的文章。

    人耳听觉定位原理


    和声音相关的定位大家能有印象的肯定是蝙蝠的超声波,那是接收反射回来的超声波判断前方是否有障碍,是雷达的基本原理,但是和人耳定位声源完全是两码事。

    声源振动产生的声波传到了耳朵,为什么我们就能够感知到声源的位置?

    ![](http://images2015.cnblogs.com/blog/752190/201511/752190-20151110165212994-923826709.jpg)

    是不是因为我们有两只耳朵,像下图这样:

    ![](http://images2015.cnblogs.com/blog/752190/201511/752190-20151110165245962-1874400312.jpg)

    一个声音发出来,传到两只耳朵的时间不一样,如果大脑能够分辨出两个声音的到达时间差,那么声源肯定在以两只耳朵为焦点的双曲线上面(双曲线上的点到两个焦点的距离的差为定值)。那么大脑怎样去分辨出这个到达时间差呢?可以是这样:

    ![](http://images2015.cnblogs.com/blog/752190/201511/752190-20151110165343244-1153066449.jpg)

    一个声音从两只耳朵里进来后相遇的位置不在中间,如果偏右了一些,说明左耳离声源比较近。虽然根据时间差只能确定一条双曲线,但是如果像下面这样把头转一转,

    ![](http://images2015.cnblogs.com/blog/752190/201511/752190-20151110165408869-2127357730.jpg)

    又可以出来一条双曲线,那么取交点就能定位了吧。

    实际上除了这个到达时间差,还可以有其他一些双耳的区别可以利用,归纳一下:

    1. 双耳时间差:距离声源越近的耳朵先听到声音
    2. 双耳声级差:传播距离越远声音越小
    3. 双耳相位差(麦克风应该可以得到相位差,人耳的话我也不知道)
    4. 双耳音色差:声音有时要绕过头颅到达耳朵,不同波长的绕射衰减能力不同造成音色的差别

    这里解释一下音色这个玄乎的东西,不同音色其实就是声音的谐波成分不一样,不同频率的声音成分在绕射时衰减不一样的话就会使得音色发生细微变化,而人耳是区分出频率成分的不同,因为耳蜗就像一台频谱分析仪(想想检测电磁波的频谱分析仪可值近百万啊,好好保护自己的耳蜗吧),原理简单来说就是因为不同频率的的振动会在一个叫做基底膜的东西的不同位置上出现峰值,基底膜可以看成是一组频带重叠的非线性带通滤波器。

    上面这些都可以称为“双耳效应”,可能有人会问,声源的在垂直方向的位置怎么办,在一个水平面的双耳可不能判断声源的高低啊,难道真的要各种转脑袋来实现双曲面的相交?还有人脑难道真的会计算双曲线方程?答案当然是否定的,进化了几十亿年的生物体早就发展出了更加有效的的定位线索:耳廓

    耳廓具有不规则的形状,除了一部分直达耳道的声波,还有一部分会经过耳廓反射后进入耳道,而耳廓特殊的构造改变了不同空间方向声音的频谱特性,相当于梳状滤波器,将不同空间方向的声音进行不同的滤波。

    ![](http://images2015.cnblogs.com/blog/752190/201511/752190-20151110165434587-700423002.jpg) ![](http://images2015.cnblogs.com/blog/752190/201511/752190-20151110165529884-2093120387.jpg)

    (不同的频率成分经过反射后的衰减程度不一样,这种特性与方向有关)

    耳廓能使得不同方向的声音产生了不同,但具体怎样的不同代表怎样的方向?每个人的耳廓都不一样,不可能有统一的对应关系,所以需要将听到的声音和以往的经验进行比较,才能判断方向。

    耳朵只是传感器,大脑才是实现定位算法的地方,它不仅仅只利用耳朵传来的信息,还有以往的经验啊,这样,实际上的定位应该是这样的:

    大脑需要事先记录下各种声音信号与真实方位的对应关系,这些对应关系由听觉、视觉、触觉等共同完成,通过视觉估计出声源的真实方位,将耳朵此时得到的信号与之对应,以后耳朵再得到同样的信号时,就能独立判断出声源位置了。而与位置所对应的这个信号可能包含了之前所有提到的线索(时间差、声级差、声音频谱、声音方向等),大脑就是一个厉害的机器学习系统,根本不需要真的进行几何计算,它利用当前可能的所有特征和以往的经验,直接判断声源位置。

    室内定位技术


    位置指纹法

    各种各样的定位方法,其实大致原理在人耳听觉定位中基本都提到过了。这里先主要讲一下指纹法的基本原理,与大脑的机器学习有类似之处,也算是现在实用性较强的方法。

    室内定位中的WiFi位置指纹法,简单来说,就是事先把各个位置上的信号特征(各Wi-Fi的信号强度)测量一遍,存入指纹数据库。定位的时候,将当前的信号特征与指纹库中的进行匹配,从而确定位置。下图中,AP就是WiFi,RP是离线采集选取的参考点。

    ![](http://images2015.cnblogs.com/blog/752190/201511/752190-20151110165507119-1179086189.jpg)

    __离线阶段:__记录下每个RP处测到的信号强度,每组数据(指纹)包含4个信号强度和对应的位置。 __在线阶段:__使用当前的扫描到的4个信号强度,与数据库中的指纹进行匹配。最常见的算法为kNN,也可以使用概率方法进行计算,实验定位精度大概3米左右(与WiFi热点个数有关),实际应用的话由于各种因素(人对信号的遮挡、环境的变化、指纹数据库的老化等)会使得精度有所降低。

    各种室内定位方法

    具体的室内无线定位技术可以这样来分类:

    • 无线设备:WIFI、蓝牙、ZigBee、RFID、UWB、LED、红外线、超声波、麦克风等
    • 定位信息:主要是RSS(接收信号强度)、TOA(到达时间)、TDOA(到达时间差)、DOA/AOA(到达角度)
    • 定位方法:
      • __近邻法:__最简单的方式,直接选定那个信号强度最大的AP的位置。 纠正一个很容易被误导的地方,目前大多数手机中的定位方式为(GPS/AGPS、基站定位、WiFi定位),这里的WiFi定位并不是位置指纹法,而是近邻法,定位结果是热点位置数据库中存储的当前连接的WiFi热点的位置。
      • __三边角测量法:__通过信号的各种参数得到目标与AP的距离或者角度,用几何方法计算出位置。
        包括到达时间法、相对到达时间法、到达角度法、基于信号强度的测距方法,及其混合算法。这些方法一般应用在蜂窝网基站定位中。
      • __模式匹配法:__基本就是上面所说的位置指纹法了,只是这个说法更宽泛一些。

      除了上面这些使用无线信号进行定位的技术外,还有基于地磁的定位和惯性导航技术,可以用来和上面的方法进行混合定位。

      • __地磁信息:__手机里的磁力计可以测得磁场强度,而建筑物导致了各个位置处的磁场有些区别。
      • __惯性导航:__加速度计、磁力计/陀螺仪,用来判断目标的移动方向与移动距离,从而进行位置跟踪。

    对于设备,不同场合可以使用不同的设备,他们的覆盖范围、频率、带宽等会对定位有所影响,但原理不会差太多。定位信息里,RSS相当于声级,TDOA相当于双耳时间差,DOA相当于耳廓效应得到的方向信息。那么一个无线结点(天线)就相当于一只耳朵,不过无线系统可以包含很多的结点,定位效果也会更好。

    室内与室外的区别

    首先是室内收不到GPS信号,不能用GPS,不得不考虑其他高精度定位方法。另外就是室内不像室外那样空旷,信号传播环境很复杂,比如人耳听到的声音由很多的回声叠加,这时定位是不是就复杂多了。

    ![](http://images2015.cnblogs.com/blog/752190/201511/752190-20151110165450525-558312176.jpg)

    在考虑了室内常见的非视距与多径效应后,定位问题就会变得更加复杂,这时需要研究的东西也就越多了。
    (注:本文参考[《基于机器人听觉系统的声源目标定位研究》](http://www.cnki.net/KCMS/detail/detail.aspx?QueryID=3&CurRec=1&recid=&filename=1012005835.nh&dbname=CDFD1214&dbcode=CDFD&pr=&urlid=&yx=&uid=WEEvREcwSlJHSldTTGJhYlRtbUFvNWdxOUpXRVBxNmxYTktHTlU0OUdTZnp3ajdxNGNYcXl5djh4U08wc292MjR5ND0=$9A4hF_YAuvQ5obgVAqNKPCYcEjKensW4IQMovwHtwkF4VYPoHbKxJw!!&v=MTEzNDIyNkhMTzRHOW5QcXBFYlBJUjhlWDFMdXhZUzdEaDFUM3FUcldNMUZyQ1VSTCtlWnVkdkZ5N2tWN3ZMVkY=),图片主要来源:[《大脑与空间》](https://www.coursera.org/course/brainspace))
    作者:[rubbninja](http://www.cnblogs.com/rubbninja/) 出处:[http://www.cnblogs.com/rubbninja/](http://www.cnblogs.com/rubbninja/) 关于作者:目前主要研究领域为机器学习与无线定位技术,欢迎讨论与指正! 版权声明:本文版权归作者和博客园共有,转载请注明出处。
  • 相关阅读:
    【设计模式】适配器模式
    【设计模式】原型模式
    【设计模式】建造者模式
    【设计模式】抽象工厂模式
    我的稳定的SpingBoot项目依赖
    Vue中使用iconfont
    Vue-兄弟组件传值
    CSS让高度百分百的方案
    css修改overflow滚动条默认样式
    CSS去除input和textarea点击选中框
  • 原文地址:https://www.cnblogs.com/rubbninja/p/4953464.html
Copyright © 2011-2022 走看看