説明

判定装置及びコンピュータプログラム及び判定方法

【課題】正しいタグを判定する判定結果の信頼性の保証値を確保する。
【解決手段】信号受信部121は、タグ(通信装置)が送信した信号を複数回受信する。識別取得部122は、受信した信号に基づいてタグの識別データを取得する。受信計数部123は、タグごとに信号を受信した受信回数を計数する。装置判定部132は、受信回数の差が判定回数差以上である場合に、受信回数が多いタグを正しいタグ(通信相手)であると判定する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、正しい通信相手を判定する判定装置に関する。
【背景技術】
【0002】
RFID(Radio Frequency Identification)システムにおいて、リーダ装置は、無線通信を利用して、タグが持っているID(識別データ)やその他のデータを読み取る。タグとの無線通信は、リーダ装置とケーブルなどで接続されたアンテナを介して行われ、アンテナの指向性やリーダ装置の電波の出力電力により、タグとの通信範囲が決まる。電波が届き通信可能となる範囲に複数のタグが存在する場合、それらのタグのすべてが応答し、IDやデータを返す。電波の到達範囲は、周波数、電波伝搬の特性、リーダ装置の出力電力(国内の電波法令による規制を受ける)などにより異なるが、例えば952〜954MHz帯を使ったRFIDシステムなら、タグとリーダ装置との間が最大5m程度の距離でも通信可能となる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−129652号公報
【特許文献2】特開2007−122604号公報
【特許文献3】特開2007−217069号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
このように広い通信範囲がある場合、床や壁などの構造物や、近くに置いてある物や人の影響により、電波がフェージングを起こし、本来、読むべきではないタグのIDを誤って読んでしまうことが発生する。
正しい通信相手を判定するために従来提案されてきた方式は、誤判定の確率が不明であるため、高い信頼性を必要とするシステムに採用することはできない。
【0005】
この発明は、例えば、上記のような課題を解決するためになされたものであり、正しい通信相手を判定した判定結果が誤判定である確率が、所定の確率以下であることを保証することにより、高い信頼性を確保することを目的とする。
【課題を解決するための手段】
【0006】
この発明にかかる判定装置は、
一以上の通信装置が送信した信号を受信して、受信した信号を送信した通信装置のなかから、通信相手である通信装置を判定する判定装置において、
信号を受信する受信装置と、データを処理する処理装置と、信号受信部と、識別取得部と、受信計数部と、装置判定部とを有し、
上記信号受信部は、上記受信装置を用いて、一以上の通信装置がそれぞれ送信した信号を複数回受信し、
上記識別取得部は、上記処理装置を用いて、上記信号受信部が受信した信号に基づいて、上記信号受信部が受信した信号を送信した通信装置を識別する識別データを取得し、
上記受信計数部は、上記処理装置を用いて、上記識別取得部が取得した識別データに基づいて、上記識別データによって識別される通信装置ごとに、上記信号受信部が信号を受信した受信回数を計数し、
上記装置判定部は、上記処理装置を用いて、上記受信計数部が計数した受信回数に基づいて、ある通信装置の受信回数と他の通信装置の受信回数との差を算出し、算出した受信回数の差と所定の判定回数差とを比較して、上記受信回数の差が上記判定回数差以上である場合に、受信回数が多い通信装置を通信相手であると判定することを特徴とする。
【発明の効果】
【0007】
この発明にかかる判定装置によれば、受信回数の差が判定回数差以上である場合に、装置判定部が、受信回数の多い通信装置を通信相手であると判定するので、簡単な判定方式で信頼性の高い判定結果を得ることができ、誤判定の確率が所定の確率以下であることを保証することができる。
【図面の簡単な説明】
【0008】
【図1】実施の形態1におけるRFIDシステム800の全体構成の一例を示すシステム構成図。
【図2】実施の形態1におけるRFIDリーダ装置100の機能ブロックの構成の一例を示すブロック構成図。
【図3】実施の形態1における判定処理S610の流れの一例を示すフローチャート図。
【図4】実施の形態1における判定回数差算出処理S630の流れの一例を示すフローチャート図。
【図5】実施の形態1における受信確率算出処理S650の流れの一例を示すフローチャート図。
【図6】実施の形態2における判定回数差算出処理S630の流れの一例を示すフローチャート図。
【図7】実施の形態2における装置判定工程S620の流れの一例を示すフローチャート図。
【図8】実施の形態2における判定回数差算出部163が算出する判定回数差の一例を示す図。
【図9】実施の形態3における判定回数差算出部163が算出する判定回数差の一例を示す図。
【図10】実施の形態3における判定回数差算出部163が算出する判定回数差の一例を示す図。
【図11】実施の形態5におけるRFIDリーダ装置100の機能ブロックの構成の一例を示すブロック構成図。
【図12】実施の形態5における判定処理S610の流れの一例を示すフローチャート図。
【図13】実施の形態5における電力検定工程S626の流れの一例を示すフローチャート図。
【発明を実施するための形態】
【0009】
実施の形態1.
実施の形態1について、図1〜図5を用いて説明する。
【0010】
図1は、この実施の形態におけるRFIDシステム800の全体構成の一例を示すシステム構成図である。
RFIDシステム800は、RFIDリーダ装置100、ホストコンピュータ810を有する。
RFIDリーダ装置100は、ホストコンピュータ810からの指示により、タグ821〜823と通信する。
RFIDリーダ装置100は、CPU911、RAM914、無線通信装置915、アンテナ916、ネットワーク通信装置917、フラッシュメモリ920を有する。
フラッシュメモリ920(記憶装置)は、不揮発性記憶装置の一例であり、CPU911が実行するプログラムや、CPU911が処理するデータなどを記憶する。
RAM914(記憶装置)は、揮発性記憶装置の一例であり、CPU911が処理するデータなどを一時的に記憶する。
CPU911(処理装置)は、フラッシュメモリ920などが記憶したプログラムを実行することにより、データを処理し、RFIDリーダ装置100全体の動作を制御する。
無線通信装置915(送信装置、受信装置)は、アンテナ916を介して、タグ821〜823に対して動作電力を供給する搬送波を放射する。無線通信装置915は、放射する搬送波を変調することにより、CPU911から送られたデータを無線信号に変換し、タグ821〜823に対して送信する。また、無線通信装置915は、アンテナ916を介してタグ821〜823からの信号を受信し、データに変換して、CPU911に送る。
ネットワーク通信装置917は、CPU911から送られたデータを、ホストコンピュータ810に対して送信し、ホストコンピュータ810からデータを受信して、CPU911に送る。
【0011】
RFIDシステム800の利用者は、RFIDリーダ装置100と通信させたいタグ821を、RFIDリーダ装置100の読取り範囲内に置く。タグ821は、RFIDリーダ装置100が放射した搬送波から動作電力を得て活性化し、RFIDリーダ装置100が送信したデータを受信する。タグ821は、受信したデータをコマンドとして解釈し、解釈したコマンドにしたがって動作する。例えば、タグ821は、記憶しているタグ821自身の識別データを読み出して、RFIDリーダ装置100に対して送信する。
【0012】
RFIDリーダ装置100がタグ821に対して送信するコマンドには、識別データにより相手を特定したコマンドと、特に相手を特定しないコマンドとがある。一連の通信において、RFIDリーダ装置100は、例えば、最初に相手を特定しないコマンドを送信し、タグ821の識別データを送信させて通信相手の識別データを取得し、次からは、取得した識別データにより相手を特定したコマンドを送信する。
タグ821は、識別データにより相手を特定するコマンドを受信した場合、記憶しているタグ821自身の識別データと、コマンドが指定した識別データとを比較し、一致する場合のみ、コマンドにしたがって動作する。
【0013】
RFIDシステム800の利用者が、RFIDリーダ装置100と通信させることを意図していないタグ822,823が、RFIDリーダ装置100の読取り範囲の近傍に存在する場合、RFIDリーダ装置100が放射した搬送波を受信して活性化する場合がある。RFIDリーダ装置100が送信したコマンドが識別データにより相手を特定したコマンドである場合、タグ822,823がコマンドを受信しても、記憶しているタグ822,823自身の識別データと、コマンドが指定した識別データとが一致しないので、タグ822,823は、受信したコマンドを無視する。
これに対し、RFIDリーダ装置100が送信したコマンドが、相手を特定しないコマンドである場合には、タグ822,823は、受信したコマンドにしたがって動作する。例えば、受信したコマンドが識別データの送信を要求するコマンドである場合、タグ822,823は、自身の識別データをRFIDリーダ装置100に対して送信する。
【0014】
このため、RFIDリーダ装置100は、受信した識別データが、利用者がRFIDリーダ装置100と通信させることを意図したタグ821のものであるか、通信させることを意図していないタグ822,823のものであるかを判定する。以下、利用者が通信させることを意図したタグ821を「正しいタグ」、利用者が通信させることを意図していないタグ822,823を「誤ったタグ」と呼ぶ。
【0015】
図2は、この実施の形態におけるRFIDリーダ装置100の機能ブロックの構成の一例を示すブロック構成図である。
ここに示した機能ブロックは、例えば、フラッシュメモリ920が記憶したプログラムをCPU911が実行することにより実現する。なお、これらの機能ブロックのうち一部または全部は、IC・デジタル回路・アナログ回路などを用いて実現してもよい。
【0016】
RFIDリーダ装置100(判定装置)は、試行回数記憶部111、要求送信部112、信号受信部121、識別取得部122、受信計数部123、受信記憶部124、判定回数差記憶部131、装置判定部132、識別記憶部133、識別出力部134、正受信確率算出部141、正受信確率記憶部142、誤受信確率算出部151、誤受信確率記憶部152、許容誤判定入力部161、許容誤判定記憶部162、判定回数差算出部163、許容無判定入力部171、許容無判定記憶部172、試行回数算出部173を有する。
【0017】
まず、正しいタグを判定するための構成について説明する。
【0018】
試行回数記憶部111は、あらかじめ、フラッシュメモリ920を用いて、最大試行回数を表わすデータを記憶している。
要求送信部112は、無線通信装置915を用いて、通信相手を特定せず、識別データの送信を要求するコマンド(以下「識別要求コマンド」と呼ぶ。)を送信する。1回の送信では、正しいタグが応答しなかったり、誤ったタグが応答したりする可能性があるため、要求送信部112は、識別要求コマンドを複数回送信する。
例えば、要求送信部112は、RAM914を用いて、試行回数として、0を表わすデータを記憶する。要求送信部112は、CPU911を用いて、試行回数記憶部111が記憶した最大試行回数を入力する。要求送信部112は、無線通信装置915を用いて、識別要求コマンドを送信する。要求送信部112は、CPU911を用いて、記憶したデータが表わす試行回数に1を加算して、記憶したデータを更新する。更新したデータが表わす試行回数が、入力したデータが表わす最大試行回数より小さい場合、要求送信部112は、CPU911を用いて、後述する装置判定部132が出力した判定結果を表わすデータを入力する。要求送信部112は、CPU911を用いて、入力したデータが表わす判定結果に基づいて、装置判定部132が正しいタグを判定できたか否かを知る。装置判定部132が正しいタグを判定できていない場合、要求送信部112は、再び、無線通信装置915を用いて、識別要求コマンドを送信する。要求送信部112は、装置判定部132が正しいタグを判定するか、あるいは、試行回数が最大試行回数に達するまで、これを繰り返す。
【0019】
信号受信部121は、無線通信装置915を用いて、要求送信部112が送信した識別要求コマンドに対する応答として、タグ821〜823が送信した信号を受信する。信号受信部121は、CPU911を用いて、受信した信号が表わすデータを出力する。
【0020】
識別取得部122は、CPU911を用いて、信号受信部121が受信した信号から、その信号を送信したタグの識別データを取得する。
例えば、識別取得部122は、CPU911を用いて、信号受信部121が出力したデータを入力する。識別取得部122は、CPU911を用いて、入力したデータに基づいて、信号受信部121が受信した信号を送信したタグの識別データを取得する。一回の識別要求コマンドに複数のタグが応答した場合、識別取得部122は、応答した複数のタグそれぞれについて識別データを取得する。識別取得部122は、CPU911を用いて、取得した識別データを出力する。
【0021】
受信計数部123は、CPU911を用いて、要求送信部112が複数回送信した識別要求コマンドに対して、各タグが何回応答したかを計数する。
受信記憶部124は、RAM914を用いて、要求送信部112が複数回送信した識別要求コマンドに対して1回以上応答したタグの識別データと、そのタグが応答した回数を表わすデータとを記憶する。
例えば、受信記憶部124は、要求送信部112が一連の識別要求コマンドを送信する前に、CPU911を用いて、記憶したデータを初期化して、消去する。受信計数部123は、CPU911を用いて、識別取得部122が出力した識別データを入力する。受信計数部123は、CPU911を用いて、入力した識別データと一致する識別データを、受信記憶部124が記憶しているか否かを判定する。
一致する識別データを受信記憶部124が記憶している場合、受信計数部123は、CPU911を用いて、受信記憶部124がそのタグについて記憶したデータを入力し、入力したデータが表わす応答回数に1を加えて、受信記憶部124が記憶したデータを更新する。受信記憶部124は、RAM914を用いて、更新されたデータを記憶する。
一致する識別データを受信記憶部124が記憶していない場合、受信計数部123は、CPU911を用いて、入力した識別データと、そのタグの応答回数として1を表わすデータを出力する。受信記憶部124は、CPU911を用いて、受信計数部123が出力したデータを入力し、RAM914を用いて、入力した識別データと応答回数を表わすデータとを新たに追加して記憶する。
受信計数部123が入力した識別データが複数ある場合には、これを識別データそれぞれについて繰り返す。
【0022】
判定回数差記憶部131は、あらかじめ、フラッシュメモリ920を用いて、判定回数差を表わすデータを記憶している。
装置判定部132は、CPU911を用いて、各タグの応答回数と判定回数差とに基づいて、どのタグが正しいタグかを判定する。
例えば、装置判定部132は、CPU911を用いて、受信記憶部124が記憶したデータと、判定回数差記憶部131が記憶したデータとを入力する。装置判定部132は、入力したデータが表わす各タグの応答回数と判定回数差とに基づいて、どのタグが正しいタグかを判定する。
判定に成功した場合、装置判定部132は、CPU911を用いて、正しいと判定したタグの識別データを出力する。
どのタグが正しいタグであるか判定できなかった場合、装置判定部132は、CPU911を用いて、正しいタグを判定できなかったことを表わすデータを出力する。
【0023】
利用者は、RFIDリーダ装置100の取り扱い説明書などにしたがって、正しいタグをRFIDリーダ装置100の読取り範囲内に置く。このため、正しいタグが識別要求コマンドに対して応答する確率(以下「正受信確率」と呼ぶ。)は、高い。
これに対し、利用者は、誤ったタグを、RFIDリーダ装置100の読取り範囲から遠ざけようとする。RFIDリーダ装置100の読取り範囲が利用者の思っている以上に広かったり、周辺に置かれた物の影響で電波が反射したりフェージングしたりすることの影響により、誤ったタグが応答する場合があるものの、誤ったタグが識別要求コマンドに対して応答する確率(以下「誤受信確率」と呼ぶ。)は、正受信確率よりも低い。
したがって、確率的に、正しいタグの応答回数は、誤ったタグの応答回数よりも多くなる傾向になる。
【0024】
装置判定部132は、CPU911を用いて、受信記憶部124が記憶した各タグの応答回数を表わすデータと、判定回数差記憶部131が記憶した判定回数差を表わすデータとを入力する。装置判定部132は、CPU911を用いて、入力したデータに基づいて、あるタグの応答回数と、他のタグの応答回数との差を算出する。装置判定部132は、CPU911を用いて、算出した差と、入力したデータが表わす判定回数差とを比較する。算出した差が判定回数差と等しいか判定回数差より大きい場合、装置判定部132は、CPU911を用いて、応答回数が多いタグを正しいタグと判定する。
【0025】
識別記憶部133は、CPU911を用いて、装置判定部132が出力したデータを入力する。識別記憶部133は、入力したデータが識別データである場合に、フラッシュメモリ920を用いて、入力した識別データを、通信相手の識別データとして記憶する。
【0026】
識別出力部134は、CPU911を用いて、識別記憶部133が記憶した識別データを入力する。識別出力部134は、ネットワーク通信装置917を用いて、入力した識別データを、ホストコンピュータ810に対して送信する。
【0027】
ここまでが、正しいタグを判定するための構成である。
次に、判定回数差を算出するための構成について説明する。
【0028】
正受信確率算出部141は、CPU911を用いて、正受信確率を算出する。
正受信確率記憶部142は、フラッシュメモリ920を用いて、正受信確率を記憶する。
例えば、正受信確率記憶部142は、あらかじめ、CPU911を用いて、フラッシュメモリ920が記憶したデータを初期化して、フラッシュメモリ920を用いて、あらかじめ定められた所定の初期値(例えば0.8)を表わすデータを記憶しておく。
正受信確率算出部141は、CPU911を用いて、装置判定部132が出力したデータを入力する。正受信確率算出部141は、入力したデータが識別データである場合、CPU911を用いて、受信記憶部124が記憶したデータを検索して、装置判定部132が正しいタグであると判定したタグの応答回数を表わすデータを取得する。正受信確率算出部141は、CPU911を用いて、取得したデータが表わす応答回数に基づいて、正受信確率記憶部142が記憶したデータを更新する。正受信確率記憶部142は、フラッシュメモリ920を用いて、更新されたデータを記憶する。
【0029】
正受信確率は、例えば、以下のようにして更新する。
正受信確率算出部141は、CPU911を用いて、取得したデータが表わすタグの応答回数を、要求送信部112が識別要求コマンドを送信した回数で割り、今回の試行におけるタグの応答確率を算出する。なお、装置判定部132が正しいタグであると判定したタグが複数ある場合には、正受信確率算出部141は、CPU911を用いて、複数のタグの応答回数を合計し、識別要求コマンドの送信回数に、正しいタグであると装置判定部132が判定したタグの数を乗じた数で、応答回数の合計を割り、今回の試行におけるタグの応答確率とする。正受信確率算出部141は、CPU911を用いて、正受信確率記憶部142が記憶した正受信確率を表わすデータを入力する。正受信確率算出部141は、CPU911を用いて、入力したデータが表わす正受信確率に、あらかじめ定められた所定の時定数αを乗じ、算出した今回の応答確率に(1−α)を乗じて、合計する。なお、時定数αは、0より大きく1より小さい実数であり、例えば0.99である。正受信確率算出部141は、CPU911を用いて、算出した合計を、更新後の正受信確率とする。正受信確率記憶部142は、フラッシュメモリ920を用いて、正受信確率算出部141が算出した更新後の正受信確率を記憶する。
なお、正受信確率は、装置判定部132が正しいタグを判定するたびに毎回更新する構成としてもよいし、例えばホストコンピュータ810から指定されたキャリブレーション期間中である場合のみ更新し、それ以外の場合は更新しない構成としてもよい。
また、正受信確率算出部141に代えて、正受信確率入力部を設け、正受信確率入力部が、例えば、ネットワーク通信装置917を用いて、ホストコンピュータ810が指定した正受信確率を表わすデータを受信し、正受信確率記憶部142が記憶する構成としてもよい。
【0030】
誤受信確率算出部151は、CPU911を用いて、誤受信確率を算出する。
誤受信確率記憶部152は、フラッシュメモリ920を用いて、誤受信確率を記憶する。
例えば、誤受信確率記憶部152は、あらかじめ、CPU911を用いて、フラッシュメモリ920が記憶したデータを初期化して、フラッシュメモリ920を用いて、あらかじめ定められた所定の初期値(例えば0.2)を表わすデータを記憶しておく。
誤受信確率算出部151は、CPU911を用いて、装置判定部132が出力したデータを入力する。誤受信確率算出部151は、入力したデータが識別データである場合、CPU911を用いて、受信記憶部124が記憶したデータを検索して、装置判定部132が正しいタグであると判定したタグ以外のタグの応答回数を表わすデータを取得する。誤受信確率算出部151は、CPU911を用いて、取得したデータが表わす応答回数に基づいて、誤受信確率記憶部152が記憶したデータを更新する。誤受信確率記憶部152は、フラッシュメモリ920を用いて、更新されたデータを記憶する。
誤受信確率は、正受信確率と同様の方式で更新する構成としてもよいし、正受信確率と異なる方式で更新する構成としてもよい。
また、誤受信確率算出部151に代えて、誤受信確率入力部を設け、誤受信確率入力部が、例えば、ネットワーク通信装置917を用いて、ホストコンピュータ810が指定した誤受信確率を表わすデータを受信し、誤受信確率記憶部152が記憶する構成としてもよい。
【0031】
許容誤判定入力部161は、CPU911を用いて、許容誤判定確率を入力する。
許容誤判定記憶部162は、フラッシュメモリ920を用いて、許容誤判定確率を表わすデータを記憶する。
許容誤判定確率とは、装置判定部132が、誤ったタグを正しいタグと間違って判定する確率として許容される最大値のことであり、例えば百万分の1である。装置判定部132が行う判定は、確率的なものであるから、間違って判定する確率を完全に0にすることはできず、実用的に問題のないレベルとなる値を、許容誤判定確率として指定する。
例えば、許容誤判定入力部161は、ネットワーク通信装置917を用いて、ホストコンピュータ810が指定した許容誤判定確率を表わすデータを入力する。許容誤判定入力部161は、CPU911を用いて、入力したデータを出力する。許容誤判定記憶部162は、CPU911を用いて、許容誤判定入力部161が出力したデータを入力する。許容誤判定記憶部162は、フラッシュメモリ920を用いて、入力したデータを記憶する。
なお、許容誤判定入力部161を設けず、あらかじめ定められた所定の値を許容誤判定確率とし、許容誤判定記憶部162が記憶しておく構成としてもよい。
【0032】
判定回数差算出部163は、CPU911を用いて、判定回数差を算出する。
判定回数差記憶部131は、フラッシュメモリ920を用いて、判定回数差算出部163が算出した判定回数差を表わすデータを記憶する。
例えば、判定回数差算出部163は、CPU911を用いて、正受信確率記憶部142が記憶した正受信確率を表わすデータと、誤受信確率記憶部152が記憶した誤受信確率を表わすデータと、許容誤判定記憶部162が記憶した許容誤判定確率を表わすデータとを入力する。判定回数差算出部163は、CPU911を用いて、入力したデータに基づいて、正受信確率と誤受信確率とから、誤判定の確率が許容誤判定確率以下となる判定回数差を算出する。判定回数差算出部163は、CPU911を用いて、算出した判定回数差を表わすデータを出力する。判定回数差記憶部131は、CPU911を用いて、判定回数差算出部163が出力したデータを入力する。判定回数差記憶部131は、フラッシュメモリ920を用いて、入力したデータを記憶する。
【0033】
なお、以上説明した判定回数差を算出するための構成に代えて、判定回数差入力部を設け、判定回数差入力部が、例えば、ネットワーク通信装置917を用いて、ホストコンピュータ810が指定した判定回数差を表わすデータを受信し、判定回数差記憶部131が記憶する構成としてもよい。
【0034】
ここまでが、判定回数差を算出するための構成である。
次に、最大試行回数を算出するための構成について説明する。
【0035】
許容無判定入力部171は、CPU911を用いて、許容無判定確率を入力する。
許容無判定記憶部172は、フラッシュメモリ920を用いて、許容無判定確率を表わすデータを記憶する。
許容無判定確率とは、要求送信部112が識別要求コマンドを最大試行回数送信しても、装置判定部132が正しいタグを判定できない確率として許容される最大値のことであり、例えば、100分の1である。許容誤判定確率が小さければ、その分、判定回数差が大きくなるので、最大試行回数を増やさなければ、装置判定部132が正しいタグを判定できない確率が高くなる。一方、最大試行回数を無制限に増やすと、正しいタグを判定するための通信に時間がかかり、実用に耐えなくなる可能性がある。そこで、実用的に問題となるレベルとなる値を、許容無判定確率として指定する。
例えば、許容無判定入力部171は、ネットワーク通信装置917を用いて、ホストコンピュータ810が指定した許容無判定確率を表わすデータを入力する。許容無判定入力部171は、CPU911を用いて、入力したデータを出力する。許容無判定記憶部172は、CPU911を用いて、許容無判定入力部171が出力したデータを入力する。許容無判定記憶部172は、フラッシュメモリ920を用いて、入力したデータを記憶する。
なお、許容無判定入力部171を設けず、あらかじめ定められた所定の値を許容無判定確率とし、許容無判定記憶部172が記憶しておく構成としてもよい。
【0036】
試行回数算出部173は、CPU911を用いて、最大試行回数を算出する。
試行回数記憶部111は、フラッシュメモリ920を用いて、試行回数算出部173が算出した最大試行回数を表わすデータを記憶する。
例えば、試行回数算出部173は、CPU911を用いて、正受信確率記憶部142が記憶した正受信確率を表わすデータと、誤受信確率記憶部152が記憶した誤受信確率を表わすデータと、判定回数差算出部163が出力した判定回数差を表わすデータと、許容無判定記憶部172が記憶した許容無判定確率を表わすデータとを入力する。試行回数算出部173は、CPU911を用いて、入力したデータに基づいて、装置判定部132が正しいタグを判定できない確率が許容無判定確率以下となる最大試行回数を算出する。試行回数算出部173は、CPU911を用いて、算出した最大試行回数を表わすデータを出力する。試行回数記憶部111は、CPU911を用いて、試行回数算出部173が出力したデータを入力する。試行回数記憶部111は、フラッシュメモリ920を用いて、入力したデータを記憶する。
【0037】
なお、最大試行回数を算出するための構成に代えて、試行回数入力部を設け、試行回数入力部が、例えば、ネットワーク通信装置917を用いて、ホストコンピュータ810が指定した最大試行回数を表わすデータを受信し、試行回数記憶部111が記憶する構成としてもよい。更に、無判定確率算出部と無判定確率出力部とを設け、無判定確率算出部が、CPU911を用いて、正受信確率と誤受信確率と判定回数差と最大試行回数とに基づいて、装置判定部132が正しいタグを判定できない確率を算出して無判定確率とし、無判定確率出力部が、例えば、ネットワーク通信装置917を用いて、ホストコンピュータ810に対して送信する構成としてもよい。
あるいは、最大試行回数を算出するための構成も、試行回数入力部も設けず、試行回数記憶部111が、あらかじめ定められた所定の整数を、最大試行回数として記憶しておく構成としてもよい。その場合、試行回数記憶部111は、最大試行回数として、例えば10以上30以下であり、好ましくは20程度の整数を記憶する。
【0038】
次に、動作について説明する。
【0039】
図3は、この実施の形態における判定処理S610の流れの一例を示すフローチャート図である。
判定処理S610において、RFIDリーダ装置100は、正しいタグを判定する。
判定処理S610は、初期化工程S611、試行回数判定工程S612、要求送信工程S613、信号受信工程S614、識別取得工程S615、識別選択工程S616、受信計数工程S617、識別繰り返し工程S618、装置判定工程S620、試行繰り返し工程S625、識別出力工程S629を有する。
なお、この例において、利用者は、RFIDリーダ装置100と通信させたいタグを1つずつRFIDリーダ装置100の読取り範囲内に置くものとする。すなわち、正しいタグの数は1であることが事前にわかっているものとする。
【0040】
初期化工程S611において、要求送信部112は、RAM914を用いて、試行回数「0」を記憶する。受信記憶部124は、CPU911を用いて、すべてのタグの受信回数を「0」に初期化し、RAM914を用いて記憶する。
【0041】
試行回数判定工程S612において、要求送信部112は、CPU911を用いて、記憶した試行回数と、試行回数記憶部111が記憶した最大試行回数とを比較する。
試行回数が最大試行回数以上である場合、要求送信部112は、CPU911を用いて、正しいタグを判定しないまま判定処理610を終了する。
試行回数が最大試行回数未満である場合、要求送信部112は、CPU911を用いて、要求送信工程S613へ進む。
【0042】
要求送信工程S613において、要求送信部112は、無線通信装置915を用いて、識別要求コマンドを送信する。
信号受信工程S614において、信号受信部121は、無線通信装置915を用いて、要求送信工程S613で要求送信部112が送信した識別要求コマンドに対する応答として、タグ821〜823が送信した信号を受信する。
識別取得工程S615において、識別取得部122は、CPU911を用いて、信号受信工程S614で信号受信部121が受信した信号に基づいて、タグ821〜823の識別データを取得する。
【0043】
識別選択工程S616において、受信計数部123は、CPU911を用いて、識別取得工程S615で識別取得部122が取得した識別データのなかから、一つずつ順に識別データを選択する。
受信計数工程S617において、受信計数部123は、CPU911を用いて、識別選択工程S616で選択した識別データにより識別されるタグについて受信記憶部124が記憶した受信回数に「1」を加える。
識別繰り返し工程S618において、受信計数部123は、CPU911を用いて、識別取得工程S615で識別取得部122が取得したすべての識別データについて受信計数工程S617の処理が終わったかを判定する。
未処理の識別データがある場合、受信計数部123は、CPU911を用いて、識別選択工程S616に戻り、次の識別データを選択する。
未処理の識別データがない場合、受信計数部123は、CPU911を用いて、装置判定工程S620へ進む。
【0044】
装置判定工程S620において、装置判定部132は、CPU911を用いて、受信記憶部124が記憶した受信回数のうち、受信回数が最大のタグの受信回数と2番目のタグの受信回数との差を算出する。装置判定部132は、CPU911を用いて、算出した差と、判定回数差記憶部131が記憶した判定回数差とを比較する。
算出した差が判定回数差以上である場合、装置判定部132は、CPU911を用いて、識別出力工程S629へ進む。
算出した差が判定回数差未満である場合、装置判定部132は、CPU911を用いて、試行繰り返し工程S625へ進む。
【0045】
試行繰り返し工程S625において、要求送信部112は、CPU911を用いて、記憶した試行回数に「1」を加える。要求送信部112は、CPU911を用いて、試行回数判定工程S612に戻る。
【0046】
識別出力工程S629において、装置判定部132は、CPU911を用いて、受信記憶部124が記憶した受信回数のうち、受信回数が最大のタグを、正しいタグと判定する。識別記憶部133は、フラッシュメモリ920を用いて、装置判定部132が正しいタグであると判定したタグの識別データを記憶する。識別出力部134は、ネットワーク通信装置917を用いて、ホストコンピュータ810に対して、装置判定部132が正しいタグであると判定したタグの識別データを送信する。
【0047】
次に、判定回数差の算出方式について説明する。
【0048】
あるタグが、要求送信部112が送信した識別要求コマンドに応答する確率は、正しいタグの場合と、誤ったタグの場合とで異なる。正しいタグの場合の応答確率をpとすると、n回の識別要求コマンドに対して、正しいタグがx回応答する確率P(Rn,x)は、次の式により求められる。
【数11】

ただし、試行回数nは、1以上の整数。応答回数xは、0以上n以下の整数。応答確率pは、0超1未満の実数。
【0049】
同様に、誤ったタグの応答確率をqとすると、n回の識別要求コマンドに対して、誤ったタグがx回応答する確率P(En,x)は、次の式により求められる。
【数12】

ただし、試行回数nは、1以上の整数。応答回数xは、0以上n以下の整数。応答確率qは、0超p未満の実数。
なお、各タグが応答するか否かは、他のタグとは無関係であり、それぞれ独立であると仮定する。
【0050】
いま、n回の識別要求コマンドに対して、タグAがa回応答し、タグBがb回応答したものとする。以下これを「事象TA=a,B=b」と記す。
正しいタグが1つであるものとすると、以下の二つの可能性がある。
(1)タグAが正しいタグである場合(以下これを「事象《A》」と記す。)
(2)タグBが正しいタグである場合(以下これを「事象《B》」と記す。)
事象《A》を前提として、事象TA=a,B=bが起きる確率は、次の式により求められる。
【数13】

ただし、試行回数nは、1以上の整数。応答回数a,bは、0以上n以下の整数。応答確率pは、0超1未満の実数。応答確率qは、0超p未満の実数。
【0051】
これに対し、事象《B》を前提として、事象TA=a,B=bが起きる確率は、次の式により求められる。
【数14】

