しかし、複数の計測手段で物理量を計測するにあたって上記の時刻同期を行う方法のうち、衛星やGPSを用いた方法では、計測装置が建物内などの衛星電波の捕捉が困難な位置に配置されている場合には、適用することが困難となる。これに対して、GPS信号を中継する方法もあるが、電波を受信するアンテナから中継装置を介して計測装置まで有線で接続する必要があることから、階数の大きい建物の地下などで時刻同期を行う場合には効率的ではない。
一方、一斉同報による時刻同期では、時刻同期タスクの実行までの待ち時間が問題となる。各計測装置(以下「ノード」という)が同期パケットを受信してからパケットを処理するタスク(プロトコルレイヤ)が起動し、同タスクから起動させる時刻同期タスクが実行されるまでの経過時間は、各ノードに搭載されたオペレーションシステム(以下「OS」という)におけるスケジューラの構成と、このスケジューラの待ち行列に登録されているタスクの負荷の度合いに依存する。このため、多数のタスクが待ち状態にある場合、パケット処理タスクおよび時刻同期タスクは、待ち行列の中で、実行権が与えられるまで待機する必要がある。1タスクに割り当てられる最大持ち時間は(タイムスロット)は、OSの種類によって異なるが、非リアルタイムOSの場合、10msec程度に達する場合がある。よって、たとえばロビンラウンド方式スケジューラの場合、タイムスロットをTs秒、待ち行列中の待機タスクをNとすると、最大Ts×N秒の待ち時間が発生する。ここで、問題なのは、待ち行列中の待機タスク数と各タスクの処理時間が不安定であることであることから、仮に2つのノードが同時に同期パケットを受け取ったとしても、時刻同期タスクの実行までの待ち時間に差が生じてしまうため、時刻の同期の差が生じることとなるという問題がある。
さらに、ブロードキャストによって時刻同期を行うためには、同期の対象となるすべてのノードが、通信可能範囲に入っていることが条件となる。たとえば、ノード(受信ノード)が他のノード(送信ノード)からの信号を受信する場合、送信ノードから電波の強度(受電電力)が必要最低限の大きさ以上であることが必要である。ここで、送信ノードから送信された電波が不到達となる受信ノードに対しては、中継用の計測装置(以下「中継ノード」という)を経由して同期パケットを転送することが考えられるが、中継ノードにおいては、上記のパケット処理の同期誤差に加え、無線によって、パケットを転送する際に遅延時間が発生する。
たとえば、無線LANの規格であるIEEE802.11(a,b,g)においては、リンク・アクセス制御プロトコルとしてCSMA/CA(搬送波感知多重アクセス/衝突回避方式)を採用しており、各端末は通信路が一定時間以上継続して空いていることを確認してからデータを送信する。この待ち時間は最小限の時間にランダムな長さの時間を加えたもので、直前の通信があってから一定時間後に複数の端末が一斉に送信する事態を防止している。よって、中継ノードを経由したパケットの到達時間はランダムな待ち時間を含んだものとなり、同期誤差が生じるとともに、仮にすべてのノードが同時刻にセンサデータを送信したとしても、ホストに到達する時刻は相違が生じてしまうという問題があった。
そこで、本発明の課題は、複数の計測装置で物理量を計測するにあたり、各計測装置で物理量を計測する時刻を精度よく同期させることができる複数点計測装置を提供することにある。
上記課題を解決した本発明に係る複数点計測装置は、所定の物理量を計測する物理量計測手段と、信号を送受信する送受信手段と、を備える計測装置が複数設けられ、複数の計測装置間で信号を送受信して、複数点における所定の物理量の計測を行う複数点計測装置であって、計測装置は、送受信手段における時刻を計測する第一タイマと、第一タイマと他の送受信手段における第一タイマとの間で時刻同期を行う時刻同期手段と、物理量計測手段による物理量の計測を行う第一時間間隔が設定され、第一時間間隔を計測する第二タイマと、第一タイマの時刻を参照し、第一タイマと第二タイマとの間における時間関係を調整する時間関係調整手段と、を有するものである。
本発明に係る複数点計測装置においては、複数の計測装置の送受信手段における時刻を計測するにあたって、送受信手段における時刻を計測する第一タイマを用いて、他の送受信手段との同期を図っている。このため、物理量の計測を行う時刻を計測する第二タイマでの時刻同期を必要としないので、たとえば計測装置に搭載されたOSのスケジューラやスケジューラの待ち行列に登録されているタスクの負荷の度合いによらず、時刻同期を図ることができる。また、第一タイマの時刻と第二タイマの時刻との間における時間関係を調整する時間関係調整手段が設けられていることにより、他の計測装置との間で同期を図った第一タイマの時刻を参照した第二タイマで計測された時刻で物理量の計測を行うことができる。したがって、複数の計測装置間で物理量を計測した時刻の同期を精度よく行うことができる。
なお、本発明における「時間調整」は、第二タイマの時間による計測を行う際に、第一タイマの時間を利用するものであり、たとえば、第一タイマの時間を参照し、第一タイマの時間を基準に第二タイマにおける計測を開始すること、第二タイマの時間を第一タイマの時間に一致させること、第一タイマの時間を第二タイマの時間として扱うことなどを含むものである。
ここで、時間関係調整手段は、第二時間間隔をおいて第一タイマで計測される時刻を参照し、第一時間間隔が経過するまでの時間が所定の時間内となったと計時された後、第二タイマによって、第一時間間隔が経過するまでの時間を計時する態様とすることができる。
このように、第二時間間隔をおいて第一タイマで計測される時刻を参照し、第一時間間隔が経過するまでの時間が所定の時間内となったと計時された後、第二タイマによって、第一時間間隔が経過するまでの時間を計時することにより、他の計測装置との間で時刻同期が図られていない第一タイマでの第一時間間隔の計測時間を短くすることができる。したがって、その分複数の計測装置における第一時間間隔の計測誤差を小さなものとすることができる。また、第一タイマに固体差がある場合でも、その個体差の影響を小さなものとすることができる。
また、第二時間間隔は、第一時間間隔よりも短く設定されている態様とすることができる。
このように、第二時間間隔が第一時間間隔よりも短く設定されていることにより、第一時間間隔が経過するまでの時間のうち、第二タイマで計測する時間を短くすることができるので、その分第一時間間隔の計測誤差を小さなものとすることができる。また、第一タイマに固体差がある場合でも、その個体差の影響を小さなものとすることができる。
さらに、第二時間間隔が、時間関係調整手段が第一タイマの時刻を参照してから物理量計測手段による計測を行うまでの計測待機時間に応じて、可変とされている態様とすることもできる。
このように、第二時間間隔が第一タイマの時刻を参照してから物理量計測手段による計測を行うまでの計測待機時間に応じて、可変とされていることにより、時間関係調整手段によって第一タイマの時刻を参照する回数を必要以上に多くすることなく、第二タイマでの計測時間を適切に短くすることができる。
また、時間関係調整手段が第二時間間隔をおいて続けて第一タイマの時刻を参照するにあたり、下記(1)式で示す可変係数nを算出し、可変係数が0である場合に、第二時間間隔を1/2とした値とし、可変係数nが1以上である場合に、第二時間間隔を、可変係数nを乗じた値に変更する態様とすることもできる。
n=floor[Tr/(1+m)dT] ・・・(1)
ここで、Tr:計測待機時間
(1+m):第一タイマに対する第二タイマの進行速度の比
dT:第二時間間隔
floor[x]:xの正の0に近い整数部を返す関数
このように、上記(1)式を用いることにより、時間関係調整手段によって第一タイマの時刻を参照する回数を必要以上に多くすることなく、第二タイマでの計測時間をより確実に短くすることができる。
また、送受信手段は、第一タイマで計測された時刻を他の計測装置に送信し、時刻同期手段は、他の送受信手段から送信された時刻と第一タイマで計測された時刻とを比較して、他の送受信手段における第一タイマとの間で時刻同期を行う態様とすることができる。
このように、第一タイマで計測された時刻を他の計測装置に送信し、他の送受信手段から送信された時刻と第一タイマで計測された時刻とを比較して、他の送受信手段における第一タイマとの間で時刻同期を行うことにより、たとえば信号が直接届かない計測装置同士においても、他の計測装置を介して第一タイマの同期を行うことができる。したがって、すべての計測装置が信号可能な位置に配置されていない場合であっても、各計測装置間における第一タイマの時刻の同期を図ることができる。
また、時間関係調整手段は、物理量の計測時に第一タイマの時刻を参照して第一タイマにおける物理量の計測時刻を示す計測時刻情報を生成し、送受信手段は、時間関係調整手段で生成された計測時刻情報を送信する態様とすることができる。
このように、物理量の計測時に第一タイマの時刻を参照して第一タイマにおける物理量の計測時刻を示す計測時刻情報を生成し、この計測時刻情報を送信することにより、計測時刻情報を基準として、複数の物理量における計測タイミングの調整を図ることができる。
さらに、複数の計測装置は、物理量の情報と計測時刻情報とを一体化して物理量−時刻情報を生成する態様とすることができる。
このように、物理量の情報と計測時刻情報とを一体化して生成することにより、物理量が計測された時刻とその時刻を示す計測時刻情報とをまとめて送受信することができる。その結果、送受信量の削減を図ることができる。
さらに、複数の計測装置との間で信号の送受信を行う集計装置をさらに備え、計測装置における送受信手段は、物理量計測手段によって計測された物理量を集計装置に送信し、集計装置は、複数の計測装置から送信された物理量を受信する集計用受信装置と、集計用受信装置で受信した物理量に所定の演算処理を施す集計用演算装置と、を有する態様とすることもできる。
このように、集計装置を設けることにより、計測装置で計測された物理量を迅速に集計することができる。
また、上記課題を解決した本発明に係る計測装置は、上記複数点計測装置に用いられる計測装置であって、送受信手段における時刻を計測する第一タイマと、第一タイマと他の送受信手段における第一タイマとの間で時刻同期を行う時刻同期手段と、物理量計測手段による物理量の計測を行う第一時間間隔が設定され、第一時間間隔を計測する第二タイマと、所定の第二時間間隔をおいて第一タイマの時刻を参照し、第一タイマと第二タイマとの間における時間関係を調整する時間関係調整手段と、を有するものである。
さらに、上記課題を解決した本発明に係る集計装置は、上記の複数点計測装置に用いられる集計装置であって、計測装置から送信された物理量信号を受信するとともに、所定の信号を受信する集計用受信装置と、計測装置で受信した物理量信号に所定の演算処理を施す集計用演算装置と、を有するものである。
他方、上記課題を解決した本発明の係る複数点計測方法は、所定の物理量を計測する物理量計測手段と、信号を送受信する送受信手段と、を備える計測装置が複数設けられ、複数の計測装置間で信号を送受信して、複数点における所定の物理量の計測を行う複数点計測方法であって、送受信手段における時刻を第一タイマで計測し、時刻同期手段により、第一タイマと他の送受信手段における第一タイマとの間で時刻同期を行い、物理量計測手段による物理量の計測を行う第一時間間隔を第二タイマで計測し、時間関係調整手段によって第二時間間隔をおいて第一タイマの時刻を参照し、第一タイマと第二タイマとの間における時間関係を調整することを特徴とする。
ここで、複数の計測装置との間で信号の送受信を行う集計装置がさらに設けられ、計測装置における送受信手段は、物理量計測手段によって計測された物理量を集計装置に送信し、集計装置は、集計用受信装置によって、複数の計測装置から送信された物理量を受信し、集計用演算装置によって、集計用受信装置で受信した物理量に所定の演算処理を施す態様とすることができる。
本発明に係る複数点計測装置によれば、複数の計測装置で物理量を計測するにあたり、各計測装置で物理量を計測する時刻を精度よく同期させることができる。
以下、図面を参照して、本発明の好適な実施形態について説明する。図1は、本発明の実施形態に係る複数点計測装置の概念図、図2は、計測装置のブロック構成図、図3は、ある。
図1に示すように、本実施形態に係る複数点計測装置1は、建築物Sに設けられている。複数点計測装置1は、複数の計測装置である計測ノード2を備えている。これらの計測ノード2は、建築物Sの各フロアにおける隅部に適宜設置されている。また、最上階には集計装置であるホストコンピュータ3が設けられており、建築物Sの各フロアには、それぞれ中継装置4が設けられている。
図2に示すように、計測ノード2は、加速度センサ21、A/D変換装置22、時間関係調整手段である中央処理装置(CPU)23、および送受信手段である無線装置24を備えている。また、中央処理装置23には、第二タイマであるCPU側タイマ25が設けられており、無線装置24には、第一タイマであるWLAN(WirelessLocal Area Network)側タイマ26および時刻同期手段27が設けられている。
このWLAN側タイマ26は、無線装置24のハードウェアレイヤ(物理層)における時刻を計測している。また、時刻同期手段27は、他の計測ノード2との間におけるWLAN側タイマ26同士の時刻同期およびホストコンピュータ3における後に説明するWLAN側タイマ35との間での時刻同期を図っている。これらの時刻同期の手順については後に説明する。
加速度センサ21は、建築物Sにおける計測ノード2の設置位置の振動を計測している。加速度センサ21は、計測して得られた振動の波形をA/D変換装置22に出力する。A/D変換装置22は、加速度センサ21から出力された波形をデジタル変換し、中央処理装置23に出力する。
中央処理装置23は、CPU側タイマ25によって、加速度センサ21で加速度を計測する本発明の第一時間間隔である時間間隔、本実施形態では10msをサンプリング周期Tsとして測定している。中央処理装置23では、前回の計測時刻から10msが経過し、加速度を計測する時刻となった際に、A/D変換装置22による加速度センサ21での計測データのA/D変換、または加速度センサ21からのデータ転送手続(以下「サンプリング」という)を開始する。また、中央処理装置23では、無線装置24におけるWLAN側タイマ26との間で時間調整を行っており、サンプリング周期Tsは、実質的にCPU側タイマとWLAN側タイマ26とによって計測している。この時間調整については後に説明する。
さらに、中央処理装置23では、加速度センサ21で加速度を計測したときに、無線装置24におけるWLAN側タイマ26を参照し、計測が行われた時刻であって、WLAN側タイマ26で計測された時刻(タイムスタンプ)を確認する。中央処理装置23では、計測が行われた時刻を示すタイムスタンプと、A/D変換装置22から出力された加速度センサ21による計測から得られる波形とをデータ化(計測データ)し、波形とタイムスタンプと一体化した波形−時刻情報を含むパケットを生成する。
図4に示すように、中央処理装置23において生成されたパケット40は、計測ノード2の自らのアドレス41、ホストコンピュータ3のアドレス42、次の中継地のアドレス43、計測ノードID44、タイムスタンプ45、および計測データ46が記録されている。中央処理装置23は、生成したパケットを無線装置24に出力する。
無線装置24は、中央処理装置23から出力されたパケットをホストコンピュータ3に向けて出力する。このとき、ホストコンピュータ3に電波が届かない位置に配置されている計測ノード2では、電波が届く位置に配置された中継装置4にパケットを送信する。また、無線装置24における時刻同期手段27は、ランダムに設定された待ち時間をおいて、WLAN側タイマ26が有するタイムスタンプを他の計測ノード2およびホストコンピュータ3に向けて送信する。ただし、待ち時間が経過する前に他の計測ノード2から時刻信号を受信した場合には、時刻信号の送信を中止する。こうして、複数の計測ノード2間におけるWLAN側タイマ26で計測される時間の同期が図られる。
ホストコンピュータ3は、図3に示すように、無線装置31、中央処理装置32、データ記録装置33、および表示装置34を備えている。また、無線装置31には、WLAN側タイマ35が設けられており、中央処理装置32には、CPU側タイマ36が設けられている。さらに、無線装置31には、時刻同期手段37が設けられている。これらのWLAN側タイマ35、CPU側タイマ36、および時刻同期手段37は、計測ノード2におけるWLAN側タイマ26、CPU側タイマ25、および時刻同期手段27と同様の機能を有するものである。
無線装置31は、計測ノード2または中継装置4から送信されるパケットを受信し、中央処理装置32に出力する。また、無線装置31における時刻同期手段37は、ランダムに設定された待ち時間をおいて、WLAN側タイマ35で計測された時刻を示す時刻信号を計測ノード2に向けて送信する。ただし、この待ち時間が経過する間に、計測ノード2から時刻信号を受信した場合には、時刻信号の送信を中止する。こうして、計測ノード2およびホストコンピュータ3間におけるWLAN側タイマ26,35で計測される時間の同期が図られる。
中央処理装置32は、無線装置31で受信した計測ノード2から送信されたパケットに記録された情報に基づいて、複数の計測ノード2で計測された加速度から建築物Sの全体における振動発生状況を算出する。中央処理装置32では、建築物Sの振動発生状況をデータ記録装置33に記録するとともに、表示装置34に表示する。
中継装置4は、同一フロアに設置された計測ノード2から送信されたパケットを受信し、他のフロアに設置された中継装置4に出力する。各フロアの中継装置4では、このように、受信したパケットを上のフロアの中継装置4に順次出力し、各フロアにおける計測ノード2で生成されたパケットは、最上階に設置された中継装置4にパケットを出力される。最上階に設置された中継装置4は、各フロアの中継装置4から出力されたパケットをホストコンピュータ3に送信する。
次に、本実施形態に係る複数点計測装置における建築物の振動状況の計測手順について説明する。本実施形態に係る複数点計測装置においては、計測ノード2およびホストコンピュータ3における時刻同期手段27,37によって複数の計測ノード2間で時刻同期を図り、同期された時刻を参照して、加速度センサ21で計測される加速度の計測時刻の調整を図る。そこで、まず、複数の計測ノード2間での時刻同期について説明する。本実施形態では、複数の計測ノード2における時刻同期を実現するために、いわゆるアドホックネットワークを構築している。
たとえば、所定の基地局のアクセスポイントを設定し、この基地局のアクセスポイントを中心とするインフラストラクチャモードを用いて時刻同期を図ることにより、アクセスポイントと各計測ノード2とのWLAN側タイマ26は同期する。ところが、基地局の電波がいくつかの計測ノード2に到達しない場合には、基地局の電波を伝達する中継手段が必要となる。ここで、中継手段としてWDS(Wireless Distribution system)を導入して電波の中継を行うことも可能であるが、WDSを構成する各アクセスポイント間のタイマの時刻が同期しないことから、ネットワークを構成する全計測ノード2のWLAN側タイマ26の同期を図ることができないことになる。そこで、本実施形態では、アドホックネットワークを構築している。
アドホックネットワークでは、ホストコンピュータ3、各計測ノード2、および中継装置4は互いに対等の関係にある。このため、ホストコンピュータ3、計測ノード2、および中継装置4を含む各装置では、WLAN側タイマ26で計測されたタイムスタンプを含むビーコンパケットを次の手順のもと、他の装置に送信する。
まず、ネットワークを開設した局、たとえばホストコンピュータ3がビーコン周期を決定する。このビーコン周期が経過した後、各計測ノード2およびホストコンピュータ3は、ビーコン以外のフレームを中断し、ランダムな待ち時間をそれぞれ設定し、待ち時間を減少する。待ち時間の減少を行っている間、他の計測ノード2またはホストコンピュータ3が発信したビーコンを受信した場合には、自身のビーコンの送信をキャンセルし、次のビーコン周期を待つ。このとき、受信したビーコンに基づいて、自身のタイムスタンプを修正する。また、他の計測ノード2またはホストコンピュータ3が発信したビーコンを受信することなく待ち時間が経過した場合には、自身のビーコンを送信する。こうして、複数の計測ノード2またはホストコンピュータ3から送信されるビーコンが他の計測ノード
2およびホストコンピュータ3に送信され、各計測ノード2およびホストコンピュータ3においてタイムスタンプの比較を行い、自身のWLAN側タイマ26を修正することにより、各計測ノード2およびホストコンピュータ3におけるWLAN側タイマ26,35の同期が図られる。このように、複数の計測ノード2それぞれにおいて、無線装置24の時刻の同期を図っているので、中央処理装置23における時刻同期タスクの実行までの待ち時間やタスクの負荷の度合いによらず、またパケット送信の際の遅延時間も生じないので、高い精度での同期を可能とする。さらに、WLAN側タイマ26,35は、無線装置24,31におけるハードウェアレイヤにおいて時刻を計測し、ハードウェアレベルで時刻同期を図っている。このため、たとえばハードウェアレイヤよりも上位のプロトコル階層にあるネットワークレイヤやトランスポートレイヤでの時刻同期を図る場合と比較しても、より高い精度で時刻同期を図ることができる。
こうして、各計測ノード2およびホストコンピュータ3の間で時刻同期が図られたら、各計測ノード2の加速度センサ21における加速度の計測タイミングを調整する。ここで、加速度センサ21による計測を開始するにあたり、無線装置24のWLAN側タイマ26におけるタイムスタンプ値があらかじめ決められた時刻を示すときに、中央処理装置23に割り込みを発生し、サンプリングを開始させるようにすることもできる。ところが、中央処理装置23に無線装置24から割り込みを発生させるのは困難である。
そこで、計測ノード2では、中央処理装置23が無線装置24におけるWLAN側タイマ26のタイムスタンプ値を読み込むタイマ割り込みを行い、サンプリングを開始するまでの時間差を計算する。ここで計算された時間差をCPU側タイマ25で計時し、時間差が経過した時点でサンプリングを開始する。
さらに説明すると、中央処理装置23は、一定の時間間隔(本発明の第二時間間隔)をおいてWLAN側タイマ26の時刻を参照し、WLAN側タイマ26のタイムスタンプ値を取得する。このタイムスタンプ値に基づいて、サンプリング周期が経過するまでの残り時間を算出する。この残り時間が所定の時間未満となった際に、CPU側タイマ25によるサンプリング周期の残り時間の計時を開始する。無線装置24におけるWLAN側タイマ26は、他の計測ノード2との間での同期が図られていることから、中央処理装置23が無線装置24におけるWLAN側タイマ26のタイムスタンプ値を読み込み、サンプリング時刻を調整することにより、計測時刻の同期を精度よく行うことができる。ここでの所定時間とは、中央処理装置23がWLAN側タイマ26の時刻を参照する時間間隔であり、サンプリング周期が経過するまでの残り時間が所定時間以上である場合には、CPU側タイマ25によるサンプリング周期の計時は開始しない。
また、中央処理装置23は、サンプリングを行った時点で、再び無線装置24におけるWLAN側タイマ26のタイムスタンプ値を読み込み、加速度センサ21で計測した波形と、無線装置24から読み込んだタイムスタンプ値とを一体化して波形−時刻情報を含む図4に示すパケットを生成する。それから、中央処理装置23は、無線装置24を介して波形−時刻情報をホストコンピュータ3に送信する。このように、波形と時刻情報とが同一パケット内に組み込まれているので、信号の量を少なくすることができるとともに、ホストコンピュータ3で解析を行う際に、その作業が容易とすることができる。
ところで、中央処理装置23は、無線装置24におけるWLAN側タイマ26との間の時間関係を調整するために、WLAN側タイマ26のタイムスタンプ値を読み込むタイマ割り込みを行うが、タイマ割り込みは、たとえば第二時間間隔であるタイマ割り込み間隔dTをおいて行われる。ここで、タイマ割り込み間隔dTとサンプリング周期Tsとを同間隔に設定した場合、CPU側タイマ25の進行速度がWLAN側タイマ26の進行速度よりも遅いと、サンプリング時刻は常に遅れてしまうことになる。
このサンプリング時刻の遅れを回避するために、タイマ割り込み間隔dTは、サンプリング周期Tsよりも短い時間に設定するのが好適となる。ここで、たとえば下記(2)式に示すように、WLAN側タイマ26の進行速度がCPU側タイマ25の進行速度の(1+m)倍である場合、下記(3)式の範囲でタイマ割り込み間隔dTを設定することができる。
Sp(CLK1)=(1+m)Sp(CLK2) ・・・(2)
dT<Ts/(1+m) ・・・(3)
ここで、Sp(CLK1):WLAN側タイマ26の進行速度
Sp(CLK2):CPU側タイマ25の進行速度
また、タイマ割り込みに関わるオーバーヘッドをTLossとすると下記(3′)式の範囲内でタイマ割り込み間隔を設定することもできる。
TLoss<dT<Ts/(1+m) ・・・(3′)
本実施形態では、具体的に、タイマ割り込み間隔dTを1msに設定する。このように、タイマ割り込み間隔dTをサンプリング周期Tsよりも短く設定することにより、サンプリング時刻の遅れを好適に回避することができる。
以下、図5に示すフローチャートに沿って、各計測ノード2における処理を説明する。
計測ノード2では、まず、中央処理装置23におけるタイマ割り込み間隔dTを1ms間隔に設定する(S1)。タイマ割り込み間隔dTの設定により、中央処理装置23は、1msごとに無線装置24におけるWLAN側タイマ26の時刻を読み込むことになる。タイマ割り込み間隔を設定したら、中央処理装置23は、タイマ割り込みが発生するまでの間待機する(S2)。そして、タイマ割り込み間隔が経過したら、中央処理装置23は、タイマ割り込みを行ってWLAN側タイマ26の値であるWLAN側タイマ時間T(k)を読み込む(S3)。
続いて、サンプリング予定時刻までの時間(以下「計測待機時間」という)Trを求める。計測待機時間Trは、下記(4)式で求めることができる。
Tr=Tf+Ts−T(k) ・・・(4)
ここで、Tf:前回のサンプリング時刻
そして、計測待機時間Trが1ms未満であるか否かを判断する(S4)。その結果、計測待機時間Trが1ms未満ではないと判断した場合には、ステップS2に戻り、再びタイマ割り込み発生まで待機する。一方、計測待機時間Trが1ms未満であると判断した場合には、計測待機時間Trの間、待機する(S5)。その後、加速度センサ21による加速度の計測を実施する(S6)。このとき、中央処理装置23は、WLAN側タイマ26を参照し、サンプリングを開始した時刻をタイムスタンプ値として取得する。
加速度センサ21による計測を行ったら、計測終了条件を満たすか否かを判断する(S7)。ここでの計測終了条件は、任意に設定することができる。たとえば、計測を継続する時間を予め設定しておき、その継続時間が経過することを計測終了条件とすることができるし、計測された物理量(加速度)の絶対値が基準値以下となった場合を計測終了条件とすることができる。
その結果、計測終了条件を満たすと判断した場合には、処理を終了する。一方、計測終了条件を満たしていないと判断した場合には、ステップS2に戻り、割り込み発生まで待機する。
このように、計測ノード2において、加速度センサ21による計測を行ったら、事前に確保したデータ保存用バッファ領域に加速度センサ21によって計測されたセンサデータとこのセンサデータを得るための計測を開始した時刻を示すタイムスタンプ値を保存する。そして、一定時間加速度センサ21による計測を行い。センサデータおよびタイムスタンプ値が複数保存されたら、図4に示すパケットを複数生成し、無線装置24を介してホストコンピュータ3に送信する。
また、このようなデータ保存用バッファ領域を確保していない場合には、加速度センサ21による計測を行ったら、計測によって得られたセンサデータを保存することなく、図4に示すパケットを生成し、ホストコンピュータ3に送信する態様とすることもできる。
アドホックネットワークでは、ホストコンピュータ3にパケットを送信するにあたり、パケットを中継するために、各計測ノード2は、他の計測ノード2から自身宛に届くパケットを常に監視し、他の計測ノード2からのパケットを受信した場合には、次の中継地アドレスを自身のアドレスに書き換えて送信する。また、パケットにおける送信ヘッダにシリアルナンバを付与し、受信パケットのシリアルナンバに抜けが生じた場合には、再送処理を行うこともできる。このような再送処理を行うことにより、通信路の品質が良くない場合でも安定した通信を行うことができ、パケットロスを防止することができる。
こうして、各計測ノード2で計測されたデータがホストコンピュータ3に送信されたら、ホストコンピュータ3では、各計測ノード2から届いたパケットに付与されたセンサデータを集計する。センサデータの集計にあたり、各計測ノード2から届いたパケットに記録された送信元の計測ノード2のIDをチェックする。ここで、複数の計測ノード2から到達するパケットは、無線による通信遅延や再送処理のため、センサデータが計測された順番とパケットが到達した順番とは一致していない場合がある。そこで、ホストコンピュータ3では、各パケットに記されたタイムスタンプをチェックする。そして、計測データがタイムスタンプの順序となるように各パケットに記された計測データを並べ替えてデータ記録装置33に記録する。
たとえば、図6に示すように、A地点における第一計測ノード2Aで計測された加速度の波形W1が記された第一パケットP1と、B地点における第二計測ノード2Bで計測された加速度の波形W2が記された第二パケットP2がホストコンピュータ3に送信されたとする。ここで、第一パケットP1には、第一タイムスタンプT1が記されており、第二パケットP2には、第二タイムスタンプT2が記されている。ホストコンピュータ3では、パケットP1,P2に記されたタイムスタンプT1,T2を参照して、波形W1,W2の時刻を修正し、波形W1,W2の遅延変動を補償する。
このように、本実施形態に係る複数点計測装置においては、複数の計測ノード2における各加速度センサ21で加速度を計測するサンプリング周期を計時するにあたり、中央処理装置23において、無線装置24に設けられたWLAN側タイマ26の時刻を参照している。ここで、WLAN側タイマ26は、複数の計測ノード2におけるWLAN側タイマ26間で同期を取っているので、時刻同期タスクの実行までの待ち時間の差等による時刻の同期の差が生じないようにすることができる。また、中央処理装置23に設けられたCPU側タイマ25による時刻の計測は、WLAN側タイマ26によって計測されるサンプリング周期まで1ms未満となった後に行われるので、CPU側タイマ25による計測時間を短くすることができる。したがって、その分他の計測ノード2との間で時刻同期が図られていないCPU側タイマ25でのサンプリング周期の計測時間を短くすることができる。したがって、その分複数の計測ノード2間におけるサンプリング周期の計測誤差を小さなものとすることができる。また、通常、CPU側タイマ25には固体差があるが、本実施形態に係る複数点計測装置によれば、その個体差の影響を小さなものとすることができる。
ここまで、中央処理装置23がWLAN側タイマ26の時刻を参照する時間間隔(タイマ割り込み間隔dT)が一定である場合について説明したが、タイマ割り込み間隔dTを可変とすることもできる。このタイマ割り込み間隔dTを可変とする場合について説明する。図7は、可変であるタイマ割り込み間隔dTを決定する手順を示すフローチャートである。
図7に示すように、計測ノード2では、まず計測待機時間Trkおよびタイマ割り込み間隔dTkの初期値(k=1)を設定する(S11)。初期値としての計測待機時間Trkは、まずWLAN側タイマ26の時刻を参照し、上記(4)式におけるTrを求める。この上記(4)式における計測待機時間Trを初期値としての計測待機時間Trkとする。また、初期値としてのタイマ割り込み間隔dTkは、dTk>dTminとなる任意の値を設定する。こうして計測待機時間Trkおよびタイマ割り込み間隔dTkの初期値を設定したら、計測待機時間Trkがタイマ割り込み間隔の最小値dTminの2(1+m)倍以下であるか否かを判断する(S12)。タイマ割り込み間隔の最小値dTminは、タイマ割り込みに関わるオーバーヘッドであるTLossに図7に示すフローチャートの実行に相当する時間を加算した値とする。また、(1+m)は、第一タイマに対する第二タイマの進行速度の比であり、「m」は、定数ではなく、温度等の外的要因によって変動する値である。このため、第一タイマに対する第二タイマの進行速度の比(1+m)の値は、タイマ割り込みを行う際に、その都度求められる。このように、タイマ割り込みの度に第一タイマに対する第二タイマの進行速度の比(1+m)を求めることにより、タイマ割り込み間隔dTを精度よく求めることができる。
その結果、計測待機時間Trkがタイマ割り込み間隔の最小値dTminの2(1+m)倍以下であると判断した場合には、dTk=Trkとする(S23)。その後、タイマ割り込み間隔の経過を待ってから(S25)処理を終了し、タイマ割り込み間隔dTk(=Trk)が経過した後、加速度センサ21による計測を行う。一方、計測待機時間Trkがタイマ割り込み間隔の最小値dTminの2(1+m)倍以下でない(タイマ割り込み間隔の最小値dTminの2(1+m)倍を超える)と判断した場合には、下記(1)式による計算を行い、可変係数nkを求める(S13)。
nk=floor[Trk/(1+m)dTk] ・・・(1)
ここで、(1+m):第一タイマに対する第二タイマの進行速度の比
dT:タイマ割り込み間隔
floor[x]:xの正の0に近い整数部を返す関数
それから、上記(1)式で求められた可変係数nkが1以上であるか否かを判断する(S14)。その結果、可変係数nkが1以上でない(1より小さい)と判断した場合には、次のタイマ割り込み間隔dTkを半減し(S24)、ステップS13に戻る。一方、可変係数nkが1以上であると判断した場合には、タイマ割り込み間隔dTkに可変係数nkを乗じたnkdTkにさらに第一タイマに対する第二タイマの進行速度の比(1+m)を乗じた値(1+m)nkdTkを計測待機時間Trkから減じた値であるTrk−(1+m)nkdTk(以下「割り込み間隔判断基準値」という)がタイマ割り込み間隔の最小値dTminより大きいか否かを判断する(S15)。
その結果、割り込み間隔判断基準値Trk−(1+m)nkdTkがタイマ割り込み間隔の最小値dTminより大きいと判断した場合には、dTk=nkdTkとする(S16)。このときには、まだ加速度センサ21による計測まで時間があるので、再びステップ11に戻り、次回のタイマ割り込み間隔を決定する。その前に、dTk=nkdTkとしたら、タイマ割り込み間隔dTk(=nkdTk)の経過を待ち(S17)、計測回数カウンタを1アップする(S18)。その後、ステップS11に戻る。ステップS11では、2回目のフローに用いる計測待機時間Trkおよびタイマ割り込み間隔dTk(ともにK=2)を求める。ここでは、WLAN側タイマ26の時刻を参照して、(4)式を用いて計測待機時間Trを求め、この計測待機時間Trを2回目のフローにおける計測待機時間Trkとして設定する。また、2回目のフローに用いるタイマ割り込み間隔dTkは、前回のフローにおけるステップS16で設定したタイマ割り込み間隔dTk(k=1)を用いる。このように、可変係数nkが1以上である場合に、タイマ割り込み間隔dTkを、1より大きい可変係数nkを乗じたnkdTkに変更することにより、タイマ割り込み間隔の負荷が軽減される。
一方、ステップS15において、割り込み間隔判断基準値Trk−(1+m)nkdTkがタイマ割り込み間隔の最小値dTminより大きくない(タイマ割り込み間隔の最小値dTmin以下である)と判断した場合には、可変係数nkが1であるか否かを判断する(S19)。可変係数nkは1以上の整数であることから、実質的に、可変係数nkが2以上であるか否かを判断していることになる。
その結果、可変係数nkが1でないと判断した場合には、可変係数nkから1を減じて(S20)、ステップS15に戻る。以後、ステップS14の条件を満たすまで、ステップS15、S19、S20を繰り返す。一方、可変係数nkが1であると判断した場合には、可変係数nkを減じると不具合が生じることから、タイマ割り込み間隔dTkがタイマ割り込み間隔の最小値dTminの2倍未満であるか否かを判断する(S21)。その結果、タイマ割り込み間隔dTkがタイマ割り込み間隔の最小値dTminの2倍未満でない(タイマ割り込み間隔の最小値dTminの2倍以上である)と判断した場合には、ステップS24に進み、タイマ割り込み間隔dTkを半減して、ステップS12に戻る。また、タイマ割り込み間隔dTkがタイマ割り込み間隔の最小値dTminの2倍未満であると判断した場合には、dTk=Trkとする(S22)。その後、タイマ割り込み間隔dTk(=Trk)の経過を待ち(S25)、処理を終了して加速度センサ21による計測を行う。
このようにして、タイマ割り込み間隔dTを決定することができる。こうしてタイマ割り込み間隔dTを決定した場合、可変係数nkが1より大きい場合に、タイマ割り込み間隔dTkを、可変係数nkを乗じたnkdTkに変更しているので、タイマ割り込み間隔の負荷を軽減することができる。また、タイマ割り込み間隔dTをタイマ割り込み間隔の最小値dTmin以上としていることから、CPU側タイマ25による計時時間が長くなりすぎないようにすることができる。
以下、図7に示すフローチャートによってタイマ割り込み間隔dTを決定する具体例について説明する。いま、諸数値の設定例として、計測待機時間Tr=9.45ms、タイマ割り込み間隔初期値dT1=5ms、タイマ割り込み間隔の最小値dTmin=1ms、WLAN側タイマ26の進行速度に対するCPU側タイマ25の進行速度の比(1+m)=1.01とする。
この場合、1回目のフローにおけるステップS12に示す式に各数値を代入すると、9.45>2×1.01×1=2.02であり、ステップS12の条件を満たさないので、ステップS13に進む。ステップS13において、可変係数n1は、floor[9.45/5.05]=1と算出され、ステップS14の条件を満たすので、ステップS15に進む。また、ステップS15に各数値を代入すると、9.45−1.01×1×5>1となり、ステップS15の条件を満たす。したがって、ステップS16に進み、タイマ割り込み間隔dT1は、タイマ割り込み間隔dT1に可変係数n1を乗じた値5msと設定される。
続いて、2回目のフローとして、計測待機時間Tr2は、1回目のフローから5.05msが経過した時間(Tr=9.45−5.05=4.4ms)となる。2回目のタイマ割り込み間隔の初期値dT2は5msである。2回目のフローでは、ステップS12に示す式に各数値を代入すると、4.4>2×1.01×1=2.2であり、ステップS12の条件を満たさないので、ステップS13に進む。ステップS13において、可変係数n2は、floor[4.4/5.05]=0と算出される。この場合、可変係数n2≧1でなくステップS14の条件を満たさないので、ステップS14からステップS24に進み、タイマ割り込み間隔dT2を半減し、タイマ割り込み間隔dT2=2.5msとしてステップS13に戻る。ここで、ステップS13における可変係数n2は、floor[4.4/2.525]=1と算出され、ステップS14の条件を満たす。また、タイマ割り込み間隔dT2は、2.5msであり、ステップS15に示す式に各数値を代入すると、4.4−1.01×1×2.5=1.875>1でありステップS15の条件を満たす。したがって、ステップS16に進み、タイマ割り込み間隔dT2は、2.5msと設定される。
さらに3回目のフローとして、計測待機時間Tr3は、2回目のフローから2.525msが経過した時間(Tr=4.04−2.525=1.875ms)となる。3回目のタイマ割り込み間隔の初期値dT3は2.5msである。3回目のフローでは、ステップS12に示す式に各数値を代入すると、1.875≦2.5となり、ステップS12の条件を満たす。したがって、ステップS23に進み、タイマ割り込み間隔dT2は、1.875msと設定される。
ここで、たとえば上記具体例に対応し、計測待機時間Tr=9.45msであり、タイマ割り込み間隔初期値dT0=5msに固定されていた場合、CPU側タイマ25による計測時間は9.45−5=4.45msと長くなってしまうのに対して、タイマ割り込み間隔dTkを可変とした場合には、CPU側タイマ25での計測時間は9.45−5−2.5−1.875=0.125msと短いものとなった。したがって、CPU側タイマ25による計測時間の短縮を図ることができ、その分測定誤差を小さなものとすることができる。
また、たとえばタイマ割り込み間隔dTを0.5msなど非常に短く設定した場合には、CPU側タイマ25による計測時間は0.5ms未満となるので、CPU側タイマ25による計測時間の短縮を図ることはできる。ところが、この場合、計測待機時間Tr=9.45msの経過まで、中央処理装置23は、18回ものWLAN側タイマ26の時刻を参照する必要があり、非常に計測に負荷が掛かってしまう。
これに対して、タイマ割り込み間隔dTkを可変とすることより、中央処理装置23によるWLAN側タイマ26の参照回数が少なく、上記具体例では4回となる。このように、中央処理装置23によるWLAN側タイマ26参照回数を少なくながらも、CPU側タイマ25による計測時間の短縮を図ることができる。
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されるものではない。たとえば、上記実施形態では、物理量として加速度を検出しているが、その他の物理量、たとえば温度、湿度など適宜の物理量の検出に用いることができる。また、上記実施形態では、計測ノード2とホストコンピュータ3の各無線装置24,31において、時刻同期を図っているが、計測ノード2のみで時刻同期を図る態様とすることもできる。さらに、絶対時刻が必要であるときには、ホストコンピュータの無線装置31またはいずれかの計測ノード2の無線装置24において、GPS等から絶対時刻を取得し、この時刻を用いることができる。また、複数の計測ノード2でGPS等から絶対時刻を取得する態様とすることもできる。さらに、WLAN側タイマ26,35は、無線装置24,31のハードウェアレイヤにおける時刻を計測しているが、ハードウェアレイヤよりも上位のプロトコル階層にあるネットワークレイヤやトランスポートレイヤでの時刻同期を図る態様とすることもできる。