(57)【要約】      （修正有）【課題】各受信ノードにおける時刻情報の個体差を補償する。【解決手段】第１及び第２の受信ノードが受信した第１及び第２の受信信号系列のうち、第２の受信信号系列の時間軸のスケールを時間伸縮率で伸縮しながら第１の受信信号系列との相関値を算出し、第２の受信信号系列を時間軸上で時間オフセットだけオフセットして相関値が最大値になる時間伸縮率及び時間オフセットを決定し、相関値が最大値になる時間伸縮率と時間オフセットを第２の受信信号系列の時刻情報に適用することで、第１及び第２の受信信号系列の夫々が持つ１つ１つのパケット同士を比較し、各パケットの送信開始時刻、パケット長、及び信号強度が類似するパケット同士を１対１で紐付け、最大値になる相関値が閾値を超えている場合に、紐付けられたパケットは第１及び第２の受信ノードが同一の送信源から受信した電波の受信信号系列であると判定した電波同定結果を出力する。【選択図】図５
2020141316.tif 000002
【特許請求の範囲】
【請求項１】
第１の受信ノードが受信した第１の受信信号系列と、第２の受信ノードが受信した第２の受信信号系列のうち、前記第２の受信信号系列の時間軸のスケールを時間伸縮率で伸縮しながら前記第１の受信信号系列との相関値を算出し、前記第２の受信信号系列を時間軸上で時間オフセットだけオフセットして前記相関値が最大値になる前記時間伸縮率及び前記時間オフセットを決定する決定手段と、
前記相関値が最大値になる前記時間伸縮率と前記時間オフセットを前記第２の受信信号系列の時刻情報に適用することで、前記第１の受信信号系列及び前記第２の受信信号系列の夫々が持つ１つ１つのパケット同士を比較し、各パケットの送信開始時刻、パケット長、及び信号強度が類似するパケット同士を１対１で紐付ける紐付け手段と、
前記最大値になる前記相関値が閾値を超えている場合に、紐付けられたパケットは前記第１及び第２の受信ノードが同一の送信源から受信した電波の受信信号系列であると判定した電波同定結果を出力する判定手段と、
を備えたことを特徴とする、電波同定装置。
【請求項２】
前記第２の受信信号系列の先頭データと末尾データの時刻情報が、前記第１の受信信号系列の先頭データと末尾データの時刻情報より常にガード時間以上広くなるようなクリッピングタイミングで前記第１の受信信号系列及び前記第２の受信信号系列をクリッピングする抽出手段を更に備え、
前記決定手段は、前記抽出手段が抽出した受信信号系列から前記相関値が最大値になる前記時間伸縮率及び前記時間オフセットを決定する
ことを特徴とする、請求項１記載の電波同定装置。
【請求項３】
前記紐付け手段は、紐付け候補のパケットの受信順が異なっている場合、又は、複数のパケットに重複紐付けが発生している場合に、揺さぶりを行い、パケットの順番は入れ替わらないというルールを適用してパケットの紐付けの誤りを訂正し、
前記揺さぶりは、前記紐付け候補のパケットを時間軸上で一定範囲だけ振って微調整することで、パケットの紐付けの誤りを訂正する
ことを特徴とする、請求項１又は２記載の電波同定装置。
【請求項４】
第１の受信ノードが受信した第１の受信信号系列と、第２の受信ノードが受信した第２の受信信号系列のうち、前記第２の受信信号系列の時間軸のスケールを時間伸縮率で伸縮しながら前記第１の受信信号系列との相関値を算出し、前記第２の受信信号系列を時間軸上で時間オフセットだけオフセットして前記相関値が最大値になる前記時間伸縮率及び前記時間オフセットを決定し、
前記相関値が最大値になる前記時間伸縮率と前記時間オフセットを前記第２の受信信号系列の時刻情報に適用することで、前記第１の受信信号系列及び前記第２の受信信号系列の夫々が持つ１つ１つのパケット同士を比較し、各パケットの送信開始時刻、パケット長、及び信号強度が類似するパケット同士を１対１で紐付け、
前記最大値になる前記相関値が閾値を超えている場合に、紐付けられたパケットは前記第１及び第２の受信ノードが同一の送信源から受信した電波の受信信号系列であると判定した電波同定結果を出力する、
処理をコンピュータが実行することを特徴とする、電波同定方法。
【請求項５】
受信した第１の受信信号系列を出力する第１の受信ノードと、
前記第１の受信ノードとは異なる場所に設置され、前記第１の受信ノードの内部時計とは独立した内部時計を有し、受信した第２の受信信号系列を出力する第２の受信ノードと、
前記第１の受信信号系列及び前記第２の受信信号系列に基づいて電波同定結果を出力する電波同定装置と、
前記電波同定結果に基づいて、前記第１及び第２の受信ノードの場所毎の電波の受信信号強度とトラフィックのレベルを色で表現したヒートマップを作成する装置と、
を備え、
前記電波同定装置は、
前記第２の受信信号系列の時間軸のスケールを時間伸縮率で伸縮しながら前記第１の受信信号系列との相関値を算出し、前記第２の受信信号系列を時間軸上で時間オフセットだけオフセットして前記相関値が最大値になる前記時間伸縮率及び前記時間オフセットを決定する決定手段と、
前記相関値が最大値になる前記時間伸縮率と前記時間オフセットを前記第２の受信信号系列の時刻情報に適用することで、前記第１の受信信号系列及び前記第２の受信信号系列の夫々が持つ１つ１つのパケット同士を比較し、各パケットの送信開始時刻、パケット長、及び信号強度が類似するパケット同士を１対１で紐付ける紐付け手段と、
前記最大値になる前記相関値が閾値を超えている場合に、紐付けられたパケットは前記第１及び第２の受信ノードが同一の送信源から受信した電波の受信信号系列であると判定した電波同定結果を出力する判定手段と、
を有することを特徴とする、電波環境可視化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電波同定装置、電波同定方法及び電波環境可視化システムに関する。
【背景技術】
【０００２】
例えば、無線システムを新規に構築する際には、干渉や妨害等を既存の無線システムに与えたり、既存の無線システムから受けたりしないことを確認するために、電波の利用状況を事前に調査する。また、無線システムを運用中に、通信不達や不具合が発生した際にも、不具合の原因を特定するために電波の利用状況を調査する。
【０００３】
電波の利用状況を調査するために、電波の利用状況を可視化する電波環境可視化技術が提案されている。電波環境可視化技術を活用することで、場所毎の電波の受信信号強度（ＲＳＳＩ：Received  Signal  Strength  Indicator）やトラフィックのレベルを例えば色で表現したヒートマップを作成することができる。また、送信局の位置情報やＩＤ情報をヒートマップ上に表示することで、周辺の電波環境の調査や不具合の原因特定に活用できる。
【０００４】
ヒートマップを作成するためには、空間的に離れた複数の場所に受信ノードを設置し、各受信ノードで受信された電波（例えば、パケット)の夫々が同一の送信局から送信されたものであるか否かを判定したり、送信局の位置を推定したりする。各受信ノードで受信された電波が同一の送信局から送信されたものであるか否かを判定する処理とは、例えば複数の異なる受信ノードで受信された同一の電波を同定する処理である。
【０００５】
しかし、複数の場所に個別に設置された各受信ノードの内部時計は、互いに独立しているため、複数の受信ノードの内部時計が受信電波に付与する時刻情報（例えば、タイムスタンプ）には差分が発生して一致しない。このため、複数の受信ノードで測定されたＲＳＳＩの時系列データを用いて複数の電波を関連付けることは困難である。
【０００６】
時刻情報に差分が発生する仕組みを図１及び図２と共に説明する。図１は、電波環境可視化システムの一例を示す図である。図１に示す電波環境可視化システム１は、送信局２と、受信ノード３Ａ，３Ｂと、サーバ４とを有する。この例では、TIMETXは送信局２における送信時刻情報、Dist#1は送信局２と受信ノード３Ａとの間の距離、TIMERX#1は受信ノード３Ａにおける受信時刻情報、TIMERX#2は受信ノード３Ｂにおける受信時刻情報、Dist#2は送信局２と受信ノード３Ｂとの間の距離を示す。また、TIME#1は、受信ノード３Ａが出力した受信時刻情報、TIME#2は受信ノード３Ｂが出力した受信時刻情報を示す。ここで、光速をｃで表すと、ｃ(TIMERX#1−TIMETX)＝Dist#1，ｃ(TIMERX#2−TIMETX)＝Dist#2なる関係が成り立つ。しかし、個々の受信ノード３Ａ，３Ｂの処理速度等に差があることから、TIMERX#1≠TIME#1、且つ、TIMERX#2≠TIME#2である。
【０００７】
図２は、上記の如きタイムスタンプの差分が発生するメカニズムを説明する図である。図２は、正解受信信号と正解受信時刻TIMERX#1,TIMERX#2、受信ノード３Ａの受信時刻情報（以下、「タイムスタンプ」とも言う）TIME#1、受信ノード３ＢのタイムスタンプTIME#2、及びサーバ４に届いた受信ノード３Ａ，３Ｂの信号を示す。図２中、ｔは正解受信時刻、ｔＡは受信ノード３Ａにおける時刻、ｔＢは受信ノード３Ｂにおける時刻、及びｔＳはサーバ４における時刻を、夫々同じ任意単位の時間軸で示す。図２において、受信ノード３Ａ，３Ｂの互いに独立した内部時計が決定するパケット受信時刻の決定結果には差分が発生する。このため、同一の信号に付与されたタイムスタンプTIME#1,  TIME#2と、実際に当該信号が受信された時刻TIMERX#1,  TIMERX#2との間に、例えば１０−３ppmオーダの誤差が生じる。この結果、サーバ４に届いた信号の時刻情報に差分が発生する。そこで、このようなメカニズムで発生するタイムスタンプの差分を吸収して補償することが望ましい。
【０００８】
複数の時刻同期していない受信機において、基準となる送信機から送信された信号の受信フレームから生成したテンプレート波形データと、実際の受信波形データの相関値が最大になる点を求めるシステムが提案されている（例えば、特許文献１参照）。この提案されているシステムでは、実際の受信波形データの相関値が最大になるときのタイムスタンプを記録して、各受信機における受信時間差を求める。更に、受信機より上位の位置計算機で送信機の位置を推定し、複数の送受信機に対しても同様にして位置を推定する。しかし、この提案されているシステムは、送信機の測位を目的とした構成を有する。このため、各受信機で受信された信号同士を同定できるような高い精度で時刻情報を同期させる機能は有していない。つまり、各受信機から上位の位置計算機までの異なる距離に応じた異なる遅延が生じるため、位置計算機は、例えば各受信機で受信されたパケット同士を紐付けできるような高い精度でタイムスタンプの個体差を補償することはできない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１４−０８５２０５号公報
【特許文献２】特開平１１−３０８６５８号公報
【特許文献３】特開２０１４−０４５２８３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従来技術では、各受信ノードにおける時刻情報の個体差を補償することは難しい。
【００１１】
そこで、１つの側面では、各受信ノードにおける時刻情報の個体差を補償することができる電波同定装置、電波同定方法及び電波環境可視化システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
１つの案によれば、第１の受信ノードが受信した第１の受信信号系列と、第２の受信ノードが受信した第２の受信信号系列のうち、前記第２の受信信号系列の時間軸のスケールを時間伸縮率で伸縮しながら前記第１の受信信号系列との相関値を算出し、前記第２の受信信号系列を時間軸上で時間オフセットだけオフセットして前記相関値が最大値になる前記時間伸縮率及び前記時間オフセットを決定する決定手段と、前記相関値が最大値になる前記時間伸縮率と前記時間オフセットを前記第２の受信信号系列の時刻情報に適用することで、前記第１の受信信号系列及び前記第２の受信信号系列の夫々が持つ１つ１つのパケット同士を比較し、各パケットの送信開始時刻、パケット長、及び信号強度が類似するパケット同士を１対１で紐付ける紐付け手段と、前記最大値になる前記相関値が閾値を超えている場合に、紐付けられたパケットは前記第１及び第２の受信ノードが同一の送信源から受信した電波の受信信号系列であると判定した電波同定結果を出力する判定手段と、を備えた電波同定装置が提供される。
【発明の効果】
【００１３】
一態様によれば、各受信ノードにおける時刻情報の個体差を補償することができる。
【図面の簡単な説明】
【００１４】
【図１】電波環境可視化システムの一例を示す図である。
【図２】タイムスタンプの差分が発生するメカニズムを説明する図である。
【図３】第１実施例における電波環境可視化システムの一例を示す図である。
【図４】パーソナルコンピュータのハードウェア構成の一例を示すブロック図である。
【図５】第１実施例における電波同定処理の一例を説明するフローチャートである。
【図６】ログデータ読込処理の一例を説明するフローチャートである。
【図７】ログデータクリッピング処理の一例を説明するフローチャートである。
【図８】ログデータクリッピング処理を４つのケースについて説明する図である。
【図９】ログデータ相関算出処理の一例を説明するフローチャート（その１）である。
【図１０】ログデータ相関算出処理の一例を説明するフローチャート（その２）である。
【図１１】伸縮率とオフセット決定処理の一例を説明するフローチャートである。
【図１２】タイムスタンプの個体差の補償を説明する図である。
【図１３】パケット紐付け処理の一例を説明するフローチャートである。
【図１４】正常なパケットの紐付け結果の一例を説明する図である。
【図１５】誤った結果を含むパケットの紐付け結果の一例を説明する図である。
【図１６】パケットの紐付け誤りの訂正を説明する図である。
【図１７】電波同定結果出力処理の一例を説明するフローチャートである。
【図１８】第２実施例における電波環境可視化システムの一例を示す図である。
【図１９】第２実施例における電波同定処理の一例を説明するフローチャートである。
【図２０】ＩＤ組付け結果出力処理の一例を説明するフローチャートである。
【図２１】第３実施例における電波環境可視化システムの一例を示す図である。
【図２２】第３実施例における電波同定処理の一例を説明するフローチャートである。
【図２３】電波環境可視化処理の一例を説明するフローチャートである。
【図２４】ヒートマップの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下に、開示の電波同定装置、電波同定方法及び電波環境可視化システムの各実施例を図面と共に説明する。
【実施例】
【００１６】
（第１実施例）
図３は、第１実施例における電波環境可視化システムの一例を示す図である。図３に示す電波環境可視化システム１１−１は、送信局１２と、受信モジュール１３−１，１３−２と、サーバ１４と、パーソナルコンピュータ（ＰＣ：Personal  Computer）１５を有する。送信局１２は、送信源の一例であり、信号系列のパケット等をアンテナを介して無線送信する周知の構成を有し、例えば周知の送信機により形成可能である。各受信モジュール１３−１，１３−２は、受信ノードの一例であり、送信局１２から送信された信号系列のパケット等をアンテナを介して無線受信する周知の構成を有し、例えば内部時計を有する周知の受信機により形成可能である。この例では、受信モジュール１３−１は、受信信号系列のパケットから測定した受信信号強度ＲＳＳＩ１と、受信信号系列から検出した送信局１２のＩＤ情報とを、時刻情報と共にサーバ１４に送信する機能を備えた周知のＷｉ−Ｆｉ（登録商標）モジュールである。Ｗｉ−Ｆｉモジュールは、受信信号系列のパケットから周知の方法で受信信号強度ＲＳＳＩ１を測定し、受信信号系列パケットから周知の方法で送信局１２のＩＤ情報（以下、単に「ＩＤ」とも言う）を検出する。一方、受信モジュール１３−２は、受信信号系列のパケットから周知の方法で測定した受信信号強度ＲＳＳＩ２を、時刻情報と共にサーバ１４に送信する機能を備えた周知のＳＤＲ（Software  Defined  Radio）モジュールである。
【００１７】
ＳＤＲモジュールは、Ｗｉ−Ｆｉ以外の規格の信号も受信して分析できる。このため、受信モジュールにＷｉ−ＦｉモジュールとＳＤＲモジュールの２種類の受信モジュールを用いることで、例えばＷｉ−Ｆｉモジュールの受信信号に干渉や妨害がある場合、ＳＤＲモジュールの受信信号を用いて干渉や妨害の原因を特定できる。しかし、電波環境可視化システムが有する複数の受信モジュールは、異なる種類の受信モジュールに限定されず、同一種類の受信モジュールであっても良い。
【００１８】
サーバ１４は、受信モジュール１３−１からの受信信号強度ＲＳＳＩ１、ＩＤ、及び時刻情報と、受信モジュール１３−２からの受信信号強度ＲＳＳＩ２及び時刻情報とを受信可能な汎用コンピュータであり、サーバ１４の構成は特に限定されない。この例では、サーバ１４は、電波同定装置の一例を形成可能である。ＰＣ１５は、例えばコマンド（Command）をサーバ１４へ送信し、サーバ１４から後述する電波同定結果、ＩＤ紐付け結果等を受信可能であれば、ＰＣ１５の構成は特に限定されない。ＰＣ１５が発行するコマンドは、後述する電波同定処理、電波環境可視化処理等を要求するコマンド等を含む。
【００１９】
図４は、ＰＣのハードウェア構成の一例を示すブロック図である。図４に示すＰＣ１５は、バス１５６により接続されたＣＰＵ（Central  Processing  Unit）１５１、メモリ１５２、インタフェース（Ｉ／Ｆ）１５３、入力装置１５４、及び表示装置１５５を有する。ＣＰＵ１５１は、ＰＣ１５全体の制御を司るプロセッサの一例である。ＣＰＵ１５１は、メモリ１５２に格納されたプログラムを実行して、各種処理を実行可能である。後述するように、ＣＰＵ１５１が実行する各種処理は、電波同定処理、電波環境可視化処理等を含む。メモリ１５２は、ＣＰＵ１５１が実行するプログラム、及びログデータを含む各種データを記憶する記憶装置の一例である。記憶装置は、ＣＤ−ＲＯＭ（Compact  Disk-Read  Only  Memory）、ＤＶＤ（Digital  Versatile  Disk）、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等であっても良い。また、記憶装置は、プログラムを記憶したコンピュータ読み取り可能な記憶媒体であっても良い。更に、記憶装置は、複数の記憶装置で形成されていても良く、この場合、ＰＣ１５に外部接続された記憶装置を含んでも良い。
【００２０】
Ｉ／Ｆ１５３は、ＰＣ１５とサーバ１４との間の情報やコマンド等の授受を司る。入力装置１５４は、ＰＣ１５の操作者が操作するキーボード等で形成可能であり、ＰＣ１５に情報やコマンド等を入力するのに用いられる。表示装置１５５は、操作者に対してメッセージや処理結果等を表示するのに用いられる。表示装置１５５が表示する処理結果は、電波同定結果や、電波環境可視化結果の一例であるＲＳＳＩのヒートマップ等を含んでも良い。なお、入力装置１５４と表示装置１５５とが一体的に設けられたタッチパネルを用いても良い。
【００２１】
サーバ１４の構成は、図４に示すＰＣ１５の構成と同様であっても良いため、サーバ１４の構成の図示及び説明は省略する。サーバ１４のＣＰＵが実行する各種処理は、電波同定処理等を含む。
【００２２】
図５は、第１実施例における電波同定処理の一例を説明するフローチャートである。図５に示す電波同定処理は、ＰＣ１５からの電波同定処理を要求するコマンドに応答して、サーバ１４のＣＰＵが、サーバ１４のメモリが記憶するプログラムを実行することで実行可能である。ＰＣ１５は、操作者による入力装置１５４の操作に応答して、電波同定処理を要求するコマンドを発行する。サーバ１４のメモリは、ファイル、配列、変数等も格納する。
【００２３】
図５において、ステップＳ１では、サーバ１４のＣＰＵが、受信モジュール１３−１，１３−２のログデータを読み込むログデータ読込処理を行う。サーバ１４のＣＰＵは、受信モジュール１３−１から受信した受信信号強度ＲＳＳＩ１、ＩＤ、及び時刻情報と、受信モジュール１３−２から受信した受信信号強度ＲＳＳＩ２及び時刻情報とを、夫々のログデータとしてサーバ１４のメモリに格納する。
【００２４】
図６は、ログデータ読込処理の一例を説明するフローチャートである。図６において、ステップＳ１１では、サーバ１４のＣＰＵが、サーバ１４のメモリに格納された受信モジュール１３−１のログデータファイルを開ける（以下「オープンする」とも言う）。ステップＳ１２では、サーバ１４のＣＰＵが、受信モジュール１３−１のログデータファイルを配列RS1に格納する。図６の右側上部に示すように、配列RS1には、例えば時、分、及び秒を表すタイムスタンプ(hh:mm:ss)、パケット長(μsec)、及びＲＳＳＩ(dBm)が、各パケットのインデックスRS1-1〜RS1-M（Mは２以上の自然数）に対して格納されている。タイムスタンプは、受信モジュールの内部時計が周知の方法で受信電波に付与する時刻情報の一例である。ステップＳ１３では、サーバ１４のＣＰＵが、配列RS1のパケット数Mを変数NumPktRS1に格納する。
【００２５】
ステップＳ１４では、サーバ１４のＣＰＵが、受信モジュール１３−２のログデータファイルをオープンする。ステップＳ１５では、サーバ１４のＣＰＵが、受信モジュール１３−２のログデータファイルを配列RS2に格納する。図６の右側中部に示すように、配列RS2には、タイムスタンプ、パケット長、及びＲＳＳＩが、各インデックスRS2-1〜RS2-Mに対して格納されている。ステップＳ１６では、サーバ１４のＣＰＵが、配列RS2のパケット数Mを変数NumPktRS2に格納する。
【００２６】
ステップＳ１７では、サーバ１４のＣＰＵが、動作設定ファイルをオープンする。図６の右側下部に便宜上一部を示すように、動作設定ファイルは、ＲＳＳＩの差を補償するためのＲＳＳＩのオフセットRSSI_Offset(dB)、時間軸のスケールを伸縮すると共に時間軸上のオフセットを加えるためのガード時間Guard_Time(sec)等を含む。この例では、動作設定ファイルは、時間オフセットtoffsetの最小値t_begin(sec)、時間オフセットtoffsetの最大値t_end(sec)、及びループ回数num_t（回）を含む。また、動作設定ファイルは、時間伸縮率（以下、単に「伸縮率」とも言う）ｋの最小値k_begin、伸縮率ｋの最大値k_end、ループ回数num_k（回）、ＲＳＳＩのオフセットRSSI_Offset(dB)、ガード時間Guard_Time(sec)等を含む。動作設定ファイルは更に、パケット間相関算出用の過去のサーチウィンドウの時間長search_window_past(sec)、及びパケット間相関算出用の未来のサーチウィンドウの時間長search_window_future(sec)を含む。動作設定ファイルは、相関算出用の相関器のタイプを指定するタイプcorrelator_type、及びパケット間相関算出用の重み係数w1,  w2,  w3を含む。ループ回数num_tは、時間オフセットtoffsetをループ変数としたループ処理を実行する回数を示す。ループ回数num_kは、伸縮率ｋをループ変数としたループ処理を実行する回数を示す。過去のサーチウィンドウの時間長search_window_past(sec)は、過去のどこまで遡ってサーチ対象の範囲にするかを示す。未来のサーチウィンドウの時間長search_window_future(sec)は、未来のどこまでをサーチ対象の範囲にするかを示す。重み係数w1はタイムスタンプ用、重み係数w2はパケット長用、重み係数w3はＲＳＳＩ用である。ステップＳ１８では、サーバ１４のＣＰＵが、動作設定ファイルの情報を配列SetDに格納する。ステップＳ１９では、サーバ１４のＣＰＵが、配列SetDの内容を動作設定ファイルのオフセットRSSI_Offset、ガード時間Guard_Time等のローカル変数に代入し、処理は図５に示す電波同定処理に戻ってステップＳ２の処理へ進む。
【００２７】
このように、サーバ１４のＣＰＵは、ステップＳ１のログデータ読込処理を実行することで、サーバ１４のメモリから受信モジュール１３−１，１３−２のログデータを読み込む読込手段として機能する。
【００２８】
図５において、ステップＳ２では、サーバ１４のＣＰＵが、受信モジュール１３−１，１３−２のログデータをガード時間Guard_Timeを含めてクリッピングしてタイムスタンプの頭出しをするログデータクリッピング処理を行う。ガード時間Guard_Timeは、後述するタイムスタンプの時間軸のスケールの伸縮と、時間軸上のオフセットを行う際のマージンとして用いられる。図７は、ログデータクリッピング処理の一例を説明するフローチャートである。図７において、ステップＳ２１では、サーバ１４のＣＰＵが、配列RS1のデータと配列RS2のデータのクリッピングタイミングを抽出する。具体的には、例えば受信モジュール１３−２に届いた先頭データと末尾データのタイムスタンプが、受信モジュール１３−１に届いた先頭データと末尾データのタイムスタンプより常にガード時間Guard_Time以上広くなるようなクリッピングタイミングを抽出する。ステップＳ２２では、サーバ１４のＣＰＵが、配列RS1のデータを対応するクリッピングタイミングでクリッピングして新たな配列NewRS1に格納する。ステップＳ２３では、サーバ１４のＣＰＵが、配列RS2のデータを対応するクリッピングタイミングでクリッピングして新たな配列NewRS2に格納する。ステップＳ２４では、サーバ１４のＣＰＵが、配列NewRS1のパケット数を変数NumPktNewRS1に格納する。ステップＳ２５では、サーバ１４のＣＰＵが、配列NewRS2のパケット数を変数NumPktNewRS2に格納する。ステップＳ２６では、サーバ１４のＣＰＵが、配列NewRS2のパケット開始時刻を変数NewRS2_Startに格納する。ステップＳ２７では、サーバ１４のＣＰＵが、配列NewRS2のパケット終了時刻を変数NewRS2_Stopに格納する。ステップＳ２８では、サーバ１４のＣＰＵが、変数NewRS2_Startと変数NewRS2_Stopをマージする。
【００２９】
図８は、ログデータクリッピング処理を４つのケースについて説明する図である。図８では、受信信号系列のデータストリーム長をハッチングで示す。ログデータクリッピング処理は、例えば受信モジュール１３−２に届いた先頭データと末尾データのタイムスタンプが、受信モジュール１３−１に届いた先頭データと末尾データのタイムスタンプより常にガード時間Guard_Time(sec)以上広くなるようにデータを切り取る。図８では便宜上、配列RS1のデータのタイムスタンプをTSRS1で示し、配列RS2のデータのタイムスタンプをTSRS2で示す。
【００３０】
図８中、（ａ）に示すケースＩでは、配列RS1の先頭データのタイムスタンプが、配列RS2の先頭データのタイムスタンプより遅く、配列RS1の末尾データのタイムスタンプが、配列RS2の末尾データのタイムスタンプより早い。このケースＩでは、クリッピングされた配列RS1のタイムスタンプは、クリッピング前のタイムスタンプと同じである。一方、クリッピングされた配列RS2のタイムスタンプは、クリッピング前と比べると、先頭データのタイムスタンプが遅く、末尾データのタイムスタンプが早い。また、クリッピングされた配列RS2のタイムスタンプは、クリッピングされた配列RS1のタイムスタンプと比べると、先頭データがガード時間Guard_Timeだけ早く、末尾データがガード時間Guard_Timeだけ遅い。
【００３１】
図８中、（ｂ）に示すケースＩＩでは、配列RS1先頭データと末尾データのタイムスタンプが、配列RS2の先頭データと末尾データのタイムスタンプより夫々早い。このケースＩＩでは、クリッピングされた配列RS1のタイムスタンプは、クリッピング前と比べると、先頭データのタイムスタンプが遅い。一方、クリッピングされた配列RS2のタイムスタンプは、クリッピング前と比べると、末尾データのタイムスタンプが早い。また、クリッピングされた配列RS2のタイムスタンプは、クリッピングされた配列RS1のタイムスタンプと比べると、先頭データがガード時間Guard_Timeだけ早く、末尾データがガード時間Guard_Timeだけ遅い。
【００３２】
図８中、（ｃ）に示すケースＩＩＩでは、配列RS1先頭データと末尾データのタイムスタンプが、配列RS2の先頭データと末尾データのタイムスタンプより夫々遅い。このケースＩＩＩでは、クリッピングされた配列RS1のタイムスタンプは、クリッピング前と比べると、先頭データのタイムスタンプが遅く、末尾データのタイムスタンプが早い。一方、クリッピングされた配列RS2のタイムスタンプは、クリッピング前と比べると、先頭データのタイムスタンプが遅い。また、クリッピングされた配列RS2のタイムスタンプは、クリッピングされた配列RS1のタイムスタンプと比べると、先頭データがガード時間Guard_Time以上早く、末尾データがガード時間Guard_Timeだけ遅い。
【００３３】
図８中、（ｄ）に示すケースＩＶでは、配列RS1の先頭データのタイムスタンプが、配列RS2の先頭データのタイムスタンプより早く、配列RS1の末尾データのタイムスタンプが、配列RS2の末尾データのタイムスタンプより遅い。このケースＩＶでは、クリッピングされた配列RS1のタイムスタンプは、クリッピング前と比べると、先頭データのタイムスタンプが遅く、末尾データのタイムスタンプが早い。一方、クリッピングされた配列RS2のタイムスタンプは、クリッピング前のタイムスタンプと同じである。また、クリッピングされた配列RS2のタイムスタンプは、クリッピングされた配列RS1のタイムスタンプと比べると、先頭データがガード時間Guard_Timeだけ早く、末尾データがガード時間Guard_Timeだけ遅い。
【００３４】
ステップＳ２８の後、処理は図５に示す電波同定処理に戻る。具体的には、図５に示すステップＳ３，Ｓ４に対して、時間オフセットtoffsetをループ変数としたループ処理をループ回数num_tだけ実行する処理を、伸縮率ｋをループ変数としたループ処理をループ回数num_kだけ実行する処理へ進む。伸縮率ｋは、タイムスタンプの時間軸のスケールを伸縮する比率を表す。時間オフセットtoffsetは、タイムスタンプの絶対値に時間軸上のオフセット量を加減算する秒数を表す。時間オフセットtoffsetをループ変数としたループ処理は、ループステップパラメータt_step=(t_end-t_begin)/num_t)をt_begin〜t_endの範囲で変化させながらループ回数num_tだけ実行する。また、伸縮率ｋをループ変数としたループ処理は、ループステップパラメータk_step=(k_end-k_begin)/num_t)をk_begin〜k_endの範囲で変化させながらループ回数num_kだけ実行する。
【００３５】
このように、サーバ１４のＣＰＵは、ログデータクリッピング処理を実行することで、受信モジュール１３−１，１３−２のログデータをガード時間Guard_Timeを含めてクリッピングしてタイムスタンプの頭出しをする抽出手段として機能する。受信モジュール１３−２が受信した第２の受信信号系列の先頭データと末尾データの時刻情報は、受信モジュール１３−１が受信した第１の受信信号系列の先頭データと末尾データの時刻情報より常にガード時間Guard_Time以上広くなる。
【００３６】
図５において、ステップＳ３では、サーバ１４のＣＰＵが、ログデータの相関を算出するログデータ相関算出処理を行う。図９及び図１０は、ログデータ相関算出処理の一例を説明するフローチャートである。図９において、ステップＳ３０１では、サーバ１４のＣＰＵが、ループステップパラメータk_step,  t_stepを算出する。ステップＳ３０２では、サーバ１４のＣＰＵが、ループカウンタnum_loopをリセットする。ステップＳ３０３では、サーバ１４のＣＰＵが、k,toffsetループ中で相関値corr(k,toffset)の最大値を保持する最大相関値保持変数sigma_correlation_maxをリセットする。k,toffsetループは、時間オフセットtoffsetをループ変数としたループ処理をループ回数num_tだけ実行するループ処理を、伸縮率ｋをループ変数としたループ処理をループ回数num_kだけ実行する処理を含む。相関値corr(k,toffset)は、ある[k,toffset]の組み合わせにおける配列と配列（例えば、配列RS1と配列RS2）の相関値の和である。ステップＳ３０４では、サーバ１４のＣＰＵが、最大値保持変数k_at_max,  t_at_maxをリセットする。最大値保持変数k_at_maxは、相関値corr(k,toffset)が最大値を取るときの伸縮率ｋの値を保持する変数である。最大値保持変数t_at_maxは、相関値corr(k,toffset)が最大値を取るときの時間オフセットtoffsetの値を保持する変数である。
【００３７】
次に、ステップＳ３０５〜Ｓ３１４の処理、ステップＳ３１５〜Ｓ３２２のループ変数配列RS12のループ処理をNumRS12分だけ実行する処理、及びステップＳ３２３〜Ｓ３２６の処理を、伸縮率ｋと時間オフセットtoffsetのk,toffsetループ分だけ実行する処理へ進む。
【００３８】
図９において、ステップＳ３０５では、サーバ１４のＣＰＵが、k,toffsetループ内の伸縮率ｋを算出する。ステップＳ３０６では、サーバ１４のＣＰＵが、k,toffsetループ内の時間オフセットtoffsetを算出する。ステップＳ３０７では、サーバ１４のＣＰＵが、ループ変数配列RS12を宣言して初期化する。ステップＳ３０８では、サーバ１４のＣＰＵが、新たな配列NewRS1に伸縮率ｋと時間オフセットtoffsetを適用する。ステップＳ３０９では、サーバ１４のＣＰＵが、配列NewRS1のパケット開始時刻を変数NewRS1_Startに格納し、配列NewRS1のパケット終了時刻を変数NewRS1_Stopに格納する。ステップＳ３１０では、サーバ１４のＣＰＵが、変数NewRS1_Start,  NewRS1_Stopをクリアする。ステップＳ３１１では、サーバ１４のＣＰＵが、変数NewRS1と変数NewRS2をマージしてループ変数配列RS12に格納する。ステップＳ３１２では、サーバ１４のＣＰＵが、ループ変数配列RS12をタイムスタンプでソートする。ステップＳ３１３では、サーバ１４のＣＰＵが、ループ変数配列RS12のパケット数を変数NumRS12に格納する。ステップＳ３１４では、サーバ１４のＣＰＵが、ループ変数配列RS12のループのループ内変数をリセットし、処理は図１０に示すステップＳ３１５へ進む。
【００３９】
図１０において、ステップＳ３１５では、サーバ１４のＣＰＵが、ループ変数配列RS12の値をループ変数配列RS12のループのループ内変数に格納する。ステップＳ３１６では、サーバ１４のＣＰＵが、ループ変数配列RS12の各パケットのパケット長を変数time_dutyに格納する。ステップＳ３１７では、サーバ１４のＣＰＵが、最大相関値保持変数sigma_correlation_maxをリセットする。ステップＳ３１８では、サーバ１４のＣＰＵが、ループ変数配列RS12の各パケットに配列RS1又は配列RS2のフラグを立て、ループ変数配列RS12の各パケットに、各受信モジュール１３−１，１３−２毎のインデックスを付与する。フラグは、変数NewRS1と変数NewRS2をマージしたループ変数配列RS12の各パケットが、配列RS1又は配列RS2であることを示す。ステップＳ３１９では、サーバ１４のＣＰＵが、ループ変数配列RS12の結果を変数RS12Recordに記録する。ステップＳ３２０では、サーバ１４のＣＰＵが、イベントがあるタイムスタンプの区切り毎に、配列NewRS1と配列NewRS2のＲＳＳＩの差分に基づく相関値を算出する。ここで、イベントとは、２つの受信信号系列のデータの遷移、即ち、立ち上がり又は立ち下がりのことを言う。ステップＳ３２１では、サーバ１４のＣＰＵが、前段で算出した相関値を積算して変数SigmaCorrに格納する。ステップＳ３２２では、サーバ１４のＣＰＵが、変数SigmaCorrを変数RS12CorRecordに記録する。ステップＳ３２３では、サーバ１４のＣＰＵが、ループ変数配列RS12をクリアする。ステップＳ３２４では、サーバ１４のＣＰＵが、変数SigmaCorrの最大値が閾値を超えていると変数SigmaCorrMaxに記録する。最大値が閾値以下である変数SigmaCorrを除外することで、最大値であっても低い相関値を排除できるので、例えばノイズ成分等の相関性が判定されてしまうことを防止可能である。ステップＳ３２５では、サーバ１４のＣＰＵが、変数SigmaCorrMaxとなるときの最大相関値保持変数k_at_max,  t_at_maxを配列CorrRecordに格納する。ステップＳ３２６では、サーバ１４のＣＰＵが、k,toffsetループの回数を表すループ変数NumLoopをインクリメントする。
【００４０】
これにより、図９に示すステップＳ３０５〜Ｓ３１４の処理、図１０に示すステップＳ３１５〜Ｓ３２２の処理をループ変数配列RS12のループ分だけ実行する処理、及び図１０に示すステップＳ３２３〜Ｓ３２６の処理を、伸縮率ｋと時間オフセットtoffsetのk,toffsetループ分だけ実行した後、処理は図５に示す電波同定処理に戻ってステップＳ４の処理へ進む。
【００４１】
図５において、ステップＳ４では、サーバ１４のＣＰＵが、相関値が閾値を超える最大値になる伸縮率と時間オフセットを決定する、伸縮率とオフセット決定処理を行う。図１１は、伸縮率とオフセット決定処理の一例を説明するフローチャートである。図１１において、ステップＳ４１では、サーバ１４のＣＰＵが、配列CorrRecordに格納されている最大相関値保持変数k_at_max,  t_at_maxを読み出す。ステップＳ４２では、サーバ１４のＣＰＵが、k,toffsetループ終了時の最大相関値保持変数k_at_maxを最適な伸縮率ｋと決定する。また、ステップＳ４２では、サーバ１４のＣＰＵが、k,toffsetループ終了時の最大相関値保持変数t_at_maxを最適な時間オフセットtoffsetと決定する。ステップＳ４２の後、処理は図５に示す電波同定処理に戻る。
【００４２】
これにより、図９乃至図１１に示すステップＳ３，Ｓ４の処理に対して、時間オフセットtoffsetをループ変数としたループ処理をループ回数num_tだけ実行する処理を、伸縮率ｋをループ変数としたループ処理をループ回数num_kだけ実行する。その後、処理は図５に示すステップＳ５の処理へ進む。
【００４３】
このように、サーバ１４のＣＰＵは、ステップＳ３，Ｓ４の処理を実行することで、相関値が最大値になる時間伸縮率k及び前記時間オフセットtoffsetを決定する決定手段として機能する。決定手段は、受信モジュール１３−１，１３−２が受信した第１及び第２の受信信号系列うち、第２の受信信号系列の時間軸のスケールを時間伸縮率kで伸縮しながら第１の受信信号系列との相関値を算出する。また、決定手段は、第２の受信信号系列を時間軸上で時間オフセットtoffsetだけオフセットして相関値が最大値になる時間伸縮率k及び前記時間オフセットtoffsetを決定する。更に、決定手段は、上記抽出手段が抽出した時系列データから相関値が最大値になる時間伸縮率k及び前記時間オフセットtoffsetを決定する。
【００４４】
従って、この例では、各受信モジュール１３−１，１３−２におけるタイムスタンプの個体差を次のように補償できる。先ず、サーバ１４が、受信モジュール１３−１，１３−２から受信した受信信号系列の特徴が類似するように、一方の受信モジュールからの受信信号系列の時間軸のスケールを伸縮しながら相関を算出する。受信信号系列の特徴とは、受信信号系列に含まれるパケットの送信開始時刻、パケット長、ＲＳＳＩ等である。同時に、当該一方の受信モジュールからの受信信号系列を時間軸上でオフセットしながら相関を算出する。受信信号系列の時間軸上のオフセットとは、時間軸のスケールを伸縮した受信信号系列を当該時間軸上で時間オフセットだけ少なくとも一方向（正方向又は負方向）へスライドさせることを意味する。これにより、一方の受信モジュールからの受信信号系列の特徴が他方の受信モジュールからの受信信号系列の特徴に最も類似する時間軸の伸縮率ｋと時間オフセットtoffsetを決定できる。つまり、受信モジュール１３−１，１３−２から受信した２つの受信信号系列の相関値が閾値を超える最大値になる時間軸の伸縮率ｋと時間オフセットtoffsetを決定し、これら２つの受信信号系列を同期させることができる。
【００４５】
図１２は、タイムスタンプの個体差の補償を説明する図である。図１２に示す処理は、サーバ１４のＣＰＵが実行する図５に示すステップＳ３，Ｓ４に相当する手順ＳＴ１〜ＳＴ３を含む。手順ＳＴ１では、受信モジュール１３−１と受信モジュール１３−２夫々の受信信号系列の相関値を、例えば時間ts毎に算出する。例えば、時間ts=30(sec)である。手順ＳＴ２では、相関値が０でないと、受信モジュール１３−２のタイムスタンプの時間軸（幅）に伸縮率ｋを乗算し、更に時間オフセットtoffsetを加算して、そのときの相関値を再算出する。ここで、伸縮率ｋは０ではない正の実数であり、時間オフセットtoffsetは実数である。手順ＳＴ３では、相関値が閾値を超える最大値になる伸縮率ｋと時間オフセットtoffsetを求める。具体的には、手順ＳＴ３では、伸縮率ｋと時間オフセットtoffsetを変えながら前段の手順ＳＴ２の処理を繰り返す。
【００４６】
この結果、サーバ１４に届いた受信モジュール１３−２の受信信号系列は、図１２に下部に示すように、サーバ１４に届いた受信モジュール１３−１の受信信号系列との相関値が閾値を超える最大値になるように、タイムスタンプの個体差が補正される。具体的には、受信モジュール１３−１の受信信号系列の時間軸のスケールが伸縮率ｋで伸縮され、時間軸上で時間オフセットtoffsetだけ少なくとも一方向（正方向又は負方向）へスライドされる。図１２中、時間軸上の正方向は右方向であり、負方向は左方向である。なお、図１２は模式図であるため、各受信信号系列の振幅は、ＲＳＳＩを同じスケールで表すものではない。
【００４７】
このようにして、伸縮率ｋに従って複数の受信モジュールが受信した受信信号系列に付与するタイムスタンプの時間軸のスケールを伸縮しながら相関値を算出し、同時に、時間軸上の時間オフセットtoffsetに従って受信信号系列をオフセットしながら相関値を算出する。これにより、相関値が閾値を超える最大値になる時間軸のスケールの伸縮率ｋと時間軸上の時間オフセットtoffsetを決定することができる。
【００４８】
パケットの紐付け処理は、上記の如く算出した相関値が閾値を超える最大値になる伸縮率ｋと時間オフセットtoffsetを受信モジュール１３−２のタイムスタンプに適用することで、各受信モジュール１３−１，１３−２が受信した同じパケット同士を紐付ける。具体的には、受信モジュール１３−１の受信信号系列及び受信モジュール１３−２の受信信号系列の夫々が持つ１つ１つのパケット同士を比較し、各パケットの送信開始時刻、パケット長、及びＲＳＳＩがいずれも類似するパケット同士を１対１で紐付ける。また、紐付け候補のパケットの受信順が異なっていたり、複数のパケットに重複紐付けが発生していたりするパケットの紐付けの誤りがある場合、後述する揺さぶりを行い、パケットの順番は入れ替わらないというルールを適用してパケットの紐付けの誤りを訂正する。
【００４９】
図５において、ステップＳ５では、サーバ１４のＣＰＵが、パケットを紐付けるパケット紐付け処理を行う。図１３は、パケット紐付け処理の一例を説明するフローチャートである。図１３に示すパケット紐付け処理は、ステップＳ５１〜Ｓ５３の処理と、ステップＳ５４〜Ｓ５９の処理を配列NewRS2のループ分実行する処理とを、配列NewRS1のループ分実行する。
【００５０】
図１３において、ステップＳ５１では、サーバ１４のＣＰＵが、配列NewRS1の値を配列NewRS1のループのループ内変数に格納する。ステップＳ５２では、サーバ１４のＣＰＵが、伸縮率ｋと時間オフセットtoffsetの夫々の最適値を配列NewRS1に適用して変数NewRS1Fixに格納する。ステップＳ５３では、サーバ１４のＣＰＵが、相関値の最大値を格納する変数MaxCorrをリセットする。
【００５１】
ステップＳ５４では、サーバ１４のＣＰＵが、配列NewRS2の値を配列NewRS2のループのループ内変数に格納する。ステップＳ５５では、サーバ１４のＣＰＵが、変数NewRS1Fixと配列NewRS2のパケットの差分情報を使って相関値を算出して変数Corrに格納する。この際、時間軸のスケールを伸縮した一方の受信信号系列を当該時間軸上でオフセットし、２つの受信信号系列を紐付けた後、揺さぶりにより再度紐付けをする処理も行う。揺さぶりとは、受信信号系列を時間軸上で一定範囲だけ両方向（正方向と負方向）へ振って（ずらして）微調整することで、パケットの紐付けの誤りを訂正する処理である。ステップＳ５７では、サーバ１４のＣＰＵが、変数Corrの最大値を変数MaxCorrに記録し、変数Corrが最大値になるときの配列NewRS2のインデックスを変数NewRS2Indexに記録する。ステップＳ５８では、サーバ１４のＣＰＵが、変数Corrの値を変数MemCorrに格納する。ステップＳ５９では、変数MaxCorrのときの変数NewRS1Index,  NewRS2Index（即ち、紐付き結果）を配列Identifiedに格納する。配列Identifiedは、後述する変数NewRS1Index,  NewRS2Index、送信局１２のソースアドレス等を含む紐付け結果を示す。
【００５２】
このように、サーバ１４のＣＰＵは、ステップＳ５のパケット紐付け処理を実行することで、パケットを紐付ける紐付け手段として機能する。紐付け手段は、相関値が最大値になる時間伸縮率kと時間オフセットtoffsetを第２の受信信号系列の時刻情報に適用することで、第１の受信信号系列及び第２の受信信号系列の夫々が持つ１つ１つのパケット同士を比較する。また、紐付け手段は、各パケットの送信開始時刻、パケット長、及び信号強度が類似するパケット同士を１対１で紐付ける。紐付け手段は、紐付け候補のパケットの受信順が異なっている場合、又は、複数のパケットに重複紐付けが発生している場合に、揺さぶりを行い、パケットの順番は入れ替わらないというルールを適用してパケットの紐付けの誤りを訂正する。揺さぶりは、紐付け候補のパケットを時間軸上で一定範囲だけ振って微調整することで、パケットの紐付けの誤りを訂正する。
【００５３】
図１４は、正常なパケットの紐付け結果の一例を説明する図である。図１４は、タイムスタンプの個体差を補償した後の受信モジュール１３−１と受信モジュール１３−２夫々の受信信号系列を示す。各受信信号系列中、パケットは四角形で表し、図１４は、受信モジュール１３−１と受信モジュール１３−２の夫々が持つパケットを送信開始時刻、パケット長、及びＲＳＳＩにより比較し、比較した全ての要素が類似するパケット同士の紐付けに成功した例を示す。正しく紐付けられたパケットは、破線の矢印で示す。
【００５４】
図１５は、誤った結果を含むパケットの紐付け結果の一例を説明する図である。図１５は、受信モジュール１３−１の配置、又は、受信感度等の都合により、受信モジュール１３−１においてパケットの受信欠損が発生した場合に、パケットの紐付けの誤りが生じた受信信号系列を示す。受信モジュール１３−１で幾つかのパケットが破線の四角形で示すように欠損しているため、比較した全ての要素が類似するパケットが変化してしまい、その結果、パケットの紐付けの誤りが生じた例を示す。正しく紐付けられたパケットは、破線の矢印で示す。また、誤って紐付けられたパケットは、一点鎖線の矢印で示す。
【００５５】
図１６は、パケットの紐付け誤りの訂正を説明する図である。図１６では、図１５で示すパケットの紐付けの誤りを訂正する例を示す。図１６の（ａ）に示すように、紐付け候補のパケットの受信順が異なっている場合、又は、複数のパケットに重複紐付けが発生している場合に、パケットの順番は入れ替わらないというルールを適用してパケットの紐付けの誤りを訂正する。具体的には、図１６の（ｂ）に示すように、受信モジュール１３−２の紐付け候補のパケットの位置を時間軸上で揺さぶる。そして、図１６の（ｃ）に示すように、受信順の入れ替えや、重複紐付けが発生しない条件下で最も相関が高い、即ち、相関値が閾値を超える最大値になるパケット同士を紐付ける。
【００５６】
上記の例では、受信モジュール１３−１においてパケットの受信欠損が発生した場合について、パケットの紐付け誤りの訂正を説明したが、受信モジュール１３−１においてノイズ等に起因する余分なパケットを受信する場合もある。この場合、ノイズ等に起因する余分なパケットは、周知の方法で検出できるので、検出した余分なパケットを除外して、パケットの紐付けの誤りを上記と同様に訂正できる。更に、両方の受信モジュール１３−１，１３−２においてパケットの受信欠損が発生した場合、或いは、ノイズ等に起因する余分なパケットを受信した場合にも、パケットの紐付けの誤りを上記と同様に訂正できる。
【００５７】
各受信モジュールの処理時間の差分により、パケットの紐付け時に関連付けられた受信パケットの受信順が入れ替わったとしても、従来技術ではそのような受信パケットの受信順の入れ替わりを検出することができない。
【００５８】
これに対し、本実施例によれば、時間軸のスケールを伸縮した一方の受信信号系列を当該時間軸上でオフセット（スライド）し、２つの受信信号系列を紐付けた後、揺さぶりにより再度紐付けをする処理を行う。揺さぶりを行うことで、受信順の入れ替えや、重複紐付けが発生しない条件下で最も相関が高いパケット同士を紐付けることができるので、パケットの紐付けの誤りを訂正できる。
【００５９】
図１３において、ステップＳ５１〜Ｓ５３の処理と、ステップＳ５４〜Ｓ５９の処理を配列NewRS2のループ分実行する処理とを、配列NewRS1のループ分実行した後、処理は図５に示す電波同定処理に戻ってステップＳ６の処理へ進む。
【００６０】
図５において、ステップＳ６では、サーバ１４のＣＰＵが、電波同定結果をＰＣ１５に出力する電波同定結果出力処理を行う。図１７は、電波同定結果出力処理の一例を説明するフローチャートである。図１７において、ステップＳ６１では、サーバ１４のＣＰＵが、配列Identifiedの値を読み込む。ステップＳ６２では、サーバ１４のＣＰＵが、配列Identifiedの同一行に記載された変数NewRS1Index,  NewRS2Indexが紐付けられたパケットであると判定して電波同定結果をＰＣ１５に出力し、処理は図５に示す電波同定処理に戻り、電波同定処理は終了する。ＰＣ１５では、ＣＰＵ１５１がサーバ１４からの電波同定結果を例えば表示装置１５５に表示する。
【００６１】
このように、サーバ１４のＣＰＵは、ステップＳ６の電波同定結果出力処理を実行することで、電波同定結果をＰＣ１５に出力する判定手段として機能する。判定手段は、最大値になる相関値が閾値を超えている場合に、紐付けられたパケットは第１及び第２の受信ノードが同一の送信源から受信した電波の受信信号系列であると判定した電波同定結果を出力する。
【００６２】
第１実施例によれば、各受信モジュールにおけるタイムスタンプの個体差を補償することができる。
【００６３】
（第２実施例）
図１８は、第２実施例における電波環境可視化システムの一例を示す図である。図１８中、図３と同一部分には同一符号を付し、その説明は省略する。図１８に示す電波環境可視化システム１１−２は、送信局１２と、受信モジュール１３−１，１３−２と、サーバ１４と、ＰＣ１５を有する。受信モジュール１３−１，１３−２のうち、少なくとも一方は、送信局１２のＩＤをサーバ１４に送信する機能を有する。第２実施例では、サーバ１４は、ＰＣ１５からのＩＤ紐付けを含む電波同定処理を要求するコマンドに応答して、受信モジュール１３−１，１３−２が測定した信号受信強度ＲＳＳＩ１，ＲＳＳＩ２を、送信局１２のＩＤと関連付ける、即ち、紐付ける。ＰＣ１５は、操作者による入力装置１５４の操作に応答して、ＩＤ紐付けを含む電波同定処理を要求するコマンドを発行する。送信局１２のＩＤは、この例では受信モジュール１３−１が検出する。また、サーバ１４は、電波同定結果及びＩＤ紐付け結果をＰＣ１５へ出力する。
【００６４】
図１９は、第２実施例における電波同定処理の一例を説明するフローチャートである。図１９中、図５と同一ステップには同一符号を付し、その説明は省略する。この例では、サーバ１４は、ＰＣ１５からのＩＤ紐付けを含む電波同定処理を要求するコマンドを受信するので、ステップＳ６の後、処理はステップＳ７へ進む。なお、電波同定処理を要求するコマンドがＩＤ紐付けを含むか否かを判定するステップを設け、判定結果がＹＥＳである場合のみ処理がステップＳ７へ進み、判定結果がＮＯである場合はステップＳ７は実行せずにステップＳ６の後に処理を終了しても良い。図１９において、ステップＳ７では、サーバ１４のＣＰＵが、受信モジュール１３−１，１３−２から受信した信号受信強度ＲＳＳＩ１，ＲＳＳＩ２と、送信局１２のＩＤとのＩＤ紐付け結果をＰＣ１５に出力するＩＤ紐付け結果出力処理を行い、処理は終了する。
【００６５】
図２０は、ＩＤ組付け結果出力処理の一例を説明するフローチャートである。図２０において、ステップＳ７１では、サーバ１４のＣＰＵが、配列Identifiedの値を読み込む。ステップＳ７２では、サーバ１４のＣＰＵが、配列Identifiedの同一行に記載された変数NewRS1Index,  NewRS2Indexが紐付けられたパケットであると判定する。ステップＳ７３では、サーバ１４のＣＰＵが、配列Identifiedの変数NewRS2Indexと同一行に記載された、送信局１２のソースアドレスの一例であるＭＡＣ（Media  Access  Control）情報が紐付けられたＩＤであると判定してＩＤ紐付け結果をＰＣ１５へ出力する。ステップＳ７３の後、処理は図５に示す電波同定処理に戻り、電波同定処理は終了する。送信局１２のＭＡＣ情報は、送信源アドレス（又は、ソースアドレス）情報の一例である。ＰＣ１５では、ＣＰＵ１５１がサーバ１４からの電波同定結果及びＩＤ紐付け結果を例えば表示装置１５５に表示する。
【００６６】
このように、サーバ１４のＣＰＵは、ステップＳ７のＩＤ紐付け結果出力処理を実行することで、受信モジュール１３−１，１３−２から受信した信号受信強度ＲＳＳＩ１，ＲＳＳＩ２と、送信局１２のＩＤとのＩＤ紐付け結果を出力する出力手段として機能する。出力手段は、電波同定結果と、第１及び第２の受信信号系列の受信強度を受信モジュール１３−１又は受信モジュール１３−２で検出した送信局１２のＩＤ情報と紐付けたＩＤ紐付け結果とを出力する。
【００６７】
第２実施例によれば、各受信モジュールにおけるタイムスタンプの個体差を補償することができると共に、場所毎の電波の受信信号強度を送信源アドレス情報と紐付けることができる。
【００６８】
（第３実施例）
ところで、図５に示す第１実施例の電波同定処理を、各受信モジュール対について繰り返すことで、第３実施例のように、３台以上の受信モジュールが設けられている場合にも上記の電波同定処理を拡張できる。タイムスタンプの個体差を補償する処理と、パケットの紐付け処理は、２台の受信モジュール間で行なう処理である。これらの処理と同様の処理を異なる組合せの２台の受信モジュール間で繰り返すことにより、３台以上の受信モジュールのタイムスタンプの個体差を補償し、パケットを紐付けることができる。
【００６９】
図２１は、第３実施例における電波環境可視化システムの一例を示す図である。図２１中、図３及び図１８と同一部分には同一符号を付し、その説明は省略する。図２１に示す電波環境可視化システム１１−３は、送信局１２と、受信モジュール１３−１〜１３−ｎ（ｎは３以上の自然数）と、サーバ１４と、ＰＣ１５を有する。この例では、受信モジュール１３−１以外の受信モジュール１３−２〜１３−ｎは、ＳＲＤモジュールである。第３実施例では、サーバ１４は、ＰＣ１５からの電波同定処理を要求するコマンドがＩＤ紐付けを含む場合には、一対の受信モジュールが測定した信号受信強度と、ある受信モジュールが検出した送信局１２のＩＤとを関連付ける、即ち、紐付ける。この例では、ある受信モジュールとは、受信モジュール１３−１である。そして、サーバ１４は、このようなＩＤ紐付けを、例えば隣り合う一対の受信モジュール等の各受信モジュール対が測定した信号受信強度について行い、最終的には全ての受信モジュールについて、電波同定結果及び／又はＩＤ紐付け結果をＰＣ１５へ出力する。つまり、サーバ１４は、電波同定結果及びＩＤ紐付け結果のうち少なくとも一方をＰＣ１５へ出力することができる。
【００７０】
図２２は、第３実施例における電波同定処理の一例を説明するフローチャートである。図２２において、ステップＳ１−１では、サーバ１４のＣＰＵが、一対の受信モジュール１３−１，１３−２のログデータを読み込み、例えば図５に示すステップＳ２〜Ｓ４と同様の処理を行う。ステップＳ７−１では、サーバ１４のＣＰＵが、受信モジュール１３−１から受信した信号受信強度ＲＳＳＩ１と受信モジュール１３−２から受信した信号受信強度ＲＳＳＩ２の、送信局１２のＩＤとのＩＤ紐付け結果を出力するＩＤ紐付け結果出力処理を行う。ステップＳ７−１の処理は、例えば図５に示すステップＳ５の処理と同様である。図２２において、例えばステップＳ７−１に記載された「１＆２」は、信号受信強度ＲＳＳＩ1,ＲＳＳＩ２の、送信局１２のＩＤとのＩＤ紐付け結果を出力するＩＤ紐付け結果出力処理であることを示す。同様に、例えば後述するステップＳ７−ｎ−１に記載された「ｎ−１＆ｎ」は、信号受信強度ＲＳＳＩｎ-1,ＲＳＳＩnの、送信局１２のＩＤとのＩＤ紐付け結果を出力するＩＤ紐付け結果出力処理であることを示す。ＩＤ紐付け結果出力処理は、例えば図２０と共に説明したＩＤ紐付け結果出力処理と同様で良い。
【００７１】
次に、ステップＳ１−２では、サーバ１４のＣＰＵが、一対の受信モジュール１３−２，１３−３のログデータを読み込み、例えば図５に示すステップＳ２〜Ｓ４と同様の処理を行う。ステップＳ７−２では、サーバ１４のＣＰＵが、受信モジュール１３−２から受信した信号受信強度ＲＳＳＩ２と受信モジュール１３−３から受信した信号受信強度ＲＳＳＩ３の、送信局１２のＩＤとのＩＤ紐付け結果を出力するＩＤ紐付け結果出力処理を行う。ステップＳ７−２の処理は、例えば図５に示すステップＳ５の処理と同様である。以下、上記の如き処理を繰り返し、ステップＳ１−ｎ−１では、サーバ１４のＣＰＵが、一対の受信モジュール１３−ｎ−１，１３−ｎのログデータを読み込み、例えば図５に示すステップＳ２〜Ｓ４と同様の処理を行う。ステップＳ７−ｎ−１では、サーバ１４のＣＰＵが、受信モジュール１３−ｎ−１から受信した信号受信強度ＲＳＳＩｎ−１と受信モジュール１３−ｎから受信した信号受信強度ＲＳＳＩｎの、送信局１２のＩＤとのＩＤ紐付け結果を出力するＩＤ紐付け結果出力処理を行う。ステップＳ７−ｎ−１の処理は、例えば図５に示すステップＳ５の処理と同様である。次に、ステップＳ７−ｎでは、サーバ１４のＣＰＵが、各対の受信モジュールが測定した信号受信強度について、例えば図５に示すステップＳ６と同様の処理を行い求めた電波同定結果をマージする。また、ステップＳ７−ｎでは、サーバ１４のＣＰＵが、各対の受信モジュールが測定した信号受信強度について求めたＩＤ紐付け結果をマージする。更に、ステップＳ７−ｎでは、サーバ１４のＣＰＵが、マージした電波同定結果及び／又はマージしたＩＤ紐付け結果とを、全ての受信モジュール１３−１〜１３−ｎの電波同定結果及び／又はＩＤ紐付け結果としてＰＣ１５へ出力する。
【００７２】
このように、サーバ１４のＣＰＵは、図２２に示す処理を実行することで、上記決定手段及び上記紐付け手段が、３台以上の受信モジュール１３−１〜１３−ｎが受信した受信信号系列のうち、各受信モジュール対が受信した受信信号系列に対して第１及び第２の受信信号系列に対する処理を繰り返す。また、上記判定手段が、各受信ノード対に対する電波同定結果をマージする。
【００７３】
第３実施例によれば、３台以上の受信モジュールが設けられている場合にも電波同定処理を拡張することができる。また、必要に応じて、各受信モジュールにおけるタイムスタンプの個体差を補償したり、場所毎の電波の受信信号強度を送信源アドレス情報と紐付けることができる。更に、複数のＩＤ紐付け結果をマージするので、ＩＤ紐付け結果の精度を向上することができる。
【００７４】
（第４実施例）
次に、第４実施例について説明する。第４実施例では、上記第１乃至第３実施例のいずれかで出力した電波同定結果に基づいて、電波環境可視化処理を行う。
【００７５】
図２３は、電波環境可視化処理の一例を説明するフローチャートである。図２３に示す電波環境可視化処理は、例えばＰＣ１５のＣＰＵ１５１が、メモリ１５２が記憶するプログラムを実行することで実行可能である。図２３に示す電波環境可視化処理を開始するには、例えばＰＣ１５の操作者が入力装置１５４を操作して電波環境可視化処理を要求するコマンドを発行する。
【００７６】
図２３において、ステップＳ９１では、ＰＣ１５のＣＰＵ１５１が、電波環境可視化処理を要求するコマンドに応答して電波同定処理を要求するコマンドをサーバ１４に送信する。また、ステップＳ９１では、ＰＣ１５のＣＰＵ１５１が、送信した電波同定処理を要求するコマンドに応答した、サーバ１４からの電波同定結果出力を受信する。ステップＳ９２では、ＰＣ１５のＣＰＵ１５１が、電波同定結果出力に基づいて、受信モジュールの場所毎の電波の受信信号強度（ＲＳＳＩ）や、トラフィックのレベルを色で表現したヒートマップを作成する。ヒートマップの作成自体は、例えば周知の方法を採用可能である。また、送信局１２のＩＤを出力する受信モジュール（例えば、受信モジュール１３−１）が存在すれば、例えばサーバ１４が受信した当該ＩＤをヒートマップ上に表示する等して、周辺の電波環境の調査や不具合の原因特定に利用することができる。ステップＳ９３では、ＰＣ１５のＣＰＵ１５１が、例えば図２４に示す如きヒートマップをＰＣ１５の表示装置１５５に表示し、処理は終了する。ＰＣ１５のＣＰＵ１４１は、必要に応じてヒートマップ等をＰＣ１５のメモリ１５２に格納する。
【００７７】
図２４は、ヒートマップの一例を示す図である。図２４中、縦軸はＸＹ座標系におけるＹ方向の距離（m）を示し、横軸はＸＹ座標系におけるＸ方向の距離（m）を示す。図２４は、ＲＳＳＩのヒートマップを示し、全てのアクセスポイント（ＡＰ：Access  Point）からのＲＳＳＩレベルの最大値（dBm）を、各受信モジュールについてハーフトーンで表す。図２４において、ＲＳＳＩレベルは、ハーフトーンが明るい程低く、暗い程高いことを示す。この例では、受信モジュールは、Ｗｉ−ＦｉモジュールWi-Fi001〜Wi-Fi005と、ＢＬＥ（Bluetooth  (登録商標）Low  Energy）モジュールBLE001〜BLE004と、ＢＴ（Bluetooth（登録商標））モジュールBT001〜BT003を含む。
【００７８】
第４実施例によれば、複数の受信モジュールが受信した同一の送信源から送信された電波を同定できるので、各受信モジュールにおける電波受信の時間差から各受信モジュールから送信源までの距離を推定することができる。このため、電界強度分布のヒートマップの描画等の電波環境可視化に、送信源の位置の推定結果の表示を含めることもでき、ヒートマップを用いて電波環境の調査や、不具合の原因特定を迅速に行なえる。
【００７９】
このように、上記第１乃至第３実施例における電波同定装置は、電波環境可視化技術に適用可能である。このため、上記第１乃至第３実施例における電波同定装置は、例えば工場等に設置された無線センサネットワークが動作不良を起こした際に、電波環境可視化技術に適用して原因を迅速に究明する場合等に好適である。
【００８０】
（変形例）
なお、変形例では、上記の各実施例において、サーバ１４は、ＰＣ１５の処理の少なくとも一部、即ち、ＰＣ１５の処理の一部又は全部を実行しても良い。サーバ１４がＰＣ１５の全部の処理を実行する場合、ＰＣ１５は省略可能である。同様に、上記の各実施例において、ＰＣ１５は、サーバ１４の処理の少なくとも一部、即ち、サーバ１４の処理の一部又は全部を実行しても良い。ＰＣ１５がサーバ１４の全部の処理を実行する場合、サーバ１４は省略可能である。つまり、上記の各実施例において、サーバ１４とＰＣ１５を、サーバ１４とＰＣ１５の処理を実行する単一のコンピュータで置き換えても良い。
【００８１】
なお、上記の各実施例に付されている第１乃至第４なる連番は、好ましい実施例の優先順位を表すものではない。また、当業者であれば、数々の変形や改変が可能であることは明らかである。
【００８２】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
第１の受信ノードが受信した第１の受信信号系列と、第２の受信ノードが受信した第２の受信信号系列のうち、前記第２の受信信号系列の時間軸のスケールを時間伸縮率で伸縮しながら前記第１の受信信号系列との相関値を算出し、前記第２の受信信号系列を時間軸上で時間オフセットだけオフセットして前記相関値が最大値になる前記時間伸縮率及び前記時間オフセットを決定する決定手段と、
前記相関値が最大値になる前記時間伸縮率と前記時間オフセットを前記第２の受信信号系列の時刻情報に適用することで、前記第１の受信信号系列及び前記第２の受信信号系列の夫々が持つ１つ１つのパケット同士を比較し、各パケットの送信開始時刻、パケット長、及び信号強度が類似するパケット同士を１対１で紐付ける紐付け手段と、
前記最大値になる前記相関値が閾値を超えている場合に、紐付けられたパケットは前記第１及び第２の受信ノードが同一の送信源から受信した電波の受信信号系列であると判定した電波同定結果を出力する判定手段と、
を備えたことを特徴とする、電波同定装置。
（付記２）
前記第２の受信信号系列の先頭データと末尾データの時刻情報が、前記第１の受信信号系列の先頭データと末尾データの時刻情報より常にガード時間以上広くなるようなクリッピングタイミングで前記第１の受信信号系列及び前記第２の受信信号系列をクリッピングする抽出手段を更に備え、
前記決定手段は、前記抽出手段が抽出した受信信号系列から前記相関値が最大値になる前記時間伸縮率及び前記時間オフセットを決定する
ことを特徴とする、付記１記載の電波同定装置。
（付記３）
前記紐付け手段は、紐付け候補のパケットの受信順が異なっている場合、又は、複数のパケットに重複紐付けが発生している場合に、揺さぶりを行い、パケットの順番は入れ替わらないというルールを適用してパケットの紐付けの誤りを訂正し、
前記揺さぶりは、前記紐付け候補のパケットを時間軸上で一定範囲だけ振って微調整することで、パケットの紐付けの誤りを訂正する
ことを特徴とする、付記１又は２記載の電波同定装置。
（付記４）
前記電波同定結果と、前記第１の受信信号系列及び前記第２の受信信号系列の受信強度を前記第１の受信ノード又は前記第２の受信ノードで検出した前記送信源のＩＤ情報と紐付けたＩＤ紐付け結果とを出力する出力手段を更に備えたことを特徴とする、付記１乃至３のいずれか１項記載の電波同定装置。
（付記５）
前記決定手段及び前記紐付け手段は、３台以上の受信ノードが受信した受信信号系列のうち、各受信ノード対が受信した受信信号系列に対して前記第１及び第２の受信信号系列に対する処理を繰り返し、
前記判定手段は、各受信ノード対に対する電波同定結果をマージすることを特徴とする、付記１乃至４のいずれか１項記載の電波同定装置。
（付記６）
第１の受信ノードが受信した第１の受信信号系列と、第２の受信ノードが受信した第２の受信信号系列のうち、前記第２の受信信号系列の時間軸のスケールを時間伸縮率で伸縮しながら前記第１の受信信号系列との相関値を算出し、前記第２の受信信号系列を時間軸上で時間オフセットだけオフセットして前記相関値が最大値になる前記時間伸縮率及び前記時間オフセットを決定し、
前記相関値が最大値になる前記時間伸縮率と前記時間オフセットを前記第２の受信信号系列の時刻情報に適用することで、前記第１の受信信号系列及び前記第２の受信信号系列の夫々が持つ１つ１つのパケット同士を比較し、各パケットの送信開始時刻、パケット長、及び信号強度が類似するパケット同士を１対１で紐付け、
前記最大値になる前記相関値が閾値を超えている場合に、紐付けられたパケットは前記第１及び第２の受信ノードが同一の送信源から受信した電波の受信信号系列であると判定した電波同定結果を出力する、
処理をコンピュータが実行することを特徴とする、電波同定方法。
（付記７）
前記第２の受信信号系列の先頭データと末尾データの時刻情報が、前記第１の受信信号系列の先頭データと末尾データの時刻情報より常にガード時間以上広くなるようなクリッピングタイミングで受信信号系列を抽出する、
処理を前記コンピュータが更に実行し、
前記決定する処理は、前記抽出する処理が抽出した受信信号系列から前記相関値が最大値になる前記時間伸縮率及び前記時間オフセットを決定する
ことを特徴とする、付記６記載の電波同定方法。
（付記８）
前記紐付ける処理は、紐付け候補のパケットの受信順が異なっている場合、又は、複数のパケットに重複紐付けが発生している場合に、揺さぶりを行い、パケットの順番は入れ替わらないというルールを適用してパケットの紐付けの誤りを訂正し、
前記揺さぶりは、前記紐付け候補のパケットを時間軸上で一定範囲だけ振って微調整することで、パケットの紐付けの誤りを訂正する
ことを特徴とする、付記６又は７記載の電波同定方法。
（付記９）
前記電波同定結果と、前記第１の受信信号系列及び前記第２の受信信号系列の受信強度を前記第１の受信ノード又は前記第２の受信ノードで検出した前記送信源のＩＤ情報と紐付けたＩＤ紐付け結果とを出力する、
処理を前記コンピュータに更に実行させることを特徴とする、付記６乃至８のいずれか１項記載の電波同定方法。
（付記１０）
前記決定する処理及び前記紐付ける処理は、３台以上の受信ノードが受信した受信信号系列のうち、各受信ノード対が受信した受信信号系列に対して前記第１及び第２の受信信号系列に対する処理を繰り返し、
前記判定する処理は、各受信ノード対に対する電波同定結果をマージすることを特徴とする、付記６乃至９のいずれか１項記載の電波同定方法。
（付記１１）
受信した第１の受信信号系列を出力する第１の受信ノードと、
前記第１の受信ノードとは異なる場所に設置され、前記第１の受信ノードの内部時計とは独立した内部時計を有し、受信した第２の受信信号系列を出力する第２の受信ノードと、
前記第１の受信信号系列及び前記第２の受信信号系列に基づいて電波同定結果を出力する電波同定装置と、
前記電波同定結果に基づいて、前記第１及び第２の受信ノードの場所毎の電波の受信信号強度とトラフィックのレベルを色で表現したヒートマップを作成する装置と、
を備え、
前記電波同定装置は、
前記第２の受信信号系列の時間軸のスケールを時間伸縮率で伸縮しながら前記第１の受信信号系列との相関値を算出し、前記第２の受信信号系列を時間軸上で時間オフセットだけオフセットして前記相関値が最大値になる前記時間伸縮率及び前記時間オフセットを決定する決定手段と、
前記相関値が最大値になる前記時間伸縮率と前記時間オフセットを前記第２の受信信号系列の時刻情報に適用することで、前記第１の受信信号系列及び前記第２の受信信号系列の夫々が持つ１つ１つのパケット同士を比較し、各パケットの送信開始時刻、パケット長、及び信号強度が類似するパケット同士を１対１で紐付ける紐付け手段と、
前記最大値になる前記相関値が閾値を超えている場合に、紐付けられたパケットは前記第１及び第２の受信ノードが同一の送信源から受信した電波の受信信号系列であると判定した電波同定結果を出力する判定手段と、
を有することを特徴とする、電波環境可視化システム。
（付記１２）
前記ヒートマップを作成する前記装置は、前記送信源の位置情報及びＩＤ情報を前記ヒートマップ上に表示する手段を有することを特徴とする、付記１１記載の電波環境可視化システム。
（付記１３）
前記電波同定装置及び前記ヒートマップを作成する前記装置は、単一のコンピュータで形成されていることを特徴とする、付記１１又は１２記載の電波環境可視化システム。
【００８３】
以上、開示の電波同定装置、電波同定方法及び電波環境可視化システムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【符号の説明】
【００８４】
１１−１〜１１−３      電波環境可視化システム
１２      送信局
１３−１〜１３−ｎ      受信モジュール
１４      サーバ
１５      ＰＣ
１５１      ＣＰＵ
１５２      メモリ
１５３      Ｉ／Ｆ
１５４      入力装置
１５５      表示装置
１５６      バス
【図１】
2020141316.tif 000003
【図２】
2020141316.tif 000004
【図３】
2020141316.tif 000005
【図４】
2020141316.tif 000006
【図５】
2020141316.tif 000007
【図６】
2020141316.tif 000008
【図７】
2020141316.tif 000009
【図８】
2020141316.tif 000010
【図９】
2020141316.tif 000011
【図１０】
2020141316.tif 000012
【図１１】
2020141316.tif 000013
【図１２】
2020141316.tif 000014
【図１３】
2020141316.tif 000015
【図１４】
2020141316.tif 000016
【図１５】
2020141316.tif 000017
【図１６】
2020141316.tif 000018
【図１７】
2020141316.tif 000019
【図１８】
2020141316.tif 000020
【図１９】
2020141316.tif 000021
【図２０】
2020141316.tif 000022
【図２１】
2020141316.tif 000023
【図２２】
2020141316.tif 000024
【図２３】
2020141316.tif 000025
【図２４】
2020141316.tif 000026