JP2017158015A - 通信システム、通信システムの制御方法、送信装置および受信装置 - Google Patents

通信システム、通信システムの制御方法、送信装置および受信装置 Download PDF

Info

Publication number
JP2017158015A
JP2017158015A JP2016039064A JP2016039064A JP2017158015A JP 2017158015 A JP2017158015 A JP 2017158015A JP 2016039064 A JP2016039064 A JP 2016039064A JP 2016039064 A JP2016039064 A JP 2016039064A JP 2017158015 A JP2017158015 A JP 2017158015A
Authority
JP
Japan
Prior art keywords
data
redundant data
packet
packets
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016039064A
Other languages
English (en)
Inventor
上杉 充
Mitsuru Uesugi
充 上杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to JP2016039064A priority Critical patent/JP2017158015A/ja
Publication of JP2017158015A publication Critical patent/JP2017158015A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

【課題】できるだけ高い誤り耐性を確保しつつ、冗長データを少なくすることができる通信システム、通信システムの制御方法、送信装置および受信装置を提供する。【解決手段】送信装置10において、ある送信データパケットT#1〜T#Nに対してターボ符号化器12が符号化を行い、システマチックビットS#1〜S#Nと、冗長データであるパリティビットPA#1〜PA#NおよびパリティビットPB#1〜PB#Nを生成する。そして、システマチックビットS#1〜S#NとパリティビットPA#1〜PA#Nとを受信装置20に対して送信するとともに、パリティビットPB#1〜PB#Nに対してEXOR計算器13が排他的論理和演算を行い、その結果を共用パリティビットPCとして受信装置20に対して送信する。【選択図】図2

Description

本発明は、デジタルデータを伝送する際に誤り訂正を行う通信システム、通信システムの制御方法、送信装置および受信装置に関する。
デジタルデータを伝送する場合、通信路において生じるデータの誤りに対処するために、誤り訂正符号による訂正や誤りが生じた場合の再送等が行われている。特に無線通信においては通信路が不安定になることがあるため、このような対処は必要不可欠となっている。
誤り訂正符号による誤り訂正技術は、送信する情報に冗長データを持たせることにより、伝送路で発生する誤りを訂正する技術である。具体的には、例えば符号化器において情報系列に冗長ビットを付加して送信し、受信側で誤りが生じた場合には復号器において付加されている冗長ビットを用いて誤りを訂正する。このような誤り訂正技術の一例として、例えば特許文献1に開示された技術がある。
特許文献1には、2つの情報パケットのビット毎に排他的論理和演算を行って1つの冗長パケットを生成して送信し、受信側で2つの情報パケットのうちのいずれか一方が損失したとしても、他方の情報パケットと冗長パケットとのビット毎の排他的論理和演算によって、損失した情報パケットを求める技術が開示されている。
特開2003−258776号公報
しかしながら、誤り訂正符号による誤り訂正技術では、冗長データを付加するため、本伝送する情報データよりも多量の信号を送信する必要がある。そして、誤り訂正の誤り耐性を高めようとすればするほど、送信しなければならないデータ量は増えてしまう。一方で、伝送路において誤りが生じなかった場合、誤り訂正のための冗長データは無駄になってしまうので、通信路の帯域幅を圧迫させないために、できるだけ高い誤り耐性を確保しつつ、冗長データを少なくすることが要望されている。
本発明は、このような事情に鑑みてなされたものであって、できるだけ高い誤り耐性を確保しつつ、冗長データを少なくすることができる通信システム、通信システムの制御方法、送信装置および受信装置を提供することである。
本発明の通信システムは、複数のパケットを含むデータを送信する送信装置と、前記送信装置から前記データを受信する受信装置と、を有し、前記送信装置は、前記データに対してパケット毎に符号化を行い、当該符号化により生成された冗長データのうちの一部を抽出し、抽出した一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データを算出し、当該共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を前記受信装置に対して送信する。
本発明の通信システムは、少なくとも1つの他の通信端末からデータを受信するとともに、前記受信したデータと、自らが生成したデータとを少なくとも1つの他の通信端末に送信する複数の通信端末を有する通信システムであって、前記通信端末は、前記データに対してパケット毎に符号化を行い、当該符号化により生成された冗長データの一部を抽出し、前記生成した冗長データの一部と、前記全ての他の通信端末から受信した前記冗長データの一部と、に対して排他的論理和演算を行った結果である共用冗長データを算出し、当該共用冗長データと、前記符号化により生成した符号化データと、前記他の通信端末から受信した符号化データと、前記一部を除く前記冗長データと、前記他の通信端末から受信した冗長データのうち、前記一部を除く冗長データと、を前記少なくとも1つの他の通信端末に対して送信する。
本発明の通信システムの制御方法は、複数のパケットを含むデータを送信する送信装置と、前記送信装置から前記データを受信する受信装置とを有する通信システムの制御方法であって、前記送信装置が、前記データに対してパケット毎に符号化を行い、当該符号化により生成された冗長データのうちの一部を抽出し、抽出した一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データを算出し、当該共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を前記受信装置に対して送信する。
本発明の送信装置は、複数のパケットを含むデータに対してパケット毎に符号化を行う符号化部と、当該符号化により生成された冗長データのうち、抽出された一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データを算出する排他的論理和計算部と、前記共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を受信装置に対して送信する送信部と、を有する。
本発明の受信装置は、送信装置から、パケット毎の符号化により生成された冗長データの中から抽出した一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を受信する受信部と、前記受信した符号化データに対して復号を行う復号部と、復号したデータのうち、誤りパケットを検出する誤り検出部と、誤りパケットが1つ存在すると判定された場合に、前記復号を行ったデータのうち誤っていない全てのパケットに対して再度符号化を行って再生冗長データを生成する再符号化部と、前記再生冗長データと、受信した前記共用冗長データと、の排他的論理和演算を行って前記誤りパケットの再生冗長データを算出する排他的論理和計算部と、を有し、前記復号部は、前記誤りパケットの再生冗長データを用いて、前記誤りパケットを再度復号することで当該誤りパケットの誤り訂正を行う。
本発明によれば、できるだけ高い誤り耐性を確保しつつ、冗長データを少なくすることができる。
本発明の実施の形態に係る通信システムの構成の一例を示す図 送信装置の構成の一例を示す図 ターボ符号化器の構成の一例を示す図 受信装置の構成の一例を示す図 EXOR計算器および、誤っている受信データパケットに対応するターボ復号器の動作について説明するための図 ターボ復号器の構成の一例を示す図 送信装置の動作例を説明するためのフロー図 受信装置の動作例を説明するためのフロー図 一般的な符号化率とE/Nとの関係を示す図 復号方法の変形例における受信装置の構成の一例を示す図 複数の送信装置および受信装置を含む通信システムの具体的な適用例を示す図
以下、本発明の実施の形態について図面を参照して詳細に説明する。図1は、本発明の実施の形態に係る通信システム100の構成の一例を示す図である。図1に示すように、通信システム100は、送信装置10、受信装置20、伝送路30を有する。送信装置10は、入力されたデータを符号化して送信する。送信装置10から送信されたデータは、伝送路30を介して受信装置20に伝送される。
送信装置10には、それぞれ異なるN個のパケットが入力され、符号化されて送信される。受信装置20は、受信したN個のパケットをそれぞれ復号する。伝送路30は、例えば無線や有線の通信路である。
伝送路30を介したデータ伝送により、受信装置20が受信したデータに誤りが生じる可能性がある。このため、受信装置20は受信した各パケットに含まれる誤り検出用の冗長データを用いて、当該パケットについて誤っているか否かを判定し、誤っているパケット(誤りパケット)に対しては誤り訂正用の冗長データを用いて誤りを訂正する。
なお、送信装置10に入力されるパケットの数Nは、正の整数であり、予め定められた数である。Nの値は、例えば通信システム100に求められるエラーレート(誤り率)に基づいて予め設定されればよい。
なお、送信装置10において、N個のパケットの送信が終了した後には、新たにN個のパケットが入力され、符号化されて送信される。すなわち、送信装置10は、送信すべきデータの送信が終了するまで、一度にN個のパケットを送信する。送信装置10において一度に送信されるN個のパケットを以下ではグループと称する。従って、送信装置10は、それぞれがN個のパケットを含むグループA、B、C・・・を順次送信する。
なお、図1においては、通信システム100は、1つの送信装置10と、1つの受信装置20とを有する例について示しているが、本発明はこれに限定されない。例えば複数の送信装置10から、複数の受信装置20に対して同じ送信データを送信するようにしてもよいし、送信装置10の機能と受信装置20の機能とを併せ持つ通信装置が、状況に応じて送信装置10と受信装置20のいずれかの動作を行うようにしてもよい。
<送信装置の構成例>
図2は、送信装置10の構成の一例を示す図である。図2に示すように、送信装置10は、N個の誤り検出符号生成器11_1〜11_N、N個のターボ符号化器12_1〜12_N、1個のEXOR計算器13(排他的論理和計算部)、および1個の送信部14を有する。
以下では、あるN個の送信データパケットT#1〜T#Nが送信装置10に入力されるとする。各誤り検出符号生成器11_1〜11_Nには、それぞれ異なる送信データパケットが入力される。誤り検出符号生成器11_1〜11_Nは、入力された送信データパケットT#1〜T#Nに対して、誤り検出用の誤り検出符号を付加する。なお、誤り検出符号としては、例えば巡回冗長検査(CRC:Cyclic Redundancy Check)符号等を利用すればよい。
ターボ符号化器12_1〜12_Nは、誤り検出符号生成器11_1〜11_Nによって誤り検出符号が付加された送信データパケットT#1〜T#Nに対してターボ符号化を行い、送信すべき情報を含むシステマチックビットS#1〜S#Nと、誤り訂正のためのパリティビットと、を生成する。そして、ターボ符号化器12_1は、生成したパリティビットに対してパンクチャ処理を行い、パリティビットPA#1とパリティビットPB#1と生成する。ターボ符号化器12_2〜12_Nも、それぞれ入力された送信データパケットT#2〜T#Nに対して同様の処理を行う。
なお、パンクチャ処理とは、意図的にいくつかの冗長ビットを間引いて送信しないことで、冗長度を制御する処理である。ターボ符号化器12_1〜12_Nは、生成したパリティビットのうち、パリティビットPA#1〜PA#Nについては受信装置20に送信し、パリティビットPB#1〜PB#Nについては送信しない。ターボ符号化器12_1〜12_Nは、パリティビットPB#1〜PB#NをEXOR計算器13に出力する。
EXOR計算器13は、ターボ符号化器12_1〜12_Nから出力された、送信しないパリティビットPB#1〜PB#Nに対して排他的論理和(EXOR)演算を行い、その演算結果を共用パリティビットPCとして出力する。
送信部14は、図1に示す伝送路30を介して、ターボ符号化器12_1〜12_Nの出力したシステマチックビットS#1〜S#NとパリティビットPA#1〜PA#Nと、EXOR計算器13の出力した共用パリティビットPCとを後述する受信装置20に対して送信する。なお、送信部14は、これらのデータを互いに独立したまま送信してもよいし、これらのデータに対して多重化や変調等の処理等を行って送信してもよい。
[ターボ符号化器12の構成例]
図3は、ターボ符号化器12の構成の一例を示す図である。なお、ターボ符号化器12とは、図2に示すターボ符号化器12_1〜12_Nのうちの1つを指す記載である。
ターボ符号化器12には送信データパケットTが入力される。ターボ符号化器12に入力された送信データパケットTは、そのままシステマチックビットSとして出力されるとともに、要素符号器121とインタリーバ122とに入力される。要素符号器121は、送信データパケットTに対して畳み込み符号化を行い、符号化データをパンクチャ部124に出力する。インタリーバ122は、送信データパケットTの順序をランダムに並び替え(インタリーブし)て、要素符号器123に出力する。要素符号器123は、インタリーブされた送信データパケットTに対して畳み込み符号化を行い、符号化データをパンクチャ部124に出力する。パンクチャ部124は、要素符号器121および要素符号器123の出力に対してパンクチャ処理(間引き処理)を行い、パリティビットPAとパリティビットPBとに分けて出力する。なお、要素符号器121および123には、例えば再帰的組織畳み込み符号器を用いればよい。
<受信装置の構成例>
次に、送信装置10が送信したデータを受信する受信装置20について説明する。図4は、受信装置20の構成の一例を示す図である。図4に示すように、受信装置20は、1個の受信部21、N個のターボ復号器22_1〜22_N、N個の誤り検出器23_1〜23_N、N個の誤り検出符号生成器24_1〜24_N、N個のターボ符号化器25_1〜25_N、1個の誤り判定部26および1個のEXOR計算器27(排他的論理和計算部)を有する。
なお、ターボ復号器22、誤り検出器23、誤り検出符号生成器24、およびターボ符号化器25の個数Nは、送信装置10から送信されるデータのグループに含まれるパケットの数Nと同じ数である。
受信部21は、送信装置10から送信されたN個のシステマチックビットS#1〜S#Nと、N個のパリティビットPA#1〜PA#Nとを、伝送路30を介して受信する。送信装置10によって受信データに多重化や変調等の処理が施されている場合、受信部21は、受信データに対して分離や復調等の処理を行う。なお、受信部21が受信したデータは、伝送路30を介した伝送により誤っている可能性がある。受信部21は、システマチックビットS#1〜S#NおよびパリティビットPA#1〜PA#Nを、対応するターボ復号器22_1〜22_Nに出力する。
ターボ復号器22_1〜22_Nは、入力されたデータを復号して受信データパケットR#1〜R#Nを生成し、出力する。ターボ復号器22_1〜22_Nは、受信データパケットR#1〜R#Nを、誤り検出器23_1〜23_N、誤り検出符号生成器24_1〜24_N、ターボ符号化器25_1〜25_N、および誤り判定部26に対して出力する。ターボ復号器22_1〜22_Nの構成および動作の詳細については後述する。
誤り検出器23_1〜23_Nは、入力された受信データパケットR#1〜R#Nが誤っているか否かを判定する。この判定は、受信データパケットR#1〜R#Nに付加されている誤り検出符号を用いて行えばよい。誤り検出器23_1〜23_Nは、誤り検出結果を示すOK/NGフラグF#1〜F#Nを誤り判定部26に対して出力する。
誤り検出符号生成器24_1〜24_N、およびターボ符号化器25_1〜25_Nは、上述した送信装置10が有する誤り検出符号生成器11_1〜11_N、およびターボ符号化器12_1〜12_Nと同様の構成および機能を有する。すなわち、検出ビット生成器24_1〜24_N、およびターボ符号化器25_1〜25_Nは、ターボ復号器22_1〜22_Nにおいて復号された受信データパケットR#1〜R#Nに対して誤り検出符号の付加と再符号化を行う。ターボ符号化器25_1〜25_Nは、ターボ符号化器12_1〜12_Nと同様に再符号化を行い、生成したパリティビットの一部を、再生パリティビットPB(R)#1〜PB(R)#Nとして誤り判定部26に出力する。
誤り判定部26は、誤り検出器23_1〜23_Nから入力されたOK/NGフラグF#1〜F#Nに基づいて、受信データパケットR#1〜R#Nのうち、誤っている受信データパケットを特定する。そして、ターボ復号器22_1〜22_Nから入力された再生パリティビットPB(R)#1〜PB(R)#Nのうち、誤っていると判定された受信データパケット以外の全て受信データパケットに対応する再生パリティビットをEXOR計算器27に出力する。
具体的には、例えば誤り検出器23_1〜23_Nにより、受信データパケットR#Xが誤っていると判定され(Xは1以上N以下の整数)、それ以外の全ての受信データパケットR#1〜R#X−1,R#X+1〜R#Nが誤っていないと判定されたとすると、誤り判定部26は、再生パリティビットPB(R)#X以外の全ての再生パリティビットPB(R)#1〜PB(R)#X−1,PB(R)#X+1〜PB(R)#NをEXOR計算器27に出力する。
図5は、EXOR計算器27および、誤っている受信データパケットR#Xに対応するターボ復号器22_Xの動作について説明するための図である。
図5に示すように、EXOR計算器27には、送信装置10から受信した共用パリティビットPCと、誤り判定部26から入力された再生パリティビットPB(R)#1〜PB(R)#X−1,PB(R)#X+1〜PB(R)#Nとが入力される。EXOR計算器27は、入力されたデータに対して排他的論理和演算を行う。共用パリティビットPCは、送信装置10のEXOR計算器13において算出された、パリティビットPB#1〜PB#Nの排他的論理和演算により得られた値であるため、EXOR計算器27は、誤っていない受信データパケットR#1〜R#X−1,R#X+1〜R#Nに基づいてターボ符号化器25_1〜25_X−1,25_X+1〜25_Nが生成した再生パリティビットPB(R)#1〜PB(R)#X−1,PB(R)#X+1〜PB(R)#Nと、共用パリティビットPCとの排他的論理和演算を行うことにより、誤っていた受信データパケットR#Xに対応する再生パリティビットPB(R)#Xを算出することができる。EXOR計算器27は、生成した再生パリティビットPB(R)#Xを対応するターボ復号器22_Xに出力する。
ターボ復号器22_Xは、送信装置10から受信したシステマチックビットS#X、およびパリティビットPA#Xと、EXOR計算器27から受信した再生パリティビットPB(R)#Xと、に基づいて、再度復号を行う。これにより、一回目にパリティビットPA#Xのみを用いて誤り訂正を行った場合よりも再生パリティビットPB(R)#Xだけ冗長度を大きくすることができるため、一回目は誤っていた受信データパケットR#Xの誤りを、二回目に訂正できる可能性がある。
なお、1つのグループのデータを受信装置20が受信したとき、受信したデータをターボ復号器22_1〜22_Nが復号したN個の受信データパケットR#1〜R#Nのうち、誤りパケットが1つ以下である場合には、上述したように誤っている受信データパケットR#Xを訂正することができる。しかしながら、1グループ内で2つ以上のパケットに誤りがある場合、EXOR計算器27は、排他的論理和演算により誤っている受信データパケットR#Xに対応する再生パリティビットPB(R)#Xを算出できない可能性があるので、誤りパケットを訂正することができない。従って、受信したN個のデータパケットR#1〜R#Nに誤りパケットが2つ以上ある場合には、受信装置20は、送信装置10に対して誤りパケットの冗長データ(パリティビットPAなど)の再送を要求する。通信システム100における再送時の動作については後述する。
なお、後述するように、2つ以上のグループに含まれる送信データパケットを重複させることにより、1つのグループ内に2つ以上の誤りがあっても誤りを訂正することができるようになるが、伝送効率が低下するという不利益が生じる。このため、通信システム100のデータ伝送に対して求められる、予め定められた所定のフレームエラーレートに基づいて、N個の送信データのうち1つのみが誤りとなる確率が所定のしきい値よりも高くなるようにNの値が設定されることが望ましい。
[ターボ復号器22の構成例]
図6は、ターボ復号器22の構成の一例を示す図である。なお、ターボ復号器22とは、図4に示すターボ符号化器22_1〜22_Nのうちの1つを指す記載である。
図6に示すように、ターボ復号器22は、要素復号器221、インタリーバ222、セレクタ223、要素復号器224、デインタリーバ225および226と、判定器227、減算器228および229を有する。
要素復号器221は、通信路値(例えばUおよびY1)と事前値(例えばL1)とから事後値(例えばL1')と外部値(例えばLe1と)を生成する。一方、要素復号器224は、同様に、通信路値(例えばUおよびY1)と事前値(例えばL2)とから事後値(例えばL2')と外部値(例えばLe2)を生成する。符号化データ系列Uは、送信装置10で生成されたシステマチックビットSが伝送路30を経由して受信された受信データの信号系列を表す。同様に、パリティデータ系列Y1は、送信装置10で生成されたパリティビットPAがそれぞれ通信路を経由した後の信号系列を表す。
通信路値は、デジタル復調された受信信号に通信路定数が乗算されて算出される。事前値は、通信路値に関する事前確率で、繰り返し復号時に前段の復号器から伝えられる値である。事後値は通信路値に関して得られる事後確率で、以下の数式(1)によって表される。
事後値 = 通信路値 + 事前値 + 外部値 (1)
外部値は、要素復号器221と要素復号器224との間で受け渡される信頼度情報で、要素復号器221で復号した結果得られる外部値(Le1)は、要素復号器224の事前値(L2)として受け渡される。同様に、要素復号器224で復号した結果得られる外部値(Le2)は、要素復号器221の事前値(L1)として受け渡される。このように、信頼度情報である外部値を受け渡しながら、繰り返し復号により要素復号器における復号結果の軟判定値である事後値を更新して復号特性を向上させることがターボ復号の特徴である。
次に、上記のように構成されたターボ復号器22によるターボ復号動作について説明する。
まず、要素復号器221によってターボ符号化器12の要素符号器121に対する復号が行われる。要素復号器221へ通信路値として符号化データ系列Uと、パリティデータ系列Y1とが入力される。さらに事前値として、デインタリーバ225から出力されるL1が要素復号器221へ入力される。ただし、L1の初期値はゼロであるため、最初の繰り返し復号時には、セレクタ223は接地側に接続される。
そして、要素復号器221によって、通信路値Uおよび通信路値Y1と事前値L1から、まずは事後値L1’が計算される。ここで求められた事後値L1’と、通信路値Uおよび事前値L1から上記した数式(1)より外部値Le1が計算される。ここでは、信頼度情報である外部値Le1そのものを受け渡す代わりに、要素復号器221の復号結果の軟判定値である事後値L1’から事前値L1を引いた結果が、インタリーバ222を介して要素復号器224へ受け渡される。このとき、受け渡しされる(L1’−L1)は、上記した数式(1)より以下の数式(2)のように表される。
L1’ − L1 = U + Le1 (2)
すなわち、事後値L1’から事前値L1を引いた結果(L1’−L1)が受け渡されることにより、通信路値Uと外部値Le1の加算値(U+Le1)が受け渡されることとなる。
そして、要素復号器224によって要素符号器123に対応する復号が行われる。要素復号器224へ通信路値としてパリティデータ系列Y1が入力される。さらに、インタリーバ222でインタリーブされた符号化データ系列Uが通信路値として、また、外部値Le1が事前値L2として要素復号器224へ出力される。これら通信路値Uと、Y1と、事前値L2とが用いられて、事後値L2’が計算される。ここで求められた事後値L2’と、通信路値Uおよび事前値L2から上記した数式(1)より外部値Le2が求められる。外部値Le2は、以下の数式(3)のように表される。
Le2 = L2’− L2 − U (3)
すなわち、外部値Le2は事後値L2’からインタリーバ222出力(Le1+U=L2+U)を減算することで求められる。外部値Le2は、デインタリーバ225でデインタリーブされたのち、要素復号器221の事前値L1として用いられて繰り返し復号される。一方、要素復号器224の復号結果の軟判定値である事後値L2’はデインタリーバ226でデインタリーブされた後、判定器227において硬判定されて、復号結果が受信データパケットRとして出力される。要素復号器221および要素復号器224における復号には、log−MAP(Maximum A Posteriori probability)復号、MAX−log−MAP復号、SOVA(Soft Output Viterbi Algorithm)復号等が用いられる。
<送信装置10の動作例>
以下、送信装置10の動作例について説明する。図7は、送信装置10の動作例を説明するためのフロー図である。
ステップS11において、送信装置10は1グループに含まれるN個の送信データパケットT#1〜T#Nの入力を受け付ける。
ステップS12において、誤り検出符号生成器11_1〜11_Nは、入力された送信データパケットT#1〜T#Nに対して、誤り検出符号を付加する。
ステップS13において、ターボ符号化器12_1〜12_Nは、送信データパケットT#1〜T#Nに対してターボ符号化を行い、システマチックビットS#1〜S#Nと、パリティビットPA#1〜PA#Nと、パリティビットPB#1〜PB#Nと、を生成する。
ステップS14において、EXOR計算器13は、全てのパケットのパリティビットPB#1〜PB#Nを集めて排他的論理和演算を行い、共用パリティビットPCを生成する。
ステップS15において、送信部14は、システマチックビットS#1〜S#Nと、パリティビットPA#1〜PA#Nと、共用パリティビットPCと、を受信装置20に対して送信する。
<受信装置20の動作例>
以下、受信装置20の動作例について説明する。図8は、受信装置20の動作例を説明するためのフロー図である。
ステップS21において、受信部21は、送信装置10から送信されたデータ、すなわちシステマチックビットS#1〜S#Nと、パリティビットPA#1〜PA#Nと、共用パリティビットPCと、を受信する。
ステップS22において、ターボ復号器22_1〜22_Nは、受信したシステマチックビットS#1〜S#Nと、パリティビットPA#1〜PA#Nと、に対してターボ復号処理を行い、受信データパケットR#1〜R#Nを生成する。
ステップS23において、誤り検出器23_1〜23_Nは、受信データパケットR#1〜R#Nに付加された誤り検出符号に基づいて、誤っている受信データパケットの検出を行う。なお、ここでは、受信データパケットR#Xが誤っていたものとする。
一方、ステップS24において、誤り検出符号生成器24_1〜24_Nおよびターボ符号化器25_1〜25_Nは、受信データパケットR#1〜R#Nに対して再度符号化を行うことにより、再生パリティビットPB(R)#1〜PB(R)#Nを生成する。なお、ステップS23とステップS24との処理の順序は必ずしも図8に示した順序で行われる必要はなく、ステップS24が先に行われてもよいし、ステップS23とステップS24とが同時に行われてもよい。
ステップS25において、誤り判定部26は、ステップS23の判定において誤っていないと判定された全ての受信データパケットR#1〜R#X−1,R#X+1〜R#Nに対応する再生パリティビットPB(R)#1〜PB(R)#X−1,PB(R)#X+1〜PB(R)#NをEXOR計算器27に出力し、EXOR計算器27は、入力されたこれらのデータと、送信装置10から受信した共用パリティビットPCと、に対して排他的論理和演算を行う。これにより、EXOR計算器27は誤っている受信データパケットR#Xに対応する再生パリティビットPB(R)#Xを算出する。
ステップS26において、誤っている受信データパケットR#Xに対応するターボ復号器22_Xは、ステップS25において算出された再生パリティビットPB(R)#Xと、送信装置10から受信したパリティビットPA#Xと、システマチックビットS#Xと、に基づいて、誤り訂正された受信データパケットR#Xを生成する。これにより、送信装置10から受信装置20までのデータ送受信の間に生じた誤りが訂正される可能性がある。
<本発明の実施の形態に係る通信システム100の効果>
以下では、上述した動作を行う送信装置10および受信装置20を有する通信システム100による効果について説明する。
上記説明した送信装置10および受信装置20の構成により、本発明の実施の形態に係る通信システム100では、送信装置10から受信装置20に送信される冗長データ量を軽減することができる。以下、具体例を挙げて説明する。本発明の実施の形態に係る通信システム100において、送信装置10から受信装置20に対して、データ量XのパケットをN個送信する場合、送信装置10は、N個の送信データパケットを符号化した符号化データ(システマチックビットS:データ量X)と、N個の誤り訂正用の冗長データ(パリティビットPA:データ量Y)と、EXOR計算器13が算出した、1個の共用パリティビットPC(データ量Z)を送信する。このため、総送信データ量はN(X+Y)+Zとなる。
一方、共用パリティビットPCを生成せず、例えば送信データパケット全体の排他的論理和演算を行って誤り訂正用の冗長データを生成する場合、N個の送信データパケットを符号化した符号化データ(データ量X)と、符号化データの排他的論理和演算結果(データ量X)のそれぞれに誤り訂正用の冗長データ(データ量Y)が付加されるので、総送信データ量は(N+1)(X+Y)となる。
ここで、データ量Zは冗長データの一部の排他的論理和であるため、データ量Yより小さい。従って、本発明の実施の形態に係る通信システム100では、共用パリティビットPCを生成せず、例えば送信データ全体の排他的論理和演算を行って誤り訂正用の冗長データを生成する場合と比較して、総送信データ量を(X+Y)−Zだけ少なくすることができる。また、冗長度、すなわち総送信データ全体における冗長データの割合を低減することができる。これにより、送信装置10から受信装置20に対するデータ伝送における伝送効率を向上させることができる。
以下では、本発明の実施の形態に係る通信システム100による伝送効率の向上について、具体例を挙げて説明する。図9は、一般的な符号化率とE/Nとの関係を示す図である。図9の縦軸は符号化率、横軸はE/N(ビットエネルギー対雑音電力密度比)である。図9に示す曲線C1は、フレームエラーレート(FER)が1e−3における符号化率とE/Nとの関係を示し、曲線C2は、FERが1e−4における符号化率とE/Nとの関係を示している。
例えば、E/N=3[dB]でFER<1e−4を達成しようとした場合、図9を参照すると、符号化率0.69が必要となる。これに対して、本発明の実施の形態に係る通信システム100では、送信装置10における送信パケットの符号化率、すなわち総送信データ量に対するシステマチックビットSの割合を、E/N=3[dB]でFER<1e−3を達成するために必要な符号化率である0.77とし、EXOR計算器13が冗長データの排他的論理和演算によって算出した共用冗長データ(共用パリティビットPC)によってエラーレートを向上させ、FER<1e−4を達成することができる。
すなわち、送信装置10において生成される共用冗長データは、分量としては符号化率0.08分であるため、共用冗長データを送信するにおいては全体の符号化率は0.08/Nだけ下がるが、Nが大きければ全体での符号化率への影響は無視できるため、Nが大きい場合は、ほぼ符号化率0.08分のパリティ増をN個の冗長データの排他的論理和演算で達成するものである。
以上説明したように、本発明の実施の形態に係る通信システム100では、送信装置10において、ある送信データパケットT#1〜T#Nに対してターボ符号化器12が符号化を行い、システマチックビットS#1〜S#Nと、冗長データであるパリティビットPA#1〜PA#NおよびパリティビットPB#1〜PB#Nとを生成する。そして、システマチックビットS#1〜S#NとパリティビットPA#1〜PA#Nとを受信装置20に対して送信するとともに、パリティビットPB#1〜PB#Nに対して排他的論理和演算を行い、その結果を共用パリティビットPCとして受信装置20に対して送信する。これにより、総送信データ量を低減することができる。
そして、受信装置20において、EXOR計算器27が、送信装置10から受信した共用パリティビットPCと、誤っていると判定された受信データパケットR#Xを除く全ての受信データパケットに対応する再生パリティビットPB(R)#1〜PB(R)#X−1,PB(R)#X+1〜PB(R)#Nと、に対して排他的論理和演算を行うことにより、誤り訂正を行うための再生パリティビットPB(R)#Xを算出することができる。また、ターボ復号器22_Xは、システマチックビットS#Xと、パリティビットPA#Xと、再生パリティビットPB(R)#Xと、に基づいて再復号化を行うので、符号化率を高くして高い伝送効率でデータ伝送を行うことができるとともに、共用冗長データにより高い誤り訂正能力を確保することができる。
<送信装置10のEXOR計算器13における排他的論理和演算の対象設定例>
上述したように、図2に示す送信装置10は、あるグループに含まれるN個の送信データパケットT#1〜T#Nを符号化して送信し、図4に示す受信装置20は、受信したデータを復号して受信データパケットR#1〜R#Nを生成する。ここで、複数個のグループA、B、C・・・が送信装置10に入力され、それぞれのグループに含まれる送信データパケットが符号化されて順次送信される場合を想定する。このような場合、送信装置10のEXOR計算器13における排他的論理和演算の対象となるデータ(パンクチャ処理で分割されたパリティビットの一部)を変化させることによって、通信システム100におけるデータ伝送のエラーレートと伝送効率とを制御することができる。以下では、送信装置10のEXOR計算器13における排他的論理和演算の対象設定の具体例について説明する。
[第1の設定例]
第1の設定例として、それぞれのグループがN個ずつ異なる送信データパケットTを含むように設定する場合について説明する。具体的には、以下のような場合である。
グループA:T#1〜T#N
グループB:T#N+1〜T#2N
グループC:T#2N+1〜T#3N
・・・
ここではグループCまでを例示するが、グループD以降も同様にN個ずつ異なる送信データパケットTを含むようにすればよい。なお、何個のグループを用意するかは、送信するべき情報のデータ長によって決まる。なお、第1の設定例は、上述した実施の形態に対応している。
各グループに含まれる送信データパケットTをこのように設定した場合、送信装置10のEXOR計算器13に入力されるパリティビットPBは以下のようになる。
グループA:PB#1〜PB#N
グループB:PB#N+1〜PB#2N
グループC:PB#2N+1〜PB#3N
・・・
上述したように、EXOR計算器13は、入力されたパリティビットPBに対して排他的論理和演算を行い、共用パリティビットPCを生成する。従って、第1の設定例では、送信装置10にグループAが入力されたときには、EXOR計算器13は、パリティビットPB#1〜PB#Nの排他的論理和である共用パリティビットPCを生成する。同様に、送信装置10にグループBが入力されたときには、EXOR計算器13は、パリティビットPB#N+1〜PB#2Nの排他的論理和である共用パリティビットPCを生成する。さらに、送信装置10にグループCが入力されたときには、EXOR計算器13は、パリティビットPB#2N+1〜PB#3Nの排他的論理和である共用パリティビットPCを生成する。
このように設定されたグループはそれぞれ独立であるため、これらのグループA,B,C・・・が送信装置10に入力され、符号化されて受信装置20に受信されると、グループ毎に復号が行われ、誤り検出器23により誤りが検出される。グループ内で誤っているデータが1つ以下であった場合は、上述したように、受信装置20のEXOR計算器27が、誤っているデータに対応する再生パリティビットが生成され、誤りが訂正される。誤っているデータが2つ以上あった場合には、EXOR計算器27による排他的論理和演算によって誤っているデータに対応する再生パリティビットを一意に特定できないので、受信装置20は、送信装置10に対して再送を要求する。再送時における通信システム100の動作については後述する。
[第2の設定例]
第2の設定例として、隣接するグループがM個(MはNより小さい正の整数)ずつ重複する送信データパケットTを含むように設定する場合について説明する。具体的には、以下のような場合である。
グループA:T#1〜T#N
グループB:T#N−M+1〜T#2N−M
グループC:T#2N−2M+1〜T#3N−2M
・・・
各グループに含まれる送信データパケットTをこのように設定した場合、送信装置10のEXOR計算器13に入力されるパリティビットPBは以下のようになる。
グループA:PB#1〜PB#N
グループB:PB#N−M+1〜PB#2N−M
グループC:PB#2N−2M+1〜PB#3N−2M
・・・
第2の設定例では、送信装置10にグループAが入力されたときには、EXOR計算器13は、パリティビットPB#1〜PB#Nの排他的論理和である共用パリティビットPCを生成する。同様に、送信装置10にグループBが入力されたときには、EXOR計算器13は、パリティビットPB#N−M+1〜PB#2N−Mの排他的論理和である共用パリティビットPCを生成する。さらに、送信装置10にグループCが入力されたときには、EXOR計算器13は、パリティビットPB#2N−2M+1〜PB#3N−2Mの排他的論理和である共用パリティビットPCを生成する。
このように第2の設定例では隣接する2つのグループでM個ずつパケットが重複することにより、1つのグループに2つ以上の誤りがあった場合でも、誤りを訂正できる可能性が高くなる。以下、具体例を挙げて説明する。例えばグループAにパケット#1,#2,#3が含まれ、グループBにパケット#3,#4,#5が含まれる場合に、パケット#1と#3とが伝送により誤ったとする。この場合、グループA内に誤りが2つあるので、グループAのみでは誤りを訂正できない。しかしながら、パケット#3はグループBにも属しており、グループB内の他のパケット#4および#5に誤りがなければ、誤りを訂正できる可能性がある。パケット#3の誤りが訂正されると、グループAにおける誤りはパケット#1だけになるので、パケット#1の誤りを訂正できる可能性がある。
ただし、第2の設定例では、グループ毎に重複するパケットが存在する分、伝送効率が低下してしまう。低下する伝送効率は、重複するパケットの数Mによって決まるので、伝送効率の低下が許容できる範囲に収まるようにMの値を設定すればよい。
なお、第2の設定例の変形例として、最初と最後のグループに含まれるパケットを重複させるようにしてもよい。以下、具体例を挙げて説明する。例えばグループAにパケット#1,#2,#3が含まれ、グループBにパケット#3,#4,#5が含まれ、グループCにパケット#5,#6,#1が含まれるとする。また、グループの数はA〜Cの3グループであるとする。この場合、パケット#1も他のパケットと同様に、グループAとCの2つのグループに属することになる。例えばパケット#1,#2,#3が誤った場合、パケット#4および#5が誤っていなければ、パケット#3はグループBで、パケット1はグループCでそれぞれ誤りを訂正できる可能性がある。従って、訂正したパケット#1および#3を用いて、グループAにおいてパケット#2の誤りを訂正できる可能性がある。すなわち、グループAの3つのパケットが全部誤った場合でも、全てのパケットにおいて誤りを訂正できる可能性が高くなるので、誤り訂正能力を向上させることができる。
<再送時の動作例>
以下では、通信システム100における再送時の動作について説明する。再送が行われる条件は、上述したように、受信装置20において、1グループの受信データパケット内に誤っているデータが2つ以上存在した場合である。このような場合、受信装置20は、送信装置10に対して冗長データ(パリティビットPA)の再送を要求する。
受信装置20から再送の要求を受信した送信装置10は、該当するグループに含まれる複数のパケットの冗長データ(パリティビットPA)のうち、(誤り数−1)の冗長データのみを受信装置20に対して送信する。これにより、受信装置20は誤っていたパケットの誤りを全て訂正できる可能性がある。
具体例を挙げて説明する。グループAがパケット1#,#2,#3,#4,#5を含む場合、パケット#1,#4,#5が誤っていたとすると、受信装置20は、パケット#1および#4の冗長データのみの再送を送信装置10に対して要求する。パケット#5の冗長データは、再送されたパケット#1,#4と、初回送信時に誤っていなかったパケット#2および#3とを用いてターボ符号化器25により再生した冗長データと、グループAの共用冗長データ(パリティビットPC)との排他的論理和演算により算出することができる。なお、受信装置20が冗長データの再送を要求するパケットは、誤っていたパケットのうちのいずれでもよい。例えば上記の例では、受信装置20は、パケット#1,#4,#5のうち、パケット#4と#5の冗長データの再送を要求してもよいし、パケット#1と#5の冗長データの再送を要求してもよい。
このような再送時の動作により、本発明の実施の形態に係る通信システム100は、再送時の総送信データ量を軽減することができるようになる。
再送時の動作の変形例として、例えば以下で説明するような動作を行ってもよい。送信装置10は、受信装置20から要求されて再送する冗長データを、次のグループに含まれるパケットの冗長データと排他的論理和演算を行ったものを送信するようにしてもよい。
具体例を挙げて説明する。グループAがパケット#1,#2,#3,#4を含み、受信装置20においてパケット#1と#2とが誤っていると判定された場合、上記動作例と同様に、受信装置20は例えばパケット#1の冗長データのみの再送を送信装置10に対して要求する。ここで、送信装置10は、要求されたパケット#1の冗長データと、新規に送信する次グループBに含まれるパケット#5,#6,#7,#8の冗長データとの排他的論理和演算を算出し(これを冗長データX(第2の冗長データ)とする)、パケット#5〜#8に対してターボ符号化を行ったデータ(第2の符号化データ)とともに受信装置20に対して送信する。
このような動作を行った場合、受信装置20において、パケット#5〜#8が誤っていなければ、パケット#5〜#8の再生冗長データと共用冗長データとの排他的論理和演算によりパケット#1の冗長データを算出することができる。一方、パケット#5〜#8のうち、誤りパケットが1つあった場合、受信装置20は、送信装置10に対して、改めてパケット#1の冗長データの再送要求を送信する。この2回目のパケット#1の冗長データの再送要求に応じて送信装置10が再送したパケット#1の冗長データを冗長データYとすると、冗長データYを受信した受信装置20は、冗長データXとYとの排他的論理和演算を行うことにより、パケット#5〜#8の冗長データの排他的論理和を算出することができる。このため、受信装置20は、パケット#1および#2の誤りを訂正できる可能性があるとともに、誤っていたパケット#5〜#8のうちの1つの誤りも訂正できる可能性がある。なお、パケット#5〜#8のうち2つ以上のパケットが誤っていた場合でも、同様の再送動作を行うことにより、効率よく誤りを訂正できる可能性がある。
以上説明したように、本発明の実施の形態に係る通信システム100においては、1つのグループ内に複数の誤りがあり、再送を行う場合でも、再送時の総送信データ量を軽減することができるので、伝送効率を向上させることができる。
<同報配信時の動作>
以下では、通信システム100における同報配信時の動作について説明する。同報配信とは、1つの送信装置10から、複数の受信装置20に対して同じデータを送信することを意味する。このような同報配信では、受信装置20側がそれぞれ異なる環境に置かれていることを考慮する必要がある。特に伝送路30が無線通信である場合は、受信装置20毎に伝送路30の通信品質(エラーレート)が異なるため、データ伝送において誤りが発生するパケットが受信装置20毎に異なるという事態が発生しうる。
本発明の実施の形態に係る通信システム100では、受信装置20毎に異なるパケットが誤ったとしても、誤ったパケットがグループ内に1つであれば、受信装置20がそのパケットの誤りを訂正することができる。
また、グループ内で2つ以上のパケットの誤りを検出した受信装置20は、送信装置10に対して再送を要求する。再送時の受信装置20の動作については、上記再送時の動作例で説明した動作と同様とすればよい。ここで、送信装置10は、複数の受信装置20から再送要求を受信した場合、要求があった全てのパケットの冗長データを再送するのではなく、最も多く要望があったパケットの冗長データのみを再送する。
以下具体例を挙げて説明する。送信装置10がパケット#1,#2,#3を送信して、受信装置20Aではパケット#1と#2が誤っており、受信装置20Bではパケット#1と#3が誤っていた場合、送信装置10は、パケット#1の冗長データのみを再送すればよい。このような場合、受信装置20Aは、再送されたパケット#1の冗長データによってパケット1の誤りを訂正できる可能性があるとともに、再送されたパケット#1の冗長データと、受信に成功したパケット#3から再生したパケット#3の冗長データと、共用冗長データと、の排他的論理和演算から、パケット#2の冗長データを算出できるので、パケット#2の誤りも訂正できる可能性がある。受信装置20Bにおいても、同様に誤っていたパケット#1と#3の両方の誤りを訂正できる可能性がある。
また、送信装置10がパケット#1,#2,#3,#4,#5を送信して、受信装置20Aではパケット#1と#2が、受信装置20Bではパケット#2と#3が、受信装置20Cではパケット#2と#5が、受信装置20Dではパケット#3と#4が、それぞれ誤っていた場合に、送信装置10は、パケット#2と#3の冗長データを再送することで、各受信装置20が全てのパケットの誤りを訂正できる可能性がある。
以上説明したように、本発明の実施の形態に係る通信システム100において、同報通信を行う場合でも、再送時の総送信データ量を軽減することができるので、伝送効率を向上させることができる。
<復号方法の変形例>
以下では、受信装置20における復号方法の変形例について説明する。上述した実施の形態では、ターボ復号器22が復号した結果に対して、誤り判定部26が誤っているか否かの判定を行い、誤りパケットが1つであった場合には、誤っていないパケットの冗長データ(パリティビットPB(R))をターボ符号化器25が再生し、共通冗長データ(パリティビットPC)との排他的論理和演算をEXOR計算器27が行うことで、誤っていたパケットの冗長データを算出していた。以下では、より効率よく復号を行うために、復号結果が誤っているか否かにかかわらず、ターボ復号器が他のパケットから再生された冗長データを用いて再復号を行うことにより、グループ全体の復号を効率よく行う復号方法の変形例について説明する。
図10は、復号方法の変形例における受信装置20’の構成の一例を示す図である。図10に示すように、本復号方法の変形例において、受信装置20’は、ターボ復号器22_1〜22_3、ターボ符号化器25_1〜25_3、EXOR計算器27_1〜27_3、尤度低減部28_1〜28_3を有する。なお、上述した実施形態では、各構成の数Nについては限定しなかったが、本変形例では一例として各構成の数は3個ずつとする。また、上述した実施の形態の受信装置20と同様に、本変形例の受信装置20’も受信部21や誤り検出符号生成器24を有してしてもよいが、説明の簡略化のため、これらの図示は省略する。さらに、ターボ復号器22、ターボ符号化器25の動作は、上述した実施の形態とほぼ同様である。
図10に示すように、ターボ復号器22_1の復号結果(受信データパケットR#1)はターボ符号化器25_1に、ターボ復号器22_2の復号結果(受信データパケットR#2)はターボ符号化器25_2に、ターボ復号器22_3の復号結果(受信データパケットR#3)はターボ符号化器25_3に、それぞれ出力される。
また、ターボ符号化器25_1で再生された冗長データ(再生パリティビットPB(R)#1)およびターボ符号化器25_2で再生された冗長データ(再生パリティビットPB(R)#2)はEXOR計算器27_1に、ターボ符号化器25_2で再生された冗長データおよびターボ符号化器25_3で再生された冗長データ(再生パリティビットPB(R)#3)はEXOR計算器27_2に、ターボ符号化器25_3で再生された冗長データおよびターボ符号化器25_1で再生された冗長データはEXOR計算器27_3に、それぞれ出力される。
EXOR計算器27_1は、入力された冗長データ(再生パリティビットPB(R)#1およびPB(R)#2)と、共用パリティビットPCとの排他的論理和演算を行うことにより、受信データパケットR#3に対応する冗長データ(再生パリティビットPB(R)#3)を生成する。同様に、EXOR計算器27_2は、入力された冗長データ(再生パリティビットPB(R)#2およびPB(R)#3)と、共用パリティビットPCとの排他的論理和演算を行うことにより、受信データパケットR#1に対応する冗長データ(再生パリティビットPB(R)#1)を生成する。同様に、EXOR計算器27_3は、入力された冗長データ(再生パリティビットPB(R)#3およびPB(R)#1)と、共用パリティビットPCとの排他的論理和演算を行うことにより、受信データパケットR#2に対応する冗長データ(再生パリティビットPB(R)#2)を生成する。
EXOR計算器27_1〜27_3が算出した冗長データは、尤度低減部28_1〜28_3にそれぞれ入力される。本変形例では、ターボ復号器22_1〜22_3が生成した復号結果の誤り判定を行わないので、EXOR計算器27_1〜27_3が算出した冗長データは、誤りパケットの冗長データに基づいて算出されたものである可能性がある。このため、尤度低減部28は、入力された冗長データの尤度を低減することで、誤りパケットの影響を軽減する。
尤度低減部28は、具体的には、例えばEXOR計算器27が出力した冗長データの各ビット値に対して所定の係数(例えば、0.1等)を乗じることにより尤度の低減を行う。なお、尤度を保持するために、EXOR計算器27は(1,0)の2値に対する論理演算ではなく、アナログ値に1あるいは−1を乗算することによって振幅を保持しながら排他的論理和演算を行うようにすればよい。実際には、ターボ符号化器24の出力は(1,0)の2値で、共用パリティビットPCはアナログ値なので、ターボ符号化器24の出力を(1,0)から(1、−1)に変換し、これと共用パリティビットPCの値を乗算すればよい。
尤度低減部28によって尤度が低減された冗長データは、ターボ復号器22に戻される。図10では説明の都合上、図の右端にターボ復号器22が図示されているが、これは図の左端に図示したターボ復号器22と同一のものである。尤度低減部28_1の出力する冗長データはターボ復号器22_3に、尤度低減部28_2の出力する冗長データはターボ復号器22_1に、尤度低減部28_3の出力する冗長データはターボ復号器22_2に、それぞれ出力される。そして、尤度低減部28から冗長データを入力されたターボ復号器22は、入力された冗長データを用いて再度復号を行う。
このように、本変形例においては、ターボ復号器22は、送信装置10から受信したパケットのうちの1つの冗長データと、当該1つのパケットの他のパケットに基づいて算出された冗長データと、の両方を用いて復号を行う動作を反復して繰り返す。このような反復動作により、反復を繰り返す度に誤りパケットの誤りが訂正される度合いが徐々に向上することが期待できる。なお、復号効率をより向上させるために、尤度低減部28が尤度を低減するために冗長データに乗じる係数を、反復回数に応じて大きくするようにしてもよい。すなわち、1回目の動作では係数を0.1とし、2回目は0.2、3回目は0.3のように、次第に大きくなるようにし、最終的には係数を1とすることで、誤りパケットの影響を回避しつつ、効率よく復号を行うことができるようになる。
なお、例えば所定回数反復動作を行ったり、誤り検出で全てのパケットの誤りがないことが分かったり、誤り検出で何回反復しても誤りパケット数が変化しなくなったり、復号結果の誤っている確率を算出する図示しない誤り確率算出部により算出される誤り確率が所定のしきい値以下になったりした場合、本変形例の受信装置20’は、反復動作を終了し、復号結果を出力すればよい。
なお、図10に示す例では、本変形例の一例として、各構成要素が3個ずつである場合について説明したが、本発明はこれに限定されない。受信装置の各構成要素は3個以外の個数であってもよい。
<通信システム100の適用例>
以下では、通信システム100の具体的な適用例について説明する。図11は、複数の送信装置および受信装置を含む通信システム100の具体的な適用例を示す図である。図11に例示する通信システム100Cは、複数の通信端末40A〜40Gと、基地局50とを有し、隣接する通信端末および基地局同士で、互いにデータの送受信を行うような構成を想定している。
近年では、IoT(Internet of Things)と呼ばれる、元々通信機能を有していない物に通信機能や計測機能を取り付けることにより情報の交換を行い、自動計測や自動制御等を行う試みがなされている。このような仕組みにおいては、互いに通信されるデータ量が小さく、ある程度の遅延が許容される傾向が高い。具体的には、例えば、農場等の広い範囲にセンサを配置し、気温や湿度等のデータを収集する場合、1日に数回程度の通信が行われればよい。また、自動販売機に通信機能を取り付け、売り上げ情報をサーバで管理する場合、1日に1回程度のデータ収集が行われればよい。
このような仕組みにおいて、通信端末同士の通信では高速かつ大容量の通信回線(例えば3GやLTE等の有料の携帯電話通信網)は必要ない。このため、複数の端末装置同士の通信は小容量の通信回線(920MHz特定小電力無線や無線LAN等、無料の通信回線)で行い、1つの通信端末に複数の通信端末のデータをまとめてから、高速かつ大容量の通信回線を用いてインターネット等のネットワークにデータ伝送を行うこと(マルチホップ)が行われている。
図11に例示する通信システム100Cでは、通信端末40A〜40Gの間の通信回線は小容量の回線であり、通信端末40Gと基地局50との通信回線は大容量の回線である。このような場合、データが集約されるにつれてデータ量が多くなるため、通信端末40Gに近くなればなるほど、データ量の削減が必要になる。
以下では、このような通信システム100Cにおいて、各通信端末40間の通信に本発明を適用した場合の動作と、適用しない場合の動作とを対比させて説明する。
まず、本発明を適用しない場合について説明する。本発明を適用しない場合、各通信端末40は、上流から送信されてきたデータに、自らが生成したデータを加えて下流の通信端末40に送信することになる。具体的には、各通信端末40が送信するデータは、以下のようになる。なお、以下の例では、各通信端末40は、自らが生成したデータとして、システマチックビットSと、その冗長データであるパリティビットPAおよびPBを生成して送信するものとする。また、通信端末40Aが生成したデータを、例えばS(A)、PA(A)のように表記するものとする。
通信端末40A→通信端末40C:S(A)+PA(A)+PB(A)
通信端末40B→通信端末40C:S(B)+PA(B)+PB(B)
通信端末40C→通信端末40D:S(A)+S(B)+S(C)+PA(B)+PA(A)+PA(C)+PB(A)+PB(B)+PB(C)
通信端末40D→通信端末40G:S(A)+S(B)+S(C)+S(D)+PA(B)+PA(A)+PA(C)+PA(D)+PB(A)+PB(B)+PB(C)+PB(D)
通信端末40E→通信端末40G:S(E)+PA(E)+PB(E)
通信端末40F→通信端末40G:S(F)+PA(F)+PB(F)
通信端末40G→基地局50:S(A)+S(B)+S(C)+S(D)+S(E)+S(F)+PA(A)+PA(B)+PA(C)+PA(D)+PA(E)+PA(F)+PB(A)+PB(B)+PB(C)+PB(D)+PB(E)+PB(F)
このように、データをまとめて送信する通信端末40Gから基地局50へのデータ量は大きなものとなる。
以下では、本発明を適用した場合について説明する。本発明では、上流の通信端末40からのデータに自らが生成したデータを加える際に、パリティビットPBに関して排他的論理和演算を行う。具体的には、各通信端末40が送信するデータは、以下のようになる。なお、以下では、例えばPB(A)とPB(B)との排他的論理和演算を、PB(A) XOR PB(B)のように表記する。
通信端末40A→通信端末40C:S(A)+PA(A)+PB(A)
通信端末40B→通信端末40C:S(B)+PA(B)+PB(B)
通信端末40C→通信端末40D:S(A)+S(B)+S(C)+PA(B)+PA(A)+PA(C)+(PB(A) XOR PB(B) XOR PB(C))
通信端末40D→通信端末40G:S(A)+S(B)+S(C)+S(D)+PA(B)+PA(A)+PA(C)+PA(D)+(PB(A) XOR PB(B) XOR PB(C) XOR PB(D))
通信端末40E→通信端末40G:S(E)+PA(E)+PB(E)
通信端末40F→通信端末40G:S(F)+PA(F)+PB(F)
通信端末40G→基地局50:S(A)+S(B)+S(C)+S(D)+S(E)+S(F)+PA(A)+PA(B)+PA(C)+PA(D)+PA(E)+PA(F)+(PB(A) XOR PB(B) XOR PB(C) XOR PB(D) XOR PB(E) XOR PB(F))
全ての他の通信端末から受信したパリティビットPBと、自らが生成したパリティビットPBと、の排他的論理和を共用冗長データと称する。共用冗長データのデータ量は、排他的論理和演算を行う前の各冗長データのデータ量と等しいので、本発明を適用した場合、複数の通信端末40から受信したデータをまとめて送信する場合の総送信データ量を、本発明を適用しない場合と比較して軽減することができる。
なお、上記説明した適用例では、各通信端末において、他の通信端末から受信した信号をそのまま転送しているが、本発明はこれには限定されない。例えば、各通信端末は、他の通信端末から受信した信号に対して一旦誤り訂正を行ってから、再符号化を行って転送してもよい。このような場合には、基地局までの転送回数が多い通信端末の信号については、転送回数が多いために誤りの確率が高まってしまう事態を、ある程度軽減することができる。
以上、図面を参照しながら本発明の実施の形態について説明したが、本発明はこれらの実施の形態に限定されない。本発明は、本発明の特許請求の範囲内において、種々の変形や実施の形態にて説明した各構成要素の組み合わせを行ってもよい。
上述した実施の形態では、送信装置10においてターボ符号化器12によって符号化を行い、受信装置20においてターボ復号器22によって復号を行っていたが、本発明の符号化方式はターボ符号化には限定されない。本発明の符号化方式には、例えば低密度パリティ検査符号(LDPC:low-density parity-check code)や、畳み込み符号等の他の符号化方式、さらにはReed−Solomonなどのブロック符号等を採用してもよい。符号によってはシステマチックビットとパリティビットの区別が付かないものもあるが、それらについては単にパリティA、パリティB(共用パリティ)と考えればよい。
上述した実施の形態では、ターボ符号化器12は、あるパケットに対して生成された冗長データ(パリティビット)に対してパンクチャ処理を行い、パリティビットPAとパリティビットPBとに分割していたが、本発明はこれに限定されない。送信装置10において、ターボ符号化器12は、生成した冗長データを3つ以上に分割し、そのうちの1つを送信するようにしてもよい。また、このような場合に、受信装置20から冗長データの再送を要求されたとき、送信装置10は、初回送信時に送信した冗長データとは異なる冗長データを送信するようにしてもよい。具体的には、例えば、送信装置10は、あるパケットに対してパリティビットPA,PB,PDを生成し、初回送信時にパリティビットPAとパリティビットPBに基づいて生成した共用パリティビットPCとを送信した場合、再送の要求に応じて、初回送信時とは異なるパリティビットPDを送信するようにしてもよい。
また、複数のパケットのシステマチックビットのビット数、パリティビットPAのビット数、パリティビットPBのビット数は、必ずしも同一である必要はない。もしパリティビットPBのビット数がパケット毎に異なる場合は、共通パリティのビット数はパリティビットPBのビット数が最も多いものに合わせ、そのビット数に満たないパケットにおいては、ダミービットを付加してビット数を合わせる等により整合させればよい。
本発明は、データを符号化して送受信する通信システムに好適である。
100,100C 通信システム
10 送信装置
11_1〜11_N 誤り検出符号生成器
12_1〜12_N ターボ符号化器
121 要素符号器
122 インタリーバ
123 要素符号器
124 パンクチャ部
13 EXOR計算器(排他的論理和計算部)
14 送信部
20,20’,20A,20B,20C,20D 受信装置
21 受信部
22_1〜22_N ターボ復号器
221 要素復号器
222 インタリーバ
223 セレクタ
224 要素復号器
225 デインタリーバ
226 デインタリーバ
227 判定器
228 減算器
229 減算器
23_1〜23_N 誤り検出器
24_1〜24_N 誤り検出符号生成器
25_1〜25_N ターボ符号化器
26 誤り判定部
27,27_1〜27_3 EXOR計算器(排他的論理和計算部)
28_1〜28_3 尤度低減部
30 伝送路
40A〜40G 通信端末
50 基地局

Claims (14)

  1. 複数のパケットを含むデータを送信する送信装置と、前記送信装置から前記データを受信する受信装置と、を有し、
    前記送信装置は、
    前記データに対してパケット毎に符号化を行い、当該符号化により生成された冗長データのうちの一部を抽出し、
    抽出した一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データを算出し、
    当該共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を前記受信装置に対して送信する、
    通信システム。
  2. 前記受信装置は、
    前記送信装置から受信した各データに対して復号を行ったとき、誤りパケットが1つ存在すると判定した場合に、受信したデータのうち誤っていない全てのパケットに対して再度符号化を行って生成した再生冗長データと、受信した前記共用冗長データと、の排他的論理和演算を行って前記誤りパケットの再生冗長データを算出し、
    当該誤りパケットの再生冗長データを用いて、前記誤りパケットを再度復号することで当該誤りパケットの誤り訂正を行う、
    請求項1に記載の通信システム。
  3. 前記受信装置は、前記誤りパケットが2つ以上存在すると判定した場合に、前記誤りパケットのうち1つを除いたパケットの冗長データの再送を前記送信装置に対して要求する、
    請求項2に記載の通信システム。
  4. 前記送信装置は、所定数の複数のパケットをグループとし、前記グループ単位でデータを送信し、
    前記冗長データの再送を要求されたとき、要求されたパケットの冗長データと、次に送信するグループ内の複数のパケットを含むデータの符号化により生成された第2の冗長データと、の排他的論理和演算の結果と、前記次に送信するグループ内の複数のパケットの符号化データである第2の符号化データと、を前記受信装置に対して再送する、
    請求項3に記載の通信システム。
  5. 前記受信装置は、前記送信装置から再送された第2の符号化データに対して復号を行ったとき、誤りパケットが無いと判定した場合に、前記第2の符号化データに含まれる誤りパケットに対して再度符号化を行って生成した第2の再生冗長データと、前記第2の冗長データと、の排他的論理和演算を行って、前記再送を要求したパケットの冗長データを算出する、
    請求項4に記載の通信システム。
  6. 前記送信装置は、複数の受信装置に対して、前記共用冗長データと、前記符号化データと、前記抽出されなかった冗長データと、を送信する、
    請求項3に記載の通信システム。
  7. 前記送信装置は、前記複数の受信装置から冗長データの再送を要求されたとき、最も再送の要求が多かったパケットの冗長データのみ前記複数の受信装置に対して再送する、
    請求項6に記載の通信システム。
  8. 前記受信装置は、前記送信装置から受信した各データに対してパケット毎に復号を行い、復号したパケットに対して再度符号化を行って再生冗長データを生成し、前記復号したパケットのうち、ある1つのパケット以外の全てのパケットの前記再生冗長データに対する排他的論理和演算の結果を冗長データとして用いて、当該ある1つのパケットに対して再度復号を行うことにより、反復して復号を行う、
    請求項1に記載の通信システム。
  9. 前記受信装置は、前記排他的論理和演算の結果に対して、前記反復の回数に応じて変化する所定の係数を乗算する、
    請求項8に記載の通信システム。
  10. 少なくとも1つの他の通信端末からデータを受信するとともに、前記受信したデータと、自らが生成したデータとを少なくとも1つの他の通信端末に送信する複数の通信端末を有する通信システムであって、
    前記通信端末は、
    前記データに対してパケット毎に符号化を行い、
    当該符号化により生成された冗長データの一部を抽出し、
    前記生成した冗長データの一部と、前記全ての他の通信端末から受信した前記冗長データの一部と、に対して排他的論理和演算を行った結果である共用冗長データを算出し、
    当該共用冗長データと、前記符号化により生成した符号化データと、前記他の通信端末から受信した符号化データと、前記一部を除く前記冗長データと、前記他の通信端末から受信した冗長データのうち、前記一部を除く冗長データと、を前記少なくとも1つの他の通信端末に対して送信する、
    通信システム。
  11. 複数のパケットを含むデータを送信する送信装置と、前記送信装置から前記データを受信する受信装置とを有する通信システムの制御方法であって、
    前記送信装置が、
    前記データに対してパケット毎に符号化を行い、
    当該符号化により生成された冗長データのうちの一部を抽出し、
    抽出した一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データを算出し、
    当該共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を前記受信装置に対して送信する、
    通信システムの制御方法。
  12. 前記受信装置は、
    前記送信装置から受信した各データに対して復号を行ったとき、誤りパケットが1つ存在すると判定した場合に、受信したデータのうち誤っていない全てのパケットに対して再度符号化を行って生成した再生冗長データと、受信した前記共用冗長データと、の排他的論理和演算を行って前記誤りパケットの再生冗長データを算出し、
    当該誤りパケットの再生冗長データを用いて、前記誤りパケットを再度復号することで当該誤りパケットの誤り訂正を行う受信装置を有する、
    請求項11に記載の通信システムの制御方法。
  13. 複数のパケットを含むデータに対してパケット毎に符号化を行う符号化部と、
    当該符号化により生成された冗長データのうち、抽出された一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データを算出する排他的論理和計算部と、
    前記共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を受信装置に対して送信する送信部と、
    を有する送信装置。
  14. 送信装置から、パケット毎の符号化により生成された冗長データの中から抽出した一部の冗長データに対する排他的論理和演算を行った結果である共用冗長データと、前記符号化後の符号化データと、抽出されなかった前記冗長データと、を受信する受信部と、
    前記受信した符号化データに対して復号を行う復号部と、
    復号したデータのうち、誤りパケットを検出する誤り検出部と、
    誤りパケットが1つ存在すると判定された場合に、前記復号を行ったデータのうち誤っていない全てのパケットに対して再度符号化を行って再生冗長データを生成する再符号化部と、
    前記再生冗長データと、受信した前記共用冗長データと、の排他的論理和演算を行って前記誤りパケットの再生冗長データを算出する排他的論理和計算部と、
    を有し、
    前記復号部は、前記誤りパケットの再生冗長データを用いて、前記誤りパケットを再度復号することで当該誤りパケットの誤り訂正を行う、
    受信装置。
JP2016039064A 2016-03-01 2016-03-01 通信システム、通信システムの制御方法、送信装置および受信装置 Pending JP2017158015A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016039064A JP2017158015A (ja) 2016-03-01 2016-03-01 通信システム、通信システムの制御方法、送信装置および受信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016039064A JP2017158015A (ja) 2016-03-01 2016-03-01 通信システム、通信システムの制御方法、送信装置および受信装置

Publications (1)

Publication Number Publication Date
JP2017158015A true JP2017158015A (ja) 2017-09-07

Family

ID=59810499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016039064A Pending JP2017158015A (ja) 2016-03-01 2016-03-01 通信システム、通信システムの制御方法、送信装置および受信装置

Country Status (1)

Country Link
JP (1) JP2017158015A (ja)

Similar Documents

Publication Publication Date Title
CN107026709B (zh) 一种数据包编码处理方法及装置、基站及用户设备
JP3610329B2 (ja) 大最小距離を用いたターボ符号化方法及びそれを実現するシステム
AU2012302460B2 (en) Method and apparatus for transmitting and receiving information in a broadcasting/communication system
KR100584170B1 (ko) 터보 부호화된 복합 재전송 방식 시스템 및 오류 검출 방법
KR100981503B1 (ko) 최대 오류 정정/오류 검출 능력을 가지는 저밀도 패리티검사 부호 부호화/복호화 장치 및 방법
US20120297267A1 (en) Error floor reduction in iteratively decoded fec codes
US20130055051A1 (en) Method and apparatus for transmitting and receiving information in a broadcasting/communication system
CN113826327A (zh) 用于在通信或广播系统中解码数据的方法和装置
JP4386587B2 (ja) 符号化または復号化方法および符号化または復号化装置
JP2006254466A (ja) 低密度のパリティ検査符号を用いる通信システムにおけるチャンネルインタリービング/デインタリービング装置およびその制御方法
EP2181505A2 (en) Multi-layer cyclic redundancy check code in wireless communication system
US11088780B2 (en) Low complexity blind detection of code rate
JP3440092B1 (ja) 誤り訂正復号装置および誤り訂正復号方法
CN109428670A (zh) 一种数据差错校验方法及装置、计算机存储介质
CN102064917A (zh) 一种ldpc编码调制系统的解调译码方法
EP3605851A1 (en) Iterative decoding using re-encoding between decoding stages
US9680602B2 (en) Bit coding device, bit decoding device, transmission device, reception device, bit coding method, bit decoding method, transmission method, reception method, and program
Chaudhary et al. Error control techniques and their applications
Chen et al. A double serial concatenated code using CRC-aided error correction for highly reliable communication
JP2017158015A (ja) 通信システム、通信システムの制御方法、送信装置および受信装置
KR20200132720A (ko) 통신 또는 방송 시스템에서 데이터 복호화 방법 및 장치
CN113366872B (zh) 利用并行级联卷积码的lpwan通信协议设计
Chen et al. Iterative soft decoding of single parity check convolutional concatenated code
KR101531184B1 (ko) 상하위 계층 간의 연동을 이용한 복호화 방법 및 장치와 그를 이용하여 데이터 송수신 시스템
Kukieattikool et al. Variable‐rate staircase codes with RS component codes for optical wireless transmission