【解決手段】車車間通信装置10と、受信パケット格納部20と、現在時刻から過去一定期間である符号化対象期間に受信した受信パケットを取得し、取得した受信パケットからパリティパケットを生成するパリティパケット生成部30と、受信パケットを復号する復号演算部40とを備え、車車間通信装置10は、パリティパケット生成部30が生成したパリティパケットを送信し、パリティパケット生成部30は、符号化対象期間に受信した受信パケットおよび送信情報を符号化対象候補パケットとし、符号化対象候補パケットから符号化対象パケットを決定する対象パケット決定部と、符号化対象パケットがどの通信装置のパケットであるかを表すベクトルと符号化対象パケットとから、パリティパケットを演算するパリティパケット演算部を備える。
【発明を実施するための形態】
【0013】
[全体構成]
以下、本発明の実施形態を図面に基づいて説明する。
図1に示すように、本発明の通信装置の実施形態となる車車間通信装置1は、入力端子5、出力端子6、無線通信部10、受信パケット格納部20、パリティパケット生成部30、復号演算部40を備える。通信システムである車車間通信システムは、この車車間通信装置1を複数備え、複数の車車間通信装置1は互いに情報を送受信する。それぞれの車車間通信装置1は、異なる車両にそれぞれ搭載される。
【0014】
入力端子5には、車車間通信装置1に接続されている外部の車載装置から送信情報が入力される。出力端子6は、外部の車載装置に接続されており、受信情報をその車載装置に出力する。
【0015】
[無線通信部10の説明]
無線通信部10は、車車間通信を行うための送信機能と受信機能を備えており、請求項の受信部および送信部に相当する。この無線通信部10には、送信情報と、パリティパケット生成部30が生成したパリティパケットが入力される。無線通信部10は、これら送信情報およびパリティパケットを送信パケットとし、その送信パケットを、変調および増幅して、電波として送信する。送信に使用する周波数は、たとえば、5.8GHz帯や700MHz帯である。
【0016】
また、無線通信部10は、他の車車間通信装置1から送信された送信パケットを受信する。以下では、受信した送信パケットを受信パケットとする。無線通信部10は、受信パケットを、復調、増幅、復号して、受信パケット格納部20に送る。
【0017】
受信パケット格納部20、パリティパケット生成部30、復号演算部40は、CPU、 ROM、RAM等を備えたコンピュータにより実現される構成である。CPUが、RAMの一時記憶機能を利用しつつ、ROMなどの非遷移的実体的記録媒体(non-transitory tangible storage medium)に記憶されているプログラムを実行することで、コンピュータが、これら受信パケット格納部20、パリティパケット生成部30、復号演算部40として機能する。また、CPUが上記プログラムを実行すると、プログラムに対応する方法が実行される。なお、コンピュータが実行する機能の一部または全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。
【0018】
[受信パケット格納部20の説明]
受信パケット格納部20は、書き込み可能なメモリ21を備える。このメモリ21として、たとえば、コンピュータが備えるRAMを用いることができる。受信パケット格納部20は、復号演算部40およびパリティパケット生成部30に必要な情報をメモリ21に格納する処理を実行する。この処理を
図2に示す。
【0019】
受信パケット格納部20は、無線通信部10から受信パケットが入力された場合に、
図2に示す処理を開始する。ステップ(以下、ステップを省略)S1では、受信パケットに情報部分が含まれるか否かを判断する。本明細書において、特に明記する場合を除き、情報は、車車間通信装置1が他の装置に伝達する内容を意味する。パリティは、情報を復元するための情報であるが、単に、情報と記載する場合にはパリティを含まない意味で用いる。
【0020】
S1の判断がYESであればS2へ進む。S2では、受信パケットに含まれている情報部分を、受信情報として出力する。出力先は、出力端子6および復号演算部40である。
図3に示すように、受信パケットに情報とパリティとが含まれている場合には、受信パケットのうち情報部分を取り出して、受信情報とする。一方、受信パケットにパリティが含まれていない場合には、受信パケットをそのまま受信情報とする。なお、いずれの場合も、当然、ヘッダなどの付随情報を受信パケットから除去して受信情報とする。また、
図3には示していないが、受信パケットは、パリティのみの場合もある。
【0021】
受信情報は、たとえば、車両制御などに用いられる情報である。一方、受信パケットに含まれているパリティはこの受信情報の一部を復元するための情報であり、パリティを含んでいる受信パケットには、
図4に示すヘッダが付与されている。
【0022】
図4に示すように、ヘッダには、受信パケットがパリティを含んでいることを示すパリティフラグと、受信パケットを送信した装置のIDである装置IDと、どの車車間通信装置1の情報を符号化したかを意味する符号化対象装置IDとを含んでいる。この符号化対象装置IDとして、たとえばID=C1、C3が示されている場合、パリティは、装置ID=C1、C3が送信した情報を符号化したものであることが分かる。
【0023】
S2を実行した場合、あるいは、S1の判断がNOである場合には、S3に進む。S3では、受信パケットにヘッダを付与する。ヘッダは、
図5に示すように、装置IDと受信時刻である。続くS4では、ヘッダを付与した受信パケットを、メモリ21の所定の記憶領域に格納する。
【0024】
S5では、メモリ21の記憶領域に格納されている受信パケットのうち、時刻Tdis以前の受信パケットを破棄する。これにより、受信パケットを記憶するために確保する必要がある領域を少なくすることができる。時刻Tdisは、現在時刻Tnowからパケット格納期間Tmemを引くことで求められる時刻である。S6では、復号演算部40を起動する。
【0025】
[パリティパケット生成部30の説明]
パリティパケット生成部30は、メモリ21に格納されている受信パケットと、送信情報を基に符号化を実施して、パリティパケットを生成する処理を実行する。この処理を
図6に示す。
【0026】
パリティパケット生成部30は、
図6に示す処理を、送信情報が入力されたタイミングで開始する。送信情報が周期的に入力される場合、パリティパケットは、送信情報の1周期的につき1回に生成されて、送信されることになる。パリティパケットが、送信情報の1周期につき1回送信されると、パリティパケットを受信する車車間通信装置1は、1周期につき1回の復号機会が得られるので、早期に情報パケットの復元が可能となる。
【0027】
S11では、遅延機能がオンになっているか否かを判断する。遅延機能は、送信情報とパリティを分離した状態で送信するために、送信情報よりもパリティを遅れて送信する機能を意味している。この機能のオンオフは予め設定されており、オンオフは、切り替え可能である。なお、遅延機能を備えていない構成としてもよい。その場合には、このS11の判断はNOとする。
【0028】
S11の判断がYESであればS12へ進む。S12では、予め設定された遅延時間Tdだけスリープする。その後、S13へ進む。これにより、送信情報は、遅延時間Tdだけ先に無線通信部10に入力されることになるので、送信情報がパリティよりも先に送信パケットとして送信されることになる。その結果、
図7に示すように、送信情報から生成された送信パケットから遅れて、パリティから送信パケットが生成される。これにより、送信情報から生成された送信パケットが送信されてから、次に、送信情報から生成された送信パケットが送信されるまでの間に、それらの送信パケットとは別に、パリティから生成された送信パケットが送信されることになる。
【0029】
パリティから生成された送信パケットが、送信情報から生成された送信パケットとは別に送信されることで、送信情報から生成された送信パケットが受信エラーとなった場合に、パリティパケットも受信エラーとなってしまうことを防止できる。
【0030】
S11の判断がNOになった場合には、S12でスリープすることなくS13以降が実行される。この場合には、送信情報とパリティパケットが同じタイミングで無線通信部10に入力され、無線通信部10では、
図8に示すように、送信情報とパリティとが一つの送信パケットとして送信される。
【0031】
S13では、メモリ21に記憶されている情報のパケット(以下、情報パケット)のうち、符号化対象開始時刻Tfec以降の情報パケットと、送信情報のパケットである送信情報パケットを符号化対象候補パケットとする。符号化対象開始時刻Tfecは、現在時刻Tnowから符号化対象期間Tencを引くことで求められる時刻である。符号化対象期間Tencは、任意に設定可能であるが、本実施形態では、予め設定されているパリティパケット配信周期と同じ期間とする。つまり、本実施形態では、現在時刻Tnowよりもパリティパケット配信周期の1周期分前の時刻から現在時刻Tnowまでの過去の一定期間を符号化対象期間Tencとする。
【0032】
S14では、S13で決定した符号化対象候補パケットに基づいて符号化処理を行ってパリティを生成する。この符号化処理は
図9に詳しく示す。なお、
図9において、S141〜S152は請求項の対象パケット決定部に相当し、S153は請求項のパリティパケット演算部に相当する。また、S143、S144、S145は、それぞれ、請求項の選択部、候補ベクトル生成部、符号化行列生成部に相当する。また、S146、S147は、請求項の判断部に相当する。
【0033】
S141では、繰り返し回数Nloopを1とする。S142では、
図5のS13で決定した符号化対象候補パケットのうち、符号化対象回数が最小のものを符号化対象パケットとして選択する。
【0034】
図4に示したように、パリティが含まれている受信パケットのヘッダには、符号化対象装置IDが含まれている。このヘッダの情報から、S13で決定した符号化対象パケットが、それぞれ、どの車車間通信装置1が送信した情報を符号化しているかを決定することができる。その決定結果に基づいて、符号化対象候補パケットのうち符号化対象回数が最小の符号化対象候補パケットを決定し、それを符号化対象パケットとする。
【0035】
続くS143では、S13で決定した符号化対象候補パケットのうち、S142で選択した以外の符号化対象候補パケットから、ランダムで、1〜Nenc−1個の符号化対象候補パケットを符号化対象パケットとして選択する。
【0036】
S144では、候補ベクトルを生成する。候補ベクトルは、1行の行列であって、列数は符号化対象期間Tenc内の通信回数であり、各列は、符号化対象候補パケットすなわち情報パケットを送信した、あるいは送信する装置IDに対応する。候補ベクトルの各列の値は、1または0であり、S142およびS143で選択した符号化対象パケットすなわち情報パケットを送信した装置IDに対応する列は1とし、他の列は0とする。
【0037】
S145では、メモリ21より、符号化対象開始時刻Tfec以降に受信したパリティパケットを選択して、選択したパリティパケットから符号化行列を生成する。この符号化行列は、車車間通信装置1のパケット送信順に対応する列および行を備える行列である。符号化行列の列数は、候補ベクトルの列数と同じである。符号化行列の行数は、今回のパケット送信前であることから、列数よりも1少なくなる。
【0038】
各車車間通信装置1は、繰り返し、パリティパケットを送信パケットとして無線通信部10から送信する。また、各車車間通信装置1は符号終端も設定しない。よって、パリティパケットを送信した車車間通信装置1は時間の経過とともに増加するので、符号化行列も、時間の経過とともに、行および列が追加されていくことになる。
【0039】
図10は、時間の経過とともに、符号化行列の行および列が追加されていくことを概念的に示している。
図10に示すように符号化行列は、行列右上に三角型の0行列を含む、疎な行列である。
【0040】
図10において、C1〜C5は、車車間通信装置1の装置IDを示している。この
図10の例は、装置ID=C1、C2、C3、C4、C5の車車間通信装置1が順番にパリティパケットを送信している場合の例である。より詳しくは、装置ID=C1、C2、C3、C4、C5の車車間通信装置1が、それぞれ、時刻t1、t2、t3、t4、t5においてパリティパケットを送信し、その後、時刻t6、t7では、再び、装置ID=C1、C2の車車間通信装置1がパリティパケットを送信している。
【0041】
なお、
図10の例は、装置IDが若い車車間通信装置1から順番にパリティパケットを送信している場合の例である。ただし、
図5に示したように、受信パケットのヘッダから、受信時刻と装置IDとの対応を決定できる。よって、装置IDの順にパリティパケットを送信しなくても、受信パケットのヘッダから、符号化行列の行および列に対応する装置IDを決定することはできる。
【0042】
図11、
図12を用いて、装置ID=C5の車車間通信装置1が、時刻t5において生成する符号化行列および候補ベクトルを説明する。
図11においてPaはパリティパケットを表す。
【0043】
図11の例は、時刻t5においては、符号化対象開始時刻Tfec以降に受信したパリティパケットPaが4つであるとしている。また、符号化対象期間Tencを単位時間の4つ分としている。したがって、時刻t1に受信したパリティパケットPa(t1)が符号化対象としている時刻の範囲は時刻t−3から時刻t1の間である。また、同図に示すように、時刻t2、t3、t4に受信したパリティパケットPa(t2)、Pa(t3)、Pa(t4)がそれぞれ符号化対象としている時刻は、
図11に示すように、それぞれ時刻の経過に従い、1単位時間ずつずれた期間となる。
【0044】
各パリティパケットPaに付加されているヘッダには、符号化対象装置IDが含まれている。前述したように、装置IDと、その装置IDを持つ車車間通信装置1がパケットを送信した時刻とは対応する。
図11の右欄は、符号化対象装置IDから、その符号化対象装置IDを持つ車車間通信装置1がパケットを送信した時刻を示している。
【0045】
時刻t5の時点では、符号化対象の時刻はt1〜t5である。この間に含まれるのは破線で囲んだ範囲である。この破線の範囲に含まれている各時刻を、受信時刻と装置IDとの対応に基づいて装置IDに置き換える。この
図11の説明では、説明を簡単にするため、時刻t1では装置ID=C1の車車間通信装置1がパリティパケットPaを送信している。また、時刻t2、t3、t4では装置ID=C2、C3、C4の車車間通信装置1がパリティパケットPaを送信している。
【0046】
よって、
図11の例において生成する符号化行列は、
図11において破線内の数字部分を1に置き換え、空欄の部分を0とした、
図12に示す行列になる。
【0047】
図13は、S146で行う比較を、
図12に示した符号化行列で説明する図である。
図13において、一番下の行が候補ベクトルである。この
図13の具体的な行列からも分かるように、符号化処理により得られる符号化行列は、右上に上三角型の0行列を含む行列になる。
【0048】
S147では、S146での比較の結果、サイクル4を含むか否かを判断する。サイクル4は、比較する行列において、任意に選択した4つの1の配置が長方形状であることを意味する。サイクル4を含むか否かの判断を行う目的は、符号化の性能向上、すなわち、復号性能のよい行列を作ることである。また、密な行列生成を回避する作用も得られる。したがって、S147の判断がYESであれば、今回生成した候補ベクトルを新たな候補ベクトルとして更新することなくS151に進む。
【0049】
一方、S147の判断がNOであればS148に進む。S148では、過去の候補ベクトルがバッファに格納されているか否かを判断する。この判断がNOであれば、S149を実行することなくS150に進む。S150では、今回生成した候補ベクトルをバッファに格納する。S148の判断がYESであればS149に進む。
【0050】
S149では、今回のS144で生成した候補ベクトルの選択情報パケット数が、バッファに記憶されている候補ベクトルの選択情報パケット数よりも大きいか否かを判断する。選択情報パケット数は、候補ベクトルにおいて1となっている数、すなわち、S142、S143の処理において符号化対象として選択したパケットの総数である。
【0051】
S149の判断がYESであればS150に進む。S150では、今回のS144で生成した候補ベクトルを、これまでバッファに格納していた候補ベクトルに代えてバッファに格納する。S149の判断がYESになった候補ベクトルを新たな候補ベクトルとすることで、符号化行列の低次の列重み発生を回避することができる。
【0052】
S150を実行後はS151に進む。一方、S149の判断がNOであれば、候補ベクトルを更新することなくS151へ進む。S151では、繰り返し回数Nloopを1増加する。S152では、繰り返し回数Nloopが、上限数Nlmaxを超えているか否かを判断する。この上限数Nlmaxは、予め任意に設定する値である。S152の判断がNOであればS142に戻り、YESであればS153に進む。
【0053】
S153では、バッファに格納されている候補ベクトルをベクトルとして決定する。このようにして決定するベクトルは、繰り返し生成した候補ベクトルのうちで、選択情報パケット数が最大のものである。S153では、さらに、決定したベクトルを用いてパリティを生成する。
【0054】
図14に、S153の処理を例示する。
図14において、Paはパリティパケット、Dは情報パケット、C1〜C5は装置IDを意味する。よって、D(C1)は、装置ID=C1の車車間通信装置1から受信した情報パケットであることを意味する。また、
図14の例では(10001)がS153で決定したベクトルである。
【0055】
図14の例では、ベクトルと情報パケットDとの計算の結果、情報パケットD(C1)、D(C5)の排他的論理和がパリティパケットとなる。
【0056】
[復号演算部40の説明]
復号演算部40は、S6の処理が実行されることにより起動するので、受信パケットを受信する毎に起動して復号を行うことになる。復号演算部40は、メモリ21に格納された受信情報を基に、誤り訂正復号処理を実施する。この処理を
図15に示す。この処理は受信情報が入力されたことにより開始し、メモリ21に格納された情報を参照して処理を行う。
【0057】
S21では、復号処理を行う。この復号処理は、
図16に詳しく示す処理である。
図16において、S211では、メモリ21に格納されているパリティから2部グラフを生成する。
【0058】
図17に2部グラフを例示する。
図17に示す2部グラフは、上側が情報パケットDであり、下側が、パリティパケットPaである。
図4に示したように、パリティパケットのヘッダには、符号化対象装置IDが含まれているので、この符号化対象装置IDから、2部グラフを生成できる。
【0059】
S212では、S211で生成した2部グラフをもとに、消失した情報パケットDの復号を行う。
図17において記号×で示す情報パケットDが消失した情報パケットDを意味し、記号○で示す情報パケットDが受信できた情報パケットDを意味する。
【0060】
図17の例では、式1が成立する。この式1を変形した式2により、情報パケットD(C2)が得られる。
【数1】
【数2】
【0061】
S212では、この処理を復元可能な情報パケットDが無くなるまで繰り返す。なお、復元方法はこれに限られず、ガウスの消去法など、他のアルゴリズムで復元を実施してもよい。
【0062】
S213では、S212の処理において復元した情報パケットDをメモリ21に格納する。S213を実行したら、
図15のS22へ進む。
【0063】
S22では、S21の処理において復元された情報パケットDが存在するか否かを判断する。この判断がNOであれば
図15の処理を終了し、YESであればS23に進む。S23では、復元された情報パケットDを受信情報として出力する。その後、
図15の処理を終了する。
【0064】
[実施形態の効果]
図18、
図19に、本実施形態の性能を特許文献1に記載の方法と比較するためのシミュレーションの条件を示す。
図18に示す受信車両60は、交差点の手前10mの位置に存在する。送信車両70は、受信車両60が走行する道路と交差する道路を走行している。本実施形態についてのシミュレーション条件は
図19に示している。
【0065】
特許文献1に記載の方法に対する条件は以下の通りである。重みは6で固定した。よって、6情報パケットに対しランダムなGF(2
m)上の元を乗算した後、パリティパケットを生成する条件で評価した。m=8とし、符号化対象とされる情報パケットDはランダムに選定されるものとし、復号処理はパリティ受信毎に開始するものとし、ガウスの消去法により実施した。
【0066】
共通の条件として、
図19にも示す通り、各端末は0.1s周期で情報パケットDおよびパリティパケットPaの配信を実施する。ただし、特許文献1の手法のシミュレーションでは、開始0.1s間、情報パケットDの共有を実施し、次の0.1s間でパリティパケットPaの配信と、新たな情報パケットDの配信を実施した。一方、本実施形態では、0.2s間で情報パケットDとパリティパケットPaを連続して配信した。
【0067】
開始後、0.1s間のパケット受信誤り率、情報パケットDの受信成功までの通信遅延について評価した結果を、それぞれ
図20、
図21に示す。また、
図20には、符号化が適用されていない場合の結果についても、「符号化なし」として併せて掲載している。
【0068】
図20から、本実施形態は、誤り率特性が特許文献1よりも優れていることが分かる。この理由は、符号長の制限がないこと、および、S149において、低列重みを回避する処理を実行しているためであると推定される。
図21から、本実施形態は、通信遅延平均値も特許文献1よりも優れていることが分かる。
【0069】
以上、説明した本実施形態によれば、現在時刻から過去の一定期間である符号化対象期間Tencに受信した受信パケットと送信情報からパリティパケットを生成するようにしているので、他の通信装置との同期をとる必要がない。よって、
図21に示したように、同期が必要である特許文献1の方法に比較して、復号処理開始までの遅延を低減できる。
【0070】
さらに、非同期でパリティパケットを送信できるので、同期が必要である場合よりも符号長の制限が少なくなる。これにより、
図21に示したように、通信の信頼性を高くすることができる。
【0071】
さらに、本実施形態では、符号化行列が、上三角型の0行列を右上に含む疎な行列になるように、ベクトルが生成される。これにより、
図4に示すヘッダを付加することによるオーバヘッドの増大も抑制できる。
【0072】
以上、本発明の実施形態を説明したが、本発明は上述の実施形態に限定されるものではなく、次の変形例も本発明の技術的範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施できる。なお、以下の説明において、それまでに使用した符号と同一番号の符号を有する要素は、特に言及する場合を除き、それ以前の実施形態における同一符号の要素と同一である。また、構成の一部のみを説明している場合、構成の他の部分については先に説明した実施形態を適用できる。
【0073】
<変形例1>
たとえば、前述の実施形態では、パリティパケット生成部30が遅延機能を備えていたが、無線通信部10が遅延機能を備えていてもよい。また、無線通信部10に送信情報とパリティパケットとが同時に入力された場合にも、それらから別々に送信パケットを生成して、生成した各送信パケットを間隔を空けて順次送信する機能を備えるなど、遅延機能とは別の手段で、送信情報とパリティパケットとを別々の送信パケットとして送信するようにしてもよい。
【0074】
<変形例2>
前述の実施形態では、符号化対象開始時刻Tfec以降の情報パケットと送信情報パケットを符号化対象候補パケットとしていたが、符号化対象開始時刻Tfec以降の情報パケットのみを符号化対象候補パケットとしてもよい。
【0075】
<変形例3>
前述の実施形態は、通信装置として車車間通信装置1を示したが、路車間通信装置にも本発明は適用できる。また、車車間通信装置1や路車間通信装置などの近距離無線通信装置に限られず、公衆通信回線網を利用する広域通信装置にも本発明は適用できる。