Page 159 - 《软件学报》2021年第10期
P. 159

李晟洁  等:基于 Wi-Fi 信道状态信息的行走识别与行走参数估计                                              3131



                               做饭          行走       吃饭        行走      洗碗      行走       收拾餐桌


                     半径(m)





                                                           时间(s)
                                Fig.5    Diameter variation of covering-circle for a series of daily activities
                                         图 5   一系列日常活动对应的覆盖圆的直径变化

                 3.3   行走参数估计
                    识别出行走行为之后,为了更加细粒度地描述该段行走,往往需要知道行走的速度、方向、步数和步长等
                 参数.对于行走的速度大小和方向,由第 3.1 节我们知道,可以利用公式(8)多普勒速度与人的真实速度之间的数
                 学关系推导求出人的行走速度 v real 和行走方向.
                    除了行走方向和速度,行走的步数和步长也是描述走路的重要参数.为了统计行走的步数和估计出行走的
                 步长,就需要理解人在每一步行走过程中对信号的影响,识别出每一步行走.人在行走中的一步是一只脚离开地
                 面到该只脚落地,而另一只脚准备离开地面的过程.在这个过程中,连接主动脚的腿呈现出一个先加速后减速的
                 过程,相应地,身体躯干也会连动着呈现出一个先加速后减速的过程.如图 6(a)展示了人在自由行走 6 步时一台
                 接收设备所获得的时间-多普勒速度谱.相比于图 2(b)中人手持铁板产生的时间-多普勒速度谱,图 6(a)的速度谱
                 中速度成分更加复杂一些,这是因为,铁板相比于人体的反射能力要强很多,所以在人手持铁板运动的过程中,
                 人体其他部位产生的反射路径可以完全被忽略掉,可以近似看成由铁板产生了一条动态反射路径;而当去掉铁
                 板,人在自由行走时,无论是躯干还是腿部、头部反射能力是相同的,只是在反射面积上存在差异,所以这时身体
                 各个部位运动产生的多普勒速度都会体现在时间-多普勒速度谱上.如图 6(b)所示,谱中能量最亮的带对应的是
                 躯干引起的多普勒速度(白色轮廓线),这是因为躯干的面积最大,所以产生的多普勒速度能量最强.但仔细观察,
                 我们还会发现谱中存在一条能量较弱但是速度较大的带(红色轮廓线),这是人在行走时腿部产生的多普勒速
                 度,因为腿部是行走时的动力来源,所以要比躯干的速度大一些,但同时,由于腿部的反射面积较小,所以产生的
                 多普勒速度能量较弱.因为躯干产生的多普勒速度较明显,更有利于提取,所以我们主要关注行走中躯干产生的
                 多普勒速度.进一步观察身体躯干的多普勒速度变化,我们可以发现,每一步行走对应的身体躯干的多普勒速度
                 呈现出一个先加速后减速的过程,这与人行走时身体躯干速度先加速后减速的过程相对应.最后,通过结合两台
                 设备的多普勒速度,依据第 3.1 节中公式(8)就可以获得人在行走过程中真实的速度变化情况,如图 6(c)所示.从
                 图 6(c)中的加速和减速过程可以粗糙地得到行走的步数,但是,由于身体在行走过程中的晃动,得到的速度曲线
                 毛刺较多,会影响计步的准确性.为了进一步剔除这些身体微小晃动带来的影响,我们使用了 Savitzky-Golay
                 (S-G)滤波对速度进行平滑处理,它可以在去除无关毛刺的同时保持原来波形的形状和宽度不变,被经常用于图
                 像的平滑去燥处理中,图 6(d)所示为 S-G 平滑之后的速度变化曲线.最后,通过统计峰值的个数可以识别出每一
                 步行走,从而实现对行走步数的统计.
                    当识别出每一步行走之后,利用速度随时间的变化,就可以进一步估计行走的步长.具体地,步长为身体行
                 走一步时移动的距离,通过对速度在时间上进行积分,就可以获得每一步的步长.最后对一段行走过程取均值,
                 就可以估计出人行走时的平均步长.如公式(17)所示:
                                                        N  1  t n end  
                                                          
                                                      
                                              avg stride _ Len    V ()t   (N   2)                (17)
                                                        n   2 t n start    
                                                          
                    为了去掉人在启动和停止时的影响,计算步长时,我们去掉了一段走路中的第 1 步和最后一步,其中,N 代表
   154   155   156   157   158   159   160   161   162   163   164