以下、本発明の実施形態を添付図面を参照しつつ説明する。
図1は、本発明の無線通信方法の一実施形態を適用したRFIDシステムを示すブロック図である。このRFIDシステムでは、リーダーライター1及び無線タグ2を備えており、通信周波数を変更してホッピングさせながら双方向の無線通信を行う。
リーダーライター1は、通信周波数を変更してホッピングさせ、ホッピングの度に、そのときの通信周波数の電波を送信し、同じ通信周波数の電波を受信して復調する。無線タグ2は、一般的なバッテリーレスのパッシブ型のものであり、リーダーライター1からの電波を受信すると、この受信電波を電力に変換し、この電力により動作する。また、この無線タグ2では、リーダーライター1からの電波を受信すると、アンテナのインピーダンスを制御して、このアンテナによる受信電波の反射率を変化させ、これにより送信電波を発生させる。
従って、リーダーライター1側で通信周波数が設定され、これに無線タグ2側の通信周波数が追従することになる。
リーダーライター1は、制御部11、発振器12、変調器13、パワーアンプ14、サーキュレータ15、アンテナ16、復調器17、アナログデジタル変換器18、データ復号器19、受信電力測定器20、及び受信雑音電力測定器21を備えている。
制御部11は、CPU、メモリ、及びインターフェース等からなり、リーダーライター1全体を制御する。
具体的には、制御部11は、乱数等を用いて、通信周波数をホッピングさせて設定し、発振器12を駆動制御して、この設定した通信周波数の搬送波信号を発振器12から出力させる。この発振器12の通信周波数の搬送波信号は、変調器13及び復調器17に加えられる。また、制御部11は、無線タグ2との間で行われる通信プロトコルに準じた送信データを変調器13に出力する。
変調器13は、制御部11からの送信データ及び発振器12からの通信周波数の搬送波信号を入力すると、送信データに応じて搬送波信号を変調し、送信データを示す送信信号を形成して出力する。この送信信号は、パワーアンプ14で増幅されてから、サーキュレータ15を通じてアンテナ16に加えられ、電波となってアンテナ16から送信される。
無線タグ2では、先に述べた様にリーダーライター1からの電波を受信すると、アンテナのインピーダンスを制御して、このアンテナによる受信電波の反射率を変化させ、これにより通信プロトコルに準じた受信データを示す送信電波を発生させる。
この無線タグ2からの電波は、リーダーライター1のアンテナ16で受信されて、受信信号となる。この受信信号は、サーキュレータ15を通じて復調器17に加えられる。復調器17は、アンテナ16からの受信信号及び発振器12からの通信周波数の搬送波信号を入力すると、通信周波数の搬送波信号を用いて、受信信号を復調し、無線タグ2からの受信データを示すアナログ信号を復調出力として形成し、このアナログ信号をアナログデジタル変換器18に出力する。アナログデジタル変換器18は、このアナログ信号を入力すると、このアナログ信号をA/D変換し、無線タグ2からの受信データを示すデジタル信号G1を形成して出力する。
データ復号器19は、アナログデジタル変換器18からのデジタル信号G1を入力すると、このデジタル信号G1を復号化し、無線タグ2からの受信データG2を再生して制御部11に出力する。また、受信電力測定器20は、アナログデジタル変換器18からのデジタル信号G1を入力すると、このデジタル信号G1から受信電力を求め、この受信電力を制御部11に通知する。更に、受信雑音電力測定器21は、アナログデジタル変換器18からのデジタル信号G1を入力すると、このデジタル信号G1から受信雑音電力を求め、この受信雑音電力を制御部11に通知する。
制御部11は、データ復号器19からの受信データG2を入力すると、この受信データG2を処理したり、受信データG2の誤り率を求める。また、制御部11は、受信データG2の誤り率、受信電力測定器20から通知された受信電力、及び受信雑音電力測定器21から通知された受信雑音電力の少なくとも1つを用いて、通信品質を判定し、この判定結果に基づいて、ホッピングにより設定される次の通信周波数を設定する。
ここでは、例えば2402〜2425MHzの周波数帯域(帯域幅が23MHz)で、1MHz単位で通信周波数を変更してホッピングさせながら双方向の無線通信を行う。従って、通信周波数は、24の通信周波数2402MHz、2403MHz、……、2425MHz、2425MHzのいずれかということになる。
リーダーライター1は、据付型のものであって、充分な通信能力を有しており、2402〜2425MHzの全帯域(帯域幅が23MHz)で通信が可能である。これに対して無線タグ2は、小型化が優先されるために、アンテナ等の利得と通信可能な周波数帯域がトレードオフの関係にあって、アンテナ等の利得の維持のために、通信可能な周波数帯域の幅がリーダーライター1の通信可能な帯域幅23MHzよりも狭くなっている。
このため、リーダーライター1側で通信周波数が無線タグ2の通信可能な周波数帯域の外へとホッピングされると、無線タグ2が通信不能になって、通信が中断してしまい、通信エラーが生じる。また、無線タグ2は、リーダーライター1からの受信電波を電力に変換して用いているので、ホッピングにより通信不能になると、電力供給が途絶えることになり、このために無線タグ2がリセットされてしまって、通信をやり直さなければならない。
そこで、本実施形態では、リーダーライター1側で通信周波数をホッピングさせるに際し、通信周波数が無線タグ2で通信可能な周波数帯域に収まる様にホッピングを制御している。このため、リーダーライター1の通信可能な2402〜2425MHzの全帯域で、無線タグ2が通信可能でなくても、無線タグ2が通信不能になることがない。
ただし、複数の無線タグ2の周波数帯域を2402〜2425MHzの全帯域に適宜に分散させて設定している。従って、リーダーライター1は、複数の無線タグ2との間で通信を行いつつ、2402〜2425MHzの全帯域で通信電力が偏らない様に通信周波数のホッピングを制御する必要がある。
次に、図2のフローチャート及び図3の通信周波数の遷移図を参照しつつ、リーダーライター1による通信周波数のホッピング制御の概略を説明する。
リーダーライター1では、通信可能な2402〜2425MHz内で、1MHz単位で通信周波数をランダムにホッピングさせて設定しつつ、送信データを送信し、無線タグ2からの受信データを待機している(ステップS101の検索モード)。
例えば、図3に示す様にリーダーライター1の通信可能な2402〜2425MHz内で、ホッピングにより通信周波数f(n)がf(1)、f(2)、……という様にランダムに変化する。尚、f(n)のnは、整数であって、時間に対応する。
このとき、通信周波数f(1)、f(2)、f(3)、f(4)が順次設定されても、これらの通信周波数f(1)〜f(4)が無線タグ2の通信可能な周波数帯域mから外れているため、リーダーライター1からの送信データが無線タグ2で受信されることがなく、受信データが無線タグ2から送信されることもない。従って、リーダーライター1では、無線タグ2からの受信データを受信することができず、このために無線タグ2が無いと判定して(ステップS102で「無」)、ステップS101の検索モードを繰り返す。
引き続いて、通信周波数f(5)が設定されると、この通信周波数f(5)が無線タグ2の通信可能な周波数帯域mに入っているため、リーダーライター1からの送信データが無線タグ2で受信され、受信データが無線タグ2から送信される。リーダーライター1では、無線タグ2からの受信データを受信すると、無線タグ2が有ると判定する(ステップS102で「有」)。
そして、リーダーライター1では、無線タグ2が有ると判定すると、ステップS101の検索モードにより検索された通信周波数f(5)からのホッピングを行って、通信周波数f(n)が無線タグ2の通信可能な周波数帯域mに収まる様に、例えば通信周波数f(6)、f(7)、f(8)を順次設定する(ステップS103の最適化モード)。このため、途中で通信不能になることがない。
リーダーライター1では、ステップS103の最適化モードに際し、無線タグ2とのデータ通信が終了したか否かを判定している(ステップS104)。そして、無線タグ2とのデータ通信が継続する限り(ステップS104で「継続」)、2402〜2425MHzの全帯域で通信電力が偏っているか否かを判定したり(ステップS105)、無線タグ2との通信が安定しているか否かを判定する(ステップS106)。このとき、通信周波数の全帯域で通信電力が偏っておらず(ステップS105で「偏り指数<第1閾値」)、かつ無線タグ2との通信が安定していなければ(ステップS106で「不安定」)、ステップS103の最適化モードを繰り返して、その度に、周波数帯域mに収まる通信周波数f(n)を設定することになる。
また、リーダーライター1では、通信周波数の全帯域で通信電力が偏っていない状態で(ステップS105で「偏り指数<第1閾値」)、無線タグ2との通信が安定して来ると(ステップS106で「安定」)、ステップS101の最適化モードにより設定された通信周波数f(8)からのホッピングを継続しつつ、無線タグ2の通信が安定する周波数帯域m0を求めて、この周波数帯域m0に通信周波数のホッピングを制限して、例えば通信周波数f(9)、f(10)、f(11)、f(12)を順次設定する(ステップS107の安定通信モード)。これにより、通信を安定的に継続することができ、通信量が多くても、通信を正常に行うことができる。
ステップS107の安定通信モードに際しても、無線タグ2とのデータ通信が継続する限り(ステップS107で「継続」)、通信周波数の全帯域で通信電力が偏っているか否かの判定(ステップS105)及び無線タグ2との通信が安定しているか否かの判定が行われる(ステップS106)。
リーダーライター1では、ステップS103の最適化モード又はステップS107の安定通信モードに際し、無線タグ2とのデータ通信が完了したならば(ステップS107で「完了」)、あるいは通信が完了していなくても、通信周波数の全帯域で通信電力が偏って来たならば(ステップS105で「偏り指数≧第1閾値」)、通信電力の偏りを補正するために、周波数帯域m0の外へと通信周波数をホッピングさせて、例えば通信周波数f(13)、f(14)、f(15)、……を順次設定する(ステップS108の偏り補正モード)。これにより、通信周波数の全帯域での通信電力の偏りが補正される。
リーダーライター1では、ステップS108の偏り補正モードに際し、通信周波数の全帯域での通信電力の偏りが充分に補正されたか否かを判定している(ステップS109)。そして、通信周波数の全帯域での通信電力の偏りが充分に補正されていなければ(ステップS109で「偏り指数≧第2閾値」)、ステップS108の偏り補正モードを継続する。また、通信周波数の全帯域での通信電力の偏りが充分に補正されたならば(ステップS109で「偏り指数<第2閾値」)、ステップS102に戻る。
次に、図4のフローチャートを参照しつつ、図2のステップS101の検索モード(サブルーチン)を詳しく説明する。
リーダーライター1において、制御部11は、周知の方法で乱数Jを求め、この乱数Jを次式(1)に代入して、通信周波数f(n)を求めて設定する(ステップS201)。より詳しくは、通信周波数として用いられる24の通信周波数2402MHz、2403MHz、……、2425MHz、2425MHzのうちから、次式(1)により求められた値に最も近い通信周波数を通信周波数f(n)として設定する。これにより、24の通信周波数2402MHz〜2425MHzのうちの1つがランダムに選択されて、通信周波数f(n)が設定される。尚、乱数Jの代わりに、規定の数値表から求められる値、もしくは規定の符号系列から求められる値等を用いても良い。
f(n)=F+dF×J …(1)
ただし、Fは、リーダーライター1の通信可能な周波数帯域2402〜2425MHzの最低周波数2402MHzである。また、dFは、周波数帯域2402〜2425MHzの帯域幅23MHzである。更に、乱数Jは、0〜1の値である。
制御部11は、通信周波数f(n)を求めて設定すると、この通信周波数f(n)の搬送波信号を発振器12から変調器13へと出力させ、送信データを変調器13に出力する。変調器13は、送信データに応じて搬送波信号を変調し、送信データを示す送信信号を形成して出力する。この送信信号は、電波となってアンテナ16から送信される(ステップS202)。これにより、送信データを示す通信周波数f(n)の電波がアンテナ16から送信される。
このとき、復調器17は、通信周波数f(n)の搬送波信号を発振器12から入力し、搬送波信号を用いて、アンテナ16からの受信信号を復調し、アナログ信号を出力する。このアナログ信号がアナログデジタル変換器18でデジタル信号G1に変換され、このデジタル信号G1がデータ復号器19で復号化されて、受信データG2が求められる(ステップS203)。また、受信電力測定器20は、デジタル信号G1から受信電力を求める。更に、受信雑音電力測定器21は、デジタル信号G1から受信雑音電力を求める。
そして、制御部11は、受信データG2の誤り率、受信電力測定器20で求められた受信電力、及び受信電力測定器21で求められた受信雑音電力の少なくとも1つを用いて、通信品質Q(n)を判定する(ステップS204)。
例えば、データ復号器19の受信データG2(復号出力)に基づいて、ビット誤り率BRRやフレーム誤り率FERを求め、この誤り率の逆数を通信品質Q(n)とする。この様な誤り率は、受信データG2にCRC(Cyclic Redundancy Checking)等の巡回符号を付加しておくことにより求めることができる。
また、受信電力測定器20で求められた受信電力を通信品質Q(n)としても良い。例えば、図5に示す様にアナログデジタル変換器18からのデジタル信号G1の振幅の平均値を受信電力として測定することができる。この受信電力の範囲が−80(dBm)〜0(dBm)とすると、通信品質Q(n)=−80(dBm)のときに通信品質が最も低く、通信品質Q(n)=0(dBm)のときに通信品質が最も高い。
あるいは、受信雑音電力測定器21で受信雑音電力としてCNR(Carrier to Noise Ratio)を求め、このCNRの逆数を通信品質Q(n)とすることもできる。例えば、図6に示す様にアナログデジタル変換器18からのデジタル信号G1からデータ復号器19の受信データ(復号出力)G2を差し引くという演算によりCNRを求めることができる。
図7は、通信品質Q(n)と無線タグ2の通信可能な周波数帯域mとの関係を示すグラフである。このグラフに示す様に通信品質Q(n)は、無線タグ2の通信可能な周波数帯域mの中心周波数m1で最も高く、この中心周波数m1から離れる程、徐々に低くなる。
こうして制御部11は、通信周波数f(n)による送受信を行って、通信品質Q(n)を求めると、この通信品質Q(n)を記憶して保存する。そして、送受信を停止してから(ステップS205)、通信周波数f(n)のnを1つ歩進し更新して、次々回のnを設定し(ステップS206)、図2のステップS102に戻る。
この様な検索モードでは、例えば図3に示す様にホッピングにより通信周波数f(1)、f(2)、f(3)、f(4)がランダムに順次設定されて、その度に、リーダーライター1と無線タグ2間の通信プロトコルが試みられて、通信品質Q(n)が測定され、この通信品質Q(n)が記憶される。
また、ステップS202の送信開始からステップS206の送受信停止までに、リーダーライター1と無線通信タグ2との間で通信プロトコルが正常に行われると、両者間でデータが送受され、図2のステップS102において無線タグ2が有ると判定される。また、リーダーライター1と無線通信タグ2との間で通信プロトコルが成立しなければ、両者間でデータが送受されず、図2のステップS102において無線タグ2が無いと判定される。
次に、図8のフローチャートを参照しつつ、図2のステップS103の最適化モード(サブルーチン)を詳しく説明する。
最適化モードでは、ホッピングによる通信周波数のシフト方向とシフト幅を設定し、この設定されたシフト方向とシフト幅で今回の通信周波数f(n-1)をホッピングさせて、次回の通信周波数f(n)を求めて設定している。これを繰り返すことにより、最適化モードの通信周波数のホッピングが行われる。
リーダーライター1において、制御部11は、測定した今回の通信品質Q(n-1)と前回の通信品質Q(n-2)を既に記憶しており、これらの通信品質Q(n-1)とQ(n-2)を比較する(ステップS301)。そして、制御部11は、今回の通信品質Q(n-1)が前回の通信品質Q(n-2)よりも低下していれば(ステップS301で「Q低下」)、ホッピングによる通信周波数のシフト方向の反転を示す−Dを設定する(ステップS302)。これは、ホッピングによる通信周波数のシフト方向をそのまま維持していたのでは、次回の通信周波数f(n)での通信品質Q(n)がより低下してしまうので、シフト方向を反転させるためである。
引き続いて、制御部11は、最適化モードでのホッピングによる通信周波数の最大シフト幅Aに収束定数dAを掛けて、最大シフト幅Aを変更する(ステップS303)。収束定数dAは、例えば1<dA<2の範囲で設定され、後述するステップS312において該収束定数dAで最大シフト幅Aを割って、最大シフト幅Aを収束させるために用いられる。従って、ステップS303においては、前回のステップS312における最大シフト幅Aの収束を無効にすることになる。これは、今回の通信品質Q(n-1)が前回の通信品質Q(n-2)よりも低下していることから、ホッピングによる通信周波数のシフト方向を反転させるだけではなく、最大シフト幅Aの収束を無効にして、ホッピングによる通信周波数の該反転されたシフト方向へのシフト幅を維持するか大きくし、次回の通信周波数f(n)を前回の通信周波数f(n-2)側に大きくシフトさせて、次回の通信周波数f(n)での通信品質Q(n)を元へと戻すためである。
この後、制御部11は、周知の方法で乱数Jを求め、今回の通信周波数f(n-1)、乱数J、ステップS302で設定した−D、及びステップS303で求めた最大シフト幅Aを次式(2)に代入して、次回の通信周波数f(n)を求めて設定する(ステップS304)。ここでも、上記式(1)と同様に、通信周波数として用いられる24の通信周波数2402MHz、2403MHz、……、2425MHz、2425MHzのうちから、次式(2)により求められた値に最も近い通信周波数を通信周波数f(n)として設定する。
f(n)←f(n-1)+D(A×J+1) …(2)
ただし、乱数Jは、0〜1の値である。また、最大シフト幅Aは、例えば15MHzを初期値として設定される。更に、上記式(2)では、A×Jの値に1を加算することにより、D(A×J+1)の値が0にならない様にして、次回の通信周波数f(n)が今回の通信周波数f(n-1)と同一になることを回避している。
また、制御部11は、今回の通信品質Q(n-1)が前回の通信品質Q(n-2)よりも向上していれば(ステップS301で「Q向上」)、ホッピングによる通信周波数のシフト方向を変更する必要がなく、最大シフト幅Aの収束を無効にする必要がないので、ステップS302、S303を経由せずに、ステップS304に移る。そして、制御部11は、今回の通信周波数f(n-1)、乱数J、ホッピングによる通信周波数のシフト方向の非反転を示すD、及び最大シフト幅Aを上記式(2)に代入して、次回の通信周波数f(n)を求めて設定する。
例えば、図3及び図7に示す様に通信周波数f(5)から通信周波数f(6)へとホッピングしたときには、通信周波数が無線タグ2の通信可能な周波数帯域mの中心周波数m1へと近づくので、今回の通信品質Q(5)が前回の通信品質Q(6)よりも向上する。この場合は、ホッピングによる通信周波数のシフト方向を変更せず、最大シフト幅Aの収束を無効にせず、前回と同じ方向により小さく通信周波数をシフトさせて、次回の通信周波数f(7)を設定することになる。
更に、通信周波数f(6)から通信周波数f(7)へとホッピングしたときには、通信周波数が無線タグ2の通信可能な周波数帯域mの中心周波数m1から離れるので、今回の通信品質Q(6)が前回の通信品質Q(7)よりも低下する。この場合は、ホッピングによる通信周波数のシフト方向を変更し、かつ最大シフト幅Aの収束を無効にし、前回とは逆方向に通信周波数を大きくシフトさせて、次回の通信周波数f(8)を設定することになる。
この結果、ホッピングにより通信周波数f(n)が通信周波数f(5)、f(6)、f(7)、f(8)という様に順次設定されて、この通信周波数f(n)が無線タグ2の通信可能な周波数帯域mの中心へと徐々に収束して行く。
こうして制御部11は、次回の通信周波数f(n)を求めて設定すると、次回の通信周波数f(n)がリーダーライター1の通信可能な2402〜2425MHzの周波数帯域に入っているか否かを確認してから(ステップS305で「YES」)、次のステップS307に移る。
また、制御部11は、上記式(2)により求められた次回の通信周波数f(n)がリーダーライター1の通信可能な周波数帯域から外れていれば(ステップS305で「NO」)、今回の通信周波数f(n-1)、ホッピングによる通信周波数のシフト方向の反転を示す−D、及び最大シフト幅Aを次式(3)に代入して、次回の通信周波数f(n)を修正して再設定する(ステップS306)。ここでも、上記式(1)と同様に、通信周波数として用いられる24の通信周波数2402MHz、2403MHz、……、2425MHz、2425MHzのうちから、次式(3)により求められた値に最も近い通信周波数を通信周波数f(n)として設定する。次式(3)は、上記式(2)の乱数J(0〜1)を削除したものに相当する。このため、次式(3)により求められた通信周波数f(n)は、上記式(2)により求められた次回の通信周波数f(n)がリーダーライター1の通信可能な周波数帯域から外れてしまった周波数幅以上に該周波数帯域側にシフトされて、この周波数帯域に戻されたものとなる。
f(n)←f(n-1)−D(A+1) …(3)
この後、制御部11は、次回の通信周波数f(n)の搬送波信号を発振器12から変調器13へと出力させ、送信データを変調器13に出力し、送信データを示す通信周波数f(n)の電波をアンテナ16から送信させる(ステップS307)。
このとき、復調器17は、次回の通信周波数f(n)の搬送波信号を発振器12から入力して、アンテナ16からの受信信号を復調し、アナログ信号を出力する。このアナログ信号がアナログデジタル変換器18でデジタル信号G1に変換され、このデジタル信号G1がデータ復号器19で復号化されて、受信データG2が求められる(ステップS308)。また、受信電力測定器20により受信電力が求められ、受信雑音電力測定器21により受信雑音電力が求められる。
そして、制御部11は、図2のステップS204と同様に、受信データG2の誤り率、受信電力測定器20で求められた受信電力、及び受信電力測定器21で求められた受信雑音電力の少なくとも1つを用いて、通信品質Q(n)を判定する(ステップS309)。
こうして制御部11は、通信周波数f(n)による送受信を行って、通信品質Q(n)を求めると、この通信品質Q(n)を記憶して保存する。そして、送受信を停止してから(ステップS310)、通信周波数f(n)のnを1つ歩進し更新して、次々回のnを設定する(ステップS311)。
また、制御部11は、最適化モードでのホッピングによる通信周波数の最大シフト幅Aを収束定数dAで割って、最大シフト幅Aを更新する(ステップS312)。先に述べた様に1<dA<2であるから、この更新により最大シフト幅Aが小さくなる。また、最適化モードが繰り返されることにより、最大シフト幅Aが収束して行く。
ただし、先に述べた様に今回の通信品質Q(n-1)が前回の通信品質Q(n-2)よりも低下していれば(ステップS301で「Q低下」)、シフト方向の反転を示す−Dを設定し(ステップS302)、最大シフト幅Aに収束定数dAを掛けて、最大シフト幅Aを変更する(ステップS303)。従って、この場合は、今回の最適化モードのステップS308で更新される以前の前回の最大シフト幅Aが用いられることになり、これにより最大シフト幅Aの収束が抑えられる。
この後に、図2のステップS104に戻る。
この様に最適化モードでは、ホッピングにより通信周波数f(n)が無線タグ2の通信可能な周波数帯域mの中心へと徐々に収束して行く。
尚、ここでは、今回の通信品質Q(n-1)と前回の通信品質Q(n-2)との比較に基づいて、ホッピングによる通信周波数のシフト方向を設定しているが、今回の通信品質Q(n-1)が一定値以上であるか否かを判定し、この判定に基づいて、ホッピングによる通信周波数のシフト方向を設定しても良い。すなわち、今回の通信品質Q(n-1)が一定値以上であるという場合は、次回の通信周波数f(n)を、前回の通信周波数f(n-2)から今回の通信周波数f(n-1)への周波数シフト方向にシフトさせ、最大シフト幅Aの収束を抑えない。また、今回の通信品質Q(n-1)が一定値以上でないという場合は、次回の通信周波数f(n)を、前回の通信周波数f(n-2)から今回の通信周波数f(n-1)への周波数シフト方向とは逆方向にシフトさせ、最大シフト幅Aの収束を抑える。
次に、図9のフローチャートを参照しつつ、図2のステップS107の安定通信モード(サブルーチン)を詳しく説明する。
安定通信モードに入るには、図2のステップS106において無線タグ2との通信が安定して来たと判定されねばならない。例えば、図8のステップS312で更新される最大シフト幅Aが一定値(例えば3)以下になったときに、無線タグ2との通信が安定して来たと判定することができる。また、通信品質Q(n)が安定しているか否かに基づいて、無線タグ2との通信が安定して来たか否かを判定しても良い。
そして、安定通信モードに入ると、無線タグ2の通信が安定する周波数帯域m0を求めて、この周波数帯域m0内で通信周波数をホッピングさせる。
リーダーライター1において、制御部11は、10回前の通信品質Q(n-10)〜今回の通信品質Q(n-1)を少なくとも記憶しており、この10の通信品質のうちから一定レベル(例えば−20(dBm))以上の通信品質を選択し、この選択した通信品質品を得たときの通信周波数を求める。そして、この求めた通信周波数の最大値をFmaxとし、最小値をFminとし、無線タグ2の通信が安定する周波数帯域m0をFmin〜Fmaxとする(ステップS401)。従って、Fmin≦m0≦Fmaxである。
制御部11は、無線タグ2の通信が安定する周波数帯域m0を設定すると、乱数Jを次式(4)に代入して、次回の通信周波数f(n)を求めて設定する(ステップS402)。ここでも、上記式(1)と同様に、通信周波数として用いられる24の通信周波数2402MHz、2403MHz、……、2425MHz、2425MHzのうちから、次式(4)により求められた値に最も近い通信周波数を通信周波数f(n)として設定する。
f(n)=J(Fmax−Fmin)+Fmin …(4)
次式(4)によれば、周波数帯域m0の帯域幅と乱数J(0〜1)の積に通信周波数の最小値Fminを加算して、次回の通信周波数f(n)を求めているので、通信周波数f(n)が無線タグ2の通信が安定する周波数帯域m0内で設定されることになる。例えば、図3に示す様に無線タグ2の通信が安定する周波数帯域m0内で、通信周波数f(n)がf(9)、f(10)、f(11)、f(12)という様に順次設定される。
こうして制御部11は、次回の通信周波数f(n)を求めると、次回の通信周波数f(n)の搬送波信号を発振器12から変調器13へと出力させ、送信データを変調器13に出力し、送信データを示す通信周波数f(n)の電波をアンテナ16から送信させる(ステップS403)。
このとき、復調器17は、次回の通信周波数f(n)の搬送波信号を発振器12から入力して、アンテナ16からの受信信号を復調し、アナログ信号を出力する。このアナログ信号がアナログデジタル変換器18でデジタル信号G1に変換され、このデジタル信号G1がデータ復号器19で復号化されて、受信データG2が求められる(ステップS404)。
そして、制御部11は、図4のステップS204と同様に、受信データG2の誤り率、受信電力測定器20で求められた受信電力、及び受信電力測定器21で求められた受信雑音電力の少なくとも1つを用いて、通信品質Q(n)を判定し、この通信品質Q(n)を記憶して保存する(ステップS405)。
更に、制御部11は、送受信を停止してから(ステップS406)、通信周波数f(n)のnを1つ歩進し更新して、次々回のnを設定し(ステップS407)、図2のステップS104に戻る。
この様に安定通信モードでは、無線タグ2の通信が安定する周波数帯域m0内で通信周波数をホッピングさせるので、通信を安定的に継続することができ、通信量が多くても、通信を正常に行うことができる。
次に、図10フローチャートを参照しつつ、図2のステップS107の安定通信モード(サブルーチン)の他の例を詳しく説明する。
リーダーライター1において、制御部11は、測定した今回の通信品質Q(n-1)と前回の通信品質Q(n-2)を比較する(ステップS501)。そして、制御部11は、今回の通信品質Q(n-1)が前回の通信品質Q(n-2)よりも低下していれば(ステップS501で「Q低下」)、ホッピングによる通信周波数のシフト方向の反転を示す−Dを設定する(ステップS502)。これは、ホッピングによる通信周波数のシフト方向をそのまま維持していたのでは、次回の通信周波数f(n)での通信品質Q(n)がより低下するためである。
また、制御部11は、今回の通信品質Q(n-1)が前回の通信品質Q(n-2)よりも向上していれば(ステップS503で「Q向上」)、ホッピングによる通信周波数のシフト方向を変更する必要がないので、ステップS502を経由しない。
この後、制御部11は、周知の方法で乱数Jを求め、今回の通信周波数f(n-1)、乱数J、D又は−D、及び安定通信でのホッピングによる通信周波数の最大シフト幅Aを上記式(2)に代入して、次回の通信周波数f(n)を求めて設定する(ステップS503)。ただし、最大シフト幅Aは、最適化モードでの最大シフト幅Aの値よりも小さくされ、例えば3MHzに設定される。
そして、制御部11は、無線タグ2の通信が安定する周波数帯域m0(Fmin≦m0≦Fmax)に、次回の通信周波数f(n)が入ることを確認してから(ステップS504で「YES」)、次のステップS506に移る。
また、制御部11は、無線タグ2の通信が安定する周波数帯域m0(Fmin≦m0≦Fmax)から次回の通信周波数f(n)が外れていれば(ステップS504で「NO」)、今回の通信周波数f(n-1)、ホッピングによる通信周波数のシフト方向の反転を示す−D、及び最大シフト幅Aを上記式(3)に代入して、次回の通信周波数f(n)を修正して再設定する(ステップS505)。これにより、次回の通信周波数f(n)が無線タグ2の通信が安定する周波数帯域m0から外れてしまった周波数幅以上に該周波数帯域m0側にシフトされて、この周波数帯域m0に戻されたものとなる。
この後、制御部11は、次回の通信周波数f(n)を用いて、データの送受信を試みる(各ステップ506、S507)。そして、制御部11は、図2のステップS204と同様に、受信データG2の誤り率、受信電力測定器20で求められた受信電力、及び受信電力測定器21で求められた受信雑音電力の少なくとも1つを用いて、通信品質Q(n)を判定する(ステップS508)。
こうして制御部11は、通信周波数f(n)による送受信を行って、通信品質Q(n)を求めると、この通信品質Q(n)を記憶して保存する。更に、送受信を停止してから(ステップS509)、通信周波数f(n)のnを1つ歩進し更新して、次々回のnを設定し(ステップS510)、図2のステップS104に戻る。
この様な図10のフローチャートの処理は、図8のフローチャートの最適化モードにおける最大シフト幅Aを収束させずに固定したものと同等である。
次に、図11のフローチャートを参照しつつ、図2のステップS108の偏り補正モード(サブルーチン)を詳しく説明する。
偏り補正モードに入るには、図2のステップS104において通信が完了したと判定されるか、ステップS105においてリーダーライター1の通信可能な通信周波数の全帯域で通信電力が偏って来たと判定されねばならない。通信電力が偏って来たと判定されるには、例えば240回前の通信周波数f(n-240)〜今回の通信周波数f(n-1)に基づいて、24の通信周波数2402MHz、2403MHz、……、2425MHz、2425MHz別に、通信周波数として用いられた使用頻度を求め、最小の使用頻度と最大の使用頻度との差を偏り指数とし、この偏り指数が第1偏り閾値以上のときに、通信電力が偏ったと判定する。ここでは、過去の使用回数が240回であって、24の通信周波数が用いられるので、24の通信周波数のいずれについても、使用頻度が10であれば、偏り指数が0となる。また、最小の使用頻度が0であって、最大の使用頻度が30であれば、偏り指数が30となる。第1偏り閾値が6であれば、偏り指数が30のときには、偏り指数30が第1偏り閾値6以上となるため、通信電力が偏っていると判定される。
そして、偏り補正モードに入ると、24の通信周波数のうちの最小の使用頻度のものから優先的に選択されて用いられる。
リーダーライター1において、制御部11は、24の通信周波数のうちの最小の使用頻度のもの選択し、この選択した通信周波数を次回の通信周波数f(n)として求めて設定する(ステップS601)。
そして、制御部11は、次回の通信周波数f(n)が今回の通信周波数f(n-1)と一致しないことを確認してから(ステップS602で「f(n)≠f(n-1)」)、次のステップS604に移る。
また、制御部11は、次回の通信周波数f(n)が今回の通信周波数f(n-1)と一致すると(ステップS602で「f(n)=f(n-1)」)、24の通信周波数のうちの2番目に小さな使用頻度のもの選択し、この選択した通信周波数を次回の通信周波数f(n)として再設定する(ステップS603)。これにより、次回の通信周波数f(n)と今回の通信周波数f(n-1)が一致することが回避される。
この後、制御部11は、次回の通信周波数f(n)を用いて、データの送受信を試みる(各ステップ604、S605)。そして、制御部11は、図2のステップS204と同様に、受信データG2の誤り率、受信電力測定器20で求められた受信電力、及び受信電力測定器21で求められた受信雑音電力の少なくとも1つを用いて、通信品質Q(n)を判定する(ステップS606)。
こうして制御部11は、通信周波数f(n)による送受信を行って、通信品質Q(n)を求めると、この通信品質Q(n)を記憶して保存する。更に、送受信を停止してから(ステップS607)、通信周波数f(n)のnを1つ歩進し更新して、次々回のnを設定し(ステップS608)、図2のステップS109に戻る。
図2のステップS109では、通信電力の偏りが充分に補正されたか否かを判定している。ここで、通信電力の偏りが充分に補正されていないと判定された場合は、ステップS108及び図11のフローチャートの偏り補正モードに戻る。従って、ステップS109において通信電力の偏りが充分に補正されたと判定されるまでは、偏り補正モードが繰り返されることになる。
例えば、第2偏り閾値が4であれば、偏り指数が4以上である限り(ステップS109で「偏り指数≧第2閾値」)、通信電力の偏りが充分に補正されていないと判定されて、ステップS108及び図11のフローチャートの偏り補正モードが繰り返され、また偏り指数が4未満になると(ステップS109で「偏り指数<第2閾値」)、通信電力の偏りが充分に補正されたと判定されて、図2のステップS102に戻る。
第2偏り閾値(=4)を第1偏り閾値(=6)よりも小さくしたのは、仮に第2偏り閾値と第1偏り閾値を一致させると、通信電力の偏りが補正されても、この後の最適化モードにおいて偏り指数が第1偏り閾値を直ちに超えてしまって、偏り補正モードに直ぐに戻ってしまう可能性があるためである。
この様に本実施形態では、検索モードで通信周波数をf(n)ホッピングさせて、通信可能な通信周波数f(n)を検索し、引き続いて最適化モードで通信周波数f(n)が無線タグ2の通信可能な周波数帯域mに収まる様にホッピングを制御しているので、リーダーライター1の通信可能な通信周波数の全帯域で、無線タグ2が通信可能でなくても、無線タグ2の通信可能な通信周波数を見つけ出して、通信周波数を無線タグ2の通信可能な周波数帯域mに収めることができ、途中で通信不能になることがない。そして、安定通信モードでは、無線タグ2の通信が安定する通信周波数帯域m0を求め、この通信が安定する通信周波数帯域m0で通信周波数f(n)をホッピングさせているので、通信を安定的に継続することができ、通信量が多くても、通信を正常に行うことができる。更に、偏り補正モードでは、リーダーライター1の通信可能な通信周波数帯域の通信電力の偏りを補正しているので、最適化モード及び安定通信モードで通信電力の偏りが生じても、これを解消することができる。
尚、本発明は、上記実施形態に限定されるものではなく、多様に変形することができる。例えば、通信周波数f(n)を求めるための上記式(1)〜(4)を適宜に変更しても良い。
また、無線タグとして、バッテリーレスのパッシブ型のものを例示しているが、バッテリーを有するパッシブ型のものあっても、あるいはアクティブ型のものであっても、リーダーライターの通信可能な通信周波数帯域よりも無線タグの通信可能な通信周波数帯域の方が狭ければ、本発明を適用することができる。
更に、RFIDシステムだけではなく、通信周波数をホッピングさせる携帯電話機等の他の無線通信システムにも、本発明を適用することができる。本来は携帯電話機の通信周波数帯域が無線基地局の通信周波数帯域と同等であっても、携帯電話機そのものが移動すると、電波の伝播状況が変化して、送受信可能な通信周波数が時々刻々と変化するので、無線通信に用いられる通信周波数の全帯域で、常に通信可能であるとは限らず、本発明を適用することができる。