(57)【要約】【課題】ＲＦタグとの通信において、通信状態をより正確に把握することができるＲＦタグリーダライタ通信技術を提供する。【解決手段】本発明は情報取得対象となるＲＦタグに対して信号の衝突を回避するアンチコリジョン方式を用いて通信を行い、該ＲＦタグに記憶される情報であるタグ情報を取得する取得処理を複数回実行する通信部と、通信部におけるＲＦタグからのタグ情報の取得に成功した回数と、ＲＦタグに対して信号の衝突が回避された状態で通信処理を実行した回数とに基づき、通信部におけるＲＦタグとの通信成功率を算出する通信成功率算出部と、を備えるＲＦタグリーダライタに関する。【選択図】図１
2011166619.tif 000002
【特許請求の範囲】
【請求項１】
情報取得対象となる１つ以上のＲＦタグに対して信号の衝突を回避するアンチコリジョン方式を用いて通信を行い、該ＲＦタグに記憶される情報であるタグ情報を取得する取得処理を実行する通信部と、
所定の期間内における前記通信部における１つ以上のＲＦタグからの前記タグ情報の取得に成功した回数と、該所定の期間内におけるＲＦタグに対して信号の衝突が回避された状態で通信処理を実行した回数とに基づき、前記通信部におけるＲＦタグとの通信成功率を算出する通信成功率算出部と、を備えるＲＦタグリーダライタ。
【請求項２】
ラウンドを構成する複数のタイムスロットそれぞれにおいて１の情報取得対象となるＲＦタグとの通信処理を実行するスロットアロハ方式を用いてＲＦタグに対する通信処理を実行しており、各タイムスロットにおいて、ＲＦタグに対する応答要求コマンドを送出し、前記応答要求コマンドの取得に応じてＲＦタグから送信されるレスポンスを取得し、取得される前記レスポンスを送出したＲＦタグに対し、該ＲＦタグに記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドを送出し、前記タグ情報要求コマンドの取得に応じてＲＦタグから送出される前記タグ情報を取得する通信部と、
1つ以上のラウンドを有する算出期間における前記通信部におけるＲＦタグとの通信処理においてＲＦタグにて記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドが送出された数nACKと、1つ以上のラウンドを有する算出期間における前記タグ情報要求コマンドに対する返信としてＲＦタグから前記タグ情報を取得した数nIDとから、ＲＦタグとの通信成功率aID=nID/nACKを算出する通信成功率算出部と、を備えるＲＦタグリーダライタ。
【請求項３】
請求項２に記載のＲＦタグリーダライタにおいて、
所定の記憶領域に記憶されている、前記通信成功率についての基準である通信成功率基準情報を取得し、該通信状態基準情報と前記通信成功率算出部にて算出される前記通信成功率aIDとの比較に基づき前記ＲＦタグとの通信状態が良好であるか否かを判定するための通信状態の判定処理を実行する通信安定性判定部と、をさらに備えるＲＦタグリーダライタ。
【請求項４】
請求項３に記載のＲＦタグリーダライタにおいて、
前記算出期間内において前記タグ情報要求コマンドが送出された前記タイムスロットの数ｎACK0と、前記算出期間内における前記タイムスロットの数ｎSL0とから、１のＲＦタグとの通信が発生したタイムスロットの前記算出期間内における割合である通信発生率aACK=ｎACK0/ｎSL0を算出する通信発生率算出部をさらに備え、
前記通信安定性判定部は、前記通信発生率算出部において算出される前記通信発生率が０である前記算出期間について、前記通信状態の判定処理を非実行とするＲＦタグリーダライタ。
【請求項５】
請求項４に記載のＲＦタグリーダライタにおいて、
前記通信安定性判定部は、前記通信発生率算出部において算出される前記通信発生率が０よりも大きい前記算出期間について、前記通信状態についての判定処理を実行するＲＦタグリーダライタ。
【請求項６】
請求項３に記載のＲＦタグリーダライタにおいて、
ＲＦタグから送出される信号の大きさを示す情報である受信信号レベル情報を取得する信号レベル情報取得部と、
所定の記憶領域に記憶される受信信号の大きさの基準である信号レベル基準情報を取得し、ＲＦタグから送出される受信信号の大きさが基準よりも大きいか否かを前記信号レベル基準情報と前記受信信号レベル情報取得部が取得した受信信号レベル情報との比較に基づきタイムスロットごとに判定し、且つ受信信号の大きさが基準よりも大きいと判定されるタイムスロットについては前記通信部により送信される前記応答要求コマンドの取得に応じてＲＦタグからレスポンスの送信があったと認定する信号レベル判定部と、
前記算出期間における前記信号レベル判定部にてレスポンスが送られたと認定されたタイムスロットの数ｎRN16と、前記算出期間におけるタイムスロットの数ｎSL0とに基づき、ＲＦタグからのレスポンスの送信があった前記算出期間におけるタイムスロットの割合を示す応答発生率aRN16=ｎRN16/ｎSL0を算出する応答発生率算出部と、をさらに備え、
前記通信安定性判定部は、前記応答発生率算出部にて算出される前記応答発生率が０である前記算出期間について、前記通信状態の判定処理を非実行とするＲＦタグリーダライタ。
【請求項７】
請求項６に記載のＲＦタグリーダライタにおいて、
前記通信安定性判定部は、前記応答発生率算出部にて算出される応答発生率が０よりも大きい前記算出期間について、前記通信状態についての判定処理を実行するＲＦタグリーダライタ。
【請求項８】
請求項３から７のいずれか1つに記載のＲＦタグリーダライタにおいて、
前記通信部における通信処理は、ISO18000-6 type Cに準拠して実行されており、
前記通信部は、前記スロットアロハ方式におけるラウンドの最初のタイムスロットにおいてQueryコマンドを送信するＲＦタグリーダライタ。
【請求項９】
請求項３から７のいずれか1つに記載のＲＦタグリーダライタにおいて、
前記通信部における通信処理は、ISO18000-6 type Cに準拠して、前記算出期間が複数設定されて実行されており、
前記通信安定性判定部において通信状態が良好と判定された前記算出期間が存在する場合に、前記通信部は、該通信状態が良好と判定された前記算出期間と連続する前記算出期間において応答要求コマンドとしてQuery-adjustコマンドを送信することにより前記ＲＦタグとの通信を実行するＲＦタグリーダライタ。
【請求項１０】
請求項３から９に記載のＲＦタグリーダライタにおいて、
前記通信部における通信処理は、前記算出期間が複数設定されて実行されており、
前記通信安定性判定部における判定結果が連続するラウンド間で異なる場合に、前記ＲＦタグリーダライタに備わるアンテナの位置が移動したものと認定する位置判定部をさらに備えるＲＦタグリーダライタ。
【請求項１１】
請求項１０に記載のＲＦタグリーダライタにおいて、
前記位置判定部において前記ＲＦタグリーダライタに備わるアンテナの位置が移動したものと認定される場合に、当該認定前に前記通信部にて取得された前記タグ情報をグループ化して所定の記憶領域に記憶させるグループ化部をさらに備えるＲＦタグリーダライタライタ。
【請求項１２】
請求項１１に記載のＲＦタグリーダライタにおいて、
前記グループ化部は、前記グループ化した前記タグ情報を、グループ化して記憶させた順序に関する情報と関連付けて所定の記憶領域に記憶させるＲＦタグリーダライタ。
【請求項１３】
ラウンドを構成する複数のタイムスロットそれぞれにおいて１の情報取得対象となるＲＦタグとの通信処理を実行するスロットアロハ方式を用いてＲＦタグに対する通信処理を実行しており、各タイムスロットにおいて、ＲＦタグに対する応答要求コマンドを送出し、前記応答要求コマンドの取得に応じてＲＦタグから送信されるレスポンスを取得し、取得される前記レスポンスを送出したＲＦタグに対し、該ＲＦタグに記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドを送出し、前記タグ情報要求コマンドの取得に応じてＲＦタグから送出される前記タグ情報を取得し、
1つ以上のラウンドを有する算出期間における前記通信部におけるＲＦタグとの通信処理においてＲＦタグにて記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドが送出された数nACKと、1つ以上のラウンドを有する算出期間における前記タグ情報要求コマンドに対する返信としてＲＦタグから前記タグ情報を取得した数nIDとから、ＲＦタグとの通信成功率aID=nID/nACKを算出するタグ情報取得方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非接触でＲＦタグと通信する、ＲＦタグリーダライタに関し、特に、1つ以上の不特定のＲＦタグとの一括的な通信によりそれらＲＦタグに記憶されている情報を取得（読取）することができるＲＦタグリーダライタ技術に関する。
【背景技術】
【０００２】
近年、ＲＦＩＤ（Radio Frequency Identification）システムが注目され、例えば流通分野などにおいて導入が進んでいる。ＲＦＩＤシステムは、ＩＣチップとアンテナから成り、物品に付されるＲＦタグ（ＲＦタグ、ＲＦＩＤタグとも称される）と、該ＲＦタグのＩＣチップ内のメモリに記憶されている情報を非接触で読み取るとともに、該ＲＦタグのＩＣチップ内のメモリに情報を非接触で書込むＲＦタグリーダライタ（以下、単にリーダライタとも称す）とから構成される（例えば特許文献１）。
【０００３】
ＲＦＩＤシステムにおける処理としては、例えば、店舗などでの棚卸業務における、複数のＲＦタグからの一括での情報読取処理が挙げられる（以下、一括読取と称す）。このとき、リーダライタは、数ｍの距離が離れた範囲に電波を放射し、複数の商品にそれぞれ付された不特定のＲＦタグと通信を実行して、各ＲＦタグに記憶されている情報を一括的に読み取る。ここで、読取対象のＲＦタグはリーダライタのアンテナの読取範囲よりも空間的に広い範囲に配置されているのが一般的である。よって、棚卸などにおいては、リーダライタのアンテナを移動して、通信する範囲を変えながらＲＦタグから情報を取得していく。
【０００４】
ここで、従来のリーダライタにおいては、一般的に、ＲＦタグから情報を取得できたときにブザーが鳴るように構成されており、使用者は該ブザーが鳴るか否かにより情報の取得に成功したか否かを知ることができた。そのため、使用者は、棚卸を実行するに当たっては、まず、ブザーが鳴ることを確認しつつ棚卸をする範囲を一通り回り、ＲＦタグから情報を取得していく。そして、その後、取得した情報と、予めサーバやリーダライタの記憶領域に格納されている、使用中（商品に付された状態等）のＲＦタグに記憶されている情報と同一の情報とを比較して、読み落としがないかを確認していた。
【０００５】
しかし、読取に成功したことを示すブザーだけでは使用者は通信状態や読み落としの有無を正確に把握することが難しい。よって、読取作業終了後に読み落としが見つかることが多く、そのため作業のやり直しを強いられる場面が多々あった。また、読取に成功したことを示すブザーだけでは使用者はリーダライタやそのアンテナを移動するタイミング、その速度、および移動方向などを予測することができず、その結果、読み落としが生じてしまう場合が多いという問題点があった。さらに、従来においては読取に失敗した原因が電波の衝突（コリジョン）によるものであるのか、それとも電波状態が不良であることに起因しているのか、判別ができなかった。そのため、電波状態が良好であるのにも係らずアンテナを移動させてしまい、その結果、かえって読み落としが発生してしまう場合もあった。
【０００６】
そのため、通信状態を検出する技術も提案されている（例えば特許文献２）。特許文献２に記載の技術においては、リーダライタとＲＦタグとの間の通信におけるビットエラーレート（Bit Error Rate）あるいはフレームエラーレート（Frame Error Rate）を算出し、これらに基づいて通信安定性を判定することが記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献２には具体的にはどのようにして通信安定性を判定するのかについて、開示されていない。そのため、例えば読取できない理由がコリジョンであるのか、それとも通信状態の不良に起因しているのか等についても判別することができないなどしており、通信状態を正確に把握するために十分であるとは依然としていえない。
【０００８】
本発明は上述した問題点を解決するためになされたものであり、ＲＦタグとの通信において、通信状態をより正確に把握することができるＲＦタグリーダライタ通信技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明の一態様は情報取得対象となるＲＦタグに対して信号の衝突を回避するアンチコリジョン方式を用いて通信を行い、該ＲＦタグに記憶される情報であるタグ情報を取得する取得処理を複数回実行する通信部と、前記通信部におけるＲＦタグからの前記タグ情報の取得に成功した回数と、ＲＦタグに対して信号の衝突が回避された状態で通信処理を実行した回数とに基づき、前記通信部におけるＲＦタグとの通信成功率を算出する通信成功率算出部と、を備えるＲＦタグリーダライタに関する。
【００１０】
また、本発明の一態様はラウンドを構成する複数のタイムスロットそれぞれにおいて１の情報取得対象となるＲＦタグとの通信処理を実行するスロットアロハ方式を用いてＲＦタグに対する通信処理を実行する通信部と、前記通信部におけるＲＦタグとの通信処理において、前記通信部から前記ＲＦタグにて記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドが送出された数nACKと、前記タグ情報要求コマンドに対する返信としてＲＦタグから前記タグ情報を取得した数nIDとから、1つ以上のラウンドを有する算出期間における前記通信部とＲＦタグとの通信成功率aID=nID/nACKを算出する通信成功率算出部と、を備えるＲＦタグリーダライタに関する。
【００１１】
また、本発明の一態様はラウンドを構成する複数のタイムスロットそれぞれにおいて１の情報取得対象となるＲＦタグとの通信処理を実行するスロットアロハ方式を用いてＲＦタグに対する通信処理を実行しており、各タイムスロットにおいて、ＲＦタグに対する応答要求コマンドを送出し、応答要求コマンドの取得に応じてＲＦタグから送信されるレスポンスを取得し、取得される前記レスポンスを送出したＲＦタグに対し、該ＲＦタグに記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドを送出し、前記タグ情報要求コマンドの取得に応じてＲＦタグから送出される前記タグ情報を取得する通信部と、1つ以上のラウンドを有する算出期間における前記通信部におけるＲＦタグとの通信処理においてＲＦタグにて記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドが送出された数nACKと、1つ以上のラウンドを有する算出期間における前記タグ情報要求コマンドに対する返信としてＲＦタグから前記タグ情報を取得した数nIDとから、ＲＦタグとの通信成功率aID=nID/nACKを算出する通信成功率算出部と、を備えるＲＦタグリーダライタに関する。
【００１２】
また、本発明の一態様は、  ラウンドを構成する複数のタイムスロットそれぞれにおいて１の情報取得対象となるＲＦタグとの通信処理を実行するスロットアロハ方式を用いてＲＦタグに対する通信処理を実行しており、各タイムスロットにおいて、ＲＦタグに対する応答要求コマンドを送出し、応答要求コマンドの取得に応じてＲＦタグから送信されるレスポンスを取得し、取得される前記レスポンスを送出したＲＦタグに対し、該ＲＦタグに記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドを送出し、前記タグ情報要求コマンドの取得に応じてＲＦタグから送出される前記タグ情報を取得し、1つ以上のラウンドを有する算出期間における前記通信部におけるＲＦタグとの通信処理においてＲＦタグにて記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドが送出された数nACKと、1つ以上のラウンドを有する算出期間における前記タグ情報要求コマンドに対する返信としてＲＦタグから前記タグ情報を取得した数nIDとから、ＲＦタグとの通信成功率aID=nID/nACKを算出するタグ情報取得方法に関する。
【発明の効果】
【００１３】
以上に詳述したように、本発明によれば、ＲＦタグとの通信において、通信状態をより正確に把握することができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態のＲＦタグリーダライタの斜視図である。
【図２】第１の実施形態のＲＦタグのハードウェア構成を示すブロック図である。
【図３】第１の実施形態のＲＦタグリーダライタのハードウェア構成を示すブロック図である。
【図４】第１の実施形態のＲＦタグリーダライタの通信成功率の算出、および通信状態判定に係る機能ブロック図である。
【図５】第１の実施形態のＲＦタグリーダライタが有する無線部の回路構成図である。
【図６】第１の実施形態に係るISO18000-6 type Cに準拠した通信処理におけるタイミングチャートを例示する図である。
【図７】第１の実施形態のＲＦタグリーダライタ１００の移動についての例示図である。
【図８】第１の実施形態に係る通信安定性基準情報の例示図である。
【図９】第１の実施形態の、記憶部３１１に記憶される通信状態の判定結果の例示図である。
【図１０】第１の実施形態の、グループ化されて記憶される識別ＩＤの例示図である。
【図１１】第１の実施形態における、通信成功率の算出、および通信状態判定の処理フローを示す図である。
【図１２】第１の実施形態における、処理開始画面の例示図である。
【図１３】第１の実施形態における通信状態判定の処理フローを示す図である。
【図１４】第１の実施形態における位置判定および識別ＩＤのグループ化の処理フローを示す図である。
【図１５】第２の実施形態のＲＦタグリーダライタが有する無線部の回路構成図である。
【図１６】第２の実施形態に係る通信成功率の算出、および通信状態判定の機能ブロック図である。
【図１７】第２の実施形態に係る信号レベル基準情報の例示図である。
【図１８】第２の実施形態に係るISO18000-6 type Cに準拠した通信処理におけるタイミングチャートを例示する図である。
【図１９】第２の実施形態に変る通信安定性基準情報の例示図である。
【図２０】第２の実施形態の、記憶部３１１に記憶される通信状態の判定結果の例示図である。
【図２１】第２の実施形態における、通信成功率の算出、および通信状態判定の処理フローを示す図である。
【図２２】第２の実施形態における通信状態判定の処理フローを示す図である。
【図２３】第２の実施形態における応答発生の判定についての処理フローを示す図である。
【図２４】他の実施形態における通信安定性基準情報の例示図である。
【発明を実施するための形態】
【００１５】
（第１の実施形態）
以下、本発明の第１の実施の形態について図面を参照しつつ説明する。なお、以下の説明では、ＲＦタグに記憶されている情報として、識別ID（タグID）を例に挙げて説明する。また、理解を容易とするために、通信成功率等の算出期間は１ラウンドに設定されているものとして説明する。
【００１６】
図１は、第１の実施形態による、ＲＦタグリーダライタ１００の概要を示す斜視図である。第１の実施形態のリーダライタ１００は、不図示のアンテナを筐体９２内部に備えるアンテナ装置９０と、リーダライタ本体３０とから構成されている。アンテナ装置９０とリーダライタ本体３０とは、同軸ケーブル９４で接続されている。
【００１７】
アンテナ装置９０が備えるアンテナは、特に限定されないが例えばパッチアンテナとすることができる。リーダライタ１００は、当該アンテナから放射される電波を介して、ＲＦタグ（不図示）と通信を行う。また、第１の実施形態においてはアンテナ筐体９２には把持部材９６が設けられており、使用者が携帯しながらリーダライタ１００を使用する際にアンテナ装置９０を把持しやすいように構成されている。しかしながら、当該把持部９６を設けない構成とすることも、もちろん可能である。
【００１８】
図２にＲＦタグの機能ブロックの一例を示す。ＲＦタグは、物品あるいは配送物等に貼付され、無線データキャリアの一種であり、送受信可能なタグアンテナとＩＣチップとを基板に一体成形した独立の部品である。ＩＣチップ９００には、所定の情報信号（タグ情報）を記憶し得るメモリ９０３、タグアンテナ９０１で受信した変調電波の整流と安定化を行うことによりＩＣチップ９００の各部に電源を供給する電源生成部９０５、変調電波を復調して制御部へ送出（通信信号の復調）する復調部９０７、制御部から送出されたデータを変調してタグアンテナに送出（返信信号の変調）する変調部９０９、タグアンテナ９０１により受信された変調電波からクロック信号を抽出して制御部９１７に供給するクロック抽出部９１１、リーダライタ１００からの変調電波の受信時に当該ＲＦタグが応答信号をどの識別スロットに出力するかを決定するための当該変調電波にて指定されているスロット数指定値Ｑに応じた０から２Ｑ−１の乱数を発生させる乱数発生器９１３と、メモリ９０３、復調部９０７、変調部９０９、クロック抽出部９１１、乱数発生器９１３等を介してＲＦタグの作動を制御する制御部９１５が設けられている。
【００１９】
次に、リーダライタ本体３０が備えるハードウェア構成について説明する。図３に示すように、リーダライタ本体３０は、制御部３１と、無線部３３と、入力部３５と、表示部３７と、インターフェース部３９と、を有する。また、バッテリおよびその充放電を制御する図１に示す電源部３２により、各ハードウェアおよびアンテナ装置９０へ電流が供給される。したがって、第１の実施形態のリーダライタ１００は、携帯型リーダライタとして構成されている。
【００２０】
制御部３１は、使用者からの入力に基づき、後述する記憶部３１１に記憶されているプログラムを実行することにより、ＲＦタグとの通信や、ネットワークを通じてのＰＣ（Personal Computer, 不図示）などの外部機器との通信など、リーダライタ１００における各種処理を行う役割を有している。例えば、後述するインターフェース部３９を介してPCから取得されたり、使用者から後述する入力部３５を介して入力された識別IDがアンテナ装置９０から電波を介してＲＦタグに送出されるように、通信プロトコルに従って無線部３３を制御する。また、制御部３１の後述する記憶部３１１に記憶されている出力情報に基づき、該出力情報が示す送信出力でアンテナ装置９０から電波が放射されるように、後述する無線部３３を制御する。
【００２１】
無線部３３は、アンテナ装置９０を介してＲＦタグと通信するための機能を備えているハードウェアである。無線部３３の詳細な回路構成図を図４に示す。
【００２２】
ここで、ＲＦタグがバッテリを持たないパッシブタグの場合には、無線部３３は、先ず、無変調キャリアをパワーアンプ３３１で増幅して、方向性結合器３３２を介してアンテナから電磁波を出力し、ＲＦタグを起動させる。ＲＦタグにデータを送信する場合には、通信プロトコルに従い符号化した信号について振幅変調器３３３にて振幅変調を行った後にパワーアンプ３３１で増幅し、次いで方向性結合器３３２を介してアンテナから電磁波を出力することにより、送信する。また、ＲＦタグから信号を受信する時には、リーダライタ１００から無変調キャリアを送信している状態で、ＲＦタグがアンテナ端のインピーダンスを制御(バックスキャッタ)し、これによって反射状態が変わり、これをリーダライタ１００のアンテナ装置で検出する。受信した電磁波信号は、方向性結合器３３２を介して直交復調され、同期クロック生成部I（３３４）およびQ（３３５）にて同期クロックを生成し、プリアンブル検出部I（３３６）およびQ（３３７）にて予め決められたプリアンブルを検出することによりデータの先頭を検出し、複合部I（３３８）およびQ（３３９）にて復号して受信データを得る。また、誤り検出符号によって、エラー検出部I（３４１）およびQ（３４２）にて誤りの有無を検出するようになっている。図３の場合には、直交復調の同相成分での復調と直交成分での復調のどちらかで誤りがなければ正しくデータを受信したと判定する構成である。また、制御部３１の送信出力制御部３１５からの制御（具体的には、送信出力を設定するための送信出力設定信号の送出）により、パワーアンプ３３１にて送信出力が処理の形態に合わせて設定できるように構成されている。
【００２３】
入力部３５は、該入力部３５を用いて使用者がリーダライタ１００に指示を入力するためのハードウェアであり、具体的には押下により指示の入力が可能なボタン（キー）や、タッチパッドなどで構成することができる。
【００２４】
表示部（ディスプレイ）３７は、使用者にＲＦタグとの通信結果を示したり、指示入力を促すために用いることができるハードウェアであり、具体的にはＬＣＤ（Liquid crystal display）等とすることができる。なお、表示部３７をタッチパネルセンサを搭載したグラフィカルディスプレイとして構成し、入力部３５と表示部３７とを一体化させてもよい。
【００２５】
インターフェース部３９は、ネットワークを介し、識別IDが記憶されているPCなどの外部機器と通信を行うためのハードウェアである。
【００２６】
次に、制御部３１の機能ブロックについて説明する。図５に示すように、制御部３１は、以下に説明する記憶部３１１と、通信部３１２と、通信発生率算出部３１３と、通信成功率算出部３１４と、通信安定性判定部３１５と、位置判定部３１６と、グループ化部３１７と、を有する。
【００２７】
記憶部３１１は、取得した識別IDや、該識別IDを電波を介して送信したりするための通信プロトコル（例えば、ISO18000-6typeCに準拠したＲＦタグの通信プロトコル）等が記憶される。さらに第１の実施形態においては、記憶部３１１は、後述する通信安定性判定部３１５による通信状態の判定に用いられる通信成功率についての基準である通信成功率基準情報が記憶されている。さらにまた、第１の実施形態においては、１ラウンドごとに算出された通信発生率や通信成功率が記憶されている（詳しくは後述）。
【００２８】
通信部３１２は、無線部３３を制御し、ラウンドを構成する複数のタイムスロット（以下、単にスロットとも称す）においてＲＦタグとの通信処理を実行するスロットアロハ方式を用いてＲＦタグに対する通信処理を実行する。より具体的には、第１の実施形態の通信部３１２は、ISO18000-6typeCのプロトコルに従い、通信処理を実行する。
【００２９】
通信部３１２におけるＲＦタグに対する通信処理についてより具体的に説明する。図６は本実施形態のリーダライタ１００の動作を示すタイミングチャート例である。また、図７は本実施形態のリーダライタ１００のアンテナ装置９０の位置と通信範囲とＲＦタグとの位置関係の説明図である。ここで、図７における通信範囲とは、ＲＦタグが完全にこの範囲に入っていれば、衝突の場合を除いて、正確に通信できる範囲をいう。
【００３０】
第１の実施形態の説明においては、一例として、ISO18000-6typeCのプロトコルに準拠し、ＲＦタグがＲＦタグ１〜４の４個、ラウンド当たりのスロット数が４（＝２Ｑ＝２２）の場合を示す。また、図６に示す、ISO18000-6typeC に基づくQueryコマンド、Query-repコマンド、Query-adjustコマンド、ＲＮ１６送信（ＲＮ１６応答）、ＡＣＫコマンド、ＩＤ送信（ＩＤ返信）のうち、通信部３１２（すなわち、リーダライタ１００）がＲＦタグに対して送信するQueryコマンド、Query-repコマンド、Query-adjustコマンドおよびACKコマンドよりも、ＲＦタグの送信するＲＮ１６送信およびＩＤ送信は、バックスキャッタ方式で通信されるため、エラーが発生し易い。さらに、一般的に、RN16送信よりも、ID送信のデータ量が大きいことから、ＲＦタグ同士の衝突が無い状態では、ID送信でエラーが発生し易い。
【００３１】
先ず、リーダライタ１００のアンテナ装置９０はラウンド１および２のときはＡの位置にあり、ラウンド３、４のときはＢの位置にあるものとする。また、アンテナ装置９０がＡの位置にあるとき、ＲＦタグ１、ＲＦタグ２、ＲＦタグ４は、リーダライタ１００の通信範囲に入っているが、ＲＦタグ３は、通信範囲の境界にあるものとする。
【００３２】
図６において、まず、リーダライタ１００の通信部３１２が、電磁波送信を開始する。この時の電磁波はＲＦタグに電力を供給するだけの目的であるため、無変調キャリアを送信する。ＲＦタグ１〜４は電磁波を受けて起動する。ISO18000-6typeCのプロトコルに準拠して通信する各ＲＦタグは、フラグ（Inventoriedフラグ）を有しており、各ＲＦタグの起動時のフラグはAとする。
【００３３】
次に、通信部３１２は、不特定のＲＦタグに対して応答を要求する応答要求コマンドであるQueryコマンドを送信する。Queryコマンドでは、ラウンド当たりのスロット数が４であることを示すパラメータと、フラグがAであるＲＦタグを対象としていることを示すパラメータとを、少なくとも含む。ＲＦタグ１〜４は、Queryコマンドを受信すると、乱数を生成し、1ラウンド中の4スロットのうち、どのスロットで応答するかを決める。また、応答する時のデータＲＮ１６（本発明のレスポンスに相当）も生成する。応答するスロットおよびRN16は、各ＲＦタグがそれぞれ生成する乱数によって定まり、特に、RN16はＲＦタグ毎に異なる値になる。図６では、ＲＦタグ１がスロット１、ＲＦタグ２とＲＦタグ３がスロット２、ＲＦタグ４がスロット３で応答する場合を例示する。
【００３４】
ISO18000-6typeCに従う場合、スロット１では、ＲＦタグ１だけがRN16を返答する。衝突が発生しないため、通信部３１２はＲＦタグ１が送信したRN16を正しく受信する。そして、通信部３１２は、受信したRN16を含むACKコマンド（タグ情報要求コマンドに相当）を送信する。ＲＦタグ１はACKコマンドを受信すると、自身が送信したRN16が含まれているかどうかを確認し、含まれている場合には、このACKコマンドが自分宛であると判定する。この場合、ＲＦタグ１宛であり、ＲＦタグ１は識別IDを通信部３１２に返信し、通信部３１２はこれを正しく受信する。
【００３５】
次に、通信部３１２はQ-rep(Query-rep)コマンドを送信して、次のスロット（スロット２）に移行する。Query-repコマンドにも、上記と同じフラグ（Ａ）を示すパラメータを、少なくとも含む。ここで、スロット１で識別IDを送信したＲＦタグ１は、フラグをBに変更し、応答を停止する。ＲＦタグ２〜４は、Query-repコマンドを受信して、スロットがスロット２になったことの情報を得る。図６においてはＲＦタグ２とＲＦタグ３が、それぞれ同じタイミングでRN16を送信するため、衝突が生じており、リーダライタ１００は正しくデータを受信できない。
【００３６】
通信部３１２は所定時間内に正しくRN16を受信できなかったため、再度同様にQ-rep(Query-rep)コマンドを送信して、スロット３に移行する。ＲＦタグ２〜４は、Query-repコマンドを受信して、スロットがスロット３になったことの情報を得る。ＲＦタグ４は、スロット１のＲＦタグ１と同様に、RN16を送信し、ACKコマンドを受信し、IDを返信する。
【００３７】
次に、通信部３１２はQuery-repコマンドを送信して、次のスロット（スロット４）に移行する。同様にＲＦタグ４はフラグをBに変更し、応答を停止する。ＲＦタグ２〜３は、Query-repコマンドを受信して、スロットがスロット４になったことの情報を得る。図６の例では、スロット４でRN16を送信するタグはない。
【００３８】
次に、通信部３１２は次のラウンド（ラウンド２）に移行し、Queryコマンドを送信する。上記と同様に、Queryコマンドでは、ラウンド当たりのスロット数を４とするパラメータと、上記のフラグがAのＲＦタグを対象としていることを示すパラメータを、少なくとも含む。
【００３９】
ＲＦタグ１とＲＦタグ４は、フラグがBで、送信停止状態にある。ＲＦタグ２とＲＦタグ３は、Queryコマンドを受信すると、ラウンド１と同様に、乱数を生成し、1ラウンド中の4スロットのうち、どのスロットで応答するかを決めると共に、応答する時のデータRN16も生成する。図６では、ＲＦタグ２がスロット１、ＲＦタグ３がスロット２で応答する例を示している。ＲＦタグ２は、同様に、RN16を送信し、ACKコマンドを受信し、識別IDを返信し、通信部３１２は正しく受信する。
【００４０】
次に、通信部３１２はQuery-repコマンドを送信して、次のスロット（スロット２）に移行する。同様にＲＦタグ２はフラグをBに変更し、応答を停止する。ＲＦタグ３は、Query-repコマンドを受信して、スロットがスロット２になったことの情報を得る。ＲＦタグ３は、同様にRN16を送信し、ACKコマンドを受信し、識別IDを返信する。ラウンド２のスロット２では、ＲＦタグ３が返信した識別IDを、通信部３１２が正しく受信できなかった例を示している。なお、識別ＩＤを正しく受信できない場合とは、例えば、識別ID返信に係るデータに含まれるCRC(Cyclic Redundancy Check)符号などの誤り検出符号を用いて図４のエラー検出部３４１、３４２がエラーを検出した場合や、図４のプリアンブル検出部３３６、３３７で、所定時間の間にプリアンブルが検出できなった場合が挙げられる。このように識別ＩＤを正しく受信できなかった場合、通信部３１２は、ＲＦタグ３からIDを正しく受信できなかったことを示すＮａｋコマンドを送信し、ＲＦタグ３はＮａｋコマンドを受信する。
【００４１】
次に、通信部３１２は同様に、Query-repコマンドを送信し、スロット３に移行する。ＲＦタグ３は、Ｎａｋコマンドを受信しており、フラグはAのままの状態に維持している。スロット３では応答するＲＦタグはない。同様に、スロット４でも、応答するＲＦタグはない。
【００４２】
続いて、通信部３１２は次のラウンド（ラウンド３）に移行し、Queryコマンドを送信する。上記と同様に、Queryコマンドでは、ラウンド当たりのスロット数を４とするパラメータと、上記のフラグがAのＲＦタグを対象としていることを示すパラメータを、少なくとも含む。ＲＦタグ１、ＲＦタグ２、ＲＦタグ４は、フラグがBで、送信停止状態にある。また、ラウンド３においては、リーダライタ１００のアンテナ装置９０が図７におけるＢの位置に移動しており、ＲＦタグ３と正確に通信できる。
【００４３】
ＲＦタグ３は、Queryコマンドを受信すると、ラウンド１と同様に、乱数を生成し、1ラウンド中の4スロットのうち、どのスロットで応答するかを決めると共に、応答する時のデータRN16も生成する。図６ではＲＦタグ３がスロット２で応答する例を示している。ＲＮ１６の送出から識別ＩＤの送出までの処理は他のＲＦタグと共通するため、説明を省略する。ラウンド３のスロット３以降は、応答するタグはない。
【００４４】
このように、通信部３１２は、ラウンドを構成する複数のタイムスロットそれぞれにおいて１の情報取得対象となるＲＦタグとの通信処理を実行するスロットアロハ方式を用いてＲＦタグに対する通信処理を実行しており、各タイムスロットにおいて、ＲＦタグに対する応答要求コマンド（Ｑｕｅｒｙコマンド等）を送出し、応答要求コマンドの取得に応じてＲＦタグから送信されるレスポンス（ＲＮ１６）を取得し、取得されるレスポンスを送出したＲＦタグに対し、該ＲＦタグに記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンド（ACKコマンド）を送出し、タグ情報要求コマンドの取得に応じてＲＦタグから送出されるタグ情報を取得する。
【００４５】
また、第１の実施形態において、通信部３１２は、以上に例示するようにして取得した識別IDを、記憶部３１１に記憶させる。また、通信部３１２は、ＲＦタグとの通信処理の実行に応じてラウンドにおけるスロット数ｎSL0(=２Ｑ)を示す情報（スロット数情報）を取得するスロット数情報取得部３２２と、ＲＦタグとの１ラウンドの通信処理が完了したときに該通信処理においてACKコマンドが送信されたスロット数nACK0を示す情報（通信発生数情報）を生成する通信発生数カウント部３２４と、ＲＦタグとの１ラウンドの通信処理が完了したときに該通信処理において識別ＩＤが取得された数nIDを示す情報（通信成功数情報）を生成する通信成功数カウント部３２６と、を備えている。そして、通信部３１２は、スロット数情報および通信発生数情報を通信発生率算出部３１３に送出する。また、通信部３１２は、通信発生数情報および通信成功数情報を通信成功率算出部３１４に送出する。
【００４６】
通信発生率算出部３１３は、１ラウンドにおいてタグ情報要求コマンドが送出されたタイムスロットの数と、１ラウンド内におけるタイムスロットの数とから、１のＲＦタグとの通信が発生したタイムスロットの１ラウンドにおける割合である通信発生率を算出する。
【００４７】
具体的に説明すると、通信発生率算出部３１３は、スロット内でリーダライタ１００がACKコマンドを送信したスロットは、個別通信が発生したスロットであるとして、取得するスロット数情報および通信発生数情報から、通信発生率の算出を実行する。ISO18000-6typeCのプロトコルでは、リーダライタ１００（通信部３１２）がACKコマンドを送信すると、そのACKコマンドの内容に対応したＲＦタグは識別IDを返答するよう規定されている。したがって、リーダライタ１００がACKコマンド送信を行ったスロットは、特定のＲＦタグとの個別通信が発生したスロットであるということができる。通信発生率算出部３１３は、通信部３１２から取得する1ラウンド中のスロット数ｎSL0と通信発生数ｎACKとから1ラウンド当たりの通信発生率をａACK＝ｎACK／ｎSL0として算出する。
【００４８】
例えば、図６に示した例において、通信発生率算出部３１３は、ラウンド１について、通信発生数ｎACKを2、通信発生率を  ａACK＝2/4＝0.5と算出する。同様に、通信発生率算出部３１３は、ラウンド２については、ｎACK＝2、ａACK＝2/4＝0.5、ラウンド３については、ｎACK＝1、ａACK＝1/4＝0.25、ラウンド４以降は、ｎACK＝0、ａACK＝0/4＝0と算出する。
【００４９】
通信成功率算出部３１４は、通信部３１２におけるＲＦタグとの通信処理において通信部３１２からタグ情報の送出を要求するACKコマンドが送出されたタイムスロット数nACK0と、ACKコマンドに対する返信としてＲＦタグから識別ＩＤを取得したタイムスロット数nIDとから、1ラウンドにおけるＲＦタグとの通信成功率aID=nID/nACK0を算出する。
【００５０】
具体的には、通信成功率算出部３１４は、１ラウンドの識別ID受信に成功したスロット数ｎIDを示す通信成功数情報とラウンド中のACKコマンドが送信されたスロット数ｎACK0を示す通信発生数情報を通信部３１２から取得する。ここで、ｎACK0は、ＲＦタグが識別IDの返信を実行した回数と同一である。従って、通信成功率算出部３１４は、１ラウンド当たりの通信成功率をａID＝ｎID／ｎACK0として算出する。
【００５１】
例えば、図６に示した例において、通信成功率算出部３１４は、ラウンド1については、通信成功回数ｎIDを2、通信発生回数ｎACKを2、通信成功率を  ａID＝2/2＝1と算出する。同様に、通信成功率算出部３１４は、ラウンド２については、ｎID＝1、ｎACK＝2、ａID＝1/2＝0.5と、ラウンド３については、ｎID＝1、ｎACK＝1、ａID＝1/1＝1と、ラウンド４については、ｎID＝0、ｎACK＝0、ａID＝０/０＝０、と算出する。
【００５２】
ISO18000-6typeCの場合、リーダライタ１００がACKコマンドを送信した後に、IDを応答するＲＦタグは１つである。よって、ACKコマンド送信後にはそのスロットにおいては他のＲＦタグとの衝突は発生しない。従って、通信成功率ａIDは、ＲＦタグリーダライタと1対１の通信(個別通信)が確立されたＲＦタグとの通信状態を示す値となり、衝突によるエラー要因を排除した値となる。
【００５３】
なお、図６の例では、理解を容易とするために、リーダライタ１００はACKコマンドを送信するスロットではACKコマンドを1回だけ送信している構成としている。しかしながら、これに限らず、リーダライタ１００は識別ID受信時にエラーを検出したときに、同一スロット内で、引き続きACKコマンドを送信する場合もある。この場合は、各スロットにおいて最初のACKコマンドを送信した数が通信発生回数に相当する。
【００５４】
また、通信成功率算出部３１４は、１のタイムスロットにおいて複数回ACKコマンドが送信される場合は、通信成功率を、通信成功数nIDと、算出期間（例えば１のラウンド）におけるACKコマンドが送出された回数nACKとに基づき、aID=ｎID／ｎACKとして算出する。
【００５５】
したがって、第１の実施形態では、通信部３１２が有する通信発生数カウント部３２４は、通信発生数情報を生成する処理と、ACKコマンドが送出された回数についての情報（Ackコマンド送出数情報）を生成する処理とを兼ねて処理の実行を行っている。したがって、通信発生数カウント部３２４をACKコマンド送出数カウント部ということもできる。
【００５６】
通信安定性判定部３１５は、記憶部３１１に記憶されている、通信成功率aIDについての基準である通信成功率基準情報を取得し、該通信状態基準情報と通信成功率算出部３１４にて算出される通信成功率aIDとの比較に基づきＲＦタグとの通信状態が良好であるか否かを判定する（通信状態の判定処理）。具体的には、通信安定性判定部３１５は、通信成功率aIDが通信状態基準情報にて示される通信成功率の基準以上である場合、通信状態が良好であると判定する。また、通信安定性判定部３１５は、通信成功率aIDが通信状態基準情報にて示される通信成功率の基準未満である場合、通信状態が悪いと判定する。
【００５７】
ここで、第１の実施形態において、通信安定性判定部３１５は、通信発生率算出部３１３において算出される通信発生率が０であるラウンドについて、通信状態の判定処理を非実行とする。また、通信安定性判定部３１５は、通信発生率算出部３１３において算出される通信発生率が０よりも大きいラウンドについて、通信状態についての判定処理を実行する。
【００５８】
記憶部３１１に記憶されている通信成功率基準情報を図８に例示する。図８においては、通信安定性判定部３１５は、通信発生率が０であるラウンドについては、ＲＦタグが通信範囲内に無い、或いは読取済みである（以下、判定結果１と称す）として、通信状態の判定処理を行わない（言い換えれば、通信状態についての判定を行うことなく判定結果１と認定する）。また、通信安定性判定部３１５は、通信発生率が０より大きいが基準未満である場合、応答するＲＦタグはあるが通信状態が悪いと判定する（判定結果２と称す）。また、通信安定性判定部３１５は、通信発生率が０より大きく且つ通信成功率が基準以上である場合、応答するＲＦタグがあり、通信状態が良好と判定する（判定結果３と称す）。
【００５９】
なお、第１の実施形態においては、表示部３７を介して使用者に通知する通知内容と関連付けられて通信成功率基準情報が記憶されている通信成功率判定テーブルとして、記憶部３１１に記憶されている。制御部３１は、通信安定性判定部３１５にて通信状態の判定が行われた場合（より具体的には該判定結果を記憶部３１１に記憶させたことの通信安定性判定部３１５からの通知を制御部３１が取得したとき）、該判定結果と関連付けて通信成功率判定テーブルにて記憶されている通知内容を表示部３７に表示させる。また、第１の実施形態においては、制御部３１は、該通知内容と併せて、通信発生率および／または通信成功率を表示部３７に表示させる。
【００６０】
また、通信安定性判定部３１５は、図9に示すように、判定結果をラウンド、通信発生率、通信成功率と関連付けて記憶部３１１に記憶させる。さらに、通信安定性判定部３１５は、通信状態の判定を行ったことを、位置判定部３１６に通知する。なお、図９においては、通信成功率の基準を０．７とした場合を例示している。
【００６１】
位置判定部３１６は、通信安定性判定部３１５からの通知に基づき、判定結果を記憶部３１１から取得し、通信安定性判定部３１５における判定結果が連続するラウンド間で異なる場合に、リーダライタ１００に備わるアンテナ（アンテナ装置９０）の位置がラウンド間で移動したものと判定する。
【００６２】
具体的には、位置判定部３１６は、「通信状態が悪い（判定結果２）」、から、「通信状態が良好（判定結果３）」に変わったときや、通信安定性判定部３１５の判定結果が、「ＲＦタグが周辺に無いか、或いは、ＲＦタグを読取済み（判定結果１）」、から、「通信状態が良好（判定結果３）」に変わったときなどに、リーダライタ１００に備わるアンテナが移動したと判定する。これにより、アンテナの移動を検出することができる。また、制御部３１は、表示部３７に、位置判定部３１６の判定結果を表示するようにしてもよい。これにより使用者はリーダライタ１００が正しく移動を検出したことや、リーダライタ１００が正しく動作していることを知ることができる。また、ＲＦタグの識別ＩＤに加えて位置情報も得ることができる。
【００６３】
また、第１の実施形態において、位置判定部３１６は、アンテナの位置が移動したとの判定をしたことを、グループ化部３１７に通知する。
【００６４】
グループ化部３１７は、位置判定部３１６からのアンテナの位置が移動したとの判定をしたことの通知に基づき、記憶部３１１に記憶されている識別IDのうち、アンテナの位置の移動前に1つまたは複数のＲＦタグから取得された識別ＩＤをグループ化して、該記憶部３１１に記憶させる。
【００６５】
具体的には、グループ化部３１７は、位置判定部３１６からの該通知の前まではグループ化されていない状態で記憶部３１１にて記憶されている識別ＩＤを、図１０に例示するように、グループ化して記憶させる。すなわち、グループ化部３１７は、取得した識別IDを位置の移動に基づき、グループ分けしている。これにより、使用者は、同じ位置で受信した識別ＩＤの認識が容易になる。
【００６６】
ここで、第１の実施形態において、図１０に示すように、グループ化部３１７は、グループ化した識別ＩＤを、グループ化して記憶させた順序に関する情報と関連付けて所定の記憶領域に記憶させるこれにより、アンテナの移動した経路の確認や該経路の直感的な認識が容易となる。
【００６７】
なお、第１の実施形態における制御部３１は、具体的には、リーダライタ本体３０に実装されるＣＰＵ、ＭＰＵなどの演算装置や、ＲＡＭ、ＲＯＭにより構成することができる。
【００６８】
次に、第１の実施形態のリーダライタ１００による、不特定数のＲＦタグを対象とする読取処理（一括読取処理）におけるＲＦタグとの通信の処理フローを、図１１を用いて説明する。なお、以下の説明においては、リーダライタ１００からの送信出力の大きさについては、リーダライタ本体３０に予め設定されているものとする。また、以下の説明においては、一括読取処理におけるラウンド内のスロット数は、予めリーダライタ１００にて設定されており、通信部３１２は、該設定されたスロット数の通信処理をISO18000-6 type Cに準拠して実行するものとする。さらに、以下に説明する処理フローにおいてはこの他に選択読取処理や選択書込処理を行うことができるように構成されているが、これらの処理は例えば公知のものとすることにより実現することができるため、説明を省略する。また、もちろん、選択読取処理等を備えない構成とすることも可能である。
【００６９】
まず、Ａｃｔ１０１において、制御部３１は、実行する処理が一括読取、選択読取、または選択書込みのいずれであるかを示す処理指定情報を、使用者からの入力に基づき、取得する。具体的には、制御部３１は、図１３に示すような処理指定画面を構成し、表示部３７に表示させる。使用者は、表示部３７に表示された処理指定画面に基づき、所望する処理を入力部３５を介して指定する。制御部３１は、当該入力部３５を介した使用者からの指定により、処理指定情報を取得する。当該説明においては、該画面を通じて、制御部３１は、一括読取を指定している処理指定情報を取得する。
【００７０】
次に、Ａｃｔ１０２において、制御部３１は、記憶部３１１に記憶されている一括読取の場合の電波の出力情報に基づき、無線部３３に対し送信出力の設定を実行する。そして、制御部３１は、送信出力の設定が完了したことを、該制御部３１内の通信部３１２に通知する。
【００７１】
次に、Ａｃｔ１０３において、通信部３１２は、無線部３３を制御してアンテナ装置９０から一括読取に係る電波を放射させて一括読取を実施し、ＲＦタグにて保持されている情報（識別ＩＤ）の取得処理を実行する。そして、通信部３１２は、当該通信処理の実行に応じてスロット数情報取得部３２２が記憶部３１１から取得するスロット数情報と、１ラウンドの通信処理の終了に応じて通信発生数カウント部３２４により生成される通信発生数情報と、１ラウンドの通信処理の終了に応じて通信成功カウント部３２６により生成される通信成功数情報を、通信発生率算出部３１３および通信成功率算出部３１４に送出する（Ａｃｔ104、スロット数等情報の送出）。具体的には、通信発生率算出部３１３にスロット数情報と通信発生数情報を送出し、通信成功率算出部３１４に通信成功数情報および通信発生数情報を送出する。
【００７２】
次に、Ａｃｔ１０５において、通信発生率算出部３１３は、スロット数情報と通信発生数情報とを取得するとき、スロット数情報と通信発生数情報とから、通信発生率を算出する。次に、通信発生率算出部３１３は、算出した通信発生率を通信安定性判定部３１５に送出する。
【００７３】
次に、Ａｃｔ１０６において、通信成功率算出部３１４は、通信発生数情報と通信成功数情報とを取得するとき、通信発生数情報と、通信成功数情報とから、通信成功率を算出する。次に、通信成功率算出部３１４は、算出した通信成功率を通信安定性判定部３１５に送出する。なお、Ａｃｔ106とＡｃｔ105が行われる順序は特に限定されず、例えば先にＡｃｔ106が実行されてもよい。
【００７４】
Ａｃｔ１０７において、通信発生率と通信成功率とを取得するとき、通信安定性判定部３１５は、通信状態の判定を実行する。そして、通信安定性判定部３１５は、判定結果を記憶部３１１に記憶させるとともに、通信状態の判定をしたことを、制御部３１に通知する。制御部３１は、該通知に基づき、図８に示す通信状態の判定結果に関連付けされた通知内容を、表示部３７に表示させる（Ａｃｔ１０８）。また、第１の実施形態において、通信安定性判定部３１５は、通信状態の判定をしたことを、位置判定部３１６にも通知する（Ａｃｔ３０１へ）。
【００７５】
次に、第１の実施形態における、通信安定性判定部３１５による通信状態の判定の処理フローについて、図１３を用いて詳細に説明する。
【００７６】
まず、Ａｃｔ２０１において、通信安定性判定部３１５は、取得した通信発生率が０であるかを判定する。通信発生率が０である場合、通信安定性判定部３１５は、通信成功率を用いた通信状態についての判定処理は実行せず、通信状態を図８に示す判定結果１と認定する（Ａｃｔ２１１）。そして、通信安定性判定部３１５は、該判定結果１を、図９に示すように、ラウンド、通信成功率、および通信発生率と関連付けて記憶部３１１に記憶させる。
【００７７】
一方、通信発生率が０より大きい場合、Ａｃｔ２０２において、通信安定性判定部３１５は、記憶部３１１から通信成功率基準情報を取得し、該通信成功率基準情報と取得した通信成功率との比較を実行する。取得した通信成功率が通信成功率基準よりも小さい場合、通信安定性判定部３１５は、通信状態を図８に示す判定結果２として判定する（Ａｃｔ２０３）。そして、通信安定性判定部３１５は、該判定結果２を、図９に示すようにラウンドと関連付けて記憶部３１１に記憶させる。一方、取得した通信成功率が通信成功率基準以上である場合、通信安定性判定部３１５は、通信状態を図８に示す判定結果３として判定する（Ａｃｔ２０４）。そして、通信安定性判定部３１５は、該判定結果３を、図９に示すようにラウンドと関連付けて記憶部３１１に記憶させる。
【００７８】
次に、位置判定処理、および該位置判定処理に基づく識別IDのグループ化処理についての処理フローを図１４を用いて説明する。
【００７９】
まず、Ａｃｔ30１において、位置判定部３１６は、通信状態の判定が行われたことの通知を取得するとき、通信状態についての判定結果を記憶部３１１から取得し、通信安定性判定部３１５における判定結果が連続するラウンド間で異なるか否かを判定する。判定結果が連続するラウンド間で同一であるとき、位置判定部３１６は、リーダライタ１００に備わるアンテナの位置は移動していないと認定し、そのまま処理を終了する（Ａｃｔ３１１）。一方、通信安定性判定部３１５における判定結果が連続するラウンド間で異なると判定される場合、位置判定部３１６は、リーダライタ１００に備わるアンテナの位置が移動したものと認定する（Ａｃｔ３０２）。次いで、位置判定部３１６は、アンテナの位置が移動したとの判定をしたことを、グループ化部３１７に通知する。
【００８０】
次に、Ａｃｔ３０３において、グループ化部３１７は、位置判定部３１６からのアンテナの位置が移動したとの認定をしたことの通知を取得するとき、当該位置が移動したとの認定前に取得され、互いに関連付けされていない状態（グループ化されていない状態）で記憶部３１１に記憶されている識別IDを、記憶部３１１にグループ化して記憶させる。
【００８１】
以上、第１の実施形態によれば、使用者は、算出される通信成功率により、リーダライタ１００の通信状態をより正確に把握することが可能となる。さらに具体的には、識別ＩＤ等のタグ情報の取得ができない場合に、それが衝突によるものであるのか、または他の要因に起因するのかを判別することができる。また、当該通信成功率を表示部３７等を介してユーザに通知すれば、ユーザは、通信状態をリアルタイムで認知することが可能となる。
【００８２】
（第２の実施形態）
次に、第２の実施形態について説明する。第１の実施形態と共通する部分は同じ符号を付して説明を省略する。
【００８３】
図１５は、第2の実施形態の無線部３３の構成を示すブロック図である。第2の実施形態において、無線部３３は、第１の実施形態において説明した構成に加えて、ＲＦタグからの受信信号レベル（受信信号の大きさ）を検出する機能を持つ受信信号レベル検出部を備える。受信信号レベル検出部は、I信号とQ信号の振幅の大きい方の振幅を検出して出力するように構成することができる。或いは、I信号とQ信号は直交しているので、ベクトル合成した振幅（＝√(I2＋Q2)、IとQはそれぞれ、I信号の振幅、Q信号の振幅）を検出して出力してもよい。
【００８４】
また、図１６は、第２の実施形態の制御部の構成を示すブロック図である。第２の実施形態において、制御部３１は、第１の実施形態において説明した構成に加えて、応答発生率算出部３２１を備える。また、無線部３１２は、受信信号レベル情報取得部３２３と、信号レベル判定部３２５と、応答発生数カウント部３２７とを備える。
【００８５】
受信信号レベル情報取得部３２３は、ＲＦタグから送出される受信信号の大きさに関する情報である受信信号レベル情報を、無線部の受信信号レベル検出部から取得する。
【００８６】
信号レベル判定部３２５は、記憶部３１１に記憶される受信信号レベルの基準である信号レベル基準情報を取得し、ＲＦタグから送出される受信信号レベルが基準よりも大きい否かを信号レベル基準情報と受信信号レベル情報取得部３２３が取得した受信信号レベル情報との比較に基づきタイムスロットごとに判定する。図１７は、第２の実施形態における、信号レベル基準情報の例示図である。そして、電波の受信信号レベルが基準よりも大きいと判定するタイムスロットについては、信号レベル判定部３２５は、通信部３１２により無線部３３を介して送信される応答要求コマンド（ＱｕｅｒｙまたはＱｕｅｒｙ−Ｒｅｐ）の取得に応じて、ＲＦタグからレスポンスの返信があったと認定する。
【００８７】
応答発生数カウント部３２７は、信号レベル判定部３２５にて電波の受信信号レベルが基準よりも大きいと判定されるラウンド内のスロットの数をカウントし、当該受信信号レベルが基準よりも大きいと判定されるスロット数ｎRN16の情報（応答発生数情報）を生成する。
【００８８】
応答発生率算出部３２１は、信号レベル判定部３２５にて生成される応答発生数情報と、ラウンド内におけるタイムスロットの数ｎSL0（＝2Ｑ）を示すスロット数情報とを通信部３１２から取得し、ＲＦタグからのレスポンスの送信があったタイムスロットの割合を示す応答発生率ａRN16＝ｎRN16／ｎSL0を算出する。次に、応答発生率算出部３２１は、算出される応答発生率を、通信安定性判定部３１５に送出する。
【００８９】
より具体的に説明すると、図１８は第２の実施形態におけるＲＦタグとの通信を例示するタイミングチャートである。ラウンド１において、応答発生率はａRN16＝ｎRN16／ｎSL0＝3/4＝0.75である。応答発生率の基準を0.1とすると、図６と動作は全く同じである。ISO18000-6typeCの場合、上述のように、各ＲＦタグが乱数を発生して応答するスロットを決める。確率的には、全てのタグが衝突する可能性もある。応答発生率算出部を用いた場合には、このような場合でも、状態判定部は、応答するタグがあると判定することが可能となる。
【００９０】
通信安定性判定部３１５は、応答発生率算出部３２１において算出される応答発生率が０である場合、当該応答発生率に対応するラウンドについては、通信状態の判定を非実行とする（通信状態についての判定を行うことなく判定結果１とみなす）。一方、通信安定性判定部３１５は、通信発生率算出部３１３において算出される通信発生率が０よりも大きいラウンドについて、第１の実施形態と同様に、通信状態についての判定処理を実行する。第２の実施形態における、通信成功率基準情報を図１９に例示する。また、通信安定性判定部３１５は、図２０に示すように、判定結果を、通信成功率、通信発生率、および応答発生率とともに記憶部３１１に記憶させる。
【００９１】
ISO18000-6typeCの場合、上述のように、各ＲＦタグが乱数を発生して応答するスロットを決める。そのため、あるスロットにおいて全てのタグが衝突する可能性もあり、その結果、特にスロット数を小さく設定した場合などには、そのラウンドにおいて識別ＩＤを取得できないこともある。第２の実施形態によれば、応答発生率算出部３２１にてレスポンスが返信されたスロットの率である応答発生率を算出し、通信安定性判定部３１５にて該応答発生率を用いた通信状態の判定を行う。
【００９２】
そのため、仮に通信成功率が低い場合を想定すると、使用者は、通信成功率が低いのは信号の衝突が生じているためであると認識することができる。よって、ＲＦタグの読み落としをさらに少なくすることができる。
【００９３】
次に、第２の実施形態のリーダライタ１００による、不特定数のＲＦタグを対象とする読取処理（一括読取処理）におけるＲＦタグとの通信の処理フローを、図２１を用いて説明する。なお、Ａｃｔ４０１〜Ａｃｔ４０３については、第１の実施形態のＡｃｔ１０１〜Ａｃｔ１０３と共通するため、説明を省略する。
【００９４】
Ａｃｔ４０４において、通信部３１２は、当該通信処理にて取得された識別ＩＤを記憶部３１１に記憶させるほか、各ラウンドの識別ＩＤの取得に成功したスロット数ｎＩＤ、各ラウンドのACKコマンドを送出したスロット数ｎACK0、１のラウンドのスロット数ｎSL0についての情報、および応答発生カウント部３２７にて生成された応答発生スロット数ｎＲＮ１６についての情報を、通信発生率算出部３１３、通信成功率算出部３１４および応答発生率算出部３２１に送出する（スロット数等情報の送出）。
【００９５】
次に、Ａｃｔ４０５において、応答発生率算出部３２１は、取得するスロット数情報と応答発生数情報とに基づき、応答発生率（ａRN16＝ｎRN16／ｎSL0）を算出する。次に、応答発生率算出部３２１は、算出した応答発生率を通信安定性判定部３１５に送出する。
【００９６】
次に、Ａｃｔ４０６において、通信発生率算出部３１３は、取得するスロット数情報と通信発生数情報とに基づき、通信発生率(aACK=nACK0/ｎSL0)を算出する。次に、通信発生率算出部３１３は、算出した通信発生率を通信安定性判定部３１５に送出する。
【００９７】
次に、Ａｃｔ４０７において、通信成功率算出部３１４は、取得する通信発生数情報と通信成功数情報とに基づき、通信成功率(aID=nID/nACK0)を算出する。次に、通信成功率算出部３１４は、算出した通信成功率を通信安定性判定部３１５に送出する。なお、第１の実施形態と同様に、Ａｃｔ４０５〜Ａｃｔ４０７が行われる順序は特に限定されない。
【００９８】
Ａｃｔ４０８において、応答発生率、通信発生率、および通信成功率の取得に基づき、通信安定性判定部３１５は、通信状態の判定処理を実行する。そして、通信安定性判定部３１５は、判定結果を記憶部３１１に記憶させるとともに、通信状態の判定をしたことを、制御部３１に通知する。制御部３１は、該通知に基づき、通信状態の判定結果に関連付けされて記憶部３１１に記憶されている通知内容を、表示部３７に表示させる（Ａｃｔ４０９）。また、第２の実施形態においても、通信安定性判定部３１５は、通信状態の判定をしたことを、位置判定部３１６にも通知する（Ａｃｔ３０１へ）。
【００９９】
次に、第２の実施形態における、通信安定性判定部３１５による通信状態の判定の処理フローについて、図２２を用いて説明する。なお、Ａｃｔ５０２〜Ａｃｔ５０６およびＡｃｔ５１１については第１の実施形態のＡＣｔ２０１〜Ａｃｔ２０５およびＡｃｔ２１１と共通するため、説明を省略する。
【０１００】
まず、Ａｃｔ５０１において、通信安定性判定部３１５は、取得した応答発生率が０であるかを判定する。応答発生率が０である場合、通信安定性判定部３１５は、通信成功率を用いた通信状態についての判定処理は実行せず、通信状態を図１９に示す判定結果４と認定する（Ａｃｔ５１２）。そして、通信安定性判定部３１５は、該判定結果４を、ラウンドと関連付けて記憶部３１１に記憶させる。
【０１０１】
一方、応答発生率が０でない場合、Ａｃｔ５０２に進み、通信発生率を用いての判定を実行する。
【０１０２】
次に、通信部３１２における応答発生の判定についての処理フローを説明する（図２３）。
【０１０３】
まず、Ａｃｔ６０１において、信号レベル判定部３２５は、受信信号レベル情報取得部３２３が通信部３１２のＲＦタグとの通信に応じて無線部３３の受信レベル検出部から取得する受信信号レベルについての情報である受信信号レベル情報を、受信信号レベル情報取得部３２３の送出に応じて取得する。
【０１０４】
次にＡｃｔ６０２において、信号レベル判定部３２５は、受信信号レベル情報の取得に応じて、記憶部３１１から信号レベル基準情報を取得するとともに、スロット数情報取得部３２２から、スロット数情報を取得する。
【０１０５】
続いて、Ａｃｔ６０３において、信号レベル判定部３２５は、取得した受信信号レベル情報と信号レベル基準情報との比較に基づき、受信信号レベルが基準以上であるか否かの判定を実行する。
【０１０６】
受信信号レベルが基準値以上である場合、Ａｃｔ６０４において、信号レベル判定部３２５は、当該スロットにおいてＲＦタグからの返信が発生していると認定する。次に、Ａｃｔ６０５において、信号レベル判定部３２５は、ＲＦタグからの返信が発生していると認定したことを、応答発生数カウント部３２７に通知する（Ａｃｔ６０５）。
【０１０７】
一方、Ａｃｔ６０３において受信信号レベルが基準よりも小さいと判定される場合、信号レベル判定部３２５は、当該スロットにおいてＲＦタグからの返信が発生していると認定する（Ａｃｔ６０６）。
【０１０８】
次に、Ａｃ６０７において、信号レベル判定部３２５は、受信信号レベルの判定を行ったスロットが、ラウンド内の最後のスロットであるか否かを判定する。最後のスロットではない場合、信号レベル判定部３２５は、Ａｃｔ６０３に戻り、処理を続行する。
【０１０９】
一方、受信信号レベルの判定を行ったスロットがラウンド内の最後のスロットである場合、信号レベル判定部３２５は、最後のスロットであることを応答発生数カウント部３２７に通知する（Ａｃｔ６０８）。当該通知に基づき、応答発生数カウント部３２７は、Ａｃｔ６０５にて示した通知を用いて応答発生数情報を生成する。
【０１１０】
以上、第２の実施形態によれば、ＲＦタグの衝突が多発しても、通信安定性発生部は、通信範囲内に応答するＲＦタグがあると判定することが可能となる。よって、ＲＦタグの読み落としをさらに少なくすることができる。
【０１１１】
以上、本発明の第１および第２の実施形態について説明したが、本発明はこれに限定されるものではなく、他の実施形態とすることも、もちろん可能である。
【０１１２】
例えば、第１および第２の実施形態においては、算出期間を１ラウンドとして説明したが、複数のラウンドにより構成することも、もちろん可能である。
【０１１３】
また、第１および第２の実施形態において、送信出力を制御するための出力情報、ラウンド数情報などの通信安定性の判定に関する設定情報、通信成功率基準情報や信号レベル基準情報は、リーダライタ本体３０内のＲＯＭやＲＡＭ等により構成される記憶部３１１に記憶されている。しかしながら、これに限定されず、外部機器の記憶部に記憶され、必要に応じてインターフェース部３９を介して制御部３１が取得するようにしてもよい。
【０１１４】
また、第１の実施形態において、通信部３１２は、通信成功数ｎＩＤに加えて、通信失敗数ｎIDERR＝ｎACK−ｎIDを算出する通信失敗数カウント部を設けるようにしてもよい。さらに、制御部３１は、該通信失敗数カウント部にて算出される通信失敗数を表示部３７に表示させるようにしてもよい。さらに制御部３１は、算出期間中の通信エラー率（ｎACK−ｎID）／ｎACKを算出する通信失敗率算出部を備えるようにしてもよく、さらに算出された該通信エラー率を表示部３７に表示させるようにしてもよい。
【０１１５】
また、第１および第２の実施形態においては、ＲＦタグとの通信処理において、ラウンドの最初のスロットにおいてQueryコマンドを送信する構成としている。当該構成とすることにより、あるラウンドの先頭のQueryコマンドを正しく受信できなかったＲＦタグも、次のラウンドの先頭でQueryコマンドを正しく受信できれば、通信に参加することが可能となる。
【０１１６】
一方、通信安定性判定部において通信状態が良好と判定される場合、通信状態が良好と判定された算出期間（例えば１ラウンド）と連続する算出期間においては、応答要求コマンドとして、Query adjustコマンドを送信するようにしてもよい。Queryコマンドは上述のように、1ラウンド当たりのスロット数を直接的に指定するパラメータQを含むのに対し、Query-adjustコマンドは、前のラウンドのスロット数の乗数Qに対して、同じか、±1かを示す相対的なパラメータを含んでおり、Queryコマンドよりもデータ量が小さい。よって、Query-adjustコマンドを送信することにより、短時間で効率的に通信を行うことができる。
【０１１７】
また、第１の実施形態においては、通信発生率および通信成功率を算出し、これらに基づいて通信状態の判定を行っている。しかしながらこれに限定されず、通信成功率によって通信状態の判定を行う構成としてもよい。この場合、通信成功率基準情報は、例えば図２４のように構成することができる。
【０１１８】
また、第２の実施形態において、応答発生率の値に応じて、通信発生率および／または通信成功率の算出が行われるようにしてもよい。例えば、応答発生率が０である場合、通信発生率および通信成功率のうち少なくともいずれかの算出を非実行としてもよい。
【０１１９】
また、第１および第２の実施形態においてさらにタグ情報を受信できなかったスロット数を算出するようにしてもよい。
【０１２０】
また、第１または第２の実施形態において示した構成に加えて、制御部３１に衝突発生率算出部を備えるようにしてもよい。衝突発生率算出部は、算出期間（例えば１ラウンド）の衝突発生が発生したスロット数をnCOL=nRN16-nACK0（ｎRN16はRN16を正しく受信した場合と衝突などで正しく受信できなかった場合を含めた応答が発生したスロット数、ｎACK0はRN16を正しく受信したスロット数）として算出し、算出期間当たりの衝突が発生したスロット率である衝突発生率をａCOL＝ｎCOL／ｎSL0により算出する。通信安定性判定部３１５は、衝突発生率の基準（記憶部１１等の所定の記憶領域から取得）と比較して、ａCOLが大きいと判定する場合、制御部３１は1ラウンド当たりのスロット数を大きくするようにしてもよい。これにより、衝突が生じるスロット率を低減することができ、短時間で効率的にＲＦタグと通信することができる。
【０１２１】
さらに、制御部３１が無応答率算出部をさらに備えるようにしてもよい。算出期間（例えば１ラウンド）の応答が発生していないスロット数をｎNA＝ｎSL0−ｎRN16（ｎSL0は1ラウンドのスロット数で２Q、ｎRN16はRN16を正しく受信した場合と衝突などで正しく受信できなかった場合を含めたＲＦタグからの応答が発生したスロット数）として算出し、算出期間当たりの応答が発生していないスロットの率である無応答率を  ａNA＝ｎNA／ｎSL0により算出する。通信安定性判定部３１５が記憶部３１１等の所定の記憶領域に記憶される無応答率の基準を示す情報を取得し、当該無応答率の基準と比較してａNAが大きいと判定される場合、制御部３１は、1ラウンド当たりのスロット数を小さくするようにしてもよい。これにより、無応答のスロットを低減し、短時間で効率的にＲＦタグと通信することができる。
【０１２２】
さらにまた、ＲＦタグリーダライタを構成するコンピュータにおいて上述した各動作を実行させるプログラムを、タグ情報取得プログラムとして提供することができる。第１〜第２の実施の形態では、発明を実施する機能を実現するための当該プログラムが、リーダライタの装置内部に設けられた記憶部３１１に予め記録されている場合を例示したが、これに限らず同様のプログラムをネットワークから装置にダウンロードしても良いし、同様のプログラムをコンピュータ読取可能な記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。具体的に、記録媒体としては、例えば、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、回線上の伝送媒体などが挙げられる。またこのように予めインストールやダウンロードにより得る機能は装置内部のＯＳ（オペレーティング・システム）等と共働してその機能を実現させるものであってもよい。
【０１２３】
なお、本実施の形態におけるプログラムには、実行モジュールが動的に生成されるプログラムを含むものとする。
【０１２４】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。さらに、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、すべて本発明の範囲内のものである。
【符号の説明】
【０１２５】
３０  リーダライタ本体、３１  制御部、３３  無線部、  ３５  入力部、３７  表示部、３９  インターフェース部、３１１  記憶部、３１２  通信部、３１３  通信発生率算出部、３１４  通信成功率算出部、３１５  通信安定性判定部、３１６  位置判定部、３１７  グループ化部、３２１  応答率算出部、９０  アンテナ装置、１００  ＲＦタグリーダライタ
【先行技術文献】
【特許文献】
【０１２６】
【特許文献１】特開２００９−８８７７９号公報
【特許文献２】特開２００９−８７０４９号公報
【図１】
2011166619.tif 000003
【図２】
2011166619.tif 000004
【図３】
2011166619.tif 000005
【図４】
2011166619.tif 000006
【図５】
2011166619.tif 000007
【図６】
2011166619.tif 000008
【図７】
2011166619.tif 000009
【図８】
2011166619.tif 000010
【図９】
2011166619.tif 000011
【図１０】
2011166619.tif 000012
【図１１】
2011166619.tif 000013
【図１２】
2011166619.tif 000014
【図１３】
2011166619.tif 000015
【図１４】
2011166619.tif 000016
【図１５】
2011166619.tif 000017
【図１６】
2011166619.tif 000018
【図１７】
2011166619.tif 000019
【図１８】
2011166619.tif 000020
【図１９】
2011166619.tif 000021
【図２０】
2011166619.tif 000022
【図２１】
2011166619.tif 000023
【図２２】
2011166619.tif 000024
【図２３】
2011166619.tif 000025
【図２４】
2011166619.tif 000026