(57)【要約】【課題】  センサーネットワークシステムにおいて、固定設置された第一の受信装置１００及び第二の受信装置２００ｄ、２００ｅの内蔵する第一の時計１０１及び第二の時計２０１を、送信装置３００の内蔵する第三の時計３０１に高精度に同期させる。【解決手段】  基準時刻で発信した無線信号に対し、時刻同期対象の各装置が受信した時刻情報と、送信装置３００と各受信装置１００、２００ｄ、２００ｅの距離を無線伝播速度で除した無線伝播時間に発信時刻を加えた時刻の差から、時刻同期対象の各装置の基準時刻からのずれを計算する。送信装置３００の位置が不明の場合は、同期手順を２回行い、連立方程式を解くことにより、送信装置３００の位置を特定し、無線伝播時間を得る。【選択図】        図１７
2006234425.tif 000002
【特許請求の範囲】
【請求項１】
第一の時計で測定した同期信号の送信時刻を記憶する送信時刻記憶部と、
第二の時計で測定した上記同期信号の受信時刻を記憶する受信時刻記憶部と、
上記同期信号を送信した送信装置から上記同期信号を受信した受信装置への上記同期信号の伝播時間を記憶する伝播時間記憶部と、
上記受信時刻記憶部が記憶した受信時刻から上記伝播時間記憶部が記憶した伝播時間を減じて、上記同期信号の送信時刻を計算する送信時刻計算部と、
上記送信時刻記憶部が記憶した送信時刻と上記送信時刻計算部が計算した送信時刻との差から、上記第一の時計が示す時刻に対する上記第二の時計が示す時刻の誤差を計算し、時刻誤差とする時刻誤差計算部と、
を有することを特徴とする時刻誤差計算装置。
【請求項２】
上記時刻誤差計算装置は、更に、
上記送信装置と上記受信装置との間の上記同期信号の伝播距離を記憶する伝播距離記憶部と、
上記伝播距離記憶部が記憶した伝播距離を上記同期信号の伝播速度で除して、上記伝播時間を計算する伝播時間計算部と、
を有し、
上記伝播時間記憶部は、上記伝播時間計算部が計算した伝播時間を記憶する
ことを特徴とする請求項１に記載の時刻誤差計算装置。
【請求項３】
上記時刻誤差計算装置は、更に、
上記送信装置及び上記受信装置の三次元空間座標情報から、両者の間の直線距離を計算し、上記伝播距離とする伝播距離計算部
を有し、
上記伝播距離記憶部は、上記伝播距離計算部が計算した伝播距離を記憶する
ことを特徴とする請求項２に記載の時刻誤差計算装置。
【請求項４】
第一の時計で測定した、第一の受信装置が同期信号を受信した時刻を第一の受信時刻として記憶する第一の受信時刻記憶部と、
第二の時計で測定した、第二の受信装置が上記同期信号を受信した時刻を第二の受信時刻として記憶する第二の受信時刻記憶部と、
上記同期信号を送信した送信装置から上記第一の受信装置への上記同期信号の伝播時間を第一の伝播時間として記憶する第一の伝播時間記憶部と、
上記送信装置から上記第二の受信装置への上記同期信号の伝播時間を第二の伝播時間として記憶する第二の伝播時間記憶部と、
上記第一の受信時刻記憶部が記憶した第一の受信時刻から上記第一の伝播時間記憶部が記憶した第一の伝播時間を減じて、第一の送信時刻を計算する第一の送信時刻計算部と、
上記第二の受信時刻記憶部が記憶した第二の受信時刻から上記第二の伝播時間記憶部が記憶した第二の伝播時間を減じて、第二の送信時刻を計算する第二の送信時刻計算部と、
上記第一の送信時刻計算部が計算した第一の送信時刻と上記第二の送信時刻計算部が計算した第二の送信時刻との差から、上記第一の時計が示す時刻に対する上記第二の時計が示す時刻の誤差を計算し、時刻誤差とする時刻誤差計算部と、
を有することを特徴とする時刻誤差計算装置。
【請求項５】
上記時刻誤差計算装置は、更に、
上記送信装置と上記第一の受信装置との間の上記同期信号の伝播距離を第一の伝播距離として記憶する第一の伝播距離記憶部と、
上記送信装置と上記第二の受信装置との間の上記同期信号の伝播距離を第二の伝播距離として記憶する第二の伝播距離記憶部と、
上記第一の伝播距離記憶部が記憶した第一の伝播距離を上記同期信号の伝播速度で除して、上記第一の伝播時間を計算する第一の伝播時間計算部と、
上記第二の伝播距離記憶部が記憶した第二の伝播距離を上記同期信号の伝播速度で除して、上記第二の伝播時間を計算する第二の伝播時間計算部と、
を有し、
上記第一の伝播時間記憶部は、上記第一の伝播時間計算部が計算した第一の伝播時間を記憶し、
上記第二の伝播時間記憶部は、上記第二の伝播時間計算部が計算した第二の伝播時間を記憶する
ことを特徴とする請求項４に記載の時刻誤差計算装置。
【請求項６】
上記時刻誤差計算装置は、更に、
上記送信装置及び上記第一の受信装置の三次元空間座標情報から、両者の間の直線距離を計算し、上記第一の伝播距離とする第一の伝播距離計算部と、
上記送信装置及び上記第二の受信装置の三次元空間座標情報から、両者の間の直線距離を計算し、上記第二の伝播距離とする第二の伝播距離計算部と、
を有し、
上記第一の伝播距離記憶部は、上記第一の伝播距離計算部が計算した第一の伝播距離を記憶し、
上記第二の伝播距離記憶部は、上記第二の伝播距離計算部が計算した第二の伝播距離を記憶する
ことを特徴とする請求項５に記載の時刻誤差計算装置。
【請求項７】
上記第一の受信時刻記憶部は、更に、
第三の時計で測定した、上記送信装置が第二の同期信号を受信した時刻を記憶し、
上記第二の受信時刻記憶部は、更に、
第二の時計で測定した、上記第二の受信装置が上記第二の同期信号を受信した時刻を記憶し、
上記第一の伝播時間記憶部は、更に、
上記第二の同期信号を送信した上記第一の受信装置から上記送信装置への上記第二の同期信号の伝播時間を記憶し、
上記第二の伝播時間記憶部は、更に、
上記第一の受信装置から上記第二の受信装置への上記第二の同期信号の伝播時間を記憶し、
上記時刻誤差計算部は、更に、
上記第一の送信時刻計算部が計算した第一の送信時刻と上記第二の送信時刻計算部が計算した第二の送信時刻との差から、上記第三の時計が示す時刻に対する上記第二の時計が示す時刻の誤差を計算し、時刻誤差とする
ことを特徴とする請求項４に記載の時刻誤差計算装置。
【請求項８】
上記時刻誤差計算装置は、更に、
上記送信装置と上記第一の受信装置との間の上記同期信号の伝播距離、及び、上記第一の受信装置と上記送信装置との間の上記第二の同期信号の伝播距離を、第一の伝播距離として記憶する第一の伝播距離記憶部と、
上記送信装置と上記第二の受信装置との間の上記同期信号の伝播距離、及び、上記第一の受信装置と上記第二の受信装置との間の上記第二の同期信号の伝播距離を、第二の伝播距離として記憶する第二の伝播距離記憶部と、
上記第一の伝播距離記憶部が記憶した第一の伝播距離を上記同期信号及び上記第二の同期信号の伝播速度で除して、上記第一の伝播時間を計算する第一の伝播時間計算部と、
上記第二の伝播距離記憶部が記憶した第二の伝播距離を上記同期信号及び上記第二の同期信号の伝播速度で除して、上記第二の伝播時間を計算する第二の伝播時間計算部と、
を有し、
上記第一の伝播時間記憶部は、上記第一の伝播時間計算部が計算した第一の伝播時間を記憶し、
上記第二の伝播時間記憶部は、上記第二の伝播時間計算部が計算した第二の伝播時間を記憶する
ことを特徴とする請求項７に記載の時刻誤差計算装置。
【請求項９】
上記時刻誤差計算装置は、更に、
上記送信装置及び上記第一の受信装置の三次元空間座標情報から、両者の間の直線距離を計算し、上記第一の伝播距離とする第一の伝播距離計算部と、
上記送信装置及び上記第一の受信装置及び上記第二の受信装置の三次元空間座標情報から、上記送信装置及び上記第一の受信装置と上記第二の受信装置との間の直線距離を計算し、上記第二の伝播距離とする第二の伝播距離計算部と、
を有し、
上記第一の伝播距離記憶部は、上記第一の伝播距離計算部が計算した第一の伝播距離を記憶し、
上記第二の伝播距離記憶部は、上記第二の伝播距離計算部が計算した第二の伝播距離を記憶する
ことを特徴とする請求項８に記載の時刻誤差計算装置。
【請求項１０】
上記時刻誤差計算装置は、更に、
上記時刻誤差計算部が計算した時刻誤差を記憶する時刻誤差記憶部と、
上記第一の時計及び上記第二の時計で測定した時刻を、上記時刻誤差記憶部が記憶した時刻誤差に基づいて補正し、同期のとれた時刻を得る時刻誤差補正部と、
を有することを特徴とする請求項１または請求項４に記載の時刻誤差計算装置。
【請求項１１】
上記時刻誤差計算装置は、更に、
上記時刻誤差計算部が計算した時刻誤差を記憶する時刻誤差記憶部と、
上記第一の時計及び上記第二の時計及び上記第三の時計で測定した時刻を、上記時刻誤差記憶部が記憶した時刻誤差に基づいて補正し、同期のとれた時刻を得る時刻誤差補正部と、
を有することを特徴とする請求項７に記載の時刻誤差計算装置
【請求項１２】
上記時刻誤差計算装置は、更に、
上記送信装置の三次元空間座標情報と上記時刻誤差との関係を表す式を、連立方程式として解いて、上記送信装置の三次元空間座標情報を求める座標計算部
を有することを特徴とする請求項７に記載の時刻誤差計算装置。
【請求項１３】
上記座標計算部は、
上記送信装置の三次元空間座標情報と上記時刻誤差との関係を表す式として、
{ｖ(ＴＲｉ−ＴＳ―ＴＤｉ)}２＝(Ｘ−Ｘｉ)２＋(Ｙ−Ｙｉ)２＋(Ｚ−Ｚｉ)２
（ｉは受信装置の番号、ｉ＝１が上記第一の受信装置、ｉ＝２〜ｎが上記第二の受信装置、ｖは上記同期信号の伝播速度、ＴＲｉは上記第一の受信時刻及び上記第二の受信時刻、ＴＳは上記第一の送信時刻、ＴＤｉは第三の時計に対する上記時刻誤差、Ｘ、Ｙ、Ｚは上記送信装置の三次元空間座標のＸ、Ｙ、Ｚ値、Ｘｉ、Ｙｉ、Ｚｉは上記第一の受信装置及び上記第二の受信装置の三次元空間座標のＸ、Ｙ、Ｚ値）
を用いることを特徴とする請求項１２に記載の時刻誤差計算装置。
【請求項１４】
第一の時計と、
第一の時計が示す時刻と、所定の送信時刻とが一致した場合に、同期信号を送信する送信部と、
を有する送信装置と、
第二の時計と、
上記送信部が送信した同期信号を受信する受信部と、
上記受信部が同期信号を受信した受信時刻を上記第二の時計で測定する受信時刻測定部と、
を有する受信装置と、
請求項１に記載の時刻誤差計算装置と、
を有し、
上記送信時刻記憶部は、上記所定の送信時刻を記憶し、
上記受信時刻記憶部は、上記受信時刻測定部が測定した受信時刻を記憶する
ことを特徴とする時刻同期システム。
【請求項１５】
第一の時計と、
同期信号を送信する送信部と、
上記送信部が同期信号を送信した送信時刻を上記第一の時計で測定する送信時刻測定部と、
を有する送信装置と、
第二の時計と、
上記送信部が送信した同期信号を受信する受信部と、
上記受信部が同期信号を受信した受信時刻を上記第二の時計で測定する受信時刻測定部と、
を有する受信装置と、
請求項１に記載の時刻誤差計算装置と、
を有し、
上記送信時刻記憶部は、上記送信時刻測定部が測定した送信時刻を記憶し、
上記受信時刻記憶部は、上記受信時刻測定部が測定した受信時刻を記憶する
ことを特徴とする時刻同期システム。
【請求項１６】
上記送信装置及び上記受信装置は、更に、
上記時刻誤差計算部が計算した時刻誤差に基づいて、上記第一の時計及び上記第二の時計が示す時刻を補正する時計補正部
を有することを特徴とする請求項１４または請求項１５に記載の時刻同期システム。
【請求項１７】
同期信号を送信する送信部
を有する送信装置と、
第一の時計と、
同期信号を受信する第一の受信部と、
上記第一の受信部が同期信号を受信した時刻を上記第一の時計で測定し、第一の受信時刻とする第一の受信時刻測定部と、
を有する第一の受信装置と、
第二の時計と、
上記同期信号を受信する第二の受信部と、
上記第二の受信部が同期信号を受信した時刻を上記第二の時計で測定し、第二の受信時刻とする第二の受信時刻測定部と、
を有する第二の受信装置と、
請求項４に記載の時刻誤差計算装置と、
を有し、
上記第一の受信時刻記憶部は、上記第一の受信時刻測定部が測定した第一の受信時刻を記憶し、
上記第二の受信時刻記憶部は、上記第二の受信時刻測定部が測定した第二の受信時刻を記憶する
ことを特徴とする時刻同期システム。
【請求項１８】
上記第一の受信装置及び上記第二の受信装置は、更に、
上記時刻誤差計算部が計算した時刻誤差に基づいて、上記第一の時計及び第二の時計が示す時刻を補正する時計補正部
を有することを特徴とする請求項１７に記載の時刻同期システム。
【請求項１９】
上記第一の受信装置は、更に、
第二の同期信号を送信する第二の送信部
を有し、
上記送信装置は、更に、
第三の時計と、
上記第二の送信部が送信した第二の同期信号を受信する第三の受信部と、
上記第三の受信部が第二の同期信号を受信した時刻を上記第三の時計で測定し、第三の受信時刻とする第三の受信時刻測定部と、
を有し、
上記第二の受信部は、更に、上記第二の送信部が送信した第二の同期信号を受信し、
上記第二の受信時刻測定部は、更に、上記第二の受信部が第二の同期信号を受信した時刻を上記第二の時計で測定し、
上記時刻誤差計算装置は、請求項７に記載の時刻誤差計算装置である
ことを特徴とする請求項１７に記載の時刻同期システム。
【請求項２０】
上記第一の受信装置及び上記第二の受信装置及び上記送信装置は、更に、
上記時刻誤差計算部が計算した時刻誤差に基づいて、上記第一の時計及び上記第二の時計及び上記第三の時計が示す時刻を補正する時計補正部
を有することを特徴とする請求項１９に記載の時刻同期システム。
【請求項２１】
上記時刻同期システムは、
上記第二の受信装置を４以上有し、
上記時刻誤差計算装置は、請求項１２または請求項１３に記載の時刻誤差計算装置である
ことを特徴とする時刻同期システム。
【請求項２２】
上記時刻同期システムは、
上記第二の受信装置を複数有し、
上記時刻誤差計算装置は、請求項１２または請求項１３に記載の時刻誤差計算装置であり、
上記送信装置の三次元空間座標情報は、水平方向成分が既知である
ことを特徴とする時刻同期システム。
【請求項２３】
上記送信装置は、上記第一の受信装置の真下に配置されることを特徴とする請求項２２に記載の時刻同期システム。
【請求項２４】
上記送信装置は、上記第二の受信装置の真下に配置されることを特徴とする請求項２２に記載の時刻同期システム。
【請求項２５】
上記時刻同期システムは、
上記第二の受信装置を３以上有し、
上記時刻誤差計算装置は、請求項１２または請求項１３に記載の時刻誤差計算装置であり、
上記送信装置の三次元空間座標情報は、高さ方向成分が既知である
ことを特徴とする時刻同期システム。
【請求項２６】
上記送信装置は、上記第一の受信装置の真横に配置されることを特徴とする請求項２５に記載の時刻同期システム。
【請求項２７】
上記送信装置は、上記第二の受信装置の真横に配置されることを特徴とする請求項２５に記載の時刻同期システム。
【請求項２８】
上記送信部は、超音波による無線通信を用いて上記同期信号を送信することを特徴とする請求項１４乃至請求項２７のいずれかに記載の時刻同期システム。
【請求項２９】
上記送信部は、赤外線による無線通信を用いて上記同期信号を送信することを特徴とする請求項１４乃至請求項２７のいずれかに記載の時刻同期システム。
【請求項３０】
上記送信部は、電波による無線通信を用いて上記同期信号を送信することを特徴とする請求項１４乃至請求項２７のいずれかに記載の時刻同期システム。
【請求項３１】
上記第二の送信部は、超音波による無線通信を用いて上記第二の同期信号を送信することを特徴とする請求項１９乃至請求項２７のいずれかに記載の時刻同期システム。
【請求項３２】
上記第二の送信部は、赤外線による無線通信を用いて上記第二の同期信号を送信することを特徴とする請求項１９乃至請求項２７のいずれかに記載の時刻同期システム。
【請求項３３】
上記第二の送信部は、電波による無線通信を用いて上記第二の同期信号を送信することを特徴とする請求項１９乃至請求項２７のいずれかに記載の時刻同期システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムの時刻管理方法に関し、特に屋内測位など高精度な時刻同期が必要とされるシステムの時刻管理に関するものである。
【背景技術】
【０００２】
組み込み装置は取得した情報や処理状況の時刻を記録するために装置内に時計機能を内蔵している。しかし発信器精度などの要因で基準の時刻からずれていく。内蔵時計の時刻を保証するためには、定期的に基準時計から正確な時刻情報を取得し、誤差の補正が必要となる。
【０００３】
そこで従来、複数の時計を同期させるための技術として以下のものがあった。
【０００４】
公知の従来技術として、基準時計をもつ時刻マスターから無線通信を用いて現在の時刻情報を送信する方式がある。
【０００５】
また、特許文献１の方式は、次のとおりである。
すなわち、第一の装置時刻を基準とし、第二の時計に設定する場合に、まず第二の時計の時刻読取要求を第二の装置へ送信し、第二の装置が時刻読取要求を受信したら第二の時計の時刻Ｔａを読み取るとともに、受信完了信号を第一の装置へ送信する。次に受信完了信号を受信したら第一の時計の時刻Ｔｏを読み取るとともに、時刻Ｔｏを第二の装置へ送信する。そして、時刻Ｔｏを受信したら第二の時計の時刻Ｔａを時間差（Ｔａ−Ｔｏ）により補正し、第二の時計に第一の時計の標準時刻Ｔｓを設定する。
更に、特許文献１の方式では、内部時計の読み取りにかかる極めてわずかな時間を考慮に入れて、更に高精度の時刻同期を目指している。
【特許文献１】特開２００１−０２１６７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
無線を使った通信方式では、通信の混雑程度や空間ノイズレベルにより、通信過程において予測不可能な遅延が発生する。よって基準時計をもつ時刻マスターから無線通信を用いて現在の時刻情報を送信するだけでは、送信および受信時の予測不可能な遅延によって情報の到着にばらつきが生じ、この結果補正した時刻でさえ、時刻マスターとの間に時刻誤差が発生する。
また、特許文献１の方式では、第二の時計が第一の時計と時間にずれがない場合、Ｔａ＝Ｔｏであるとしているが、厳密に言えば第二の装置が受信完了信号を送信した時刻と、第一の装置が受信完了信号を受信した時刻は異なる。
また、本方式では、時刻読取りにかかる時間は固定遅延として考えているが、温度条件やＣＰＵの負荷状況によって変動する場合がある。これらの変動要因は（Ｔａ−Ｔｏ）の補正だけでは解決できない時間ずれとして残るため、時刻同期の精度を向上させる上で課題となる。
【０００７】
本発明は、例えば上記のような課題を解決し、高精度の時刻同期を実現することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の時刻誤差計算装置は、
第一の時計で測定した同期信号の送信時刻を記憶する送信時刻記憶部と、
第二の時計で測定した上記同期信号の受信時刻を記憶する受信時刻記憶部と、
上記同期信号を送信した送信装置から上記同期信号を受信した受信装置への上記同期信号の伝播時間を記憶する伝播時間記憶部と、
上記受信時刻記憶部が記憶した受信時刻から上記伝播時間記憶部が記憶した伝播時間を減じて、上記同期信号の送信時刻を計算する送信時刻計算部と、
上記送信時刻記憶部が記憶した送信時刻と上記送信時刻計算部が計算した送信時刻との差から、上記第一の時計が示す時刻に対する上記第二の時計が示す時刻の誤差を計算し、時刻誤差とする時刻誤差計算部と、
を有することを特徴とする。
【発明の効果】
【０００９】
本発明では、同期信号の伝播にかかる時間を考慮に入れた時刻同期を行うので、極めて高精度な時刻同期できるとの効果を奏する。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
実施の形態１を、図１〜図７を用いて説明する。
図１は、この実施の形態における共通サーバ４００（時刻誤差計算装置の一例）のハードウェア構成の一例を示す。
図２は、この実施の形態における送信装置３００及び受信装置２００ａ〜２００ｃのハードウェア構成の一例を示す。
【００１１】
図１及び図２において、共通サーバ４００及び送信装置３００及び受信装置２００ａ〜２００ｃは、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９１１を備えている。
共通サーバ４００のＣＰＵ９１１は、バス９１２を介してＲＯＭ（Ｒｅａｄ  ＯｎｌｙＭｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）表示装置９０１、キーボード（Ｋ／Ｂ）９０２、マウス９０３、ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）９０４、磁気ディスク装置９２０、コンパクトディスク装置（ＣＤＤ）９０５、プリンタ装置９０６、スキャナ装置９０７と接続されている。
また、送信装置３００及び受信装置２００のＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５、時計９５１、センサー９５２、不揮発性メモリ９５３と接続されている。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
共通サーバ４００の通信ボード９１５は、ＦＡＸ機、電話器、ローカルエリアネットワーク（ＬＡＮ）、無線通信部９５４等に接続されている。また、送信装置３００及び受信装置２００ａ〜２００ｃの通信ボード９１５は、無線通信部９５４等に接続されている。
例えば、通信ボード９１５、Ｋ／Ｂ９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部の一例である。
また、例えば、通信ボード９１５、ＣＲＴ表示装置９０１などは、出力部の一例である。
【００１２】
磁気ディスク装置９２０には、オペレーティングシステム（ＯＳ）９２１、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３は、ＣＰＵ９１１、ＯＳ９２１、ウィンドウシステム９２２により実行される。
また、送信装置３００及び受信装置２００は、装置を小型化するため、磁気ディスク装置９２０を備えていない。その代わり、プログラム群９２３やファイル群９２４を不揮発性メモリ９５３が記憶している。また、制御に必要なプログラムの一部は、ＲＯＭ９１３が記憶している。
【００１３】
上記プログラム群９２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明するものが、「〜ファイル」として記憶されている。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、磁気ディスク装置９２０、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。
【００１４】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
【００１５】
また、以下に述べる実施の形態を実施するプログラムは、また、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、磁気ディスク装置９２０、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体による記録装置を用いて記憶されても構わない。
【００１６】
図３は、この実施の形態におけるセンサーネットワークシステム（時刻同期システムの一例）の全体構成を示す。
送信装置３００はシステムの標準時刻を示す第一の時計１０１を有している。受信装置２００ａ〜２００ｃは、それぞれが第二の時計２０１を有している。
なお、この実施の形態では、第一の時計１０１がシステムの標準時刻を示すこととしているが、第二の時計２０１のうちの一つをシステムの標準時刻を示す時計としてもよい。
【００１７】
共通サーバ４００は、受信装置２００ａ〜２００ｃと通信できる。
例えば、受信装置２００ａ〜２００ｃは、センサー９５２が何らかの事象を観測すると、観測した事象及びその観測時刻を共通サーバ４００に送信する。
共通サーバ４００では、受信装置２００ａ〜２００ｃからの情報を総合して、全体の状況を把握する。
【００１８】
しかし、各受信装置から送信される観測時刻は、それぞれが内部に有している時計により測定されるので、それぞれの時計が同期していない場合には、全体の状況を把握することができない。
ところが、各装置は、小型、低コストである必要から、高精度な時計を持っていないので、各装置の有している時計は徐々にずれていってしまう。
そこで、定期的に各装置の有している時計を同期する必要がある。
【００１９】
図４は、送信装置３００及び受信装置２００ａ〜２００ｃにおける処理の流れを示すフローチャートである。この実施の形態では、このような処理をソフトウェアによって実現しているが、同等の機能を有するハードウェアによって実現してもよい。
【００２０】
送信装置３００は、第一の時計１０１のほか、時刻同期開始判別部３２１と送信部３１１とを備えている。
時刻同期開始判別部３２１は、常に第一の時計１０１が示す時刻を読み出し、あらかじめ定められた送信時刻になると、時刻同期処理を開始する。
送信部３１１は、時刻同期開始判別部３２１からの指示により、同期信号を送信する。
【００２１】
受信装置２００ａ〜２００ｃは、第二の時計２０１のほか、受信部２１２、受信時刻測定部２０２、受信時刻送信部２１３を備えている。
受信部２１２は、送信装置３００が送信した同期信号を受信する。
受信時刻測定部２０２は、受信部２１２が同期信号を受信すると、第二の時計２０１が示す時刻を読み出し、記録する。
記録した同期信号の受信時刻についての情報は、その後、受信時刻送信部２１３が無線通信により、共通サーバ４００に対して送信する。
なお、この実施の形態では、同期信号の受信時刻についての情報を無線通信によって送信しているが、有線通信でも構わない。
【００２２】
共通サーバ４００は、無線通信部４２１と装置位置情報記憶部４１５と時刻差演算部４３０とを備えている。
無線通信部４２１は、受信装置２００ａ〜２００ｃが送信した同期信号の受信時刻について情報を受信する。
装置位置情報記憶部４１５は、送信装置３００及び受信装置２００ａ〜２００ｃが存在する場所を、三次元空間座標で表した三次元空間座標情報を記憶している。
そして、時刻差演算部４３０が、同期信号の受信時刻と、三次元空間座標に基づいて、第一の時計が示す時刻に対して、各装置の第二の時計が示す時刻がどれくらいずれているかを計算する。
【００２３】
図５は、送信装置３００及び受信装置２００ａ〜２００ｃにおける同期信号送受信のタイミングを示す。
【００２４】
送信装置３００は、第一の時計１０１が示す時刻があらかじめ定められた時刻ＴＳに達すると、同期信号を送信する。
同期信号は、同期専用のパルス信号であってもよいし、パケット通信によるパケットでもよい。
【００２５】
送信装置３００から送信された同期信号は、その伝播にかかる伝播時間ＴＴｉ（ｉ＝１〜３）がそれぞれ経過したのち、受信装置２００ａ〜２００ｃに到達し、受信される。
受信装置２００ａでは、同期信号を受信した時刻ＴＲ１を受信時刻測定部２０２が記録する。記録された同期信号の受信時刻は、その後、受信時刻送信部２１３が送信する。
共通サーバ４００では、これを無線通信部４２１が受信し、受信時刻記憶部４１２が記憶する。
【００２６】
しかし、この時刻は、あくまで受信装置２００ａが有する第二の時計２０１で測定したものなので、正確な時刻ではない。いま仮に、第二の時計２０１が示す時刻が第一の時計が示す時刻よりＴＤ１だけ進んでいたとする。すると、第二の時計２０１で測定する限り、同期信号が送信された時刻は、ＴＳではなく、ＴＳ＋ＴＤ１である。
同様に、受信装置２００ｂ及び２００ｃが有する第二の時計２０１も、それぞれＴＤ２、ＴＤ３だけ進んでいる。したがって、各時計で同期信号が送信された時刻を測定すると、それぞれＴＳ＋ＴＤ２、ＴＳ＋ＴＤ３となる。
なお、この例では、受信装置２００ｂが有する第二の時計２０１は、送信装置３００が有する第一の時計１０１よりも遅れているので、ＴＤ２は負の値である。
【００２７】
受信装置２００ａ〜２００ｃの有する第二の時計２０１で、直接、同期信号が送信された時刻を測定することはできない。しかし、その伝播にかかる伝播時間ＴＴｉがわかっていれば、受信装置２００ａ〜２００ｃが同期信号を受信した受信時刻ＴＲｉから同期信号の伝播時間ＴＴｉを減じて計算した時刻ＴＲｉ−ＴＴｉが、同期信号の送信時刻である。
【００２８】
図６は、この実施の形態における共通サーバ４００（時刻誤差計算装置の一例）の内部構成を示す。
【００２９】
送信時刻計算部４０２は、受信時刻記憶部４１２が記憶した同期信号の受信時刻ＴＲｉから伝播時間記憶部４１３が記憶した同期信号の伝播時間ＴＴｉを減じて、同期信号の送信時刻を計算する。
【００３０】
こうして得た送信時刻は、あくまで、受信装置２００ａ〜２００ｃの有する第二の時計２０１で測定したものである。したがって、実際の送信時刻と比べると、ＴＤｉのずれがある。
実際に同期信号を送信する時刻ＴＳは、あらかじめ定められており、送信時刻記憶部４１１が記憶している。
したがって、計算で求めた送信時刻ＴＳ＋ＴＤｉから実際の送信時刻ＴＳを減じれば、第一の時計が示す時刻に対する第二の時計が示す時刻の誤差である時刻誤差ＴＤｉが求められる。すなわち、ＴＤｉ＝ＴＲｉ−ＴＴｉ−ＴＳである。
【００３１】
そこで、時刻誤差計算部４０１は、送信時刻計算部４０２が計算した同期信号の送信時刻ＴＲｉ−ＴＴｉから、送信時刻記憶部４１１が記憶した同期信号の送信時刻ＴＳを減じて、時刻誤差を計算する。
【００３２】
このように、同期信号の伝播時間を考慮に入れて時刻同期を行うので、高精度の時刻同期ができる。
【００３３】
同期信号の伝播にかかる伝播時間は、あらかじめ測定しておいて記憶していてもよい。
しかし、同期信号の伝播距離と伝播速度がわかれば、伝播時間を計算により求めることができる。すなわち、伝播速度がｖであれば、距離Ｌだけ離れた場所にはＬ／ｖの時間だけ遅れて到達する。すなわち、伝播時間をＴＴとすれば、ＴＴ＝Ｌ／ｖである。
【００３４】
同期信号の伝播距離は、無線通信により伝達される場合には、送信装置と受信装置との間の直線距離である。ただし、両者の間に障害物等がない場合に限る。障害物等がある場合には、反射波を受信する可能性があり、必ずしも直線距離とは限らない。
もちろん、両者の間に障害物等がない場合でも、反射波を受信する可能性がある。いわゆるゴースト現象である。
しかし、直線距離を通って受信部に到達した直接波は、常に一番早く受信部に到達する。また、反射波はかなり減衰して到達するのに対し、直接波はあまり減衰しない。
したがって、直線距離を通って直接到達した同期信号と、それ以外の経路を辿った同期信号を二重に受信した場合であっても、それらを区別することができる。
【００３５】
また、同期信号が有線通信により伝達される場合には、通信線の長さがそのまま同期信号の伝播距離となる。
【００３６】
同期信号の伝播速度は、主にその伝播媒体によって決まる。例えば、電気信号による有線通信や、赤外線あるいは電波による無線通信であれば、光速で伝播する。また、超音波による無線通信であれば、音速で伝播する。
音速は温度によって変化するが、温度センサー等を備えれば、観測した温度から伝播速度を計算により求めることができる。
【００３７】
この実施の形態では、受信装置２００ａ〜２００ｃがセンサー９５２により状況を観測している。この観測には、超音波や赤外線が用いられることがある。例えば、物体の位置を観測するために、超音波を発信し、その反射波を観測する場合や、人体等の発熱する物体を検知するために、赤外線を観測する場合である。
【００３８】
このような場合には、それぞれ超音波や赤外線によって通信を行えば、受信装置における設備を軽減することができるので、受信装置が小型・低コストとなり、好ましい。
【００３９】
また逆に、そのような観測を行わない場合には、電波によって通信を行うほうが、受信装置における設備を軽減することができるので、受信装置が小型・低コストとなり、好ましい。
【００４０】
共通サーバ４００では、伝播距離記憶部４１４が同期信号の伝播距離Ｌｉを記憶している。また、同期信号の伝播速度ｖもあらかじめわかっている。
そこで、伝播時間計算部４０３が、伝播距離記憶部４１４が記憶した同期信号の伝播距離Ｌｉを、同期信号の伝播速度ｖで除して、同期信号の伝播時間を計算する。伝播時間計算部４０３が計算した同期信号の伝播時間は、伝播時間記憶部４１３が記憶する。
【００４１】
このように、同期信号の伝播距離と伝播速度から、計算により同期信号の伝播時間を求めれば、同期信号の伝播時間をあらかじめ測定しておく必要がなく、好ましい。
【００４２】
同期信号の伝播距離Ｌｉは、あらかじめ測定しておき、伝播距離記憶部４１４が記憶しておいてもよい。
しかし、同期信号が無線通信により伝達される場合には、上述したように、同期信号の伝播距離は、送信装置と受信装置との間の直線距離である。したがって、両者の三次元空間座標のＸ、Ｙ、Ｚ値がわかれば、ピタゴラスの定理により、両者の間の直線距離を求めることができる。
【００４３】
図７は、送信装置３００及び受信装置２００ａ〜２００ｃの位置関係を示す。ここで、各装置の位置は、水平方向にＸ軸及びＹ軸、垂直方向にＺ軸をとった三次元直交座標により表される。
ここで、送信装置３００の三次元空間座標を（Ｘ、Ｙ、Ｚ）、各受信装置の三次元空間座標を（Ｘｉ、Ｙｉ、Ｚｉ）とすれば、送信装置３００と各受信装置との間の直線距離Ｌｉとの間に、Ｌｉ２＝（Ｘ−Ｘｉ）２＋（Ｙ−Ｙｉ）２＋（Ｚ−Ｚｉ）２という関係が成り立つ。
【００４４】
この実施の形態では、送信装置３００及び受信装置２００ａ〜２００ｃは、あらかじめ定められた場所に固定して設置されている。その設置位置をあらかじめ計測しておき、装置位置情報記憶部４１５が記憶している。
これに基づき、伝播距離計算部４０４が同期信号の伝播距離を計算し、伝播距離記憶部４１４が記憶する。
【００４５】
このように、装置の三次元空間座標情報から同期信号の伝播距離を求めれば、同期信号の伝播距離をあらかじめ測定しておく必要がなく、好ましい。また、装置の設置位置が変わった場合や、新たに装置を追加した場合でも、その設置位置がわかれば、同期信号の伝播距離を求めることができ、好ましい。
【００４６】
以上のようにして求められた時刻誤差は、時刻誤差記憶部４１９が記憶する。
【００４７】
なお、図４において、第一の時計を読み出してから、実際に同期信号を送信するまでには、時間Ｔαがかかる。また、同期信号を受信してから、実際に第二の時計を読み出すまでにも、時間Ｔβがかかる。
したがって、Ｔα及びＴβをあらかじめ測定しておき、時刻誤差の計算の際、Ｔα＋Ｔβだけ補正する構成とすれば、更に正確な同期ができるようになる。
【００４８】
以上説明したように、この実施の形態では、固定された設置環境において、複数の装置がお互いに無線通信で交信する無線ネットワークシステムにおいて、各装置が内蔵する時計により刻む時刻を基準時刻に同期させるために、以下の手順を行う。
手順１：時刻の基準となる装置が定期的に時刻同期用信号を発信する。
手順２：時刻同期対象の各装置において、手順１の信号を受信した際の無線信号の到着時刻を装置の内蔵時計から読み出し、共通サーバ４００へ送信する。
手順３：共通サーバ４００において、時刻同期対象の各装置から手順２にて受信した時刻情報と、手順１の発信者と受信者の距離を無線伝播速度で割った無線伝播時間に手順１の発信時刻を加えた時刻の差から、時刻同期対象の各装置の基準時刻からのずれを計算する。
【００４９】
そして、上記の手順を実現するために、この実施の形態における時刻同期システムは、以下の各部を備える。
基準となる装置において、定期的に時刻同期を開始する時刻同期開始部。
基準となる装置において、時刻同期開始部が時刻同期を開始した場合に、無線信号を発信する時刻同期信号送信部。
時刻同期対象の各装置において、同期信号を受信した際に無線信号の到着時刻を装置の内蔵時計を元に記録する受信時刻記録部。
受信時刻記録部にて記録した受信時刻を、無線通信を用いて共通サーバへ伝達する時刻情報通信部。
共通サーバにおいて、時刻同期対象の各装置の位置関係を把握するための装置位置情報記憶部。
共通サーバは、時刻同期対象の各装置から受信した時刻情報と、装置位置情報記憶部が記憶した情報に基づき、時刻同期信号の発信者と同信号の受信者の距離をもとに、時刻同期対象の各装置の基準時刻からのずれを計算する時刻差演算部。
【００５０】
実施の形態２．
実施の形態２を図１〜図８を用いて説明する。
この実施の形態において、システムの全体構成及び各装置の内部構成は、実施の形態１と共通するので、ここでは説明を省略する。
ただし、各装置には、図８に示す構成が付け加わっている。
共通サーバ４００において、無線通信部４２１は、時刻誤差記憶部４１９が記憶した時刻誤差を時刻誤差情報として送信する。
受信装置２００ａ〜２００ｃにおいて、共通サーバから送信された時刻誤差情報は、時刻誤差受信部２１４が受信する。
更に、この時刻誤差情報に基づいて、時計補正部２４１が第二の時計２０１が示す時刻を補正し、第二の時計２０１が示す時刻を第一の時計１０１が示す時刻に同期させる。
【００５１】
このように、共通サーバ４００で計算した時刻誤差を受信装置に送って第二の時計を補正する構成とすれば、各装置の有する時計を正確に同期させることができる。
【００５２】
実施の形態３．
実施の形態３を図１〜図７及び図９を用いて説明する。
この実施の形態において、システムの全体構成及び各装置の内部構成は、実施の形態１と共通するので、ここでは説明を省略する。
ただし、各装置には、図９に示す構成が付け加わっている。
【００５３】
受信装置２００ａ〜２００ｃは、センサー９５２が何らかの事象を観測すると、観測した事象を共通サーバ４００に送信する。また、時刻測定部２０３がその時刻を第二の時計２０１で測定し、測定時刻送信部２１５が共通サーバ４００に送信する。
共通サーバ４００では、受信装置２００ａ〜２００ｃからの情報を総合して、全体の状況を把握する。
【００５４】
この実施の形態では、実施の形態２と異なり、共通サーバ４００で計算した時刻誤差を受信装置２００ａ〜２００ｃに送ることをしない。したがって、受信装置２００ａ〜２００ｃが有する第二の時計２０１は、狂ったままである。
【００５５】
しかし、共通サーバ４００の時刻誤差記憶部４１９は、時刻誤差を記憶しているので、どの時計がどれだけ狂っているかを把握している。
したがって、無線通信部４２１が受信した時刻情報を、時刻誤差記憶部４１９が記憶した時刻誤差に基づき、時刻誤差補正部４４１が補正することで、正確な時刻を求めることができる。このようにして求められた正確な観測時刻は、観測時刻記憶部４５１が記憶する。
【００５６】
このように、時刻誤差を受信装置に送らずに、共通サーバ４００の中で保持し、観測データが送られてくるたびに、共通サーバの中で補正して、正確な時刻とする構成とすれば、各受信装置に時計補正機能を持たせる必要がないので、受信装置が小型・低コストとなり、好ましい。
【００５７】
実施の形態４．
実施の形態４を図１〜図２及び図１０〜図１２を用いて説明する。
この実施の形態において、共通サーバ４００及び送信装置３００及び受信装置２００ａ〜２００ｃのハードウェア構成は、実施の形態１と共通するので、ここでは説明を省略する。
【００５８】
図１０は、この実施の形態におけるセンサーネットワークシステム（時刻同期システムの一例）の全体構成の一例を示す。
図１１は、この実施の形態における共通サーバ４００（時刻誤差計算装置の一例）の内部構成の一例を示す。
図１２は、送信装置３００及び受信装置２００ａ〜２００ｃにおける処理の流れを示すフローチャートである。この実施の形態では、このような処理をソフトウェアによって実現しているが、同等の機能を有するハードウェアによって実現してもよい。
【００５９】
送信装置３００は、第一の時計１０１、時刻同期開始判別部３２１、送信部３１１、送信時刻測定部３０３、送信時刻送信部３１４を有する。
時刻同期開始判別部３２１は、常に第一の時計１０１が示す時刻を読み出し、あらかじめ定められた送信時刻になると、時刻同期処理を開始する。
送信部３１１は、時刻同期開始判別部３２１からの指示により、同期信号を送信する。
送信時刻測定部３０３は、送信部３１１が同期信号を送信した時刻を、第一の時計１０１で測定する。
送信時刻送信部３１４は、その後、送信時刻についての情報を共通サーバ４００に対して送信する。
【００６０】
共通サーバ４００において、無線通信部４２１が送信時刻についての情報を受信し、送信時刻記憶部４１１が記憶する。
【００６１】
その他の部分については、実施の形態１と共通なので、ここでは説明を省略する。
【００６２】
実施の形態１において、より正確に時刻同期を行うため、図４に示すＴα＋Ｔβだけ補正する必要がある。
実施の形態１では、これらは固定の時間として、あらかじめ測定しておく構成となっている。しかし、これらの時間は、温度条件やＣＰＵの負荷状況によって変動する場合がある。
【００６３】
そこで、この実施の形態では、同期信号をあらかじめ定められた送信時刻に送信するものの、実際に送信した時刻を改めて測定する構成としている。
【００６４】
このような構成によれば、同期信号を実際に送信した時刻を測定するので、より正確な時刻同期が可能となる。
【００６５】
この実施の形態によってもなお、実際に同期信号を送信した時刻と、第一の時計１０１から読み出した時刻では、図１２に示すＴα’のずれが生じる。
したがって、より高精度な時刻同期を実現するには、時刻誤差の計算の際、Ｔβ−Ｔα’だけ補正する必要がある。
しかし、Ｔα’とＴβとはほぼ等しいので、補正をせずとも、高精度な時刻同期が可能である。
また、Ｔβ−Ｔα’をあらかじめ測定しておいて、補正をする構成としてもよい。温度条件等により、Ｔβが変動する場合には、Ｔα’も同様に変動するため、Ｔβ−Ｔα’の変動は極めて小さく、高精度な時刻同期が可能である。
【００６６】
実施の形態５．
実施の形態５を図１〜図２及び図１３〜図１６を用いて説明する。
この実施の形態において、共通サーバ４００及び送信装置３００及び各受信装置１００、２００ｄ、２００ｅのハードウェア構成は、実施の形態１と共通するので、ここでは説明を省略する。
【００６７】
図１３は、この実施の形態におけるセンサーネットワークシステム（時刻同期システムの一例）の全体構成の一例を示す。
図１４は、送信装置３００、第一の受信装置１００及び第二の受信装置２００ｄ、２００ｅにおける処理の流れを示すフローチャートである。この実施の形態では、このような処理をソフトウェアによって実現しているが、同等の機能を有するハードウェアによって実現してもよい。
【００６８】
送信装置３００は、第三の時計３０１を有している。その他の部分については、実施の形態１における送信装置と共通なので、ここでは説明を省略する。
第一の受信装置１００は、システムの標準時刻を示す第一の時計１０１を有している。それ以外の部分は、実施の形態１における受信装置と共通なので、ここでは説明を省略する。
第二の受信装置２００ｄ、２００ｅは、実施の形態１における受信装置と同じ装置なので、ここでは説明を省略する。
なお、この実施の形態では、第一の時計１０１がシステムの標準時刻を示すこととしているが、第二の時計２０１のうちの一つをシステムの標準時刻を示す時計としてもよい。
【００６９】
図１５は、この実施の形態における共通サーバ４００（時刻誤差計算装置の一例）の内部構成の一例を示す。
共通サーバ４００の時刻差演算部４３０は、実施の形態１で説明したのとまったく同じ方法で、第一の時計で測定した同期信号の送信時刻を、第一の送信時刻計算部が計算し、また同様に、第二の時計で測定した同期信号の送信時刻を、第二の時刻計算部が計算する。
時刻誤差計算部４０１は、両者の差から時刻誤差を計算し、時刻誤差記憶部４１９が記憶する。
【００７０】
図１６は、送信装置３００及び第一の受信装置１００及び受信装置２００ｄ、２００ｅにおける同期信号送受信のタイミングを示す。
【００７１】
送信装置３００は、第三の時計３０１が示す時刻があらかじめ定められた時刻に達すると、同期信号を送信する。
送信装置３００から送信された同期信号は、その伝播にかかる伝播時間ＴＴｉ（ｉ＝１〜３）がそれぞれ経過したのち、第一の受信装置１００及び第二の受信装置２００ｄ、２００ｅに到達し、受信される。
【００７２】
ここで、送信装置３００が実際に同期信号を送信した時刻は不明である。この時刻を送信装置３００が有する第三の時計３０１で測定することもできるが、第三の時計３０１が示す時刻が狂っている可能性もあるので、測定した送信時刻が本当に同期信号を送信した時刻であるとは限らない。
【００７３】
しかし、この同期信号は、システムの標準時刻を示す第一の時計１０１を有する第一の受信装置１００が受信する。したがって、この受信時刻をもとにして計算で求めた同期信号の送信時刻（第一の送信時刻）ＴＳが、真に同期信号を送信した時刻である。
したがって、第二の受信装置２００ｄ、２００ｅにおける受信時刻をもとにして計算で求めた同期信号の送信時刻（第二の送信時刻）は、それぞれが有する第二の時計２０１で測定した送信時刻であるから、これと第一の送信時刻ＴＳとの差を求めることにより、第一の時計が示す時刻に対して、第二の時計が示す時刻の誤差である時刻誤差ＴＤｉが求められる。
【００７４】
時刻誤差計算部４０１は、第二の送信時刻計算部が計算した第二の送信時刻から、第一の送信時刻計算部が計算した第一の送信時刻を減じることにより、時刻誤差を計算し、計算された時刻誤差は、時刻誤差記憶部４１９が記憶する。
【００７５】
この実施の形態においてもなお、実際に同期信号を受信してから、第一の時計あるいは第二の時計が示す時刻を読み出すまでには、図１４に示すＴβ１及びＴβ２の時間がかかるため、極めて高精度な時刻同期を目指すのであれば、時刻誤差の計算の際、Ｔβ２−Ｔβ１だけ補正する必要がある。
しかし、同期信号の受信から時計の読み出しにかかる時間は、第一の受信装置においても、第二の受信装置においても、そのプロセスがまったく同じである。これは、この機能をソフトウェアを用いて実現した場合であっても、ハードウェアを用いて実現した場合であっても、第一の受信装置１００と第二の受信装置２００ｄ、２００ｅが同じ実現手段を用いている限りは、変わらない。
したがって、常にＴβ１＝Ｔβ２であるから、Ｔβ２−Ｔβ１＝０であり、補正をする必要がない。
【００７６】
なお、Ｔβ１及びＴβ２が温度条件等により変動する場合には、厳密にいえばＴβ１＝Ｔβ２となるとは限らない。第一の受信装置１００と第二の受信装置２００ｄ、２００ｅとが、同一の温度条件下にあるとは限らないからである。
しかし、第一の受信装置１００と第二の受信装置２００ｄ、２００ｅとが、同一の室内に設置されているような場合であれば、両者はほぼ同一の温度条件下にあるといえるので、Ｔβ１＝Ｔβ２であると考えて問題ない。
【００７７】
このように、受信装置同士の時計を同期することにより、極めて高精度な時刻同期ができるようになる。
【００７８】
実施の形態６．
実施の形態６を図１〜図２及び図１４〜図１７を用いて説明する。
この実施の形態において、共通サーバ４００及び送信装置３００及び各受信装置１００、２００ｄ、２００ｅのハードウェア構成は、実施の形態１と共通するので、ここでは説明を省略する。
【００７９】
図１７は、この実施の形態におけるセンサーネットワークシステム（時刻同期システムの一例）の全体構成の一例を示す。
ここで、送信装置３００は、実施の形態１における送信装置としての機能と、実施の形態１における受信装置としての機能を併せ持っている。
第一の受信装置１００も、同様に、実施の形態１における送信装置としての機能と、実施の形態１における受信装置としての機能を併せ持っている。
したがって、送信装置３００と第一の受信装置１００は、事実上、まったく同じ構成を有していることになる。
唯一異なっている点は、送信装置３００が有している第三の時計３０１がシステムの標準時刻を示していることである。
しかし、第一の時計１０１を、システムの標準時刻を示す時計としてもよいし、第二の時計２０１のうちの一つを、システムの標準時刻を示す時計としてもよい。
その他の部分については、実施の形態５と共通するので、ここでは説明を省略する。
【００８０】
実施の形態５によれば、極めて高精度な時刻同期ができる。しかし、時刻同期ができるのはあくまで受信装置同士であって、送信装置３００が有する第三の時計３０１を同期させることはできなかった。
【００８１】
そこで、この実施の形態では、受信装置のなかに送信装置としての機能を持つ装置を設け、そこから第二の同期信号を送信することにより、送信装置３００の有する第三の時計３０１と、他の時計１０１、２０１とを同期するものである。
なお、この実施の形態では、送信装置としての機能を有する受信装置は１つであるが、このような機能をもつ受信装置を複数設けてもよい。その場合、同期信号を送信する装置は、あらかじめ決められていてもよいし、同期手順ごとに順番に変えていってもよい。あるいは、共通サーバ４００からの指示によって決める方法をとってもよい。
【００８２】
次に動作手順について説明する。
最初に、送信装置３００が同期信号を送信する。実施の形態５で説明した手順により、第一の時計１０１が示す時刻に対する第二の時計２０１が示す時刻の誤差が求まる。
しかし、第一の時計１０１はシステムの標準時刻を示す時計ではないので、これはあくまで仮に同期が取れたに過ぎない。
次に、第一の受信装置が第二の同期信号を送信する。やはり、実施の形態５で説明した手順により、第三の時計３０１が示す時刻に対する第二の時計２０１が示す時刻の誤差が求まる。
さらに、２回の同期手順により求めた時刻誤差に基づいて、第三の時計３０１が示す時刻に対する第一の時計１０１が示す時刻の誤差もわかるので、送信装置３００、第一の受信装置１００、第二の受信装置２００ｄ、２００ｅすべてが有する時計１０１、２０１、３０１の時刻を同期させることができる。
なお、ここでは、２回の同期信号を上記の順番で送信したが、この順番である必要はない。したがって、逆の順番で送信してもよい。
【００８３】
このように、２回の同期信号を、異なる装置から送信することにより、システムを構成するすべての装置が有する時計を、極めて高精度に同期させることができる。
【００８４】
以上説明したように、この実施の形態では、基準となる装置を時刻同期対象の装置の中から選別し、基準となる装置を変えて時刻同期手順を２回実施することで、基準となる装置を含めた時刻同期対象の装置の基準時刻からのずれを算出する。
同期信号を送信できる装置が３以上ある場合は、状況に応じて基準となる装置を選択できる基準選択部を設けてもよい。
【００８５】
実施の形態７．
実施の形態７を図１〜図２及び図１４〜図２０を用いて説明する。
この実施の形態におけるシステムの全体構成及び各装置のハードウェア構成及び内部構成は、実施の形態６と共通するので、ここでは説明を省略する。
図１８は、共通サーバ４００の内部構成を示す。
共通サーバ４００において、実施の形態６と異なる点は、座標計算部４０９を有することである。その他の部分については、実施の形態６で説明したので、ここでは省略する。
【００８６】
送信装置３００は、システムの標準時刻を示す第三の時計３０１を有している。この標準時刻は、ＧＰＳ（Ｇｒｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ：全地球測位システム）などにより取得すれば、正確なものとなる。
しかし、送信装置３００にＧＰＳ受信機能等を設けると、装置自体が大きくなり、固定した場所に設置することが難しくなる。
これに対し、他の受信装置は、固定した場所に設置した装置である。これらは、小型・低コストである必要性から、高精度な時計を持つことができず、定期的に同期をとる必要がある。
【００８７】
図１９は、送信装置３００及び第一の受信装置１００及び第二の受信装置２００ｄ、２００ｅの位置関係を示した図である。ここで、各装置の位置は、水平方向にＸ軸及びＹ軸、垂直方向にＺ軸をとった三次元直交座標により表される。
ここで、送信装置３００の三次元空間座標（Ｘ，Ｙ，Ｚ）は不明である。これに対し、第一の受信装置の三次元空間座標（Ｘ１，Ｙ１，Ｚ１）及び第二の受信装置の三次元空間座標（Ｘｉ，Ｙｉ，Ｚｉ）（ｉ＝２〜ｎ：ｎは第一の受信装置を含めた受信装置の総数）はあらかじめわかっている。
【００８８】
実施の形態１で説明したように、各装置が固定した場所に設置してある場合には、共通サーバ４００の装置位置情報記憶部４１５が記憶している各装置の三次元空間座標情報に基づいて、同期信号の伝播距離、伝播時間を計算で求めることができ、各時計を高精度に同期させることが可能である。
【００８９】
しかし、この実施の形態では、第一の受信装置１００及び第二の受信装置２００ｄ、２００ｅの設置位置はわかっているものの、送信装置３００の設置位置が不明のため、同期信号の伝播時間を求めることができず、時刻誤差を計算することができない。
【００９０】
ここで、送信装置３００と各受信装置１００、２００ｄ、２００ｅとの間の直線距離Ｌｉと、送信装置３００の三次元空間座標（Ｘ，Ｙ，Ｚ）との関係は、
Ｌｉ２＝（Ｘ−Ｘｉ）２＋（Ｙ−Ｙｉ）２＋（Ｚ−Ｚｉ）２（ただしｉ＝１〜ｎ）で表される。
また、第一の受信装置と第二の受信装置との間の直線距離Ｌｉ’（ただしｉ＝２〜ｎ）も同様の式で表せるが、両者の三次元空間座標が既知であるため、計算により求めることができる。
【００９１】
図２０は、送信装置３００及び第一の受信装置１００及び第二の受信装置２００ｄ、ｅにおける同期信号送受信のタイミングを示す。
【００９２】
第三の時計３０１が示す時刻に対する第一、第二の時計が示す時刻の誤差をＴＤｉ（ただしｉ＝１〜ｎ）、実際に同期信号を送信した時刻をＴＳ、各装置がそれぞれの有する時計によって測定した同期信号の受信時刻をＴＲｉ（ただしｉ＝１〜ｎ）とすると、同期信号の伝播時間ＴＴｉ（ただしｉ＝１〜ｎ）は、ＴＴｉ＝ＴＲｉ−ＴＳ−ＴＤｉ（ただしｉ＝１〜ｎ）である。
同期信号の伝播速度をｖとすると、Ｌｉ＝ｖ×ＴＴｉ（ただしｉ＝１〜ｎ）であるから、
｛ｖ（ＴＲｉ−ＴＳ−ＴＤｉ）｝２＝（Ｘ−Ｘｉ）２＋（Ｙ−Ｙｉ）２＋（Ｚ−Ｚｉ）２（ただしｉ＝１〜ｎ）である。
【００９３】
第二の同期信号に関しては、実際に第二の同期信号を送信した時刻をＴＳ’、第二の受信装置がそれぞれの有する時計によって測定した第二の同期信号の受信時刻をＴＲｉ’（ただしｉ＝２〜ｎ）とすると、同期信号の伝播時間ＴＴｉ’（ただしｉ＝２〜ｎ）は、ＴＴｉ’＝ＴＲｉ’−ＴＳ’−（ＴＤｉ−ＴＤ１）（ただしｉ＝２〜ｎ）である。Ｌｉ’＝ｖ×ＴＴｉ’（ただしｉ＝２〜ｎ）であるから、Ｌｉ’＝ｖ｛ＴＲｉ’−ＴＳ’−（ＴＤｉ−ＴＤ１）｝（ただしｉ＝２〜ｎ）である。
また、送信装置が第三の時計で測定した第二の同期信号の受信時刻をＴＲ１’とすると、ＴＴ１＝ＴＲ１’−ＴＳ’＋ＴＤ１であるから、｛ｖ（ＴＲ１’−ＴＳ’＋ＴＤ１）｝２＝（Ｘ−Ｘ１）２＋（Ｙ−Ｙ１）２＋（Ｚ−Ｚ１）２である。
【００９４】
このように、１回の同期手順で、その同期信号を受信した装置の数と同じｎ個の式が立つ。同期手順を２回行うので、式の数は２ｎ個である。
【００９５】
次に、この式を連立方程式として解くことを考える。式の数が２ｎ個であるから、未知数の数が２ｎ個以下であれば、この連立方程式は解くことができる。
ここで、実際に各同期信号を送信した時刻ＴＳ及びＴＳ’は不明である。また、各受信装置の有する時計の時刻誤差ＴＤｉ（ただしｉ＝１〜ｎ）も不明である。したがって、未知数は少なくともｎ＋２個ある。
さらに、送信装置の設置位置も不明であるから、その三次元空間座標（Ｘ，Ｙ，Ｚ）がすべて不明であれば、未知数の数はｎ＋５個となる。
したがって、ｎ≧５であれば、この連立方程式を解いて、送信装置の設置位置を求めることができる。
すなわち、第二の受信装置を４以上有するシステムであれば、送信装置の設置位置を求めることができる。
【００９６】
共通サーバ４００の座標計算部４０９は、実際にこの連立方程式を解くことにより、送信装置３００の三次元空間座標（Ｘ，Ｙ，Ｚ）を求める。
装置位置情報記憶部４１５は、座標計算部４０９が求めた送信装置３００の三次元空間座標（Ｘ，Ｙ，Ｚ）を記憶する。
送信装置３００の三次元空間座標（Ｘ，Ｙ，Ｚ）がわかったので、実施の形態６で説明した方式により、時刻誤差を求めることも可能である。
【００９７】
このように、高精度の時計を有する装置の設置場所をあらかじめ決めておかなくても、他の装置の設置場所がわかっていれば、連立方程式を解くことにより、システムを構成するすべての時計を、極めて高精度に同期することができる。
また、一度この手順により送信装置３００の設置場所が判明すれば、これを装置位置情報記憶部４１５が記憶するので、送信装置３００の場所を動かさない限り、次の同期手順からは、上述した方程式を解く必要はない。
【００９８】
実施の形態８．
実施の形態８を図１〜図２及び図１４〜図２０を用いて説明する。
この実施の形態におけるシステムの全体構成及び各装置のハードウェア構成及び内部構成は、実施の形態７と同じなので、ここでは説明を省略する。
【００９９】
実施の形態７では、システム全体として、第二の受信装置が４以上必要だった。
しかし、システム全体として第二の受信装置の数がもっと少ない場合もあり得る。受信装置の数は４以上あったとしても、設置位置のわからない受信装置は第二の受信装置として利用することはできないからである。
【０１００】
そこで、連立方程式で求めるべき未知数の数がもっと少なければ、第二の受信装置の数が少なくても、解を求めることができる。
【０１０１】
例えば、室内におけるセンサーネットワークシステムであって、送信装置３００は床置きするものであるとする。
その場合、床の高さはあらかじめわかっているので、送信装置３００の三次元空間座標（Ｘ，Ｙ，Ｚ）のうち、高さ方向成分であるＺの値は、あらかじめ知ることができる。
受信装置の総数をｎ個とすると、未知数の数は、実施の形態７で説明したものよりも１つ少なくなり、ｎ＋４個となる。
したがって、ｎ≧４であれば、この連立方程式を解いて、送信装置の設置位置を求めることができる。
すなわち、第二の受信装置を３以上有するシステムであれば、送信装置の設置位置を求めることができる。
【０１０２】
このように、送信装置の設置場所が完全にはわからなくても、その高さ方向成分がわかる構成とすれば、設置位置があらかじめわかっている受信装置の数が少なくても、システムを構成するすべての装置が有する時計を、極めて高精度に同期させることができる。
更に、こうして各装置が有する時計を同期したことにより、それまで設置位置が不明だった受信装置の位置を測位することも可能となる。そうすれば、次回の同期手順からは、送信装置の設置場所を限定する必要がない。
【０１０３】
もちろん、三次元空間座標のうち高さ方向成分が既知となる構成ではなく、Ｘ方向成分あるいはＹ方向成分が既知となる構成としてもよい。
【０１０４】
送信装置３００の三次元空間座標の高さ方向成分を知る方法は、上述した方法に限られない。
例えば、次のような構成が考えられる。
送信装置３００は、レーザー水準器を有し、水平方向にレーザーを照射できる構成を備える。第一の受信装置あるいは第二の受信装置あるいはその両方に、このレーザーが当たったことを検知するセンサーを備え、送信装置が真横に設置されたことを検知する。
送信装置が真横に設置されたことを検知すると、通信により共通サーバ４００に通知し、共通サーバ４００はこの通知を受け、送信装置及び各受信装置に同期手順の開始を指示する。
【０１０５】
このように、送信装置が第一の受信装置あるいは第二の受信装置の真横に設置された場合に同期手順を開始する構成とすれば、水平な床面が存在しない場所であっても、システムを構成するすべての装置が有する時計を、極めて高精度に同期させることができる。
【０１０６】
実施の形態９．
実施の形態９を図１〜図２及び図１４〜図２０を用いて説明する。
この実施の形態におけるシステムの全体構成及び各装置のハードウェア構成及び内部構成は、実施の形態７と同じなので、ここでは説明を省略する。
【０１０７】
実施の形態８は、送信装置３００の三次元空間座標のうち、高さ方向成分が既知である構成だった。
この実施の形態は、逆に、送信装置３００の三次元空間座標のうち、水平方向成分が既知である構成である。
【０１０８】
このような構成にすることにより、送信装置３００の三次元空間座標（Ｘ，Ｙ，Ｚ）のうち、水平方向成分であるＸ及びＹの値を、あらかじめ知ることができる。
受信装置の総数をｎ個とすると、未知数の数は、実施の形態７で説明したものよりも２つ少なくなり、ｎ＋３個となる。
したがって、ｎ≧３であれば、この連立方程式を解いて、送信装置の設置位置を求めることができる。
すなわち、第二の受信装置を２以上有するシステムであれば、送信装置の設置位置を求めることができる。
【０１０９】
このように、送信装置の設置場所が完全にはわからなくても、その水平方向成分がわかる構成とすれば、設置位置があらかじめわかっている受信装置の数が少なくても、システムを構成するすべての装置が有する時計を、極めて高精度に同期させることができる。
【０１１０】
送信装置３００の三次元空間座標のうち、水平方向成分を知る方法には、以下のようなものが考えられる。
例えば、第一の受信装置あるいは第二の受信装置の下にフックを設ける。送信装置３００は紐でぶら下げられる形にしておき、そのフックに引っ掛ける。
そうすれば、送信装置３００は、第一の受信装置あるいは第二の受信装置の真下に設置される。第一の受信装置及び第二の受信装置の三次元空間座標は、あらかじめわかっているので、送信装置３００の三次元空間座標のうち、水平方向成分を知ることができる。
【０１１１】
あるいは、実施の形態８で例示したのと同じく、送信装置３００は、レーザー水準器を備える構成も考えられる。ただし、この実施の形態では、垂直方向にレーザーを照射する。第一の受信装置あるいは第二の受信装置あるいはその両方に、このレーザーが当たったことを検知するセンサーを備え、送信装置が真下に設置されたことを検知する。
送信装置が真下に設置されたことを検知すると、通信により共通サーバ４００に通知し、共通サーバ４００はこの通知を受け、送信装置及び各受信装置に同期手順の開始を指示する。
【０１１２】
このように、送信装置が第一の受信装置あるいは第二の受信装置の真下に設置された場合に同期手順を開始する構成とすれば、設置位置があらかじめわかっている受信装置の数が少なくても、システムを構成するすべての装置が有する時計を、極めて高精度に同期させることができる。
【０１１３】
以上説明したように、この実施の形態のおける時刻同期方法は、基準となる装置を時刻同期対象の装置の１つの直下に設置し、基準となる装置が同期信号を送信する同期手順と、時刻同期対象の装置の１つが同期信号を送信する同期手順を実施することで、基準となる装置の高さ情報および時刻同期対象の装置の基準時刻からのずれを算出する。
このように装置を配置することは、比較的容易かつ自由度の高い設置条件である。
【図面の簡単な説明】
【０１１４】
【図１】共通サーバ４００（時刻誤差計算装置の一例）のハードウェア構成を示す図。
【図２】送信装置３００及び受信装置２００ａ〜２００ｃのハードウェア構成を示す図。
【図３】実施の形態１〜実施の形態３におけるセンサーネットワークシステム（時刻同期システムの一例）の全体構成を示す図。
【図４】実施の形態１〜実施の形態３における送信装置３００及び受信装置２００ａ〜２００ｃにおける処理の流れを示すフローチャート図。
【図５】実施の形態１〜実施の形態３における送信装置３００及び受信装置２００ａ〜２００ｃにおける同期信号送受信のタイミングを示す図。
【図６】実施の形態１〜実施の形態３における共通サーバ４００（時刻誤差計算装置の一例）の内部構成を示す図。
【図７】送信装置３００及び受信装置２００ａ〜２００ｃの位置関係を示す図。
【図８】実施の形態２におけるセンサーネットワークシステム（時刻同期システムの一例）の構成の一部を示す図。
【図９】実施の形態３におけるセンサーネットワークシステム（時刻同期システムの一例）の構成の一部を示す図。
【図１０】実施の形態４におけるセンサーネットワークシステム（時刻同期システムの一例）の全体構成の一例を示す図。
【図１１】実施の形態４における共通サーバ４００（時刻誤差計算装置の一例）の内部構成の一例を示す図。
【図１２】実施の形態４における送信装置３００及び受信装置２００ａ〜２００ｃにおける処理の流れを示すフローチャート図。
【図１３】実施の形態５におけるセンサーネットワークシステム（時刻同期システムの一例）の全体構成の一例を示す図。
【図１４】送信装置３００、第一の受信装置１００及び第二の受信装置２００ｄ、２００ｅにおける処理の流れを示すフローチャート図。
【図１５】実施の形態５における共通サーバ４００（時刻誤差計算装置の一例）の内部構成の一例を示す図。
【図１６】送信装置３００及び第一の受信装置１００及び第二の受信装置２００ｄ、２００ｅにおける同期信号送受信のタイミングを示す図。
【図１７】実施の形態６〜実施の形態９におけるセンサーネットワークシステム（時刻同期システムの一例）の全体構成の一例を示す図。
【図１８】実施の形態７〜実施の形態９における共通サーバ４００（時刻誤差計算装置の一例）の内部構成の一例を示す図。
【図１９】実施の形態７〜実施の形態９における送信装置３００及び第一の受信装置１００及び第二の受信装置２００ｄ、２００ｅの位置関係を示す図。
【図２０】実施の形態７〜実施の形態９における送信装置３００及び第一の受信装置１００及び第二の受信装置２００ｄ、２００ｅにおける同期信号送受信のタイミングを示す図。
【符号の説明】
【０１１５】
４００  共通サーバ（時刻誤差計算装置の一例）、３００  送信装置、１００  第一の受信装置、２００ａ〜２００ｃ  受信装置、２００ｄ〜２００ｅ  第二の受信装置、９０１  ＣＲＴ表示装置、９０２  Ｋ／Ｂ、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９５１  時計、９５２  センサー、９５３  不揮発性メモリ、９５４  無線通信部、１０１  第一の時計、１０２  第一の受信時刻測定部、１１１  第二の送信部、１１２  第一の受信部、１１３  受信時刻送信部、１２１  時刻同期開始判別部、２０１  第二の時計、２０２  第二の受信時刻測定部、２０３  時刻測定部、２１２  第二の受信部、２１３  受信時刻送信部、２１４  時刻誤差受信部、２１５  測定時刻送信部、３０１  第三の時計、３０２  第三の受信時刻測定部、３１１  送信部、３１２  第三の受信部、３１３  受信時刻送信部、３２１  時刻同期開始判別部、４０１  時刻誤差計算部、４０２  送信時刻計算部、４０３  伝播時間計算部、４０４  伝播距離計算部、４０９  座標計算部、４１１  送信時刻記憶部、４１２  受信時刻記憶部、４１３  伝播時間記憶部、４１４  伝播距離記憶部、４１５  装置位置情報記憶部、４１９  時刻誤差記憶部、４２１  無線通信部、４３０  時刻差演算部、４４１  時刻誤差補正部、４５１  観測時刻記憶部。
【図１】
2006234425.tif 000003
【図２】
2006234425.tif 000004
【図３】
2006234425.tif 000005
【図４】
2006234425.tif 000006
【図５】
2006234425.tif 000007
【図６】
2006234425.tif 000008
【図７】
2006234425.tif 000009
【図８】
2006234425.tif 000010
【図９】
2006234425.tif 000011
【図１０】
2006234425.tif 000012
【図１１】
2006234425.tif 000013
【図１２】
2006234425.tif 000014
【図１３】
2006234425.tif 000015
【図１４】
2006234425.tif 000016
【図１５】
2006234425.tif 000017
【図１６】
2006234425.tif 000018
【図１７】
2006234425.tif 000019
【図１８】
2006234425.tif 000020
【図１９】
2006234425.tif 000021
【図２０】
2006234425.tif 000022