【0052】
試行前における事前確率は、事象《A》《B》ともに等しく、2分の1であるものとすると、事象《A》の事後確率は、ベイズ推定により、次の式により求められる。
【数15】

【0053】
ここで、次の式で表わされる判別式Dを導入する。
【数16】

【0054】
許容誤判定確率をεとすると、次の式が成り立つ場合に、タグAが正しいと判定してよい。
【数17】

ただし、許容誤判定確率εは、0超1未満の実数で、1よりも十分に小さいものとする。
【0055】
これを変形して、次の式を得る。
【数18】

許容誤判定確率εが、1よりも十分に小さいので、1−ε≒1。よって、次の式が成り立つとき、タグAが正しいと判定してよい。
【数19】

ただし、底Bは、q・(1−p)/[p・(1−q)]。
【0056】
ここで、0<q<p<1だから、0<B<1。したがって、判別式Dは、応答回数aが応答回数bより大きい場合に1未満となり、応答回数の差a−bが大きくなるほど、小さくなり、0に近づく。
【0057】
応答回数の差a−bをKとおくと、Kが満たすべき条件は、次の式で与えられる。
【数20】

【0058】
そこで、この式を満たすKを判定回数差とすれば、タグAが正しいと判定して誤判定である確率が、許容誤判定確率ε以下となることを保証できる。
【0059】
判定回数差が小さいほど、少ない試行回数で判定条件を満たす可能性が高くなり、正しいタグを判定するのにかかる時間が短くなるとともに、最大試行回数以内の試行で正しいタグを判定できる可能性が高くなるので、判定回数差は、(誤判定確率が許容誤判定確率以下となる範囲内で)できるだけ小さいほうがよい。
判定回数差算出部163は、CPU911を用いて、次の式を満たす最小の整数Kを算出し、判定回数差とする。
【数21】

【0060】
図4は、この実施の形態における判定回数差算出処理S630の流れの一例を示すフローチャート図である。
判定回数差算出処理S630において、判定回数差算出部163は、判定回数差を算出する。
判定回数差算出処理S630は、許容誤判定対数算出工程S631、正受信対数算出工程S632、誤受信対数算出工程S633、対数差算出工程S634、実数判定回数差算出工程S641、整数判定回数差算出工程S642を有する。
【0061】
許容誤判定対数算出工程S631において、判定回数差算出部163は、CPU911を用いて、許容誤判定記憶部162が記憶した許容誤判定確率εに基づいて、許容誤判定確率εの対数log(ε)を算出する。
正受信対数算出工程S632において、判定回数差算出部163は、CPU911を用いて、正受信確率記憶部142が記憶した正受信確率pに基づいて、正受信確率pを1から引いた差1−pを算出し、算出した差1−pで正受信確率pを割った商p/(1−q)を算出し、算出した商p/(1−p)の対数log[p/(1−p)]を算出する。
誤受信対数算出工程S633において、判定回数差算出部163は、CPU911を用いて、誤受信確率記憶部152が記憶した誤受信確率qに基づいて、誤受信確率qを1から引いた差1−qを算出し、算出した差1−qで誤受信確率qを割った商q/(1−q)を算出し、算出した商q/(1−q)の対数log[q/(1−q)]を算出する。
なお、許容誤判定対数算出工程S631、正受信対数算出工程S632、誤受信対数算出工程S633で判定回数差算出部163が算出する対数は、同じ数を底とするものであればよく、自然対数でも常用対数でもよいし、他の正実数(例えば2)を底とするものでもよい。
【0062】
対数差算出工程S634において、判定回数差算出部163は、CPU911を用いて、誤受信対数算出工程S633で算出した対数log[q/(1−q)]から、正受信対数算出工程S632で算出した対数log[p/(1−p)]を引いた差log[q/(1−q)]−log[p/(1−p)]を算出する。
実数判定回数差算出工程S641において、判定回数差算出部163は、CPU911を用いて、対数差算出工程S634で算出した差で、許容誤判定対数算出工程S631で算出した対数log(ε)を割った商log(ε)/{log[q/(1−q)]−log[p/(1−p)]}を算出する。
整数判定回数差算出工程S642において、判定回数差算出部163は、CPU911を用いて、実数判定回数差算出工程S641で算出した商log(ε)/{log[q/(1−q)]−log[p/(1−p)]}よりも大きい最小の整数を求め、判定回数差とする。判定回数差記憶部131は、フラッシュメモリ920を用いて、判定回数差算出部163が算出した判定回数差を記憶する。
【0063】
例えば、許容誤判定確率εを百万分の1(10の−6乗)、正しいタグの応答確率pを0.8、誤ったタグの応答確率qを0.2とすると、実数判定回数差算出工程S641で判定回数差算出部163が算出する商が約4.98となるので、これより大きい最小の整数「5」を、判定回数差とする。
【0064】
次に、正受信確率及び誤受信確率の算出方式について説明する。
【0065】
図5は、この実施の形態における受信確率算出処理S650の流れの一例を示すフローチャート図である。
受信確率算出処理S650において、RFIDリーダ装置100は、正受信確率及び誤受信確率を算出する。
受信確率算出処理S650は、正受信試行延べ回数取得工程S651、正受信回数取得工程S652、今回正受信確率算出工程S653、正受信確率更新工程S654、誤受信試行延べ回数取得工程S661、誤受信回数取得工程S662、今回誤受信確率算出工程S663、誤受信確率更新工程S664を有する。
【0066】
正受信試行延べ回数取得工程S651において、正受信確率算出部141は、CPU911を用いて、要求送信部112が記憶した試行回数を取得して、正受信試行延べ回数とする。なお、この実施の形態では、正しいタグの数が1であることがあらかじめわかっていることを前提としているので、取得した試行回数をそのまま正受信試行延べ回数とする構成としているが、仮に、正しいタグの数が2であったとすると、正受信確率算出部141は、CPU911を用いて、取得した試行回数を2倍して、正受信試行延べ回数とする。また、正しいタグの数があらかじめわからない場合であれば、正受信確率算出部141は、CPU911を用いて、装置判定部132が正しいタグであると判定したタグの識別データの数を計数して、装置判定部132が正しいタグであると判定したタグの数を取得し、取得した正しいタグの数を、取得した試行回数に乗じて、正受信試行延べ回数とする。
【0067】
正受信回数取得工程S652において、正受信確率算出部141は、CPU911を用いて、装置判定部132が正しいタグであると判定したタグの識別データに基づいて、そのタグについて受信記憶部124が記憶した受信回数を取得し、正受信合計回数とする。なお、装置判定部132が正しいタグであると判定したタグの数が複数の場合、正受信確率算出部141は、CPU911を用いて、それぞれのタグについて受信記憶部124が記憶した受信回数を取得し、取得した受信回数を合計して、正受信合計回数とする。
【0068】
今回正受信確率算出工程S653において、正受信確率算出部141は、CPU911を用いて、正受信回数取得工程S652で取得した正受信合計回数を、正受信試行延べ回数取得工程S651で取得した正受信試行延べ回数で割った商を算出して、今回正受信確率とする。
【0069】
正受信確率更新工程S654において、正受信確率算出部141は、CPU911を用いて、正受信確率記憶部142が記憶した正受信確率を、今回正受信確率算出工程S653で算出した今回正受信確率に基づいて修正する。
【0070】
誤受信試行延べ回数取得工程S661において、誤受信確率算出部151は、CPU911を用いて、受信記憶部124が記憶した受信回数に基づいて、今回の試行において、要求送信部112が送信した識別要求コマンドに対して1回でも応答したタグの数を計数する。誤受信確率算出部151は、CPU911を用いて、計数した数から1を引いて、誤受信タグ数とする。なお、装置判定部132が正しいタグであると判定したタグの数が複数の場合、誤受信確率算出部151は、CPU911を用いて、装置判定部132が正しいタグであると判定したタグの数を、計数した数から引いて、誤受信タグ数とする。
誤受信確率算出部151は、CPU911を用いて、要求送信部112が記憶した試行回数に、算出した誤受信タグ数を乗じて、誤受信試行延べ回数とする。
【0071】
誤受信回数取得工程S662において、誤受信確率算出部151は、CPU911を用いて、装置判定部132が正しいタグであると判定したタグの識別データに基づいて、それ以外のタグ(すなわち、装置判定部132が誤ったタグであると判定したタグ)について受信記憶部124が記憶した受信回数を取得し、取得した受信回数を合計して、誤受信合計回数とする。
【0072】
今回誤受信確率算出工程S663において、誤受信確率算出部151は、CPU911を用いて、誤受信回数取得工程S662で取得した誤受信合計回数を、誤受信試行延べ回数取得工程S661で取得した誤受信試行延べ回数で割った商を算出して、今回誤受信確率とする。
【0073】
誤受信確率更新工程S664において、誤受信確率算出部151は、CPU911を用いて、誤受信確率記憶部152が記憶した誤受信確率を、今回誤受信確率算出工程S663で算出した今回誤受信確率に基づいて修正する。
【0074】
正受信確率更新工程S654及び誤受信確率更新工程S664における更新は、上述した方式のほか、例えばベイズ推定を用いて事後確率を計算して更新する方式であってもよいし、過去の正受信確率や誤受信確率を捨て、算出した今回正受信確率や今回誤受信確率を、新たな正受信確率や誤受信確率として記憶する方式であってもよい。
【0075】
この実施の形態における判定装置(RFIDリーダ装置100)は、一以上の通信装置(タグ821〜823)が送信した信号を受信して、受信した信号を送信した通信装置のなかから、通信相手である通信装置(「正しいタグ」)を判定する判定装置である。
上記判定装置は、信号を受信する受信装置(無線通信装置915)と、データを処理する処理装置(CPU911)と、信号受信部121と、識別取得部122と、受信計数部123と、装置判定部132とを有する。
上記信号受信部121は、上記受信装置を用いて、一以上の通信装置がそれぞれ送信した信号を複数回受信する。
上記識別取得部122は、上記処理装置を用いて、上記信号受信部121が受信した信号に基づいて、上記信号受信部121が受信した信号を送信した通信装置を識別する識別データを取得する。
上記受信計数部123は、上記処理装置を用いて、上記識別取得部122が取得した識別データに基づいて、上記識別データによって識別される通信装置ごとに、上記信号受信部121が信号を受信した受信回数を計数する。
上記装置判定部132は、上記処理装置を用いて、上記受信計数部123が計数した受信回数に基づいて、ある通信装置の受信回数と他の通信装置の受信回数との差(受信回数差)を算出し、算出した受信回数の差と所定の判定回数差とを比較して、上記受信回数の差が上記判定回数差以上である場合に、受信回数が多い通信装置を通信相手(正しいタグ)であると判定する。
【0076】
この実施の形態における判定装置(RFIDリーダ装置100)によれば、受信回数の差が判定回数差以上である場合に、装置判定部132が、受信回数の多い通信装置を通信相手であると判定するので、簡単な判定方式で信頼性の高い判定結果を得ることができる。
【0077】
この実施の形態における判定装置(RFIDリーダ装置100)は、更に、データを記憶する記憶装置(フラッシュメモリ920)と、正受信確率記憶部142と、誤受信確率記憶部152と、判定回数差算出部163とを有する。
上記正受信確率記憶部142は、上記記憶装置を用いて、上記信号受信部121が、通信相手である通信装置(正しいタグ)が送信した信号を受信する確率を正受信確率として記憶する。
上記誤受信確率記憶部152は、上記記憶装置を用いて、上記信号受信部121が、通信相手でない通信装置(誤ったタグ)が送信した信号を受信する確率を誤受信確率として記憶する。
上記判定回数差算出部163は、上記処理装置(CPU911)を用いて、上記正受信確率記憶部142が記憶した正受信確率と、上記誤受信確率記憶部152が記憶した誤受信確率とに基づいて、判定回数差を算出する。
上記装置判定部132は、上記処理装置を用いて、上記判定回数差算出部163が算出した判定回数差を上記所定の判定回数差として、通信相手である通信装置を判定する。
【0078】
この実施の形態における判定装置(RFIDリーダ装置100)によれば、正受信確率と誤受信確率に基づいて、判定回数差算出部163が判定回数差を算出するので、装置判定部132が誤った判定をする確率が所定の値以下であることを保証することができる。
【0079】
この実施の形態における判定装置(RFIDリーダ装置100)は、更に、正受信確率算出部141を有する。
上記正受信確率算出部141は、上記処理装置(CPU911)を用いて、上記受信計数部123が計数した受信回数に基づいて、上記正受信確率を算出する。
上記正受信確率記憶部142は、上記記憶装置(フラッシュメモリ920)を用いて、上記正受信確率算出部141が算出した正受信確率を記憶する。
【0080】
この実施の形態における判定装置(RFIDリーダ装置100)によれば、受信回数に基づいて、正受信確率算出部141が正受信確率を算出するので、実際の運用状況に応じた正受信確率を求めることができ、これに基づいて判定回数差算出部163が判定回数差を算出するので、装置判定部132が誤った判定をする確率が所定の値以下であることを、更に確実に保証することができる。
【0081】
この実施の形態における判定装置(RFIDリーダ装置100)は、更に、誤受信確率算出部151を有する。
上記誤受信確率算出部151は、上記処理装置(CPU911)を用いて、上記受信計数部123が計数した受信回数に基づいて、上記誤受信確率を算出する。
上記誤受信確率記憶部152は、上記記憶装置(フラッシュメモリ920)を用いて、上記誤受信確率算出部151が算出した誤受信確率を記憶する。
【0082】
この実施の形態における判定装置(RFIDリーダ装置100)によれば、受信回数に基づいて、誤受信確率算出部151が誤受信確率を算出するので、実際の運用状況に応じた誤受信確率を求めることができ、これに基づいて判定回数差算出部163が判定回数差を算出するので、装置判定部132が誤った判定をする確率が所定の値以下であることを、更に確実に保証することができる。
【0083】
この実施の形態における判定装置(RFIDリーダ装置100)は、更に、信号を送信する送信装置(無線通信装置915)と、要求送信部112とを有する。
上記要求送信部112は、上記送信装置を用いて、通信装置(タグ821〜823)に対して、上記識別データを表わす信号の送信を要求することを表わす信号(識別要求コマンド)を複数回送信する。
上記信号受信部121は、上記受信装置(無線通信装置915)を用いて、上記要求送信部112が送信した信号に対する応答として通信装置が送信した信号を受信する。
【0084】
この実施の形態における判定装置(RFIDリーダ装置100)によれば、要求送信部112が送信した信号に対する応答として通信装置(タグ821〜823)が送信した信号を、信号受信部121が受信するので、要求送信部112が送信した信号が届く範囲内に存在する通信装置のなかから、通信相手を判定することができる。
【0085】
この実施の形態における判定装置(RFIDリーダ装置100)において、上記判定回数差算出部163は、上記処理装置(CPU911)を用いて、次の式を満たす整数を求めて、上記判定回数差とする。
【数22】

