用于测量锻炼活动中的效能的方法和系统以及用于该系统中的运动

申请号 CN99800174.0 申请日 1999-02-04 公开(公告)号 CN1256752A 公开(公告)日 2000-06-14
申请人 皇家菲利浦电子有限公司; 发明人 E·P·N·达门; C·施勒;
摘要 一种用于测量沿着表面跑步或步行时的速度的系统。一个 加速 度 传感器 (8)测量在前进方向上的加速度,并提供一个被放大(10)并且基本上由 模数转换 器 (12)所 采样 的加速度 信号 。该 数字信号 由 微处理器 (14)所述处理,其执行一个 算法 ,从数字化的加速度信号确定步幅长度和步幅时间并计算速度和通过的距离。如此获得的信息通过射频发射器(16)所发射,并由在 手表 或其它设备(2)中的射频接收器(18)所接收,该手表或其它设备包括可由跑步者或步行者察看的显示器(20)。该速度和通过的距离与其它有用的信息一同被显示在显示器(20)上,这些信息例如平均速度、最大速度、总通过距离、所消耗的卡里路、以及心率。
权利要求

1.一种用于测量锻炼活动中的效能的系统,其中包括:
加速传感器(8),用于测量在锻炼者的脚的运动方向上的加速 度,并用于根据所述加速度提供一个加速度信号
信号处理装置(14,26)包括:
用于分析加速度信号的波形和用于从该分析确定由锻炼者的脚 迈出一步的过程中脚的运动开始和结束的装置(14);
用于在所述运动的开始和所述结束之间对加速度信号求单积分 和双重积分的装置(14),以分别在步幅的过程中计算作为时间的函数 的脚步速度,以及计算作为时间的函数的脚步通过距离;
用于通过用在脚运动结束时的速度除以步幅结束和开始之间的 持续时间来补偿加速度误差从而计算加速度误差的装置(14);
用于通过在脚运动的结束和开始之间的所述持续时间上求加速 度误差的双重积分计算距离误差的装置(14);
用于通过从步幅过程中通过的距离减去距离误差而计算校正的 距离的装置(14)。
2.根据权利要求1所述的系统,其特征在于,该信号处理装置 还包括:
用于通过用相继步幅之间的持续时间除校正距离计算锻炼者的 速度的装置(14)。
3.根据权利要求1或2所述的系统,其特征在于,该运动方向 被选择为基本上与运动者的脚的脚跟和脚趾之间的直线相平行。
4.根据权利要求1、2或3所述的系统,其特征在于,该运动方 向被选择为基本上与运动者的脚的脚跟和脚趾之间的直线相垂直。
5.根据权利要求1、2、3或4所述的系统,其特征在于,其中 还包括用于把锻炼者的个人数据输入到信号处理装置(14,26)的装置 (22,24)。
6.根据权利要求5所述的系统,其特征在于,该数据包括锻炼 者的质量,该信号处理装置从速度和质量计算由锻炼者所消耗的卡里 路数。
7.根据权利要求6所述的系统,其特征在于,该数据包括锻炼 者的心率,该信号处理器(14,26)从该心率和单位时间所消耗的卡里 路计算一个健康指示。
8.根据权利要求1、2、3、4、5、6或7所述的系统,其特征在 于,还包括耦合到信号处理装置(14,26)用于显示锻炼参数的显示装 置(20)。
9.根据权利要求8所述的系统,其特征在于,该锻炼参数至少 包括如下参数中的一个:当前速度、平均速度、最大速度、步幅长度、 通过距离、持续时间、所消耗的卡里路数、以及健康指数。
10.根据权利要求8所述的系统,其特征在于,其中还包括用于 把该信号处理装置(14)耦合到显示装置(20)的无线发射器(16)和接 收器(18)。
11.一种运动(4),其中包括一个用于权利要求1至10所述的 系统中的加速度传感器(8),该加速度传感器(8)被安装用于测量该运 动鞋(4)的运动方向上的加速度,用于根据所述加速度提供加速度信 号。
12.根据权利要求11所述的运动鞋,其特征在于,该运动方向 基本上与该鞋(4)的鞋跟鞋头之间的直线相平行。
13.根据权利要求11所述的运动鞋,其特征在于,该运动方向 基本上与该鞋(4)的鞋跟与鞋头之间的直线相垂直。
14.根据权利要求11、12、或13所述的运动鞋,其特征在于, 还包括用于发送与该加速度信号有关或从该加速度信号推导出来的 数据的发射器(16)。
15.根据权利要求11、12、13或14所述的运动鞋,其特征在于, 还包括信号处理装置(14),该信号处理装置包括:
用于分析加速度信号的波形和用于从该分析确定由锻炼者的脚 迈出一步的过程中脚的运动开始和结束的装置(14);
用于在所述运动的开始和所述结束之间对加速度信号求单积分 和双重积分的装置(14),以分别在步幅的过程中计算作为时间的函数 的脚步速度,以及计算作为时间的函数的脚步通过距离;
用于通过用在脚运动结束时的速度除以步幅结束和开始之间的 持续时间来补偿加速度误差从而计算加速度误差的装置(14);
用于通过在脚运动的结束和开始之间的所述持续时间上求加速 度误差的双重积分计算距离误差的装置(14);
用于通过从步幅过程中通过的距离减去距离误差而计算校正的 距离的装置(14)。
16.根据权利要求11、12、13、14或15所述的运动鞋,其特征 在于,该信号处理装置还包括:
用于通过用相继步幅之间的持续时间除该校正距离计算锻炼者 的速度的装置(14)。
17.一种测量锻炼活动过程中的效能的方法,其中包括如下步 骤:
通过加速度传感器(8)测量在锻炼者的脚部运动方向上的加速 度,并根据所述加速度提供加速度信号;
处理该加速度信号,该处理过程包括如下步骤:
分析加速度信号的波形,并从该分析确定由锻炼者的脚迈出一步 的过程中脚的运动开始和结束;
在所述运动的开始和所述结束之间对加速度信号求单积分和双 重积分,以分别在步幅的过程中计算作为时间的函数的脚步速度,以 及计算作为时间的函数的脚步通过距离;
通过用在脚运动结束时的速度除以步幅结束和开始之间的持续 时间来补偿加速度误差从而计算加速度误差;
通过在脚运动的结束和开始之间的所述持续时间上求加速度误 差的双重积分计算距离误差;
通过从步幅过程中通过的距离减去距离误差而计算校正的距 离。
18.根据权利要求17所述的方法,其特征在于,该信号处理还 包括如下步骤:
通过用相继步幅之间的持续时间除校正距离计算锻炼者的速 度。
19.根据权利要求17或18所述的方法,其特征在于,该运动方 向被选择为基本上与运动者的脚的脚跟和脚趾之间的直线相平行。
20.根据权利要求17、18或19所述的方法,其特征在于,该运 动方向被选择为基本上与运动者的脚的脚跟和脚趾之间的直线相垂 直。

说明书全文

发明涉及一种用于确定在跑步或步行中的速度、经过的距离、 持续时间、平均速度、由人或动物所消耗的卡里路的方法和系统。本 发明还涉及用于该系统和方法中的运动或旅游鞋。

在以前,事实表明定期锻炼是抵抗心血管疾病的重要因素。并且 还表明定期锻炼对人的精神状况有正面的影响。因此许多个人着手于 他们的健康计划,如定期慢跑、跑步或步行。跑步被认为对身体有治 疗效果。它增加心健康、帮助降低血压、降低与心脏病有关的胆固 醇以及减轻体重。由于步行、慢跑和跑步的人数增加,同样辅助进行 步行、慢跑或跑步的人们的设备的数目也增加。已经在市场上常见的 这种设备通常称为计步器或步数计。如果跑步者或步行者的步幅长度 为常数,则该计步器给出跑步者或步行者的速度测量值以及经过的距 离。但是,步幅长度通常不是常数,并且不由各种速度所确定,因此 这些设备不是非常准确。

测量跑步的速度的现有设备不能输出步幅长度。这些方法中的一 种在美国专利第4,578,769号中描述,其通过测量鞋与地面之间的接 触时间计算跑步或步行速度。但是,接触时间与速度之间的关系仅对 于超过8公里/小时的跑步速度才为线性。用这种设备不可能准确地 确定步行时的步行速度和通过距离。另外,所述关系和所述确定方法 依赖于个人情况。

