(57)【特許請求の範囲】
【請求項１】
人間が地面に対して徒歩で移動する速度を決定する方法であって、
（ａ）一番目に最近に測定した接地時間、二番目に最近に測定した接地時間、三番目に最近に測定した接地時間及び複数のそれ以前に測定した足接地時間を含む、移動中の人間の複数の足接地時間を決定するステップと、
（ｂ）前記一番目に最近に測定した接地時間及び前記三番目に最近に測定した接地時間が予め決められた相互の百分率内にないかどうか判定するステップと、
（ｃ）前記一番目に最近に測定した接地時間及び前記三番目に最近に測定した接地時間が予め決められた相互の百分率内にないと判定したときに、前記三番目に最近に測定した接地時間及び前記複数のそれ以前に測定した足接地時間の合計に基づき平均足接地時間を決定するステップと、
（ｄ）前記平均足接地時間が第１の時間量よりも短ければ、前記平均足接地時間の関数でありかつ第１の勾配を有する第１の一次式に従って人間が移動する速度を導出するステップと、
（ｅ）前記足接地時間が前記第１の時間量より長い第２の時間量よりも長ければ、前記平均足接地時間の関数でありかつ第２の勾配を有する第２の一次式に従って人間が移動する速度を導出するステップと、を含み、
前記第１勾配が、前記第２勾配とは異なる、方法。
【請求項２】
移動中の人間が徒歩で移動する速度を決定する装置であって、
信号処理回路を備えており、該信号処理回路が、
（ａ）一番目に最近に測定した接地時間、二番目に最近に測定した接地時間、三番目に最近に測定した接地時間及び複数のそれ以前に測定した足接地時間を含む、移動中の人間における複数の足接地時間を処理し、
（ｂ）前記一番目に最近に測定した接地時間及び前記三番目に最近に測定した接地時間が予め決められた相互の百分率内にないかどうか判定し、
（ｃ）前記一番目に最近に測定した接地時間及び前記三番目に最近に測定した接地時間が予め決められた相互の百分率内にないと判定したときに、前記三番目に最近に測定した接地時間及び前記複数のそれ以前に測定した足接地時間の合計に基づき平均足接地時間を決定するように構成され、
前記平均足接地時間が第１の時間量より短ければ、前記信号処理回路が、前記平均足接地時間の関数でありかつ第１の勾配を有する第１の一次式に従って人間が移動する速度を導出し、
前記平均足接地時間が、前記第１の時間量より長い第２の時間量よりも長ければ、前記平均足接地時間の関数でありかつ第２の勾配を有する第２の一次式に従ってユーザが移動する速度を前記信号処理回路が取得するように構成され、
前記第１勾配が前記第２勾配とは異なる、装置。
【請求項３】
徒歩で移動中の人間の活動を監視する方法であって、
（ａ）第１の電子装置を用いて、一番目に最近に測定した接地時間、二番目に最近に測定した接地時間、三番目に最近に測定した接地時間及び複数のそれ以前に測定した足接地時間を含む、人間の複数の足接地時間を決定するステップと、
（ｂ）前記一番目に最近に測定した接地時間及び前記三番目に最近に測定した接地時間が予め決められた相互の百分率内にないかどうか判定するステップと、
（ｃ）前記一番目に最近に測定した接地時間及び前記三番目に最近に測定した接地時間が予め決められた相互の百分率内にないと判定したときに、前記三番目に最近に測定した接地時間及び前記複数のそれ以前に測定した足接地時間の合計に基づき平均足接地時間を決定するステップと、
（ｄ）前記第１の電子装置を用いて、前記ステップ（ｃ）で決定された前記平均足接地時間に基づいて、人間が地面に対して移動する速度を計算するステップであって、
前記平均足接地時間が第１の時間量よりも短ければ、前記平均足接地時間の関数でありかつ第１の勾配を有する第１の一次式に従って人間が移動する速度を導出し、
前記足接地時間が前記第１の時間量より長い第２の時間量よりも長ければ、前記平均足接地時間の関数でありかつ第２の勾配を有する第２の一次式に従って人間が移動する速度を導出し、前記第１勾配が前記第２勾配とは異なる、ステップと、
（ｅ）前記ステップ（ｄ）において計算された速度に基づく情報を前記第１の電子装置から無線通信チャネルを介して第２の電子装置へ伝送するステップと
を含む方法。
【請求項４】
（ｆ）前記第２の電子装置を用いて、前記ステップ（ｅ）において伝送された情報に基づく変数を表示するステップを更に含む請求項３記載の方法。
【請求項５】
前記ステップ（ｆ）が、
（ｆ１）前記第２の電子装置を用いて前記ステップ（ｄ）で計算された速度を表示するステップを含む請求項４記載の方法。
【請求項６】
徒歩で移動中の人間の活動を監視するシステムであって、
第１の電子装置と第２の電子装置とを備えており、
前記第１電子装置が、
（ａ）一番目に最近に測定した接地時間、第２に最近に測定した接地時間、第３に最近に測定した接地時間及び複数のそれ以前に測定した足接地時間を含む、人間の複数の足接地時間を測定し、
（ｂ）前記一番目に最近に測定した接地時間及び前記三番目に最近に測定した接地時間が予め決められた相互の百分率内にないかどうか判定し、
（ｃ）前記一番目に最近に測定した接地時間及び前記三番目に最近に測定した接地時間が予め決められた相互の百分率内にないと判定したときに、前記三番目に最近に測定した接地時間及び前記複数のそれ以前に測定した足接地時間の合計に基づき平均足接地時間を決定して、
（ｄ）前記平均足接地時間に基づいて人間が地面に対して移動する速度を計算し、
人間が移動する前記速度が、前記平均足接地時間が第１の時間量よりも短ければ、前記平均足接地時間の関数でありかつ第１の勾配を有する第１の一次式に従って導出され、前記足接地時間が前記第１の時間量より長い第２の時間量よりも長ければ、前記平均足接地時間の関数でありかつ第２の勾配を有する第２の一次式に従って導出され、前記第１勾配が前記第２勾配とは異なることを特徴とし、
前記第２電子装置が、無線通信チャネルを介して前記第１の電子装置に結合されて、該第１の電子装置により計算された速度に基づく情報を無線通信チャネルにより前記第１の電子装置から受取る、システム。
【請求項７】
前記第２の電子装置が、前記無線通信チャネルにより前記第１の電子装置から受取る情報に基づく変数を表示するディスプレイを含む請求項６記載のシステム。
【請求項８】
前記第２の電子装置が前記第１の電子装置により計算された速度を表示するように構成される請求項７記載のシステム。
【請求項９】
請求項１に記載の方法であって、前記平均足接地時間をゼロとした場合に、前記第１の一次式および前記第２の一次式によって決定される前記速度の値が同一となる、方法。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
発明の背景
１．発明の分野
本発明は、人間の整形外科的運動の監視に関し、特に移動中の人間の足接地時間、足揚上時間、速度および（または）歩幅の測定に関する。
２．関連する技術の論述
移動中の人間の「足接地時間」の測定から有効情報を得ることができることは公知であり、ここで「足接地時間」とは人が一またぎする間人の足が地面と接触する期間を指す。人の足の接地時間が判れば、移動速度、移動距離および歩行に費やされたエネルギなどの他の情報をこのような測定された足の接地時間に基いて計算することができる。
【０００２】
過去においては、足の接地時間は、抵抗型センサのような感圧センサまたはスイッチを靴のかかととつま先の両部分に設置し、（足が地面と物理的に接触したことを示す）かかとセンサにより出力される第１の信号と、（足が地面を離れたことを示す）つま先センサにより出力される第２の信号との間の時間差を測定することにより測定された。しかし、これらのセンサは、靴の内部の高い衝撃環境に曝され、従って頻繁に故障する。更に、かかとセンサあるいはつま先センサのいずれか一方が起動されない期間中にユーザが歩みを行うとき、例えばユーザがそのつま先で走るとき、不正確な足の接地時間の測定を生じる結果となる。
【０００３】
当技術において周知の別の装置は、歩数計である。歩数計は典型的に、ユーザの腰部に取付けられ、ユーザの移動中にユーザの体が上下に動く回数を測定することによってユーザの歩数をカウントするように構成される。公知の従来技術の歩数計の設計は、ばねに載置された重りを用いてユーザが歩むときその体が上下に動く回数をカウントする。ユーザの事前に測定された歩幅に従って歩数計を適正に校正することにより、ユーザが移動した距離がこのような装置によって測定される。しかし、このような「ばね上荷重」型歩数計は、一般に、走行中重りが過大な跳ね返りを受けこのような跳ね返りのため歩数がしばしば「倍増カウント」されて歩数計に不正確な結果を生じさせるので、走る人が移動した距離は測定することができない。従って、このような装置は、異なるトレーニング方式（例えば、歩行とジョギングと走行）にわたり使用することはできない。
【０００４】
別の従来技術の歩数計装置は、加速度計を用いてユーザが歩行運動中に足が地面に当たる回数を測定する。即ち、加速度計は、足が地面に当たった瞬間を表わす下降ピークを表わした信号を生じるように、靴に載置される。従って、これらの装置は、ユーザの歩数を単にカウントする従来技術のばね上荷重歩数計装置と類似する結果を生じ、ユーザが移動した距離を計算するためにユーザの歩幅に従って校正されねばならない。このため、これらの加速度計に基く装置は、ばね上荷重装置と類似する制約を受け、移動中のユーザの足接地時間を測定することはできない。
【０００５】
従って、本発明の一般的目的は、容易に購入でき、信頼性が高く、使用が容易でありかつ正確である歩数測定法の新たな試みを提供するこである。
発明の概要
運動を検知するのに圧縮力を必要としない運動検知装置の出力が、（１）移動中のユーザの足が地面から離れる瞬間と、（２）ユーザの足が地面に当たる瞬間とを決定するために用いられる方法および装置が開示される。足が地面に当たる各瞬間と次の足が地面から離れる瞬間との間の時間差を測定することによって、ユーザの移動中足が地面と接触した数期間、即ち幾つかの足の接地時間を正確かつ信頼性をもって測定することができる。これらの幾つかの測定された足接地時間の平均を計算することによって平均足接地時間を決定することができ、これからユーザの歩調（ｐａｃｅ）、移動速度、移動距離などの情報を計算することができる。更に、ユーザの足が地面を離れる瞬間と次の足が地面に当たる瞬間との間の時間差を測定することによって、足が地面と接しなかった平均時間、即ちユーザの歩幅間の平均の足揚上時間（足の揚がっている時間：ｆｏｏｔ  ｌｏｆｔ
ｔｉｍｅ）も計算することができる。
【０００６】
本発明の一特質によれば、地面に対する足の運動を分析する方法は、足が地面を離れる瞬間を決定するのに圧縮力を必要としない運動検知装置の出力を用いることを含む。
【０００７】
本発明の別の特質によれば、足の加速度を表わす運動検知装置の出力信号は、足が地面を離れる瞬間を決定するため信号を分析するよう構成された信号処理回路へ送られる。
【０００８】
別の特質によれば、運動検知装置の出力もまた足が地面と接触する瞬間を決定するためにも用いられる。
【０００９】
更に別の特質によれば、足接地時間が、足が地面と接触する瞬間と足が地面を離れる瞬間との間の差に基いて決定され、あるいは足揚上時間が、足が地面を離れる瞬間と足が地面と接触する瞬間との間の差に基いて決定される。
【００１０】
本発明の更に別の特質によれば、測定された足接地時間は、ユーザが地面に対して運動している速度を決定するために用いられる。更に、ユーザが移動中である時間間隔を測定することによって、ユーザが運動している速度に速度の測定が決定された時間間隔を乗じることによってユーザが移動した距離が決定される。
【００１１】
別の特質によれば、ユーザが徒歩で地面に対して運動している速度を決定する方法は、（ａ）移動中のユーザの足接地時間を決定し、（ｂ）足接地時間が第１の時間量より短かければ、足接地時間が因数である第１の式に従ってユーザが運動している速度を取得し、（ｃ）足接地時間が第１の時間量より大きい第２の時間量より長ければ、足接地時間が因数である第２の式に従ってユーザが運動している速度を取得するステップを含んでいる。
【００１２】
本発明の別の特質によれば、地面に対する足の運動を分析する装置は、運動を検知するのに圧縮力を必要としない運動検知装置と信号処理回路とを含んでいる。この運動検知装置は、足に関連して支持され、足の運動を表わす出力信号を生じるように構成配置される。信号処理回路は、運動検知装置から出力信号を受取るようにこの検知装置に結合され、この出力信号を分析して足が地面を離れる少なくとも１つの瞬間を決定するように構成される。
【００１３】
本発明の別の特質によれば、前記運動検知装置は加速度計を含んでいる。
別の特質によれば、前記処理回路は、出力信号を分析して足が地面と接触する少なくとも１つの瞬間を決定するようにも構成される。
【００１４】
更に別の特質によれば、前記処理回路は、（１）出力信号を分析して足が行った少なくとも１つの移動中に足が地面と接触した少なくとも１つの期間を決定し、および（または）（２）出力信号を分析して足が行った歩行の間に足が地面と接触しなかった少なくとも１つの期間を決定するように構成される。
【００１５】
別の特質によれば、移動中のユーザが運動している速度を決定する装置は、足接地時間に関する情報を受取るための処理回路を含んでいる。この処理回路は、足接地時間が第１の時間量より短かければ、処理回路装置が足接地時間が因数である第１の式に従ってユーザが運動している速度を取得し、足接地時間が第１の時間量より長いかあるいはこれと等しい第２の時間量より長ければ、処理回路が足接地時間が因数である第２の式に従ってユーザが運動している速度を取得するように構成されている。
発明の詳細な記述
図１は、本発明が用いられるネットワーク７０のブロック図を示す。図示のように、ネットワーク７０は、ネットワーク処理回路３０と、メモリ装置２８と、ユーザ・インターフェース３２と、ディスプレイ２６Ａと、音響または振動表示器２６Ｂとを含んでいる。ネットワーク処理回路３０はまた、足接地時間発生器２０Ａ／足揚上時間発生器２０Ｂ、心拍モニター２２、呼吸モニター２４のような１つ以上の監視装置からの入力を受取るようにも結合される。図１に示された諸装置は、無線周波（ＲＦ）または赤外線（ＩＲ）トランスミッタ／レシーバを用いることにより、あるいは当業者には周知の他の任意の送信媒体により、例えば直結配線あるいは容量結合を介して相互に接続される。
【００１６】
ネットワーク処理回路３０は、パーソナル・コンピュータ、あるいはネットワーク７０の種々の入力からの情報の処理が可能な他の任意の装置を含む。メモリ装置２８は、ネットワーク処理回路３０に結合され、ネットワーク処理回路３０に対するプログラミングおよびデータを記憶し、および（または）回路３０により処理されたデータを記録するために用いられる。ユーザ・インターフェース３２はまた、ネットワーク処理回路３０にも結合され、ユーザ、例えば歩行者、ジョギング者あるいは走行者がソフトウエア・ルーチンの動作により実現される特定の特徴を選択し、特定の動作パラメータを入力し、あるいはディスプレイ２６Ａおよび（または）音響または振動表示器２６Ｂに対する特定出力を選択することを可能にする。心拍モニター２２および呼吸モニター２４は、公知の方法に従って動作し、ネットワーク処理回路３０へ入力を供給する。
【００１７】
足接地時間発生器２０Ａおよび足揚上時間発生器２０Ｂの各々は、本発明に従って動作し、個々の入力をネットワーク処理回路３０へ供給する。足接地時間発生器２０Ａおよび足揚上時間発生器２０Ｂ、心拍モニター２２および呼吸モニター２４、ならびに他の任意の種類の電子的身体状態監視装置の出力からの情報を受取ることにより、ネットワーク処理回路３０は、全てのこのような情報を処理しユーザに健康指針を与えることができ、ユーザができるだけ有効なように健康のピーク・レベルを、あるいは身体の療法、回復などに役立つ他の健康に関する情報を得ることを助ける。
【００１８】
図２は、本発明による装置をユーザに取付ける方法を示す。図２に示される装置２０Ａ〜２０Ｃの各々が、加速度を検知する特定の軸、即ち加速度検知軸を有する。本発明の実施の一形態によれば、前記装置の各々は、装置の加速度検知軸がユーザの足の底面に実質的に平行に指向されるように取付けるべきである。例えば、装置２０Ａはユーザのくるぶしに取付けられ、装置２０Ｂはユーザの靴の上あるいは内部に取付けられ、装置２０Ｃはユーザの腰部に取付けられ、諸装置の加速度検知軸がそれぞれ矢印８０Ａ、８０Ｂおよび８０Ｃにより示されるように指向される。それぞれの場合において、加速度検知軸のこのような位置決めは、（１）ユーザの足が地面を離れる瞬間と、（２）ユーザの足が地面と接触する瞬間との両方を最も確実に表わす出力信号を生じることが判った。装置により検知される加速度における変化の大部分が、従来技術の加速度計に基く歩数計におけるように主として地面に対する靴の衝撃により生じるよりは、ユーザの靴と地面との間の摩擦によって生じるので、このことが妥当するものと仮定される。
【００１９】
図３は、本発明によるシステム７２を示す。図示のように、システム７２は、足接地時間／足揚上時間発生器２０（図１における足接地時間発生器２０Ａ／足揚上時間発生器２０Ｂのいずれかに対応し得る）と、メモリ装置５４と、ユーザ・インターフェース５８と、ディスプレイ５６Ａと、音響または振動表示器５６Ｂとを含んでいる。実施の一形態によれば、足接地時間／足揚上時間発生器２０は、メモリ装置５４が足接地時間／足揚上時間発生器２０により生じるデータを恒久的に記憶する如き機能を行うために用いられるだけでよいように、実質的に全てのオンボードの回路、例えばメモリ、タイマおよびアナログ／ディジタル（Ａ／Ｄ）・コンバータを有するマイクロ・コントローラを含んでいる。
【００２０】
ユーザ・インターフェース５８は、従来のようにボタン、スイッチその他の物理的に動作する装置により励起され、あるいは市販の音声起動装置を用いて音声で励起される。以下に更に詳細に述べるように、ユーザ・インターフェース５８は、例えば、（１）本発明によるソフトウエア・ルーチンにおいて用いられる幾つかの任意のパラメータを調整し、（２）ユーザに対する幾つかのあり得る出力、例えばディスプレイ５６Ａに表示することができる出力あるいは音響または振動表示器５６Ｂを介してユーザに音響または振動の表示を与えることができる出力を選択し、（３）ユーザ入力に自動的に応答して呼出されるソフトウエア・ルーチンにより実現される特徴を選択するために用いられる。
【００２１】
図４は、図３に示された足接地時間／足揚上時間発生器２０の実施の一形態を示す。図示のように、足接地時間／足揚上時間発生器２０は、加速度計３４と、増幅回路３８（高域通過フィルタ３６が内蔵される）と、マイクロ・コントローラ４０とを含んでいる。加速度計３４の出力は、増幅回路３８の入力に接続され、増幅回路３８の出力はマイクロ・コントローラ４０の入力に接続されている。
【００２２】
図５は、図４に示された足接地時間／足揚上時間発生器２０を更に詳細に示す。図５に示されるように、加速度計３２の出力５０は増幅回路３８に含まれる入力コンデンサＣ１に与えられる。増幅回路３８は更に、演算増幅器６２と抵抗Ｒ１〜Ｒ４とを含む。実施の一形態によれば、加速度計３２はＡｎａｌｏｇ  Ｄｅｖｉｃｅｓ社製の部品番号ＡＤＸＬ２５０を含み、演算増幅器６２はＭＡＸＩＭ社製の部品番号ＭＡＸ４１８を含んでいる。
【００２３】
図５に示されるように、抵抗Ｒ１は入力コンデンサＣ１と演算増幅器６２の反転入力との間に接続され、抵抗Ｒ２は演算増幅器６２の反転入力端子と出力５２との間にフィードバック接続される。このため、入力コンデンサＣ１と抵抗Ｒ１の組合わせは高域通過フィルタを形成し、抵抗Ｒ１およびＲ２の位置は増幅回路を抵抗Ｒ１およびＲ２の関連値に利得係数が依存する反転形態に置く。図示された実施の形態においては、抵抗Ｒ２が１メガオームの値を持ち、抵抗Ｒ２は１５０キロオームの値を持ち、その結果増幅器の利得係数は約−６．６である。更に、図示された実施の形態によれば、コンデンサＣ１は０．１５マイクロファラッドの値を持ち、その結果増幅回路３８の高域通過フィルタ３６が約７．０７ヘルツより小さい入力信号周波数を遮断する。
【００２４】
抵抗Ｒ３は、ＶＣＣ給電ノード４４と演算増幅器６２の非反転入力６０との間に接続され、抵抗Ｒ４は非反転入力６０と接地ノード４２との間に接続される。ＶＣＣ給電ノード４４は、接地ノード４２に関して約５ボルト（例えば、６ボルトのバッテリから整圧）に維持され、抵抗Ｒ３およびＲ４は、非反転入力ノード６０における電圧がＶＣＣ給電ノード４４における電圧と接地との略々中間（即ち、約２．５ボルト）に維持される。
【００２５】
増幅回路３８の出力５２は、低電力マイクロ・コントローラ４０の第１のＡ／Ｄ入力４６に接続され増幅回路３８のノード６０はマイクロ・コントローラ４０の第２のＡ／Ｄ入力４８に接続される。実施の一形態によれば、マイクロ・コントローラ４０はＭｉｃｒｏｃｈｉｐ社製の部品番号ＰＩＣ：１６Ｃ７３を含む。マイクロ・コントローラは、オンボード・メモリとＡ／Ｄコンバータとタイマとを含んでいる。マイクロ・コントローラ４０のＡ／Ｄ入力４８は、（先に述べたように）約２．５ボルトに維持されるゼロ基準値として働き、マイクロ・コントローラ４０の入力４６は０ボルトと５ボルト間で振動する可変入力として働く。マイクロ・コントローラ４０は、約５００サンプル／秒の速度で入力４６、４８における電圧をサンプルし、これらサンプルを８ビットの符号のないディジタル値へ変換し、前記２つの入力における電圧間の差を計算し、この差は以下に更に詳細に述べるソフトウエア・ルーチンの動作中に使用される。
【００２６】
図６は、同じ時間軸に沿った２つのカーブを示している。これらのカーブは、ユーザが歩行している期間中に図５に示された回路のノード５０、５２における電圧の８ビットの無符号ディジタル値を表わす。即ち、図６におけるカーブ５０Ｗは、フィルタ処理され増幅される前の加速度計３２の出力５０における電圧をディジタル的に表わし、カーブ４６Ｗ、４８Ｗはそれぞれユーザが歩行している期間中のマイクロ・コントローラ４０の入力４６、４８における電圧を（ディジタル的に）表わす。カーブ４６Ｗ、４８Ｗおよび５０Ｗの各々は共通時間軸を共有するが、カーブ４６Ｗ、４８Ｗの電圧の大きさ軸はカーブ５０Ｗの電圧の大きさ軸とは異なる。従って、カーブ４６Ｗ、４８Ｗより上方のカーブ５０Ｗの位置は、カーブ５０Ｗがカーブ４６Ｗ、４８Ｗより高い振幅を得ることを示そうとするものではない。
【００２７】
図６に示されるように、増幅回路３８が負の利得係数を持つように構成されるので、カーブ５０Ｗの高ピーク５１Ｗはカーブ４６Ｗの低ピーク４７Ｗと対応している。しかし、カーブ４６Ｗの高ピーク４９Ｗはカーブ５０Ｗの低ピークに対応するようには見えない。即ち、高ピーク４９Ｗは、加速度計３４の出力が増幅回路３８により高域通過フィルタ処理され増幅された後にのみ認め得る。ユーザが移動中にユーザの足が地面を離れた瞬間を示すのは、カーブ４６Ｗにおける高ピーク４９Ｗである。
【００２８】
同様に、カーブ４６Ｗの低ピーク４７Ｗは、ユーザが移動中にユーザの足が地面に当たった瞬間を示す。カーブ４６Ｗのピーク４７Ｗとピーク４９Ｗ間の時間差を測定することにより、ユーザが移動中にユーザの足接地時間が突き止められる。本文に用いられる用語「足接地時間」とは、ユーザの足が地面に当たるときと足が次に地面を離れるときとの間の期間を指す。
【００２９】
同様に、移動中のユーザの足揚上時間が決定される。即ち、カーブ４６Ｗにおける高ピーク４９Ｗと低ピーク５３Ｗ間の時間差を測定することにより、ユーザの足揚上時間を突き止められる。本文に用いられる如き「足揚上時間」とは、ユーザの足が地面を離れるときと足が次に地面と接触するときとの間の期間を指す。
【００３０】
図７は、ユーザが歩行中であるとき、（１）靴のかかととつま先にそれぞれ取付けた抵抗型センサにより生じる２つのカーブ５５Ｈ、５５Ｔと、（２）本発明による加速度計の増幅されフィルタ処理された出力との間の一致を示している。即ち、カーブ５５Ｈは靴のかかとに取付けた抵抗型センサの出力を表わし、カーブ５５Ｔは靴のつま先に取付けた抵抗型センサの出力を表わし、カーブ４６Ｗは（図５に示された）回路２０のノード５２における電圧を表わす。これら全ての測定はユーザが歩行中に行われた。カーブ５５Ｈ、５５Ｔおよび４６Ｗの各々は共通時間軸を共有するが、カーブ５５Ｈ、５５Ｔの電圧の大きさ軸はカーブ４６Ｗの電圧の大きさ軸とは異なる。従って、カーブ４６Ｗの上方のカーブ５５Ｈ、５５Ｔの位置は、カーブ５５Ｈ、５５Ｔがカーブ４６Ｗより高い振幅を得ることを意味しようとするものではない。
【００３１】
図７に点線で示されるように、カーブ５５Ｈの高から低への遷移（ユーザの靴が地面に当たったことを示す）は、カーブ４６Ｗの低ピーク４７Ｗと一致し、カーブ５５Ｔの低から高への遷移（ユーザの靴が地面を離れたことを示す）は、カーブ４６Ｗの高ピーク４９Ｗと一致する。このため、ユーザが歩行中であるときに（先に述べたように取付けた）加速度計の高域通過フィルタ処理され／増幅された出力の高ピークと低ピーク間の時間差を測定することにより得られる足接地時間と足揚上時間、およびその逆は、少なくとも従来技術の抵抗型センサにより生じるように正確である結果を生じるように見える。
【００３２】
図８は、ユーザが歩行中である期間中に図５に示された回路のノード５０、５２における電圧の無符号の８ビット・ディジタル値を表わす２つのカーブを示している。即ち、図８のカーブ５０Ｒは、フィルタ処理され増幅される前の加速度計３２の出力５０における電圧を表わし、カーブ４６Ｒ、４８Ｒはそれぞれ、ユーザが走行中である期間中にマイクロ・コントローラ４０の入力４６、４８における電圧を表わす。カーブ４６Ｒ、４８Ｒおよび５０Ｒの各々は共通時間軸を共有するが、カーブ４６Ｒ、４８Ｒの電圧の大きさ軸はカーブ５０Ｒの電圧の大きさ軸とは異なる。従って、カーブ４６Ｒ、４８Ｒより上方のカーブ５０Ｒの位置は、カーブ５０Ｒがカーブ４６Ｒ、４８Ｒより高い振幅を得ることを意味しようとするものではない。
【００３３】
図８に示されるように、増幅回路３８が負の利得係数を持つように構成されるので、カーブ５０Ｒの高ピーク５１Ｒがカーブ４６Ｒの低ピーク４７Ｒと一致する。しかし、カーブ４６Ｒの高ピーク４９Ｒはカーブ５０Ｒの低ピークとは一致しないように見える。即ち、高ピーク４９Ｒは、加速度計３４の出力が増幅回路３８により高域通過フィルタ処理され増幅された後にのみ認められる。ユーザが走行中にユーザの足が地面を離れた瞬間をを示すのは、カーブ４６Ｒにおける高ピーク４９Ｒである。
【００３４】
同様に、カーブ４６Ｒにおける低ピーク４７Ｒは、ユーザが走行中にユーザの足が地面に当たった瞬間を示す。カーブ４６Ｒの低ピーク４７Ｒと高ピーク４９Ｒ間の時間差を測定することにより、ユーザが走行しているときユーザの足接地時間が突き止められる。同様に、ユーザの足揚上時間が決定される。即ち、カーブ４６Ｒにおける高ピーク４９Ｒと低ピーク５３Ｒ間の時間差を測定することにより、ユーザが走行しているときユーザの足揚上時間が認められる。
【００３５】
図９は、ユーザが走行中、（１）靴のかかととつま先に取付けた抵抗型センサにより生じた２つのカーブ５７Ｈ、５７Ｔと、（２）本発明による加速度計の増幅されフィルタ処理された出力との間の一致を示している。即ち、カーブ５７Ｈは靴のかかとに取付けた抵抗型センサの出力を表わし、カーブ５７Ｔは靴のつま先に取付けた抵抗型センサの出力を表わし、カーブ４６Ｒは回路２０（図５に示された）のノード５２における電圧を表わす。これら全ての測定は、ユーザが走行中に行われた。カーブ５７Ｈ、５７Ｔおよび４６Ｒの各々は共通時間軸を共有するが、カーブ５７Ｈ、５７Ｔの電圧の振幅軸（ｖｏｌｔａｇｅ−ｍａｇｎｉｔｕｄｅ  ａｘｉｓ）はカーブ４６Ｒの電圧の大きさ軸とは異なる。従って、カーブ４６Ｒより上方のカーブ５７Ｈ、５７Ｔの位置は、カーブ５７Ｈ、５７Ｔがカーブ４６Ｒより高い振幅を得ることを意味しようとするものではない。
【００３６】
図９において点線により示されるように、（ユーザの靴が地面に当たったことを示す）カーブ５７Ｈの高から低への遷移はカーブ４６Ｒの低ピーク４７Ｒと一致し、（ユーザの靴が地面を離れたことを示す）カーブ５７Ｔの低から高への遷移はカーブ４６Ｒの高ピーク４９Ｒと一致する。このため、ユーザが走行中に（先に述べたように取付けた）加速度計の高域通過フィルタ処理／増幅された出力の高ピークと低ピーク間の時間差を測定することにより得られる足接地時間と足揚上時間の測定、およびその逆は、少なくとも従来技術の抵抗型センサにより生じるように正確である結果を生じるように見える。
【００３７】
加速度計３４（図４および図５に示される）からの出力信号は、２つの主要ソフトウエア・ルーチン、即ち、（１）データ、例えばループの各繰返しに関する足接地時間および足揚上時間を蓄積する連続ループ・ルーチンと、（２）連続ループ・ルーチンに割込み、割込み開始時に連続ループ・ルーチンにより蓄積されたデータを分析する割込みルーチンとを用いてマイクロ・コントローラ４０によって分析される。これらのルーチンは、ソフトウエア言語で書かれ、望ましくは（図４および図５に示された）マイクロ・コントローラ４０のオンボード・メモリ（図示せず）に記憶される。これらルーチンは、ユーザが初期設定可能であり、あるいは望ましくは、マイクロ・コントローラ４０のパワーアップ時に自動的に初期設定される。これら主要ソフトウエア・ルーチンの各々により行われる特定のステップについて、以下に詳細に記述する。
【００３８】
再び図５について簡単に述べると、マイクロ・コントローラ４０の入力４６、４８の各々における電圧が８ビットのディジタル・ワードへ変換されるため、各入力における電圧の振幅は２５６の個々のレベルの１つとして表わされる。また、抵抗Ｒ３、Ｒ４が、５ボルトの急速供給電圧の略々中間、即ち約２．５ボルトである電圧をノード６０に生じるので、入力４８におけるゼロ基準値は２５６レベルの略々中間、即ち約レベル１２８に止まる。
【００３９】
次に図１０を参照して、（図５に示された）マイクロ・コントローラ４０により行われた連続ループ・ルーチンの高レベルのフローチャートが示される。連続ループの部分１０１は、マイクロ・コントローラ４０の入力４６、４８における電圧を実質的に連続的に監視して、予め定めた閾値を越える（入力４６、４８間の）負および正の電圧差が生じるときを決定する。これらの負および正の電圧差は、ユーザの靴が地面に当たりかつ地面から離れたことをそれぞれ表わす。
【００４０】
図１０に示されるように、連続ループ１０１は、ステップ１００、１０２、１０４、１０６、１０８、１１０、１１２および１１４を含んでいる。これらの高レベル・ステップの多くは、図１２の記述に関して以下に詳細に述べる幾つかの低レベルのサブステップを含んでいる。
【００４１】
ループ１０１のステップ１００の間、マイクロ・コントローラ４０は、入力４６、４８における電圧を連続的に監視して入力４６における電圧が入力４８における電圧より低い特定の電圧より以上に低下するときを判定する。実施の一形態によれば、入力４８におけるゼロの基準レベルより（２５６のあり得る電圧レベルの内の）５０レベル以上低い入力４６における電圧が「負のスパイク事象（ｎａｇａｔｉｖｅ−ｓｐｉｋｅ  ｅｖｅｎｔ）」と見なされ、ソフトウエアが、前記の負のスパイク事象が生じる瞬間にユーザの足が地面に当たったと仮定する。負のスパイク事象の発生は、マイクロ・コントローラ４０における「空中時間（ａｉｒ  ｔｉｍｅ）」（Ｔａ）タイマを停止させ、「接地時間（ｃｏｎｔａｃｔ
ｔｉｍｅ）」（Ｔｃ）タイマを始動させる。空中時間（Ｔａ）タイマにより測定される時間は、最後の「正のスパイク事象」（以下に述べる）と検出したばかりの負のスパイク事象との間の時間差を表わす。負のスパイク事象が生じると、「ステップ・カウント」値、即ちユーザのカウントされた歩数もまた増分する。
【００４２】
次に、ステップ１０２の間、前に計算されてメモリに記憶された３つの最近の空中時間（空中時間（Ｔａ）の値）が、誤りであるように見える空中時間（Ｔａ）の測定値を排除するように働くＦＩＦＯ平滑化として知られる手法を受ける。このようなＦＩＦＯ平滑化を実施するため用いられるルーチンについて、以下に詳細に述べる。
【００４３】
ステップ１０４の間、空中時間（Ｔａ）値の連続合計（ｒｕｎｉｎｇ  ｔｏｔａｌ）が最も後に得た空中時間（Ｔａ）値により増分され、その時のＴａＳｕｍ値（ＴａＳｔｅｐｓ）に含まれる空中時間（Ｔａ）値の合計数が１で増分される。これらの値は、平均空中時間（Ｔａ）値（ＴａＡｖｅｒａｇｅ）がＴａＳｕｍ値をＴａＳｔｅｐｓ値で除すことにより最終的に計算されるように保持される。
【００４４】
ステップ１００、１０２、１０４が実施された後に実施されるステップ１０６の間、システムは、ユーザに対するあり得る最小の足接地時間（Ｔｃ）に等しい期間、例えば１２２ミリ秒（ｍｓ）間「休止」し、その結果システムはこのような休止期間中に生じる正のスパイクが正のスパイク事象（以下に述べる）であるとは考えない。
【００４５】
ステップ１０８、１１０、１１２および１１４は、空中時間（Ｔａ）ではなく足接地時間（Ｔｃ）が判定されることを除いて、それぞれステップ１００、１０２、１０４および１０６に類似している。
【００４６】
ループ１０１のステップ１０８の間、マイクロ・コントローラ４０は、その間の特定の電圧差について入力４６、４８を連続的に監視する。実施の一形態によれば、入力４８におけるゼロの基準レベルより（あり得る２５６の電圧レベルの内の）１０レベル以上高い入力４６における正の電圧は「正のスパイク事象（ｐｏｓｉｔｉｖｅ  ｓｐｉｋｅ  ｅｖｅｎｔ）」と見なされ、ソフトウエアは、正のスパイク事象が生じる瞬間にユーザの足が地面を離れたものと仮定する。正のスパイク事象の発生は、接地時間（Ｔｃ）タイマを停止させ、空中時間（Ｔａ）タイマを始動させる。接地時間（Ｔｃ）タイマにより測定される時間は、最後の負のスパイク事象と検出したばかりの正のスパイク事象との間の時間差を表わす。
【００４７】
ステップ１１０の間、前に計算されメモリに記憶された３つの最も後の接地時間（Ｔｃ）は、誤りのように見える足接地時間（Ｔｃ）の測定値を排除するように働くＦＩＦＯ平滑化を受ける。
【００４８】
ステップ１１２の間、接地時間（Ｔｃ）の値の連続合計（ＴｃＳｕｍ）は最も後に得た接地時間（Ｔｃ）の値だけ増分され、その時のＴｃＳｕｍ値（ＴｃＳｔｅｐｓ）に含まれる接地時間（Ｔｃ）値の合計数は１だけ増分される。これらの値は、ＴｃＳｔｅｐｓ値によりＴｃＳｕｍ値を除すことにより平均接地時間（Ｔｃ）の値（ＴｃＡｖｅｒａｇｅ）が最終的に計算されるように保持される。
【００４９】
ステップ１０８、１１０、１１２が実施された後に実施されるステップ１１４の間、前記の休止期間中に生じるなんらかの負のスパイクが負のスパイク事象を構成するとシステムが見なさないように、システムはユーザに対する最小可能足接地時間に等しい期間だけ「休止」する。ステップ１１４の休止期間後は、ルーチンがステップ１００へ戻り、ループ１０１は（以下に述べる）割込みが検出されるまで連続的に反復する。
【００５０】
次に図１１に関して高レベルの割込みルーチン１１５について簡単に述べ、各高レベルのステップおよびその関連する低レベルのサブステップの更に詳細な記述が図１３の記述に関して以下に続く。
【００５１】
割込みルーチン１１５は、所与の時間間隔で実行するようにプログラムされるが、有意なデータがルーチン１１５により評価される前にかかるデータがループ１０１によって集められるように、２秒ごとに１回より更に頻繁に実行しないことが望ましい。
【００５２】
割込みルーチン１１５のステップ１１６は、ルーチンに連続ループ１０１へ割込みを行わせる。次に、ステップ１１８がユーザの数歩にわたる平均接地時間（Ｔｃ）値（ＴｃＡｖｅｒａｇｅ）を計算し、ループ１０１におけるＴｃＳｕｍ値とＴｃＳｔｅｐｓ値をゼロにリセットする。同様に、ステップ１２０は、平均空中時間（Ｔａ）値（ＴａＡｖｅｒａｇｅ）を計算し、ループ１０１におけるＴａＳｕｍ値とＴａＳｔｅｐｓ値をゼロにリセットする。
【００５３】
ステップ１２２において、ユーザの歩数が計算されたＴｃＡｖｅｒａｇｅ値及びＴａＡｖｅｒａｇｅ値に基いて（以下に述べるように）決定され、ユーザの総歩数はループ１０１からのＳｔｅｐＣｏｕｎｔ値を２で乗じることによって計算される。
【００５４】
次に、ステップ１２４において、ユーザの歩調が以下に述べるアルゴリズムに従って計算され、ユーザが移動した距離は計算された歩調の値とこの歩調値が変数として決定された期間の両方を用いる（以下に述べる）式に従って計算される。このような距離の測定は、移動した総合距離を決定するため過去の距離の測定値の累積であり得る。従って、この累積距離値は、ユーザがゼロの基準点から移動した距離を測定できるようにユーザによってリセット可能である。
【００５５】
最後に、ステップ１２４における計算後、あるいは他の必要な計算が行われた後に、ステップ１２６は、接地時間値（Ｔｃ）と空中時間値（Ｔａ）の更なる測定のため連続ループ１０１へ割込みルーチン１１５を戻す。
【００５６】
図１２は、連続ループ１０１の低レベルのフローチャートを示している。図示のように、（図１０に示される）高レベルのステップ１００は、５つの低レベルのサブステップ１００Ａ〜１００Ｅを含んでいる。
【００５７】
ステップ１００Ａおよび１００Ｂにおいて、（ステップ１００Ｂにおいて）地面に当たるユーザの足を表わす入力４６における電圧において負のスパイク事象が検出されるまでマイクロ・コントローラ４０の入力４６および４８におけるアナログ電圧が（ステップ１００Ａにおいて）サンプルされる。実施の一形態によれば、入力４６における電圧が、略々レベル１２８（即ち、５ボルト・スケールにおける約２．５ボルト）に止まるべき基準入力４８のレベルより低い（あり得る２５６の個々の電圧レベルの内の）５０レベルより低く低下するまで入力４６、４８におけるアナログ電圧がサンプルされる。５０レベルは、５ボルト・スケールにおいて約０．９８ボルトに対応する。このようなサンプリングは、５００サンプル／秒の速度で行われる。
【００５８】
入力４８における基準レベルは、増幅器回路などの温度変化により僅かに上下方向に変動する。しかし、（温度の変動のような）外方要因により生じる入力４８における基準レベルの変化がこれらの要因による入力４６における信号レベルにおける変化に対応するので、ノード４６および４８における電圧間の差は加速度計により生じる変動信号によってのみ影響を受けるはずであり、回路の動作条件における変化によっては影響を受けない。
【００５９】
負のスパイク事象がステップ１００Ｂにおいていったん検出されると、空中時間（Ｔａ）タイマは（ステップ１００Ｃにおいて）停止され、足接地時間（Ｔｃ）タイマは（ステップ１００Ｄにおいて）始動される。空中時間（Ｔａ）タイマは、連続ループ・ルーチン１０１の前のループの間地面を離れるユーザの足を表わす（以下に述べる）正のスパイク事象の検出に応答して始動される。このため、空中時間（Ｔａ）タイマは、ステップ１００Ｃで停止したとき、ユーザの歩調間の空中時間、即ちユーザの足が地面を最後に離れたとき（即ち、最後の正のスパイク事象）と足が最後に地面に当たったとき（即ち、検出されたばかりの負のスパイク事象）との間の期間の測定を行う。
【００６０】
更に、負のスパイク事象の検出に応答して、可変のＳｔｅｐＣｏｕｎｔ値が（ステップ１００Ｅにおいて）１だけ増分される。この可変ＳｔｅｐＣｏｕｎｔ値は、連続合計がトレーニング期間中にユーザの一方の足が行った歩数を正確に測定するように、ユーザがトレーニング方式を開始するに先立ってリセットされる。
【００６１】
可変ＳｔｅｐＣｏｕｎｔ値を（ステップ１００Ｅにおいて）更新した後、連続ループ１０１が、図１０に示された高レベル・ルーチンの「ＦＩＦＯ平滑化」ステップ１００に含まれるステップ１０２Ａ〜１０２Ｅへ進む。ステップ１０２Ａ〜１０２Ｅの間、空中時間の３つの最後の値、即ちメモリに記憶された３つの最後の空中時間（Ｔａ）値が下記のように分析される。
【００６２】
最初に、ステップ１０２Ａにおいて、（ループ１０１の先の反復からの）３つの最近の空中時間（Ｔａ）値が（ステップ１００Ｃにおいて）新たに取得された空中時間（Ｔａ）値を考慮に入れるようにシフトされる。特に、現在ある３番目の最近の空中時間（Ｔａ）値が捨てられ、現在ある２番目の最近の空中時間（Ｔａ）値が新たな３番目の最近の値となり、現在ある最初の最近の値が新たな２番目の値となり、新たに取得された空中時間（Ｔａ）値が新たな最初の最近の空中時間（Ｔａ）値となる。
【００６３】
次に、ステップ１０２Ｂおよび１０２Ｃにおいて、３つの最近の空中時間（Ｔａ）値が（ステップ１０２Ａにおいてシフトされた後で）以下に述べるように比較されて中途の空中時間（Ｔａ）値（即ち、２番目の最近の空中時間（Ｔａ）値）が変則的であるように見えるかどうかを確認する。変則的な空中時間（Ｔａ）の測定値（即ち、変則的な空中時間（Ｔａ）値）は、ユーザが歩行中に岩につまずいたり水や氷で滑るときに生じる。２番目の最近の空中時間（Ｔａ）値が誤った測定の結果であるように見えるならば、（ステップ１０２Ｄにおいて）この値は最初と３番目の最近の空中時間（Ｔａ）値の平均値で置換される。このため、３番目の最近の空中時間（Ｔａ）値のみが（ステップ１０２Ｅに従って）全ての将来の計算に用いられるので、変則的な２番目の最近の空中時間（Ｔａ）値の置換は偶発的な変則的測定をフィルタ処理即ち平滑化するように働く。
【００６４】
特に、ステップ１０２Ｂにおいて、最初および３番目の最近の空中時間（Ｔａ）値が比較される。これらの値が相互のある百分率以内に含まれるならば（例えば、最初の最近の空中時間（Ｔａ）値が３番目の最近の空中時間（Ｔａ）値より５％大きいか小さければ）、ルーチンはステップ１０２Ｃへ進む。最初および３番目の空中時間（Ｔａ）値が相互のある百分率以内になければ、ルーチンはステップ１０２Ｅへ直接進む。即ち、最初および３番目の最近の空中時間（Ｔａ）の測定値間の差が大きすぎるならば、ユーザがこれら２つの測定値間に速度を変えたものと仮定され、このような状況における２番目の最近の空中時間（Ｔａ）値をリセットすることは、最初および３番目の最近の空中時間（Ｔａ）の測定値が類似するときに得た平滑化された値ではなく、不正確な空中時間（Ｔａ）値を結果として生じがちとなる。
【００６５】
ステップ１０２Ｃに達すると、最初および２番目の最近の空中時間（Ｔａ）値が比較される。最初の最近の空中時間（Ｔａ）値が２番目の最近の空中時間（Ｔａ）値のある百分率以内になければ（例えば、最初の最近の空中時間（Ｔａ）値が２番目の最近の空中時間（Ｔａ）値より５％大きいか小さければ）、（ステップ１０２Ｄにおいて）２番目の最近の空中時間（Ｔａ）値が最初および３番目の最近の空中時間（Ｔａ）値の平均値で置換され、これにより明らかに変則的な２番目の最近の空中時間（Ｔａ）の測定値を排除する。
【００６６】
最後に、ステップ１０２Ｅによれば、空中時間（Ｔａ）の測定を含む全ての将来の計算のため３番目の最近の空中時間（Ｔａ）値が用いられる。このため、このような３番目の最近の空中時間（Ｔａ）値がループ１０１の前の反復における２番目の最近の空中時間（Ｔａ）値であったため、この値は先のステップ１０２Ｂおよび１０２Ｃにおいてなされた比較に基いて変則的であるように思われたならばこの反復中に「平滑化」されたものとする。
【００６７】
高レベルのステップ１０４（図１０に示された）は、サブステップ１０４Ａおよび１０４Ｂを含む。図１２に示されるように、ステップ１０４Ａにおいて、ループ１０１の過去の反復からの空中時間（Ｔａ）の測定値（ＴａＳｕｍ）の累計がステップ１０２Ｅからの３番目の最近の空中時間（Ｔａ）値で更新されて、ＴａＳｕｍの更新値（即ち、ＴａＳｕｍ＝ＴａＳｕｍ＋Ｔａ）を得る。
【００６８】
次に、ステップ１０４Ｂにおいて、空中時間（Ｔａ）ステップ（ＴａＳｔｅｐｓ）の数の連続合計が１だけ増分される（即ち、ＴａＳｔｅｐｓ＝ＴａＳｔｅｐｓ＋１）。正のスパイク事象（以下に述べるステップ１０８Ｂにおいて識別された）の後に負のスパイク事象（ステップ１００Ｂにおいて識別された）が続くごとに空中時間ステップが生じる。
【００６９】
ループ１０１のステップ１０６において、システムは、ステップ１０８Ａへ進む前にある時間量だけ休止モードに置かれる。実施の一形態によれば、この休止モードは、ユーザが最高速度（例えば、１２２ミリ秒（ｍｓ））で走行中に生じる最低の足接地時間（Ｔｃ）に等しい時間だけ続く。この休止期間は、以降の正のスパイク事象として検出されたスパイク事象の直後の加速度計出力信号に生じるリンギングをマイクロ・コントローラが誤って識別することを防止するために用いられる。更に、システムにおける電力を節減するため、休止期間中は回路における非臨界成分に対する電力供給が低減されるか止められる。
【００７０】
ステップ１０６の休止期間後に、ループ１０１がステップ１０８Ａ〜１０８Ｅへ進み、これらステップが高レベルのステップ１０８（図１０に示される）を構成する。ステップ１０８Ａおよび１０８Ｂにおいて、正のスパイク事象が（ステップ１０８Ｂにおいて）地面を離れるユーザの足を表わす入力４６における電圧において検出されるまでマイクロ・コントローラ４０の入力４６および４８におけるアナログ電圧が（ステップ１０８Ａにおいて）サンプルされる。実施の一形態によれば、略々レベル１２８（即ち、５ボルトのスケールにおける約２．５ボルト）に止まるべき基準入力４８のレベルよりも（あり得る２５６の個々の電圧レベルの内の）１０レベル以上入力４６における電圧が上昇するまで、入力４６および４８におけるアナログ電圧がサンプルされる。１０レベルは、５ボルトのスケールにおける約０．２０ボルトに対応する。このようなサンプリングは、５００サンプル／秒の速度で行われる。
【００７１】
正のスパイク事象がステップ１０８Ｂにおいて検出されると、足接地時間（Ｔｃ）タイマが（ステップ１０８Ｃにおいて）停止され、足の空中時間（Ｔａ）タイマは（ステップ１０８Ｄにおいて）始動される。足接地時間（Ｔｃ）タイマは、連続ループ・ルーチン１０１の前のループの間、（ステップ１００Ｂにおいて）負のスパイク事象の検出に応答して（ステップ１００Ｄにおいて）始動されることになる。このため、足接地時間（Ｔｃ）タイマは、ステップ１０８Ｃにおいて停止されたとき、ユーザの歩行中、即ちユーザの足が歩行中地面と物理的に接触する期間中、ユーザの足接地時間の測定を行う。
【００７２】
ステップ１０８Ｅにおいて、足接地時間（Ｔｃ）タイマにより測定される時間は、これが足接地時間の受入れ得る範囲内に該当するか否かを決定するために評価される。測定された接地時間（Ｔｃ）値がこのような受入れ得る範囲内になければ、ルーチンは別の負のスパイク事象の識別のためステップ１００Ａへ戻る。実施の一形態によれば、足接地時間の受入れ得る範囲は１４０ないし９００ｍｓ間にある。
【００７３】
測定された接地時間（Ｔｃ）値を（ステップ１０８Ｅにおいて）評価した後、連続ループ１０１が、図１０に示された高レベル・ルーチンの「ＦＩＦＯ平滑化」ステップ１１０に含まれるステップ１１０Ａ〜１１０Ｅへ進む。ステップ１１０Ａ〜１１０Ｅにおいて、３つの最近の足接地時間値、即ちメモリに記憶された３つの最近の接地時間（Ｔｃ）値が下記のように分析される。
【００７４】
最初に、ステップ１１０Ａにおいて、（ループ１０１の前の反復からの）３つの最近の接地時間（Ｔｃ）値が、（ステップ１０８Ｃにおいて）新たに取得された接地時間（Ｔｃ）値を考慮に入れるようにシフトされる。特に、現在の３番目の最近の接地時間（Ｔｃ）値は捨てられ、現在の２番目の最近の接地時間（Ｔｃ）値が新たな３番目の最近の値となり、現在の最初の最近の値が新たな最近の第二の接地時間（Ｔｃ）値となり、新たに取得された接地時間（Ｔｃ）値が新たな最初の最近の接地時間（Ｔｃ）値となる。
【００７５】
次に、ステップ１１０Ｂおよび１１０Ｃにおいて、３つの最近の接地時間（Ｔｃ）値は、（ステップ１１０Ａにおいてシフトされた後）以下に述べるように、中途の接地時間（Ｔｃ）値（即ち、２番目の最近の接地時間（Ｔｃ）値）が変則的であるように見えるかどうかを確かめるため比較される。変則的な接地時間（Ｔｃ）の測定値（すなわち、変則的な接地時間（Ｔｃ）値）は、例えば、ユーザが歩行中に岩につまずいたりあるいは水または氷で滑るときに生じる。２番目の最近の接地時間（Ｔｃ）値が誤った測定の結果であるように見えるならば、（ステップ１１０Ｄにおいて）この値は最初および３番目の最近の接地時間（Ｔｃ）値の平均値と置換される。このため、３番目の最近の接地時間（Ｔｃ）値のみが（ステップ１１０Ｅにより）全ての将来の計算のため用いられるので、変則的な２番目の最近の接地時間（Ｔｃ）値の置換が偶発的な変則的測定をフィルタ処理あるいは平滑化を行うように働く。
【００７６】
特に、ステップ１１０Ｂにおいて、最初および３番目の最近の接地時間（Ｔｃ）値が比較される。これらの値が相互のある百分率以内にあるならば（例えば、最初の最近の接地時間（Ｔｃ）値が３番目の最近の接地時間（Ｔｃ）値より５％大きいか小さければ）、ルーチンはステップ１１０Ｃへ進む。最初および３番目の最近の接地時間（Ｔｃ）値が相互のある百分率以内になければ、ルーチンはステップ１１０Ｅへ直接進む。即ち、最初と３番目の最近の接地時間（Ｔｃ）の測定間の差が大きすぎるならば、ユーザがこれら２つの測定間で歩調を変更したものとされ、最初と３番目の最近の接地時間（Ｔｃ）の測定が類似するときに得られた平滑化された値ではなく、このような状況における２番目の最近の接地時間（Ｔｃ）値のリセットが不正確な結果を生じがちである。
【００７７】
ステップ１１０Ｃに達すると、最初と２番目の最近の接地時間（Ｔｃ）値が比較される。最初の最近の接地時間（Ｔｃ）値が２番目の最近の接地時間（Ｔｃ）値のある百分率以内になければ（例えば、最初の最近の接地時間（Ｔｃ）値が２番目の最近の接地時間（Ｔｃ）値より５％大きいか小さくなければ）、（ステップ１１０Ｄにおいて）２番目の最近の接地時間（Ｔｃ）値が最初と３番目の最近の接地時間（Ｔｃ）値の平均値で置換され、これにより明らかに変則的な２番目の最近の接地時間（Ｔｃ）の測定を排除する。
【００７８】
最後に、ステップ１１０Ｅによれば、３番目の最近の接地時間（Ｔｃ）値が、足接地時間（Ｔｃ）の測定を含む全ての将来の計算のため用いられる。このため、このような３番目の最近の接地時間（Ｔｃ）値がループ１０１の前の繰返しにおいて２番目の最近の接地時間（Ｔｃ）値であったため、この値は、先のステップ１１０Ｂおよび１１０Ｃにおいてなされた比較に基いて変則的に見えたならば、前記繰返しにおいて「平滑化」されることになる。
【００７９】
図１２には示されないが、測定された足接地時間はまた、ユーザにより行われた各歩みにおいてユーザの足がその「ゼロ位置」にある瞬間、即ちユーザの足の底面がユーザが歩き、ジョギングしあるいは走っている地面に対して平行である瞬間を決定するために用いることができる。このような瞬間は、例えば、ユーザの足が各歩みに対する測定された足接地時間における中間がゼロ位置（あるいは、ある百分率の位置）にあると仮定することにより決定することもできる。
【００８０】
高レベルのステップ１１２（図１０に示された）は、サブステップ１１２Ａおよび１１２Ｂを含んでいる。図１２に示されるように、ステップ１１２Ａにおいて、ループ１０１の過去の繰返しからの接地時間（Ｔｃ）測定値累計（ＴｃＳｕｍ）は、ステップ１１０Ｅからの３番目の最近の接地時間（Ｔｃ）測定値で置換されて変数ＴｃＳｕｍの更新値（即ち、ＴｃＳｕｍ＝ＴｃＳｕｍ＋Ｔｃ）を得る。
【００８１】
次に、ステップ１１２Ｂにおいて、足接地時間（Ｔｃ）ステップ数（ＴｃＳｔｅｐｓ）の連続合計は１だけ増分される（即ち、ＴｃＳｔｅｐｓ＝ＴｃＳｔｅｐｓ＋１）。足接地時間ステップ（ＴｃＳｔｅｐ）は、負のスパイク事象（ステップ１００Ｂにおいて識別される）の後に先に述べた正のスパイク事象（ステップ１０８Ｂにおいて識別）が続くたびに生じる。
【００８２】
ループ１０１のステップ１１４において、システムは、ステップ１００Ａへ戻る前にある時間量だけ休止モードに置かれる。実施の一形態によれば、この休止モードは、ユーザが最大速度で走っているときに生じる最小足接地時間（Ｔｃ）に等しい時間（例えば、１２２ｍｓ）だけ継続する。このような休止期間は、マイクロ・コントローラが以降の負のスパイク事象として検出された正のスパイク事象の直後の加速度計の出力信号に生じるリンギングを誤って識別することを防止するために用いられる。更に、回路における必須でない構成要素に対する電力供給は、システムにおける電力を節減するため休止期間中は低減されるか止められる。
【００８３】
図１３は、割込みルーチン１１５の低レベルのフローチャートを示している。先に述べたように、割込みルーチン１１５は、ループの多数の繰返しにより累積されるデータ、例えば足接地時間および足揚上時間を評価し分析するように連続ループ１０１に周期的に割込みを行う。割込みルーチン１１５は、所与の任意の時間間隔で実行するようにプログラムされるが、有意データがルーチン１１５により分析され評価される前に有意データ（ｍｅａｎｉｎｇ  ｄａｔａ）がループ１０１により集められるように、２秒ごとに１回以上頻繁に実行しないことが望ましい。
【００８４】
割込みルーチン１１５のステップ１１６は、当該ルーチンをして連続ループ１０１に割込みさせる。次に、図１１における高レベルのステップ１１８を構成するステップ１１８Ａ〜１１８Ｄが、ユーザの幾つかのステップにわたる平均接地時間（Ｔｃ）値（ＴｃＡｖｅｒａｇｅ）を計算し、ループ１０１のＴｃＳｕｍ値およびＴｃＳｔｅｐｓ値をゼロへリセットする。特に、ステップ１１８Ａおよび１１８Ｂはそれぞれ、ＴｃＳｔｅｐｓおよびＴｃＳｕｍのその時の値がそれぞれゼロより大きいことを確認するためこれらの値を評価する。これは、マイクロ・コントローラがゼロの値による除算を行うことを防止するために行われる。次に、ステップ１１８Ｃにおいて、平均足接地時間値（ＴｃＡｖｅｒａｇｅ）が、ＴｃＳｔｅｐｓの値によりＴｃＳｕｍの値を除すことによって計算される（即ち、ＴｃＡｖｅｒａｇｅ＝ＴｃＳｕｍ／ＴｃＳｔｅｐｓ  但し、「／」は除算演算子である）。最後に、足接地時間の新規の測定が連続ループ１０１への戻り時に行われるように、ＴｃＳｕｍ値とＴｃＳｔｅｐｓ値とが（ステップ１１８Ｄにおいて）ゼロへリセットされる。
【００８５】
同様に、図１１における高レベルのステップ１２０を構成するステップ１２０Ａ〜１２０Ｄが、ユーザの数ステップにわたる平均空中時間（Ｔａ）値（ＴａＡｖｅｒａｇｅ）を計算して、ループ１０１においてＴａＳｕｍ値とＴａＳｔｅｐｓ値とをゼロにリセットする。特に、ステップ１２０Ａおよび１２０Ｂは、その時のＴａＳｔｅｐｓ値とＴａＳｕｍ値の各々がゼロより大きいことを確認するためこれらの値をそれぞれ評価する。次に、ステップ１２０Ｃにおいて、足揚上時間の平均値（ＴａＡｖｅｒａｇｅ）が、ＴａＳｔｅｐｓ値によりＴａＳｕｍ値を除すことにより計算される（即ち、ＴａＡｖｅｒａｇｅ＝ＴａＳｕｍ／ＴａＳｔｅｐｓ）。最後に、ＴａＳｕｍ値とＴａＳｔｅｐｓ値とは、足揚上時間の新規の測定が連続ループ１０１への戻り時に行われるように、（ステップ１２０Ｄにおいて）ゼロにリセットされる。
【００８６】
図１１における高レベルのステップ１２２を構成するステップ１２２Ａ〜１２２Ｃにおいて、ユーザのステップ頻度が計算されたＴｃＡｖｅｒａｇｅ値とＴａＡｖｅｒａｇｅ値とに基いて決定され、ユーザの総ステップ数はループ１０１からのＳｔｅｐＣｏｕｎｔ値を２で乗じることにより計算される。特に、ステップ１２２Ａは、その時のＴｃＡｖｅｒａｇｅ値がゼロより大きいことを確認するためこの値を評価する。これは、マイクロ・コントローラがゼロの値による除算を行うことを防止するために行われる。次に、ステップ１２２Ｂにおいて、ユーザのステップ頻度が、平均揚上時間値（ＴａＡｖｅｒａｇｅ）と平均足接地時間値を加えたものの逆数の２倍を用いることによって計算される（ＴｃＡｖｅｒａｇｅ）（即ち、ステップ頻度＝２＊（１／（ＴａＡｖｅｒａｇｅ＋ＴｃＡｖｅｒａｇｅ））但し、「＊」は乗算演算子である）。
【００８７】
次に、ステップ１２４Ａ〜１２４Ｅにおいて、ユーザの歩調（Ｐａｃｅ）が公知のアルゴリズム（以下に述べる）に従って計算され、ユーザが移動した距離は、ユーザが移動している速度と歩調が決定された時間期間（ｔｉｍｅ  ｐｅｒｉｏｄ）とを乗じることにより計算される。ユーザの速度（フィート／秒における）は、量（５２８０／（ペース＊６０））に等しい。この距離の測定値は、移動した総距離を決定する過去の距離の測定値の累計であり得る。従って、累計距離の値は、ユーザがゼロの基準点から移動した距離を測定することができるようにユーザによってリセットが可能である。
【００８８】
特に、ステップ１２４Ａにおいて、ステップ１１８Ｃにおいて計算された平均足接地時間値（ＴｃＡｖｅｒａｇｅ）は、これが４００ｍｓより大きいかあるいは小さいかを判定するために評価される。ＴｃＡｖｅｒａｇｅが４００ｍｓより小さければ、変数「Ｓｌｏｐｅ」は（ステップ１２４Ｂにおいて）値２４へセットされ、ＴｃＡｖｅｒａｇｅが４００ｍｓより大きければ、変数Ｓｌｏｐｅは（ステップ１２４Ｃにおいて）値２８．５へセットされる。次に、ステップ１２４Ｄにおいて、ユーザの歩調（Ｐａｃｅ）が、値ＴｃＡｖｅｒａｇｅを変数Ｓｌｏｐｅで乗じることにより計算される（即ち、Ｐａｃｅ＝ＴｃＡｖｅｒａｇｅ＊Ｓｌｏｐｅ）。
【００８９】
本発明は、測定された足接地時間に基いてユーザの歩調を求めるために少なくとも２つの異なる式を用いるのが有利であることを発見した。即ち、ある値（例えば、４００ｍｓ）より長い測定足接地時間については第２の式を用いるべきであるが、ある値（例えば、４００ｍｓ）より短い測定足接地時間についてはユーザの歩調を求めるのに第１の式を用いるべきである。
【００９０】
図１４において、発見された足接地時間（Ｔｃ）とユーザの歩調との間の関係を示すグラフが提供される。図示のように、カーブ９０は個々の線分９０Ａ、９０Ｂおよび９０Ｃを有する。線分９０Ａおよび９０Ｃは各々異なる勾配を有するが、両者はゼロ［分／マイル］における共通のｙ切片値を共有している。ユーザの平均足接地時間は、ユーザが歩行中かジョギング中か走行中かの如何に拘わらず線分９０Ｂによりカバーされる範囲内に該当しない傾向があることが判った。従って、線分９０Ａまたは９０Ｃの一方が、測定された足接地時間に基いてユーザの歩調を決定するのにつねに用いられる。図１４に示されるように、線分９０Ａの勾配は２４である。この勾配は、平均測定足接地時間が線分９０Ａに妥当するとき、即ちＴｃＡｖｅｒａｇｅが４００ｍｓより小さいとき、（図１３のステップ１２４Ｂにおいて）変数Ｓｌｏｐｅとして用いられる。同様に、線分９０Ｃの勾配は２８．５であり、この勾配は、平均測定足接地時間が線分９０Ｃに妥当するとき、即ちＴｃＡｖｅｒａｇｅが４００ｍｓより大きいとき、（図１３のステップ１２４Ｃにおいて）変数Ｓｌｏｐｅとして用いられる。
【００９１】
再び図１３によれば、ステップ１２４Ｅにおいて、先に述べた如き移動中のユーザが移動した距離（Ｄｉｓｔａｎｃｅ）は、式
Ｄｉｓｔａｎｃｅ＝（時間＊（５２８０／（Ｐａｃｅ＊６０）））
を用いて計算され、但し、「時間」とは割込みルーチン１１５の割込み期間（例えば、２秒以上）である。
【００９２】
最後に、ステップ１２４Ａ〜１２４Ｅにおける計算の後、および（または）他の任意の計算が行われた後に、接地時間（Ｔｃ）値および空中時間（Ｔａ）値の更なる測定のため、ステップ１２６は割込みルーチン１１５を連続ループ１０１へ戻す。
【００９３】
ユーザの歩調、移動速度および移動距離の計算に加えて、代謝エネルギの消費もまた、ユーザの測定された足接地時間に基いて計算される。足接地時間に基く代謝エネルギ消費の測定の１つの手法については、参考のため本文に援用される１９９４年４月１１日出願の係属中の米国特許出願第０８／２２５，８２０号における発明の発明者の二人によって記載されている。
【００９４】
再び図１および図３に関して、実施の一形態によれば、先に述べたソフトウエア・ルーチンで使用するために、ユーザが幾つかの変数またはパラメータを入力することができる。これらの変数またはパラメータは、例えば、図１におけるユーザ・インターフェース３２あるいは図３におけるユーザ・インターフェース５８を介して入力することができる。本発明は完全に自己調整を意図したものであり理想的にはユーザ固有のデータの入力を必要とするものではないが、個々のユーザに適合するようにあるパラメータおよび変数がユーザ調整可能であると考えられる。例えば、（１）（図１２のステップ１０８Ｂおよび１００Ｂにおいてそれぞれ示される）正および負のスパイク事象に対する閾値が調整可能であり、（２）図１２のステップ１０６および１１４の休止時間が調整可能であり、（３）（図１４における）線分９０の各部分の勾配が調整可能であり、あるいは更に他の線分を加えることができ、あるいは代替的な接地時間／歩調式をその代わりに用いることができ、あるいは（４）図１２のステップ１０８Ｅで決定される足接地時間（Ｔｃ）値の受入れ得る範囲を変更することができる。
【００９５】
このようなパラメータまたは変数は、システムへ予めプログラムされるデフォルト値を持つことができ、このデフォルト値は、ユーザの身長、体重あるいは靴の硬さなどの幾つかのユーザ固有の基準に従ってユーザにより調整することが可能である。あるいはまた、前記パラメータまたは変数は、（ユーザが既知の距離の移動を開始するとき、ならびにこれを終了するときにボタンを押すなどで）ユーザによって入力される情報に基いて、ソフトウエアを介して自動的に調整することが可能である。
【００９６】
本文では、本発明がその色々な機能を実施するため特定の加速度計や特定のマイクロ・コントローラを用いるように記述されたが、ハードワイヤド回路を含む類似の機能を実施する任意の装置を本発明の意図された範囲から逸脱ことなく同等に用いられることを理解すべきである。更に、高域通過フィルタ／増幅回路の特定の実施の形態が本文において記載されるが、発明の範囲はこのような実施の形態の特定の特性によって限定されるべきではない。更に、非常に特定的なソフトウエア・ルーチンが本文において記述されたが、かかるルーチンの特定の特性もまた本発明の範囲を限定するものと見なされるべきではない。
【００９７】
本発明の少なくとも１つの例示的な実施の形態を記述したが、当業者には、種々の変更、修正および改善が容易に着想されよう。このような変更、修正および改善は、本発明の趣旨ならびに範囲内に含まれるべきものである。従って、本文の記述は例示に過ぎず、限定を意図するものではない。本発明は、頭書の請求の範囲およびその相等内容において記載されるようにのみ限定されるものである。
【図面の簡単な説明】
【００９８】
【図１】本発明が用いられるネットワークのブロック図である。
【図２】本発明がユーザに対してどのように取付けられるかを示す図である。
【図３】本発明が用いられるシステムのブロック図である。
【図４】本発明による回路の実施の一形態のブロック図である。
【図５】図４に示された回路の概略図である。
【図６】ユーザが歩行中である期間における図５に示された回路の２つのノードにおける信号を示す１対のグラフである。
【図７】本発明による加速度計の増幅／除去された出力をユーザが歩行中における従来技術の抵抗型センサを用いて得たデータと比較する１対のグラフである。
【図８】ユーザが走行中である期間における図５に示された回路の２つのノードにおける信号を示す１対のグラフである。
【図９】本発明による加速度計の増幅／除去された出力をユーザが走行中である期間における従来技術の抵抗型センサを用いて得たデータと比較する１対のグラフである。
【図１０】本発明による足接地時間を計測する方法の連続ループ部分の高レベルのフロー図である。
【図１１】本発明による足接地時間を計測する方法の割込み部分の高レベルのフロー図である。
【図１２】図１０に示された方法の連続ループ部分の更に詳細なフロー図である。
【図１３】図１１に示された方法の割込み部分の更に詳細なフロー図である。
【図１４】ユーザの足の平均計測足接地時間に基いてどのように移動中のユーザの歩幅が決定されるかを示すグラフである。
【図１】
0005268616.tif 000002
【図２】
0005268616.tif 000003
【図３】
0005268616.tif 000004
【図４】
0005268616.tif 000005
【図５】
0005268616.tif 000006
【図６】
0005268616.tif 000007
【図７】
0005268616.tif 000008
【図８】
0005268616.tif 000009
【図９】
0005268616.tif 000010
【図１０】
0005268616.tif 000011
【図１１】
0005268616.tif 000012
【図１２】
0005268616.tif 000013
【図１３】
0005268616.tif 000014
【図１４】
0005268616.tif 000015