以下、本発明の実施の形態の一例について、図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1における通信システムの構成例を示す図である。
図1に示す通信システム10は、通信装置100及び通信装置200で構成されている。通信装置100及び通信装置200はそれぞれ、赤外線を用いて通信を行う赤外線通信装置である。また、通信装置100及び通信装置200は、高速な伝送を行う携帯端末であり、例えば携帯電話等である。
通信装置100は、通信装置200に対してデータを変調して生成した光信号の送信を行う。また、通信装置100は、通信装置200により、フィードバック信号を受信する。ここで、図1において、送信部102aは、赤外線通信を行うための赤外線を出力(発光)し、受信部101aは、赤外線通信を行うための赤外線を受信(受光)する。
通信装置200は、通信装置100から送信された光信号を受信して復調することによりデータを取得すると共に、受信した光信号に基づいてフィードバック情報を生成し、生成したフィードバック情報を通信装置100に対して送信する。ここで、図1において、受信部201aは、赤外線通信を行うための赤外線を受信(受光)し、送信部202aは、赤外線通信を行うための赤外線を出力(発光)する。
図2は、実施の形態1における通信装置100の構成を示すブロック図である。
図2に示す通信装置100は、上述したように例えば赤外線通信装置であり、通信装置200に対して、連続する複数のデータフレームで構成されるブロック毎に前記複数のデータフレームを送信する通信装置である。この通信装置100は、受信部101と、送信部102と、フィードバック情報取得部103と、データ制御部104とを備える。
受信部101は、当該送信装置である通信装置100により連続して送信される複数のデータフレームで構成されるブロック毎に、複数のデータフレームを受信する。具体的には、受信部101は、通信装置200から送信された光信号を受信し、アナログ信号からデジタル信号への変換(以降、これをA/D変換と呼ぶ)及び復調などの受信処理を行う。本実施の形態では、受信部101は、フィードバック情報を含むフィードバックフレームを受信して受信処理を実行する。また、受信部101は、図1に示す受信部101aを有している。
送信部102は、PHYレート決定部206により決定されたPHYレートとブロックサイズ制御部210により決定されたブロックサイズとを含むフィードバック情報を送信装置に送信する。具体的には、送信部102は、デジタル信号からアナログ信号への変換(以降、これをD/A変換と呼ぶ)や変調などの送信処理を行う。また、送信部102は、図1に示す送信部102aを有している。
フィードバック情報取得部103は、受信部101により受信されたAckデータフレーム(フィードバックフレーム)からフィードバック情報を取得する。本実施の形態では、フィードバック情報取得部103は、フィードバック情報としてPHYレート情報及びブロックサイズ情報を取得する。
データ制御部104は、受信部101により受信された前記フィードバック情報に含まれるブロックサイズに従って、ブロックを生成する。具体的には、データ制御部104は、フィードバック情報取得部103により取得されたPHYレート情報及びブロックサイズ情報を含むフィードバック情報に基づき、送信部102に対してデータ伝送の指示を行う。
以上のように、通信装置100は構成される。
図3は、実施の形態1における通信装置200の構成を示すブロック図である。
図3に示す通信装置200は、上述したように例えば赤外線通信装置であり、通信装置100が送信するデータフレームを受信する通信装置である。この通信装置200は、受信部201と、送信部202と、受光電流測定部205と、PHYレート決定部206と、フィードバック情報生成部207と、ブロックサイズ制御部210とを備える。
受信部201は、通信装置100から連続して送信される複数のデータフレームで構成されるブロックを受信する。具体的には、受信部201は、通信装置100から送信された光信号を受信し、受信した信号に対してA/D変換や復調などの受信処理を行う。また、受信部201は、図1に示す受信部201aを有している。
送信部202は、PHYレート決定部により決定されたPHYレート及びブロックサイズ決定部213により決定されたブロックサイズを含むフィードバック情報を送信装置である通信装置100に送信する。具体的には、D/A変換や変調などの送信処理を行って光信号を生成し、生成した光信号を通信装置100に対して送信する。また、送信部202は、図1に示す送信部202aを有している。
受光電流測定部205は、本発明の測定部に相当し、ブロック毎に、受信部201が受信した当該ブロックの受信品質を測定する。例えば、通信装置100が、ブロックを構成する複数のデータフレームを光信号として送信している場合、受光電流測定部205は、前記受信部が受信した前記ブロックを構成する複数のデータフレームそれぞれの受光電流を測定し、測定した複数の前記データフレームの受光電流の平均値を算出することにより、当該ブロックの受信品質を測定する。ここで、例えば、光信号は、赤外線通信で用いられる赤外線信号である。より具体的には、受光電流測定部205は、受信部201において受信された信号の受光電流を測定し、1ブロック内の受光電流の平均値Irxを算出する。
PHYレート決定部206は、受光電流測定部205により測定された受信品質に基づいて、送信装置(通信装置100)が当該ブロックの次のブロックの送信に用いるPHYレートを決定する。具体的には、PHYレート決定部206は、受光電流測定部205において測定された受光電流値Irxに応じて適切なPHYレートを決定して、PHYレート情報を生成する。ここでは、PHYレート決定部206は、ブロック毎の適切なPHYレートを決定する。なお、上述したように、PHYレートは、変調多値数、符号化率及び周波数帯域幅を含むものである。
ブロックサイズ制御部210は、受光電流測定部205により測定された当該ブロックの受信品質に基づいて、通信装置100が次のブロックに構成するデータフレームの数を示すブロックサイズを決定する。ブロックサイズ制御部210は、当該ブロックの受信品質を示す値がPHYレートを変更する閾値であるPHYレート閾値を間に含む所定の範囲内にある場合に、前記ブロックサイズを、前記他の通信装置が送信可能なブロックサイズの最大値よりも小さい値に決定する。なお、この最大値は、通信規格によって定められるものである。例えば、PHYレートが1Gbpsの場合、データフレームの大きさは64KB(送信に要する時間は約500μs)であり、1回のバースト伝送で送信されるデータフレームの数は最大128個で構成されるブロックサイズが最大値となる。また、ブロックサイズ制御部210は、当該ブロックの受信品質を示す値が所定の範囲内にある場合、ブロックサイズを、前記受信品質を示す値が所定の範囲外にあるときよりも小さいブロックサイズに決定する。
より具体的には、ブロックサイズ制御部210は、受光電流測定部205で測定された受光電流Irxに応じて、バースト伝送の際のブロックサイズを決定し、ブロックサイズ情報を生成する。
ここで、ブロックサイズ制御部210の詳細構成の一例について説明する。ブロックサイズ制御部210は、例えば、受光電流閾値決定部211と、比較部212と、ブロックサイズ決定部213とを備える。
受光電流閾値決定部211は、ブロックサイズを制御するために用いる受光電流の閾値(受光電流事前閾値)を決定する。受光電流閾値決定部211は、受光電流事前閾値として、例えばPreTh1およびPreTh2の2種類を決定する。また、受光電流閾値決定部211は、受光電流事前閾値として、例えばPreTh1、PreTh2、PreTh3、PreTh4の4種類を決定する。
なお、上記所定の範囲は、例えばPreTh1およびPreTh2により設定される範囲である。この所定の範囲は、受信部201が受信しているブロックの受信品質を示す値が所定の範囲外にある場合に前記ブロックサイズ制御部により決定されるブロックサイズを用いて、前記通信装置100が通信装置200に次のブロックを送信してからその次のブロックに対するフィードバック情報を受信するまでの時間よりも長い時間に対応する範囲に設定される。
比較部212は、測定部111で測定された受光電流Irxと事前閾値PreTh1、
PreTh2に基づき、ブロックサイズの制御情報size_infoを生成する。ここで、size_infoの値は、ブロックサイズの変更がない場合は“0”、ブロックサイズを小さくする場合は“1”、ブロックサイズを大きくする場合は“2”に設定される。また、比較部212は、現在のブロックサイズ状態を示すStateを保持しており、送信開始時にブロックサイズ状態を示すStateを“2”に初期化し、ブロックサイズが変更される度にブロックサイズ状態を示すStateを更新する。
ブロックサイズ決定部213は、ブロックサイズの制御情報size_infoに基づいてブロックサイズを決定し、その値をブロックサイズ情報とする。
以上のように、ブロックサイズ制御部210は構成されている。以下、通信装置200の構成についての説明に戻る。
フィードバック情報生成部207は、通信装置100に通知するフィードバック情報を含むフィードバックフレームを生成する。本実施の形態では、フィードバック情報はPHYレート情報とブロックサイズ情報を含むため、フィードバック情報生成部207はPHYレート情報とブロックサイズ情報とを含むフィードバックフレームを生成する。フィードバック情報生成部207で生成されたフィードバックフレームは、送信部202から通信装置100に送信される。
以上のように、通信装置200は、構成される。
次に、ブロックを構成する複数のデータフレームを受信する毎に比較部212が行う処理について図を用いて説明する。なお、以下では、ブロック単位でそのブロックを構成する複数のデータフレームを受信することを、ブロックを受信すると記載する。
図4は、本発明の実施の形態1における比較部が行う処理を示すフローチャートである。
まず、比較部212は、受光電流測定部205から入力された平均受光電流Irxと、受光電流閾値決定部211から入力された受光電流の事前閾値PreTh1および事前閾値PreTh2とを比較する。具体的には、比較部212は、平均受光電流Irxが、事前閾値PreTh1より小さく、かつ、事前閾値PreTh2より大きいという条件を満たすか否かを判別する(S100)。
S100において、平均受光電流Irxが上記の条件を満たすと判別された場合は(S100でYes)、比較部212は、現在のブロックサイズ状態を示すstateの値が小さい(stateが“1”である)か否かを判別する(S101)。
なお、ここでは、ブロックサイズ状態を示すstateの値は、小さい(stateが“1”である)場合と、大きい(stateが“0”である)場合の2種類しかないとしている。ブロックサイズ状態を示すStateの値が小さい場合は、1回のバースト伝送において連続して送信するデータフレームの数が少ない場合であり、例えば64個のデータフレームである。また、ブロックサイズ状態を示すStateの値が大きい場合は、1回のバースト伝送において連続して送信するデータフレームの数が多い場合であり、例えば128個のデータフレームである。
次に、現在のブロックサイズの状態は小さいと判別された場合(S101でYes)、比較部212はブロックサイズ情報size_infoの値を“0”に設定する(S102)。換言すると、比較部212は、ブロックサイズの変更は必要ないとするブロックサイズ情報に設定する。
一方、S101において、現在のブロックサイズの状態は小さくない(つまり大きい)と判別された場合(S101でNo)、比較部212はブロックサイズ情報size_infoの値を“1”に設定する(S103)。換言すると、比較部212は、ブロックサイズを小さくするブロックサイズの変更を必要とするブロックサイズ情報に設定する。
続いて、比較部212は、現在のブロックサイズ状態Stateを“1”に更新し、処理を終了する。
また、S100において、上記の条件を満たさないと判断された場合は、S105に移行し、比較部212は、現在のブロックサイズの状態stateが大きい(stateが“2”である)か否かを判別する(S105)。
S105で、現在のブロックサイズの状態は大きいと判別された場合は(S105でYes)、比較部212は、ブロックサイズ情報size_infoの値を“0”に設定し(S106)、処理を終了する。
一方、S105において、現在のブロックサイズの状態は小さいと判別された場合(S105でNo)、比較部212は、ブロックサイズ情報size_infoの値を“2”に設定する(S107)。
続いて、比較部212は、現在のブロックサイズ状態Stateを“2”に更新し(S108)、処理を終了する。
以上のようにして、比較部212は、ブロックサイズの決定を行う。
次に、上記のように構成された通信装置100と通信装置200の動作例について、図を用いて説明する。
図5A及び図5Bは、本実施の形態における通信装置100と通信装置200とが行うPHYレートおよびブロックサイズの制御の一例を示す図である。図5Aは、受光電流の変化と通信装置100から送信されるブロックとを示す図である。図5Bは、通信装置100が各ブロックを送信する際に用いるPHYレート及びブロックサイズを示す図である。また、図5Aでは、横軸は時間、縦軸は受光電流を示しており、グラフの下にはそれぞれの時間にバースト転送されるブロックとそのブロックの番号とを示している。
図5Aおよび図5Bを用いて、受信品質が良好な状態から劣悪な状態に遷移する過程、すなわち受光電流が時間の経過と共に減少していく場合における動作例を説明する。以下、説明のための前提条件を例示する。通信装置100は6回のバースト転送を行い、ブロック#1−#6を通信装置200に対して送信すると仮定する。また、通信装置200のPHYレート決定部206は、受光電流測定部205で測定された受光電流IrxがPHYレート閾値Thを上回る場合はレートAに決定し、下回る場合はレートBに決定すると仮定する。レートAは、例えば1Gbpsであり、レートBは、例えば512Mbpsであるが、これらに限定されるものではない。また、ブロックサイズ制御部210は、受光電流測定部205により測定された受信品質に基づいて、ブロックサイズ大とブロックサイズ小の2種類をうちのいずれかを決定すると仮定する。ブロックサイズ大は、例えば、データフレーム数128個で構成されるブロックの大きさであることを意味すると仮定する。これはPHYレートが1Gbpsの場合に1回のバースト伝送で送信できるデータフレームの最大数128個であることによる。ブロックサイズ小は、例えば、データフレーム数64個で構成されるブロックの大きさであることを意味すると仮定する。もちろん、このブロックサイズは、これらに限定されるものではない。
まず、通信装置100は、事前に通信装置200からフィードバックされたフィードバック情報に基づいて、ブロック#1をPHYレート“A”、ブロックサイズ“大”で送信する。
すると、ブロック#1を受信した通信装置200は、以下の処理を行う。
まず、PHYレート決定部206は、PHYレート閾値Thと、受信部201が受信したブロック#1の受信品質として測定された受光電流Irxとを比較する。PHYレート決定部206は、図5Aに示すように、受光電流IrxがPHYレート閾値以上であるため、次に通信装置100が送信すべきPHYレートを“A”に決定する。
続いて、比較部212は、受信部201が受信したブロック#1の受信品質として測定された受光電流Irxと、事前閾値PreTh1及び事前閾値PreTh2とを比較する。ここで、現在のブロックサイズ状態(初期値)を示すstateの値は“2”である。また、比較部212は、図5Aに示すように、受光電流Irxが事前閾値PreTh1よりも大きいため、ブロックサイズ決定部213が決定すべきブロックサイズは大であると判断する。したがって、比較部212は、現在のブロックサイズ状態(初期値)を示すstateが“2”であるので、ブロックサイズの変更は不要と判断し、比較結果として“0”を示すsize_infoを、ブロックサイズ決定部213に出力する。
続いて、ブロックサイズ決定部213は、比較部212より入力されたsize_infoが“0”であるため、ブロックサイズは変更しないすなわち次に通信装置100が送信すべきブロックサイズは大であると決定する。
続いて、フィードバック情報生成部207は、PHYレート“A”、ブロックサイズ“大”を含むフィードバック情報を生成する。
続いて、送信部202は、ブロック#1の受信完了後に通信装置100に対して、フィードバック情報生成部207で生成したフィードバック情報を送信(フィードバック)する。
次に、通信装置100は、ブロック#1に対するフィードバック情報を受信し、受信したフィードバック情報に基づいてブロック#2をPHYレート“A”、ブロックサイズ“大”で通信装置200に送信する。
すると、ブロック#2を受信した通信装置200は、以下の処理を行う。
まず、PHYレート決定部206は、PHYレート閾値Thと、受信部201が受信したブロック#2の受信品質として測定された受光電流Irxとを比較する。PHYレート決定部206は、図5Aに示すように、受光電流IrxがPHYレート閾値以上であるため、次に通信装置100が送信すべきPHYレートを“A”に決定する。
続いて、比較部212は、受信部201が受信したブロック#2の受信品質として測定された受光電流Irxと、事前閾値PreTh1及び事前閾値PreTh2とを比較する。ここで、現在のブロックサイズ状態を示すstateの値は“2”である。また、比較部212は、図5Aに示すように、受光電流Irxが事前閾値PreTh1よりも小さく、かつ、事前閾値PreTh2よりも大きいので、ブロックサイズ決定部213が決定すべきブロックサイズは小であると判断する。したがって、比較部212は、現在のブロックサイズ状態を示すstateの値が“2”であるので、ブロックサイズを小さくする必要があると判断し、比較結果として“1”を示すsize_infoを、ブロックサイズ決定部213に出力する。それとともに、比較部212は、ブロックサイズ状態を示すstateの値を“1”に更新する。
続いて、ブロックサイズ決定部213は、比較部212より入力されたsize_infoが“1”であるため、次に通信装置100が送信すべきブロックサイズは小であると決定する。
続いて、フィードバック情報生成部207は、PHYレート“A”、ブロックサイズ“小”を含めたフィードバック情報を生成する。
続いて、送信部202は、ブロック#2の受信完了後に通信装置100に対して、フィードバック情報生成部207で生成したフィードバック情報を送信(フィードバック)する。
次に、通信装置100は、ブロック#2に対するフィードバック情報を受信し、受信したフィードバック情報に基づいてブロック#3をPHYレート“A”、ブロックサイズ“小”で通信装置200に送信する。
すると、ブロック#3を受信した通信装置200は、以下の処理を行う。
まず、PHYレート決定部206は、PHYレート閾値Thと、受信部201が受信したブロック#3の受信品質として測定された受光電流Irxとを比較する。PHYレート決定部206は、図5Aに示すように、受光電流IrxがPHYレート閾値よりも小さいため、次に通信装置100が送信すべきPHYレートを“B”に決定する。
続いて、比較部212は、受信部201が受信したブロック#3の受信品質として測定された受光電流Irxと、事前閾値PreTh1及び事前閾値PreTh2とを比較する。ここで、現在のブロックサイズ状態を示すstateの値は“1”である。また、比較部212は、図5Aに示すように、受光電流Irxが事前閾値PreTh1よりも小さく、かつ、事前閾値PreTh2よりも大きいので、ブロックサイズ決定部213が決定すべきブロックサイズは小であると判断する。したがって、比較部212は、現在のブロックサイズ状態を示すstateの値が“1”であるので、ブロックサイズの変更は不要と判断し、比較結果として“0”を示すsize_infoをブロックサイズ決定部213に出力する。
続いて、ブロックサイズ決定部213は、比較部212より入力されたsize_infoが“0”であるため、ブロックサイズは変更しないすなわち次に通信装置100が送信すべきブロックサイズは小であると決定する。
続いて、フィードバック情報生成部207は、PHYレート“B”、ブロックサイズ“小”を含むフィードバック情報を生成する。
続いて、送信部202は、ブロック#3の受信完了後に通信装置100に対して、フィードバック情報生成部207で生成したフィードバック情報を送信(フィードバック)する。
次に、通信装置100は、ブロック#3に対するフィードバック情報を受信し、受信したフィードバック情報に基づいてブロック#4をPHYレート“B”、ブロックサイズ“小”で通信装置200に送信する。
すると、ブロック#4を受信した通信装置200は、以下の処理を行う。
まず、PHYレート決定部206は、PHYレート閾値Thと、受信部201が受信したブロック#4の受信品質として測定された受光電流Irxとを比較する。PHYレート決定部206は、図5Aに示すように、受光電流IrxがPHYレート閾値よりも小さいため、次に通信装置100が送信すべきPHYレートを“B”に決定する。
続いて、比較部212は、受信部201が受信したブロック#4の受信品質として測定された受光電流Irxと、事前閾値PreTh1及び事前閾値PreTh2とを比較する。ここで、現在のブロックサイズ状態を示すstateの値は“1”である。また、比較部212は、図5Aに示すように、受光電流Irxが事前閾値PreTh1よりも小さく、かつ、事前閾値PreTh2より大きいため、ブロックサイズ決定部213が決定すべきブロックサイズは小であると判断する。したがって、比較部212は、現在のブロックサイズ状態を示すstateが“1”であるので、ブロックサイズの変更は不要と判断し、比較結果として“0”を示すsize_infoをブロックサイズ決定部213に出力する。
続いて、ブロックサイズ決定部213では、比較部212より入力されたsize_infoが“0”であるため、ブロックサイズは変更しないすなわち次に通信装置100が送信すべきブロックサイズは小であると決定する。
続いて、フィードバック情報生成部207は、PHYレート“B”、ブロックサイズ“小”を含むフィードバック情報を生成する。
続いて、送信部202は、ブロック#4の受信完了後に通信装置100に対して、フィードバック情報生成部207で生成したフィードバック情報を送信(フィードバック)する。
次に、通信装置100は、ブロック#4に対するフィードバック情報を受信し、受信したフィードバック情報に基づいてブロック#5をPHYレート“B”、ブロックサイズ“小”で通信装置200に送信する。
すると、ブロック#5を受信した通信装置200は、以下の処理を行う。
まず、PHYレート決定部206は、PHYレート閾値Thと、受信部201が受信したブロック#5の受信品質として測定された受光電流Irxとを比較する。PHYレート決定部206は、図5Aに示すように、受光電流IrxがPHYレート閾値よりも小さいため、次に通信装置100が送信すべきPHYレートを“B”に決定する。
続いて、比較部212は、受信部201が受信したブロック#5の受信品質として測定された受光電流Irxと、事前閾値PreTh1及び事前閾値PreTh2とを比較する。ここで、現在のブロックサイズ状態を示すstateの値は“1”である。また、比較部212は、図5Aに示すように、受光電流Irxが事前閾値PreTh2よりも小さいため、ブロックサイズ決定部213が決定すべきブロックサイズは大であると判断する。したがって、比較部212は、現在のブロックサイズ状態を示すstateの値が“1”であるので、ブロックサイズを大きくする必要があると判断し、比較結果として“2”を示すsize_infoを、ブロックサイズ決定部213に出力する。それとともに、比較部212は、ブロックサイズ状態を示すstateの値を“2”に更新する。
続いて、ブロックサイズ決定部213は、比較部212より入力されたsize_infoが“2”であるため、次に通信装置100が送信すべきブロックサイズは大であると決定する。
続いて、フィードバック情報生成部207は、PHYレート“B”、ブロックサイズ“大”を含めたフィードバック情報を生成する。
続いて、送信部202は、ブロック#5の受信完了後に通信装置100に対して、フィードバック情報生成部207で生成したフィードバック情報を送信(フィードバック)する。
次に、通信装置100は、ブロック#5に対するフィードバック情報を受信し、受信したフィードバック情報に基づいてブロック#6をPHYレート“B”、ブロックサイズ“大”で通信装置200に送信する。
このように、本実施の形態では、PHYレートの切替えが必要となるPHYレート閾値を間に含む所定の範囲内、すなわちPHYレートの切替えが必要となるPHYレート閾値を間に含む事前閾値PreTh1と事前閾値PreTh2の間の範囲に、受信品質を示す受光電量が含まれる場合に、バースト伝送するブロックサイズを小さくする。それにより、受光電流がPHYレート閾値を下回る時点(または時点付近)においてブロックサイズの小さいブロックが送信されるので、受光電流がPHYレート閾値を下回ってからPHYレートの切り替えが行われるまでの時間が短くすることができ、伝送効率の低下を抑えることができるという効果を奏する。
さらに、本実施の形態では、受光電流がPHYレート閾値よりも小さくなった後も、受光電量が事前閾値PreTh2よりも小さくなるまではブロックサイズの小さいブロックの送信が継続される。そのため、このブロックサイズの小さいブロックの送信が継続されている期間に再び受光電流が増加した場合でもPHYレートをすぐに切り替えることができるという効果を奏する。
このような構成は、本発明が対象としている携帯端末による赤外線通信のように、受信品質がランダムに変動する通信において特に有効である。
次に、図5A及び図5Bとは、異なる動作例について図を用いて説明する。
図6A及び図6Bは、本実施の形態における通信装置100と通信装置200とが行うPHYレートおよびブロックサイズの制御の一例を示す図である。図6Aは、受光電流の変化と通信装置100から送信されるブロックとを示す図である。図6Bは、通信装置100が各ブロックを送信する際に用いるPHYレート及びブロックサイズを示す図である。また、図6Aでは、横軸は時間、縦軸は受光電流を示しており、グラフの下にはそれぞれの時間にバースト転送されるブロックとそのブロックの番号とを示している。
以下、図6Aおよび図6Bを用いて、受信品質が劣悪な状態から良好な状態に遷移する過程、すなわち受光電流が時間の経過と共に増加していく場合における動作例を説明する。以下の説明のための前提条件は、図5A及び図5Bのものと同じであるため、ここでの説明を省略する。
まず、通信装置100は、事前に通信装置200からフィードバックされたフィードバック情報に基づいて、ブロック#1をPHYレート“B”、ブロックサイズ“大”で送信する。
すると、ブロック#1を受信した通信装置200は、以下の処理を行う。
まず、PHYレート決定部206は、PHYレート閾値Thと、受信部201が受信したブロック#1の受信品質として測定された受光電流Irxとを比較する。PHYレート決定部206は、図6Aに示すように、受光電流IrxがPHYレート閾値未満であるため、次に通信装置100が送信すべきPHYレートを“B”に決定する。
続いて、比較部212は、受信部201が受信したブロック#1の受信品質として測定された受光電流Irxと、事前閾値PreTh1及び事前閾値PreTh2とを比較する。ここで、現在のブロックサイズ状態(初期値)を示すstateの値は“2”である。また、比較部212は、図6Aに示すように、受光電流Irxが事前閾値PreTh2よりも小さいため、ブロックサイズ決定部213が決定すべきブロックサイズは大であると判断する。したがって、比較部212は、現在のブロックサイズ状態(初期値)を示すstateが“2”であるので、ブロックサイズの変更は不要と判断し、比較結果として“0”を示すsize_infoを、ブロックサイズ決定部213に出力する。
続いて、ブロックサイズ決定部213は、比較部212より入力されたsize_infoが“0”であるため、ブロックサイズは変更しないすなわち次に通信装置100が送信すべきブロックサイズは大であると決定する。
続いて、フィードバック情報生成部207は、PHYレート“B”、ブロックサイズ“大”を含むフィードバック情報を生成する。
続いて、送信部202は、ブロック#1の受信完了後に通信装置100に対して、フィードバック情報生成部207で生成したフィードバック情報を送信(フィードバック)する。
次に、通信装置100は、ブロック#1に対するフィードバック情報を受信し、受信したフィードバック情報に基づいてブロック#2をPHYレート“B”、ブロックサイズ“大”で通信装置200に送信する。
すると、ブロック#2を受信した通信装置200は、以下の処理を行う。
まず、PHYレート決定部206は、PHYレート閾値Thと、受信部201が受信したブロック#2の受信品質として測定された受光電流Irxとを比較する。PHYレート決定部206は、図6Aに示すように、受光電流IrxがPHYレート閾値よりも小さいため、次に通信装置100が送信すべきPHYレートを“B”に決定する。
続いて、比較部212は、受信部201が受信したブロック#2の受信品質として測定された受光電流Irxと、事前閾値PreTh1及び事前閾値PreTh2とを比較する。ここで、現在のブロックサイズ状態を示すstateの値は“2”である。また、比較部212は、図6Aに示すように、受光電流Irxが事前閾値PreTh1よりも小さく、かつ、事前閾値PreTh2より大いため、ブロックサイズ決定部213が決定すべきブロックサイズは小であると判断する。したがって、比較部212は、現在のブロックサイズ状態を示すstateの値が“2”であるので、ブロックサイズを小さくする必要があると判断し、比較結果として“1”を示すsize_infoを、ブロックサイズ決定部213に出力する。それとともに、比較部212は、ブロックサイズ状態を示すstateの値を“1”に更新する。
続いて、ブロックサイズ決定部213では、比較部212より入力されたsize_infoが“1”であるため、次に通信装置100が送信すべきブロックサイズは小であると決定する。
続いて、フィードバック情報生成部207は、PHYレート“B”、ブロックサイズ“小”を含めたフィードバック情報を生成する。
続いて、送信部202は、ブロック#2の受信完了後に通信装置100に対して、フィードバック情報生成部207で生成したフィードバック情報を送信(フィードバック)する。
次に、通信装置100は、ブロック#2に対するフィードバック情報を受信し、受信したフィードバック情報に基づいてブロック#3をPHYレート“B”、ブロックサイズ“小”で通信装置200に送信する。
すると、ブロック#3を受信した通信装置200は、以下の処理を行う。
まず、PHYレート決定部206は、PHYレート閾値Thと、受信部201が受信したブロック#3の受信品質として測定された受光電流Irxとを比較する。PHYレート決定部206は、図6Aに示すように、受光電流IrxがPHYレート閾値よりも小さいため、次に通信装置100が送信すべきPHYレートを“B”に決定する。
続いて、比較部212は、受信部201が受信したブロック#3の受信品質として測定された受光電流Irxと、事前閾値PreTh1及び事前閾値PreTh2とを比較する。ここで、現在のブロックサイズ状態を示すstateの値は“1”である。また、比較部212は、図6Aに示すように、受光電流Irxが事前閾値PreTh1よりも小さく、かつ、事前閾値PreTh2より大きいため、ブロックサイズ決定部213が決定すべきブロックサイズは小であると判断する。したがって、比較部212は、現在のブロックサイズ状態を示すstateの値が“1”であるので、ブロックサイズの変更は不要と判断し、比較結果として“0”を示すsize_infoをブロックサイズ決定部213に出力する。
続いて、ブロックサイズ決定部213では、比較部212より入力されたsize_infoが“0”であるため、ブロックサイズは変更しないすなわち次に通信装置100が送信すべきブロックサイズは小であると決定する。
続いて、フィードバック情報生成部207は、PHYレート“B”、ブロックサイズ“小”を含むフィードバック情報を生成する。
続いて、送信部202は、ブロック#3の受信完了後に通信装置100に対して、フィードバック情報生成部207で生成したフィードバック情報を送信(フィードバック)する。
次に、通信装置100は、ブロック#3に対するフィードバック情報を受信し、受信したフィードバック情報に基づいてブロック#4をPHYレート“B”、ブロックサイズ“小”で通信装置200に送信する。
すると、ブロック#4を受信した通信装置200は、以下の処理を行う。
まず、PHYレート決定部206は、PHYレート閾値Thと、受信部201が受信したブロック#4の受信品質として測定された受光電流Irxとを比較する。PHYレート決定部206は、図6Aに示すように、受光電流IrxがPHYレート閾値よりも大きいため、次に通信装置100が送信すべきPHYレートを“A”に決定する。
続いて、比較部212は、受信部201が受信したブロック#4の受信品質として測定された受光電流Irxと、事前閾値PreTh1及び事前閾値PreTh2とを比較する。ここで、現在のブロックサイズ状態を示すstateの値は“1”である。また、比較部212は、図6Aに示すように、受光電流Irxが事前閾値PreTh1よりも小さく、かつ、事前閾値PreTh2より大きいため、ブロックサイズ決定部213が決定すべきブロックサイズは小であると判断する。したがって、比較部212は、現在のブロックサイズ状態を示すstateが“1”であるので、ブロックサイズの変更は不要と判断し、比較結果として“0”を示すsize_infoをブロックサイズ決定部213に出力する。
続いて、ブロックサイズ決定部213では、比較部212より入力されたsize_infoが“0”であるため、ブロックサイズは変更しないすなわち次に通信装置100が送信すべきブロックサイズは小であると決定する。
続いて、フィードバック情報生成部207は、PHYレート“A”、ブロックサイズ“小”を含むフィードバック情報を生成する。
続いて、送信部202は、ブロック#4の受信完了後に通信装置100に対して、フィードバック情報生成部207で生成したフィードバック情報を送信(フィードバック)する。
次に、通信装置100は、ブロック#4に対するフィードバック情報を受信し、受信したフィードバック情報に基づいてブロック#5をPHYレート“A”、ブロックサイズ“小”で通信装置200に送信する。
すると、ブロック#5を受信した通信装置200は、以下の処理を行う。
まず、PHYレート決定部206は、PHYレート閾値Thと、受信部201が受信したブロック#5の受信品質として測定された受光電流Irxとを比較する。PHYレート決定部206は、図6Aに示すように、受光電流IrxがPHYレート閾値よりも大きいため、次に通信装置100が送信すべきPHYレートを“A”に決定する。
続いて、比較部212は、受信部201が受信したブロック#5の受信品質として測定された受光電流Irxと、事前閾値PreTh1及び事前閾値PreTh2とを比較する。ここで、現在のブロックサイズ状態を示すstateの値は“1”である。また、比較部212は、図6Aに示すように、受光電流Irxが事前閾値PreTh1よりも大きいため、ブロックサイズ決定部213が決定すべきブロックサイズは大であると判断する。したがって、比較部212は、現在のブロックサイズ状態を示すstateの値が“1”であるので、ブロックサイズを大きくする必要があると判断し、比較結果として“2”を示すsize_infoを“2”ブロックサイズ決定部213に出力する。それとともに、比較部212は、ブロックサイズ状態を示すstateの値を“2”に更新する。
続いて、ブロックサイズ決定部213は、比較部212より入力されたsize_infoが“2”であるため、次に通信装置100が送信すべきブロックサイズは大であると決定する。
続いて、フィードバック情報生成部207は、PHYレート“A”、ブロックサイズ“小”を含めたフィードバック情報を生成する。
続いて、送信部202は、ブロック#5の受信完了後に通信装置100に対して、フィードバック情報生成部207で生成したフィードバック情報を送信(フィードバック)する。
次に、通信装置100は、ブロック#5に対するフィードバック情報を受信し、受信したフィードバック情報に基づいてブロック#6をPHYレート“A”、ブロックサイズ“大”で通信装置200に送信する。
このように、本実施の形態では、PHYレートの切替えが必要となるPHYレート閾値を間に含む所定の範囲内、すなわちPHYレートの切替えが必要となるPHYレート閾値を間に含む事前閾値PreTh1と事前閾値PreTh2の間の範囲に、受信品質を示す受光電量が含まれる場合に、バースト伝送するブロックサイズを小さくする。それにより、受光電流がPHYレート閾値よりも大きくなる時点(または時点付近)においてブロックサイズの小さいブロックが送信されるので、受光電流がPHYレート閾値よりも大きくなってからPHYレートの切り替えが行われるまでの時間が短くすることができ、伝送効率の低下を抑えることができるという効果を奏する。
さらに、本実施の形態では、受光電流がPHYレート閾値よりも大きくなった後も、受光電量が事前閾値PreTh1よりも大きくなるまではブロックサイズの小さいブロックの送信が継続されている。そのため、このブロックサイズの小さいブロックの送信が継続されている期間に再び受光電流が減少した場合でもPHYレートをすぐに切り替えることができるという効果を奏する。
このような構成は、本発明が対象としている携帯端末による赤外線通信のように、受信品質がランダムに変動する通信において特に有効である。
以上、本実施の形態によれば、PHYレートが切り替る前後の期間に送信されるブロックのブロックサイズを小さくする。それにより、PHYレートの切り替えが必要になった時点から、フィードバック情報の通知により実際にPHYレートが切り替えられるまでの遅延を小さくすることができるので、伝送速度の劣化を抑制することができる。
つまり、PHYレートの切替えが必要となるPHYレート閾値を間に含む所定の範囲内でブロックサイズを小型化することにより、フィードバック送信機会が増加するので、激しい受光電流の変動にも追従可能となる効果を奏する。また、測定した受光電流がPHYレート切り替えの閾値と一定の差がある場合(上記の所定の範囲外にある場合)は、ブロックサイズを大きくすることにより、伝送効率の向上が可能となる。
なお、本実施の形態では、受信品質として測定される受光電流Irxとして、受信部201が受信した各ブロックに構成された複数のデータフレームを測定して得た受光電流の平均値を用いて説明したが、これに限られるものではない。例えば、受光電流Irxとして受信部201が各ブロックを受信中に測定された受光電流の最低値または中央値を用いるとしてもよい。また、例えば、受光電流Irxとして受信部201が受信しているブロックの直前の所定数のブロックを受信中に測定された受光電流の平均値を用いるとしてもよい。
また、受信品質として測定される受光電流Irxとして各ブロックの後端から所定数のデータフレーム、換言すると各ブロックを構成する複数のデータフレームのうち最初から所定数のデータフレーム、を受信中に測定された受光電流の平均値を用いるとしてもよい。その場合には、通信装置100による各ブロックの送信が完了する前に、通信装置200で測定された受光電流に基づいてフィードバック情報が生成され、生成されたフィードバック情報がフィードバックされるため、より時間追従性の高い制御が可能となる効果を奏する。
また、上述した実施の形態1では、ブロックサイズ制御部210が受光電流に基づいてブロックサイズを制御している例について説明したが、これに限られるものではない。例えば、受光電流の代わりに受信電力またはフレーム誤り率等、受信品質を推定することが可能な情報であればどのような情報を用いて、ブロックサイズの制御を行うとしも良い。
また、上述した実施の形態1では、PHYレートが2種類の場合を例に挙げて説明したが、これに限られるものではない。3種類でもそれ以上でもよい。
以下、一例として、PHYレートが3種類の場合について説明する。
図7A及び図7Bは、本実施の形態の変形例1におけるPHYレートが3種類存在する場合のPHYレートおよびブロックサイズの制御の一例を示す図である。図7Aは、受光電流の変化と通信装置100から送信されるブロックとを示す図である。図7Bは、通信装置100が各ブロックを送信する際に用いるPHYレート及びブロックサイズを示す図である。また、図7Aでは、横軸は時間、縦軸は受光電流を示しており、グラフの下にはそれぞれの時間にバースト転送されるブロックとそのブロックの番号とを示している。また、図7Aおよび図7Bでは、受信品質が良好な状態から劣悪な状態に遷移する過程、すなわち受光電流が時間の経過と共に減少していく場合における動作例を示している。ここでの前提条件は、次の通りである。すなわち、通信装置100は10回のバースト転送を行い、ブロック#1−#10を通信装置200に対して送信する。また、通信装置100は、PHYレートとして、レートA、レートB及びレートCの3種類を用いることができ、バースト転送するブロックのブロックサイズも大、中及び小の3種類を用いることができる。
以下では、図7A及び図7Bに示す動作例を行う通信装置200について、図5A及び図6Aに示される動作例の場合と異なるところについて説明する。
PHYレート決定部206は、受光電流測定部205で測定された受光電流Irxを、PHYレート閾値Th1及びPHYレート閾値Th2と比較する。PHYレート決定部206は、受光電流IrxがPHYレート閾値Th1よりも大きい場合は次に通信装置100が送信すべきPHYレートを“A”に決定する。PHYレート決定部206は、受光電流IrxがPHYレート閾値Th1よりも小さく、かつPHYレート閾値Th2よりも大きい場合は、次に通信装置100が送信すべきPHYレートを“B”に決定する。また、PHYレート決定部206は、受光電流IrxがPHYレート閾値Th2よりも小さい場合は、次に通信装置100が送信すべきPHYレートを“C”に決定する。
受光電流閾値決定部211は、受光電流事前閾値としてPreTh1、PreTh2PreTh3、PreTh4の4種類を決定する。
ブロックサイズ制御部210は、受光電流測定部205により測定された受信品質と、受光電流事前閾値としてPreTh1、PreTh2、PreTh3及びPreTh4とに基づいて、ブロックサイズ大、ブロックサイズ中及びブロックサイズ小の3種類をうちのいずれかを決定する。
比較部212は、例えば図4のS100において、受光電流測定部205において測定された受光電流Irxが、事前閾値PreTh1より小さく、かつ、PreTh2より大きいという第1の条件、または、事前閾値PreTh3より小さく、かつ、PreTh4より大きいという第2の条件のいずれかを満たすか否かを判別する。比較部212は、第1及び第2の条件のいずれかを満たす場合はS101に移行し、第1及び第2の条件のどちらも満たしていない場合はS105に移行する。
なお、図7A及び図7Bに示す動作例における通信装置100及び通信装置200の具体的な動作は、上述のところ以外すなわちPHYレート決定部206及び比較部212における判定条件が異なる以外は図5A及び図6Aを用いて説明したものと同様であるため、説明を省略する。
また、本変形例では、PHYレート閾値の前後に設定される事前閾値の数が2つの場合を説明したが、これに限られるものではない。
以下、一例として、1つのPHYレート閾値の前後に設定される事前閾値の数が4つの場合を説明する。
図8A及び図8Bは、本実施の形態の変形例2における1つのPHYレート閾値の前後に設定される事前閾値の数が4の場合のPHYレートおよびブロックサイズの制御の一例を示す図である。図8Aは、受光電流の変化と通信装置100から送信されるブロックとを示す図である。図8Bは、通信装置100が各ブロックを送信する際に用いるPHYレート及びブロックサイズを示す図である。また、図8Aでは、横軸は時間、縦軸は受光電流を示しており、グラフの下にはそれぞれの時間にバースト転送されるブロックとそのブロックの番号とを示している。また、図8Aおよび図8Bでは、受信品質が良好な状態から劣悪な状態に遷移する過程、すなわち受光電流が時間の経過と共に減少していく場合における動作例を示している。ここでの前提条件は、次の通りである。すなわち、通信装置100は7回のバースト転送を行い、ブロック#1−#7を通信装置200に対して送信する。また、通信装置100は、PHYレートとして、レートA及びレートBの2種類を用いることができ、バースト転送するブロックのブロックサイズも大、中及び小の3種類を用いることができる。
以下、図8A及び図8Bに示す動作例を行う通信装置200について、図5A及び図6Aに示される動作例の場合と異なるところについて説明する。
受光電流閾値決定部211は、受光電流事前閾値としてPreTh1、PreTh2、PreTh3、PreTh4の4種類を決定する。
ブロックサイズ制御部210は、受光電流測定部205により測定された受信品質と、受光電流事前閾値としてPreTh1、PreTh2、PreTh3及びPreTh4とに基づいて、ブロックサイズ大、ブロックサイズ中及びブロックサイズ小の3種類をうちのいずれかを決定する。
比較部212は、受光電流測定部205において測定された受光電流Irxが、事前閾値PreTh1以上または事前閾値PreTh4よりも小さい場合、ブロックサイズ状態を示すstateの値を“3”に設定する。比較部212は、受光電流測定部205において測定された受光電流Irxが、事前閾値PreTh1よりも小さくかつ事前閾値PreTh2以上である、または、事前閾値PreTh3よりも小さくかつ事前閾値PreTh4以上である場合に、ブロックサイズ状態を示すstateの値を“2”に設定する。比較部212は、受光電流測定部205において測定された受光電流Irxが、事前閾値PreTh2よりも小さくかつ事前閾値PreTh3以上である場合に、ブロックサイズ状態を示すstateの値を“1”に設定する。
また、比較部212は、過去に受信したブロックの受光電流Irxに基づいて生成されたブロックサイズ状態を示すstateの値と、新しく受信したブロックの受光電流Irxに基づいて生成されたブロックサイズ状態を示すstateの値とを比較して、制御情報size_infoを生成する。
ブロックサイズ決定部213は、size_infoの値に応じてブロックサイズの変更の有無を判断し、フィードバック情報生成部207に通知するブロックサイズを決定する。ここで、ブロックサイズ決定部213は、比較部212がブロックサイズ状態を示すstateの値を“3”に設定した場合に一番大きく、比較部212がブロックサイズ状態を示すstateの値を“1”に設定した場合が一番小さくなるようブロックサイズを決定する。
なお、図8A及び図8Bでは、比較部212がブロックサイズ状態を示すstateの値を“3”に設定した場合のブロックサイズを“大”、stateを“2”に設定した場合のブロックサイズを“中”、stateを“1”に設定した場合のブロックサイズを“小”と表現している。また、図8A及び図8Bに示す動作例における通信装置100及び通信装置200の具体的な動作は、PHYレート決定部206及び比較部212における判定条件が異なる以外は図5A及び図6Aを用いて説明したものと同様であるため、説明を省略する。
以上のように、PHYレートが切り替るPHYレート閾値の中心とする所定の範囲内に設定される事前閾値の数を増やすことにより、PHYレート閾値が切り替わる前後の期間に送信されるブロックのブロックサイズを段階的に小さくすることができる。それにより、HYレート閾値が切り替わる前後の期間にブロックサイズの急激な小型化を回避することが可能となり、ブロックサイズの小型化による伝送効率の劣化を抑制することができるという効果を奏する。
なお、図8A及び図8Bに示す動作例では、1つのPHYレート閾値の中心とする所定の範囲内に設定される事前閾値の数を増やす構成を例に挙げて説明したが、これに限定されるものではない。例えば、ブロックサイズ制御部210が、PHYレート閾値と、受信部201が受信した各ブロックの受信品質として測定された受光電流Irxとの差分を算出し、算出した差分に応じてブロックサイズを決定するとしてもよい。具体的には、ブロックサイズ制御部210は、受光電流IrxとPHYレート閾値との差分が大きいほど、大きいブロックサイズを次に通信装置100が送信すべきブロックサイズとして決定するとしてもよい。この構成では、受光電流IrxとPHYレート閾値との差分の大きさに応じて、ブロックサイズを柔軟に制御することができるため、ブロックサイズを小型化することによる伝送効率の劣化を効率的に抑制することが可能となる効果を奏する。
(実施の形態2)
次に、本発明の実施の形態2における通信装置について説明する。
図9は、実施の形態2における通信システムの構成例を示す図である。なお、図1と同様の要素には同一の符号を付しており、詳細な説明は省略する。
図9に示す通信システム20は、通信装置300及び通信装置400で構成されている。通信装置300は、赤外線を介してデータの送信を行う赤外線通信装置であり、通信装置400は、赤外線を介してデータの受信、並びにフィードバック情報及びジャミング信号の送信を行う赤外線通信装置である。ここで、ジャミング信号とは、通信装置300にデータフレームの送信を停止させるための信号(指示信号)である。
図10は、実施の形態2における通信装置300の構成を示すブロック図である。なお、図2の通信装置100と同じ構成要素については同じ参照符号を付与しており、これらの構成要素については説明を省略する。
図10に示す通信装置300は、受信部101と送信部102とフィードバック情報取得部103とデータ制御部304とジャミング信号認識部320とを備える。この通信装置300は、図2に示す通信装置100に対して、データ制御部304の機能が異なり、ジャミング信号認識部320をさらに備えている点で異なる。
ジャミング信号認識部320は、送信部102においてデータが送信されている期間に、受信部101が通信装置200からのジャミング信号を受信しているか否かを検出する。ジャミング信号認識部320は、ジャミング信号の受信を検出した場合、データ制御部304に対してデータ送信停止命令を出力する。
データ制御部304は、フィードバック情報取得部103で取得されたPHYレートなどのフィードバック情報に基づき、送信部102に対してデータ伝送の指示を行う。また、データ制御部304は、送信部102がブロック毎にそのブロックに属する複数のデータフレームを送信中(データ伝送中)に、ジャミング信号認識部320より入力されたデータ送信停止命令を検出すると、データフレームの送出を停止するよう送信部102に指示する。
以上のように、通信装置300は構成される。
図11は、実施の形態2における通信装置400の構成を示すブロック図である。なお、図3の通信装置200と同じ構成要素については同じ参照符号を付与しており、これらの構成要素については説明を省略する。
図11に示す通信装置400は、受信部201と、送信部202と、受光電流測定部205と、PHYレート決定部206と、フィードバック情報生成部207と、ジャミング信号制御部420とを備える。この通信装置400は、図3に示す通信装置200に対して、受光電流測定部405及びPHYレート決定部406の機能構成が異なり、ブロックサイズ制御部210の代わりに、ジャミング信号制御部420を備えている点が異なる。
受光電流測定部405は、受信部201で受信された信号の受光電流を測定し、1ブロック内のフレーム毎の受光電流の平均値Irxを算出する。
PHYレート決定部406は、さらに、受光電流測定部405により測定されたブロックに属するデータフレーム毎の受信品質に基づき、当該データフレーム毎に通信装置300が送信に用いるべきPHYレートを算出する。具体的には、PHYレート決定部406は、受光電流測定部405で測定されたフレーム毎の受光電流Irxに応じて最適なPHYレート(Ra)を算出する。PHYレート決定部406は、算出した最適なPHYを比較部421に通知する。また、PHYレート決定部406は、PHYレート決定部206と同様にして、ブロック毎の適切なPHYレート(PreRa)を決定する。
ジャミング信号制御部420は、受信部201が受信しているブロックの送信に用いられたPHYレートと、PHYレート決定部406により算出された当該ブロックに属するデータフレームに通信装置300が送信に用いるべきPHYレートとが異なる場合に、通信装置300が送信中の当該ブロックの送信を停止させるためのジャミング信号を送信部202から送信させる。具体的には、ジャミング信号制御部420は、比較部421、メモリ部422及びジャミング信号生成部423で構成される。ジャミング信号制御部420は、受信部201が受信中の信号に用いられているPHYレートが現在の受信品質に対して適切なPHYレートであるか否かを判断し、受信部201が受信中の信号のPHYレートが適切でないと判断した場合、通信装置300に対してデータフレームの送信を停止させるための信号であるジャミング信号を生成する。
以下、ジャミング信号制御部420の詳細構成とその動きについて説明する。
メモリ部422は、PHYレート決定部406で決定されたブロック毎のPHYレート(preRa)を記憶する。メモリ部422は、比較部421により、受信部201が受信中のブロックの1ブロック前におけるPHYレート(PreRa)が読み出される。
比較部421は、PHYレート決定部206からデータフレーム毎に通知されたそのデータフレームを通信装置300が送信する際に用いるべきPHYレート(Ra)と、メモリ部422から読み出したPHYレート(PreRa)とを比較する。比較部421は、PreRaとRaとが異なる場合、受信部201が現在受信中の信号のPHYレートは適切でないと判断して、その旨をジャミング信号生成部423に通知する。
ジャミング信号生成部423は、比較部421から受信部201が現在受信中の信号のPHYレートは適切でない旨を示す判断結果が通知されると、ジャミング信号を生成する。ジャミング信号生成部423は、生成したジャミング信号を、通信装置300からデータフレームがバースト伝送されている途中であっても、送信部202を介して送信する。
以上のようにジャミング信号制御部420は構成される。
次に、PHYレート決定部206及びジャミング信号制御部420が、データフレームを受信する毎に行う処理について説明する。
図12は、実施の形態2における通信装置400の動作を説明するためのフローチャートである。
まず、PHYレート決定部406は、受光電流測定部405により測定されたブロックに属するデータフレーム毎の受信品質である受光電流Irxに基づいて、適切なPHYレート(Ra)を算出する(S200)。ここで、適切なPHYレート(Ra)とは、そのデータフレームを通信装置300が送信する際に用いるべきPHYレート(Ra)を意味する。
次に、比較部421は、S200で算出されたPHYレート(Ra)と、1ブロック前の受信品質より決定された、受信部201が受信中のブロックの1ブロック前におけるPHYレート(PreRa)とが同じ値であるか否かを判別する(S201)。
S201において、RaとPreRaとが異なる値であると判別された場合は(S201でYes)、比較部421は、受信部201が現在受信中の信号のPHYレートは適切でない旨を示す判断結果を通知する。すると、ジャミング信号生成部423は、ジャミング信号を生成する(S202)。
次に、S203において、PHYレート決定部は、メモリ部422が保持しているPHYレートを更新する。ここでは、PHYレート決定部は、メモリ部422が保持しているPreRaの値をRaが示す値に更新する。
一方、S201において、RaとPreRaとが同じ値であると判別された場合、比較部421は、受信部201が現在受信中の信号のPHYレートは適切である旨を示す判断結果を通知する。そして、PHYレート決定部406及びジャミング信号制御部420は処理を終了する。
以上nようにして、通信装置400は動作する。
図13は、実施の形態2におけるジャミング信号送信時の送受信シーケンスの一例を示した図である。具体的には、図13は、通信装置400がジャミング信号を用いて通信装置300からのデータフレームのバースト伝送を停止させる場合に、通信装置400と通信装置300との間で送受信される信号の一例を示している。
まず、通信装置300は、通信装置400に対してブロックすなわちブロックに属するデータフレーム#1−データフレーム#Nのバースト転送を開始する。
すると、通信装置300は例えばデータフレーム#3を受信中に、データフレーム#3が現在の受信品質に対する適切なPHYレートとは異なる不適切なPHYレートで送信されていることを検出する(S301)。ここで、図13中に示すXは、データフレーム#1及びデータフレーム#2の受信品質であり、同じ受信品質であることを示す。一方、Yは、データフレーム#3の受信品質であり、Xとは異なる受信品質であることを示す。続いて、通信装置400は、通信装置300からのブロックの送信を停止させるために、ジャミング信号を通信装置300に対して送信する(S302)。
次に、通信装置300は、そのブロックに属するデータフレーム(例えばデータフレーム#4)のバースト転送中にジャミング信号の受信を認識すると、そのデータフレームの送出を直ちに停止する。そして、通信装置300は、状態を送信モードから受信モードに切り替える。
次に、通信装置400は、そのブロックに属する、データフレーム#1及びデータフレーム#2を受信したことを示すAck(ackデータフレーム)とともに、データフレーム#3を受信中に求めたPHYレートを含むフィードバック情報を通信装置300に通知する(S304)。
次に、通信装置300は、通知されたフィードバック情報に含まれるPHYレートを用いて、データフレーム#3を再送するとともに、データフレーム#4−フレーム#Nの送信を再開する。
次に、通信装置400は、ブロックに属するデータフレーム#Nまでを受信したことを示すAck(Ackデータフレーム)を通信装置300に対して送信する(S305)。
以上のように、ジャミング信号送信が行われる。
なお、上記では、受信品質が変動したデータフレーム#3を再送するとしたが、それに限らない。データフレーム#3がデータの欠損なく受信できる場合には、データフレーム#3までのAckとともにデータフレーム#3を受信中に求めたPHYレートを含むフィードバック情報を通信装置300に通知すればよい。
また、ジャミング信号を受信してバースト伝送を停止した通信装置300がフレーム#4からバースト伝送を再開する場合、フレーム#1−#3のいずれかが正しく受信されなかった場合を考慮して、通信装置400がジャミング信号の送信により通信装置300からのバースト伝送を停止させた後にフィードバック情報と一緒にフレーム#1−#3に対するAckを通知するとしても良い。その場合、通信装置300は、受信したフィードバック情報とAckとに基づいて、フレーム#1−#3のうち正しく受信されなかったデータフレームを送信し、その後フレーム#4−フレーム#Nの送信を再開するとすればよい。
以上、本実施の形態によれば、不適切なPHYレートを用いてデータの送信が行われている場合には、即座に通信装置300からのデータフレームの送信を停止し、適切なPHYレートに切り替えてデータフレームの送信を再開することが可能となる。それにより適切なPHYレートよりも高いPHYレートを用いた送信を継続することに起因する伝送誤りの増加や、適切なPHYレートよりも低いPHYレートを用いて送信を継続することに起因する伝送効率の低下を抑制することができるという効果を奏する。
また、送信部と受信部とを個別に備え、赤外線通信に用いられる赤外線信号のような光信号を用いる通信装置では、データフレームの送信中であっても受信部においてジャミング信号の受信を検出することができる。そのため、上述したジャミング信号の通知のために別途通信手段を設けることなく、ジャミング信号を用いてバースト伝送を停止させることができるという利点もある。
なお、本実施の形態におけるジャミング信号は、通信装置300がジャミング信号の受信の有無を判断できるだけでよいため、ジャミング信号のフレームフォーマットはどのような構成でもよい。
また、上記では、データフレーム毎に算出されたPHYレート(Ra)とブロック毎の適切なPHYレート(PreRa)との比較結果から、ジャミング信号を生成するとしたが、それに限らない。データフレーム毎に算出されたPHYレート(Ra)と、PHYレート(Ra)が算出された1つ前のデータフレームについて算出されたPHYレートをPreRaとしてもよい。
また、本実施の形態では、実施の形態1で行なっていたフィードバック情報を用いたブロックサイズの制御を行わない構成を例に挙げて説明したが、ジャミング信号を用いた制御とフィードバック情報を用いたブロックサイズの制御とを組み合わせて用いてもよい。以下、その構成について図を用いて説明する。
図14は、実施の形態2の変形例における通信装置450の構成を示すブロック図である。図14では、ジャミング信号を用いた制御とフィードバック情報を用いたブロックサイズの制御とを組み合わせた場合の通信装置450の構成例を示している。
図14に示す通信装置450は、受信部201と、送信部202と、受光電流測定部205と、PHYレート決定部406と、フィードバック情報生成部207と、ジャミング信号制御部420とを備える。図3の通信装置200と図11の通信装置400と同じ構成要素については同じ参照符号を付与しており、これらの構成要素については説明を省略する。
図14に示す通信装置450では、受光電流が激しく変動し、フィードバック情報を用いたブロックサイズの制御により小さく制御されたブロックサイズでも、不適切なPHYレートを用いたデータフレームの送信により伝送効率の低下が問題になるような場合に、実施の形態2の効果により伝送効率の低下を抑制することが可能となるという効果を奏する。
以上、本発明の通信装置及びその通信方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
例えば、上述の各実施の形態の構成は、典型的には集積回路であるLSI(Large Scale Integration)で実現されているものとしてもよい。これらは、個別に1チップ化されていてもよいし、全ての構成又は一部の構成を含むように1チップ化されてもよい。集積回路は、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSI等と呼称されることもある。
また、集積回路の手法は、LSIに限定されるものではなく、専用回路又は汎用プロセッサを用いて実現してもよい。更に、FPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成することができるリコンフィギュアラブル・プロセッサを利用してもよい。
さらに、半導体技術の進歩により、又は派生する別技術により現在の半導体技術に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の応用等が考えられる。