(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-26
(45)【発行日】2024-04-03
(54)【発明の名称】タイムスタンプ同期データ取得システム、タイムスタンプ同期データ取得方法、および、プログラム
(51)【国際特許分類】
H04B 17/309 20150101AFI20240327BHJP
H04B 17/391 20150101ALI20240327BHJP
H04W 4/38 20180101ALI20240327BHJP
H04W 24/06 20090101ALI20240327BHJP
【FI】
H04B17/309
H04B17/391
H04W4/38
H04W24/06
(21)【出願番号】P 2020115316
(22)【出願日】2020-07-03
【審査請求日】2023-06-27
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、支出負担行為担当官、総務省大臣官房会計課企画官、研究テーマ「狭空間における周波数稠密利用のための周波数有効利用技術の研究開発」に関する委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
(74)【代理人】
【識別番号】100143498
【氏名又は名称】中西 健
(74)【代理人】
【識別番号】100136319
【氏名又は名称】北原 宏修
(74)【代理人】
【識別番号】100148275
【氏名又は名称】山内 聡
(74)【代理人】
【識別番号】100142745
【氏名又は名称】伊藤 世子
(72)【発明者】
【氏名】玉井 森彦
(72)【発明者】
【氏名】長谷川 晃朗
(72)【発明者】
【氏名】横山 浩之
【審査官】前田 典之
(56)【参考文献】
【文献】特開2011-176412(JP,A)
【文献】特開2015-019223(JP,A)
【文献】特開2019-161290(JP,A)
【文献】米国特許出願公開第2019/0289448(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 17/309
H04B 17/391
H04W 4/38
H04W 24/06
(57)【特許請求の範囲】
【請求項1】
無線信号を受信可能な第1アンテナと、
前記第1アンテナにより受信した無線信号である第1無線信号の包絡線データを取得する包絡線データ取得部と、
前記第1無線信号の無線フレームの開始時刻を示すタイムスタンプを取得し、取得したタイムスタンプの時系列データを同期検出用データとして取得する同期検出用データ生成部と、
無線信号を受信可能な第2アンテナと、
前記第2アンテナにより受信した無線信号である第2無線信号から、当該第2無線信号に含まれる無線フレームのヘッダ部分を解析することにより、当該ヘッダ部分に含まれる情報をヘッダデータとして取得するヘッダ取得部と、
前記同期検出用データに基づいて、前記ヘッダデータのタイムスタンプデータを補正し、補正したタイムスタンプを付与したタイムスタンプ補正ヘッダデータを取得するタイムスタンプ同期処理部と、
を備えるタイムスタンプ同期データ取得システム。
【請求項2】
前記同期検出用データ生成部は、現時刻tにおける前記第1無線信号のサンプリングデータの信号強度が所定の閾値以上であり、かつ、現時刻tの1つの前のサンプリング時刻t-1における前記第1無線信号のサンプリングデータの信号強度が所定の閾値よりも小さい場合に、現時刻tに相当するデータを前記第1無線信号のタイムスタンプとして取得する、
請求項1に記載のタイムスタンプ同期データ取得システム。
【請求項3】
前記同期検出用データ生成部は、前記第1無線信号が無線フレームを構成し、当該無線フレームの先頭部分であるプレアンブルに所定のフィールドが設定されている場合、前記第1無線信号の信号値の相関を調査することで、前記プレアンブル部分を検出し、検出した前記プレアンブルの先頭の時刻の情報を前記タイムスタンプとして取得し、取得したタイムスタンプの時系列データを同期検出用データとして取得する、
請求項1に記載のタイムスタンプ同期データ取得システム。
【請求項4】
前記タイムスタンプ同期処理部は、
前記同期検出用データのサンプルデータをn_fifo個(n_fifo:自然数)記憶保持する第1FIFO記憶部と、
前記ヘッダデータのタイムスタンプのサンプルデータをn_fifo個記憶保持する第2FIFO記憶部と、
前記第1FIFO記憶部に記憶保持されている前記同期検出用データのサンプルデータと、前記第2FIFO記憶部に記憶保持されている前記ヘッダデータのタイムスタンプのサンプルデータとに基づいて、最適オフセット値を取得するオフセット取得処理部と、
前記オフセット取得処理部により、前記最適オフセット値が取得された場合、出力オフセット値を前記最適オフセット値に設定し、前記最適オフセット値に設定した前記出力オフセット値を記憶保持するオフセット値保持部と、
前記オフセット値保持部により記憶保持されている前記出力オフセット値により、前記ヘッダデータのタイムスタンプデータを補正し、補正したタイムスタンプを付与したタイムスタンプ補正ヘッダデータを取得するタイムスタンプ補正ヘッダ取得部と、
を備える、
請求項1から3のいずれかに記載のタイムスタンプ同期データ取得システム。
【請求項5】
前記同期検出用データのサンプルデータのタイムスタンプをp
i.ts(i:自然数、0≦i<n_fifo)とし、n_fifo個のタイムスタンプp
i.tsの集合を{p
i.ts}とし、
前記ヘッダデータのサンプルデータをs
i(i:自然数、0≦i<n_fifo)、n_fifo個のサンプルデータs
iの集合を{s
i}とし、サンプルデータs
iのタイムスタンプをs
i.ts(i:自然数、0≦i<n_fifo)とし、n_fifo個のタイムスタンプs
i.tsの集合を{s
i.ts}とすると、
前記オフセット取得処理部は、
集合{s
i}からn_hdr個(n_hdr:自然数、n_hdr<n_fifo)のサンプルデータを選択し、選択したサンプルデータをss
j(j:整数、0≦j<n_hdr)とし、その集合を{ss
j}として取得し、
集合{p
i.ts}に含まれるタイムスタンプと、{ss
j}に含まれるサンプルデータss
jのタイムスタンプss
j.tsとの差を求めることで取得したオフセット値eの集合Eを取得し、集合Eに含まれるオフセット値eを前記ヘッダデータのタイムスタンプのサンプルデータに加算することでタイムスタンプ加算値ss
j.ts+eの集合{ss
j.ts+e}を取得し、集合{ss
j.ts+e}と集合{p
i.ts}との積集合の要素数を示す変数cが最大となるときのオフセット値eを最適オフセット値e
optとして取得し、
前記オフセット値保持部は、前記最適オフセット値e
optを前記出力オフセット値とし、
前記タイムスタンプ補正ヘッダ取得部は、前記出力オフセット値により、前記ヘッダデータのタイムスタンプデータを補正し、補正したタイムスタンプを付与したタイムスタンプ補正ヘッダデータを取得する、
請求項4に記載のタイムスタンプ同期データ取得システム。
【請求項6】
前記オフセット取得処理部は、
(1)集合{s
i}から、サンプルデータs
iのタイムスタンプが最も新しい時刻を示すものから順にn_hdr個(n_hdr:自然数、n_hdr<n_fifo)のサンプルデータを選択する第1選択処理、
(2)集合{s
i}から、サンプルデータs
iのタイムスタンプが最も新しい時刻を示すデータと最も古い時刻を示すデータの中間にあるn_hdr個(n_hdr:自然数、n_hdr<n_fifo)のサンプルデータを選択する第2選択処理、および、
(3)集合{s
i}から、サンプルデータs
iのタイムスタンプが最も古い時刻を示すものから順にn_hdr個(n_hdr:自然数、n_hdr<n_fifo)のサンプルデータを選択する第3選択処理のいずれかを実行することで、サンプルデータを選択し、選択したサンプルデータをss
j(j:整数、0≦j<n_hdr)とし、その集合を{ss
j}として取得する、
請求項5に記載のタイムスタンプ同期データ取得システム。
【請求項7】
前記オフセット取得処理部は、
(1)集合{s
i}から、サンプルデータs
iのタイムスタンプが最も新しい時刻を示すものから順にn_hdr個(n_hdr:自然数、n_hdr<n_fifo)のサンプルデータを選択する第1選択処理により選択したサンプルデータを用いて、最適オフセット値e
optを求める処理を実行し、求めた最適オフセット値e
optをD[1].e_optとして保持し、当該最適オフセット値e
optを取得したときの集合{ss
j.ts+e}と集合{p
i.ts}との積集合の要素数cをD[1].c_maxとして保持し、
(2)集合{s
i}から、サンプルデータs
iのタイムスタンプが最も新しい時刻を示すデータと最も古い時刻を示すデータの中間にあるn_hdr個(n_hdr:自然数、n_hdr<n_fifo)のサンプルデータを選択する第2選択処理により選択したサンプルデータを用いて、最適オフセット値e
optを求める処理を実行し、求めた最適オフセット値e
optをD[2].e_optとして保持し、当該最適オフセット値e
optを取得したときの集合{ss
j.ts+e}と集合{p
i.ts}との積集合の要素数cをD[2].c_maxとして保持し、
(3)集合{s
i}から、サンプルデータs
iのタイムスタンプが最も古い時刻を示すものから順にn_hdr個(n_hdr:自然数、n_hdr<n_fifo)のサンプルデータを選択する第3選択処理により選択したサンプルデータを用いて、最適オフセット値e
optを求める処理を実行し、求めた最適オフセット値e
optをD[3].e_optとして保持し、当該最適オフセット値e
optを取得したときの集合{ss
j.ts+e}と集合{p
i.ts}との積集合の要素数cをD[3].c_maxとして保持し、
前記オフセット取得処理部は、
データD[1].c_max、D[2].c_max、および、D[3].c_maxのうち最大値となるデータの引数をk(k:整数、1≦k≦3)とすると、データD[k].e_optを最適オフセット値e
optに設定し、
前記オフセット値保持部は、前記最適オフセット値e
opt(=D[k].e_opt)を前記出力オフセット値とし、
前記タイムスタンプ補正ヘッダ取得部は、前記出力オフセット値により、前記ヘッダデータのタイムスタンプデータを補正し、補正したタイムスタンプを付与したタイムスタンプ補正ヘッダデータを取得する、
請求項5に記載のタイムスタンプ同期データ取得システム。
【請求項8】
センサ装置と、
無線通信機能付きパーソナルコンピュータと、
前記センサ装置および前記パーソナルコンピュータとネットワークを介して通信可能に接続される無線品質データ解析装置と、
を備え、
前記センサ装置は、
前記第1アンテナと、
前記包絡線データ取得部と、
前記同期検出用データ生成部と、
を備え、
前記無線通信機能付きパーソナルコンピュータは、
前記第2アンテナと、
前記ヘッダ取得部と、
を備え、
前記無線品質データ解析装置は、
前記タイムスタンプ同期処理部
を備える、
請求項1から7のいずれかに記載のタイムスタンプ同期データ取得システム。
【請求項9】
無線信号を受信可能な第1アンテナにより受信した無線信号である第1無線信号の包絡線データを取得する包絡線データ取得ステップと、
前記第1無線信号の無線フレームの開始時刻を示すタイムスタンプを取得し、取得したタイムスタンプの時系列データを同期検出用データとして取得する同期検出用データ生成ステップと、
無線信号を受信可能な第2アンテナにより受信した無線信号である第2無線信号から、当該第2無線信号に含まれる無線フレームのヘッダ部分を解析することにより、当該ヘッダ部分に含まれる情報をヘッダデータとして取得するヘッダ取得ステップと、
前記同期検出用データに基づいて、前記ヘッダデータのタイムスタンプデータを補正し、補正したタイムスタンプを付与したタイムスタンプ補正ヘッダデータを取得するタイムスタンプ同期処理ステップと、
を備えるタイムスタンプ同期データ取得方法。
【請求項10】
請求項9に記載のタイムスタンプ同期データ取得方法をコンピューターに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、無線通信技術に関し、特に、無線品質の監視技術に関する。
【背景技術】
【0002】
様々な機器の稼働状況の把握、制御などを目的として、工場、病院、商業施設などの屋内環境へのIoT(Internet of Things)デバイスの導入が進んでいる。
【0003】
例えば工場のような環境下で製造システムの状態管理や制御のために無線通信が使用されている場合、電波の減衰や干渉などの影響により通信断が生じてしまうと、製造工程の遅延や停止につながる場合もある。このため、無線通信に対し特に高い品質が求められる。
【0004】
無線品質の悪化を防ぐためには、ネットワーク管理者が、対象環境下における現状の無線品質をできるだけ詳細に把握できることが重要である。そのため、例えば、対象環境下にセンサノードを設置し、センサノードにおいて無線品質に関するデータを取得することが想定される。無線品質の把握のために有用なデータとして、受信信号強度(RSS)の時系列(包絡線データ)と、各受信フレームのヘッダ情報の時系列(ヘッダデータ)とがある。さらに、包絡線データとヘッダデータのタイムスタンプを同一時間軸上で同期して取得することで、各フレームの送信時におけるRSSの状態を把握することが可能となり、無線品質の詳細な把握に役立てることができる(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
包絡線データとヘッダデータのタイムスタンプとを同一時間軸上で同期する一つの方法は、センサノードにおいてIQサンプルを取得し、IQサンプルから包絡線データとヘッダデータとを生成することである。一方で、IQサンプルからヘッダデータを生成するためには、センサノード上で、監視対象の無線方式(802.11a/b/g/n等)に対応した復調・デコード処理を実装する必要があり、これには相応のコストを要する。
【0007】
ヘッダデータを取得するための安価な方法としては、市販の無線LANインターフェースを搭載したPC上でtcpdump等のパケットキャプチャ用のソフトウェアを実行することが考えられる。しかし、市販の無線LANインターフェースでは、包絡線データを取得することは困難である。そこで、センサノードで包絡線データを取得しつつ、同時に市販のPCでヘッダデータの取得を行えば、両データとも比較的安価に取得可能となる。一方、この方法では、両データのタイムスタンプ間の同期をいかにとるかが課題となる。
【0008】
そこで、本発明は、上記課題に鑑み、センサノードで取得された包絡線データと、市販のPCで取得されたヘッダデータと間で、高精度にタイムスタンプの同期をとることができるタイムスタンプ同期データ取得システム、タイムスタンプ同期データ取得方法、および、プログラムを実現することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、第1の発明は、無線信号を受信可能な第1アンテナと、包絡線データ取得部と、同期検出用データ生成部と、無線信号を受信可能な第2アンテナと、ヘッダ取得部と、タイムスタンプ同期処理部と、を備えるタイムスタンプ同期データ取得システムである。
【0010】
包絡線データ取得部は、第1アンテナにより受信した無線信号である第1無線信号の包絡線データを取得する。
【0011】
同期検出用データ生成部は、第1無線信号の無線フレームの開始時刻を示すタイムスタンプを取得し、取得したタイムスタンプの時系列データを同期検出用データとして取得する。
【0012】
ヘッダ取得部は、第2アンテナにより受信した無線信号である第2無線信号から、当該第2無線信号に含まれる無線フレームのヘッダ部分を解析することにより、当該ヘッダ部分に含まれる情報をヘッダデータとして取得する。
【0013】
タイムスタンプ同期処理部は、同期検出用データに基づいて、ヘッダデータのタイムスタンプデータを補正し、補正したタイムスタンプを付与したタイムスタンプ補正ヘッダデータを取得する。
【0014】
このタイムスタンプ同期データ取得システムでは、第1アンテナにより受信した無線信号である第1無線信号の包絡線データとタイムスタンプの同期(時間の同期)がとれている同期検出用データを簡単な処理(同期検出用データ生成部による処理)により取得する。そして、このタイムスタンプ同期データ取得システムでは、タイムスタンプ同期処理部が、第2アンテナにより受信した無線信号である第2無線信号から取得されるヘッダデータのタイムスタンプ値を同期検出用データのタイムスタンプ値と一致するように、補正することで、タイムスタンプ値が補正された(タイムスタンプ値が同期検出用データのタイムスタンプ値に一致した)ヘッダデータ(TS補正ヘッダデータ)を取得する。このTS補正ヘッダデータは、そのタイムスタンプ値が、同期検出用データのタイムスタンプ値と一致しているので、第1無線信号から取得される包絡線データのタイムスタンプ値とも一致していることが保証される。すなわち、このタイムスタンプ同期データ取得システムでは、上記処理を行うことで、第1無線信号から取得される包絡線データとタイムスタンプの同期がとれている(タイムスタンプ値が一致している)ヘッダデータ(TS補正ヘッダデータ)を取得することができる。
【0015】
したがって、このタイムスタンプ同期データ取得システムでは、第1アンテナで受信した無線信号の包絡線データ(例えば、第1アンテナを搭載したセンサ装置で取得された包絡線データ)と、第2アンテナで受信した無線信号から取得されたヘッダデータ(例えば、無線通信機能付きパーソナルコンピュータ(例えば、市販のPC)により取得されたヘッダデータ9)との間で高精度にタイムスタンプの同期をとることができる。
【0016】
第2の発明は、第1の発明であって、同期検出用データ生成部は、現時刻tにおける第1無線信号のサンプリングデータの信号強度が所定の閾値以上であり、かつ、現時刻tの1つの前のサンプリング時刻t-1における第1無線信号のサンプリングデータの信号強度が所定の閾値よりも小さい場合に、現時刻tに相当するデータを第1無線信号のタイムスタンプとして取得する。
【0017】
これにより、このタイムスタンプ同期データ取得システムでは、第1無線信号の信号強度の変化を監視するという簡単な処理を行うだけで、第1無線信号のタイムスタンプを取得し、同期検出用データを生成することができる。
【0018】
第3の発明は、第1の発明であって、同期検出用データ生成部は、第1無線信号が無線フレームを構成し、当該無線フレームの先頭部分であるプレアンブルに所定のフィールドが設定されている場合、第1無線信号の信号値の相関を調査することで、プレアンブル部分を検出し、検出したプレアンブルの先頭の時刻の情報をタイムスタンプとして取得し、取得したタイムスタンプの時系列データを同期検出用データとして取得する。
【0019】
これにより、このタイムスタンプ同期データ取得システムでは、第1無線信号のプレアンブル部を第1無線信号の信号値の相関(時間方向の相関)を調査するという簡単な処理を行うだけで、第1無線信号の無線フレームの先頭部分のタイムスタンプを取得し、同期検出用データを生成することができる。
【0020】
第4の発明は、第1から第3のいずれかの発明であって、タイムスタンプ同期処理部は、第1FIFO記憶部と、第2FIFO記憶部と、オフセット取得処理部と、オフセット値保持部と、タイムスタンプ補正ヘッダ取得部と、を備える。
【0021】
第1FIFO記憶部は、同期検出用データのサンプルデータをn_fifo個(n_fifo:自然数)記憶保持する。
【0022】
第2FIFO記憶部は、ヘッダデータのタイムスタンプのサンプルデータをn_fifo個記憶保持する。
【0023】
オフセット取得処理部は、第1FIFO記憶部に記憶保持されている同期検出用データのサンプルデータと、第2FIFO記憶部に記憶保持されているヘッダデータのタイムスタンプのサンプルデータとに基づいて、最適オフセット値を取得する。
【0024】
オフセット値保持部は、オフセット取得処理部により、最適オフセット値が取得された場合、出力オフセット値を最適オフセット値に設定し、最適オフセット値に設定した出力オフセット値を記憶保持する。
【0025】
タイムスタンプ補正ヘッダ取得部は、オフセット値保持部により記憶保持されている出力オフセット値により、ヘッダデータのタイムスタンプデータを補正し、補正したタイムスタンプを付与したタイムスタンプ補正ヘッダデータを取得する。
【0026】
これにより、このタイムスタンプ同期データ取得システムでは、第1FIFO記憶部に記憶保持されている同期検出用データのサンプルデータと、第2FIFO記憶部に記憶保持されているヘッダデータのタイムスタンプのサンプルデータとに基づいて取得した最適オフセット値を用いて、ヘッダデータのタイムスタンプデータを補正したタイムスタンプ補正ヘッダデータを取得することができる。
【0027】
第5の発明は、第4の発明であって、
同期検出用データのサンプルデータのタイムスタンプをpi.ts(i:自然数、0≦i<n_fifo)とし、n_fifo個のタイムスタンプpi.tsの集合を{pi.ts}とし、
ヘッダデータのサンプルデータをsi(i:自然数、0≦i<n_fifo)、n_fifo個のサンプルデータsiの集合を{si}とし、サンプルデータsiのタイムスタンプをsi.ts(i:自然数、0≦i<n_fifo)とし、n_fifo個のタイムスタンプsi.tsの集合を{si.ts}とすると、
オフセット取得処理部は、以下の処理を行う。
【0028】
すなわち、オフセット取得処理部は、集合{si}からn_hdr個(n_hdr:自然数、n_hdr<n_fifo)のサンプルデータを選択し、選択したサンプルデータをssj(j:整数、0≦j<n_hdr)とし、その集合を{ssj}として取得し、
集合{pi.ts}に含まれるタイムスタンプと、{ssj}に含まれるサンプルデータssjのタイムスタンプssj.tsとの差を求めることで取得したオフセット値eの集合Eを取得し、集合Eに含まれるオフセット値eをヘッダデータのタイムスタンプのサンプルデータに加算することでタイムスタンプ加算値ssj.ts+eの集合{ssj.ts+e}を取得し、集合{ssj.ts+e}と集合{pi.ts}との積集合の要素数を示す変数cが最大となるときのオフセット値eを最適オフセット値eoptとして取得する。
【0029】
オフセット値保持部は、最適オフセット値eoptを出力オフセット値とする。
【0030】
タイムスタンプ補正ヘッダ取得部は、出力オフセット値により、ヘッダデータのタイムスタンプデータを補正し、補正したタイムスタンプを付与したタイムスタンプ補正ヘッダデータを取得する。
【0031】
これにより、このタイムスタンプ同期データ取得システムでは、第1FIFO記憶部に記憶保持されている同期検出用データのサンプルデータと、第2FIFO記憶部に記憶保持されているヘッダデータのタイムスタンプのサンプルデータとに基づいて取得したオフセット値eの集合Eを用いて、集合{ssj.ts+e}と集合{pi.ts}との積集合の要素数を示す変数cが最大となるときのオフセット値eを最適オフセット値eoptとして取得できる。そして、このタイムスタンプ同期データ取得システムでは、取得した最適オフセット値eoptを用いて、ヘッダデータのタイムスタンプデータを補正したタイムスタンプ補正ヘッダデータを取得することができる。
【0032】
第6の発明は、第5の発明であって、オフセット取得処理部は、
(1)集合{si}から、サンプルデータsiのタイムスタンプが最も新しい時刻を示すものから順にn_hdr個(n_hdr:自然数、n_hdr<n_fifo)のサンプルデータを選択する第1選択処理、
(2)集合{si}から、サンプルデータsiのタイムスタンプが最も新しい時刻を示すデータと最も古い時刻を示すデータの中間にあるn_hdr個(n_hdr:自然数、n_hdr<n_fifo)のサンプルデータを選択する第2選択処理、および、
(3)集合{si}から、サンプルデータsiのタイムスタンプが最も古い時刻を示すものから順にn_hdr個(n_hdr:自然数、n_hdr<n_fifo)のサンプルデータを選択する第3選択処理のいずれかを実行することで、サンプルデータを選択し、選択したサンプルデータをssj(j:整数、0≦j<n_hdr)とし、その集合を{ssj}として取得する。
【0033】
これにより、このタイムスタンプ同期データ取得システムでは、第1選択処理~第3選択処理のいずれかを実行するので、サンプルデータsiよりも要素数が少ないn_hdr個のサンプルデータを用いて、オフセット値eの算出処理ができるため、計算量をn_fifo×n_fifoのオーダからn_fifo×n_hdrのオーダに削減することができる。
【0034】
第7の発明は、第5の発明であって、オフセット取得処理部は、以下の処理を行う。
(1)オフセット取得処理部は、集合{si}から、サンプルデータsiのタイムスタンプが最も新しい時刻を示すものから順にn_hdr個(n_hdr:自然数、n_hdr<n_fifo)のサンプルデータを選択する第1選択処理により選択したサンプルデータを用いて、最適オフセット値eoptを求める処理を実行し、求めた最適オフセット値eoptをD[1].e_optとして保持し、当該最適オフセット値eoptを取得したときの集合{ssj.ts+e}と集合{pi.ts}との積集合の要素数cをD[1].c_maxとして保持する。
(2)オフセット取得処理部は、集合{si}から、サンプルデータsiのタイムスタンプが最も新しい時刻を示すデータと最も古い時刻を示すデータの中間にあるn_hdr個(n_hdr:自然数、n_hdr<n_fifo)のサンプルデータを選択する第2選択処理により選択したサンプルデータを用いて、最適オフセット値eoptを求める処理を実行し、求めた最適オフセット値eoptをD[2].e_optとして保持し、当該最適オフセット値eoptを取得したときの集合{ssj.ts+e}と集合{pi.ts}との積集合の要素数cをD[2].c_maxとして保持する。
(3)オフセット取得処理部は、集合{si}から、サンプルデータsiのタイムスタンプが最も古い時刻を示すものから順にn_hdr個(n_hdr:自然数、n_hdr<n_fifo)のサンプルデータを選択する第3選択処理により選択したサンプルデータを用いて、最適オフセット値eoptを求める処理を実行し、求めた最適オフセット値eoptをD[3].e_optとして保持し、当該最適オフセット値eoptを取得したときの集合{ssj.ts+e}と集合{pi.ts}との積集合の要素数cをD[3].c_maxとして保持する。
【0035】
そして、オフセット取得処理部は、データD[1].c_max、D[2].c_max、および、D[3].c_maxのうち最大値となるデータの引数をk(k:整数、1≦k≦3)とすると、データD[k].e_optを最適オフセット値eoptに設定する。
【0036】
オフセット値保持部は、最適オフセット値eopt(=D[k].e_opt)を出力オフセット値とする。
【0037】
タイムスタンプ補正ヘッダ取得部は、出力オフセット値により、ヘッダデータのタイムスタンプデータを補正し、補正したタイムスタンプを付与したタイムスタンプ補正ヘッダデータを取得する。
【0038】
これにより、第1選択処理~第3選択処理の中で最も精度の高い最適オフセット値を取得できる選択処理により取得された最適オフセット値を用いて、タイムスタンプ補正ヘッダデータを取得することができる。
【0039】
第8の発明は、第1から第7のいずれかの発明であって、センサ装置と、無線通信機能付きパーソナルコンピュータと、センサ装置およびパーソナルコンピュータとネットワークを介して通信可能に接続される無線品質データ解析装置と、を備える。
【0040】
センサ装置は、第1アンテナと、包絡線データ取得部と、同期検出用データ生成部と、を備える。
【0041】
無線通信機能付きパーソナルコンピュータは、第2アンテナと、ヘッダ取得部と、を備える。
【0042】
無線品質データ解析装置は、タイムスタンプ同期処理部を備える。
【0043】
これにより、センサ装置と、無線通信機能付きパーソナルコンピュータと、センサ装置およびパーソナルコンピュータとネットワークを介して通信可能に接続される無線品質データ解析装置と、を備える構成を有するタイムスタンプ同期データ取得システムを実現することができる。
【0044】
第9の発明は、包絡線データ取得ステップと、同期検出用データ生成ステップと、ヘッダ取得ステップと、タイムスタンプ同期処理ステップと、を備えるタイムスタンプ同期データ取得方法である。
【0045】
包絡線データ取得ステップは、無線信号を受信可能な第1アンテナにより受信した無線信号である第1無線信号の包絡線データを取得する。
【0046】
同期検出用データ生成ステップは、第1無線信号の無線フレームの開始時刻を示すタイムスタンプを取得し、取得したタイムスタンプの時系列データを同期検出用データとして取得する。
【0047】
ヘッダ取得ステップは、無線信号を受信可能な第2アンテナにより受信した無線信号である第2無線信号から、当該第2無線信号に含まれる無線フレームのヘッダ部分を解析することにより、当該ヘッダ部分に含まれる情報をヘッダデータとして取得する。
【0048】
タイムスタンプ同期処理ステップは、同期検出用データに基づいて、ヘッダデータのタイムスタンプデータを補正し、補正したタイムスタンプを付与したタイムスタンプ補正ヘッダデータを取得する。
【0049】
これにより、第1の発明と同様の効果を奏するタイムスタンプ同期データ取得方法を実現することができる。
【0050】
第10の発明は、第9の発明であるタイムスタンプ同期データ取得方法をコンピューターに実行させるためのプログラムである。
【0051】
これにより、第1の発明と同様の効果を奏するタイムスタンプ同期データ取得方法コンピューターに実行させるためのプログラムを実現することができる。
【発明の効果】
【0052】
本発明によれば、センサノードで取得された包絡線データと、市販のPCで取得されたヘッダデータと間で、高精度にタイムスタンプの同期をとることができるタイムスタンプ同期データ取得システム、タイムスタンプ同期データ取得方法、および、プログラムを実現することができる。
【図面の簡単な説明】
【0053】
【
図1】第1実施形態に係る無線品質データ可視化システム1000の概略構成図。
【
図2】第1実施形態に係るセンサ装置S_node1、無線通信機能付きパーソナルコンピュータPC1、および、無線品質データ解析装置Ana_node1の概略構成図。
【
図3】第1実施形態に係る無線品質データ解析装置Ana_node1のTS同期処理部の概略構成図。
【
図4】包絡線データの図式表現について説明するための図。
【
図5】同期検出用データ生成処理(第1の処理)を説明するための図。
【
図6】同期検出用データ生成処理(第1の処理)のフローチャート。
【
図7】同期検出用データ生成処理(第2の処理)を説明するための図。
【
図8】ヘッダデータの図式表現について説明するための図。
【
図9】無線品質データ可視化システム1000で実行されるタイムスタンプ同期処理(TS補正ヘッダデータ取得処理)のフローチャート。
【
図10】無線品質データ可視化システム1000で実行されるタイムスタンプ同期処理(TS補正ヘッダデータ取得処理)のフローチャート。
【
図11】無線品質データ可視化システム1000で実行されるタイムスタンプ同期処理(TS補正ヘッダデータ取得処理)のフローチャート。
【
図12】無線品質データ可視化システム1000で実行されるタイムスタンプ同期処理(TS補正ヘッダデータ取得処理)のフローチャート。
【
図13】無線品質データ可視化システム1000で実行されるタイムスタンプ同期処理(TS補正ヘッダデータ取得処理)のフローチャート。
【
図14】データ取得選択処理(第1~第3の選択処理)を説明するための図。
【
図15】データ取得選択処理(第1~第3の選択処理)の選定について説明するための図。
【
図18】包絡線データおよびヘッダデータの可視化処理について説明するための図。
【
図19】第1実施形態の第1変形例のオフセット取得処理のフローチャートである。
【発明を実施するための形態】
【0054】
[第1実施形態]
第1実施形態について、図面を参照しながら、以下、説明する。
【0055】
<1.1:無線品質データ可視化システムの構成>
図1は、第1実施形態に係る無線品質データ可視化システム1000の概略構成図である。
【0056】
図2は、第1実施形態に係るセンサ装置S_node1、無線通信機能付きパーソナルコンピュータPC1、および、無線品質データ解析装置Ana_node1の概略構成図である。
【0057】
図3は、第1実施形態に係る無線品質データ解析装置Ana_node1のTS同期処理部の概略構成図である。
【0058】
無線品質データ可視化システム1000(タイムスタンプ同期データ取得システム)は、
図1に示すように、無線品質データ解析装置Ana_node1と、複数のセンサ装置(
図1では、センサ装置S_node1、センサ装置S_node2、および、センサ装置S_node3)と、1または複数の通信機器(
図1では、通信機器RbtA、通信機器RbtB、および、通信機器RbtC)と、無線通信機能付きパーソナルコンピュータPC1とを備える。
【0059】
なお、説明便宜のため、
図1に示すように、無線品質データ可視化システム1000に、センサ装置S_node1、センサ装置S_node2、および、センサ装置S_node3の3つセンサ装置が含まれ、通信機器RbtA、通信機器RbtB、および、通信機器RbtCの3つの通信機器が含まれる場合について、以下説明する。
【0060】
通信機器RbtA、通信機器RbtB、および、通信機器RbtCは、例えば、狭空間内(例えば、工場内)に設置される。そして、通信機器RbtA、通信機器RbtB、および、通信機器RbtCは、例えば、IEEE802.11a、b、g、n、ac等の無線LAN規格に従い、互いに無線通信を行うことができる。通信機器RbtA、通信機器RbtB、および/または、通信機器RbtCは、例えば、無線通信機能付きの工作機械である。
【0061】
無線品質データ解析装置Ana_node1と、1または複数のセンサ装置とは、無線または有線で接続されており、互いに通信することができる。
【0062】
また、無線品質データ解析装置Ana_node1と無線通信機能付きパーソナルコンピュータPC1、とは、無線または有線で接続されており、互いに通信することができる。
【0063】
(1.1.1:センサ装置)
センサ装置S_node1は、
図2に示すように、アンテナAnt1と、RF処理部11と、同期用時刻管理部12と、IQデータ取得部13と、包絡線データ取得部14と、同期検出用データ生成部15と、第1通信インターフェース16とを備える。
【0064】
アンテナAnt1は、外部から放射(送信)された電波(RF信号)を受信するためのアンテナである。なお、アンテナAnt1は、送受信用アンテナであってもよい。
【0065】
RF処理部11は、アンテナAnt1を介して、外部からRF信号を受信し、受信したRF信号に対して受信用のRF処理(RF復調処理、AD変換等)を実行し、RF処理後の信号Sig0(例えば、ベースバンドOFDM信号)を取得する。そして、RF処理部11は、RF処理後の信号Sig0をIQデータ取得部13に出力する。
【0066】
同期用時刻管理部12は、時間情報(時計情報)を管理しており、当該時間情報(時計情報)に基づいて、IQデータの取得タイミングを決定するための制御信号Ctl_tを生成する。そして、同期用時刻管理部12は、生成した制御信号Ctl_tをIQデータ取得部13に出力する。なお、同期用時刻管理部12は、時間情報をセンサ装置S_node1内に設けられた時計部(不図示)により取得される時間情報に基づいて、上記制御信号Ctl_tを生成するものであってもよく、あるいは、外部装置(例えば、PTP(Precision Time Protocol)等で時間同期した時間情報(時計情報)を保持している外部装置(例えば、無線品質データ解析装置Ana_node1))から他のセンサ装置と同期した時間情報を(例えば、第1通信インターフェース16を介して)取得し、当該時間情報に基づいて、上記制御信号Ctl_tを生成するものであってもよい。
【0067】
IQデータ取得部13は、RF処理部11から出力される信号Sig0と同期用時刻管理部12から出力される制御信号Ctl_tとを入力する。IQデータ取得部13は、制御信号Ctl_tにより決定されるタイミングで、信号Sig0から、I成分信号(同相成分信号)のデータ(I成分データ)と、Q成分信号(直交成分信号)のデータ(Q成分データ)とを取得し、取得したデータをデータD1_IQとして、包絡線データ取得部14および同期検出用データ生成部15に出力する。なお、データD1_IQは、サンプルデータ(時系列データ)から構成されており、データD1_IQのi番目(i:整数)のサンプルデータをdiと表記し、データD1_IQを構成するサンプルデータdiの集合を{di}と表記する。また、データD1_IQのサンプルデータdiのタイムスタンプ(取得時の時間情報)をdi.tsと表記する。なお、IQデータ取得部13は、データD1_IQのサンプルデータdiを取得した時刻の情報を(例えば、同期用時刻管理部12の時間情報に基づいて)タイムスタンプdi.tsとして取得し、取得したタイムスタンプdi.tsをデータD1_IQに含めるものとする。
【0068】
包絡線データ取得部14は、IQデータ取得部13から出力されるデータD1_IQを入力し、データD1_IQから、信号強度の時系列のデータD1_envを取得する。そして、包絡線データ取得部14は、取得したデータD1_envを第1通信インターフェース16に出力する。
【0069】
同期検出用データ生成部15は、IQデータ取得部13から出力されるデータD1_IQを入力する。同期検出用データ生成部15は、データD1_IQに対して同期検出用データ生成処理を実行し、同期検出用データD1_p(属性としてタイムスタンプのみを含む時系列データ)を生成する(詳細については後述)。そして、同期検出用データ生成部15は、生成した同期検出用データD1_pを第1通信インターフェース16に出力する。なお、データD1_pは、サンプルデータ(時系列データ)から構成されており、データD1_pのi番目(i:自然数)のサンプルデータをpiと表記し、データD1_pを構成するサンプルデータpiの集合を{pi}と表記する。また、データD1_pのサンプルデータpiのタイムスタンプ(取得時の時間情報)をpi.tsと表記する。
【0070】
第1通信インターフェース16は、例えば、有線または無線のネットワーク(所定のシリアルバス規格(例えば、USBやPCI Express)等に準拠した通信路を含む)を介して、外部の装置とデータ送受信を行うための通信インターフェースである。第1通信インターフェース16は、包絡線データ取得部14から出力されるデータD1_envと、同期検出用データ生成部15から出力されるデータD1_pとを入力し、入力したデータを有線または無線のネットワークを介して通信できる形式のデータにして無線品質データ解析装置Ana_node1に送信する。なお、データD1_envの送信用データを送信データDtx(D1_env)と表記し、データD1_pの送信用データを送信データDtx(D1_p)と表記し、送信データDtx(D1_env)および送信データDtx(D1_p)をまとめてセンサ装置S_node1の送信データDtx(S_node1)と表記する。
【0071】
センサ装置S_node2、および、センサ装置S_node3は、センサ装置S_node1と同様の構成を有している。
【0072】
(1.1.2:無線通信機能付きパーソナルコンピュータ)
無線通信機能付きパーソナルコンピュータPC1は、
図2に示すように、アンテナAnt_pcと、RF処理部21と、BB処理部22と、ヘッダ取得部23と、第2通信インターフェース24とを備える。無線通信機能付きパーソナルコンピュータPC1は、例えば、無線通信インターフェースを備えた市販のパーソナルコンピュータ(無線通信インターフェースカードを搭載した市販のパーソナルコンピュータ)により実現される。なお、
図2では、無線通信機能付きパーソナルコンピュータPC1において、無線信号のヘッダデータを取得するために必要な機能部のみを示してしている。
【0073】
アンテナAnt_pcは、外部から放射(送信)された電波(RF信号)を受信するためのアンテナである。なお、アンテナAnt_pcは、送受信用アンテナであってもよい。
【0074】
RF処理部21は、アンテナAnt_pcを介して、外部からRF信号を受信し、受信したRF信号に対して受信用のRF処理(RF復調処理、AD変換等)を実行し、RF処理後の信号SigBB(例えば、ベースバンドOFDM信号)を取得する。そして、RF処理部21は、RF処理後の信号SigBBをBB処理部22に出力する。
【0075】
BB処理部22は、RF処理部21から出力されるRF復調信号SigBBに対して、ベースバンド復調処理(例えば、変調方式がOFDMである場合、ガードインターバル(GI)除去処理、FFT変換、デマッピング処理、パラレル/シリアル変換等の処理)を行うことで、ベースバンド復調信号D0を取得する。そして、BB処理部22は、取得したベースバンド復調信号D0をヘッダ取得部23に出力する。
【0076】
ヘッダ取得部23は、BB処理部22から出力されるベースバンド復調信号D0を入力する。ヘッダ取得部23は、ベースバンド復調信号D0に対してヘッダ取得処理を実行し、ヘッダデータを取得する。なお、「ヘッダデータ」とは、無線システム(例えば、IEEE802.11a等)の仕様に基づき復調後のビット列をデコードして得られるフレームの列について、各フレームのヘッダ部分の情報を抽出した時系列データである。
【0077】
そして、ヘッダ取得部23は、取得したヘッダデータを含むデータをデータD2_headとして、第2通信インターフェース24に出力する。
【0078】
第2通信インターフェース24は、例えば、有線または無線のネットワーク(所定のシリアルバス規格(例えば、USBやPCI Express)等に準拠した通信路を含む)を介して、外部の装置とデータ送受信を行うための通信インターフェースである。第2通信インターフェース24は、ヘッダ取得部23から出力されるデータD2_headを入力し、入力したデータを有線または無線のネットワークを介して通信できる形式のデータにして無線品質データ解析装置Ana_node1に送信する。なお、データD2_headの送信用データを送信データDtx(D2_head)と表記し、無線通信機能付きパーソナルコンピュータPC1から無線品質データ解析装置Ana_node1への送信データをDtx(PC1)と表記する。
【0079】
(1.1.3:無線品質データ解析装置)
無線品質データ解析装置Ana_node1は、
図2に示すように、第3通信インターフェース31と、TS同期処理部32と、可視化処理部33と、を備える。
【0080】
第3通信インターフェース31は、例えば、有線または無線のネットワーク(所定のシリアルバス規格(例えば、USBやPCI Express)等に準拠した通信路を含む)を介して、外部の装置とデータ送受信を行うための通信インターフェースである。第3通信インターフェース31は、ネットワークを介して、センサ装置S_node1からの送信データDtx(S_node1)や無線通信機能付きパーソナルコンピュータPC1からの送信データDtx(PC1)を受信する。
【0081】
第3通信インターフェース31は、センサ装置S_node1からの送信データDtx(D1_env)から包絡線データD1_envを抽出し、抽出した包絡線データD1_envを可視化処理部33に出力する。また、第3通信インターフェース31は、センサ装置S_node1からの送信データDtx(D1_p)から同期検出用データD1_pを抽出し、抽出した同期検出用データD1_pをTS同期処理部32に出力する。また、第3通信インターフェース31は、無線通信機能付きパーソナルコンピュータPC1からの送信データDtx(PC1)からヘッダデータD2_headを抽出し、抽出したヘッダデータD2_headをTS同期処理部32に出力する。
【0082】
TS同期処理部32は、
図3に示すように、第1FIFOメモリ321と、第2FIFOメモリ322と、オフセット取得処理部323と、オフセット値保持部324と、TS補正ヘッダデータ取得部325とを備える。
【0083】
第1FIFOメモリ321は、例えば、FIFOメモリ(FIFO:First-In First-Out)を用いて実現される。第1FIFOメモリ321は、第3通信インターフェース31から出力される同期検出用データD1_pを入力し、入力したデータを記憶保持するバッファとして機能する。具体的には、第1FIFOメモリ321は、第3通信インターフェース31から出力される同期検出用データD1_pのサンプルデータを順次入力し(時系列に入力し)、所定の個数のサンプルデータを記憶保持する。そして、第1FIFOメモリ321に記憶されている任意のサンプルデータは、オフセット取得処理部323により読み出すことが可能である。
【0084】
第2FIFOメモリ322は、例えば、FIFOメモリを用いて実現される。第2FIFOメモリ322は、第3通信インターフェース31から出力されるヘッダデータD2_headを入力し、入力したデータを記憶保持するバッファとして機能する。具体的には、第2FIFOメモリ322は、第3通信インターフェース31から出力されるヘッダデータD2_headのサンプルデータを順次入力し(時系列に入力し)、所定の個数のサンプルデータを記憶保持する。そして、第2FIFOメモリ322に記憶されている任意のサンプルデータは、オフセット取得処理部323により読み出すことが可能である。
【0085】
オフセット取得処理部323は、第1FIFOメモリ321、および/または、第2FIFOメモリ322から、任意のタイミングで、任意のサンプルデータを読み出すことができる。そして、オフセット取得処理部323は、第1FIFOメモリ321から読み出した同期検出用データD1_pのサンプルデータと、第2FIFOメモリ322から読み出したヘッダデータD2_headのサンプルデータとを用いて、オフセット算出処理を実行し、オフセット値eoptを算出する(詳細については、後述)。そして、オフセット取得処理部323は、算出したオフセット値eoptを含むデータをデータD_offsetとして、オフセット値保持部324に出力する。
【0086】
オフセット値保持部324は、出力オフセット値eoutを記憶保持する機能部であり、例えば、メモリやレジスタを用いて実現される。オフセット値保持部324は、オフセット取得処理部323からデータD_offsetが入力された場合、データD_offsetに含まれるオフセット値eoptを取得し、取得したオフセット値eoptを出力オフセット値eoutとして記憶保持(出力オフセット値を更新)する。
【0087】
また、オフセット値保持部324は、記憶保持している出力オフセット値eoutをTS補正ヘッダデータ取得部325に出力する。
【0088】
TS補正ヘッダデータ取得部325は、第3通信インターフェース31から出力されるヘッダデータD2_headと、オフセット値保持部324から出力される出力オフセット値eoutとを入力する。TS補正ヘッダデータ取得部325は、ヘッダデータD2_headが入力されるたびに、ヘッダデータD2_headに対して、出力オフセット値eoutによるヘッダデータのタイムスタンプの補正処理(調整処理)を行い、タイムスタンプが補正されたTS補正ヘッダデータD2’_headを取得する。そして、TS補正ヘッダデータ取得部325は、取得したTS補正ヘッダデータD2’_headを可視化処理部33に出力する。
【0089】
可視化処理部33は、第3通信インターフェース31から出力される包絡線データD1_envと、TS同期処理部32から出力されるTS補正ヘッダデータD2’_headとを入力する。そして、可視化処理部33は、包絡線データD1_envと、TS補正ヘッダデータD2’_headとを用いて、タイムスタンプ間の同期がとれている状態の包絡線データとヘッダデータとが、例えば、表示部(不図示)に表示されるように、可視化処理を実行する。
【0090】
<1.2:無線品質データ可視化システムの動作>
以上のように構成された無線品質データ可視化システム1000の動作について、以下、図面を参照しながら説明する。
【0091】
図4は、包絡線データの図式表現について説明するための図である。
【0092】
図5は、同期検出用データ生成処理(第1の処理)を説明するための図である。
【0093】
図6は、同期検出用データ生成処理(第1の処理)のフローチャートである。
【0094】
図7は、同期検出用データ生成処理(第2の処理)を説明するための図である。
【0095】
図8は、ヘッダデータの図式表現について説明するための図である。
【0096】
図9~
図13は、無線品質データ可視化システム1000で実行されるタイムスタンプ同期処理(TS補正ヘッダデータ取得処理)のフローチャートである。
【0097】
図14は、データ取得選択処理(第1~第3の選択処理)を説明するための図である。
【0098】
図15は、データ取得選択処理(第1~第3の選択処理)の選定について説明するための図である。
【0099】
図16は、オフセット取得処理を説明するための図である。
【0100】
図17は、オフセット取得処理を説明するための図である。
【0101】
以下では、説明便宜のため、狭空間(例えば、工場内)に、通信機器RbtA、通信機器RbtB、および、通信機器RbtC、並びに、センサ装置S_node1~S_node3が設置されており、無線通信機能付きパーソナルコンピュータPC1およびセンサ装置S_node1が無線品質データ解析装置Ana_node1に接続されている場合(一例)について説明する。
【0102】
(1.2.1:センサ装置での処理)
まず、センサ装置での処理について、説明する。
【0103】
図1に示すように、センサ装置S_node1~S_node3は、それぞれ、設置された無線通信環境下において、外部(自装置外)から放射(送信)された電波(無線信号)を受信し、受信した無線信号に対して所定の処理を行うことで、例えば、(1)受信した無線信号の信号強度に関するデータ(包絡線データ)、(2)同期検出用データ等を取得する。
【0104】
センサ装置S_node1は、アンテナAnt1により、外部から放射(送信)された電波(RF信号)を受信し、受信したRF信号に対して受信用のRF処理(RF復調処理、AD変換等)を実行し、RF処理後の信号Sig0(例えば、ベースバンドOFDM信号)を取得する。そして、センサ装置S_node1のRF処理部11は、RF処理後の信号Sig0をIQデータ取得部13に出力する。
【0105】
IQデータ取得部13は、同期用時刻管理部12からの制御信号Ctl_tにより決定されるタイミングで、RF処理部11から出力される信号Sig0から、I成分信号(同相成分信号)のデータ(I成分データ)と、Q成分信号(直交成分信号)のデータ(Q成分データ)とを取得し、取得したデータをデータD1_IQとして、包絡線データ取得部14および同期検出用データ生成部15に出力する。
【0106】
包絡線データ取得部14は、IQデータ取得部13から出力されるデータD1_IQから、信号強度の時系列のデータD1_envを取得する。
【0107】
センサ装置S_node1の包絡線データ取得部14は、例えば、
図4に示すように、矩形で表現されたデータ(矩形データ(例えば、
図4のデータD1_env))として、受信した無線信号Sig0(例えば、
図4の上図の信号Sig0)の信号強度に関するデータ(包絡線データD1_env)を取得する。1つのIQサンプル(信号Sigの1サンプルデータに相当)のI成分の値およびQ成分の値を、それぞれ、IおよびQとすると、包絡線データ取得部14は、当該IQサンプルの信号強度Sを、
S=10×log
10(I
2+Q
2)
として取得する。
【0108】
なお、上記の矩形データを取得するために、例えば、特開2019-161290号に開示されている方法を用いてもよい。
【0109】
「矩形データ」は、矩形を特定するデータを含むものであればよく、例えば、(1)開始時点、終了時点、Y軸値(
図4の場合、信号強度値に対応する値)を含むデータや、(2)開始時点、継続時間、Y軸値(
図4の場合、信号強度値に対応する値)を含むデータである。
【0110】
そして、包絡線データ取得部14は、取得したデータD1_envを第1通信インターフェース16に出力する。
【0111】
なお、データD1_envは、サンプルデータ(時系列データ)から構成されており、データD1_envのi番目(i:整数)のサンプルデータをD1_enviと表記し、サンプルデータD1_enviのタイムスタンプ(取得時の時間情報)をD1_envi.tsと表記する。
【0112】
センサ装置S_node1の同期検出用データ生成部15は、IQデータ取得部13から出力されるデータD1_IQに対して同期検出用データ生成処理を実行し、同期検出用データD1_p(属性としてタイムスタンプのみを含む時系列データ)を生成する。この同期検出用データ生成処理について、以下、図面を参照しながら、説明する。
【0113】
(1.2.1.1:同期検出用データ生成処理(第1の処理))
まず、同期検出用データ生成処理(第1の処理)について、
図5、
図6を参照しながら説明する。
【0114】
図5は、IQデータ取得部13から出力されるデータD1_IQのサンプルデータd
iから取得される信号強度d
i.rssを時系列に示した図(一例)である。
【0115】
同期検出用データ生成処理(第1の処理)では、同期検出用データ生成部15が、データD1_IQのサンプルデータdiの信号強度di.rssを、データD1_IQのサンプルデータdiのI成分の値およびQ成分の値を、それぞれ、di.Iおよびdi.Qとすると、
di.rss=10×log10{(di.I)2+(di.Q)2}
として取得する。
【0116】
そして、同期検出用データ生成部15は、現時刻において取得されているデータD1_IQのサンプルデータdiの信号強度di.rssと所定の閾値rss_thとを比較し、さらに、現時刻の1サンプル前の時刻に取得されたデータD1_IQのサンプルデータdi-1の信号強度di-1.rssと所定の閾値rss_thとを比較する。
【0117】
上記比較の結果、
d
i-1.rss<rss_thであり、かつ
d
i.rss≧rss_th
である場合、同期検出用データ生成部15は、現時刻において取得されているデータD1_IQのサンプルデータd
iのタイムスタンプd
i.tsを取得し、取得したタイムスタンプd
i.tsを同期検出用データD1_pのサンプルデータp
jのタイムスタンプp
j.tsとすることで、同期検出用データD1_pを生成する(
図5を参照)。
【0118】
この同期検出用データ生成処理(第1の処理)について、
図6のフローチャートを用いて説明する。
【0119】
(ステップSA1):
ステップSA1において、同期検出用データ生成部15は、初期化処理を行う。具体的には、変数b=0、j=0とする。
【0120】
(ステップSA2):
ステップSA2において、ループ処理(ループ1)が開始される。当該ループ処理は、データD1_IQの各サンプルデータdiに対して、実行される。データD1_IQがサンプルデータd1~dNを含んでいる場合、i=1からi=N(N:自然数)まで、N回ループ処理(ループ1)が実行される。
【0121】
(ステップSA3):
ステップSA3において、同期検出用データ生成部15は、データD1_IQのサンプルデータdiの信号強度di.rssを取得し、サンプルデータdiの信号強度di.rssと閾値rss_thとを比較する。そして、同期検出用データ生成部15は、(1)di.rss≧rss_thである場合、処理をステップSA5に進め(ステップSA3で「Yes」)、(2)di.rss≧rss_thではない場合、処理をステップSA4に進める。
【0122】
(ステップSA4):
ステップSA4において、同期検出用データ生成部15は、変数bの値を「0」に設定し(b=0)、処理をステップSA9に進める。
【0123】
(ステップSA5):
ステップSA5において、同期検出用データ生成部15は、変数bの値が「0」であるか否かの判定を行う。判定の結果、b=0である場合、同期検出用データ生成部15は、処理をステップSA6に進め、b=0ではない場合、処理をステップSA8に進める。
【0124】
(ステップSA6):
ステップSA6において、同期検出用データ生成部15は、現時刻において取得されているデータD1_IQのサンプルデータdiのタイムスタンプdi.tsを取得し、取得したタイムスタンプdi.tsを同期検出用データD1_pのサンプルデータpjのタイムスタンプpj.tsとすることで、同期検出用データD1_pを生成する。つまり、同期検出用データ生成部15は、
pj.ts=di.ts
として、同期検出用データD1_p(サンプルデータpj)を生成し、生成した同期検出用データD1_p(サンプルデータpj)を第1通信インターフェース16に出力する。
【0125】
(ステップSA7):
ステップSA7において、同期検出用データ生成部15は、変数jを+1だけインクリメントする(j=j+1)。
【0126】
(ステップSA8):
ステップSA8において、同期検出用データ生成部15は、変数bの値を「1」に設定し、処理をステップSA9に進める。
【0127】
(ステップSA9):
ステップSA9において、同期検出用データ生成部15は、ループ処理(ループ1)が終了条件を満たしているか否かを判定し、終了条件を満たしていないと判定したときは、処理をステップSA2に戻し、終了条件を満たしていると判定した場合、処理(同期検出用データ生成処理)を終了させる。
【0128】
以上のように、処理することで、同期検出用データ生成部15は、現時刻の1つ前のサンプル時刻のIQサンプルdi-1の信号強度di-1.rssが所定の閾値rss_thよりも小さく、かつ、現時刻のIQサンプルdiの信号強度di.rssが所定の閾値rss_th以上である場合の現時刻のIQサンプルdiのタイムスタンプdi.tsを取得し、当該タイムスタンプdi.tsを同期検出用データpjとして生成することができる(di.ts=pj.ts)。つまり、同期検出用データ生成部15において、上記のように処理することで、無線環境下で送信されている無線信号のタイムスタンプを精度良く、かつ、簡易な処理で取得することができる。
【0129】
以上のようにして取得された同期検出用データD1_pは、同期検出用データ生成部15から第1通信インターフェース16に出力される。
【0130】
(1.2.1.2:同期検出用データ生成処理(第2の処理))
次に、同期検出用データ生成処理(第2の処理)について、
図7を参照しながら説明する。
【0131】
同期検出用データ生成処理(第2の処理)では、無線信号(無線フレーム)のプリアンブル部に含まれるフレーム検出用信号を検出することで、無線信号(無線フレーム)の開始時間のタイムスタンプ(時刻情報)を取得し、取得した当該タイムスタンプを同期検出用データp
jとして生成する。この具体的処理について、無線品質データ可視化システム1000において、
図7に示したIEEE802.11a/gに準拠した無線信号(無線フレーム)が使用される場合(一例)について、説明する。
【0132】
同期検出用データ生成部15は、IQデータ取得部13から出力されるデータD1_IQに含まれるIQサンプル(I成分サンプル、および/または、Q成分サンプル)を用いて、相関関数の値を計算することで、無線フレームの先頭部分の時刻(タイムスタンプ)を取得する。
【0133】
IEEE802.11a/gに準拠した無線フレームは、
図7に示すように、無線フレームの先頭から、(1)STF(Short Training Field)、(2)LTF(Long Training Field)、(3)SIGNALフィールド、(4)DATAフィールドとなるように構成されている。
【0134】
STFには、10個の同一のshort OFDMシンボル(1つのshort OFDMシンボルの期間は0.8μs)が含まれている。
【0135】
LTFには、1個のcyclic prefix(期間は1.6μs)と、2個の同一のlong OFDMシンボル(1つのlong OFDMシンボルの期間は3.2μs)が含まれている。
【0136】
つまり、STFの期間では、繰り返して10個の同一のshort OFDMシンボルが受信され、LTFの期間では、繰り返して2個の同一のshort OFDMシンボルが受信される。したがって、同期検出用データ生成部15は、現時刻のIQサンプル(I成分サンプル、および/または、Q成分サンプル)の値と、所定の時間をずらしたIQサンプル(I成分サンプル、および/または、Q成分サンプル)の値の相関値(相関関数の値)を算出することで、無線フレームの先頭位置(先頭時刻)を特定することができる。なお、相関値の対象とするのは、STFの期間だけでもよいし(STFだけを検出してもよいし)、STFの期間およびLTFの期間でもよい(STFとLTFの両方を検出してもよい)。
【0137】
なお、相関値を算出している期間の各IQサンプル(I成分サンプル、および/または、Q成分サンプル)のタイムスタンプは、同期検出用データ生成部15により保持されているものとする。そして、同期検出用データ生成部15は、無線フレームの先頭位置を特定したときに、当該先頭位置に対応するタイムスタンプを、同期検出用データpjのタイムスタンプpj.tsとする。
【0138】
このように処理することで、同期検出用データ生成部15は、同期検出用データpjのタイムスタンプpj.tsを取得することができる。つまり、同期検出用データ生成部15は、同期検出用データD1_pを取得することができる。
【0139】
そして、上記のようにして取得された同期検出用データD1_pは、同期検出用データ生成部15から第1通信インターフェース16に出力される。
【0140】
第1通信インターフェース16は、包絡線データ取得部14から出力されるデータD1_envと、同期検出用データ生成部15から出力されるデータD1_pとを入力し、入力したデータを有線または無線のネットワークを介して通信できる形式のデータ(Dtx(D1_env)、Dtx(D1_p))にして無線品質データ解析装置Ana_node1に送信する。
【0141】
(1.2.2:無線通信機能付きパーソナルコンピュータPC1での処理)
次に、無線通信機能付きパーソナルコンピュータPC1での処理について、説明する。
【0142】
無線通信機能付きパーソナルコンピュータPC1は、アンテナAnt_pcにより、外部から放射(送信)された電波(RF信号)を受信し、受信したRF信号に対して受信用のRF処理(RF復調処理、AD変換等)を実行し、RF処理後の信号SigBB(例えば、ベースバンドOFDM信号)を取得する。そして、無線通信機能付きパーソナルコンピュータPC1は、RF処理後の信号SigBBをBB処理部22に出力する。
【0143】
BB処理部22は、RF処理部21から出力されるRF復調信号SigBBに対して、ベースバンド復調処理(例えば、変調方式がOFDMである場合、ガードインターバル(GI)除去処理、FFT変換、デマッピング処理、パラレル/シリアル変換等の処理)を行うことで、ベースバンド復調信号D0を取得する。そして、BB処理部22は、取得したベースバンド復調信号D0をヘッダ取得部23に出力する。
【0144】
ヘッダ取得部23は、BB処理部22から出力されるベースバンド復調信号D0に対してヘッダ取得処理を実行し、ヘッダデータ(受信した無線信号に含まれるヘッダ(無線信号を復調して取得される無線フレームのヘッダ)に関する情報(例えば、IEEE802.11a等の仕様に基づく各フレームのヘッダ部分の情報))を取得する。ヘッダ取得部23は、例えば、ソフトウェア処理により(例えば、tcpdump等のプログラム(パケットキャプチャ用のソフトウェア)を実行させることにより)、ヘッダ取得処理を実行し、ヘッダデータを取得してもよい。
【0145】
図8の上図は、無線通信機能付きパーソナルコンピュータPC1で受信した無線信号に対して復調処理を行い取得した信号SigBB(例えば、ベースバンドOFDM信号)の一例をしており、横軸が時間であり、縦軸が振幅(信号値)である。
図8の下図は、
図8の上図と時間軸を一致させて、無線信号から取得した各フレームを矩形で表現した図である。なお、
図8の下図において、1つの矩形が同一のヘッダデータを有しているフレームを表している。
【0146】
フレームのヘッダ部分から抽出可能な代表的な情報として、以下のような情報がある。
(1)送信元MACアドレス
(2)受信先MACアドレス
(3)フレーム長(バイト数)
(4)フレームの種類(Beacon、Data、Ackなど)
(5)再送フラグ
(6)シーケンス番号
(7)データレート(6Mbps,54Mbpsなど)
したがって、無線通信機能付きパーソナルコンピュータPC1のヘッダ取得部23は、フレームのヘッダを解析する処理(例えば、tcpdump等を用いたヘッダ解析処理)を行い、例えば、フレームの開始時点、継続時間、送信元、送信先を含むデータを取得し、取得した当該データに対応する矩形データを取得する。このようにして取得される矩形データの一例を
図8に示す。
【0147】
例えば、ヘッダ取得部23は、
図8の下図の各矩形に対応するヘッダデータ(i番目の無線フレームのヘッダデータをs
iと表記する)を、以下の形式のデータとして取得する。
ヘッダデータs
i:
s
i.type:データのタイプ
s
i.s2d:送信元→送信先の情報
s
i.ts:タイムスタンプ(無線フレームの開始時刻)
s
i.dur:無線フレームの継続時間
s
i.hd:無線フレームのヘッダ部分から抽出した情報(送信元MACアドレス等)
なお、無線通信機能付きパーソナルコンピュータPC1は、時計部(不図示)を有しており、無線フレームの開始時刻の時間(時刻)を時計部により取得し、取得した当該時間(時刻)を当該無線フレーム(ヘッダデータs
i)のタイムスタンプ(s
i.ts)に設定する。
【0148】
また、s
i.s2dは、「送信元→送信先」という表記で示している。この表記により、例えば、
図8の1番目のフレーム(S
1)と2番目のフレーム(S
2)がノードAからノードBへのデータ((A->B)と表記)であり、
図8の3番目のフレーム(S
3)がノードBからノードAへのACK((B->A)と表記)であることが分かる。
【0149】
ヘッダ取得部23は、上記のようにしてヘッダデータD1_head(データsi)を取得し、取得したヘッダデータD1_headを第2通信インターフェース24に出力する。
【0150】
第2通信インターフェース24は、ヘッダ取得部23から出力されるデータD2_headを入力し、入力したデータを有線または無線のネットワークを介して通信できる形式のデータDtx(D2_head)にして無線品質データ解析装置Ana_node1に送信する。
【0151】
(1.2.3:無線品質データ解析装置Ana_node1での処理)
次に、無線品質データ解析装置Ana_node1での処理について、説明する。
【0152】
無線品質データ解析装置Ana_node1の第3通信インターフェース31は、ネットワーク(所定のシリアルバス規格(例えば、USBやPCI Express)等に準拠した通信路を含む)を介して、センサ装置S_node1からの送信データDtx(D1_env)およびDtx(D1_p)と、無線通信機能付きパーソナルコンピュータPC1からの送信データDtx(D2_head)とを受信する。
【0153】
第3通信インターフェース31は、センサ装置S_node1からの送信データDtx(D1_env)から包絡線データD1_envを抽出し、抽出した包絡線データD1_envを可視化処理部33に出力する。また、第3通信インターフェース31は、センサ装置S_node1からの送信データDtx(D1_p)から同期検出用データD1_pを抽出し、抽出した同期検出用データD1_pをTS同期処理部32に出力する。また、第3通信インターフェース31は、無線通信機能付きパーソナルコンピュータPC1からの送信データDtx(PC1)からヘッダデータD2_headを抽出し、抽出したヘッダデータD2_headをTS同期処理部32に出力する。
【0154】
TS同期処理部32の第1FIFOメモリ321は、第3通信インターフェース31から出力される同期検出用データD1_pのサンプルデータpiを順次入力し(時系列に入力し)、所定の個数のサンプルデータを記憶保持する。なお、第1FIFOメモリ321は、n_fifo個(n_fifo:自然数)のサンプルデータを記憶するFIFOメモリであるものとする。したがって、第1FIFOメモリ321は、同期検出用データD1_pのサンプルデータpiをn_fifo個記憶保持している状態において、同期検出用データD1_pのサンプルデータpiが入力された場合、最も古いサンプルデータを破棄し、入力されたサンプルデータpi(最新のサンプルデータpi)を記憶保持する。
【0155】
TS同期処理部32の第2FIFOメモリ322は、第3通信インターフェース31から出力されるヘッダデータD1_headのサンプルデータsiを順次入力し(時系列に入力し)、所定の個数のサンプルデータを記憶保持する。なお、第2FIFOメモリ322は、n_fifo個(n_fifo:自然数)のサンプルデータを記憶するFIFOメモリであるものとする。したがって、第2FIFOメモリ322は、ヘッダデータD2_headのサンプルデータsiをn_fifo個記憶保持している状態において、ヘッダデータD2_headのサンプルデータsiが入力された場合、最も古いサンプルデータを破棄し、入力されたサンプルデータsi(最新のサンプルデータsi)を記憶保持する。
【0156】
以下、TS同期処理部32で実行されるオフセット取得処理について、
図9~
図13のフローチャートを参照しながら説明する。オフセット取得処理は、例えば、所定の周期T(例えば、T=10秒)で実行される。
【0157】
(ステップS1):
ステップS1において、オフセット取得処理部323は、第1FIFO321と第2FIFO322とにともにn_fifo個のデータが保持されているか否かを判定する。そして、第1FIFO321と第2FIFO322とにともにn_fifo個のデータが保持されていると判定された場合(ステップS1において「Yes」)、処理をステップS2に進め、第1FIFO321および第2FIFO322のいずれか、あるいは両方にn_fifo個のデータが保持されていないと判定された場合(ステップS1において「No」)、処理を終了させる(開始させない)。
【0158】
(ステップS2):
ステップS2において、データ取得選択処理が実行される。データ取得選択処理は、ステップS201~S203の処理を含む。
【0159】
(ステップS201):
ステップS201において、オフセット値保持部324は、第1FIFO321からn_fifo個のデータを、同期検出用データpi(i:整数、0≦i<n_fifo)として取得する。なお、取得したn_fifo個の同期検出用データpiは、タイムスタンプの値pi.tsの昇順で整列されているものとする。また、同期検出用データのサンプルデータpiの集合データを{pi}と表記する。
【0160】
(ステップS202):
ステップS202において、オフセット値保持部324は、第2FIFO322からn_fifo個のデータを、ヘッダデータsi(i:整数、0≦i<n_fifo)として取得する。なお、取得したn_fifo個のヘッダデータsiは、タイムスタンプの値si.tsの昇順で整列されているものとする。また、ヘッダデータのサンプルデータsiの集合データを{si}と表記する。
【0161】
(ステップS203):
ステップS203において、オフセット値保持部324は、ステップS202で取得したn_fifo個のヘッダデータsiからn_hdr個のデータを選択し、選択したn_hdr個のデータをssi(i:整数、0≦i<n_hdr)とする。なお、選択したヘッダデータのサンプルデータssiの集合データを{ssi}と表記する。
【0162】
オフセット値保持部324は、n_fifo個のヘッダデータs
iからn_hdr個のデータを選択する処理を、下記の3つの方法(処理)のいずれかにより実行する。
(1)第1の選択処理
オフセット値保持部324は、n_fifo-n_hdr≦j<n_fifoを満たすサンプルデータs
jをサンプルデータss
i(0≦i<n_hdr)として選択する。
ss
i=s
n_fifo-n_hdr+i
なお、
図14の上図に、n_fifo=10、n_hdr=3の場合において、第1の選択処理で選択されるサンプルデータss
i(ss
0~ss
2)を示している。
(2)第2の選択処理
オフセット値保持部324は、Int(n_fifo/2―n_hdr/2)≦j<Int(n_fifo/2+n_hdr/2)を満たすサンプルデータs
jをサンプルデータss
i(0≦i<n_hdr)として選択する。
ss
i=s
Int(n_fifo/2-n_hdr/2)+i
Int(x):x以下の最大の整数を返す関数
なお、
図14の中図に、n_fifo=10、n_hdr=3の場合において、第2の選択処理で選択されるサンプルデータss
i(ss
0~ss
2)を示している。
(3)第3の選択処理
オフセット値保持部324は、0≦j<n_hdrを満たすサンプルデータs
iをサンプルデータss
i(0≦i<n_hdr)として選択する。
ss
i=s
n_fifo-n_hdr+i
なお、
図14の下図に、n_fifo=10、n_hdr=3の場合において、第3選択処理で選択されるサンプルデータss
i(ss
0~ss
2)を示している。
【0163】
上記選択処理を行うことで、オフセット取得処理の計算量を抑えることができる。オフセット取得処理では、計算量がn_fifo×n_hdrのオーダーに依存するが、上記選択処理により、n_hdrをn_fifoよりも小さい値とすることで、オフセット取得処理の演算量を抑えることができる。
【0164】
なお、上記の3つの選択処理のうち、どの選択処理を選択するかは、センサ装置S_node1、無線通信機能付きパーソナルコンピュータPC1、および、無線品質データ解析装置Ana_node1の性能により決定することが好ましい。また、無線通信機能付きパーソナルコンピュータPC1でのヘッダ取得処理(ソフトウェア処理)の特性に応じて、上記の3つの選択処理のうち、どの選択処理を選択するかを決定してもよい。例えば、tcpdump等のプログラム(パケットキャプチャ用のソフトウェア)を実行させてヘッダ取得処理を行う場合、無線通信機能付きパーソナルコンピュータPC1が無線信号を頻繁に受信している場合は、パケット解析結果が頻繁に出力される。その結果、無線通信機能付きパーソナルコンピュータPC1から無線品質データ解析装置Ana_node1へ送信されるまでの遅延が少ない。一方、無線通信機能付きパーソナルコンピュータPC1が無線信号をあまり受信していない場合は、パケット解析結果が長期にわたってバッファリングされ頻繁には出力されない。その結果、無線通信機能付きパーソナルコンピュータPC1から無線品質データ解析装置Ana_node1へ送信されるまでの遅延が大きくなる。このような状況を考慮して、上記の3つの選択処理のうち、どの選択処理を選択するかを決定してもよい。
【0165】
(1)TS同期処理部32への到達時間について、同期検出用データD1_pと、ヘッダデータD2_headとの遅延差がない、または、微小である場合、
図15の上図に示すように、期間T1において、同期検出用データD1_pを取得した無線信号の波形と、ヘッダデータD2_headを取得した無線信号の波形とが略一致していると予測できるので、第1~第3の選択処理のいずれの選択処理を選んでも、オフセット取得処理部323は、適切にオフセット取得処理を実行できるサンプルデータss
i(0≦i<n_hdr)を取得できる。なお、この場合、最新データを選択する第1の選択処理を選択することが好ましい。
【0166】
(2)TS同期処理部32への到達時間について、同期検出用データD1_pがヘッダデータD2_headに対して少し遅延している場合、
図15の中図に示すように、同期検出用データD1_pを取得した無線信号の波形がヘッダデータD2_headを取得した無線信号の波形に対して少し遅延していると予測できるので、期間T2に含まれるサンプルデータを選択する第2または第3の選択処理を選択すれば、オフセット取得処理部323は、適切にオフセット取得処理を実行できるサンプルデータss
i(0≦i<n_hdr)を取得できる。
【0167】
(3)TS同期処理部32への到達時間について、同期検出用データD1_pがヘッダデータD2_headに対して大きく遅延している場合、
図15の下図に示すように、同期検出用データD1_pを取得した無線信号の波形がヘッダデータD2_headを取得した無線信号の波形に対して大きく遅延していると予測できるので、期間T3に含まれるサンプルデータを選択する第3の選択処理を選択すれば、オフセット取得処理部323は、適切にオフセット取得処理を実行できるサンプルデータss
i(0≦i<n_hdr)を取得できる。
【0168】
オフセット値保持部324は、上記選択処理を実行した後、処理をステップS3に進める。
【0169】
(ステップS3):
ステップS3において、オフセット算出処理が実行される。オフセット算出処理は、ステップS301~S318の処理を含む。
【0170】
(ステップS301):
ステップS301において、オフセット取得処理部323は、同期検出用データのサンプルデータpiのタイムスタンプpi.ts用の集合Pを初期化し(集合Pを空集合とし)、オフセット値e用の集合Eを初期化する(集合Eを空集合とする)。
【0171】
(ステップS302):
ステップS302において、ループ処理(ループ1)が開始される。当該ループ処理は、i=0からi=n_fifo-1まで、iを+1ずつインクリメントしながら、n_fifo回繰り返し実行される。
【0172】
(ステップS303):
ステップS303において、オフセット取得処理部323は、第1FIFO321から同期検出用データのサンプルデータpiのタイムスタンプpi.tsを読み出し、当該タイムスタンプpi.tsを集合Pに追加する。つまり、オフセット取得処理部323は、
P←P∪{pi.ts}
に相当する処理を実行する。
【0173】
(ステップS304):
ステップS304において、ループ処理(ループ11)が開始される。当該ループ処理は、j=0からj=n_hdr-1まで、jを+1ずつインクリメントしながら、n_hdr回繰り返し実行される。
【0174】
(ステップS305、S306):
ステップS305において、オフセット取得処理部323は、
e=pi.ts-ssj.ts
pi.ts:同期検出用データのサンプルデータpiのタイムスタンプの値
ssj.ts:選択処理により選択されたヘッダデータのサンプルデータssiのタイムスタンプの値
に相当する処理を実行し、オフセット値e(オフセット値の候補)を算出する。
【0175】
そして、オフセット取得処理部323は、上記により算出したオフセット値e(オフセット値の候補)を集合Eに追加する。すなわち、オフセット取得処理部323は、
E←E∪{e}
に相当する処理を実行する(ステップS306)。
【0176】
(ステップS307):
ステップS307において、オフセット取得処理部323は、ループ処理(ループ11)が終了条件を満たしているか否かを判定し、終了条件を満たしていないと判定したときは、処理をステップS304に戻し、終了条件を満たしていると判定した場合、処理をステップS308に進める。
【0177】
(ステップS308):
ステップS308において、オフセット取得処理部323は、ループ処理(ループ1)が終了条件を満たしているか否かを判定し、終了条件を満たしていないと判定したときは、処理をステップS302に戻し、終了条件を満たしていると判定した場合、処理をステップS309に進める。
【0178】
(ステップS309):
ステップS309において、オフセット取得処理部323は、変数cmaxおよび変数eoptの初期化処理を行う(cmax=0、eopt=0)。
【0179】
(ステップS310):
ステップS310において、ループ処理(ループ2)が開始される。当該ループ処理は、集合Eに含まれる各eについて、実行される。
【0180】
(ステップS311):
ステップS311において、オフセット取得処理部323は、変数cの初期化処理を行う(c=0)。
【0181】
(ステップS312):
ステップS312において、ループ処理(ループ21)が開始される。当該ループ処理は、j=0からi=n_hdr-1まで、iを+1ずつインクリメントしながら、n_hdr回繰り返し実行される。
【0182】
(ステップS313、S314):
ステップS313において、オフセット取得処理部323は、ssj.ts+eの値を算出し、算出した値(ssj.ts+eの値)が、集合Pに含まれるか否かを判定する。ssj.ts+eの値が集合Pに含まれると判定された場合(ステップS313で「Yes」)、オフセット取得処理部323は、変数cの値を+1インクリメントし(ステップS314)、一方、ssj.ts+eの値が集合Pに含まれないと判定された場合(ステップS313で「No」)、オフセット取得処理部323は、処理をステップS315に進める。
【0183】
(ステップS315):
ステップS315において、オフセット取得処理部323は、ループ処理(ループ21)が終了条件を満たしているか否かを判定し、終了条件を満たしていないと判定したときは、処理をステップS312に戻し、終了条件を満たしていると判定した場合、処理をステップS316に進める。
【0184】
(ステップS316、S317):
ステップS316において、オフセット取得処理部323は、値cmaxと値cとの比較処理を行う。(1)cmax<cである場合(ステップS316で「Yes」)、オフセット取得処理部323は、
cmax=c
eopt=e
とし、(2)cmax<cではない場合(ステップS316で「No」)、オフセット取得処理部323は、処理をステップS318に進める。
【0185】
(ステップS318):
ステップS318において、オフセット取得処理部323は、ループ処理(ループ2)が終了条件を満たしているか否かを判定し、終了条件を満たしていないと判定したときは、処理をステップS310に戻し、終了条件を満たしていると判定した場合、処理をステップS4に進める。
【0186】
(ステップS4):
ステップS4において、オフセット更新処理が実行される。オフセット更新処理は、ステップS401~S402の処理を含む。
【0187】
(ステップS401):
ステップS401において、オフセット取得処理部323は、所定の閾値c_thと値cmaxとの比較処理を行う。c_th≦cmaxである場合(ステップS401で「Yes」)、オフセット取得処理部323は、処理をステップS402に進め、c_th≦cmaxではない場合(ステップS401で「No」)、オフセット取得処理部323は、オフセット取得処理を終了させる。
【0188】
(ステップS402):
ステップS402において、オフセット取得処理部323は、オフセット値eoptをオフセット値保持部324に出力する。オフセット値保持部324は、オフセット取得処理部323からオフセット値eoptを入力すると、記憶保持している出力オフセット値eout(初期値は0)をオフセット値eoptとする(オフセット値eoptに更新する)。
【0189】
以上のように、TS同期処理部32により、オフセット取得処理が実行される。そして、TS同期処理部32のオフセット値保持部324は、記憶保持している出力オフセット値eoutをTS補正ヘッダデータ取得部325に出力する。
【0190】
TS補正ヘッダデータ取得部325は、第3通信インターフェース31から出力されるヘッダデータD2_headと、オフセット値保持部324から出力される出力オフセット値eoutとを入力する。そして、TS補正ヘッダデータ取得部325は、ヘッダデータD2_headが入力されるたびに、ヘッダデータD2_headに対して、出力オフセット値eoutによるヘッダデータのタイムスタンプの補正処理(調整処理)を行う。具体的には、TS補正ヘッダデータ取得部325は、
si’.ts=si.ts+eout
に相当する処理を実行して、ヘッダデータD2_headのサンプルデータsiのタイムスタンプsi.tsに出力オフセット値eoutを加算した値をTS補正ヘッダデータD2’_headのサンプルデータsi’のタイムスタンプsi’.tsとする。
【0191】
このようにして取得したTS補正ヘッダデータD2’_headが、TS補正ヘッダデータ取得部325から可視化処理部33に出力される。
【0192】
≪具体例による説明≫
ここで、具体例を挙げて、上記処理(TS同期処理(オフセット取得処理、TS補正ヘッダ取得処理))について、説明する。
【0193】
図16に示すように、同期検出用データpiのタイムスタンプp
i.tsの集合データ{p
i.ts}、および、データ取得選択処理で選択されたヘッダデータD2_headのサンプルデータss
iのタイムスタンプss
i.tsの集合データ{ss
i.ts}が、
{p
i.ts}={0,3,10,11,14,17,19}
{ss
i.ts}={0,1,4,7}
である場合について、説明する。なお、タイムスタンプは、説明便宜上、整数値により表されているものとする。また、n_fifo=7、n_hdr=4とする。
【0194】
図16の左図は、オフセット算出処理のステップS302~S308において、取得される同期検出用データのサンプルデータp
iのタイムスタンプの値の集合データP、オフセット値の候補e、および、eの集合データEを示している。
【0195】
具体的には、
図16の左図に示すように、オフセット算出処理のステップS302~S308において、i=0の処理では、同期検出用データのサンプルデータp
iのタイムスタンプの値の集合データP={0}であり、オフセット値の候補eは、
j=0のとき、e=p
i.ts-ss
j.ts=0-0=0
j=1のとき、e=p
i.ts-ss
j.ts=0-1=-1
j=2のとき、e=p
i.ts-ss
j.ts=0-4=-4
j=3のとき、e=p
i.ts-ss
j.ts=0-7=-7
であり、i=0、j=n_hdr-1の時点で、
E={0,-1,-4,-7}
となる。なお、集合Eには、ループ11処理において、jがインクリメントされる度に、データeが集合Eに追加されるが、
図16の左図では、ループ11処理で取得されるeを、説明便宜のために、集合{e}(={0,-1,-4,-7})として示している。
【0196】
また、オフセット算出処理のステップS302~S308において、i=1の処理では、同期検出用データのサンプルデータp
iのタイムスタンプの値の集合データP={0,3}であり、オフセット値の候補eは、
j=0のとき、e=p
i.ts-ss
j.ts=3-0=3
j=1のとき、e=p
i.ts-ss
j.ts=3-1=2
j=2のとき、e=p
i.ts-ss
j.ts=3-4=-1
j=3のとき、e=p
i.ts-ss
j.ts=3-7=-4
であり、i=1、j=n_hdr-1の時点で、
E={0,-1,-4,-7}∪{3,2,-1,-4}
={0,-1,-4,-7,3,2}
となる。なお、集合Eには、ループ11処理において、jがインクリメントされる度に、データeが集合Eに追加されるが、
図16の左図では、ループ11処理で取得されるeを、説明便宜のために、集合{e}(={3,2,-1,-4})として示している。
【0197】
また、オフセット算出処理のステップS302~S308において、i=n_fifo-1(=6)の処理では、同期検出用データのサンプルデータp
iのタイムスタンプの値の集合データP={0,3、10,11,14,17,19}であり、オフセット値の候補eは、
j=0のとき、e=p
i.ts-ss
j.ts=19-0=19
j=1のとき、e=p
i.ts-ss
j.ts=19-1=18
j=2のとき、e=p
i.ts-ss
j.ts=19-4=15
j=3のとき、e=p
i.ts-ss
j.ts=19-7=12
であり、i=n_fifo-1、j=n_hdr-1の時点で、
E=E∪{19,18,15,12}
={0,-1,-4,-7,3,2,10,9,6,11,7,4,14,13,17,16,19,18,15,12}
となる。なお、集合Eには、ループ11処理において、jがインクリメントされる度に、データeが集合Eに追加されるが、
図16の左図では、ループ11処理で取得されるeを、説明便宜のために、集合{e}(={19,18,15,12})として示している。
【0198】
そして、オフセット算出処理のステップS309~S318の処理が実行され、
c
max=4
e
opt=10
と算出される。つまり、
図16の右図に示すように、オフセット値eを「10」(=e
opt)としたときに、集合Pと集合{ss
i.ts+e}との積集合の要素数(c=4)が最大となる。すなわち、
図16の右図に示すように、オフセット値eを「10」(=e
opt)としたとき、集合{ss
i.ts+e}の4つのデータが、集合Pに含まれるデータと一致する(4つのデータが一致する)。
【0199】
図17に、オフセット算出処理のループ2処理(ステップS310~S318)において、集合Eの各要素eについての値c、値c
max、値e
optの算出結果を示す。
図17の算出結果から分かるように、e=10のとき、値cが最大値をとるので、ループ2処理が完了すると、
c
max=4
e
opt=10
が取得される(
図16の右図、
図17の右図の状態)。
【0200】
このように、TS同期処理(オフセット取得処理、TS補正ヘッダ取得処理)において、TS同期処理部32は、同期検出用データのサンプルデータp
iのタイムスタンプ値p
i.tsと、データ取得選択処理により選択されたヘッダデータD2_headのサンプルデータss
iのタイムスタンプ値とのオフセット(差分値)eを求め、オフセット値の候補とし、当該オフセット値の候補の集合Eを取得する。そして、TS同期処理部32は、オフセット値の候補の集合Eに含まれるオフセット値分だけ、ヘッダデータD2_headのサンプルデータss
iのタイムスタンプ値ss
i.tsをずらしたときに(オフセット値eを加算したときに)、最も多くのヘッダデータD2_headのサンプルデータss
iのタイムスタンプ値ss
i.tsと、同期検出用データのサンプルデータp
iのタイムスタンプ値p
i.tsとが一致するときのオフセット値eを最適オフセット値e
optとする(
図16の右図、
図17の右図の状態)。つまり、TS同期処理部32は、集合P(集合{p
i.ts})と集合{ss
i.ts+e}との積集合の要素数が最も多くなるときのeを最適オフセット値e
optとする。
【0201】
そして、TS同期処理部32は、最適オフセット値eoptで、オフセット値保持部324に記憶保持されている出力オフセット値eoutを更新する(eout=eopt)。
【0202】
そして、TS補正ヘッダデータ取得部325が、ヘッダデータD2_headのサンプルデータsiのタイムスタンプ値si.tsを出力オフセット値eoutにより補正することで、同期検出用データのサンプルデータpiのタイムスタンプ値pi.tsと一致したタイムスタンプ値を有するTS補正ヘッダデータD2’_head(サンプルデータs’i、タイムスタンプ値s’i.ts)を取得することができる。
【0203】
可視化処理部33は、第3通信インターフェース31から出力される包絡線データD1_envと、TS同期処理部32から出力されるTS補正ヘッダデータD2’_headとを入力する。そして、可視化処理部33は、包絡線データD1_envと、TS補正ヘッダデータD2’_headとを用いて、タイムスタンプ間の同期がとれている状態の包絡線データとヘッダデータとが、例えば、表示部(不図示)に表示されるように、可視化処理を実行する。これにより、タイムスタンプ間の同期がとれている状態の包絡線データとヘッダデータとを、例えば、表示装置に表示させることができ、当該表示装置の表示を確認、解析等することで、ユーザーが無線環境の無線品質の詳細を把握することが可能となる。
【0204】
例えば、
図18の下図に示すように、無線品質データ可視化システム1000において、可視化処理部33が、包絡線データD1_envおよびTS補正ヘッダデータD2’_headとを時間軸を一致させて表示することで、タイムスタンプ間の同期がとれている状態の包絡線データとヘッダデータとを表示させることができる。つまり、
図18の上図に示すように、無線品質データ可視化システム1000では、包絡線データD1_envのタイムスタンプ値(D1_env
i.ts)と時間同期している(同一タイムスタンプ値を有する)同期検出用データD1_pのタイムスタンプ値(p
i.ts)と、ヘッダデータD2_headのタイムスタンプ値(s
i.ts)との出力オフセット値e
outを取得する。そして、無線品質データ可視化システム1000では、取得した出力オフセット値e
outでヘッダデータD2_headのタイムスタンプ値を補正することで、そのタイムスタンプ値が包絡線データD1_envのタイムスタンプ値と略一致しているTS補正ヘッダデータD2’_headを取得することができる。そして、無線品質データ可視化システム1000の可視化処理部33において、
図18の下図に示すように、タイムスタンプ値に基づいて、時系列に、包絡線データD1_envとTS補正ヘッダデータD2’_headを表示させることで、タイムスタンプ間の同期がとれている状態の包絡線データとヘッダデータ(補正ヘッダデータ)とを表示させることができる。
【0205】
以上のように、無線品質データ可視化システム1000では、センサ装置S_node1で取得される包絡線データと、無線通信機能付きパーソナルコンピュータPC1(例えば、市販のPC)で取得されたヘッダデータとの間で高精度にタイムスタンプの同期をとることができる。
【0206】
つまり、無線品質データ可視化システム1000では、センサ装置S_node1で取得される包絡線データとタイムスタンプの同期(時間の同期)がとれている同期検出用データを簡単な処理(同期検出用データ生成処理)により取得する。そして、無線品質データ可視化システム1000では、無線通信機能付きパーソナルコンピュータPC1で取得されるヘッダデータのタイムスタンプ値を同期検出用データのタイムスタンプ値と一致するように、補正することで、タイムスタンプ値が補正された(タイムスタンプ値が同期検出用データのタイムスタンプ値に一致した)ヘッダデータ(TS補正ヘッダデータ)を取得する。このTS補正ヘッダデータは、そのタイムスタンプ値が、同期検出用データのタイムスタンプ値と一致しているので、センサ装置S_node1で取得される包絡線データのタイムスタンプ値とも一致していることが保証される。すなわち、無線品質データ可視化システム1000では、上記処理を行うことで、センサ装置S_node1で取得される包絡線データとタイムスタンプの同期がとれている(タイムスタンプ値が一致している)ヘッダデータ(TS補正ヘッダデータ)を取得することができる。
【0207】
したがって、無線品質データ可視化システム1000では、センサ装置S_node1で取得される包絡線データと、無線通信機能付きパーソナルコンピュータPC1(例えば、市販のPC)で取得されたヘッダデータとの間で高精度にタイムスタンプの同期をとることができる。
【0208】
なお、上記では、センサ装置がセンサ装置S_node1である場合について説明したが、これに限定されることはなく、センサ装置は、センサ装置S_node1以外のセンサ装置であってもよい。また、無線品質データ可視化システム1000において、1つのセンサ装置に限らず、複数のセンサ装置と、無線通信機能付きパーソナルコンピュータPC1とを無線品質データ解析装置Ana_node1に接続して、上記処理(TS同期処理、可視化処理)を行うようにしてもよい。
【0209】
≪第1変形例≫
次に、第1実施形態の第1変形例について、説明する。
【0210】
本変形例では、TS同期処理部32で実行されるオフセット取得処理が第1実施形態と異なる。それ以外については、第1実施形態と同様である。なお、上記実施形態と同様の部分については、同一符号を付し、詳細な説明を省略する。
【0211】
図19は、第1実施形態の第1変形例のオフセット取得処理のフローチャートである。
【0212】
【0213】
第1実施形態では、ステップS2のデータ取得選択処理において、第1~第3の選択処理のうちのいずれか1つを選択して処理が実行されていたが、本変形例のTS同期処理部32では、
図19に示すように、第1~第3の選択処理のそれぞれを選択したデータ取得選択処理を並列に実行する。
【0214】
(ステップS1):
ステップS1において、第1実施形態のステップS1と同様の処理が実行され、ステップS1の判定結果が「No」である場合、オフセット取得処理を終了させ、ステップS1の判定結果が「Yes」である場合、処理をステップS2A、S2B、S2Cに進める。
【0215】
そして、(1)ステップS2A、S3A、S31Aの処理、(2)ステップS2B、S3B、S31Bの処理、および、(3)ステップS2C、S3C、S31Cの処理が並列に実行される。
【0216】
(ステップS2A):
ステップS2Aにおいて、TS同期処理部32は、第1の選択処理を選択して、第1実施形態のステップS2と同様の処理を実行する。
【0217】
(ステップS3A):
ステップS3Aにおいて、TS同期処理部32は、第1実施形態のステップS3と同様の処理(オフセット算出処理)を実行する。
【0218】
(ステップS31A):
ステップS31Aにおいて、TS同期処理部32は、ステップS3Aのオフセット算出処理で取得した値cmaxを値D[1].c_maxに代入し(D[1].c_max=cmax)、ステップS3Aのオフセット算出処理で取得した値eoptを値D[1].e_optに代入する(D[1].e_opt=eopt)。
【0219】
(ステップS2B):
ステップS2Bにおいて、TS同期処理部32は、第2の選択処理を選択して、第1実施形態のステップS2と同様の処理を実行する。
【0220】
(ステップS3B):
ステップS3Bにおいて、TS同期処理部32は、第1実施形態のステップS3と同様の処理(オフセット算出処理)を実行する。
【0221】
(ステップS31B):
ステップS31Bにおいて、TS同期処理部32は、ステップS3Bのオフセット算出処理で取得した値cmaxを値D[2].c_maxに代入し(D[2].c_max=cmax)、ステップS3Bのオフセット算出処理で取得した値eoptを値D[2].e_optに代入する(D[2].e_opt=eopt)。
【0222】
(ステップS2C):
ステップS2Cにおいて、TS同期処理部32は、第3の選択処理を選択して、第1実施形態のステップS2と同様の処理を実行する。
【0223】
(ステップS3C):
ステップS3Cにおいて、TS同期処理部32は、第1実施形態のステップS3と同様の処理(オフセット算出処理)を実行する。
【0224】
(ステップS31C):
ステップS31Cにおいて、TS同期処理部32は、ステップS3Cのオフセット算出処理で取得した値cmaxを値D[3].c_maxに代入し(D[3].c_max=cmax)、ステップS3Cのオフセット算出処理で取得した値eoptを値D[3].e_optに代入する(D[3].e_opt=eopt)。
【0225】
(ステップS32):
ステップS32において、TS同期処理部32は、
cmax=max(D[1].c_max,D[2].c_max,D[3].c_max)
max();要素の中で最大値を取得する関数
に相当する処理を実行する。
【0226】
また、TS同期処理部32は、
eopt=D[k].e_opt
k=argmax(max(D[1].c_max,D[2].c_max,D[3].c_max))
に相当する処理を実行する。
【0227】
つまり、TS同期処理部32は、D[1].c_max,D[2].c_max,D[3].c_maxの中で最大値をとる値をcmaxとし、そのデータの引数がkである場合、eoptにD[k].e_optを代入する。例えば、D[1].c_max,D[2].c_max,D[3].c_maxの中で最大値をとる値がD[2].c_maxである場合(k=2)、TS同期処理部32は、eopt=D[2].e_opt(k=2)とする。
【0228】
これにより、第1~第3の選択処理を選択して、データ取得選択処理、オフセット算出処理を行ったときに、最も大きな値をとるcmaxが取得されたときのeoptの値を、オフセット更新処理で使用するオフセット値eoptとすることができる。
【0229】
(ステップS4):
ステップS4において、TS同期処理部32は、ステップS32で取得された値cmax、および、オフセット値eoptを用いて、第1実施形態のステップS4(オフセット更新処理)と同様の処理を実行する。
【0230】
以上のように、本変形例の無線品質データ可視化システムでは、TS同期処理部32において第1~第3の選択処理のそれぞれを選択したデータ取得選択処理を並列に実行し、オフセット算出処理を行い、最も大きな値をとるcmaxが取得されたときのオフセット値eoptを用いて、TS補正ヘッダデータを取得する。したがって、本変形例の無線品質データ可視化システムでは、センサ装置S_node1、無線通信機能付きパーソナルコンピュータPC1、および、無線品質データ解析装置Ana_node1の性能等がどのようなものであっても高精度に、TS同期処理(オフセット取得処理、TS補正ヘッダデータ取得処理)を実行することができる。
【0231】
なお、本変形例では、
図19に示すように、(1)ステップS2A、S3A、S31Aの処理、(2)ステップS2B、S3B、S31Bの処理、および、(3)ステップS2C、S3C、S31Cの処理が並列に実行される場合について説明したが、これに限定されることはなく、無線品質データ可視化システムにおいて、(1)ステップS2A、S3A、S31Aの処理、(2)ステップS2B、S3B、S31Bの処理、および、(3)ステップS2C、S3C、S31Cの処理を直列に実行し、その後、ステップS32、S4の処理が実行されるものであってもよい。
【0232】
[他の実施形態]
上記実施形態(変形例を含む)では、無線品質データ可視化システム1000が
図1の構成の場合を例に説明したが、無線品質データ可視化システムの構成(ネットワークのトポロジー等を含む)は、上記(
図1等)に限定されるものではなく、センサ装置の位置、数等は、無線通信機能付きパーソナルコンピュータの位置、数、無線品質データ解析装置Ana_node1の位置、数等は、上記以外のものであってもよい。また、上記では、センサ装置が、通信機器とは別個に存在している場合について説明したが、これに限定されることはなく、例えば、通信機器がセンサ装置を含む、あるいは、付加されたものであってもよい。また、上記実施形態(変形例を含む)の無線品質データ可視化システムの機能が正常に実現される場合、センサ装置、無線通信機能付きパーソナルコンピュータPC1、無線品質データ解析装置Ana_node1の一部の機能部を上記で示した装置以外の装置に含めて、無線品質データ可視化システムを実現するようにしてもよい。
【0233】
また、上記実施形態(変形例を含む)で説明した無線品質データ可視化システム、センサ装置、無線通信機能付きパーソナルコンピュータPC1、無線品質データ解析装置Ana_node1において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
【0234】
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0235】
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0236】
また、上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
【0237】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
【0238】
また、例えば、上記実施形態(変形例を含む)の各機能部を、ソフトウェアにより実現する場合、
図20に示したハードウェア構成(例えば、CPU、ROM、RAM、入力部、出力部等をバスBusにより接続したハードウェア構成)を用いて、各機能部をソフトウェア処理により実現するようにしてもよい。
【0239】
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
【0240】
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。
【0241】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【0242】
また、上記実施形態(変形例を含む)において、「同じ」は、概ね同じであることを含む概念である。「同時」は、概ね同時であることを含む概念である。「一致」は、概ね一致していることを含む概念である。
【0243】
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
【符号の説明】
【0244】
1000 無線品質データ可視化システム
S_node1 センサ装置
PC1 無線通信機能付きパーソナルコンピュータ
Ana_node1 無線品質データ解析装置
Ant1 アンテナ(第1アンテナ)
Ant_pc アンテナ(第2アンテナ)
14 包絡線データ取得部
15 同期検出用データ生成部
23 ヘッダ取得処理部
32 TS同期処理部
321 第1FIFO
322 第2FIFO
323 オフセット取得処理部
324 オフセット値保持部
325 TS補正ヘッダ取得部