(57)【特許請求の範囲】
【請求項１】
情報を記憶するＩＣ回路部及びこのＩＣ回路部に接続されたタグ側アンテナを備えた複数の無線タグ回路素子と情報送受信を行う無線タグ通信システムの質問器であって、
搬送波を発生させる搬送波発生手段と、
この搬送波発生手段により発生された搬送波を変調し、前記ＩＣ回路部の前記情報を不確定な条件下で探索しつつ取得するための探索指令を生成する指令生成手段と、
この指令生成手段で生成した探索指令を前記無線タグ回路素子に送信可能な送信手段と、
前記指令生成手段で生成され前記送信手段から送信された前記探索指令に応じて前記複数の無線タグ回路素子から複数の識別スロットに区分して返信された応答信号を、複数の識別スロットに区分して受信可能な受信手段と、
この受信手段の前記識別スロットの数を、前記搬送波発生手段で発生させる前記搬送波の周波数に基づいて設定するスロット数設定手段と
を有することを特徴とする無線タグ通信システムの質問器。
【請求項２】
請求項１記載の無線タグ通信システムの質問器において、
前記搬送波発生手段で発生させる前記搬送波の周波数を所定の周期でホッピングさせるホッピング制御手段を有し、
前記スロット数設定手段は、前記ホッピング制御手段でホッピングされる前記搬送波の周波数に応じて、前記識別スロットの数を設定する
ことを特徴とする無線タグ通信システムの質問器。
【請求項３】
請求項２記載の無線タグ通信システムの質問器において、
前記無線タグ回路素子から送信された応答信号に基づき、当該無線タグ回路素子の識別情報を取得する識別情報取得手段と、
この識別情報取得手段により前記識別情報を取得した無線タグ回路素子を休眠化処理する休眠化処理手段と、
前記ホッピング制御手段でホッピングされるすべての前記周波数に関し、前記識別情報取得手段による識別情報の取得及び前記休眠化処理手段による休眠化処理を繰り返すことを特徴とする無線タグ通信システムの質問器。
【請求項４】
請求項３記載の無線タグ通信システムの質問器において、
前記スロット数設定手段は、
前記ホッピング制御手段のホッピング開始時の最初の周波数に関わる前記識別スロットの数を、それ以外の周波数に係わる前記識別スロットの数よりも多くなうように設定することを特徴とする無線タグ通信システムの質問器。
【請求項５】
請求項３又は４記載の無線タグ通信システムの質問器において、
前記スロット数設定手段は、
前記ホッピング制御手段でホッピングされるすべての前記周波数に関する、前記識別情報取得手段による識別情報の取得結果を応答履歴として記憶保持する応答履歴記憶手段を備え、
この応答履歴記憶手段による過去の応答履歴に応じて、前記識別スロットの数を増減設定する
ことを特徴とする無線タグ通信システムの質問器。
【請求項６】
請求項３又は４記載の無線タグ通信システムの質問器において、
前記スロット数設定手段は、
前記受信手段での受信の際、前記識別スロットにおける前記応答信号の衝突を検出する衝突検出手段を備えることを特徴とする無線タグ通信システムの質問器。
【請求項７】
請求項６記載の無線タグ通信システムの質問器において、
前記スロット数設定手段は、
前記衝突検出手段の検出結果に基づき、前記複数の識別スロットのうち前記衝突が生じた前記識別スロットの数が所定割合以上であるかどうかを判定する衝突頻度判定手段と、
前記衝突頻度判定手段の判定が満たされた場合、当該周波数における前記識別スロットの数を増加させる増加設定手段と
を備えることを特徴とする無線タグ通信システムの質問器。
【請求項８】
請求項６又は７記載の無線タグ通信システムの質問器において、
前記スロット数設定手段は、
前記衝突検出手段による衝突検出結果を衝突履歴として記憶保持する衝突履歴記憶手段を備え、
この衝突履歴記憶手段による過去の衝突履歴に応じて、前記識別スロットの数を増減設定する
ことを特徴とする無線タグ通信システムの質問器。
【請求項９】
請求項８記載の無線タグ通信システムの質問器において、
前記スロット数設定手段は、
前記衝突履歴記憶手段で記憶した過去の衝突履歴と所定のしきい値との比較に基づき、前記識別スロットの数を最小化する第１最小化処理手段を備えることを特徴とする無線タグ通信システムの質問器。
【請求項１０】
請求項７記載の無線タグ通信システムの質問器において、
前記スロット数設定手段は、
前記増加設定手段による識別スロット数の増加後における前記衝突頻度判定手段による判定結果に応じて、妨害波があるかどうかを判定する妨害波判定手段を備えることを特徴とする無線タグ通信システムの質問器。
【請求項１１】
請求項１０記載の無線タグ通信システムの質問器において、
前記スロット数設定手段は、
前記妨害波判定手段の判定が満たされた場合、前記識別スロットの数をこれに対応して変化させる妨害波対応処理手段を備えることを特徴とする無線タグ通信システムの質問器。
【請求項１２】
請求項１１記載の無線タグ通信システムの質問器において、
前記妨害波対応処理手段は、
前記識別スロットの数を最小化する第２最小化処理手段を備えることを特徴とする無線タグ通信システムの質問器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部と情報の無線通信が可能な無線タグに対し情報の読み取り又は書き込みを行う無線タグ通信システムの質問器に関する。
【背景技術】
【０００２】
小型の無線タグに対し、リーダ／ライタより非接触で問い合わせの送信及び返答の受信を行うことで、無線タグの情報の読み取り／書き込みを行うＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）システムが知られている。
【０００３】
例えばラベル状の無線タグに備えられた無線タグ回路素子は、所定の無線タグ情報を記憶するＩＣ回路部とこのＩＣ回路部に接続されて情報の送受信を行うアンテナとを備えている。質問器としてのリーダ／ライタの送信アンテナより応答器としての無線タグに対し送信波の送信を行うと、無線タグ回路素子はその送信波の電波のもつエネルギを利用して返答の送信を行う。このような通信を行う質問器において、複数の無線タグ回路素子に対し円滑に通信を行うための従来技術として、例えば特許文献１記載のものがある。
【０００４】
この従来技術では、通信範囲にある複数の無線タグ回路素子に応答を促す際、複数個に分割された受信用の時間区分（識別スロット）を予め用意しておき、複数の無線タグ回路素子それぞれからの応答信号を、所定の関連づけに応じて（例えばタグ識別情報に対応した）該当する識別スロットへと時間的に分離しつつ収納し検出することで、各無線タグ回路素子からの応答信号の衝突発生を抑制又は防止するようになっている。
【０００５】
【特許文献１】特開２０００−１１３１２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記従来技術においては、予め用意する識別スロットの数を、読み取りを行おうとする無線タグ回路素子の数よりも常に多くすることで、同一識別スロットで応答する無線回路素子が複数となり衝突が発生するのを防止するようにしている。しかしながら、スロット数に比較して通信対象となる無線タグ回路素子の数が少なすぎる場合には、使用されない空きスロット数が多くなり、無駄に通信時間が長くなる。この結果、効率のよい通信を行うことができなかった。また通信対象となる無線回路素子の数が変化する場合には識別スロットの数を無線回路素子の最大数にもとづいて設定するため、無線回路素子の数が少ない場合には空きスロットが多くなり、無駄に通信時間が長くなってしまうという問題点があった。
【０００７】
本発明の目的は、無駄な通信時間の発生を防止し、効率のよい通信を行える無線タグ通信システムの質問器を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、第１の発明は、情報を記憶するＩＣ回路部及びこのＩＣ回路部に接続されたタグ側アンテナを備えた複数の無線タグ回路素子と情報送受信を行う無線タグ通信システムの質問器であって、搬送波を発生させる搬送波発生手段と、この搬送波発生手段により発生された搬送波を変調し、前記ＩＣ回路部の前記情報を不確定な条件下で探索しつつ取得するための探索指令を生成する指令生成手段と、この指令生成手段で生成した探索指令を前記無線タグ回路素子に送信可能な送信手段と、前記指令生成手段で生成され前記送信手段から送信された前記探索指令に応じて前記複数の無線タグ回路素子から複数の識別スロットに区分して返信された応答信号を、複数の識別スロットに区分して受信可能な受信手段と、この受信手段の前記識別スロットの数を、前記搬送波発生手段で発生させる前記搬送波の周波数に基づいて設定するスロット数設定手段とを有することを特徴とする。
【０００９】
本願第１発明においては、搬送波発生手段の搬送波を変調することで指令生成手段により生成された探索指令が、送信手段よりタグ媒体に備えられた複数の無線タグ回路素子に送信され、これに対応した複数の無線タグ回路素子からの応答信号が受信手段で受信される。このとき、複数の識別スロットが備えられ、受信手段は複数の無線タグ回路素子からの応答信号を（例えば時間差をもって）複数の識別スロットに区分して受信する。
【００１０】
ここで、一般に、このような質問器を用いて複数の無線タグ回路素子の探索を行う場合、搬送波の周波数によって質問器からの通信範囲に存在する無線タグ回路素子からの応答信号の数が異なる場合がある。そこで本願第１発明においては、スロット数設定手段により、上記識別スロットの数を搬送波の周波数に応じて設定する。これにより、応答する無線タグ回路素子の数が多くなるような周波数である場合には識別スロット数を多くする一方、応答する無線タグ回路素子の数が少なくなるような周波数である場合には識別スロット数を少なくすることが可能となる。したがって、本来必要な数以上に識別スロット数が多く無駄に通信時間が長くなることを防止し、なるべく通信時間を短くして効率のよい通信を行うことができる。
【００１１】
第２の発明は、上記第１発明において、前記搬送波発生手段で発生させる前記搬送波の周波数を所定の周期でホッピングさせるホッピング制御手段を有し、前記スロット数設定手段は、前記ホッピング制御手段でホッピングされる前記搬送波の周波数に応じて、前記識別スロットの数を設定することを特徴とする。
【００１２】
ホッピング制御手段で搬送波の周波数をホッピングさせていくとき、各無線タグ回路素子の周波数応答特性によって遠距離では応答できないものが発生したり、当該周波数近傍の妨害波が存在する等によって、応答可能な無線タグ回路素子の数が変動する場合がある。本願第２発明においては、スロット数設定手段により、上記識別スロットの数をホッピングされる搬送波の周波数に応じて設定することにより、応答する無線タグ回路素子の数が多くなるような周波数にホッピングされた場合には識別スロット数を多くする一方、応答する無線タグ回路素子の数が少なくなるような周波数にホッピングされた場合には識別スロット数を少なくすることができる。
【００１３】
第３の発明は、上記第２発明において、前記無線タグ回路素子から送信された応答信号に基づき、当該無線タグ回路素子の識別情報を取得する識別情報取得手段と、この識別情報取得手段により前記識別情報を取得した無線タグ回路素子を休眠化処理する休眠化処理手段と、前記ホッピング制御手段でホッピングされるすべての前記周波数に関し、前記識別情報取得手段による識別情報の取得及び前記休眠化処理手段による休眠化処理を繰り返すことを特徴とする。
【００１４】
ホッピング制御手段でホッピングされる周波数ごとに、識別情報取得手段で識別情報が取得できた無線タグ回路素子をその都度休眠化処理手段で休眠化させ、これを応答信号がなくなるまで繰り返すことにより、通信可能なすべての無線タグ回路素子からの識別情報の読み取りを完了させることができる。
【００１５】
第４の発明は、上記第３発明において、前記スロット数設定手段は、前記ホッピング制御手段のホッピング開始時の最初の周波数に関わる前記識別スロットの数を、それ以外の周波数に係わる前記識別スロットの数よりも多くなうように設定することを特徴とする。
【００１６】
識別情報取得手段で識別情報が取得された無線タグ回路素子は順次休眠化処理手段で休眠化され、これによって応答可能な無線タグ回路素子が減少していくので、これに対応してホッピング開始時のスロット数を最も多くしその後はスロット数を減少させる。これにより、必要な数以上に識別スロット数が多く無駄に通信時間が長くなることを確実に防止し、通信時間を短くして効率のよい通信を行うことができる。
【００１７】
第５の発明は、上記第３又は第４発明において、前記スロット数設定手段は、前記ホッピング制御手段でホッピングされるすべての前記周波数に関する、前記識別情報取得手段による識別情報の取得結果を応答履歴として記憶保持する応答履歴記憶手段を備え、この応答履歴記憶手段による過去の応答履歴に応じて、前記識別スロットの数を増減設定することを特徴とする。
【００１８】
予め過去の応答信号受信挙動を履歴として応答履歴記憶手段に蓄積しておき、これをその後の情報送受信時に活用してスロット数設定手段でスロット数増減設定を行うことにより、履歴を用いずスロット数設定を行う場合に比べ、短時間で効率よく適正な識別スロット数に設定することができる。
【００１９】
第６の発明は、上記第３又は第４発明において、前記スロット数設定手段は、前記受信手段での受信の際、前記識別スロットにおける前記応答信号の衝突を検出する衝突検出手段を備えることを特徴とする。
【００２０】
これにより、識別スロットにおける衝突発生の有無やその頻度等により、衝突が多めに生じている周波数では識別スロット数を多くする一方、衝突がないか少なめの周波数では識別スロット数を少なくすることが可能となる。この結果、本来必要な数以上に識別スロット数が多く無駄に通信時間が長くなることを確実に防止し、通信時間を短くして効率のよい通信を行うことができる。
【００２１】
第７の発明は、上記第６発明において、前記スロット数設定手段は、前記衝突検出手段の検出結果に基づき、前記複数の識別スロットのうち前記衝突が生じた前記識別スロットの数が所定割合以上であるかどうかを判定する衝突頻度判定手段と、前記衝突頻度判定手段の判定が満たされた場合、当該周波数における前記識別スロットの数を増加させる増加設定手段とを備えることを特徴とする。
【００２２】
衝突が多めに生じた周波数においては、衝突頻度判定手段の判定が満たされることで増加設定手段が識別スロット数を増加させることにより、衝突の発生を回避し、信頼性の高い確実な情報送受信を図ることができる。
【００２３】
第８の発明は、上記第６又は第７発明において、前記スロット数設定手段は、前記衝突検出手段による衝突検出結果を衝突履歴として記憶保持する衝突履歴記憶手段を備え、この衝突履歴記憶手段による過去の衝突履歴に応じて、前記識別スロットの数を増減設定することを特徴とする。
【００２４】
予め過去の衝突挙動を履歴として衝突履歴記憶手段に蓄積しておき、これをその後の情報送受信時に活用してスロット数設定手段でスロット数増減設定を行うことにより、履歴を用いずスロット数設定を行う場合に比べ、短時間で効率よく適正な識別スロット数に設定することができる。
【００２５】
第９の発明は、上記第８発明において、前記スロット数設定手段は、前記衝突履歴記憶手段で記憶した過去の衝突履歴と所定のしきい値との比較に基づき、前記識別スロットの数を最小化する第１最小化処理手段を備えることを特徴とする。
【００２６】
過去の衝突回数が大きな値である場合には、当該周波数において妨害波が存在するとみなし、第１最小化処理手段でスロット数を最小化することにより、妨害波環境下で無駄に応答信号を取得しようとする時間の浪費を回避することができる。
【００２７】
第１０の発明は、上記第７発明において、前記スロット数設定手段は、前記増加設定手段による識別スロット数の増加後における前記衝突頻度判定手段による判定結果に応じて、妨害波があるかどうかを判定する妨害波判定手段を備えることを特徴とする。
【００２８】
これにより、衝突頻度判定手段の判定が満たされ、増加設定手段で識別スロット数を増加させてもなお衝突頻度判定手段の判定が満たされた場合には、妨害波判定手段で、当該周波数において妨害波が存在するとみなすことが可能となる。
【００２９】
第１１の発明は、上記第１０発明において、前記スロット数設定手段は、前記妨害波判定手段の判定が満たされた場合、前記識別スロットの数をこれに対応して変化させる妨害波対応処理手段を備えることを特徴とする。
【００３０】
これにより、妨害波判定手段で妨害波があると判定された場合には、スロット数を減少させることが可能となり、この場合、妨害波環境下で無駄に応答信号を取得しようとして時間を浪費するのを回避することができる。
【００３１】
第１２の発明は、上記第１１発明において、前記妨害波対応処理手段は、前記識別スロットの数を最小化する第２最小化処理手段を備えることを特徴とする。
【００３２】
これにより、妨害波がある場合には、第２最小化処理手段でスロット数を最小化させることで、妨害波環境下で無駄に応答信号を取得しようとして時間を浪費するのを確実に回避することができる。
【発明の効果】
【００３３】
本発明によれば、無駄な通信時間の発生を防止して、効率のよい通信を行うことができる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の一実施の形態を図面を参照しつつ説明する。
【００３５】
図１は、本実施形態の無線タグ通信システムを倉庫に適用した場合の一例を表す平面図である。この例では、倉庫３００内での監視対象として、予めその倉庫３００内の所定の物品棚３０１に配置された多数の管理対象の物品３０２が設定されおり、各管理対象物品３０２には個々の物品に対応した無線タグＴが添付（あるいは同梱等でもよい）されている。
【００３６】
そして、リーダ（質問器）１により、上記無線タグＴを探索し読み取ることで、その無線タグＴに対応する管理対象物品についての倉庫３００内における存在状況を検出する。この例においてリーダ１が行う探索処理は、無線タグＴが倉庫３００内に存在する数、およびそれぞれの識別情報（以下、タグＩＤという）を含む無線タグ情報を検出するようになっている。また、倉庫３００内には、コードレス電話３０３やＰＣ（パーソナルコンピュータ）等を接続する無線ＬＡＮ装置３０４などの無線通信機器が設置されている。
【００３７】
ここで、各無線タグＴとリーダ１との間の無線通信については、一般に所定の周波数帯域中における複数の周波数チャンネルの搬送波を利用して無線通信を行うようになっており、これにより以下の３つの利点が得られる。
【００３８】
まず、各無線タグＴとリーダ１との間の無線通信では、相互の最短距離で直接波Ｗｄを送受する他に、壁際や障害物の近傍に位置する無線タグＴの場合はリーダ１との間で反射波Ｗｒも同時に送受することになるが、このような複数の経路で電波を送受するマルチパスの影響により直接波Ｗｄと反射波Ｗｒが相互に電波強度を減衰してしまう（通信経路の差によりそれぞれ逆の位相で送受される）場合がある。図２はこのようなマルチパスの影響を表す図であり、この例では、破線で示すような無線タグ回路素子Ｔoのタグアンテナ特性（通信に使用可能な周波数帯域ｆａ〜ｆｉ）において、コードレス電話３０３の通信周波帯がｆｈであり、また無線ＬＡＮ装置３０４の通信周波帯がｆｃ〜ｆｅであるため、それらの影響によって図示のように周波数ｆｃ，ｆｅ，ｆｆ，ｆｇ，ｆｉにおける無線タグ回路素子Ｔoの電波強度が小さくなっている。
【００３９】
これに対し、搬送波の周波数を変えて（すなわち各無線タグＴのそれぞれの配置に対応する複数の周波数チャンネルを用いて）無線通信を行うことで、このようなマルチパスの影響を解消又は低減することができる。
【００４０】
次に、各無線タグＴのアンテナの周波数特性に個体別のばらつきがある場合に対し、各アンテナの周波数特性に最も適する周波数チャンネル（つまり共振周波数）を用いることで確実な無線通信を行うことができ、これは特にリーダ１との通信距離が長い無線タグＴに対して有効である。
【００４１】
そして、上記の例のように他の無線通信機器が設置されている場合に、それが利用している周波数以外の周波数チャンネルで無線通信を行うことで混信・妨害を避けることができる。
【００４２】
以上の利点から、リーダ１は各無線タグＴが個別に対応する周波数チャンネル（以下、ホップ周波数という）を切り替えて無線通信を行う（以下、周波数ホッピング通信という）ようになっている（周波数ホッピング通信については後に詳述する）。なお、所定の周期で切り替えられる（ホッピングされる）各ホップ周波数としては、例えば上記所定の周波数帯域中に均等に分布する周波数に設定することができる。
【００４３】
図３は、本実施形態の無線タグ通信システム１００の概略を表すシステム構成図である。
【００４４】
図３において、この無線タグ通信システム１００は、上述したように管理対象となる物品に添付させる無線タグＴと、これら無線タグＴとのホッピング無線によりそれぞれのタグＩＤを含む無線タグ情報の検出を行うリーダ１とから構成されている。
【００４５】
無線タグＴは、タグ側アンテナ１５１とＩＣ回路部１５０とを備える無線タグ回路素子Ｔoを有しており、この無線タグ回路素子Ｔoを特に図示しない基材などに設けた構成のものである（無線タグ回路素子Ｔoについては後に詳述する）。
【００４６】
リーダ１は、本体制御部２と、リーダアンテナ３とを有している。本体制御部２は、ＣＰＵ４と、ハードディスク装置やフラッシュメモリなどの不揮発記憶装置からなり各ホップ周波数に対応するスロット数指定値（識別スロット数Ｍを決定する値）などの相関情報を格納するホップテーブル（詳しくは後述する）等の各種情報を記憶する不揮発記憶装置５と、例えばＲＡＭやＲＯＭ等からなるメモリ６と、操作者からの指示や情報が入力される操作部７と、各種情報やメッセージを表示する表示部８と、リーダアンテナ３を介し無線タグＴとのホッピング通信の制御を行うＲＦ通信制御部９とを備えている。
【００４７】
なお、不揮発記憶装置５は、リーダ１内に固定的に設けることに限らず、リーダ１に対して着脱可能に設けたものや、または何らかの通信回線を介してリーダ１と情報を送受可能に接続した外部のデータベースを利用してもよい。
【００４８】
図４は、上記リーダ１におけるＣＰＵ４、不揮発記憶装置５、ＲＦ通信制御部９、及びリーダアンテナ３の詳細構成を表す機能ブロック図である。この図４において、リーダ１のＲＦ通信制御部９は、上記リーダアンテナ３を介し上記無線タグ回路素子ＴoのＩＣ回路部１５０の情報(タグＩＤを含む無線タグ情報)へアクセスするものであり、またリーダ１のＣＰＵ４は不揮発記憶装置５に格納されているホップテーブルを参照してホップ周波数を切り替えつつ無線タグ回路素子ＴoのＩＣ回路部１５０へアクセスするための応答要求コマンド（詳しくは後述する）を生成するとともに無線タグ回路素子ＴoのＩＣ回路部１５０から読み出された信号を処理して情報を読み出すものである。
【００４９】
ＲＦ通信制御部９は、リーダアンテナ３を介し無線タグ回路素子Ｔoに対して信号を送信する送信部２１２と、リーダアンテナ３により受信された無線タグ回路素子Ｔoからの応答波を入力する受信部２１３と、送受分離器２１４とから構成される。
【００５０】
送信部２１２は、無線タグ回路素子ＴoのＩＣ回路部１５０の無線タグ情報にアクセスする(この例では読み取り及び書き込み)ための搬送波を発生させる水晶振動子２１５Ａ、ＣＰＵ４の制御により所定の周波数の信号を発生させるＰＬＬ（Phase  Locked  Loop）２１５Ｂ、及びＶＣＯ（Voltage  Controlled  Oscillator）２１５Ｃと、上記ＣＰＵ４から供給される信号に基づいて上記発生させられた搬送波を変調（この例ではＣＰＵ４からの「ＴＸ＿ＡＳＫ」信号に基づく振幅変調）する送信乗算回路２１６（指令生成手段；但し「ＴＸ＿ＡＳＫ信号」の場合は増幅率可変アンプ等を用いてもよい）と、その送信乗算回路２１６により変調された変調波を増幅（この例ではＣＰＵ４からの「ＴＸ＿ＰＷＲ」信号によって増幅率を決定される増幅）する可変送信アンプ２１７とを備えている。そして、上記発生される搬送波は、例えばＵＨＦ帯、マイクロ波帯、あるいは短波帯などの周波数帯を用いており、ＣＰＵ４はそのいずれかの周波数帯でその中の複数のホップ周波数（周波数チャンネル）を所定の周期で切り替えて搬送波を生成させるようＰＬＬ２１５Ｂを制御する。上記送信アンプ２１７の出力は、送受分離器２１４を介しリーダアンテナ３に伝達されて無線タグ回路素子ＴoのＩＣ回路部１５０に供給される。なお、無線タグ情報は上記のように変調した信号に限られず、単なる搬送波のみの場合もある。
【００５１】
受信部２１３は、リーダアンテナ３で受信された無線タグ回路素子Ｔoからの応答波と上記発生させられた搬送波とを乗算して復調する受信第１乗算回路２１８と、その受信第１乗算回路２１８の出力から必要な帯域の信号のみを取り出すための第１バンドパスフィルタ２１９と、この第１バンドパスフィルタ２１９の出力を増幅する受信第１アンプ２２１と、この受信第１アンプ２２１の出力をさらに増幅してデジタル信号に変換する第１リミッタ２２０と、上記リーダアンテナ３で受信された無線タグ回路素子Ｔoからの応答波と上記発生された後に移相器２２７により位相を９０°遅らせた搬送波とを乗算する受信第２乗算回路２２２と、その受信第２乗算回路２２２の出力から必要な帯域の信号のみを取り出すための第２バンドパスフィルタ２２３と、この第２バンドパスフィルタ２２３の出力を増幅する受信第２アンプ２２５と、この受信第２アンプ２２５の出力をさらに増幅してデジタル信号に変換する第２リミッタ２２４とを備えている。そして、上記第１リミッタ２２０から出力される信号「ＲＸＳ−Ｉ」及び第２リミッタ２２４から出力される信号「ＲＸＳ−Ｑ」は、上記ＣＰＵ４に入力されて処理される。
【００５２】
また、受信第１アンプ２２１及び受信第２アンプ２２５の出力は、強度検出手段としてのＲＳＳＩ（Received  Signal  Strength  Indicator)回路２２６にも入力され、それらの信号の強度を示す信号「ＲＳＳＩ」がＣＰＵ４に入力されるようになっている。このようにして、リーダ１では、Ｉ−Ｑ直交復調によって無線タグ回路素子Ｔoからの応答波の復調が行われる。
【００５３】
そして、上記リーダ１はこの例では倉庫３００内の空間全体をその通信範囲に納め、その通信範囲内に存在する複数の無線タグＴの無線タグ回路素子Ｔoに対してそれぞれのタグＩＤを応答信号として発信させるよう要求する応答要求コマンド（探索指令）を送信する。
【００５４】
この応答要求コマンドは、各ホップ周波数において応答すると予想される無線タグ回路素子Ｔoの数が不確定な条件下において探索を行うための探索指令である。この応答要求コマンドには、例えばこの例で０から１５までのいずれかの値で指定するスロット数指定値Ｑが含まれており、ＲＦ通信制御部９からリーダアンテナ３を介し応答要求コマンドが送信されると各無線タグ回路素子Ｔoは０から２Ｑ−１（＝２のＱ乗−１）までのスロットカウント値Ｓを乱数により生成保持する。
【００５５】
またＣＰＵ４及びＲＦ通信制御部９がリーダアンテナ３を介して該コマンドを送信後、所定の識別スロットで無線タグ回路素子Ｔoからの応答を待ち受ける。無線タグ回路素子Ｔoでスロットカウント値Ｓとして値０を生成したものはこのスロットで応答する。
【００５６】
その後、さらにＣＰＵ４及びＲＦ通信制御部９はスロットカウント減算コマンドを送信し、直後に設けられた所定の識別スロット時間枠で無線タグ回路素子Ｔoの応答を待つのである。スロットカウント減算コマンドを受信した各無線タグ回路素子Ｔoは自身のスロットカウント値Ｓを減算し保持し、該スロットカウント値Ｓが値０になった時点の識別スロットでタグＩＤを含む応答信号あるいはＩＤ送信の許可を得るための例えば１６ビットの擬似乱数を用いた応答信号を送信するのである。そしてこのスロットカウント減算コマンドの送信と識別スロットでの受信を２Ｑ−１回繰り返す。
【００５７】
このように各無線タグ回路素子Ｔoが異なる識別スロットで応答信号を返信することで、リーダアンテナ３を介し、ＲＦ通信制御部９及びＣＰＵ４は混信を受けることなく一つ一つの無線タグ回路素子ＴoのタグＩＤを明確に受信し取り込むことができる（詳細は後述する）。
【００５８】
また、上記リーダ１は、この例では、情報検出処理（後述の図１０参照）を行う際に、応答信号が得られた無線タグ回路素子Ｔoに対してその後しばらくの間無線通信動作を停止させる（＝休眠状態とさせる）休眠化信号（「Sleep」信号）も送信することが可能である。この「Sleep」信号は、リーダ１が通信範囲内に存在する多数個の無線タグＴからそれぞれのタグＩＤを読み取る際に、一回の読み取り動作（所定のホップ周波数において応答要求コマンドを一回送信して行う読み取り動作）で対応する無線タグＴの応答信号を全て受信できない場合でも、すでに応答信号を受信できた無線タグＴに対してのみ「Sleep」信号を送信して停止させることで、それ以降に繰り返し同じ条件の読み取り動作を行ったときにはまだ正常に読み取れていない無線タグ回路素子Ｔoに対してだけ読み取り動作を行うことができる。ＲＦ通信制御部９からリーダアンテナ３を介し応答要求コマンドが送信されると、各無線タグ回路素子Ｔoは所定の条件（所定時間の経過、又は「Sleep解除」信号の受信）が満たされるまで無線通信動作の停止状態を維持する。
【００５９】
なお、応答した無線タグ回路素子Ｔoが自ら所定の応答済みフラグを例えばＡからＢに反転させ、質問器から応答済みフラグがＡのタグのみ指定して応答要求コマンドを送信する場合は応答済みフラグがＢの無線タグ回路素子Ｔoは応答できず実質的に休眠状態となるので、このようなフラグ指定も休眠化信号の一種である。
【００６０】
図５は、上記無線タグＴに備えられた無線タグ回路素子Ｔoの機能的構成の一例を表すブロック図である。この図５において、無線タグ回路素子Ｔoは、上記リーダ１側の上記リーダアンテナ３と短波帯(例えば13.56MHz)、ＵＨＦ帯、マイクロ波帯等の高周波を用いて非接触で信号の送受信を行うタグ側アンテナ１５１と、このタグ側アンテナ１５１に接続された上記ＩＣ回路部１５０とを有している。
【００６１】
ＩＣ回路部１５０は、タグ側アンテナ１５１により受信された搬送波を整流する整流部１５２と、この整流部１５２により整流された搬送波のエネルギを蓄積し駆動電源とするための電源部１５３と、上記タグ側アンテナ１５１により受信された搬送波からクロック信号を抽出して制御部１５７に供給するクロック抽出部１５４と、無線タグＴのタグＩＤなどの所定の情報信号を記憶し得る情報記憶部として機能するメモリ部１５５と、上記タグ側アンテナ１５１に接続されて信号の変調及び復調を行う変復調部１５６と、上記リーダ１からの上記応答要求コマンドの受信時に当該無線タグ回路素子Ｔoが応答信号（リプライ信号）をどの識別スロットに出力するかを決定するための乱数を発生させる乱数発生器１５８（詳細は後述）と、上記整流部１５２、クロック抽出部１５４、変復調部１５６、及び乱数発生器１５８等を介して上記無線タグ回路素子Ｔoの作動を制御するための制御部１５７と、スロットカウンタ１５９とを備えている。
【００６２】
変復調部１５６は、タグ側アンテナ１５１により受信された上記リーダ１のリーダアンテナ３からの通信信号の復調を行うと共に、上記制御部１５７からの返信信号に基づき、アンテナ１５１が受信した搬送波を変調し、アンテナ１５１より反射波として再送信する。
【００６３】
乱数発生器１５８は、上記リーダ１からの上記応答要求コマンドに指定されているスロット数指定値Ｑに対し、０から２Ｑ−１までの乱数を発生させる。制御部１５７はこれをスロットカウンタ１５９に保存する。スロットカウント減算コマンドを受信する度にこのスロットカウンタ１５９のカウント値を１つ減算し、カウント値が０になった場合に応答を行う。
【００６４】
この制御部１５７は、リーダ１と通信を行うことにより上記メモリ部１５５に上記所定の情報を記憶する制御や、上記タグ側アンテナ１５１により受信された質問波（応答要求コマンド）を上記変復調部１５６において上記メモリ部１５５に記憶された情報信号に基づいて変調したうえで応答波（応答信号）とし、これを上記乱数発生器１５８により発生させた乱数に対応する識別スロットで上記タグ側アンテナ１５１から応答波を反射返信する制御等の基本的な制御を実行する。また、上記「Sleep」信号を受信した際には無線通信動作を停止させるよう制御する。
【００６５】
クロック抽出部１５４は受信した信号からクロック成分を抽出して制御部１５７にクロックを抽出するものであり、受信した信号のクロック成分の速度に対応したクロックを制御部１５７に供給する。
【００６６】
なお、メモリ部１５５には少なくとも、各無線タグ回路素子Ｔoを個体別に識別するためのタグＩＤが予め記憶されており、制御部１５７は自己のタグＩＤを含めた応答信号を発信するようになっている。
【００６７】
ここで、本実施形態の無線タグ通信システム１００の最も大きな特徴は、複数の無線タグＴが存在する通信範囲内で、リーダ１がホッピング通信によりホップ周波数を切り替えて無線タグＴを探索する際に、その各ホップ周波数に基づいて識別スロット数Ｍを適切に設定することにある。以下、その詳細を順次説明する。
【００６８】
まず、リーダ１の不揮発記憶装置５に格納保持される上記ホップテーブルについて説明する。図６は、本実施形態におけるホップ周波数とスロット数指定値初期値及び各種変数との対応を管理するホップテーブルの一例を概念的に表す図である。
【００６９】
図６において、このホップテーブルは、例えば、ある特定の一つの通信対象区域（この例では倉庫３００内の空間）に対応するものである。図６に示すように、この例では、１から９までの連続した９つの参照番号Ｎ（図中では上方から下方に向けて昇順で並べて示している）と、その参照番号Ｎに応じたホップ周波数ｆ（Ｎ）と、そのホップ周波数ｆ（Ｎ）毎にそれぞれ応答信号が受信できると想定される受信対象想定個数に対して適切な識別スロット数Ｍに対応したスロット数指定値Ｑの初期値Ｑini（Ｎ）と、後述する衝突検出処理や読取確認処理で実際に用いるスロット数指定値変数Ｑ（Ｎ）と、後述する衝突検出処理で検出された応答信号の衝突数Ｃ（Ｎ）と、スロット数指定値変数Ｑ（Ｎ）の変更時に過去の変更回数を参照するための変更変数（変更回数変数）Ｈ（Ｎ）と、スロット数指定値変数Ｑ（Ｎ）の設定が完了したかを確認するための設定完了確認フラグＫ（Ｎ）とが、予めそれぞれ対応付けられた相関情報として形成されている。
【００７０】
このとき、カッコ内の「（Ｎ）」の表記は、参照番号Ｎを引数としてそれに対応するスロット数指定値変数を表す記述であり、例えば参照番号Ｎ＝１の場合に対応するスロット数指定値変数Ｑ（Ｎ）はＱ（１）を意味する。また、ホップテーブル中の上記各種項目のうち、参照番号Ｎ、ホップ周波数ｆ（Ｎ）、及びスロット数指定値初期値Ｑini（Ｎ）は、上記不揮発記憶装置５に予め所定の適切な数値が入力格納されているものであるが、他のパラメータであるスロット数指定値変数Ｑ（Ｎ）、衝突数Ｃ（Ｎ）、変更変数Ｈ（Ｎ）、及び設定完了確認フラグＫ（Ｎ）は、リーダ１が行う探索処理（後述の図７〜図１０参照）で内容が書き換えられる変数として扱われるパラメータであり、不揮発記憶装置５においては初期値（又は不定値）が格納される。
【００７１】
ホップ周波数ｆ（Ｎ）は、前述したように所定の周波数帯中に設定された複数（この例では９つであるが他の個数でもよい）の周波数であり、それら周波数どうしの高低関係は参照番号Ｎの順に関係なくランダムに設定されている。
【００７２】
スロット数指定値Ｑの初期値Ｑini（Ｎ）は、実際の探索対象想定個数に適切な識別スロット数Ｍあるいはそれより少なめに設定された識別スロット数Ｍに対応して設定される。この指定値初期値Ｑini（Ｎ）は、監視対象となるリーダ１の通信対象区域ごとに最初の探索処理を行う前に予めホップ周波数ｆ（Ｎ）毎に入力設定されるものである。
【００７３】
図７は、リーダ１のＣＰＵ４によって実行される制御手順を表すフローチャートである。
【００７４】
図７において、この例では、電源の投入後（又は例えば操作部７において無線タグＴの探索を開始させる操作が行われると）、このフローが開始される。
【００７５】
まず、ステップＳ５において、参照変数Ｎｖの値を１に、全ての変更変数（図中ではＨ（１〜９）と表記）の値を０に、全ての設定完了確認フラグ（図中ではＫ（１〜９）と表記）の値を０に、各スロット数指定値変数Ｑ（Ｎ）の値をそれぞれ対応するスロット数指定値初期値Ｑini（Ｎ）に代入（図中ではＱ（１〜９）＝Ｑini（１〜９）と表記）するよう初期化する。なお、参照変数Ｎｖはメモリ６などに書き換え可能に記憶される変数であり、各パラメータでそれぞれ参照番号Ｎに対応するものを特定するための引数として用いるものである。
【００７６】
次にステップＳ１０へ移り、設定完了確認フラグＫ（Ｎｖ）が１であるか否か、すなわち参照変数Ｎｖに対応する（ホップ周波数ｆ（Ｎｖ）に対応する）スロット数指定値変数Ｑ（Ｎｖ）の設定が完了しているか否かを判定する。設定完了確認フラグＫ（Ｎｖ）が１となっている場合、判定が満たされ、ステップＳ６５へ移る。一方、設定完了確認フラグＫ（Ｎｖ）が初期値の０のままである場合、判定が満たされず、すなわちまだ参照変数Ｎｖに対応するスロット数指定値変数Ｑ（Ｎｖ）の設定が適切に完了していないものとみなされてステップＳ１５へ移る。
【００７７】
ステップＳ１５では、上記ホップテーブルから参照変数Ｎｖに対応するホップ周波数ｆ（Ｎｖ）を取得し、それに基づく制御信号を送信部２１２のＰＬＬ２１５（図４参照）に出力してホップ周波数ｆ（Ｎｖ）の搬送波をＲＦ通信制御部９に発生させる。
【００７８】
次にステップＳ２００へ移り、衝突検出処理を行う。この衝突検出処理は、上記ステップＳ１５で設定したホップ周波数ｆ（Ｎｖ）の周波数チャンネルにおいて、その時点でのスロット数指定値変数Ｑ（Ｎｖ）をスロット数指定値として含んだ応答要求コマンドを送信した場合に、各無線タグＴから受信する応答信号が衝突した（または判別不可能となった）識別スロットの個数を衝突数Ｃ（Ｎｖ）として検出する（後述の図９参照）。
【００７９】
次にステップＳ２０へ移り、上記ステップＳ２００の衝突検出処理で検出した衝突数Ｃ（Ｎｖ）（後述する図９のステップＳ２２５参照）が、その時点のスロット数指定値変数Ｑ（Ｎｖ）で決定される識別スロット数Ｍの半分（２Ｑ（Ｎｖ）−１）より多いか否か、すなわち上記ステップＳ２００の衝突検出処理において応答信号の衝突頻度が過剰であるか否かを判定する。衝突数Ｃ（Ｎｖ）が２Ｑ（Ｎｖ）−１より大きい場合、判定が満たされ、すなわち何らかの原因によりホップ周波数ｆ（Ｎｖ）における衝突頻度が過剰となっていることからスロット数指定値変数Ｑ（Ｎｖ）を修正する必要があるとみなされて次のステップＳ２５へ移る。なお、上記の２Ｑ（Ｎｖ）−１は、スロット数指定値変数Ｑ（Ｎｖ）の増加修正の必要性を判定するためのしきい値（この例では識別スロット数Ｍの半分という割合）の一例であり、他の値や割合を適宜用いることも可能である。
【００８０】
ステップＳ２５では、変更変数Ｈ（Ｎｖ）の値が２より少ないか否か、すなわちそれまでにスロット数指定値変数Ｑ（Ｎｖ）の修正がまだ１回しか行われていない（今回が２回目以降である）か否かを判定する。変更変数Ｈ（Ｎｖ）が２より少ない場合、判定が満たされ、すなわち通常にスロット数指定値変数Ｑ（Ｎｖ）を増加修正すべきであるとみなしてステップＳ３０へ移る。
【００８１】
ステップＳ３０では、スロット数指定値変数Ｑ（Ｎｖ）の値を１増加し、すなわち上記ステップＳ２００の衝突検出処理における識別スロット数Ｍ（＝２Ｑ（Ｎｖ）−１）を２倍に増加するよう修正変更する。このようにスロット数指定値変数Ｑ（Ｎｖ）の修正回数を１回増やしたことに対応して、次のステップＳ３５で変更変数Ｈ（Ｎｖ）の値を１増加させ、ステップＳ６５へ移る。
【００８２】
一方、上記ステップＳ２５の判定において、変更変数Ｈ（Ｎｖ）の値が２以上であって今回のスロット数指定値変数Ｑ（Ｎｖ）の修正が２回目以降である場合、判定が満たされず、ステップＳ４０〜ステップＳ６０の手順による妨害波対策のためのスロット数指定値数変数Ｑ（Ｎｖ）の修正変更を行う。これは、上記ステップＳ３０でスロット数指定値変数Ｑ（Ｎｖ）の値を１増加し識別スロット数Ｍを初期の２倍に増加してもなお衝突頻度の過剰状態が認められていることから、本変形例では特にこの場合、衝突頻度が過剰となっている原因が当該ホップ周波数ｆ（Ｎｖ）において他の無線通信機器（コードレス電話３０３や無線ＬＡＮ装置３０４など；図１、図３参照）から妨害波が出力されていることによるものとみなしている。そのため、これ以上スロット数指定値変数Ｑ（Ｎｖ）を通常に増加修正（識別スロット数Ｍを初期の４倍以上に修正）することは無意味であるとしてステップＳ４０へ移り、妨害波対策のためのスロット数指定値数変数Ｑ（Ｎｖ）の修正変更を行う。
【００８３】
ステップＳ４０では、変更変数Ｈ（Ｎｖ）の値が１０であって今回のスロット数指定値変数Ｑ（Ｎｖ）の修正が１０回目であるか否かを判定する。変更変数Ｈ（Ｎｖ）の値がまだ１０に到達していない場合、判定が満たされず、すなわちまだ妨害波の出力が継続されていると想定し、通常の衝突数の検出は困難であるとみなしてステップＳ４５へ移る。
【００８４】
ステップＳ４５では、スロット数指定値変数Ｑ（Ｎｖ）の値を最小値である１に仮設定し、これにより通常の多くの識別スロット数Ｍで上記ステップＳ２００の衝突検出処理を無駄に長く行うことを回避する。次のステップＳ５０で、変更変数Ｈ（Ｎｖ）の値を１増加させ、ステップＳ６５へ移る。
【００８５】
一方、上記ステップＳ４０の判定において、変更変数Ｈ（Ｎｖ）の値が１０であって今回のスロット数指定値変数Ｑ（Ｎｖ）の修正が１０回目である場合、判定が満たされ、すなわち所定時間の経過により妨害波の出力が停止したことを期待して通常の衝突検出処理を行うべくステップＳ５５へ移る。
【００８６】
ステップＳ５５では、スロット数指定値変数Ｑ（Ｎｖ）の値を対応する初期値Ｑini（Ｎｖ）に再設定し、これにより通常の識別スロット数Ｍで上記ステップＳ２００の衝突検出処理を行わせる。次のステップＳ５０で、変更変数Ｈ（Ｎｖ）の値を０にリセットし、ステップＳ６５へ移る。
【００８７】
ステップＳ６５では、参照変数Ｎｖの値が最大値の９であるか否かを判定する。参照変数Ｎｖの値が９でない場合、判定は満たされず、次のステップＳ７０で参照変数Ｎｖの値を１増加してからステップＳ１０へ戻って同様の手順を繰り返す。一方、参照変数Ｎｖの値が９である場合、判定は満たされ、ステップＳ７５で参照変数Ｎｖの値を１にリセットしてからステップＳ１０へ戻って同様の手順を繰り返す。このようにして参照変数Ｎｖの値を１から９まで昇順増加を繰り返しつつ、ステップＳ１０からステップＳ７５までの手順をループする。
【００８８】
以上のループにおいて、ステップＳ２５からステップＳ６０の手順によれば、１回目のスロット数指定値変数Ｑ（Ｎｖ）の修正ではスロット数指定値変数Ｑ（Ｎｖ）の値を１増加する通常の修正変更を行い、２回目から９回目の修正では妨害波が出力中であるとみなしてスロット数指定値変数Ｑ（Ｎｖ）の値を最小値に仮設定し、１０回目の修正で妨害波の出力が停止したことを期待してスロット数指定値変数Ｑ（Ｎｖ）を初期値に再設定する。この修正を繰り返すことによって、衝突数Ｃ（Ｎｖ）が適正となるか、又は妨害波の出力が停止した際にはスロット数指定値変数Ｑ（Ｎｖ）が適切な値に設定されることになる。
【００８９】
なお、上記ステップＳ１０の判定において、設定完了確認フラグＫ（Ｎｖ）が１となっている場合、判定が満たされ、すなわち参照変数Ｎｖに対応するスロット数指定値変数Ｑ（Ｎｖ）の設定がすでに適切に完了しているものとみなして前述のようにステップＳ６５へ移る。
【００９０】
また一方、上記ステップＳ２０の判定において、衝突数Ｃ（Ｎｖ）が２Ｑ（Ｎｖ）−１以下である場合、判定が満たされず、すなわち当該ホップ周波数ｆ（Ｎｖ）において受信する応答信号の数に対し識別スロット数Ｍが適切に設定されて衝突頻度が低くなっているため対応するスロット数指定値変数Ｑ（Ｎｖ）がすでに適切な値に設定されているとみなされてステップＳ８０へ移る。
【００９１】
ステップＳ８０では、当該ホップ周波数ｆ（Ｎｖ）に対応する設定完了確認フラグＫ（Ｎｖ）の値を１とし、上記ステップＳ１０の判定においてスロット数指定値変数Ｑ（Ｎｖ）の設定がすでに適切に完了しているよう判定させてステップＳ１０からステップＳ６５へ直接移行させるようにする。
【００９２】
そして次に移るステップＳ８５において、全てのホップ周波数ｆ（１〜９）にそれぞれ対応する設定完了確認フラグＫ（１〜９）の値がいずれも１であるか否かを判定する。設定完了確認フラグＫ（１〜９）のうちいずれか一つの値でも初期値の０となっている（１になっていない）場合、判定が満たされず、すなわちまだ適切に設定が完了していないスロット数指定値変数Ｑ（Ｎｖ）が残っているものとみなされて、ステップＳ６５へ移り、ステップＳ１０からステップＳ７５の手順のループに戻る。一方、全ての設定完了確認フラグＫ（１〜９）の値が１となっている場合、判定が満たされ、すなわち全てのスロット数指定値変数Ｑ（Ｎｖ）が適切に設定されたとみなされて、次のステップＳ１００の読み取り確認処理（後述の図８参照）によりリーダ１の通信範囲内に存在する全ての無線タグＴのタグＩＤを全てのホップ周波数ｆ（Ｎ）で読み取り、このフローを終了する。
【００９３】
なお、上記フローによる探索処理の手順では、ステップＳ１００の読み取り確認処理を行う前に、ステップＳ５からステップＳ８５までの手順によるスロット数指定値変数Ｑ（Ｎ）の設定が行われたが、リーダ１の通信範囲内における無線タグＴの個数やそれらの配置、無線通信機器の設置状況などの通信条件にあまり変化がないことがわかっている場合、それ以前の探索処理で設定されたスロット数指定値変数Ｑ（Ｎ）をそのまま利用してすぐに読み取り確認処理だけを行えるようにしてもよい。また、衝突検出処理において、衝突が検知されなかった場合、そのまま読取処理も行っても良い。これにより、読取確認処理まで待つ必要がなく衝突が生じなかった無線タグをより早く読取ることができる。
【００９４】
図８は、上記図７中のステップＳ１００において実行される読み取り確認処理の詳細手順を表すフローチャートである。
【００９５】
この図８において、まずステップＳ１０５において、参照変数Ｎｖの値を１に、応答タグ変数ＲＸの値を０に初期化する。
【００９６】
次にステップＳ１１０へ移り、図７中のステップＳ１５と同様の制御によりホップ周波数ｆ（Ｎｖ）の搬送波をＲＦ通信制御部９に発生させる。
【００９７】
そして次のステップＳ３００へ移り、情報検出処理を行う。この情報検出処理は、上記ステップＳ１１０で設定したホップ周波数ｆ（Ｎｖ）の周波数チャンネルにおいて、それに対応してすでに設定されているスロット数指定値変数Ｑ（Ｎｖ）をスロット数指定値として含んだ応答要求コマンドを送信し、全ての識別スロットにおいて各無線タグＴから応答信号を受信し、それらからタグＩＤを検出する。また、応答信号を受信できた無線タグＴに対しては前述した「Sleep」信号を送信して休眠状態にさせる（後述の図１０参照）。
【００９８】
次にステップＳ１１５へ移り、上記ステップＳ３００の情報検出処理において一つでも応答信号が受信されたか否か、すなわちまだ休眠状態となっておらずに当該ホップ周波数ｆ（Ｎｖ）で応答信号を発信可能な無線タグＴが存在するか否かを判定する。一つでも応答信号が受信された場合、すなわち応答タグが存在していた場合、判定が満たされ、ステップＳ１２０で応答タグ変数ＲＸの値を１増加してステップＳ１２５へ移る。一方、全く応答信号が受信されなかった場合、すなわち応答タグが存在していなかった場合、判定が満たされず、そのままステップＳ１２５へ移る。
【００９９】
ステップＳ１２５では、参照変数Ｎｖの値が最大値の９であるか否かを判定する。参照変数Ｎｖの値が９でない場合、判定は満たされず、次のステップＳ１３０で参照変数Ｎｖの値を１増加してからステップＳ１１０へ戻って同様の手順を繰り返す。一方、参照変数Ｎｖの値が９である場合、判定は満たされ、すなわち全てのホップ周波数ｆ（１〜９）を一巡してそれぞれステップＳ３００の情報検出処理を行ったとみなされて、ステップＳ１３５へ移る。
【０１００】
ステップＳ１３５では、応答タグ変数ＲＸの値が０であるか否か、すなわち全てのホップ周波数ｆ（Ｎ）を一巡した際に全く応答信号が受信されなかったか否かを判定する。応答タグ変数ＲＸの値が０ではなく１以上である場合、判定が満たされず、すなわちリーダ１の通信範囲内にまだ休眠状態となっておらず応答信号を発信可能な無線タグＴが存在している可能性があるとみなしてステップＳ１０５に戻り、このフローを最初から繰り返す。なおこのフローを繰り返す際には、それまでに応答信号を受信した無線タグＴは全てそのまま上記「Sleep」信号により休眠化された状態を維持するため、このフローを繰り返すたびに応答信号を発信する無線タグＴ（タグＩＤをまだ読み取ってない無線タグＴ）が確実に減少する。
【０１０１】
そして、最後には全てのホップ周波数ｆ（Ｎ）で全ての無線タグＴのタグＩＤが読み取られ、応答タグ変数ＲＸの値が０となった状態でステップＳ１３５における判定が満たされ、ステップＳ１４０へ移る。なお、特に図示していないが、ステップＳ１３５からステップＳ１０５へ戻ってフローを繰り返す際に、応答タグの数が減少したことを想定して各スロット数指定値変数Ｑ（Ｎ）を減少させてから再び情報検出処理を行うようにしてもよく、この場合より短時間で効率的に情報検出処理を行うことができる。
【０１０２】
ステップＳ１４０では、表示部８に制御信号を出力し、無線タグＴの探索処理が完了したことを報知するよう表示してこのフローを終了する。
【０１０３】
以上のフローによれば、リーダ１の通信範囲内に存在する全ての無線タグＴのタグＩＤを全てのホップ周波数ｆ（１〜９）でもれなく読み取ることができ、またこの読み取り処理を図７の手順により適切に設定されたスロット数指定値変数Ｑ（Ｎｖ）を用いて効率的に行うことができる。
【０１０４】
図９は、上記図７中のステップＳ２００において実行される衝突検出処理の詳細手順を表すフローチャートである。なお、このフロー中において用いられる参照変数Ｎｖの値は、図７中でこの処理を行う際における参照変数Ｎｖの値をそのまま用いるものとする。
【０１０５】
この図９において、まずステップＳ２０５において、衝突数Ｃ（Ｎｖ）の値を０に初期化する。
【０１０６】
次にステップＳ２１０へ移り、ＲＦ通信制御部９の送信部２１２の送信乗算回路２１６に制御信号を出力して、上記図７中のフロー中で設定されたスロット数指定値変数Ｑ（Ｎｖ）を含み、ホップ周波数ｆ（Ｎｖ）でホッピング通信可能な各無線タグ回路素子Ｔoに対しそれぞれのタグＩＤを含む無線タグ情報を応答信号として送信するよう命令する応答要求コマンドを生成し（＝ＩＣ回路部の無線タグ情報を不確定な条件下で探索しつつ取得するための探索指令を生成する指令生成手段に相当）、生成された応答要求コマンド信号をリーダアンテナ３を介し無線タグ回路素子Ｔoへ送信する。
【０１０７】
次にステップＳ２１５へ移り、ＲＦ通信制御部９の受信部２１３で無線タグ回路素子Ｔoからの応答信号を１スロット分の時間（所定の識別スロットの時間枠）だけ受信して取り込む。スロットカウントＳが値０になった無線タグ回路素子Ｔoがなく、応答信号が受信されない場合でも１スロット分の時間は受信状態を維持する。これらステップＳ２１０とステップＳ２１５の手順で、識別スロット１つ分の送受信制御が行われることになる。
【０１０８】
次にステップＳ２２０へ移り、上記ステップＳ２１５の時間枠で応答信号の衝突（又は妨害波の受信）があったか否かを判定する。何らかの信号を受信していながらそれが正常な応答信号として判別できない場合、つまり解読不能な信号を受信している場合や誤り検出において誤りが検出された場合、判定は満たされ、すなわち今回の識別スロットにおいて複数の応答信号の衝突（又は妨害波の受信）があったとみなされて次のステップＳ２２５へ移り、衝突数Ｃ（Ｎｖ）の値を１増加してステップＳ２３０へ移る。一方、何も信号を受信していないかもしくは応答信号が正常に受信できた場合、判定は満たされず、すなわち今回の識別スロットにおいては正常な受信状態にあって衝突（又は妨害波）が確認されていないとみなされ、そのままステップＳ２３０へ移る。
【０１０９】
次のステップＳ２３０では、通信の最初に上記ステップＳ２１０で応答要求コマンドで通知したスロット数指定値変数Ｑ（Ｎｖ）に対応した回数（２のＱ（Ｎｖ）乗−１回）の識別スロットの受信を行ったか否か、すなわち全ての識別スロットに対して受信制御を行ったか否かを判定する。まだ全ての識別スロットに対して受信制御を行っていない場合、判定が満たされず、すなわちまだ受信制御を行っていない識別スロットが残っているとみなされてステップＳ２３５に移る。一方、全ての識別スロットに対して受信制御を行った場合、判定が満たされこのフローを終了する。
【０１１０】
ステップＳ２３５では、ＲＦ通信制御部９の送信部２１２の送信乗算回路２１６に制御信号を出力して、スロットカウント減算コマンドをリーダアンテナ３を介し無線タグ回路素子Ｔoへ送信する。このスロットカウント減算コマンドは、各無線タグ回路素子Ｔoが応答信号を送信する識別スロットのタイミングを計るためのスロットカウント値Ｓ（後述の図１１参照）の値を１だけ減算させるよう指令するコマンドである。ステップＳ２３５が完了したら、ステップＳ２１５に戻り、同様の識別スロット１つ分の受信制御を繰り返す。
【０１１１】
以上のフローにより、図７中のステップＳ１５で設定されたホップ周波数ｆ（Ｎｖ）において応答信号が衝突した（又は妨害波を受信した）識別スロットの回数を衝突数Ｃ（Ｎｖ）の値として得ることができる。
【０１１２】
図１０は、上記図８中のステップＳ３００において実行される情報検出処理の詳細手順を表すフローチャートである。なお、このフロー中において用いられる参照変数Ｎｖの値は、図８中でこの処理を行う際における参照変数Ｎｖの値をそのまま用いるものとする。
【０１１３】
この図１０において、まずステップＳ３０５において、上記図９中のステップＳ２１０と同様の制御により生成された応答要求コマンド信号をリーダアンテナ３を介し無線タグ回路素子Ｔoへ送信する。なおこの際に用いるホップ周波数ｆ（Ｎｖ）及びスロット数指定値変数Ｑ（Ｎｖ）は、図８中で設定されているものを用いる。
【０１１４】
次にステップＳ３１０へ移り、上記図９中のステップＳ２１５と同様の制御により無線タグ回路素子Ｔoからの応答信号を１スロット分の時間だけ受信して取り込む。なお、この際に正常な応答信号が受信できた場合には、それに含まれるタグＩＤを抽出してメモリ６又は不揮発記憶装置５に記憶させておく。またこのようにタグＩＤが検出できた場合には、表示部８へ検出結果として表示させてもよい。
【０１１５】
次にステップＳ３１５へ移り、ＲＦ通信制御部９の送信部２１２の送信乗算回路２１６に制御信号を出力して、上記ステップＳ３１０で検出されたタグＩＤの無線タグ回路素子Ｔoに対して休眠化させる「Sleep」信号を生成し、リーダアンテナ３を介して上記検出されたタグＩＤの無線タグ回路素子Ｔoへ送信する。
【０１１６】
次のステップＳ３２０では、上記図９中のステップＳ２３０と同様に全ての識別スロットに対して受信制御を行ったか否かを判定する。まだ全ての識別スロットに対して受信制御を行っていない場合、判定が満たされず、すなわちまだ受信制御を行っていない識別スロットが残っているとみなされてステップＳ３２５に移る。一方、全ての識別スロットに対して受信制御を行った場合、判定が満たされこのフローを終了する。
【０１１７】
ステップＳ３２５では、上記図９中のステップＳ２３５と同様の制御により、スロットカウント減算コマンドをリーダアンテナ３を介し無線タグ回路素子Ｔoへ送信する。ステップＳ３２５が完了したら、ステップＳ２１５に戻り、同様の識別スロット１つ分の受信制御を繰り返す。
【０１１８】
以上のフローにより、図８中のステップＳ１１０で設定されたホップ周波数ｆ（Ｎｖ）において無線タグ回路素子Ｔoからの応答信号を受信し、そこからタグＩＤを検出するとともに、そのタグＩＤを検出できた無線タグ回路素子Ｔoに対してのみ休眠状態にすることができる。なお、応答信号の衝突により検出できなかった分の無線タグ回路素子Ｔoに対しては、その回の情報検出処理ではそのまま放置し、次回の情報検出処理で正常に応答信号を受信し休眠化させるようにする。
【０１１９】
図１１は、図５に示した無線タグ回路素子Ｔoが備える制御部１５７によって実行される制御手順を表すフローチャートである。この図１１において、無線タグ回路素子Ｔoが初期化コマンド（詳細な説明を省略する）を受信してその初期信号により無線電力が与えられるとともに制御部１５７が初期化されると無線タグ回路素子Ｔoが起動し、このフローが開始される。
【０１２０】
まず、ステップＳ４０５で無線タグ回路素子Ｔoが起動した直後にタグ側アンテナ１５１で受信したリーダ１のリーダアンテナ３からの指令信号の命令内容を解釈するよう受信制御し、この受信した指令信号の内容が応答要求コマンドであるか否かを判定する。応答要求コマンドを受信している場合、判定が満たされ、ステップＳ４１０へ移る。このとき、応答要求コマンドに含まれるスロット数指定値変数Ｑ（Ｎｖ）をメモリ部１５５に記憶させる。
【０１２１】
ステップＳ４１０では、上記ステップＳ２０５でメモリ部１５５に記憶されたスロット数指定値Ｑに基づいて０から２Ｑ−１までの乱数を乱数発生器１５８により発生させ、その値をスロットカウント値とする。このカウント値は０から識別スロット数Ｍまで間の値となり、当該無線タグＴが応答信号を送信する識別スロットが決定される。
【０１２２】
次にステップＳ４１５へ移り、スロットカウント値が０であるか否かを判定する。スロットカウント値が０でない場合、判定が満たされず、すなわちまだ応答信号を送信すべき識別スロットに達していないとみなされて次のステップＳ４２０へ移る。
【０１２３】
ステップＳ４２０では、図１０のフローのステップＳ３２５におけるスロットカウント減算コマンドをタグ側アンテナ１５１を介し受信したか否かを判定し、受信するまでその時点の識別スロットの間受信制御を繰り返す。スロットカウント減算コマンドを受信した場合、判定が満たされて、次のステップＳ４２５へ移り、スロットカウント値を１減算してステップＳ４１５へ戻り同様の手順を繰り返す。
【０１２４】
また一方、上記ステップＳ４１５の判定においてカウント値が０となっている場合、判定が満たされ、すなわち当該無線タグ回路素子Ｔoが応答信号を送信すべき識別スロットに達したとみなされて次のステップＳ４３０へ移り、メモリ部１５５に記憶されていた当該無線タグ回路素子ＴoのタグＩＤを含む応答信号を変復調部１５６で生成させ所定のタイミングでタグ側アンテナ１５１を介し返信してこのフローを終了する。なお、タグＩＤが長い場合、識別スロットにおいて衝突が生じないか判定するため、例えば、予め発生させ記憶しておいた１６ビットの擬似乱数を応答信号として送り、それが正常にリーダ１に受信された後リーダ１から発せられるタグＩＤ送信コマンドを受信した後、タグＩＤを送信するようにしてもよい。
【０１２５】
また一方、上記ステップＳ４０５の判定において、受信した指令信号が応答要求コマンドでない場合、判定が満たされず、ステップＳ４３５へ移って同じ指令信号の内容が「Sleep」信号であるか否かを判定する。受信した指令信号が「Sleep」信号である場合、判定が満たされ、ステップＳ４４０で適宜の手法で無線タグ回路素子Ｔo全体（又は自ら）を休眠状態、すなわちウェーク信号など特定のコマンド以外は受付けない状態とし、ウェーク信号の受信等の所定の条件が満たされた際に休眠状態を解除してこのフローを終了する。一方、受信した指令信号が「Sleep」信号でもない場合、判定が満たされず、すなわち関係のない信号を受信したものとみなしてフローを終了する。
【０１２６】
図１２は、上記図１０の情報検出処理の制御手順を行うリーダ１と、上記図１１の制御手順を行うＬ個の無線タグ回路素子Ｔo（全てホップ周波数ｆ（Ｎｖ）でホッピング通信可能なもの）との間で送受される信号のタイムチャートの一例を表す図である。この図１２において、図中左側から右側に向かって時系列変化するものとし、リーダ１が応答要求コマンド又はカウント減算コマンドを送信してから無線タグ回路素子Ｔoの応答信号を受信する時間枠が１組になって各識別スロットが形成されている。なお、この図中においては「Sleep」信号の送信は省略している。
【０１２７】
まず最初に、この例では、リーダ１から応答要求コマンドが送信された直後に乱数によってカウント値が初めから０に生成された無線タグ回路素子Ｔo１が識別スロット１で応答信号を送信する。そしてリーダ１がその応答信号を受信した後に、カウント減算コマンドを送信することで別の各無線タグ回路素子Ｔoがそれを受信してそれぞれのカウント値を１減算する。その時点でカウント値が０となった無線タグ回路素子Ｔoがあれば次の識別スロット２で応答信号を送信する。図示の例のようにスロットカウント値が０になった無線タグ回路素子Ｔoが無い場合は当該識別スロットでの返信はない。タグラベル作成装置１が識別スロット終了後に、またスロットカウント減算コマンドを送信して識別スロット２が終了する。
【０１２８】
以上のような手順を繰り返すことにより、Ｌ個全ての無線タグ回路素子Ｔoの応答信号をＭ個の識別スロットで受信することができる。ここで、リーダ１側で用意する識別スロットの数Ｍが通信対象の無線タグ回路素子Ｔoの個数Ｎより大きく設定されていれば、各無線タグ回路素子Ｔoのカウント値が乱数により発生されているために、それぞれの無線タグ回路素子Ｔoが応答信号を送信する識別スロットがＭ個分の識別スロットに渡って均等かつ一意的に分布することが期待できる。このようにしてＮ個全ての無線タグ回路素子Ｔoの応答信号を一つ一つ衝突・混信させることなく（衝突・混信が生じた場合でも情報検出処理をやり直す；図８参照）明確に受信することができる。
【０１２９】
また、リーダ１側で用意する識別スロットの数Ｍが、ホップ周波数ｆ（Ｎｖ）で通信対象となる無線タグ回路素子Ｔoの個数Ｌに対して必要以上に大きくせず適度な値に設定すれば、探索処理全体の時間を短くすることができ、効率のよい通信を行うことができる。
【０１３０】
以上において、水晶振動子２１５Ａ、ＰＬＬ２１５Ｂ、及びＶＣＯ２１５Ｃが、搬送波を発生させる搬送波発生手段を構成する。
【０１３１】
また、ＲＦ通信制御部９の送信部２１２とリーダアンテナ３が、送信乗算回路２１６で生成した応答要求コマンドを無線タグ回路素子Ｔoに送信可能な送信手段を構成し、ＲＦ通信制御部９の受信部２１３とリーダアンテナ３が、送信乗算回路２１６で生成されて送信された応答要求コマンドに応じて複数の無線タグ回路素子Ｔoから送信された応答信号を、複数の識別スロットに区分して受信可能な受信手段を構成する。
【０１３２】
また、図７のフローにおけるステップＳ２００からステップＳ６０までの手順が、識別スロット数Ｍを、水晶振動子２１５Ａ、ＰＬＬ２１５Ｂ、及びＶＣＯ２１５Ｃで発生させる搬送波のホッピング周波数ｆ（Ｎｖ）に基づいて設定するスロット数設定手段として機能する。
【０１３３】
また、図７のフローにおけるステップＳ１５の手順および図８のフローにおけるステップＳ１１０の手順が、水晶振動子２１５Ａ、ＰＬＬ２１５Ｂ、及びＶＣＯ２１５Ｃで発生させる搬送波のホップ周波数ｆ（Ｎｖ）を所定の周期でホッピングさせるホッピング制御手段を構成する。
【０１３４】
また、図１０のフローにおけるステップＳ３１０の手順が、無線タグ回路素子Ｔoから送信された応答信号に基づき、当該無線タグ回路素子ＴoのタグＩＤを取得する識別情報取得手段として機能する。
【０１３５】
また、図１０のフローにおけるステップＳ３１５の手順が、ステップＳ３１０の手順によりタグＩＤを取得した無線タグ回路素子Ｔoを休眠化処理する休眠化処理手段として機能する。なお、この休眠化処理機能は必ずしも設けなくても良い。例えばスロットでの応答の際に各無線タグ回路素子がユニークハンドル（乱数）を返す場合（例えばＣ１Ｇ２規格等）には、質問器側がハンドルで特定される各タグに必要な処理コマンドを送信して処理をするからである。すなわち、ハンドルで特定された無線タグ回路素子ＴoはＩＤ送信後、応答済みフラグを例えばＡからＢに反転させる。質問器から応答済みフラグがＡのタグのみ指定して応答要求コマンドを送信するので、応答済みフラグがＢの無線タグ回路素子Ｔoは応答できず実質的に休眠状態となる。
【０１３６】
また、図７のフローにおけるステップＳ２００の手順（図９のフローに示す衝突検出処理）が、ＲＦ通信制御部９とリーダアンテナ３による受信の際、識別スロットにおける応答信号の衝突を検出する衝突検出手段として機能する。
【０１３７】
また、図７のフローにおけるステップＳ２０の手順が、ステップＳ２００の手順の検出結果に基づき、複数の識別スロットのうち衝突が生じた識別スロットの数（衝突数Ｃ（Ｎｖ））が所定割合以上であるかどうかを判定する衝突頻度判定手段として機能する。
【０１３８】
また、図７のフローにおけるステップＳ３０の手順が、ステップＳ２０の手順の判定が満たされた場合、識別スロット数Ｍを増加させる増加設定手段として機能する。
【０１３９】
また、図７のフローにおけるステップＳ２５の手順が、ステップＳ３０の手順による識別スロット数Ｍの増加後におけるステップＳ２０の手順による判定結果に応じて、妨害波があるかどうかを判定する妨害波判定手段として機能する。
【０１４０】
また、図７のフローにおけるステップＳ４０からステップＳ６０までの手順が、ステップＳ２５の手順による判定が満たされた場合、識別スロット数Ｍをこれに対応して変化させる妨害波対応処理手段として機能する。
【０１４１】
また、図７のフローにおけるステップＳ４５の手順が、識別スロット数Ｍを最小化する第２最小化処理手段として機能する。
【０１４２】
以上のように構成した本実施形態においては、図７のフローにおけるステップＳ２００からステップＳ６０までの手順により、上記スロット数指定値変数Ｑ（Ｎｖ）を搬送波のホップ周波数ｆ（Ｎｖ）に応じて設定する。これにより、応答する無線タグ回路素子Ｔoの数が多くなるようなホップ周波数ｆ（Ｎｖ）である場合には識別スロット数Ｍを多くする一方、応答する無線タグ回路素子Ｔoの数が少なくなるようなホップ周波数ｆ（Ｎｖ）である場合には識別スロット数Ｍを少なくすることができる。したがって、本来必要な数以上に識別スロット数Ｍが多く無駄に通信時間が長くなることを防止し、なるべく通信時間を短くして効率のよい通信を行うことができる。
【０１４３】
また、この実施形態では特に、ＣＰＵ４が図７のフローにおけるステップＳ１５の手順および図８のフローにおけるステップＳ１１０の手順をそれぞれ実行して搬送波のホップ周波数ｆ（Ｎｖ）をホッピングさせていくとき、各無線タグ回路素子Ｔoの周波数応答特性によって遠距離では応答できないものが発生したり、当該周波数近傍の妨害波が存在する等によって、応答可能な無線タグ回路素子Ｔoの数が変動する場合にも対応できる。すなわち、図７のフローにおけるステップＳ２００からステップＳ６０までの手順により、識別スロット数Ｍをホッピングされる搬送波のホップ周波数ｆ（Ｎｖ）に応じて設定することにより、応答する無線タグ回路素子Ｔoの数が多くなるようなホップ周波数ｆ（Ｎｖ）にホッピングされた場合には識別スロット数Ｍを多くする一方、応答する無線タグ回路素子Ｔoの数が少なくなるようなホップ周波数ｆ（Ｎｖ）にホッピングされた場合には識別スロット数Ｍを少なくすることができる。なお、一般に所定の周波数帯域中で空いている周波数チャンネルをホップ周波数に用いるが、周波数チャンネルのうち空いている周波数（無線タグ回路素子Ｔoの感度は周波数毎に異なるので、周波数に応じて応答できる無線タグ回路素子Ｔoの数が変化する）や隣接チャネルから漏れてくる電界による妨害強度で読み取り率が影響を受けるのでその場合は識別スロット数Ｍを変化させるようにすることが好ましい。たとえば隣接する周波数チャンネルを使用している場合は識別スロット数Ｍを減らすようにすればよい。
【０１４４】
また、この実施形態では特に、ホッピングされるホップ周波数ｆ（Ｎｖ）ごとに、図１０のフローにおけるステップＳ３１０の手順でタグＩＤが取得できた無線タグ回路素子Ｔoをその都度ステップＳ３１５の手順で休眠化させ、これを応答信号がなくなるまで繰り返すことにより、通信可能なすべての無線タグ回路素子Ｔoからの識別情報の読み取りを効率よく確実に完了させることができる。
【０１４５】
また、この実施形態では特に、図７のフローにおけるステップＳ２００の手順（図９のフローに示す衝突検出処理）によって識別スロットにおける応答信号の衝突を検出することにより、識別スロットにおける衝突発生の有無やその頻度等により、衝突が多めに生じているホップ周波数ｆ（Ｎｖ）では識別スロット数Ｍを多くする一方、衝突がないか少なめのホップ周波数ｆ（Ｎｖ）では識別スロット数Ｍを少なく設定することができる。
【０１４６】
また、この実施形態では特に、衝突が多めに生じたホップ周波数ｆ（Ｎｖ）においては、図７のフローにおけるステップＳ２０の手順による判定が満たされることになるため、その場合ステップＳ３０の手順で識別スロット数Ｍを増加させることにより、衝突の発生を回避し、信頼性の高い確実な情報送受信を図ることができる。
【０１４７】
また、この実施形態では特に、図７のフローにおけるステップＳ２０の手順における判定が満たされ、ステップＳ３０で識別スロット数Ｍを増加させてもなおステップＳ２０の手順における判定が満たされた場合には、ステップＳ２５の手順で、そのホップ周波数ｆ（Ｎｖ）において妨害波が存在するとみなすことができる。
【０１４８】
また、この実施形態では特に、図７のフローにおけるステップＳ２５の手順で妨害波があると判定された場合、これに対応してステップＳ４０からステップＳ６０までの手順により識別スロット数Ｍを減少変化させることができ、妨害波環境下で無駄に応答信号を取得しようとして時間を浪費するのを回避することができる。
【０１４９】
また、この実施形態では特に、妨害波がある場合には、図７のフローにおけるステップＳ４５で識別スロット数Ｍを最小化させることで、妨害波環境下で無駄に応答信号を取得しようとして時間を浪費するのを確実に回避することができる。
【０１５０】
なお、本実施形態においては、不揮発記憶装置５に格納されているホップテーブル中のスロット数指定値初期値Ｑini（Ｎ）を予め固定値として入力設定していたが、本発明はこれに限られず、例えば探索処理中において所定の条件やパラメータに基づいて修正できるようにしてもよい。
【０１５１】
具体的には、図１３に示すように、探索処理を行うたびにホップ周波数ｆ（Ｎ）毎に検出される衝突数Ｃ（Ｎ）の累計値を衝突履歴値（衝突履歴）Ｃｓ（Ｎ）として不揮発記憶装置（衝突履歴記憶手段）５のホップテーブル中に各ホップ周波数ｆ（Ｎ）に対応させて格納保持しておき、探索処理中にこの衝突履歴値Ｃｓ（Ｎ）を参照して所定値を超えた場合に、対応するスロット数指定値初期値Ｑini（Ｎ）を増加する（または妨害波の影響があるとみなして最小値０としてもよい）よう修正してもよい。なお、図１３においては、図示の煩雑を避けるために、スロット数指定値変数Ｑ（Ｎ）、変更変数Ｈ（Ｎ）、及び設定完了確認フラグＫ（Ｎ）の図示を省略している。また、上記衝突履歴値Ｃｓ（Ｎ）は衝突数Ｃ（Ｎ）の累計値に限られず、例えば過去の所定回数検出された衝突数Ｃ（Ｎ）の平均値で計数してもよいし、またこの平均値とした場合には衝突履歴値Ｃｓ（Ｎ）が所定値より少なくなった場合に、対応するスロット数指定値初期値Ｑini（Ｎ）を減少するよう修正してもよい。
【０１５２】
このように、予め過去の衝突挙動を履歴として不揮発記憶装置５のホップテーブルに蓄積しておき、これをその後の情報送受信時に活用して識別スロット数Ｍの増減設定を行うことにより、履歴を用いず識別スロット数Ｍの設定を行う場合に比べ、短時間で効率よく適正な識別スロット数Ｍに設定することができる。
【０１５３】
また、図７のフローにおけるステップＳ２５の手順による判定で、変更変数Ｈ（Ｎ）をしきい値と比較する代わりに、上記のいずれかの衝突履歴値Ｃｓ（Ｎ）と所定のしきい値との比較に基づいて衝突頻度が過剰となっている原因を判断してもよい（特に図示せず）。例えば、衝突履歴値Ｃｓ（Ｎｖ）と適切なしきい値とを比較して衝突履歴値Ｃｓ（Ｎｖ）の方が大きいと判定された場合、応答信号の衝突頻度が過剰である原因が妨害波によるものであるとみなしてステップＳ４０からステップＳ６０の妨害波対策の手順へ移り、変更変数Ｈ（Ｖｎ）の値が小さい（図７の例では１０に満たない）うちはステップＳ４５の手順（第１最小化処理手段）により対応するスロット数指定値変数Ｑ（Ｎｖ）の値を最小値である１に仮設定して、ステップＳ２００の衝突検出処理を無駄に長く行うことを回避してもよい。
【０１５４】
このように過去の衝突履歴と所定のしきい値との比較に基づき、識別スロット数Ｍを最小化することは有用であり、過去の衝突回数が大きな値である場合には、当該ホップ周波数ｆ（Ｎｖ）において妨害波が存在するとみなし、ステップＳ４５の手順で識別スロット数Ｍを最小化することにより、妨害波環境下で無駄に応答信号を取得しようとする時間の浪費を回避することができる。
【０１５５】
また、スロット数指定値初期値Ｑini（Ｎ）の各値の初期的な設定については、例えば最初にホッピング通信を行う際のホップ周波数ｆ（Ｎｖ）に対応するスロット数指定値初期値Ｑini（Ｎ）の値を特に大きく設定することが有効である。
【０１５６】
その一例として、参照変数Ｎｖ＝１（参照番号Ｎ＝１）から昇順で図７のステップＳ２００の衝突検出処理や図８のステップＳ３００の情報検出処理を行う場合、図１４に示すように、最初に上記の各検出処理を行うホップ周波数ｆ（１）に対応するスロット数指定値初期値Ｑini（１）の値を最も大きい値（図示する例では６）に設定し、それ以降に順にスロット数指定値初期値Ｑini（Ｎｖ）の値を小さくする。なお、図１４においては、図示の煩雑を避けるために、参照番号Ｎ、ホップ周波数ｆ（Ｎ）及びスロット数指定値初期値Ｑini（Ｎ）だけを示している（図１５についても同様）。
【０１５７】
このようにホッピング開始時の最初のホップ周波数ｆ（Ｎｖ）に関わる識別スロット数Ｍを、それ以外のホップ周波数ｆ（Ｎｖ）に係わる識別スロット数Ｍよりも多くなるように設定することの効果は以下のようになる。すなわち、図１０のフローにおけるステップＳ３１０の手順でタグＩＤが取得された無線タグ回路素子Ｔoは順次ステップＳ３１５の手順で休眠化され、これによって応答可能な無線タグ回路素子Ｔoが減少していくので、これに対応して最も多くの無線タグ回路素子Ｔoから応答信号を受信できることが予想されるホッピング開始時の識別スロット数Ｍを最も多くしその後は識別スロット数Ｍを減少させる。これにより、必要な数以上に識別スロット数Ｍが多く無駄に通信時間が長くなることを確実に防止し、通信時間を短くして効率のよい通信を行うことができる。
【０１５８】
そして、ホッピング通信を開始させる参照変数Ｎｖは必ずしも１に限られずランダムに選択することもできるため、その場合は図１５に示すように最初の参照変数Ｎｖ（図示する例ではＮｖ＝４）に対応するスロット数指定値初期値Ｑini（Ｎｖ）の値を最も大きくし、それ以降の参照変数Ｎｖの昇順（最後の値の９の次には１に戻る）で減少するように設定する。また少なくとも最初の参照変数Ｎｖに対応するスロット数指定値初期値Ｑini（Ｎｖ）が最も大きい値に設定すればよいため、図１５に示しているように２番目ないし３番目の参照変数Ｎｖに対応するスロット数指定値初期値Ｑini（Ｎｖ）の値も最初の値と同じに設定することも可能である。
【０１５９】
また、スロット数指定値初期値Ｑini（Ｎ）の各値の初期的な設定については、例えば過去の所定回数分で検出された衝突数Ｃ（Ｎ）を記憶保持し、それに基づいて各スロット数指定値初期値Ｑini（Ｎ）の値を設定してもよい。
【０１６０】
その一例として、ホッピング通信を行った際の各ホップ周波数ｆ（Ｎｖ）に対応して識別スロット数Ｍに対する衝突数Ｃ（Ｎｖ）の割合、すなわち衝突率Ｃｒ（Ｎｖ）を算出して記憶保持し、各ホップ周波数ｆ（Ｎ）毎に過去５回分の衝突率Ｃｒ（Ｎ）の平均値として算出した平均衝突率Ｃｅ（Ｎ）に基づいて各スロット数指定値初期値Ｑini（Ｎ）の値を設定してもよい。図１６はその場合のホップテーブルの一例を概念的に表す図であり、図示の煩雑を避けるために、参照番号Ｎ、ホップ周波数ｆ（Ｎ）、スロット数指定値初期値Ｑini（Ｎ）、前回の衝突率Ｃｒ（Ｎ）（それ以前４回分は省略）及び平均衝突率Ｃｅ（Ｎ）だけを示している。
【０１６１】
そして図１６に示すように、スロット数指定値初期値Ｑini（Ｎ）の値は対応する平均衝突率Ｃｅ（Ｎ）の大きさに応じて設定されており、平均衝突率Ｃｅ（Ｎ）の値が大きい場合には識別スロット数Ｍに余裕持たせてできるだけ衝突を回避するためにスロット数指定値初期値Ｑini（Ｎ）の値を大きく設定し、平均衝突率Ｃｅ（Ｎ）の値が小さい場合には識別スロット数Ｍを抑えてできるだけ効率よく通信制御するためにスロット数指定値初期値Ｑini（Ｎ）の値を小さく設定する。
【０１６２】
このように平均衝突率Ｃｅ（Ｎ）の大きさに応じて対応するスロット数指定値初期値Ｑini（Ｎ）の値を設定することで、適切な識別スロット数Ｍで応答信号を受信することができ、衝突頻度が過剰になることを回避しつつ、通信時間を短くして効率のよい通信を行うことができる。
【０１６３】
また、スロット数指定値初期値Ｑini（Ｎ）の各値の初期的な設定については、例えば過去に受信した応答信号の数を記憶保持し、それに基づいて各スロット数指定値初期値Ｑini（Ｎ）の値を設定してもよい。
【０１６４】
その一例として、各ホップ周波数ｆ（Ｎ）毎に受信された応答信号の個数の比率に比例配分するようそれぞれの識別スロット数Ｍを用意し、それらに対応する値で各スロット数指定値初期値Ｑini（Ｎ）を設定する。
【０１６５】
詳細には、過去に行われた１回のホッピング通信において各ホップ周波数ｆ（Ｎ）にそれぞれ対応して受信された応答信号の数を応答信号数Ｒ（Ｎ）とすると、リーダ１が受信し得る応答信号の総数（すなわちリーダ１の通信範囲内に存在する全ての無線タグＴの個数）である総信号数Ｒｔは、
Ｒｔ＝Ｒ（１）＋Ｒ（２）＋・・・＋Ｒ（９）
と表される。
【０１６６】
したがって、この総信号数Ｒｔに対する各応答信号数Ｒ（Ｎ）の割合である応答分布率Ｒｒ（Ｎ）は、
Ｒｒ（Ｎ）＝Ｒ（Ｎ）／Ｒｔ
となる。
【０１６７】
また、上記総信号数Ｒｔの個数の応答信号を全て受信できる最小総スロット数Ｍｔは、総信号数Ｒｔを超える最小の２の整数乗の数値（２ｎ；ｎ＝整数）であり、この最小総スロット数Ｍｔを各ホップ周波数ｆ（Ｎ）毎にそれぞれ上記応答分布率Ｒｒ（Ｎ）で比例配分した配分スロット数Ｍｒ（Ｎ）は、
Ｍｒ（Ｎ）＝Ｍｔ×Ｒｒ（Ｎ）
と表される。
【０１６８】
そして、実際に利用される識別スロット数は２の整数乗の値であるため、各ホップ周波数ｆ（Ｎ）に対応して用意する必要識別スロット数Ｍ（Ｎ）の値は、各配分スロット数Ｍｒ（Ｎ）を超える最小の２の整数乗の数値となる。
【０１６９】
したがって、各スロット数指定値初期値Ｑini（Ｎ）は、それぞれ対応する必要識別スロット数Ｍ（Ｎ）が得られるよう、
Ｑini（Ｎ）＝[ｌｏｇ２Ｍ（Ｎ）＋１]
に設定する。なお、ここで[]は少数点以下を切り捨てて整数化することを表す。
【０１７０】
この場合、不揮発記憶装置（応答履歴記憶手段）５のホップテーブルには、図１７に示すように、図６のホップテーブルの項目に上記応答信号数（応答履歴）Ｒ（Ｎ）だけ追加する構成で記憶保持すればよい。なお、この図１７においては、図示の煩雑を避けるために、参照番号Ｎ、ホップ周波数ｆ（Ｎ）、スロット数指定値初期値Ｑini（Ｎ）及び応答信号数Ｒ（Ｎ）だけを示している。総信号数Ｒｔは全ての応答信号数Ｒ（Ｎ）の和で算出することができ、応答分布率Ｒｒ（Ｎ）は応答信号数Ｒ（Ｎ）と総信号数Ｒｔから算出することができる。
【０１７１】
このように、予め過去の応答信号受信挙動を履歴として不揮発記憶装置５のホップテーブルに蓄積しておき、これをその後の情報送受信時に活用して識別スロット数Ｍの増減設定を行うことにより、履歴を用いず識別スロット数Ｍの設定を行う場合に比べ、短時間で効率よく適正な識別スロット数Ｍに設定することができる。これは特に、無線タグＴを添付した物品がほとんど移動することのない保管庫などにリーダを固定して設置した場合、前述したマルチパスなどの電波環境がほとんど変化せずに個々の無線タグＴの応答信号を受信できるホップ周波数が固定されることになり、すなわち各ホップ周波数における応答信号数Ｒ（Ｎ）が変動しないため適正な識別スロット数Ｍの設定を効率的に行う上で有効である。
【０１７２】
なお、以上で用いた「Sleep」信号等は、ＥＰＣ  ｇｌｏｂａｌが策定した仕様に準拠しているものとしてもよい。ＥＰＣ  ｇｌｏｂａｌは、流通コードの国際機関である国際ＥＡＮ協会と、米国の流通コード機関であるＵｎｉｆｏｒｍｅｄ  Ｃｏｄｅ  Ｃｏｕｎｃｉｌ（ＵＣＣ）が共同で設立した非営利法人である。なお、他の規格に準拠した信号でも、同様の機能を果たすものであればよい。
【０１７３】
また、以上既に述べた以外にも、上記実施形態やその改良した構成による手法を適宜組み合わせて利用しても良い。
【０１７４】
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【図面の簡単な説明】
【０１７５】
【図１】本発明の実施形態の無線タグ通信システムを倉庫に適用した場合の一例を表す平面図である。
【図２】マルチパスの影響を表す図である。
【図３】無線タグ通信システムの概略を表すシステム構成図である。
【図４】リーダにおけるＣＰＵ、不揮発記憶装置、ＲＦ通信制御部、及びリーダアンテナの詳細構成を表す機能ブロック図である。
【図５】無線タグに備えられた無線タグ回路素子の機能的構成の一例を表すブロック図である。
【図６】実施形態におけるホップ周波数とスロット数指定値初期値及び各種変数との対応を管理するホップテーブルの一例を概念的に表す図である。
【図７】リーダのＣＰＵによって実行される制御手順を表すフローチャートである。
【図８】図７中のステップＳ１００において実行される読み取り確認処理の詳細手順を表すフローチャートである。
【図９】図７中のステップＳ２００において実行される衝突検出処理の詳細手順を表すフローチャートである。
【図１０】図８中のステップＳ３００において実行される情報検出処理の詳細手順を表すフローチャートである。
【図１１】無線タグ回路素子が備える制御部によって実行される制御手順を表すフローチャートである。
【図１２】図１０の情報検出処理の制御手順を行うリーダ１と、図１１の制御手順を行うＬ個の無線タグ回路素子Ｔoとの間で送受される信号のタイムチャートの一例を表す図である。
【図１３】スロット数指定値初期値を探索処理中に修正する場合のホップ周波数とスロット数指定値初期値と衝突履歴値との対応を管理するホップテーブルの一例を概念的に表す図である。
【図１４】最初のスロット数指定値初期値の値を特に大きく設定する場合のホップ周波数とスロット数指定値初期値との対応を管理するホップテーブルの一例を概念的に表す図である。
【図１５】ランダムに選択された最初のスロット数指定値初期値の値を特に大きく設定する場合のホップ周波数とスロット数指定値初期値との対応を管理するホップテーブルの一例を概念的に表す図である。
【図１６】過去の衝突数に基づいて各スロット数指定値初期値の値を設定する場合のホップ周波数とスロット数指定値初期値と前回の衝突率と平均衝突率との対応を管理するホップテーブルの一例を概念的に表す図である。
【図１７】受信した応答信号数に基づいて各スロット数指定値初期値の値を設定する場合のホップ周波数とスロット数指定値初期値と応答信号数との対応を管理するホップテーブルの一例を概念的に表す図である。
【符号の説明】
【０１７６】
１                リーダ（質問器）
２                本体制御部
３                リーダアンテナ（送信手段、受信手段）
４                ＣＰＵ
５                不揮発記憶装置（衝突履歴記憶手段；応答履歴記憶手段）
６                メモリ
７                操作部
８                表示部
９                ＲＦ通信制御部（送信手段、受信手段）
１００            無線タグ通信システム
１５０            ＩＣ回路部
１５１            タグ側アンテナ
２１２            送信部（送信手段）
２１３            受信部（受信手段）
２１５Ａ          水晶振動子（搬送波発生手段）
２１５Ｂ          ＰＬＬ（搬送波発生手段）
２１５Ｃ          ＶＣＯ（搬送波発生手段）
２１６            送信乗算回路（指令生成手段）
Ｔ                無線タグ
Ｔo               無線タグ回路素子
【図１】
0004482942.tif 000002
【図２】
0004482942.tif 000003
【図３】
0004482942.tif 000004
【図４】
0004482942.tif 000005
【図５】
0004482942.tif 000006
【図６】
0004482942.tif 000007
【図７】
0004482942.tif 000008
【図８】
0004482942.tif 000009
【図９】
0004482942.tif 000010
【図１０】
0004482942.tif 000011
【図１１】
0004482942.tif 000012
【図１２】
0004482942.tif 000013
【図１３】
0004482942.tif 000014
【図１４】
0004482942.tif 000015
【図１５】
0004482942.tif 000016
【図１６】
0004482942.tif 000017
【図１７】
0004482942.tif 000018