本发明涉及一种基于MEMS惯性测量单元的多源信息自适应步数检测方法,可以应用在与用户的步态特性相对应地高精度地检测个人健康数据以及行人导航系统领域。
背景技术:
随着国民生活水平不断提高,对个人健康日益关注,健康、运动与医疗市场需求大增,基于MEMS惯性传感器的可穿戴设备已经由概念走入了人们的日常生活,可穿戴设备将各类传感、识别、连接和云服务等技术综合嵌入到人们的眼睛、戒指、手表、手环、服装及鞋袜等日常穿戴的设备中,来实现用户五感能力拓展、生活管家、社交娱乐、健康监测等功能。
以往,提出了只利用加速度传感器检测步数的计步方法。对于一般步行、快走、跑步等步行方式,该计步方法根据加速度信号波形的极大值及极小值来检测一步,并对步数进行计数。但是,对于用户来说,存在由于受伤、走路脚擦地皮地步行、紧急环境下运动状态不规则等情况,针对这种步行方式单纯的依靠加速度信号来检测步数存在很大的误差。
然而,作为计测用户的步数的技术,不仅需要对于一般的步行、快走、跑步等步行方式要能够实现精确地检测步数,而且需要能够在特殊的运动方式下精确地检测步数,并稳定且高精度地检测用户的步行间距。但是,当前已有的基于MEMS惯性器件的步数检测方法由于器件自身精度低、受噪声影响大等特点,单纯的依靠一种数据源根本不能准确地对用户的步数进行精确的检测。
技术实现要素:
本发明要解决的技术问题是:克服现有技术的不足,提出一种基于MEMS惯性测量单元的多源信息自适应步数检测方法,为基于MEMS惯性测量单元的个人健康数据监测以及行人导航系统领域提供可靠的数据来源。
本发明解决上述技术问题采用的技术方案是:一种基于MEMS惯性测量单元的多源信息自适应步数检测方法,该方法步骤如下:
步骤(1)、首先在不影响用户正常行走的条件下,将MEMS惯性测量单元固定于用户足部,所述MEMS惯性测量单元包括一个三轴加速度计和一个三轴陀螺仪,并对该测量单元进行初始化;
步骤(2)、通过上位机采集用户运动过程中置于足部的MEMS惯性测量单元输出的加速度信号和角速度信号,并对采集到的加速度信号和角速度信号分别进行低通滤波处理;
步骤(3)、通过设定一个固定的时间间隔作为滑动时间窗口,然后通过求滑动时间窗口内加速度信号和角速度信号均值的方法实现对滤波后的加速度和角速度信号自适应阈值的获取;
步骤(4)、将步骤(3)中获取到的自适应加速度阈值与自适应角速度阈值作为步数检测的条件,并判断当前时刻的加速度和角速度信号是否满足步数检测条件;
步骤(5)、如果步骤(4)判定的结果为“是”,则当前检测到的步数有效,计步值加1,并进一步判断是否处理完所有信号,如果判定结果也为“是”则结束,否则读取下一时刻的信号,继续处理;反之如果步骤(4)判定的结果为“否”则进一步判断是否处理完所有信号,如果判定结果为“是”则结束,但如果判定结果为“否”则返回继续执行步骤(2)至步骤(5),直至处理完所有信号结束。
进一步的,所述步骤(1)中对MEMS惯性测量单元进行初始化是指利用上位机对三轴加速度计和三轴陀螺仪进行初始校准。
进一步的,所述步骤(3)中通过求滑动时间窗口内加速度和角速度信号均值的方法实现对滤波后的加速度和角速度信号自适应阈值的获取的实现步骤如下:
步骤a.自适应加速度上阈值是通过求取滑动时间窗口内的正向加速度信号的均值来实现的,为自适应加速度上阈值,n为滑动时间窗口内的正向加速度采样个数,i是一个变量,Ai为滑动时间窗口内正向加速度的值,自适应加速度上阈值计算公式为:
步骤b.自适应加速度下阈值是通过求取滑动时间窗口内的负向加速度信号的均值来实现的,为自适应加速度下阈值,n为滑动时间窗口内的负向加速度采样个数,k是一个变量,Ak为滑动时间窗口内负向加速度的值,自适应加速度下阈值计算公式为:
步骤c.自适应角速度上阈值是通过求取滑动时间窗口内的正向角速度信号的均值来实现的,为自适应角速度上阈值,n为滑动时间窗口内的正向角速度采样个数,i是一个变量,ωi为滑动时间窗口内正向角速度的值,自适应角速度上阈值计算公式为:
步骤d.自适应角速度下阈值是通过求取滑动时间窗口内的负向角速度信号的均值来实现的,为自适应角速度下阈值,n为滑动时间窗口内的负向角速度采样个数,k是一个变量,ωk为滑动时间窗口内的负向角速度的值,自适应角速度下阈值计算公式为:
其中,所述步骤(4)中判断当前时刻的加速度和角速度信号是否满足设定的步数检测条件是指通过将步骤(3)获取到的自适应阈值作为步数检测的条件,只有当当前时刻的加速度和角速度信号满足设定的步数检测条件时,当前检测到的步数有效,计步值加1。
本发明的原理是:
本发明是在MEMS惯性测量单元初始化之后,通过上位机采集MEMS惯性测量单元输出的加速度信号和角速度信号,并通过低通滤波器对加速度信号和角速度信号进行低通滤波处理,然后对滤波后的信号分别求取自适应阈值,最终通过判定实时的加速度信号和角速度信号是否满足为检测步数而设置的自适应阈值条件来实现步数检测;其中上位机的界面如图2所示,上位机通过COM口实现与MEMS惯性测量单元的通讯,通过该上位机可以实现MEMS惯性测量单元的初始校准,以及MEMS惯性测量单元输出的加速度信号和角速度信号的采集。
本发明利用低通滤波器处理采集到的加速度信号和角速度信号的过程如图3,滤波器的截止频率设置为2~5Hz。
原始的加速度信号和角速度信号通过低通滤波处理后,对滤波后的加速度信号和角速度信号求取自适应阈值的过程如图4,通过将加速度信号和角速度信号的自适应阈值作为检测步数的条件,最终通过判定当前时刻的加速度和角速度信号是否满足以上所设定的步数检测条件,只有当判定结果为“是”时,说明步数检测有效,计步值加1。
本发明与现有技术相比的优点在于:
(1)本发明采用基于MEMS惯性测量单元的多源信息自适应步数检测方法,通过求取多个信息源的自适应阈值,能进一步提升步数检测的精度,不仅实现了信号的有效利用,而且能减小干扰因素引起的错误检测,提高了检测精度。
(2)本发明采用一种基于MEMS惯性测量单元的多源信息自适应步数检测方法,能够适用于人体运动过程中的多种步态方式,比如:慢走、快走、慢跑、快走、上楼、下楼等。对于人体在各种运动方式下均可以实现准确的步数检测。
附图说明
图1为本发明的多源信息自适应步数检测方法流程图;
图2为本发明使用的上位机界面;
图3为本发明使用的低通滤波器工作流程图;
图4为本发明的自适应阈值设定流程图。
具体实施方式
下面结合附图以及具体实施方式进一步说明本发明。
本发明是一种基于MEMS惯性测量单元的多源信息自适应步数检测方法的,具体实施方式如图1所示:
步骤(1)本专利选用的MEMS惯性测量单元为MPU6050,首先对MPU6050惯性测量单元进行初始化。
步骤(2)通过上位机实现MPU6050惯性测量单元输出加速度信号角速度信号的采集;并通过matlab提供的低通滤波函数filter对采集到的加速度信号和角速度信号进行低通滤波处理。
步骤(3)通过选取30个采样数据所历经的时间作为滑动时间窗口,然后对滤波后的加速度信号和角速度信号求取自适应阈值的步骤具体包括:
步骤①自适应加速度上阈值是通过求取滑动时间窗口内的正向加速度信号的均值来实现的,为自适应加速度上阈值,取滑动时间窗口内的正向加速度采样个数为30,i是一个变量,Ai为滑动时间窗口内正向加速度的值,自适应加速度上阈值计算公式为:
步骤②自适应加速度下阈值是通过求取滑动时间窗口内的负向加速度信号的均值来实现的,为自适应加速度下阈值,取滑动时间窗口内的负向加速度采样个数为30,k是一个变量,Ak为滑动时间窗口内负向加速度的值,自适应加速度下阈值计算公式为:
步骤③自适应角速度上阈值是通过求取滑动时间窗口内的正向角速度信号的均值来实现的,为自适应角速度上阈值,取滑动时间窗口内的正向角速度采样个数为30,i是一个变量,ωi为滑动时间窗口内正向角速度的值,自适应角速度上阈值计算公式为:
步骤④自适应角速度下阈值是通过求取滑动时间窗口内的负向角速度信号的均值来实现的,为自适应角速度下阈值,取滑动时间窗口内的负向角速度采样个数为30,k是一个变量,ωk为滑动时间窗口内负向角速度的值,自适应角速度下阈值计算公式为:
步骤(4)通过将步骤(3)中求得的自适应阈值条件作为步数检测的条件,最终通过判定当前时刻的加速度信号和角速度信号是否满足步数检测的条件,实现步数的检测。