文献阅读(8)

来源:互联网 发布:java获取svn文件列表 编辑:程序博客网 时间:2024/05/17 22:01

针对的问题:MUSIC算法在室内定位中的应用(商用WiFi设备,commodity Wi-Fi device)

涉及的参考文献:

  1. SpotFi:Decimeter Level Localization Using WiFi(SIGCOMM 2015)——基于设备的,device-based
  2. Dynamic-MUSIC:Accurate Device-Free Indoor Localization(UbiComp 2016)——设备无关的,device-free

面临的挑战:商用WiFi设备的天线数量受限(3根天线),室内多径严重,直接利用MUSIC算法不能得到准确的信号方向

MUSIC算法原理:http://blog.csdn.net/erwangshi/article/details/22978889

普适的室内定位服务应当满足的标准:Deployable;Universal;Accurate

SpotFi的实现

主要采用的技术:Super-resolution AOA Estimation;Robust Direct Path Identification;Localization

主要流程

  1. Super-resolution AOA Estimation

    1. 标准的MUSIC算法公式为:X=[x⃗ 1x⃗ N]=A[Γ⃗ 1Γ⃗ N]=AF,其中X即为测得的CSI矩阵(3*30),A为导向矩阵(steering matrix),F为复衰落/增益矩阵(complex attenuations/gains)。MUSIC算法的关键假设是XXH存在对应零特征值的特征向量,且与方向向量正交。要满足这一假设,A必须满足是瘦长型(skinny)的满秩矩阵,且F为胖型(fat)满秩矩阵,即天线数大于传播路径数,且天线阵列的测量数据数(the number of independent measurements at the sensor array)必须大于路径数。因此标准的MUSIC算法在仅有三根天线的情况下,室内工作性能较差。
    2. 为了提高可用传感器的数量(the number of sensors),SpotFi利用不同子载波的相位测量值,从而将仅有三根天线提高到90个sensors(3*30)。由于路径到达角(AoA)引起的不同子载波的相位差是可以忽略的,而由于路径飞行时间(ToF)引起的相位是可观的(measurable),故SpotFi同时利用AoA和ToF作为相位差参数,得到新的skinny steering matrix A(MN*L,M根天线,N个子载波)
    3. CSI smoothing:为了保证F为胖型(fat)满秩矩阵,即得到足够多的独立测量值,SpotFi采用了CSI平滑(牺牲了有效传感器数)。
      CSI smoothing
      SpotFi考虑提取不同天线和子载波子集形成的自阵列(subarray),生成满足条件的线性独立的 F,SpotFi考虑15个子载波和2天线的组合,最终生成的A30LFL30,利用标准的MUSIC算法即可解得AoA和ToF;

    注:ArrayTrack(NSDI 2013)利用利用空间平滑减少不同路径之间的相关性(spatial smoothing),具体是考虑不同天线子集的测量值,如在八根天线上考虑三个六天线子集,并取三组天线的均值作为最终信号x˙i=13(xi+xi+1+xi+2),1i6
    spatial smoothing

  2. Identifying Direct Path AoA:利用连续包的测量结果中,直接路径的AoA和ToF变化小。

    1. 由于采样频偏SFO的原因关系,每个包的会引入不同成都的采样时偏STO,因此在利用AoA和ToF前,需要消除随机采样时移的影响(也消除了随机包检测时延的影响):
      ToF sanitization
    2. 计算不同路径为直接路径的似然度:likelihoodk=exp(wCC¯kwθσ¯θkwτσ¯τkwsτ¯k)

    注:ArrayTrack选取连续测量过程中不变的AoA峰值
    多径抑制

  3. Localizing the target:由于测得的ToF仅消除了变化的STO的影响,而非真实的ToF(需要精确的校准),因此SpotFi采用AoA和RSSI进行定位:
    i=1Rli[(p¯ipi)2+(θ¯iθi)2]

    定位流程

MaTrack(Dynamic-MUSIC)的实现

AoA localization
利用MUSIC算法进行基于AoA的定位时,与基于设备的定位识别直接路径不同,设备无关的定位需要识别反射路径的角度,如图。

本文的一些关键思想(key insights)
记目标移动引起的反射路径为mobile paths,而直接路径和其他反射路径为static paths,则

  1. 静态路径信号互相相干(coherent with each other):记直接路径信号为ss,1(t),则第i条静态路径可以记为ss,i(t)=αiss,1(t),其中αi表示增益和相位关系,为常数,由于静态路径信号的中心频率相同,且保持常相位差,故静态路径信号互相相干;
  2. 移动路径信号和静态路径信号不相干(incoherent):人体的移动会给信号引入多普勒频移,且由于移动路径长度不断变化,记第j条移动路径为sm,j(t)=βj(t)ss,1(t),其中βj(t)表示增益和相位关系,由于路径长度不断变化导致相位变化,βj(t)是时变的。由于相干信号需满足同中心频率且存在常相位差,因此移动路径和静态路径不相干;
  3. 移动路径彼此不相干(incoherent):由于人体可以看成是一个反射多面体,存在多条反射路径。由于人体的不同部位的移动速度不同,导致不同反射路径的相位变化率不同,故移动路径彼此不相干;
  4. 最短的移动路径包含目标的角度信息:室内环境中,一条反射路径可能经过多次反射,本文需要的是最后一次反射面为人体的反射信号。由于人体存在不可忽略的大小(not a point),最短的移动路径不一定是仅经过人体反射的信号。但是在实际实验中发现,由人体大小引起的路径差远小于经过多一次反射引起的额外路径距离。因此,本文将最短的移动路径视为仅由人体反射的路径(target path),利用其AoA进行定位。