ただし、Kは、上記判定回数差算出部163が算出する判定回数差。εは、許容される誤判定の確率(許容誤判定確率)。pは、正受信確率記憶部142が記憶した正受信確率。qは、誤受信確率記憶部152が記憶した誤受信確率である。
【0086】
この実施の形態における判定装置(RFIDリーダ装置100)によれば、装置判定部132が誤った判定をする確率が、許容される確率ε以下であることを保証することができる。
【0087】
この実施の形態における判定装置(RFIDリーダ装置100)は、更に、正受信合計算出部(正受信確率算出部141)と、正受信機会算出部(正受信確率算出部141)とを有する。
上記正受信合計算出部は、上記処理装置(CPU911)を用いて、上記装置判定部132が通信相手(正しいタグ)であると判定した通信装置(タグ821〜823)について、上記受信計数部123が計数した受信回数を合計して、正受信合計回数とする。
上記正受信機会算出部は、上記処理装置を用いて、上記装置判定部132が通信相手であると判定した通信装置について、上記信号受信部121が信号を受信する機会があった回数(試行回数)を合計して、正受信機会回数(正受信試行延べ回数)とする。
上記正受信確率算出部141は、上記処理装置を用いて、上記正受信合計算出部が算出した正受信合計回数を、上記正受信機会算出部が算出した正受信機会回数で割った商を算出して、正受信確率とする。
【0088】
この実施の形態における判定装置(RFIDリーダ装置100)によれば、正受信確率算出部141が、正受信合計回数を正受信機会回数で割った商を正受信確率とするので、実際の運用状況に応じた正受信確率を求めることができ、これに基づいて判定回数差算出部163が判定回数差を算出するので、装置判定部132が誤った判定をする確率が所定の値以下であることを、更に確実に保証することができる。
【0089】
この実施の形態における判定装置(RFIDリーダ装置100)は、更に、誤受信合計算出部(誤受信確率算出部151)と、誤受信機会算出部(誤受信確率算出部151)とを有する。
上記誤受信合計算出部は、上記処理装置(CPU911)を用いて、上記装置判定部132が通信相手でない(誤ったタグである)と判定した通信装置(タグ821〜823)について、上記受信計数部123が計数した受信回数を合計して、誤受信合計回数とする。
上記誤受信機会算出部は、上記処理装置を用いて、上記装置判定部132が通信相手でないと判定した通信装置について、上記信号受信部121が信号を受信する機会があった回数(試行回数)を合計して、誤受信機会回数(誤受信試行延べ回数)とする。
上記誤受信確率算出部151は、上記処理装置を用いて、上記誤受信合計算出部が算出した誤受信合計回数を、上記誤受信機会算出部が算出した誤受信機会回数で割った商を算出して、誤受信確率とする。
【0090】
この実施の形態における判定装置(RFIDリーダ装置100)によれば、誤受信確率算出部151が、誤受信合計回数を誤受信機会回数で割った商を誤受信確率とするので、実際の運用状況に応じた誤受信確率を求めることができ、これに基づいて判定回数差算出部163が判定回数差を算出するので、装置判定部132が誤った判定をする確率が所定の値以下であることを、更に確実に保証することができる。
【0091】
この実施の形態における判定装置(RFIDリーダ装置100)は、コンピュータを上記判定装置として機能させるプログラムを、コンピュータが実行することにより実現することができる。
【0092】
この実施の形態におけるコンピュータプログラムによれば、簡単な判定方式で信頼性の高い判定結果を得ることができる判定装置を実現することができる。
【0093】
この実施の形態における判定装置(RFIDリーダ装置100)が、一以上の通信装置(タグ821〜823)が送信した信号を受信して、受信した信号を送信した通信装置のなかから、通信相手である通信装置(正しいタグ)を判定する判定方法(判定処理S610)は、以下の工程を有する。
上記受信装置(無線通信装置915)が、一以上の通信装置がそれぞれ送信した信号を複数回受信する(信号受信工程S614)。
上記処理装置(CPU911)が、上記受信装置が受信した信号に基づいて、上記受信装置が受信した信号を送信した通信装置を識別する識別データを取得する(識別取得工程S615)。
上記処理装置が、取得した識別データに基づいて、上記識別データによって識別される通信装置ごとに、上記受信装置が信号を受信した受信回数を計数する(受信計数工程S617)。
上記処理装置が、計数した受信回数に基づいて、ある通信装置の受信回数と他の通信装置の受信回数との差と、所定の判定回数差とを比較し、上記受信回数の差が上記判定回数差以上である場合に、受信回数が多い通信装置を通信相手であると判定する(装置判定工程S620)。
【0094】
この実施の形態における判定方法(判定処理S610)によれば、簡単な方法で信頼性の高い判定結果を得ることができる。
【0095】
比較のため、識別要求コマンドを複数回送信し、応答回数が最も早く所定の回数に達したタグを正しいタグと判定する判定方式の信頼性について検討する。
正しいタグであると判定する応答回数の閾値をLとする。
この判定方式において、最も信頼性が低いと考えられるのは、n回の試行に対して、タグAがL回応答して正しいタグであると判定され、タグBは(L−1)回応答して惜しくも誤ったタグであると判定された場合である。
n回の試行に対して、タグAがL回、タグBが(L−1)回応答した事象《TA=L,B=L−1》が発生したとすると、タグAが正しい事象《A》を前提にして、事象《TA=L,B=L−1》が起きる確率は、
【数23】

また、タグBが正しい事象《B》を前提にして、事象《TA=L,B=L−1》が起きる確率は、
【数24】

ベイズ推定により、タグBが正しい事象《B》の事後確率を求めると、
【数25】

例えば、正しいタグの応答確率pが0.8、誤ったタグの応答確率qが0.2であるとすると、タグBが正しい事象《B》の事後確率は、約5.9%である。これは、すなわち、タグAが正しいとの判定が誤判定である確率であり、高い信頼性が要求されるシステムでは、受け入れられる数字ではない。
また、この値は、閾値Lや試行回数nを変えても変化せず、この判定方式を採用する限り、試行回数を増やしたり、閾値を高くしたりしても信頼性の向上には寄与しない。
【0096】
これに対し、この実施の形態における判定装置(RFIDリーダ装置100)の判定方式は、誤判定の確率が、例えば百万分の1以下という高い信頼性を確保できるとともに、判定回数差を大きくすれば、信頼性を更に高くすることも可能である。
また、単に信頼性が高いというだけでなく、要求される信頼性の程度(99%の信頼性でよいのか、99.99%の信頼性が必要なのか、99.9999%の信頼性が必要なのか、・・・)に基づいて判定回数差を算出するので、要求される水準以上の信頼性があることを保証できる。
【0097】
正しいタグを判定する処理は、その後に続く正しいタグとの本格的な通信の前段階であるから、要求される水準の信頼性が確保されることを前提として、できるだけ速やかに判定できることが望まれる。
この実施の形態における判定装置(RFIDリーダ装置100)は、要求される水準以上の信頼性を確保できる最小の判定回数差を算出するので、要求される水準の信頼性を確保しつつ、なるべく少ない試行回数で正しいタグを判定をすることができる。
【0098】
以上説明したRFIDリーダ装置100は、(a)繰り返しID(識別データ)を読み取る読取部(要求送信部112、信号受信部121、識別取得部122)と、(b)それぞれのID毎に読み取り回数(受信回数)を計測する計測部(受信計数部123)と、(c)ID毎の読み取り回数により、正しいID(正しいタグ)を判定する判定部(装置判定部132)と、(d)繰り返し回数の上限値(最大試行回数)により、正しいIDが判断できなくとも、繰り返し処理を終了する終了部(要求送信部112)とを備える。
【0099】
以上説明したRFIDリーダ装置100は、(a)正しいIDの読み取り確率(正受信確率)pを保持する保持部(正受信確率記憶部142)と、(b)誤ったIDの読み取り確率(誤受信確率)qを保持する保持部(誤受信確率記憶部152)と、(c)pとqから正しいIDの判定条件(判定回数差)を算出する算出部(判定回数差算出部163)とを備える。
【0100】
以上説明したRFIDリーダ装置100は、(a)最近の通信に於ける通信回数Nと正しいIDのタグの数M、正しいIDの読み取り回数Tを保持する保持部(受信記憶部124)と、(b)N、M、Tからpを更新する更新部(正受信確率算出部141)とを備える。
【0101】
以上説明したRFIDリーダ装置100は、(a)最近の通信に於ける通信回数Nと誤ったIDのタグの数E、誤ったIDの読み取り回数Fを保持する保持部(受信記憶部124)と、(b)N、E、Fからqを更新する更新部(誤受信確率算出部151)とを備える。
【0102】
これにより、RFIDリーダ装置100の用途により規定された確度(信頼性)で、正しいIDを判定し、ホストコンピュータ810に送信することができる。
【0103】
以上説明したRFIDシステムにおいて、ホストコンピュータ810は、RFIDリーダ装置100に対してタグの読み出し命令を出す。ホストコンピュータ810とRFIDリーダ装置100とは、ネットワークにより接続されている。アンテナ916は、アンテナケーブルによりRFIDリーダ装置100と接続されている。アンテナ916とタグ821〜823とは、電波で通信(コマンドとレスポンスのやりとり)する。タグ821〜823は、複数あってもよい。例えば、読むべきタグは1枚で、その他のタグは本来読むべきではないものとする。
【0104】
RFIDリーダ装置100は、ネットワークインタフェース部(ネットワーク通信装置917)、通信制御部(CPU911)、無線通信部(無線通信装置915)、ID判定部(CPU911)などから構成されている。タグ821〜823は、アンテナ、無線通信回路、IDが格納されているIDメモリなどから構成されている。
【0105】
ホストコンピュータ810がタグIDを受け取るまでの動作を説明する。
ホストコンピュータ810は、ネットワークを経由して、ID読み取りの命令をRFIDリーダ装置100に送信する。RFIDリーダ装置100は、ネットワークインタフェース部でネットワークにより伝達された信号を解釈して、ID読み取り命令を取得し、通信制御部に伝える。通信制御部がID読み取り命令を解釈し、その命令にしたがって、IDを読むための通信コマンドを作成し、無線通信部に伝える。無線通信部は、通信コマンドを無線に乗せる信号に変換する。この信号は、アンテナケーブルを経由してアンテナ916から電波として放射され、タグ821〜823によって受信される。タグ821〜823は、アンテナ916が放射した電波をアンテナが受信し、無線通信回路が通信コマンドを解釈し、IDメモリからIDを読み取る。無線通信回路がID情報を無線信号に変換し、アンテナが電波として放射し、RFIDリーダ装置100のアンテナ916が受信する。受信された信号は、アンテナケーブルを経由し、無線通信部がID情報に戻し、ID判定部が蓄積する。
【0106】
ここで、タグ821〜823は複数あり、システム上、必ず読まなければならないタグ821と、読んでは困るタグ822,823があるものとする。読むべきタグのIDを正ID、読んでは困るタグのIDを誤IDと呼ぶ。例えば、Aは正ID、Bは誤IDであるとする。システムの運用上、一般に、正IDのタグ821は、アンテナ916に十分近い位置に一定時間置かれる。一方、誤IDのタグ822,823は、本来、システム上読むべきではないことを考慮し、アンテナ916から十分離すなどの運用上の処置が取られる。しかしながら、設置の問題などにより、アンテナ916が、その電波を捉えられないほど十分離すことができない場合、タグ822,823が移動中にアンテナ916に一瞬近付いたり、あるいは、近くの人やモノの影響で電波が反射し、タグ822,823の応答波をアンテナ916が捕らえてしまうことがある。このようなさまざまな原因により誤って読み取られた誤IDをID判定部は、誤りであると判定する。すなわち、ID判定部は、正ID(A)と誤ID(B)との両方を入力し、正ID(A)のみを出力する。正ID(A)は、ネットワークインタフェース部が、ネットワークを伝搬する信号に変換し、ネットワークを経由してホストコンピュータ810に伝えられる。
【0107】
次に、ID判定部が誤IDを判定する方式について説明する。
ID判定部の主要な要素は、例えば、ID記憶テーブル(受信記憶部124)、正ID読み取り確率p保持部(正受信確率記憶部142)、誤ID読み取り確率q保持部(誤受信確率記憶部152)、判定回数差K保持部(判定回数差記憶部131)、ループ回数N記憶部(要求送信部112)、最大ループ回数L記憶部(試行回数記憶部111)である。なお、0<K<L、0≦q<p≦1の関係を前提とする。例えば、p=0.8、q=0.2である。ID記憶テーブルは、読みだされたIDを保持するため、ID(識別データ)を記憶する列と、読み取られた回数(受信回数)を記憶する列とがある。正ID読み取り確率p、誤ID読み取り確率qは、0から1の実数で表記される。判定回数差Kは、pとqから求められる定数である。例えば、K=5である。最大ループ回数Lは、最大の実行時間を規定する定数である。通常Lは10〜30程度の値をとり、例えば、L=20である。
【0108】
ID判定部の動作は、以下の通りである。
ID判定部は、ホストコンピュータ810からのID読み取り命令に対し、複数回の通信コマンド送信を通信制御部に依頼し、複数回の読み取りに対するID情報を受信し、誤IDの判定をする。
【0109】
まず、ID判定部は、通信コマンド生成要求を通信制御部に出す。
次に、ID判定部は、タグ821〜822からのID情報を無線通信部から受信する。
そして、ID判定部は、この結果をID記憶テーブルに記録する。ID判定部は、例えば、読取回数の多い順に並べて記録する。すなわち、読み取られた回数が一番多いものを第1行目、次に多いものを第2行目に格納する。
このとき、ループ回数Nは1である。
それから、ID判定部は、読み取りID回数の差を算出する。例えば、正IDの数が1であれば、ID判定部は、読み取りID回数が1位のものと2位のものとの差を計算する。
その後、ID判定部は、読み取りID回数の差を判定回数差Kと比較する。Kは、例えば4〜10程度の値である。
読取りID回数の差が判定回数差Kより小さい場合、ID判定部は、ループ回数Nを最大ループ回数Lと比較する。ループ回数Nが最大ループ回数より小さい場合、ID判定部は、ループ回数Nに1を加え、最初に戻って、通信コマンド生成要求を出す。
【0110】
以上を、読取りID回数の差が判定回数差K以上となるか、ループ回数Nが最大ループ回数以上となるまで繰り返す。
【0111】
正ID読み取り確率pと誤ID読み取り確率qとの差が大きい場合、一般的には、正IDの読み取り回数が誤IDの読み取り回数より大きく、読み取り回数の差も大きい。したがって、ID記憶テーブルの1行目が正ID、2行目が誤IDとなる。すなわち、ID判定部が算出した読み取りID数の差は、正IDの回数−誤IDの回数であり、ループを回るにしたがって大きな値となる。その差が判定回数差K以上になったとき、正IDが確定して終了する。ID判定部は、ID記憶テーブルの第1行目を正IDと判定し、第2行目以降は誤IDと判定する。
一方、正ID読み取り確率pと誤ID読み取り確率qとの差が小さい場合、一般的には、正IDの読み取り回数が誤IDの読み取り回数より大きいが、そうならない場合も発生し、また、その読み取り回数の差も小さい。したがって、ID判定部が求めた読み取りID回数の差が判定回数差K以上になる前、ループ回数Nが最大ループ回数Lに達し、正IDが確定しないまま終了する。これは、システムが求める誤り確率では、正IDを判定できなかったことを意味する。つまり、正IDが十分読めないか、誤IDが多く読めるか、あるいはその両方の状態である。ID判定部は、正IDを断定できない状態であることをホストコンピュータ810に伝達する。例えば、ID判定部は、正IDである保証がないという留保付きで、入力したIDすべてを、ホストコンピュータ810に対して送信する。ホストコンピュータ810は、受信したIDのなかから、運用上の情報により正IDを判定してもよいし、処理の再実行、処理の停止などの処置をしてもよい。
【0112】
次に、判定回数差Kの求め方を示す。
判定回数差Kは、システムが求める誤り確率(許容誤判定確率)ε、正ID読み取り確率(正受信確率)p、誤ID読み取り確率(誤受信確率)qで決定する。
【0113】
N回ループを回り、通信コマンドの生成からID記録テーブルの更新までの処理をN回実施した状態を、「N回のID収集」と呼ぶ。
N回のID収集により、複数のIDが読めたと想定する。例えば、読めたIDの個数が2個であるとする。読めたIDをA,Bとし、読めた回数をそれぞれ、a,bとし、判定式をD(A,B;a,b;N)とする。なお、Dは、正ID数がx、誤ID数がyの場合の判定式を表す。また、IDのA,Bが読める事象は独立であるとする。
A,Bの組み合わせには、以下の3種類がある。
(1)Aが正ID、Bが誤ID。
(2)Aが誤ID、Bが正ID。
(3)Aが誤ID、Bも誤ID。
正ID読み取り確率pのほうが誤ID読み取り確率qより大きいので、(3)の確率は(1)や(2)に比べて小さい。ここでは(3)を無視し、(1)及び(2)だけを考慮する。この条件のもと、(1)の確率をP=P(正ID=A,誤ID=B)、(2)の確率をP=P(正ID=B,誤ID=A)と定義する。より多く読めた方をAとすると、a≧bである。
ここで、正IDの読み取り確率の確率密度関数をProbR、誤IDの読み取り確率の確率密度関数をProbEと定義する。IDの読み取りが独立事象と仮定して、確率密度関数ProbR及び確率密度関数ProbBを二項確率密度関数で模擬する。
確率密度関数ProbRは、パラメータ(x,N,p)を持つ。ただし、xは正IDの読めた回数、Nは読み取り試行回数、pは正IDの平均読み取り確率である。このとき、
【数26】