一种更准确的设备可从国际申请号WO 97/21983的文献中得知。 在这种已知的设备中,执行数学计算以确定每步的距离和高度的加速 计和旋转传感器以及电路被置于跑步者的鞋底中。这种已知的设备采 用三个加速度传感器和三个旋转传感器用于测量跑步者的脚的位移 量。可以理解这种已知的设备是复杂的并且相对昂贵。

本发明的一个目的是提供一种新的和改进的用于辅助跑步的测 量方法和系统,其克服现有设备的缺点,并且相对便宜和简单并且便 于使用。

本发明的另一个目的是提供一种跑步辅助设备,用其可以容易和 精确地确定跑步者的速度。

本发明的又一个目的是提供一种跑步辅助设备,用其可以容易和 精确地确定跑步者的通过距离。

本发明的另一个目的是提供一种跑步辅助设备,用其可以容易和 精确地确定平均和最大速度、跑步者的总通过距离、跑步者的步幅长 度、持续时间、由跑步者所消耗的卡里路数。

为了实现上述和其它目的,根据本发明,在此提供一种用于测量 锻炼活动中的效能的系统,其中包括:

加速度传感器,用于测量在锻炼者的脚的运动方向上的加速度, 并用于根据所述加速度提供一个加速度信号

信号处理装置包括:

用于分析加速度信号的波形和用于从该分析确定由锻炼者的脚 迈出一步的过程中脚的运动开始和结束的装置;

用于在所述运动的开始和所述结束之间对加速度信号求单积分 和双重积分的装置,以分别在步幅的过程中计算作为时间的函数的脚 步速度,以及计算作为时间的函数的脚步通过距离;

用于通过用在脚运动结束时的速度除以步幅结束和开始之间的 持续时间来补偿加速度误差从而计算加速度误差的装置;

用于通过在脚运动的结束和开始之间的所述持续时间上求加速 度误差的双重积分计算距离误差的装置;

用于通过从步幅过程中通过的距离减去距离误差而计算校正的 距离的装置。

用于本发明中以确定跑步或步行时的速度和通过距离的方法是 基于持续监控跑步者或步行者的脚的加速度而进行的。这是至少通过 一个附着到脚或鞋上或者安装在跑步者的鞋中测量加速度的加速计 而实现的,如果要监控跑步者的前进速度和步幅长度,则测量与脚趾 和脚踝之间的直线相平行或与鞋头鞋跟之间的直线相平行的前进 方向上的加速度;或者如果要测量跑步者的垂直速度和跳跃高度,则 测量与上述方向相垂直方向上的加速度;或者测量用户感兴趣的在锻 炼过程中的效能的任何方向上的加速度。由加速度计所产生的信号被 处理和分析。

用于解释加速度信号的算法基本上包括三个主要功能,即,步幅 的开始和结束的确定、加速度信号的双重积分、以及双重积分信号的 校正。步幅的开始和结束的确定通过分析加速度信号的波形而完成。 加速度信号在开始和结束之间的单积分得出作为时间的一个函数的 脚步速度,而加速度的双重积分给出作为时间的函数的脚步距离。

但是,如加速度传感器所感应的加速度与脚或鞋在步行或跑步方 向上的实际加速度不同。由于脚或鞋与地面之间的度不断改变,因 此在步行或跑步方向上的加速度与由加速度传感器所感应的加速度 之间的关系复杂。另外,还由于该改变的角度,以及加速度导致 附加的复杂信号。但是,本发明人认识到当利用进一步的条件时,不 需要知道作为时间的函数的角度值。

在步幅的结束时,脚或鞋的速度为0,因为它落在了地面上。但 是由于加速度信号的附加成分,从步幅的开始到步幅的结束之间的加 速度信号的单积分的结果,即在步幅结束时脚或鞋的速度,不等于0。 该附加成分可从步幅结束时的速度计算,并被用于计算步幅过程中的 校正的通过距离。跑步者的速度通过把该校正距离除以相继的步幅之 间的持续时间而计算。这样,通过的距离和跑步者的速度可以被精确 计算,而不采用多个加速度和旋转传感器。

通过输入个人数据,利用锻炼者的质量,可以计算由锻炼所消耗 的卡里路数。通过添加心率监控器,并结合心率数据和由锻炼在单位 时间内消耗的卡里路,则可以产生一个表示锻炼者的健康状况或状态 的数值。该跑步辅助系统还可以包括一个缠绕在手腕或其它地方的显 示单元,它显示例如当前速度、步幅长度、持续时间、平均速度、最 大速度、总的通过距离、消耗的卡里路以及健康指示等数据。包括加 速度传感器的单元和信号处理装置与显示单元之间的通信最好通过 传感器单元中的无线发射器和显示单元中的接收器而实现。

加速度传感器可以包含在一个要附着在锻炼者的脚上的单元。该 单元可以包含在运动鞋的鞋底中,该单元还可以包括信号处理装置和 发射器。

从下文参照附图对本发明的实施例的描述中,本发明的上述和其 它特点和优点将变得更加清楚,其中:

图1为示出传感器单元附着到脚上以及接收和显示单元缠绕在 手腕上的跑步者的透视图;

图2为具有按照本发明的原理进行工作的内置加速度传感器的 运动鞋的部分截面示图;

图3示出在与跑步者所穿着的运动鞋的鞋头和鞋跟之间的直线 平行的方向上的跑步者的脚的加速度;

图4示出构成跑步辅助系统的电子单元的方框图

图5示出当跑步者以6公里/小时的速度步行时加速度传感器信 号的波形的一个实例;

图6示出当跑步者以9公里/小时的速度跑步时加速度传感器信 号的波形的一个实例;

图7示出用于计算速度和由跑步者所通过的距离的算法的主程 序的流程图;以及

图8示出用于计算跑步者的速度的程序的流程图。

在附图和优选实施例的描述中所采用的相同参考标号表示相同 或非常类似的条目。

图1示出带有绕在其手腕上的显示单元2并穿着运动鞋4的一个 步行者或跑步者。在其中一只鞋4上附着传感器单元6。但是,传感 器单元6还可以包含在鞋底中,这在图2中更加详细地示出。传感器 6还可以直接附着到人的脚上。图4示出在显示单元2和传感器6中 的电子装置的方框图。传感器单元6包括如此安装的一个加速度传感 器8,它感应在基本上与鞋4的鞋头和鞋跟之间的直线相平行的方向 上的加速度,或者如果这人把传感器单元6直接附着在脚上,则该传 感器感应与该人的脚趾和脚跟之间的直线相平行的方向上的加速 度。图3示出穿着具有内置传感器单元6的跑步者。箭头表明沿着鞋 4的鞋头和鞋跟之间的直线上的鞋4的加速度方向。加速度传感器8 应当被安装为对图3中的箭头所示的方向敏感。适用于此目的的加速 度传感器例如为由Murata所生产的PKGS-OOLA-TC型压电加速计。 传感器单元6还包括把来自加速度传感器8的加速度信号AS放大到 适合于把放大的模拟加速度信号转换为数字信号模数转换器 (ADC)12的电平。该数字信号被提供给微处理器14,它对加速度传感 器信号的波形进行分析,计算跑步者的速度,步幅长度和其它参数, 并产生用于驱动发射器16的信号。显示单元2包括接收器18和显示 器20。

执行上述传感器单元6的电路功能所需的电子元件可以安装在 一小的印刷电路板上并且装在鞋底内或者置入附着到鞋的一侧或 上部的小盒内。

跑步者或步行者必须能够读取当前的跑步或步行速度、通过的距 离、平均速度、持续时间,等等。为此目的,需要在手表中、在小的 手持设备中带有显示器,或通过任何其它方式由用户所获得。在鞋4 中或附着在鞋上的传感器单元6与绕在手腕或其它部位上的显示单 元2之间的通信是无线通信。数据传输可以非常类似于传感器与周数 计算机(cyclocomputer)的显示单元之间的数据传输。周数计算机从 接近于旋转的自行车轮的传感器接收重复脉冲信号,并根据该信号和 轮的周长计算骑自行车的速度。在作发明中可以采用相同的原理。位 于鞋4中或附着到鞋4上的传感器单元中的微处理器14把以每秒米 数为单位的速度转换为每秒脉冲数,等价于一定的每秒虚拟轮周数。 一个小的射频振荡电路把该脉冲发送到主要包含象标准的周数计算 机这类电子装置的显示单元2。另一个可能情况是发送具有速度和其 它测量数据的信息的信息字节。