Dynamic-MUSIC的具体实现步骤:

  1. Super-resolution AoA estimation:与SpotFi类似,入射信号同时引入天线间和子载波间的相位差。对于M天线K子载波来说(MK sensors),对AoA为θ,ToA为τ的路径来说,导向向量为:
    a(θ,τ)=[1,,ΩK1τ,,ΦM1θ,,ΦM1θΩK1τ]T
    其中Φθ=ej2πfdsin(θ)/cΩτ=ej2πfδτi
    空间平滑的影响
    对于传统的MUSIC算法,信号间的相关性会严重影响算法性能。因此先前的工作(SpotFi,ArrayTrack)通过牺牲有效sensor的数量移除信号间的相关性,从而在谱图中识别出所有的多径信号,如图。如果没有采用空间平滑移除信号间的相关性,静态路径方向(相干信号)会融合(merge)在一起,而移动路径方向仍然能够被识别出来。然而,与先前的基于设备的定位需要识别直接路径不同,本文的设备无关的定位仅需要识别由人体移动引起的反射路径(mobile path)。因此,本文可以在不牺牲sensor数量的前提下,利用这种“bad”coherence 来合并那些无关的路径方向(static paths),最终检测出nm+1条路径(1条merged static path,nm条移动路径)
  2. Mobile Paths Identification:由于静态路径一直存在,而移动路径在人体移动过程中(连续检测)会出现检测不到的情况,本文利用路径的稳定性识别移动路径(small movements),如图
    移动路径识别
    思考:若人体移动改变了某些静态路径,会不会导致merged static path方向发生变化,还是由于直接路径信号强,故merged static path方向变化不会大?但若人体移动到直接路径上呢?
  3. Identify the Target Path:通过比较移动路径的ToA,识别出最短的路径。由于每个包的采样频偏(SFO)和包检测延时(PDD)都是随机的,导致ToA估计的时变。虽然单次传输中,所有路径引入的时偏都是相同的,相对ToA仍然可以用于识别最短路径。但是每个包只能得到一个CSI(注:ArrayTrack中每个包可以有多个采样,且文中使用ten samples),且需要多个包的CSI测量值进行MUSIC算法(因为需要求不同采样协方差的平均值?),而不同包的随机时偏是不同的,因此需要将相对ToA对齐到同一个时间点(注:SpotFi中实现MUSIC算法时不需要对齐相对时偏,因为是利用同一次CSI测量的不同subarray进行计算的;但是由于SpotFi需要比较相对时偏的方差,故仍然需要对相对时偏进行对齐)。
    疑问:不同包的ToA是不同的吧,那MUSIC算法求出来的ToA是针对哪个包呢?还是我对MUSIC算法理解有问题,每个包都能计算出一个ToA?如果这样那还需要对齐时间干什么?还是将不同包的ToA看作近似不变?有没有懂的人呀,求指点!!!
    由于第k个子载波引入的额外相位为2πfδ(k1)τdelay,其中τdelay包含了SFO和PDD,在频域是线性变化的(unwrapped),本文采用与SpotFi类似的线性拟合进行ToA对齐,然后利用MUSIC计算出ToA,识别目标路径。
  4. Area coverage:由于在某些位置不存在人体到接收器的反射路径,而人体位置发生轻微变化就可以检测到(close-by location),所以本文采用人体移动过程中连续的几个测量值提高检测率,从而保证了仅利用两个接收器就可以覆盖较大的检测区域,实现稀疏部署(sparse deployment),有利于大规模部署。
    思考:这个步骤和移动路径识别需要多个测量值是一致的?
  5. 目标定位:利用多个接收器的AoA进行定位
    position=argminpi=1R(θ^iθi)2

疑问:MaTrack中利用多个数据采样消除随机噪声

R^X=1Li=1LXXH

这个里面的多个数据采样(data samples)是什么意思,是指每个sample包含多个packets,还是每个sample就是一个packet?
解答(个人理解):MUSIC算法中只需利用一个包的测量值即可求解相应的AoA,ArrayTrack和MaTrack利用多个采样协方差矩阵的平均值是为了消除噪声的影响;那么为何SpotFi中强调矩阵F需要为fat型满秩矩阵,而ArrayTrack空间平滑生成的矩阵应该不是fat型满秩矩阵的吧?

亮点:利用CSI的子载波信息进行超分辨率多径识别;基于设备和设备无关的室内定位对相干信号的不同处理策略;识别不同的信号路径(直接路径和反射路径,静态路径和移动路径)

0 0