JP2007281771A - 誤り訂正復号装置および誤り訂正復号方法 - Google Patents

誤り訂正復号装置および誤り訂正復号方法 Download PDF

Info

Publication number
JP2007281771A
JP2007281771A JP2006104238A JP2006104238A JP2007281771A JP 2007281771 A JP2007281771 A JP 2007281771A JP 2006104238 A JP2006104238 A JP 2006104238A JP 2006104238 A JP2006104238 A JP 2006104238A JP 2007281771 A JP2007281771 A JP 2007281771A
Authority
JP
Japan
Prior art keywords
intermediate value
error correction
arithmetic
calculation
correction decoding
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.)
Granted
Application number
JP2006104238A
Other languages
English (en)
Other versions
JP4739086B2 (ja
Inventor
Yoshikuni Miyata
好邦 宮田
Hideo Yoshida
英夫 吉田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006104238A priority Critical patent/JP4739086B2/ja
Publication of JP2007281771A publication Critical patent/JP2007281771A/ja
Application granted granted Critical
Publication of JP4739086B2 publication Critical patent/JP4739086B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

【課題】従来の誤り訂正復号技術は、繰り返し復号演算処理の演算中間値保存場所が変数毎に固定されているため、長い符号長のLDPC符号の復号回路構成は、演算中間値保存場所と演算素子との配線およびアドレス制御が複雑になる。
【解決手段】LDPC符号により符号化されて伝送された系列に対して復号処理を実施する誤り訂正復号装置において、誤り訂正復号装置を構成する繰り返し復号演算手段は、その演算中間値保存回路に入力および出力する演算中間値の保存位置があらかじめ定められた規則で変動するように、入力および出力が制御される構成にされるので、各演算素子と演算中間値保存回路との配線およびアドレス制御を単純化できる。
【選択図】図1

Description

この発明は、ディジタル伝送システムやディジタル記録システムにおける誤り訂正復号技術に関するものである。
以下、従来の誤り訂正復号技術について説明する。
非特許文献1のFig. 6に、LDPC(Low-Density Parity-Check) 符号の軟判定繰り返し復号回路が記載されている。図6に、その復号回路に含まれる繰り返し復号演算手段10を記す。
LDPC符号は、符号語の各ビットに対応するvariable node(ビットノード)と、パリティ検査和に対応するcheck node(チェックノード)とを枝で結んだ形状のグラフ(Tanner graphと呼ばれる)で表現できる(非特許文献1のFig.2参照)。LDPC符号の復号では、これらのnodeにて、枝で結ばれた別のnodeから送られる信頼度情報に基づいて、ビットまたはパリティ検査和の信頼度を更新して、それを枝で結ばれた別のnodeへ送るという確率伝搬動作を複数回繰り返す。
ここで、従来の繰り返し復号演算手段10の動作について数式を交えて説明する。なお、この従来技術に記載の数式の記号は非特許文献1の定義にあわせて記載する。従って、実施の形態の説明部分の数式の定義と異なっている。
variable nodeで実施する演算を列演算と呼ぶ。パリティ検査行列Hのj列目において、パリティ検査行列のi'行目に1が立っている場合(hi'j = 1)、その個々のi'について、以下式(1)の演算を実施する。
Figure 2007281771
なお、λ ij は、i行目のcheck nodeからj列目のvariable nodeに受け渡される信頼度値である。図6では、式(1)の演算を実施する列演算素子11が符号長N個分だけ存在する。
check nodeで実施する演算を行演算と呼ぶ。パリティ検査行列Hのi行目において、j'列目に1が立っている場合(hij' = 1)、その個々のj'について、以下式(2)の演算を実施する。
Figure 2007281771
なお、λij は、j列目のvariable nodeからi行目のcheck nodeに受け渡される信頼度値である。図6では、式(2)の演算を実施する行演算素子12がパリティ検査行列の行数M個分だけ存在する。
図6では、列演算素子11の出力結果(式(1)のλi'j)を、DFF((D flip-flop)で実装された演算中間値保存回路13に保存する。信頼度値λi'jの書き込み位置は固定される。つまり、DFF X1に保存した (hi'j = 1)の数値は、行演算素子12、列演算素子11を経由して(Y1で示される経路16)、再びDFF X1へ入力される。また、DFF W1に保存した数値は、行演算素子12、列演算素子11を経由して(Z1で示される経路17)、再びDFF W1へ入力される。
式(1)の列演算は、符号長N回実施する必要がある。また、式(2)の行演算は、パリティ検査行列の行数M回実施する必要がある。非特許文献1に記載の従来技術では、個々の演算素子を完全に並列に実装している。しかしその場合、符号長Nが長くなると、実装が困難になる。
よって、演算素子数をP = N / C (Nは符号長、Cは繰り返し演算1回あたりの動作クロック数)として、部分的に並列化することを考える。この部分並列化の技術は、非特許文献2のFig. 5, 6 に記載されている。この技術では、列演算素子および行演算素子を制限した個数のみ搭載する。繰り返し演算1回あたりの動作クロック数をCとして、行演算および列演算を限られた素子を用いて、クロック数Cの時間で部分並列的に実施する。その部分並列演算順序制御を制御回路で実施している。また、演算素子と演算中間値保存回路との接続制御をアドレスデコーダで実施している。
A. J. Blanksby et. al., "A 690-mW 1Gb/s 1024-b, rate-1/2 low-density parity-check code decoder," IEEE J Solid-State Circuits, vol. 37, Mar. 2002. M. Karkooti, J. R. Cavallaro, "Semi-parallel reconfigurable architectures for real-time LDPC decoding," Proc. IEEE International Conference on Information Technology: Coding and Computing 2004 (ITCC 2004), vol. 1, pp. 579-585, Apr. 2004. 和田山正, "低密度パリティ検査符号とその復号方法について," 信学技報 MR 2001-83, pp. 39-46, Dec. 2001. 松本渉, 阪井塁, 吉田英夫 "巡回近似MINアルゴリズム," 信学技報 RCS 2005-40, pp. 1-6, July 2005.
しかしながら、上記、従来の誤り訂正復号技術においては、演算中間値の保存場所を変数ごとに固定としている。よって、長い符号長のLDPC符号の復号回路を構成するに当たり、演算中間値保存場所と演算素子との配線14、15およびアドレス制御が複雑になるという問題があった。
この発明は、上記に鑑みてなされたものであって、演算素子と演算中間値保存回路との配線およびアドレス制御を単純化することにより、長い符号長のLDPC符号の復号回路を容易に構成することを目的とする。
この発明に係る誤り訂正復号装置は、
LDPC (Low-Density Parity-Check) 符号により符号化された受信系列を復号処理する誤り訂正復号装置で、誤り訂正復号装置を構成する繰り返し復号演算手段の演算中間値保存回路に入力および出力する演算中間値の保存位置があらかじめ定められた規則で変動するように、入力および出力が制御される構成にされる。
この発明の誤り訂正復号装置によれば、誤り訂正復号装置を構成する繰り返し復号演算手段が算出する各演算中間値とそれを保持するための保存回路との対応を固定せず、演算の過程で逐次変動させることにより、各演算素子と演算中間値保存回路との配線およびアドレス制御を単純化することができる。
以下に、この発明にかかる誤り訂正復号方法および誤り訂正復号装置の実施の形態を図面に基づいて詳細に説明する。
実施の形態1.
図1はこの発明の誤り訂正復号装置の特長部分である繰り返し復号演算手段20を示す構成図であり、図2は、この発明の誤り訂正復号装置を実施する伝送システムの構成図である。図3は図2における復号器43を示す構成図であり、復号器43がこの発明の誤り訂正復号装置で構成される。また、図4はこの発明の誤り訂正復号装置において実施される演算順序制御の好適な例を示したものである。なお、図5はこの発明の繰り返し復号演算手段20について、演算中間値保存回路23を特に強調して表示した構成図である。
なお、実施の形態1の説明にあたり、従来技術との比較を容易にするため、LDPC符号の復号方法として一般的に知られているSum-Product復号法に基づいて説明する。しかし、この発明はSum-Product復号法に限定されるものではなく、Sum-Product復号法に比べ簡易演算として知られるMin-Sum復号法などへの適用も可能である。また、実施の形態1の説明で利用する数式の定義は、従来技術の説明にて利用したものと一部異なっている。
ここで、図2の伝送システムについて、以下の通りに説明する。
図2において、符号化器31で情報源からの情報語系列をLDPC符号化し、その符号語系列を変調器32で送信信号に変調して通信路33で受信側に送信する。受信側では、復調器41で受信信号をアナログ受信系列に復調し、アナログ/ディジタル変換器42で量子化受信系列にA/D変換して復号器43に入力する。復号器43はLDPC符号語系列を誤り訂正復号して推定符号語系列を算出し、この推定符号語系列から推定情報系列を抽出して出力する(受信者に渡す)。
なお、符号化器31、変調器32、通信路33、復調器41、アナログ/ディジタル変換器42は、それぞれ一般的に利用されている装置である。この実施の形態1の誤り訂正復号装置は、復号器43に適用されるものであり、その構成は図3のようになっている。
ここで、図3の誤り訂正復号装置である復号器43について、以下の通りに説明する。
図3は、誤り訂正復号装置である復号器43の構成を示したものである。図3において、対数尤度比演算手段51で、受信系列から対数尤度比(Log-Likelihood Ratio: LLR)の演算を実行する。対数尤度比演算手段51は、LLRの演算をし、その結果の量子化された数値を保持するLLR演算ROMと、受信値からその受信値に対応するLLR演算ROMのアドレスを算出するLLR演算ROMアドレス生成回路により構成されている。
LLR演算ROMには、軟判定受信系列yの各受信値y,n=0,1,...,N−1から求められるビットごとの対数尤度比(LLR) λの算出結果がまとめて保持されている。LLRの算出方法は、変調方式、復調方式、通信路のSNR(Signal-to-Noise Ratio)によって異なる。BPSK(Binary Phase Shift Keying)変調、AWGN(Additive White Gaussian Noise)通信路の場合は、式(3)に基づいて算出する。ここで、送信符号語系列をx=(x,x,...,xN−1)と定義する。
Figure 2007281771
対数尤度比演算手段51にて算出されたLLR λは、対数尤度比保存手段52に保存される。LLR λは、繰り返し復号演算の繰り返しごとにメモリから呼び出され、繰り返し復号演算手段20へ入力される。
繰り返し復号演算手段20では、入力されたLLR λと、内部の演算中間値保存回路23で保持している演算中間値から、繰り返し復号を実行して、推定符号語系列x'=(x',x',...,x'N−1)を算出する。算出された推定符号語系列x'は、一旦推定符号語系列保持手段53に保存された後、推定情報系列を抽出して復号器43から出力される。
ここで、図1の動作について、以下の通りに説明する。
図1は、この発明の繰り返し復号演算装置(復号器)43の主要な要素である繰り返し復号演算手段20の構成を示したものである。図1において行演算処理を実施する行演算素子22を、演算過程を分割して、それぞれを行演算素子22Aおよび行演算素子22Bと定義する。Sum-Product復号法の場合、行演算処理は信頼度値α(l) mnを式(4)で演算する。
Figure 2007281771
ここで、数式の定義を以下に記す。
l : 繰り返し数(Lの小文字)
A(m):パリティ検査行列Hのm行目で、Hmn=1となる列番号nの集合
B(n):パリティ検査行列Hのn列目で、Hmn=1となる行番号mの集合
mn : パリティ検査行列Hのm行n列の要素
A(m)\n:集合A(m)から、要素nを除いた集合
α(l) mn:繰り返し演算l回目でm行目のチェックノードからn列目のビットノードへ受け渡す信頼度値
β(l) mn:繰り返し演算l回目でn列目のビットノードからm行目のチェックノードへ受け渡す信頼度値
|A(m)|:行番号mの行重み(Hmn=1となる列番号nの個数)
|B(n)|:列番号nの列重み(Hmn=1となる行番号mの個数)
行演算処理の分割方法は、採用する復号方法、演算方法により様々な手法が考えられる。しかしどのような手法を採用しても、この発明にとって本質的な差異とはならず、この発明の適用は可能である。したがって、詳細な説明は割愛する。
列演算処理は信頼度値β(l) mnを式(5)で演算する。
Figure 2007281771
ここで、
B(n)は上述のパリティ検査行列Hのn列目で、Hmn=1となる行番号mの集合である。
列演算素子21の個数をPとする。行演算素子22Aおよび22Bは、個々の列演算素子21と関連付けられる枝数だけ設ける。ここで、P<N(N=符号長)として、部分並列演算を実施することを想定する。繰り返し演算1回あたりの動作クロック数をC=N/Pとして、行演算および列演算を限られた素子を用いて、クロックCの時間で部分並列的に実施する。
演算中間値保存回路23は、行演算素子22Aに入力される数値を演算順序別に保存するFIFO(First-In, First-Out)で実装する。このFIFOの個数は行演算素子22Aの個数と等しい。行重みの平均値をM(|A|)とすると、FIFOの遅延段数は平均的にほぼ N/(P*M(|A|))に近いが、個々のFIFOの遅延段数は繰り返し演算1回あたりの動作クロック数Cとパリティ検査行列Hとによって異なる。なお、演算中間値保存回路23の構成は、複数のFIFOの集合で、各FIFOの遅延段数Cが一定とは限らないという条件が論理的に成り立てばよく、物理的な構成方法を制約しない。
演算中間値保存回路23を構成する複数のFIFOに含まれる各要素(1遅延分の保存領域)には、パリティ検査行列の特定の行番号mに関連する演算中間値を保存する。Sum-Product復号法の場合、α(l) mn,β(l) mnのm行目に対応する数値を保存すればよい。その数値の個数はそれぞれ|A(m)|となる。また、α(l) mn,β(l) mnのどちらか一方を1個にまとめた数値(α(l) またはβ(l) )としてもよい。
FIFO W2に保存された演算中間値は、行演算素子、列演算素子を経由して(X2で示される経路26)更新される。しかし、更新された演算中間値の保存場所はFIFO W2とは異なるFIFO Y2となる。そして、FIFO Y2に保存された演算中間値は、前回とは異なる行演算素子、列演算素子を経由して(Z2で示される経路27)更新され、また別のFIFOへ保存される。
つまり、各演算中間値とそれを保持するための保存回路との対応を固定せず、演算の過程で逐次変動させるような構成としている。経路26および経路27のように演算中間値を鎖状に逐次動かす。この演算中間値の経路は、繰り返し回数が1回で再び元のFIFOの特定番地に戻る。またこの経路における遅延段数の総計はCとなる。
繰り返し復号演算手段20では、特定の演算中間値が、あらかじめ定められた時点で、あらかじめ定められた行演算素子および列演算素子により演算処理されるように、演算中間値保存回路23のFIFOの段数と配線24、配線25および演算中間値保存回路23の構成を決めておく必要がある。配線24は、演算中間値保存回路23の個々のFIFOの出力端子と行演算素子22A、列演算素子21および行演算素子22Bの各演算素子とを結ぶ配線であるが、これらは一対一に対応しており、配線としては単純な構成となる。また、配線25は、行演算素子22Bと演算中間値保存回路23の個々のFIFOの入力端子とを結ぶ配線である。配線25をどのように構成するかは、並列演算素子数P、パリティ検査行列Hなどの条件によって定められる。配線24に比べて配線25は若干複雑にはなるが、従来技術に比べてその複雑度は低減される。このような構成により、アドレス制御はFIFOに保存する演算中間値と、予め定められたた配線24、25の対応表を基に実行されるので、各演算素子と演算中間値保存回路23との配線およびアドレス制御を単純化することができる。
この繰り返し復号演算手段20では、列演算素子21の個数P個の並列数で、列演算素子21および行演算素子22A、22Bが並べられた回路構成となっている。それを繰り返し演算1回あたりの動作クロック数Cで動作させるが、その各時点で演算される行番号mの制御を行う必要がある。それを実現する方法は、ある時点(クロック)で行番号mに対する演算が、P並列の演算素子の中で最大一箇所でのみ実施されるように、時点t、演算素子の番号pおよび演算中間値の行番号mの組み合わせを検索することである。
図4に、時点t、演算素子および演算中間値の行番号mの好適な組み合わせの例を示す。P個の部分並列に並べた列演算素子21に、便宜的に演算素子番号pを、p=0,1,...,P−1とつける。また、演算中間値保存回路23から行演算素子22Aを経由してそれぞれの列演算素子21に入力される入力線(枝)に、便宜的に枝番号bをつける。この入力線の本数は、それぞれの列演算素子pが演算を担当する列番号の個数の最大値MAX{|B(n)|}となる。よって、b=0,1,...,MAX{|B(n)|}−1として番号を振る。
なお、列演算素子pが担当する列の列重みが不均等である場合は、|B(n')|<MAX{|B(n)|}−1となる列n'を演算する時点では、演算処理を無効にして、FIFOに保存された数値の変更を行わずに、次のFIFOへ受け渡すようにする。
演算素子番号pと枝番号bを用いて、演算中間値保存回路23の複数個あるFIFOに、便宜的にFIFO番号p−bを割り当てるようにする。
図5に、演算中間値保存回路23の詳細な構成を記す。図の表記上、列演算素子21および行演算素子22A、22Bを一つの演算素子p,p=0,1,...,P−1としてまとめて記述した。また、FIFOからの出力→行演算素子22A→列演算素子21→行演算素子22Bと至る経路を経路24Bと記す。
図4において、横軸に時点(クロック)t,t=0,1,...C−1を取り、左から右へ時間が進むものとする。また、縦軸に列演算素子21の演算素子番号p,p=0,1,...,P−1と、それぞれの列演算素子21の枝番号b,b=0,1,...,MAX{|B(n)|}−1を並べる。各行が、FIFO番号p−bのFIFOの出力端子に対応する。縦軸には、演算中間値保存回路23に含まれる全てのFIFOの個数だけ行が並べられている。
図4では、一例として、N=64800、M=32400、P=45、C=N/45=1440の場合を記した。また、列演算素子21の演算素子番号pがp=0,1,...,8のとき枝番号bはMAX{|B(n)|}=7、列演算素子21の演算素子番号pがp=9,...,22のとき枝番号bはMAX{|B(n)|}=3、列演算素子21の演算素子番号pがp=23,...,44のとき枝番号bはMAX{|B(n)|}=2、としている。なお、これらの数値は一例であり、これ以外の数値でもこの実施の形態の構成は可能である。
図4の四角の枠の中に記された数値は、時点tの時に、FIFOp−bから出力される演算中間値の対応する行番号mである。例えば、時点0にて、FIFO0−2から出力される演算中間値は、行番号m=14392に対応するものである。また、時点tにて、FIFO13−1から出力される演算中間値も、行番号m=14392に対応するものである。このように、行番号mに対応する演算中間値は、あるFIFOp−bから出力されて、演算素子pにより演算処理され、その演算結果が別のFIFOp'−b'に入力される。なお、同一のFIFOp−bに入力される場合もあるが、そのようなものは数少ないといえる。
繰り返し復号演算手段20における好適な演算順序制御、すなわち演算素子pおよび演算中間値行番号mの組み合わせ最適化の条件は、図4の各列(すなわち特定の時点t)において、演算中間値の行番号mが最大1個のみ存在するように、行番号mを割り振るようにすればよい。例えば、時点0にてFIFO0−2から出力される演算中間値の行番号m=14392が、時点0に対応する列には他に存在しないようにすればよい。このような条件が、時点0からC−1まで成立すればよいことになる。
なお、行演算素子22A→列演算素子21→行演算素子22Bと流れる一連の系統での遅延クロック数dが0よりも大きい(遅延クロックが1回でもある)場合、時点tにて演算処理される行番号mが、時点t−dから時点t+dまで存在しないように割り振る必要がある。すなわち、ある演算素子pにおいて演算処理されている演算中間値が、他のどの演算素子p'でも処理されていないように、演算中間値の行番号mを割り振る必要がある。
以上のように記した演算順序制御の条件を、図5に当てはめて見てみる。図5の各FIFOの枠内に記載された数字は、時点0において保存されている演算中間値の行番号mを表している。A3と記載のFIFOの出力直前部分の保存領域に含まれる演算中間値は、時点0でFIFOから出力される演算中間値で、図4の時点0(一番左端の列)に記載の行番号mのものに対応する。
時点0で、W3と記載のFIFO0−2の出力値は、行番号m=14392に対応する演算中間値である。この演算中間値は、配線24B、配線25を経路X3を経由して、Y3と記載のFIFO13−1への入力とされる。
このとき、時点0、その時点0より所定時間dだけ前のd時点前、およびその時点0より所定時間dだけ後のd時点後で、A3と記載のFIFOの出力および配線24Bで処理されている演算中間値の中で、行番号m=14392に対応するものは、経路W3→X3→Y3に対応する部分のみにしか存在しないということが、演算順序制御の条件となる。
図4の例では、時点t、FIFOp−bに対する行番号mに対し、時点t+1、FIFOp−bに対する行番号m'が、m'=m+q,q=90となっている。これは、例として取り上げたLDPC符号のパリティ検査行列Hの構造から、このような特長を有している。この特長は、パリティ検査行列Hを巡回置換行列(部分行列を単位行列およびそれの列毎右シフトした行列)で構成した場合などで見られる。このような特長を有している場合、時点0においてその前後の時点で演算処理される行番号mが重ならないようになっていれば、時点0から時点C−1時点までで必ず重ならないようになる。つまり、時点0におけるFIFOp−bと行番号mを好適に割り当てれば、時点0から時点C−1までで必ず好適になっていることを意味する。
その場合、時点0におけるFIFOp−bと行番号mを好適に割り当てること、またFIFOp−bからの出力値がFIFOp'―b'に入るというリストを作成すること、そしてFIFOp−bのそれぞれの遅延段数を定めれば、演算順序制御として必要十分になる。
以上のように記したことを、図5に当てはめて見てみる。時点0でのFIFO0−2の出力値は、行番号m=14392に対応するが、時点1での出力値は、行番号m=14392+90=14482となる。このような場合、矢印A3で記した、時点0における各FIFOからの出力値に対応する行番号の好適な探索を行えばよい。条件は、時点0、その時点0より所定時間dだけ後のd時点後つまり矢印A3より上の段数dまで、そして配線24BおよびFIFO入力側に含まれる、時点0より所定時間dだけ前のd時点前までで、演算中間値の行番号mに重複がないこととする。
また、経路X3で示される、配線25の対応表(FIFO0−2→FIFO13−1というような、FIFO出力→FIFO入力のそれぞれのFIFO番号)のリストを作成すればよい。
そしてFIFOp−bのそれぞれの遅延段数は、すでに作成した行番号m割り振りとFIFO出力→FIFO入力リスト、そしてパリティ検査行列Hとから、一意に定められる。
ここで、演算素子pで演算させる列番号nの集合を「ブロック」と定義する。例としては、符号長N=64800に対して列番号n=0から順番に360ビットごとに区切る。この場合、ブロックの総数180>Pとなるが、ブロックを4個単位でまとめた「超ブロック」を定義して(この例では総数45=P),それぞれを演算素子pへ割り当てる。それぞれのブロックごとに、時点0での演算開始列が異なるようにする。時点1以降では、前の時点での演算対象列の右隣を演算するようにする。(前の時点で右端の列を演算処理した場合は、次の時点で左端の列を演算する。)また、超ブロックを採用する場合は、超ブロック内での演算順序は、例えば4クロック毎にそれぞれ異なるブロックに対応する列番号nへの演算を実施する。
既に述べたパリティ検査行列(巡回置換行列で構成)の性質、および前記のブロックの定義から、演算順序制御は以下に述べる手法のみで可能となる。それは、ブロックごとの演算開始列番号を定めること、条件は、「時点tにて演算処理される行番号mが、時点t−dから時点t+dまでで最大1回のみとなる」こと、であるが、t=0のみ満たせば、全ての時点で満たすといえる。このブロック毎演算開始列番号を計算機探索などによって求めることにより、矢印A3での行番号m割り振り、FIFO出力→FIFO入力リスト、FIFOp−bのそれぞれの遅延段数は全て一意に算出できる。
ちなみに、特定の行番号mが図4に記される回数は、Hmn=1となる行番号mの個数|B(m)|に等しい。また、特定の行番号mに対応する演算中間値が通過するFIFOの段数の総計はCとなる。
以上のことを図5に当てはめると、W3と記載の演算中間値は、繰り返し演算1回あたり、行重み|B(m=14392)|=7回分だけ、FIFOへの入出力をされる。また、繰り返し演算1回で、W3→X3→Y3→Z3→・・・→V3→W3と演算中間値が鎖状に遷移していく。この遷移の遅延段数はCとなる。
なお、繰り返し復号の結果として出力する、推定符号語系列x'=(x',x',...,x'N−1)の算出方法は、以下の式(6)に基づく。
Figure 2007281771
ここで、sign(x)は、x0の場合は1、x<0の場合は−1となる関数である。
なお、繰り返し復号の停止方法は、全てのパリティ検査を満足したらすぐに停止させる、最大繰り返し回数lmaxを固定する、それらを複合させるなどの方式がある。
以上のように、この発明の実施の形態1では、各演算中間値とそれを保持するための保存回路との対応を固定せず、演算の過程で逐次変動させることにより、各演算素子と演算中間値保存回路との配線およびアドレス制御を単純化することができる。
実施の形態2.
実施の形態1では、sum-product復号法に基づいて復号回路を構成していた。sum-product復号法の簡易演算を実施する(特に式(2)の簡易化)min-sum復号法が一般的に知られている。実施の形態2では、この回路構成特にメモリ実装方法を、min-sum復号法に対して適用する。
min-sum復号法では、演算中間値として保存すべき数値を、sum-product復号法に比べて少なくすることができる。例えば、演算中間値α(l) mnは、min-sum復号法の場合、行番号mの行重み|A(m)|分を保持する必要はなく、その絶対値|α(l) mn|の小さい最小2値だけ保持していればよい。行演算素子を分割することにより、β(l) mnを保持する必要もなくなる。ただし、シンドローム(パリティ検査和の演算結果)の保持、およびsign(β(l) mn)の行重み分の保持は必要である。
つまり、min-sum復号法では、大半の演算中間値を行数分もしくはその2倍程度の個数だけ保持すればよいことになる。繰り返し復号演算手段20のFIFOの各要素の容量を小さくすることができることになる。
しかし、min-sum復号法はsum-product復号法に比べて性能劣化が大きいという問題がある。その対処方法として、非特許文献4に記載の巡回近似MIN復号法が知られている。この技術は、演算中間値α(l) mnを、絶対値の小さい最小2値だけでなく、最小3値以上、行重み未満だけ保持するというものである。行重み分保持する必要がなく、メモリ量を削減することができる。なおかつmin-sum復号法に比べて性能劣化を小さくすることが出来る。
以上のように、この発明の実施の形態2では、各演算中間値とそれを保持するための保存回路との対応を固定せず、演算の過程で逐次変動させることにより、かつ巡回近似MIN復号法を適用することにより、各演算素子と演算中間値保存回路との配線およびアドレス制御を単純化することができ、かつメモリ量の削減を図ることができるため、繰り返し復号回路の構造をより簡易にすることができる。
この発明は、ディジタル伝送システムやディジタル記録システムにおける誤り訂正復号方法およびその方法を実施する誤り訂正復号装置に適用されるものである。
この発明の誤り訂正復号装置の繰り返し復号演算回路を示す構成図である。 この発明を実施する伝送システムの構成図である。 この発明の誤り訂正復号装置の構成図である。 この発明の誤り訂正復号方法および誤り訂正復号装置において実施される演算順序制御の好適な例を示す説明図である。 この発明の繰り返し復号演算手段について、演算中間値保存回路を特に強調して表示した構成図である。 従来の軟判定繰り返し復号回路の繰り返し復号演算回路の構成図である。
符号の説明
10,20;繰り返し復号演算手段、11,21;列演算素子、12,22A,22B;行演算素子、13,23;演算中間値保存回路、14,15,24,25;配線、16,17,26,27;経路、31;符号化器、32;変調器、33;通信路、41;復調器、42;アナログ/ディジタル変換器、43;復号器、51;対数尤度比演算手段、52;対数尤度比保存手段、53;推定符号語系列保持手段。

Claims (7)

  1. LDPC (Low-Density Parity-Check) 符号により符号化されて伝送された系列に対して復号処理を実施する誤り訂正復号装置において、誤り訂正復号装置を構成する繰り返し復号演算手段は、その演算中間値保存回路に入力および出力する演算中間値の保存位置があらかじめ定められた規則で変動するように、入力および出力が制御される構成にされたことを特徴とする誤り訂正復号装置。
  2. 演算中間値保存回路は、任意の時点t、その時点tより所定時間dだけ前の時点、およびその時点tより所定時間dだけ後の時点の間で、行番号mに対応する演算中間値の入出力が最大一回のみ実施されるように、入力および出力を制御する構成にされたことを特徴とする請求項1記載の誤り訂正復号装置。
  3. 演算中間値保存回路は、あらかじめ定められた遅延段数となっている複数のFIFO (First-In/First-Out) により構成されていることを特徴とする請求項1又は2に記載の誤り訂正復号装置。
  4. 誤り訂正復号処理は、Sum-Product復号法に基づいて復号処理を実施する回路構成にされたことを特徴とする請求項1乃至3の何れか1項に記載の誤り訂正復号装置。
  5. 演算中間値保存回路にて保存される演算中間値が、min-sum復号法もしくは巡回近似MIN復号法に基づいて、保存する要素数を削減していることを特徴とする請求項1乃至3の何れか1項に記載の誤り訂正復号装置。
  6. 演算中間値保存回路は、演算中間値の保存位置が繰り返し復号演算の実行が1回終了した時点で元の保存位置に戻るように構成されたことを特徴とする請求項1乃至5の何れか1項に記載の誤り訂正復号装置。
  7. LDPC(Low-Density Parity-Check) 符号により符号化されて伝送された系列に対して復号処理を実施する誤り訂正復号方法において、誤り訂正復号方法を構成する繰り返し復号演算工程は、演算中間値保存回路に入力および出力する演算中間値の保存位置があらかじめ定められた規則で変動するように、入力および出力が制御される方法にされたことを特徴とする誤り訂正復号方法。
JP2006104238A 2006-04-05 2006-04-05 誤り訂正復号装置および誤り訂正復号方法 Active JP4739086B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006104238A JP4739086B2 (ja) 2006-04-05 2006-04-05 誤り訂正復号装置および誤り訂正復号方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006104238A JP4739086B2 (ja) 2006-04-05 2006-04-05 誤り訂正復号装置および誤り訂正復号方法

Publications (2)

Publication Number Publication Date
JP2007281771A true JP2007281771A (ja) 2007-10-25
JP4739086B2 JP4739086B2 (ja) 2011-08-03

Family

ID=38682780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006104238A Active JP4739086B2 (ja) 2006-04-05 2006-04-05 誤り訂正復号装置および誤り訂正復号方法

Country Status (1)

Country Link
JP (1) JP4739086B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009038662A (ja) * 2007-08-02 2009-02-19 Sumitomo Electric Ind Ltd 復号器、受信装置及び符号化データの復号方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105814799B (zh) * 2013-12-09 2019-03-01 三菱电机株式会社 纠错解码装置
FR3082518B1 (fr) 2018-06-15 2020-05-22 Arkema France Monomere de difluorure de vinylidene biosource et polymeres le contenant

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004364233A (ja) * 2003-05-13 2004-12-24 Sony Corp 復号装置および復号方法、並びにプログラム
JP2005269535A (ja) * 2004-03-22 2005-09-29 Sumitomo Electric Ind Ltd 復号装置および前処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004364233A (ja) * 2003-05-13 2004-12-24 Sony Corp 復号装置および復号方法、並びにプログラム
JP2005269535A (ja) * 2004-03-22 2005-09-29 Sumitomo Electric Ind Ltd 復号装置および前処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009038662A (ja) * 2007-08-02 2009-02-19 Sumitomo Electric Ind Ltd 復号器、受信装置及び符号化データの復号方法

Also Published As

Publication number Publication date
JP4739086B2 (ja) 2011-08-03

Similar Documents

Publication Publication Date Title
US7181676B2 (en) Layered decoding approach for low density parity check (LDPC) codes
JP4221503B2 (ja) パリティチェックデコーダで使用するノードプロセサ
US8266493B1 (en) Low-density parity check decoding using combined check node and variable node
KR101203340B1 (ko) 터보 ldpc 디코딩
JP5483875B2 (ja) Ldpc符号のブロックおよびレートに独立な復号の方法および装置
KR101405962B1 (ko) Ldpc 코드를 이용한 복호화 방법
JP4627317B2 (ja) 通信装置および復号方法
KR100846869B1 (ko) 저 복잡도 ldpc복호 장치 및 그 방법
CN1953336B (zh) 在低密度奇偶校验解码器中更新校验节点的方法
JP2005506733A5 (ja)
EP2833553B1 (en) LDPC decoder
JP2008035527A (ja) ハードウェア共用および直列和積アーキテクチャを用いる低密度パリティ検査復号の方法および装置
JP2003318746A (ja) 軟出力復号器
JP4739086B2 (ja) 誤り訂正復号装置および誤り訂正復号方法
JP2011119857A (ja) 復号装置および復号方法
Kakde et al. FPGA implementation of decoder architectures for high throughput irregular LDPC codes
TWI583141B (zh) 低密度奇偶檢查碼的解碼方法與解碼器
KR20080068218A (ko) 통신 시스템에서 데이터 수신 방법 및 장치
Scholl et al. Advanced hardware architecture for soft decoding Reed-Solomon codes
TWI523437B (zh) Bch碼編碼與癥狀計算共用設計電路及決定該共用設計電路的方法
JP2012124888A (ja) 復号装置及び復号方法
Remmanapudi et al. An FPGA Implementation of low density Parity-check codes construction & Decoding
Leduc-Primeau et al. Stochastic decoding of error-correcting codes
Zhu et al. Outer Code Designs for Augmented and Local-Global Polar Code Architectures
CN115720093A (zh) 一种64进制ldpc码的译码实现方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110325

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: 20110426

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: 20110427

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4739086

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250