以下、図面を参照しながら、本発明の実施形態について説明する。また、図面において同一の構成要素は、同じ番号を付し、説明は、適宜省略する。
(第1の実施形態)
図1は、第1の実施形態に係るシステムの構成例を示した図である。本実施形態に係るシステムは、推定装置1と、N台の無線端末(例えば、無線端末11と、無線端末11a)とを含んでいる。N台の無線端末には、それぞれ固有の識別子(ID)が割り当てられているものとする。識別子の例としては、MACアドレス、製造番号、製造時刻、シリアル番号、モデル名、IPアドレス、ホスト名、管理者名または、これらの組み合わせが挙げられるが、識別子の形式と内容については特に問わない。
N台の無線端末は、自装置に割り当てられた識別子の情報を含む無線信号の送信をすることができる。また、N台の無線端末は、他の無線端末から送信された無線信号を受信し、当該無線信号の送信元の無線端末の識別子と、通信品質に関する指標を保存する。通信品質に関する指標の例としては、信号対雑音比(SN比)、ビットエラー率、到来角度、到達時刻、無線信号強度(RSSI:Received Signal Strength Indicator)が挙げられるが、どのような指標を使ってもよい。以下では、通信品質に関する指標としてRSSIが用いられた場合を例に説明する。
また、以降では複数の無線端末間の通信品質に関する指標を含むデータを信号情報とよぶものとする。信号情報は、送信元の無線端末の識別子を含んでいてもよい。各無線端末が測定した信号情報を第1信号情報とよぶものとする。図7は、無線端末D3によって測定された第1信号情報の例を示している。このように、推定装置1は、各無線端末が測定した第1信号情報を収集し、第1信号情報を集約した第2信号情報を生成する。図8は、第2信号情報の例を示している。
推定装置1は、いずれかの位置における無線端末が特定されている場合に、他の位置に設置された無線端末を推定する。図2は、無線端末の設置位置の例を示した平面図である。図2には、壁で仕切られた部屋20~21が示されている。部屋20内にある無線端末の設置位置は位置L1~L3となる。部屋21内にある無線端末の設置位置は位置L4~L6となる。部屋22内にある無線端末の設置位置は位置L7~L9となる。
無線端末の設置位置を、無線信号の伝搬のしやすさに基づいて分類することができる。部屋間を遮る壁がないため、無線信号は、異なる部屋にある設置位置間に比べ、同じ部屋にある設置位置間の方が伝搬しやすい。したがって、部屋20内の位置L1~L3は物理グループG1に属する。同様に、部屋21内の位置L4~L6は物理グループG2に、部屋22内の位置L7~L9は物理グループG3にそれぞれ属するものとする。ここで、物理グループとは、無線端末のいずれかが設置された設置位置を分類したグループである。なお、図2の例では、各物理グループに属する位置の数(各部屋にある設置位置の数)は等しくなっているが、物理グループに含まれる設置位置の数が一定でなくてもよい。
例えば、ユーザが推定装置1を操作して各設置位置を物理グループに分類してもよい。また、建物、施設などの設計図面をプログラムに入力し、当該プログラムが各設置位置を物理グループに分類してもよい。プログラムは、設置位置間に存在する壁や構造物の有無に基づいて各設置位置を物理グループに分類することができる。また、プログラムに地理情報を入力し、設置位置間の距離の大小に基づき設置位置をクラスタに分類し、生成されたクラスタを物理グループとして使ってもよい。物理グループの生成を行うプログラムは推定装置1の処理回路で動作するプログラムであってもよいし、その他の情報処理装置上で動作するプログラムであってもよい。
また、図2の例では無線端末の数がN=9となっているが、無線端末の数はこれとは異なっていてもよい。例えば、無線端末の台数Nは、数十台、数百台、数千台またはそれ以上であってもよく、台数Nは特に限定されない。
図2の例では、位置L3に設置された無線端末のデバイスIDが“D3”であることが特定されているが、その他の位置に設置された無線端末のデバイスIDが特定されていない。ここで、デバイスIDは無線端末に割り当てられた識別子の一例である。この場合、推定装置1は、位置L2~L9に設置された無線端末のデバイスIDを推定する。以降では、他の位置に設置された無線端末のデバイスIDを推定する処理を推定処理とよぶものとする。後述するように、位置L3にあるデバイスID=D3の無線端末は、推定処理における基準点としても使われる。基準点とは、座標値が特定されている位置であり、各無線端末との間の距離を計算するときに使われる。
なお、図2の例において、無線端末は屋内に設置されていたが、N台の無線端末が設置されている位置が特定できているのであれば、推定装置1とN台の無線端末が設置されている環境や場所については特に問わない。例えば、各無線端末は照明機器、空調機器、プラントの各種設備、各種の発電機などの機械に設置されていてもよい。無線端末の用途および機能についても特に限定しない。各無線端末に物理的な情報の計測処理を実行させてもよい。また、各無線端末は機械や各種の機器の制御に使われるものであってもよい。
推定装置1の例としては、ユーザが持ち運べるスマートフォン、タブレット、PDAなどの情報通信端末が挙げられるが、推定装置1は自動車、船舶、建設機械、ドローン、航空機、ヘリコプター、ロボットなどの移動体が備える情報通信システムであってもよい。したがって、推定装置1はどのような種類の装置であってもよい。第1の実施形態では、無線端末と無線通信を行うことが可能な推定装置が使われた場合を例に説明するが、推定装置は必ず無線通信を行うものでなくてもよい。例えば、推定装置の代わりに、推定装置と電気的に接続された無線通信装置が各無線端末と無線通信を行ってもよい。
以下では、第1の実施形態に係る無線通信システムに含まれる装置の詳細について説明する。
推定装置1は、アンテナ2と、通信部3と、表示部4と、入力部5と、記憶部6と、処理回路7とを備えている。処理回路7は内部の構成要素として、分類部8と、グループ推定部9と、デバイス推定部10とを含んでいる。推定装置1は無線通信装置としての機能と、情報処理装置としての機能を兼ね備えているものとする。
アンテナ2は、通信部3と電気的に接続されている。通信部3はアンテナ2を介して無線信号を送信する。また、通信部3はアンテナ2を介して他の装置から送信された無線信号を受信する。なお、図1の例において推定装置1はひとつのアンテナを備えているが、推定装置1が備えるアンテナの数については特に限定しない。無線信号の送信と受信に共通のアンテナを使ってもよいし、無線信号の送信と受信で異なるアンテナを使ってもよい。また、アンテナの形状や種類については特に問わない。
通信部3は、アンテナ2を介したデータの無線通信を実現する回路である。通信部3は、例えば、符号化回路、変調回路、ミキサ回路、増幅回路、復調回路、復号化回路、フィルタ回路などを含むものとする。通信部3が無線通信に使う規格の例としては、IEEE802.11シリーズの無線LANが挙げられるが、通信部3はどのような無線通信方式を使ってもよい。また、回路の方式の例としては、ダイレクトコンバージョン方式の回路や、スーパーヘテロダイン方式などが挙げられるが、回路の方式については特に問わない。通信部3は、処理回路7と電気的に接続されており、処理回路7から送信される制御信号に基づいて動作する。通信部3は、各無線端末から第1信号情報を取得し、取得した第1信号情報を記憶部6に保存する。
表示部4は、各種のテキストやグラフィックを表示可能なディスプレイである。例えば、表示部4に無線端末の位置と識別子(デバイスID)との対応関係を表示してもよい。推定結果はテキスト形式で表示されてもよいし、無線端末の識別子(デバイスID)と当該無線端末の設置された座標を示したテーブルの形式で表示されてもよい。また、各無線端末の座標空間内の配置を示した地図の形式で表示されていてもよい。推定結果の表示形式については特に問わない。
また、表示部4にユーザインタフェースを表示し、ユーザに選択可能な操作内容を提示してもよい。例えば、表示部4に各種の情報の入力画面を表示してもよいし、N台の無線端末から第1信号情報を取得するタイミングを指定する画面を表示してもよい。なお、ユーザインタフェースはコマンドラインインタフェース(CLI)であってもよいし、グラフィカルユーザインタフェース(GUI)であってもよい。
表示部4として、例えば液晶ディスプレイ、有機エレクトロルミネッセンスディスプレイ(有機ELディスプレイ)を使うことができるが、ディスプレイの種類については特に問わない。また、表示部4と入力部5を兼ねたタッチパネルディスプレイを使ってもよい。
入力部5は、ユーザに推定装置1を操作する手段を提供するデバイスである。ユーザは、入力部5を使って設置点情報、グループ情報、デバイス情報などを推定装置1に入力することができる。入力された設置点情報、グループ情報、デバイス情報などは記憶部6に保存される。なお、設置点情報、グループ情報、デバイス情報の詳細については後述する。入力部5の例としては、マウス、キーボード、タッチパネル、音声認識装置、画像認識装置、ジョイスティック、リモートコントローラ、ボタン、スイッチ、またはこれらの組み合わせが挙げられるが、デバイスの種類については特に問わない。
記憶部6は、プログラムのデータや、信号情報を含む各種のデータを保存する記憶領域を提供する。以下では、記憶部6に保存される各種のデータについて説明する。
図3のテーブル30は、設置点情報の例を示している。テーブル30の第1列には、無線端末の各設置位置に係る識別子である、位置ID(L1~L9)が格納されている。なお、図3に示された位置IDは一例にしか過ぎない。したがって、位置IDはこれとは異なる形式であってもよい。例えば、住所、建物の名称、部屋の名称、機械の名称、機械の製造番号またはこれらの組み合わせなどを位置IDとして使ってもよい。
テーブル30の第2列には、各設置位置のX座標、第3列には各設置位置のY座標、第4列には各設置位置のZ座標がそれぞれ格納されている。図2の例では、すべての無線端末が同じ高さに設置されているため、テーブル30においてZ座標の値はすべて0.0となっている。しかし、無線端末の設置された高さが一定でない場合、各設置位置におけるZ座標の値は異なる値をとりうる。また、テーブル30には3次元の直交座標系による座標情報が格納されているが、座標情報は2次元の直交座標系によるものであってもよい。また、座標情報は斜交座標系や極座標系によるものであってもよく、形式については特に問わない。
図4のテーブル31は、グループ情報の例を示している。グループ情報では、物理グループが定義されている。テーブル31の第1列には、無線端末の各設置位置に係る識別子である、位置ID(L1~L9)が格納されている。テーブル31の第2列には、各設置位置が属する物理グループの識別子である物理グループID(G1~G3)が格納されている。図4に示された物理グループIDは一例にしか過ぎず、物理グループIDはこれとは異なる形式であってもよい。例えば、住所、建物の名称、部屋の名称、機械の名称、機械の型番、機械の製造番号またはこれらの組み合わせなどを物理グループIDとして使ってもよい。グループ情報を参照することにより、定義されている物理グループの数と、各物理グループに属する設置位置(無線端末の設置位置)の数を得ることができる。
図5のテーブル32は、デバイス情報の例を示している。テーブル32には、各無線端末の識別子である、デバイスID(D1~D9)が格納されている。図5に示されたデバイスIDは一例にしか過ぎず、デバイスIDはこれとは異なる形式であってもよい。例えば、住所、建物の名称、部屋の名称、機械の名称、機械の型番、機械の製造番号またはこれらの組み合わせなどをデバイスIDとして使ってもよい。
図6のテーブル33は、デバイス位置情報の例を示している。テーブル33の第1列には、無線端末の各設置位置に係る識別子である位置ID(L1~L9)が格納されている。テーブル33の第2列には、各無線端末の識別子であるデバイスID(D1~D9)が格納される。図3のテーブル33は推定処理実行前のデバイス位置情報であるため、行33aに示された位置L3以外の各位置に設置された無線端末のデバイスIDはまだ特定されていない。
図7のテーブル34aは、第1信号情報の例を示している。テーブル34aの第1列には、無線信号の送信元の無線端末の識別子である、デバイスID(D1、D2、D4~D9)が格納されている。テーブル34aは、無線端末D3によって測定された第1信号情報であるため、デバイスID=D3に係るエントリがない。テーブル34aの第2列には、無線信号の品質に関する指標の一例であるRSSIが格納されている。mW単位の電力値Pを下記の式(1)へ代入することにより、dBm単位のRSSIに変換することができる。
式(1)を参照すると、dBmの値が小さいほど受信電力が弱く、dBmの値が大きいほど受信電力が強くなることがわかる。例えば、テーブル34aには負値のRSSIが格納されている。RSSIが負値である場合、RSSIの絶対値が大きいほど受信電力が弱くなる。
図8のテーブル34bは、第2信号情報の例を示している。テーブル34bの第1列目には送信側の無線端末に係るデバイスIDが格納されている。一方、テーブル34bの第1行目には測定側の無線端末に係るデバイスIDが格納されている。そして、テーブル34bの各エントリには、それぞれの送信側無線端末と測定側無線端末の組み合わせにおいて、測定されたRSSIが格納されている。例えば、エントリ34cには、無線端末D2によって測定された、無線端末D9から送信された無線信号のRSSIが格納されている。
記憶部6は、例えばSRAM、DRAMなどの揮発性メモリであってもよいし、NAND、MRAM、FRAMなどの不揮発性メモリでもよい。またハードディスク、SSDなどのストレージ装置や、外部の記憶装置であってもよく、デバイスの種類については特に限定しない。また、記憶部6は複数の種類のメモリデバイスやストレージデバイスの組み合わせであってもよい。
処理回路7は、各種の処理を実行する回路である。例えば、処理回路7は第1信号情報を集約した第2信号情報を生成する。処理回路7は、第2信号情報を記憶部6に保存する。以下では処理回路7に含まれる各構成要素について説明する。
分類部8は、通信品質に関する指標に基づいて複数の無線端末を推定グループに分類する。例えば、分類部8は、第2信号情報に含まれるRSSI(通信品質に関する指標)に基づいて複数のデバイスID(無線端末)を推定グループに分類する。分類部8は、所定の条件が満たされるように、分類処理を実行する。すなわち、第1の条件は、推定グループの数がグループ情報で定義されている、物理グループの数に等しくなることである。第2の条件は、推定グループに含まれる無線端末(デバイスID)の数が、物理グループに含まれる設置位置(無線端末の設置位置)の数に等しくなることである。
分類部8によって生成されるそれぞれの推定グループは、いずれかの物理グループに対応している。少なくともいずれかの設置位置における無線端末(無線端末の識別子)が特定されている物理グループがある場合、当該物理グループは、当該無線端末を含む推定グループに相当していることがわかる。しかし、残りの推定グループについては、残りの物理グループとの対応関係を推定する必要がある。
図2の例の場合、3つの物理グループが定義されており、それぞれの物理グループに属する設置位置の数は3個であるため、分類部8は、3つの推定グループを生成し、それぞれの推定グループには3台の無線端末が含まれる。
図9は、無線端末を推定グループに分類した例を示している。図9にはノードとエッジ(枝)を含むグラフが示されている。図9に示された各ノードは無線端末D1~D9に相当する。また、ノード間を結ぶエッジの重みは測定されたRSSIに相当している。分類部8は、上述の第1の条件と第2の条件が満たされるよう、グラフ分割を行う。分割によって得られたそれぞれの部分グラフは、推定グループに相当している。重みの比較的小さいエッジ(図9でRSSIの値が比較的小さい破線)が切断されるよう、グラフの分割方法が探索される。分割方法の探索として、例えば全組み合わせ探索や遺伝的アルゴリズムなどを使うことができるが、どのような方法を使ってもよい。
このような処理を行うことにより、ある無線端末が比較的大きい値のRSSIを測定した場合、当該無線端末は送信元の無線端末と同一の推定グループに分類される可能性が高くなる。一方、ある無線端末が比較的小さい値のRSSIを測定した場合、当該無線端末は送信元の無線端末とは異なる推定グループに分類される可能性が高くなる。したがって、分類部8は、無線端末間における無線信号の伝搬のしやすさに基づいて複数の無線端末(デバイスID)を推定グループに分類することができる。
図9には推定グループH1~H3が示されている。推定グループH1は無線端末D1~D3、推定グループH2は無線端末D4~D6、推定グループH3は無線端末D7~D9をそれぞれ含んでいる。テーブル35に示されているように、無線端末D3は物理グループG1に属しているため、無線端末D3が分類された推定グループH1は物理グル―プG1に相当していると推定することができる。
グループ推定部9は、推定グループと物理グループとの対応関係を、通信品質に関する指標と物理グループ間の距離とに基づいて推定する。例えば、グループ推定部9は、指標として推定グループ間におけるRSSIの代表値を使い、物理グループ間の距離として、物理グループの代表位置間の距離を使うことができる。以下では、グループ推定部9が実行する処理の詳細について説明する。
例えば、グループ推定部9は、推定グループ間についてRSSIの代表値を計算する。例えば、推定グループH1と推定グループH2との間におけるRSSIの代表値を求めたい場合、推定グループH1に含まれる無線端末D1~D3と、推定グループH2に含まれる無線端末D4~D6との間の3×3=9つの伝搬路に係るRSSIの平均値を計算する。なお、RSSIの代表値の計算では、RSSIの平均値、最大値、中央値、最小値、最頻値の少なくともいずれかを使うことができるが、代表値はどのような方法で計算されてもよい。
図10は、各推定グループ間についてRSSIの代表値を計算した例を示している。推定グループH1~H3があるため、推定グループH1、H2間のRSSIの代表値E3と、推定グループH2、H3間のRSSIの代表値E1と、推定グループH1、H3間のRSSIの代表値E2が計算される。上述の処理は、各推定グループを代表する仮想的な無線端末間のRSSIを計算する処理であるといえる。
図11は、各推定グループ間についてRSSIの代表値を計算するときに使われる数値の例を示したテーブルである。図11のテーブル37には、代表値E1の計算に用いられるRSSIの値と、代表値E2の計算に用いられるRSSIの値と、代表値E3の計算に用いられるRSSIの値の例が示されている。
また、グループ推定部9は、各物理グループの代表位置を求めた後、代表位置間の距離を計算する。図12は、物理グループにおける代表位置の例を示している。図12には、物理グループG1について求められた代表位置R1と、物理グループG2について求められた代表位置R2と、物理グループG3について求められた代表位置R3とが示されている。グループ推定部9は例えば、各物理グループに属する設置位置(無線端末の設置位置)に係る座標の平均値を各物理グループの代表位置とすることができる。ただし、これは代表位置の計算方法の一例にしかすぎない。したがって、これとは異なる方法で代表位置を計算してもよい。例えば、各物理グループに属する設置位置(無線端末の設置位置)に係る座標の平均値を計算し、座標の平均値に最も近い設置位置を代表位置として選んでもよい。
次に、各代表位置間の仮想的な距離が計算される。図12では、代表位置R1、R2間の距離αと、代表位置R2、R3間の距離βと、代表位置R3、R1間の距離γとが計算されている。
テーブル36には、推定グループと対応する物理グループの候補(候補#1、#2)が示されている。グループ推定部9は、推定グループ間におけるRSSIの代表値E1~E3および距離α~γに基づき、いずれの候補が正しいのかを推定する。すでに物理グループとの対応関係が明らかになっている推定グループがある場合には、当該関係を使って残りの推定グループと物理グループの対応関係を推定することができる。例えば、図12の例では、推定グループH1が物理グループG1に相当していることが知られている。
一般に、無線端末間の距離が大きくなるほど無線信号の減衰が大きくなるため、RSSIの値も小さくなると推定される。すなわち、代表位置間の距離とRSSIの代表値(通信品質に関する指標)に関係があると仮定することができる。代表位置間の距離と通信品質に関する指標との間で仮定される関係は、各種の近似式に基づくものであっても、各種の物理学的な式に基づくものであっても、相関関係であってもよく、特に限定しない。相関関係は、正の相関と、負の相関のいずれであってもよい。グループ推定部9は図12の例において、RSSIの代表値E2、E3のいずれが代表位置間の距離αに相当しているのかを推定するときに、当該関係を利用することができる。これにより、物理グループG2に相当しているのが、推定グループH2、H3のいずれであるのかを推定することが可能となる。
距離αは距離γより短いため、グループ推定部9はRSSIの代表値E2、E3のうち、大きい方の値を選択する。例えば、代表値E3の値の方が代表値E2より大きい場合、グループ推定部9は物理グループG2に相当しているのは、推定グループH2であると推定する。推定グループH2が物理グループG2に対応していると推定された場合には、残りの推定グループH3が物理グループG3に相当していると推定される。
なお、ここで述べたRSSIの代表値と代表位置間の距離を使った推定グループと物理グループの対応関係の推定処理は一例にしかすぎない。代表位置間の距離と、通信品質に関する指標とに基づく推定処理が行われるのであれば、どのような手法を使ってもよい。適用可能な手法の例としては、矛盾度の計算、組み合わせの全探索、遺伝的アルゴリズムなどが挙げられる。
グループ推定部9が実行する処理によって、各物理グループに含まれる無線端末(無線端末の識別子)の一覧を得ることができる。
デバイス推定部10は、物理グループと推定グループの対応関係に基づいて、物理グループごとに設置位置に設置されている無線端末を推定することができる。デバイス推定部10が実行する処理により、物理グループに含まれる各設置位置における無線端末の識別子(デバイスID)が推定される。すなわち、デバイス推定部10は、物理グループに含まれる位置IDと、デバイスIDとの間の対応関係を推定する。これにより、ユーザは各デバイスID(識別子)に係る無線端末が設置された位置(座標)を特定することができるようになる。
デバイス推定部10は、基準点となる無線通信装置と各無線端末との間で測定されたRSSIの値に基づいて、物理グループの各位置に設置されている無線端末の識別子(デバイスID)を推定する。ここで、基準点となる無線通信装置とは、設置位置の座標が特定されている無線通信装置のことをいう。本実施形態において、基準点となる無線通信装置は物理グループG1の位置L3に設置されている無線端末D3である。基準点となる無線通信装置はこれとは異なる無線端末であってもよい。また、基準点となる無線通信装置が複数台存在していてもよい。
デバイス推定部10は、RSSIの値と距離とに基づいて各位置に設置された無線端末の識別子(デバイスID)を推定する。図13の例では、物理グループG1(部屋20)の位置L1、L2に設置された無線端末の識別子が推定されている。無線端末D3が送信元装置の識別子として、デバイスID=D1を含む無線信号と、デバイスID=D2を含む無線信号を受信したとする。前者の無線信号に係るRSSIの値が後者の無線信号に係るRSSIの値より小さい場合、前者の無線信号の方がより遠方から送信されていると推定することができる。このような場合、デバイス推定部10は、位置L1に無線端末D1、位置L2に無線端末D2が設置されていると推定する。したがって、テーブル38の候補#1が正しい位置IDと無線端末のデバイスIDの組み合わせを示していることになる。
図14の例では、物理グループG2(部屋21)の位置L4~L6に設置された無線端末の識別子(デバイスID)が推定されている。図14では、無線端末D3が、位置L4~L6に設置された無線端末から送信された無線信号のRSSIを測定している。位置L4~L6に設置された無線端末から送信された無線信号はそれぞれ送信元装置の識別子としてデバイスID=D4~D6のいずれかを含む。
テーブル39に示されているように、物理グループG2では位置IDと無線端末のデバイスIDの組み合わせとして、3P3=3!=6個の候補が存在する。図13の例と同様、デバイス推定部10は、RSSIの値と距離とに基づいて正しい位置IDと無線端末のデバイスIDの組み合わせを推定する。
図15の例では、物理グループG3(部屋22)の位置L7~L9に設置された無線端末の識別子(デバイスID)が推定されている。図15では、無線端末D3が、位置L7~L9に設置された無線端末から送信された無線信号のRSSIを測定している。位置L7~L9に設置された無線端末から送信された無線信号はそれぞれ送信元装置の識別子としてデバイスID=D7~D9のいずれかを含む。
テーブル40に示されているように、物理グループG3では位置IDと無線端末のデバイスIDの組み合わせとして、3P3=3!=6個の候補が存在する。図13、図14の例と同様、デバイス推定部10は、RSSIの値と距離とに基づいて位置IDと無線端末のデバイスIDの正しい組み合わせを推定する。
なお、デバイス推定部10がRSSIの値と距離とに基づいて各位置に設置された無線端末の識別子(デバイスID)を推定する際に使う手法については特に限定しない。デバイス推定部10は矛盾度の計算を行ってもよいし、組み合わせの全探索を行ってもよいし、遺伝的アルゴリズムを使って推定を行ってもよい。
デバイス推定部10は、物理グループについて、各位置に設置された無線端末の識別子(デバイスID)を推定する処理を完了したら、デバイス位置情報を更新する。図16のテーブル41は更新後のデバイス位置情報を示している。また、図16上段の平面図には、推定処理によって得られた、各物理グループの位置に設置された無線端末の識別子(デバイス)が示されている。
以下では、再び図1を参照し、本実施形態に係る無線端末の構成および機能について説明する。
無線端末11は、アンテナ12と、通信部13と、制御部14と、記憶部15とを備えている。以下では、無線端末11を例に無線端末の構成要素を説明する。その他の無線端末(例えば、無線端末11a)の機能と構成は、無線端末11と同様であるものとする。
アンテナ12は、通信部13と電気的に接続されている。通信部13はアンテナ12を介して無線信号を送信する。また、通信部13はアンテナ12を介して他の装置から送信された無線信号を受信する。なお、図1の例において無線端末11はひとつのアンテナを備えている。ただし、無線端末11が備えるアンテナの数については特に限定しない。無線信号の送信と受信に共通のアンテナを使ってもよいし、無線信号の送信と受信で異なるアンテナを使ってもよい。また、アンテナの形状や種類については特に問わない。
通信部13は、アンテナ12を介したデータの無線通信を実現する回路である。通信部13は、例えば、符号化回路、変調回路、ミキサ回路、増幅回路、復調回路、復号化回路、フィルタ回路などを含むものとする。通信部13が無線通信に使う規格の例としては、IEEE802.11シリーズの無線LANが挙げられるが、どのような無線通信方式を使ってもよい。また、回路の方式の例としては、ダイレクトコンバージョン方式の回路や、スーパーヘテロダイン方式の回路などが挙げられるが、回路の方式についても特に問わない。また、通信部13は、受信した無線信号の通信品質に関する指標(例えば、RSSI)を計測する。通信部13は、制御部14と電気的に接続されており、制御部14から送信される制御信号に基づいて動作する。
制御部14は、通信部13を含む無線端末11の各構成要素を制御する。例えば、制御部14は、無線端末11の識別子を含む無線信号を送信するよう、通信部13に要求する。また、制御部14は、通信部13を介して他の装置から送信された無線信号を受信する。そして、制御部14は受信した無線信号に含まれる送信元の装置の識別子と、当該無線信号のRSSIの組み合わせ(第1信号情報)を生成し、記憶部15に保存する。なお、制御部14は無線信号に関する指標としてRSSI以外の情報を計測してもよい。また、制御部14は推定装置1からの要求に応じて、記憶部15に保存した第1信号情報を推定装置1に向けて送信する。
記憶部15は、プログラムのデータや、第1信号情報を保存する記憶領域を提供する。また、記憶部15には無線端末11の識別子が保存されている。記憶部15は、例えばSRAM、DRAMなどの揮発性メモリであってもよいし、NAND、MRAM、FRAMなどの不揮発性メモリでもよい。またハードディスク、SSDなどのストレージ装置や、外部の記憶装置であってもよく、デバイスの種類については特に限定しない。また、記憶部15は複数の種類のメモリデバイスやストレージデバイスの組み合わせであってもよい。
次に、本実施形態に係るシステムが実行する処理を説明する。図17は、システムによって実行される処理の例を示したフローチャートである。以下では、図17のフローチャートを参照しながら、処理を説明する。
最初に、ユーザは入力部5を介して推定装置1に設置点情報、グループ情報、デバイス情報を入力する(ステップS101)。なお、設置点情報、グループ情報、デバイス情報はこれとは異なる方法によって入力されてもよい。例えば、推定装置1は外部のサーバやストレージなどから設置点情報、グループ情報、デバイス情報をダウンロードしてもよい。また、ユーザは設置点情報、グループ情報、デバイス情報が保存された記憶媒体を推定装置1に挿入してもよい。グループ情報は推定装置1上で実行されたプログラムによって生成されてもよい。
次に、各無線端末は、自装置の識別子(デバイスID)を含む無線信号の送信を開始する(ステップS102)。各無線端末は自動的に無線信号の送信を行ってもよいし、推定装置1から送信された指令を受けて無線信号の送信を開始してもよい。そして、各無線端末は無線信号を測定し、第1信号情報を生成する(ステップS103)。図7に示したように、第1信号情報は送信元の無線端末に係る識別子(デバイスID)と無線信号の品質に関する指標(例えば、RSSI)を含む。
推定装置1は各無線端末から第1信号情報を収集し、第1信号情報を集約した第2信号情報を生成する(ステップS104)。推定装置1は各無線端末と直接無線通信を行って第1信号情報を取得してもよいし、推定装置1はその他の装置(例えば、基地局である無線通信装置や管理ノードとして動作する無線通信装置)によって収集された第1信号情報をダウンロードしてもよい。なお、また、第1信号情報を集約して第2信号情報を生成する処理は推定装置1以外の装置によって実行されてもよい。この場合、推定装置1は生成済みの第2信号情報を他の装置から取得する。
そして、推定装置1は第2信号情報に基づき、無線端末を推定グループに分類する(ステップS105)。第2信号情報に基づいて無線端末を推定グループに分類する処理の詳細は、分類部8に係る説明で述べた通りである。
次のステップS106~ステップS108に係る処理はグループ推定部9によって実行される。まず、推定装置1は推定グループ間における指標(例えば、RSSI)の代表値を計算する(ステップS106)。次に、推定装置1は各物理グループの代表位置を求め、代表位置間の距離を計算する(ステップS107)。そして、推定装置1は推定グループ間における指標の値に基づき、推定グループと物理グループの対応関係を推定する(ステップS108)。これらの処理の詳細は、グループ推定部9に係る説明で述べた通りである。
最後に、推定装置1のデバイス推定部10は物理グループに属する各位置に設置された無線端末の識別子(例えば、デバイスID)を推定する(ステップS109)。ステップS109で実行される処理の詳細は、デバイス推定部10に係る説明で述べた通りである。なお、ステップS109の処理を複数のプロセッサ(CPU)または情報処理装置によって並列的に実行させてもよい。上述の例の場合、図13(物理グループG1)、図14(物理グループG2)、図15(物理グループG3)における、設置位置と無線端末の識別子(デバイスID)との組み合わせを推定する処理は並列的に実行することが可能である。これにより、処理の分散や、処理時間の短縮をはかることができる。
なお、デバイス推定部10はステップS109で、図16に示した画面を表示部4に表示し、ユーザが物理グループの各位置に設置された無線端末の識別子(デバイスID)を確認できるようにしてもよい。
また、図14~図16ではすべての物理グループにおいて、設置位置と無線端末との組み合わせが推定されていたが、必ずすべての物理グループにおいて、各位置に設置された無線端末を推定しなくてもよい。少なくともいずれかの物理グループについて、設置位置と無線端末との組み合わせが推定されていればよい。また、必ず物理グループに属するすべての設置位置(位置ID)について、設置された無線端末(の識別子)が推定されなくてもよい。例えば、特定の設置位置(位置ID)を指定し、当該位置に設置された無線端末を推定してもよい。
以下では、本実施形態に係るシステムによって実行される推定処理をまとめる。本実施形態に係るシステムでは、各無線端末が設置された位置(設置位置)を、無線端末間における無線信号の伝搬のしやすさに基づいて複数の物理グループに分類している。無線端末の各設置位置はいずれかの物理グループに属する。そして、推定装置1は複数の無線端末間において測定された無線信号の品質に関する指標に基づいて、複数の無線端末の識別子(デバイスID)を仮定的なグループ(推定グループ)に分類した。
そして、指標(例えば、推定グループに含まれる無線端末間の通信における指標の代表値)と物理グループ間の距離(例えば、物理グループに含まれる設置位置の代表位置間の距離)とに基づいて物理グループと推定グループとの対応関係を推定し、各物理グループに含まれる無線端末の識別子(デバイスID)を特定した。最後に、それぞれの物理グループごとに設置位置と無線端末の識別子(デバイスID)との間の対応関係を推定し、各位置に設置された無線端末の識別子(デバイスID)を特定する。なお、必ずすべての設置位置について無線端末の識別子(デバイスID)の推定処理が行われなくてもよい。
一般に、無線端末の設置位置と、無線端末の識別子(デバイスID)との組み合わせを推定する場合、無線端末の台数Nの階乗N!のパターンを検証し、無線信号の品質に関する指標(例えば、RSSI)と距離の値から最も妥当な組み合わせを選択する必要がある。このような処理を行う場合、無線端末の台数Nが大きい場合には処理にかかる時間と負荷が大きくなってしまう。そこで、本実施形態に係るシステムのように無線端末が設置される空間(領域)の分割と、無線端末をグループに分類する処理を行ってから、無線端末の設置位置と、無線端末の識別子(デバイスID)との組み合わせを推定する処理を行うと、処理にかかる時間と負荷が軽減され、効率的に各位置に設置された無線端末の推定を行うことができる。
(第2の実施形態)
第1の実施形態に係るシステムでは、各無線端末との間の距離を計算するときに使われる基準点として、N台の無線端末のうち、識別子と座標値が特定されている無線端末が使われていた。ただし、基準点となる無線通信装置は、各無線端末との間で無線信号の送受信が可能な位置に配置されていればよい。第2の実施形態では、基準点となる無線通信装置として、N台の無線端末以外の無線通信装置が使われた場合を説明する。
図18は、第2の実施形態に係るシステムにおける無線端末の設置位置の例を示した平面図である。図18の例では、部屋20~21の外に設置された無線通信装置60が基準点となる無線通信装置として使われている。無線通信装置60は、物理グループG1~G3に属する各位置に設置された無線端末から送信された無線信号のRSSIを測定する。第1の実施形態と同様、測定されたRSSIの値および無線通信装置60と各設置位置との間の距離とに基づいて、それぞれの物理グループについて、設置位置と無線端末の識別子(デバイスID)の組み合わせが推定される。
なお、図18の例では、物理グループG2(部屋21)の位置L4に設置された無線端末のデバイスIDがD4であることが知られている。したがって、各無線端末を推定グループに分類したら、無線端末D4を含む推定グループが物理グループG2であることを特定することができる。この関係に使って、その他の各推定グループと物理グループとの対応関係が推定される。
図19は、第2の実施形態における第2信号情報の例を示したテーブルである。図19のテーブル43の第11行目と第11列目には、無線通信装置60に対応するエントリが追加されている。
なお、第2の実施形態に係る無線端末および推定装置の構成は、第1の実施形態に無線端末および推定装置と同様である。また、無線通信装置60として、図1の無線端末11と同様の構成に係る無線通信装置を用いることができる。
(第3の実施形態)
第1の実施形態および第2の実施形態では、建物の各部屋にある無線端末の設置位置を物理グループに分類していた。しかし、これは物理グループの分類方法の一例にしかすぎない。第3の実施形態ではこれとは異なる物理グループの分類方法について説明する。
図20は、第3の実施形態に係るシステムの構成例を示した平面図である。図20の例では、側面に無線端末51が配置された機械50が複数台(機械#1~#6)示されている。機械#1~#3では、y軸負方向の側面に無線端末51が設置されている。一方、機械#4~#6では、y軸正方向の側面に無線端末51が設置されている。
機械#1~#3の無線端末51から送信される無線信号は、遮る物体のないy軸負方向に伝播しやすい。しかし、機械#1~#3の無線端末51のy軸正方向側は機械の構造物によって遮蔽されているため、無線信号が伝搬しにくい。
機械#4~#6の無線端末51から送信される無線信号は、遮る物体のないy軸正方向に伝播しやすい。しかし、機械#4~#6の無線端末51のy軸負方向側は機械の構造物によって遮蔽されているため、無線信号が伝搬しにくい。
機械#1~#3に設置された無線端末51どうしでは良好な通信品質を維持して無線通信を行うことができる。同様に、機械#4~#6に設置された無線端末51どうしでは良好な通信品質を維持して無線通信を行うことができる。しかし、機械自体が遮蔽物となっているため、機械#1~#3と機械#4~#6との間で無線通信を行う場合、信号の減衰が大きくなるため、通信品質が低下する。
図20の例のように、無線端末51が設置された機械によって無線信号の伝搬のしやすい方向が異なっている場合には、無線端末が設置された機械によって物理グループの分類を行うことができる。図20の例では、機械#1~#3が物理グループ#1に、機械#4~#6が物理グループ#2にそれぞれ分類されている。
なお、物理グループの分類は、無線信号の伝搬のしやすさに基づいて行われているのであれば、どのような方法で行われていてもよい。例えば、複数の無線端末が設置されている地域内に、高層ビル群や山脈など無線信号を遮蔽するものがあるのであれば、高層ビル群や山脈の配置に基づいて物理グループ間の境界線を決めてもよい。また、地理的に離れている大学の複数のキャンパスや工場の敷地に複数の無線端末が設置されている場合、それぞれのキャンパスや工場の敷地をひとつの物理グループに設定してもよい。
(第4の実施形態)
第1の実施形態に係る推定装置は、情報処理装置の機能と、無線通信装置の機能を兼ね備えていたため、各無線端末と直接無線通信をすることができた。ただし、推定装置は必ず無線通信装置の機能を備えていなくてもよい。第4の実施形態に係るシステムにおいて、推定装置は別の無線通信装置を介して、各無線端末から第1信号情報を収集する。
図21は第4の実施形態に係るシステムの構成例を示している。図21には推定装置1aと、無線通信装置16が示されている。無線通信装置16は、図1に示したN台の無線端末と無線通信を行うものとする。
無線通信装置16は、アンテナ2aと、通信部17と、ホストインタフェース(ホストIF)18とを備えている。アンテナ2a、通信部17の機能はそれぞれ図1のアンテナ2、通信部3と同様である。ホストインタフェース18はネットワーク19を介して、推定装置1aのインタフェース回路(IF回路)3aと電気的に接続されている。ネットワーク19で使われる通信規格の例として有線LANが挙げられるが、どのような通信規格が用いられていてもよい。
推定装置1aの処理回路7は、インタフェース回路3aを介して無線通信装置16の各構成要素を制御する。また、推定装置1aは、インタフェース回路3aを介して各無線端末から第1信号情報を取得する。推定装置1aのその他の構成要素の機能は、第1の実施形態に係る推定装置と同様である。図21の構成を用いることによって、推定装置を各無線端末と無線通信ができない場所にも設置することができる。例えば、推定装置を地下室、各無線端末の設置位置から離れたリモートのデータセンターなどに配置することができる。
(第5の実施形態)
第5の実施形態では、推定装置および無線端末のハードウェア構成の一例について説明する。例えば、上述の各実施形態における推定装置の処理回路7および無線端末の制御部14の少なくとも一部の処理を図22のコンピュータ100に実行させてもよい。また、コンピュータ100は推定装置および無線端末に無線信号の送信を開始させる指令を送信してもよい。また、処理回路7から推定結果を取得し、コンピュータ100の表示装置に表示させてもよい。
コンピュータ100には、サーバ、クライアント端末、組み込み機器のマイコン、車載情報機器、タブレット、スマートフォン、フィーチャーフォン、パソコンなどの各種の情報処理装置が含まれる。コンピュータ100は、仮想計算機(VM:Virtual Machine)やコンテナなどによって実現されたものであってもよい。
図22は、コンピュータ100の一例を示す図である。図22のコンピュータ100は、プロセッサ101と、入力装置102と、表示装置103と、通信装置104と、記憶装置105とを備えている。プロセッサ101、入力装置102、表示装置103、通信装置104、記憶装置105は、バス106によって相互に接続されている。
プロセッサ101は、コンピュータ100の制御装置と演算装置とを含む電子回路である。プロセッサ101として、例えば、汎用目的プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、ディジタル信号プロセッサ(DSP)、コントローラ、マイクロコントローラ、状態マシン、特定用途向け集積回路、フィールドプログラマブルゲートアレイ(FPGA)、プログラム可能論理回路(PLD)またはこれらの組合せを用いることができる。
プロセッサ101は、バス106を介して接続された各装置(例えば、入力装置102、通信装置104、記憶装置105)から入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を、バス106を介して接続された各装置(例えば、表示装置103、通信装置104、記憶装置105)に出力する。具体的には、プロセッサ101は、コンピュータ100のOS(オペレーティングシステム)や、制御プログラムなどを実行し、コンピュータ100に含まれるそれぞれの装置を制御する。
制御プログラムとは、コンピュータ100に、推定装置の処理回路7または無線端末の制御部14の少なくとも一部の処理を実行させるプログラムである。制御プログラムが実行する処理の例としては、自装置の識別子を含む無線信号の送信を開始する処理、他の装置から送信された無線信号を受信する処理、第1信号情報の生成と保存を行う処理、第1信号情報を集約して第2信号情報を生成する処理、各無線端末を推定グループに分類する処理、推定グループと物理グループの対応関係を推定する処理、各設置位置と無線端末の識別子の組み合わせを推定する処理などが挙げられる。なお、これらの処理の一部を制御プログラムではなく、専用の電子回路などのハードウェアに実行させることを妨げるものではない。
制御プログラムは、一時的ではない有形のコンピュータ読み取り可能な記憶媒体に記憶される。上記の記憶媒体は、例えば、光ディスク、光磁気ディスク、磁気ディスク、磁気テープ、フラッシュメモリ、半導体メモリであるが、これに限られない。プロセッサ101が制御プログラムを実行することによって、コンピュータ100は所望の処理を実行する装置として動作することができる。
入力装置102は、コンピュータ100に情報を入力するための装置である。入力装置102は、例えば、キーボード、マウス、タッチパネルなどであるが、これ以外の装置であってもよい。例えば、ユーザは、入力装置102を介して設置点情報、グループ情報、デバイス情報をコンピュータ100に入力することができる。
表示装置103は、画像や映像を表示するための装置である。表示装置103は、例えば、LCD(液晶ディスプレイ)、CRT(ブラウン管)、有機EL(有機エレクトロルミネッセンス)ディスプレイ、プロジェクタ、LEDディスプレイなどであるが、これに限られない。コンピュータ100が推定装置として使われる場合、表示装置103に図16のような推定結果画面を表示することができる。
通信装置104は、コンピュータ100が外部装置と無線または有線で通信するために使用する装置である。通信装置104は、例えば、NIC(Network Interface Card)、通信モジュール、モデム、ハブ、ルータなどであるが、これに限られない。コンピュータ100は、通信装置104を介して、他の計算機、サーバ、端末とデータ通信をすることができる。コンピュータ100は通信装置104を介して、リモートの端末からの操作指令を受け付けたり、所望のテキストやグラフィックをリモートの端末に表示させたりしてもよい。
記憶装置105は、コンピュータ100のOSや、制御プログラム、制御プログラムの実行に必要なデータ、制御プログラムの実行により生成されたデータなどを記憶する記憶媒体である。記憶装置105に上述の各種の情報を保存してもよい。記憶装置105には、主記憶装置と外部記憶装置が含まれる。主記憶装置は、例えば、RAM、DRAM、SRAMであるが、これに限られない。また、外部記憶装置は、例えば、ハードディスク、光ディスク、フラッシュメモリ、磁気テープなどであるが、これに限られない。
なお、コンピュータ100は、プロセッサ101、入力装置102、表示装置103、通信装置104、記憶装置105を、それぞれ1つずつまたは複数備えてもよい。また、コンピュータ100にプリンタやスキャナなどの周辺機器が接続されていてもよい。上述の処理回路7の機能を単一のコンピュータ100によって実現してもよい。また、上述の処理回路7の機能は、複数のコンピュータ100が相互に接続された情報システムによって実現されていてもよい。
さらに、制御プログラムは、コンピュータ100の記憶装置105に予め記憶されていてもよいし、コンピュータ100の外部の記憶媒体に記憶されていてもよいし、インターネット上にアップロードされていてもよい。いずれの場合にも、制御プログラムをコンピュータ100にインストールして実行することにより、所望の機能を実現することができる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。