(A)第1の実施形態
本発明による無線通信端末、無線通信システム及び無線通信制御プログラムの第1の実施形態を、図面を参照しながら説明する。
ここで、第1の実施形態の無線通信システムは車々間通信システムであり、第1の実施形態の無線通信端末は車々間通信端末である。また、第1の実施形態の無線通信端末、無線通信システム及び無線通信制御プログラムは、他の無線通信システムとして、路車間無線通信システムが存在することを前提として構成されたものである。
(A−1)第1の実施形態の構成
図2は、第1の実施形態に係る車々間通信システムと、他の無線通信システムである路車間通信システムとの地理的な関係などを示す説明図であり、上述した図13と同様な図面である。
図2において、複数の車両A、B、Cにはそれぞれ、第1の実施形態の車々間通信システムの構成要素である車々間通信端末1−A、1−B、1−Cが搭載されていると共に、第1の実施形態の車々間通信システムに影響を与える可能性がある路車間通信システムの構成要素である路車間通信端末2−A、2−B、2−Cが搭載されている。路車間通信システムの通信インフラ基地局Dには、路車間通信端末2−Dが設けられている。
ここで、車両に搭載(車載)されているとは、車両に固定的に設けられている場合だけでなく、車両に着脱自在などの半固定的に設けられている場合や、乗車している運転手や同乗者などが所有していたり座席に載置されていたりする場合などを含み、車両と共に、移動する状態にあることをいう。また、第1の実施形態の場合、車両A、B、Cが車々間通信端末1−A、1−B、1−Cが搭載していることが要件であり、路車間通信端末2−A、2−B、2−Cを必ずしも搭載している必要はない。
複数の車々間通信端末1−A、1−B、1−C間の無線による車々間通信による情報授受により、車両の安全を支援しようとしている。
車々間通信における通信方式の詳細は限定されるものではないが、第1の実施形態の場合、少なくともCSMA通信制御を採用していることを要する。車々間通信における通信方式として、例えば、CSMA通信制御によるブロードキャスト方式を適用でき、その通信範囲としては、前後左右に200m程度の範囲を挙げることができる。通信対象数として、100台程度の車々間通信端末1を挙げることができる。
基地局Dの路車間通信端末2−Dと、車両A、B又はCの路車間通信端末2−A、2−B又は2−Cとの間で、無線による路車間通信で情報授受を行うことにより、例えば、ETC等のサービスを提供する。
路車間通信における通信方式の詳細は限定されるものではないが、第1の実施形態の場合、少なくともTDMA通信制御を採用していることを要する。路車間通信における通信方式として、例えば、TDMA通信制御によるブロードキャスト及びユニキャスト方式を適用し、その通信範囲としては、前方に数m〜数百m程度の範囲を挙げることができる。
図1は、第1の実施形態に係る車々間通信端末1(1−A〜1−C)のハードウェア的構成を示すブロック図である。
図2において、車々間通信端末1は、CPU10、受信電力検出部11、無線通信部12、記憶装置13、ROM14、RAM15及びGPSセンサ16を有する。
CPU10は、車々間通信端末1全体の制御を司るプロセッサであり、特に、後述する処理を実行するものである。ROM14は、後述する各処理のプログラム(図7〜図9など)に加え、固定的なデータ(プログラムの一部を構成している)を記憶するメモリである。RAM15は、CPU10によって処理されるプログラムのワークエリア機能を担い、可変データ等を記憶する。これらのROM14及びRAM15に代えて、他の記憶手段を適用しても良いことは勿論である。
記憶装置13は、例えば、ハードディスクやCD−ROM等の記憶手段により構成され、道路情報等を含むデータベースを格納するものである。記憶装置13としては、カーナビゲーションシステムに用いられるものと同程度のものを適用できる。なお、記憶装置13として、カーナビゲーションシステムに設けられているものを流用しても良い。
GPSセンサ16は、GPS人工衛星から発信される電波を受信して当該車々間通信端末1の現在位置を検出するものであり、CPU10に現在位置を提供する。なお、GPSセンサ16として、カーナビゲーションシステムに設けられているものを流用しても良い。
この他の車両情報(例えば、速度情報や加速度情報など)や操作情報を取得するための各種センサ類を備えることができることは勿論である。
無線通信部12は、デジタル変復調部、フィルタ部、電力増幅部、アンテナなどを含み、他の車々間通信端末(1)と無線の双方向通信を行うものである。無線通信部12は、路車間通信を行う路車間通信端末2の無線通信方式と互換性があれば、車々間通信端末1と路車間通信端末2の無線通信部を共用しても良いことは勿論である。
受信電力検出部11は、他の車々間通信端末(1)や、路車間通信端末2が送信した電波の受信信号強度(RSSI;Received Signal Strength Indicator)を受信レベルとして検出する回路である。なお、受信レベルとして、RSSI値以外の指標を検出するものであっても良い。
第1の実施形態の場合、受信電力検出部11、無線通信部12及びGPSセンサ16などは、従来の車々間通信端末のものと同様であり、CPU10が、RAM15をワークエリアとして利用しながら、ROM14に格納されているプログラムを実行することにより行われる処理が、従来の車々間通信端末から異なっている。
図3は、第1の実施形態の特徴処理を実行する機能面から、車々間通信端末1の構成を整理して示した機能ブロック図である。第1の実施形態の場合、上述したように、図3に示す各機能部は、ソフトウェア的に構成されているものであるが、専用ICチップなど、ハードウェアとして構成されていても良いことは勿論である。
第1の実施形態の車々間通信端末1は、機能的には、基地局から送信される電波のRSSI値を取得して管理する受信電力情報取得管理部20と、取得した直後のRSSI値や、過去に取得して管理しているRSSI値などに基づいて、基地局Dの路車間通信端末2から送信されたTDMAパケットの期間や周期性などのタイミング情報を得る他端末送信パケット判定部21と、得られたTDMAパケットに係るタイミング情報に基づき、当該車々間通信端末1(や周囲の車々間通信端末)の通信制御を行う通信制御部22とを有する。
(A−2)第1の実施形態の動作
次に、第1の実施形態の車々間通信端末1の動作、特に、CPU10が実行する特徴処理について説明する。
図4(B)は、図2における車両Aの車々間通信端末1−Aの受信電力検出部11(11−A)で検出したパケット(TDMAパケットやCSMAパケット)の受信レベルの時間変化例を示している。
図4(A)は、基地局Dの路車間通信端末2−Dが送信したTDMAパケットT−1〜T−7の受信タイミングと、車両Bの車々間通信端末1−Bが送信したCSMAパケットC−B−1〜C−B−4の受信タイミングと、車両Cの車々間通信端末1−Cが送信したCSMAパケットC−C−1〜C−C−4の受信タイミングとを示している。
TDMAパケットT−1〜T−7は周期的に送信されるものであるが、一方、CSMAパケットC−B−1〜C−B−4、C−C−1〜C−C−4は乱数を利用して定めたタイミングで送信されるものであって到来周期は一定ではない。そのため、TDMAパケットT−1〜T−7と、CSMAパケットC−B−1〜C−B−4と、CSMAパケットC−C−1〜C−C−4との到来タイミングの関係は複雑であり、TDMAパケットTとCSMAパケットC−Bとの受信タイミングが重なることもあれば、TDMAパケットTとCSMAパケットC−Cとの受信タイミングが重なることもある。なお、CSMAパケットC−B−1〜C−B−4と、CSMAパケットC−C−1〜C−C−4とは、タイミングが重なっていることがあっても、CSMA通信制御により、その後は、タイミングが重ならないようになっている。
また、路車間通信端末2−DのTDMAパケット(T−1〜T−7)の送信パワーと、車々間通信端末1−B及び1−CのCSMAパケット(C−B−1〜C−B−4、C−C−1〜C−C−4)の送信パワーとは異なっている(なお、同じであっても良い)。また、当該車々間通信端末1−Aからの距離は、路車間通信端末2−D、車々間通信端末1−B、車々間通信端末1−Cで区々である。そのため、TDMAパケットT−1〜T−7の受信時のRSSI値と、CSMAパケットC−B−1〜C−B−4の受信時のRSSI値と、CSMAパケットC−C−1〜C−C−4の受信時のRSSI値とが異なっていることが大半である。なお、異なるパケットの到来期間が重なっていても、パケットの電波間の相関性が低いため、重なっている期間のRSSI値は、パワーが大きい方のパケットのRSSI値にほぼ等しい。
そのため、図4(A)に示すようなタイミングでパケット(TDMAパケットやCSMAパケット)が到来したときには、車々間通信端末1−Aの受信電力検出部11が検出した受信レベルの時間変化は、図4(B)に示すようになる。TDMAパケットの周期を取得する処理を実行する期間程度の時間では、TDMAパケットT−1〜T−7の受信時のRSSI値も、CSMAパケットC−B−1〜C−B−4の受信時のRSSI値も、CSMAパケットC−C−1〜C−C−4の受信時のRSSI値もそれぞれ、変化は小さく、ほぼ同様な値を同じ受信レベルに分類するようにすれば良い。受信レベルの分類には、例えば、以下のような速度に対する補償処理を適用すれば良い。受信レベルの分類は、検出時間と、車両の車速パルス情報などから得られた速度とから、車両の移動距離を算出し、電波の自由空間伝搬損特性から受信レベルごとに移動距離に応じた受信レベルの変動量を、受信レベルの分解能として受信レベルを分類する。車両Aだけでなく、車両B、Cも移動しており、基地局Dは固定であるため、移動距離に応じた受信レベルの変動量は、当該車両の移動距離に1対1に対応させたものを適用するのに代え、当該車両の移動距離のα倍(1<α<2)に対応させたものを適用するようにしても良い。移動距離と分解能との関係を、例えば、変換テーブルとして記述しておき利用するようにすれば良い。
受信電力検出部11が検出した受信レベルの情報を、CPU10(受信電力情報取得管理部20)は、図5に示すような形式で管理する。図5におけるフレームNo.(以下、この明細書ではフレーム番号と呼ぶ)は、受信レベル(RSSI値)がいずれかのパケットを受信しているときにとる有効なレベルをとる一連の期間(以下、フレームと呼ぶ)毎に付与した番号である。フレーム番号毎に、そのフレームでとる有効な各受信レベルの開始時刻(図5では「START」と表記している)と終了時刻(図5では「END」と表記している)が記述される。例えば、図4(A)のTDMAパケットT−1、CSMAパケットC−B−1及びCSMAパケットC−C−1の到来期間が重なり合った期間には、フレーム番号「1」が付与され、図4(B)及び図5に示すように、TDMAパケットT−1の到来による受信レベルP3に関しては、開始時刻S13及び終了時刻E13が記述され、CSMAパケットC−B−1の到来による受信レベルP1に関しては、開始時刻S11及び終了時刻E11が記述され、CSMAパケットC−C−1の到来による受信レベルP2に関しては、開始時刻S12及び終了時刻E12が記述される。CPU10(受信電力情報取得管理部20)は、例えば、図5に示すように、受信レベルP1〜P3の大きい方から、開始時刻S11〜S13及び終了時刻E11〜E13を管理する。
なお、図5における受信レベル「Pm」(mは1〜M)は、受信レベルの汎用的な表記であり、大きい方から数えてm番目の受信レベルを表している。図5及び後述する図6におけるフレーム番号「n」(nは1〜Nの範囲内の値)は、フレーム番号の汎用的な表記であり、古い方から数えてn番目のフレームを規定している。
図5に示す管理情報から、CPU10(他端末送信パケット判定部21)は、どの受信レベルがTDMAパケットに係る受信レベルかを直ちに判別することができず、後述するような処理を実行することにより、TDMAパケットに係る周期的に表れる受信レベルを判別する。図6は、CPU10が実行する後述するフレーム推定処理(後述する図9参照)により作成される、TDMAパケットに係る周期的に表れる受信レベルをとっていると推定される各フレームにおける開始時刻と終了時刻との候補のデータである。
図7は、受信レベルの情報にTDMAパケットが含まれているか否かを判定する、CPU10が実行する第1の実施形態のTDMAパケット含有判定処理(TDMAパケット含有判定プログラム)を示すフローチャートである。
CPU10は、まず始めに、所定の検出時間における受信レベル情報を取得し(S101)、その後、未処理の受信レベルの中の最も大きい受信レベルPmを処理対象に設定する(S102)。すなわち、複数の受信レベルを、受信レベルの大きい順に、後述するステップS103〜S111の範囲の処理を繰り返し実行するように制御する。その後、未処理の受信レベルの中の最も大きい受信レベルの大きい順に、後述するステップS103〜S111の範囲の処理を繰り返し実行する。図4(B)及び図5に示す受信レベル情報の例であれば、まず、受信レベルP1について、ステップS103〜S111の処理が実行され、次に、受信レベルP2について、ステップS103〜S111の範囲の処理が実行され、最後に、受信レベルP3について、ステップS103〜S111の範囲の処理が実行される。
ある未処理の受信レベルPmが処理対象になると、CPU10は、その受信レベルPmの各フレーム開始時刻Snm(nは受信レベルPmをとる複数のフレームのフレーム番号)が一定周期毎に現れているか否かを判定する(S103)。ここで、受信レベルPmをとるフレーム数が所定数(例えば3)以下の場合には、一定周期でないと判定するようにしても良い。また、完全に一定周期で現れる場合だけでなく、相前後するフレーム開始時刻が一定周期の整数倍になっている間隔を含む場合にも、一定周期を満たすと捉えるようにしても良い。ここでの判定は、予め定まっている一定周期になっているか否かの判定ではなく、周期自体を発見し、発見した一定周期になっているか否かの判定である。
上述した受信レベル情報を得る所定の検出時間は、フレーム開始時刻Snmの周期性を正しく確定できるフレーム数を確保できるように選定することを要する。受信レベルが大きい場合の方が、TDMAパケットの立ち上がりが他のパケットのパルス幅に埋もれている可能性が低いので、上述のように、受信レベルの大きい順にステップS103〜S111の処理を実行することとしている。
ここで、例えば、周期性を確認する複数の間隔のそれぞれが、その平均値からのずれが所定パーセント(例えば、2%)以内ならば、周期性を有すると判定する。
処理対象の受信レベルPmの各フレーム開始時刻Snmが一定周期で現れている場合には、CPU10は、処理対象の受信レベルPmがTDMAパケットの受信時の受信レベルであると判定する(S108)。
一方、処理対象の受信レベルPmの各フレーム開始時刻Snmが一定周期で現れていない場合には、CPU10は、図8に詳細を示すフレーム補完処理を実行した後(S104)、フレーム補完処理において処理されていないフレームがあるか否かを判定する(S105)。フレーム補完処理において処理されていないフレームがあると判定された場合には、CPU10は、図9に詳細を示すフレーム推定処理を実行した後(S106)、フレーム補完処理において処理されていないフレームがないと判定された場合には、CPU10は直ちに、フレーム補完処理やフレーム推定処理などが実行された後の受信レベルPmの各フレーム開始時刻Snmが一定周期毎に現れているか否かを判定する(S107)。
この判定において、処理対象の受信レベルPmの各フレーム開始時刻Snmが一定周期で現れているという結果を得ると、CPU10は、処理対象の受信レベルPmがTDMAパケットの受信時の受信レベルであると判定し(S108)、一方、処理対象の受信レベルPmの各フレーム開始時刻Snmが一定周期で現れていないという結果を得ると、CPU10は、処理対象の受信レベルPmがCSMAパケットの受信時の受信レベルであると判定する(S109)。
現在の処理対象の受信レベルPmがTDMAパケットの受信時の受信レベル若しくはCSMAパケットの受信時の受信レベルと判定すると、CPU10は、パケット長Uを、次の受信レベルの処理のために初期値(デフォルト値;ここでは0とする)に戻す(S110)。その後、CPU10は、TDMAパケットの受信レベルかCSMAパケットの受信レベルかの判定が実行されていない未処理の受信レベルが残っているか否かを判別し(S111)、未処理の受信レベルが残っていれば上述したステップS102に戻り、未処理の受信レベルがなくなれば、図7に示す一連の処理を終了する。
上述した図7に示す処理は、TDMAパケットの受信時の受信レベルを特定した後も、未処理の受信レベルが残っていると、TDMAパケットの受信レベルかCSMAパケットの受信レベルかの判定を継続するものであったが、例えば、以下のように変更するようにしても良い。第1に、TDMAパケットの受信時の受信レベルを特定した後は、未処理の受信レベルが残っていても、一連の処理を終了するようにしても良い。第2に、TDMAパケットの受信時の受信レベルを最初に特定した後も、未処理の受信レベルが残っていると、TDMAパケットの受信レベルかCSMAパケットの受信レベルかの判定を継続し、全ての受信レベルの処理後に、複数の受信レベルがTDMAパケットの受信時の受信レベルであると判定された場合には、一連の処理を終了するのではなく、以下のような追加的な処理を行う。例えば、TDMAパケットの受信時の受信レベルであると判定された複数の受信レベルに係る周期のうち、予め定められている理想的な周期に最も近い受信レベルだけに、TDMAパケットの受信時の受信レベルを絞り込む。
図8は、上述したステップS104のフレーム補完処理の詳細を示すフローチャートである。
フレーム補完処理は、大きくは、現在の処理対象の受信レベルPmに係るパケット長Uを取得する第1段階の処理と、取得したパケット長Uを適用して、各フレームにおいて現在の処理対象の受信レベルPmをとる開始時刻若しくは終了時刻を修正する第2段階の処理とに分かれている。
CPU10は、図8に示すフレーム補完処理(のサブルーチン)を開始すると、現在の処理対象の受信レベルPmに係る第1段階の未処理のフレームの中のフレーム番号が最も小さいフレーム(そのフレーム番号がnとする)を処理対象に設定し、処理対象のフレームの受信レベルPmは、開始時刻Snmに立ち上がってその受信レベルPmに変化したものか否か(S201)、処理対象のフレームの受信レベルPmは、終了時刻Enmに立ち下がってその受信レベルPmから他のレベルに変化したものか否か(S202)を判定する。言い換えると、現在の処理対象の受信レベルPmは、開始時刻Snmに立ち上がり、終了時刻Enmに立ち下がったパルス形状の上部レベルになっているか否かを判定する。
例えば、図4(B)における開始時刻S13及び終了時刻E13の受信レベルP3の期間は、終了時刻E13直後のレベルが立ち上がっているので、パルス形状ではなく、図4(B)における開始時刻S11及び終了時刻E11の受信レベルP1の期間は、開始時刻S11直前のレベルから立ち上がって開始し、終了時刻E13直後のレベルが立ち下がっているので、パルス形状である。
現在の処理対象の受信レベルPmがパルス形状の上部レベルになっていると(ステップS201及びS202共に「YES」)、CPU10は、パケット長Uを、処理対象のフレームの終了時刻Enmから開始時刻Snmを減算した値に更新する(S203)。フレーム長Uの初期値(デフォルト値)は、予め想定されるTDMAパケット長を設定しても良く、0のような固定値を設定しても良い。
CPU10は、現在の処理対象の受信レベルPmが現在の処理対象のフレームではパルス形状の上部レベルになっていない場合には、現在の処理対象の受信レベルPmがパルス形状の上部レベルになっているかの判定が実行されていない未処理のフレームが残っているか否かを判別し(S204)、未処理のフレームが残っていれば上述したステップS201に戻り、未処理のフレームがなければ、図8に示す一連の処理を終了し、図7のステップS105の処理に進む。
CPU10は、現在の処理対象の受信レベルPmが現在の処理対象のフレームに関しては、パルス形状の上部レベルになっていてパケット長Uを更新した場合には、第2段階の処理(ステップS205)に直ちに進む。
以上では、受信レベルPmについての有効なパケット長Uが得られたときには、直ちに第2段階の処理に進む場合を示したが、全てのフレームにおける受信レベルPmの形状を確認し、有効なパケット長Uを1以上得るようにしても良い。有効なパケット長が複数得られる場合には、複数のフレームのそれぞれの終了時刻から開始時刻を減算した値の平均値や中央値をパルス長Uに設定して第2段階の処理に移行するようにしても良い。
なお、図8では、受信レベルPmがパルス形状の上部レベルになっているフレームが1個もない場合には、第2段階の処理に進むことなく、図8に示す一連の処理を終了する場合を示したが、例えば、パルス長Uとして予めシステムが定めている値を設定して第2段階の処理に移行するようにしても良く、また例えば、受信レベルPmに係るフレームの中で終了時刻から開始時刻を減算した値が最も大きい値をパルス長Uとして設定して第2段階の処理に移行するようにしても良い。
CPU10は、第2段階の処理を開始すると、現在の処理対象の受信レベルPmに係る第2段階の未処理のフレームの中のフレーム番号が最も小さいフレーム(そのフレーム番号がnとする)を処理対象に設定し、処理対象のフレームの受信レベルPmは、開始時刻Snmに立ち上がってその受信レベルPmに変化したものか否かを判定する(S205)。開始時刻Snmに立ち上がってその受信レベルPmに変化していると、CPU10は、その開始時刻Snmに対応する終了時刻Enmを、開始時刻Snmからパルス長Uの期間を経過した時刻Snm+Uに更新する(S207)。
一方、開始時刻Snmに立ち上がってその受信レベルPmに変化していないと、CPU10は、終了時刻Enmに立ち下がってその受信レベルPmから他の受信レベルに変化したか否かを判定する(S206)。終了時刻Enmに立ち下がってその受信レベルPmから他の受信レベルに変化していると、CPU10は、その終了時刻Enmに対応する開始時刻Snmを、終了時刻Enmからパルス長Uの期間だけ前の時刻Enm−Uに更新する(S208)。
これに対して、終了時刻Enmに立ち下がってその受信レベルPmから他の受信レベルに変化していないと、CPU10は、現在処理対象のフレームに関して補完処理が未処理である旨の履歴を保存する(S209)。この履歴が保存された、受信レベルPmに係るフレームは、上述したステップS105のフレーム推定処理が実行されることになる。
上述したステップS207及びS208の処理により、受信レベルPmをとる期間がパルス長Uより短い、受信レベルPmの期間の形状が凹部形状でないフレームについて、その受信レベルPmをとる期間が、開始時刻Snm又は終了時刻Enmを起点としてパルス長Uに修正される。上述したステップS209の処理により、受信レベルPmの期間の形状が凹部形状であるフレームについては、フレーム推定処理の対象となる。
CPU10は、ステップS207、S208又はS209の処理を実行した場合には、第2段階の処理が実行されていない未処理のフレームが残っているか否かを判別し(S210)、未処理のフレームが残っていれば上述したステップS205に戻り、未処理のフレームがなければ、図8に示す一連の処理を終了し、図7のステップS105の処理に進む。
図8では、受信レベルPmをとる期間がある全てのフレームについて第2段階の処理を行うものを示したが、例えば、パケット長Uを設定したフレーム以外のフレームに対してだけ第2段階の処理を実行するようにしても良く、また例えば、第1段階のステップS201及びS202の判定で「NO」と判定されたフレームをマークしておき、マークしたフレームに対してだけ、第2段階の処理を実行するようにしても良い。
図9は、上述したステップS106のフレーム推定処理の詳細を示すフローチャートである。上述したように、補完処理が実行されていないフレームがある場合にだけ、フレーム推定処理が実行される。
CPU10は、図9に示すフレーム推定処理を開始すると、まず、現在対象となっている受信レベルPmをとる、フレーム番号が1だけ異なる相前後するフレームでの受信レベルPmの開始時刻Snm及びS(n−1)mの差分時間Rnを、全ての相前後するフレームの対について算出する(S301)。ここで、開始時刻Snmはフレーム番号「n」のフレームの受信レベルPmの開始時刻であり、開始時刻S(n−1)mはフレーム番号「n−1」のフレームの受信レベルPmの開始時刻である。フレーム番号「n」のフレームが受信レベルPmをとり、フレーム番号「n−1」のフレームが受信レベルPmをとっておらず、フレーム番号「n−2」のフレームが受信レベルPmをとっている場合には、差分時間Rnは算出されない。
次に、CPU10は、全ての差分時間の中の最小時間minRnを求め、この最小時間minRnをとっている差分時間がN(Nは2以上の整数)個以上あるか否かを判定する(S302)。TDMAパケットとCSMAパケットの重なり方によっては、相前後するTDMAパケット共に開始時刻が影響を受けていないこともあり、この場合には、開始時刻間の差分時間は最小時間minRnとして現れる。そこで、CPU10は、この最小時間minRnがN個以上現れた場合には、一定周期(TDMAパケットの周期;CSMAパケットは乱数を利用しているので周期性はない)とみなし、各フレームの受信レベルPmの開始時刻及び終了時刻の推定情報を作成する(S303)。ここで、N個は少なくとも2個以上であり、検出時間、受信レベル数及び判定精度の兼ね合いで設定されれば良い。なお、例えば、受信レベル数をパラメータとして、CPU10が自動的に定めるようにしても良い。
上述したステップS301では、フレーム番号が1だけ異なる相前後するフレームでの受信レベルPmの開始時刻Snm及びS(n−1)mの差分時間Rn(RSn)を求める場合を示したが、これに加え、フレーム番号が1だけ異なる相前後するフレームでの受信レベルPmの終了時刻Enm及びE(n−1)mの差分時間REnを求め、2種類の差分時間RSn及びREnの中から、最小時間の探索や、最小時間をとる差分時間の個数を求めるようにしても良い。
ステップS303では、例えば、以下のような処理を行う。差分時間Rnの最小時間minRnを算出した開始時刻Snm又はS(n−1)mを基準として、一定周期の開始時刻Snm’を作成する。また、終了時刻Enm’は、Enm’=Snm’+Uとして作成する。上述した図6は、このように作成された各フレームにおける受信レベルPmの期間の推定された開始時刻Snm’及び終了時刻Enm’を示している。
その後、CPU10は、上述したステップS209でフレーム補完処理の未処理履歴が保存されたフレームの開始時刻Snm及び終了時刻Enmが、推定された開始時刻Snm’から終了時刻Enm’までの時間内に収まるか否かを判定する(S304)。フレーム補完処理の未処理履歴が保存されたフレームの開始時刻Snm及び終了時刻Enmが、推定された開始時刻Snm’から終了時刻Enm’までの時間内に収まる場合には、CPU10は、そのフレームの開始時刻Snm及び終了時刻Enmを、推定された開始時刻Snm’及び終了時刻Enm’に更新する(S305)。一方、フレーム補完処理の未処理履歴が保存されたフレームの開始時刻Snm及び終了時刻Enmが、推定された開始時刻Snm’から終了時刻Enm’までの時間内に収まらない場合には、CPU10は、そのフレームの開始時刻Snm及び終了時刻Enmをそのまま維持する。
ステップS304の判定やそれに伴うステップS305の処理は、上述したステップS209でフレーム補完処理の未処理履歴が保存されたフレームが複数ある場合には、図9では明確ではないが、未処理履歴が保存されたフレームのそれぞれについて実行される。
差分時間Rnの最小値minRnの数がN個未満であった場合、ステップS209でフレーム補完処理の未処理履歴が保存された全てのフレームに対し、推定された情報への置き換えが必要か否かの判定、必要なフレームに対する推定された情報への置き換えが終了した場合には、図9に示す一連の処理を終了し、上述したステップS107へ移行する。
例えば、図4(A)に示すように、ある車々間通信端末1−Aに、路車間通信端末2−Dが送信したTDMAパケットT−1〜T−7と、他の2つの車々間通信端末1−B、1−Cが送信したCSMAパケットC−B−1〜C−B−4、C−C−1〜C−C−4が到来したとする。
受信レベルP1は、CSMAパケットC−B−1〜C−B−4に係る受信レベルであり、パケットの受信間隔に周期性がないので、CPU10が第1の実施形態のTDMAパケット含有判定処理を実行したとき、「CSMAパケットに係る受信レベル」と判定される。
同様に、受信レベルP2は、CSMAパケットC−C−1〜C−C−4に係る受信レベルであり、パケットの受信間隔に周期性がないので、CPU10が第1の実施形態のTDMAパケット含有判定処理を実行したとき、「CSMAパケットに係る受信レベル」と判定される。
一方、受信レベルP3は、CSMAパケットTDMAパケットT−1〜T−7に係る受信レベルであって、パケットの受信間隔に周期性があるが、他のCSMAパケットの受信期間と重ねっている期間が多く、CPU10が第1の実施形態のTDMAパケット含有判定処理を実行したとき、以下のような流れで「TDMAパケットに係る受信レベル」と判定される。
図7のステップS107の処理時には、各フレームの受信レベルP3の開始時刻が一定周期とは判定されない。立ち上がって受信レベルP3になったフレームの開始時刻は、フレーム番号「1」、「5」、「7」の開始時刻の3つである。そのため、開始時刻間の間隔の情報としては2つしかなく、周期性を判断するには情報が少なく、周期性が否定される。仮に、2つの開始時刻間の間隔で周期性を捉えても良くなっているとする。この場合、前者の間隔は後者の間隔の2倍となっており、一見、周期性を満たすように見える。ドップラー効果などでTDMAパケットの受信周期が一定ではないとしても、TDMAパケットの受信周期が取り得る範囲は、一定の送信周期から、車両の最高走行速度のドップラー効果が反映された上限周期まであり、送信周期の2倍を周期となることはない。すなわち、ステップS107の処理で周期と捉えられる範囲を定めているため、周期性が否定される。その結果、図8に詳細を示すフレーム補完処理に移行する。
フレーム補完処理の第1段階において、フレーム番号「7」のフレームの受信レベルP3が、立ち上がって受信レベルP3になると共に、受信レベルP3から立ち下がって他のレベルに移っているので、フレーム番号「7」のフレームの受信レベルP3の期間がパケット長Uとして設定される。この設定により、立ち上がって受信レベルP3になっていないフレーム番号「3」、「4」、「6」の開始時刻が正しい開始時刻に修正される。その結果、当初より正しい開始時刻が検出されているフレーム番号「1」、「5」、「7」の開始時刻を含め、7フレーム中6フレームの開始時刻が正しいものとなる。
そのため、フレーム補完処理(ステップS104)の終了後に実行される、ステップS107の周期性判定で「一定周期」であると判定され、受信レベルP3は、「TDMAパケットに係る受信レベル」と判定される。
以上のようにして、受信した電波から作成した受信電力情報から、TDMAパケットの有無を判定することで、基地局Dの路車間通信端末2−Dから送信されたパケット制御情報を検出することなく、当該車々間通信端末1(図2の1−A)が基地局Dの路車間通信エリア内に在圏することを認識し、当該車々間通信端末1を適切に通信制御することができる。この場合、車々間通信端末1の無線通信部12を用いて周辺の車両(車々間通信端末)に基地局Dの存在を報知し、周辺の各車両に対して適切な通信制御を促すことで電波干渉を軽減させることも可能である。
(A−3)第1の実施形態の効果
第1の実施形態によれば、隠れ端末問題が発生する環境において、基地局が送信するパケット制御情報を検出することなく、受信電力検出部が得た受信電力情報から、基地局が送信したパケット(TDMA送信制御されたパケット)の有無を判定し、基地局の路車間通信エリア内の在圏を認識し、当該車々間通信端末を適切に通信制御することができる。
その結果、当該車々間通信端末と他の車々間通信端末との通信と、当該車々間通信端末を搭載した車両に搭載されている路車間通信端末と基地局の路車間通信端末との通信との干渉を回避することも可能となる。
(B)第2の実施形態
次に、本発明による無線通信端末、無線通信システム及び無線通信制御プログラムの第2の実施形態を、図面を参照しながら説明する。なお、第1の実施形態における構成要素と同一、対応する第2の実施形態の構成要素に対しては、同様な符号を用いて説明する(図1、図3参照)。
第2の実施形態は、受信レベルの情報にTDMAパケットが含まれているか否かを判定する、CPU10が実行するTDMAパケット含有判定処理(TDMAパケット含有判定プログラム)の詳細が、第1の実施形態とは異なっている。以下では、CPU10が実行する第2の実施形態におけるTDMAパケット含有判定処理と、その一部となっているフレーム補完処理とを説明する。なお、その他の構成や処理は、第1の実施形態と同様である。
図10は、受信レベルの情報にTDMAパケットが含まれているか否かを判定する、CPU10が実行する第2の実施形態のTDMAパケット含有判定処理(TDMAパケット含有判定プログラム)を示すフローチャートであり、第1の実施形態に係る図7との同一、対応ステップには同一符号を付して示している。
上述した第1の実施形態は、フレーム補完処理において、第1段階の処理でパケット長Uを検出し得ない場合には、第2段階の処理を実行することなく、フレーム補完処理を終了するものであった。この第2の実施形態は、第1段階の処理でパケット長Uを検出し得ない場合には、予めシステムが用意しているパケット長の候補を適用して第2段階の処理を実行させようとしたものである。
図11は、パケット長候補の記憶形式を示す説明図である。パケット長候補は、候補を規定する変数Aiと、その変数Aiに対応付けられたパケット長の具体的な値とでなる。プログラムの中で、変数で表現されている部分に、具体的な値が代入されて処理される。ここで、パケット長候補は、実際のシステムで実際に生じるパケット長として想定される値(想定パケット長)の1又は複数が候補となっている。図10に「想定パケット長」と記載されている場合が、実際のパケット長に代わって適用されるパケット長候補となっている。
また、第2の実施形態の場合、検出されたパケット長で第2段階の処理を実行するか、パケット長候補を適用して第2段階の処理を実行するかを区別できるようにしたフラグFが適用される。フラグFの「1」は前者を表し、フラグFの「0」は後者を表している。フラグFの初期値は「0」である。
第2の実施形態の場合、CPU10は、現在の処理対象の受信レベルPmについて周期性が認められない場合には(ステップS103で「NO」)、未処理の想定パケット長Aiを設定してから(S401)、フレーム補完処理に移行する。
また、第2の実施形態では、CPU10が、フレーム補完処理やフレーム推定処理などが実行された後の受信レベルPmの各フレーム開始時刻Snmが一定周期毎に現れているか否かを判定した際に、周期性が認められない場合には(ステップS107で「NO」)、フラグFの値を判別する(S402)。フラグFが「0」であれば、未処理の想定パケット長Aiが残っているかを判別し(S403)、残っていれば、未処理の想定パケット長Aiを設定するステップS401に戻る。一方、フラグFが「1」である場合や、全ての想定パケット長Aiに対する処理が終了しているときには、CPU10は、処理対象の受信レベルPmがCSMAパケットの受信時の受信レベルであると判定する(S109)。
さらに、第2の実施形態では、現在の処理対象の受信レベルPmがTDMAパケットの受信時の受信レベル若しくはCSMAパケットの受信時の受信レベルと判定すると、CPU10は、フラグFを、次の受信レベルの処理のために「0」に戻し(S404)、その後、CPU10は、TDMAパケットの受信レベルかCSMAパケットの受信レベルかの判定が実行されていない未処理の受信レベルが残っているか否かを判別する(S111)。
以上のような処理により、第2の実施形態のフレーム補完処理において、各想定パケット長Aiを適用可能となる。
図12は、第2の実施形態のフレーム補完処理の詳細を示すフローチャートであり、第1の実施形態に係る図8との同一、対応ステップには、同一符号を付して示している。
第2の実施形態のフレーム補完処理は、以下のような点が、第1の実施形態のフレーム補完処理と異なっている。
CPU10は、現在の処理対象の受信レベルPmがパルス形状の上部レベルになっていて、パケット長Uを、処理対象のフレームの終了時刻Enmから開始時刻Snmを減算した値に更新したときには(S203)、直ちに、第2段階の処理に移行するのではなく、フラグFに、検出できた値をパケット長Uに設定したことを表す「1」を設定してから(S501)、第2段階の処理に移行する。
また、CPU10は、全てのフレーム共に、現在の処理対象の受信レベルPmがパルス形状の上部レベルになっていない場合には(ステップS204で「NO」)、パケット長Uとして、その時点で設定されている想定パケット長Aiを設定してから(S502)、第2段階の処理に移行する。
上述した変更により、第2の実施形態では、現在の処理対象の受信レベルPmがパルス形状の上部レベルになっていないため有効なパケット長Uが得られなくても、想定されているパケット長Aiを適用してフレーム補完処理が実行され、その分、処理対象の受信レベルPmが周期性を有する受信レベルであると判定される可能性を高めることができる。
例えば、上述した図4(A)に関し、仮に、そのフレーム番号「7」のフレームが存在しなかったとする。この場合、フレーム番号「1」〜「6」のフレームからパケット長Uを得ようとするが、受信レベルP3に関して、TDMAパケットのパケット形状(上部レベル)がそのまま表れたフレームが存在しないため、有効なパケット長Uが得られない。第1の実施形態の場合であれば、そのため、フレーム補完処理の第2段階が実行されず、受信レベルP3がTDMAパケットの受信レベルと判定されることはあり得ない。この第2の実施形態の場合、有効なパケット長が得られなくても、想定されるパケット長を適用してフレーム補完処理の第2段階の処理を実行しているため、受信レベルP3がTDMAパケットの受信レベルと判定される可能性が残っている。
第2の実施形態によっても、第1の実施形態と同様に、隠れ端末問題が発生する環境において、基地局が送信するパケット制御情報を検出することなく、受信電力検出部が得た受信電力情報から、基地局が送信したパケット(TDMA送信制御されたパケット)の有無を判定し、基地局の路車間通信エリア内の在圏を認識し、当該車々間通信端末を適切に通信制御することができ、その結果、当該車々間通信端末と他の車々間通信端末との通信と、当該車々間通信端末を搭載した車両に搭載されている路車間通信端末と基地局の路車間通信端末との通信との干渉を回避することも可能となる。
(C)他の実施形態
上記各実施形態の説明においても、種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
上記各実施形態においては、受信レベルの開始時刻に基づいて、周期性を判定するものを示したが、終了時刻に基づいて周期性を判定しても良く、開始時刻及び終了時刻の双方に基づいて周期性を判定するようにしても良い。
上記各実施形態は、CSMAパケットもTDMAパケットも送信元を解析しないで処理する場合を示したが、送信元が解析できたCSMAパケットがあり、その受信レベルを取得できた場合には、管理する受信電力情報からその受信レベルの情報を除去するなどし、その受信レベルを周期性判断の対象から除外するようにしても良い。
上記各実施形態では、同一車両に、CSMA方式を採用している車々間通信システムの車々間通信端末と、TDMA方式を採用している路車間無線通信システムの路車間通信端末とが搭載されている場合を説明したが、2種類の搭載通信端末はこれに限定されるものではない。例えば、車々間通信端末に代え、CSMA方式を採用している歩車間通信システムの歩車間通信端末が搭載されている場合にも、本発明を適用することができる。
上記各実施形態では、同一車両に、CSMA方式を採用している車々間通信システムの車々間通信端末と、TDMA方式を採用している路車間無線通信システムの路車間通信端末とが搭載されている場合を説明したが、搭載通信端末の種類数は2種類に限定されるものではない。例えば、車両に、CSMA方式を採用している車々間通信システムの車々間通信端末だけが搭載されていても良く、この場合であっても、TDMAパケットのタイミングを避けて、車々間通信を実行することができる。また例えば、同一車両に、CSMA方式を採用している車々間通信システムの車々間通信端末と、CSMA方式を採用している歩車間通信システムの歩車間通信端末と、TDMA方式を採用している路車間無線通信システムの路車間通信端末とが搭載されている場合にも、本発明を適用することができる。
上記各実施形態では、本発明の無線通信端末が車々間通信端末である場合を示したが、本発明は、これに限定されるものではない。例えば、本発明の無線通信端末が歩行者が所持する歩車間通信端末であっても良い。さらに、車両に関係する無線端末に限定されるものではない。要は、通信タイミングがCSMA方式のように非周期的に制御される無線端末であって、通信タイミングがTDMA方式のような周期的に制御されるエリアに在圏することがあり得る無線端末に広く本発明の技術思想を適用することができる。