(57)【特許請求の範囲】
【請求項１】
複数の通信デバイスと、
基準時刻を前記複数の通信デバイスへ送信する送信機とを備え、
前記複数の通信デバイスの各々は、前記基準時刻を受信すると、振動媒体の振動検知を開始して前記振動媒体の振動を検知し、前記振動媒体の振動検知を開始したときの内部時刻を前記受信した基準時刻に設定する、通信システム。
【請求項２】
前記複数の通信デバイスの各々は、前記基準時刻を受信すると、前記振動媒体の振動を所定のサンプリング周期でサンプリングして前記振動媒体の振動を検知し、
前記設定された内部時刻の精度は、前記複数の通信デバイス間において前記所定のサンプリング周期以下に設定される、請求項１に記載の通信システム。
【請求項３】
前記送信機は、前記基準時刻を無線通信により前記複数の通信デバイスへ送信する、請求項１または請求項２に記載の通信システム。
【請求項４】
前記送信機は、前記基準時刻とともに時刻同期コマンドを前記複数の通信デバイスへ送信し、
前記複数の通信デバイスの各々は、前記時刻同期コマンドを受信すると、時刻同期モードに設定され、その設定された時刻同期モードにおいて前記振動媒体の振動検知および前記内部時刻の前記基準時刻への設定を行なう、請求項２または請求項３に記載の通信システム。
【請求項５】
前記送信機は、前記基準時刻および前記時刻同期コマンドとともに前記時刻同期モードの継続時間を前記複数の通信デバイスへ送信し、
前記複数の通信デバイスの各々は、前記時刻同期モードの継続時間内に前記振動媒体の振動検知および前記内部時刻の前記基準時刻への設定を行なう、請求項４に記載の通信システム。
【請求項６】
前記複数の通信デバイスの各々は、前記振動媒体の振動を前記所定のサンプリング周期でサンプリングしたときの隣接する２つのサンプリングタイミングにおける振動信号の差分の絶対値の累積値がしきい値以上になると、前記振動媒体の振動を検知する、請求項２から請求項５のいずれか１項に記載の通信システム。
【請求項７】
複数の通信デバイスが基準時刻を受信する第１のステップと、
前記基準時刻の受信に応じて、前記複数の通信デバイスが振動媒体の振動検知を開始して前記振動媒体の振動を検知する第２のステップと、
前記振動媒体の振動が検知されると、前記複数の通信デバイスが前記振動媒体の振動検知を開始したときの内部時刻を前記受信された基準時刻に設定する第３のステップとを備える時刻同期方法。
【請求項８】
前記第２のステップは、前記基準時刻の受信に応じて、前記複数の通信デバイスが前記振動媒体の振動を所定のサンプリング周期でサンプリングして前記振動媒体の振動を検知し、
前記設定された内部時刻の精度は、前記複数の通信デバイス間において前記所定のサンプリング周期以下に設定される、請求項７に記載の時刻同期方法。
【請求項９】
前記第１のステップにおいて、前記複数の通信デバイスは、無線通信により前記基準時刻を受信する、請求項７または請求項８に記載の時刻同期方法。
【請求項１０】
前記第１のステップにおいて、前記複数の通信デバイスは、前記基準時刻とともに時刻同期コマンドを受信し、
前記第２のステップは、
前記時刻同期コマンドに応じて前記複数の通信デバイスの各々が時刻同期モードに設定される第１のサブステップと、
前記設定された時刻同期モードにおいて前記複数の通信デバイスの各々が前記振動媒体の振動を検知する第２のサブステップとを含み、
前記第３のステップは、前記時刻同期モードにおいて前記内部時刻の前記基準時刻への設定を行なう、請求項８または請求項９に記載の時刻同期方法。
【請求項１１】
前記第１のステップにおいて、前記複数の通信デバイスは、前記基準時刻および前記時刻同期コマンドとともに前記時刻同期モードの継続時間を受信し、
前記第２のサブステップは、前記時刻同期モードの継続時間内に前記振動媒体の振動を検知し、
前記第３のステップは、前記時刻同期モードの継続時間内に前記内部時刻の前記基準時刻への設定を行なう、請求項１０に記載の時刻同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の通信デバイス間で内部時刻を同期させる通信システムおよびその通信システムにおける時刻同期方法に関するものである。
【背景技術】
【０００２】
各々がセンサーを搭載した複数のセンシングデバイスにおいて、各センサーが信号を検出するタイミングを同期させるには、各センサーが信号をサンプリングするときに用いるセンシングデバイス内の内部時刻を複数のセンシングデバイス間で同期させる必要がある。
【０００３】
このような、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などの複数の通信機器間で内部時刻を同期させる方法として、従来、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）を用いた方法が知られている（非特許文献１）。
【０００４】
この方法は、複数の通信機器が相互に接続されたネットワークにおいて、１つの通信機器から時刻情報を他の通信機器へ同時送信して複数の通信機器における時刻を同期させる方法である。
【０００５】
従って、複数のセンシングデバイスを相互に接続してネットワークを構成し、その構成したネットワークにおいて、１つのセンシングデバイスから時刻情報を他のセンシングデバイスへ同時送信することにより、複数のセンシングデバイスにおける時刻を同期させることが可能である。
【非特許文献１】Ｄａｖｉｄ  Ｌ．  Ｍｉｌｌｓ，“Ｉｎｔｅｒｎｅｔ  Ｔｉｍｅ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ：ｔｈｅ  Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ”，ＩＥＥＥ  Ｔｒａｎｓ．Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ３９，１０（Ｏｃｔｏｂｅｒ  １９９１），１４８２−１４９３．
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、従来の時刻同期方法においては、通信機器間の通信による遅延が各通信機器において設定する時刻に誤差として含まれ、複数の通信機器における時刻を同期させるときの誤差が大きくなるという問題がある。
【０００７】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、通信による遅延を除外して複数の通信デバイス間で時刻を同期させることができる通信システムを提供することである。
【０００８】
また、この発明の別の目的は、通信による遅延を除外して複数の通信デバイス間で時刻を同期させることができる通信システムにおける時刻同期方法を提供することである。
【課題を解決するための手段】
【０００９】
この発明によれば、通信システムは、複数の通信デバイスと、送信機とを備える。送信機は、基準時刻を複数の通信デバイスへ送信する。そして、複数の通信デバイスの各々は、基準時刻を受信すると、振動媒体の振動検知を開始して振動媒体の振動を検知し、振動媒体の振動検知を開始したときの内部時刻を受信した基準時刻に設定する。
【００１０】
好ましくは、複数の通信デバイスの各々は、基準時刻を受信すると、振動媒体の振動を所定のサンプリング周期でサンプリングして振動媒体の振動を検知する。そして、設定された内部時刻の精度は、複数の通信デバイス間において所定のサンプリング周期以下に設定される。
【００１１】
好ましくは、送信機は、基準時刻を無線通信により複数の通信デバイスへ送信する。
【００１２】
好ましくは、送信機は、基準時刻とともに時刻同期コマンドを複数の通信デバイスへ送信する。そして、複数の通信デバイスの各々は、時刻同期コマンドを受信すると、時刻同期モードに設定され、その設定された時刻同期モードにおいて振動媒体の振動検知および内部時刻の基準時刻への設定を行なう。
【００１３】
好ましくは、送信機は、基準時刻および時刻同期コマンドとともに時刻同期モードの継続時間を複数の通信デバイスへ送信する。そして、複数の通信デバイスの各々は、時刻同期モードの継続時間内に振動媒体の振動検知および内部時刻の基準時刻への設定を行なう。
【００１４】
好ましくは、複数の通信デバイスの各々は、振動媒体の振動を所定のサンプリング周期でサンプリングしたときの隣接する２つのサンプリングタイミングにおける振動信号の差分の絶対値の累積値がしきい値以上になると、振動媒体の振動を検知する。
【００１５】
また、この発明によれば、時刻同期方法は、複数の通信デバイスが基準時刻を受信する第１のステップと、基準時刻の受信に応じて、複数の通信デバイスが振動媒体の振動検知を開始して振動媒体の振動を検知する第２のステップと、振動媒体の振動が検知されると、複数の通信デバイスが振動媒体の振動検知を開始したときの内部時刻を受信された基準時刻に設定する第３のステップとを備える。
【００１６】
好ましくは、第２のステップは、基準時刻の受信に応じて、複数の通信デバイスが振動媒体の振動を所定のサンプリング周期でサンプリングして振動媒体の振動を検知する。そして、設定された内部時刻の精度は、複数の通信デバイス間において所定のサンプリング周期以下に設定される。
【００１７】
好ましくは、第１のステップにおいて、複数の通信デバイスは、無線通信により基準時刻を受信する。
【００１８】
好ましくは、第１のステップにおいて、複数の通信デバイスは、基準時刻とともに時刻同期コマンドを受信する。第２のステップは、時刻同期コマンドに応じて複数の通信デバイスの各々が時刻同期モードに設定される第１のサブステップと、設定された時刻同期モードにおいて複数の通信デバイスの各々が振動媒体の振動を検知する第２のサブステップとを含む。第３のステップは、時刻同期モードにおいて内部時刻の基準時刻への設定を行なう。
【００１９】
好ましくは、第１のステップにおいて、複数の通信デバイスは、基準時刻および時刻同期コマンドとともに時刻同期モードの継続時間を受信する。第２のサブステップは、時刻同期モードの継続時間内に振動媒体の振動を検知する。第３のステップは、時刻同期モードの継続時間内に内部時刻の基準時刻への設定を行なう。
【発明の効果】
【００２０】
この発明においては、複数の通信デバイスが基準時刻を受信した後に、振動媒体の振動検知を開始し、振動媒体の振動を検知すると、振動媒体の振動検知を開始したときの時刻を基準時刻に設定する。即ち、基準時刻が複数の通信デバイスへ到着するまでの通信時間（通信による遅延）に関係なく、基準時刻を受信した時刻が基準となって振動媒体の振動検知が開始され、複数の通信デバイスにおける複数の時刻が同期される。
【００２１】
従って、この発明によれば、通信による遅延を除外して複数の通信デバイス間で時刻を同期させることができる。
【発明を実施するための最良の形態】
【００２２】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００２３】
図１は、この発明の実施の形態による通信システムの概念図である。この発明の実施の形態による通信システム１０は、ホストＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１と、通信デバイス２〜５とを備える。
【００２４】
ホストＰＣ１および通信デバイス２〜５は、振動媒体２０上に設置される。振動媒体２０は、音の伝搬速度が１９５０ｍ／ｓ〜６４２０ｍ／ｓの範囲である振動媒体からなり、例えば、音の伝搬速度が２０００ｍ／ｓである材質を用いた机からなる。音の伝搬速度が１９５０ｍ／ｓである材質は、プラスチックであり、音の伝搬速度が６４２０ｍ／ｓである材質は、アルミニウムである。
【００２５】
そして、振動媒体２０は、例えば、人間の手によって振動を与えられると、振動源３０から振動を伝搬させる。
【００２６】
振動源３０は、人の手もしくは電子制御された振動デバイスによって起こされた振動を振動媒体２０中へ伝搬させる。
【００２７】
ホストＰＣ１は、通信デバイス２〜５に設定される時刻Ｔ＿ａｄｊｕｓｔ、時刻同期コマンドおよび時刻同期モードの継続時間を通信デバイス２〜５へ同時に送信する。通信デバイス２〜５の各々は、加速度センサーを備える。そして、通信デバイス２〜５の各々は、ホストＰＣ１から時刻Ｔ＿ａｄｊｕｓｔ、時刻同期コマンドおよび時刻同期モードの継続時間を受信する。
【００２８】
通信デバイス２〜５の各々は、時刻同期コマンドを受信すると、時刻同期モードに入り、後述する方法によって、振動媒体２０を伝搬する振動を検知するとともに、振動を検知すると、内部時刻Ｔ＿ｉｎｔｅｒｎａｌを時刻Ｔ＿ａｄｊｕｓｔに設定する。
【００２９】
図２は、図１に示す通信デバイス２の構成を示す概略ブロック図である。通信デバイス２は、アンテナ１１と、送受信手段１２と、プロセスユニット１３と、加速度センサー１４とを含む。
【００３０】
アンテナ１１は、ホストＰＣ１から時刻Ｔ＿ａｄｊｕｓｔ、時刻同期コマンドおよび時刻同期モードの継続時間を受信し、その受信した時刻Ｔ＿ａｄｊｕｓｔ、時刻同期コマンドおよび時刻同期モードの継続時間を送受信手段１２へ出力する。また、アンテナ１１は、送受信手段１２から受けた信号をホストＰＣ１へ送信する。
【００３１】
送受信手段１２は、アンテナ１１から受けた時刻Ｔ＿ａｄｊｕｓｔ、時刻同期コマンドおよび時刻同期モードの継続時間を復調等してプロセスユニット１３へ出力する。また、送受信手段１２は、プロセスユニット１３から受けた信号に変調等を施し、その変調等を施した信号をアンテナ１１を介してホストＰＣ１へ送信する。
【００３２】
プロセスユニット１３は、時刻Ｔ＿ａｄｊｕｓｔ、時刻同期コマンドおよび時刻同期モードの継続時間を送受信手段１２から受ける。そして、プロセスユニット１３は、時刻同期コマンドに応じて、通信デバイス２を時刻同期モードに設定する。
【００３３】
また、プロセスユニット１３は、ホストＰＣ１から受信した時刻同期モードの継続時間を自己が保持する最大時間と比較し、いずれか長い時間を時刻同期モードの最大継続時間として設定する。
【００３４】
そうすると、プロセスユニット１３は、最大継続時間内において、加速度センサー１４から受けた加速度センサーデータ値に基づいて、後述する方法によって振動を検知し、振動を検知したときの内部時刻Ｔ＿ｉｎｔｅｒｎａｌを時刻Ｔ＿ａｄｊｕｓｔに設定する。
【００３５】
そして、プロセスユニット１３は、最大継続時間内において、内部時刻Ｔ＿ｉｎｔｅｒｎａｌを時刻Ｔ＿ａｄｊｕｓｔに設定したとき、ＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅ）信号を送受信手段１２およびアンテナ１１を介してホストＰＣ１へ送信する。
【００３６】
加速度センサー１４は、ｎ（ｎは正の整数）軸の加速度センサーからなり、振動媒体２０の振動を検出して加速度センサーデータ値をプロセスユニット１３へ出力する。
【００３７】
なお、図１に示す通信デバイス３〜５の各々も、図２に示す通信デバイス２と同じ構成を有する。
【００３８】
図３は、図１に示す振動媒体２０の振動を検知する方法を説明するための図である。図３において、縦軸は、加速度センサー１４が検出した加速度センサーデータ値を表し、横軸は、時間を表す。また、図３における曲線ｋ１〜ｋ３は、加速度センサーデータ値を示す。加速度センサー１４は、ｎ軸の加速度センサーからなるので、加速度センサーデータ値は、本来、ｎ個の加速度センサーデータ値からなるが、図３においては、図を見易くするために３個の加速度センサーデータ値のみを示す。
【００３９】
プロセスユニット１３は、時刻Ｔで時刻同期モードに入る。そうすると、プロセスユニット１３は、サンプリング周期を速め、例えば、０．１ｍｓｅｃのサンプリング周期ΔＴで加速度センサー１４からの加速度センサーデータ値ｋ１〜ｋ３をサンプリングする。振動源３０は、例えば、通信デバイス２〜５から１０ｃｍの地点に存在する場合、振動が振動源３０から通信デバイス２〜５の各々へ伝搬する伝搬時間は、０．１ｍ／２０００ｍ／ｓｅｃ＝０．０５ｍｓｅｃである。従って、プロセスユニット１３は、サンプリング周期ΔＴ毎に加速度センサーデータ値を必ずサンプリングできる。
【００４０】
時刻Ｔにおけるｎ軸の加速度センサーデータをＡｎ（Ｔ）とし、全加速度データをベクトル表現したものを加速度ベクトル＜Ａ（Ｔ）＞＝［Ａ１（Ｔ），Ａ２（Ｔ），・・・，Ａｎ（Ｔ）］とする。なお、この明細書において、表記＜Ｘ＞は、ベクトルＸを表す。
【００４１】
そして、プロセスユニット１３は、時刻Ｔ−ΔＴにおいて加速度センサーデータ値をサンプリングして得られた加速度ベクトル＜Ａ（Ｔ−ΔＴ）＞と、時刻Ｔにおいて加速度センサーデータ値をサンプリングして得られた加速度ベクトル＜Ａ（Ｔ）＞との差分（＝＜Ａ（Ｔ）＞−＜Ａ（Ｔ−ΔＴ）＞）の絶対値（＝｜＜Ａ（Ｔ）＞−＜Ａ（Ｔ−ΔＴ）＞｜）を演算し、その演算した絶対値（＝｜＜Ａ（Ｔ）＞−＜Ａ（Ｔ−ΔＴ）＞｜）がしきい値ｔｈｒｅｓｈｏｌｄ以上であるか否かを判定する。
【００４２】
絶対値（＝｜＜Ａ（Ｔ）＞−＜Ａ（Ｔ−ΔＴ）＞｜）がしきい値ｔｈｒｅｓｈｏｌｄ以上であるとき、プロセスユニット１３は、加速度センサー１４が振動媒体２０の振動を検知したと判定し、時刻Ｔを時刻Ｔ＿ａｄｊｕｓｔに設定する。
【００４３】
一方、絶対値（＝｜＜Ａ（Ｔ）＞−＜Ａ（Ｔ−ΔＴ）＞｜）がしきい値ｔｈｒｅｓｈｏｌｄよりも小さいとき、プロセスユニット１３は、時刻Ｔにおいて加速度センサーデータ値をサンプリングして得られた加速度ベクトル＜Ａ（Ｔ）＞と、時刻Ｔ＋ΔＴにおいて加速度センサーデータ値をサンプリングして得られた加速度ベクトル＜Ａ（Ｔ＋ΔＴ）＞との差分（＝＜Ａ（Ｔ＋ΔＴ）＞−＜Ａ（Ｔ）＞）の絶対値（＝｜＜Ａ（Ｔ＋ΔＴ）＞−＜Ａ（Ｔ）＞｜）を演算し、その演算した絶対値（＝｜＜Ａ（Ｔ＋ΔＴ）＞−＜Ａ（Ｔ）＞｜）と、既に演算した絶対値｜＜Ａ（Ｔ）＞−＜Ａ（Ｔ−ΔＴ）＞｜との和である累積値Ｓ１を演算し、その演算した累積値Ｓ１がしきい値ｔｈｒｅｓｈｏｌｄ以上であるか否かを更に判定する。
【００４４】
累積値Ｓ１がしきい値ｔｈｒｅｓｈｏｌｄ以上であるとき、プロセスユニット１３は、加速度センサー１４が振動媒体２０の振動を検知したと判定し、時刻Ｔを時刻Ｔ＿ａｄｊｕｓｔに設定する。
【００４５】
一方、累積値Ｓ１がしきい値ｔｈｒｅｓｈｏｌｄよりも小さいとき、プロセスユニット１３は、時刻Ｔ＋ΔＴにおいて加速度センサーデータ値をサンプリングして得られた加速度ベクトル＜Ａ（Ｔ＋ΔＴ）＞と、時刻Ｔ＋２ΔＴにおいて加速度センサーデータ値をサンプリングして得られた加速度ベクトル＜Ａ（Ｔ＋２ΔＴ）＞との差分（＝＜Ａ（Ｔ＋２ΔＴ）＞−＜Ａ（Ｔ＋ΔＴ）＞）の絶対値（＝｜＜Ａ（Ｔ＋２ΔＴ）＞−＜Ａ（Ｔ＋ΔＴ）＞｜）を演算し、その演算した絶対値（＝｜＜Ａ（Ｔ＋２ΔＴ）＞−＜Ａ（Ｔ＋ΔＴ）＞｜）と、累積値Ｓ１との和である累積値Ｓ２（＝｜＜Ａ（Ｔ＋ΔＴ）＞−＜Ａ（Ｔ）＞｜＋Ｓ１）を演算し、その演算した累積値Ｓ２がしきい値ｔｈｒｅｓｈｏｌｄ以上であるか否かを更に判定する。
【００４６】
そして、累積値Ｓ２がしきい値ｔｈｒｅｓｈｏｌｄ以上であるとき、プロセスユニット１３は、加速度センサー１４が振動媒体２０の振動を検知したと判定し、時刻Ｔを時刻Ｔ＿ａｄｊｕｓｔに設定する。
【００４７】
一方、累積値Ｓ２がしきい値ｔｈｒｅｓｈｏｌｄよりも小さいとき、プロセスユニット１３は、時刻Ｔ＋２ΔＴにおいて加速度センサーデータ値をサンプリングして得られた加速度ベクトル＜Ａ（Ｔ＋２ΔＴ）＞と、時刻Ｔ＋３ΔＴにおいて加速度センサーデータ値をサンプリングして得られた加速度ベクトル＜Ａ（Ｔ＋３ΔＴ）＞との差分（＝＜Ａ（Ｔ＋３ΔＴ）＞−＜Ａ（Ｔ＋２ΔＴ）＞）の絶対値（＝｜＜Ａ（Ｔ＋３ΔＴ）＞−＜Ａ（Ｔ＋２ΔＴ）＞｜）を演算し、その演算した絶対値（＝｜＜Ａ（Ｔ＋３ΔＴ）＞−＜Ａ（Ｔ＋２ΔＴ）＞｜）と累積値Ｓ２との和である累積値Ｓ３（＝｜＜Ａ（Ｔ＋３ΔＴ）＞−＜Ａ（Ｔ＋２ΔＴ）＞｜＋Ｓ２）を演算し、その演算した累積値Ｓ３がしきい値ｔｈｒｅｓｈｏｌｄ以上であるか否かを更に判定する。
【００４８】
一般に、プロセスユニット１３は、ｍ（ｍ＝０，１，２，・・・ｋ；ｋは、２以上の整数）個のサンプリングタイミングで加速度センサーデータ値をサンプリングしたとき、時刻Ｔ＋（ｍ−１）ΔＴにおいて加速度センサーデータ値をサンプリングして得られた加速度ベクトル＜Ａ（Ｔ＋（ｍ−１）ΔＴ）＞と、時刻Ｔ＋ｍΔＴにおいて加速度センサーデータ値をサンプリングして得られた加速度ベクトル＜Ａ（Ｔ＋ｍΔＴ）＞との差分（＝＜Ａ（Ｔ＋ｍΔＴ）＞−＜Ａ（Ｔ＋（ｍ−１）ΔＴ）＞）の絶対値（＝｜＜Ａ（Ｔ＋ｍΔＴ）＞−＜Ａ（Ｔ＋（ｍ−１）ΔＴ）＞｜）を演算し、その演算した絶対値（＝｜＜Ａ（Ｔ＋ｍΔＴ）＞−＜Ａ（Ｔ＋（ｍ−１）ΔＴ）＞｜）と累積値Ｓｍ−１との和である累積値Ｓｍ（＝｜＜Ａ（Ｔ＋ｍΔＴ）＞−＜Ａ（Ｔ＋（ｍ−１）ΔＴ）＞｜＋Ｓｍ−１）を演算し、その演算した累積値Ｓｍがしきい値ｔｈｒｅｓｈｏｌｄ以上であるか否かを判定する。
【００４９】
そして、累積値Ｓｍがしきい値ｔｈｒｅｓｈｏｌｄ以上であるとき、プロセスユニット１３は、振動媒体２０の振動を検知したと判定し、時刻Ｔを時刻Ｔ＿ａｄｊｕｓｔに設定する。
【００５０】
一方、累積値Ｓｍがしきい値ｔｈｒｅｓｈｏｌｄよりも小さいとき、プロセスユニット１３は、上述した動作を繰り返し、累積値Ｓｍがしきい値ｔｈｒｅｓｈｏｌｄ以上になると、時刻Ｔを時刻Ｔ＿ａｄｊｕｓｔに設定する。
【００５１】
このように、プロセスユニット１３は、次式を満たす累積値Ｓｍを検出することにより、振動媒体２０の振動を検知し、時刻Ｔを時刻Ｔ＿ａｄｊｕｓｔに設定する。
【００５２】
【数１】
0004512775.tif 000002
【００５３】
なお、図３は、ｋ回目のサンプリングを行なったときに振動媒体２０の振動を検知することを示すために、時刻Ｔ＋ｋΔＴが表記されている。
【００５４】
このように、プロセスユニット１３が時刻同期モードに入った時刻Ｔの後、時間ｋΔＴが経過した後に、プロセスユニット１３は、振動媒体２０の振動を検知し、時刻Ｔを時刻Ｔ＿ａｄｊｕｓｔに設定するのであるから、時間ｋΔＴがホストＰＣ１における時刻Ｔ＿ａｄｊｕｓｔ＿Ｈと通信デバイス２〜５において設定された時刻Ｔ＿ａｄｊｕｓｔ＿Ｄとの誤差になる。即ち、通信デバイス２〜５において設定される時刻Ｔ＿ａｄｊｕｓｔ＿Ｄは、時間ｋΔＴの精度でホストＰＣ１における時刻Ｔ＿ａｄｊｕｓｔ＿Ｈと同期を取ることができる。
【００５５】
この場合、例えば、ｋをｋ＝１０に設定すれば、サンプリング周期ΔＴは、上述したように０．１ｍｓｅｃであるので、ｋΔＴ＝１ｍｓｅｃになり、通信デバイス２〜５の時刻Ｔ＿ａｄｊｕｓｔ＿Ｄを１ｍｓｅｃの精度でホストＰＣ１の時刻Ｔ＿ａｄｊｕｓｔ＿Ｈに同期させることができる。即ち、通信デバイス２〜５の時刻Ｔ＿ａｄｊｕｓｔ＿Ｄをサンプリング周期ΔＴの整数倍ｋの精度でホストＰＣ１の時刻Ｔ＿ａｄｊｕｓｔ＿Ｈに同期させることができる。
【００５６】
また、通信デバイス２〜５の相互間においては、振動媒体２０の振動を検知する時刻は、サンプリング周期ΔＴの単位でずれるので、通信デバイス２〜５は、サンプリング周期ΔＴ以下の精度で相互の時刻を同期させることができる。
【００５７】
図４は、この発明による時刻同期方法を説明するためのフローチャートである。一連の動作が開始されると、ホストＰＣ１は、コマンドを無線通信により通信デバイス２〜５へ送信し、通信デバイス２〜５の各々は、ホストＰＣ１からコマンドを無線通信により受信する（ステップＳ１）。
【００５８】
そして、通信デバイス２〜５の各々において、プロセスユニット１３は、受信したコマンドが時刻同期コマンドＴａｐＳｙｎｃであるか否かを判定し（ステップＳ２）、受信したコマンドが時刻同期コマンドＴａｐＳｙｎｃでないとき、一連の動作はステップＳ１へ移行する。
【００５９】
ステップＳ２において、受信したコマンドが時刻同期コマンドＴａｐＳｙｎｃであると判定されると、プロセスユニット１３は、コマンドパラメータ処理を実行する（ステップＳ３）。即ち、プロセスユニット１３は、時刻同期コマンドＴａｐＳｙｎｃに含まれているＴ＿ａｄｊｕｓｔ，ｍ，ｔｈｒｅｓｈｏｌｄ，ｄｕｒａｔｉｏｎを検出し、Ｔ＿ａｄｊｕｓｔを通信デバイス２〜５において設定する時刻とし、ｍを加速度データ平均回数とし、ｔｈｒｅｓｈｏｌｄを加速度差分値の累積値における閾値とし、ｄｕｒａｔｉｏｎを時刻同期モード（ＴａｐＳｙｎｃ  ｍｏｄｅ）を継続する時間（ｍｓｅｃ）とする。
【００６０】
そして、プロセスユニット１３は、ＴａｐＳｙｎｃ継続最大時間調整を行なう（ステップＳ４）。即ち、プロセスユニット１３は、ｄｕｒａｔｉｏｎを自己が保持している最大時間ＭＡＸ＿ＴＩＭＥと比較し、ｄｕｒａｔｉｏｎおよび最大時間ＭＡＸ＿ＴＩＭＥのうち、長い方の時間を時刻同期モードを継続する継続最大時間Ｔ＿ｔａｐｓｙｎｃ（ＴａｐＳｙｎｃ継続最大時間）として設定する。この場合、プロセスユニット１３は、通常、ｄｕｒａｔｉｏｎを継続最大時間Ｔ＿ｔａｐｓｙｎｃとして設定する。
【００６１】
その後、プロセスユニット１３は、ＴａｐＳｙｎｃループ前処理を行なう（ステップＳ５）。即ち、プロセスユニット１３は、通信デバイス２〜５の内部クロック値をＴ＿ｉｎｔｅｒｎａｌとし、サンプリング周期ΔＴを０．１ｍｓｅｃに設定し、ｋのカウンタ値を“０”に設定し、閾値判定用変数ｓｕｍを“０”に設定し、Ｆｌｇ＿ａｄｊｕｓｔｅｄをＦａｌｓｅに設定（Ｆｌｇ＿ａｄｊｕｓｔｅｄ＝Ｆａｌｓｅ）する。
【００６２】
そうすると、プロセスユニット１３は、ｋΔＴを演算し、その演算したｋΔＴがｄｕｒａｔｉｏｎ以上であるか否かを判定する（ステップＳ６）。そして、ｋΔＴがｄｕｒａｔｉｏｎよりも小さいとき、プロセスユニット１３は、ｋ番目のサンプリングを行なって加速度ベクトル＜Ａ（Ｔ＿ｉｎｔｅｒｎａｌ＋ｋΔＴ）＞を検出し、式（１）を用いて閾値判定用変数ｓｕｍ＝ｓｕｍ＋｜＜Ａ（Ｔ＿ｉｎｔｅｒｎａｌ＋ｋΔＴ）＞−＜Ａ（Ｔ＿ｉｎｔｅｒｎａｌ＋（ｋ−１）ΔＴ）＞｜を演算し、更に、ｋ＝ｋ＋１を設定する（ステップＳ７）。
【００６３】
その後、プロセスユニット１３は、演算した閾値判定用変数ｓｕｍがしきい値ｔｈｒｅｓｈｏｌｄ以上であるか否かを判定し（ステップＳ８）、閾値判定用変数ｓｕｍがしきい値ｔｈｒｅｓｈｏｌｄよりも小さいとき、一連の動作は、ステップＳ６へ移行する。そして、ステップＳ８において、閾値判定用変数ｓｕｍがしきい値ｔｈｒｅｓｈｏｌｄ以上であると判定されるまで、上述したステップＳ６〜ステップＳ８が繰り返し実行される。
【００６４】
その後、ステップＳ８において、閾値判定用変数ｓｕｍがしきい値ｔｈｒｅｓｈｏｌｄ以上であると判定されると、プロセスユニット１３は、内部クロック値Ｔ＿ｉｎｔｅｒｎａｌを時刻Ｔ＿ａｄｊｕｓｔに設定するとともに（ステップＳ９）、Ｆｌｇ＿ａｄｊｕｓｔｅｄをＴｒｕｅに設定する（ステップＳ１０）。そして、一連の動作は、ステップＳ６へ移行する。
【００６５】
ステップＳ６において、ｋΔＴがｄｕｒａｔｉｏｎ以上であると判定されると、プロセスユニット１３は、Ｆｌｇ＿ａｄｊｕｓｔｅｄがＴｒｕｅであるか否かを更に判定する（ステップＳ１１）。そして、Ｆｌｇ＿ａｄｊｕｓｔｅｄがＴｒｕｅであると判定されたとき、プロセスユニット１３は、ＡＣＫ信号をホストＰＣ１へ送信し、コマンド待機モードに戻る（ステップＳ１２）。
【００６６】
一方、ステップＳ１１において、Ｆｌｇ＿ａｄｊｕｓｔｅｄがＴｒｕｅでないと判定されたとき、プロセスユニット１３は、ＮＡＣＫ信号をホストＰＣ１へ送信し、コマンド待機モードに戻る（ステップＳ１３）。そして、ステップＳ１２またはステップＳ１３の後、一連の動作が終了する。
【００６７】
ステップＳ８において、閾値判定用変数ｓｕｍがしきい値ｔｈｒｅｓｈｏｌｄよりも小さいと判定された後に（即ち、“ＮＯ”と判定された後に）、ステップＳ６が実行され、ステップＳ６において、ｋΔＴがｄｕｒａｔｉｏｎ以上であると判定され、更に、ステップＳ１１において、Ｆｌｇ＿ａｄｊｕｓｔｅｄがＴｒｕｅでないと判定されたとき、通信デバイス２〜５において内部クロック値Ｔ＿ｉｎｔｅｒｎａｌが時刻Ｔ＿ａｄｊｕｓｔに設定されない状態で一連の動作が終了するが、プロセスユニット１３は、ＮＡＣＫ信号をホストＰＣ１へ送信するので（ステップＳ１３参照）、ホストＰＣ１は、通信デバイス２〜５において内部クロック値Ｔ＿ｉｎｔｅｒｎａｌが時刻Ｔ＿ａｄｊｕｓｔに設定されていないことを検知でき、再度、ＴａｐＳｙｎｃからなるコマンドを通信デバイス２〜５へ送信することにより、通信デバイス２〜５において内部クロック値Ｔ＿ｉｎｔｅｒｎａｌを時刻Ｔ＿ａｄｊｕｓｔに設定する動作（図４に示すフローチャート）が行なわれることになる。
【００６８】
また、ステップＳ９が実行された後に、ステップＳ６において、ｋΔＴがｄｕｒａｔｉｏｎ以上であると判定されたとき、通信デバイス２〜５の内部クロック値Ｔ＿ｉｎｔｅｒｎａｌを最小の誤差で同期させることができる。
【００６９】
上述したように、この発明による時刻同期方法によれば、通信デバイス２〜５は、ホストＰＣ１から時刻Ｔ＿ａｄｊｕｓｔを受信した時刻Ｔ＿ｉｎｔｅｒｎａｌの後に振動媒体２０の振動を検知し始め、時刻Ｔ＿ｉｎｔｅｒｎａｌから時間ｋΔＴが経過した後に振動媒体２０の振動を検知して時刻Ｔ＿ｉｎｔｅｒｎａｌを時刻Ｔ＿ａｄｊｕｓｔに設定するので、時刻Ｔ＿ａｄｊｕｓｔがホストＰＣ１から通信デバイス２〜５へ送信されるまでの時間（即ち、時刻Ｔ＿ａｄｊｕｓｔが通信デバイス２〜５へ到着するまでの通信による遅延）を除外して通信デバイス２〜５間で内部クロック値Ｔ＿ｉｎｔｅｒｎａｌを同期させることができる。
【００７０】
また、通信デバイス２〜５間で同期させた内部クロック値Ｔ＿ｉｎｔｅｒｎａｌの精度は、サンプリング周期ΔＴ以下になる。通信デバイス２〜５の各々において、振動の検知は、サンプリング周期ΔＴごとに行なわれ、閾値判定用変数ｓｕｍがしきい値ｔｈｒｅｓｈｏｌｄ以上になるときのｋ回目のサンプリングタイミングの通信デバイス２〜５間におけるずれ量は、サンプリング周期ΔＴ以下となるからなるである。
【００７１】
従って、サンプリング周期ΔＴを０．１ｍｓｅｃに設定することにより、通信デバイス２〜５の内部クロック値Ｔ＿ｉｎｔｅｒｎａｌを０．１ｍｓｅｃ以下の精度で同期させることができる。
【００７２】
なお、時刻Ｔ＿ａｄｊｕｓｔは、「基準時刻」を構成し、ホストＰＣ１は、「送信機」を構成する。
【００７３】
また、通信デバイス２〜５がコマンドＴａｐＳｙｎｃを受信した場合、コマンドＴａｐＳｙｎｃには、設定する時刻Ｔ＿ａｄｊｕｓｔ、加速度データ平均回数ｍ、閾値ｔｈｒｅｓｈｏｌｄおよび時刻同期モード（ＴａｐＳｙｎｃ  ｍｏｄｅ）を継続する時間ｄｕｒａｔｉｏｎが含まれているので、ステップＳ１、ステップＳ２の“ＹＥＳ”およびステップＳ３は、複数の通信デバイス２〜５が基準時刻を同時に受信するステップ、複数の通信デバイス２〜５が基準時刻とともに時刻同期コマンドを同時に受信するステップ、および複数の通信デバイス２〜５が基準時刻および時刻同期コマンドとともに時刻同期モードの継続時間を同時に受信するステップを構成する。
【００７４】
更に、複数の通信デバイス２〜５がコマンドＴａｐＳｙｎｃを受信（ステップＳ１参照）した後に、コマンドパラメータ処理（ステップＳ３参照）、ＴａｐＳｙｎｃ継続最大時間調整（ステップＳ４参照）およびＴａｐＳｙｎｃループ前処理（ステップＳ５参照）が実行され、その後、振動媒体２０の振動検知（ステップＳ６，Ｓ７参照）および内部クロック値Ｔ＿ｉｎｔｅｒｎａｌの時刻Ｔ＿ａｄｊｕｓｔへの設定（ステップＳ８，Ｓ９参照）が実行されるので、ステップＳ６およびＳ７は、時刻同期コマンドに応じて複数の通信デバイス２〜５の各々が時刻同期モードに設定されるステップを構成し、ステップＳ８およびＳ９は、設定された時刻同期モードにおいて複数の通信デバイス２〜５の各々が振動媒体２０の振動を検知するステップを構成する。
【００７５】
更に、振動媒体２０の振動検知がＴａｐＳｙｎｃ継続最大時間Ｔ＿ｔａｐｓｙｎｃ（＝ｄｕｒａｔｉｏｎ）を超えて行なわれることはないので（ステップＳ６参照）、ステップＳ６の“ＮＯ”およびステップＳ７は、時刻同期モードの継続時間内に振動媒体２０の振動を検知するステップを構成する。
【００７６】
更に、ステップＳ７およびＳ８は、基準時刻の受信に応じて、複数の通信デバイス２〜５が振動媒体２０の振動検知を開始して振動媒体２０の振動を検知するステップを構成する。
【００７７】
更に、ステップＳ９は、振動媒体２０の振動が検知されると、複数の通信デバイス２〜５が振動媒体２０の振動検知を開始したときの内部時刻Ｔ＿ｉｎｔｅｒｎａｌを受信された基準時刻Ｔ＿ａｄｊｕｓｔに設定するステップを構成する。
【００７８】
図４に示すフローチャートに従って通信デバイス２〜５間で時刻を同期させた後、複数の通信デバイス２〜５は、例えば、服に装着される。そして、複数の通信デバイス２〜５は、プロセスユニット１３および加速度センサー１４によって人の各部の動きを検出する。この場合、複数の通信デバイス２〜５間においては、時刻がｍｓｅｃのオーダーで同期されているので、服に装着された複数の通信デバイス２〜５は、ほぼ同時に人の各部の動きを検出できる。
【００７９】
上記においては、ホストＰＣ１は、無線通信によりコマンドＴａｐＳｙｎｃ（設定する時刻Ｔ＿ａｄｊｕｓｔ、加速度データ平均回数ｍ、閾値ｔｈｒｅｓｈｏｌｄおよび時刻同期モード（ＴａｐＳｙｎｃ  ｍｏｄｅ）を継続する時間ｄｕｒａｔｉｏｎを含む）を通信デバイス２〜５へ送信すると説明したが、この発明においては、これに限らず、ホストＰＣ１は、通信デバイス２〜５とケーブルによって接続され、コマンドＴａｐＳｙｎｃ（設定する時刻Ｔ＿ａｄｊｕｓｔ、加速度データ平均回数ｍ、閾値ｔｈｒｅｓｈｏｌｄおよび時刻同期モード（ＴａｐＳｙｎｃ  ｍｏｄｅ）を継続する時間ｄｕｒａｔｉｏｎを含む）をケーブルを介した通信により通信デバイス２〜５へ送信するようにしてもよい。
【００８０】
また、上記においては、通信デバイス２〜５は、加速度センサー１４を内蔵すると説明したが、この発明においては、これに限らず、通信デバイス２〜５は、時刻を同期させて使用するセンサーであれば、どのようなセンサーを内蔵していてもよい。
【００８１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【００８２】
この発明は、通信による遅延を除外して複数の通信デバイス間で時刻を同期させることができる通信システムに適用される。また、この発明は、通信による遅延を除外して複数の通信デバイス間で時刻を同期させることができる通信システムにおける時刻同期方法に適用される。
【図面の簡単な説明】
【００８３】
【図１】この発明の実施の形態による通信システムの概念図である。
【図２】図１に示す通信デバイスの構成を示す概略ブロック図である。
【図３】図１に示す振動媒体の振動を検知する方法を説明するための図である。
【図４】この発明による時刻同期方法を説明するためのフローチャートである。
【符号の説明】
【００８４】
１  ホストＰＣ、２〜５  通信デバイス、１０  通信システム、１１  アンテナ、１２送受信手段、１３  プロセスユニット、１４  加速度センサー、２０  振動媒体、３０  振動源。
【図１】
0004512775.tif 000003
【図２】
0004512775.tif 000004
【図４】
0004512775.tif 000005
【図３】
0004512775.tif 000006