在显示器20上监控速度、平均速度、最大速度、经过距离、总 距离、经过时间、时钟和所消耗的卡里路。为了计算所消耗的卡里路, 需要用户的质量,该质量已经按照常规方式输入到显示单元2的计算 机中,例如通过显示单元2上的按键22。为了避免与其它带有相同 测量设备的跑步者或步行者相干扰,该无线传输必须被编码。

加速度传感器8的加速度信号AS表示在前进方向上的鞋4的加 速度,该方向即跑步者的脚趾的方向。尽管由于每一步与前一步相类 似,因此该加速度信号是重复式的,但是输出信号根据跑步和步行的 速度或格有很大的变化。但是,一个重要的方面对于所有步幅来说 是共同的,并且反映在加速度的信号的波形中:脚以步幅的开始时为 静止,并且在步幅结束时再次为静止。这是显而易见的,但是对于加 速度信号的解释和分析来说非常重要。

图5示出一个以6公里/小时的速度步行的人在2.5秒的时间过 程中所放大加速度信号AS的一个实例。相对较小的负峰值BS表示步 幅的开始,其对应于鞋离开地面并开始运动的时刻。在大的负峰值之 后的零交叉ES表示步幅的结束,其对应于鞋再次落在地面上并停止 运动的时刻。两个零交叉之间的时间是步幅时间ST。图6示出对于 一个以9公里/小时的速度跑步的人的加速度信号AS。在该信号中, 相对较小的负峰值也表示步幅的开始,并且零交叉也表示步幅的结 束。

加速度信号AS经过由微处理器14所执行的算法。该算法的第一 主要功能是查找步幅的开始和结束。这是通过分析加速度信号AS的 波形,以及查找在信号中表示步幅的开始的相对较小的负峰值BS和 刚好在表示步幅结束的零交叉BS之前的相对较大的负峰值而实现 的。负峰值可以通过监控加速度信号的第一导数从负变为正的时刻而 检测。另外,加速度信号AS的平滑变型被连续监控。最后,两个极 小值被记录,这两个极小值是在脚离开地面的时刻的总体的最小值和 在较小负峰值BS附近的局部最小值。当在特定负峰值处加速度信号 的数值低于一定的限度时,该峰值被检测。该限度位于平滑信号和最 小值之间的一半处。结合图7的流程图更加具体地解释该峰值查找算 法。在加速度信号AS中,步幅的结束可以相对容易地识别,因为脚 落地时冲击造成高的加速度峰值。但是查找步幅的开始比较困难。当 脚静止于地面上准备以进行下一步时,该加速度信号AS不等于0, 这可以从图5和6中在时刻BS处的波形看出。这是因为以下几个原 因:在脚落地之后冲击恢复缓慢,在落地和脚从地面抬起之间鞋的展 开过程中脚的不断运动,以及由于脚的快速角运动造成重力加速度的 作用减弱。

该算法的第二主要功能是在步幅的开始BS和结束ES之间的积分 时间IT过程中对加速度信号AS的单和双重积分。加速度信号的单积 分得到作为时间函数的脚的速度v(t),而加速度信号的双重积分得 到作为时间的函数的脚的通过距离x(t):

    v(t)=∫a(t)dt,

    x(t)=∫∫a(t)dt2

但是,加速度信号AS不表示脚在步行或跑步方向上的加速度。 因为脚和地面之间不断改变的角度,在跑步或步行方向上的加速度与 由加速度传感器8所感应的加速度之间具有复杂的关系。另外,还因 为该变化的角度,重力加速度也产生一个信号。另一个作用来自于该 电子装置。对于零加速度的信号电压不总是相同,换句话说,由于加 速度传感器8本身的放大器10中的漂移和温度漂移使得加速度信号 的偏移量不能够准确得知。

