以下、添付する図面を参照して、本発明の好適な実施形態について説明する。
(第1の実施形態)
第1の実施形態では、無線通信機能つきの複写機を例に用いて説明する。なお、本発明は複写機に限らず、プリンタやカメラ等、他のデバイスに適応することも可能である。
図4は、本実施形態の複写機の使用状況を示す。同図において、401は通信相手である無線LANアクセスポイント(AP)、402はMIMO通信部404やユーザーが各種入力を行うための入力部405を持つ複写機、403は電波を遮蔽するパーテーションを示す。
ここで、MIMO通信部404は、複写機402に内蔵されていてもよいし、複写機402に対して着脱可能な装置であってもよい。
図6を用いて、本実施形態のMIMO通信部404の動作について簡単に説明する。
本実施形態のMIMO通信部404が空間多重通信を行う際に使用できる最大ストリーム数は2である。通常、MIMO通信を行う場合、使用できるストリーム数の上限とアンテナの本数は同じである。しかしながら、本実施形態のMIMO通信部404は、図6(a)に示すように、最大ストリーム数である2よりも多い、3本のアンテナ601と3つのストリーム送受信処理部602を有する。
これにより、通信品質が良好でないアンテナが生じた場合であっても、すぐさま通信のパフォーマンスが低下してしまうことを防止できる。
アンテナ601とストリーム送受信処理部602は、アンテナ601−1とストリーム送受信処理部602−1、アンテナ601−2とストリーム送受信処理部602−2というように一対一対応で接続されている。
送信時、MAC処理部603は、インターフェイス部(I/F)604で受けた複写機402からの送信データをフレーム化し、各ストリームにデータを配分し、各々のストリームをストリーム送受信処理部602に送信する。各ストリーム送受信処理部602はMAC処理部603から渡されたストリーム単位のデータに送信処理を施し、各アンテナ601で各々のストリームを送信する。
ここで送信するデータは、例えばユーザーから複写機402への指示によって、複写機402の不図示のスキャナ部によって読み込まれたデータである。
一方、受信時には、各アンテナ601で受信したデータは各々のストリーム送受信処理部602で受信処理を行う。ストリーム送受信処理部602は受信データをMAC処理部603に送信する。MAC処理部603は複数のストリーム情報から元のデータを取り出し、インターフェイス部604を経由し、受信データによって示された複写機402内の不図示の各部または複写機402の不図示の中央処理装置にデータを送信する。
複写機402では、MIMO通信部404からのデータを例えば不図示の中央処理装置によってプリント用のデータに変換し、不図示のプリント部からプリントを行う。
605は、制御部であり下記に示すフローチャートを実行する。また、606は記憶部であり、下記に示すフローチャートに対応する制御を実行する際に必要なデータ等の記憶を行っている。なお、図4では、各アンテナ同士が離れた位置に設置し、複写機の設置位置の影響により、全てのアンテナの受信強度が低くなってしまうことを予防する。図4では、パーテーション403の影響により、無線LANアクセスポイント401からの信号を受信する各アンテナ601の受信強度が異なるものとする。図に示すように、アンテナ601‐1の受信強度は「大」、アンテナ601‐2の受信強度は「中」、アンテナ601‐3の受信強度は「小」である。このような場合、アンテナ601‐3を使用してMIMO通信を行うと、エラーが多く発生し、伝送レートが低くなる。しかしながら、アンテナ601‐3を使用せずに、アンテナ601‐1、アンテナ601‐2を使用してMIMO通信を行えば、使用するアンテナに601‐3が含まれる場合よりも、伝送レートを高くすることができる。
次に、図11に本実施形態のMIMO通信部404の機能ブロック図を示す。
受信部1101および送信部1102は、アンテナ601、ストリーム送受信処理部602で構成され、アクセスポイント401からの報知信号やデータなどの信号を送受信する。
判定部1103は、MAC処理部603や制御部605で構成され、アクセスポイント401とのMIMO通信状況の判定を行う。記憶部1104は、記憶部606で構成され、受信強度を記憶している。
探索部1105は、MAC処理部603や制御部605で構成され、アクセスポイント401からの報知信号を、受信部1101を用いて探索する。接続部1106は、MAC処理部603で構成され、探索部1105の結果を用いてアクセスポイント401に無線接続を行う。
選択部1107は、MAC処理部603や制御部605で構成され、無線通信を行うのに最適なアンテナ選択を行う。また、測定部1108は、アンテナ601、ストリーム送受信処理部602、MAC処理部603および制御部605で構成され、信号の受信強度を測定する。また、切替部1109は、MAC処理部603および制御部605で構成され、第1の通信を行うか、第2の通信を行うかを切り替える。ここで、第1の通信とは、下記に述べるIEEE802.11nのドラフトに定義されたアンテナセレクションを行ったアンテナを用いて通信を行うことを言う。また、第2の通信とは、予め決められている所定のアンテナを用いて通信を行うことを言う。
無線接続するアクセスポイント401を探索する手順について、図1および図2に示すフローチャートを用いて説明する。該探索手順は接続部1106によって、行われる。
また、該探索手順は複写機の電源がオンになった時点で行われてもよいし、複写機がデータ通信を行うために、MIMO通信部404が無線接続をする時点で行われてもよい。
探索時には、複数のアンテナ601のうち、任意の1本のアンテナ601を選択しアクセスポイント401を探索する場合と、複数のアンテナ601を用いてアクセスポイント401を探索する場合とがある。
まず、任意の1本のアンテナ601を選択する場合について、図1のフローチャートを用いて説明する。
ステップS101において、通信相手であるアクセスポイント401の接続情報が予め記憶されているかどうかを確認する。ここで、接続情報とは、接続すべきネットワーク名やアクセスポイント401の情報である。また、該接続情報は、記憶部606に記憶されていてもよいし、複写機402内の不図示の各部に記憶されていてもよい。
ステップS101において接続情報を記憶していれば、ステップS103に進み、アクセスポイント401を探索する。ステップS101において、アクセスポイント401の接続情報を記憶していない場合は、ステップS102に進む。
ステップS102では、接続情報を複写機402内の入力部405を用いてユーザーに入力させることによって、接続情報を取得した後に、ステップS103に進み、アクセスポイント401を探索する。
ステップS103において、探索部1105がアクセスポイント401を探索する際に、任意のアンテナ601を選択し、受信部1101がアクセスポイント401からの報知信号を受信する。ここで、任意とは、既定のアンテナを用いてもよいし、ランダムなアンテナを用いてもよい。また、報知信号とは、例えばビーコンや、探索要求に応答する応答信号のことである。ビーコンとはアクセスポイント401から定期的に報知されている信号のことである。ここではアンテナ601−1を選択したとする。
MAC処理部603が指定したチャネルで、ストリーム送受信処理部602−1は報知信号を探索する。報知信号が受信できた場合には、受信した報知信号と、その受信信号をMAC処理部603に送る。
ここで、チャネルとはアクセスポイント401とMIMO通信部404との間で通信する際に使用する周波数チャネルのことである。
MAC処理部603はストリーム送受信処理部602−1に次のチャネルを指定し、報知信号を探索させ、報知信号が受信できた場合には、受信した報知信号と、その受信信号をMAC処理部603に送る。このようにして、全チャネルでの報知信号探索後、探索した報知信号の中に、接続先が送信している報知信号が存在するか否かを確認する。
ここで、全チャネルとは、例えばIEEE802.11aやIEEE802.11gで用いられる周波数帯域に割り当てられている全てまたは一部のチャネルのことを言う。
所望のアクセスポイント401が送信している報知信号を見つけた場合には、ステップS104に進む。ステップS104では、当該アクセスポイント401が送信している報知信号を、アンテナを切り替えて該アンテナ1本で受信し、該報知信号の受信強度を測定部1108で測定して、記憶部606に記憶する。
上記の例では、既にアンテナ601−1は報知信号を受信しているので、MAC処理部603は、アクセスポイント401が送信している報知信号の受信をアンテナ601−2に切り替える。そして、アンテナ601−2における報知信号の受信強度を測定部1108で測定して、記憶部606に記憶させる。次にMAC処理部603は、アクセスポイント401が送信している報知信号の受信をアンテナ601−3に切り替えて行い、報知信号の受信強度を測定部1108で測定して、記憶部606に記憶させる。
以上のようにして、全てのアンテナ601−1、601−2、601−3で報知信号を受信させ、それぞれの受信強度を記憶部1104に記憶させる。
ステップS105では、ステップS104で記憶した受信強度を比較し、最も受信強度の高いアンテナを無線接続時に用いるアンテナとして選択する。説明のためにアンテナ601−1を選択したものとする。
ステップS106では、接続部1106が、該選択したアンテナ601−1を用いてアクセスポイント401への無線接続を行う。
次に、複数のアンテナ601を用いてアクセスポイント401を探索する場合について、図2のフローチャートを用いて説明する。なお、図1と同じステップについては同じ符号を付し、説明を省略する。
ステップS201において、探索部1105は、指定したチャネルの報知信号を全てのアンテナ601−1、601−2、601−3で探索する。探索部1105が報知信号を受信できた場合には、受信した報知信号とその受信強度をMAC処理部603に送信する。また、受信強度はさらに記憶部1104に送信され、記憶部1104に記憶される。
探索部1105は全てのアンテナ601−1、601−2、601−3に次のチャネルを指定し、同様に報知信号を探索させる。このようにして、全チャネルでの報知信号探索後、受信できた報知信号に対し所望のアクセスポイント401が送信している報知信号の有無を確認する。
所望のアクセスポイント401を見つけた場合は、ステップS105およびステップS106に進み、最も受信強度の高いアンテナを用いてアクセスポイント401と無線接続を行う。ここでは、最も受信強度の高いアンテナ601−1を用いてアクセスポイント401と無線接続をしたものとする。
次に、ステップS106によるアクセスポイント401への無線接続後に行う、アンテナ選択処理を実行すべきかの判定について、制御部605が実行する図3のフローチャートを用いて説明する。
該判定は、ステップS106による無線接続直後に行ってもよいし、無線接続後のデータ通信前に行ってもよい。
ステップS301において、アクセスポイント401がMIMO通信で使用することのできる最大ストリーム数と、MIMO通信部404の最大ストリーム数とを比較し、データ通信時のストリーム数を決定する。このとき例えば、アクセスポイント401が利用できるストリーム数と複写機に設定されているストリーム数の上限のうち、小さい方のストリーム数をデータ通信時のストリーム数として決定する。
例えば、アクセスポイント401の最大ストリーム数が3であり、MIMO通信部404の最大ストリーム数が2の場合は、通信時のストリーム数は送受信とも2と決定する。また、アクセスポイント401の最大ストリーム数が2であり、MIMO通信部404の最大ストリーム数が2の場合も、通信時のストリーム数は送受信とも2と決定する。また、アクセスポイント401がMIMO通信に未対応であり、最大ストリーム数が1の場合は、MIMO通信ができないので、通信時のストリーム数は送受信とも1と決定する。ここでは、アクセスポイント401の最大ストリーム数が2であり、MIMO通信部404の最大ストリーム数が2であり、通信時のストリーム数を送受信とも2と決定したとする。
なお、アクセスポイント401が使用できる最大ストリーム数は、アクセスポイント401との無線接続時に、アクセスポイント401から通知される。
無線接続に用いたアンテナ601−1は、ステップS105において受信強度の測定結果に応じて選択された、最も受信強度の高いアンテナである。従って、アンテナ601−1の受信強度が最大受信強度用の規定値よりも小さい場合は、複写機の周辺における電波的な環境が、あまり良くないと見なせる。
そこで、ステップS302において、切替部1109が、アクセスポイント401との無線接続に用いたアンテナ601−1の受信強度の測定結果を参照し、記憶部1104に予め記憶されている最大受信強度用規定値よりも小さいか否かを判定する。アンテナ601‐1の受信強度が最大受信強度用規定値よりも小さい場合には、ステップS305に進む。
一方、アンテナ601−1の受信強度の測定結果が最大受信強度用規定値以上であった場合には、ステップS303に進む。
ステップS303では、切替部1109が、各アンテナの受信強度のうち、最大のものと最小のものを比較する。このとき、最大と最小の強度差が、記憶部1104に予め記憶されている強度差用規定値よりも小さい場合は、複写機の周辺における電波的な環境にあまり差がないと見なし、ステップS304に進む。
ステップS304では、データ通信のためのMIMO用の送受信アンテナと、制御フレームなどのためのSISO(Single Input, Single Output)用の送信アンテナを予め決められている所定のアンテナで行うことに決定する。これは、複写機周辺における電波的な環境が良いため、わざわざIEEE802.11nのドラフトに定義されたアンテナセレクションを行う必要がないと考えられるからである。
ここで、所定のアンテナとは、製品出荷時に設定したアンテナでもよいし、ユーザーが設定したアンテナでもよい。また、ストリーム数やデータ内容に応じたアンテナを用いるようにしてもよい。
ここでは、ストリーム数が送受信とも2であることに応じて、MIMO用の送受信アンテナとしてアンテナ601−1とアンテナ601−3が設定されているものとする。また、SISO用の受信アンテナについてはステップS106で無線接続を行うために用いたアンテナを用いるように設定されている。これは、SISO用の受信アンテナについては、ステップS105において、受信状態の良好なアンテナが選ばれていると考えられるからである。
従って、ステップS304では、MIMO用の送受信アンテナとしてアンテナ601−1とアンテナ601−3が選択され、SISO用の受信アンテナとして、アンテナ601−1が選択される。
これにより、各アンテナの電波的な環境にあまり差がない時には、IEEE802.11nのドラフトに定義されたアンテナセレクションを行うことなく、良好なMIMO通信をすることが可能となる。
ステップS305では、制御フレーム用のSISO用送信アンテナの選択を実行するフラグをオンにする。
さらに、次にステップS306に進み、ステップS301で決定した通信に使用するストリーム数に従って、切替部1109が、データ通信用にどのアンテナ選択を実行するかを判定する。送信時のストリーム数が1であり、かつ受信時のストリーム数が1のときは、ステップS307に進み、すでにSISO用送信アンテナ選択のフラグがオンになっているので、SISO用受信アンテナ選択のフラグをオンにする。
ここで、フラグをオンにすると共に所定のSISO用送受信アンテナを暫定的に用いるアンテナとして選択しておいてもよい。ここでは、SISO用送受信アンテナとして、アンテナ601−1を暫定的に選択するとする。
一方、ステップS306で送信又は受信のストリーム数のうち、どちらか一方または両方が2以上のとき、ステップS308に進み、MIMO送信用アンテナ選択とMIMO受信用アンテナ選択のフラグをオンにする。
ここで、フラグをオンにすると共に所定のMIMO用送受信アンテナとSISO用送信アンテナを暫定的に用いるアンテナとして選択しておいてもよい。ここでは、ストリーム数が送受信とも2であることに応じて、MIMO用の送受信アンテナとしてアンテナ601−1とアンテナ601−3が、SISO用の送信アンテナとしてアンテナ601−1が所定のアンテナとして暫定的に選択されるものとする。
このように暫定的に用いるアンテナを選択しておくことにより、アンテナ選択フラグがオンになっている状態では、良好なMIMO通信は保証出来ないものの、暫定的にMIMO通信を行うことが可能となる。
次に、図3に示したアンテナ選択処理を実行すべきかの判定後に、制御部605が実行するアンテナ選択処理を、図7のフローチャートを用いて説明する。なお、図7に示したフローチャートは図3の処理後に実行される。
まず、ステップS701において、データ通信中であるかどうかを確認する。データ通信中でない場合、例えば無線接続中であるが送受のデータパケットが途切れたときには、ステップS702に進む。
これによって、データ通信を途切れさせることなく、アンテナ選択を行うことが可能となる。
ステップS702では、SISO用送信アンテナ選択フラグを確認し、オンになっていればステップS703に進み、オフ(オンでない)であればステップS705に進む。
ステップS703では、選択部1107がSISO用送信アンテナ選択を実行する。SISO用送信アンテナ選択処理の詳細については、後述する。SISO用送信アンテナ選択処理が終わると、ステップS704に進み、SISO用送信アンテナ選択フラグをオフにし、さらにステップS705に進む。
ステップS705では、MIMO用送信アンテナ選択フラグを確認し、オンになっていればステップS706に進み、オフであればステップS708に進む。
ステップS706では、選択部1107がMIMO用送信アンテナ選択を実行する。MIMO用送信アンテナ選択処理の詳細については、後述する。MIMO用送信アンテナ選択処理が終わると、ステップS707に進み、MIMO用送信アンテナ選択フラグをオフにし、さらにステップS708に進む。
ステップS708では、SISO用受信アンテナ選択フラグを確認し、オンになっていればステップS709に進み、オフであればステップS711に進む。
ステップS709では、選択部1107がSISO用受信アンテナ選択を実行する。SISO用受信アンテナ選択処理の詳細については、後述する。SISO用受信アンテナ選択処理が終わると、ステップS710に進み、SISO用受信アンテナ選択フラグをオフにし、さらにステップS711に進む。
ステップS711では、MIMO用受信アンテナ選択フラグを確認し、オンになっていればステップS712に進む。
ステップS712では、選択部1107がMIMO用受信アンテナ選択を実行する。MIMO用受信アンテナ選択処理の詳細については、後述する。SISO用受信アンテナ選択処理が終わると、ステップS713に進み、MIMO用受信アンテナ選択フラグをオフにする。
該アンテナ選択処理において、アンテナ選択フラグを確認する順番は、これに限るものではない。
ここで、選択部1107が実行するSISOまたはMIMO送信アンテナ選択の手順について、図5(a)のシーケンス図および図8のフローチャートを用いて説明する。
図5(a)は、送信アンテナ選択を実行する際のIEEE802.11nのドラフトに定義されたアンテナセレクションを表すシーケンス図である。また図8は、IEEE802.11nのドラフトに定義されたアンテナセレクションを用いて本実施の形態の送信アンテナ選択を行う際に、制御部605が実行するフローチャートである。
送信アンテナ選択を行う際には、まず、ステップS801でアクセスポイント401に対し、送信アンテナ選択要求を送信する。この送信アンテナ選択要求には、アクセスポイント401に送信する計測パケット数が含まれている。該計測パケット数は、SISO用アンテナを選択する場合においてはアンテナの本数分であり、MIMO用アンテナを選択する場合においてはアンテナの組合せ分である。また、該送信アンテナ選択要求は、S501に相当する。
該要求に対し、S502のようにアクセスポイント401から送信アンテナ選択許可が送られてくるので、ステップS802において該送信アンテナ選択許可を受信する。
ステップS803では、SISO用アンテナを選択する場合には、単純にアンテナを切り替えて計測パケットを送信する。ここでは、送信アンテナを601−1、601−2、601−3の順に切り替えて計測パケットを送信する。
一方、MIMO用のアンテナを選択する場合には、アンテナの組合せを変えてアンテナ選択を行う。ここでは、送信アンテナの組合せを(601−1、601−2)、(601−1、601−3)、(601−2、601−3)と切り替えて計測パケットを送信する。
なお、ステップS803における計測パケットの送信は、S503、S504、S505に相当する。
計測パケットを送信すると、S506に示すように、アクセスポイント401はそれぞれの受信品質の計測処理を行い、その結果得られる受信結果が一番良かった計測パケットの番号を送信してくるので、これをステップS804において受信する。ここでは、1番目の計測パケットが一番良かった番号として送信されてきたものとする。
ステップS805において、該送られた計測パケットの番号を送信したアンテナをSISO用またはMIMO送信用アンテナとして選択する。ここでは、MIMO送信用のアンテナとして、1番目の計測パケットが一番良かった番号として送信されているので、MIMO送信用のアンテナとして、アンテナ601−1と601−2の組合せを選択する。
次に、SISOまたはMIMO受信用アンテナ選択を実行する場合について図5(b)のシーケンス図および図9のフローチャートを用いて説明する。
図5(b)は、受信アンテナ選択を行う際に用いるIEEE802.11nのドラフトに定義されたアンテナセレクションを表すシーケンス図である。また、図9は受信アンテナ選択を行う際に制御部605が実行するフローチャートである。
受信アンテナ選択を行う際には、まず、ステップS901でアクセスポイント401に対し、受信アンテナ選択要求を送信する。この受信アンテナ選択要求には、アクセスポイント401が送信する計測パケット数が含まれている。該計測パケット数は、SISO用アンテナを選択する場合においてはアンテナの本数分であり、MIMO用アンテナを選択する場合においてはアンテナの組合せ分である。該受信アンテナ選択要求は、S510に相当する。
該要求に対し、S511のようにアクセスポイント401から受信アンテナ選択許可が送られてくるので、ステップS902において該受信アンテナ選択許可を受信する。
次に、アクセスポイント401から、S512、S513、S514のように要求した数の計測パケットが送られてくるので、ステップS903で、アンテナを切り替えて受信する。
このとき、SISO用アンテナを選択する場合には、単純にアンテナを切り替えて計測パケットを受信する。ここでは、受信アンテナを601−1、601−2、601−3の順に切り替えて計測パケットを受信する。
一方、MIMO用のアンテナを選択する場合には、アンテナの組合せを変えて計測パケットを受信する。ここでは、受信アンテナの組合せを(601−1、601−2)、(601−1、601−3)、(601−2、601−3)と切り替えて計測パケットを受信する。
受信後、ステップS904において、計測パケットの受信品質の計測処理を行い、最も受信品質の良かったアンテナをSISO用またはMIMO受信用アンテナとして選択する。ここでは、MIMO受信用アンテナとしてアンテナ601−1と601−2の組合せを選択するものとする。
以上のようにして、MIMO用送受信アンテナ選択処理や、SISO用送受信アンテナ選択処理が終了すると、MIMOデータ通信や、SISOデータ通信が最適なアンテナを用いて、良好に実行できるようになる。
以上のように本実施形態によれば、MIMO通信部404が使用できる最大ストリーム数のMIMO通信に必要なアンテナ数よりも多くのアンテナを複写機402に設置する。そして、各アンテナの受信強度の差が規定値よりも小さい場合は、複写機の周辺における電波的な環境にあまり差がないと判定し、複数のアンテナのうち、予め設定されているアンテナを選択してMIMO通信を行う。また、各アンテナの受信強度の差が規定値よりも大きい場合は、複写機の周辺における電波的な環境に差があると判定し、アンテナセレクションを実行し、複数のアンテナから、MIMO通信に使用するアンテナを選択する。また、複数のアンテナの中で最も受信強度が大きいアンテナの受信強度が規定値より小さい場合は、電波環境が良好でないと判定し、アンテナセレクションを実行し、MIMO通信に使用するアンテナを選択する。
このようにすることにより、機器の設置環境に応じて、アンテナセレクションを実行するか否かを選択できる。従って、アンテナセレクションを行わない場合には、通信開始までの時間を短縮でき、また、無駄な処理を実行する負荷を軽減できる。
また、MIMO通信部が使用できる最大ストリーム数のMIMO通信に必要なアンテナ数よりも多くのアンテナの中から、設置環境に適したアンテナを選択するので、受信強度の小さいアンテナを使わなくても、最大ストリーム数のMIMO通信が行える。従って、伝送レートが高い通信を実現できる。
(第2の実施形態)
第1の実施形態では、無線ネットワークへの無線接続直後または、無線接続後、データ通信を行う前にアンテナ選択フラグがオンになる場合について説明した。
しかし、本実施形態は、これに限らず、通信中も条件が満たされるとアンテナ選択フラグがオンになり、アンテナ選択を実行する。通信中にアンテナ選択フラグがオンになる例として、通信エラーが記憶部1104に記憶されている通信エラー用規定値以上に発生した場合がある。第2の実施形態では、データ通信を行う前にアンテナ選択処理を行った(第1の実施形態)後に、再度アンテナ選択処理を行う場合の一例について、制御部605が実行する図10に示すフローチャートを用いて説明する。なお、第1の実施形態と構成の同じ部分については、同一の符号を付し、説明を省略する。
データ送信時、再送回数が一定数を超えると、通常まず、伝送レートを落とす。伝送レートを落としても再送が生じる場合、現在選択中のアンテナでは不適切な電波環境に変化したことが疑われる。
そこで、ステップS1001において、SISO送信で送信しているパケットに対してエラーが何回生じているかを判定する。この判定結果が、エラー回数がSISO送信エラー用規定値以上であった場合にはステップS1002に進み、規定値未満の場合には、ステップS1003に進む。S1002では、SISO送信アンテナ選択フラグをオンにする。この状態において、再び図7に示すフローチャートが実行されることで、データ通信を実行していないときに、再度SISO送信アンテナ選択が実施される。
ステップS1003においては、MIMO送信で送信しているパケットに対してエラーが何回生じているかを判定する。この判定結果が、エラー回数がMIMO送信エラー用規定値以上であった場合にはステップS1004に進み、規定値未満の場合には、ステップS1005に進む。S1004では、MIMO送信アンテナ選択フラグをオンにする。この状態において、再び図7に示すフローチャートが実行されることで、データ通信を実行していないときに、再度MIMO送信アンテナ選択が実施される。
また、データ受信時、相手からの再送パケットの受信エラーが一定数を超え、伝送レートを落として再送しても受信エラーが生じる場合、現在選択中のアンテナが不適切な電波環境に変化したことが疑われる。
そこで、ステップS1005において、SISO受信で受信しているパケットに対してエラーが何回生じているかを判定する。この判定結果が、エラー回数が記憶部1104に記憶されているSISO受信エラー用規定値以上であった場合にはステップS1006に進む。また、SISO受信エラー用規定値未満の場合には、ステップS1007に進む。S1006では、SISO受信アンテナ選択フラグをオンにする。この状態において、再び図7に示すフローチャートが実行されることで、データ通信を実行していないときに、再度SISO受信アンテナ選択が実施される。
ステップS1007においては、MIMO受信で受信しているパケットに対してエラーが何回生じているかを判定する。この判定結果が、エラー回数がMIMO受信エラー用規定値規定値以上であった場合にはステップS1008に進む。S1008では、MIMO受信アンテナ選択フラグをオンにする。この状態において、再び図7に示すフローチャートが実行されることで、データ通信を実行していないときに、再度MIMO受信アンテナ選択が実施される。
また、制御部605は、定期的に図7を実行する。これによって、現在選択中のアンテナでは不適切な電波環境に変化した場合にも、適切なアンテナ選択を行うことが可能となる。
以上、通信中に再度アンテナ選択処理を行う例として送受信エラーを例にして説明したが、ストリーム数変更など、他の条件でも実行可能である。
例えば、通信装置が4ストリームまで対応しており、該ストリーム数よりも多い6本のアンテナを具備していたとする。ここで、4ストリームから3ストリームにストリーム数が変更されたとする。この場合、ストリーム数の変更に合わせてMIMO通信で用いるアンテナを変更することが考えられる。このような場合において、本実施例のように再度アンテナ選択処理を行うことができる。
このように、ストリーム数変更後にアンテナ選択を行うことによっては、ストリーム数が変化した際にも、最適なアンテナを用いてアクセスポイント401と通信を行うことが可能となる。
(第3の実施形態)
第1の実施形態および第2の実施形態では、アンテナ601とストリーム送受信処理部602が一対一対応で接続されている構成について説明した。
本実施例では、図6(b)および(c)に示すように、1つのストリーム送受信処理部602が、スイッチ607によって複数のアンテナ601から1本のアンテナと選択的に接続される。
なお、1つのストリーム送受信処理部602に対応する1組のアンテナ601の設置位置は、距離を離して設置される。例えば、アンテナ601−11と601−12は、複写機402の各面の対角線上(図4における601−1と601−3の位置関係)に配置されている。該1組のアンテナの配置は、これに限るものではなく、複写機402の筐体の対角線上に配置したり、いずれかの頂点付近に配置したりするなど、電波環境が異なる可能性の高い場所の組合せで配置する。
なお、第1の実施形態および第2の実施形態と構成の同じ部分については、同一の符号を付し、説明を省略する。また、無線接続およびアンテナ選択フラグ処理に関しては、第1の実施形態および第2の実施形態と同じ処理のため、説明を省略する。
まず、図6(b)に示すMIMO通信部404について説明する。ストリーム送受信処理部602は、スイッチ607を通してアンテナ601と接続されている。ストリーム送受信処理部602−1は、スイッチ607−1を通してアンテナ601−11または601−12とを切り替えて、どちらか一方のアンテナと接続することができる。同様に、ストリーム送受信処理部602−2は、スイッチ607−2を通してアンテナ601−21または601−22とを切り替えてどちらか一方のアンテナと接続することができる。同様に、ストリーム送受信処理部602−3は、スイッチ607−3を通してアンテナ601−31または601−32とを切り替えてどちらか一方のアンテナと接続することができる。
このような構成にすることにより、選択対象となるアンテナを増やすことができ、より伝送レートを高くすることができる。なお、各アンテナ、特に、各ストリーム送受信処理部に接続するアンテナ同士の設置位置の距離を離して設置する。このようにすることによって、機器の設置環境の影響が少ないアンテナを選択でき、機器の設置環境の影響による伝送レートの低下を軽減することができる。
次に、図6(c)に示すMIMO通信部404について説明する。該MIMO通信部404の対応ストリーム数は、2であるため、ストリーム送受信処理部602は2つあればよい。このような場合であっても、図6(c)に示すように対応ストリーム数以上のアンテナを有することで、選択対象となるアンテナを増やすことができる。
ストリーム送受信処理部602は、スイッチ607を通してアンテナ601と接続されている。ストリーム送受信処理部602−1は、スイッチ607を通してアンテナ601−11乃至601−33のいずれか1本と接続する。ここでは、アンテナ601−11と接続したとする。
ストリーム送受信処理部602−2は、スイッチ607を通して、ストリーム送受信処理部602−1が接続したアンテナ601−11以外のアンテナ、即ちアンテナ601−12乃至601−33のいずれか1本と接続する。ここでは、アンテナ601−12と接続したとする。
このような構成にすることにより、機器の対応ストリーム数とストリーム送受信処理部の数が同じにした上で、アンテナの数を増やすことができ、アンテナを増やす際のコストを低減することが可能となる。また、選択対象となるアンテナを増やすことができ、より伝送レートを高くすることができる。さらに、図6(b)で説明したように各アンテナの設置位置を対角線上にしたり、複写機402の頂点付近に配置したりすることで、アンテナ間の距離を離して設置する。このようにすることによって、機器の設置環境の影響が少ないアンテナを選択でき、機器の設置環境の影響による伝送レートの低下を軽減することができる。
なお、図6(b)のMIMO通信部404の場合において、図6(a)のようにアンテナ601とストリーム送受信処理部602が一対一対応で接続されているMIMO通信部404の場合と異なるのは、アンテナの組合せである。
例えば、6本のアンテナがストリーム送受信処理部と一対一対応で接続されている場合に、アンテナを2本選択する際の組合せは、(数式1)に示すように15通りである。
6C2=15 (数式1)
これに対し、図6(b)のアンテナの組合せを考える。図6(b)に示された6本のアンテナから2本のアンテナを選択する際の組合せは、12通りである。
このように、本実施の形態によれば、選択数を減らすことができ、IEEE802.11nのドラフトに定義されたアンテナセレクションを行う際の負荷を軽減することが可能となる。
また、アンテナの本数をさらに増やす、使用ストリーム数がさらに増えるなどの理由により、アンテナの組合せ数がさらに多くなることも考えられる。この結果、一度のアンテナ選択処理で11nのドラフトに定義されたアンテナセレクションを実行できない場合は、組合せを複数の組に分割し、組単位でアンテナ選択処理を実行する。最初の組におけるアンテナ選択処理の結果、最も良かったアンテナの組合せを二度目の組でも実行する。二度目の組で最も良かった組合せがアンテナ選択処理結果となる。組が三つ以上あるときも同様に繰り返すことで判定可能となる。
一例として、図6(b)の場合で3ストリーム(3本のアンテナを選択)の場合を示す。第一の組は、(601−11、601−21、601−31)、(601−11、601−21、601−32)、(601−11、601−22、601−31)、(601−11、601−22、601−32)の組合せで4パターンとする。
また、第二の組は、(601−12、601−21、601−31)、(601−12、601−21、601−32)、(601−12、601−22、601−31)、(601−12、601−22、601−32)の組合せで4パターンとする。
まず、第一の組でアンテナ選択処理を実行し、最も良かった組合せを選択する。例えば、アンテナ601−11、601−21、601−31の組合せが良かったとすると、第二の組にこの結果を加えた5パターンでアンテナ選択を実行する。
これによって、第一の組の結果がよければ、アンテナ選択の結果、第一の組の結果が再度選ばれる。また、第一の組よりも第二の組の組合せが、アンテナ選択結果としてよりよい場合、第二の組からアンテナの組合せが決定されることになる。
以上のようにして、一度のアンテナ選択処理で11nのドラフトに定義されたアンテナセレクションを実行できない場合にも、最適なアンテナ選択処理を行うことができる。
(第4の実施形態)
尚、前述した各実施の形態の機能を実現するソフトウェアのコンピュータプログラムを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータが記憶媒体に格納されたコンピュータプログラムを読出し実行する。これによっても、本発明の目的が達成される。
この場合、コンピュータ読み取り可能な記憶媒体から読出されたコンピュータプログラム自体が前述した実施形態の機能を実現することになり、そのコンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。
このコンピュータプログラムを供給するための記憶媒体として、例えばフレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したコンピュータプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれる。即ち、コンピュータプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。
更に、記憶媒体から読出されたコンピュータプログラムがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのコンピュータプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれる。