步长计算装置及方法
技术领域
本发明涉及通信技术领域,尤其涉及一种步长计算装置及方法。
背景技术
可穿戴设备是继智能手机之后又一个被普及使用的科技产物,用以进一步智能化、简便化人们的生活和工作。对于现有的用于记录跑步功能的智能运动类穿戴终端来说,计算运动数据(距离)主要依赖于GPS(Global Positioning System,全球定位系统)数据和记步数据,虽然通过GPS数据可以通过公式计算得到用户的移动距离,但是由于采样间隔以及采样点自身的定位偏移,计算出来的移动距离会存在一定的偏差;另外,一般来说,GPS功耗都比较大,不适合长时间使用。对于记步数据来说,通常利用G Sensor(Accelerometer-sensor,加速度传感器)进行统计,但是由于步长数据与实际用户的步长存在偏差,同样会存在计算偏差。
中国专利CN103053119公开了一种用于估计行人的步长的方法和便携式终端,其通过便携式终端所搭载的加速度计和陀螺仪来检测行人行走时的加速度和角速度,确定终端的摆动幅度,进而判断终端在行人身体中的携带位置,据此估计行人的步长,但仍然会存在偏差。
发明内容
本发明的目的是提供一种步长计算装置及方法,采用动态的方法对步长进行补偿修正,有效解决现有技术中计算出的步长不够精确的技术问题。
本发明提供的技术方案如下:
一种步长计算装置,包括:
处理器,用于处理各指令;及
存储器,用于存储多条指令,所述指令适用于处理器加载并执行;所述多条指令中包括:
设定用户初始步长;
在多次运动中,分别根据统计得到的用户步数及定位装置的定位信息对初始步长进行补偿得到相应的步长值;
根据步长值建立其与步频和速度之间的函数关系式;
获取当前步频和当前速度,根据所述函数关系式得到当前步长。
在本技术方案中,根据步数和定位信息对初始步长进行动态调整,建立不同运动状态下步长的函数关系式,此后只要得到当前步频和当前速度,就能准确的得到当前步长,简单方便。
进一步优选地,在指令在多次运动中,分别根据统计得到的用户步数及定位装置的定位信息对初始步长进行补偿得到相应的步长值中,包括:
在每次运动中,根据加速度数据获取步数,并结合初始步长计算得到运动距离;
根据位置装置获取该次运动过程中的定位信息,计算得到与初始位置之间的定位距离;
根据所述运动距离与定位距离之间的差值对初始步长进行补偿得到相应的步长值。
在本技术方案中,根据计算得到的运动距离和定位得到的定位距离动态对初始步长进行补偿,提高用户体验。
进一步优选地,在指令根据所述运动距离与定位距离之间的差值对初始步长进行补偿得到相应的步长值中,包括:
计算运动距离与定位距离之间的差值;
根据所述差值与步数得到补偿值;
根据所述补偿值对初始步长进行补偿,更新步长。
进一步优选地,在指令根据所述补偿值对初始步长进行补偿之后,还包括:
判断补偿值是否小于补偿阈值;若是,停止步长更新;否则,跳转至指令根据加速度数据获取步数,并结合初始步长计算得到运动距离。
在本技术方案中,不断根据补偿值对步长进行更新,同时结合步频和运动速度建立关系,以此更加准确的估算步长,提高运动距离测量的精确度。
进一步优选地,在指令根据步长值建立其与步频和速度之间的函数关系式中,包括:
建立单隐藏层神经网络;
根据运动中的步频、速度以及得到的步长值对所述单隐藏层神经网络进行训练,建立步长值与步频和速度之间的关系;
在指令获取当前步频和当前速度,根据所述函数关系式得到当前步长中,具体为:
获取当前步频和当前速度;
将所述当前步频和当前速度输入完成训练的单隐藏层神经网络,输出得到当前步长。
在本技术方案中,根据步数和定位信息对初始步长进行动态调整,并根据得到的数据对建立的单隐藏层神经网络进行训练建立关系,此后只要得到当前步频和当前速度,就能准确的得到当前步长,提高采集运动数据的准确性。
本发明还提供了一种步长计算方法,包括:
设定用户初始步长;
在多次运动中,分别根据统计得到的用户步数及定位装置的定位信息对初始步长进行补偿得到相应的步长值;
根据步长值建立其与步频和速度之间的函数关系式;
获取当前步频和当前速度,根据所述函数关系式得到当前步长。
在本技术方案中,根据步数和定位信息对初始步长进行动态调整,建立不同运动状态下步长的函数关系式,此后只要得到当前步频和当前速度,就能准确的得到当前步长,简单方便。
进一步优选地,在步骤在多次运动中,分别根据统计得到的用户步数及定位装置的定位信息对初始步长进行补偿得到相应的步长值中,包括:
在每次运动中,根据加速度数据获取步数,并结合初始步长计算得到运动距离;
根据位置装置获取该次运动过程中的定位信息,计算得到与初始位置之间的定位距离;
根据所述运动距离与定位距离之间的差值对初始步长进行补偿得到相应的步长值。
在本技术方案中,根据计算得到的运动距离和定位得到的定位距离动态对初始步长进行补偿,提高用户体验。
进一步优选地,在步骤根据所述运动距离与定位距离之间的差值对初始步长进行补偿得到相应的步长值中,包括:
计算运动距离与定位距离之间的差值;
根据所述差值与步数得到补偿值;
根据所述补偿值对初始步长进行补偿,更新步长。
进一步优选地,在步骤根据所述补偿值对初始步长进行补偿之后,还包括:
判断补偿值是否小于补偿阈值;若是,停止步长更新;否则,跳转至步骤根据加速度数据获取步数,并结合初始步长计算得到运动距离。
在本技术方案中,不断根据补偿值对步长进行更新,同时结合步频和运动速度建立关系,以此更加准确的估算步长,提高运动距离测量的精确度。
进一步优选地,在步骤根据步长值建立其与步频和速度之间的函数关系式中,包括:
建立单隐藏层神经网络;
根据运动中的步频、速度以及得到的步长值对所述单隐藏层神经网络进行训练,建立步长值与步频和速度之间的关系;
在步骤获取当前步频和当前速度,根据所述函数关系式得到当前步长中,具体为:
获取当前步频和当前速度;
将所述当前步频和当前速度输入完成训练的单隐藏层神经网络,输出得到当前步长。
在本技术方案中,根据步数和定位信息对初始步长进行动态调整,并根据得到的数据对建立的单隐藏层神经网络进行训练建立关系,此后只要得到当前步频和当前速度,就能准确的得到当前步长,提高采集运动数据的准确性。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对倒置定量气雾剂阀门的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明中步长计算装置示意图;
图2是本发明中步长计算方法一种实施方式流程示意图;
图3是本发明中步长计算方法另一种实施方式流程示意图;
图4是本发明中步长计算方法另一种实施方式流程示意图;
图5是本发明中步长计算方法另一种实施方式流程示意图。
附图标号说明:
100-步长计算装置,110-处理器,120-存储器。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中的只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。
如图1所示为本发明提供的步长计算装置示意图,具体该步长计算装置应用于终端设备,如运动手环、手机等,且在该步长计算装置100中包括:定位装置,如GPS定位模块,用于对用户的位置信息进行定位;还包括加速度计(包括三轴陀螺仪、三轴加速度传感器等),用于获得用户的步数。此外,在该步长计算装置100中包括:处理器110,用于处理各指令;及存储器120,用于存储多条指令,指令适用于处理器加载并执行。
在一种实施方式中,在该多条指令中包括:设定用户初始步长;在多次运动中,分别根据统计得到的用户步数及定位装置的定位信息对初始步长进行补偿得到相应的步长值;根据步长值建立其与步频和速度之间的函数关系式;获取当前步频和当前速度,根据函数关系式得到当前步长。
在本实施方式中,在计算步长之前,首先建立步长与步频和速度之间的关系式,在建立关系式的过程中,首先根据用户的身高等参数估算出用户步长,将其设定为初始步长;使用定位装置记录初始位置信息,运动一段时间(如运动10s、20s等)后,使用定位装置更新当前位置信息,使用加速度计获得用户步频和速度并得到步数;对初始步长进行补偿得到步长值之后,建立步长与步频和速度之间的关系,以此后续能够更准确的计算出步长的估计值。要说明的是,考虑到同一步长计算装置(终端设备)基本是同一用户使用,多用户混用情况较少,这里忽略身高因素,即当前步长计算装置只针对当前用户建立函数关系式。
对上述实施方式进行改进得到本实施方式,在本实施方式中,该多条指令中包括:设定用户初始步长;在每次运动中,根据加速度数据获取步数,并结合初始步长计算得到运动距离;根据位置装置获取该次运动过程中的定位信息,计算得到与初始位置之间的定位距离;根据运动距离与定位距离之间的差值对初始步长进行补偿得到相应的步长值;根据步长值建立其与步频和速度之间的函数关系式;获取当前步频和当前速度,根据函数关系式得到当前步长。
在本实施方式中,在计算步长之前,首先建立步长与步频和速度之间的关系式,在建立关系式的过程中,首先根据用户的身高等参数估算出用户步长,将其设定为初始步长;使用定位装置记录初始位置信息,运动一段时间(如运动10s、20s等)后,使用定位装置更新当前位置信息,并根据当前位置信息和初始位置信息计算得到运动的定位距离信息;与此同时,使用加速度计获得用户步频和速度得到步数,同时根据该步数和初始步长计算得到运动距离。之后,计算定位距离与运动距离之间的差值,并根据该差值对初始步长进行补偿得到步长值,并建立步长值与步频和速度之间的关系,以此后续能够更准确的计算出步长的估计值。
在一实例中,定位装置为GPS定位模块,使用PDR(Pedestrian Dead Reckoning,步行者行位推算)计算运动距离。在建立关系式的过程中,首先使用GPS定位得到当前位置信息,同时设定PDR为0。运动一段时间后,更新 GPS坐标和PDR坐标(pdr_x,pdr_y),并计算GPS坐标和PDR坐标之间的偏差,并将该偏差换算成距离,并以此对初始步长进行补偿。
对上述实施方式进行改进得到本实施方式,在本实施方式中,该多条指令中包括:设定用户初始步长;在每次运动中,根据加速度数据获取步数,并结合初始步长计算得到运动距离;根据位置装置获取该次运动过程中的定位信息,计算得到与初始位置之间的定位距离;计算运动距离与定位距离之间的差值;根据差值与步数得到补偿值;根据补偿值对初始步长进行补偿,更新步长;根据步长值建立其与步频和速度之间的函数关系式;获取当前步频和当前速度,根据函数关系式得到当前步长。
在本实施方式中,在计算步长之前,首先建立步长与步频和速度之间的关系式,在建立关系式的过程中,首先根据用户的身高等参数估算出用户步长,将其设定为初始步长;使用定位装置记录初始位置信息,运动一段时间(如运动10s、20s等)后,使用定位装置更新当前位置信息,并根据当前位置信息和初始位置信息计算得到运动的定位距离信息;与此同时,使用加速度计获得用户步频和速度得到步数,同时根据该步数和初始步长计算得到运动距离。之后,计算定位距离与运动距离之间的差值,并根据该差值和步长得到补偿值,进而根据该补偿值对初始步长进行补偿,以此循环直到计算得到的补偿值小于补偿阈值,停止步长更新;否则,在运动之后,重新计算运动距离和定位距离,对补偿后的步长进一步进行补偿,直到补偿值小于补偿阈值停止。在本实施方式中,补偿阈值根据实际情况进行设定,如可以设定为10cm、20cm等,这里不做具体限定。
在一实例中,设定初始步长为StepL0,定位装置为GPS定位模块,使用 PDR(Pedestrian Dead Reckoning,步行者行位推算)计算运动距离,用以以较低功耗提供基于参考点(GPS采样点)的位置信息,其基于陀螺仪数据获得运动方向,基于加速度数据获得步数,并结合步长计算出运动距离。具体,获取 GPS采样点后,将该采样点设为参考点G0,同时复位PDR,此时PDR的位置信息为(0,0),在后续的10s运动阶段,PDR相对于参考点(GPS采样点)计算出运动距离。到下一个GPS采样点时,计算出PDR的位置信息和新的GPS 采样点之间的距离偏差L,结合PDR的步数信息Step_count,计算得到步长的补偿值L/Step_count,并根据该补偿值对初始步长进行更新得到新的步长值 StepL1=StepL0+L/Step_count。
之后,在当前GPS采样点,再一次复位PDR,并重复之前的步骤,通过距离偏差L对新的步长值进一步进行补偿,以此获得越来越准确的步长值,以此循环,直到补偿值L/Step_count小于设定的补偿阈值,停止步长的更新,并保存当前步长StepL作为最终的步长值,同时保留步频f和速度v,用于后续建立函数关系式。
对上述实施方式进行改进得到本实施方式,在本实施方式中,该多条指令中包括:设定用户初始步长;在每次运动中,根据加速度数据获取步数,并结合初始步长计算得到运动距离;根据位置装置获取该次运动过程中的定位信息,计算得到与初始位置之间的定位距离;计算运动距离与定位距离之间的差值;根据差值与步数得到补偿值;根据补偿值对初始步长进行补偿,更新步长;建立单隐藏层神经网络;根据运动中的步频、速度以及得到的步长值对单隐藏层神经网络进行训练,建立步长值与步频和速度之间的关系;获取当前步频和当前速度;将当前步频和当前速度输入完成训练的单隐藏层神经网络,输出得到当前步长。
在本实施方式中,根据步数和定位信息对初始步长进行动态调整得到最终的步长值,并根据得到的数据对建立的单隐藏层神经网络进行训练建立关系,此后只要得到当前步频和当前速度,就能准确的得到当前步长,以此基于传感器数据采集和模式识别的方式精确完成步长的计算,提高数据采集的准确性,且根据该步长能够更加准确的测量出用户的运动距离。具体对单隐藏层神经网络的具体形式不做具体限定,如可以为BP神经网络等,只要能够实现本发明的目的,都包括在内。
本发明还提供了一种步长计算方法,应用于终端设备,如运动手环、手机等,在该应用终端中包括:定位装置,如GPS定位模块,用于对用户的位置信息进行定位;还包括加速度计(包括三轴陀螺仪、三轴加速度传感器等),用于获得用户的步数。如图2所示,在该步长计算方法一种实施方式中包括以下步骤:S10设定用户初始步长;S20在多次运动中,分别根据统计得到的用户步数及定位装置的定位信息对初始步长进行补偿得到相应的步长值;S30根据步长值建立其与步频和速度之间的函数关系式;S40获取当前步频和当前速度,根据函数关系式得到当前步长。
在本实施方式中,在计算步长之前,首先建立步长与步频和速度之间的关系式,在建立关系式的过程中,首先根据用户的身高等参数估算出用户步长,将其设定为初始步长;使用定位装置记录初始位置信息,运动一段时间(如运动10s、20s等)后,使用定位装置更新当前位置信息,使用加速度计获得用户步频和速度并得到步数;对初始步长进行补偿得到步长值之后,建立步长与步频和速度之间的关系,以此后续能够更准确的计算出步长的估计值。要说明的是,考虑到同一步长计算装置(终端设备)基本是同一用户使用,多用户混用情况较少,这里忽略身高因素,即当前步长计算装置只针对当前用户建立函数关系式。
对上述实施方式进行改进得到本实施方式,如图3所示,在本实施方式中,该多条指令中包括:S10设定用户初始步长;S21在每次运动中,根据加速度数据获取步数,并结合初始步长计算得到运动距离;S22根据位置装置获取该次运动过程中的定位信息,计算得到与初始位置之间的定位距离;S23根据运动距离与定位距离之间的差值对初始步长进行补偿得到相应的步长值;S30根据步长值建立其与步频和速度之间的函数关系式;S40获取当前步频和当前速度,根据函数关系式得到当前步长。
在本实施方式中,在计算步长之前,首先建立步长与步频和速度之间的关系式,在建立关系式的过程中,首先根据用户的身高等参数估算出用户步长,将其设定为初始步长;使用定位装置记录初始位置信息,运动一段时间(如运动10s、20s等)后,使用定位装置更新当前位置信息,并根据当前位置信息和初始位置信息计算得到运动的定位距离信息;与此同时,使用加速度计获得用户步频和速度得到步数,同时根据该步数和初始步长计算得到运动距离。之后,计算定位距离与运动距离之间的差值,并根据该差值对初始步长进行补偿得到步长值,并建立步长值与步频和速度之间的关系,以此后续能够更准确的计算出步长的估计值。
对上述实施方式进行改进得到本实施方式,如图4所示,在本实施方式中,该多条指令中包括:S10设定用户初始步长;S21在每次运动中,根据加速度数据获取步数,并结合初始步长计算得到运动距离;S22根据位置装置获取该次运动过程中的定位信息,计算得到与初始位置之间的定位距离;S231计算运动距离与定位距离之间的差值;S232根据差值与步数得到补偿值;S233根据补偿值对初始步长进行补偿,更新步长;S30根据步长值建立其与步频和速度之间的函数关系式;S40获取当前步频和当前速度,根据函数关系式得到当前步长。
在本实施方式中,在计算步长之前,首先建立步长与步频和速度之间的关系式,在建立关系式的过程中,首先根据用户的身高等参数估算出用户步长,将其设定为初始步长;使用定位装置记录初始位置信息,运动一段时间(如运动10s、20s等)后,使用定位装置更新当前位置信息,并根据当前位置信息和初始位置信息计算得到运动的定位距离信息;与此同时,使用加速度计获得用户步频和速度得到步数,同时根据该步数和初始步长计算得到运动距离。之后,计算定位距离与运动距离之间的差值,并根据该差值和步长得到补偿值,进而根据该补偿值对初始步长进行补偿,以此循环直到计算得到的补偿值小于补偿阈值,停止步长更新;否则,在运动之后,重新计算运动距离和定位距离,对补偿后的步长进一步进行补偿,直到补偿值小于补偿阈值停止。在本实施方式中,补偿阈值根据实际情况进行设定,如可以设定为10cm、20cm等,这里不做具体限定。
对上述实施方式进行改进得到本实施方式,如图5所示,在本实施方式中,该多条指令中包括:S10设定用户初始步长;S21在每次运动中,根据加速度数据获取步数,并结合初始步长计算得到运动距离;S22根据位置装置获取该次运动过程中的定位信息,计算得到与初始位置之间的定位距离;S231计算运动距离与定位距离之间的差值;S232根据差值与步数得到补偿值;S233根据补偿值对初始步长进行补偿,更新步长;S31建立单隐藏层神经网络;S32根据运动中的步频、速度以及得到的步长值对单隐藏层神经网络进行训练,建立步长值与步频和速度之间的关系;S41获取当前步频和当前速度;S42将当前步频和当前速度输入完成训练的单隐藏层神经网络,输出得到当前步长。
在本实施方式中,根据步数和定位信息对初始步长进行动态调整得到最终的步长值,并根据得到的数据对建立的单隐藏层神经网络进行训练建立关系,此后只要得到当前步频和当前速度,就能准确的得到当前步长,以此基于传感器数据采集和模式识别的方式精确完成步长的计算,提高数据采集的准确性,且根据该步长能够更加准确的测量出用户的运动距离。具体对单隐藏层神经网络的具体形式不做具体限定,如可以为BP神经网络等,只要能够实现本发明的目的,都包括在内。
在一实例中,设定初始步长为StepL0,定位装置为GPS定位模块,使用 PDR(Pedestrian Dead Reckoning,步行者行位推算)计算运动距离,用以以较低功耗提供基于参考点(GPS采样点)的位置信息,其基于陀螺仪数据获得运动方向,基于加速度数据获得步数,并结合步长计算出运动距离。具体,获取 GPS采样点后,将该采样点设为参考点G0,同时复位PDR,此时PDR的位置信息为(0,0),在后续的10s运动阶段,PDR相对于参考点(GPS采样点)计算出运动距离。到下一个GPS采样点时,计算出PDR的位置信息和新的GPS 采样点之间的距离偏差L,结合PDR的步数信息Step_count,计算得到步长的补偿值L/Step_count,并根据该补偿值对初始步长进行更新得到新的步长值 StepL1=StepL0+L/Step_count。
之后,在当前GPS采样点,再一次复位PDR,并重复之前的步骤,通过距离偏差L对新的步长值进一步进行补偿,以此获得越来越准确的步长值,以此循环,直到补偿值L/Step_count小于设定的补偿阈值,停止步长的更新,并保存当前步长StepL作为最终的步长值,同时保留步频f和速度v。
获得多组补偿值、步频f和速度v之后,建立单隐藏层BP神经网络,并将多组数据输入该神经网络进行训练。完成网络训练之后,获取当前的步频f 和速度v,输入该神经网络,即可输出相应的步长。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。