JP4505953B2 - Encoding apparatus and encoding method, and decoding apparatus and decoding method - Google Patents

Encoding apparatus and encoding method, and decoding apparatus and decoding method Download PDF

Info

Publication number
JP4505953B2
JP4505953B2 JP2000172678A JP2000172678A JP4505953B2 JP 4505953 B2 JP4505953 B2 JP 4505953B2 JP 2000172678 A JP2000172678 A JP 2000172678A JP 2000172678 A JP2000172678 A JP 2000172678A JP 4505953 B2 JP4505953 B2 JP 4505953B2
Authority
JP
Japan
Prior art keywords
encoding
input
decoding
soft output
data
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.)
Expired - Fee Related
Application number
JP2000172678A
Other languages
Japanese (ja)
Other versions
JP2001352252A (en
Inventor
雅之 服部
俊之 宮内
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2000172678A priority Critical patent/JP4505953B2/en
Publication of JP2001352252A publication Critical patent/JP2001352252A/en
Application granted granted Critical
Publication of JP4505953B2 publication Critical patent/JP4505953B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、入力されたデータに対して縦列連接符号化を行う符号化装置及び符号化方法、並びに、縦列連接符号化されたデータを復号する復号装置及び復号方法に関する。
【0002】
【従来の技術】
近年、例えば、移動体通信や深宇宙通信といった通信分野、地上波又は衛星ディジタル放送といった放送分野、及び記録媒体に対する記録及び/又は再生を行う磁気、光又は光磁気記録分野の研究が著しく進められているが、それにともない、誤り訂正符号化及び復号の効率化を目的として符号理論の研究も盛んに行われている。
【0003】
符号性能の理論的限界としては、いわゆるシャノンの通信路符号化定理により与えられるシャノン限界が知られている。シャノンの通信路符号化定理とは、「通信路容量C(ビット/シンボル)の通信路を用いて伝送速度R(ビット/シンボル)で情報を伝送する場合に、R≦Cであるならば、誤り確率を限りなく“0”に近づけることができる符号化方法が存在する」という定理であり、シャノン限界とは、誤りなしに送信可能な伝送速度の理論上の限界である。
【0004】
このシャノン限界に近い性能を示す符号化方法として、例えば、「S. Benedetto, G. Montorsi, D. Divsalar, F. Pollara, “Serial Concatenation of Interleaved Codes: Performance Analysis, Design, and Iterative Decoding”, TDA Progress Report 42-126, Jet Propulsion Laboratory, Pasadena, California, Aug. 15, 1996」に記載されている縦列連接畳み込み符号(Serially Concatenated Convolutional Codes)による符号化方法が知られている。
【0005】
この縦列連接畳み込み符号による符号化は、2つの畳み込み符号化器とインターリーバとを縦列に連接して構成される装置により行われる。そして、縦列連接畳み込み符号の復号は、軟出力(soft-output)を出力する2つの復号回路を縦列に連接して構成される装置により行われ、2つの復号回路の間で情報をやり取りし、最終的な復号結果が得られる。
【0006】
また、この縦列連接畳み込み符号による符号化をさらに簡略化したものとして、「Hui Jin and Robert J. McEliece, “RA codes achieve AWGN channel capacity”, pp. 10-18, in Proc. 13th International Symposium on Applied Algebra, Algebraic Algorithms, and Error-Correcting Codes. (Springer Lecture Notes in Computer Science no. 1719)」に記載されているRA(Repeat-Accumulate)符号がある。このRA符号は、繰り返し符号化を行う符号化器と入力したデータを累積加算するアキュムレータとを、インターリーバを介して縦列連接した装置により生成されるものであり、繰り返し数を無限大とした場合には、性能がシャノン限界に到達するものである。
【0007】
以下、RA符号による符号化を行う符号化装置、及びRA符号の復号を行う復号装置について説明する。なお、以下の説明においては、図21に示すように、ディジタル情報を図示しない送信装置が備える符号化装置201により符号化し、その出力を雑音のある無記憶通信路202を介して図示しない受信装置に入力して、この受信装置が備える復号装置203により復号し、観測する場合を考える。
【0008】
RA符号による符号化を行う符号化装置201は、図22に示すように、第1の符号(以下、外符号と記す。)の符号化として繰り返し符号化を行う繰り返し符号化器210と、入力したデータの順序を並べ替えるインターリーバ220と、第2の符号(以下、内符号と記す。)の符号化として累積加算による畳み込み符号化を行うアキュムレータ230とを備える。この符号化装置201は、入力したkビットの入力データD201に対して、符号化率が“k/qk=1/q”のRA符号化を行い、qkビットの符号化データD204に変換し、図示しない変調器等を介して外部に出力する。
【0009】
繰り返し符号化器210は、kビットの入力データD201を入力すると、この入力データD201に対して繰り返し数qの繰り返し符号化を行い、qkビットの符号化データD202として後段のインターリーバ220に出力する。すなわち、繰り返し符号化器210は、外符号の符号化として符号化率が“k/qk=1/q”の繰り返し符号化を行い、符号化データD202を後段のインターリーバ220に出力する。なお、繰り返し数qとしては、通常、小さな値が選択され、例えばq=3程度が一般的である。
【0010】
インターリーバ220は、繰り返し符号化器210から出力されたqkビットの符号化データD202を入力し、所定の長さのインターリーブを施す。すなわち、インターリーバ220は、入力した符号化データD202を構成する各ビットの順序を並べ替え、生成したqkビットのインターリーブデータD203を後段のアキュムレータ230に出力する。
【0011】
アキュムレータ230は、qkビットのインターリーブデータD203を入力すると、このインターリーブデータD203に対して再帰的畳み込み演算を行うことによって、順次入力されるインターリーブデータD203の各ビットを累積加算し、演算結果をqkビットの符号化データD204として外部に出力する。すなわち、アキュムレータ230は、内符号の符号化として符号化率が“1”の再帰的畳み込み演算を行い、符号化データD204を外部に出力する。
【0012】
このような符号化装置201は、繰り返し符号化器210により外符号の符号化として符号化率が“1/q”の繰り返し符号化を行い、アキュムレータ230により内符号の符号化として符号化率が“1”の再帰的畳み込み演算を行うことによって、全体として、符号化率が“(1/q)×1=1/q”のRA符号による縦列連接符号化を行う。この符号化装置201により符号化されたデータは、図示しない変調器により所定の変調方式に基づいて信号点のマッピングが行われ、無記憶通信路202を介して受信装置に出力される。
【0013】
一方、符号化装置201によるRA符号の復号を行う復号装置203としては、例えば図23に示すように、内符号の復号を行う軟出力復号回路240と、入力したデータの順序を元に戻すデインターリーバ250と、入力したデータの順序を並べ替えるインターリーバ260と、外符号の復号を行う軟出力復号回路270とを備えるものがある。この復号装置203は、無記憶通信路202上で発生したノイズの影響によりアナログ値をとり軟入力(soft-input)とされる受信値D205から符号化装置201における入力データD201を推定し、復号データD210として出力する。
【0014】
軟出力復号回路240は、符号化装置201におけるアキュムレータ230に対応して備えられるものであり、いわゆるBCJR(Bahl, Cocke, Jelinek and Raviv)アルゴリズムに基づくMAP(Maximum A Posteriori probability)復号やSOVA(Soft Output Viterbi Algorithm)復号を行うものである。軟出力復号回路240は、受信装置により受信された軟入力の受信値D205を入力するとともに、インターリーバ260から供給された軟入力の情報ビットに対する事前確率情報D206を入力し、これらの受信値D205と事前確率情報D206とを用いて、内符号の軟出力復号を行う。そして、軟出力復号回路240は、符号の拘束条件により求められる情報ビットに対する外部情報D207を生成し、この外部情報D207を後段のデインターリーバ250に軟出力として出力する。なお、この外部情報D207は、符号化装置201におけるインターリーバ220によりインターリーブされたインターリーブデータD203に対応するものである。
【0015】
デインターリーバ250は、符号化装置201におけるインターリーバ220によりインターリーブされたインターリーブデータD203のビット配列を、それぞれ、元の符号化データD202のビット配列に戻すように、軟出力復号回路240から出力される軟入力の外部情報D207にデインターリーブを施す。デインターリーバ250は、デインターリーブして得られたデータを後段の軟出力復号回路270における符号ビットに対する事前確率情報D208として出力する。
【0016】
インターリーバ260は、軟出力復号回路270から出力された軟入力である符号ビットに対する外部情報D209に対して、符号化装置201におけるインターリーバ220と同一の置換位置情報に基づいたインターリーブを施す。インターリーバ260は、インターリーブして得られたデータを軟出力復号回路240における情報ビットに対する事前確率情報D206として出力する。
【0017】
軟出力復号回路270は、符号化装置201における繰り返し符号化器210に対応して備えられるものであり、MAP復号やSOVA復号を行うものである。軟出力復号回路270は、デインターリーバ250から出力された軟入力の符号ビットに対する事前確率情報D208を入力するとともに、図示しないが、値が“0”である情報ビットに対する事前確率情報を入力し、これらの事前確率情報を用いて、外符号の軟出力復号を行う。そして、軟出力復号回路270は、符号の拘束条件により求められる符号ビットに対する外部情報D209を生成し、この外部情報D209をインターリーバ260に軟出力として出力する。また、軟出力復号回路270は、図示しないが、符号の拘束条件により求められる情報ビットに対する外部情報を生成し、この外部情報に基づいて、硬出力(hard-output)の復号データD210を出力する。
【0018】
このような復号装置203は、受信値D205を受信すると、軟出力復号回路240乃至軟出力復号回路270の復号動作を例えば数回乃至数十回といった所定の回数だけ反復して行い、所定の回数の復号動作の結果得られた軟出力の外部情報に基づいて、復号データD210を出力する。
【0019】
以上のように、符号化装置201と復号装置203とにより構成されるシステムにおいては、RA符号による符号化及びRA符号の復号を行うことが可能となる。
【0020】
【発明が解決しようとする課題】
ところで、上述したRA符号は、符号化装置及び復号装置を、ともに、簡便な構成とすることができるものの、外符号の繰り返し数を大きくしなければ高い性能を得ることができず、符号化率が低いといった問題があった。そのため、RA符号は、性能の面では未だ改善の余地が残るのが実情であった。
【0021】
本発明は、このような実情に鑑みてなされたものであり、高い符号化率の下に、高性能の符号化及び復号を実現することができる符号化装置及び符号化方法、並びに、復号装置及び復号方法を提供することを目的とする。
【0022】
【課題を解決するための手段】
上述した目的を達成する本発明にかかる符号化装置は、入力されたデータに対して縦列連接符号化を行う符号化装置であって、入力されたデータに対して第1の符号の符号化を行う第1の符号化手段と、第1の符号化手段により符号化されたデータを構成する各ビットの順序を置換して並べ替える置換手段と、置換手段から供給されたデータに対して第2の符号の符号化を行う第2の符号化手段とを備え、第1の符号化手段又は上記第2の符号化手段のうち、少なくとも一方の符号化手段は、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行い、第1の符号化手段又は第2の符号化手段のうち、パリティ検査符号化を行う符号化手段においてパリティを付加する単位の分布を設定する設定手段を備え、第1の符号化手段又は第2の符号化手段のうち、パリティ検査符号化を行う符号化手段は、設定手段による設定内容に応じて、入力されたデータに対してパリティを付加する単位を変化させることを特徴としている。
【0023】
このような本発明にかかる符号化装置は、第1の符号化手段又は第2の符号化手段のうち、少なくとも一方の符号化手段によって、パリティ検査符号化を行う。
【0024】
また、上述した目的を達成する本発明にかかる符号化方法は、入力されたデータに対して縦列連接符号化を行う符号化方法であって、入力されたデータに対して第1の符号の符号化を行う第1の符号化工程と、第1の符号化工程にて符号化されたデータを構成する各ビットの順序を置換して並べ替える置換工程と、置換工程にて並べ替えられたデータに対して第2の符号の符号化を行う第2の符号化工程とを備え、第1の符号化工程又は第2の符号化工程のうち、少なくとも一方の符号化工程では、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行い、第1の符号化工程又は第2の符号化工程のうち、パリティ検査符号化を行う符号化工程では、パリティを付加する単位の分布が設定され、この設定内容に応じて、入力されたデータに対してパリティを付加する単位を変化させることを特徴としている。
【0025】
このような本発明にかかる符号化方法は、第1の符号化工程又は第2の符号化工程のうち、少なくとも一方の符号化工程にて、パリティ検査符号化を行う。
【0026】
さらに、上述した目的を達成する本発明にかかる復号装置は、入力されたデータに対して第1の符号の符号化を行う第1の符号化手段と、第1の符号化手段により符号化されたデータを構成する各ビットの順序を置換して並べ替える第1の置換手段と、第1の置換手段から供給されたデータに対して第2の符号の符号化を行う第2の符号化手段とを備え、第1の符号化手段又は第2の符号化手段のうち、少なくとも一方の符号化手段は、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行う符号化機器により縦列連接符号化された符号の復号を行う復号装置であって、第2の符号化手段に対応して備えられ、入力された軟入力である受信値と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第1の軟出力復号手段と、第1の軟出力復号手段に縦列に連接し、第1の置換手段により並べ替えられたデータのビット配列を、第1の符号化手段により符号化されたデータのビット配列に戻すように、入力された軟入力のデータを並べ替える逆置換手段と、逆置換手段から出力されたデータのクロックレートを変換する第1のレート変換手段と、第1の符号化手段に対応して備えられ、入力された軟入力である符号ビットに対する事前確率情報と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第2の軟出力復号手段と、第2の軟出力復号手段から出力されたデータのクロックレートを変換する第2のレート変換手段と、第1の置換手段と同一の置換位置情報に基づいて、入力された軟入力のデータを構成する各ビットの順序を置換して並べ替える第2の置換手段とを備え、第1の軟出力復号手段は、情報ビットに対する事前確率情報として、第2の置換手段から出力された軟入力のデータを入力することを特徴としている。
また、上述した目的を達成する本発明にかかる復号装置は、入力されたデータに対して第1の符号の符号化を行う第1の符号化手段と、第1の符号化手段により符号化されたデータを構成する各ビットの順序を置換して並べ替える第1の置換手段と、第1の置換手段から供給されたデータに対して第2の符号の符号化を行う第2の符号化手段とを備え、第1の符号化手段又は第2の符号化手段のうち、少なくとも一方の符号化手段は、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行う符号化機器により縦列連接符号化された符号の復号を行う復号装置であって、第2の符号化手段に対応して備えられ、入力された軟入力である受信値と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第1の軟出力復号手段と、第1の軟出力復号手段に縦列に連接し、第1の置換手段により並べ替えられたデータのビット配列を、第1の符号化手段により符号化されたデータのビット配列に戻すように、入力された軟入力のデータを並べ替える逆置換手段と、第1の符号化手段に対応して備えられ、入力された軟入力である符号ビットに対する事前確率情報と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第2の軟出力復号手段と、第1の置換手段と同一の置換位置情報に基づいて、入力された軟入力のデータを構成する各ビットの順序を置換して並べ替える第2の置換手段とを備え、第1の軟出力復号手段は、情報ビットに対する事前確率情報として、第2の置換手段から出力された軟入力のデータを入力し、符号化機器は、第1の符号化手段又は第2の符号化手段のうち、パリティ検査符号化を行う符号化手段においてパリティを付加する単位の分布を設定する設定手段を備えており、第1の符号化手段又は第2の符号化手段のうち、パリティ検査符号化を行う符号化手段は、設定手段による設定内容に応じて、入力されたデータに対してパリティを付加する単位を変化させるものであることを特徴としている。
【0027】
このような本発明にかかる復号装置は、符号化機器が備える第1の符号化手段又は第2の符号化手段のうち、少なくとも一方の符号化手段によって、パリティ検査符号化がなされた符号を復号する。
【0028】
さらにまた、上述した目的を達成する本発明にかかる復号方法は、入力されたデータに対して第1の符号の符号化を行う第1の符号化工程と、第1の符号化工程にて符号化されたデータを構成する各ビットの順序を置換して並べ替える第1の置換工程と、第1の置換工程にて並べ替えられたデータに対して第2の符号の符号化を行う第2の符号化工程とを備え、第1の符号化工程又は第2の符号化工程のうち、少なくとも一方の符号化工程では、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行う符号化方法により縦列連接符号化された符号の復号を行う復号方法であって、第2の符号化工程に対応して備えられ、入力された軟入力である受信値と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第1の軟出力復号工程と、第1の置換工程にて並べ替えられたデータのビット配列を、第1の符号化工程にて符号化されたデータのビット配列に戻すように、入力された軟入力のデータを並べ替える逆置換工程と、逆置換工程にて並べ替えられたデータのクロックレートを変換する第1のレート変換工程と、第1の符号化工程に対応して備えられ、入力された軟入力である符号ビットに対する事前確率情報と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第2の軟出力復号工程と、第2の軟出力復号工程にて生成されたデータのクロックレートを変換する第2のレート変換工程と、第1の置換工程と同一の置換位置情報に基づいて、入力された軟入力のデータを構成する各ビットの順序を置換して並べ替える第2の置換工程とを備え、第1の軟出力復号工程では、情報ビットに対する事前確率情報として、第2の置換工程にて並べ替えられた軟入力のデータを入力することを特徴としている。
また、上述した目的を達成する本発明にかかる復号方法は、入力されたデータに対して第1の符号の符号化を行う第1の符号化工程と、第1の符号化工程にて符号化されたデータを構成する各ビットの順序を置換して並べ替える第1の置換工程と、第1の置換工程にて並べ替えられたデータに対して第2の符号の符号化を行う第2の符号化工程とを備え、第1の符号化工程又は上記第2の符号化工程のうち、少なくとも一方の符号化工程では、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行う符号化方法により縦列連接符号化された符号の復号を行う復号方法であって、第2の符号化工程に対応して備えられ、入力された軟入力である受信値と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第1の軟出力復号工程と、第1の置換工程にて並べ替えられたデータのビット配列を、第1の符号化工程にて符号化されたデータのビット配列に戻すように、入力された軟入力のデータを並べ替える逆置換工程と、第1の符号化工程に対応して備えられ、入力された軟入力である符号ビットに対する事前確率情報と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第2の軟出力復号工程と、第1の置換工程と同一の置換位置情報に基づいて、入力された軟入力のデータを構成する各ビットの順序を置換して並べ替える第2の置換工程とを備え、第1の軟出力復号工程では、情報ビットに対する事前確率情報として、第2の置換工程にて並べ替えられた軟入力のデータを入力し、第1の符号化工程又は第2の符号化工程のうち、パリティ検査符号化を行う符号化工程では、パリティを付加する単位の分布が設定され、この設定内容に応じて、入力されたデータに対してパリティを付加する単位を変化させていることを特徴としている。
【0029】
このような本発明にかかる復号方法は、符号化方法が備える第1の符号化工程又は第2の符号化工程のうち、少なくとも一方の符号化工程にて、パリティ検査符号化がなされた符号を復号する。
【0030】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
【0031】
この実施の形態は、図1に示すように、ディジタル情報を図示しない送信装置が備える符号化装置1により符号化し、その出力を雑音のある無記憶通信路2を介して図示しない受信装置に入力して、この受信装置が備える復号装置3により復号する通信モデルに適用したデータ送受信システムである。
【0032】
まず、第1の実施の形態として示すデータ送受信システムについて説明する。
【0033】
このデータ送受信システムにおいて、符号化装置1は、縦列連接符号化の1種であるRA(Repeat-Accumulate)符号における繰り返し符号化器の代わりに、所定の単位の情報に対して1ビットのパリティを付加するパリティ検査符号化器を少なくとも備えるものである。以下では、この符号化装置1における符号をPA(Parity-check-Accumulate)符号と称するものとする。また、復号装置3は、符号化装置1による符号の復号を行うものである。
【0034】
符号化装置1は、図2に示すように、第1の符号(以下、外符号と記す。)の符号化として入力したデータに対して所定の単位毎に1ビットのパリティを付加する(第1の)符号化手段であるパリティ検査符号化器10と、入力したデータの順序を並べ替える(第1の)置換手段であるインターリーバ20と、第2の符号(以下、内符号と記す。)の符号化として累積加算による畳み込み符号化を行う(第2の)符号化手段であるアキュムレータ30とを備える。この符号化装置1は、入力したkビットの入力データD1に対して、符号化率が“k/(k+1)”の符号化を行い、k+1ビットの符号化データD4に変換し、図示しない変調器等を介して外部に出力する。
【0035】
パリティ検査符号化器10は、入力データD1を入力すると、この入力データD1に対してkビット単位で1ビットのパリティを付加し、k+1ビットの符号化データD2として後段のインターリーバ20に出力する。すなわち、パリティ検査符号化器10は、外符号の符号化として符号化率が“k/(k+1)”のパリティ検査符号化を行い、符号化データD2を後段のインターリーバ20に出力する。
【0036】
インターリーバ20は、パリティ検査符号化器10から出力されたk+1ビットの符号化データD2を入力し、所定の長さNのインターリーブを施す。インターリーバ20は、図3に示すように、入力したデータを保持する入力データ保持メモリ21と、入力したデータの順序の並べ替え(置換)を行うデータ置換回路22と、データの置換位置情報を生成する置換データ生成部23と、出力するデータを保持する出力データ保持メモリ24とを有する。
【0037】
入力データ保持メモリ21は、パリティ検査符号化器10から出力されたk+1ビットの符号化データD2を入力して保持し、この符号化データD2を所定のタイミングでデータ置換回路22に供給する。
【0038】
データ置換回路22は、置換データ生成部23により生成されたデータの置換位置情報に基づいて、入力データ保持メモリ21から供給された符号化データD2の順序の並べ替えを行う。データ置換回路22は、並べ替えたデータを出力データ保持メモリ24に供給する。
【0039】
置換データ生成部23は、例えば、図示しないROM(Read Only Memory)等を有しており、発生した乱数等に基づいてデータの置換位置情報を生成し、この置換位置情報をROMに格納する。置換データ生成部23により生成されて格納されている置換位置情報は、随時データ置換回路22により読み出される。
【0040】
出力データ保持メモリ24は、データ置換回路22から供給されるデータを保持し、これらのデータをk+1ビットのインターリーブデータD3として、所定のタイミングで後段のアキュムレータ30に出力する。
【0041】
このようなインターリーバ20は、パリティ検査符号化器10から出力された符号化データD2に長さNのインターリーブを施し、後段のアキュムレータ30に出力する。
【0042】
より具体的には、入力データ保持メモリ21は、パリティ検査符号化器10から出力された符号化データD2を順次入力して保持する。そして、入力データ保持メモリ21は、所定のタイミングで、例えば、符号化データD2を構成する各ビットを順次保持し、Nビット(Nは任意の自然数)からなるビット系列が生成されたタイミングで、保持しているデータをデータ置換回路22に供給する。
【0043】
続いて、データ置換回路22は、置換データ生成部23により生成された置換位置情報に基づいて、入力データ保持メモリ21から供給されたビット系列を構成するN個の各ビットの順序を並べ替える。データ置換回路22は、並べ替えにより得られた新たなビット系列を出力データ保持メモリ24に供給する。
【0044】
そして、出力データ保持メモリ24は、データ置換回路22から供給されたビット系列を構成する各ビットを保持し、保持したデータをインターリーブデータD3として、所定のタイミングで後段のアキュムレータ30に出力する。
【0045】
このように、インターリーバ20は、パリティ検査符号化器10から出力されたk+1ビットの符号化データD2を入力し、この符号化データD2を構成する各ビットの順序を予め格納している置換位置情報に基づいて並べ替え、k+1ビットのインターリーブデータD3を生成する。したがって、符号化装置1においては、NシンボルのインターリーブデータD3の中に、パリティ検査符号化器10から出力されたN/(k+1)個の符号語が存在することになる。
【0046】
アキュムレータ30は、例えば図4に示すように、1つの排他的論理和回路31と、1つのシフトレジスタ32とを有するものが考えられる。
【0047】
排他的論理和回路31は、k+1ビットのインターリーブデータD3を構成する各ビットと、シフトレジスタ32から供給されるデータとを用いて排他的論理和演算を行い、演算結果を符号化データD4として外部に出力するとともに、シフトレジスタ32に供給する。
【0048】
シフトレジスタ32は、保持している1ビットのデータを排他的論理和回路31に供給し続ける。そして、シフトレジスタ32は、クロックに同期させて、排他的論理和回路31から供給される1ビットのデータを新たに保持し、このデータを排他的論理和回路31に新たに供給する。
【0049】
このようなアキュムレータ30は、k+1ビットのインターリーブデータD3を入力すると、このインターリーブデータD3に対して再帰的畳み込み演算を行うことによって、順次入力されるインターリーブデータD3の各ビットを累積加算し、演算結果をk+1ビットの符号化データD4として外部に出力する。
【0050】
ここで、このアキュムレータ30における状態遷移図であるトレリスを記述すると、図5に示すようになる。同図において、破線で示すパスは、インターリーブデータD3として入力されるビットが“0”の場合を示し、実線で示すパスは、インターリーブデータD3として入力されるビットが“1”の場合を示している。また、各パスに付与されているラベルは、符号化データD4として出力されるビットを示している。ここでは、ステートは、シフトレジスタ32の内容で表され、“0”、“1”のステートを、それぞれ、ステートS0、ステートS1と称している。このように、アキュムレータ30におけるステート数は2となり、トレリスは、各ステートから次時刻におけるステートへと2本のパスが到達する構造を有する。
【0051】
このようなアキュムレータ30は、内符号の符号化として符号化率が“1”の再帰的畳み込み演算を行い、符号化データD4を外部に出力する。
【0052】
このような符号化装置1は、パリティ検査符号化器10により外符号の符号化として符号化率が“k/(k+1)”のパリティ検査符号化を行い、アキュムレータ30により内符号の符号化として符号化率が“1”の再帰的畳み込み演算を行うことによって、全体として、符号化率が“k/(k+1)×1=k/(k+1)”の符号による縦列連接符号化を行う。この符号化装置1により符号化されたデータは、図示しない変調器により所定の変調方式に基づいて信号点のマッピングが行われ、無記憶通信路2を介して受信装置に出力される。
【0053】
このように、符号化装置1は、従来のRA符号における繰り返し符号の代わりに、パリティ検査符号を用いることによって、従来のRA符号であれば符号化率が最大でも“1/2”にしかならないところを、パリティを付加する単位kをk≧2とすることによって、符号化率を“1/2”よりも大きくすることができる。したがって、符号化装置1は、所望の高い符号化率の下に、高性能の符号化を行うことができる。
【0054】
一方、復号装置3は、図6に示すように、いわゆる繰り返し復号を行うものとして構成される。なお、ここでは、説明を簡略化するために、符号化装置1におけるパリティ検査符号化器10により符号化率が“2/3”の符号化を行うものに対応するものを示す。
【0055】
復号装置3は、同図に示すように、軟出力(soft-output)復号を行う第1の軟出力復号手段及び第2の軟出力復号手段である軟出力復号回路40,90と、入力したデータの順序を元に戻す逆置換手段であるデインターリーバ50と、入力したデータの順序を並べ替える第2の置換手段であるインターリーバ60と、クロックレートの変換等を行う第1のレート変換手段であるレート変換回路70と、同じくクロックレートの変換を行う第2のレート変換手段であるレート変換回路80と、入力したデータを2値化する2値化手段である2値化回路100とを備える。この復号装置3は、無記憶通信路2上で発生したノイズの影響によりアナログ値をとり軟入力(soft-input)とされる受信値D5から符号化装置1における入力データD1を推定し、復号データD13として出力する。
【0056】
軟出力復号回路40は、符号化装置1におけるアキュムレータ30に対応して備えられるものである。軟出力復号回路40は、アキュムレータ30におけるトレリス上の各ステートの通過確率やステート間を遷移する各枝の出力の受信確率に基づき、これらの確率を直接値として保持して演算を行う「Bahl, Cocke, Jelinek and Raviv, “Optimal decoding of linear codes for minimizing symbol error rate”, IEEE Trans. Inf. Theory, vol. IT-20, pp. 284-287, Mar. 1974」に記載されているBCJR(Bahl, Cocke, Jelinek and Raviv)アルゴリズムや、このBCJRアルゴリズムを改良し、確率を対数尤度表記して対数尤度の形式で扱う「Robertson, Villebrun and Hoeher, “A comparison of optimal and sub-optimal MAP decoding algorithms operating in the domain”, IEEE Int. Conf. on Communications, pp. 1009-1013, June 1995」に記載されているMax−Log−MAPアルゴリズム若しくはLog−MAPアルゴリズム(以下、Max−Log−BCJRアルゴリズム若しくはLog−BCJRアルゴリズムと称する。)に基づく最大事後確率(Maximum A Posteriori probability;以下、MAPと記す。)復号を行う。
【0057】
ここで、軟出力復号回路40は、例えば確率を自然対数を用いて対数尤度表記して対数尤度の形式で扱う場合には、図7に示すように、受信値D5を対数尤度表記した確率である確率対数尤度(log likelihood)に変換する変換器41と、MAP復号を行うMAP復号器42と、3つの差分器43,44,45とを有する。
【0058】
変換器41は、軟入力である受信値D5を入力すると、この受信値D5を確率対数尤度に変換する。変換器41は、例えば確率対数尤度として、確率の比の対数尤度表記である確率対数尤度比(log likelihood ratio)を扱う場合には、各受信値D5毎に確率対数尤度比を求める。変換器41は、変換して得られた確率対数尤度D14をMAP復号器42に供給する。
【0059】
MAP復号器42は、変換器41から供給された軟入力である確率対数尤度D14と、インターリーバ60から供給された軟入力である3ビットの情報ビットに対する事前確率情報(a priori probability information)D61,D62,D63とを入力してMAP復号を行い、確率対数尤度D14を元に3ビットの情報ビットに対する事後確率情報(a posteriori probability information)D151,D152,D153を生成する。MAP復号器42は、生成した事後確率情報D151を差分器43に供給するとともに、生成した事後確率情報D152を差分器44に供給するとともに、生成した事後確率情報D153を差分器45に供給する。
【0060】
差分器43は、軟入力とされる事後確率情報D151と軟入力とされる事前確率情報D61との差分値を求め、この差分値を符号の拘束条件により求まる3ビットの情報ビットに対する外部情報(extrinsic information)D7のうちの1ビットの外部情報D71として後段のデインターリーバ50に軟出力として供給する。
【0061】
差分器44は、軟入力とされる事後確率情報D152と軟入力とされる事前確率情報D62との差分値を求め、この差分値を符号の拘束条件により求まる3ビットの情報ビットに対する外部情報D7のうちの1ビットの外部情報D72として後段のデインターリーバ50に軟出力として供給する。
【0062】
差分器45は、軟入力とされる事後確率情報D153と軟入力とされる事前確率情報D63との差分値を求め、この差分値を符号の拘束条件により求まる3ビットの情報ビットに対する外部情報D7のうちの1ビットの外部情報D73として後段のデインターリーバ50に軟出力として供給する。
【0063】
このような軟出力復号回路40は、受信装置により受信された軟入力の受信語D5を入力するとともに、インターリーバ60から供給された軟入力の情報ビットに対する事前確率情報D6を入力し、これらの受信値D5と事前確率情報D6とを用いてMAP復号を行い、内符号、すなわち、符号化装置1におけるアキュムレータ30により符号化された符号の軟出力復号を行う。軟出力復号回路40は、符号の拘束条件により求められる外部情報D7を生成し、この外部情報D7を後段のデインターリーバ50に軟出力として供給する。
【0064】
具体的に説明するために、情報ビットをu、符号ビットをc、受信値D5をyとすると、軟出力復号回路40は、MAP復号器42に対して、受信語D5(y)とともに、次式(9)で表される事前確率情報D6(L(u))を入力する。
【0065】
【数9】

Figure 0004505953
【0066】
すなわち、軟出力復号回路40は、MAP復号器42に対して、受信語D5(y)と、情報ビットuが“1”である確率Pr{u=1}と情報ビットuが“0”である確率Pr{u=0}との比の自然対数で表される符号の拘束条件がない事前確率情報D6(L(u))とを入力する。
【0067】
続いて、軟出力復号回路40は、MAP復号器42によりMAP復号を行い、次式(10)で表される事後確率情報D15(L*(u))を生成する。
【0068】
【数10】
Figure 0004505953
【0069】
すなわち、軟出力復号回路40は、MAP復号器42によって、受信語D5(y)を受信した際に情報ビットuが“1”である確率Pr{u=1|y}と、受信語D5(y)を受信した際に情報ビットuが“0”である確率Pr{u=0|y}との比の自然対数で表される符号の拘束条件に基づく事後確率情報D15(L*(u))を生成する。なお、この事後確率情報D15(L*(u))は、ここでは、受信語D5(y)を受信した際の情報ビットuの尤度を示すものである。
【0070】
そして、軟出力復号回路40は、差分器43,44,45のそれぞれによって、次式(11)で表されるように、事後確率情報D15(L*(u))と事前確率情報D6(L(u))との差分値である外部情報D7(Le(u))を求める。
【0071】
【数11】
Figure 0004505953
【0072】
軟出力復号回路40は、このようにして外部情報D7を生成し、この外部情報D7を後段のデインターリーバ50に軟出力として出力する。なお、この外部情報D7は、符号化装置1におけるインターリーバ20によりインターリーブされたインターリーブデータD3に対応するものである。
【0073】
デインターリーバ50は、符号化装置1におけるインターリーバ20によりインターリーブされたインターリーブデータD3のビット配列を、それぞれ、元の符号化データD2のビット配列に戻すように、軟出力復号回路40から供給された軟入力の外部情報D7にデインターリーブを施す。デインターリーバ50は、デインターリーブして得られたデータD8を後段のレート変換回路70に供給する。
【0074】
インターリーバ60は、レート変換回路80から供給されたデータD12に対して、符号化装置1におけるインターリーバ20と同一の置換位置情報に基づいたインターリーブを施す。インターリーバ60は、インターリーブして得られたデータを軟出力復号回路40における情報ビットに対する事前確率情報D6として出力する。
【0075】
レート変換回路70は、軟出力復号回路40と軟出力復号回路90との動作速度の違いを吸収するために、デインターリーバ50から供給されたデータD8のクロックレートを変換する。具体的には、レート変換回路70は、図示しないメモリから構成され、例えば軟出力復号回路40の動作速度が軟出力復号回路90の動作速度の4倍であった場合には、入力したデータD8をメモリに保持することによって、クロックレートを1/4倍にするといったように、入力したデータD8を軟出力復号回路40と軟出力復号回路90との動作速度の違いに応じてメモリに保持することによって、クロックレートを変換する。レート変換回路70は、クロックレートの変換後のデータを後段の軟出力復号回路90における符号ビットに対する事前確率情報D9として出力する。
【0076】
レート変換回路80は、レート変換回路70と同様に、軟出力復号回路40と軟出力復号回路90との動作速度の違いを吸収するためのものであり、軟出力復号回路90から供給された軟入力である符号ビットに対する外部情報D11のクロックレートを変換する。レート変換回路80は、クロックレートの変換後のデータD12を後段のインターリーバ60に供給する。
【0077】
軟出力復号回路90は、符号化装置1におけるパリティ検査符号化器10に対応して備えられるものである。軟出力復号回路90は、データ変換回路70から出力された3ビットからなる軟入力の符号ビットに対する事前確率情報D9を入力するとともに、図示しないが、値が“0”である2ビットの情報ビットに対する事前確率情報を入力し、これらの事前確率情報を用いてMAP復号を行い、外符号、すなわち、符号化装置1におけるパリティ検査符号化器10により符号化された符号の軟出力復号を行う。実際には、軟出力復号回路90は、次のような動作を行うことによって、MAP復号を行う。ここでは、説明の簡略化のため、2元符号を例として説明する。すなわち、軟出力復号回路90は、符号化装置1におけるアキュムレータ30による符号から与えられる外部情報を事前確率情報とし、パリティ検査符号毎に事後確率情報を合計3ビットの各符号語シンボルに対して算出する。
【0078】
ここで、軟出力復号回路90は、事前確率情報D9を対数尤度表記して対数尤度の形式で扱う場合には、図8に示すように、演算手段である3つの演算回路91,92,93と、2つの加算器94,95とを有するものとして実現することができる。なお、演算回路91,92,93は、それぞれ、「Robert G. Gallager, “Low-density parity-check codes”, MIT Press, 1963」に記載されている演算を行うものであり、演算子を“$”と表すものとすると、変数A,B∈R→Rに対して、次式(12)及び次式(13)のように定義される演算を行うものである。なお、次式(12)及び次式(13)におけるlogは、ネピヤの数eを底とする自然対数を示している。
【0079】
【数12】
Figure 0004505953
【0080】
【数13】
Figure 0004505953
【0081】
演算回路91は、3ビットの事前確率情報D9のうち、2ビット目の事前確率情報D92と、3ビット目の事前確率情報D93とを用いて、演算子“$”で表される演算を行い、得られた結果を加算器94に供給するとともに、3ビットの符号ビットに対する外部情報D11のうちの1ビット目の外部情報D111として、レート変換回路80に軟出力として供給する。
【0082】
演算回路92は、3ビットの事前確率情報D9のうち、1ビット目の事前確率情報D91と、3ビット目の事前確率情報D93とを用いて、演算子“$”で表される演算を行い、得られた結果を加算器95に供給するとともに、3ビットの符号ビットに対する外部情報D11のうちの2ビット目の外部情報D112として、レート変換回路80に軟出力として供給する。
【0083】
演算回路93は、3ビットの事前確率情報D9のうち、1ビット目の事前確率情報D91と、2ビット目の事前確率情報D92とを用いて、演算子“$”で表される演算を行い、得られた結果を3ビットの符号ビットに対する外部情報D11のうちの3ビット目の外部情報D113として、レート変換回路80に軟出力として供給する。
【0084】
加算器94は、図示しない値が“0”である情報ビットに対する事前確率情報と、事前確率情報D91と、演算回路91から供給される外部情報D111とを加算し、得られた結果を2ビットの情報ビットに対する外部情報D10のうちの1ビット目の外部情報D101として、後段の2値化回路100に軟出力として供給する。
【0085】
加算器95は、図示しない値が“0”である情報ビットに対する事前確率情報と、事前確率情報D92と、演算回路92から供給される外部情報D112とを加算し、得られた結果を2ビットの情報ビットに対する外部情報D10のうちの2ビット目の外部情報D102として、後段の2値化回路100に軟出力として供給する。
【0086】
このような軟出力復号回路90は、図示しない値が“0”である情報ビットに対する事前確率情報と、レート変換回路70から供給された軟入力の事前確率情報D9とを入力し、これらの事前確率情報を用いてMAP復号を行うことによって、符号の拘束条件により求められる外部情報D10,D11を生成し、外部情報D10を2値化回路100に軟出力として供給するとともに、外部情報D11をレート変換回路80に軟出力として供給する。
【0087】
すなわち、軟出力復号回路90は、生成する符号ビットに対する外部情報の各ビットとして、レート変換回路70から供給された軟入力の事前確率情報のうち、自己のビットに対応する入力以外のビットとの間で演算子“$”で表される演算を行い、生成する情報ビットに対する外部情報として、レート変換回路70から供給された軟入力の事前確率情報のうち、自己のビットに対応する入力以外のビットとの間で行われた演算子“$”で表される演算の結果と、自己のビットに対応する入力と、値が“0”である情報ビットに対する事前確率情報とを加算する。換言すれば、外符号の軟出力復号を行う軟出力復号回路は、情報ビットに対する事前確率情報を“APP”とし、符号ビットに対する事前確率情報を“Rk”とすると、符号化装置1においてパリティを付加する単位に応じて、次式(14)に示す演算を行い、符号ビットに対する外部情報(EX)を生成し、次式(15)に示す演算を行い、情報ビットに対する外部情報(DEC)を生成する。
【0088】
【数14】
Figure 0004505953
【0089】
【数15】
Figure 0004505953
【0090】
ところで、上述した演算子“$”については、次式(16)に示す定理が成立する。ただし、次式(16)における関数fは、正数xを変数として、次式(17)で表される。
【0091】
【数16】
Figure 0004505953
【0092】
【数17】
Figure 0004505953
【0093】
なお、上式(16)における“sgn”は、変数Aiの符号であり、“|Ai|”は、変数Aiの絶対値を示している。
【0094】
このように、演算子“$”で表される演算は、関数fによる変換と加算とにより実現することができる。ここで、関数fは、図9に示すように、第1象限で与えられ、変数xの増加にともない0に漸近する減少関数であり、変数xとの関係を例えばROM等にテーブルとして予め記憶させておいたり、変数xとの関係をいわゆる線形近似又は閾値近似等により近似するといったように、各種方法により実装することができる。また、関数fは、変数Aiを符号と絶対値との組み合わせ(signed magnitude形式)で例えばRAM(Random Access Memory)等に保持することによって、計算量の少ないより簡便な実装とすることも可能である。
【0095】
このことから、演算回路91,92,93は、それぞれ、上述した関数fと変数xとの関係を、図示しないROMに記憶されたテーブルを参照することにより求め、上式(16)に示した演算を行うものであってもよく、若しくは、関数fと変数xとの関係を、線形近似又は閾値近似等により近似する構成であってもよい。また、演算回路91,92,93は、それぞれ、図示しないRAMに保持された関数fにおける変数Aiの符号と絶対値との組み合わせを用いて、上式(16)に示した演算を行うものであってもよい。
【0096】
2値化回路100は、軟出力復号回路90から供給された外部情報D10を2値化し、硬出力(hard-output)の復号データD13として出力する。
【0097】
このような復号装置3は、符号化装置1におけるアキュムレータ30及びパリティ検査符号化器10のそれぞれに対応する軟出力復号回路40,90を備えることによって、復号複雑度が高い符号を複雑度の小さい要素に分解し、軟出力復号回路40,90の間の相互作用により特性を逐次的に向上させることができる。復号装置3は、受信値D5を入力すると、軟出力復号回路40乃至軟出力復号回路90の復号動作を例えば数回乃至数十回といった所定の回数だけ反復して行い、所定の回数の復号動作の結果得られた軟出力の外部情報D10に基づいて、復号データD13を出力する。
【0098】
このように、復号装置3は、符号化装置1により符号化されたPA符号を繰り返し復号により高精度に復号することができる。
【0099】
つぎに、第2の実施の形態として示すデータ送受信システムについて図10乃至図15を用いて説明する。
【0100】
このデータ送受信システムは、上述した符号化装置1の代わりに、図10に示す符号化装置1’を備え、この符号化装置1’により符号化された符号を後述する復号装置3’により復号するものである。このデータ送受信システムにおいて、符号化装置1’は、上述したPA符号による符号化をさらに改良し、パリティを付加する情報の単位を任意の分布にしたがって変化させるものである。
【0101】
なお、図10に示す符号化装置1’は、基本構成を図2に示した符号化装置1と同様とし、設定器110を備えたことに特徴を有している。したがって、先に図2に示した符号化装置1と同様の構成については同一符号を付して詳細な説明を省略する。
【0102】
符号化装置1’は、図10に示すように、上述したインターリーバ20と、アキュムレータ30との他に、パリティ検査符号化器10’と、パリティ検査符号化器10’においてパリティを付加する情報の単位の分布を設定する設定手段である設定器110とを備える。
【0103】
パリティ検査符号化器10’は、上述したパリティ検査符号化器10と同様に、入力したデータに対して所定のビット単位で1ビットのパリティを付加する。具体的には、パリティ検査符号化器10’は、入力データD1を入力すると、設定器110から供給される制御信号Sに基づいて、入力データD1に対して所定のビット単位で1ビットのパリティを付加し、符号化データD2として後段のインターリーバ20に出力する。ここで、パリティを付加する単位は、設定器110から供給される制御信号Sに応じて変化する。この単位については、後に詳述する。
【0104】
設定器110は、パリティ検査符号化器10’においてパリティを付加する単位の分布を設定し、設定内容を示す制御信号Sをパリティ検査符号化器10’に供給する。設定器110は、具体的には、符号化データD2のビット総数に対して、入力データD1のiビット単位で1ビットのパリティを付加する比率をλiとすると、次式(18)及び次式(19)を満足するように、入力データD1に対してパリティを付加する単位の分布を設定する。
【0105】
【数18】
Figure 0004505953
【0106】
【数19】
Figure 0004505953
【0107】
より具体的に説明するために、パリティ検査符号化器10’により符号化率Rが“4/5”の符号化を行う場合を考える。ここで、例えば図11(A)に示すように、パリティ検査符号化器10’により生成される符号化データD2の総ビット数を50000ビットとすると、入力データD1の総ビット数は、符号化率Rが“4/5”であることから、同図(B)に示すように、40000ビットとなる。
【0108】
このとき、パリティ検査符号化器10’は、i=3ビット単位で1ビットのパリティを付加する符号化と、i=5ビット単位で1ビットのパリティを付加する符号化とを行うものとすると、同図(A)に示すように、50000ビットの符号化データD2のうち、2/5のビット、すなわち、20000ビットを3ビット単位でパリティ検査符号化して生成するとともに、残りの3/5のビット、すなわち、30000ビットを5ビット単位でパリティ検査符号化して生成すればよい。
【0109】
ここで、同図(B)に示すように、符号化データD2のうちの20000ビットを3ビット単位でパリティ検査符号化して生成するには、入力データD1のうちの20000×3/(3+1)=15000ビットを必要とし、符号化データD2のうちの30000ビットを5ビット単位でパリティ検査符号化して生成するには、入力データD1のうちの30000×5/(5+1)=25000ビットを必要とすることになる。
【0110】
したがって、設定器110は、パリティ検査符号化器10’に対して、40000ビットの入力データD1のうち、15000ビットを3ビット単位でパリティ検査符号化するとともに、25000ビットを5ビット単位でパリティ検査符号化する旨を示す制御信号Sを供給する。
【0111】
このように、設定器110は、入力データD1の総ビット数、パリティ検査符号化器10’で行わせるべき符号化の符号化率及びパリティを付加する単位に応じて、入力データD1に対してパリティを付加する単位の分布を設定し、その設定内容を示す制御信号Sをパリティ検査符号化器10’に供給する。
【0112】
なお、パリティを付加する単位の分布は、入力データD1の総ビットに対して任意であってよく、例えば、図11の例の場合には、入力データD1の最初の15000ビットを3ビット単位でパリティ検査符号化し、残りの25000ビットを5ビット単位でパリティ検査符号化してもよく、その他の組み合わせであってもよい。
【0113】
このような符号化装置1’は、パリティ検査符号化器10’により外符号の符号化として符号化率が任意の“R(<1)”のパリティ検査符号化を行い、アキュムレータ30により内符号の符号化として符号化率が“1”の再帰的畳み込み演算を行うことによって、全体として、符号化率が“R×1=R”の符号による縦列連接符号化を行う。この符号化装置1により符号化されたデータは、図示しない変調器により所定の変調方式に基づいて信号点のマッピングが行われ、無記憶通信路2を介して受信装置に出力される。
【0114】
このように、符号化装置1’は、パリティ検査符号化器10’においてパリティを付加する単位を任意の分布にしたがって変化させることによって、第1の実施の形態として示したPA符号であれば符号化率に応じて一意に決定されるパリティ付加の単位を、入力データD1の任意の単位毎に異なるものとすることができることから、符号化率を“1”に近い所望の値とすることができ、この所望の高い符号化率の下に、より高性能の符号化を行うことができる。設定器110により設定されるパリティ付加の単位の分布を決定する方法としては、種々のものが考えられ、例えば、通常のPA符号の場合からパリティ付加の単位の分布を変化させていき、最適な性能が得られる分布を探索するようにしてもよい。
【0115】
一方、復号装置3’は、図12に示すように、いわゆる繰り返し復号を行うものとして構成される。なお、ここでは、説明を簡略化するために、符号化装置1’におけるパリティ検査符号化器10’によって、i=3ビット単位で1ビットのパリティを付加する符号化と、i=5ビット単位で1ビットのパリティを付加する符号化とを行い、符号化率が“4/5”の符号化を行うものに対応するものを示す。
【0116】
また、同図に示す復号装置3’は、基本構成を図6に示した復号装置3と同様とし、符号化装置1’におけるパリティ検査符号化器10’によるパリティを付加する単位に応じた複数の軟出力復号回路を備えたことに特徴を有している。したがって、先に図6に示した復号装置3と同様の構成については同一符号を付して詳細な説明を省略する。
【0117】
復号装置3’は、図12に示すように、上述した軟出力復号回路40と、デインターリーバ50と、インターリーバ60と、2値化回路100との他に、クロックレートの変換等を行う第1のレート変換手段及び分配手段であるレート変換回路70’と、同じくクロックレートの変換を行う第2のレート変換手段であるレート変換回路80’と、パリティ検査符号化器10’によるパリティを付加する単位に応じた軟出力復号を行う第2の軟出力復号手段である2つの軟出力復号回路901,902と、これらの軟出力復号回路901,902から供給されたデータを切り換えて出力するための切換スイッチ120とを備える。この復号装置3’は、無記憶通信路2上で発生したノイズの影響によりアナログ値をとり軟入力とされる受信値D5から符号化装置1’における入力データD1を推定し、復号データD23として出力する。
【0118】
レート変換回路70’は、軟出力復号回路40と軟出力復号回路901,902との動作速度の違いを吸収するために、デインターリーバ50から供給されたデータD8のクロックレートを変換する。また、レート変換回路70’は、クロックレートの変換後のデータを後段の軟出力復号器901,902に分配する機能も併せて備える。
【0119】
具体的には、レート変換回路70’は、図13に示すように、クロックレートを変換させるためにデータD8を保持するメモリ71と、後述する切換スイッチ73の動作を制御する制御部72と、メモリ71から供給されたクロックレートが変換されたデータを選択する切換スイッチ73と、この切換スイッチ73により選択されたデータをラッチする10個のラッチ741,742,743,744,745,746,747,748,749,7410とを有する。
【0120】
このようなレート変換回路70’は、例えば軟出力復号回路40の動作速度が軟出力復号回路901,902の動作速度の4倍であった場合には、入力したデータD8をメモリ71に保持することによって、クロックレートを1/4倍にするといったように、入力したデータD8を軟出力復号回路40と軟出力復号回路901,902との動作速度の違いに応じてメモリ71に保持することによって、クロックレートを変換する。続いて、レート変換回路70’は、制御部72によって、メモリ71に保持されているデータが、符号化装置1’におけるパリティ検査符号化器10’によりiビット単位でパリティが付加されて生成されたi+1個のビットのうち、どのビットに相当するかを判別し、この制御部72の制御の下に切換スイッチ73を動作させ、メモリ71から供給されたデータを各ラッチ741,742,743,744,745,746,747,748,749,7410に分配する。そして、レート変換回路70’は、パリティ検査符号化器10’におけるパリティを付加する単位がi=3の場合には、ラッチ741,742,743,744のそれぞれによって、4ビットのデータを1ビットずつラッチし、各ビットを後段の軟出力復号回路901における符号ビットに対する事前確率情報D161,D162,D163,D164として出力する。また、レート変換回路70’は、パリティ検査符号化器10’におけるパリティを付加する単位がi=5の場合には、ラッチ745,746,747,748,749,7410のそれぞれによって、6ビットのデータを1ビットずつラッチし、各ビットを後段の軟出力復号回路902における符号ビットに対する事前確率情報D171,D172,D173,D174,D175,D176として出力する。
【0121】
レート変換回路80’は、レート変換回路70’と同様に、軟出力復号回路40と軟出力復号回路901,902との動作速度の違いを吸収するためのものであり、軟出力復号回路901から供給された軟入力である符号ビットに対する外部情報D19又は軟出力復号回路902から供給された軟入力である符号ビットに対する外部情報D21のクロックレートを変換する。レート変換回路80’は、クロックレートの変換後のデータD12を後段のインターリーバ60に供給する。
【0122】
軟出力復号回路901は、符号化装置1におけるパリティ検査符号化器10’に対応して備えられるものであり、i=3ビット単位で1ビットのパリティを付加してパリティ検査符号化された符号を復号するものである。軟出力復号回路901は、データ変換回路70’から出力された軟入力の符号ビットに対する事前確率情報D16を入力するとともに、図示しないが、値が“0”である情報ビットに対する事前確率情報を入力し、これらの事前確率情報を用いてMAP復号を行い、外符号の軟出力復号を行う。
【0123】
ここで、軟出力復号回路901は、事前確率情報D16を対数尤度表記して対数尤度の形式で扱う場合には、図14に示すように、演算手段である4つの演算回路911,921,931,941と、3つの加算器951,961,971とを有するものとして実現することができる。なお、演算回路911,921,931,941は、それぞれ、上式(12)及び上式(13)のように定義される演算を行うものである。
【0124】
演算回路911は、4ビットの事前確率情報D16のうち、2ビット目の事前確率情報D162と、3ビット目の事前確率情報D163と、4ビット目の事前確率情報D164とを用いて、演算子“$”で表される演算を行い、得られた結果を加算器951に供給するとともに、4ビットの符号ビットに対する外部情報D19のうちの1ビット目の外部情報D191として、レート変換回路80’に軟出力として供給する。
【0125】
演算回路921は、4ビットの事前確率情報D16のうち、1ビット目の事前確率情報D161と、3ビット目の事前確率情報D163と、4ビット目の事前確率情報D164とを用いて、演算子“$”で表される演算を行い、得られた結果を加算器961に供給するとともに、4ビットの符号ビットに対する外部情報D19のうちの2ビット目の外部情報D192として、レート変換回路80’に軟出力として供給する。
【0126】
演算回路931は、4ビットの事前確率情報D16のうち、1ビット目の事前確率情報D161と、2ビット目の事前確率情報D162と、4ビット目の事前確率情報D164とを用いて、演算子“$”で表される演算を行い、得られた結果を加算器971に供給するとともに、4ビットの符号ビットに対する外部情報D19のうちの3ビット目の外部情報D193として、レート変換回路80’に軟出力として供給する。
【0127】
演算回路941は、4ビットの事前確率情報D16のうち、1ビット目の事前確率情報D161と、2ビット目の事前確率情報D162と、3ビット目の事前確率情報D163とを用いて、演算子“$”で表される演算を行い、得られた結果を4ビットの符号ビットに対する外部情報D19のうちの4ビット目の外部情報D194として、レート変換回路80’に軟出力として供給する。
【0128】
加算器951は、図示しない値が“0”である情報ビットに対する事前確率情報と、事前確率情報D161と、演算回路911から供給される外部情報D191とを加算し、得られた結果を3ビットの情報ビットに対する外部情報D18のうちの1ビット目の外部情報D181として、被選択端子aに軟出力として供給する。
【0129】
加算器961は、図示しない値が“0”である情報ビットに対する事前確率情報と、事前確率情報D162と、演算回路921から供給される外部情報D192とを加算し、得られた結果を3ビットの情報ビットに対する外部情報D18のうちの2ビット目の外部情報D182として、被選択端子aに軟出力として供給する。
【0130】
このような軟出力復号回路901は、図示しない値が“0”である情報ビットに対する事前確率情報と、レート変換回路70’から供給された軟入力の事前確率情報D16とを入力し、これらの事前確率情報を用いてMAP復号を行うことによって、符号の拘束条件により求められる外部情報D18,D19を生成し、外部情報D18を被選択端子aに軟出力として供給するとともに、外部情報D19をレート変換回路80’に軟出力として供給する。
【0131】
軟出力復号回路902は、符号化装置1におけるパリティ検査符号化器10’に対応して備えられるものであり、i=5ビット単位で1ビットのパリティを付加してパリティ検査符号化された符号を復号するものである。軟出力復号回路902は、データ変換回路70’から出力された軟入力の符号ビットに対する事前確率情報D17を入力するとともに、図示しないが、値が“0”である情報ビットに対する事前確率情報を入力し、これらの事前確率情報を用いてMAP復号を行い、外符号の軟出力復号を行う。
【0132】
ここで、軟出力復号回路902は、事前確率情報D17を対数尤度表記して対数尤度の形式で扱う場合には、図15に示すように、演算手段である6つの演算回路912,922,932,942,952,962と、5つの加算器971,981,991,1001,1011とを有するものとして実現することができる。なお、演算回路912,922,932,942,952,962は、それぞれ、上式(12)及び上式(13)のように定義される演算を行うものである。
【0133】
演算回路912は、6ビットの事前確率情報D17のうち、2ビット目の事前確率情報D172と、3ビット目の事前確率情報D173と、4ビット目の事前確率情報D174と、5ビット目の事前確率情報D175と、6ビット目の事前確率情報D176とを用いて、演算子“$”で表される演算を行い、得られた結果を加算器972に供給するとともに、6ビットの符号ビットに対する外部情報D21のうちの1ビット目の外部情報D211として、レート変換回路80’に軟出力として供給する。
【0134】
演算回路922は、6ビットの事前確率情報D17のうち、1ビット目の事前確率情報D171と、3ビット目の事前確率情報D173と、4ビット目の事前確率情報D174と、5ビット目の事前確率情報D175と、6ビット目の事前確率情報D176とを用いて、演算子“$”で表される演算を行い、得られた結果を加算器982に供給するとともに、6ビットの符号ビットに対する外部情報D21のうちの2ビット目の外部情報D212として、レート変換回路80’に軟出力として供給する。
【0135】
演算回路932は、6ビットの事前確率情報D17のうち、1ビット目の事前確率情報D171と、2ビット目の事前確率情報D172と、4ビット目の事前確率情報D174と、5ビット目の事前確率情報D175と、6ビット目の事前確率情報D176とを用いて、演算子“$”で表される演算を行い、得られた結果を加算器992に供給するとともに、6ビットの符号ビットに対する外部情報D21のうちの3ビット目の外部情報D213として、レート変換回路80’に軟出力として供給する。
【0136】
演算回路942は、6ビットの事前確率情報D17のうち、1ビット目の事前確率情報D171と、2ビット目の事前確率情報D172と、3ビット目の事前確率情報D173と、5ビット目の事前確率情報D175と、6ビット目の事前確率情報D176とを用いて、演算子“$”で表される演算を行い、得られた結果を加算器1002に供給するとともに、6ビットの符号ビットに対する外部情報D21のうちの4ビット目の外部情報D214として、レート変換回路80’に軟出力として供給する。
【0137】
演算回路952は、6ビットの事前確率情報D17のうち、1ビット目の事前確率情報D171と、2ビット目の事前確率情報D172と、3ビット目の事前確率情報D173と、4ビット目の事前確率情報D174と、6ビット目の事前確率情報D176とを用いて、演算子“$”で表される演算を行い、得られた結果を加算器1012に供給するとともに、6ビットの符号ビットに対する外部情報D21のうちの5ビット目の外部情報D215として、レート変換回路80’に軟出力として供給する。
【0138】
演算回路962は、6ビットの事前確率情報D17のうち、1ビット目の事前確率情報D171と、2ビット目の事前確率情報D172と、3ビット目の事前確率情報D173と、4ビット目の事前確率情報D174と、5ビット目の事前確率情報D175とを用いて、演算子“$”で表される演算を行い、得られた結果を6ビットの符号ビットに対する外部情報D21のうちの6ビット目の外部情報D216として、レート変換回路80’に軟出力として供給する。
【0139】
加算器972は、図示しない値が“0”である情報ビットに対する事前確率情報と、事前確率情報D171と、演算回路912から供給される外部情報D211とを加算し、得られた結果を5ビットの情報ビットに対する外部情報D20のうちの1ビット目の外部情報D201として、被選択端子bに軟出力として供給する。
【0140】
加算器982は、図示しない値が“0”である情報ビットに対する事前確率情報と、事前確率情報D172と、演算回路922から供給される外部情報D212とを加算し、得られた結果を5ビットの情報ビットに対する外部情報D20のうちの2ビット目の外部情報D202として、被選択端子bに軟出力として供給する。
【0141】
加算器992は、図示しない値が“0”である情報ビットに対する事前確率情報と、事前確率情報D173と、演算回路932から供給される外部情報D213とを加算し、得られた結果を5ビットの情報ビットに対する外部情報D20のうちの3ビット目の外部情報D203として、被選択端子bに軟出力として供給する。
【0142】
加算器1002は、図示しない値が“0”である情報ビットに対する事前確率情報と、事前確率情報D174と、演算回路942から供給される外部情報D214とを加算し、得られた結果を5ビットの情報ビットに対する外部情報D20のうちの4ビット目の外部情報D204として、被選択端子bに軟出力として供給する。
【0143】
加算器1012は、図示しない値が“0”である情報ビットに対する事前確率情報と、事前確率情報D175と、演算回路952から供給される外部情報D215とを加算し、得られた結果を5ビットの情報ビットに対する外部情報D20のうちの5ビット目の外部情報D205として、被選択端子bに軟出力として供給する。
【0144】
このような軟出力復号回路902は、図示しない値が“0”である情報ビットに対する事前確率情報と、レート変換回路70’から供給された軟入力の事前確率情報D17とを入力し、これらの事前確率情報を用いてMAP復号を行うことによって、符号の拘束条件により求められる外部情報D20,D21を生成し、外部情報D20を被選択端子bに軟出力として供給するとともに、外部情報D21をレート変換回路80’に軟出力として供給する。
【0145】
切換スイッチ120は、図示しない制御部の制御の下に動作し、軟出力復号回路901から出力された外部情報D18に基づいて復号データD23を出力する場合には、被選択端子aと接続し、外部情報D18を外部情報D22として2値化回路100に供給する。また、切換スイッチ120は、軟出力復号回路902から出力された外部情報D20に基づいて復号データD23を出力する場合には、被選択端子bと接続し、外部情報D20を外部情報D22として2値化回路100に供給する。
【0146】
このような復号装置3’は、受信値D5を入力すると、軟出力復号回路40乃至軟出力復号回路901,902の復号動作を例えば数回乃至数十回といった所定の回数だけ反復して行い、所定の回数の復号動作の結果得られた軟出力の外部情報D22に基づいて、復号データD23を出力する。
【0147】
このように、復号装置3’は、パリティを付加する単位が変化されたパリティ検査符号化器10’による符号を復号することができ、符号化装置1’により符号化された符号を繰り返し復号により高精度に復号することができる。
【0148】
以上説明したように、符号化装置と復号装置とを用いて構成されるデータ送受信システムは、符号化装置において、パリティ検査符号化器によるパリティ検査符号化を行うことによって、k/(k+1)で表される所望の高い符号化率の下に、高性能の符号化を行うことができ、復号装置において、パリティ検査符号化器による符号の復号を行うことができる。
【0149】
また、データ送受信システムは、符号化装置において、パリティ検査符号化器におけるパリティ付加の単位を任意の分布にしたがって変化させることによって、“1”に近い所望の高い符号化率の下に、より高性能の符号化を行うことができ、復号装置において、パリティ検査符号化器におけるパリティ付加の単位に応じた復号を行うことができる。
【0150】
すなわち、これらの符号化装置と復号装置とを用いて構成されるデータ送受信システムは、高性能の符号化及び復号システムを実現するものであり、ユーザに高い信頼性を提供することができるものである。
【0151】
なお、本発明は、上述した実施の形態に限定されるものではなく、例えば、符号化装置におけるアキュムレータとしては、図16に示すように、2つの排他的論理和回路311’,312’と、2つのシフトレジスタ321’,322’とを有するアキュムレータ30’といったように、ステート数が“2”以外のものであってもよい。
【0152】
また、上述した実施の形態では、符号化装置において、内符号の要素符号化器としてアキュムレータを備えるものとして説明したが、本発明は、必ずしもアキュムレータである必要はなく、任意の符号化を行う符号化器であっても適用可能である。
【0153】
さらに、上述した実施の形態では、符号化装置において、外符号の符号化を行う要素符号化器としてパリティ検査符号化器を備えるものとして説明したが、パリティ検査符号化器を内符号の符号化を行う要素符号化器として備えてもよい。
【0154】
すなわち、本発明は、少なくともパリティ検査符号化器を備える符号化装置であれば適用できるものである。勿論この場合には、復号装置としては、符号化装置に対応したものを用いることはいうまでもない。
【0155】
さらにまた、上述した第1の実施の形態では、復号装置における外符号の軟出力復号を行う軟出力復号回路として、符号化率が“2/3”の場合に対応するものを備えるものとして説明し、第2の実施の形態では、外符号の軟出力復号を行う軟出力復号回路として、パリティをi=3ビット単位で付加して符号化する場合に対応するものと、パリティをi=5ビット単位で付加して符号化する場合に対応するものとを備えるものとして説明したが、本発明は、符号化装置におけるパリティ付加の単位がいかなるものであっても適用できるものであり、それにともない、復号装置における軟出力復号回路も、パリティ検査符号化のパリティ付加の単位に応じた数及び構成とするだけで適用できるものである。
【0156】
また、上述した実施の形態では、復号装置における外符号の軟出力復号を行う軟出力復号回路として、パリティ検査符号化のパリティ付加の単位iを用いて“i+1”個の演算回路とi個の加算器とを有するものとして説明したが、本発明は、例えばこれらの演算回路及び加算器をそれぞれ共用するといったように、他の構成であってもよく、演算回路及び加算器をそれぞれ共用した場合には、回路規模の削減を図ることもできる。
【0157】
さらに、上述した実施の形態では、符号化装置におけるアキュムレータに対応する軟出力復号回路として、BCJRアルゴリズムや、Max−Log−BCJRアルゴリズム若しくはLog−BCJRアルゴリズムに基づくMAP復号を行うものについて説明したが、本発明は、例えばいわゆるSOVA(Soft Output Viterbi Algorithm)による復号を行うといったように、他の軟出力復号にも適用可能である。
【0158】
以下では、この具体例として、確率を対数尤度表記して対数尤度の形式で扱うBCJRアルゴリズムを改良した新規のアルゴリズムについて説明する。
【0159】
このアルゴリズムは、いわゆる時刻tにおける確率αt,βt,γt、及び軟出力λtを自然対数を用いて対数尤度表記した確率対数尤度Iαt,Iβt,Iγt、及び対数軟出力Iλtを求めるものであり、少なくとも各ステートにおける確率対数尤度Iαt,Iβtの値の差分値を用いて復号を行うものである。このアルゴリズムが適用される軟出力復号回路は、回路規模が削減され、処理の高速化を図ることができる。
【0160】
なお、以下では、対数尤度表記した確率対数尤度Iαt,Iβt,Iγtは、それぞれ、確率の比の対数尤度表記である確率対数尤度比であるものとして説明する。また、以下では、上述した符号化装置1におけるアキュムレータ30による符号を軟出力復号回路40により復号する場合について説明する。
【0161】
確率を対数尤度表記して対数尤度の形式で扱うBCJRアルゴリズムにおいては、mを時刻tにおけるステートとすると、確率対数尤度Iαt(m),Iβt(m)を算出する際に本質的に必要となるのは、確率対数尤度Iαt(m),Iβt(m)の値そのものではなく、確率対数尤度Iαt(m),Iβt(m)を各ステートにおける値の総和で正規化した場合の値、すなわち、各ステートにおける値の差分値である。
【0162】
そこで、軟出力復号回路40は、アキュムレータ30における2つのステートS0,S1に対する確率対数尤度Iαt(m),Iβt(m)の反復演算を行うのではなく、ステートS0,S1における値の差分値に着目して演算を行う。ここで、ステートS0における時刻tでの確率対数尤度Iαt(S0)を“Ut”と置き換え、ステートS1における時刻tでの確率対数尤度Iαt(S1)を“Vt”と置き換え、ステートS0における時刻tでの確率対数尤度Iβt(S0)を“Wt”と置き換え、ステートS1における時刻tでの確率対数尤度Iβt(S1)を“Zt”と置き換える。
【0163】
このとき、上述した事前確率情報D6に対応するものであり、インターリーブデータD3として入力されるビットが“1”である確率と“0”である確率との比の自然対数値である事前確率情報をAtとし、受信値D5のみから決定される符号化データD4の1シンボルの符号ビットに対する事後確率情報をytとすると、各ステートにおける確率対数尤度Iαt(m)、すなわち、確率対数尤度Ut,Vtは、それぞれ、次式(20)及び次式(21)で表される。なお、次式(20)及び次式(21)における演算子“#”は、いわゆるlog−sum演算を示すものであり、以下、log−sum演算は、演算子“#”により表すものとする。
【0164】
【数20】
Figure 0004505953
【0165】
【数21】
Figure 0004505953
【0166】
したがって、各ステートにおける確率対数尤度Iαt(m)の値の差分値、すなわち、確率対数尤度Ut,Vtの差分値Ut−Vtは、上述した演算子“$”を用いて次式(22)に示すように展開される。
【0167】
【数22】
Figure 0004505953
【0168】
一方、各ステートにおける確率対数尤度Iβt(m)、すなわち、確率対数尤度Wt,Ztは、それぞれ、事前確率情報At及び事後確率情報ytを用いて、次式(23)及び次式(24)で表される。
【0169】
【数23】
Figure 0004505953
【0170】
【数24】
Figure 0004505953
【0171】
したがって、各ステートにおける確率対数尤度Iβt(m)の値の差分値、すなわち、確率対数尤度Wt,Ztの差分値Wt−Ztは、次式(25)に示すように展開される。
【0172】
【数25】
Figure 0004505953
【0173】
このように、上式(22)及び上式(25)、すなわち、各ステートにおける確率対数尤度Iαt(m),Iβt(m)の値の差分値は、ともに、演算子“$”で与えられる演算と加算とを用いて表現することができる。
【0174】
したがって、対数軟出力Iλtは、確率対数尤度Ut,Vt,Wt,Zt、事前確率情報At及び事後確率情報ytを用いて、次式(26)で表される。
【0175】
【数26】
Figure 0004505953
【0176】
この上式(26)において、演算子“$”で表される右辺第2項及び第3項は、上述した外部情報D7に対応する外部情報を示している。このように、上式(26)、すなわち、対数軟出力Iλtも、各ステートにおける確率対数尤度Iαt(m),Iβt(m)の値の差分値と同様に、演算子“$”で与えられる演算と加算とを用いて表現することができる。
【0177】
したがって、確率を対数尤度表記して対数尤度の形式で扱う通常のBCJRアルゴリズムにおいては、確率対数尤度Iα,Iβのそれぞれを求める反復演算を行う際に、ステート数分の値を保持する必要があったが、このアルゴリズムにおいては、差分値Ut−Vt,Wt−Ztを求めればよく、それぞれ、“ステート数−1”分の値を保持すればよい。
【0178】
また、このアルゴリズムにおいては、差分値を用いることから、通常のBCJRアルゴリズムのように、保持している値のオーバーフローを生じることがなく、正規化を行う必要がない。
【0179】
さらに、このアルゴリズムにおいては、log−sum演算を行う必要がないことにも注目すべきである。このアルゴリズムにおいては、差分値Ut−Vt,Wt−Zt及び対数軟出力Iλtを求める際に、演算子“$”で表される演算をそれぞれ1回ずつ行えばよい。
【0180】
さらにまた、演算子“$”で表される演算は、上式(16)及び上式(17)に示したように、関数fによる変換と加算とにより実現することができることから、計算量の少ないより簡便な実装とすることも可能である。
【0181】
以上の議論から、回路規模を削減することができ、処理の高速化を図ることができる軟出力復号回路40の実装が期待できる。
【0182】
さて、このようなアルゴリズムを実装する軟出力復号回路40は、図17乃至図19に示すような各部を備えるものとなる。ここで、図17には、軟出力復号回路40の各部のうち、確率対数尤度Iαtを算出する部分を示し、図18には、確率対数尤度Iβtを算出する部分を示し、図19には、対数軟出力Iλtを算出する部分を示している。
【0183】
なお、確率対数尤度Iγtは、事後確率情報ytと事前確率情報Atとにより決定されるものである。すなわち、確率対数尤度Iγtは、事後確率情報ytと事前確率情報Atとを用いて、事後確率情報yt毎に、すなわち、受信値毎に、符号の出力パターンと事後確率情報により決定される確率γの自然対数値である。換言すれば、軟出力復号回路40は、図20に示すマトリックスで表される確率対数尤度Iγtを算出することになる。
【0184】
図17に示す軟出力復号回路40は、確率対数尤度Iαtを算出するIα算出回路として、上述した演算子“$”で表される演算を行う演算手段である演算回路131と、加算器132と、データを保持するレジスタ133とを備える。
【0185】
演算回路131は、事前確率情報Atと、レジスタ133から供給された1時刻前の確率対数尤度の差分値Ut-1−Vt-1とを用いて、演算子“$”で表される演算を行う。演算回路131は、演算して得られたデータを加算器132に供給する。なお、この演算回路131は、上述した関数fと変数xとの関係を、図示しないROMに記憶されたテーブルを参照することにより求め、上式(16)に示した演算を行うものであってもよく、若しくは、関数fと変数xとの関係を、線形近似又は閾値近似等により近似する構成であってもよい。また、演算回路131は、図示しないRAMに保持された関数fにおける変数Aiの符号と絶対値との組み合わせを用いて、上式(16)に示した演算を行うものであってもよい。
【0186】
加算器132は、事後確率情報ytと、演算回路131から供給されたデータとを加算し、得られたデータをレジスタ133に供給する。
【0187】
レジスタ133は、加算器132から供給されたデータ、すなわち、確率対数尤度の差分値Ut−Vtを保持する。このレジスタ133に保持された確率対数尤度の差分値Ut−Vtは、図示しない記憶回路に供給される。
【0188】
また、軟出力復号回路40は、図18に示すように、確率対数尤度Iβtを算出するIβ算出回路として、加算器134と、演算子“$”で表される演算を行う演算手段である演算回路135と、レジスタ136とを備える。
【0189】
加算器134は、図示しない記憶回路から読み出された事後確率情報ytと、レジスタ136から供給された1時刻前の確率対数尤度の差分値Wt-1−Zt-1とを加算し、得られたデータを演算回路135に供給する。
【0190】
演算回路135は、図示しない記憶回路から読み出された事前確率情報Atと、加算器134から供給されたデータとを用いて、演算回路131と同様の演算を行う。演算回路135は、演算して得られたデータをレジスタ136に供給する。
【0191】
レジスタ136は、演算回路135から供給されたデータ、すなわち、確率対数尤度の差分値Wt−Ztを保持する。このレジスタ136に保持された確率対数尤度の差分値Wt−Ztは、図示しない記憶回路に供給される。
【0192】
このような軟出力復号回路40は、事前確率情報Atと事後確率情報ytとを用い、少なくとも各ステートにおける確率対数尤度Iαt,Iβtを変数の一部として、上式(22)及び上式(25)に示した演算を行い、各ステートS0,S1における確率対数尤度Iαt(S0),Iαt(S1)の差分値Iαt(S0)−Iαt(S1)(=Ut−Vt)及び各ステートS0,S1における確率対数尤度Iβt(S0),Iβt(S1)の差分値Iβt(S0)−Iβt(S1)(=Wt−Zt)を算出する。すなわち、軟出力復号回路40は、事前確率情報At及び事後確率情報ytに基づいて、事後確率情報yt毎に、符号化開始ステートから時系列順に各ステートに至る確率αの自然対数値である確率対数尤度Iαの各ステートにおける値の差分値を算出するとともに、打ち切りステートから時系列の逆順に各ステートに至る確率βの自然対数値である確率対数尤度Iβの各ステートにおける値の差分値を算出する。そして、軟出力復号回路40は、レジスタ133に保持した差分値Ut−Vt及びレジスタ136に保持した差分値Wt−Ztを、図示しない記憶回路に供給する。
【0193】
また、軟出力復号回路40は、図19に示すように、対数軟出力Iλtを算出する部分として、2つの加算器137,139と、演算子“$”で表される演算を行う演算手段である演算回路138とを備える。
【0194】
加算器137は、図示しない記憶回路から読み出された事後確率情報ytと、図示しない記憶回路から読み出された差分値Wt−Ztとを加算し、得られたデータを演算回路138に供給する。
【0195】
演算回路138は、図示しない記憶回路から読み出された差分値Ut−Vtと、加算器137から供給されたデータとを用いて、演算回路131と同様の演算を行う。演算回路138は、演算して得られたデータを加算器139に供給する。
【0196】
加算器139は、図示しない記憶回路から読み出された事前確率情報Atと、演算回路138から供給されたデータとを加算し、得られたデータを対数軟出力Iλtとして外部に出力する。
【0197】
このような軟出力復号回路40は、図示しない記憶回路から読み出された事前確率情報At、事後確率情報yt及び差分値Ut−Vt,Wt−Ztを用い、少なくとも各ステートにおける差分値Ut−Vt,Wt−Ztを変数の一部として、上式(26)に示した演算を行い、各時刻における対数軟出力Iλtを算出する。そして、軟出力復号回路40は、算出した対数軟出力Iλtを時系列順に並べ替えた後、外部に出力する。
【0198】
このように、軟出力復号回路40は、通常のBCJRアルゴリズムを改良し、各ステートにおける確率対数尤度Iαt,Iβtの値の差分値を用いて復号を行うアルゴリズムを適用した軟出力復号を行うことができる。
【0199】
この軟出力復号回路40は、差分値Ut−Vt,Wt−Ztのそれぞれを算出するために、“ステート数−1”、ここでは1つずつの演算回路131,135を備えるとともに、対数軟出力Iλtを算出するために、同じく1つの演算回路138を備えればよい。これらの演算回路131,135,138は、それぞれ、上述したように、簡便な構成とされることから、軟出力復号回路40は、回路規模が削減されるとともに、処理時間の短縮化を図ることができる。
【0200】
また、軟出力復号回路40は、通常のBCJRアルゴリズムを実装する軟出力復号回路のように、正規化回路を備える必要がなく、さらに、差分値Ut−Vt,Wt−Ztのそれぞれを算出するために必要なレジスタの数も、“ステート数−1”、ここでは1つずつで済むことから、回路規模が削減され、処理の高速化を図ることができる。
【0201】
なお、この軟出力復号回路40は、アキュムレータ30に限らず、ステートの遷移が状態遷移図であるトレリスで表される線形のトレリス符号であれば、いかなる符号化率の符号化を行う要素符号化器による符号を復号することができる。例えば、ステート数が4の符号を復号する場合には、軟出力復号回路40としては、“ステート数−1”、すなわち、3つの差分値を任意に選択して用いればよい。特に、この軟出力復号回路40は、ステート数が小さい符号に対して有効に作用するものであり、アキュムレータ30による符号の復号を行う際には、顕著な効果を奏するものである。
【0202】
このように、軟出力復号回路40は、各ステートにおける確率対数尤度Iαt,Iβtの値の差分値を用いて復号を行うことによって、簡便且つ少ない演算処理で済み、性能を劣化させることなく、回路規模の削減とともに処理の高速化を図ることができる。
【0203】
本発明は、符号化装置におけるアキュムレータに対応する軟出力復号回路として、このようなアルゴリズムをはじめとする種々の軟出力復号を適用することができる。
【0204】
さらにまた、上述した実施の形態では、符号化装置及び復号装置をデータ送受信システムにおける送信装置及び受信装置に適用して説明したが、本発明は、例えばフロッピーディスク、CD−ROM又はMO(Magneto Optical)といった磁気、光又は光磁気ディスク等の記録媒体に対する記録及び/又は再生を行う記録及び/又は再生装置に適用することもできる。この場合、符号化装置により符号化されたデータは、無記憶通信路に等価とされる記録媒体に記録され、復号装置により復号されて再生される。
【0205】
以上のように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0206】
【発明の効果】
以上詳細に説明したように、本発明にかかる符号化装置は、入力されたデータに対して縦列連接符号化を行う符号化装置であって、入力されたデータに対して第1の符号の符号化を行う第1の符号化手段と、この第1の符号化手段により符号化されたデータを構成する各ビットの順序を置換して並べ替える置換手段と、この置換手段から供給されたデータに対して第2の符号の符号化を行う第2の符号化手段とを備え、第1の符号化手段又は第2の符号化手段のうち、少なくとも一方の符号化手段は、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行う。
【0207】
したがって、本発明にかかる符号化装置は、第1の符号化手段又は第2の符号化手段のうち、少なくとも一方の符号化手段によって、パリティ検査符号化を行うことによって、所望の高い符号化率の下に、高性能の符号化を行うことができる。
【0208】
また、本発明にかかる符号化方法は、入力されたデータに対して縦列連接符号化を行う符号化方法であって、入力されたデータに対して第1の符号の符号化を行う第1の符号化工程と、この第1の符号化工程にて符号化されたデータを構成する各ビットの順序を置換して並べ替える置換工程と、この置換工程にて並べ替えられたデータに対して第2の符号の符号化を行う第2の符号化工程とを備え、第1の符号化工程又は第2の符号化工程のうち、少なくとも一方の符号化工程では、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行う。
【0209】
したがって、本発明にかかる符号化方法は、第1の符号化工程又は第2の符号化工程のうち、少なくとも一方の符号化工程にて、パリティ検査符号化を行うことによって、所望の高い符号化率の下に、高性能の符号化を行うことを可能とする。
【0210】
さらに、本発明にかかる復号装置は、入力されたデータに対して第1の符号の符号化を行う第1の符号化手段と、この第1の符号化手段により符号化されたデータを構成する各ビットの順序を置換して並べ替える第1の置換手段と、この第1の置換手段から供給されたデータに対して第2の符号の符号化を行う第2の符号化手段とを備え、第1の符号化手段又は第2の符号化手段のうち、少なくとも一方の符号化手段は、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行う符号化機器により縦列連接符号化された符号の復号を行う復号装置であって、第2の符号化手段に対応して備えられ、入力された軟入力である受信値と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第1の軟出力復号手段と、この第1の軟出力復号手段に縦列に連接し、第1の置換手段により並べ替えられたデータのビット配列を、第1の符号化手段により符号化されたデータのビット配列に戻すように、入力された軟入力のデータを並べ替える逆置換手段と、第1の符号化手段に対応して備えられ且つ逆置換手段に縦列に連接し、逆置換手段から出力された軟入力である符号ビットに対する事前確率情報と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第2の軟出力復号手段と、第1の置換手段と同一の置換位置情報に基づいて、第2の軟出力復号手段から出力された軟入力のデータを構成する各ビットの順序を置換して並べ替える第2の置換手段とを備え、第1の軟出力復号手段は、情報ビットに対する事前確率情報として、第2の置換手段から出力された軟入力のデータを入力する。
【0211】
したがって、本発明にかかる復号装置は、符号化機器が備える第1の符号化手段又は第2の符号化手段のうち、少なくとも一方の符号化手段によって、パリティ検査符号化がなされた符号を高精度に復号することができる。
【0212】
さらにまた、本発明にかかる復号方法は、入力されたデータに対して第1の符号の符号化を行う第1の符号化工程と、この第1の符号化工程にて符号化されたデータを構成する各ビットの順序を置換して並べ替える第1の置換工程と、この第1の置換工程にて並べ替えられたデータに対して第2の符号の符号化を行う第2の符号化工程とを備え、第1の符号化工程又は第2の符号化工程のうち、少なくとも一方の符号化工程では、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行う符号化方法により縦列連接符号化された符号の復号を行う復号方法であって、第2の符号化工程に対応して備えられ、入力された軟入力である受信値と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第1の軟出力復号工程と、この第1の置換工程にて並べ替えられたデータのビット配列を、第1の符号化工程にて符号化されたデータのビット配列に戻すように、入力された軟入力のデータを並べ替える逆置換工程と、第1の符号化工程に対応して備えられ、逆置換工程にて並べ替えられた軟入力である符号ビットに対する事前確率情報と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第2の軟出力復号工程と、第1の置換工程と同一の置換位置情報に基づいて、第2の軟出力復号工程にて生成された軟入力のデータを構成する各ビットの順序を置換して並べ替える第2の置換工程とを備え、第1の軟出力復号工程では、情報ビットに対する事前確率情報として、第2の置換工程にて並べ替えられた軟入力のデータを入力する。
【0213】
したがって、本発明にかかる復号方法は、符号化方法が備える第1の符号化工程又は第2の符号化工程のうち、少なくとも一方の符号化工程にて、パリティ検査符号化がなされた符号を高精度に復号することを可能とする。
【図面の簡単な説明】
【図1】本発明の実施の形態として示すデータ送受信システムを適用する通信モデルの構成を説明するブロック図である。
【図2】本発明の第1の実施の形態として示すデータ送受信システムにおける符号化装置の構成を説明するブロック図である。
【図3】符号化装置が備えるインターリーバの構成を説明するブロック図である。
【図4】符号化装置が備えるアキュムレータの構成を説明するブロック図である。
【図5】図4に示すアキュムレータにおけるトレリスを説明する図である。
【図6】同データ送受信システムにおける復号装置の構成を説明するブロック図である。
【図7】復号装置が備える内符号の復号を行う軟出力復号回路の構成を説明するブロック図である。
【図8】復号装置が備える外符号の復号を行う軟出力復号回路の構成を説明するブロック図である。
【図9】関数fを説明する図である。
【図10】本発明の第2の実施の形態として示すデータ送受信システムにおける符号化装置の構成を説明するブロック図である。
【図11】符号化装置が備える設定器における動作を説明するための入力データと符号化データとを説明する図であって、(A)は、符号化装置が備えるパリティ検査符号化器から出力される符号化データを示し、(B)は、パリティ検査符号化器に入力される入力データを示す図である。
【図12】同データ送受信システムにおける復号装置の構成を説明するブロック図である。
【図13】復号装置が備えるレート変換回路の構成を説明するブロック図である。
【図14】復号装置が備える外符号の復号を行う軟出力復号回路の構成を説明するブロック図であって、パリティを3ビット単位で付加してパリティ検査符号化された符号を復号する軟出力復号回路の構成を説明するブロック図である。
【図15】復号装置が備える外符号の復号を行う軟出力復号回路の構成を説明するブロック図であって、パリティを5ビット単位で付加してパリティ検査符号化された符号を復号する軟出力復号回路の構成を説明するブロック図である。
【図16】符号化装置が備えるアキュムレータの構成を説明するブロック図であって、図4に示すアキュムレータとは異なるアキュムレータの構成を説明するブロック図である。
【図17】復号装置が備える軟出力復号回路の構成を説明するブロック図であって、確率対数尤度Iαtを算出する部分を示すブロック図である。
【図18】復号装置が備える軟出力復号回路の構成を説明するブロック図であって、確率対数尤度Iβtを算出する部分を示すブロック図である。
【図19】復号装置が備える軟出力復号回路の構成を説明するブロック図であって、対数軟出力Iλtを算出する部分を示すブロック図である。
【図20】確率対数尤度Iγtを示すマトリックスを説明する図である。
【図21】通信モデルの構成を説明するブロック図である。
【図22】従来の符号化装置の構成を説明するブロック図である。
【図23】従来の復号装置の構成を説明するブロック図である。
【符号の説明】
1,1’ 符号化装置、 3,3’ 復号装置、 10,10’ パリティ検査符号化器、 20,60 インターリーバ、 30,30’ アキュムレータ、 40,90,901,902 軟出力復号回路、 50 デインターリーバ、70,70’,80,80’ レート変換回路、 100 2値化回路、 110 設定器、 91,92,93,911,921,931,941,912,922,932,942,952,962,131,135,138 演算回路、 133,136 レジスタ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an encoding apparatus and encoding method for performing column concatenated encoding on input data, and a decoding apparatus and decoding method for decoding data subjected to column concatenated encoding.
[0002]
[Prior art]
In recent years, research in the field of communication such as mobile communication and deep space communication, the field of broadcasting such as terrestrial or satellite digital broadcasting, and the field of magnetic, optical, or magneto-optical recording that performs recording and / or reproduction on recording media has been significantly advanced. However, along with this, research on coding theory has been actively conducted for the purpose of improving the efficiency of error correction coding and decoding.
[0003]
As the theoretical limit of the code performance, the Shannon limit given by the so-called Shannon channel coding theorem is known. Shannon's channel coding theorem is: “When information is transmitted at a transmission rate R (bit / symbol) using a channel of channel capacity C (bit / symbol), if R ≦ C, The theorem is that there exists an encoding method that can make the error probability as close to “0” as possible. The Shannon limit is a theoretical limit of a transmission rate that can be transmitted without error.
[0004]
For example, “S. Benedetto, G. Montorsi, D. Divsalar, F. Pollara,“ Serial Concatenation of Interleaved Codes: Performance Analysis, Design, and Iterative Decoding ”, TDA. An encoding method using serially concatenated convolutional codes described in “Progress Report 42-126, Jet Propulsion Laboratory, Pasadena, California, Aug. 15, 1996” is known.
[0005]
The encoding by the column concatenated convolutional code is performed by an apparatus configured by connecting two convolutional encoders and an interleaver in a column. The decoding of the column concatenated convolutional code is performed by an apparatus configured by connecting two decoding circuits that output a soft-output in a column, and exchanges information between the two decoding circuits. A final decoding result is obtained.
[0006]
In addition, as a further simplification of the encoding by this cascade concatenated convolutional code, “Hui Jin and Robert J. McEliece,“ RA codes achieve AWGN channel capacity ”, pp. 10-18, in Proc. 13th International Symposium on Applied There is an RA (Repeat-Accumulate) code described in “Algebra, Algebraic Algorithms, and Error-Correcting Codes” (Springer Lecture Notes in Computer Science no. 1719). This RA code is generated by a device in which an encoder for performing repetitive encoding and an accumulator for accumulating input data are connected in series via an interleaver, and the number of repetitions is infinite. The performance reaches the Shannon limit.
[0007]
Hereinafter, an encoding apparatus that performs encoding using RA codes and a decoding apparatus that performs decoding of RA codes will be described. In the following description, as shown in FIG. 21, digital information is encoded by an encoding device 201 provided in a transmission device (not shown), and the output is received via a no-memoryless communication path 202 with noise. Let us consider a case in which the data is input to and received by the decoding device 203 provided in the receiving device.
[0008]
As shown in FIG. 22, an encoding apparatus 201 that performs encoding by RA code includes a repetitive encoder 210 that performs repetitive encoding as encoding of a first code (hereinafter referred to as an outer code), and an input. An interleaver 220 that rearranges the order of the data, and an accumulator 230 that performs convolutional encoding by cumulative addition as encoding of the second code (hereinafter referred to as inner code). The encoding device 201 performs RA encoding with an encoding rate of “k / qk = 1 / q” on the input k-bit input data D201, and converts the input data into qk-bit encoded data D204. Output to the outside via a modulator (not shown).
[0009]
When the k-bit input data D201 is input, the repetitive encoder 210 performs repetitive encoding of the repetitive number q on the input data D201, and outputs it to the subsequent interleaver 220 as qk-bit encoded data D202. . That is, iterative encoder 210 performs iterative encoding with a coding rate of “k / qk = 1 / q” as outer code encoding, and outputs encoded data D202 to subsequent interleaver 220. Note that a small value is usually selected as the number of repetitions q. For example, about q = 3 is generally used.
[0010]
The interleaver 220 receives the qk-bit encoded data D202 output from the iterative encoder 210, and performs interleaving with a predetermined length. That is, the interleaver 220 rearranges the order of each bit constituting the input encoded data D202, and outputs the generated qk-bit interleaved data D203 to the accumulator 230 at the subsequent stage.
[0011]
When the accumulator 230 receives the qk-bit interleaved data D203, the accumulator 230 performs a recursive convolution operation on the interleaved data D203, thereby accumulating each bit of the sequentially input interleaved data D203, and the operation result is qk bits. The encoded data D204 is output to the outside. That is, the accumulator 230 performs a recursive convolution operation with an encoding rate of “1” as the encoding of the inner code, and outputs the encoded data D204 to the outside.
[0012]
In such an encoding apparatus 201, the iterative encoder 210 performs repetitive encoding with an encoding rate of “1 / q” as encoding of the outer code, and the accumulator 230 sets the encoding rate as encoding of the inner code. By performing a recursive convolution operation of “1”, cascade concatenated encoding is performed using an RA code having an encoding rate of “(1 / q) × 1 = 1 / q” as a whole. The data encoded by the encoding device 201 is subjected to signal point mapping by a modulator (not shown) based on a predetermined modulation method, and is output to the receiving device via the memoryless communication path 202.
[0013]
On the other hand, as a decoding device 203 that performs decoding of the RA code by the encoding device 201, for example, as shown in FIG. 23, a soft output decoding circuit 240 that decodes the inner code, and a decoder that restores the order of the input data. Some include an interleaver 250, an interleaver 260 that rearranges the order of input data, and a soft output decoding circuit 270 that decodes an outer code. The decoding device 203 estimates the input data D201 in the encoding device 201 from the received value D205, which is an analog value taken as a soft-input under the influence of noise generated on the memoryless communication path 202, and is decoded. Output as data D210.
[0014]
The soft output decoding circuit 240 is provided corresponding to the accumulator 230 in the encoding device 201, and is based on a so-called BCJR (Bahl, Cocke, Jelinek and Raviv) algorithm, MAP (Maximum A Posteriori probability) decoding, SOVA (Soft Output Viterbi Algorithm) Decoding. The soft output decoding circuit 240 receives the soft input reception value D205 received by the receiving device, and also inputs the prior probability information D206 for the soft input information bits supplied from the interleaver 260, and receives these reception values D205. And prior probability information D206 are used to perform soft output decoding of the inner code. Then, the soft output decoding circuit 240 generates external information D207 for the information bits obtained by the code constraint condition, and outputs the external information D207 to the subsequent deinterleaver 250 as a soft output. The external information D207 corresponds to the interleaved data D203 interleaved by the interleaver 220 in the encoding device 201.
[0015]
The deinterleaver 250 is output from the soft output decoding circuit 240 so that the bit arrangement of the interleaved data D203 interleaved by the interleaver 220 in the encoding apparatus 201 is returned to the original bit arrangement of the encoded data D202. Deinterleaving is applied to the external information D207 of soft input. The deinterleaver 250 outputs the data obtained by deinterleaving as prior probability information D208 for the code bit in the soft output decoding circuit 270 at the subsequent stage.
[0016]
The interleaver 260 performs interleaving based on the same replacement position information as that of the interleaver 220 in the encoding device 201 with respect to the external information D209 for the code bit that is the soft input output from the soft output decoding circuit 270. The interleaver 260 outputs the data obtained by the interleaving as prior probability information D206 for the information bits in the soft output decoding circuit 240.
[0017]
The soft output decoding circuit 270 is provided corresponding to the iterative encoder 210 in the encoding device 201, and performs MAP decoding and SOVA decoding. The soft output decoding circuit 270 inputs the prior probability information D208 for the soft input code bit output from the deinterleaver 250, and inputs the prior probability information for the information bit whose value is “0” (not shown). Using these prior probability information, soft output decoding of the outer code is performed. Then, the soft output decoding circuit 270 generates external information D209 for the code bit obtained by the code constraint condition, and outputs the external information D209 to the interleaver 260 as a soft output. Also, although not shown, the soft output decoding circuit 270 generates external information for information bits obtained by code constraint conditions, and outputs hard-output decoded data D210 based on the external information. .
[0018]
Upon receiving the received value D205, the decoding device 203 repeatedly performs the decoding operation of the soft output decoding circuit 240 to the soft output decoding circuit 270 a predetermined number of times, for example, several times to several tens times, Based on the soft output external information obtained as a result of the decoding operation, decoded data D210 is output.
[0019]
As described above, in the system configured by the encoding device 201 and the decoding device 203, it is possible to perform encoding by RA code and decoding of RA code.
[0020]
[Problems to be solved by the invention]
By the way, although the above-mentioned RA code can make both the encoding device and the decoding device simple, high performance cannot be obtained unless the number of repetitions of the outer code is increased. There was a problem that was low. For this reason, the RA code still has room for improvement in terms of performance.
[0021]
The present invention has been made in view of such circumstances, and an encoding device, an encoding method, and a decoding device capable of realizing high-performance encoding and decoding at a high encoding rate. It is an object of the present invention to provide a decoding method.
[0022]
[Means for Solving the Problems]
  An encoding apparatus according to the present invention that achieves the above-described object is an encoding apparatus that performs cascade concatenated encoding on input data, and encodes a first code on the input data. A first encoding means for performing, a replacement means for rearranging the order of each bit constituting the data encoded by the first encoding means, and a second for the data supplied from the replacement means Second encoding means for encoding the code of at least one of the first encoding means and the second encoding means, wherein at least one of the encoding means is predetermined for the input data Parity check encoding that adds 1-bit parity for each unitOf the first encoding means or the second encoding means, the encoding means for performing parity check encoding includes a setting means for setting a distribution of units for adding parity, and the first encoding means or Of the second encoding means, the encoding means for performing parity check encoding changes the unit for adding parity to the input data in accordance with the setting contents of the setting means.It is characterized by that.
[0023]
Such an encoding apparatus according to the present invention performs parity check encoding by at least one of the first encoding unit and the second encoding unit.
[0024]
  An encoding method according to the present invention that achieves the above-described object is an encoding method for performing serially concatenated encoding on input data, wherein the first code is encoded on the input data. A first encoding step that performs encoding, a replacement step that replaces and rearranges the order of each bit that constitutes the data encoded in the first encoding step, and the data that is rearranged in the replacement step A second encoding step for encoding the second code with respect to the input data in at least one of the first encoding step and the second encoding step. Parity check coding to add 1-bit parity for each predetermined unitOf the first encoding process or the second encoding process, in the encoding process for performing parity check encoding, the distribution of units to which parity is added is set and input according to this setting content. Change the unit for adding parity to dataIt is characterized by that.
[0025]
Such an encoding method according to the present invention performs parity check encoding in at least one of the first encoding step and the second encoding step.
[0026]
  Furthermore, a decoding device according to the present invention that achieves the above-described object is encoded by first encoding means for encoding a first code for input data, and first encoding means. First replacement means for rearranging and rearranging the order of each bit constituting the data, and second encoding means for encoding the second code for the data supplied from the first replacement means A parity check code in which at least one of the first encoding means and the second encoding means adds 1-bit parity to the input data for each predetermined unit. A decoding device that decodes a serially concatenated code by an encoding device that performs encoding, and is provided corresponding to a second encoding means, and an input received value that is a soft input and is input Pre-accuracy for information bits that are soft inputs A first soft output decoding means for performing soft output decoding using information, and a bit array of the data rearranged by the first replacement means in a column connected to the first soft output decoding means in a first column. Reverse replacement means for rearranging the input soft input data so as to return to the bit array of the data encoded by the encoding means,First rate conversion means for converting the clock rate of the data output from the reverse replacement means;Soft output decoding is performed using prior probability information for a code bit that is an input soft input and prior probability information for an information bit that is an input soft input, provided corresponding to the first encoding means. Second soft output decoding means;Second rate conversion means for converting the clock rate of the data output from the second soft output decoding means;And second replacement means for replacing the order of each bit constituting the input soft input data on the basis of the same replacement position information as that of the first replacement means. The means is characterized by inputting soft-input data output from the second replacement means as prior probability information for the information bits.
  In addition, a decoding device according to the present invention that achieves the above-described object is encoded by first encoding means for encoding first code for input data, and first encoding means. First replacement means for rearranging and rearranging the order of each bit constituting the data, and second encoding means for encoding the second code for the data supplied from the first replacement means A parity check code in which at least one of the first encoding means and the second encoding means adds 1-bit parity to the input data for each predetermined unit. A decoding device that decodes a serially concatenated code by an encoding device that performs encoding, and is provided corresponding to a second encoding means, and an input received value that is a soft input and is input Priors for information bits that are soft inputs First soft output decoding means for performing soft output decoding using the information, and a bit arrangement of the data rearranged by the first replacement means connected in series to the first soft output decoding means, The reverse replacement means for rearranging the input soft input data so as to return to the bit arrangement of the data encoded by the encoding means, and the first encoding means are provided. Second soft output decoding means for performing soft output decoding using the prior probability information for the input code bit and the prior probability information for the input soft input information bit, and the same as the first replacement means Second replacement means for rearranging and rearranging the order of each bit constituting the input soft-input data based on the replacement position information, wherein the first soft-output decoding means includes a prior probability for the information bits As information, the second replacement The soft input data output from the stage is input, and the encoding device is a unit for adding parity in the encoding means for performing parity check encoding, out of the first encoding means or the second encoding means. A setting unit for setting a distribution is provided. Of the first encoding unit or the second encoding unit, the encoding unit that performs parity check encoding is input according to the setting content by the setting unit. It is characterized in that the unit for adding parity to data is changed.
[0027]
Such a decoding apparatus according to the present invention decodes a code subjected to parity check coding by at least one of the first coding means or the second coding means provided in the coding device. To do.
[0028]
  Furthermore, the decoding method according to the present invention that achieves the above-described object includes a first encoding step that performs encoding of a first code on input data, and a code in the first encoding step. A first replacement step of rearranging and rearranging the order of each bit constituting the converted data, and a second encoding of the second code for the data rearranged in the first replacement step And at least one of the first encoding step and the second encoding step adds 1-bit parity to the input data for each predetermined unit. A decoding method for decoding a serially concatenated code by an encoding method for performing parity check encoding, wherein the received value is a soft input provided corresponding to the second encoding step. And for the input information bits that are soft inputs The first soft output decoding step for performing soft output decoding using the prior probability information and the bit array of the data rearranged in the first replacement step are encoded in the first encoding step. A reverse permutation step for reordering the input soft-input data to return to the bit array of data;A first rate conversion step of converting a clock rate of the data rearranged in the reverse replacement step;Soft output decoding is performed using prior probability information for a code bit that is an input soft input and prior probability information for an information bit that is an input soft input. A second soft output decoding step;A second rate conversion step of converting the clock rate of the data generated in the second soft output decoding step;A second replacement step of replacing the order of each bit constituting the input soft input data based on the same replacement position information as in the first replacement step and rearranging the first soft output decoding The process is characterized by inputting soft input data rearranged in the second replacement process as prior probability information for information bits.
  The decoding method according to the present invention that achieves the above-described object includes a first encoding step of encoding a first code for input data, and encoding in the first encoding step. A first replacement step of rearranging and rearranging the order of each bit constituting the generated data, and a second code for encoding the second code for the data rearranged in the first replacement step An encoding step, and at least one of the first encoding step and the second encoding step adds 1-bit parity to the input data for each predetermined unit. A decoding method for decoding a serially concatenated code by an encoding method for performing parity check encoding, wherein the received value is a soft input provided corresponding to the second encoding step. And for the input soft bit information bit The first soft output decoding step that performs soft output decoding using the previous probability information and the bit array of the data rearranged in the first replacement step are encoded in the first encoding step Prior probability information for a code bit that is an input soft input and is provided corresponding to a reverse permutation step for rearranging input soft-input data and a first encoding step so as to return to the bit arrangement of the data And a second soft output decoding step for performing soft output decoding using prior probability information for information bits that are input soft inputs, and input based on the same replacement position information as in the first replacement step. A second replacement step of rearranging and rearranging the order of each bit constituting the soft input data. In the first soft output decoding step, as the prior probability information for the information bits, the second replacement step Sorted soft input In the encoding process in which parity check encoding is performed in the first encoding process or the second encoding process, the distribution of units for adding parity is set, and according to the setting contents The unit for adding parity to input data is changed.
[0029]
In such a decoding method according to the present invention, a code that has been subjected to parity check encoding in at least one of the first encoding step and the second encoding step included in the encoding method is used. Decrypt.
[0030]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings.
[0031]
In this embodiment, as shown in FIG. 1, digital information is encoded by an encoding device 1 included in a transmission device (not shown), and the output is input to a reception device (not shown) via a no-memory communication channel 2 having noise. Thus, the data transmission / reception system is applied to a communication model decoded by the decoding device 3 included in the receiving device.
[0032]
First, the data transmission / reception system shown as the first embodiment will be described.
[0033]
In this data transmission / reception system, the encoding device 1 uses a 1-bit parity for information of a predetermined unit instead of a repetitive encoder in an RA (Repeat-Accumulate) code which is a kind of cascade concatenated encoding. At least a parity check encoder to be added is provided. Hereinafter, the code in the encoding device 1 is referred to as a PA (Parity-check-Accumulate) code. The decoding device 3 is for decoding the code by the encoding device 1.
[0034]
As shown in FIG. 2, the encoding apparatus 1 adds 1-bit parity for each predetermined unit to data input as the encoding of the first code (hereinafter referred to as an outer code). (1) a parity check encoder 10 as an encoding means, an interleaver 20 as a (first) replacement means for rearranging the order of input data, and a second code (hereinafter referred to as an inner code). And accumulator 30 which is (second) encoding means for performing convolutional encoding by cumulative addition. The encoding device 1 encodes the input k-bit input data D1 with an encoding rate of “k / (k + 1)”, converts it into k + 1-bit encoded data D4, and performs modulation (not shown). Output to the outside through a device.
[0035]
When the parity check encoder 10 receives the input data D1, the parity check encoder 10 adds 1-bit parity to the input data D1 in units of k bits, and outputs the input data D1 to the subsequent interleaver 20 as encoded data D2 of k + 1 bits. . That is, the parity check encoder 10 performs parity check encoding with an encoding rate of “k / (k + 1)” as outer code encoding, and outputs the encoded data D2 to the interleaver 20 at the subsequent stage.
[0036]
The interleaver 20 receives the k + 1-bit encoded data D2 output from the parity check encoder 10 and performs interleaving with a predetermined length N. As shown in FIG. 3, the interleaver 20 includes an input data holding memory 21 that holds input data, a data replacement circuit 22 that rearranges (replaces) the order of input data, and data replacement position information. It has a replacement data generation unit 23 to generate, and an output data holding memory 24 that holds data to be output.
[0037]
The input data holding memory 21 receives and holds the k + 1-bit encoded data D2 output from the parity check encoder 10, and supplies the encoded data D2 to the data replacement circuit 22 at a predetermined timing.
[0038]
The data replacement circuit 22 rearranges the order of the encoded data D2 supplied from the input data holding memory 21 based on the replacement position information of the data generated by the replacement data generation unit 23. The data replacement circuit 22 supplies the rearranged data to the output data holding memory 24.
[0039]
The replacement data generation unit 23 includes, for example, a ROM (Read Only Memory) (not shown) and the like, generates data replacement position information based on the generated random number and the like, and stores the replacement position information in the ROM. The replacement position information generated and stored by the replacement data generation unit 23 is read by the data replacement circuit 22 as needed.
[0040]
The output data holding memory 24 holds the data supplied from the data replacement circuit 22 and outputs these data to the subsequent accumulator 30 as k + 1 bit interleaved data D3 at a predetermined timing.
[0041]
Such an interleaver 20 performs interleaving of length N on the encoded data D2 output from the parity check encoder 10 and outputs it to the accumulator 30 at the subsequent stage.
[0042]
More specifically, the input data holding memory 21 sequentially inputs and holds the encoded data D2 output from the parity check encoder 10. Then, the input data holding memory 21 sequentially holds, for example, each bit constituting the encoded data D2 at a predetermined timing, and at a timing when a bit sequence composed of N bits (N is an arbitrary natural number) is generated. The held data is supplied to the data replacement circuit 22.
[0043]
Subsequently, the data replacement circuit 22 rearranges the order of each of the N bits constituting the bit sequence supplied from the input data holding memory 21 based on the replacement position information generated by the replacement data generation unit 23. The data replacement circuit 22 supplies a new bit sequence obtained by the rearrangement to the output data holding memory 24.
[0044]
The output data holding memory 24 holds each bit constituting the bit series supplied from the data replacement circuit 22, and outputs the held data as interleaved data D3 to the subsequent accumulator 30 at a predetermined timing.
[0045]
As described above, the interleaver 20 receives the k + 1-bit encoded data D2 output from the parity check encoder 10 and stores the order of each bit constituting the encoded data D2 in advance. Rearrangement is performed based on the information to generate k + 1 bit interleaved data D3. Therefore, in the encoding apparatus 1, N / (k + 1) codewords output from the parity check encoder 10 exist in the N-symbol interleaved data D3.
[0046]
For example, as shown in FIG. 4, the accumulator 30 may have one exclusive OR circuit 31 and one shift register 32.
[0047]
The exclusive OR circuit 31 performs an exclusive OR operation using each bit constituting the k + 1-bit interleaved data D3 and the data supplied from the shift register 32, and externally outputs the operation result as encoded data D4. And supplied to the shift register 32.
[0048]
The shift register 32 continues to supply the held 1-bit data to the exclusive OR circuit 31. The shift register 32 newly holds 1-bit data supplied from the exclusive OR circuit 31 in synchronization with the clock, and supplies this data to the exclusive OR circuit 31 anew.
[0049]
When such accumulator 30 receives interleaved data D3 of k + 1 bits, the accumulator 30 performs a recursive convolution operation on the interleaved data D3, thereby accumulating and adding each bit of interleaved data D3 sequentially input. Is output to the outside as encoded data D4 of k + 1 bits.
[0050]
Here, a trellis which is a state transition diagram in the accumulator 30 is described as shown in FIG. In the figure, a path indicated by a broken line indicates a case where the bit input as the interleave data D3 is “0”, and a path indicated by a solid line indicates a case where the bit input as the interleave data D3 is “1”. Yes. Further, the label given to each pass indicates a bit output as encoded data D4. Here, the state is represented by the contents of the shift register 32, and the states of “0” and “1” are represented by the state S0, State S1It is called. In this way, the number of states in the accumulator 30 is 2, and the trellis has a structure in which two paths reach from each state to the state at the next time.
[0051]
Such an accumulator 30 performs a recursive convolution operation with an encoding rate of “1” as the encoding of the inner code, and outputs encoded data D4 to the outside.
[0052]
Such an encoding apparatus 1 performs parity check encoding with a coding rate of “k / (k + 1)” as the encoding of the outer code by the parity check encoder 10 and the encoding of the inner code by the accumulator 30. By performing a recursive convolution operation with a coding rate of “1”, as a whole, column concatenated coding with a code of a coding rate of “k / (k + 1) × 1 = k / (k + 1)” is performed. The data encoded by the encoding device 1 is subjected to signal point mapping based on a predetermined modulation method by a modulator (not shown), and is output to the receiving device via the memoryless communication path 2.
[0053]
As described above, the encoding apparatus 1 uses the parity check code instead of the repetitive code in the conventional RA code, so that the encoding rate is only “½” at the maximum for the conventional RA code. However, the coding rate can be made larger than “1/2” by setting the unit k for adding the parity to k ≧ 2. Therefore, the encoding device 1 can perform high-performance encoding at a desired high encoding rate.
[0054]
On the other hand, the decoding device 3 is configured to perform so-called iterative decoding as shown in FIG. Here, in order to simplify the description, the one corresponding to the one in which the coding rate is “2/3” by the parity check encoder 10 in the coding apparatus 1 is shown.
[0055]
As shown in the figure, the decoding device 3 is inputted with soft output decoding circuits 40 and 90 which are first soft output decoding means and second soft output decoding means for performing soft-output decoding. Deinterleaver 50 that is reverse replacement means for restoring the order of data, interleaver 60 that is second replacement means for rearranging the order of input data, and first rate conversion that performs clock rate conversion and the like A rate conversion circuit 70 that is a means, a rate conversion circuit 80 that is also a second rate conversion means that performs clock rate conversion, and a binarization circuit 100 that is a binarization means that binarizes input data. Is provided. This decoding device 3 estimates the input data D1 in the encoding device 1 from the received value D5 which is an analog value and is made soft-input due to the influence of noise generated on the memoryless communication path 2, and decodes it. Output as data D13.
[0056]
The soft output decoding circuit 40 is provided corresponding to the accumulator 30 in the encoding device 1. The soft output decoding circuit 40 performs calculation by holding these probabilities as direct values based on the passing probability of each state on the trellis in the accumulator 30 and the receiving probability of the output of each branch that transits between the states [Bahl, Cocke, Jelinek and Raviv, “Optimal decoding of linear codes for minimizing symbol error rate”, IEEE Trans. Inf. Theory, vol. IT-20, pp. 284-287, Mar. 1974 ”BCJR (Bahl , Cocke, Jelinek and Raviv), and this BCJR algorithm, which treats probabilities in log-likelihood form with log-likelihood notation “Robertson, Villebrun and Hoeher,“ A comparison of optimal and sub-optimal MAP decoding algorithms operating in the domain ”, IEEE Int. Conf. on Communications, pp. 1009-1013, June 1995”, Max-Log-MAP algorithm or Log-MAP algorithm (hereinafter referred to as Max-Log-). . Referred to as CJR algorithm or Log-BCJR algorithm maximum a posteriori (Maximum A Posteriori probability based on);. Hereinafter, referred to as MAP) perform decoding.
[0057]
Here, when the soft output decoding circuit 40 treats the probability in the form of log likelihood using the natural logarithm and treats it in the form of log likelihood, for example, as shown in FIG. A converter 41 that converts the log likelihood into a log likelihood, a MAP decoder 42 that performs MAP decoding, and three subtractors 43, 44, and 45.
[0058]
When receiving the received value D5 that is a soft input, the converter 41 converts the received value D5 into a probability log likelihood. When the converter 41 handles a probability log likelihood ratio (log likelihood ratio), which is a log likelihood notation of the probability ratio, for example, as a probability log likelihood, the probability log likelihood ratio is calculated for each received value D5. Ask. The converter 41 supplies the probability log likelihood D14 obtained by the conversion to the MAP decoder 42.
[0059]
The MAP decoder 42 includes a probability log likelihood D14 that is a soft input supplied from the converter 41 and a priori probability information for 3 information bits that are a soft input supplied from the interleaver 60. D61, D62, D6ThreeMAP decoding is performed, and posterior probability information (a posteriori probability information) D15 for three information bits based on the probability log likelihood D141, D152, D15ThreeIs generated. The MAP decoder 42 generates the generated posterior probability information D15.1To the differentiator 43 and the generated posterior probability information D152And the generated posterior probability information D15.ThreeIs supplied to the differentiator 45.
[0060]
The subtractor 43 is posterior probability information D15 that is regarded as a soft input.1And prior probability information D6 that is soft input1And 1-bit external information D7 of external information (extrinsic information) D7 for the 3-bit information bits obtained from the constraint condition of the code.1As a soft output to the subsequent deinterleaver 50.
[0061]
The subtractor 44 has posterior probability information D15 that is regarded as a soft input.2And prior probability information D6 that is soft input2And 1-bit external information D7 of the external information D7 with respect to the 3-bit information bits obtained by the constraint condition of the code.2As a soft output to the subsequent deinterleaver 50.
[0062]
The subtractor 45 is posterior probability information D15 that is regarded as a soft input.ThreeAnd prior probability information D6 that is soft inputThreeAnd 1-bit external information D7 of the external information D7 with respect to the 3-bit information bits obtained by the constraint condition of the code.ThreeAs a soft output to the subsequent deinterleaver 50.
[0063]
Such a soft output decoding circuit 40 receives the soft input received word D5 received by the receiving device, and also inputs prior probability information D6 for the soft input information bits supplied from the interleaver 60. MAP decoding is performed using received value D5 and prior probability information D6, and soft output decoding of the inner code, that is, the code encoded by accumulator 30 in encoding apparatus 1 is performed. The soft output decoding circuit 40 generates external information D7 obtained by the code constraint condition, and supplies the external information D7 to the subsequent deinterleaver 50 as a soft output.
[0064]
For specific explanation, if u is an information bit, c is a sign bit, and y is a received value D5, the soft output decoding circuit 40 sends the received word D5 (y) to the MAP decoder 42 and Prior probability information D6 (L (u)) expressed by equation (9) is input.
[0065]
[Equation 9]
Figure 0004505953
[0066]
That is, the soft output decoding circuit 40 determines that the received word D5 (y), the probability Pr {u = 1} that the information bit u is “1”, and the information bit u are “0” with respect to the MAP decoder 42. Prior probability information D6 (L (u)) having no code constraint condition represented by the natural logarithm of the ratio to a certain probability Pr {u = 0} is input.
[0067]
Subsequently, the soft output decoding circuit 40 performs MAP decoding by the MAP decoder 42, and performs posterior probability information D15 (L*(U)) is generated.
[0068]
[Expression 10]
Figure 0004505953
[0069]
That is, the soft output decoding circuit 40 receives the probability Pr {u = 1 | y} that the information bit u is “1” when the received word D5 (y) is received by the MAP decoder 42, and the received word D5 ( a posteriori probability information D15 (L) based on the constraint condition of the sign represented by the natural logarithm of the ratio with the probability Pr {u = 0 | y} that the information bit u is “0” when receiving y)*(U)) is generated. This posterior probability information D15 (L*Here, (u)) indicates the likelihood of the information bit u when the received word D5 (y) is received.
[0070]
Then, the soft output decoding circuit 40 uses the subtractors 43, 44, and 45 to calculate the posterior probability information D15 (L*(U)) and external information D7 (L) which is a difference value between prior probability information D6 (L (u))e(U)) is obtained.
[0071]
## EQU11 ##
Figure 0004505953
[0072]
The soft output decoding circuit 40 generates the external information D7 in this way, and outputs this external information D7 to the subsequent deinterleaver 50 as a soft output. The external information D7 corresponds to the interleaved data D3 interleaved by the interleaver 20 in the encoding device 1.
[0073]
The deinterleaver 50 is supplied from the soft output decoding circuit 40 so as to return the bit arrangement of the interleaved data D3 interleaved by the interleaver 20 in the encoding apparatus 1 to the original bit arrangement of the encoded data D2. Deinterleaving is performed on the soft-input external information D7. The deinterleaver 50 supplies the data D8 obtained by the deinterleaving to the subsequent rate conversion circuit 70.
[0074]
The interleaver 60 performs interleaving on the data D12 supplied from the rate conversion circuit 80 based on the same replacement position information as the interleaver 20 in the encoding device 1. The interleaver 60 outputs the data obtained by the interleaving as prior probability information D6 for the information bits in the soft output decoding circuit 40.
[0075]
The rate conversion circuit 70 converts the clock rate of the data D8 supplied from the deinterleaver 50 in order to absorb the difference in operation speed between the soft output decoding circuit 40 and the soft output decoding circuit 90. Specifically, the rate conversion circuit 70 is composed of a memory (not shown). For example, when the operation speed of the soft output decoding circuit 40 is four times the operation speed of the soft output decoding circuit 90, the input data D8 Is held in the memory, so that the input data D8 is held in the memory in accordance with the difference in operation speed between the soft output decoding circuit 40 and the soft output decoding circuit 90, such that the clock rate is ¼ times. The clock rate is converted. The rate conversion circuit 70 outputs the data after the clock rate conversion as prior probability information D9 for the code bit in the soft output decoding circuit 90 at the subsequent stage.
[0076]
Similar to the rate conversion circuit 70, the rate conversion circuit 80 is for absorbing a difference in operation speed between the soft output decoding circuit 40 and the soft output decoding circuit 90. The clock rate of the external information D11 for the input sign bit is converted. The rate conversion circuit 80 supplies the data D12 after the clock rate conversion to the subsequent interleaver 60.
[0077]
The soft output decoding circuit 90 is provided corresponding to the parity check encoder 10 in the encoding device 1. The soft output decoding circuit 90 receives the prior probability information D9 for the 3-bit soft input code bit output from the data conversion circuit 70, and although not shown, is a 2-bit information bit having a value of “0” The prior probability information is input, and MAP decoding is performed using the prior probability information, and soft output decoding of the outer code, that is, the code encoded by the parity check encoder 10 in the encoding device 1 is performed. Actually, the soft output decoding circuit 90 performs MAP decoding by performing the following operation. Here, for simplicity of explanation, a binary code will be described as an example. That is, the soft output decoding circuit 90 uses the external information given from the code by the accumulator 30 in the encoding apparatus 1 as prior probability information, and calculates the posterior probability information for each codeword symbol having a total of 3 bits for each parity check code. To do.
[0078]
Here, when the soft output decoding circuit 90 treats the prior probability information D9 in logarithmic likelihood format and treats it in the form of log likelihood, as shown in FIG. 8, three arithmetic circuits 91 and 92 which are arithmetic means are used. , 93 and two adders 94, 95. The arithmetic circuits 91, 92, and 93 perform arithmetic operations described in “Robert G. Gallager,“ Low-density parity-check codes ”, MIT Press, 1963, respectively. Assuming that $ "is expressed, an operation defined as the following equation (12) and the following equation (13) is performed on the variables A and BεR → R. Note that log in the following equations (12) and (13) represents a natural logarithm with the number e of nepia as the base.
[0079]
[Expression 12]
Figure 0004505953
[0080]
[Formula 13]
Figure 0004505953
[0081]
The arithmetic circuit 91 includes the second-bit prior probability information D9 among the 3-bit prior probability information D9.2And prior probability information D9 of the third bitThreeAre used to perform the operation represented by the operator “$”, and the obtained result is supplied to the adder 94 and the external information D11 of the first bit of the external information D11 for the 3 bits of the sign bit is used.1As a soft output to the rate conversion circuit 80.
[0082]
The arithmetic circuit 92 includes the first-bit prior probability information D9 among the 3-bit prior probability information D9.1And prior probability information D9 of the third bitThreeAre used to perform the operation represented by the operator “$”, and the obtained result is supplied to the adder 95, and the external information D11 of the second bit of the external information D11 with respect to the 3-bit code bit is used.2As a soft output to the rate conversion circuit 80.
[0083]
The arithmetic circuit 93 includes the first-bit prior probability information D9 out of the 3-bit prior probability information D9.1And second-bit prior probability information D92And the operation represented by the operator “$” is performed, and the obtained result is used as the third bit external information D11 of the three bits of the external information D11.ThreeAs a soft output to the rate conversion circuit 80.
[0084]
The adder 94 includes prior probability information for an information bit whose value (not shown) is “0”, and prior probability information D9.1And external information D11 supplied from the arithmetic circuit 911And the obtained result is the external information D10 of the first bit of the external information D10 for the two information bits.1As a soft output to the binarization circuit 100 in the subsequent stage.
[0085]
The adder 95 includes prior probability information for an information bit whose value (not shown) is “0”, and prior probability information D9.2And external information D11 supplied from the arithmetic circuit 922And the obtained result is the external information D10 of the second bit of the external information D10 for the two information bits.2As a soft output to the binarization circuit 100 in the subsequent stage.
[0086]
Such a soft output decoding circuit 90 inputs prior probability information for an information bit having a value “0” (not shown) and soft input prior probability information D9 supplied from the rate conversion circuit 70, and inputs these prior probability information D9. By performing MAP decoding using the probability information, external information D10 and D11 obtained by the constraint condition of the code are generated, and the external information D10 is supplied to the binarization circuit 100 as a soft output, and the external information D11 is rate-converted. A soft output is supplied to the conversion circuit 80.
[0087]
In other words, the soft output decoding circuit 90 calculates, as each bit of the external information for the code bit to be generated, a bit other than the input corresponding to its own bit from the soft input prior probability information supplied from the rate conversion circuit 70. Among the soft input prior probability information supplied from the rate conversion circuit 70 as external information for the information bits to be generated by performing the operation represented by the operator “$” between the input bits other than the input corresponding to its own bit The result of the operation represented by the operator “$” performed between the bits, the input corresponding to the self bit, and the prior probability information for the information bit whose value is “0” are added. In other words, the soft-output decoding circuit that performs soft-output decoding of the outer code sets the prior probability information for the information bits to “APP” and sets the prior probability information for the code bits to “R”.k", The encoding device 1 performs the operation shown in the following equation (14) according to the unit to which the parity is added, generates external information (EX) for the code bit, and performs the operation shown in the following equation (15). To generate external information (DEC) for the information bits.
[0088]
[Expression 14]
Figure 0004505953
[0089]
[Expression 15]
Figure 0004505953
[0090]
By the way, for the above-described operator “$”, the theorem shown in the following equation (16) holds. However, the function f in the following equation (16) is expressed by the following equation (17) with the positive number x as a variable.
[0091]
[Expression 16]
Figure 0004505953
[0092]
[Expression 17]
Figure 0004505953
[0093]
In the above equation (16), “sgn” is the variable AiThe symbol “| A”i| ”Is the variable AiThe absolute value of is shown.
[0094]
Thus, the operation represented by the operator “$” can be realized by conversion and addition by the function f. Here, as shown in FIG. 9, the function f is a decreasing function that is given in the first quadrant and gradually approaches 0 as the variable x increases, and the relationship with the variable x is stored in advance as a table in a ROM or the like, for example. It can be implemented by various methods such as approximating the relationship with the variable x by so-called linear approximation or threshold approximation. The function f is a variable AiCan be stored in a combination of a sign and an absolute value (signed magnitude format) in, for example, a RAM (Random Access Memory) or the like, thereby realizing a simpler implementation with a small amount of calculation.
[0095]
From this, the arithmetic circuits 91, 92, and 93 obtain the relationship between the function f and the variable x described above by referring to a table stored in a ROM (not shown), and are shown in the above equation (16). The calculation may be performed, or the relationship between the function f and the variable x may be approximated by linear approximation or threshold approximation. Further, the arithmetic circuits 91, 92, 93 each have a variable A in the function f held in a RAM (not shown).iThe calculation shown in the above equation (16) may be performed using a combination of the sign and the absolute value.
[0096]
The binarization circuit 100 binarizes the external information D10 supplied from the soft output decoding circuit 90, and outputs it as hard-output decoded data D13.
[0097]
Such a decoding apparatus 3 includes soft output decoding circuits 40 and 90 corresponding to the accumulator 30 and the parity check encoder 10 in the encoding apparatus 1, so that a code having a high decoding complexity is reduced in complexity. It can be decomposed into elements and the characteristics can be sequentially improved by the interaction between the soft output decoding circuits 40 and 90. When receiving the received value D5, the decoding device 3 repeats the decoding operation of the soft output decoding circuit 40 to the soft output decoding circuit 90 a predetermined number of times, for example, several times to several tens of times, and performs a predetermined number of decoding operations. The decoded data D13 is output based on the soft output external information D10 obtained as a result of the above.
[0098]
Thus, the decoding device 3 can decode the PA code encoded by the encoding device 1 with high accuracy by iterative decoding.
[0099]
Next, a data transmission / reception system shown as the second embodiment will be described with reference to FIGS.
[0100]
This data transmission / reception system includes an encoding device 1 ′ shown in FIG. 10 instead of the above-described encoding device 1, and a code encoded by the encoding device 1 ′ is decoded by a decoding device 3 ′ described later. Is. In this data transmission / reception system, the encoding device 1 'further improves the above-described encoding by the PA code, and changes the unit of information to which the parity is added according to an arbitrary distribution.
[0101]
Note that the encoding apparatus 1 ′ shown in FIG. 10 has a basic configuration similar to that of the encoding apparatus 1 shown in FIG. 2, and has a setting unit 110. Therefore, the same components as those of the encoding device 1 shown in FIG. 2 are denoted by the same reference numerals, and detailed description thereof is omitted.
[0102]
As shown in FIG. 10, the encoding device 1 ′ includes, in addition to the interleaver 20 and the accumulator 30 described above, a parity check encoder 10 ′ and information for adding parity in the parity check encoder 10 ′. And a setting device 110 which is setting means for setting the distribution of units.
[0103]
Similar to the parity check encoder 10 described above, the parity check encoder 10 'adds 1-bit parity to the input data in predetermined bit units. Specifically, when the parity check encoder 10 ′ receives the input data D1, the parity check encoder 10 ′ receives a 1-bit parity for the input data D1 in a predetermined bit unit based on the control signal S supplied from the setting unit 110. Is output to the interleaver 20 at the subsequent stage as encoded data D2. Here, the unit for adding the parity changes according to the control signal S supplied from the setting device 110. This unit will be described in detail later.
[0104]
The setting unit 110 sets a distribution of units for adding parity in the parity check encoder 10 ', and supplies a control signal S indicating the setting contents to the parity check encoder 10'. Specifically, the setting unit 110 sets the ratio of adding 1-bit parity in the i-bit unit of the input data D1 to the total number of bits of the encoded data D2.iThen, the distribution of units for adding parity to the input data D1 is set so as to satisfy the following expressions (18) and (19).
[0105]
[Expression 18]
Figure 0004505953
[0106]
[Equation 19]
Figure 0004505953
[0107]
In order to explain more specifically, consider a case where the parity check encoder 10 'performs encoding with an encoding rate R of "4/5". Here, for example, as shown in FIG. 11A, if the total number of bits of the encoded data D2 generated by the parity check encoder 10 ′ is 50000 bits, the total number of bits of the input data D1 is encoded. Since the rate R is “4/5”, it becomes 40000 bits as shown in FIG.
[0108]
At this time, the parity check encoder 10 ′ performs encoding that adds 1-bit parity in units of i = 3 bits and encoding that adds 1-bit parity in units of i = 5 bits. As shown in FIG. 5A, 2/5 bits of the encoded data D2 of 50000 bits, that is, 20000 bits are generated by parity check encoding in units of 3 bits, and the remaining 3/5 , That is, 30000 bits may be generated by parity check encoding in units of 5 bits.
[0109]
Here, as shown in FIG. 5B, in order to generate 20000 bits of encoded data D2 by parity check encoding in units of 3 bits, 20000 × 3 / (3 + 1) of input data D1. = 15000 bits are required, and 30000 bits of the encoded data D2 are generated by parity check encoding in units of 5 bits, and 30000 × 5 / (5 + 1) = 25000 bits of the input data D1 are required. Will do.
[0110]
Accordingly, the setting unit 110 performs parity check encoding on 15000 bits in 3 bits of the 40000-bit input data D1 and parity check on 25000 bits in 5 bits for the parity check encoder 10 ′. A control signal S indicating that encoding is to be performed is supplied.
[0111]
As described above, the setting unit 110 applies the input data D1 to the input data D1 according to the total number of bits of the input data D1, the coding rate of the encoding to be performed by the parity check encoder 10 ′, and the unit for adding the parity. A distribution of units to which the parity is added is set, and a control signal S indicating the setting content is supplied to the parity check encoder 10 ′.
[0112]
The distribution of the unit for adding the parity may be arbitrary with respect to the total bits of the input data D1, for example, in the case of the example of FIG. 11, the first 15000 bits of the input data D1 are expressed in units of 3 bits. Parity check encoding may be performed, and the remaining 25,000 bits may be parity check encoded in units of 5 bits, or other combinations may be used.
[0113]
Such an encoding apparatus 1 ′ performs parity check encoding with an arbitrary coding rate “R (<1)” as an outer code encoding by the parity check encoder 10 ′, and an inner code by the accumulator 30. By performing recursive convolution operation with a coding rate of “1” as encoding of the above, as a whole, column concatenated coding with a code of coding rate “R × 1 = R” is performed. The data encoded by the encoding device 1 is subjected to signal point mapping based on a predetermined modulation method by a modulator (not shown), and is output to the receiving device via the memoryless communication path 2.
[0114]
In this way, the encoding device 1 ′ changes the unit for adding parity in the parity check encoder 10 ′ according to an arbitrary distribution, so that the PA code shown in the first embodiment is encoded. Since the unit of parity addition uniquely determined according to the coding rate can be different for each arbitrary unit of the input data D1, the coding rate can be set to a desired value close to “1”. It is possible to perform higher-performance encoding under the desired high encoding rate. There are various methods for determining the distribution of the parity-added units set by the setting device 110. For example, by changing the distribution of the parity-added units from the case of a normal PA code, You may make it search for the distribution from which performance is acquired.
[0115]
On the other hand, the decoding device 3 ′ is configured to perform so-called iterative decoding as shown in FIG. 12. Here, in order to simplify the description, the parity check encoder 10 ′ in the encoding device 1 ′ performs encoding that adds 1-bit parity in units of i = 3 bits, and i = 5 bits. The code corresponding to the one that performs coding with 1-bit parity added and performs the coding rate of “4/5” is shown.
[0116]
Further, the decoding apparatus 3 ′ shown in the figure has the same basic configuration as that of the decoding apparatus 3 shown in FIG. 6, and a plurality of units corresponding to the units to which the parity check encoder 10 ′ in the encoding apparatus 1 ′ adds parity. The soft output decoding circuit is provided. Therefore, the same components as those of the decoding device 3 shown in FIG. 6 are denoted by the same reference numerals, and detailed description thereof is omitted.
[0117]
As shown in FIG. 12, the decoding device 3 ′ performs clock rate conversion and the like in addition to the soft output decoding circuit 40, the deinterleaver 50, the interleaver 60, and the binarization circuit 100 described above. The rate conversion circuit 70 'as the first rate conversion means and distribution means, the rate conversion circuit 80' as the second rate conversion means for converting the clock rate, and the parity by the parity check encoder 10 ' Two soft output decoding circuits 90 which are second soft output decoding means for performing soft output decoding according to the unit to be added.1, 902These soft output decoding circuits 901, 902And a change-over switch 120 for switching and outputting the data supplied from. This decoding device 3 ′ estimates the input data D1 in the encoding device 1 ′ from the received value D5 which is an analog value and is soft input due to the influence of noise generated on the memoryless communication path 2, and as decoded data D23 Output.
[0118]
The rate conversion circuit 70 ′ includes a soft output decoding circuit 40 and a soft output decoding circuit 90.1, 902In order to absorb the difference in operating speed, the clock rate of the data D8 supplied from the deinterleaver 50 is converted. Further, the rate conversion circuit 70 ′ converts the data after the clock rate conversion into the subsequent soft output decoder 90.1, 902It also has a function of distributing to each other.
[0119]
Specifically, as shown in FIG. 13, the rate conversion circuit 70 ′ includes a memory 71 that holds data D8 for converting the clock rate, a control unit 72 that controls the operation of a changeover switch 73 described later, A change-over switch 73 for selecting data having a clock rate converted from the memory 71 and ten latches 74 for latching the data selected by the change-over switch 73.174274Three74Four74Five74674774874974TenAnd have.
[0120]
In such a rate conversion circuit 70 ', for example, the operation speed of the soft output decoding circuit 40 is such that the soft output decoding circuit 90' operates.1, 902If the input data D8 is held in the memory 71, the input data D8 and the soft output decoding circuit 40 are converted to a quarter of the clock rate. Soft output decoding circuit 901, 902The clock rate is converted by holding it in the memory 71 according to the difference in operating speed. Subsequently, the rate conversion circuit 70 ′ is generated by the control unit 72 with the data held in the memory 71 added with parity in i-bit units by the parity check encoder 10 ′ in the encoding device 1 ′. It is determined which bit corresponds to the i + 1 bits, the changeover switch 73 is operated under the control of the control unit 72, and the data supplied from the memory 71 is stored in each latch 74.174274Three74Four74Five74674774874974TenTo distribute. The rate conversion circuit 70 'then latches 74 when the unit for adding parity in the parity check encoder 10' is i = 3.174274Three74Four, 4 bits of data are latched one bit at a time, and each bit is latched in the subsequent soft output decoding circuit 90.1Prior probability information D16 for the sign bit in1, D162, D16Three, D16FourOutput as. Further, the rate conversion circuit 70 ′ latches 74 when the unit for adding parity in the parity check encoder 10 ′ is i = 5.Five74674774874974Ten6-bit data is latched one bit at a time, and each bit is latched by a soft output decoding circuit 90 in the subsequent stage.2Prior probability information D17 for the sign bit in1, D172, D17Three, D17Four, D17Five, D176Output as.
[0121]
The rate conversion circuit 80 'is similar to the rate conversion circuit 70' in the soft output decoding circuit 40 and the soft output decoding circuit 90.1, 902And the soft output decoding circuit 90.1External information D19 or soft output decoding circuit 90 for the sign bit which is the soft input supplied from2The clock rate of the external information D21 is converted with respect to the sign bit that is the soft input supplied from. The rate conversion circuit 80 ′ supplies the data D <b> 12 after the clock rate conversion to the subsequent interleaver 60.
[0122]
Soft output decoding circuit 901Is provided corresponding to the parity check encoder 10 ′ in the encoding device 1, and decodes the parity check encoded code by adding 1 bit parity in units of i = 3 bits. is there. Soft output decoding circuit 901Inputs the prior probability information D16 for the sign bit of the soft input output from the data conversion circuit 70 ′ and inputs the prior probability information for the information bit whose value is “0” (not shown). MAP decoding is performed using the probability information, and soft output decoding of the outer code is performed.
[0123]
Here, the soft output decoding circuit 901When the prior probability information D16 is expressed in logarithmic likelihood and handled in the logarithmic likelihood format, as shown in FIG.1, 921, 931, 941And three adders 951, 961, 971It can implement | achieve as what has. The arithmetic circuit 911, 921, 931, 941Respectively perform operations defined as in the above equation (12) and the above equation (13).
[0124]
Arithmetic circuit 911Of the 4-bit prior probability information D16, the second-bit prior probability information D162And prior probability information D16 of the third bitThreeAnd the fourth bit prior probability information D16FourAnd the operation represented by the operator “$” is performed, and the obtained result is added to the adder 95.1And external information D19 of the first bit of the external information D19 with respect to the 4-bit code bit1As a soft output to the rate conversion circuit 80 '.
[0125]
Arithmetic circuit 921Of the 4-bit prior probability information D16, the first-bit prior probability information D161And prior probability information D16 of the third bitThreeAnd the fourth bit prior probability information D16FourAnd the operation represented by the operator “$” is performed, and the obtained result is added to the adder 96.1And external information D19 of the second bit of the external information D19 with respect to the 4-bit code bit2As a soft output to the rate conversion circuit 80 '.
[0126]
Arithmetic circuit 931Of the 4-bit prior probability information D16, the first-bit prior probability information D161And prior probability information D16 of the second bit2And the fourth bit prior probability information D16FourAnd the operation represented by the operator “$” is performed, and the obtained result is added to the adder 97.1And external information D19 of the third bit of the external information D19 for the 4-bit code bitThreeAs a soft output to the rate conversion circuit 80 '.
[0127]
Arithmetic circuit 941Of the 4-bit prior probability information D16, the first-bit prior probability information D161And prior probability information D16 of the second bit2And prior probability information D16 of the third bitThreeAnd the operation represented by the operator “$” is performed, and the obtained result is used as the fourth bit external information D19 of the four bits of the external information D19.FourAs a soft output to the rate conversion circuit 80 '.
[0128]
Adder 951Are prior probability information for information bits whose values are not shown in the figure, and prior probability information D16.1And the arithmetic circuit 911External information D19 supplied from1And the obtained result is the external information D18 of the first bit of the external information D18 for the 3-bit information bits.1As a soft output to the selected terminal a.
[0129]
Adder 961Are prior probability information for information bits whose values are not shown in the figure, and prior probability information D16.2And an arithmetic circuit 921External information D19 supplied from2And the obtained result is the external information D18 of the second bit of the external information D18 with respect to the information bits of 3 bits.2As a soft output to the selected terminal a.
[0130]
Such a soft output decoding circuit 901Inputs prior probability information for an information bit whose value is “0” (not shown) and soft input prior probability information D16 supplied from the rate conversion circuit 70 ′, and uses these prior probability information to perform MAP decoding. To generate external information D18 and D19 obtained by the constraint condition of the code, supply the external information D18 to the selected terminal a as a soft output, and also convert the external information D19 to the rate conversion circuit 80 ′ as a soft output. Supply.
[0131]
Soft output decoding circuit 902Is provided corresponding to the parity check encoder 10 ′ in the encoding device 1, and decodes the parity check encoded code by adding 1 bit parity in units of i = 5 bits. is there. Soft output decoding circuit 902Inputs the prior probability information D17 for the sign bit of the soft input output from the data conversion circuit 70 ′ and inputs the prior probability information for the information bit whose value is “0” (not shown). MAP decoding is performed using the probability information, and soft output decoding of the outer code is performed.
[0132]
Here, the soft output decoding circuit 902When the prior probability information D17 is expressed in logarithmic likelihood and handled in the form of log likelihood, as shown in FIG. 15, six arithmetic circuits 91 as arithmetic means are used.2, 922, 932, 942, 952, 962And five adders 971, 981, 991, 1001, 1011It can implement | achieve as what has. The arithmetic circuit 912, 922, 932, 942, 952, 962Respectively perform operations defined as in the above equation (12) and the above equation (13).
[0133]
Arithmetic circuit 912Of the 6-bit prior probability information D17, the second-bit prior probability information D172And prior probability information D17 of the third bitThree4th bit prior probability information D17FourAnd 5th bit prior probability information D17FiveAnd prior probability information D17 of the 6th bit6And the operation represented by the operator “$” is performed, and the obtained result is added to the adder 97.2And external information D21 of the first bit of the external information D21 for 6-bit code bits1As a soft output to the rate conversion circuit 80 '.
[0134]
Arithmetic circuit 922Of the 6-bit prior probability information D17, the first-bit prior probability information D171And prior probability information D17 of the third bitThree4th bit prior probability information D17FourAnd 5th bit prior probability information D17FiveAnd prior probability information D17 of the 6th bit6And the operation represented by the operator “$” is performed, and the obtained result is added to the adder 98.2And external information D21 of the second bit of the external information D21 with respect to the 6-bit code bit2As a soft output to the rate conversion circuit 80 '.
[0135]
Arithmetic circuit 932Of the 6-bit prior probability information D17, the first-bit prior probability information D171And prior probability information D17 of the second bit24th bit prior probability information D17FourAnd 5th bit prior probability information D17FiveAnd prior probability information D17 of the 6th bit6And the operation represented by the operator “$” is performed, and the obtained result is added to the adder 99.2And external information D21 of the third bit of the external information D21 for 6-bit code bitsThreeAs a soft output to the rate conversion circuit 80 '.
[0136]
Arithmetic circuit 942Of the 6-bit prior probability information D17, the first-bit prior probability information D171And prior probability information D17 of the second bit2And prior probability information D17 of the third bitThreeAnd 5th bit prior probability information D17FiveAnd prior probability information D17 of the 6th bit6And the operation represented by the operator “$” is performed, and the obtained result is added to the adder 100.2And external information D21 of the fourth bit among the external information D21 for the 6-bit code bits.FourAs a soft output to the rate conversion circuit 80 '.
[0137]
Arithmetic circuit 952Of the 6-bit prior probability information D17, the first-bit prior probability information D171And prior probability information D17 of the second bit2And prior probability information D17 of the third bitThree4th bit prior probability information D17FourAnd prior probability information D17 of the 6th bit6And the operation represented by the operator “$” is performed, and the obtained result is added to the adder 101.2And external information D21 of the fifth bit of the external information D21 with respect to the 6-bit code bit.FiveAs a soft output to the rate conversion circuit 80 '.
[0138]
Arithmetic circuit 962Of the 6-bit prior probability information D17, the first-bit prior probability information D171And prior probability information D17 of the second bit2And prior probability information D17 of the third bitThree4th bit prior probability information D17FourAnd 5th bit prior probability information D17FiveAnd the operation represented by the operator “$” is performed, and the obtained result is used as the sixth bit external information D21 of the six bits of the external information D21.6As a soft output to the rate conversion circuit 80 '.
[0139]
Adder 972Are prior probability information for information bits whose values are not shown in the figure, and prior probability information D17.1And the arithmetic circuit 912External information D21 supplied from1And the obtained result is the external information D20 of the first bit of the external information D20 for the 5-bit information bits.1As a soft output to the selected terminal b.
[0140]
Adder 982Are prior probability information for information bits whose values are not shown in the figure, and prior probability information D17.2And an arithmetic circuit 922External information D21 supplied from2And the obtained result is the external information D20 of the second bit of the external information D20 for the information bits of 5 bits.2As a soft output to the selected terminal b.
[0141]
Adder 992Are prior probability information for information bits whose values are not shown in the figure, and prior probability information D17.ThreeAnd an arithmetic circuit 932External information D21 supplied fromThreeAnd the obtained result is the third bit of the external information D20 of the external information D20 for the 5 bits of information bits.ThreeAs a soft output to the selected terminal b.
[0142]
Adder 1002Are prior probability information for information bits whose values are not shown in the figure, and prior probability information D17.FourAnd the arithmetic circuit 942External information D21 supplied fromFourAnd the obtained result is the fourth bit external information D20 of the external information D20 for the five information bits.FourAs a soft output to the selected terminal b.
[0143]
Adder 1012Are prior probability information for information bits whose values are not shown in the figure, and prior probability information D17.FiveAnd an arithmetic circuit 952External information D21 supplied fromFiveAnd the obtained result is the fifth bit external information D20 of the external information D20 for the five information bits.FiveAs a soft output to the selected terminal b.
[0144]
Such a soft output decoding circuit 902Inputs prior probability information for an information bit whose value is “0” (not shown) and soft input prior probability information D17 supplied from the rate conversion circuit 70 ′, and uses these prior probability information to perform MAP decoding. To generate external information D20 and D21 determined by the constraint condition of the code, supply the external information D20 as a soft output to the selected terminal b, and set the external information D21 as a soft output to the rate conversion circuit 80 ′. Supply.
[0145]
The changeover switch 120 operates under the control of a control unit (not shown), and the soft output decoding circuit 90.1When the decoded data D23 is output based on the external information D18 output from, the external data D18 is connected to the selected terminal a and supplied to the binarization circuit 100 as the external information D22. The changeover switch 120 includes a soft output decoding circuit 90.2When the decoded data D23 is output based on the external information D20 output from, the external terminal D is connected to the selected terminal b, and the external information D20 is supplied to the binarization circuit 100 as the external information D22.
[0146]
When such a decoding device 3 ′ receives the received value D 5, the soft output decoding circuit 40 to the soft output decoding circuit 90 are input.1, 902The decoding operation is repeatedly performed a predetermined number of times, for example, several times to several tens of times, and the decoded data D23 is output based on the soft output external information D22 obtained as a result of the predetermined number of decoding operations.
[0147]
As described above, the decoding device 3 ′ can decode the code by the parity check encoder 10 ′ in which the unit for adding the parity is changed, and the code encoded by the encoding device 1 ′ is repeatedly decoded. It can be decoded with high accuracy.
[0148]
As described above, in a data transmission / reception system configured using an encoding device and a decoding device, k / (k + 1) is obtained by performing parity check encoding using a parity check encoder in the encoding device. It is possible to perform high-performance encoding under a desired high encoding rate that is expressed, and it is possible to decode a code by a parity check encoder in a decoding device.
[0149]
In addition, the data transmission / reception system changes the parity addition unit in the parity check encoder in accordance with an arbitrary distribution in the encoding device, so that the data transmission / reception system has a higher encoding rate under a desired high encoding rate close to “1”. The performance can be encoded, and the decoding apparatus can perform decoding according to the unit of parity addition in the parity check encoder.
[0150]
That is, a data transmission / reception system configured using these encoding devices and decoding devices realizes a high-performance encoding and decoding system and can provide high reliability to the user. is there.
[0151]
Note that the present invention is not limited to the above-described embodiment. For example, as an accumulator in an encoding apparatus, two exclusive OR circuits 31 as shown in FIG.1', 312'And two shift registers 321', 322The number of states may be other than “2”, such as an accumulator 30 ′ including “′”.
[0152]
Further, in the above-described embodiments, the encoding apparatus is described as including an accumulator as an inner code element encoder. However, the present invention is not necessarily an accumulator, and a code for performing arbitrary encoding. It is also applicable to a generator.
[0153]
Furthermore, in the above-described embodiment, the coding apparatus has been described as including a parity check encoder as an element encoder that performs coding of the outer code, but the parity check encoder is used to encode the inner code. You may provide as an element encoder which performs.
[0154]
That is, the present invention can be applied to any coding apparatus including at least a parity check encoder. Of course, in this case, it is needless to say that a decoding device corresponding to the encoding device is used.
[0155]
Furthermore, in the first embodiment described above, it is assumed that the soft output decoding circuit that performs soft output decoding of the outer code in the decoding device includes a circuit corresponding to the case where the coding rate is “2/3”. In the second embodiment, the soft output decoding circuit for performing soft output decoding of the outer code corresponds to the case where encoding is performed by adding parity in units of i = 3 bits, and the parity is set to i = 5. Although it has been described that it is provided with a unit corresponding to the case where encoding is performed in units of bits, the present invention can be applied to any unit of parity addition in the encoding apparatus, and accordingly The soft output decoding circuit in the decoding apparatus can also be applied only by using the number and configuration corresponding to the parity addition unit of the parity check coding.
[0156]
Further, in the above-described embodiment, as a soft output decoding circuit that performs soft output decoding of an outer code in a decoding device, “i + 1” arithmetic circuits and i number of units are added using a parity addition unit i of parity check coding. Although the present invention has been described as having an adder, the present invention may have other configurations, such as sharing these arithmetic circuits and adders, for example, and the arithmetic circuit and adder are shared. In addition, the circuit scale can be reduced.
[0157]
Further, in the above-described embodiment, the soft output decoding circuit corresponding to the accumulator in the encoding device has been described as performing the MAP decoding based on the BCJR algorithm, the Max-Log-BCJR algorithm, or the Log-BCJR algorithm. The present invention can also be applied to other soft output decoding, for example, decoding by so-called SOVA (Soft Output Viterbi Algorithm).
[0158]
Hereinafter, as a specific example, a description will be given of a new algorithm obtained by improving the BCJR algorithm in which probabilities are expressed in log likelihood and handled in the form of log likelihood.
[0159]
This algorithm has a so-called probability α at time t.t, Βt, Γt, And soft output λtLogarithmic likelihood Iα using a natural logarithmt, Iβt, IγtAnd logarithmic soft output IλtAnd at least the probability log likelihood Iα in each statet, IβtThe decoding is performed using the difference value of the values. The soft output decoding circuit to which this algorithm is applied can reduce the circuit scale and increase the processing speed.
[0160]
In the following, the probability log likelihood Iα expressed in log likelihoodt, Iβt, IγtAre described as being probability log likelihood ratios, which are log likelihood representations of probability ratios. In the following, the case where the soft output decoding circuit 40 decodes the code by the accumulator 30 in the encoding apparatus 1 described above will be described.
[0161]
In the BCJR algorithm in which the probability is expressed in log likelihood and handled in the form of log likelihood, if m is the state at time t, the probability log likelihood Iαt(M), IβtWhat is essentially needed to calculate (m) is the probability log likelihood Iαt(M), IβtProbability log likelihood Iα, not the value of (m) itselft(M), IβtThis is a value when (m) is normalized by the sum of values in each state, that is, a difference value between values in each state.
[0162]
Therefore, the soft output decoding circuit 40 has two states S in the accumulator 30.0, S1Probability log likelihood Iα fort(M), IβtInstead of performing the iterative operation of (m), state S0, S1The calculation is performed paying attention to the difference value of the values at. Where state S0Probability log likelihood Iα at time tt(S0) "Ut”And state S1Probability log likelihood Iα at time tt(S1) To “Vt”And state S0Probability log likelihood Iβ at time tt(S0) "Wt”And state S1Probability log likelihood Iβ at time tt(S1) To “ZtReplace with.
[0163]
At this time, prior probability information that corresponds to the above-described prior probability information D6 and is a natural logarithm of the ratio of the probability that the bit input as interleaved data D3 is “1” and the probability that it is “0”. AtAnd a posteriori probability information for one symbol code bit of the encoded data D4 determined only from the received value D5.tThen, the probability log likelihood Iα in each statet(M), ie, probability log likelihood Ut, VtAre represented by the following equations (20) and (21), respectively. The operator “#” in the following expressions (20) and (21) indicates a so-called log-sum operation, and hereinafter, the log-sum operation is represented by the operator “#”. .
[0164]
[Expression 20]
Figure 0004505953
[0165]
[Expression 21]
Figure 0004505953
[0166]
Therefore, the probability log likelihood Iα in each statetThe difference value of the values of (m), that is, the probability log likelihood Ut, VtDifference value Ut-VtIs expanded as shown in the following equation (22) using the above-described operator “$”.
[0167]
[Expression 22]
Figure 0004505953
[0168]
On the other hand, the probability log likelihood Iβ in each statet(M), ie, probability log likelihood Wt, ZtRespectively, prior probability information AtAnd posterior probability information ytIs expressed by the following formula (23) and the following formula (24).
[0169]
[Expression 23]
Figure 0004505953
[0170]
[Expression 24]
Figure 0004505953
[0171]
Therefore, the probability log likelihood Iβ in each statetThe difference value of the values of (m), that is, the probability log likelihood Wt, ZtDifference value Wt-ZtIs expanded as shown in the following equation (25).
[0172]
[Expression 25]
Figure 0004505953
[0173]
Thus, the above equations (22) and (25), that is, the probability log likelihood Iα in each statet(M), IβtBoth of the difference values of the value (m) can be expressed using an operation given by the operator “$” and addition.
[0174]
Therefore, the logarithmic soft output IλtIs the probability log likelihood Ut, Vt, Wt, ZtPrior probability information AtAnd posterior probability information ytIs represented by the following formula (26).
[0175]
[Equation 26]
Figure 0004505953
[0176]
In the above equation (26), the second term and the third term on the right side represented by the operator “$” indicate external information corresponding to the above-described external information D7. Thus, the above equation (26), that is, the logarithmic soft output IλtAlso, the probability log likelihood Iα in each statet(M), IβtSimilar to the difference value of the value of (m), it can be expressed using an operation given by the operator “$” and addition.
[0177]
Therefore, in a normal BCJR algorithm in which probabilities are expressed in log-likelihood notation and handled in the form of log-likelihood, values corresponding to the number of states are held when performing iterative operations for obtaining probabilistic log-likelihoods Iα and Iβ. In this algorithm, the difference value Ut-Vt, Wt-ZtAnd the values corresponding to “the number of states−1” may be held.
[0178]
Further, in this algorithm, since the difference value is used, there is no need for normalization without causing an overflow of the stored value unlike the normal BCJR algorithm.
[0179]
It should also be noted that this algorithm does not require a log-sum operation. In this algorithm, the difference value Ut-Vt, Wt-ZtAnd logarithmic soft output IλtIs obtained by performing each operation represented by the operator “$” once.
[0180]
Furthermore, since the operation represented by the operator “$” can be realized by conversion and addition by the function f as shown in the above equations (16) and (17), It is possible to make the implementation simpler and less.
[0181]
From the above discussion, it can be expected to implement the soft output decoding circuit 40 that can reduce the circuit scale and increase the processing speed.
[0182]
Now, the soft output decoding circuit 40 that implements such an algorithm includes each unit as shown in FIGS. Here, in FIG. 17, the probability log likelihood Iα of each part of the soft output decoding circuit 40 is shown.tFIG. 18 shows the probability log likelihood Iβ.tFIG. 19 shows the logarithmic soft output Iλ.tThe part which calculates is shown.
[0183]
Probability log likelihood IγtIs the posterior probability information ytAnd prior probability information AtIt is determined by. That is, the probability log likelihood IγtIs the posterior probability information ytAnd prior probability information AtAnd posterior probability information ytIt is the natural logarithm of the probability γ determined by the code output pattern and the posterior probability information for each received value, that is, for each received value. In other words, the soft output decoding circuit 40 performs the probability log likelihood Iγ represented by the matrix shown in FIG.tWill be calculated.
[0184]
The soft output decoding circuit 40 shown in FIG.tAs an Iα calculation circuit for calculating the above, an arithmetic circuit 131 which is an arithmetic means for performing the arithmetic operation represented by the above-described operator “$”, an adder 132, and a register 133 for holding data are provided.
[0185]
The arithmetic circuit 131 uses the prior probability information AtAnd the difference value U of the probability log likelihood one hour before supplied from the register 133t-1-Vt-1And the operation represented by the operator “$” is performed. The arithmetic circuit 131 supplies data obtained by the calculation to the adder 132. The arithmetic circuit 131 obtains the relationship between the function f and the variable x described above by referring to a table stored in a ROM (not shown), and performs the calculation shown in the above equation (16). Alternatively, the relationship between the function f and the variable x may be approximated by linear approximation or threshold approximation. The arithmetic circuit 131 also includes a variable A in the function f held in a RAM (not shown).iThe calculation shown in the above equation (16) may be performed using a combination of the sign and the absolute value.
[0186]
The adder 132 calculates the posterior probability information ytAnd the data supplied from the arithmetic circuit 131 are added, and the obtained data is supplied to the register 133.
[0187]
The register 133 stores the data supplied from the adder 132, that is, the difference value U of the probability log likelihood.t-VtHold. The difference value U of the probability log likelihood held in this register 133t-VtIs supplied to a memory circuit (not shown).
[0188]
Also, the soft output decoding circuit 40, as shown in FIG.tAs an Iβ calculating circuit for calculating the above, an adder 134, an arithmetic circuit 135 which is an arithmetic means for performing an arithmetic operation represented by an operator “$”, and a register 136 are provided.
[0189]
The adder 134 reads the posterior probability information y read from the memory circuit (not shown).tAnd the difference value W of the probability log likelihood one hour before supplied from the register 136t-1-Zt-1And the obtained data is supplied to the arithmetic circuit 135.
[0190]
The arithmetic circuit 135 reads the prior probability information A read from a memory circuit (not shown).tAnd the data supplied from the adder 134, the same calculation as the calculation circuit 131 is performed. The arithmetic circuit 135 supplies data obtained by the arithmetic operation to the register 136.
[0191]
The register 136 stores the data supplied from the arithmetic circuit 135, that is, the probability log likelihood difference value W.t-ZtHold. Difference value W of probability log likelihood held in this register 136t-ZtIs supplied to a memory circuit (not shown).
[0192]
Such a soft output decoding circuit 40 includes prior probability information AtAnd posterior probability information ytAnd at least the probability log likelihood Iα in each statet, IβtAs a part of the variable, the calculation shown in the above equation (22) and the above equation (25) is performed, and each state S0, S1Probability log likelihood Iα int(S0), Iαt(S1) Difference value Iαt(S0) -Iαt(S1) (= Ut-Vt) And each state S0, S1Probability log likelihood Iβ int(S0), Iβt(S1) Difference value Iβt(S0) -Iβt(S1) (= Wt-Zt) Is calculated. That is, the soft output decoding circuit 40 performs prior probability information AtAnd posterior probability information ytPosterior probability information y based ontEvery time, the difference value of the value in each state of the probability log likelihood Iα, which is the natural logarithm of the probability α that reaches each state from the encoding start state in time series order, is calculated, and The difference value of the value in each state of the probability log likelihood Iβ which is a natural logarithm of the probability β to reach the state is calculated. Then, the soft output decoding circuit 40 calculates the difference value U held in the register 133.t-VtAnd the difference value W held in the register 136.t-ZtIs supplied to a memory circuit (not shown).
[0193]
Further, the soft output decoding circuit 40 has a logarithmic soft output Iλ as shown in FIG.tAre provided with two adders 137 and 139 and an arithmetic circuit 138 which is an arithmetic means for performing an arithmetic operation represented by an operator “$”.
[0194]
The adder 137 reads the posterior probability information y read from the memory circuit (not shown).tAnd the difference value W read from the memory circuit (not shown)t-ZtAnd the obtained data is supplied to the arithmetic circuit 138.
[0195]
The arithmetic circuit 138 reads the difference value U read from a memory circuit (not shown).t-VtAnd the data supplied from the adder 137, the same calculation as the calculation circuit 131 is performed. The arithmetic circuit 138 supplies the data obtained by the calculation to the adder 139.
[0196]
The adder 139 reads prior probability information A read from a memory circuit (not shown).tAnd the data supplied from the arithmetic circuit 138 are added, and the obtained data is added to the logarithmic soft output Iλ.tOutput to the outside.
[0197]
Such a soft output decoding circuit 40 includes prior probability information A read from a memory circuit (not shown).tPosterior probability information ytAnd the difference value Ut-Vt, Wt-ZtAnd at least the difference value U in each statet-Vt, Wt-ZtAs a part of the variable, the calculation shown in the above equation (26) is performed, and the logarithmic soft output Iλ at each timetIs calculated. Then, the soft output decoding circuit 40 calculates the logarithmic soft output Iλ.tAre rearranged in chronological order and then output to the outside.
[0198]
In this way, the soft output decoding circuit 40 improves the normal BCJR algorithm, and the probability log likelihood Iα in each state.t, IβtIt is possible to perform soft output decoding to which an algorithm that performs decoding using a difference value between the values is applied.
[0199]
The soft output decoding circuit 40 is configured to calculate a difference value Ut-Vt, Wt-ZtIn order to calculate each of the above, “the number of states −1”, here, each of the arithmetic circuits 131 and 135 is provided, and the logarithmic soft output IλtIn the same manner, one arithmetic circuit 138 may be provided. Since each of these arithmetic circuits 131, 135, and 138 has a simple configuration as described above, the soft output decoding circuit 40 reduces the circuit scale and shortens the processing time. Can do.
[0200]
The soft output decoding circuit 40 does not need to include a normalization circuit unlike the soft output decoding circuit that implements the normal BCJR algorithm.t-Vt, Wt-ZtSince the number of registers necessary for calculating each of the number of states is “number of states−1”, which is one here, the circuit scale can be reduced and the processing speed can be increased.
[0201]
The soft output decoding circuit 40 is not limited to the accumulator 30, and is an element coding that performs coding at any coding rate as long as the state transition is a linear trellis code represented by a trellis that is a state transition diagram. The code by the device can be decoded. For example, when decoding a code having four states, the soft output decoding circuit 40 may select and use “number of states−1”, that is, three difference values. In particular, the soft output decoding circuit 40 works effectively for codes having a small number of states, and has a remarkable effect when the accumulator 30 decodes codes.
[0202]
In this way, the soft output decoding circuit 40 performs the probability log likelihood Iα in each state.t, IβtBy performing decoding using the difference value between these values, it is possible to reduce the circuit scale and speed up the processing without degrading the performance, with simple and few arithmetic processing.
[0203]
The present invention can apply various soft output decoding including such an algorithm as a soft output decoding circuit corresponding to an accumulator in an encoding apparatus.
[0204]
Furthermore, in the above-described embodiment, the encoding device and the decoding device have been described as being applied to a transmission device and a reception device in a data transmission / reception system. It can also be applied to a recording and / or reproducing apparatus that performs recording and / or reproduction on a recording medium such as a magnetic, optical or magneto-optical disk. In this case, the data encoded by the encoding device is recorded on a recording medium equivalent to the memoryless communication path, and is decoded and reproduced by the decoding device.
[0205]
As described above, it goes without saying that the present invention can be modified as appropriate without departing from the spirit of the present invention.
[0206]
【The invention's effect】
As described above in detail, the encoding apparatus according to the present invention is an encoding apparatus that performs column concatenated encoding on input data, and the first code is encoded on the input data. A first encoding unit that performs encoding, a replacement unit that replaces and rearranges the order of each bit constituting the data encoded by the first encoding unit, and the data supplied from the replacement unit And a second encoding means for encoding the second code. At least one of the first encoding means and the second encoding means is configured to input data to the input data. On the other hand, parity check coding for adding 1-bit parity for each predetermined unit is performed.
[0207]
Therefore, the coding apparatus according to the present invention performs a parity check coding by at least one of the first coding means or the second coding means, thereby achieving a desired high coding rate. Can perform high-performance encoding.
[0208]
An encoding method according to the present invention is an encoding method for performing serially concatenated encoding on input data, and includes a first code for encoding a first code on input data. An encoding step, a replacement step of replacing the order of each bit constituting the data encoded in the first encoding step, and rearranging the data rearranged in the replacement step. A second encoding step for encoding the code of 2, and at least one of the first encoding step and the second encoding step is predetermined for the input data Parity check coding is performed to add 1-bit parity for each unit.
[0209]
Therefore, the encoding method according to the present invention performs desired high encoding by performing parity check encoding in at least one of the first encoding step and the second encoding step. It is possible to perform high performance encoding at a rate.
[0210]
Furthermore, the decoding device according to the present invention comprises first encoding means for encoding the first code for the input data, and data encoded by the first encoding means. First replacement means for replacing the order of each bit and rearranging; and second encoding means for encoding a second code for the data supplied from the first replacement means, At least one of the first encoding unit and the second encoding unit is a code that performs parity check encoding that adds 1-bit parity to input data for each predetermined unit. A decoding device that decodes a code that is serially concatenated encoded by an encoding device, is provided corresponding to the second encoding means, and includes a received value that is an input soft input and an input soft input Using prior probability information for a certain information bit A first soft output decoding means for performing soft output decoding, and a bit arrangement of data connected to the first soft output decoding means in a column and rearranged by the first replacement means; A reverse permutation means for rearranging the input soft-input data so as to return to the bit arrangement of the data encoded by the first encoding means, and a column connected to the reverse permutation means. Second soft output decoding means for performing soft output decoding using prior probability information for code bits that are soft inputs output from the inverse permutation means and prior probability information for information bits that are input soft inputs; Second replacement means for replacing the order of each bit constituting the soft input data output from the second soft output decoding means and rearranging based on the same replacement position information as the first replacement means; The first soft output recovery It means, as a priori probability information for the information bits, and inputs the data of the soft-input output from the second replacement means.
[0211]
Therefore, the decoding apparatus according to the present invention provides a high-accuracy code that has been subjected to parity check coding by at least one of the first coding means and the second coding means included in the coding device. Can be decrypted.
[0212]
Furthermore, the decoding method according to the present invention includes a first encoding step for encoding the first code for the input data, and the data encoded in the first encoding step. A first replacement step of rearranging the rearranged bits in order, and a second encoding step of encoding a second code for the data rearranged in the first replacement step And at least one of the first encoding step and the second encoding step, a parity check code that adds 1-bit parity for each predetermined unit to the input data A decoding method for decoding a serially concatenated code by an encoding method for performing encoding, provided in correspondence with the second encoding step, and an input received value that is a soft input Prior probability information for information bits that are soft inputs A first soft output decoding step for performing soft output decoding using the bit sequence of the data rearranged in the first substitution step, and the bits of the data encoded in the first encoding step An inverse permutation step for rearranging input soft input data so as to return to the array and a code bit that is a soft input rearranged in the reverse permutation step, corresponding to the first encoding step. A second soft output decoding step for performing soft output decoding using prior probability information and prior probability information for information bits that are input soft inputs, and based on the same replacement position information as in the first replacement step A second replacement step of rearranging and rearranging the order of each bit constituting the soft input data generated in the second soft output decoding step, and in the first soft output decoding step, information bits As prior probability information for the second To enter the data of the soft-input sorted by the conversion process.
[0213]
Therefore, the decoding method according to the present invention increases the code subjected to parity check encoding in at least one of the first encoding step and the second encoding step included in the encoding method. It enables decoding with high accuracy.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a communication model to which a data transmission / reception system shown as an embodiment of the present invention is applied.
FIG. 2 is a block diagram illustrating a configuration of an encoding device in the data transmission / reception system shown as the first embodiment of the present invention.
FIG. 3 is a block diagram illustrating a configuration of an interleaver included in the encoding device.
FIG. 4 is a block diagram illustrating a configuration of an accumulator included in the encoding device.
FIG. 5 is a diagram for explaining a trellis in the accumulator shown in FIG. 4;
FIG. 6 is a block diagram illustrating a configuration of a decoding device in the data transmission / reception system.
FIG. 7 is a block diagram illustrating a configuration of a soft output decoding circuit that performs decoding of an inner code included in a decoding device.
FIG. 8 is a block diagram illustrating a configuration of a soft output decoding circuit that performs decoding of an outer code included in a decoding device.
FIG. 9 is a diagram illustrating a function f.
FIG. 10 is a block diagram illustrating a configuration of an encoding device in a data transmission / reception system shown as a second embodiment of the present invention.
FIG. 11 is a diagram for explaining input data and encoded data for explaining an operation in a setter included in the encoding device, in which (A) is output from a parity check encoder included in the encoding device; (B) is a figure which shows the input data input into a parity check encoder.
FIG. 12 is a block diagram illustrating a configuration of a decoding device in the data transmission / reception system.
FIG. 13 is a block diagram illustrating a configuration of a rate conversion circuit included in the decoding device.
FIG. 14 is a block diagram illustrating a configuration of a soft output decoding circuit that performs decoding of an outer code included in a decoding device, and adds a parity in units of 3 bits and decodes a parity check encoded code It is a block diagram explaining the structure of a decoding circuit.
FIG. 15 is a block diagram illustrating a configuration of a soft output decoding circuit that performs decoding of an outer code included in a decoding device, and adds a parity in units of 5 bits to decode a parity check encoded code; It is a block diagram explaining the structure of a decoding circuit.
16 is a block diagram illustrating a configuration of an accumulator included in the encoding device, and is a block diagram illustrating a configuration of an accumulator different from the accumulator illustrated in FIG. 4. FIG.
FIG. 17 is a block diagram illustrating a configuration of a soft output decoding circuit included in a decoding device, and a probability log likelihood IαtIt is a block diagram which shows the part which calculates.
FIG. 18 is a block diagram illustrating a configuration of a soft output decoding circuit included in a decoding device, and a probability log likelihood IβtIt is a block diagram which shows the part which calculates.
FIG. 19 is a block diagram illustrating a configuration of a soft output decoding circuit included in a decoding device, and a logarithmic soft output IλtIt is a block diagram which shows the part which calculates.
FIG. 20: Probability log likelihood IγtIt is a figure explaining the matrix which shows.
FIG. 21 is a block diagram illustrating a configuration of a communication model.
FIG. 22 is a block diagram illustrating a configuration of a conventional encoding device.
FIG. 23 is a block diagram illustrating a configuration of a conventional decoding device.
[Explanation of symbols]
1, 1 'encoder, 3, 3' decoder, 10, 10 'parity check encoder, 20, 60 interleaver, 30, 30' accumulator, 40, 90, 901, 902  Soft output decoding circuit, 50 deinterleaver, 70, 70 ', 80, 80' rate conversion circuit, 100 binarization circuit, 110 setter, 91, 92, 93, 911, 921, 931, 941, 912, 922, 932, 942, 952, 962, 131, 135, 138 arithmetic circuit, 133, 136 registers

Claims (26)

入力されたデータに対して縦列連接符号化を行う符号化装置であって、
入力されたデータに対して第1の符号の符号化を行う第1の符号化手段と、
上記第1の符号化手段により符号化されたデータを構成する各ビットの順序を置換して並べ替える置換手段と、
上記置換手段から供給されたデータに対して第2の符号の符号化を行う第2の符号化手段とを備え、
上記第1の符号化手段又は上記第2の符号化手段のうち、少なくとも一方の符号化手段は、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行い、
上記第1の符号化手段又は上記第2の符号化手段のうち、パリティ検査符号化を行う符号化手段においてパリティを付加する単位の分布を設定する設定手段を備え、
上記第1の符号化手段又は上記第2の符号化手段のうち、パリティ検査符号化を行う符号化手段は、上記設定手段による設定内容に応じて、入力されたデータに対してパリティを付加する単位を変化させることを特徴とする符号化装置。
An encoding device that performs column concatenated encoding on input data,
First encoding means for encoding the first code for the input data;
Replacing means for replacing the order of each bit constituting the data encoded by the first encoding means;
Second encoding means for encoding a second code for the data supplied from the replacement means,
At least one of the first encoding unit and the second encoding unit performs parity check encoding that adds 1-bit parity to the input data for each predetermined unit. There line,
Of the first encoding means or the second encoding means, the encoding means for performing parity check encoding comprises setting means for setting a distribution of units for adding parity,
Of the first encoding means or the second encoding means, the encoding means for performing parity check encoding adds parity to the input data according to the setting contents of the setting means. An encoding apparatus characterized by changing a unit.
上記設定手段は、上記パリティ検査符号化を行う符号化手段に入力されたデータの総ビット数、上記符号化手段で行う符号化の符号化率及びパリティを付加する単位に応じて、上記符号化手段に入力されたデータに対してパリティを付加する単位の分布を設定することを特徴とする請求項記載の符号化装置。The setting means performs the coding according to the total number of bits of data input to the coding means for performing the parity check coding, the coding rate of coding performed by the coding means, and a unit for adding parity. encoding apparatus according to claim 1, wherein setting the distribution unit for adding parity to the input data to the device. 上記第1の符号化手段又は上記第2の符号化手段のうち、上記パリティ検査符号化を行う符号化手段以外の符号化手段は、累積加算による畳み込み符号化を行うことを特徴とする請求項1記載の符号化装置。  The coding means other than the coding means for performing the parity check coding in the first coding means or the second coding means performs convolutional coding by cumulative addition. The encoding device according to 1. 入力されたデータに対して縦列連接符号化を行う符号化方法であって、
入力されたデータに対して第1の符号の符号化を行う第1の符号化工程と、
上記第1の符号化工程にて符号化されたデータを構成する各ビットの順序を置換して並べ替える置換工程と、
上記置換工程にて並べ替えられたデータに対して第2の符号の符号化を行う第2の符号化工程とを備え、
上記第1の符号化工程又は上記第2の符号化工程のうち、少なくとも一方の符号化工程では、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行い、
上記第1の符号化工程又は上記第2の符号化工程のうち、パリティ検査符号化を行う符号化工程では、パリティを付加する単位の分布が設定され、この設定内容に応じて、入力されたデータに対してパリティを付加する単位を変化させることを特徴とする符号化方法。
An encoding method for performing column concatenated encoding on input data,
A first encoding step for encoding the first code for the input data;
A replacement step of replacing and rearranging the order of each bit constituting the data encoded in the first encoding step;
A second encoding step for encoding a second code for the data rearranged in the replacement step,
In at least one of the first encoding step and the second encoding step, parity check encoding is performed to add 1-bit parity to the input data for each predetermined unit. There line,
Of the first encoding step or the second encoding step, in the encoding step for performing parity check encoding, the distribution of units to which parity is added is set and input according to the setting content. An encoding method comprising changing a unit for adding parity to data .
上記パリティ検査符号化を行う符号化工程では、入力されたデータの総ビット数、当該符号化工程で行う符号化の符号化率及びパリティを付加する単位に応じて、入力されたデータに対してパリティを付加する単位の分布が設定されることを特徴とする請求項記載の符号化方法。In the encoding process for performing the parity check encoding, the input data is subjected to the total number of bits of the input data, the coding rate of the encoding performed in the encoding process, and the unit for adding the parity. 5. The encoding method according to claim 4 , wherein a distribution of units for adding parity is set. 上記第1の符号化工程又は上記第2の符号化工程のうち、上記パリティ検査符号化を行う符号化工程以外の符号化工程では、累積加算による畳み込み符号化を行うことを特徴とする請求項記載の符号化方法。The convolutional encoding by cumulative addition is performed in an encoding step other than the encoding step in which the parity check encoding is performed in the first encoding step or the second encoding step. 4. The encoding method according to 4 . 入力されたデータに対して第1の符号の符号化を行う第1の符号化手段と、上記第1の符号化手段により符号化されたデータを構成する各ビットの順序を置換して並べ替える第1の置換手段と、上記第1の置換手段から供給されたデータに対して第2の符号の符号化を行う第2の符号化手段とを備え、上記第1の符号化手段又は上記第2の符号化手段のうち、少なくとも一方の符号化手段は、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行う符号化機器により縦列連接符号化された符号の復号を行う復号装置であって、
上記第2の符号化手段に対応して備えられ、入力された軟入力である受信値と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第1の軟出力復号手段と、
上記第1の軟出力復号手段に縦列に連接し、上記第1の置換手段により並べ替えられたデータのビット配列を、上記第1の符号化手段により符号化されたデータのビット配列に戻すように、入力された軟入力のデータを並べ替える逆置換手段と、
上記逆置換手段から出力されたデータのクロックレートを変換する第1のレート変換手段と、
上記第1の符号化手段に対応して備えられ、入力された軟入力である符号ビットに対する事前確率情報と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第2の軟出力復号手段と、
上記第2の軟出力復号手段から出力されたデータのクロックレートを変換する第2のレート変換手段と、
上記第1の置換手段と同一の置換位置情報に基づいて、入力された軟入力のデータを構成する各ビットの順序を置換して並べ替える第2の置換手段とを備え、
上記第1の軟出力復号手段は、上記情報ビットに対する事前確率情報として、上記第2の置換手段から出力された軟入力のデータを入力することを特徴とする復号装置。
A first encoding means for encoding the first code for the input data and the order of each bit constituting the data encoded by the first encoding means are replaced and rearranged. A first replacement unit; and a second encoding unit that performs encoding of a second code on the data supplied from the first replacement unit, and the first encoding unit or the first encoding unit. Among the two encoding means, at least one of the encoding means is subjected to cascade concatenated encoding by an encoding device that performs parity check encoding that adds 1-bit parity to input data for each predetermined unit. A decoding device for decoding the received code,
A first output that is provided corresponding to the second encoding means and performs a soft output decoding using a received value that is an input soft input and prior probability information for an information bit that is an input soft input Soft output decoding means;
The bit array of the data connected in a column to the first soft output decoding means and rearranged by the first replacing means is returned to the bit array of the data encoded by the first encoding means. And reverse replacement means for rearranging the input soft input data,
First rate conversion means for converting the clock rate of the data output from the reverse replacement means;
Soft output decoding is performed using prior probability information for a code bit that is an input soft input and prior probability information for an information bit that is an input soft input, provided corresponding to the first encoding means. Second soft output decoding means for performing;
Second rate conversion means for converting the clock rate of the data output from the second soft output decoding means;
Based on the same replacement position information as the first replacement means, second replacement means for replacing the order of each bit constituting the input soft input data and rearranging,
The decoding apparatus according to claim 1, wherein the first soft output decoding means inputs soft input data output from the second replacement means as prior probability information for the information bits.
上記第2の軟出力復号手段により生成された軟出力の外部情報を2値化し、硬出力の復号データとして出力する2値化手段を備えることを特徴とする請求項記載の復号装置。8. The decoding apparatus according to claim 7, further comprising: binarizing means for binarizing the external information of the soft output generated by the second soft output decoding means and outputting it as hard output decoded data. 入力されたデータに対して第1の符号の符号化を行う第1の符号化手段と、上記第1の符号化手段により符号化されたデータを構成する各ビットの順序を置換して並べ替える第1の置換手段と、上記第1の置換手段から供給されたデータに対して第2の符号の符号化を行う第2の符号化手段とを備え、上記第1の符号化手段又は上記第2の符号化手段のうち、少なくとも一方の符号化手段は、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行う符号化機器により縦列連接符号化された符号の復号を行う復号装置であって、A first encoding means for encoding the first code for the input data and the order of each bit constituting the data encoded by the first encoding means are replaced and rearranged. A first replacement unit; and a second encoding unit that performs encoding of a second code on the data supplied from the first replacement unit, and the first encoding unit or the first encoding unit. Among the two encoding means, at least one of the encoding means is subjected to cascade concatenated encoding by an encoding device that performs parity check encoding that adds 1-bit parity to input data for each predetermined unit. A decoding device for decoding the received code,
上記第2の符号化手段に対応して備えられ、入力された軟入力である受信値と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第1の軟出力復号手段と、A first output that is provided corresponding to the second encoding means and performs a soft output decoding using a received value that is an input soft input and prior probability information for an information bit that is an input soft input Soft output decoding means;
上記第1の軟出力復号手段に縦列に連接し、上記第1の置換手段により並べ替えられたデータのビット配列を、上記第1の符号化手段により符号化されたデータのビット配列に戻すように、入力された軟入力のデータを並べ替える逆置換手段と、The bit array of the data connected in a column to the first soft output decoding means and rearranged by the first replacing means is returned to the bit array of the data encoded by the first encoding means. And reverse replacement means for rearranging the input soft input data,
上記第1の符号化手段に対応して備えられ、入力された軟入力である符号ビットに対する事前確率情報と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第2の軟出力復号手段と、Soft output decoding is performed using prior probability information for a code bit that is an input soft input and prior probability information for an information bit that is an input soft input, provided corresponding to the first encoding means. Second soft output decoding means for performing;
上記第1の置換手段と同一の置換位置情報に基づいて、入力された軟入力のデータを構成する各ビットの順序を置換して並べ替える第2の置換手段とを備え、Based on the same replacement position information as the first replacement means, second replacement means for replacing the order of each bit constituting the input soft input data and rearranging,
上記第1の軟出力復号手段は、上記情報ビットに対する事前確率情報として、上記第2の置換手段から出力された軟入力のデータを入力し、The first soft output decoding means inputs soft input data output from the second replacement means as prior probability information for the information bits,
上記符号化機器は、上記第1の符号化手段又は上記第2の符号化手段のうち、パリティ検査符号化を行う符号化手段においてパリティを付加する単位の分布を設定する設定手段を備えており、The encoding device includes setting means for setting a distribution of units for adding parity in the encoding means for performing parity check encoding among the first encoding means or the second encoding means. ,
上記第1の符号化手段又は上記第2の符号化手段のうち、パリティ検査符号化を行う符号化手段は、上記設定手段による設定内容に応じて、入力されたデータに対してパリティを付加する単位を変化させるものであることを特徴とする復号装置。Of the first encoding means or the second encoding means, the encoding means for performing parity check encoding adds parity to the input data according to the setting contents of the setting means. A decoding apparatus characterized by changing a unit.
上記第1の軟出力復号手段又は上記第2の軟出力復号手段のうち、上記パリティ検査符号化を行う符号化手段に対応して備えられる軟出力復号手段は、上記パリティ検査符号化を行う符号化手段によるパリティ検査符号化の上記単位に応じた個々の軟出力復号手段を有しており、
上記逆置換手段から出力されたデータのクロックレートを変換する第1のレート変換手段と、
上記第1のレート変換手段によりクロックレートが変換されたデータを上記個々の軟出力復号手段に分配する分配手段とを備えることを特徴とする請求項記載の復号装置。
Of the first soft output decoding means or the second soft output decoding means, the soft output decoding means provided corresponding to the coding means for performing the parity check coding is a code for performing the parity check coding. Individual soft output decoding means corresponding to the above unit of parity check encoding by the encoding means,
First rate conversion means for converting the clock rate of the data output from the reverse replacement means;
10. The decoding apparatus according to claim 9 , further comprising distribution means for distributing the data whose clock rate has been converted by the first rate conversion means to the individual soft output decoding means.
上記設定手段は、上記パリティ検査符号化を行う符号化手段に入力されたデータの総ビット数、上記符号化手段で行う符号化の符号化率及びパリティを付加する単位に応じて、上記符号化手段に入力されたデータに対してパリティを付加する単位の分布を設定するものであることを特徴とする請求項記載の復号装置。The setting means performs the coding according to the total number of bits of data input to the coding means for performing the parity check coding, the coding rate of coding performed by the coding means, and a unit for adding parity. 10. The decoding apparatus according to claim 9 , wherein a distribution of units for adding a parity to data input to the means is set. 上記第1の符号化手段又は上記第2の符号化手段のうち、上記パリティ検査符号化を行う符号化手段以外の符号化手段は、累積加算による畳み込み符号化を行うものであることを特徴とする請求項7又は9記載の復号装置。Of the first encoding means or the second encoding means, the encoding means other than the encoding means for performing the parity check encoding performs convolutional encoding by cumulative addition. The decoding device according to claim 7 or 9. 上記第1の軟出力復号手段又は上記第2の軟出力復号手段のうち、上記パリティ検査符号化を行う符号化手段に対応して備えられる軟出力復号手段は、BCJRアルゴリズム、Max−Log−BCJRアルゴリズム又はLog−BCJRアルゴリズムに基づく最大事後確率復号を行うことを特徴とする請求項7又は9記載の復号装置。Of the first soft output decoding means or the second soft output decoding means, the soft output decoding means provided corresponding to the coding means for performing the parity check coding includes a BCJR algorithm, Max-Log-BCJR. 10. The decoding apparatus according to claim 7, wherein maximum a posteriori probability decoding is performed based on an algorithm or a Log-BCJR algorithm. 上記第1の軟出力復号手段又は上記第2の軟出力復号手段のうち、上記パリティ検査符号化を行う符号化手段に対応して備えられる軟出力復号手段は、入力されたデータである事前確率情報を対数尤度表記して対数尤度の形式で扱う場合には、上記事前確率情報を変数とする下記一般式(1)及び下記一般式(2)で表される演算を行う演算手段を有し、
上記演算手段により演算された結果を用いて、軟出力の外部情報を生成することを特徴とする請求項7又は9記載の復号装置。
Figure 0004505953
Figure 0004505953
(ただし、A,B,A0,A1,・・・,Anは、変数であり、logは、ネピヤの数eを底とする自然対数であり、$は、演算子である。)
Of the first soft output decoding means or the second soft output decoding means, the soft output decoding means provided corresponding to the encoding means for performing the parity check encoding is a prior probability that is input data. In the case where information is expressed in logarithmic likelihood and handled in the form of logarithmic likelihood, an arithmetic means for performing an arithmetic operation represented by the following general formula (1) and the following general formula (2) using the prior probability information as a variable is provided. Have
10. The decoding apparatus according to claim 7 , wherein soft output external information is generated using a result calculated by the calculating means.
Figure 0004505953
Figure 0004505953
(However, A, B, A 0 , A 1 ,..., An are variables, log is a natural logarithm based on the number e of Nepeya, and $ is an operator.)
上記第1の軟出力復号手段又は上記第2の軟出力復号手段のうち、上記パリティ検査符号化を行う符号化手段以外の符号化手段に対応して備えられる軟出力復号手段は、BCJRアルゴリズム、Max−Log−BCJRアルゴリズム又はLog−BCJRアルゴリズムに基づく最大事後確率復号を行うことを特徴とする請求項7又は9記載の復号装置。Of the first soft output decoding means or the second soft output decoding means, the soft output decoding means provided corresponding to the encoding means other than the encoding means for performing the parity check encoding is a BCJR algorithm, 10. The decoding device according to claim 7, wherein maximum a posteriori probability decoding is performed based on a Max-Log-BCJR algorithm or a Log-BCJR algorithm. 上記第1の軟出力復号手段又は上記第2の軟出力復号手段のうち、上記パリティ検査符号化を行う符号化手段以外の符号化手段に対応して備えられる軟出力復号手段は、少なくとも各ステートにおける確率対数尤度の差分値を変数の一部とする下記一般式(3)及び下記一般式(4)で表される演算を行う演算手段を有し、
上記演算手段により演算された結果を用いて、各時刻における軟出力を自然対数を用いて対数尤度表記した対数軟出力を算出することを特徴とする請求項7又は9記載の復号装置。
Figure 0004505953
Figure 0004505953
(ただし、A,B,A0,A1,・・・,Anは、変数であり、logは、ネピヤの数eを底とする自然対数であり、$は、演算子である。)
Of the first soft output decoding means or the second soft output decoding means, the soft output decoding means provided corresponding to the encoding means other than the encoding means for performing the parity check encoding includes at least each state. A calculation means for performing a calculation represented by the following general formula (3) and the following general formula (4) using the difference value of the probability logarithmic likelihood in
10. The decoding apparatus according to claim 7, wherein a logarithmic soft output in which a soft output at each time is expressed by a logarithmic likelihood notation using a natural logarithm is calculated using a result calculated by the calculating means.
Figure 0004505953
Figure 0004505953
(However, A, B, A 0 , A 1 ,..., An are variables, log is a natural logarithm based on the number e of Nepeya, and $ is an operator.)
入力されたデータに対して第1の符号の符号化を行う第1の符号化工程と、上記第1の符号化工程にて符号化されたデータを構成する各ビットの順序を置換して並べ替える第1の置換工程と、上記第1の置換工程にて並べ替えられたデータに対して第2の符号の符号化を行う第2の符号化工程とを備え、上記第1の符号化工程又は上記第2の符号化工程のうち、少なくとも一方の符号化工程では、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行う符号化方法により縦列連接符号化された符号の復号を行う復号方法であって、
上記第2の符号化工程に対応して備えられ、入力された軟入力である受信値と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第1の軟出力復号工程と、
上記第1の置換工程にて並べ替えられたデータのビット配列を、上記第1の符号化工程にて符号化されたデータのビット配列に戻すように、入力された軟入力のデータを並べ替える逆置換工程と、
上記逆置換工程にて並べ替えられたデータのクロックレートを変換する第1のレート変換工程と、
上記第1の符号化工程に対応して備えられ、入力された軟入力である符号ビットに対する事前確率情報と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第2の軟出力復号工程と、
上記第2の軟出力復号工程にて生成されたデータのクロックレートを変換する第2のレート変換工程と、
上記第1の置換工程と同一の置換位置情報に基づいて、入力された軟入力のデータを構成する各ビットの順序を置換して並べ替える第2の置換工程とを備え、
上記第1の軟出力復号工程では、上記情報ビットに対する事前確率情報として、上記第2の置換工程にて並べ替えられた軟入力のデータを入力することを特徴とする復号方法。
A first encoding process for encoding the first code for the input data, and the order of each bit constituting the data encoded in the first encoding process are replaced and arranged. A first substituting step for switching, and a second encoding step for encoding a second code for the data rearranged in the first substituting step, wherein the first encoding step Alternatively, in at least one of the second encoding steps, tandem concatenation is performed by an encoding method that performs parity check encoding that adds 1-bit parity to input data for each predetermined unit. A decoding method for decoding an encoded code, comprising:
A first output that is provided corresponding to the second encoding step and performs soft output decoding by using a received value that is an input soft input and prior probability information for an information bit that is an input soft input. A soft output decoding step;
The input soft input data is rearranged so that the bit arrangement of the data rearranged in the first replacement step is returned to the bit arrangement of the data encoded in the first encoding step. A reverse substitution step;
A first rate conversion step of converting a clock rate of the data rearranged in the reverse replacement step;
Soft output decoding is performed using a priori probability information for a code bit that is an input soft input and a priori probability information for an information bit that is an input soft input, provided corresponding to the first encoding step. A second soft output decoding step to perform;
A second rate conversion step of converting the clock rate of the data generated in the second soft output decoding step;
Based on the same replacement position information as in the first replacement step, a second replacement step of replacing the order of each bit constituting the input soft input data and rearranging,
In the first soft output decoding step, the soft input data rearranged in the second replacement step is input as prior probability information for the information bits.
上記第2の軟出力復号工程にて生成された軟出力の外部情報を2値化し、硬出力の復号データとして出力する2値化工程を備えることを特徴とする請求項17記載の復号方法。18. The decoding method according to claim 17, further comprising: a binarization step of binarizing the soft output external information generated in the second soft output decoding step and outputting it as hard output decoded data. 入力されたデータに対して第1の符号の符号化を行う第1の符号化工程と、上記第1の符号化工程にて符号化されたデータを構成する各ビットの順序を置換して並べ替える第1の置換工程と、上記第1の置換工程にて並べ替えられたデータに対して第2の符号の符号化を行う第2の符号化工程とを備え、上記第1の符号化工程又は上記第2の符号化工程のうち、少なくとも一方の符号化工程では、入力されたデータに対して所定の単位毎に1ビットのパリティを付加するパリティ検査符号化を行う符号化方法により縦列連接符号化された符号の復号を行う復号方法であって、A first encoding step for encoding the first code for the input data, and the order of each bit constituting the data encoded in the first encoding step are replaced and arranged. A first substituting step for switching, and a second encoding step for encoding a second code for the data rearranged in the first substituting step, wherein the first encoding step Alternatively, in at least one of the second encoding steps, tandem concatenation is performed by an encoding method that performs parity check encoding that adds 1-bit parity to input data for each predetermined unit. A decoding method for decoding an encoded code, comprising:
上記第2の符号化工程に対応して備えられ、入力された軟入力である受信値と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第1の軟出力復号工程と、A first output that is provided corresponding to the second encoding step and performs soft output decoding by using a received value that is an input soft input and prior probability information for an information bit that is an input soft input. A soft output decoding step;
上記第1の置換工程にて並べ替えられたデータのビット配列を、上記第1の符号化工程にて符号化されたデータのビット配列に戻すように、入力された軟入力のデータを並べ替える逆置換工程と、The input soft input data is rearranged so that the bit arrangement of the data rearranged in the first replacement step is returned to the bit arrangement of the data encoded in the first encoding step. A reverse substitution step;
上記第1の符号化工程に対応して備えられ、入力された軟入力である符号ビットに対する事前確率情報と、入力された軟入力である情報ビットに対する事前確率情報とを用いて軟出力復号を行う第2の軟出力復号工程と、Soft output decoding is performed using a priori probability information for a code bit that is an input soft input and a priori probability information for an information bit that is an input soft input, provided corresponding to the first encoding step. A second soft output decoding step to perform;
上記第1の置換工程と同一の置換位置情報に基づいて、入力された軟入力のデータを構成する各ビットの順序を置換して並べ替える第2の置換工程とを備え、Based on the same replacement position information as in the first replacement step, a second replacement step of replacing the order of each bit constituting the input soft input data and rearranging,
上記第1の軟出力復号工程では、上記情報ビットに対する事前確率情報として、上記第2の置換工程にて並べ替えられた軟入力のデータを入力し、In the first soft output decoding step, the soft input data rearranged in the second replacement step is input as prior probability information for the information bits,
上記第1の符号化工程又は上記第2の符号化工程のうち、パリティ検査符号化を行う符号化工程では、パリティを付加する単位の分布が設定され、この設定内容に応じて、入力されたデータに対してパリティを付加する単位を変化させていることを特徴とする復号方法。Of the first encoding step or the second encoding step, in the encoding step for performing parity check encoding, the distribution of units to which parity is added is set and input according to the setting content. A decoding method, wherein a unit for adding parity to data is changed.
上記第1の軟出力復号工程又は上記第2の軟出力復号工程のうち、上記パリティ検査符号化を行う符号化工程に対応して備えられる軟出力復号工程は、上記パリティ検査符号化を行う符号化工程によるパリティ検査符号化の上記単位に応じた個々の軟出力復号工程を有しており、
上記逆置換工程にて並べ替えられたデータのクロックレートを変換する第1のレート変換工程と、
上記第1のレート変換工程にてクロックレートが変換されたデータを上記個々の軟出力復号工程に分配する分配工程とを備えることを特徴とする請求項19記載の復号方法。
Of the first soft output decoding step or the second soft output decoding step, the soft output decoding step provided corresponding to the encoding step for performing the parity check encoding is a code for performing the parity check encoding. Each soft output decoding step according to the above unit of parity check encoding by the encoding step,
A first rate conversion step of converting a clock rate of the data rearranged in the reverse replacement step;
20. The decoding method according to claim 19, further comprising a distribution step of distributing the data whose clock rate has been converted in the first rate conversion step to the individual soft output decoding steps.
上記パリティ検査符号化を行う符号化工程では、入力されたデータの総ビット数、当該符号化工程で行う符号化の符号化率及びパリティを付加する単位に応じて、入力されたデータに対してパリティを付加する単位の分布が設定されていることを特徴とする請求項19記載の復号方法。In the encoding process for performing the parity check encoding, the input data is subjected to the total number of bits of the input data, the coding rate of the encoding performed in the encoding process, and the unit for adding the parity. 20. The decoding method according to claim 19 , wherein a distribution of units for adding parity is set. 上記第1の符号化工程又は上記第2の符号化工程のうち、上記パリティ検査符号化を行う符号化工程以外の符号化工程では、累積加算による畳み込み符号化が行われていることを特徴とする請求項17又は19記載の復号方法。Of the first encoding step or the second encoding step, convolutional encoding by cumulative addition is performed in an encoding step other than the encoding step for performing the parity check encoding. The decoding method according to claim 17 or 19 . 上記第1の軟出力復号工程又は上記第2の軟出力復号工程のうち、上記パリティ検査符号化を行う符号化工程に対応して備えられる軟出力復号工程では、BCJRアルゴリズム、Max−Log−BCJRアルゴリズム又はLog−BCJRアルゴリズムに基づく最大事後確率復号を行うことを特徴とする請求項17又は19記載の復号方法。Of the first soft output decoding step or the second soft output decoding step, in the soft output decoding step provided corresponding to the coding step for performing the parity check coding, a BCJR algorithm, Max-Log-BCJR 20. The decoding method according to claim 17 or 19 , wherein maximum a posteriori probability decoding is performed based on an algorithm or a Log-BCJR algorithm. 上記第1の軟出力復号工程又は上記第2の軟出力復号工程のうち、上記パリティ検査符号化を行う符号化工程に対応して備えられる軟出力復号工程は、入力されたデータである事前確率情報を対数尤度表記して対数尤度の形式で扱う場合には、上記事前確率情報を変数とする下記一般式(5)及び下記一般式(6)で表される演算を行う演算工程を有し、
上記演算工程にて演算された結果を用いて、軟出力の外部情報を生成することを特徴とする請求項17又は19記載の復号方法。
Figure 0004505953
Figure 0004505953
(ただし、A,B,A0,A1,・・・,Anは、変数であり、logは、ネピヤの数eを底とする自然対数であり、$は、演算子である。)
Of the first soft output decoding step or the second soft output decoding step, the soft output decoding step provided corresponding to the encoding step for performing the parity check encoding is a prior probability that is input data. When information is expressed in log-likelihood notation and handled in the form of log-likelihood, an operation step of performing an operation represented by the following general formula (5) and the following general formula (6) using the prior probability information as a variable is performed. Have
20. The decoding method according to claim 17 , wherein soft output external information is generated using a result calculated in the calculation step.
Figure 0004505953
Figure 0004505953
(However, A, B, A 0 , A 1 ,..., An are variables, log is a natural logarithm based on the number e of Nepeya, and $ is an operator.)
上記第1の軟出力復号工程又は上記第2の軟出力復号工程のうち、上記パリティ検査符号化を行う符号化工程以外の符号化工程に対応して備えられる軟出力復号工程では、BCJRアルゴリズム、Max−Log−BCJRアルゴリズム又はLog−BCJRアルゴリズムに基づく最大事後確率復号を行うことを特徴とする請求項17又は19記載の復号方法。Among the first soft output decoding step or the second soft output decoding step, in the soft output decoding step provided corresponding to the encoding step other than the encoding step for performing the parity check encoding, the BCJR algorithm, The decoding method according to claim 17 or 19 , wherein maximum a posteriori probability decoding is performed based on a Max-Log-BCJR algorithm or a Log-BCJR algorithm. 上記第1の軟出力復号工程又は上記第2の軟出力復号工程のうち、上記パリティ検査符号化を行う符号化工程以外の符号化工程に対応して備えられる軟出力復号工程は、少なくとも各ステートにおける確率対数尤度の差分値を変数の一部とする下記一般式(7)及び下記一般式(8)で表される演算を行う演算工程を有し、
上記演算工程にて演算された結果を用いて、各時刻における軟出力を自然対数を用いて対数尤度表記した対数軟出力を算出することを特徴とする請求項17又は19記載の復号方法。
Figure 0004505953
Figure 0004505953
(ただし、A,B,A0,A1,・・・,Anは、変数であり、logは、ネピヤの数eを底とする自然対数であり、$は、演算子である。)
Of the first soft output decoding step or the second soft output decoding step, the soft output decoding step provided corresponding to the encoding step other than the encoding step for performing the parity check encoding includes at least each state. A calculation step of performing the calculation represented by the following general formula (7) and the following general formula (8) using the difference value of the probability logarithmic likelihood in
20. The decoding method according to claim 17 or 19 , wherein a logarithmic soft output in which a soft output at each time is expressed using a logarithmic likelihood is expressed using a result calculated in the calculating step.
Figure 0004505953
Figure 0004505953
(However, A, B, A 0 , A 1 ,..., An are variables, log is a natural logarithm based on the number e of Nepeya, and $ is an operator.)
JP2000172678A 2000-06-08 2000-06-08 Encoding apparatus and encoding method, and decoding apparatus and decoding method Expired - Fee Related JP4505953B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000172678A JP4505953B2 (en) 2000-06-08 2000-06-08 Encoding apparatus and encoding method, and decoding apparatus and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000172678A JP4505953B2 (en) 2000-06-08 2000-06-08 Encoding apparatus and encoding method, and decoding apparatus and decoding method

Publications (2)

Publication Number Publication Date
JP2001352252A JP2001352252A (en) 2001-12-21
JP4505953B2 true JP4505953B2 (en) 2010-07-21

Family

ID=18675037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000172678A Expired - Fee Related JP4505953B2 (en) 2000-06-08 2000-06-08 Encoding apparatus and encoding method, and decoding apparatus and decoding method

Country Status (1)

Country Link
JP (1) JP4505953B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4833173B2 (en) 2006-10-30 2011-12-07 富士通株式会社 Decoder, encoding / decoding device, and recording / reproducing device
DK2056464T3 (en) 2007-10-30 2013-02-18 Sony Corp Data processing device and method
TWI538415B (en) 2007-11-26 2016-06-11 Sony Corp Data processing device and data processing method
TWI459724B (en) 2007-11-26 2014-11-01 Sony Corp Data processing device and data processing method
TWI410055B (en) 2007-11-26 2013-09-21 Sony Corp Data processing device, data processing method and program product for performing data processing method on computer
TWI390856B (en) 2007-11-26 2013-03-21 Sony Corp Data processing device and data processing method
TW201010295A (en) * 2007-11-26 2010-03-01 Sony Corp Data processing device and data processing method
TWI497920B (en) * 2007-11-26 2015-08-21 Sony Corp Data processing device and data processing method
JP5735741B2 (en) 2009-11-30 2015-06-17 楽天株式会社 Input numerical value display device, input numerical value display program, input numerical value display server device, input numerical value display method
US9077381B2 (en) 2013-02-27 2015-07-07 Kabushiki Kaisha Toshiba Memory controller, storage device and memory control method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000041078A (en) * 1998-04-03 2000-02-08 Lucent Technol Inc Repetitive demapping

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000041078A (en) * 1998-04-03 2000-02-08 Lucent Technol Inc Repetitive demapping