【0114】
確率密度関数ProbEは、パラメータ(y,N,q)を持つ。ただし、yは誤IDを読んでしまった回数、Nは読み取り試行回数、qは誤IDの平均読み取り確率である。このとき、
【数27】

【0115】
正IDの平均読み取り確率pが誤IDの平均読み取り確率qより大きいという前提を活用して、正IDと誤IDの判別を行う。
(1)の確率P=P(正ID=A,誤ID=B)は、
【数28】

(2)の確率P=P(正ID=B,誤ID=A)は、
【数29】

【0116】
観測された事象は(1)または(2)のいずれかであるから、PとPとの合計が1になるよう正規化して、P^及びP^とする。すなわち、
【数30】

【0117】
P^は、Aを正IDと判断したとき、その判断が正しい確率である。これが1−εより大きくなる条件を求めるため、判定式Dとして、
【数31】

を導入すると、
【数32】

【0118】
ここで、
【数33】

だから、誤IDと正IDの判別は、試行回数Nによらず、IDが読み出された回数の差K=(a−b)で決定することがわかる。
つまり、判定式D11の引数は、K値のみであり、事前の交信環境で決定する正IDの平均読み取り率p、誤IDの平均検出確率qのみで信頼度が計算できることを示している。すなわち、アルゴリズムの完了条件は、
【数34】

が成り立つことである。これをKについて解くと、
【数35】

となる。例えば、判定の誤り許容率(許容誤判定確率)εを10のマイナス6乗、p=0.8、q=0.2として、この式の右辺を計算すると約4.98なので、条件を満たす最小の整数Kは5であることがわかる。
【0119】
以上説明したRFIDリーダ装置は、正ID読み取り率p、誤ID読み取り率qが変動する場合に対応するため、読み取り結果をp、qにフィードバックし、判定回数差Kを再計算する。
【0120】
例えば、ID判定部は、ID記憶テーブル(受信記憶部124)、実行ログテーブル(実行結果記憶部)を持つ。ID判定部は、変数として、最大ループ回数(最大試行回数)L、判定回数差K、ループ回数(試行回数)N、正IDタグ数M、正ID読取り総回数T(正受信合計回数)、誤IDタグ数E、誤ID読取り総回数F(誤受信合計回数)、正ID読取り率(正受信確率)p、誤ID読取り率(誤受信確率)qを記憶する。
最大ループ回数Lには、判定回数差Kに比べて十分大きい値の定数を設定する。例えば、経験的に妥当な値である20を設定する。また、最初の判定回数差Kは5、期待する正IDのタグ個数は常に2とする。例えば、ホストコンピュータ810が、4回のタグの読み出し命令を発行し、その結果を用いて、ID判定部が、K値を更新する。
【0121】
1回のタグの読み出し命令に対して、ID判定部が正IDの判定処理をした結果、例えば、10回のループにより3つのIDを読み、その読み取り回数は、それぞれ9回、7回、2回であったとする。2番目のIDの読み取り回数と3番目のIDの読み取り回数の差が判定回数差K=5以上になったので、9回読んだIDと7回読んだIDとを正IDと判定し、2回読んだIDは誤IDと判定する。このとき、正IDタグ数M=2で、両方の正IDの読み取り回数の合計は9+7=16となり、T値として残る。誤IDタグは1枚検出されたのでE=1、それが2回検出されたので誤ID読み取り回数の合計はF=2となる。
このような結果が、ホストコンピュータ810からのタグの読み出し命令ごとに求められ、実行ログテーブルが記憶する。このテーブルの1行目は、1回目のタグの読み出し命令の結果であり、2行目は2回目のタグの読み出し命令の結果である。例えば、4回分の結果がこのテーブルに記録される。
【0122】
ID判定部は、正ID読み取り総回数(正受信合計回数)Tの総和(ΣT)を、理想的な状態(読み取り率100%)なら読めたであろう総数(Σ(N×M))で割ることにより、正ID読み取り率(正受信確率)pを求める。すなわち、p=ΣT/Σ(N×M)である。例えば、正ID読み取り総回数Tが、1回目は16、2回目は13、3回目は10、4回目は13だったとすると、ID判定部は、Tの総和ΣT=52を算出する。また、例えば、ループ回数Nが、1回目は10、2回目は7、3回目は5、4回目は8であり、正IDタグ数Mが、1回目〜4回目まで同じく2だったとすると、ID判定部は、読めた可能性の総数Σ(N×M)=60を算出する。ID判定部は、Tの総和を、読めた可能性の総数で割り、正ID読み取り率p=52/60=0.87を得る。
【0123】
ID判定部は、誤タグ1枚当たりの読み取り数(F/E)の総和(Σ(F/E))を、読み取り機会の総数(ΣN)で割ることにより誤ID読み取り率qを求める。すなわち、q=Σ(F/E)/ΣNである。例えば、誤ID読み取り総数Fが、1回目は2、2回目は2、3回目は0、4回目は1であり、誤IDタグ数Eが、1回目は1、2回目は2、3回目は0、4回目は1だったとすると、ID判定部は、誤ID読み取り総数Fを誤IDタグ数Eで割り、1回目は2、2回目は1、3回目はなし、4回目は1を算出して、各回におけるタグ1枚当たりの読み取り数(F/E)とし、これを合計して総和Σ(F/E)=4を得る。ID判定部は、総和Σ(F/E)を、ループ回数Nの総和ΣN=30で割り、誤ID読み取り率q=4/30=0.13を得る。
【0124】
ID判定部は、算出した正ID読み取り率と誤ID読み取り率とに基づいて、誤判定の確率が、判定の誤り許容率(許容誤判定確率)ε以下となる最小の判定回数差Kを算出し、これを最適化した値として、記憶した判定回数差を更新する。
【0125】
なお、正受信確率算出部141及び誤受信確率算出部151は、ベイズ推定により、正受信確率p及び誤受信確率qを算出する構成であってもよい。
例えば、正受信確率記憶部142は、フラッシュメモリ920を用いて、正受信確率の確率分布として、1%刻みで、正受信確率が1%である確率、2%である確率、・・・、99%である確率をそれぞれ記憶しておく。例えば、初期状態において、正受信確率記憶部142は、正受信確率がxである確率として(2x/99)を記憶しておく。正受信確率記憶部142は、CPU911を用いて、記憶した正受信確率pの確率分布に基づいて、正受信確率の期待値を算出し、フラッシュメモリ920を用いて、算出した平均値を、正受信確率pとして記憶する。
試行の結果、例えば、装置判定部132が正しいタグであると判定したタグが、n回の試行に対してa回応答したとする。正受信確率算出部141は、CPU911を用いて、正受信確率記憶部142が記憶した正受信確率の確率分布を更新する。例えば、正受信確率記憶部142が記憶した正受信確率がx%である確率がpだったとすると、正受信確率算出部141は、CPU911を用いて、次の式を計算して、正規化前の確率p+を算出する。
【数36】

正受信確率算出部141は、CPU911を用いて、算出した正規化前の確率p+を合計し、算出した合計値Σp+で、算出した正規化前の確率p+それぞれを割った商を算出して、更新後の確率とする。これは、更新後の確率の合計を1にするためである。正受信確率記憶部142は、フラッシュメモリ920を用いて、正受信確率算出部141が算出した更新後の確率を、正受信確率の確率分布として記憶し、CPU911を用いて、正受信確率の期待値を算出して、フラッシュメモリ920を用いて、正受信確率pとして記憶する。
【0126】
誤受信確率についても同様であり、例えば、誤受信確率記憶部152は、フラッシュメモリ920を用いて、誤受信確率の確率分布として、1%刻みで、誤受信確率が1%である確率、2%である確率、・・・、99%である確率をそれぞれ記憶しておく。例えば、初期状態において、誤受信確率記憶部152は、誤受信確率がxである確率として[2(1−x)/99]を記憶しておく。誤受信確率記憶部152は、CPU911を用いて、誤受信確率の期待値を算出し、フラッシュメモリ920を用いて、誤受信確率qとして記憶する。
試行の結果、例えば、装置判定部132が誤ったタグであると判定したタグが、n回の試行に対してb回応答したとする。誤受信確率算出部151は、CPU911を用いて、誤受信確率記憶部152が記憶した誤受信確率の確率分布を更新する。例えば、誤受信確率記憶部152が記憶した誤受信確率がx%である確率がqだったとすると、誤受信確率算出部151は、CPUを用いて、次の式を計算して、正規化前の確率q+を算出する。
【数37】

誤受信確率算出部151は、CPU911を用いて、算出した正規化前の確率q+を合計し、算出した合計値Σq+で、算出した正規化前の確率q+それぞれを割った商を算出して、更新後の確率とする。誤受信確率記憶部152は、フラッシュメモリ920を用いて、誤受信確率算出部151が算出した更新後の確率を、誤受信確率の確率分布として記憶し、CPU911を用いて、誤受信確率の期待値を算出して、フラッシュメモリ920を用いて、誤受信確率qとして記憶する。
【0127】
また、正しいタグが判定できた場合にのみ、正受信確率及び誤受信確率を更新すると、受信環境が良い場合のデータばかりが蓄積され、実際よりも正受信確率が高く、誤受信確率が低く見積もられる可能性がある。
このため、装置判定部132が正しいタグを判定しなかった場合にも、正受信確率算出部141及び誤受信確率算出部151が正受信確率及び誤受信確率を更新する構成とすることが好ましい。
【0128】
例えば、正しいタグであると断言はできないが、正しいタグである可能性が誤ったタグである可能性より高いタグを、正しいタグであるとみなし、誤ったタグであると断言はできないが、誤ったタグである可能性が正しいタグである可能性より高いタグを、誤ったタグであるとみなして、正受信確率算出部141及び誤受信確率算出部151が、正受信確率及び誤受信確率を更新する。
【0129】
あるいは、正受信確率算出部141は、正しいタグであるか誤ったタグであるか判定できなかったタグをすべて正しいタグであるとみなして、正受信確率を更新し、誤受信確率算出部151は、正しいタグであるか誤ったタグであるか判定できなかったタグをすべて誤ったタグであるとみなして、誤受信確率を更新する構成としてもよい。その場合、実際よりも正受信確率が低く、誤受信確率が高く見積もられることになるが、判定の信頼性は確保される。
【0130】
実施の形態2.
実施の形態2について、図6〜図8を用いて説明する。
なお、実施の形態1で説明したRFIDリーダ装置100と共通する部分については、同一の符号を付し、説明を省略する。
【0131】
実施の形態1では、正しいタグが1つであり、n回の試行に対して、2つのタグが応答した場合について説明した。
この実施の形態では、正しいタグが1つであり、n回の試行に対して、3つ以上のタグが応答した場合について説明する。
【0132】
すなわち、n回の試行に対して、(m+1)個のタグが応答し、タグAがa回、タグAがa回、タグAがa回、・・・、タグAmeがame回応答した事象TAi=ai|i=0・・・meにおいて、タグAが正しい事象《A》(jは、0以上m以下の整数。)を想定する。
【0133】
事象《A》を前提として、事象TAi=ai|i=0・・・meが起きる確率は、次の式により求められる。
【数38】

ただし、試行回数nは、1以上の整数。mは、応答したタグのうち誤ったタグの数。iは、0以上m以下の整数。応答回数aは、0以上n以下の整数。応答確率pは、0超1未満の実数。応答確率qは、0超p未満の実数。
【0134】
試行前における事前確率は、m+1個の事象《A》すべてについて等しく、(m+1)分の1であるものとすると、事象《A》の事後確率は、ベイズ推定により、次の式により求められる。
【数39】

【0135】
そこで、次の式で表わされる判定式Dを導入する。
【数40】

ただし、底Bは、q・(1−p)/[p・(1−q)]。
【0136】
0<B<1なので、a≧aなら、B−al≧B−am。タグAを除くm個のタグの応答回数a(i=0・・・m,i≠j)のうち最大のものをamaxとすると、次の式が成り立つ。
【数41】

【0137】
タグAが正しいと判定してよいのは、事象《A》の事後確率が1−ε以上である場合である。そのためには、判別式Dの値が許容誤差判定確率εより小さければよい。ただし、許容誤判定確率εは、0超1未満の実数で、1よりも十分小さいものとする。
【0138】
そこで、応答したタグのうち、応答回数が一番多いタグの応答回数と、二番目に多いタグの応答回数との差をKとし、K=a−amaxが満たすべき条件を求めると、次の式が得られる。
【数42】

【0139】
判定回数差算出部163は、CPU911を用いて、次の式を満たす最小の整数Kを算出し、判定回数差とする。
【数43】

この式を満たす最小の整数Kは、誤って応答したタグの数mによって変化し、mが大きくなるほど大きくなる。
【0140】
図6は、この実施の形態における判定回数差算出処理S630の流れの一例を示すフローチャート図である。
判定回数差算出処理S630において、判定回数差算出部163は、誤って応答したタグの数に対応して、それぞれの場合における判定回数差を算出する。
判定回数差算出処理S630は、実施の形態1で説明した工程に加えて、更に、誤応答タグ数選択工程S635、修正対数算出工程S636、誤応答タグ数繰り返し工程S643を有する。
【0141】
誤応答タグ数選択工程S635において、判定回数差算出部163は、CPU911を用いて、所定の範囲(例えば1〜10)の整数のなかから順に、一つの整数を選択し、誤応答タグ数mとする。
修正対数算出工程S636において、判定回数差算出部163は、CPU911を用いて、誤応答タグ数選択工程S635で選択した誤応答タグ数mの対数log(m)を算出する。なお、判定回数差算出部163は、フラッシュメモリ920を用いて、所定の範囲内の整数mについてあらかじめ算出しておいた対数log(m)を記憶しておき、CPU911を用いて、記憶した対数log(m)のなかから、対数log(m)を取得する構成としてもよい。
【0142】
実数判定回数差算出工程S641において、判定回数差算出部163は、CPU911を用いて、許容誤判定対数算出工程S631で算出した対数log(ε)から、修正対数算出工程S636で算出した対数log(m)を引いた差log(ε)−log(m)を算出する。判定回数差算出部163は、CPU911を用いて、算出した差を、対数差算出工程S634で算出した差log[q/(1−q)]−log[p/(1−p)]で割った商{log(ε)−log(m)}/{log[q/(1−q)]−log[p/(1−p)]}を算出する。
【0143】
整数判定回数差算出工程S642において、判定回数差算出部163は、CPU911を用いて、実数判定回数差算出工程S641で算出した商{log(ε)−log(m)}/{log[q/(1−q)]−log[p/(1−p)]}より大きい最小の整数を求め、判定回数差とする。判定回数差記憶部131は、フラッシュメモリ920を用いて、判定回数差算出部163が算出した判定回数差を、誤応答タグ数選択工程S635で判定回数差算出部163が選択した誤応答タグ数に対応する判定回数差として記憶する。
【0144】
誤応答タグ数繰り返し工程S643において、判定回数差算出部163は、CPU911を用いて、誤応答タグ数選択工程S635で所定の範囲内のすべての整数を選択したかを判定する。
まだ選択していない整数があると判定した場合、判定回数差算出部163は、CPU911を用いて、誤応答タグ数選択工程S635に戻り、次の整数を選択する。
所定の範囲内のすべての整数を選択したと判定した場合、判定回数差算出部163は、CPU911を用いて、判定回数差算出処理S630を終了する。
【0145】
図7は、この実施の形態における装置判定工程S620の流れの一例を示すフローチャート図である。
装置判定工程S620は、実施の形態1で説明した判定処理S610の一工程である。装置判定工程S620は、誤応答タグ数取得工程S621、判定回数差取得工程S622、受信回数差算出工程S623、回数差比較工程S624を有する。
【0146】
誤応答タグ数取得工程S621において、装置判定部132は、CPU911を用いて、受信記憶部124が記憶した受信回数に基づいて、今回の試行において、要求送信部112が送信した識別要求コマンドに対して1回でも応答したタグの数を計数する。装置判定部132は、CPU911を用いて、計数したタグの数から、あらかじめわかっている正しいタグの数(例えば1)を引いた差を算出して、誤応答タグ数とする。
【0147】
判定回数差取得工程S622において、装置判定部132は、CPU911を用いて、判定回数差記憶部131が記憶した判定回数差のなかから、誤応答タグ数取得工程S621で取得した誤応答タグ数に対応する判定回数差を取得する。
【0148】
受信回数差算出工程S623において、装置判定部132は、CPU911を用いて、受信記憶部124が記憶した受信回数に基づいて、受信回数が一番多いタグと、二番目に多いタグとを求め、受信回数が一番多いタグの受信回数から、二番目に多いタグの受信回数を引いた差を算出して、受信回数差とする。
【0149】
回数差比較工程S624において、装置判定部132は、CPU911を用いて、受信回数差算出工程S623で算出した受信回数差と、判定回数差取得工程S622で取得した判定回数差とを比較する。
受信回数差が判定回数差以上である場合、装置判定部132は、CPU911を用いて、識別出力工程S629へ進む。
受信回数差が判定回数差未満である場合、装置判定部132は、CPU911を用いて、試行繰り返し工程S625へ進む。
【0150】
図8は、この実施の形態における判定回数差算出部163が算出する判定回数差の一例を示す図である。
縦軸は、誤応答タグ数。横軸は、判定回数差を示す。黒く塗った棒は、実数判定回数差算出工程S641で判定回数差算出部163が算出する商、斜線で塗った棒は、整数判定回数差算出工程S642で判定回数差算出部163が算出する判定回数差を示す。
この例において、正しいタグの応答確率pは0.8、誤ったタグの応答確率qは0.2、許容誤差εは百万分の1であるものとして計算している。
【0151】
この図に示したように、誤応答タグ数が増えると、判定回数差算出部163が算出する判定回数差も大きくなるが、判定回数差の増え方は、緩やかである。
【0152】
誤応答タグ数があまりに多い場合は、例えば、タグの保管場所がRFIDリーダ装置100に近すぎるなど、運用上の問題が生じている可能性が高い。そのような運用上の問題がなければ、誤応答タグ数は、それほど多くはならない。
【0153】
そこで、実用上、誤応答タグ数の上限となる数(例えば10)をあらかじめ定めておき、判定回数差算出部163は、CPU911を用いて、あらかじめ定めた誤応答タグ数の上限値に対応する判定回数差を算出し、装置判定部132は、実際の誤応答タグ数にかかわらず、CPU911を用いて、誤応答タグ数の上限値に対応する判定回数差を使用して、正しいタグを判定する構成としてもよい。
その場合、誤応答タグ数判定部を設け、誤応答タグ数判定部が、CPU911を用いて、受信記憶部124が記憶した受信回数に基づいて、誤応答タグ数を計数し、計数した誤応答タグ数と、あらかじめ定めた上限値とを比較して、計数した誤応答タグ数のほうが上限値よりも多い場合には、ネットワーク通信装置917を用いて、ホストコンピュータ810に対して、警告メッセージを送信する構成としてもよい。
【0154】
この実施の形態における判定装置(RFIDリーダ装置100)において、上記判定回数差算出部163は、上記処理装置(CPU911)を用いて、次の式を満たす整数を求めて、上記判定回数差とする。
【数44】

ただし、Kは、上記判定回数差算出部163が算出する判定回数差。εは、許容される誤判定の確率(許容誤判定確率)。pは、正受信確率記憶部142が記憶した正受信確率。qは、誤受信確率記憶部152が記憶した誤受信確率。mは、信号受信部121が受信した信号を送信した通信装置のうち、通信相手でない通信装置(誤ったタグ)の数である。
【0155】
この実施の形態における判定装置(RFIDリーダ装置100)によれば、装置判定部132が誤った判定をする確率が、許容される確率ε以下であることを保証することができる。
【0156】
以上説明したRFIDリーダ装置100において、1個の正ID、E個の誤IDが存在する場合の判定式をDとすると、判定式Dの値が許容誤判定確率εより小さいことがアルゴリズムの終了条件となる。
ここで、aは最多回数のID(ID)の読み取り回数、aは、第2位のID(ID)の読み取り回数、・・・、aは、最小読み取り回数のID(ID)の読み取り回数を表すものとする。すなわち、a≧a≧a≧・・・≧aである。正IDは、これらのうちのどれかにあるものとすると、考えられる事象は(E+1)個であり、その確率は、
(1)IDが正ID、他は誤ID:
【数45】

(2)IDが正ID、他は誤ID:
【数46】

・・・
(i+1)IDが正ID、他は誤ID:
【数47】

・・・
(E+1)IDが正ID、他は誤ID:
【数48】

【0157】
このなかで最も発生確率が高いのは、読み取り回数が一番多いIDが正IDである(1)の場合である。そこで、この事象の発生確率が1−ε以上になればアルゴリズムを終了できる。
ここで、aがaより十分小さい場合は、a以下を無視し、IDが2個の問題として処理すればよい。判断が困難なのは、2位以下の読み取り回数が接近しているケースであり、最も極端なケースがa=a=・・・=aである。このケースで正しく判断できれば、2位以下が適度にばらついているケースにおいても正しい判断が下せる。したがって、a=a=....=aであると仮定する。
ここで、次の判定式Dを導入する。
【数49】

=a=・・・=aなので、P=P=・・・=Pが成立する。よって、
【数50】

すなわち、誤IDと正IDの判別は、試行回数Nによらず、第1位と第2位のIDが読み出された回数の差K=(a−a)と誤IDのタグ数Eで決定する。
つまり、判定式Dの引数は、(aとaではなく)Kであり、事前の交信環境で決定する正IDの平均読み取り率p、誤IDの平均検出確率qのみで信頼度が計算できる。すなわち、アルゴリズムの完了条件は、
【数51】

が成り立つことである。これをKについて解くと、
【数52】

となる。
【0158】
実施の形態3.
実施の形態3について、図9〜図10を用いて説明する。
なお、実施の形態1〜実施の形態2で説明したRFIDリーダ装置100と共通する部分については、同一の符号を付し、説明を省略する。
【0159】
実施の形態1及び実施の形態2では、正しいタグが1つである運用形態について説明した。
この実施の形態では、正しいタグの数が2以上の所定の数である運用形態をとる場合について説明する。
【0160】
すなわち、正しいタグの数をmとし、n回の試行に対して、(m+m)個のタグが応答したものとする。すなわち、誤って応答したタグがm個あるものとする。各タグA(iは、0以上m+m未満の整数。)の応答回数がaである事象TAi=ai|i=0…mr+me−1において、タグAj1〜Ajmrが正しい事象《A|j∈R》(j〜jmrは、0以上m+m未満の互いに異なる整数。集合Rは、m個の元j〜jmrを有する有限集合。)を想定する。
【0161】
事象《A|j∈R》を前提として、事象TAi=ai|i=0・・・mr+me−1が起きる確率は、次の式により求められる。
【数53】

ただし、試行回数nは、1以上の整数。mは、正しいタグの数。mは、応答したタグのうち誤ったタグの数。iは、0以上(m+m)未満の整数。応答回数aは、0以上n以下の整数。集合Rは、m個の正しいタグの添え字を元とする集合。応答確率pは、0超1未満の実数。応答確率qは、0超p未満の実数。
【0162】
以下、集合Xの部分集合でy個の元を有する集合Yすべてを集めた集合をSX,yと記述する。0以上(m+m)未満の整数を元とする集合を集合Zとすると、集合SZ,mrの元の数はmr+memrである。
試行前における事前確率は、mr+memr個の事象《A|j∈Y》(ただし、Y∈SZ,mr。)すべてについて等しいものとすると、事象《A|j∈R》の事後確率は、ベイズ推定により、次の式により求められる。
【数54】

【0163】
そこで、次の式で表わされる判定式Dを導入する。
【数55】

判別式Dの分母は、事象《A|j∈R》であると判定して正解である確率である。判別式Dの分子は、事象《A|j∈R》であると判定して誤判定となる確率である。
【数56】

ただし、底Bは、q・(1−p)/[p・(1−q)]。
【0164】
Y∈SZ,mrのとき、Σk∈Yが最大となるのは、応答回数が大きい順にタグを並べて、m番目までのタグを選択し、その添え字を集合Yの元とした場合である。この組み合わせが正解である可能性が最も高いので、これを集合Rとする。
Σk∈Yが2番目に大きくなるのは、応答回数がm番目のタグの代わりに、(m+1)番目のタグを選択し、その添え字を集合Yの元とした場合である。その場合のΣk∈Yの値をΣとする。応答回数がm番目のタグの応答回数と、応答回数が(m+1)番目のタグの応答回数との差をKとすると、Σj∈R=Σ+Kである。
【0165】
【数57】

【0166】
事象《A|j∈R》であると判定してよいのは、事象《A|j∈R》の事後確率が1−ε以上である場合である。そのためには、判別式Dの値が許容誤差判定確率εより小さければよい。ただし、許容誤判定確率εは、0超1未満の実数で、1よりも十分小さいものとする。
【0167】
ここから、Kが満たすべき条件を求めると、次の式が得られる。
【数58】

【0168】
判定回数差算出部163は、CPU911を用いて、次の式を満たす最小の整数Kを算出し、判定回数差とする。
【数59】

【0169】
例えば、m=1とすると、me+1=m+1だから、
【数60】

となり、実施の形態2と同じ式となる。
【0170】
また、m=1とすると、mr+1mr=m+1だから、
【数61】

となる。
【0171】
この実施の形態における判定回数差算出処理S630の流れは、実施の形態2と同様なので、図6を参照しつつ、異なる点について説明する。
【0172】
修正対数算出工程S636において、判定回数差算出部163は、CPU911を用いて、あらかじめ定められた正しいタグの数mと、誤応答タグ数選択工程S635で選択した誤応答タグ数とに基づいて、(m+m)個のなかからm個を選ぶ組み合わせの数mr+memrを算出する。判定回数差算出部163は、CPU911を用いて、算出した組み合わせの数から1を引いた差mr+memr−1を算出する。判定回数差算出部163は、CPU911を用いて、算出した差の対数log(mr+memr−1)を算出する。
【0173】
なお、繰り返しを二重にし、判定回数差算出部163が、CPU911を用いて、正しいタグの数mも変えながら、mとmとの組に対応する判定回数差を算出し、判定回数差記憶部131が、フラッシュメモリ920を用いて、記憶する構成としてもよい。
【0174】
図9は、この実施の形態における判定回数差算出部163が算出する判定回数差の一例を示す図である。
縦軸は、誤応答タグ数。横軸は、判定回数差を示す。黒く塗った棒は、実数判定回数差算出工程S641で判定回数差算出部163が算出する商、斜線で塗った棒は、整数判定回数差算出工程S642で判定回数差算出部163が算出する判定回数差を示す。
この例において、正しいタグの応答確率pは0.8、誤ったタグの応答確率qは0.2、許容誤差εは百万分の1、正しいタグの数mは2であるものとして計算している。
【0175】
図10は、この実施の形態における判定回数差算出部163が算出する判定回数差の一例を示す図である。
この例において、正しいタグの数mは3、それ以外の条件は図9の場合と同じであるものとして計算している。
【0176】
図8(m=1の場合)、図9、図10を比較すると、正しいタグの数mが増えることにより、それをすべて正解するためには、判定回数差を大きくする必要があることがわかる。
【0177】
なお、実施の形態2と同様、誤応答タグ数の上限となる数をあらかじめ定めておき、判定回数差算出部163は、CPU911を用いて、あらかじめ定めた誤応答タグ数の上限値に対応する判定回数差を算出し、装置判定部132は、実際の誤応答タグ数にかかわらず、CPU911を用いて、誤応答タグ数の上限値に対応する判定回数差を使用して、正しいタグを判定する構成としてもよい。
【0178】
この実施の形態における判定装置(RFIDリーダ装置100)において、上記判定回数差算出部163は、上記処理装置(CPU911)を用いて、次の式を満たす整数を求めて、上記判定回数差とする。
【数62】

ただし、Kは、上記判定回数差算出部163が算出する判定回数差。εは、許容される誤判定の確率(許容誤判定確率)。pは、正受信確率記憶部142が記憶した正受信確率。qは、誤受信確率記憶部152が記憶した誤受信確率。mは、信号受信部121が受信した信号を送信した通信装置のうち、通信相手でない通信装置(誤ったタグ)の数。mは、信号受信部121が受信した信号を送信した通信装置のうち、通信相手である通信装置(正しいタグ)の数である。
【0179】
この実施の形態における判定装置(RFIDリーダ装置100)によれば、装置判定部132が誤った判定をする確率が、許容される確率ε以下であることを保証することができる。
【0180】
以上説明したRFIDリーダ装置100は、正IDが複数の場合に、正IDを判定する。
正IDがM個、誤IDが1個の場合、ID記憶テーブル(受信記憶部124)は、全部でM+1個のIDを記憶するため、(M+1)行を使用する。ID記憶テーブルは、応答回数が多い順に、IDを並べ替えて記憶しているものとする。正IDの判定には、第M行目のID読み取り回数と第M+1行目のID読み取り回数との差を求め、判定回数差Kと比較する。
【0181】
M個の正IDと1個の誤IDが存在し、全部でM+1個のIDがある場合の判定式をDとする。アルゴリズムの終了条件を、D<εとする。
は最多回数のID(ID)の読み取り回数、aは、第2位のID(ID)の読み取り回数、aは、最小読み取り回数のID(ID)の読み取り回数を表すものとする。したがって、a≧a≧a≧・・・≧aである。
正IDは、これらのうちのM個であり、誤IDもどれか1個であるものとする。この場合、考えられる事象は(M+1)個あり、その確率は、
(1)IDが誤ID、他は正ID:
【数63】

【0182】
(2)IDM−1が正ID、他は誤ID:
【数64】

・・・
(i+1)IDM−iが正ID、他は誤ID:
【数65】

・・・
(M+1)IDが誤ID、他は正ID:
【数66】

【0183】
このなかで最も発生確率が高いのは、読み取り回数が一番少ないIDが誤IDである(1)の場合である。そこで、この事象の発生確率が1−ε以上になればアルゴリズムを終了できる。
ここで、次の判定式Dを導入する。
【数67】

≦aM−1≦aM−2≦・・・≦aなので、P≧P≧・・・≧Pが成立する。よって、
【数68】

すなわち、誤IDと正IDの判別は、試行回数Nによらず、第M位と最下位のIDが読み出された回数の差K=(aM−1−a)と正IDのタグ数Mで決定する。
つまり、判定式Dの引数は、(aM−1とaではなく)Kであり、事前の交信環境で決定する正IDの平均読み取り率p、誤IDの平均検出確率qのみで信頼度が計算できる。すなわち、アルゴリズムの完了条件は、
【数69】

である。これは、真の判断誤り確率より厳しい判断基準になっているので、この値がシステムが要求する誤り精度εより小さい値であれば、十分正しい判断を下せたことになる。
これをKについて解くと、
【数70】

となる。
【0184】
実施の形態4.
実施の形態4について、説明する。
なお、実施の形態1〜実施の形態3で説明したRFIDリーダ装置100と共通する部分については、同一の符号を付し、説明を省略する。
【0185】
実施の形態1〜実施の形態3では、正しいタグは、n回の試行に対して、少なくとも1回以上応答することを前提としていた。
この実施の形態では、正しいタグが、n回の試行に対して1回も応答しない可能性を考慮する場合について説明する。
【0186】
例えば、n回の試行に対して、二つのタグA,Aが応答し、タグAの応答回数がa回、タグAの応答回数がa回だったとする。正しいタグの数が1だとして、1回も応答しなかったタグAが正しいタグである可能性を考える。
【0187】
タグAが正しいタグである可能性を考えた場合、n回の試行に対して、三つのタグA,A,Aが応答したものとして(ただし、タグAの応答回数は0回)判定すればよい。すなわち、タグAが正しいタグである場合には、タグA及びタグAは、誤って応答したタグなので、誤って応答したタグの数は2である。したがって、例えば実施の形態3で説明した構成の場合、正しいタグの数mを1、誤って応答したタグの数mを2とした場合の判定回数差を用いて判定すれば、誤判定の確率が、許容誤判定確率ε以下であることを保証できる。
【0188】
この実施の形態における装置判定工程S620の流れは、実施の形態2と同様なので、図7を参照しつつ、異なる点について説明する。
【0189】
誤応答タグ数取得工程S621において、装置判定部132は、CPU911を用いて、受信記憶部124が記憶した受信回数に基づいて、今回の試行において、要求送信部112が送信した識別要求コマンドに対して1回でも応答したタグの数を計数し、誤応答タグ数とする。
実施の形態2との相違点は、応答したタグの数から正しいタグの数を引かず、応答したタグの数をそのまま誤応答タグ数とする点である。
【0190】
これにより、n回の試行に対して、正しいタグが1回も応答しないという稀な場合まで考慮して、正しいタグを判定するので、誤判定の確率が、許容誤判定確率ε以下であることを、更に確実に保証できる。
【0191】
以上説明したRFIDリーダ装置100は、読み取れたIDがすべて誤IDであり、正IDが読み取れなかった可能性を考慮しても、所定の信頼性を確保できる。
【0192】
N回のID読み出し試行により、A,B2種類のIDが読み取れ、その回数がそれぞれa,bだったとする。このとき、IDの正誤の組み合わせは3通りあり、その確率は、
(1)Aが正ID、Bが誤IDの場合:
【数71】

(2)Aが誤ID、Bが正IDの場合:
【数72】

(3)Aが誤ID、Bも誤IDの場合:
【数73】

なお、Pの最後にあるProbR(0,N,p)は、A,B以外に存在する正IDがN回続けて読めなかった確率を表わす。
【0193】
ここで、α=P/Pと定義すると、
【数74】

0<q<p<1だから、0<α<1である。
【0194】
次の判定式D’を導入する。
【数75】

ただし、K=a−bである。これをKについて解くと、
【数76】

となる。これは、誤IDが2つであるとした場合の結果と同じである。
【0195】
例えば、εが10のマイナス6乗である場合、[log(2)−log(ε)]/log(ε)=1.05であるから、Kは、約5%大きい値をとることになる。この値は、処理時間を大きく変えるものではない。
【0196】
実施の形態5.
実施の形態5について、図11〜図13を用いて説明する。
なお、実施の形態1及び実施の形態2で説明したRFIDリーダ装置100と共通する部分については、同一の符号を付し、説明を省略する。
【0197】
この実施の形態では、応答回数だけでは正しいタグを判定できなかった場合に、タグが送信した信号の電力に基づいて、正しいタグを判定する構成について説明する。
【0198】
図11は、この実施の形態におけるRFIDリーダ装置100の機能ブロックの構成の一例を示すブロック構成図である。
RFIDリーダ装置100は、実施の形態1で説明した構成に加えて、更に、電力測定部181、電力記憶部182、平均算出部183、分散算出部184、電力検定部185を有する。
【0199】
電力測定部181は、CPU911を用いて、信号受信部121が受信した信号の受信電力(RSSI:Received Signal Strength Indicator)を測定する。電力測定部181は、CPU911を用いて、測定した受信電力を表わすデータを出力する。
【0200】
電力記憶部182は、CPU911を用いて、電力測定部181が出力したデータと、識別取得部122が出力した識別データとを入力する。電力記憶部182は、RAM914を用いて、入力した識別データと、受信電力を表わすデータとの組を記憶する。
【0201】
平均算出部183は、CPU911を用いて、電力記憶部182が記憶したデータを入力する。平均算出部183は、CPU911を用いて、入力したデータに基づいて、信号受信部121が受信した信号を送信したタグごとに分類した受信電力の平均値を算出する。平均算出部183は、CPU911を用いて、算出した平均値を表わすデータを出力する。
【0202】
分散算出部184は、CPU911を用いて、電力記憶部182が記憶したデータと、平均算出部183が出力したデータとを入力する。分散算出部184は、CPU911を用いて、入力したデータに基づいて、信号受信部121が受信した信号を送信したタグごとに分類した受信電力の不偏分散を算出する。分散算出部184は、CPU911を用いて、算出した不偏分散を表わすデータを出力する。
【0203】
電力検定部185は、CPU911を用いて、平均算出部183が出力したデータと、分散算出部184が出力したデータとを入力する。電力検定部185は、CPU911を用いて、入力したデータに基づいて、タグごとに分類した受信電力の平均値の間に有意な差があるか否かを検定する。電力検定部185は、CPU911を用いて、検定した結果を表わすデータを出力する。
【0204】
検定には、例えば、ウェルチのt検定を用いる。すなわち、電力検定部185は、CPU911を用いて、次の式により検定統計量tと自由度νとを算出する。
【数77】

ただし、棒付きのP,Pは、タグごとの受信電力の平均値。U,Uは、タグごとの受信電力の不偏分散。n,nは、タグごとの受信回数である。
電力検定部185は、CPU911を用いて、算出した検定統計量tと自由度νとに基づいて、自由度νのt分布において、検定統計量tを閾値とし、統計量tが検定統計量tより大きい確率(上側確率)を算出し、有意確率Pとする。例えば、電力検定部185は、あらかじめ、フラッシュメモリ920を用いて、t分布表を記憶しておき、CPU911を用いて、記憶したt分布表を検索して、自由度ν及び検定統計量tが近い値のときの上側確率を取得し、線形補間などにより、有意確率Pを算出する。
電力検定部185は、CPU911を用いて、算出した有意確率Pと、許容誤判定記憶部162が記憶した許容誤判定確率εとを比較する。
有意確率Pが許容誤判定確立εより小さい場合、帰無仮説「タグごとの受信電力の平均値が等しい」を棄却し、電力検定部185は、CPU911を用いて、タグごとの受信電力の平均値の間に有意な差があると判定する。
【0205】
装置判定部132は、CPU911を用いて、電力検定部185が出力したデータを入力する。装置判定部132は、CPU911を用いて、入力したデータに基づいて、タグごとに分類した受信電力の平均値に有意な差がある場合に、受信電力の大きいタグを正しいタグであると判定する。装置判定部132は、CPU911を用いて、正しいタグであると判定したタグの識別データを出力する。
【0206】
図12は、この実施の形態における判定処理S610の流れの一例を示すフローチャート図である。
判定処理S610は、実施の形態1で説明した工程に加えて、更に、電力検定工程S626を有する。
【0207】
試行回数判定工程S612で試行回数が最大試行回数に達したと要求送信部112が判定した場合、RFIDリーダ装置100は、CPU911を用いて、電力検定工程S626へ進む。
【0208】
電力検定工程S626において、電力検定部185は、CPU911を用いて、タグごとに分類した受信電力の平均値の間に有意な差があるか否かを検定する。
検定の結果、有意な差があると電力検定部185が判定した場合、RFIDリーダ装置100は、CPU911を用いて、識別出力工程S629へ進む。
検定の結果、有意な差がないと電力検定部185が判定した場合、RFIDリーダ装置100は、CPU911を用いて、正しいタグを判定しないまま、判定処理S610を終了する。
【0209】
図13は、この実施の形態における電力検定工程S626の流れの一例を示すフローチャート図である。
電力検定工程S626は、タグ選択工程S671、平均算出工程S672、分散算出工程S673、平均分散算出工程S674、タグ繰り返し工程S675、タグ分類工程S676、対象選択工程S681、比較選択工程S682、検定統計量算出工程S683、自由度算出工程S684、有意確率算出工程S685、有意差判定工程S686、比較繰り返し工程S687、対象繰り返し工程S688を有する。
【0210】
タグ選択工程S671において、平均算出部183は、CPU911を用いて、電力記憶部182が受信電力を記憶したタグのなかから、タグを一つずつ順に選択する。
【0211】
平均算出工程S672において、平均算出部183は、CPU911を用いて、タグ選択工程S671で選択したタグについて、電力記憶部182が記憶した受信電力Pの数(すなわち受信回数n)を算出する。平均算出部183は、CPU911を用いて、タグ選択工程S671で選択したタグについて、電力記憶部182が記憶した受信電力の総和ΣPを算出する。平均算出部183は、CPU911を用いて、算出した受信電力の総和ΣPを、算出した受信回数nで割った商ΣP/nを算出し、タグ選択工程S671で選択したタグについての受信電力の平均値P ̄とする。
【0212】
分散算出工程S673において、分散算出部184は、CPU911を用いて、タグ選択工程S671で平均算出部183が選択したタグについて、電力記憶部182が記憶した受信電力Pそれぞれと、平均算出工程S672で平均算出部183が算出した平均値P ̄との差ΔPを算出する。分散算出部184は、CPU911を用いて、算出した差ΔPそれぞれの二乗(ΔP)を算出する。分散算出部184は、CPU911を用いて、算出した二乗(ΔP)の総和Σ(ΔP)を算出する。分散算出部184は、CPU911を用いて、平均算出工程S672で平均算出部183が算出した受信回数nから1を引いた差(n−1)を算出する。分散算出部184は、CPU911を用いて、算出した二乗の総和Σ(ΔP)を、算出した差(n−1)で割った商Σ(ΔP)/(n−1)を算出して、タグ選択工程S671で平均算出部183が選択したタグについての受信電力の不偏分散Uとする。
【0213】
平均分散算出工程S674において、電力検定部185は、CPU911を用いて、分散算出工程S673で分散算出部184が算出した不偏分散Uを、平均算出工程S672で平均算出部183が算出した受信回数nで割った商U/nを算出し、平均分散とする。電力検定部185は、CPU911を用いて、算出した平均分散の二乗(U/n)を算出する。電力検定部185は、CPU911を用いて、算出した平均分散の二乗を、分散算出工程S673で分散算出部184が算出した差(n−1)で割った商(U/[n・(n−1)])を算出する。
【0214】
タグ繰り返し工程S675において、平均算出部183は、CPU911を用いて、電力記憶部182が受信電力を記憶したタグすべてを、タグ選択工程S671で選択したか否かを判定する。
まだ選択していないタグがあると判定した場合、平均算出部183は、CPU911を用いて、タグ選択工程S671に戻り、次のタグを選択する。
すべてのタグを選択したと判定した場合、平均算出部183は、CPU911を用いて、タグ分類工程S676へ進む。
【0215】
タグ分類工程S676において、電力検定部185は、CPU911を用いて、平均算出工程S672で平均算出部183が算出した各タグごとの受信電力の平均値P ̄に基づいて、タグを、対象群と比較群との二つの群に分類する。対象群に分類されたタグは、比較群に分類されたすべてのタグとの間に、受信電力の平均値の有意な差がある場合、正しいタグであると判定される。電力検定部185は、CPU911を用いて、各タグごとの受信電力の平均値P ̄が大きい方から順に、正しいタグの数と同じ数のタグを選択して、対象群に分類する。電力検定部185は、CPU911を用いて、残りのタグを、比較群に分類する。例えば、正しいタグが1つの場合なら、電力検定部185は、CPU911を用いて、受信電力の平均値P ̄が一番大きいタグを対象群に分類し、それ以外のタグを比較群に分類する。
【0216】
対象選択工程S681において、電力検定部185は、CPU911を用いて、タグ分類工程S676で対象群に分類したタグのなかから、タグを一つずつ順に選択する。
比較選択工程S682において、電力検定部185は、CPU911を用いて、タグ分類工程S676で比較群に分類したタグのなかから、タグを一つずつ順に選択する。
【0217】
検定統計量算出工程S683において、電力検定部185は、CPU911を用いて、対象選択工程S681で選択したタグについて、平均算出工程S672で平均算出部183が算出した受信電力の平均値P ̄と、比較選択工程S682で選択したタグについて、平均算出工程S672で平均算出部183が算出した受信電力の平均値P ̄との差(P ̄−P ̄)を算出する。電力検定部185は、CPU911を用いて、対象選択工程S681で選択したタグについて、平均分散算出工程S674で算出した平均分散U/nと、比較選択工程S682で選択したタグについて、平均分散算出工程S674で算出した平均分散U/nとの和(U/n+U/n)を算出する。電力検定部185は、CPU911を用いて、算出した平均分散の和の平行根√(U/n+U/n)を算出する。電力検定部185は、CPU911を用いて、算出した受信電力の平均値の差(P ̄−P ̄)を、算出した平均分散の和の平行根√(U/n+U/n)で割った商を算出し、検定統計量tとする。
【0218】
自由度算出工程S684において、電力検定部185は、CPU911を用いて、検定統計量算出工程S683で算出した平均分散の和(U/n+U/n)の二乗を算出する。電力検定部185は、CPU911を用いて、対象選択工程S681で選択したタグについて、平均分散算出工程S674で算出した商(U/[n・(n−1)])と、比較選択工程S682で選択したタグについて、平均分散算出工程S674で算出した商(U/[n・(n−1)])との和を算出する。電力検定部185は、算出した和で、算出した平均分散の和の二乗(U/n+U/nを割った商を算出し、自由度νとする。
【0219】
有意確率算出工程S685において、電力検定部185は、CPU911を用いて、検定統計量算出工程S683で算出した検定統計量tと、自由度算出工程S684で算出した自由度νとに基づいて、自由度νのt分布における検定統計量tの上側確率を算出して、有意確率Pとする。
【0220】
有意差判定工程S686において、電力検定部185は、CPU911を用いて、有意確率算出工程S685で算出した有意確率Pと、許容誤判定記憶部162が記憶した許容誤判定確率εとを比較する。
有意確率Pのほうが許容誤判定確率εより小さい場合、電力検定部185は、CPU911を用いて、有意差ありと判定し、比較繰り返し工程S687へ進む。
有意確率Pのほうが許容誤判定確率εより大きい場合、電力検定部185は、CPU911を用いて、有意差なしと判定し、電力検定工程S626を終了する。
【0221】
比較繰り返し工程S687において、電力検定部185は、CPU911を用いて、タグ分類工程S676で比較群に分類したタグすべてを、比較選択工程S682で選択したか否かを判定する。
まだ選択していないタグがあると判定した場合、電力検定部185は、CPU911を用いて、比較選択工程S682に戻り、次のタグを選択する。
比較群に分類したタグをすべて選択したと判定した場合、電力検定部185は、CPU911を用いて、対象繰り返し工程S688へ進む。
【0222】
対象繰り返し工程S688において、電力検定部185は、CPU911を用いて、タグ分類工程S676で対象群に分類したタグすべてを、対象選択工程S681で選択したか否かを判定する。
まだ選択していないタグがあると判定した場合、電力検定部185は、CPU911を用いて、対象選択工程S681に戻り、次のタグを選択する。
対象群に分類したタグをすべて選択したと判定した場合、電力検定部185は、CPU911を用いて、電力検定工程S626を終了し、識別出力工程S629へ進む。
【0223】
これにより、電力検定部185は、対象群に分類したタグと、比較群に分類したタグとのすべての組み合わせについて、受信電力の平均値に有意差があるか否かを判定する。すべての組み合わせについて有意差があると判定した場合、装置判定部132は、電力検定部185が対象群に分類したタグを正しいタグであると判定し、いずれかの組み合わせで有意差がないと判定した場合には、正しいタグを判定せずに、判定処理S610を終了する。
【0224】
なお、受信電力の平均値に有意な差があるか否かを検定する方式は、ウェルチのt検定に限らず、他の検定方式であってもよい。
【0225】
この実施の形態における判定装置(RFIDリーダ装置100)は、更に、電力測定部181と、電力検定部185とを有する。
上記電力測定部181は、上記処理装置(CPU911)を用いて、上記信号受信部121が受信した信号の受信電力を測定する。
上記電力検定部185は、上記処理装置を用いて、上記装置判定部132が算出した受信回数の差が上記判定回数差未満である場合に、上記電力測定部181が測定した受信電力に基づいて、ある通信装置(タグ)の受信電力の平均値と他の通信装置の受信電力の平均値との間に、有意な差があるか否かを検定する。
上記装置判定部132は、上記処理装置を用いて、上記電力検定部185が検定した結果、受信電力の平均値の間に有意な差があると判定した場合、受信電力の平均値が大きい通信装置を、通信相手(正しいタグ)であると判定する。
【0226】
この実施の形態における判定装置(RFIDリーダ装置100)によれば、装置判定部132が、受信回数の差だけでは通信相手を判定できない場合に、受信電力の平均値に有意な差があれば、通信相手を判定するので、通信相手を判定できない場合を少なくすることができる。
【0227】
この実施の形態における判定装置(RFIDリーダ装置100)は、更に、平均算出部183と、分散算出部184とを有する。
上記平均算出部183は、上記処理装置(CPU911)を用いて、上記識別取得部122が取得した識別データに基づいて、上記識別データによって識別される通信装置(タグ821〜823)ごとに、上記電力測定部181が測定した受信電力の平均値P ̄を算出する。
上記分散算出部184は、上記処理装置を用いて、上記識別取得部122が取得した識別データに基づいて、上記識別データによって識別される通信装置ごとに、上記電力測定部181が測定した受信電力の分散(不偏分散U)を算出する。
上記電力検定部185は、上記処理装置を用いて、上記平均算出部183が算出した受信電力の平均値P ̄と、上記分散算出部184が算出した受信電力の分散とに基づいて、上記受信電力の平均値P ̄の間に有意な差があるか否かを検定する。
【0228】
この実施の形態における判定装置(RFIDリーダ装置100)は、通信装置ごとに算出した受信電力の平均値と受信電力の分散とに基づいて、電力検定部185が、有意な差があるか否かを検定するので、統計的手法により、所定の信頼性を有する検定をすることができる。
【0229】
以上説明したRFIDリーダ装置100は、(a)ID毎のタグの受信電力値の総和と二乗和を保持する保持部(電力記憶部182)と、(b)上記情報より、ID毎のタグの受信電力値の平均と不偏分散を求める算出部(平均算出部183、分散算出部184)と、(c)ID毎のタグの受信電力値の平均と不偏分散を使用し、統計的手法により、特定IDを正しいIDと判断する判断部(電力検定部185)とを備える。
【0230】
以上説明したRFIDリーダ装置100によれば、タグIDの読み取り回数差で正IDを判断するとともに、読み取り回数差だけでは判断できなかった場合には、タグが受信できたときの受信電力(RSSI)を利用して、正しく判断することができる。
【0231】
ID記憶テーブル(電力記憶部182)は、各ID(識別データ)に対しRSSIの総和とRSSIの二乗和を格納する列を有する。
ID判定部は、ID値とそれに伴うRSSI値とを受信する。ID判定部は、ID記憶テーブルを更新し、受信したRSSI値にしたがって、RSSI総和とRSSI二乗和の列を更新する。
ID判定部は、ループ回数(試行回数)Nが最大ループ回数(最大試行回数)Lと等しくなったとき、IDごとのRSSIの平均と不偏分散とを算出し、検定による有意確率Pを算出し、Pがε以下であるか判定する。
【0232】
例えば、2個の種類のID(A,B)が読み取られたと仮定する。RSSI値が大きいほど、タグが大きな受信電力ではっきりと読めたことになる。つまり、数値が大きいほど正IDである可能性が高く、数値が小さいほうが、誤IDである可能性が高い。
ID記憶テーブルは、各回のRSSI値に基づいて算出したRSSI値の総和と二乗和とを記憶する。例えば、ID記憶テーブルは、Aについて、読み取り回数16回、RSSI総和「128」、RSSI二乗和「1066」を記憶し、Bについて、読み取り回数14回、RSSI総和「41」、RSSI二乗和「16」を記憶する。
ID判定部(平均算出部183)は、標本平均=(RSSI総和/読取回数)を計算する。上記の例の場合、ID判定部は、Aについての標本平均「8.0」、Bについての標本平均「2.9」を算出する。
ID判定部(分散算出部184)は、不偏分散=(RSSI二乗和−RSSI総和×標本平均)/(読取回数−1)を算出する。上記の例の場合、ID判定部は、Aについての不偏分散「2.8、」、Bについての不偏分散「3.6」を算出する。
ID判定部(電力検定部185)は、検定により、有意確率Pを算出する。例えば、ウェルチのt検定を利用して、AについてのRSSIの平均とBについてのRSSIの平均とが等しいことを帰無仮説とし、平均に差があることを対立仮説として、片側検定を行う。
ID判定部は、各群の標本数、標本平均、不偏分散に基づいて、検定統計量tと自由度νとを算出する。上記の例の場合、ID判定部は、t=7.7、ν=26.2を算出する。
ID判定部は、算出した検定統計量tと自由度νとに基づいて、t分布の片側の発生確率、すなわち有意確率Pを算出する。上記の例の場合、ID判定部は、P「10のマイナス7乗」を算出する。
ID判定部は、許容の誤り率(許容誤判定確率)εと、算出した有意確率Pとを比較する。Pのほうがεより小さければ、帰無仮説が棄却され、対立仮説が採用される。すなわち、ID判定部は、統計学上の根拠に基づいて、AについてのRSSIの平均とBについてのRSSIの平均との間に有意な差があると判定する。
ID判定部は、RSSIの平均に有意な差があると判定した場合、RSSIの平均が大きいほうのIDを、正しいIDであると判定する。
【符号の説明】
【0233】
100 RFIDリーダ装置、111 試行回数記憶部、112 要求送信部、121 信号受信部、122 識別取得部、123 受信計数部、124 受信記憶部、131 判定回数差記憶部、132 装置判定部、133 識別記憶部、134 識別出力部、141 正受信確率算出部、142 正受信確率記憶部、151 誤受信確率算出部、152 誤受信確率記憶部、161 許容誤判定入力部、162 許容誤判定記憶部、163 判定回数差算出部、171 許容無判定入力部、172 許容無判定記憶部、173 試行回数算出部、181 電力測定部、182 電力記憶部、183 平均算出部、184 分散算出部、85 電力検定部、800 RFIDシステム、810 ホストコンピュータ、821〜823 タグ、911 CPU、914 RAM、915 無線通信装置、916 アンテナ、917 ネットワーク通信装置、920 フラッシュメモリ。

【特許請求の範囲】
【請求項1】
一以上の通信装置が送信した信号を受信して、受信した信号を送信した通信装置のなかから、通信相手である通信装置を判定する判定装置において、
信号を受信する受信装置と、データを処理する処理装置と、信号受信部と、識別取得部と、受信計数部と、装置判定部とを有し、
上記信号受信部は、上記受信装置を用いて、一以上の通信装置がそれぞれ送信した信号を複数回受信し、
上記識別取得部は、上記処理装置を用いて、上記信号受信部が受信した信号に基づいて、上記信号受信部が受信した信号を送信した通信装置を識別する識別データを取得し、
上記受信計数部は、上記処理装置を用いて、上記識別取得部が取得した識別データに基づいて、上記識別データによって識別される通信装置ごとに、上記信号受信部が信号を受信した受信回数を計数し、
上記装置判定部は、上記処理装置を用いて、上記受信計数部が計数した受信回数に基づいて、ある通信装置の受信回数と他の通信装置の受信回数との差を算出し、算出した受信回数の差と所定の判定回数差とを比較して、上記受信回数の差が上記判定回数差以上である場合に、受信回数が多い通信装置を通信相手であると判定することを特徴とする判定装置。
【請求項2】
上記判定装置は、更に、データを記憶する記憶装置と、正受信確率記憶部と、誤受信確率記憶部と、判定回数差算出部とを有し、
上記正受信確率記憶部は、上記記憶装置を用いて、上記信号受信部が、通信相手である通信装置が送信した信号を受信する確率を正受信確率として記憶し、
上記誤受信確率記憶部は、上記記憶装置を用いて、上記信号受信部が、通信相手でない通信装置が送信した信号を受信する確率を誤受信確率として記憶し、
上記判定回数差算出部は、上記処理装置を用いて、上記正受信確率記憶部が記憶した正受信確率と、上記誤受信確率記憶部が記憶した誤受信確率とに基づいて、判定回数差を算出し、
上記装置判定部は、上記処理装置を用いて、上記判定回数差算出部が算出した判定回数差を上記所定の判定回数差として、通信相手である通信装置を判定することを特徴とする請求項1に記載の判定装置。
【請求項3】
上記判定装置は、更に、正受信確率算出部を有し、
上記正受信確率算出部は、上記処理装置を用いて、上記受信計数部が計数した受信回数に基づいて、上記正受信確率を算出し、
上記正受信確率記憶部は、上記記憶装置を用いて、上記正受信確率算出部が算出した正受信確率を記憶することを特徴とする請求項2に記載の判定装置。
【請求項4】
上記判定装置は、更に、誤受信確率算出部を有し、
上記誤受信確率算出部は、上記処理装置を用いて、上記受信計数部が計数した受信回数に基づいて、上記誤受信確率を算出し、
上記誤受信確率記憶部は、上記記憶装置を用いて、上記誤受信確率算出部が算出した誤受信確率を記憶することを特徴とする請求項2または請求項3に記載の判定装置。
【請求項5】
上記判定装置は、更に、電力測定部と、電力検定部とを有し、
上記電力測定部は、上記処理装置を用いて、上記信号受信部が受信した信号の受信電力を測定し、
上記電力検定部は、上記処理装置を用いて、上記装置判定部が算出した受信回数の差が上記判定回数差未満である場合に、上記電力測定部が測定した受信電力に基づいて、ある通信装置の受信電力の平均値と他の通信装置の受信電力の平均値との間に、有意な差があるか否かを検定し、
上記装置判定部は、上記処理装置を用いて、上記電力検定部が検定した結果、受信電力の平均値の間に有意な差があると判定した場合、受信電力の平均値が大きい通信装置を、通信相手であると判定することを特徴とする請求項1乃至請求項4のいずれかに記載の判定装置。
【請求項6】
上記判定装置は、更に、信号を送信する送信装置と、要求送信部とを有し、
上記要求送信部は、上記送信装置を用いて、通信装置に対して、上記識別データを表わす信号の送信を要求することを表わす信号を複数回送信し、
上記信号受信部は、上記受信装置を用いて、上記要求送信部が送信した信号に対する応答として通信装置が送信した信号を受信することを特徴とする請求項1乃至請求項5のいずれかに記載の判定装置。
【請求項7】
上記判定回数差算出部は、上記処理装置を用いて、次の式のなかから選択したいずれかの式を満たす整数を求めて、上記判定回数差とすることを特徴とする請求項2乃至請求項4のいずれかに記載の判定装置。
【数1】

【数2】

【数3】

ただし、Kは、上記判定回数差算出部が算出する判定回数差。εは、許容される誤判定の確率。pは、正受信確率記憶部が記憶した正受信確率。qは、誤受信確率記憶部が記憶した誤受信確率。mは、信号受信部が受信した信号を送信した通信装置のうち、通信相手でない通信装置の数。mは、信号受信部が受信した信号を送信した通信装置のうち、通信相手である通信装置の数である。
【請求項8】
上記判定装置は、更に、正受信合計算出部と、正受信機会算出部とを有し、
上記正受信合計算出部は、上記処理装置を用いて、上記装置判定部が通信相手であると判定した通信装置について、上記受信計数部が計数した受信回数を合計して、正受信合計回数とし、
上記正受信機会算出部は、上記処理装置を用いて、上記装置判定部が通信相手であると判定した通信装置について、上記信号受信部が信号を受信する機会があった回数を合計して、正受信機会回数とし、
上記正受信確率算出部は、上記処理装置を用いて、上記正受信合計算出部が算出した正受信合計回数を、上記正受信機会算出部が算出した正受信機会回数で割った商を算出して、正受信確率とすることを特徴とする請求項3に記載の判定装置。
【請求項9】
上記判定装置は、更に、誤受信合計算出部と、誤受信機会算出部とを有し、
上記誤受信合計算出部は、上記処理装置を用いて、上記装置判定部が通信相手でないと判定した通信装置について、上記受信計数部が計数した受信回数を合計して、誤受信合計回数とし、
上記誤受信機会算出部は、上記処理装置を用いて、上記装置判定部が通信相手でないと判定した通信装置について、上記信号受信部が信号を受信する機会があった回数を合計して、誤受信機会回数とし、
上記誤受信確率算出部は、上記処理装置を用いて、上記誤受信合計算出部が算出した誤受信合計回数を、上記誤受信機会算出部が算出した誤受信機会回数で割った商を算出して、誤受信確率とすることを特徴とする請求項4に記載の判定装置。
【請求項10】
上記判定装置は、更に、平均算出部と、分散算出部とを有し、
上記平均算出部は、上記処理装置を用いて、上記識別取得部が取得した識別データに基づいて、上記識別データによって識別される通信装置ごとに、上記電力測定部が測定した受信電力の平均値を算出し、
上記分散算出部は、上記処理装置を用いて、上記識別取得部が取得した識別データに基づいて、上記識別データによって識別される通信装置ごとに、上記電力測定部が測定した受信電力の分散を算出し、
上記電力検定部は、上記処理装置を用いて、上記平均算出部が算出した受信電力の平均値と、上記分散算出部が算出した受信電力の分散とに基づいて、上記受信電力の平均値の間に有意な差があるか否かを検定することを特徴とする請求項5に記載の判定装置。
【請求項11】
信号を受信する受信装置と、データを処理する処理装置とを有するコンピュータが実行することにより、上記コンピュータが請求項1乃至請求項10のいずれかに記載の判定装置として機能することを特徴とするコンピュータプログラム。
【請求項12】
信号を受信する受信装置と、データを処理する処理装置とを有する判定装置が、一以上の通信装置が送信した信号を受信して、受信した信号を送信した通信装置のなかから、通信相手である通信装置を判定する判定方法において、
上記受信装置が、一以上の通信装置がそれぞれ送信した信号を複数回受信し、
上記処理装置が、上記受信装置が受信した信号に基づいて、上記受信装置が受信した信号を送信した通信装置を識別する識別データを取得し、
上記処理装置が、取得した識別データに基づいて、上記識別データによって識別される通信装置ごとに、上記受信装置が信号を受信した受信回数を計数し、
上記処理装置が、計数した受信回数に基づいて、ある通信装置の受信回数と他の通信装置の受信回数との差と、所定の判定回数差とを比較し、上記受信回数の差が上記判定回数差以上である場合に、受信回数が多い通信装置を通信相手であると判定することを特徴とする判定方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate