基于物理层信息的运动物体被动检测方法
技术领域
本发明属于无线感知领域,涉及一种被动的对具有不同速度的运动物体检测的方法。
背景技术
被动检测技术作为新兴科技,可以用于检测监控区域中是否存在任何运动的实体,而不要求监控对象佩戴任何设备。检测技术在许多应用的核心技术,如入侵检测、病患监控、老幼看护、灾后搜寻以及战场监控等。在这些应用中,监控对象不可能佩戴任何用于检测和定位的专用设备。因此,传统的要求监控对象佩戴专用设备的主动检测技术不再适用。被动检测技术得到了更多的关注。随着无线网络的广泛部署,通过捕捉监控对象引起的无线变化,进而实现被动运动检测成为了可能。许多无线信号特征被提取出来用于被动检测,其中,接收信号强度(Received Signal Strength,RSS)因其方便易得的特点而成为最常用的信号特征。基于RSS的被动检测方案通过检测RSS的波动来推测监控环境中的异常变化。然而尽管人们进行了大量研究并取得了重大成果,基于RSS的方案仍然由于其粗粒度和对背景噪声敏感的缺点而精度不足。因此,由微小运动引起的RSS变化会被RSS内在的波动所掩盖,从而频繁产生误报。
更细粒度的物理层信息对物体运动更加敏感,并且在稳定环境下更加稳定。因此,与RSS相比,物理层信息更加鲁棒和可靠。目前,信道特征信息(Channel StateInformation,CSI)已经可以从商业网卡中提取出来。源于OFDM(正交频分复用)技术,这种物理层信息能够提供子载波级的信号测量。由于CSI优于RSS,基于CSI的被动检测和定位技术得到越来越多的关注。然而,大部分基于CSI的检测技术都没有充分利用CSI。特别的,这些工作仅仅止步于使用CSI的幅度信息,而忽视了同样重要的相位信息(主要是因为CSI的原始相位信息没有任何意义)。再者,如今越来越流行的多输入多输出(Multiple InputMultiple Output,MIMO)提供了空间多样性,然而,空间多样性还远没有像频率多样性那样得到广泛的研究。最后,许多之前的工作没有考虑物体运动的多样性,特别是多样的运动速度,因此可能无法探测出缓慢运动的物体。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种基于物理层信息的运动物体被动检测方法,以广泛部署的商业Wi-Fi设备为载体,利用PCA算法提取出信道物理层的幅度和相位信息的变化特征,并以此作为输入,利用SVM算法对环境中是否存在运动物体进行预测,从而实现被动检测运动物体。
按照本发明提供的技术方案,所述的基于物理层信息的运动物体被动检测方法包括以下步骤:
(1)从网卡的每个数据包中获得一组包含N个子载波的信道频率响应信息,即CSI:
H=[H(f1),H(f2),...,H(fN)]
其中每个分量代表了OFDM信号的对应子载波的幅度和相位,即:
这里,H(fk)是中心频率为fk的第k个子载波的CSI,∠H(fk)表示CSI的相位,记为φk,为了实现被动检测,接收机持续收集CSI并将某个特定时间窗内的K次CSI测量组成一个CSI序列:
这K次CSI测量将作为运动检测算法的基本输入;
通过预处理消除CSI的测量相位相比真实相位的偏移,并滤除异常值;
(2)从K次测量并归一化的CSI的幅度和相位的协方差矩阵中提取变化特征;记和分别为归一化后的CSI的幅度和相位序列,则其对应的协方差矩阵分别为:
其中cov(Xi,Xj)表示向量Xi和Xj的协方差,而表示经过归一化处理的X;
计算两个协方差矩阵的特征值并选取两个矩阵各自的最大特征值作为最终用于运动检测的特征;
(3)选取所有天线的特征值的中位数;
(4)在提取出信道物理层的幅度和相位信息的变化特征后,以这些特征作为输入,采用SVM分类算法对变化特征进行分类,对环境中是否存在运动物体进行预测。
具体的,步骤(1)的预处理中,使用线性变换方法来消除相位偏移;
假设测量得到的第i个子载波的相位为则可以表示为:
其中φi即为真实相位,δ是接收机相对于发射机的时钟偏移,其对应产生的相位偏移是β是未知常数相位偏移,Z是测量噪声,ki表示第i个子载波的子载波编号,N表示FFT的大小;
对测量相位进行线性变换,定义如下两项:
如果子载波的频率是对称的,即有那么b可以化简为从测量相位中减去线性项aki+b,可以消除由δ和β引起的相位偏移,最终可得忽略测量噪声Z的真实相位的线性组合,记为
具体的,步骤(1)的预处理中,滤除异常值采用Hampel辨识器,将所有落在区间[μ-γσ,μ+γσ]外的测量值作为异常值删去,其中μ和σ分别是测量值序列的中位数和绝对中位差,γ是滤波器参数。
步骤(2)中还可以进一步引入幅度和相位协方差矩阵的第二大特征值,即选取幅度和相位协方差矩阵的最大特征值和第二大特征值作为最终用于运动检测的特征。
本发明的优点是:除了传统的CSI幅度信息外,本发明利用了CSI相位信息,通过PCA(主成分分析)算法提取出两者的重要变化特征,并进一步通过MIMO***的多天线特性得到较为稳定的变化特征,用于提高检测精度和鲁棒性。最后,本发明将上述处理得到的特征作为输入,利用SVM算法对环境中是否存在运动物体进行分类预测,从而实现运动物体的被动检测。
附图说明
图1是本发明实例所提供的线性变换处理前后的相位对比图。
图2是本发明实例所提供的CSI异常值检测图。
图3是本发明实例所提供的静态和有运动物体的环境中CSI幅度的变化对比图。
图4是本发明实例所提供的静态和有运动物体的环境中CSI相位的变化对比图。
图5是本发明实例所提供的静态和有运动物体的环境中CSI单个子载波的幅度和相位的变化对比图。
图6是本发明实例所提供的多天线幅度特征分布图。
图7是本发明实例所提供的多天线相位特征分布图。
图8是本发明实例所提供的SVM训练结果示意图。
图9是本发明的总体流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
如图9所示,发明具体包括以下四个主要部分:
一、数据预处理。
利用商业网卡和该网卡的一个经过微调的驱动,上层用户可以从每个数据包中获得一组包含N=3个子载波的信道频率响应信息(Channel Frequency Response,CFR),即CSI:
H=[H(f1),H(f2),...,H(fN)]
其中每个分量代表了OFDM信号的对应子载波的幅度和相位,即:
这里,H(fk)是中心频率为fk的第k个子载波的CSI,∠H(fk)表示CSI的相位(简便起见,记该相位为φk)。为了实现被动检测,接收机持续收集CSI并将某个特定时间窗内的K次CSI测量组成一个CSI序列:
这K次CSI测量将作为运动检测算法的基本输入。
首先,CSI的测量相位与真实相位相比具有严重的相位偏移,因此需要通过预处理消除这些偏移。通过观察和分析CSI相位偏移的特点,本发明使用线性变换方法来消除相位偏移。假设测量得到的第i个子载波的相位为则可以表示为:
其中φi即为真实相位,δ是接收机相对于发射机的时钟偏移,其对应产生的相位偏移是β是未知常数相位偏移,Z是测量噪声,ki表示第i个子载波的子载波编号(在IEEE 802.11n中,子载波编号取值范围为-28~28),N表示FFT(快速傅立叶变换)的大小(在IEEE 802.11n中是64)。由于上述所有未知相位偏移,仅通过商业网卡是无法获得真实的相位偏移的。
为了消除随机相位偏移的影响,本发明对测量相位进行线性变换。该方法的核心思想是通过引入整个频段所有子载波的相位来消除δ和β的影响。第一步,定义如下两项:
如果子载波的频率是对称的,即有那么b可以化简为从测量相位中减去线性项aki+b,可以消除由δ和β引起的相位偏移,最终可得真实相位的线性组合(忽略测量噪声Z),记为
图1展示了经过线性变换后的相位与原始相位相比分布相对稳定。尽管经过变换的相位不是真实相位,但是该处理结果已经可以作为可用且有效的特征。
其次,由于环境噪声的影响,CSI测量中可能会出现异常值。因为运动检测技术大多基于特征变化进行检测,所以这些异常值可能会影响到检测技术的性能,因此需要在提取特征前将这些异常值滤除。为了确定并滤除这些异常值,本发明采用Hampel辨识器,将所有落在区间[μ-γσ,μ+γσ]外的测量值作为异常值删去,其中μ和σ分别是测量值序列的中位数和绝对中位差(Median Absolute Deviation,MAD),γ是滤波器参数,取值与具体应用相关,通常为3。图2展示了对原始测量相位进行异常值滤波的结果(其中窗口大小设置为100,γ取值为3)。
二、特征提取。
一个合适的特征在被动检测技术中扮演了至关重要的角色,因此在本发明中,特征提取是最重要的功能。尽管CSI的幅度和相位具有很大的不同,本发明仍然尝试采用统一的特征对两者进行度量。显然,运动检测中使用的特征应当与CSI的绝对值无关,而与CSI的变化有关,因为不同场景下信号的传输功率一般不同但是运动物体对信号的幅度和相位产生干扰这一事实是不变的。如图3、图4所示,与静态环境相比,当环境中有人运动时,CSI的幅度和相位都会产生更明显的变化。图5进一步对比了静态环境下和环境中有人运动时某些子载波的幅度和相位的变化。其中,图5(a)和5(b)是第10号子载波分别在静态环境和环境中有人运动时的幅度和相位的分布情况;图5(c)和5(d)是第20号子载波分别在静态环境和环境中有人运动时的幅度和相位的分布情况。受到人体运动的影响,子载波的幅度和相位的波动显著增强。
基于这些观察,我们认为CSI的幅度和相位的变化可以很好的指示环境的异常变化。但是,由于CSI的幅度变化中包含了信号的绝对功率信息,因此无法用于不同场景不同链路下的运动检测。所以,本发明从K次测量并归一化的CSI的幅度和相位的协方差矩阵中提取变化特征。记和分别为归一化后的CSI的幅度和相位序列,则其对应的协方差矩阵分别为:
其中cov(Xi,Xj)表示向量Xi和Xj的协方差,而表示经过归一化处理的X。当两个矩阵的协方差值越小时,对应的环境就更趋于稳定。反之,当协方差值越大时,意味着环境发生异常变化,即可能有运动物体存在。
为了提取可以用于运动检测的更为简单的特征,本发明计算了两个协方差矩阵的特征值并选取两个矩阵各自的最大特征值作为最终用于运动检测的特征,F=[α,ρ],即:
在实际使用中,为了保证检测的准确性和鲁棒性,本发明进一步引入了幅度和相位协方差矩阵的第二大特征值,即将最终特征扩充为F=[α1,α2,ρ1,ρ2],其中α1,α2和ρ1,ρ2分别代表幅度和相位协方差矩阵的最大和第二大特征值。
三、多天线增益。
由于MIMO***支持多天线通信,因此本发明同样利用了多天线特性以改进运动检测的准确度和鲁棒性。如图6、图7所示,上述过程中提取的幅度和相位的变化特征在不同天线中是不同的。如果不小心使用了误差较大的天线,那么检测效果也会大打折扣。因此,本发明选取所有天线的特征值的中位数,以保证用于检测的特征值相对稳定。这种选取方法是简单而有效的。
四、运动检测。
在提取出变化特征后,采用SVM分类算法对变化特征进行分类。尽管分类算法都要求经过预先训练以获得分类阈值,但是在预测阶段,分类算法对输入数据没有任何额外的要求,因此适用于各种场景下的预测。
首先,我们预先在一些场景中收集数据并提取变化特征作为训练集,对SVM分类器进行训练。图8展示了一组较好的分类结果,静态环境和有物体运动的环境对应的数据之间有一个清晰的分界线。更进一步,尽管当物体运动速度变化时,其对CSI的影响,进而对变化特征的影响不同,每个环境状态(静态与有物体运动)的自相似度要远小于不同状态间的相似度,这是具有不同速度的物体能够被正确检测出来的基础。其合理性在于即使轻微的运动也能引起CSI的可观测的变化,进而使得运动检测成为可能。
训练阶段确定的分类阈值可以进一步用于测试阶段的运动检测。由于本发明提取的变化特征与信号的绝对功率无关,因此该分类阈值适用于具有不同传播距离、不同信道衰减、不同目标行为的多种场景。