(57)【特許請求の範囲】
【請求項１】
対象となる無線装置からの信号が複数のセンサのそれぞれにおいて受信されており、異なったセンサ間の受信時間差を取得する取得部と、
前記取得部において取得した受信時間差をもとに、測定値誤差がガウス分布に従うと想定しながら、ＴＤＯＡ（Ｔｉｍｅ  Ｄｉｆｆｅｒｅｎｃｅ  Ｏｆ  Ａｒｒｉｖａｌ）における距離の平均値と分散値とを導出する第１因子ノード処理部と、
ＴＤＯＡにおける距離の平均値と分散値から、ＴＯＡ（Ｔｉｍｅ  Ｏｆ  Ａｒｒｉｖａｌ）における距離の平均値と分散値への変換を実行する第２因子ノード処理部と、
ＴＯＡにおける距離の平均値と分散値とに対してサムプロダクトアルゴリズムを実行する第１変数ノード処理部と、
ＴＯＡにおける距離の平均値と分散値と、センサからの位置座標の平均値と分散値との間の変換を実行する第３因子ノード処理部と、
センサからの位置座標の平均値と分散値と、無線装置の位置座標の平均値と分散値との間の変換を実行する第４因子ノード処理部と、
無線装置の位置座標の平均値と分散値とに対してサムプロダクトアルゴリズムを実行する第２変数ノード処理部と、
前記第２因子ノード処理部、前記第１変数ノード処理部、前記第３因子ノード処理部、前記第４因子ノード処理部、前記第２変数ノード処理部の順番になされる処理と、当該順番とは逆の順番になされる処理とを繰返し実行させる制御部と、
前記制御部によって繰返し実行される処理の終了後、無線装置の位置座標の平均値を出力する出力部と、
を備えることを特徴とする推定装置。
【請求項２】
前記第１変数ノード処理部から前記第３因子ノード処理部に、ＴＯＡにおける距離の平均値と分散値を渡す際に、ＴＯＡにおける距離の平均値が所定の値よりも小さければ、ＴＯＡにおける距離の平均値を所定の値に変更するゼロ値回避部をさらに備えることを特徴とする請求項１に記載の推定装置。
【請求項３】
前記第４因子ノード処理部から前記第３因子ノード処理部に、センサからの位置座標の平均値を渡す際に、センサからの位置座標の平均値の２乗値よりも、前記第１変数ノード処理部からのＴＯＡにおける距離の平均値の２乗値が小さければ、前記第１変数ノード処理部からのＴＯＡにおける距離の平均値をもとに、センサからの位置座標の平均値を変更する虚数値回避部をさらに備えることを特徴とする請求項１または２に記載の推定装置。
【請求項４】
前記第３因子ノード処理部から前記第１変数ノード処理部に、ＴＯＡにおける距離の分散値を渡す際に、ＴＯＡにおける距離の分散値が、前記第２因子ノード処理部からのＴＯＡにおける距離の分散値の最小値よりも大きければ、ＴＯＡにおける距離の分散値を、前記第２因子ノード処理部からのＴＯＡにおける距離の分散値の最小値に変更する無限大回避部をさらに備えることを特徴とする請求項１から３のいずれかに記載の推定装置。
【請求項５】
対象となる無線装置からの信号が複数のセンサのそれぞれにおいて受信されており、異なったセンサ間の受信時間差を取得する取得ステップと、
取得した受信時間差をもとに、測定値誤差がガウス分布に従うと想定しながら、ＴＤＯＡ（Ｔｉｍｅ  Ｄｉｆｆｅｒｅｎｃｅ  Ｏｆ  Ａｒｒｉｖａｌ）における距離の平均値と分散値とを導出する第１因子ノード処理ステップと、
ＴＤＯＡにおける距離の平均値と分散値から、ＴＯＡ（Ｔｉｍｅ  Ｏｆ  Ａｒｒｉｖａｌ）における距離の平均値と分散値への変換を実行する第２因子ノード処理ステップと、
ＴＯＡにおける距離の平均値と分散値とに対してサムプロダクトアルゴリズムを実行する第１変数ノード処理ステップと、
ＴＯＡにおける距離の平均値と分散値と、センサからの位置座標の平均値と分散値との間の変換を実行する第３因子ノード処理ステップと、
センサからの位置座標の平均値と分散値と、無線装置の位置座標の平均値と分散値との間の変換を実行する第４因子ノード処理ステップと、
無線装置の位置座標の平均値と分散値とに対してサムプロダクトアルゴリズムを実行する第２変数ノード処理ステップと、
前記第２因子ノード処理ステップ、前記第１変数ノード処理ステップ、前記第３因子ノード処理ステップ、前記第４因子ノード処理ステップ、前記第２変数ノード処理ステップの順番になされる処理と、当該順番とは逆の順番になされる処理とが繰返し実行された後、無線装置の位置座標の平均値を出力するステップと、
を備えることを特徴とする推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推定技術に関し、未知の発信源の位置を推定する推定方法およびそれを利用した推定装置に関する。
【背景技術】
【０００２】
無線の位置推定は、近年の無線システムにおける重要な技術であり、それには、例えば、因子グラフが使用される。因子グラフでは、包括的な関数を因数分解した複数の局所的な関数の間で、ガウス分布での平均値と分散値の形でメッセージが交換される。交換されるメッセージは、ＴＯＡ（Ｔｉｍｅ  Ｏｆ  Ａｒｒｉｖａｌ）によって生成される（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｊｕｎｇ−Ｃｈｉｅｈ  Ｃｈｅｎ，  Ｙｅｏｎｇ−Ｃｈｅｎｇ  Ｗａｎｇ，  Ｃｈｉｎｇ−Ｓｈｙａｎｇ  Ｍａａ  ａｎｄ  Ｊｉｕｎｎ−Ｔｓａｉｒ  Ｃｈｅｎ、「Ｎｅｔｗｏｒｋ−Ｓｉｄｅ  Ｍｏｂｉｌｅ  Ｐｏｓｉｔｉｏｎ  Ｌｏｃａｔｉｏｎ  Ｕｓｉｎｇ  Ｆａｃｔｏｒ  Ｇｒａｐｈｓ」、ＩＥＥＥ  ＴＲＡＮＳＡＣＴＩＯＮＳ  ＯＮ  ＷＩＲＥＬＥＳＳ  ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ、ＯＣＴＯＢＥＲ  ２００６、Ｖｏｌ．５、ＮＯ．１０、ｐ．２６９６−２７０４
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＴＯＡをベースにした位置推定では、推定対象となる無線装置と、センサとの間の同期が必要となる。しかしながら、推定対象となる無線装置が、不法無線局や未知発信源である場合、同期を確立することが困難である。一方、推定対象となる無線装置との同期を不要にし、かつセンサ間の同期だけを必要とするためには、ＴＤＯＡ（Ｔｉｍｅ  Ｄｉｆｆｅｒｅｎｃｅ  Ｏｆ  Ａｒｒｉｖａｌ）をベースにした位置推定が使用される。そこで、ＴＤＯＡをベースにした位置推定の推定精度の向上が望まれる。
【０００５】
本発明はこうした状況に鑑みてなされたものであり、その目的は、位置推定精度を向上する技術を提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の推定装置は、対象となる無線装置からの信号が複数のセンサのそれぞれにおいて受信されており、異なったセンサ間の受信時間差を取得する取得部と、取得部において取得した受信時間差をもとに、測定値誤差がガウス分布に従うと想定しながら、ＴＤＯＡ（Ｔｉｍｅ  Ｄｉｆｆｅｒｅｎｃｅ  Ｏｆ  Ａｒｒｉｖａｌ）における距離の平均値と分散値とを導出する第１因子ノード処理部と、ＴＤＯＡにおける距離の平均値と分散値から、ＴＯＡ（Ｔｉｍｅ  Ｏｆ  Ａｒｒｉｖａｌ）における距離の平均値と分散値への変換を実行する第２因子ノード処理部と、ＴＯＡにおける距離の平均値と分散値とに対してサムプロダクトアルゴリズムを実行する第１変数ノード処理部と、ＴＯＡにおける距離の平均値と分散値と、センサからの位置座標の平均値と分散値との間の変換を実行する第３因子ノード処理部と、センサからの位置座標の平均値と分散値と、無線装置の位置座標の平均値と分散値との間の変換を実行する第４因子ノード処理部と、無線装置の位置座標の平均値と分散値とに対してサムプロダクトアルゴリズムを実行する第２変数ノード処理部と、第２因子ノード処理部、第１変数ノード処理部、第３因子ノード処理部、第４因子ノード処理部、第２変数ノード処理部の順番になされる処理と、当該順番とは逆の順番になされる処理とを繰返し実行させる制御部と、制御部によって繰返し実行される処理の終了後、無線装置の位置座標の平均値を出力する出力部と、を備える。
【０００７】
本発明の別の態様は、推定方法である。この方法は、対象となる無線装置からの信号が複数のセンサのそれぞれにおいて受信されており、異なったセンサ間の受信時間差を取得する取得ステップと、取得した受信時間差をもとに、測定値誤差がガウス分布に従うと想定しながら、ＴＤＯＡ（Ｔｉｍｅ  Ｄｉｆｆｅｒｅｎｃｅ  Ｏｆ  Ａｒｒｉｖａｌ）における距離の平均値と分散値とを導出する第１因子ノード処理ステップと、ＴＤＯＡにおける距離の平均値と分散値から、ＴＯＡ（Ｔｉｍｅ  Ｏｆ  Ａｒｒｉｖａｌ）における距離の平均値と分散値への変換を実行する第２因子ノード処理ステップと、ＴＯＡにおける距離の平均値と分散値とに対してサムプロダクトアルゴリズムを実行する第１変数ノード処理ステップと、ＴＯＡにおける距離の平均値と分散値と、センサからの位置座標の平均値と分散値との間の変換を実行する第３因子ノード処理ステップと、センサからの位置座標の平均値と分散値と、無線装置の位置座標の平均値と分散値との間の変換を実行する第４因子ノード処理ステップと、無線装置の位置座標の平均値と分散値とに対してサムプロダクトアルゴリズムを実行する第２変数ノード処理ステップと、第２因子ノード処理ステップ、第１変数ノード処理ステップ、第３因子ノード処理ステップ、第４因子ノード処理ステップ、第２変数ノード処理ステップの順番になされる処理と、当該順番とは逆の順番になされる処理とが繰返し実行された後、無線装置の位置座標の平均値を出力するステップと、を備える。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によれば、位置推定精度を向上できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例に係る推定装置の構成を示す図である。
【図２】図１の推定装置による推定処理の手順を示すフローチャートである。
【図３】図２の下り方向処理の手順を示すフローチャートである。
【図４】図２の上り方向処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
本発明を具体的に説明する前に、まず概要を述べる。本発明の実施例は、不法無線局や未知発信源（以下、「無線装置」という）の位置を推定する推定装置に関する。推定装置には、複数のセンサが接続される。ＴＤＯＡでの測定値は、ふたつのセンサ間のＴＯＡの測定値の差分によって示される。ここでは、ＴＤＯＡの測定値から同等のＴＯＡの測定値を導出する。その結果、ＴＯＡベースの因子グラフの位置推定が、ＴＤＯＡベースの因子グラフの位置推定に拡張される。
【００１２】
図１は、本発明の実施例に係る推定装置１００の構成を示す。推定装置１００は、センサ１０と総称される第１センサ１０ａ、第２センサ１０ｂ、第３センサ１０ｃ、第４センサ１０ｄ、取得部１２、第１因子ノード処理部１４、外部変数ノード処理部１６、第２因子ノード処理部１８、第１変数ノード処理部２０、第３因子ノード処理部２２、内部変数ノード処理部２４、第４因子ノード処理部２６、第２変数ノード処理部２８、制御部３０、出力部３２を含む。また、第３因子ノード処理部２２は、ゼロ値回避部３４、虚数値回避部３６を含み、第１変数ノード処理部２０は、無限大回避部３８を含む。ここでは、一例として、センサ１０の数を「４」としているが、センサ１０の数は「４」に限定されない。
【００１３】
複数のセンサ１０間ではタイミング同期が確立されている。タイミング同期には公知の技術が使用されればよいので、ここでは説明を省略する。各センサ１０は、図示しない無線装置からの信号を受信し、信号を受信した受信時間を測定値として取得部１２に出力する。取得部１２は、各センサ１０から、受信時間を取得する。取得部１２は、異なったセンサ１０間の受信時間差を計算する。例えば、第１センサ１０ａでの受信時間と第２センサ１０ｂでの受信時間との間の受信時間差は、「Δτ１，２」と示される。センサ１０の数が「４」である場合、６種類の受信時間差が取得部１２によって取得可能である。
【００１４】
第１因子ノード処理部１４は、Ｅ１，２ノード５０、Ｅ１，３ノード５２、Ｅ１，４ノード５４、Ｅ２，３ノード５６、Ｅ２，４ノード５８、Ｅ３，４ノード６０を含む。Ｅ１，２ノード５０、Ｅ１，３ノード５２、Ｅ１，４ノード５４、Ｅ２，３ノード５６、Ｅ２，４ノード５８、Ｅ３，４ノード６０は、第１センサ１０ａと第２センサ１０ｂとの間の受信時間差、第１センサ１０ａと第３センサ１０ｃとの間の受信時間差、第１センサ１０ａと第４センサ１０ｄとの間の受信時間差、第２センサ１０ｂと第３センサ１０ｃとの間の受信時間差、第２センサ１０ｂと第４センサ１０ｄとの間の受信時間差、第３センサ１０ｃと第４センサ１０ｄとの間の受信時間差をそれぞれ取得部１２から受けつける。
【００１５】
第１因子ノード処理部１４に含まれた各ノードは、取得部１２において取得した受信時間差をもとに、測定値誤差がガウス分布に従うと想定しながら、ＴＤＯＡにおける距離の平均値と分散値とを導出する。なお、導出には公知の技術が使用されればよいので、ここでは説明を省略する。第１因子ノード処理部１４は、導出した平均値と分散値とを外部変数ノード処理部１６に出力する。
【００１６】
外部変数ノード処理部１６は、ｄ１，２ノード６２、ｄ１，３ノード６４、ｄ１，４ノード６６、ｄ２，３ノード６８、ｄ２，４ノード７０、ｄ３，４ノード７２を含む。ｄ１，２ノード６２、ｄ１，３ノード６４、ｄ１，４ノード６６、ｄ２，３ノード６８、ｄ２，４ノード７０、ｄ３，４ノード７２は、Ｅ１，２ノード５０、Ｅ１，３ノード５２、Ｅ１，４ノード５４、Ｅ２，３ノード５６、Ｅ２，４ノード５８、Ｅ３，４ノード６０にそれぞれ接続され、平均値と分散値とを受けつける。外部変数ノード処理部１６は、受けつけた平均値と分散値とを第２因子ノード処理部１８に出力する。ｄ１，２ノード６２からｄ３，４ノード７２のそれぞれにおける平均値と分散値は、次のように示される。
【数１】
0006396765.tif 000002
ここで、「ｍ」が平均値を示し、「σ２」が分散値を示す。また、添え字の「ｄｉ，ｊ」は、ｄｉ，ｊノードを示す。
【００１７】
第２因子ノード処理部１８から第２変数ノード処理部２８では、因子グラフでの繰返し処理がなされる。ここでは、各構成要件の処理の概要および接続関係を説明してから、繰返し処理の制御内容を説明し、最後に、各構成要件の処理の詳細を説明する。まず、各構成要件の処理の概要および接続関係を説明する。第２因子ノード処理部１８は、一端側に外部変数ノード処理部１６を接続し、他端側に第１変数ノード処理部２０を接続する。第２因子ノード処理部１８は、ＴＤＯＡにおける距離の平均値と分散値から、ＴＯＡにおける距離の平均値と分散値への変換を実行する。第１変数ノード処理部２０は、一端側に第２因子ノード処理部１８を接続し、他端側に第３因子ノード処理部２２を接続する。第１変数ノード処理部２０は、ＴＯＡにおける距離の平均値と分散値とに対してサムプロダクトアルゴリズムを実行する。
【００１８】
第３因子ノード処理部２２は、一端側に第１変数ノード処理部２０を接続し、他端側に内部変数ノード処理部２４を接続する。第３因子ノード処理部２２は、ＴＯＡにおける距離の平均値と分散値と、センサ１０からの位置座標の平均値と分散値との間の変換を実行する。内部変数ノード処理部２４は、一端側に第３因子ノード処理部２２を接続し、他端側に第４因子ノード処理部２６を接続する。内部変数ノード処理部２４は、第３因子ノード処理部２２と第４因子ノード処理部２６との間で、センサ１０からの位置座標の平均値と分散値を引き渡す。
【００１９】
第４因子ノード処理部２６は、一端側に内部変数ノード処理部２４を接続し、他端側に第２変数ノード処理部２８を接続する。第４因子ノード処理部２６は、センサ１０からの位置座標の平均値と分散値と、無線装置の位置座標の平均値と分散値との間の変換を実行する。第２変数ノード処理部２８は、一端側に第４因子ノード処理部２６を接続し、他端側に出力部３２を接続する。第２変数ノード処理部２８は、無線装置の位置座標の平均値と分散値とに対してサムプロダクトアルゴリズムを実行する。
【００２０】
次に、繰返し処理の制御内容を説明する。繰返し処理では、第２因子ノード処理部１８、第１変数ノード処理部２０、第３因子ノード処理部２２、内部変数ノード処理部２４、第４因子ノード処理部２６、第２変数ノード処理部２８の順番になされる処理（以下、「下り方向処理」という）と、当該順番とは逆の順番、つまり第２変数ノード処理部２８、第４因子ノード処理部２６、内部変数ノード処理部２４、第３因子ノード処理部２２、第１変数ノード処理部２０、第２因子ノード処理部１８の順番になされる処理（以下、「上り方向処理」という）とが、交互に繰返し実行される。このような繰返し処理は、制御部３０によって実行される。以下では、下り方向処理を説明してから、上り方向処理を説明する。
【００２１】
下り方向処理を詳細に説明する。第２因子ノード処理部１８は、Ｄ１，２ノード７４、Ｄ１，３ノード７６、Ｄ１，４ノード７８、Ｄ２，３ノード８０、Ｄ２，４ノード８２、Ｄ３，４ノード８４を含む。Ｄ１，２ノード７４、Ｄ１，３ノード７６、Ｄ１，４ノード７８、Ｄ２，３ノード８０、Ｄ２，４ノード８２、Ｄ３，４ノード８４は、ｄ１，２ノード６２、ｄ１，３ノード６４、ｄ１，４ノード６６、ｄ２，３ノード６８、ｄ２，４ノード７０、ｄ３，４ノード７２にそれぞれ接続される。各ノードは、ＴＤＯＡにおける距離の平均値と分散値を受けつけ、これらを次のように、ＴＯＡにおける距離の平均値と分散値に変換する。
【数２】
0006396765.tif 000003
【００２２】
ここで、添え字の「Ｘ→Ｙ」は、ＸノードからＹノードへ出力されることを示し、添え字の「Ｄｉ，ｊ」は、Ｄｉ，ｊノードを示し、添え字の「ｒｉ」は、後述のｒｉノードを示す。また、式（２）、式（３）が、ＴＯＡにおける距離の平均値を示し、式（４）、式（５）が、ＴＯＡにおける距離の分散値を示す。
【００２３】
第１変数ノード処理部２０は、ｒ１ノード８６、ｒ２ノード８８、ｒ３ノード９０、ｒ４ノード９２を含み、これら４つのノードのそれぞれはセンサ１０に１対１で対応する。ｒ１ノード８６は、Ｄ１，２ノード７４、Ｄ１，３ノード７６、Ｄ１，４ノード７８に接続され、ｒ２ノード８８は、Ｄ１，２ノード７４、Ｄ２，３ノード８０、Ｄ２，４ノード８２に接続され、ｒ３ノード９０は、Ｄ１，３ノード７６、Ｄ２，３ノード８０、Ｄ３，４ノード８４に接続され、ｒ４ノード９２は、Ｄ１，４ノード７８、Ｄ２，４ノード８２、Ｄ３，４ノード８４に接続される。各ノードは、ＴＯＡにおける距離の平均値と分散値とに対して、次のようにサムプロダクトアルゴリズムを実行する。
【数３】
0006396765.tif 000004
【００２４】
ここで、「Ｎ」は、センサ１０の数を示し、図１の場合、「４」である。また、式（６）が、ＴＯＡにおける距離の平均値に対するサムプロダクトアルゴリズムの実行結果であり、式（７）が、ＴＯＡにおける距離の分散値に対するサムプロダクトアルゴリズムの実行結果である。なお、以下では、サムプロダクトアルゴリズムの実行結果も、ＴＯＡにおける距離の平均値と分散値と呼ぶこともある。
【００２５】
第３因子ノード処理部２２は、Ｃ１ノード１１０、Ｃ２ノード１１２、Ｃ３ノード１１４、Ｃ４ノード１１６を含み、ゼロ値回避部３４も含む。ゼロ値回避部３４は、第１変数ノード処理部２０に含まれた各ノードが、第３因子ノード処理部２２に、ＴＯＡにおける距離の平均値と分散値を渡す際に、次の処理を実行する。ゼロ値回避部３４は、次のように、ＴＯＡにおける距離の平均値が所定の値よりも小さければ、ＴＯＡにおける距離の平均値を所定の値に変更する。
【数４】
0006396765.tif 000005
ここで、「ε」は、所定の値を示す。これは、距離がゼロに縮退することを防ぐための処理である。
【００２６】
Ｃ１ノード１１０、Ｃ２ノード１１２、Ｃ３ノード１１４、Ｃ４ノード１１６は、ゼロ値回避部３４を介して、ｒ１ノード８６、ｒ２ノード８８、ｒ３ノード９０、ｒ４ノード９２にそれぞれ接続される。各ノードは、ＴＯＡにおける距離の平均値と分散値を受けつけ、次のように、センサ１０からの位置座標の平均値と分散値へ変換する。
【数５】
0006396765.tif 000006
【数６】
0006396765.tif 000007
【００２７】
式（１０）は、各ノードから、後述のΔｘ１ノード１１８、Δｘ２ノード１２０、Δｘ３ノード１２２、Δｘ４ノード１２４へ出力される平均値であって、かつセンサ１０からの位置座標の平均値を示す。また、式（１１）は、各ノードから、後述のΔｘ１ノード１１８、Δｘ２ノード１２０、Δｘ３ノード１２２、Δｘ４ノード１２４へ出力される分散値であって、かつセンサ１０からの位置座標の分散値を示す。
【００２８】
また、式（１２）は、各ノードから、後述のΔｙ１ノード１２６、Δｙ２ノード１２８、Δｙ３ノード１３０、Δｙ４ノード１３２へ出力される平均値であって、かつセンサ１０からの位置座標の平均値を示す。また、式（１３）は、各ノードから、後述のΔｙ１ノード１２６、Δｙ２ノード１２８、Δｙ３ノード１３０、Δｙ４ノード１３２へ出力される分散値であって、かつセンサ１０からの位置座標の分散値を示す。
【００２９】
内部変数ノード処理部２４は、Δｘ１ノード１１８、Δｘ２ノード１２０、Δｘ３ノード１２２、Δｘ４ノード１２４、Δｙ１ノード１２６、Δｙ２ノード１２８、Δｙ３ノード１３０、Δｙ４ノード１３２を含む。各ノードは、第３因子ノード処理部２２から第４因子ノード処理部２６に、次のように、センサ１０からの位置座標の平均値と分散値を引き渡す。
【数７】
0006396765.tif 000008
【数８】
0006396765.tif 000009
【００３０】
式（１４）は、Δｘ１ノード１１８、Δｘ２ノード１２０、Δｘ３ノード１２２、Δｘ４ノード１２４から出力される平均値を示し、式（１５）は、Δｘ１ノード１１８、Δｘ２ノード１２０、Δｘ３ノード１２２、Δｘ４ノード１２４から出力される分散値を示す。また、式（１６）は、Δｙ１ノード１２６、Δｙ２ノード１２８、Δｙ３ノード１３０、Δｙ４ノード１３２から出力される平均値を示し、式（１７）は、Δｙ１ノード１２６、Δｙ２ノード１２８、Δｙ３ノード１３０、Δｙ４ノード１３２から出力される分散値を示す。
【００３１】
第４因子ノード処理部２６は、Ａ１ノード１３４、Ａ２ノード１３６、Ａ３ノード１３８、Ａ４ノード１４０、Ｂ１ノード１４２、Ｂ２ノード１４４、Ｂ３ノード１４６、Ｂ４ノード１４８を含む。各ノードは、センサ１０からの位置座標の平均値と分散値を受けつけ、次のように、無線装置の位置座標の平均値と分散値に変換する。
【数９】
0006396765.tif 000010
【数１０】
0006396765.tif 000011
【００３２】
式（１８）は、Ａ１ノード１３４、Ａ２ノード１３６、Ａ３ノード１３８、Ａ４ノード１４０から出力される平均値を示し、「Ｘｉ」は、ｉ番目のセンサ１０が設置された位置のＸ座標を示す。Ｘ座標は、例えば、経度として示される。式（１９）は、Ａ１ノード１３４、Ａ２ノード１３６、Ａ３ノード１３８、Ａ４ノード１４０から出力される分散値を示す。
【００３３】
式（２０）は、Ｂ１ノード１４２、Ｂ２ノード１４４、Ｂ３ノード１４６、Ｂ４ノード１４８から出力される平均値を示し、「Ｙｉ」は、ｉ番目のセンサ１０が設置された位置のＹ座標を示す。Ｙ座標は、例えば、緯度として示される。式（２１）は、Ｂ１ノード１４２、Ｂ２ノード１４４、Ｂ３ノード１４６、Ｂ４ノード１４８から出力される分散値を示す。
【００３４】
第２変数ノード処理部２８は、ｘノード１５０、ｙノード１５２を含む。ｘノード１５０は、Ａ１ノード１３４、Ａ２ノード１３６、Ａ３ノード１３８、Ａ４ノード１４０に接続され、ｙノード１５２は、Ｂ１ノード１４２、Ｂ２ノード１４４、Ｂ３ノード１４６、Ｂ４ノード１４８に接続される。各ノードは、無線装置の位置座標の平均値と分散値とに対して、サムプロダクトアルゴリズムを実行する。なお、ｘノード１５０は、平均値と分散値のそれぞれに対して２種類の処理を実行する。ひとつ目の処理（以下、「継続処理」という）は、次のように示される。
【数１１】
0006396765.tif 000012
【００３５】
式（２２）は、ｘノード１５０から、Ａ１ノード１３４、Ａ２ノード１３６、Ａ３ノード１３８、Ａ４ノード１４０に出力される分散値を示し、式（２３）は、ｘノード１５０から、Ａ１ノード１３４、Ａ２ノード１３６、Ａ３ノード１３８、Ａ４ノード１４０に出力される平均値を示す。
【００３６】
ふたつ目の処理（以下、「終端処理」という）は、次のように示される。
【数１２】
0006396765.tif 000013
式（２４）は、ｘノード１５０において生成される分散値を示し、式（２５）は、ｘノード１５０において生成される平均値を示す。これらは、Ａ１ノード１３４、Ａ２ノード１３６、Ａ３ノード１３８、Ａ４ノード１４０に出力されない。これら２種類の処理によって生成された値をどのように使用するかは後述する。
【００３７】
ｙノード１５２も、ｘノード１５０と同様に２種類の処理がなされる。継続処理は、次のように示される。
【数１３】
0006396765.tif 000014
終端処理は、次のように示される。
【数１４】
0006396765.tif 000015
【００３８】
上り方向処理を詳細に説明する。第４因子ノード処理部２６の各ノードは、第２変数ノード処理部２８から、無線装置の位置座標の平均値と分散値を受けつける。これらは、前述の継続処理での平均値と分散値である。特に、Ａ１ノード１３４、Ａ２ノード１３６、Ａ３ノード１３８、Ａ４ノード１４０は、ｘノード１５０から平均値と分散値を受けつけ、Ｂ１ノード１４２、Ｂ２ノード１４４、Ｂ３ノード１４６、Ｂ４ノード１４８は、ｙノード１５２から平均値と分散値を受けつける。各ノードは、次のように、無線装置の位置座標の平均値と分散値を、センサ１０からの位置座標の平均値と分散値に変換する。
【数１５】
0006396765.tif 000016
【数１６】
0006396765.tif 000017
【００３９】
式（３０）は、Ａ１ノード１３４、Ａ２ノード１３６、Ａ３ノード１３８、Ａ４ノード１４０から出力される平均値を示し、式（３１）は、Ａ１ノード１３４、Ａ２ノード１３６、Ａ３ノード１３８、Ａ４ノード１４０から出力される分散値を示す。また、式（３２）は、Ｂ１ノード１４２、Ｂ２ノード１４４、Ｂ３ノード１４６、Ｂ４ノード１４８から出力される平均値を示し、式（３３）は、Ｂ１ノード１４２、Ｂ２ノード１４４、Ｂ３ノード１４６、Ｂ４ノード１４８から出力される分散値を示す。
【００４０】
内部変数ノード処理部２４における各ノードは、第４因子ノード処理部２６から第３因子ノード処理部２２に、次のように、センサ１０からの位置座標の平均値と分散値を引き渡す。
【数１７】
0006396765.tif 000018
【数１８】
0006396765.tif 000019
【００４１】
式（３４）は、Δｘ１ノード１１８、Δｘ２ノード１２０、Δｘ３ノード１２２、Δｘ４ノード１２４から出力される平均値を示し、式（３５）は、Δｘ１ノード１１８、Δｘ２ノード１２０、Δｘ３ノード１２２、Δｘ４ノード１２４から出力される分散値を示す。また、式（３６）は、Δｙ１ノード１２６、Δｙ２ノード１２８、Δｙ３ノード１３０、Δｙ４ノード１３２から出力される平均値を示し、式（３７）は、Δｙ１ノード１２６、Δｙ２ノード１２８、Δｙ３ノード１３０、Δｙ４ノード１３２から出力される分散値を示す。
【００４２】
第３因子ノード処理部２２は、前述の説明に加えて、虚数値回避部３６を含む。虚数値回避部３６は、第４因子ノード処理部２６、さらに具体的には内部変数ノード処理部２４から第３因子ノード処理部２２に、センサ１０からの位置座標の平均値を渡す際に、次の処理を実行する。虚数値回避部３６は、次のように、センサ１０からの位置座標の平均値の２乗値よりも、第１変数ノード処理部２０からのＴＯＡにおける距離の平均値の２乗値が小さければ、第１変数ノード処理部２０からのＴＯＡにおける距離の平均値をもとに、センサ１０からの位置座標の平均値を変更する。
【数１９】
0006396765.tif 000020
【数２０】
0006396765.tif 000021
【００４３】
ここで、式（３８）と式（３９）は、Δｘ１ノード１１８、Δｘ２ノード１２０、Δｘ３ノード１２２、Δｘ４ノード１２４から出力された平均値に対する処理であり、式（４０）と式（４１）は、Δｙ１ノード１２６、Δｙ２ノード１２８、Δｙ３ノード１３０、Δｙ４ノード１３２から出力された平均値に対する処理である。これは、第３因子ノード処理部２２での処理によって虚数値が発生することを防ぐための処理である。
【００４４】
Ｃ１ノード１１０は、虚数値回避部３６を介して、Δｘ１ノード１１８、Δｙ１ノード１２６に接続され、Ｃ２ノード１１２は、虚数値回避部３６を介して、Δｘ２ノード１２０、Δｙ２ノード１２８に接続され、Ｃ３ノード１１４は、虚数値回避部３６を介して、Δｘ３ノード１２２、Δｙ３ノード１３０に接続され、Ｃ４ノード１１６は、虚数値回避部３６を介して、Δｘ４ノード１２４、Δｙ４ノード１３２に接続される。各ノードは、センサ１０からの位置座標の平均値と分散値を受けつけ、次のように、ＴＯＡにおける距離の平均値と分散値へ変換する。
【数２１】
0006396765.tif 000022
【００４５】
第１変数ノード処理部２０は、前述の説明に加えて、無限大回避部３８を含む。無限大回避部３８は、第３因子ノード処理部２２から第１変数ノード処理部２０に、ＴＯＡにおける距離の分散値を渡す際に、次の処理を実行する。無限大回避部３８は、次のように、ＴＯＡにおける距離の分散値が、第２因子ノード処理部１８からのＴＯＡにおける距離の分散値の最小値よりも大きければ、ＴＯＡにおける距離の分散値を、第２因子ノード処理部１８からのＴＯＡにおける距離の分散値の最小値に変更する。
【数２２】
0006396765.tif 000023
これは、第１変数ノード処理部２０での処理によって無限大が発生することを防ぐための処理である。
【００４６】
ｒ１ノード８６は、無限大回避部３８を介して、Ｃ１ノード１１０に接続され、ｒ２ノード８８は、無限大回避部３８を介して、Ｃ２ノード１１２に接続され、ｒ３ノード９０は、無限大回避部３８を介して、Ｃ３ノード１１４に接続され、ｒ４ノード９２は、無限大回避部３８を介して、Ｃ４ノード１１６に接続される。各ノードは、ＴＯＡにおける距離の平均値と分散値とに対して、次のようにサムプロダクトアルゴリズムを実行する。
【数２３】
0006396765.tif 000024
前述のごとく、サムプロダクトアルゴリズムの実行結果も、ＴＯＡにおける距離の平均値と分散値と呼ぶこともある。
【００４７】
第２因子ノード処理部１８におけるＤ１，２ノード７４は、ｒ１ノード８６、ｒ２ノード８８に接続され、Ｄ１，３ノード７６は、ｒ１ノード８６、ｒ３ノード９０に接続され、Ｄ１，４ノード７８は、ｒ１ノード８６、ｒ４ノード９２に接続され、Ｄ２，３ノード８０は、ｒ２ノード８８、ｒ３ノード９０に接続され、Ｄ２，４ノード８２は、ｒ２ノード８８、ｒ４ノード９２に接続され、Ｄ３，４ノード８４は、ｒ３ノード９０、ｒ４ノード９２に接続される。第２因子ノード処理部１８の各ノードは、前述の式（２）から式（５）を実行することによって、ＴＯＡにおける距離の平均値と分散値とを更新する。
【００４８】
制御部３０は、前述のごとく、繰返し処理を制御する。制御部３０は、式（２４）、式（２５）、式（２８）、式（２９）によって導出された平均値および分散値が収束した場合に、繰返し処理を終了させ、平均値を出力部３２に出力する。ここでは、導出された平均値および分散値と、既に導出された平均値および分散値との変化量がしきい値よりも小さくなった場合に、収束と判定される。なお、収束の判定は、平均値と分散値のいずれか一方をもとになされてもよい。
【００４９】
出力部３２は、制御部３０によって繰返し実行される処理の終了後、第２変数ノード処理部２８からの平均値を受けつけ、これを無線装置の位置座標として出力する。
【００５０】
この構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００５１】
以上の構成による推定装置１００の動作を説明する。図２は、推定装置１００による推定処理の手順を示すフローチャートである。外部変数ノード処理部１６は、式（１）を処理する（Ｓ１０）。第２因子ノード処理部１８は、式（２）〜式（５）を処理する（Ｓ１２）。第２因子ノード処理部１８から第２変数ノード処理部２８は、下り方向処理を実行する（Ｓ１４）。収束していなければ（Ｓ１６のＮ）、第２変数ノード処理部２８から第２因子ノード処理部１８は、上り方向処理を実行する（Ｓ１８）。ステップ１４に戻る。一方、収束していれば（Ｓ１６のＹ）、出力部３２は、ｍｘとｍｙとを最終的な位置座標（ｘ，ｙ）として出力する。
【００５２】
図３は、下り方向処理の手順を示すフローチャートである。第１変数ノード処理部２０は、式（６）、式（７）を実行する（Ｓ４０）。式（８）を満足した場合（Ｓ４２のＹ）、ゼロ値回避部３４は、式（９）を実行する（Ｓ４４）。式（８）を満足しない場合（Ｓ４２のＮ）、ステップ４４はスキップされる。第３因子ノード処理部２２は、式（１０）〜（１３）を実行する（Ｓ４６）。内部変数ノード処理部２４は、式（１４）〜（１７）を実行する（Ｓ４８）。第４因子ノード処理部２６は、式（１８）〜式（２１）を実行する（Ｓ５０）。第２変数ノード処理部２８は、式（２２）〜式（２９）を実行する（Ｓ５２）。
【００５３】
図４は、上り方向処理の手順を示すフローチャートである。Ａ１ノード１３４、Ａ２ノード１３６、Ａ３ノード１３８、Ａ４ノード１４０は、式（３０）、式（３１）を実行する（Ｓ７０）。Δｘ１ノード１１８、Δｘ２ノード１２０、Δｘ３ノード１２２、Δｘ４ノード１２４は、式（３４）を実行するとともに（Ｓ７２）、式（３５）を実行する（Ｓ７４）。式（３８）を満足した場合（Ｓ７６のＹ）、虚数値回避部３６は、式（３９）を実行する（Ｓ７８）。Ｂ１ノード１４２、Ｂ２ノード１４４、Ｂ３ノード１４６、Ｂ４ノード１４８は、式（３２）、式（３３）を実行する（Ｓ８０）。Δｙ１ノード１２６、Δｙ２ノード１２８、Δｙ３ノード１３０、Δｙ４ノード１３２は、式（３６）を実行するとともに（Ｓ８２）、式（３７）を実行する（Ｓ８４）。式（４０）を満足した場合（Ｓ８６のＹ）、虚数値回避部３６は、式（４１）を実行する（Ｓ８８）。
【００５４】
式（３８）を満足しない場合（Ｓ７６のＮ）、あるいはステップ７８が終了すると、第３因子ノード処理部２２は、式（４２）を実行する（Ｓ９０）。また、式（４０）を満足しない場合（Ｓ８６のＮ）、あるいはステップ８８が終了すると、第３因子ノード処理部２２は、式（４２）を実行する（Ｓ９０）。ステップ７４が終了すると、あるいはステップ７８が終了すると、第３因子ノード処理部２２は、式（４３）を実行する（Ｓ９２）。ステップ８４が終了すると、あるいはステップ８８が終了すると、第３因子ノード処理部２２は、式（４３）を実行する（Ｓ９２）。式（４４）を満足する場合（Ｓ９４のＹ）、無限大回避部３８は、式（４５）を実行する（Ｓ９６）。式（４４）を満足しない場合（Ｓ９４のＮ）、ステップ９６はスキップされる。第１変数ノード処理部２０は、式（４６）、式（４７）を実行する（Ｓ９８）。これに続いて、第２因子ノード処理部１８は、平均値と分散値とを更新する。
【００５５】
本発明の実施例によれば、ＴＤＯＡにおける距離の平均値と分散値から、ＴＯＡにおける距離の平均値と分散値への変換を実行するので、ＴＤＯＡによって測定を実行する場合であっても、ＴＯＡによる因子グラフ処理を実行できる。また、ＴＯＡによる因子グラフ処理を実行するので、位置推定精度を向上できる。また、ＴＤＯＡによって測定を実行するので、対象となる無線装置とのタイミング同期を不要にできる。また、ＴＯＡにおける距離の平均値が所定の値よりも小さければ、ＴＯＡにおける距離の平均値を所定の値に変更するので、処理結果がゼロになることを回避できる。また、センサからの位置座標の平均値の２乗値よりも、第１変数ノード処理部からのＴＯＡにおける距離の平均値の２乗値が小さければ、第１変数ノード処理部からのＴＯＡにおける距離の平均値をもとに、センサからの位置座標の平均値を変更するので、処理結果が虚数値になることを回避できる。また、ＴＯＡにおける距離の分散値が、第２因子ノード処理部からのＴＯＡにおける距離の分散値の最小値よりも大きければ、ＴＯＡにおける距離の分散値を、第２因子ノード処理部からのＴＯＡにおける距離の分散値の最小値に変更するので、処理結果が無限大になることを回避できる。
【００５６】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素の組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【００５７】
１０  センサ、  １２  取得部、  １４  第１因子ノード処理部、  １６  外部変数ノード処理部、  １８  第２因子ノード処理部、  ２０  第１変数ノード処理部、  ２２  第３因子ノード処理部、  ２４  内部変数ノード処理部、  ２６  第４因子ノード処理部、  ２８  第２変数ノード処理部、  ３０  制御部、  ３２  出力部、  ３４  ゼロ値回避部、  ３６  虚数値回避部、  ３８  無限大回避部、  １００  推定装置。
【図１】
0006396765.tif 000025
【図２】
0006396765.tif 000026
【図３】
0006396765.tif 000027
【図４】
0006396765.tif 000028