但是,本发明的一个重要方面是,当利用在步幅结束ES时由于 鞋落在地面上从而鞋的速度为0的条件时,不需要所有这些信号的作 用。但是,由于上述信号作用所造成的加速度的误差,使得从脚开始 运动时步幅的开始BS到脚停止运动时步幅的结束ES之间对加速度信 号的单积分,即在步幅结束时鞋的速度v(t=ES),不等于0。该误差 aerr可以通过把在步幅结束时获得的速度v(t=ES)除以积分时间IT而 计算:

aerr=v(ES)/IT

已知加速度误差aerr,则步幅长度的误差xerr是: x err = 1 2 a err ( IT ) 2

校正的步幅长度xcorr是通过从在积分时间IT中对加速度信号的 双重积分之后得到的步幅长度x(t=ES)减去误差xerr而计算的:

xcorr=x(ES)-xerr

接着通过把校正的步幅长度除以步幅时间ST计算步行或跑步速 度v: v = x corr ST

由于人的步态有一点不规则,并且速度的确定可能有小的偏差, 当通过用所计算速度与前一步的速度取平均所计算速度一定程度上 得到平滑,速度计算的准确度增加。

该系统可以用另外一个在与跑步者平方向相垂直的方向上敏 感的加速度传感器而扩展,该加速度传感器用于与测量步幅长度相同 的方式测量步幅高度或跳跃高度。

步行或跑步速度与跑步或步行的能量消耗之间有合理确切的关 系。如果跑步者的质量已知,可以从速度数据计算总能量消耗。所消 耗的卡里路与速度之间的相互关系是对于步行和跑步来说是线性 的,尽管这两个线性关系之间具有不同的斜率和截距。为此目的,显 示单元2可以具有用于输入的按键22和用于存储跑步者体重的存储 器24,以及用于结合从传感器单元6接收的速度数据与体重数据并 计算跑步者所消耗的卡里路数的某种计算装置26。但是,跑步者的 体重也可以通过安装在运动鞋4中的传感器以与个人体重计相类似 的方式自动进行测量。

可以加到上述系统中的分离系统有例如心率监视器和高度计。心 率与单位时间所消耗的能量之间的关系可以转换为一个表示用户的 健康状况或状态的数字。由该跑步辅助装置所指导的合理锻炼可以测 量作为心率的函数的能量消耗,从中可以估计用户的健康状况,表达 为VO2,max(亳升/分钟/公斤)。

本发明不限于测量人类的锻炼效能。应当理解本发明还可以用于 动物,例如和狗。特别对于马来说,用于感应跳跃高度的附加的加 速度传感器是一个有用的特征。

现在具体参照图7和8所示的流程图具体给出上述算法。图7的 方框中具有如下内容:

1 读AdcX 2 ai=(ai+AdcX)/2 CountInterval=CountInterval+1 3 ai>aiold 3A slopex=True 3B slopex=False 4 CountUpper=3/4*StepTime CountLower=1/4*StepTime
5 ai<minwindowloc CountInterval>CountLower CountInterval<CountUpper 5A minwindowloc=ai 6 ai<minloc 6a minloc=ai 7 xav=(7*xav+ai)/8 8 NOT slopexold AND slopex aiold<minwindow+(xav-minwindow)/2 CountInterval>CountLower CountInterval<CountUpper 8A pp=True vx=0 xp=0 n=0 takeoff=CountInterval 9 aiold<offx-(offx-min)/2 NOT slopexold AND slopex CountInterval>CountLower 9A peak=True 10 peak aiold<offx ai>=offx 10A min=(minloc+min)/2 minwindow=(minwindow+windowloc)/2 minwindowloc=1023 minloc=1023 GOSUB速度的计算 vx=0 xp=0 n=0 pp=False StepTime=CountInterval CountInterval=0 peak=False
11 pp
11A vx=vx+ai/8 xp=xp+vx/8 n=n+1 12 aiold=ai slopexold=slopex

图8的方框中具有如下内容:

