(57)【要約】【課題】少ない計算負荷で精度よくフロアを特定する。【解決手段】本願に係る位置特定サーバは、端末装置が各フロアに存在するか否かを示す判別関数におけるパラメータの係数と、予め測定された各フロアにおける各基地局の電波強度の最大値とを記憶する記憶手段と、端末装置が基地局から受信した電波の電波強度の実測値を受信する通信手段と、通信手段で受信された電波強度の実測値と、記憶手段に記憶された電波強度の最大値とに基づいて、フロアごとに判別関数のパラメータを算出し、算出されたパラメータと、記憶手段に記憶されたパラメータの係数とに基づいて、フロアごとに判別関数の解を算出し、判別関数の解が所定値以上のフロアがある場合に、判別関数の解が最大となるフロアを端末装置が存在するフロアであると判別する判別手段とを有する。【選択図】図１
2015081803.tif 000002
【特許請求の範囲】
【請求項１】
端末装置が各フロアに存在するか否かを示す判別関数におけるパラメータの係数と、予め測定された前記各フロアにおける各基地局の電波強度の最大値とを記憶する記憶手段と、
前記端末装置が前記基地局から受信した電波の電波強度の実測値を受信する通信手段と、
前記通信手段で受信された前記電波強度の実測値と、前記記憶手段に記憶された前記電波強度の最大値とに基づいて、前記フロアごとに前記判別関数の前記パラメータを算出し、算出された前記パラメータと、前記記憶手段に記憶された前記パラメータの前記係数とに基づいて、前記フロアごとに前記判別関数の解を算出し、前記判別関数の解が所定値以上の前記フロアがある場合に、前記判別関数の解が最大となる前記フロアを前記端末装置が存在するフロアであると判別する判別手段と
を有することを特徴とする位置特定サーバ。
【請求項２】
前記判別手段は、前記パラメータとして、前記通信手段で受信された前記電波強度の実測値と、前記記憶手段に記憶された前記電波強度の最大値との差の最大値、前記差が正となる個数、前記差の平均値、前記差が正のものの平均値のうち、いずれか１つ以上の値を用いて、前記判別関数の解を算出して前記端末装置が存在するフロアを判別することを特徴とする請求項１に記載の位置特定サーバ。
【請求項３】
前記判別手段は、前記パラメータとして、前記フロアごとに前記端末装置が電波を受信した前記基地局と、前記記憶手段に記憶された前記各フロアにおける前記各基地局とのうち、一致する前記基地局の数を用いて、前記判別関数の解を算出して前記端末装置が存在するフロアを判別することを特徴とする請求項１または２に記載の位置特定サーバ。
【請求項４】
さらに、前記判別関数の前記パラメータの前記係数として、予め測定された前記各フロアにおける前記各基地局の電波強度の最大値と、前記フロアが判明している前記各基地局の電波強度の実測値とに基づいて前記フロアごとの前記パラメータを算出し、前記フロアごとに前記判別関数の解を与えて前記パラメータに対応する前記係数を算出する準備手段を有することを特徴とする請求項１〜３のいずれか１項に記載の位置特定サーバ。
【請求項５】
コンピュータが、
端末装置が各フロアに存在するか否かを示す判別関数におけるパラメータの係数と、予め測定された前記各フロアにおける各基地局の電波強度の最大値とを記憶手段に記憶する記憶工程と、
前記端末装置が前記基地局から受信した電波の電波強度の実測値を受信する通信工程と、
前記通信工程で受信された前記電波強度の実測値と、前記記憶手段に記憶された前記電波強度の最大値とに基づいて、前記フロアごとに前記判別関数の前記パラメータを算出し、算出された前記パラメータと、前記記憶手段に記憶された前記パラメータの前記係数とに基づいて、前記フロアごとに前記判別関数の解を算出し、前記判別関数の解が所定値以上の前記フロアがある場合に、前記判別関数の解が最大となる前記フロアを前記端末装置が存在するフロアであると判別する判別工程と
を実行することを特徴とする位置特定方法。
【請求項６】
コンピュータに、
端末装置が各フロアに存在するか否かを示す判別関数におけるパラメータの係数と、予め測定された前記各フロアにおける各基地局の電波強度の最大値とを記憶手段に記憶する記憶手順と、
前記端末装置が前記基地局から受信した電波の電波強度の実測値を受信する通信手順と、
前記通信手順で受信された前記電波強度の実測値と、前記記憶手段に記憶された前記電波強度の最大値とに基づいて、前記フロアごとに前記判別関数の前記パラメータを算出し、算出された前記パラメータと、前記記憶手段に記憶された前記パラメータの前記係数とに基づいて、前記フロアごとに前記判別関数の解を算出し、前記判別関数の解が所定値以上の前記フロアがある場合に、前記判別関数の解が最大となる前記フロアを前記端末装置が存在するフロアであると判別する判別手順と
を実行させることを特徴とする位置特定プログラム。
【請求項７】
端末装置が各フロアに存在するか否かを示す判別関数におけるパラメータの係数と、予め測定された前記各フロアにおける各基地局の電波強度の最大値とを記憶する記憶手段と、
前記基地局から受信した電波の電波強度の実測値を計測する通信手段と、
前記通信手段で計測された前記電波強度の実測値と、前記記憶手段に記憶された前記電波強度の最大値とに基づいて、前記フロアごとに前記判別関数の前記パラメータを算出し、算出された前記パラメータと、前記記憶手段に記憶された前記パラメータの前記係数とに基づいて、前記フロアごとに前記判別関数の解を算出し、前記判別関数の解が所定値以上の前記フロアがある場合に、前記判別関数の解が最大となる前記フロアを前記端末装置が存在するフロアであると判別する判別手段と
を有することを特徴とする端末装置。
【請求項８】
端末装置が、
前記端末装置が各フロアに存在するか否かを示す判別関数におけるパラメータの係数と、予め測定された前記各フロアにおける各基地局の電波強度の最大値とを記憶手段に記憶する記憶工程と、
前記基地局から受信した電波の電波強度の実測値を計測する通信工程と、
前記通信工程で計測された前記電波強度の実測値と、前記記憶手段に記憶された前記電波強度の最大値とに基づいて、前記フロアごとに前記判別関数の前記パラメータを算出し、算出された前記パラメータと、前記記憶手段に記憶された前記パラメータの前記係数とに基づいて、前記フロアごとに前記判別関数の解を算出し、前記判別関数の解が所定値以上の前記フロアがある場合に、前記判別関数の解が最大となる前記フロアを前記端末装置が存在するフロアであると判別する判別工程と
を実行することを特徴とする位置特定方法。
【請求項９】
端末装置に、
前記端末装置が各フロアに存在するか否かを示す判別関数におけるパラメータの係数と、予め測定された前記各フロアにおける各基地局の電波強度の最大値とを記憶手段に記憶する記憶手順と、
前記基地局から受信した電波の電波強度の実測値を計測する通信手順と、
前記通信手順で計測された前記電波強度の実測値と、前記記憶手段に記憶された前記電波強度の最大値とに基づいて、前記フロアごとに前記判別関数の前記パラメータを算出し、算出された前記パラメータと、前記記憶手段に記憶された前記パラメータの前記係数とに基づいて、前記フロアごとに前記判別関数の解を算出し、前記判別関数の解が所定値以上の前記フロアがある場合に、前記判別関数の解が最大となる前記フロアを前記端末装置が存在するフロアであると判別する判別手順と
を実行させることを特徴とする位置特定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置特定サーバ、位置特定方法、位置特定プログラムおよび端末装置に関する。
【背景技術】
【０００２】
従来、端末装置を所持する人物等が、ＧＰＳ（Global  Positioning  System）の電波が届かない屋内等において測位を行うために、無線ＬＡＮ（Local  Area  Network）の基地局の電波を用いることが提案されている。無線ＬＡＮを用いた測位は、例えば、各基地局からの電波強度を、事前に建物内の各所において計測したデータベースを用いて、端末装置での電波強度の実測値と比較することで可能となる。また、当該データベースを有する装置は、建物内のフロア（階）を特定するために、フロアごとに予め計測した基地局ごとの電波強度および識別情報を記憶部に記憶し、測位を行う端末装置が受信した各基地局の電波強度および識別情報を記憶部から検索する。当該データベースを有する装置は、検索結果に基づいて、同一の基地局の識別情報と対応付けられている数が多いフロアを選択する（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４８４０３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、建物内の各所において計測した電波強度の実測値データは、測位の精度を上げるためには計測地点のメッシュを細かくする必要があり、データベースが大規模化してしまい負担が増加する。また、建物内のフロアを同一の基地局と対応付けられているフロアの数で判定するためには、建物内の全ての基地局のデータが必要となるため、やはりデータベースが大規模化する。
【０００５】
本願は、上記に鑑みてなされたものであって、少ない計算負荷で精度よくフロアを特定することができる位置特定サーバ、位置特定方法、位置特定プログラムおよび端末装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本願に係る位置特定サーバは、端末装置が各フロアに存在するか否かを示す判別関数におけるパラメータの係数と、予め測定された前記各フロアにおける各基地局の電波強度の最大値とを記憶する記憶手段と、前記端末装置が前記基地局から受信した電波の電波強度の実測値を受信する通信手段と、前記通信手段で受信された前記電波強度の実測値と、前記記憶手段に記憶された前記電波強度の最大値とに基づいて、前記フロアごとに前記判別関数の前記パラメータを算出し、算出された前記パラメータと、前記記憶手段に記憶された前記パラメータの前記係数とに基づいて、前記フロアごとに前記判別関数の解を算出し、前記判別関数の解が所定値以上の前記フロアがある場合に、前記判別関数の解が最大となる前記フロアを前記端末装置が存在するフロアであると判別する判別手段とを有することを特徴とする。
【発明の効果】
【０００７】
本願に係る位置特定サーバは、少ない計算負荷で精度よくフロアを特定することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る位置特定処理の一例を示す説明図である。
【図２】図２は、実施形態に係る位置特定システムの構成例を示す図である。
【図３】図３は、実施形態に係る基地局記憶部の一例を示す図である。
【図４】図４は、実施形態に係るフロア記憶部の一例を示す図である。
【図５】図５は、実施形態に係るＧＭＭ記憶部の一例を示す図である。
【図６】図６は、実施形態に係る事前計測記憶部の一例を示す図である。
【図７】図７は、実施形態に係る検証データ記憶部の一例を示す図である。
【図８】図８は、実施形態に係る候補フロア記憶部の一例を示す図である。
【図９】図９は、実施形態に係る係数記憶部の一例を示す図である。
【図１０】図１０は、実施形態に係るＧＭＭの一例を示す説明図である。
【図１１】図１１は、実施形態に係る位置推定処理のパーティクルの初期配置の一例を示す説明図である。
【図１２】図１２は、実施形態に係る位置推定処理のパーティクルの再配置後の一例を示す説明図である。
【図１３】図１３は、実施形態に係る推定値算出処理の一例を示す説明図である。
【図１４】図１４は、実施形態に係る推定値算出処理の一例を示す説明図である。
【図１５】図１５は、判別関数のパラメータ算出の一例を示す説明図である。
【図１６】図１６は、実施形態に係る位置特定サーバによる準備処理の一例を示すフローチャートである。
【図１７】図１７は、実施形態に係る位置特定サーバによる位置特定処理の一例を示すフローチャートである。
【図１８】図１８は、実施形態に係る位置特定サーバによる判定処理の一例を示すフローチャートである。
【図１９】図１９は、実施形態に係る位置特定サーバによる位置推定処理の一例を示すフローチャートである。
【図２０】図２０は、実施形態に係る位置特定サーバによる判別処理の一例を示すフローチャートである。
【図２１】図２１は、実施形態に係る位置特定サーバによる算出処理の一例を示すフローチャートである。
【図２２】図２２は、位置特定サーバの機能を実現するコンピュータの一例を示すハードウエア構成図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る位置特定サーバ、位置特定方法、位置特定プログラムおよび端末装置を実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る位置特定サーバ、位置特定方法、位置特定プログラムおよび端末装置が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１０】
〔１．位置特定処理の概要〕
まず、図１を用いて、実施形態に係る位置特定処理の一例について説明する。図１は、実施形態に係る位置特定処理の一例を示す説明図である。図１の例では、端末装置１０は、基地局１５Ａ〜１５Ｃの電波を受信し、基地局１５Ａ〜１５Ｃの固有ＩＤであるＢＳＳＩＤ（Basic  Service  Set  Identifier）と電波強度（受信強度（ＲＳＳＩ：Received  Signal  Strength  Indicator）ともいう）とを、位置特定サーバ１００に送信する。位置特定サーバ１００では、受信したＢＳＳＩＤと電波強度とに基づいて、位置特定処理が行われる。なお、基地局１５Ａ〜１５Ｃを区別しない場合は、基地局１５と表現する。
【００１１】
まず、端末装置１０は、建物５の内部で基地局１５Ａ〜１５Ｃの電波を受信する。端末装置１０は、受信した電波から基地局１５Ａ〜１５ＣのＢＳＳＩＤを検出し、ＢＳＳＩＤごとに受信した電波の電波強度の実測値を取得する。端末装置１０は、ＢＳＳＩＤと電波強度の実測値とを対応付けて、ネットワークＮを介して位置特定サーバ１００に送信する（図１中、矢印で示すステップＳ１）。
【００１２】
位置特定サーバ１００は、受信したＢＳＳＩＤおよび電波強度の実測値と、ＧＭＭ記憶部１２３に記憶されたＧＭＭ（Gaussian  Mixture  Model）に基づいて、端末装置１０の位置を建物５のフロア（階）ごとに推定する（ステップＳ２）。なお、位置特定サーバ１００は、判別関数を用いてフロアが特定可能である場合には、判別関数で特定されたフロアに対して、端末装置１０の位置を推定する。ここで、ＧＭＭとは、各フロアにおける基地局の電波強度を複数のガウス分布関数の重ね合わせで表現したものである。例えば、フロアＦ３に対しては、基地局１５ＡのＧＭＭ１２３Ａ、基地局１５ＢのＧＭＭ１２３Ｂ、および、基地局１５ＣのＧＭＭ１２３ＣがＧＭＭ記憶部１２３に記憶されている。また、例えば、フロアＦ２に対しては、基地局１５ＡのＧＭＭ１２４Ａ、基地局１５ＢのＧＭＭ１２４Ｂ、および、基地局１５ＣのＧＭＭ１２４ＣがＧＭＭ記憶部１２３に記憶されている。
【００１３】
位置特定サーバ１００は、例えば、フロアＦ３とフロアＦ２とについて、端末装置１０の位置を推定するとする。位置特定サーバ１００は、フロアＦ３における端末装置１０の位置を、電波強度の実測値と、ＧＭＭ１２３Ａ、ＧＭＭ１２３Ｂ、および、ＧＭＭ１２３Ｃとに基づいて、パーティクルフィルタを用いて総合評価を行って、端末装置１０の位置を推定する。パーティクルフィルタは、時系列フィルタリング手法の一つであり、多数の次状態をパーティクルに見立て、全パーティクルの尤度に基づいて重みつき平均を次状態として予測しながら追跡する。
【００１４】
位置特定サーバ１００は、パーティクルフィルタによって、フロアＦ３における端末装置１０の位置を推定する。位置特定サーバ１００は、端末装置１０の推定位置２１における基地局１５Ａ〜１５Ｃの電波強度の推定値を算出する。基地局１５Ａの電波強度の推定値は、ＧＭＭ１２３Ａから推定値２１Ａと算出できる。同様に、基地局１５Ｂの電波強度の推定値は、ＧＭＭ１２３Ｂから推定値２１Ｂと算出でき、基地局１５Ｃの電波強度の推定値は、ＧＭＭ１２３Ｃから推定値２１Ｃと算出できる。
【００１５】
位置特定サーバ１００は、基地局１５Ａ〜１５Ｃの算出された電波強度の推定値２１Ａ〜２１Ｃと、基地局１５Ａ〜１５Ｃの電波強度の実測値とに基づいて、端末装置１０がフロアＦ３に存在する確率を算出する。端末装置１０がフロアＦ３に存在する確率は、例えば、電波強度の推定値と実測値との差に応じて算出できる。位置特定サーバ１００は、フロアＦ２等の他のフロアについても同様に、端末装置１０がフロアＦ２等の各フロアに存在する確率を算出する。ここで、例えば、端末装置１０が各フロアに存在する確率は、フロアＦ３が５０％、フロアＦ２が１０％であったとする。
【００１６】
位置特定サーバ１００は、各フロアにおける端末装置１０が存在する確率を比較して、最も確率の高いフロア、つまりフロアＦ３に端末装置１０が存在すると特定する。すなわち、位置特定サーバ１００は、端末装置１０の推定位置２１およびフロアＦ３を特定する。
【００１７】
位置特定サーバ１００は、特定した端末装置１０の推定位置およびフロアを、位置情報として端末装置１０に対して送信する（ステップＳ３）。端末装置１０は、位置情報を受信すると、例えば、画面上に表示された建物５の地図上に表示することで、端末装置１０のユーザに対して、現在いるフロアと位置を知らせる。
【００１８】
このように、実施形態に係る位置特定処理において、位置特定サーバ１００は、各基地局１５Ａ〜１５Ｃの電波強度の実測値とＧＭＭとに基づいて、端末装置１０の位置を建物５のフロアごとに推定する。位置特定サーバ１００は、フロアごとの端末装置１０の位置を推定すると、受信位置での電波強度の実測値と、ＧＭＭから算出した電波強度の推定値とを比較することで、当該フロアに端末装置１０が存在する確率を算出し、端末装置１０が存在するフロアを特定する。また、位置特定サーバ１００は、各基地局１５Ａ〜１５Ｃの電波強度の実測値と、予め測定された各フロアにおける各基地局１５Ａ〜１５Ｃの電波強度の最大値とに基づいて、フロアごとに判別関数を用いて端末装置１０が存在するフロアを特定する。このため、端末装置１０のユーザに対して、現在いるフロアと位置を知らせることができる。以下、このような位置特定処理を行う端末装置１０、基地局１５、および、位置特定サーバ１００について詳細に説明する。
【００１９】
〔２．位置特定システム〕
次に、図２を用いて、実施形態に係る位置特定システム１について説明する。図２は、実施形態に係る位置特定システムの構成例を示す図である。図２に示すように、位置特定システム１には、端末装置１０と、基地局１５と、位置特定サーバ１００とが含まれる。端末装置１０と位置特定サーバ１００は、基地局１５とネットワークＮを介して、有線または無線により通信可能に接続される。なお、図示はしないが、端末装置１０と位置特定サーバ１００は、基地局１５とは独立した別個の基地局（例えば、携帯電話のアンテナ基地局）を介してネットワークＮを経て接続されてもよい。また、図２では、位置特定システム１に、１台の端末装置１０が含まれ、３台の基地局１５が含まれる例を示したが、位置特定システム１には、さらに多くの端末装置１０および基地局１５が含まれてもよい。
【００２０】
〔３．端末装置の構成〕
続いて、端末装置１０の構成について説明する。端末装置１０は、ユーザによって利用される情報処理装置であり、例えば、携帯電話機（例えば、スマートフォン）やＰＤＡ（Personal  Digital  Assistant）等に該当する。図２に示すように、端末装置１０は、通信部１１と、制御部１２と、表示部１３とを有する。
【００２１】
（通信部１１について）
通信部１１は、基地局１５に接続され、ネットワークＮを介して、位置特定サーバ１００との間で情報の送受信を行う。かかる通信部１１は、基地局１５との接続を無線により行う。通信部１１は、無線として無線ＬＡＮ等を用いることができる。通信部１１は、受信可能な基地局１５の電波についてＢＳＳＩＤを検出し、ＢＳＳＩＤごとに受信した電波の電波強度の実測値を取得する。
【００２２】
（制御部１２について）
制御部１２は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１２は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【００２３】
かかる制御部１２は、通信部１１が取得した基地局１５のＢＳＳＩＤと電波強度の実測値とを対応付けて、通信部１１およびネットワークＮを介して、位置特定サーバ１００に送信する。また、制御部１２は、位置特定サーバ１００から受信した位置情報を、例えば、地図上にマッピングして表示部１３に表示する。なお、制御部１２は、端末装置１０全体を制御し、各種情報処理を行う。
【００２４】
（表示部１３について）
表示部１３は、各種情報を表示するための表示デバイスである。例えば、表示部１３は、液晶ディスプレイ等によって実現される。また、図示しない入力部としてタッチパネルが採用されている場合には、表示部１３およびその入力部は一体化される。
【００２５】
〔４．基地局の構成〕
続いて、基地局１５の構成について説明する。基地局１５は、例えば、無線ＬＡＮの無線基地局であり、端末装置１０と無線で接続し、ネットワークＮを介して位置特定サーバ１００と接続する。基地局１５は、例えば、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎ等の規格に基づいたものである。
【００２６】
〔５．位置特定サーバの構成〕
次に、位置特定サーバ１００の構成について説明する。位置特定サーバ１００は、端末装置１０から受信したＢＳＳＩＤおよび電波強度と、後述するＧＭＭ記憶部１２３に記憶されたＧＭＭに基づいて、端末装置１０の位置をフロアごとに推定するサーバ装置である。図２に示すように、位置特定サーバ１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、位置特定サーバ１００は、位置特定サーバ１００の管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（液晶ディスプレイ等）を有してもよい。
【００２７】
（通信部１１０について）
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。かかる通信部１１０は、ネットワークＮおよび基地局１５を介して、端末装置１０との間で情報の送受信を行う。
【００２８】
（記憶部１２０について）
記憶部１２０は、例えば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。かかる記憶部１２０は、基地局記憶部１２１と、フロア記憶部１２２と、ＧＭＭ記憶部１２３と、事前計測記憶部１２４と、検証データ記憶部１２５と、候補フロア記憶部１２６と、係数記憶部１２７とを有する。また、記憶部１２０は、制御部１３０で実行されるＯＳ（Operating  System）や各種プログラム、各種データを記憶する。
【００２９】
（基地局記憶部１２１について）
基地局記憶部１２１は、端末装置１０が受信した基地局１５のＢＳＳＩＤ等を格納する。図３は、実施形態に係る基地局記憶部の一例を示す図である。図３に示すように、基地局記憶部１２１は、「ＢＳＳＩＤ」、「代表緯度」、「代表経度」、「ＭａｘＲＳＳＩ」、「ＧＭＭＦｌａｇ」、「受信可能フロアＩＤ」といった項目を有する。
【００３０】
「ＢＳＳＩＤ」は、受信した基地局１５の電波から検出したＢＳＳＩＤであり、基地局１５を識別する。「代表緯度」および「代表経度」は、ＧＭＭパラメータを導出するために、事前に複数地点で電波強度の測定を行なうが（詳細は後述）最も電波強度が強かった位置の緯度および経度を示す。「ＭａｘＲＳＳＩ」は、前記代表緯度、代表経度での該当ＢＳＳＩＤの電波強度の実測値のうち最大のものを示す。図３の一行目の例では、例えば、電波強度として−７５．０ｄＢｍが計測されたことを示す。「ＧＭＭＦｌａｇ」は、位置推定に用いるＧＭＭパラメータを既に導出済であるか否かを示す。例えば、「１」は導出済を示し、「０」は未導出を示す。「受信可能フロアＩＤ」は、当該ＢＳＳＩＤを有する基地局１５の電波を受信可能なフロアのフロアＩＤを示す。
【００３１】
（フロア記憶部１２２について）
フロア記憶部１２２は、測位を行う建物内のフロアの情報等を格納する。図４は、実施形態に係るフロア記憶部の一例を示す図である。図４に示すように、フロア記憶部１２２は、「フロアＩＤ」、「フロア図面のファイル名」、「フロア図面の幅」、「フロア図面の高さ」、「フロアの緯度経度」、「階数」といった項目を有する。
【００３２】
「フロアＩＤ」は、フロアを識別する。フロアＩＤは、例えば、複数の建物に対応できるように、固有のＩＤを振ってもよい。「フロア図面のファイル名」は、フロア図面のファイルを示す。フロア図面は、例えば、柱、壁等が記入されたものである。「フロア図面の幅」および「フロア図面の高さ」は、例えば、フロア図面の横方向および縦方向のピクセル数である。「フロアの緯度経度」は、当該フロアのエリアを確定するためのものであり、例えば、フロアの左上、左下および右上の緯度経度を示す。「階数」は、フロアが建物内の何階であるかを示す。なお、これらの情報により、フロア図面のピクセル座標と緯度経度との相互変換が可能になる。
【００３３】
（ＧＭＭ記憶部１２３について）
ＧＭＭ記憶部１２３は、各フロアのＢＳＳＩＤおよび対応するＧＭＭ等を格納する。図５は、実施形態に係るＧＭＭ記憶部の一例を示す図である。図５に示すように、ＧＭＭ記憶部１２３は、「フロアＩＤ」、「ＢＳＳＩＤの数」、「ＢＳＳＩＤ」、「Ｋ」、「π」、「μｘ」、「μｙ」、「Σ１１」、「Σ１２」、「Σ２２」といった項目を有する。
【００３４】
「フロアＩＤ」は、フロアを識別する。「ＢＳＳＩＤの数」は、そのフロアで受信できる基地局１５の数、つまりＢＳＳＩＤの数を示す。「ＢＳＳＩＤ」は、基地局１５を識別する。「Ｋ」は、ＧＭＭパラメータであり、正規分布の混合数を示す。「π」は、ＧＭＭパラメータであり、各正規分布の重みを表す混合係数を示す。なお、全混合係数πの和は１となる。「μｘ」および「μｙ」は、ＧＭＭパラメータであり、正規分布のｘ方向およびｙ方向の平均を示す。「Σ１１」、「Σ１２」および「Σ２２」は、ＧＭＭパラメータであり、正規分布の分散共分散行列を示す。ここで、ＧＭＭパラメータを算出するＧＭＭについて、式（１）に示す。なお、式（１）は、規格化も考慮した正規分布の重ねあわせで表現したもので、ＧＭＭパラメータはこの式を元に導出する。また、式（２）は電波強度ＲＳＳＩとＧＭＭとの変換式を示し、係数α、βは最小２乗法により算出することができる（図示せず）。
【００３５】
【数１】
2015081803.tif 000003
【数２】
2015081803.tif 000004
【００３６】
２次元のＧＭＭの形状は、個々の正規分布の平均μ、分散共分散行列Σ、混合係数πにより決定する。位置特定サーバ１００では、ＧＭＭを用いてフロアの電波強度の分布を表している。
【００３７】
ここで、ＧＭＭの算出について説明する。なお、ＧＭＭの算出については、論文「A  Wireless  LAN  Location  Estimation  Method  Based  on  Gaussian  Mixture  Model」（SUSUMU  FUJITA，KATSUHIKO  KAJI  and  NOBUO  KAWAGUCHI；情報処理学会論文誌  Vol.52  No.3  1069-1081（Mar.  2011））による。
【００３８】
まず、位置特定サーバ１００の管理者は、端末装置１０または他の測定装置を用いて、あるフロアにおける基地局１５の電波強度を測定する。電波強度の測定点は、例えば、数ｍ間隔等で設定する。管理者は、各測定点において複数回の測定を行い、その平均をその測定点の電波強度とする。管理者は、多数の測定点の電波強度のデータから、２次元点分布へ変換を行う。２次元点分布への変換は、測定点ごとに領域を分割し、各領域に電波強度に応じた数の点を撒くことで点の分布へと変換する。なお、領域の分割には、ボロノイ分割を用いることができる。
【００３９】
続いて、点の分布を、ＥＭアルゴリズムを用いてＧＭＭに変換する。ＥＭアルゴリズムは、ＥステップとＭステップとの２つの更新手続きがあり、対数尤度関数を計算して収束基準を満たすまで、ＥステップとＭステップとを繰り返す。このようにして算出したＧＭＭの一例を図１０に示す。図１０は、実施形態に係るＧＭＭの一例を示す説明図である。ＧＭＭは、ガウス関数（釣鐘型関数）の組み合わせであり、山脈状のいわゆるヒートマップで表すことができる。図１０では、ヒートマップの等高線、つまり、電波強度が同じ値または所定範囲内である部分を同一のハッチングとして表している。
【００４０】
（事前計測記憶部１２４について）
事前計測記憶部１２４は、予め測定された各フロアにおける各基地局の電波強度およびその最大値等を格納する。図６は、実施形態に係る事前計測記憶部の一例を示す図である。図６に示すように、事前計測記憶部１２４は、「フロアＩＤ」、「ＢＳＳＩＤ」、「ＲＳＳＩ＿ｍａｘ」、「ＲＳＳＩ」といった項目を有する。
【００４１】
「フロアＩＤ」は、フロアを識別する。「ＢＳＳＩＤ」は、事前に当該フロアで受信された基地局１５の電波から検出したＢＳＳＩＤであり、基地局１５を識別する識別情報であるが、基地局１５を識別できれば、構成や技術の仕様に応じ、他の任意の識別情報を用いてもよい。「ＲＳＳＩ＿ｍａｘ」は、当該フロアで受信された基地局１５の電波のうち、各フロアにおける当該ＢＳＳＩＤごとの電波強度の最大値を示す。「ＲＳＳＩ」は、当該フロア内の複数地点で受信された基地局１５の電波強度の実測値を示す。
【００４２】
（検証データ記憶部１２５について）
検証データ記憶部１２５は、予め計測されたフロアおよび計測位置が判明している各基地局１５の電波強度の実測値を格納する。図７は、実施形態に係る検証データ記憶部の一例を示す図である。図７に示すように、検証データ記憶部１２５は、「検証データＩＤ」、「フロアＩＤ」、「位置」、「ＢＳＳＩＤ」、「ＲＳＳＩ」といった項目を有する。
【００４３】
「検証データＩＤ」は、検証データを識別する。「フロアＩＤ」は、検証データが測定されたフロアを識別する。「位置」は、検証データが測定されたフロア内の位置を示す。なお、図７中では、簡略化のため位置を「ｒ１」として示したが、実際には、緯度経度等で表された位置情報である。「ＢＳＳＩＤ」は、検証データが測定された位置で受信された基地局１５の電波から検出したＢＳＳＩＤであり、基地局１５を識別する。「ＲＳＳＩ」は、検証データが測定された位置で受信された基地局１５の電波強度の値を示す。
【００４４】
（候補フロア記憶部１２６について）
候補フロア記憶部１２６は、検証データＩＤ、実測フロアＩＤおよび候補フロアＩＤごとに算出された判別関数のパラメータと、位置特定サーバ１００の管理者によって与えられた判別関数の解とを格納する。なお、判別関数については後述する。図８は、実施形態に係る候補フロア記憶部の一例を示す図である。図８に示すように、候補フロア記憶部１２６は、「検証データＩＤ」、「実測フロアＩＤ」、「候補フロアＩＤ」、「パラメータｘ１」、「パラメータｘ２」、「パラメータｘ３」、「パラメータｘ４」、「パラメータｘ５」、「判別関数の解ｆ」といった項目を有する。
【００４５】
「検証データＩＤ」は、検証データを識別する。「実測フロアＩＤ」は、検証データが実際に測定されたフロアを示す。「候補フロアＩＤ」は、事前計測記憶部１２４に格納されたフロアＩＤごとに受信されたＢＳＳＩＤと、検証データに含まれるＢＳＳＩＤとを比較して、一致するＢＳＳＩＤを有する事前計測記憶部１２４に格納されたフロアＩＤを示す。つまり、「候補フロアＩＤ」は、検証データに含まれるＢＳＳＩＤを有する基地局１５の電波のうち、１つ以上が受信できるフロアを示す。
【００４６】
「パラメータｘ１」は、検証データの電波強度の実測値（ＲＳＳＩ）と、事前計測記憶部１２４に格納された電波強度の最大値（ＲＳＳＩ＿ｍａｘ）との差の最大値を示す。「パラメータｘ２」は、ＲＳＳＩとＲＳＳＩ＿ｍａｘとの差が正となる個数を示す。「パラメータｘ３」は、ＲＳＳＩとＲＳＳＩ＿ｍａｘとの差の平均値を示す。「パラメータｘ４」は、ＲＳＳＩとＲＳＳＩ＿ｍａｘとの差が正のものの平均値を示す。「パラメータｘ５」は、事前計測記憶部１２４に格納されたフロアＩＤごとに受信されたＢＳＳＩＤと、検証データに含まれるＢＳＳＩＤとを比較したときの一致するＢＳＳＩＤの数を示す。つまり、「パラメータｘ５」は、フロアごとに端末装置１０が電波を受信した基地局１５と、事前計測記憶部１２４に格納された各フロアにおける各基地局１５とのうち、一致する基地局１５の数を示す。
【００４７】
「判別関数の解ｆ」は、位置特定サーバ１００の管理者によって与えられた判別関数の解を示す。「判別関数の解ｆ」は、検証データＩＤの実測フロアＩＤと候補フロアＩＤとが一致していれば「１」が入力され、検証データＩＤの実測フロアＩＤと候補フロアＩＤとが一致していなければ「０」が入力される。
【００４８】
（係数記憶部１２７について）
係数記憶部１２７は、フロアＩＤごとに算出された判別関数のパラメータの係数を格納する。図９は、実施形態に係る係数記憶部の一例を示す図である。図９に示すように、係数記憶部１２７は、「フロアＩＤ」、「判別関数のパラメータの係数ｋ０」、「判別関数のパラメータの係数ｋ１」、「判別関数のパラメータの係数ｋ２」、「判別関数のパラメータの係数ｋ３」、「判別関数のパラメータの係数ｋ４」、「判別関数のパラメータの係数ｋ５」といった項目を有する。
【００４９】
「フロアＩＤ」は、フロアを識別する。「判別関数のパラメータの係数ｋ０」は、判別関数の定数項すなわち定数を示すが、表記の一貫性から「係数」と呼ぶこととする。「判別関数のパラメータの係数ｋ１」は、パラメータｘ１に対応する係数を示す。「判別関数のパラメータの係数ｋ２」は、パラメータｘ２に対応する係数を示す。「判別関数のパラメータの係数ｋ３」は、パラメータｘ３に対応する係数を示す。「判別関数のパラメータの係数ｋ４」は、パラメータｘ４に対応する係数を示す。「判別関数のパラメータの係数ｋ５」は、パラメータｘ５に対応する係数を示す。判別関数のパラメータの係数は、候補フロア記憶部１２６に格納されたデータに基づいて、公知の多変量解析の回帰分析（特に判別分析）によりフロアごとに算出される。なお、図９に示す各数値は、概念的な例であって、実測値に基づいた実際の各数値としては、例えば、ｋ０＝４３．７、ｋ１＝−３０．９、ｋ２＝−３４．８、ｋ３＝８．０、ｋ４＝１０．３、ｋ５＝５２．７といった、さまざまな範囲の数値が挙げられる。また、新たなパラメータとして、電波強度の実測値（ＲＳＳＩ）と当該フロアでの電波強度の最大値（ＲＳＳＩ＿ｍａｘ）との差の最小値をパラメータｘ６として設けることもできる。この場合、対応する係数をｋ６としたときは、例えば、ｋ６＝−１２．１といった数値が挙げられる。
【００５０】
（制御部１３０について）
図２の説明に戻って、制御部１３０は、例えば、ＣＰＵやＭＰＵ等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現される。
【００５１】
かかる制御部１３０は、図２に示すように、判定部１３１と、推定部１３２と、算出部１３３と、特定部１３４と、準備部１３５と、判別部１３６とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図２に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００５２】
（判定部１３１について）
判定部１３１は、端末装置１０からＢＳＳＩＤおよび電波強度の実測値を受信すると、フロアＩＤごとに、つまり建物のフロアごとに、固有のＢＳＳＩＤの数をカウントする。すなわち、判定部１３１は、基地局記憶部１２１を参照して、受信したＢＳＳＩＤのうち、あるフロアでのみ受信可能である基地局１５のＢＳＳＩＤの数を抽出する。判定部１３１は、固有のＢＳＳＩＤがない場合には、基地局記憶部１２１を参照して、受信可能なフロアを可能性のあるフロアとして抽出し、抽出したフロアのフロアＩＤおよび電波強度の実測値を判別部１３６に出力する。
【００５３】
判定部１３１は、固有のＢＳＳＩＤがある場合には、固有のＢＳＳＩＤの数が最大のフロアを決定する。判定部１３１は、固有のＢＳＳＩＤの数が最大のフロアが１つの場合には、決定したフロアを端末装置１０が存在するフロアと特定する。判定部１３１は、固有のＢＳＳＩＤの数が最大のフロアが複数の場合には、固有のＢＳＳＩＤの中で電波強度の実測値が最大のＢＳＳＩＤが属するフロアを、端末装置１０が存在するフロアと特定する。
【００５４】
判定部１３１は、電波強度の実測値が所定の閾値より大きいＢＳＳＩＤを抽出する。判定部１３１は、電波強度の実測値が所定の閾値より大きいＢＳＳＩＤを抽出できた場合には、抽出したＢＳＳＩＤを推定部１３２に出力する。判定部１３１は、電波強度の実測値が所定の閾値より大きいＢＳＳＩＤを抽出できなかった場合には、例えば、所定の閾値を１０ｄＢｍ下げて、再度ＢＳＳＩＤを抽出する。判定部１３１は、下げた閾値より大きいＢＳＳＩＤを抽出できた場合には、抽出したＢＳＳＩＤを推定部１３２に出力する。判定部１３１は、下げた閾値より大きいＢＳＳＩＤを抽出できなかった場合には、例えば、所定の閾値を再度１０ｄＢｍ下げて、再々度ＢＳＳＩＤを抽出する。判定部１３１は、２回下げた閾値より大きいＢＳＳＩＤを抽出できた場合には、抽出したＢＳＳＩＤ、特定したフロアのフロアＩＤおよび電波強度の実測値を推定部１３２に出力する。判定部１３１は、２回下げた閾値より大きいＢＳＳＩＤを抽出できなかった場合には、エラー処理を行う。また、判定部１３１は、電波強度の実測値を算出部１３３に出力する。
【００５５】
（推定部１３２について）
推定部１３２は、判定部１３１または判別部１３６から特定したフロアのフロアＩＤ、ＢＳＳＩＤ、および、電波強度の実測値、あるいは、判別部１３６から可能性のあるフロアのフロアＩＤ、ＢＳＳＩＤ、および、電波強度の実測値が入力される。推定部１３２は、可能性のあるフロアのフロアＩＤが入力された場合は、例えば、フロアＩＤの若い順に１つのフロアＩＤを選択する。推定部１３２は、入力されたフロアＩＤのフロアについて、電波強度の実測値が閾値より大きいＢＳＳＩＤが抽出済であるか否かを判定する。推定部１３２は、電波強度の実測値が閾値より大きいＢＳＳＩＤが抽出済でない場合、つまり、可能性のあるフロアのフロアＩＤが入力された場合、電波強度の実測値が所定の閾値より大きいＢＳＳＩＤを抽出する。推定部１３２は、電波強度の実測値が閾値より大きいＢＳＳＩＤが抽出済である場合、および、電波強度の実測値が所定の閾値より大きいＢＳＳＩＤを抽出できた場合には、ＧＭＭ記憶部１２３から当該フロアにおける抽出したＢＳＳＩＤのＧＭＭパラメータを読み込んで、パーティクルフィルタに設定する。
【００５６】
推定部１３２は、電波強度の実測値が所定の閾値より大きいＢＳＳＩＤを抽出できなかった場合、または、パーティクルフィルタにＧＭＭパラメータが設定できなかった場合には、例えば、所定の閾値を１０ｄＢｍ下げて、再度ＢＳＳＩＤを抽出する。推定部１３２は、判定部１３１と同様に２回閾値を下げてＢＳＳＩＤが抽出できるか試す。なお、推定部１３２は、２回閾値を下げてＢＳＳＩＤが抽出できない場合は、エラー処理を行う。推定部１３２は、パーティクルフィルタにＧＭＭパラメータが設定できた場合には、パーティクルフィルタで端末装置１０の位置を推定する。推定部１３２は、判別部１３６から可能性のあるフロアのフロアＩＤが入力された場合は、推定した端末装置１０の位置、および、推定に用いたフロアＩＤを算出部１３３に出力する。また、推定部１３２は、判定部１３１または判別部１３６から特定したフロアのフロアＩＤが入力された場合は、推定した端末装置１０の位置、特定したフロアのフロアＩＤ、および、フロア記憶部１２２から読み出した特定したフロアの図面等の情報を、位置情報として通信部１１０を介して端末装置１０に送信する。
【００５７】
ここで、パーティクルフィルタによる位置の推定について説明する。図１１は、実施形態に係る位置推定処理のパーティクルの初期配置の一例を示す説明図である。図１１の例では、フロアＦ２にパーティクル２６が均等に配置されている。各パーティクル２６は、基地局１５のＧＭＭにおける存在確率に応じて移動する。つまり、各パーティクル２６は、存在確率に応じて重み付けを行い、ランダムウォークを加えてリサンプリングを行う。各パーティクル２６の重みは、他のパーティクル２６が次に移動する場所の確率として扱うと、重みの大きなパーティクル２６の周囲に他のパーティクル２６の多くが再配置される。図１２は、実施形態に係る位置推定処理のパーティクルの再配置後の一例を示す説明図である。図１２の例では、例えば、重みの大きなパーティクル２６の周囲に、他のパーティクル２６が集合した状態を示す。すなわち、端末装置１０の推定位置２７は、重みの大きなパーティクル２６付近であると推定できる。
【００５８】
（算出部１３３について）
算出部１３３は、推定部１３２から推定した端末装置１０の位置およびフロアＩＤが入力される。また、算出部１３３は、判定部１３１から電波強度の実測値が入力される。算出部１３３は、フロアＩＤに基づき基地局記憶部１２１を参照し、フロアＩＤが示すフロアで受信可能なＢＳＳＩＤ（基地局１５）を抽出する。算出部１３３は、抽出したＢＳＳＩＤのＧＭＭをＧＭＭ記憶部１２３から読み込んで、端末装置１０の推定位置におけるＢＳＳＩＤの電波強度を算出し、電波強度の推定値とする。
【００５９】
ここで、端末装置１０の推定位置におけるＢＳＳＩＤの電波強度の推定値の算出について説明する。図１３は、実施形態に係る推定値算出処理の一例を示す説明図である。例えば、端末装置１０の推定位置を推定位置２１、フロアＩＤをＦ３とし、フロアＦ３で受信可能な基地局１５が基地局１５Ａ〜１５Ｃであり、基地局１５Ａ〜１５Ｃに対応するＧＭＭが、ＧＭＭ１２３Ａ〜１２３Ｃであったとする。このとき、算出部１３３は、推定位置２１におけるＧＭＭ１２３Ａから、電波強度の推定値２１Ａを算出する。同様に、算出部１３３は、推定位置２１におけるＧＭＭ１２３Ｂから、電波強度の推定値２１Ｂを算出し、推定位置２１におけるＧＭＭ１２３Ｃから、電波強度の推定値２１Ｃを算出する。
【００６０】
算出部１３３は、受信した電波強度の実測値と、推定位置２１におけるＢＳＳＩＤごとの電波強度の推定値とから正規分布に基づいて、端末装置１０が当該フロアに存在する確率を算出する。端末装置１０が当該フロアに存在する確率は、例えば、電波強度の推定値と実測値との差に応じて算出できる。ここで、図１３の例で説明すると、電波強度の実測値は、実測値２０Ａ〜２０Ｃであったとする。このとき、実測値２０Ａ〜２０Ｃは、ＧＭＭ上では、図１３の水平面に示すように円環状の部分に対応すると仮定する。ここで、電波強度の推定値２１Ａ〜２１Ｃと、電波強度の実測値２０Ａ〜２０Ｃとは、重なる部分が存在する。つまり、電波強度の推定値２１Ａ〜２１Ｃと電波強度の実測値２０Ａ〜２０Ｃとの差は、ほとんどないといえる。ここで、確率は、ＢＳＳＩＤごとに式（３）に示す１次元の正規分布で表現でき、端末装置１０が当該フロアに存在する確率は、例えば、ＢＳＳＩＤが３つ抽出できたフロアＡの場合、式（４）に示すように、ＢＳＳＩＤの確率の平均値とすることができる。また、例えば、ＢＳＳＩＤが２つ抽出できたフロアＢの場合、同様に、式（５）に示すように、ＢＳＳＩＤの確率の平均値とすることができる。
【００６１】
【数３】
2015081803.tif 000005
【数４】
2015081803.tif 000006
【数５】
2015081803.tif 000007
【００６２】
ここで、図１４に他の例としてフロアＦ２を示す。図１４は、実施形態に係る推定値算出処理の一例を示す説明図である。図１４の例では、端末装置１０の推定位置が推定位置２５であり、電波強度の実測値は△印で示し、実測値２４Ａ〜２４Ｃであったとする。また、基地局１５Ａ〜１５Ｃに対応するＧＭＭが、ＧＭＭ１２４Ａ〜１２４Ｃであったとする。このとき、実測値２４Ａは、ＧＭＭ１２４Ａ上に相当する値がないため、図１４の水平面に示すように、最も値が近い、つまり、ＧＭＭ１２４Ａの山の頂点の値となる。また、実測値２４Ｂに対応する位置は、ＧＭＭ上では、図１４の水平面に示すように円環状となる。さらに、実測値２４Ｃは、ＧＭＭ１２４Ｃ上の相当する値が丁度山の頂点となっているとする。
【００６３】
算出部１３３は、推定位置２５におけるＧＭＭ１２４Ａから、電波強度の推定値２５Ａを算出する。同様に、算出部１３３は、推定位置２５におけるＧＭＭ１２４Ｂから、電波強度の推定値２５Ｂを算出し、推定位置２５におけるＧＭＭ１２４Ｃから、電波強度の推定値２５Ｃを算出する。ところが、推定位置２５では、ＧＭＭ１２４Ｃは電波強度が測定限界以下であるため、算出部１３３は、例えば、−１２０ｄＢｍを推定値２５Ｃとする。
【００６４】
ここで、図１４の例で、電波強度の推定値２５Ａ〜２５Ｃと電波強度の実測値２４Ａ〜２４Ｃとの差をみると、推定値２５Ａと実測値２４Ａとでは、実測値２４Ａの方が大きい。また、推定値２５Ｂと実測値２４Ｂとでは、近い値であるが実測値２４Ｂの方が大きい。また、推定値２５Ｃと実測値２４Ｃとでは、実測値２４Ｃの方が大きい。すなわち、電波強度の推定値２５Ａ〜２５Ｃと電波強度の実測値２４Ａ〜２４Ｃから、式（３）〜（５）を用いて、端末装置１０が当該フロアに存在する確率を求めると、図１３の例と比較して低くなる。
【００６５】
算出部１３３は、可能性のあるフロアのフロアＩＤの全てについて、端末装置１０の位置を推定したか否かを判定する。算出部１３３は、可能性のあるフロアが残っていれば、次のフロアＩＤについて位置推定処理および算出処理を行うように、推定部１３２に指示する。算出部１３３は、可能性のあるフロア全てについて端末装置１０の位置を推定した場合には、各フロアのフロアＩＤと、算出した各フロアにおける端末装置１０の推定位置および存在する確率とを対応付けて、特定部１３４に出力する。
【００６６】
（特定部１３４について）
特定部１３４は、算出部１３３から各フロアにおける端末装置１０の推定位置および存在する確率が入力されると、各フロアにおける端末装置１０の存在する確率を比較する。特定部１３４は、比較したフロアのうち端末装置１０の存在する確率が最も高いフロアを、端末装置１０が存在するフロアであると特定する。特定部１３４は、推定した端末装置１０の位置、特定したフロアのフロアＩＤ、および、フロア記憶部１２２から読み出した特定したフロアの図面等の情報を、位置情報として通信部１１０を介して端末装置１０に送信する。
【００６７】
（準備部１３５について）
準備部１３５は、予め測定された電波強度に基づいて、判別部１３６で用いる判別関数のパラメータの係数を算出する。準備部１３５は、例えば、端末装置１０を用いて、フロアごとにフロア全体の複数の地点で事前計測された電波強度を取得する。準備部１３５は、事前計測として、例えば、端末装置１０を用いて計測されたフロアごとの各地点の電波強度を基地局１５、ネットワークＮおよび通信部１１０を介して受信し、事前計測データとして事前計測記憶部１２４に格納する。
【００６８】
準備部１３５は、事前計測記憶部１２４に格納された事前計測データの各フロア、つまりフロアＩＤについて、ＢＳＳＩＤごとに電波強度の最大値（ＲＳＳＩ＿ｍａｘ）を決定する。すなわち、図６の例では、例えば、フロアＩＤ「Ｆ１」のＢＳＳＩＤ「ＢＳＳＩＤ１」について、複数の電波強度（ＲＳＳＩ；１：−７５ｄＢｍ、２：−５０ｄＢｍ、３：−６０ｄＢｍ）のうち、最大値である−５０ｄＢｍを、「ＢＳＳＩＤ１」のＲＳＳＩ＿ｍａｘと決定し、事前計測記憶部１２４の項目「ＲＳＳＩ＿ｍａｘ」に格納する。準備部１３５は、他のフロアＩＤおよびＢＳＳＩＤについても同様にして、ＲＳＳＩ＿ｍａｘを決定し、事前計測記憶部１２４の項目「ＲＳＳＩ＿ｍａｘ」に格納する。なお、これらを一般化すると、フロアｉでのＢＳＳＩＤｊの最大電波強度Ｒｍａｘ（ｉ，ｊ）として表すことができる。ここで、ｉは、フロアを識別するインデックス、ｊはＢＳＳＩＤを識別するインデックスとする。
【００６９】
また、準備部１３５は、例えば、端末装置１０を用いて、フロアが判明している状態で、フロア内の複数の地点で検証計測された電波強度を取得する。準備部１３５は、検証計測として、例えば、端末装置１０を用いて計測されたフロアごとの各位置の電波強度を基地局１５、ネットワークＮおよび通信部１１０を介して受信し、検証データとして検証データ記憶部１２５に格納する。
【００７０】
準備部１３５は、事前計測記憶部１２４および検証データ記憶部１２５を参照し、検証計測で計測されたＢＳＳＩＤが、事前計測のＢＳＳＩＤと少なくとも一部が一致するフロアを候補フロアとする。図６および図７の例では、図７に示す検証データには、「ＢＳＳＩＤ１」〜「ＢＳＳＩＤ５」が含まれる。図７に示すこれらのＢＳＳＩＤについて、図６に示す事前計測記憶部１２４を検索すると、フロアＩＤ「Ｆ１」には、「ＢＳＳＩＤ１」〜「ＢＳＳＩＤ５」が含まれ、フロアＩＤ「Ｆ２」には、「ＢＳＳＩＤ１」，「ＢＳＳＩＤ２」，「ＢＳＳＩＤ４」が含まれ、フロアＩＤ「Ｆ３」には、「ＢＳＳＩＤ１」，「ＢＳＳＩＤ２」，「ＢＳＳＩＤ３」が含まれる。準備部１３５は、これらの検索結果を候補フロアとする。つまり、準備部１３５は、検証データに含まれるＢＳＳＩＤが１つもないフロアＩＤのフロアについては、候補フロアから除外する。
【００７１】
準備部１３５は、候補フロアが決定すると、各候補フロアについて、式（６）に示す判別関数のパラメータｘ１〜ｘ５を算出する。なお、式（６）に示す判別関数の解ｆは、正しい場合には１となり、間違いの場合には０となる。
【００７２】
ｆ（ｘｉ）＝ｋ０＋ｋ１・ｘ１＋ｋ２・ｘ２＋ｋ３・ｘ３＋ｋ４・ｘ４＋ｋ５・ｘ５
…（６）
【００７３】
ここで、図１５を用いて、判別関数のパラメータｘ１〜ｘ５の算出について説明する。図１５は、判別関数のパラメータ算出の一例を示す説明図である。まず、準備部１３５は、各候補フロアの各ＢＳＳＩＤについて、事前計測記憶部１２４から電波強度の最大値（ＲＳＳＩ＿ｍａｘ）を取得する。また、準備部１３５は、検証データ記憶部１２５から検証データＩＤごとに各ＢＳＳＩＤの電波強度（ＲＳＳＩ）を取得する。準備部１３５は、検証データＩＤの各ＢＳＳＩＤのＲＳＳＩと、各候補フロアの各ＢＳＳＩＤのＲＳＳＩ＿ｍａｘとの差（ｄｉｆｆ）を算出する。
【００７４】
図６、図７および図１５の例では、フロアＩＤ「Ｆ１」について、検証データＩＤ「０」の「ＢＳＳＩＤ１」のＲＳＳＩは−６０ｄＢｍであり、事前計測データのフロアＩＤ「Ｆ１」、「ＢＳＳＩＤ１」のＲＳＳＩ＿ｍａｘは−５０ｄＢｍである。差（ｄｉｆｆ）は、−６０−（−５０）＝−１０ｄＢｍとなる。準備部１３５は、各候補フロアの各ＢＳＳＩＤについて同様に差（ｄｉｆｆ）を算出する。なお、準備部１３５は、正解ではないフロアについても候補フロアとして各パラメータを算出するのは、不正解であるフロアの場合のパターンを得て、各パラメータの係数を算出するための回帰分析で用いるためである。
【００７５】
準備部１３５は、各候補フロアの各ＢＳＳＩＤについて差（ｄｉｆｆ）が算出されると、パラメータｘ１〜ｘ５を算出する。準備部１３５は、パラメータｘ１として、ＲＳＳＩとＲＳＳＩ＿ｍａｘとの差の最大値を算出する。差の最大値は、超過が大きいほど他のフロアの可能性が高いという視点でのパラメータである。準備部１３５は、パラメータｘ２として、ＲＳＳＩとＲＳＳＩ＿ｍａｘとの差が正となる個数を算出する。差が正となる個数は、差が正となる場合は他のフロアであることを示すため、正となる個数が多いほど、他のフロアである可能性が高いという視点でのパラメータである。
【００７６】
準備部１３５は、パラメータｘ３として、ＲＳＳＩとＲＳＳＩ＿ｍａｘとの差の平均値を算出する。差の平均値は、差が非超過（マイナス）、つまり当該フロアである可能性が高い値による打ち消しを考慮しても、ＲＳＳＩ＿ｍａｘを超過する値が全体として高い場合は他のフロアである可能性が高いという視点でのパラメータである。準備部１３５は、パラメータｘ４として、ＲＳＳＩとＲＳＳＩ＿ｍａｘとの差が正のものの平均値を算出する。差が正のものの平均値は、差が非超過のものを除外して、超過幅の平均が大きいほど、他のフロアである可能性が高いという視点でのパラメータである。準備部１３５は、パラメータｘ５として、各候補フロアのＢＳＳＩＤと検証データに含まれるＢＳＳＩＤとが一致した個数を算出する。一致した個数は、判断の根拠となったＢＳＳＩＤ、つまり基地局１５の数が多いほど信頼性が高くなるという視点でのパラメータである。
【００７７】
図１５の例では、パラメータｘ１〜ｘ５は、それぞれ順に、「２」、「１」、「−２．８」、「２」、「５」と算出される。準備部１３５は、他の候補フロアについても同様にパラメータｘ１〜ｘ５を算出する。なお、図１５の例では、候補フロア「Ｆ２」および「Ｆ３」では、各候補フロアのＢＳＳＩＤと検証データに含まれるＢＳＳＩＤとが一致したものは、それぞれ３つであるので、候補フロア「Ｆ２」および「Ｆ３」のパラメータｘ１〜ｘ５は、３つのＢＳＳＩＤに基づいて算出される。準備部１３５は、算出された各パラメータを検証データＩＤ、検証データが実測されたフロアＩＤである実測フロアＩＤ、および、候補フロアＩＤと対応付けて候補フロア記憶部１２６に格納する。
【００７８】
また、準備部１３５では、各検証データＩＤの各候補フロアについて、判別関数の解ｆが設定される。判別関数の解ｆは、検証データはフロアが判明しているため、各検証データＩＤの各候補フロアについて、例えば、位置特定サーバ１００の管理者によって、正しい場合には「１」を設定し、正しくない場合には「０」が設定される。図８の例では、検証データＩＤ「０」には、候補フロアＩＤが「Ｆ１」、「Ｆ２」および「Ｆ３」と３つある。このとき、実測フロアＩＤで示す検証データを実測したフロアのフロアＩＤは「Ｆ１」であるので、候補フロアＩＤ「Ｆ１」の判別関数の解ｆは「１」が設定され、候補フロアＩＤ「Ｆ２」および「Ｆ３」の判別関数の解ｆは「０」が設定される。判別関数の解ｆは、他の多数の検証データＩＤについても同様に設定される。準備部１３５は、設定された判別関数の解ｆを候補フロア記憶部１２６に格納する。
【００７９】
準備部１３５は、候補フロア記憶部１２６に格納された候補フロアのパラメータｘ１〜ｘ５および判別関数の解ｆに基づいて、回帰分析により判別関数のパラメータｘ１〜ｘ５に対応する係数ｋ１〜ｋ５および定数項である係数ｋ０を算出する。ここで、係数ｋ０は、パラメータｘ１〜ｘ５を全て０としたときに回帰分析の結果定まる定数であるが、その他の所定の定数を用いてもよい。準備部１３５は、検証データＩＤの全てについて回帰分析を行い、全ての実測フロアＩＤについて係数ｋ０〜ｋ５を算出する。つまり、準備部１３５は、フロアＩＤごとに判別関数のパラメータｘ１〜ｘ５の係数ｋ０〜ｋ５を算出する。準備部１３５は、算出された係数ｋ０〜ｋ５をフロアＩＤと対応付けて係数記憶部１２７に格納する。
【００８０】
なお、準備部１３５は、係数ｋ０〜ｋ５を、フロアによらずにグローバル（すなわち、全フロア共通）、または、複数のフロアを有するエリアごとに決定することもできる。準備部１３５は、例えば、全てのフロアまたはエリアごとに回帰分析を行って、係数ｋ０〜ｋ５を算出する。また、準備部１３５は、係数ｋ０〜ｋ５を、フロアごとに算出し、算出された各フロアの係数ｋ０〜ｋ５について、例えば平均値を取ることで１組の係数ｋ０〜ｋ５を算出するようにしてもよい。このように、グローバル、全フロアまたは任意のエリアで１組の係数ｋ０〜ｋ５を算出することで、係数の変更を省略でき、より普遍的に使用可能な判別係数を得ることができる。
【００８１】
（判別部１３６について）
判別部１３６は、判定部１３１から抽出されたフロアのフロアＩＤおよび電波強度の実測値が入力されると、抽出されたフロアが１つであるか否かを判定する。判別部１３６は、抽出されたフロアが１つでない場合には、抽出されたフロアのフロアＩＤごとに、判別関数のパラメータｘ１〜ｘ５を算出する。ここで、パラメータｘ１〜ｘ５の算出は、準備部１３５でのパラメータｘ１〜ｘ５の算出と同様の処理であり、検証データの代わりに、端末装置１０から受信した電波強度の実測値を用いて算出するので、その詳細な説明は省略する。なお、電波強度の実測値での各パラメータの算出を一般化すると、ＢＳＳＩＤｊごとの電波強度の実測値は、Ｒｊと表すことができる。また、電波強度の実測値とフロアｉでのＢＳＳＩＤｊの最大電波強度Ｒｍａｘ（ｉ，ｊ）との差ｄｊｉは、ｄｊｉ＝Ｒｊ−Ｒｍａｘ（ｉ，ｊ）と表すことができる。つまり、判別部１３６は、ＢＳＳＩＤｊについてパラメータｘ１〜ｘ５を算出する。
【００８２】
判別部１３６は、係数記憶部１２７を参照して、抽出された各フロアのフロアＩＤに対応する係数ｋ０〜ｋ５を式（６）で示す判別関数に設定する。判別部１３６は、係数ｋ０〜ｋ５が設定された判別関数に、算出されたパラメータｘ１〜ｘ５を適用して判別関数の解ｆを算出する。判別部１３６は、抽出された各フロアのフロアＩＤの全てについて判別関数の解ｆを算出する。
【００８３】
判別部１３６は、判別関数の解ｆが所定値以上のフロアＩＤがあるか否かを判定する。判別部１３６は、判別関数の解ｆが所定値以上のフロアＩＤがある場合には、判別関数の解ｆが最も大きいフロアＩＤのフロアを、端末装置１０が存在するフロアと特定する。判別部１３６は、判別関数の解ｆが所定値以上のフロアＩＤがない場合には、判別関数ではフロアの特定が不可であるとする。ここで、所定値は、例えば、０．５とすることができる。なお、判別関数の解ｆは、１から０の間の数値をとり、電波環境によって各パラメータが変化するため、正しいフロアであっても、例えば、０．８や０．６といった数値となる場合がある。判別部１３６は、抽出されたフロアが１つである場合、および、判別関数によってフロアが特定された場合には、特定したフロアのフロアＩＤ、ＢＳＳＩＤ、および、電波強度の実測値を推定部１３２に出力する。また、判別部１３６は、判別関数ではフロアの特定が不可である場合には、可能性のあるフロアのフロアＩＤ、ＢＳＳＩＤ、および、電波強度の実測値を推定部１３２に出力する。
【００８４】
〔６．準備処理〕
次に、実施形態に係る位置特定システム１による準備処理について説明する。図１６は、実施形態に係る位置特定サーバによる準備処理の一例を示すフローチャートである。
【００８５】
位置特定サーバ１００の準備部１３５は、例えば、端末装置１０を用いて、フロアごとにフロア全体の複数の地点で事前計測された電波強度を取得する（ステップＳ３０１）。準備部１３５は、取得した当該電波強度を事前計測データとして事前計測記憶部１２４に格納する。
【００８６】
準備部１３５は、事前計測記憶部１２４に格納された事前計測データの各フロアについて、ＢＳＳＩＤごとに電波強度の最大値（ＲＳＳＩ＿ｍａｘ）を決定する（ステップＳ３０２）。
【００８７】
準備部１３５は、例えば、端末装置１０を用いて、フロアが判明している状態で、フロア内の複数の地点で検証計測された電波強度（ＲＳＳＩ）を取得する（ステップＳ３０３）。
【００８８】
準備部１３５は、事前計測記憶部１２４および検証データ記憶部１２５を参照し、検証計測で計測されたＢＳＳＩＤが、事前計測のＢＳＳＩＤと少なくとも一部が一致するフロアを候補フロアとする（ステップＳ３０４）。つまり、検証計測で計測された基地局１５のＢＳＳＩＤが含まれる事前計測データのフロアを候補フロアとする。
【００８９】
準備部１３５は、候補フロアが決定すると、各候補フロアについて、式（６）に示す判別関数のパラメータｘ１〜ｘ５を算出する（ステップＳ３０５）。準備部１３５は、パラメータｘ１〜ｘ５の算出が完了すると、算出された各パラメータを検証データＩＤ、実測フロアＩＤ、および、候補フロアＩＤと対応付けて候補フロア記憶部１２６に格納する。
【００９０】
準備部１３５では、位置特定サーバ１００の管理者によって、各検証データＩＤの各候補フロアについて、判別関数の解ｆが設定される（ステップＳ３０６）。準備部１３５は、設定された判別関数の解ｆを候補フロア記憶部１２６に格納する。
【００９１】
準備部１３５は、候補フロア記憶部１２６に格納された候補フロアのパラメータｘ１〜ｘ５および判別関数の解ｆに基づいて、回帰分析により判別関数のパラメータｘ１〜ｘ５に対応する係数ｋ１〜ｋ５およびｋ０を算出する（ステップＳ３０７）。準備部１３５は、算出された係数ｋ０〜ｋ５をフロアＩＤと対応付けて係数記憶部１２７に格納する。
【００９２】
準備部１３５は、全てのフロアについて係数ｋ０〜ｋ５を算出したか否かを判定する（ステップＳ３０８）。準備部１３５は、全てのフロアについて係数ｋ０〜ｋ５を算出していない場合には（ステップＳ３０８：否定）、ステップＳ３０５に戻り、残りのフロアについて係数ｋ０〜ｋ５を算出する。準備部１３５は、全てのフロアについて係数ｋ０〜ｋ５を算出した場合には（ステップＳ３０８：肯定）、準備処理を終了する。なお、グローバル、全フロアまたは任意のエリアで１組の係数ｋ０〜ｋ５を算出した場合には、ステップＳ３０８の処理は実行せずに準備処理を終了する。これにより、各フロア、グローバル、全フロアまたは任意のエリアについて、判別関数の係数を算出することができる。
【００９３】
〔７．位置特定処理〕
次に、実施形態に係る位置特定システム１による位置特定処理について説明する。図１７は、実施形態に係る位置特定サーバによる位置特定処理を示すフローチャートである。
【００９４】
まず、端末装置１０は、建物５の内部で基地局１５Ａ〜１５Ｃの電波を受信する。端末装置１０は、受信した電波から基地局１５Ａ〜１５ＣのＢＳＳＩＤを検出し、ＢＳＳＩＤごとに受信した電波の電波強度の実測値を取得する。端末装置１０は、ＢＳＳＩＤと電波強度の実測値を対応付けて、ネットワークＮを介して位置特定サーバ１００に送信する。
【００９５】
位置特定サーバ１００の判定部１３１は、端末装置１０からＢＳＳＩＤと電波強度の実測値を受信する（ステップＳ１１）。判定部１３１は、基地局記憶部１２１を参照して、受信したＢＳＳＩＤのうち、あるフロアでのみ受信可能である基地局１５のＢＳＳＩＤ（固有のＢＳＳＩＤ）の数を抽出してカウントする（ステップＳ１２）。判定部１３１は、固有のＢＳＳＩＤがあるか否かを判定する（ステップＳ１３）。判定部１３１は、固有のＢＳＳＩＤがない場合には（ステップＳ１３：否定）、受信したＢＳＳＩＤについて、基地局記憶部１２１を参照して、受信可能なフロアを可能性のあるフロアとして抽出し、抽出したフロアのフロアＩＤおよび電波強度の実測値を判別部１３６に出力する（ステップＳ１６）。判定部１３１は、固有のＢＳＳＩＤがある場合には（ステップＳ１３：肯定）、判定処理を実行する（ステップＳ１４）。
【００９６】
ここで、図１８を用いて判定処理を説明する。図１８は、実施形態に係る位置特定サーバによる判定処理を示すフローチャートである。判定部１３１は、固有のＢＳＳＩＤの数が最大のフロアを決定する（ステップＳ１４１）。判定部１３１は、固有のＢＳＳＩＤの数が最大のフロアが１つであるか否かを判定する（ステップＳ１４２）。判定部１３１は、固有のＢＳＳＩＤの数が最大のフロアが１つの場合には（ステップＳ１４２：肯定）、決定したフロアを端末装置１０が存在するフロアと特定する（ステップＳ１４３）。判定部１３１は、固有のＢＳＳＩＤの数が最大のフロアが２つ以上の場合には（ステップＳ１４２：否定）、固有のＢＳＳＩＤの中で電波強度の実測値が最大のＢＳＳＩＤが属するフロアを、端末装置１０が存在するフロアと特定する（ステップＳ１４４）。
【００９７】
判定部１３１は、電波強度が閾値より大きいＢＳＳＩＤの抽出をトライする回数ｎの初期値を１に設定する（ステップＳ１４５）。判定部１３１は、電波強度の実測値が所定の閾値より大きいＢＳＳＩＤを抽出する。判定部１３１は、電波強度の実測値が所定の閾値より大きいＢＳＳＩＤを抽出できたか否かを判定する（ステップＳ１４６）。判定部１３１は、電波強度の実測値が所定の閾値より大きいＢＳＳＩＤを抽出できた場合には（ステップＳ１４６：肯定）、抽出したＢＳＳＩＤを推定部１３２に出力して、位置推定処理を実行する（ステップＳ１５１）。
【００９８】
判定部１３１は、電波強度の実測値が所定の閾値より大きいＢＳＳＩＤを抽出できなかった場合には（ステップＳ１４６：否定）、回数ｎが２より大きいか否かを判定する（ステップＳ１４７）。判定部１３１は、回数ｎが２以下である場合は（ステップＳ１４７：否定）、所定の閾値を１０ｄＢｍ下げ（ステップＳ１４８）、回数ｎに１を足して（ステップＳ１４９）、ステップＳ１４６に戻り再度ＢＳＳＩＤを抽出する。判定部１３１は、回数ｎが２より大きい場合は（ステップＳ１４７：肯定）、エラー処理を実行して処理を終了する（ステップＳ１５０）。
【００９９】
判定部１３１は、ステップＳ１４６〜Ｓ１４９の処理を繰り返し、所定の閾値を２回下げてＢＳＳＩＤの抽出を試みる。このとき、判定部１３１は、下げた閾値より大きいＢＳＳＩＤを抽出できた場合には（ステップＳ１４６：肯定）、抽出したＢＳＳＩＤを推定部１３２に出力して、位置推定処理を実行する（ステップＳ１５１）。
【０１００】
ここで、図１９を用いて、位置推定処理を説明する。図１９は、実施形態に係る位置特定サーバによる位置推定処理を示すフローチャートである。推定部１３２は、判別部１３６から可能性のあるフロアのフロアＩＤが入力された場合、つまり、電波強度の実測値が閾値より大きいＢＳＳＩＤを抽出していない場合には、判定処理と同様の処理を実行する。このため、推定部１３２は、電波強度が閾値より大きいＢＳＳＩＤの抽出をトライする回数ｎの初期値を１に設定する（ステップＳ１５１１）。推定部１３２は、可能性のあるフロアのフロアＩＤが入力された場合は、例えば、フロアＩＤの若い順に１つのフロアＩＤを選択する。推定部１３２は、特定されたフロアのフロアＩＤが入力された場合は、当該フロアＩＤを選択する。推定部１３２は、選択されたフロアＩＤのフロアについて、電波強度の実測値が閾値より大きいＢＳＳＩＤが抽出済であるか否かを判定する（ステップＳ１５１２）。
【０１０１】
推定部１３２は、電波強度の実測値が閾値より大きいＢＳＳＩＤが抽出済でない場合には（ステップＳ１５１２：否定）、電波強度の実測値が所定の閾値より大きいＢＳＳＩＤを抽出する。推定部１３２は、電波強度の実測値が所定の閾値より大きいＢＳＳＩＤを抽出できたか否かを判定する（ステップＳ１５１３）。推定部１３２は、電波強度の実測値が所定の閾値より大きいＢＳＳＩＤを抽出できた場合には（ステップＳ１５１３：肯定）、ＧＭＭ記憶部１２３から当該フロアにおける抽出したＢＳＳＩＤのＧＭＭパラメータを読み込んで、パーティクルフィルタに設定する（ステップＳ１５１８）。
【０１０２】
推定部１３２は、電波強度の実測値が所定の閾値より大きいＢＳＳＩＤを抽出できなかった場合には（ステップＳ１５１３：否定）、回数ｎが２より大きいか否かを判定する（ステップＳ１５１４）。推定部１３２は、回数ｎが２以下である場合は（ステップＳ１５１４：否定）、所定の閾値を１０ｄＢｍ下げ（ステップＳ１５１５）、回数ｎに１を足して（ステップＳ１５１６）、ステップＳ１５１２およびステップＳ１５１３に戻り、再度ＢＳＳＩＤを抽出する。推定部１３２は、回数ｎが２より大きい場合は（ステップＳ１５１４：肯定）、エラー処理を実行して処理を終了する（ステップＳ１５１７）。
【０１０３】
推定部１３２は、電波強度の実測値が閾値より大きいＢＳＳＩＤを抽出していない場合には、ステップＳ１５１２〜ステップＳ１５１６の処理を繰り返し、所定の閾値を２回下げてＢＳＳＩＤの抽出を試みる。このとき、推定部１３２は、下げた閾値より大きいＢＳＳＩＤを抽出できた場合には（ステップＳ１５１２：肯定）、ＧＭＭ記憶部１２３から当該フロアにおける抽出したＢＳＳＩＤのＧＭＭパラメータを読み込んで、パーティクルフィルタに設定する（ステップＳ１５１８）。
【０１０４】
推定部１３２は、パーティクルフィルタにＧＭＭパラメータが設定できたか否かを判定する（ステップＳ１５１９）。推定部１３２は、パーティクルフィルタにＧＭＭパラメータが設定できた場合には（ステップＳ１５１９：肯定）、パーティクルフィルタで端末装置１０の位置を推定する（ステップＳ１５２０）。推定部１３２は、パーティクルフィルタにＧＭＭパラメータが設定できない場合には（ステップＳ１５１９：否定）、ステップＳ１５１４へ進み、再度、ＢＳＳＩＤを抽出する閾値を下げて、電波強度の実測値が閾値より大きいＢＳＳＩＤの抽出を試みる。
【０１０５】
推定部１３２は、パーティクルフィルタで端末装置１０の位置を推定できたか否かを判定する（ステップＳ１５２１）。推定部１３２は、パーティクルフィルタで端末装置１０の位置を推定できた場合には（ステップＳ１５２１：肯定）、位置推定処理を終了して元の処理に戻る。推定部１３２は、パーティクルフィルタで端末装置１０の位置を推定できなかった場合には（ステップＳ１５２１：否定）、エラー処理を実行して処理を終了する（ステップＳ１５１７）。
【０１０６】
図１８のステップＳ１５１の処理終了後、図１７の説明に戻って、推定部１３２は、推定した端末装置１０の位置、特定したフロアのフロアＩＤ、および、フロア記憶部１２２から読み出した特定したフロアの図面等の情報を、位置情報として通信部１１０を介して端末装置１０に送信する（ステップＳ１５）。端末装置１０の制御部１２は、位置特定サーバ１００から受信した位置情報を、例えば、地図上にマッピングして表示部１３に表示する。
【０１０７】
続いて、ステップＳ１３で固有のＢＳＳＩＤがない場合に、ステップＳ１６で受信可能なフロアのフロアＩＤおよび電波強度の実測値を判別部１３６に出力した後について説明する。
【０１０８】
判別部１３６は、判定部１３１から抽出されたフロアのフロアＩＤおよび電波強度の実測値が入力されると、抽出されたフロアが１つであるか否かを判定する（ステップＳ２１）。判別部１３６は、抽出されたフロアが１つである場合には（ステップＳ２１：肯定）、抽出されたフロアのフロアＩＤ、ＢＳＳＩＤ、および、電波強度の実測値を推定部１３２に出力する。推定部１３２は、抽出されたフロアについて、位置推定処理を実行し（ステップＳ２４）、ステップＳ１５へと進む。なお、ステップＳ２４の位置推定処理は、ステップＳ１５１の位置推定処理と同様であるので、その説明を省略する。
【０１０９】
判別部１３６は、抽出されたフロアが１つでない場合には（ステップＳ２１：否定）、判別処理を実行する（ステップＳ２２）。ここで、図２０を用いて判別処理を説明する。図２０は、実施形態に係る位置特定サーバによる判別処理の一例を示すフローチャートである。判別部１３６は、抽出されたフロアのフロアＩＤごとに、判別関数のパラメータｘ１〜ｘ５を算出する（ステップＳ２２１）。判別部１３６は、係数記憶部１２７を参照して、抽出された各フロアのフロアＩＤに対応する係数ｋ０〜ｋ５を式（６）で示す判別関数に設定する。判別部１３６は、係数ｋ０〜ｋ５が設定された判別関数に、算出されたパラメータｘ１〜ｘ５を適用して判別関数の解ｆを算出する（ステップＳ２２２）。ここで、判別部１３６は、抽出された各フロアのフロアＩＤの全てについて判別関数の解ｆを算出する。
【０１１０】
判別部１３６は、抽出された各フロアのフロアＩＤの全てについて判別関数の解ｆを算出すると、判別関数の解ｆが所定値以上のフロアＩＤがあるか否かを判定する（ステップＳ２２３）。判別部１３６は、判別関数の解ｆが所定値以上のフロアＩＤがある場合には（ステップＳ２２３：肯定）、判別関数の解ｆが最も大きいフロアＩＤのフロアを、端末装置１０が存在するフロアと特定し（ステップＳ２２４）、元の処理に戻る。判別部１３６は、判別関数の解ｆが所定値以上のフロアＩＤがない場合には（ステップＳ２２３：否定）、判別関数ではフロアの特定が不可であるとし（ステップＳ２２５）、元の処理に戻る。
【０１１１】
図１７の説明に戻って、判別部１３６は、判別処理によってフロアが特定できたか否かを判定する（ステップＳ２３）。判別部１３６は、判別処理によってフロアが特定できた場合には（ステップＳ２３：肯定）、特定されたフロアのフロアＩＤ、ＢＳＳＩＤ、および、電波強度の実測値を推定部１３２に出力する。推定部１３２は、抽出されたフロアについて、位置推定処理を実行し（ステップＳ２４）、ステップＳ１５へと進む。
【０１１２】
判別部１３６は、判別処理によってフロアが特定できない場合には（ステップＳ２３：否定）、可能性のあるフロアのフロアＩＤ、ＢＳＳＩＤ、および、電波強度の実測値を推定部１３２に出力する。
【０１１３】
推定部１３２は、可能性のあるフロアのフロアＩＤが入力された場合は、例えば、フロアＩＤの若い順に１つのフロアＩＤを選択する。推定部１３２は、選択されたフロアＩＤのフロアについて、位置推定処理を実行する（ステップＳ１７）。なお、ステップＳ１７の位置推定処理は、ステップＳ１５１の位置推定処理と同様であるので、その説明を省略する。
【０１１４】
推定部１３２は、可能性のあるフロアのフロアＩＤのうちの１つについて、位置推定処理が終了すると、推定した端末装置１０の位置、および、推定に用いたフロアＩＤを算出部１３３に出力する。
【０１１５】
算出部１３３は、推定部１３２から推定した端末装置１０の位置およびフロアＩＤが入力されると、算出処理を実行する（ステップＳ１８）。ここで、図２１を用いて、算出処理を説明する。図２１は、実施形態に係る位置特定サーバによる算出処理を示すフローチャートである。
【０１１６】
算出部１３３は、フロアＩＤに基づき基地局記憶部１２１を参照し、フロアＩＤが示すフロアで受信可能なＢＳＳＩＤ（基地局１５）を抽出する（ステップＳ１８１）。算出部１３３は、抽出したＢＳＳＩＤのＧＭＭをＧＭＭ記憶部１２３から読み込んで（ステップＳ１８２）、端末装置１０の推定位置におけるＢＳＳＩＤの電波強度を算出し、電波強度の推定値とする（ステップＳ１８３）。
【０１１７】
算出部１３３は、判定部１３１から入力された電波強度の実測値と、端末装置１０の推定位置におけるＢＳＳＩＤごとの電波強度の推定値とから正規分布に基づいて、端末装置１０が当該フロアに存在する確率を算出する（ステップＳ１８４）。
【０１１８】
図１７の説明に戻って、算出部１３３は、可能性のあるフロアのフロアＩＤの全てについて、端末装置１０の位置を推定したか否かを判定する（ステップＳ１９）。算出部１３３は、可能性のあるフロアのフロアＩＤの全てについて、端末装置１０の位置を推定していない場合には（ステップＳ１９：否定）、ステップＳ１７に戻り、次のフロアＩＤについて、ステップＳ１７およびステップＳ１８の処理を実行する。算出部１３３は、可能性のあるフロアのフロアＩＤの全てについて端末装置１０の位置を推定した場合には（ステップＳ１９：肯定）、各フロアのフロアＩＤと、算出した各フロアにおける端末装置１０の推定位置および存在する確率とを対応付けて、特定部１３４に出力する。
【０１１９】
特定部１３４は、算出部１３３から各フロアにおける端末装置１０の推定位置および存在する確率が入力されると、各フロアにおける端末装置１０の存在する確率を比較する。特定部１３４は、比較したフロアのうち端末装置１０の存在する確率が最も高いフロアを、端末装置１０が存在するフロアであると特定する（ステップＳ２０）。特定部１３４は、推定した端末装置１０の位置、特定したフロアのフロアＩＤ、および、フロア記憶部１２２から読み出した特定したフロアの図面等の情報を、位置情報として通信部１１０を介して端末装置１０に送信する（ステップＳ１５）。端末装置１０の制御部１２は、位置特定サーバ１００から受信した位置情報を、例えば、地図上にマッピングして表示部１３に表示する。
【０１２０】
〔８．効果〕
このように、位置特定サーバ１００は、端末装置１０が各フロアに存在するか否かを示す判別関数におけるパラメータの係数と、予め測定された各フロアにおける各基地局１５の電波強度の最大値とを記憶手段に記憶し、端末装置１０が基地局１５から受信した電波の電波強度の実測値を受信する。また、位置特定サーバ１００は、受信された電波強度の実測値と、記憶手段に記憶された電波強度の最大値とに基づいて、フロアごとに判別関数のパラメータを算出し、算出されたパラメータと、記憶手段に記憶されたパラメータの係数とに基づいて、フロアごとに判別関数の解を算出し、判別関数の解が所定値以上のフロアがある場合に、判別関数の解が最大となるフロアを端末装置１０が存在するフロアであると判別する。これにより、位置特定サーバ１００は、少ない計算負荷で精度よくフロアを特定することができる。また、位置特定サーバ１００は、判別関数とＧＭＭを用いた測位を組み合わせることで、ＧＭＭを計算するフロアを削減でき、つまり、データ量を削減して計算負荷を軽くでき、迅速に端末装置１０が存在するフロアを判定することができる。
【０１２１】
また、位置特定サーバ１００は、パラメータとして、受信された電波強度の実測値と、記憶手段に記憶された電波強度の最大値との差の最大値、当該差が正となる個数、当該差の平均値、当該差が正のものの平均値のうち、いずれか１つ以上の値を用いて、判別関数の解を算出して端末装置１０が存在するフロアを判別する。これにより、位置特定サーバ１００は、当該フロアでの電波強度の最大値に基づいて、少ない計算負荷で精度よくフロアを特定することができる。
【０１２２】
また、位置特定サーバ１００は、パラメータとして、フロアごとに端末装置１０が電波を受信した基地局１５と、記憶手段に記憶された各フロアにおける各基地局１５とのうち、一致する基地局１５の数を用いて、判別関数の解を算出して端末装置１０が存在するフロアを判別する。これにより、位置特定サーバ１００は、端末装置１０が受信した基地局１５と各フロアで受信可能な基地局１５とが一致する数に基づいて、少ない計算負荷で精度よくフロアを特定することができる。
【０１２３】
また、位置特定サーバ１００は、さらに、判別関数のパラメータの係数として、予め測定された各フロアにおける各基地局１５の電波強度の最大値と、フロアが判明している各基地局１５の電波強度の実測値とに基づいてフロアごとのパラメータを算出し、フロアごとに判別関数の解を与えてパラメータに対応する係数を算出する。これにより、位置特定サーバ１００は、フロアごとに算出されたパラメータを判別関数に代入するだけで、端末装置１０が存在するフロアを特定することができる。
【０１２４】
〔９．その他〕
以上、本願の実施形態を図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１２５】
また、上記実施形態では、算出部１３３で端末装置１０が各フロアに存在する確率として、基地局１５ごとの確率の平均値を用いたが、これに限定されない。算出部１３３は、例えば、基地局１５ごとの確率の平均値の代わりに、基地局１５ごとの確率の和を、各フロアのうち電波強度の差が算出された基地局１５が最も多いフロアの基地局の数で割った値を、端末装置１０が各フロアに存在する確率とすることができる。すなわち、位置特定サーバ１００は、算出された電波強度の推定値と、計測された電波強度の実測値との差を基地局１５ごとに算出し、算出された電波強度の差に応じて、各フロアにおける電波強度の差が算出された基地局１５ごとの確率の和を、各フロアのうち電波強度の差が算出された基地局１５が最も多いフロアの基地局１５の数で割った値を、端末装置１０が各フロアに存在する確率として算出し、算出された存在する確率に基づいて、端末装置１０が存在するフロアを特定する。これにより、位置特定サーバ１００は、電波強度の差が算出された基地局１５が最も多いフロアに重みを付けて、精度よくフロアを特定することができる。
【０１２６】
また、上記実施形態では、判定部１３１で固有のＢＳＳＩＤの中で、電波強度の実測値が最大のＢＳＳＩＤが属するフロアを、端末装置１０が存在するフロアと特定したが、これに限定されない。判定部１３１は、例えば、受信したフロア固有のＢＳＳＩＤ（基地局１５）の最大電波強度が、基地局記憶部１２１に記憶された対応するフロア固有のＢＳＳＩＤの最大電波強度を超える場合には、当該フロア固有のＢＳＳＩＤの属するフロアを特定する候補から除外することができる。すなわち、位置特定サーバ１００は、記憶部に、さらに、予め１のフロアで受信したフロア固有基地局と、当該フロア、および、フロア固有基地局ごとの最大電波強度とを対応付けたフロア固有基地局情報を記憶し、さらに、判定部１３１は、受信したフロア固有基地局の最大電波強度が、記憶部に記憶された対応するフロア固有基地局の最大電波強度を超える場合には、当該フロア固有基地局の属するフロアを特定する候補から除外し、受信したフロア固有基地局の数が最も多いフロアを、端末装置１０が存在するフロアと判定する。また、位置特定サーバ１００は、判定部１３１で端末装置１０が存在するフロアを特定できない場合に、端末装置１０が存在するフロアを特定する。これにより、位置特定サーバ１００は、事前に測定した電波強度を上回る基地局１５が属するフロアを対象外とすることができ、軽い処理で精度よくフロアを特定することができる。
【０１２７】
また、上記実施形態では、事前計測記憶部１２４に事前計測データを格納し、検証データ記憶部１２５に検証データを格納したが、これに限定されない。位置特定サーバ１００は、例えば、事前計測データの計測時に、電波強度を計測した位置が取得され、検証データＩＤが付与された事前計測データを取得すれば、一度の計測で取得されたデータを用いて、判別関数のパラメータの係数を算出することができる。
【０１２８】
また、上記実施形態では、判別関数のパラメータとして、パラメータｘ１〜ｘ５を用いたが、これに限定されない。位置特定サーバ１００は、例えば、パラメータｘ１〜ｘ５のうち、１つ以上のパラメータを任意に組み合わせて判別関数としてもよい。なお、位置特定サーバ１００は、他のパラメータとして、例えば、電波強度の実測値（ＲＳＳＩ）と当該フロアでの電波強度の最大値（ＲＳＳＩ＿ｍａｘ）との差の最小値を用いてもよい。これにより、位置特定サーバ１００は、より多面的にフロアを特定できる。また、位置特定サーバ１００は、必要なパラメータのみを用いた判別関数を使用できるので、データ量を削減でき、さらに計算負荷を軽減することができる。
【０１２９】
また、上記実施形態では、判別関数のパラメータとして、電波強度の実測値（ＲＳＳＩ）と当該フロアでの電波強度の最大値（ＲＳＳＩ＿ｍａｘ）との差に関するパラメータ、および、実測されたＢＳＳＩＤと当該フロアで受信可能なＢＳＳＩＤとが一致する数を用いたが、これに限定されない。位置特定サーバ１００は、例えば、電波状況や建物の形状等を、判別関数のパラメータとして定義して用いてもよい。これにより、位置特定サーバ１００は、より建物の状況を反映した判別関数のパラメータの係数を算出でき、フロアの特定精度を向上させることができる。
【０１３０】
また、上記実施形態では、準備処理および位置特定処理を位置特定サーバ１００で行ったが、これに限定されない。例えば、端末装置１０に判定部１３１、推定部１３２、算出部１３３、特定部１３４、準備部１３５、判別部１３６、基地局記憶部１２１、フロア記憶部１２２、ＧＭＭ記憶部１２３、事前計測記憶部１２４、検証データ記憶部１２５、候補フロア記憶部１２６、および、係数記憶部１２７を設けて、端末装置１０で準備処理および位置特定処理を行なうようにしてもよい。また、準備処理を位置特定サーバ１００で行い、位置特定処理を端末装置１０で行なうなど、各処理を実行する装置を適宜変更することもできる。
【０１３１】
また、上記実施形態では、位置特定処理で固有のＢＳＳＩＤの有無を判定してから判別処理を実行したが、これに限定されない。位置特定サーバ１００は、例えば、ステップＳ１２〜Ｓ１４の固有のＢＳＳＩＤによる処理の代わりに、ステップＳ２２〜Ｓ２４の判別処理および位置推定処理を実行してもよい。これにより、処理を１段階省略することができる。
【０１３２】
また、上記実施形態では、判別処理において、判別関数の解ｆが所定値以上のフロアがあるか否かを判定したが、これに限定されない。位置特定サーバ１００は、例えば、ステップＳ２２３およびＳ２２５の処理を省略し、判別関数の解ｆが算出されると、算出された判別関数の解ｆが最も大きいフロアを必ず特定し、当該フロアを端末装置１０が存在するフロアと特定するようにしてもよい。これにより、位置特定処理の複数のフロアについてＧＭＭを用いて電波強度を算出する処理であるステップＳ２３、Ｓ１７〜Ｓ２０の処理を省略することができ、計算負荷を軽減することができる。
【０１３３】
また、上述した位置特定サーバ１００は、複数のサーバコンピュータで実現してもよいし、単一のサーバコンピュータで実現してもよい。また、機能によっては外部のプラットフォーム等をＡＰＩ（Application  Programming  Interface）やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
【０１３４】
なお、上記実施形態における位置特定サーバ１００は、例えば図２２に示すような構成のコンピュータ２００によって実現される。図２２は、位置特定サーバの機能を実現するコンピュータの一例を示すハードウエア構成図である。コンピュータ２００は、ＣＰＵ（Central  Processing  Unit）２０１、ＲＡＭ（Random  Access  Memory）２０２、ＲＯＭ（Read  Only  Memory）２０３、ＨＤＤ（Hard  Disk  Drive）２０４、通信インターフェイス（Ｉ／Ｆ）２０５、入出力インターフェイス（Ｉ／Ｆ）２０６、およびメディアインターフェイス（Ｉ／Ｆ）２０７を備える。
【０１３５】
ＣＰＵ２０１は、ＲＯＭ２０３またはＨＤＤ２０４に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ２０３は、コンピュータ２００の起動時にＣＰＵ２０１によって実行されるブートプログラムや、コンピュータ２００のハードウエアに依存するプログラム等を格納する。
【０１３６】
ＨＤＤ２０４は、ＣＰＵ２０１によって実行されるプログラムおよび当該プログラムによって使用されるデータ等を格納する。通信インターフェイス２０５は、通信回線２０９を介して他の機器からデータを受信してＣＰＵ２０１へ送り、ＣＰＵ２０１が生成したデータを、通信回線２０９を介して他の機器へ送信する。
【０１３７】
ＣＰＵ２０１は、入出力インターフェイス２０６を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。ＣＰＵ２０１は、入出力インターフェイス２０６を介して、入力装置からデータを取得する。また、ＣＰＵ２０１は、生成したデータを、入出力インターフェイス２０６を介して出力装置へ出力する。
【０１３８】
メディアインターフェイス２０７は、記録媒体２０８に格納されたプログラムまたはデータを読み取り、ＲＡＭ２０２を介してＣＰＵ２０１に提供する。ＣＰＵ２０１は、当該プログラムを、メディアインターフェイス２０７を介して記録媒体２０８からＲＡＭ２０２上にロードし、ロードしたプログラムを実行する。記録媒体２０８は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１３９】
コンピュータ２００が実施形態における位置特定サーバ１００として機能する場合、コンピュータ２００のＣＰＵ２０１は、ＲＡＭ２０２上にロードされたプログラムを実行することにより、判定部１３１、推定部１３２、算出部１３３、特定部１３４、準備部１３５および判別部１３６の各機能を実現する。また、ＨＤＤ２０４には、基地局記憶部１２１、フロア記憶部１２２、ＧＭＭ記憶部１２３、事前計測記憶部１２４、検証データ記憶部１２５、候補フロア記憶部１２６および係数記憶部１２７内のデータが格納される。
【０１４０】
コンピュータ２００のＣＰＵ２０１は、これらのプログラムを、記録媒体２０８から読み取って実行するが、他の例として、他の装置から、通信回線２０９を介してこれらのプログラムを取得してもよい。
【０１４１】
また、上記の実施形態に示したフローチャートは一例であり、各処理の入出力に矛盾がない範囲で任意に順番を入れ替えてもよい。例えば、準備処理において、ステップＳ３０２とステップＳ３０３とを入れ替えて、検証計測された電波強度を取得してから、事前計測された電波強度の最大値を決定するようにもできる。
【０１４２】
また、特許請求の範囲に記載した「手段」は、「部（section、module、unit）」や「回路」などに読み替えることができる。例えば、判別手段は、判別部や判別回路に読み替えることができる。
【符号の説明】
【０１４３】
１  位置特定システム
１０  端末装置
１１，１１０  通信部
１２，１３０  制御部
１３  表示部
１５  基地局
１００  位置特定サーバ
１２０  記憶部
１２１  基地局記憶部
１２２  フロア記憶部
１２３  ＧＭＭ記憶部
１２４  事前計測記憶部
１２５  検証データ記憶部
１２６  候補フロア記憶部
１２７  係数記憶部
１３１  判定部
１３２  推定部
１３３  算出部
１３４  特定部
１３５  準備部
１３６  判別部
Ｎ  ネットワーク
【図１】
2015081803.tif 000008
【図２】
2015081803.tif 000009
【図３】
2015081803.tif 000010
【図４】
2015081803.tif 000011
【図５】
2015081803.tif 000012
【図６】
2015081803.tif 000013
【図７】
2015081803.tif 000014
【図８】
2015081803.tif 000015
【図９】
2015081803.tif 000016
【図１０】
2015081803.tif 000017
【図１１】
2015081803.tif 000018
【図１２】
2015081803.tif 000019
【図１３】
2015081803.tif 000020
【図１４】
2015081803.tif 000021
【図１５】
2015081803.tif 000022
【図１６】
2015081803.tif 000023
【図１７】
2015081803.tif 000024
【図１８】
2015081803.tif 000025
【図１９】
2015081803.tif 000026
【図２０】
2015081803.tif 000027
【図２１】
2015081803.tif 000028
【図２２】
2015081803.tif 000029