(1)通信システムの構成
図1には、本発明の関連技術に係る通信システムが示されている。通信システムは、パケット通信を行う第1無線装置10および第2無線装置12を備える。各無線装置は、例えば、特定小電力無線機の規格に従って、使用周波数帯、送受信電力等が設計される。パケット通信にはデータ通信と制御通信がある。データ通信では、音声データ、画像データ、テキストデータ等の通信対象データを含むデータパケットが、一方の無線装置から他方の無線装置に送信される。制御通信では、データ通信を行う際の通信条件を設定するための制御パケットが第1無線装置10および第2無線装置12の間で送受信される。通信条件には、周波数チャネル(以下、単にチャネルという。)、通信レート等がある。そして、通信レートを決定する条件として、変調方式、各変調方式におけるシンボルレート(占有周波数帯域幅)等がある。
第1無線装置10および第2無線装置12の間のデータ通信は、A周波数帯に含まれるAチャネルと、B周波数帯に含まれるBチャネルの両者を用いた冗長通信によって行われる。すなわち、一方の無線装置は、同一の通信対象データを含むデータパケットをAチャネルの無線信号およびBチャネルの無線信号で送信する。他方の無線装置は、AチャネルおよびBチャネルのうち、先にデータパケットが受信された方のデータパケットから通信対象データを取得し、後に受信されるデータパケットを用いない。
各無線装置が特定小電力無線機の規格に従って設計されている場合、例えば、A周波数帯およびB周波数帯は、400MHz帯、920MHz帯、1.2GHz帯、2.4GHz帯等の特定小電力無線機に対して定められている複数の周波数帯から選ばれる。また、後述のように、各無線装置が3つ以上の複数の周波数帯を用いる場合には、これら複数の周波数帯は、特定小電力無線機に対して定められている複数の周波数帯から選ばれる。
(2)冗長処理
図2には、データ通信の例がシーケンスチャートによって示されている。この図では、Aチャネルでのパケットの送信が実線で示され、Bチャネルでのパケットの送信が破線で示されている。
第1無線装置10は、Aチャネルでデータパケットを送信すると共に(S101)、Bチャネルでデータパケットを送信する(S102)。第2無線装置12では、Aチャネルでデータパケットが先に受信されるため、第2無線装置12はそのデータパケットから通信対象データを取得する(S103)。Aチャネルでデータパケットが受信されてから時間taが経過した時に、第2無線装置12はBチャネルでデータパケットを受信する。第2無線装置12は、そのデータパケットに含まれている通信対象データが、先に受信したデータパケットに含まれていた通信対象データと同一であることを認識すると、Bチャネルで受信されたデータパケットを破棄する(S104)。ここで、データパケットの破棄は、データパケットを消去することの他、データパケットに関する処理を実行しないことを含む。第2無線装置12は、Aチャネルでデータパケットを受信したことに応答して、Aチャネルでアクノリッジパケットを送信する(S105)。また、第2無線装置12は、Bチャネルでデータパケットを受信したことに応答して、Bチャネルでアクノリッジパケットを送信する(S106)。第1無線装置10は各アクノリッジパケットを受信し、AチャネルおよびBチャネルのそれぞれで送信されたデータパケットが第2無線装置12で受信されたことを認識する。
また、ステップS107およびS108に示されているように、第1無線装置10がAチャネルでデータパケットを送信すると共に(S107)、Bチャネルでデータパケットを送信した場合において(S108)、Aチャネルで送信したデータパケットが、通信状況の不良により第2無線装置12で受信されなかったものとする。この場合、第2無線装置12は、Bチャネルで受信されたデータパケットから通信対象データを取得する(S109)。第2無線装置12は、Bチャネルでデータパケットを受信したことに応答して、Bチャネルでアクノリッジパケットを送信する(S110)。第1無線装置10はアクノリッジパケットを受信し、Bチャネルで送信されたデータパケットが第2無線装置12で受信されたことを認識する。
ステップS111およびS112において、第1無線装置10は、Bチャネルでデータパケットを送信すると共に(S111)、Aチャネルでデータパケットを送信する(S112)。第2無線装置12では、Bチャネルでデータパケットが先に受信されるため、第2無線装置12はそのデータパケットから通信対象データを取得する(S113)。Bチャネルでデータパケットが受信されてから時間tbが経過した時に、第2無線装置12は、Aチャネルでデータパケットを受信する。第2無線装置12は、そのデータパケットに含まれている通信対象データが、先に受信したデータパケットに含まれていた通信対象データと同一であることを認識すると、Aチャネルで受信されたデータパケットを破棄する(S114)。第2無線装置12は、Bチャネルでデータパケットを受信したことに応答して、Bチャネルでアクノリッジパケットを送信する(S115)。また、第2無線装置12は、Aチャネルでデータパケットを受信したことに応答して、Aチャネルでアクノリッジパケットを送信する(S116)。第1無線装置10は各アクノリッジパケットを受信し、BチャネルおよびAチャネルのそれぞれで送信されたデータパケットが第2無線装置12で受信されたことを認識する。
ここでは、第1無線装置10から第2無線装置12にデータパケットを送信する処理について説明したが、第2無線装置12から第1無線装置10にデータパケットを送信する処理も同様にして行われる。また、音声データ、画像データ、テキストデータ等は、複数のデータパケットに分けて送信される。そのため、送信側の無線装置から受信側の送信装置には、複数のデータパケットが所定時間間隔で順次送信される。
このような冗長通信によれば、同一の通信対象データを含むデータパケットが、AチャネルおよびBチャネルの両方で一方の無線装置から送信される。他方の無線装置は、先に受信されたデータパケットから通信対象データを取得する。これによって、一方のチャネルの通信状況が良好でない場合には、他方のチャネルによって一方の無線装置から他方の無線装置に通信対象データが送信されるため、データ通信の信頼性が向上する。
(3)チャネルの変更
第1無線装置10および第2無線装置12は、AチャネルおよびBチャネルのうち一方のチャネルの通信状況が良好でない場合、次のような通信条件変更処理を実行する。すなわち、通信状況が良好である他方のチャネルによるデータ通信を停止して代わりに制御通信を行い、その制御通信によって、通信状況が良好でない一方のチャネルを同一周波数帯内の別のチャネルに変更する。例えば、Aチャネルα1による通信の状況が良好でない場合、Bチャネルβ1によるデータ通信を停止してBチャネルβ1による制御通信を行い、Aチャネルα1をA周波数帯内の別のAチャネルα2に変更する。Aチャネルが変更された後、第1無線装置10および第2無線装置12は、Bチャネルβ1によるデータ通信を再開し、冗長通信を再開する。
同様に、Bチャネルβ1による通信の状況が良好でない場合、第1無線装置10および第2無線装置12は、Aチャネルα1によるデータ通信を停止してAチャネルα1による制御通信を行い、Bチャネルβ1をB周波数帯内の別のBチャネルβ2に変更する。Bチャネルが変更された後、第1無線装置10および第2無線装置12は、Aチャネルα1によるデータ通信を再開し、冗長通信を再開する。
各無線装置は、通信状況が良好であるか否かの判定を通信状況コストに基づいて行う。通信状況コストは通信の良好度を表し、A周波数帯に含まれる各Aチャネル、およびB周波数帯に含まれる各Bチャネルについて求められる。各無線装置は、データパケットを送信した後にそのデータパケットに対応するアクノリッジパケットを受信しなかったときは、通信状況コストを所定値だけ増加させて通信状況コストを更新する。また、各無線装置は、アクノリッジパケットを受信したときは、通信状況コストを所定値だけ減少させて通信状況コストを更新する。ただし、通信状況コストが上限値に達しているときは所定値を増加させず、通信状況コストが下限値に達しているときは所定値を減少させない。また、通信状況コストを所定値だけ増加させた場合に通信状況コストが上限値を超えてしまう場合には、通信状況コストを上限値とし、通信状況コストを所定値だけ減少させた場合に通信状況コストが下限値より小さくなってしまう場合には、通信状況コストを下限値とする。通信状況コストは、値が小さい程、通信状況が良好であることを示す。各無線装置は、通信状況コストが所定の良好度判定値以上になったときに通信状況が良好でないとの判定をする。
本技術では、通信状況コストの初期値は7であり、通信状況コストの上限値および下限値は、それぞれ、15および0である。また、良好度判定値は15である。各無線装置は、データパケットを送信した後にそのデータパケットに対応するアクノリッジパケットを受信せず通信状況コストが14に達していない場合には、通信状況コストを2だけ増加させる。また、通信状況コストが14または15である場合には、通信状況コストを上限値15とする。一方、データパケットを送信した後にそのデータパケットに対応するアクノリッジパケットを受信し通信状況コストが下限値0に達していない場合には、通信状況コストを1だけ減少させる。このように、通信状況コストを増加させる値を、減少させる値よりも大きくすることで通信状況の劣化が早期に検出される。
各無線装置は、通信状況コストが良好度判定値である15となったときに、通信状況が良好でないとの判定をする。
また、各無線装置は、データパケットまたはアクノリッジパケットを受信する度に、受信信号の大きさを表す受信強度平均値を更新する。受信強度平均値は、例えば、最後に受信されたパケットを含めて過去に遡って所定回数に亘って受信された各パケットの受信信号の平均値である。また、受信強度平均値は、最後にパケットを受信したときから所定時間だけ遡った時間内に受信された各パケットの受信信号の平均値としてもよい。この平均値は、受信信号が新しい程重み付けを大きくする重み付け平均値であってもよい。受信強度平均値は、A周波数帯に含まれる各Aチャネル、およびB周波数帯に含まれる各Bチャネルについて求められる。
なお、データパケットを送信する側の無線装置は、次のような処理を実行してもよい。例えば、データパケットを送信する側の無線装置は、最新のデータパケットの送信を含めて過去N回に亘るデータパケットの送信に対し、アクノリッジパケットが受信されなかった回数を、新たにデータパケットを送信するごとに数える。そして、N回のうちある所定回数以上に亘ってアクノリッジパケットを受信しなかった場合には、通信状況が良好でないとの判定をする。また、データパケットを送信する側の無線装置は、アクノリッジパケットの受信信号の大きさが所定の閾値以下となった場合に通信状況が良好でないとの判定をしてもよい。
図3には、通信条件変更処理のタイミングチャートが示されている。図3(A−1)には、第1無線装置および第2無線装置によって用いられるAチャネルが示されている。図3(A−2)には、図3(A−1)で示されているAチャネルでの通信状況コストが示されている。図3(A−3)には、図3(A−1)で示されているAチャネルによって行われる通信が、データ通信であるか制御通信であるかが示されている。
同様に、図3(B−1)には、第1無線装置および第2無線装置によって用いられるBチャネルが示されている。図3(B−2)には、図3(B−1)で示されているBチャネルでの通信状況コストが示されている。図3(B−3)には、図3(B−1)で示されているBチャネルによって行われる通信が、データ通信であるか制御通信であるかが示されている。
時刻t0から時刻t2までにおいて、第1無線装置は、Aチャネルα1とBチャネルβ1を用いた冗長通信によって第2無線装置にデータパケットを順次送信している。すなわち、第1無線装置は、データパケットをAチャネルα1の無線信号およびBチャネルβ1の無線信号によって第2無線装置に順次送信し、データ通信を行っている。第1無線装置はAチャネルα1およびBチャネルβ1において同一の通信対象データを含むデータパケットを送信する。
図3(A−2)および(B−2)に示されているように、第1無線装置は、データパケットの送信に対してアクノリッジパケットを受信せず通信状況コストが14に達していないときは、通信状況コストを2だけ増加させる。また、通信状況コストが14または15であるときは通信状況コストを上限値15とする。一方、データパケットの送信に対してアクノリッジパケットを受信したときは、下限値0を下回らない限りにおいて通信状況コストを1だけ減少させる。
時刻t0から時刻t1より前までの間、Aチャネルα1およびBチャネルβ1のいずれについても通信状況コストは15未満である。時刻t1にAチャネルα1の通信状況コストが15に達すると、第1無線装置は、Aチャネルα1でのデータ通信を続行しつつも、Bチャネルβ1でのデータ通信を停止し制御通信を開始する。制御通信は、時刻t1より後の時刻t2〜t4の間で行われる。
図4には、制御通信において第1無線装置10と第2無線装置12との間で実行される処理の例が示されている。時間軸10Aは第1無線装置10で用いられるAチャネルに対応し、時間軸10Bは第1無線装置10で用いられるBチャネルに対応する。時間軸12Aは第2無線装置12で用いられるAチャネルに対応し、時間軸12Bは第2無線装置12で用いられるBチャネルに対応する。各時間軸上には、各時間で用いられるチャネルが符号によって示されている。
第1無線装置10は、Bチャネルβ1での制御通信を開始すると(S201)、Aチャネルをこれまで用いられていたAチャネルα1からいずれのチャネルに変更するかを決定する(S202)。変更先のチャネルの決定は、例えば、各チャネルについて求められた通信状況コストに基づいて行われる。この場合、通信状況コストが閾値7以下であること等、通信状況コストが所定の閾値以下であることを変更先チャネルに求められる条件としてもよい。さらに、通信状況コストが最も小さいチャネルを変更先のチャネルとして決定してもよい。通信状況コストが最も小さいチャネルが複数ある場合には、現時点のチャネルとの周波数差が最も大きいチャネルを変更先のチャネルとして決定してもよい。また、変更先チャネルの決定は、各チャネルについて求められた受信強度平均値に基づいて行ってもよい。この場合、受信強度平均値が所定の閾値以上であることを変更先チャネルに求められる条件としてもよい。図4に示される例では、第1無線装置10はAチャネルα2を変更先のチャネルとして決定している。
第1無線装置10は、Bチャネルβ1の無線信号によってチャネル変更要求パケットC(α1→α2)を第2無線装置12に送信する(S203)。ここで、符号C(α1→α2)は、チャネル変更要求パケットが、Aチャネルをα1からα2に変更することを要求していることを意味する。
チャネル変更要求パケットC(α1→α2)を受信した第2無線装置12は、Bチャネルβ1でのデータ通信を停止し、制御通信を開始する(S204)。そして、Aチャネルα2の通信状況が良好であるか否かを判定する(S205)。この判定は、例えば、第2無線装置12がAチャネルα2について求めた通信状況コストに基づいて行われる。この場合、第2無線装置12は、通信状況コストが所定の閾値、例えば7以下であれば、通信状況は良好であると判定する。また、この判定は、第2無線装置12がAチャネルα2について求めた受信強度平均値に基づいて行ってもよい。この場合、Aチャネルα2での受信強度平均値が所定の閾値以上であれば、第2無線装置12は、通信状況が良好であると判定する。
図4に示される例では、第2無線装置12はステップS205において、Aチャネルα2の通信状況が良好でないとの判定をしている。これによって、第2無線装置12は、Bチャネルβ1の無線信号によってチャネル変更拒絶パケットNGを第1無線装置10に送信する(S206)。
チャネル変更拒絶パケットNGを受信したことによって、第1無線装置10は、再び、ステップS202と同様の処理によって、変更先のチャネルを決定する(S207)。図4に示される例では、第1無線装置10はAチャネルα3を変更先のチャネルとして決定している。
第1無線装置10は、Bチャネルβ1の無線信号によってチャネル変更要求パケットC(α1→α3)を第2無線装置12に送信する(S208)。
チャネル変更要求パケットC(α1→α3)を受信した第2無線装置12は、ステップS205と同様の処理によって、Aチャネルα3の通信状況が良好であるか否かを判定する(S209)。
図4に示される例では、第2無線装置12はステップS209において、Aチャネルα3の通信状況が良好であるとの判定をしている。これによって、第2無線装置12は、Aチャネルをα1からα3に変更すると共に(S210)、Bチャネルβ1の無線信号によってチャネル変更了承パケットOKを第1無線装置10に送信する(S211)。
チャネル変更了承パケットOKを受信したことによって、第1無線装置10は、Aチャネルをα1からα3に変更する(S212)。Aチャネルを変更した後、第1無線装置10は、Aチャネルα3の無線信号によって疎通確認パケットQ1を第2無線装置12に送信する(S213)。第2無線装置12は、疎通確認パケットQ1を受信した場合には、第1無線装置10にAチャネルα3の無線信号によって疎通応答パケットR1を送信する(S214)。第1無線装置10は、疎通応答パケットR1を受信するとBチャネルβ1による制御通信を終了し(S215)、データ通信を再開する。
ここで、第1無線装置10が疎通応答パケットR1を受信しなかった場合、疎通応答パケットR1が受信されるまで、第1無線装置10は、ステップS201〜S212で例示された処理と同様、第2無線装置12と共に、Aチャネルを変更する処理を実行する。そして、疎通確認パケットQ1の送信の後、疎通応答パケットR1が受信された場合には、制御通信を終了し(S215)、データ通信を再開する。
同様に、Aチャネルを変更した後、第2無線装置12は、Aチャネルα3の無線信号によって疎通確認パケットQ2を第1無線装置10に送信する(S216)。第1無線装置10は、疎通確認パケットQ2を受信した場合には、Aチャネルα3の無線信号によって第2無線装置12に疎通応答パケットR2を送信する(S217)。第2無線装置12は、疎通応答パケットR2を受信するとBチャネルβ1による制御通信を終了し(S218)、データ通信を再開する。
ここで、第2無線装置12が疎通応答パケットR2を受信しなかった場合、疎通応答パケットR2が受信されるまで、第2無線装置12は、ステップS201〜S212で例示された処理につき、第1無線装置10の処理と第2無線装置12の処理とを入れ替えたものと同様の処理を実行する。そして、疎通確認パケットQ2の送信の後、疎通応答パケットR2が受信された場合には、制御通信を終了し(S218)、データ通信を再開する。
図3に戻って通信条件変更処理について説明する。図3(A−1)に示されているように、第1無線装置は、第2無線装置との間の制御通信に基づいて時刻t3にAチャネルをα3に設定する。このとき、Aチャネルα3の通信状況コストおよび受信強度平均値は初期値に設定する。そして、時刻t3〜時刻t4の間で、疎通確認パケットを送信し、疎通応答パケットを受信する。なお、時刻t3にAチャネルをα3に設定する際に、Aチャネルα3の通信状況コストおよび受信強度平均値は、初期値とせずに時刻t3の直前の値を維持してもよい。第1無線装置は、時刻t4にBチャネルβ1による制御通信を終了し、データ通信を再開する。時刻t3以降、Aチャネルα3の通信状況は良好であり、通信状況コストは単調に減少して0に達している。
時刻t4から時刻t6までにおいて、第1無線装置は、Aチャネルα3とBチャネルβ1を用いた冗長通信によって第2無線装置にデータパケットを順次送信している。すなわち、第1無線装置は、データパケットをAチャネルα3の無線信号およびBチャネルβ1の無線信号によって第2無線装置に順次送信し、データ通信を行っている。第1無線装置はAチャネルα3およびBチャネルβ1において同一の通信対象データを含むデータパケットを送信する。
時刻t4から時刻t5より前までの間、Aチャネルα1およびBチャネルβ1のいずれについても通信状況コストは15未満である。時刻t5にBチャネルβ1の通信状況コストが15に達すると、第1無線装置は、Bチャネルβ1でのデータ通信を続行しつつも、Aチャネルα3でのデータ通信を停止し制御通信を開始する。制御通信は、時刻t5より後の時刻t6〜時刻t8の間で行われる。
Aチャネルα3による制御通信によって、第1無線装置は時刻t7にBチャネルをβ4に設定し、Bチャネルβ4の通信状況コストおよび受信強度平均値を初期値に設定する。なお、時刻t7にBチャネルをβ4に設定する際に、Bチャネルβ4の通信状況コストおよび受信強度平均値は、初期値とせずに時刻t7の直前の値を維持してもよい。第1無線装置は、時刻t7〜時刻t8の間、疎通確認パケットを送信し、疎通応答パケットを受信する。第1無線装置は、時刻t8にAチャネルα3による制御通信を終了し、データ通信を再開する。時刻t7以降、Bチャネルβ4の通信状況は良好であり、通信状況コストは単調に減少して0に達している。
なお、通信条件変更処理において、第2無線装置がデータパケットの送信側である場合には、上記の説明において第1無線装置が実行する処理を第2無線装置が実行し、第1無線装置が実行する処理を第2無線装置が実行する。また、AチャネルおよびBチャネルの両方の通信状況が良好でない場合、第1無線装置および第2無線装置は通信条件変更処理を実行しない。
このように、通信条件変更処理では、AチャネルおよびBチャネルのうち一方による通信状況が良好でない場合、各無線装置は、通信状況が良好である他方のチャネルによるデータ通信を停止して代わりに制御通信を実行する。そして、通信状況が良好でない一方のチャネルを同一周波数帯内の別のチャネルに変更する。通信条件変更処理では、通信状況が良好である方のチャネルを用いて、通信状況が良好でない方のチャネルが変更されるため、チャネルの変更が確実に行われる。これによって、パケット通信の成功率の低下が抑制される。
(4)通信レートの変更
上記では、通信条件変更処理において、通信状況が良好でない一方のチャネルを、同一周波数帯内の別のチャネルに変更するものとした。このような処理に代えて、通信状況が良好でない一方のチャネルの通信レート(単位時間当たりに伝送される情報量)を変更する処理を実行してもよい。例えば、AチャネルおよびBチャネルのうち一方による通信状況が良好でない場合、通信状況が良好なチャネルによる制御通信を行い、通信状況が良好でない一方のチャネルにおける通信レートを小さくする。この処理は、一方のチャネルを、同一周波数帯内の別のチャネルに変更する処理を試みたところ、その周波数帯内の総てのチャネルの通信状況コストが上限値15に達している場合等、その周波数帯内の総てのチャネルの通信状況が良好でない場合に実行してもよい。
通信レートの変更は、例えば、変調方式を変更することで行われる。AチャネルおよびBチャネルのうち一方による通信状況が良好でない場合、各無線装置は、通信状況が良好なチャネルによる制御通信を行い、通信状況が良好でない一方のチャネルにおける変調方式を通信レートが大きいものから小さいものに変更する。
変調方式には、32QAM変調方式、16QAM変調方式、QPSK変調方式、π/4DQPSK変調方式等がある。
角周波数ω、時間tおよび初期位相φによって変調信号の位相角を(ωt+φ)と表し、振幅をDと表した場合、32QAM変調方式、16QAM変調方式等のQAM変調方式では、振幅Dおよび初期位相φについて複数の組が定義され、各組にシンボルが対応付けられている。ここで、シンボルとは1桁または複数桁のディジタル値をいう。また、QPSK変調方式等のPSK変調方式では、複数の初期位相φが定義され、各初期位相にシンボルが対応付けられている。π/4DQPSK変調方式等のDPSK変調方式では、初期位相φについて複数の時間変化量が定義され、各時間変化量にシンボルが対応付けられている。
単位時間当たりに伝送されるシンボルの数を表すシンボルレートを同一とすると、32QAM変調方式、16QAM変調方式、QPSK変調方式の順に通信レートが大きい。また、シンボルレートを同一とすると、QPSK変調方式およびπ/4DQPSK変調方式では、通信レートが同一である。
各無線装置は、例えば、通常時はAチャネルおよびBチャネルのいずれについても変調方式を16QAM変調方式とし、通信状況が良好でない一方のチャネルの変調方式をQPSK変調方式に変更して、通信レートを小さくする処理を実行する。
各無線装置は、変調方式は一定としシンボルレートを小さくすることで通信レートを小さくする処理を実行してもよい。
データパケットを送信する信号の占有周波数帯域幅は、変調方式、シンボルレート等の変調条件によって定まる。例えば、シンボルレートを大きくすると占有周波数帯域幅は広くなる。したがって、占有チャネル数を変調条件に応じて変更してもよい。すなわち、複数チャネル分の周波数を占有する変調条件については、周波数軸上で連続配置された複数のチャネルを用いてもよい。
制御通信を実行する各無線装置は、通信レートを変更した後、所定時間経過後に通信レートを元に戻す処理を実行してもよい。これによって、一時的な通信状況の劣化に対処することができると共に、通信レートが長時間に亘って低下することが回避される。通信レートを通常の値に戻す場合、各無線装置は、制御通信のチャネルによって制御通信を行い、データ通信のチャネルの通信レートを通常の通信レートに変更する。
(5)スペクトラム拡散処理
通信条件変更処理では、通信状況が良好でない一方のチャネルについて、スペクトラム拡散処理を実行してもよい。スペクトラム拡散処理は、変調前の信号に拡散符号を乗じる処理である。受信側では、受信された信号に拡散符号を乗じることで元の信号が再現される。スペクトラム拡散処理後の信号は、通信状況を良好とするために要される信号対雑音比が小さいため、雑音や干渉に対する耐性が強くなる。スペクトラム拡散処理を行った場合、データパケットを送信するための占有周波数帯域幅が広がる。そのため、各無線装置は、占有チャネル数を増加させる処理を実行する。
(6)通信レートアップ処理
第1無線装置10および第2無線装置12は、AチャネルおよびBチャネルの両者の通信状況が良好である場合、通信レートアップ処理を実行してもよい。すなわち、一方のチャネルによるデータ通信を停止して代わりに制御通信を行い、その制御通信によって他方のチャネルの通信レートを大きくする処理を実行してもよい。
例えば、Aチャネルα1の通信状況コストが所定の閾値T1以下であり、かつ、Bチャネルβ1の通信状況コストが所定の閾値T2以下である場合、Bチャネルβ1によるデータ通信を停止してBチャネルβ1による制御通信を行い、Aチャネルα1の通信レートを大きくする。本技術では、閾値T1は0であり、閾値T2は7である。Aチャネルα1の通信レートが変更された後、第1無線装置10および第2無線装置12は、Bチャネルβ1によるデータ通信を再開し、冗長通信を再開する。なお、通信レートの変更は、変調方式、シンボルレート等を変更することで行われる。
図5には、通信レートアップ処理のタイミングチャートが示されている。図5(A−1)には、第1無線装置および第2無線装置によって用いられるAチャネルα1での通信レートが示されている。図5(A−2)には、図5(A−1)で示されている通信レートでの通信状況コストが示されている。図5(A−3)には、図5(A−1)で示されている通信レートによって行われる通信がデータ通信であることが示されている。
同様に、図5(B−1)には、第1無線装置および第2無線装置によって用いられるBチャネルβ1での通信レートが示されている。図5(B−2)には、図5(B−1)で示されている通信レートでの通信状況コストが示されている。図5(B−3)には、図5(B−1)で示されている通信レートによって行われる通信が、データ通信であるか制御通信であるかが示されている。
時刻t0から時刻t2までにおいて、第1無線装置は、Aチャネルα1とBチャネルβ1を用いた冗長通信によって第2無線装置にデータパケットを順次送信している。各チャネルでの通信レートは通常の通信レートR1である。
図5(A−2)および図5(B−2)に示されているように、第1無線装置は、データパケットの送信に対してアクノリッジパケットを受信せず通信状況コストが14に達していないときは、通信状況コストを2だけ増加させる。また、通信状況コストが14または15であるときは通信状況コストを上限値15とする。一方、データパケットの送信に対してアクノリッジパケットを受信したときは、下限値0を下回らない限りにおいて通信状況コストを1だけ減少させる。
時刻t0から時刻t1より前までの間、Aチャネルα1およびBチャネルβ1のいずれについても通信状況コストは15未満であり、Aチャネルα1についての通信状況コストは単調減少している。時刻t1ではAチャネルα1の通信状況コストは0であり、Bチャネルβ1の通信状況コストは4である。したがって、Aチャネルα1の通信状況コストが閾値T1=0以下であり、Bチャネルβ1の通信状況コストが閾値T2=7以下であるという条件が成立する。これによって、第1無線装置は、Bチャネルβ1でのデータ通信を停止し制御通信を開始する。第1無線装置は、Bチャネルβ1での制御通信を行っている時刻t2〜時刻t3の間もAチャネルα1における通信レートR1でのデータ通信を続行する。
通信レートアップ処理における制御通信は、例えば、次のようにして行われる。第1無線装置は、Bチャネルβ1の無線信号によって通信レート変更要求パケットを第2無線装置に送信する。通信レート変更要求パケットは、変更先の通信レートを特定する情報等を含む。本技術では、通信レート変更要求パケットは、変更先の通信レートとしてR2を特定する情報を含む。ここで、通信レートR2は通信レートR1よりも大きい。
通信レート変更要求パケットを受信した第2無線装置は、Bチャネルβ1でのデータ通信を停止する。そして、Aチャネルα1の通信レートをR1からR2に変更すると共に、通信レート変更了承パケットをBチャネルβ1の無線信号によって第1無線装置に送信する。このとき、第2無線装置は、Aチャネルα1の通信状況コストおよび受信強度平均値を初期値に設定する。通信レート変更了承パケットを受信した第1無線装置は、Aチャネルα1の通信レートをR1からR2に変更する。これによって、時刻t3に第1無線装置および第2無線装置によって用いられるAチャネルの通信レートがR1からR2に変更される。通信レートを変更する際に第1無線装置は、Aチャネルα1の通信状況コストおよび受信強度平均値を初期値に設定する。
Aチャネルα1の通信レートがR1からR2に変更された後、図4のステップS213、S214、S216およびS217と同様、時刻t3〜時刻t4の時間帯に、第1無線装置および第2無線装置の間で、疎通確認パケットおよび疎通応答パケットが送受信される。第1無線装置および第2無線装置は、疎通応答パケットを受信しなかった場合、変更後の通信レートR2を通常の通信レートR1に戻す。
なお、上記の説明において第1無線装置が実行する処理を第2無線装置が実行し、第1無線装置が実行する処理を第2無線装置が実行してもよい。また、第1無線装置および第2無線装置のうち、通信レートアップ処理を開始するための条件が先に成立した方が、通信レートアップ処理を先に開始してもよい。
通信レートアップ処理の条件としては、通信レートを大きくする側のチャネルの通信状況コストが閾値T1以下であり、制御通信を行う側のチャネルの通信状況コストが閾値T2以下であるという条件に加えて、制御通信を行う側のチャネルの受信強度平均値が所定の閾値T3以上であるという条件を付加してもよい。
通信システムでは、3種類以上の通信レートが定められていてもよい。通信レートアップ処理の条件が成立するごとに1段階ずつ通信レートを大きくしてもよい。また、変更先の通信レートを最大のものとし、変更後の通信レートで通信を続行できない場合には、1段階ずつ通信レートを小さくしてもよい。変更後の通信レートで通信を続行できるか否かの判定は、例えば、疎通確認パケットの送信および疎通応答パケットの受信に基づいて行われる。
(7)先行型冗長処理
冗長通信では、Aチャネルの通信レートとBチャネルの通信レートとが異なる場合、一方のチャネルでアクノリッジパケットが無線装置で受信された後に、他方のアクノリッジパケットが無線装置で受信される。すなわち、一方のチャネルでの送信が完了した後に、他方のチャネルでの送信が完了する。複数のデータパケットを送信する場合、両方のチャネルで送信が完了してから次のデータパケットを送信したのでは、通信レートの小さい方のチャネルによって、両方のチャネルによる総合通信レートが制限されてしまう。
そこで、本発明の実施形態に係る通信システムでは、一方のチャネルで送信を完了したときは、他方のチャネルでの送信完了を待たずに、一方のチャネルで次のデータパケットを送信する。一方のチャネルで送信すべき次のデータパケットは、いずれのチャネルでも送信を完了していないデータパケットのうち最も先に送信すべきデータパケットである。
図6には、このような先行型冗長処理のシーケンスチャートが示されている。時間軸10Aは第1無線装置10で用いられるAチャネルα1に対応し、時間軸10Bは第1無線装置10で用いられるBチャネルβ1に対応する。時間軸12Aは第2無線装置12で用いられるAチャネルα1に対応し、時間軸12Bは第2無線装置12で用いられるBチャネルβ1に対応する。Aチャネルα1での通信レートは、Bチャネルβ1での通信レートよりも大きい。
第1無線装置10は、Aチャネルα1およびBチャネルβ1でデータパケットD1を送信する。各チャネルでデータパケットD1を受信した第2無線装置12は、Aチャネルα1およびBチャネルβ1でアクノリッジパケットAck1を送信する。
第1無線装置10はAチャネルα1でアクノリッジパケットAck1を受信する。このとき第1無線装置10は、Bチャネルβ1でアクノリッジパケットAck1を受信していない。第1無線装置10は、Bチャネルβ1でのアクノリッジパケットAck1の受信を待たずして、いずれのチャネルでも送信を完了していないデータパケットのうち最も先に送信すべきデータパケットD2をAチャネルα1で送信する。
Aチャネルα1でデータパケットD2を受信した第2無線装置12は、Aチャネルα1でアクノリッジパケットAck2を送信する。
第1無線装置10はAチャネルα1でアクノリッジパケットAck2を受信する。このときにおいても第1無線装置10は、Bチャネルβ1でアクノリッジパケットAck1を受信していない。第1無線装置は、Aチャネルα1でのアクノリッジパケットAck1の受信を待たずして、いずれのチャネルでも送信を完了していないデータパケットのうち最も先に送信すべきデータパケットD3をAチャネルα1で送信する。
Aチャネルα1でデータパケットD3を受信した第2無線装置12は、Aチャネルα1でアクノリッジパケットAck3を送信する。
第1無線装置10が、Aチャネルα1でデータパケットD3を送信してから、Aチャネルα1でアクノリッジパケットAck3を受信するまでの間に、第1無線装置10は、Bチャネルβ1でアクノリッジパケットAck1を受信する。このとき第1無線装置10は、Aチャネルα1でアクノリッジパケットAck3を受信していない。第1無線装置10は、Aチャネルα1でのアクノリッジパケットAck3の受信を待たずして、いずれのチャネルでも送信を完了していないデータパケットのうち最も先に送信すべきデータパケットD3をBチャネルβ1で送信する。
このような処理によれば、通信レートの小さい方のチャネルによって総合通信レートが制限されることなく、一方の無線装置から他方の無線装置に複数のデータパケットが送信される。また、先のデータパケットの送信が完了した後に、次のデータパケットが送信されるため、一方の無線装置から他方の無線装置に確実にデータパケットが送信される。
(8)送信失敗支援処理
先行型冗長処理では、一方のチャネルにおいて所定回数に亘ってデータパケットの送信が失敗であった場合には、送信失敗支援処理を実行してもよい。すなわち、所定回数に亘って送信が失敗したデータパケットに対応するアクノリッジパケットが他方のチャネルで後に受信されたときに、両方のチャネルで次のデータパケットを送信する。ここで、データパケットの送信が失敗であった場合とは、データパケットを送信した後に所定時間が経過しても、そのデータパケットに対するアクノリッジパケットが受信されなかった場合をいう。図7には、送信失敗支援処理のシーケンスチャートが示されている。
第1無線装置10は、Aチャネルα1およびBチャネルβ1でデータパケットD1を送信する。各チャネルでデータパケットD1を受信した第2無線装置12は、Aチャネルα1およびBチャネルβ1でアクノリッジパケットAck1を送信する。
第1無線装置10はAチャネルα1でアクノリッジパケットAck1を受信する。このとき第1無線装置10は、Bチャネルβ1でアクノリッジパケットAck1を受信していない。第1無線装置10は、Bチャネルβ1でのアクノリッジパケットAck1の受信を待たずして、いずれのチャネルでも送信を完了していないデータパケットのうち最も先に送信すべきデータパケットD2をAチャネルα1で送信する。
図7には、このデータパケットD2が第2無線装置12で受信されず、第2無線装置12からAチャネルα1でアクノリッジパケットAck2が送信されない例が示されている。データパケットD2が第2無線装置12で受信されないことの理由としては、雑音や干渉によって通信状況が良好でないこと等がある。
第1無線装置10は、Aチャネルα1でデータパケットD2を送信してから所定時間が経過してもアクノリッジパケットAck2を受信しない場合、再び、Aチャネルα1でデータパケットD2を送信する。
図7には、2回目および3回目に送信されたデータパケットD2もまた、第2無線装置12で受信されず、第2無線装置12からアクノリッジパケットAck2が送信されない例が示されている。
本実施形態における送信失敗支援処理では、第1無線装置10が3回に亘って一方のチャネルでのデータパケットの送信に失敗したときは、そのデータパケットに対するアクノリッジパケットが、他方のチャネルで後に受信されたときに、両方のチャネルで次のデータパケットを送信する。第1無線装置10は、それまではデータパケットの送信を行わない。
図7に示される例では、第1無線装置10は、3回目にデータパケットD2の送信が失敗した後には、Bチャネルβ1でアクノリッジパケットAck2が受信されるまで、Aチャネルα1でのデータパケットの送信を行わない。
第1無線装置10は、3回目にデータパケットD2の送信が失敗した後にBチャネルβ1でアクノリッジパケットAck1を受信する。第1無線装置10は、いずれのチャネルでも送信を完了していないデータパケットのうち最も先に送信すべきデータパケットD2をBチャネルβ1で送信する。第2無線装置12は、Bチャネルβ1でデータパケットD2を受信すると、Bチャネルβ1でアクノリッジパケットAck2を送信する。
第1無線装置10は、データパケットD2に対するアクノリッジパケットAck2が、Bチャネルβ1で受信されたときに、Aチャネルα1およびBチャネルβ1で次のデータパケットとしてデータパケットD3を送信する。Aチャネルα1およびBチャネルβ1のいずれにおいても、データパケットD3は第2無線装置12で受信され、第2無線装置12は、各チャネルでアクノリッジパケットAck3を送信する。第1無線装置10は、各チャネルでアクノリッジパケットAck3を受信する。
このような処理によれば、通信レートが大きい方のチャネルで所定回数に亘ってデータパケットの送信が失敗であった場合には、通信レートが小さい方のチャネルによってデータパケットの送信が行われる。一般に、通信レートが大きい程、単位時間当たりに伝送可能な情報量が多くなる一方で、雑音や干渉に対する耐性は弱くなる。そして、通信レートが小さい程、雑音や干渉に対する耐性が強くなる一方で、単位時間当たりに伝送可能な情報量は少なくなる。送信失敗支援処理によれば、一方のチャネルの短所を他方のチャネルの長所で補うことで、総合通信レートが大きく、雑音や干渉に対する耐性が強い通信が行われる。
また、このような処理によれば、一方のチャネルにおいて所定回数に亘ってデータパケットの送信が失敗であった場合には、他方のチャネルによってそのデータパケットの送信が完了したときに、両方のチャネルで次のデータパケットが送信される。すなわち、他方のチャネルによってそのデータパケットの送信が完了するまでは、送信に失敗したデータパケットの次に送信すべきデータチャネルは一方のチャネルによって送信されない。そして、他方のチャネルによってそのデータパケットの送信が完了したときに初めて次のデータパケットが両方のチャネルで送信される。これによって、複数のデータパケットが予め定められた順序で受信され、受信側の無線装置における複数のデータパケットに対する処理が簡単となる。
(9)無線装置のハードウエア
(9−1)全体の構成
図8には通信システムに用いられる無線装置100のハードウエアが示されている。無線装置100は、図1に示される第1無線装置10および第2無線装置12として用いられる。無線装置100は、信号処理ユニット14および無線部16を備える。無線部16は、AチャネルおよびBチャネルの無線信号を送受信することでパケットの送受信を行う。無線部16は、受信されたパケットを信号処理ユニット14に出力し、信号処理ユニット14から出力されたパケットを送信する。また、無線部16は、受信された無線信号の大きさを示す受信強度値を信号処理ユニット14に出力する。
信号処理ユニット14は、冗長通信部18、アクノリッジ受信部20、良好度決定部22、判定部24、および制御通信部26を備える。信号処理ユニット14は、プログラムに従った演算処理を実行するプロセッサを備えてもよい。この場合、信号処理ユニット14は、演算処理によってこれらの構成要素を実現する。信号処理ユニット14が備える各構成要素は、電子回路によって個別に構成してもよい。
(9−2)冗長通信に関する構成
冗長通信部18は、無線部16を介して、無線装置100とは異なる他の無線装置(無線機)との間で複数の周波数帯で同一のデータ通信を行い、冗長通信を行う。通信条件変更処理および通信レートアップ処理において、冗長通信部18は、制御通信が行われている間は冗長通信を停止し、制御通信が終了した後に冗長通信を再開する。
(9−3)通信状況を測定するための構成
アクノリッジ受信部20は、無線部16を介してアクノリッジパケットを取得する。良好度決定部22は、無線部16を介して取得されたパケットに基づいて複数の周波数帯のそれぞれに含まれる各チャネルについて通信良好度を求める。通信良好度には、通信状況コスト、受信強度平均値等がある。
(9−4)制御通信に関する構成
通信条件変更処理において、判定部24は、複数の周波数帯のうち1つの周波数帯(A周波数帯またはB周波数帯)を用いたデータ通信の状況について、所定条件が満たされるか否かを判定する。すなわち、判定部24は、パケットの受信状況に応じて求められた通信良好度に基づいて通信状況が良好であるか否かを判定する。
また、通信条件変更処理において、制御通信部26は、所定条件が満たされない場合に、複数の周波数帯のうち他の周波数帯(B周波数帯またはA周波数帯)を用いたデータ通信を停止し、他の周波数帯を用いた制御通信によって、1つの周波数帯を用いたデータ通信の通信条件を変更する。通信条件には、チャネル、変調方式、通信レート、スペクトラム拡散処理の採否等がある。通信レートは、変調方式、シンボルレート(占有周波数帯域幅)等を変更することで変更される。
通信条件変更処理における通信条件がチャネルに関する条件である場合、制御通信部26は、各チャネルについて求められた通信良好度に基づいて、1つの周波数帯を用いたデータ通信のチャネルを変更する。
通信レートアップ処理において、判定部24は、複数の周波数帯のうち、第1の周波数帯(A周波数帯またはB周波数帯)および第2の周波数帯(B周波数帯またはA周波数帯)を用いたデータ通信の状況について、所定条件が満たされるか否かを判定する。
また、通信レートアップ処理において、制御通信部26は、所定条件が満たされる場合に、第2の周波数帯を用いたデータ通信を停止し、第2の周波数帯を用いた制御通信によって、第1の周波数帯を用いたデータ通信の通信条件を変更する。この場合、制御通信部26は、第1の周波数帯を用いたデータ通信の通信条件を、通信レートがより大きい条件に変更する。
制御通信部26は、疎通確認部34および反復処理部36を備える。通信条件変更処理および通信レートアップ処理において、疎通確認部34は、無線装置100とは異なる他の無線装置との間の疎通確認パケットおよび疎通応答パケットの送受信状況に基づいて、通信条件を変更した後におけるデータ通信が可能であるか否かを判定する。反復処理部36は、通信条件を変更した後におけるデータ通信が可能でないと判定されたときに、通信条件をさらに変更し、疎通確認部34による処理を実行させる。
(9−5)先行冗長処理および送信失敗支援処理に関する構成
冗長通信部18は、第1送信部28、第2送信部30および第3送信部32を備え、上述の先行冗長処理および送信失敗支援処理を実行する。
第1送信部28は、予め定められた順序で複数のデータパケットを、無線部16を介して送信する。第2送信部30は、複数のデータパケットのうち、第1送信部28による送信が完了していないデータパケットであり、かつ、最も先に送信されるべきデータパケットを、無線部16を介して送信する。第1送信部28および第2送信部30は、無線部16を介して、異なる周波数帯を用いて異なる通信レートでデータパケットを送信する。
第3送信部32は、複数の周波数帯のうち1つの周波数帯(A周波数帯またはB周波数帯)について、データパケットに対し所定回数に亘ってアクノリッジパケットが受信されなかった場合に、他の1つの周波数帯(B周波数帯またはA周波数帯)で、そのデータパケットに対するアクノリッジパケットが受信されたときに、それら1つの周波数帯および他の1つの周波数帯を用いて次に送信されるべきデータパケットを、無線部16を介して送信する。
(10)その他の構成および処理
上記では、第1無線装置10および第2無線装置12が、2つの周波数帯を用いて通信を行う処理について説明した。各無線装置は3つ以上の複数の周波数帯を用いて通信を行ってもよい。この場合、第1無線装置10および第2無線装置12は、複数の周波数帯のそれぞれに含まれるチャネルによって冗長通信を行う。各無線装置は、複数の周波数帯のうち1つの周波数帯をA周波数帯とし、複数の周波数帯のうち他の1つの周波数帯をB周波数帯とした処理を実行する。
また、上記では、チャネル、通信レート等の通信条件のうちいずれかを変更する通信条件変更処理について説明した。これらの通信条件は、適宜組み合わせて変更してもよい。例えば、チャネルと通信レートの両方を変更するような通信条件変更処理を実行してもよい。
また、第1無線装置10および第2無線装置12が最初に通信を開始するときは、各無線装置は最も小さい通信レートで仮の通信を行ってもよい。この通信は、各チャネルの通信状況コストおよび受信強度平均値を求めるためのトレーニングパケットを送受信する通信であってもよい。