20 速度的计算 21 xpshift=(offx/128)*n*(n+1) vxshift=(offt/8)*n 22 n<>0 23 vx>vxshift 23A axoff=(vx-vxshift)/n xpcor=1/2*n*(n+1)*axoff/8 xp=xp-xpshift-xpcor 23B axoff=(vxshift-vx)/n xpcor=1/2*n*(n+1)*xaoff/8 xp=xp-xpshift+xpcor 24 NewSpeedValue=1024*StepTime/xp 25 takeoff<StepTime/2 25A NewSpeedValue=4/3*NewSpeedValue 26 SpeedValue=(SpeedValue+NewSpeedValue)/2 27 返回

在该流程图的说明中,文本左侧的数字表示图7和8中的方框。

图7示出算法主程序的流程图。 1     微处理器14命令模数转换器12获取加速度传感器8的放大

  信号的新数值,并把所获得数值赋于变量AdcX 2     接着,变量AdcX中的数值与变量ai中的数值相平均。如此

  获得的平滑数值再次存储到变量ai中。因此该变量表示在该

  时间点处平滑的加速度值。另外,计数器Countlnterval增

  加1。该计数器计数自步幅开始的周期数,即自前一个步幅

  结束的周期数。 3,3A,3B  将在变量ai中的数值与存储前一个周期的ai数值的

       变量aiold中的数值相比较。如果ai大于aiold,则

       在该时间点处的加速度信号的斜率为正,并且数位

       slopex被置位(方框3A)。如果ai数值小于aiold,则

       数位slopex被复位(方框3B)。 4     在变量StepTime中的数值表示前一步的步幅时间。根据该变

  量,一个窗口被设在CountUpper的数值与CountLower的数

  值中,其中CountUpper等于StepTime乘以3/4,CountLower

  等于StepTime乘以1/4。 5,5A 如果计数器CountInterval在由CountUpper和CountLower

  所设置的窗口中,则把ai的数值与变量minwindowloc中的

  数值相比较。如果ai小于minwindowloc,则minwindowloc

  被赋值为ai,并且该变量保持跟踪时间窗内的ai的最小

  值。 6,6A 如果ai小于minloc,则在后的变量被赋值为ai,使得变量

  minloc保持跟踪在整个步幅内的ai的最小值 7     计算加速度信号的最后8个数值的连续观测值的平均值,得

  到加速度信号的非常平滑的变型。该被存储在xav中的平滑

  变型被用作为查找在脚的运动开始时的最小负峰值的工具

  (图5和6中的BS)。 8,8A 如果计数器CountInterval的数值在由CountUpper和

  CountLower所设置的窗口内,并且显然在此时该加速度信号

  处于负峰值最小值,如果slopexold为False并且slopex

  为True,并且如果该最小值小于minwindow与xav的中间值

  (方框8中的条件),则(方框8A)找到在脚的运动开始时的最

  小负峰值。这是可以开始加速度信号的单积分和双重积分的

  信号,其反映在数位pp的置位以及积分变量vx和xp和积分

  计数器n的初始化中。另外,变量takeoff等于

  CountInterval的数值,因此,当在步幅结束时StepTime为

  已知,可以确定我们是否正在进行步行或跑步。minwindow

  是与该变量,即minwindowloc,有关的局部变量的平滑变

  型。平滑过程在步幅的结束时开始,这将在该算法的随后部

  分示出。 9,9A 如果计数器CountInterval的数值大于CountLower的数

  值,并且如果明确在此时的加速度信号处于负峰值的最小

  值,由于slopexold为False,并且slopex为True,以及

  如果该最小值的数值小于存储在变量offx中的零加速度线

  与作为minloc的平滑变型的min的中间值,则我们找到在步

  幅结束之前与最后的大负峰值相关的大负峰值(该峰值在图5

  和图6中零交叉的左边)。找到该峰值的事实通过对数位Peak

  置位而保留(方框9A)。 10,10A  在查找较大负峰值之后,加速度变量ai的数值与零加速

     度线offx相交叉。查找当Peak为True并且ai大于offx

     以及aiola小于offx(方框10)的时间点(方框10)。该时

     刻非常重要,因为它与步幅结束有关。许多事情与该步幅

     的结束有关(方框10A): a.    计算最小值检测器的平滑变型min和minwindow,并且把其

  局部变型复位到最大值1023; b.    数位Peak和pp被复位; c.    变量StepTime的新值可以被赋值为计数器CountInterval

  中的数值,并且计数器CountInterval被复位为0; d.    计算步行或跑步速度,这是通过专用子程序“速度的计算”

  而实现的,该子程序在下文中说明; e.    在“速度的计算”之后,积分变量vx、xp和n被复位为0,

  尽管这也可以在方框8A中在找到脚运动开始的小负峰值的

  时刻之后进行。 11,11A  如果数位pp为True(方框11),使处理器对加速度ai求

     积分以获得速度vx,并且对该速度求积分以获得距离

     xp(方框11A)。ai和vx的数值除以8以避免变量vx和xp

     变得大于65535,该最大值可以存储在16位变量中。 12    在该算法中的最后步骤是把ai中的数值替换为aiold,并且

  把slopex中的数值替换为slopexold。在此之后,从方框1

  中的循环开始处重新开始该循环。

图8示出子程序“速度的计算”的流程图。 21    微处理器仅仅可以用正整数进行计算。当然,在脚的运动过

  程中,出现正和负加速度。这意味着需要进行特定的映射,

  使得加速度的正和负数值可以映射到模数转换器所许可的10

  位状态。该逻辑映射使0加速度等于512,这是2到2的10

  次方之间的一半。加速度的负值小于512,而加速度的正值

  大于512。这也意味着在加速度ai和速度vx的积分过程中,

  该积分不是相对于实际的0进行,而是对存储在变量offx中

  的512的偏移量进行。在积分完成之后必须从在vx和xp所

  获得的数值中减去额外的部分。如果单积分被存储在变量

  vxshift中并且等于偏移量offx除以8乘以n时,则该数值

  要被减去,这在积分过程(图7的方框11A)中进行以避免溢

  出。如果双重积分被存储在变量xpshift中并且等于1/2乘

  以n乘以(n+1)乘以偏移量offx除以8的平方(即,64),则

  该数值要被减去。 22    如果计数器n不等于0,这意味着积分实际上已经进行,可

  以开始速度的计算,否则跳过该计算。 23,23A,23B  在没有重力的理想系统中vx的数值减vxshift的数

          值应当为0,因为在步幅结束时脚静止站着在地面

          上。但是,实际上并不是如此。在vx中的数值被用

          于计算步幅长度xp的校正值。如果vx大于

           vxshift,则可以进行vx-vxshift的减法运算而没

           有得到负数的危险。在这种情况下,加速度axoff

           中的虚拟偏移量通过用n除该差值(方框23A)而计

           算。如果vx的数值小于vxshift,则该减法运算将

           得到负数。因此一个分离的例程(方框23B)通过从

           vxshift减去vx再除以n而计算加速度中的偏移

           量。接着通过把(1/2)*n(n+1)乘以axoff/8计算xp

           的校正值(方框23A和23B)。 24    既然步幅时间StepTime和步幅长度xp都为已知,因此现在

  可以计算步行或跑步速度。但是,该速度不是以公里/小时或

  英里/小时为单位表示的,而是以用于周数计算机的两个相继

  信号之间的时间来表达,假设已知虚拟轮周长。这是通过把

  StepTime除以xp将并该结果与特定的校正因子(在这种情况

  下为1024)相乘而计算的。该数值存储在变量NewSpeedValue

  中。 25,25A 这部分算法是精确校正过程。从实验中表明跑步速度的估

    计约高出30%。由于该算法可以区别出步行和跑步(方框

    25),可以容易地通过把NewSpeedValue乘以4/3而校正

    该误差(方框25A)。从观察中表明鞋或脚在地面上的时间

    在步行时大于步幅时间的50%,在跑步时小于步幅时间的

    50%。 26    最后,平滑两个或更多的步幅以减小速度数据的易变性。实

  际速度存储在变量SpeedValue中。 27    该子程序结束并且控制返回到算法的主程序。

显然,本发明的上述优选实施例的许多变型和变化可以从本公开 文本变得显而易见。应当认识到本发明不限于所公开的特殊实施例, 其范围仅由所附权利要求的范围所规定。

QQ群二维码
意见反馈