Also Published As

Publication number Publication date
JP2001352252A (en) 2001-12-21

Similar Documents

Publication Publication Date Title
JP3823315B2 (en) Encoding apparatus, encoding method, decoding apparatus, and decoding method
Rankin et al. Single parity check product codes
Boutillon et al. Iterative decoding of concatenated convolutional codes: Implementation issues
US7246296B2 (en) Encoding device for performing serial concatenated coding
JP2001274698A (en) Encoding device, its method, recording medium for recording encoding program, decoding device, its method and recording medium for recording decoding program
JP3669433B2 (en) Interleaving apparatus and interleaving method, encoding apparatus and encoding method, decoding apparatus and decoding method
JP4505953B2 (en) Encoding apparatus and encoding method, and decoding apparatus and decoding method
Vucetic et al. Recent advances in turbo code design and theory
US7502983B2 (en) Binary error-correction coding method and decoding method for trellis with permuted and sequential symbols
Geiselhart et al. A polar subcode approach to belief propagation list decoding
JP3540224B2 (en) Turbo decoder, turbo decoding method, and storage medium storing the method
Wu et al. Implementation of a low complexity, low power, integer-based turbo decoder
Pothier et al. A low complexity FEC scheme based on the intersection of interleaved block codes
Ping Turbo-SPC codes
JP2001352253A (en) Encoder and encoding method, and decoder and decoding method
Muller et al. Spc05-3: On the parallelism of convolutional turbo decoding and interleaving interference
Liu et al. Turbo encoding and decoding of Reed-Solomon codes through binary decomposition and self-concatenation
Zhao et al. Doubly-recursive block Markov superposition transmission: A low-complexity and flexible coding scheme
Li et al. Self-superposition transmission: A novel method for enhancing performance of convolutional codes
Thobaben et al. An efficient variable-length code construction for iterative source-channel decoding
Yanping et al. New implementation for the scalable LDPC-decoders
JP2001285084A (en) Device and method for encoding, recording medium with encoding program recorded thereon, device and method for decoding and recording medium with decoding program recorded thereon
JP3820583B2 (en) Soft output decoding apparatus, soft output decoding method, decoding apparatus, and decoding method
KR101447751B1 (en) Method and apparatus for generating parity check matrix in a communication system using block low density parity check code
Mohammed et al. Performance and complexity comparisons of Polar codes and Turbo codes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070516

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100406

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100419

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees