JP3854155B2 - 待ち時間を短くしたソフトイン/ソフトアウトモジュール - Google Patents
待ち時間を短くしたソフトイン/ソフトアウトモジュール Download PDFInfo
- Publication number
- JP3854155B2 JP3854155B2 JP2001581426A JP2001581426A JP3854155B2 JP 3854155 B2 JP3854155 B2 JP 3854155B2 JP 2001581426 A JP2001581426 A JP 2001581426A JP 2001581426 A JP2001581426 A JP 2001581426A JP 3854155 B2 JP3854155 B2 JP 3854155B2
- Authority
- JP
- Japan
- Prior art keywords
- siso
- soft
- numbered
- module
- tree structure
- 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 - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3966—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes based on architectures providing a highly parallelized implementation, e.g. based on systolic arrays
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6572—Implementations using a tree structure, e.g. implementations in which the complexity is reduced by a tree structure from O(n) to O (log(n))
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
関連する出願
本願は、2000年3月3日付けで出願された米国仮特許願第60/201,583号の特典を主張するものである。なおこの仮特許願は本願に援用するものである。
【0002】
発明の起源
本願に記載されている研究と開発は、援助番号:NCR−CCR−9726391に基づいて全米科学財団によって援助を受けたものである。米国政府は本願発明に特定の権利を有している。
【0003】
発明の技術分野
本願には、連結符号(concatenated code)を、反復検出するか又は復号する技法が記載されている。さらに具体的に述べると、本願は、例えばターボ復号器で用いられるような、有限状態機械(すなわちソフトイン/ソフトアウトモジュールすなわち「SISO」モジュール)のソフトインバースを計算することに関する。
【0004】
背景
通信チャネルにはノイズが存在するので、受信信号は発信信号と必ずしも同一ではない。チャネル符号化又は等しく誤り訂正符号化は、通信システムの受信機が送られたデータ流の組成(composition)を正しく検出できる確率を高める方法に関連している。一般に、このことは、信号を発信する前に符号化して冗長性を加えることによって達成される。この冗長性によって、受信機が符号化された信号を正しく復号して元のデータを回復できる可能性が高まる。
【0005】
ターボ符号化法は、比較的新しいが広く利用されているチャネル符号化法であり、可能な理論的限界に近い電力効率で発信している。ターボ符号の特徴としては、並列符号連結、不均一インタリービング及び反復復号がある。ターボ符号は、エネルギー効率を大きく改善することができるので、電力及び/又は干渉(interference)が限定されているチャネルに使用するのに魅力がある。
【0006】
ターボ復号器を使用してターボ符号を復号することができる。そのターボ復号器は、反復方式で協働する二つのソフトインプット/ソフトアウトプット(SISO)復号モジュールを備えていてもよい。そのSISO復号モジュールは、有限状態機械のネットワークを有するシステム又はより一般的にいえばサブシステムに対して樹立された反復検出法に用いる基本的な構築ブロックである。
【0007】
図7Aと7Bはそれぞれ、典型的なターボ符号器10とターボ復号器11の構成のブロック図を示す。この実施例では、ターボ符号器10は、二つの別個の符号器RSC1とRSC2を利用し、これらは各々、再帰的組織畳みこみ符号器(Recursive Systematic Convolutional encoder)である。これら符号器RSC1とRSC2は、各々、特定数の状態(ターボ符号器に対して一般に四つ又は八つ)及びそれら状態間の遷移(transition)を有する有限状態機械(FSM)としてモデル化することができる。ビットストリームを符号化してチャネルで伝送するために、未符号化データビットbkを第一符号器RSC1とインタリーバIの両者に入力する。そのインタリーバIは、該入力されたシーケンスbkをシャッフルしてランダムネスを増大して、該シャッフルされたシーケンスakを第二復号器RSC2に導く。符号器RSC1とRSC2それぞれの出力ckとdkは、ブロックによってパンクチャ(puncture)され変調されて符号化された出力xk(0)とxk(1)が生成し、これら出力はチャネルによって復号器11に送られる。
【0008】
復号器11に、該符号化された出力は、ノイズのある入力zk(0)及びzk(1)として受け入れられ次にパンクチャ及び変調のブロック12のソフトインバース(soft-inverse)であるブロック13によって復調され次いでデ・パンクチャ(de-puncture)される。ブロック13の出力:M[ck(0)]、M[ck(1)]及びM[dk(1)]は、「ソフト」情報であり、すなわち、これら情報はそれぞれ、該符号化されたシーケンスck(0)、ck(1)及びdk(1)で送られた情報ビットの最も適当なシーケンスについての推定又は信念(guess or belief)である。その復号プロセスは、受け取られたソフト情報M[ck(0)]、M[ck(1)]を第一復号器SISOに送ることによって続き、その復号器は送られた情報を推定してソフト出力M[bk]を生成し、そのソフト出力をインタリーバI(符号器10のインタリーバIと同じインタリービングマップを利用する)に送ってM[ak]を生成させる。第二復号器SISO2は、M[ak]と受け取ったソフト情報M[dk(1)]を使用してその情報を再推定する。この第二推定は、インタリーバのソフトインバースI−1によってSISO1にループバックされそのSISO1で推定プロセスが再び始まる。その反復プロセスは特定の条件が満たされるまで、例えば、特定回数反復されて、その時点で最終のソフト推定が伝送された情報を示す「ハード」出力になるまで続く。
【0009】
復号器11内のSISO復号器モジュールは各々、符号器10内のそのカウンタパートRSC符号器のソフトインバースである。ソフトインバースを計算する従来のアルゴリズムは「順方向−逆方向」アルゴリズムとして知られており、例えばG. David Forney、Jr.「The Forward-Backward Algorithm」、Proceedings of the 34th Allerton Conference on Communications、Control and Computing、432〜446頁1996年10月に記載されている。その順方向−逆方向アルゴリズムでは、データビットの値の推定は、SISOの「トレリス(trellis)」、特に、FSMの状態間の可能なすべての遷移を示す展開状態図(unfolded state diagram)によって順方向と逆方向の最小コスト経路を再帰的に計算する(加算−比較−選択操作すなわちACS操作を利用して)ことによって行われる。SISOのトレリスによる各経路は、受け取るノイズのある入力に基づいた対応するコストがかかり、RSCが、データを符号化するときそのトレリスを通る特定の経路をとる可能性を示す。一般に、経路の全コストが低ければ低いほど、RSCが、データを符号化する際、対応する遷移をする確率が高くなる。一般に、SISOによって実行される順方向と逆方向のACSの再帰は、直列又は並列で計算することができる。並列で再帰を行うと、これら二つの方法のうち速いほうの方法が、待ち時間(latency)がO(N)(但しNは符号化されたデータのブロックサイズである)のアーキテクチャが生成する。用語「待ち時間」は本願で使用する場合、Nビットのブロックを復号するための終点間(end-to-end)遅延を意味する。
【0010】
本発明の発明者らは、復号器又は他の検出システムの他の要素の待ち時間によって、SISOの待ち時間を減らすとそのシステムの処理量(システムのアーキテクチャが処理できる一秒当りビット数の大きさ)が有意に改善できることを見出した。その結果、本発明の発明者らは、待ち時間を減らすことができる木構造化SISO(tree-structured SISO)を開発した。
【0011】
要約
上記木構造化SISOの実施態様としては、下記機構の各種組合せがある。
【0012】
一面において、符号化された信号(例えばターボ符号化信号、ブロック符号化信号など)の復号は、例えば無線通信システムで、受信した符号化信号を復調してソフト情報(soft information)を生成させ次にそのソフト情報を、1又は2以上のソフト−イン/ソフト−アウトプット(SISO)モジュールで繰返し処理することによって行うことができる。それらSISOモジュールのうちの少なくとも一つが、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うように構成された木構造を利用して、順方向と逆方向の状態メトリクス(forward and backward state metrics)を、例えば再帰的マージナライゼーション結合演算(recursive marginalization-combining operation)を実施することによって計算する。なおその演算は、各種の実施態様で、min−sum演算、min*−sum演算[但しmin*=min(x、y)−ln(1+e−|x−y|)]、sum−product演算及び/又はmax−product演算を含んでいる。
【0013】
上記符号化信号は、ターボ符号化信号、ブロックターボ符号化信号、低密度パリティチェック符号化信号、積符号化信号(product coded signal)、畳みこみ符号化信号(convolutional coded signal)、並列連結畳みこみ符号化信号、及び/又は直列連結畳みこみ符号化信号のうちの少なくとも一つを含んでいてもよい。
【0014】
上記反復処理は、予め定められた状態が起こったとき、例えば予め定められた数の反復を完了したときに停止させることができる。その反復処理には、該ソフト情報に対する並列プレフィックス演算又は並列サフィックス演算又はその両者が含まれていてもよい、さらに、その反復処理には、第一SISOのソフト出力を、もう一つのSISOへのソフト入力として使用すること及び/又は該ソフト情報上にセミリング(semi-ring)を形成するマージナライゼーション結合演算を行うことが含まれていてもよい。
【0015】
少なくとも一つのSISOが使用する木構造は、待ち時間がO(log2N)(但しNはブロックサイズである)のSISOをもたらす木構造、Brent−Kungの木、又は例えば二方向性の木構造再帰(tree structure recursion)を有する順方向−逆方向の木でもよい。
【0016】
少なくとも一つのSISOが実行する処理は、観測インターバル(observation interval)を、サブインターバル(subinterval)中にタイルし(tile)、次いで、各サブインターバルに対し、最小ハーフウィンドウSISO演算を適用することを含んでいてもよい。
【0017】
別の側面で、SISOモジュールは、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うための木構造中に配置されて、順方向と逆方向の状態メトリクスを計算するように構成された複数の融合モジュール(fusion module)を含んでいてもよい。各融合モジュールは下記式で定義することができる。
【0018】
【数2】
式中、C(k、m)は、SkとSmの間のソフト入力に基づいた状態ペア(state pair)SkとSmの最小シーケンスメトリクス(MSM)のマトリックスである。それら融合モジュールのうち少なくとも一つが、再帰的マージナライゼーション結合演算を実施することによって、順方向と逆方向の状態メトリクスを計算することができる。
【0019】
別の側面で、SISOモジュールは、順方向と逆方向の両方のマージナライゼーション結合演算を行う1又は2以上の完全融合モジュール(CFM)、順方向のみのマージナライゼーション結合演算を行う1又は2以上の順方向融合モジュール(fFM)、及び逆方向のみのマージナライゼーション結合演算を行う1又は2以上の逆方向融合モジュール(bFM)を含んでいてもよい。上記1又は2以上のCFM、fFM及びbFMは、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うための木構造(例えばBrent−Kungの木、順方向−逆方向の木)中に配置される。CFMの数は、ソフト−インバース(soft-inverse)を計算するのに必要な最少数に設定される。一般に、fFMとbFMは、可能なときはいつでも、CFMの代わりに木構造中で使用できる。
【0020】
別の側面で、反復検出は、有限状態機械(FSM)の1つ又は2以上の出力に対応する入力信号(例えばターボ符号化信号又は畳みこみ符号化信号)を受信し、次に、その受信した入力信号の順方向と逆方向の状態メトリクスを、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うように構成された木構造を利用して計算することによってFSMのソフトインバースを求めることを含んでいてもよい。その順方向と逆方向の状態メトリクスは、1又は2以上のSISOモジュールによって、例えばマージナライゼーション結合演算の木構造化セットを使用して、計算することができる。
【0021】
FSMのソフトインバースを求めることには、例えばソフト情報に対して、並列プレフィックス演算又は並列サフィックス演算又はその両者を実施して、ソフト情報を反復処理することが含まれていてもよい。さらに、その反復処理は、第一SISOのソフト出力をもう一つのSISOへのソフト入力として使用することを含んでいてもよい。少なくとも一つのSISOは、さらに、観測インターバルをサブインターバル中にタイルし、次に、各サブインターバルに最小ハーフウィンドウSISO演算を適用することができる。
【0022】
別の側面で、ターボ復号器は、FSMが符号化した信号を入力として受信してその受信した信号に関連するソフト情報を生成するよう構成された復調器、及びその復調器と交信し、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うように構成された木構造を使用してFSMのソフトインバースを計算するよう構成された少なくとも一つのSISOモジュールを備えている。その木構造は、並列プレフィックス演算と並列サフィックス演算を組み合わせて実行できる。
【0023】
該ターボ復号器は、互いに交信する少なくとも二つのSISOモジュールを備えていてもよい。その場合、そのSISOモジュールは、該復号された信号のソフト情報の推定を繰返し交換することができる。いずれの場合も、少なくとも一つのSISOは、該受信信号の順方向と逆方向の状態メトリクスを計算することによってFSMのソフトインバースを計算することができる。
【0024】
別の側面において、反復検出は、1又は2以上のブロック符号化モジュールからの出力に対応する入力信号を受信し、次に、その受信した入力信号の順方向と逆方向の状態メトリクスを、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うように構成された木構造を使用して計算することによって1又は2以上のブロック符号化モジュールのソフトインバースを求めることによって実施できる。該入力信号は、ブロックターボ符号化信号、低密度パリティチェック符号化信号及び/又は積符号化信号を含んでいてもよい。
【0025】
ブロック符号化モジュールのソフトインバースを求めることには、ソフト情報を反復処理すること例えばソフト情報に対して並列プレフィックス演算又は並列サフィックス演算又はこれら両者を実施することを含んでいてもよい。
【0026】
別の側面で、ブロック復号器は、ブロック符号化モジュールによって符号化された信号を入力として受信してその受信信号に関連するソフト情報を生成するように構成された復調器、及びその復調器と交信しかつ該ブロック符号化モジュールのソフトインバースを、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うように構成された木構造を使って計算するように構成された少なくとも一つのSISOモジュールを備えていてもよい。使用される木構造は、並列プレフィックス演算と並列サフィックス演算を組み合わせて実行することができる。該ブロック復号器はさらに、互いに交信しそして復号された信号のソフト情報推定を反復交換する少なくとも二つのSISOモジュールを含んでいてもよい。いずれの場合も、少なくとも一つのSISOは、受信した信号の順方向と逆方向の状態メトリクスを計算することによって、ブロック符号化モジュールのソフトインバースを計算することができる。
【0027】
別の側面で、反復検出は、モジュールの1又は2以上の出力に対応する入力信号(例えばブロック誤り訂正符号化信号、ブロックターボ符号化信号、低密度パリティチェック符号化信号、及び/又は積符号化信号)を受信し[そのモジュールのソフトインバースは、そのモジュール(例えばFSM又はブロック符号化モジュール)のトレリス表現に対し順方向−逆方向のアルゴリズムを実行することによって計算することができる]、次いで該入力信号の順方向と逆方向の状態メトリクスを、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うように構成された木構造を使用して計算することによって該モジュールのソフトインバースを求めることを含んでいてもよい。
【0028】
以下の利点の1又は2以上を提供することができる。ここで述べる技術と方法は、並列で順方向と逆方向の再帰を実行し、待ち時間がO(N)の従来のSISOとは対照的に、待ち時間をO(lgN)(但しNはブロックサイズでありそして「lg」はlog2を意味する)と短くできる木構造のSISOモジュールをもたらす。待ち時間は、主としてチップ面積(chip area)を犠牲にすることによって短くなり、場合によっては計算量がごくわずか増大することがある。この木構造SISOを使用して処理量が非常に大きいターボ復号器すなわちより一般的に述べれば反復検出器を設計することができる。また、各種のサブウインドウイング(sub-windowing)方式及びタイリング方式を使用して、待ち時間をさらに改善することもできる。
【0029】
これら待ち時間を短くしたSISOは、順方向−逆方向アルゴリズムをトレリスに対し実行することが望ましいか又は必要な事実上どんな環境でも使用できる。例えば、この木−SISOは、無線通信及び多くのタイプの復号[ターボ復号、ブロックターボ復号、並列連結畳みこみ符号と直列連結畳みこみ符号の両者を含む畳みこみ符号化、低密度パリティチェック(LDPC)符号、積符号及びより一般的に述べると反復検出時の符号を含むパリティチェック符号化]に用途がある。この待ち時間を短くしたSISOは、比較的少数の状態を有するFSM例えば、一般に4個又は8個の状態を有するターボ符号FSMを復号するのに利用するとき、特に有利である。
【0030】
1又は2以上の実施態様の詳細を、添付図面と以下の説明で述べる。本発明の他の特徴、目的及び利点は、本願の説明と図面及び特許請求の範囲から明らかになるであろう。
【0031】
詳細な説明
本発明の発明者らは、プレフィックス演算とサフィックス演算の組合せを利用して、標準SISO計算の再公式化法(re-formulation)を開発した。このアーキテクチャ(木−SISOと呼称される)は、高速加算器などの超大規模集積回路(VLSI)の用途に使用される高速並列プレフィックス計算用の木構造に基づいている。この木−SISOと各種の別の実施態様の詳細を以下に述べる。
【0032】
有限状態機械(FSM)の「ソフトインバース」を計算することが、多くのデータ検出/復号のアルゴリズムの重要な演算である。より一般的な用途の一つは、例えばBerrouら、「Near Shannon limit error-correcting coding and decoding: turbo-codes」、International Conference on Communications、(スイス、ジュネーブ)、1064〜1070頁1993年5月、及びBerrouら、「Near optimum error correcting coding and decoding: turbo-codes」、IEEE Trans. Commun.44巻1261〜1271頁1996年10月に記載されているターボ符号のような連結復号の反復復号である。しかし、SISO(ソフトイン/ソフトアウト)モジュールは、反復的及び非反復的の受信器並びに信号処理装置に広く適用することができる。また、SISOが生成するソフト出力は、しきい値処理されて最適のハード決定を得ることもできる[例えばビタビアルゴリズム(G. O. Forney、「The Viterbi algorithm」、Proc. IEEE、61巻268〜278頁1973年3月)又はバールアルゴリズム(L. R. Bahl、J. Cocke、F. Jelinek,及びJ. Raviv、「Optimal decoding of linear codes for minimizing symbol error rate」、IEEE Trans. Inform. Theory 、IT−20巻284〜287頁1974年3月)と同じ決定を生成する]。多くの用途の一般的な傾向は、より高いデータ速度へ向かっているので、高速のアルゴリズムとアーキテクチャが要望されている。
【0033】
データ検出回路アーキテクチャの二つの基本的な性能(速度)の側面がある。第一の側面は、そのアーキテクチャが復号できる1秒当りビット数の大きさである処理量である。第二の側面は、Nビットのブロックを復号するための終端間遅延(end-to-end delay)である待ち時間である。非パイプラインのアーキテクチャは、一度に一ブロックだけを復号し、かつその処理量が単に待ち時間で割り算されたNで表されるアーキテクチャである。一方、パイプラインアーキテクチャは、複数のブロックを同時に復号し、その後シフトされて、非パイプラインの対応するアーキテクチャよりはるかに大きい処理量を達成することができる。
【0034】
その用途によっては、データ検出ハードウェアの処理量及び/又は待ち時間が重要である。例えば、ターボ符号化システムにて、比較的低いデータ速度(100Kb/s未満)でインタリーブすることに関連する待ち時間は、反復復号ハードウェアの待ち時間を超えるようである。しかし、将来の高速システムの場合、インタリーバによる待ち時間は、比較的短くなり、復号器の待ち時間が重要になる。パイプライン復号器は、処理量の要求を達成できることが多いが、このような方法は一般的に、待ち時間を、実質的に短くすることはない。その上、待ち時間はシステムの全性能に対して劇的なインパクトを与える時がある。例えば、データ記憶システム(例えば磁気ハードドライブ)において、検索プロセスの待ち時間は、マイクロプロセッサやコンピュータ全体の性能に対して劇的なインパクトを与える。このような磁気記憶チャネルは、ターボ符号化法による高速のビタビ処理法を利用できる。
【0035】
標準のSISOアルゴリズムは順方向−逆方向アルゴリズムである。関連する順方向と逆方向の再帰的ステップは、与えられた時点のすべてのFSM状態に対して並列に計算して、O(N)という計算量(computational complexity)と待ち時間(Nはブロックサイズである)を有するアーキテクチャを得ることができる。本願の重要な結果は、プレフィックス演算とサフィックス演算の組合せを使用して標準SISO計算を再公式化することであり、その再公式化によって、O(lgN)という待ち時間を有するアーキテクチャがもたらされる。このアーキテクチャは「木−SISO」と呼ばれるが、超大規模集積回路(VLSI)文献中の高速並列プレフィックス計算のための木構造(例えば高速加算器に基づいている。
【0036】
前記木−SISOの待ち時間のこの指数関数的な減少は、計算量と計算領域の増大を犠牲にしてなされる。これらコストの正確な値は、該FSMの構造(例えば状態の数)とその実行の詳細によって決まる。しかし、四状態の畳みこみ符号、例えばターボ符号の構成符号として使用されることが多い符号の場合、その木−SISOアーキテクチャは、O(NlgN)という計算量で、O(lgN)という待ち時間を達成する。この四状態実施例の場合、木−SISOアーキテクチャの計算量は、関連するスピードアップに対してほぼ直線的に増大することに留意すべきである。これは、ビタビアルゴリズムに対する線形スケールの解(linear-scale solution)(例えばFettweisら、「Parallel Viterbi algorithm implementation: Breaking the ACS-bottleneck」、IEEE Trans・Commun. 、37巻785〜790頁1989年8月などに記載されている)より優れており、そしてその解の汎化(generalization)は、上記SISOの問題に対して必ずしも明確でない。この四状態符号の実施例の場合、待ち時間がO(lgN)の木−SISOに関連する領域はO(N)である。
【0037】
ソフトイン・ソフトアウトモジュール
並列状態遷移(Parallel state transition)なしで一般S状態のトレリス(generic S-state trellis)を有する特別クラスの有限状態機械を考案する。このようなトレリスは、S遷移に達するまで、各状態に出入りする。FSMは、対応するFSM入力とFSM出力による状態遷移のラベル付けによって定義される。tk=(sk、ak、sk+1)=(sk、ak)=(sk、sk+1)とすると、時点kにおける状態skから、入力akに応じて状態sk+1へのトレリス遷移になる。並列の状態遷移はないので、tkはこれらの表現によって独自に定義される。遷移tkが起こると仮定すると、FSM出力はxk(tk)である。一般に、遷移から出力へのマッピングはkによって決めることができることに留意すべきである。
【0038】
FSMは、ディジタル入力シーケンスakをディジタル出力シーケンスにマップするシステムとみなす。このFSMの限界ソフトインバース(marginal soft-inverse)又はSISOは、入力SI(ak)と出力SI(xk)のソフトイン(SI)情報の、ak及び/又はxkに対するソフト出力(SO)情報へのマッピングと定義することができる。そのマッピングは、使用される結合オペレータとマージナライゼーションオペレータによって定義される。マージナライゼーションと結合のオペレータについて、一つの特定の妥当な選択を考えることだけが必要でありそしてその結果は他の重要なオペレータに容易に変換することは現在よく知られている。したがって、焦点は、標準の方式で、max−積(max-product)、sum−積、min*−sum及びmax*−sumへ変換された結果によるmin−sumマージナライゼーション−結合演算である。いずれの場合も、特定量ukに対するソフト出力の計算[例えばuk=sk、uk=ak、uk=tk、uk=xk=(sk、sk+d)など]に使用される結合ウィンドウ又はスパンの時間境界は、指標K1とK2に定義させる。一般にK1とK2はkの関数である。表記はコンパクトであるため、この従属性は明確には示されていない。min−sumマージナライゼーション結合の場合、量ukの最小シーケンスメトリック(MSM)は、ukの条件値(conditional value)と両立する結合ウィンドウ又はスパンの最短の経路又はシーケンスのメトリック(又は長さ)である。具体的に述べると、MSMは次のように定義される。標準慣行と同様に、FSM構造下では起こり得ない遷移のメトリックは無限大であると解釈される。
【0039】
【数3】
上記式中、ukと両立する、時点K1で始まり時点K2で終わる一組の遷移は
【数4】
で表され、そして
【数5】
は遷移tk1、tk1+1、…、tk2のシーケンスを暗黙のうちに定義する。
【0040】
特定の用途に応じて、下記の「外因性(extrinsic)」量が計算される。
【0041】
【数6】
【0042】
SISOが定義されるシステムはFSMであるから、式(2)〜(3)における結合とマージナライゼーションの演算は効率的に計算することができる。伝統的な方法は、状態のMSMを、適時再帰的に順方向と逆方向に計算する順方向−逆方向のアルゴリズムである。具体的に述べると、遷移tk、k=0,1,…,N−1に対するソフトインに基づいた標準の固定インターバルアルゴリズムの場合、加算−比較−選択(ACS)演算に基づいて下記再帰式(recursion)が得られる。
【0043】
【数7】
上記式中、f−1(s0)とbN(sN)は、利用可能なエッジ情報に応じて初期化される。状態に対するS可能値(S possible value)があるので、これらの状態メトリクスは(S×1)ベクトルfkとbkとみなすことができる。式(4)〜(5)における最終ソフト出力は、遷移tkのMSMについてマージナライズすることによって得られる。
【0044】
【数8】
上記式中ukはxk又はakである。式(8)での演算は完了演算と呼ばれる。
【0045】
上記順方向−逆方向のアルゴリズムは計算が効率的であるがその直接順方向の実行(straightforward implementation)は、カジュアル(casual)及びアンチカジュアルの状態MSMを計算する際のACSのボトルネックのため、待ち時間が大きい(すなわちO(N))。
【0046】
プレフィックス演算とサフィックス演算
プレフィックス演算は、下記式にしたがって、n個の入力y0、y1、…、yn−1、を行ってn個の出力z0、z1、…、zn−1を生成する計算の一つの一般形式と定義される。
【0047】
【数9】
上記式(10)中、各文字の肩部に付された記号はアソシエティブ2項オペレータ(associative binary operator)である。
【0048】
同様に、サフィックス演算は、下記式にしたがって、n個の入力y0、y1、…、yn−1、を行ってn個の出力z0、z1、…、zn−1を生成する計算の一つの一般形式と定義できる。
【0049】
【数10】
上記式(12)中、各文字の肩部に付された記号はアソシエティブ2項オペレータである。サフィックス演算は、単に、他のエッジに固定された(逆方向)プレフィックス演算であることに注目すべきである。
【0050】
プレフィックス演算とサフィックス演算は、木構造化アーキテクチャを利用して短い待ち時間で実行できる一クラスのアルゴリズムを可能にするので重要である。この概念を実現する最も注目すべきものは、待ち時間がO(lgN)のVLSIN−ビットの木加算器(VLSI N-bit tree adder)である。
【0051】
SISO演算の再公式化
上記提案された短い待ち時間のアーキテクチャは、プレフィックス演算とサフィックス演算を組み合わせることによりSISO計算を公式化することによって誘導される。この公式化を行うために、m>kの場合のC(sk、sm)を状態のペア(state pair)skとsmのMSMとして、それらペア間のソフト入力に基づいて定義する。すなわちC(sk、sm)=MSMk m−1(sk、sm)と定義する。MSMのセットC(sk、sm)は(s×s)マトリックスC(k、m)とみなすことができる。カジュアル状態MSMfk−1は、s0に対しその条件をマージナライズする(例えば最小限にする)ことによってC(0、k)から得ることができる。逆方向状態メトリクスは類似の方式で得ることができる。具体的に述べると、skの各条件値に対して下記のとおりである。
【0052】
【数11】
【0053】
この観測の場合、該アルゴリズムの一つの重要スナップは、k=1、2、…、N−1の場合のC(0、k)及びC(k、N)を計算することである。該アルゴリズムの入力は、k=0、1、…、N−1の場合のC(k、k+1)と書き表すことができる1ステップ遷移メトリクスであることに注目すべきである。このアルゴリズムがプレフィックスとサフィックスの計算によってどのように実行できるかを示すために、二つのかようなマトリックスすなわち一方が他方の右エッジと一致する左エッジを有しているマトリックスを入力し、次いでその中央点をマージナライズアウトしてより大きいスパンを有するペアワイズ(pairwise)状態MSMを得るCマトリックスのmin−sum融合オペレータを定義する。具体的に述べると、C(k0、m)とC(m、k1)が与えられると、我々はC融合オペレータを定義するか、又は、下記式において(C(k0、m)とC(m、k1)の間に)記載された記号にて表されるアソシエティブ2項オペレータが定義される。
【0054】
【数12】
【0055】
このアソシエティブ2項オペレータは、二つのマトリックスを受け入れて一つのマトリックスを戻すアソシエティブ2項オペレータである。これは図1に示す。この定義によって、k=0、1、…、N−1の場合のC(0、k)とC(k、N)は下記のようにプレフィックス演算とサフィックス演算を利用して計算することができる。
【0056】
【数13】
【0057】
一般に、SISOアルゴリズムは、状態を調整する分離特性(decoupling property)に基づいている。具体的に述べると、時点kにおけるすべての可能なFSM状態値に対する調整、すなわちこの状態条件の両側の最短経路の問題(例えばMSM計算)は、独立して解決しともに融合させることができる(例えば、C融合オペレータ(C-fusion operator)によって実行されるように)。より一般的には、該SISO演算は、観測インターバルを、独立して処理された各サブインターバルで区分することによって分離し次に融合することができる。例えば、順方向−逆方向アルゴリズムは、順方向と逆方向に順次起こる融合によって、単一遷移レベルに区切ることに基づいている。対照的に、他のSISOアルゴリズムは、前記区分、及び前記部分問題(sub-problem)に対する解を融合するスケジュールを指定することによって定義できる。これは、アソシエーション方式を上記プレフィックス−サフィックス演算に記入して(すなわち括弧でまとめて)表すことができる。
【0058】
C融合演算は、場合によっては、アソシエーション方式に応じて単純化することができる。例えば、該順方向―逆方向アルゴリズムは、すべてのC融合演算を、はるかに単純な順方向と逆方向のACSで代替する。しかし、待ち時間もアソシエーション方式の関数である。ペアワイズ木構造化グルーピングに基づいたアーキテクチャを以下に示す。この構造は、C融合演算の小サブセットのみを単純化できるが、部分問題に対する解を、順次方式の代わりに並列方式で融合することによって、順方向−逆方向アルゴリズムに比較して、待ち時間を容易に、大きく短くすることができる。
【0059】
待ち時間の短い木−SISOアーキテクチャ
プレフィックス演算の2項木−構造化グルーピングに基づいた多くの待ち時間の短い並列アーキテクチャは、Brentら、「A regular layout for parallel adders」、IEEE Transactions on computers 、C−31巻260〜264頁1982年3月;T.H.Cormenら著、Introduction to Algorithms、米国マサチューセッツ州ケンブリッジ、The MIT Press、1990年;及びA. E. Despain著、New Computer Architectures、Academic press、1984年の「第二章:Notes on computer architecture for high performance」に記載されているようなSISOに採用させることができる。これらはすべて、その二項アソシエティブオペレータが単純な1ビット加算であるn−ビット加算設計を目標としている。本発明の発明者らは、並列のプレフィックス−サフィックスアーキテクチャが1ビット加算より大きく複雑である二項アソシエティブオペレータに基づいたアルゴリズムに適用できることを最初に見出したのである。従来の並列プレフィックス−アーキテクチャは、領域が小さくならず、待ち時間が長いので、各計算モジュールの限定論理出力の二次的制限の原因になっている。この後者の制限は、計算モジュールが小さくかつ、ワイヤやバッファの遅延に類似の遅延を有しているとき(例えば加算器の設計において)に重要である。しかし、該融合オペレータは比較的大きい。その結果、現行VLSIの傾向が提供されると、その傾向は、近い将来、全遅延を左右すると考えられる。したがって、本願に記載のアーキテクチャは、論理出力に関係なく、最小数の計算モジュールによって、待ち時間を最小限にする。
【0060】
具体的に述べると、k=1、2、…、Nの場合の順方向と逆方向のメトリクスfk−1とbN−kは、図2に示す融合モジュール(FM)アレイに基づいた階層木構造を使用することによって得ることができる。インターバル[k0、k0+K]上のCマトリックスの完全セットは、C(k0、k0+K)に加えて、m=1、2、…、K−1の場合の2K−1マトリックスC(k0、k0+m)とC(k0+m、k0+K)である。これは、一状態が該インターバルの左又は右のエッジにある場合のトレリスのKステップのスパン上のすべての状態ペアに対するMSM情報である。図2に示すモジュールは、二つの隣接するスパン−Kインターバルに対するCマトリックスの完全セットを融合して、サイズ2Kの結合スパン上にCマトリックスの完全セットを生成する。4K−1出力Cマトリックスのうち2Kは、全くプロセッシングなしで2(2K−1)入力から得られる。他の2K−1出力Cマトリックスは、前記アソシエティブ2項オペレータを実行する2K−1C融合モジュールすなわちCFMによって得られる。
【0061】
図2に示すスパン−2KFMアレイに対する基本スパン−Kを利用して、lgNステージにおける全インターバルのCマトリックスを計算することができる。これは、N=16の特別な場合について図3に示してある。i=1、2、…、n=lgNのとき左から右へ(すなわちスパンを増大しながら)ステージに指標付けすると、ステージiに2n−iFMアレイがあることは明らかであることに注目すべきである。
【0062】
しかし、最終目的は、カジュアルとアンチカジュアルの状態マトリックスを計算することであるから、すべてのFMが、すべてのFMアレイに対してCFMである必要はない。具体的に述べると、順方向状態のメトリクスfk−1は下記式によってfm−1とC(m、k)から得ることができる。
【0063】
【数14】
同様に、逆方向状態のメトリクスは下記式によって更新することができる。
【0064】
【数15】
【0065】
式(16)に記載されているように、別のfベクトルとCマトリックスからfベクトルを生成するプロセッシングモジュールはf融合モジュール(fFM)と呼称する。b融合モジュール(bFM)は式(17)による演算によって、同様に定義される。図3は、どのFMを、fFM又はbFMとして実行できるかを示す。
【0066】
この開発の重要性は、その状態メトリクスを計算するのにO(lgN)の待ち時間があることである。これは、データ従属性だけが一ステージから次のステージまでであるので、一ステージ内のすべてのFMアレイとFMアレイ内のすべてのFMを、各々O(l)の待ち時間をとりながら並列に実行できるからである。この短い待ち時間のコストは、比較的大きな領域に対して必要である。一つの軽減ファクターは、木のステージが順に作動するから、ハードウェアがステージ間で共用できるということである。したがって、最大のハードウェアを必要とするステージは、必要な全ハードウェアを決定する。これの概略推定はNCFMであり、それらCFMは各々、関連レジスタ(associated register)を有するS2SウェイACSユニットを含んでいる。可能な場合はいつでもbFMとfFMを使用する理由を説明するより詳細な解析結果は、後記項目「ハードウェア資源の必要量(requirements)」で詳述する。図3に示す実施例及び4状態FSM(すなわち、S=4)の場合、ステージ2は最も多数のCFM(8)を有しているが、ステージ3は最大の処理計算を有している。特に、四つの4ウェイACSユニットによって測定される、ステージi=1、2、3、4の計算量はそれぞれ26、36、32及び16である。したがって、ハードウェアがステージ間で共用される場合には、すべてのFMを与えられたステージにて並列で実行するために、四つの4ウェイACSユニットからなるセットが合計36セット必要である。この数のACSユニットが実際に利用できないときの用途の場合、ハードウェアの必要量を、待ち時間の対応する線形増加によって、1/Sまで減らすことができる。
【0067】
式(8)で定義された完了演算の実行も考慮しなければならない。必要な基本的演算はQウェイACSユニット(Qはukと一致する遷移の数である)である。その遷移のせいぜい1/2がukと一致していると仮定すると、QはS2/2が上限である。その結果、Sが大きいと、完了ステップの待ち時間が短く領域効率のよい実行が重要な問題になる。幸いにも、低待ち時間の実行が多数、広く知られている(例えばP. J. Blackの博士論文:Algorithms and Architectures for High Speed Viterbi Decoding、米国カリフォルニア州スタンフォード大学、1993年3月に記載されている)。一つの直線的順方向の実行は、コンパレータの二本木を使用しかつ待ち時間がO(lgS2)の実行である。小さいSの場合、この追加の待ち時間は一般に有意でない。
【0068】
状態メトリック計算(state metric calculation)の計算量は、図2と3に基づいた単純な表現を使用して計算できる。後記「計算量の解析」の項で説明するように、S回のSウェイACS計算の単位で測定される計算の全回数は次のとおりである。
【0069】
【数16】
【0070】
図3に示す4状態FSMの実施例の場合、四つの4ウェイACS演算の110セットと等しい演算を実行する。これは、2N=32のかような演算を実行し、待ち時間が4倍のベースラインアーキテクチャを有する対応する順方向−逆方向アルゴリズムと比較すべきである。一般に、待ち時間をNからlgNまで減らすには、計算が、約(1/2)(lgN−3)S+1倍増大することに留意すべきである。したがって、その関連計算量は大きいが、その計算量のスケーリングはNにサブリニアである(sub-linear in N)。
【0071】
疎トレリスに対する最適化
一般に、上記アーキテクチャは、十分に接続されトレリスに対して最も有効である。しかし、より疎なトレリス構造の場合、初期処理モジュールは、間に遷移のシーケンスが全くない状態のペアのMSMを占め、そのため処理電力と待ち時間を浪費する、∞に設定された要素を含むCマトリックスを処理しなければならない。別の実施態様は、この非能率に取り組む最適化法を組み入れることができる。
【0072】
S=ML状態でありそして各状態(時点skにおいて与えられた状態から与えられた状態sk+Lへと進む遷移のシーケンスが正確に存在している)に出入りする正確にM個の遷移を有する標準の1ステップトレリスを、ベースラインとみなす。一最適化法は、該一スナップトレリスをプレコラプス(pre-collapse)して、Rステップのトレリス(1≦R≦L)にして木−SISOアーキテクチャを該コラプスされたトレリスに適用する方法である。第二の最適化法は、可能な場合はいつでもC融合モジュールを単純化する方法である。特に、Rステップのトレリス上のSISOの場合、第一lg(L/R)ステージは、単純化して、多重ステップの遷移メトリクスの入力ペアを単純に加算する加算のバンクにすることができる。
【0073】
さらに詳しく述べると、プレコラプシングは、k=0、1、…、(N−1)/Rの場合の各スーパー遷移(super-transition)
【数17】
の遷移メトリクスを構成する1ステップ遷移のRメトリクスの加算を含む。そのSISOは、これらの入力を受け入れて、順方向と逆方向のMSMすなわちk=0、1、…、N/Rの場合のfkR−1(sk)とb(k+1)R(S(k+1)R)を生成する。プレコラスピングの一つの重要な利点は、SISO入力の数が1/Rに減少して、lgRによる状態のメトリック計算に必要なステージの数が減少することである。プレコラスピングの起こりうる一つの欠点は、所望のソフト入力が、より複雑で一般化された下記完了演算(completion operation)を利用して計算しなければならないことである。
【0074】
【数18】
一つの重要な問題点は、各UkR+mについて、この完了ステップが、1ステップトレリスに必要な(ML+1/2)ウエイACSではなくて((ML+R/2)ウエイACSを含むということである。
【0075】
これら両者の最適化法が実施されると仮定して最適R(すなわち最短の待ち時間を得るための)を確認するため、構成演算(constituent operation)の相対待ち時間が必要である。正確な待ち時間は実行の詳細によって決まるが、粗い推定によって、やはり洞察に満ちた結果が得られる。特に、状態メトリックに対するプレコラプシング加算とACR演算及び完了演算の両者を、加算器/コンパレータの2分木(binary tree)を利用して実行すると想定すると、それらの推定遅延は、それら入力の数の対数になる。一つの重要な観測は、プレコラプシングが、lgRで単純化されたステージとともに、L1ステップの遷移メトリクスを加算して(充分に接続されたLステップトレリスに対する遷移メトリクスを生成する)。推定されたlgL時間単位で共同して実行できることである。その上に、状態メトリック(ML)ウエイACSユニットはlgML時間単位を採用し、完了ユニット(ML+R/2)ウエイACSはlg(ML+R/2)時間単位を採用する。並列性が最高であると仮定すると、全待ち時間は下記式で表される。
【0076】
【数19】
【0077】
待ち時間は、R=Lのときに起こるR−LlgRが最小の場合(1≦R≦Lを条件とする)に最も短くなる。このことは、待ち時間の最も短いアーキテクチャが、トレリスが充分に接続されたトレリスにプレコラプスされ、そしてより複雑な完了ユニットを使用して、ソフト出力を、計算された定期状態メトリクス(periodic state metrics calculated)から抽出するアーキテクチャであることを示唆している。
【0078】
この短くした待ち時間のコストは、Lステップの遷移メトリクスを生成する加算器の木及びより複雑な完了演算を実行するのに必要なコンパレータのより大きな木を、実行するのに必要な追加の領域である。しかし、この領域のオーバヘッドは、各木のステージ間で、場合によっては待ち時間に対して重要でない影響しか与えない木の間で加算器とコンパレータを共用することによって軽減することができる。
【0079】
タイルドサブウインドウ方式(tiled sub-window scheme)
本発明の発明者らは、より小さい結合ウィンドウを使用すると待ち時間が短くなり、ソフトインバース計算の処理量が改善されることを知った。最小ハーフウィンドウ(Minimum half-window)(MHW)アルゴリズムは一クラスのSISOであり、そのSISOでは、結合ウィンドウのエッジK1とK2が、k=0、…、N−1の場合、K1≦max(0、k−d)及びK2≧min(N、k+d)を満たし、すなわち、該観測ウィンドウのエッジからKだけ離れているあらゆる点に対するソフト出力は、左と右のエッジのkだけ離れた少なくともd個の点を有するサブウィンドウに基づいている。
【0080】
伝統的な順方向−逆方向アルゴリズムは、サブウィンドウに使用してMHW−SISOを得ることができる。一つの特別な方式は、長さが2d+hの結合ウィンドウを使用してすべての状態メトリクスを引き出すタイルサブウィンドウ方式である。この方式では、図4に示すように、ウィンドウは長さ2dがオーバーラップしてタイルされて、このようなウィンドウが(N−2d)/h個ある。各内部サブウィンドウでの順方向−逆方向の再帰によってhのソフト出力が生成し、その結果、hが小さくなるにつれて増大するオーバラップペナルティ(overlap penalty)がある。
【0081】
i番目のこのようなウィンドウについて、順方向と逆方向のメトリクスは、式(6)と(7)に示す再帰式を変形した下記再帰式を使用して計算される。
【0082】
【数20】
すべてのウィンドウが並列で処理されると、このアーキテクチャは待ち時間がO(d+h)になる。
【0083】
前記の木−SISOアルゴリズムは、オーバラップペナルティなしでかつ待ち時間O(lgd)のMHW方式に使用できる。サイズがdのN/d結合ウィンドウを考慮して、該木−SISOに、j=0、…、d−1及びi=0、…、N/d−1の場合のC(id、id+j)及びC((i+1)d、(i+1)d−j)を計算させる。次いで、下記のようにして、一つの追加の論理ステージを使って、i番目のウィンドウ(i=0、…、N/d−1)内に入るすべてのk timeの指標について順方向と逆方向の状態メトリクスを計算する(これは、C(s−d、s0)が初期の左エッジ情報で置換されかつC(sN−1、sN+d−1)の場合も同様に置換されると解釈すべきである)。
【0084】
【数21】
【0085】
上記内部最小化は、式(13)と(14)に示すような、C情報からf(b)情報への変換に相当する。上記外部最小化はfFM又はbFMに相当する。この最小化の順序は計算量が最小限になるように選択した。これは、図5に示すこの方法の実施例に反映されており、その実施例では、四つの木−SISO各々の最後のステージが、提案された順序で上記最小化を実行するように改変されている。これを実施するモジュールは、2Cfbモジュールと呼称される。このモジュールは、図3に示すステージの二つの中央CFMを特化したものとみなすことができる。サブウィンドウの木−SISO出力の上記紹介は一つの追加処理ステージを加算し、その結果、FMのステージの必要数はlg(d)+1になる。
【0086】
計算量の比較
順方向−逆方向のタイルド方式を利用して状態メトリクスを計算する際の計算量は、(各ウィンドウで順方向−逆方向のアルゴリズムを計算する際の計算量)×(ウィンドウの数)の計算量である。これは、SのSウェイACSによって、Nが大きい場合下記式で近似することができる。
【0087】
【数22】
木−SISOのタイルド方式を利用して、SのSウェイACSによって状態メトリクスを計算する際の計算量は同様に、展開することができ下記の式で表される。
【0088】
【数23】
【0089】
どの方式がより高い計算量であるかの判断は、hとdの相対的大きさによって決まる。hが小さくなると、標準の順方向−逆方向方式は待ち時間が短くなるが、オーバーラップしたウィンドウの数が増大するので計算量が増大する。タイルド木−SISOのアーキテクチャはオーバラップペナルティがないので、hが、タイルド順方向−逆方向方式において小さくなるにつれて、相対的計算量トレードオフは、木−SISO法にとってより有利になる。実際に、h<(2d/Slgd)の場合、木−SISOの計算量は、タイルド順方向−逆方向方式の場合より小さい。
【0090】
設計実施例:4状態PCCC
考えられる高並列性のアーキテクチャは、大きい実行領域が必要である。この実施例では、その領域必要量が、近い将来に実行するのに最も適している実施態様について述べる。具体的に述べると、4状態の疎(一ステップ)トレリスに基づいた反復復号器が考えられる。より大きなSを考慮すると、木−SISOの待ち時間がより印象的に短くなる。これは、並列タイルド順方向―逆方向アーキテクチャに対して木−SISOアーキテクチャによって得られる待ち時間の短縮は、最小ハーフウィンドウの大きさによって決まる。優れた性能は、状態の数とともに大きくなるdの値を必要とする(すなわち疎トレリスに対するビタビアルゴリズムのトレースバック深さ(traceback depth)に関する経験則に似ている)と予測される。対照的に、プレコラプシングを考慮すると、得られる待ち時間の短縮は余り印象的でない。例えばd=16であることが、単一ステップトレリスに対して必要である場合、d=8という有効値が2ステップトレリスにとって充分なものである。前者の場合の木−SISOに関する待ち時間は、約1/4まで短縮されるが、後者の場合3/8まで短縮されるにすぎない。しかし、S及び/又はプレコラプシングが大きくなればなるほど実行領域が大きくなって、これらアルゴリズムを近い将来実現できる可能性を現実的に評価する我々の要望と一致しない。
【0091】
特に、二つの4状態構成符号(4-state constituent code)[1][2]を有する標準の並列連結畳みこみ符号(PCCC)が考えられる。これらの再帰組織構成符号(recursive systematic constituent code)は各々、句読点をつけたバリティビットを有するジェネレータ多項式(generator polynomial):G(D)=(1+D2)/(1+D+D2)を使用してパリティを生成して、レート(rate)1/2の全組織符号を達成する。
【0092】
MHW−SISOに使用するdの近似値を求めるために、各SISOが結合ウィンドウ(k−d、…k+d)を使用して時点kにおけるソフト出力を計算するシミュレーション行った。これは、h=1のタイルド順方向−逆方向法によって得られるSISO演算に、正確に等しい。dは前記シミュレーションに用いるすべての(内部)ハーフウィンドウの大きさであるから、dを有するMHW−SISOに基づいたどのアーキテクチャも、少なくとも同様に作動する(例えばh=2のタイルド順方向−逆方向、dタイルド木−SISOなど)。インタリーバの大きさがN=1024で、min−sumマージナライゼーションと結合及び10回の繰返しによるシミュレーションの結果を図6に示す。各種のdの場合の性能を、固定インターバル(N=1024)SISOの性能とともに示す。どんな機器構成の場合でも、10回を超える繰返しを行っても繰返しによる有意な利得は全く達成されない。これらの結果は、d=16によって、固定インターバルの場合に近い性能が得られることを示している。これは、ビタビ復号器のトレースバック深さに対するメモリの5〜7倍という経験則と一致している(すなわち、おおむねd=7×2=14で充分であると考えられる)。
【0093】
必要なウィンドウの大きさはd=16であるから、タイルド順方向−逆方向方式に対する木−SISOの待ち時間の改善は4=16/lg(16)に近い。これら二つの方法の計算量は、類似しており、そしてその実行の詳細、及びタイルド順方向−逆方向の方法に対するhの選択によって決まる。完全で公平な比較を行うには、これら二つの方法の詳細な実行が必要であろう。木−SISOベースのサブウィンドウアーキテクチャの設計について以下に説明する。
【0094】
そのアーキテクチャの領域に影響する要因は、データ単位のビット幅である。シミュレーションの結果は、8ビットのデータ経路で充分であることを示唆している。概略を述べると、この実施例の木をベースにしたアーキテクチャは、中間状態メトリックの結果を記憶するため、関連する出力レジスタ(output register)とともに16の4ウエイACSユニットの1024セットが必要であろう。各4ウエイACSユニットは、一つの8ビットの4−to−1マルチプレクサ、四つの8ビット加算器、六つの8ビットコンパレータ及び一つの8ビットレジスタで実行できる。初期のVLSIの設計は、これらユニットが約2250個のトランジスタを必要とすることを示している。したがって、これから、16×2250×1024≒40万個のトランジスタが推定される。論理トランジスタのこの数は、現在のVLSIの技術の限度を超えているがまもなく実現可能になるはずである。1クロックサイクルが、前記木の1ステージ当り、200MHzクロック周波数で用いられるアーキテクチャが考えられる。d=16の場合、各SISO演算は、六つのこのようなクロックサイクルで(その完了ステップに対して1クロックを使用する)実施することができる。さらに、相互接続ネットワークを有する1024個のレジスタからなる2行を含む配線インタリーバを想定する。このようなインタリーバは既存のメモリに基づく解より大きいであろうが、待ち時間は1クロックサイクルであろう。その結果、SISOを2回、インタリービングを一回及びデインタリービングを一回適用することからなるターボ復号器の一回の繰返しは14のクロックサイクルを必要とする。10回繰返すと仮定すると、1024ビットを復号するには、140のクロックサイクル又は丁度700nsの待ち時間が必要であろう。
【0095】
また、この待ち時間は、標準のパイプライン方式によってさらに改善できる非常に高い処理量を暗示している。特に、非パイプライン方式は推定処理量が1024ビット/700ns=1.5Gb/秒である。Maseraら、「VLSI architectures for turbo codes」、IEEE、Transactions on VLSI、7巻1999年9月に記載されているように、木−SISOアーキテクチャを使用して、インタリーバブロックを横切ってパイプラインを設けることもできる。特に、このようなタイルド木−SISO及び関連するインタリーバを20個利用して処理量を20倍まで増大して、30Gb/秒という処理量を達成することができる。
【0096】
さらに、順方向−逆方向アルゴリズムに基づいたアーキテクチャと異なり、木−SISOは、内部に容易にパイプラインを設けて、線形ハードウェアスケーリングでさらに高い処理量を達成することができる。特に、専用ハードウェアを木−SISOの各ステージで利用すると、木−SISOの内部にパイプラインを設けることによって、待ち時間が増大することなく、処理量がさらにlg(d)倍になる。ウィンドウサイズがd=16の場合、木ベースのアーキテクチャは、120Gb/秒を超える処理量を維持できる。すなわち、現在の方式では、このようなハードウェアのコストは実用限度を超えることがあると理解することが重要である。しかし、VLSI法の密度が連続的に増大すると仮定すると、このようなアグレッシブアーキテクチャ(aggressive architecture)でさえも、将来、費用効率が高くなりうる。
【0097】
計算量の解析
必要なステージの数は、ステージi中2n−iFMアレイの場合、n=lgNである。ステージiのこれらFMアレイは各々、トレリスの2iステップにわたっておりかつ2i−1FMを含んでいる。したがって、ステージiのFMの総数はnFM(i)=(2i−1)2n−iである。それ故、融合演算の総数は下記のとおりである。
【0098】
【数24】
図3に示す実施例の場合、この総数はNFM=49まで減少する。
【0099】
図3を一実施例として利用して、ステージiでfFMとして実行できるFMの数がnf(i)=2i−1であることを知ることができる。i=nである特別の場合、これは、2K−1CFMを、KfFM及びKbFMで置換すると解釈される。例えば、図3の第四のステージで、図2に含まれている15のCFMは、図に示されているように8fFM及び8bFMで置換することができる。bFMとして実行できるFMの数は同じであり、すなわちnb(i)=nf(i)=2i−1である。ステージiで必要なCFMの数は下記式で表されることになる。
【0100】
【数25】
【0101】
【数26】
上記式中、δ(j)はクロネッカーのδである。それ故、融合モジュールの総数は下記のとおりである。
【0102】
【数27】
式(25)と(29)を比較すると、Nが比較的大きい場合、CFMでなければならないFMの比率は(lgN−3)/(lgN−1)であることが分かる。Nが小さい場合、その比率はわずかに大きくなる。例えば、図3において、Nf=Nb=15でありそして20のCFMがある。
【0103】
そのCFMは、複雑さがfFMとbFMの演算の約S(すなわち状態の数)倍である。このことは、式(15)を、式(16)及び(17)と比べることによって知ることができる。具体的に述べると、式(15)、(16)及び(17)の演算はSウェイACSを含んでいる。CFMの場合、SウェイACSは、式(15)のあらゆる可能な状態ペア(state pair)(Sk0、Sk1)すなわちS2の状態のペアについて実施されねばならない。式(16)と(17)におけるSウェイ演算は、S状態Skの各々について計算することだけが必要である。したがって、計算の基本単位を、S状態トレリスに対して、SSウェイACSにすると、ステージiに対して必要なこれら計算の総数は下記式で表される。
【0104】
【数28】
諸ステージにわたって合計すると、計算の総数が得られ、下記式のようにSSウェイACS計算の単位で測定される。
【0105】
【数29】
図3に示す実施例と4状態FSMの場合、110セットのSSウェイACS演算の等価物が実行される。これは、2N=32のかような演算を実施し、4倍の待ち時間を有するベースラインアーキテクチャを有する対応する順方向−逆方向アルゴリズムと比較するためである。一般に、待ち時間がNからlgNまで減少する場合、計算が約(1/2)(lgN−3)S+1倍まで増大することに留意すべきである。したがって、関連する計算量は大きいが、計算量のスケーリングはNでほぼ線形である。Sが小さい場合、これは、短い待ち時間のビタビアルゴリズムの実行(例えばP. J. Black博士の論文、Algorithms and Architectures for High Speed Viterbi Decoding、米国カリフォルニア州スタンフォード大学1993年3月;及びFettweisら、「Parallel Viterbi algorithm implementation: Breaking the ACS-bottleneck」、IEEE Trans. Commum.、37巻785〜790頁1989年8月に記載されている)に対する線形スケールの解より優れている。
【0106】
ハードウェア資源の必要量
nS、S(i)のiに関する最大値は、所望の最小の待ち時間を達成するための最小限のハードウェア資源の必要量を決定するので重要である。これは、融合モジュールが、待ち時間に対して無視できる影響しか与えずステージ間で共用できるからである。
【0107】
nS、S(i)の最大値は、nS、S(i)≧nS、S(i−1)であるiに対する条件を検討することによって求めることができる。具体的に述べると、i<nの場合、下記のとおりであり、
【数30】
nS、S(i)は局所最大値を持っていないことになり、下記式
【数31】
を利用してnS、S(i)のマキシマイザー(maximizer)を求めることができる。具体的に述べると、式(35)においてi*<n−1になった場合、最大値はi*において生じ、その外の場合(i*=n−1)、i=n−1とi=nの場合を比較して、最大計算量のステージを決定しなければならない。S≧4の場合、0.5≦{1−lg(1−S−1)}/2≦0.71であるから、式(35)は下記式まで縮小することができる。
【0108】
【数32】
【0109】
木構造化SISO(tree-structured SISO)の他の実施態様
一般に、木構造化SISOを実動化する場合、システムデザイサーの選好に応じて、待ち時間、計算量及びIC領域の間のトレードオフを示す各種木構造のどれでも使用することができる。図8Aと図8Bは、順方向−逆方向の木−SISO(FBT−SISO)と呼称される実施態様を示す。FBT−SISOにおける木構造の再帰は、内向きと外向きの二方向性である。一つの結果として、FBT−SISOは、待ち時間が木−SISOの2倍であるが、計算量が有意に減少するので、集積回路(IC)チップの使用面積は小さくなる。
【0110】
min−sum処理中に、汎用の順方向−逆方向スケジュールを使用して送るメッセージの詳細を、図8Aと8Bに示してある。内向きメッセージは図8Aに示してある。具体的に述べると、初めに、MI〔tk〕が均一に設定され次に前記アルゴリズムが、サブシステムの第一レベルを起動することによって始まり、Mk〔tk〕をMI〔x(tk)〕及びMI〔a(tk)〕から計算する。前記木の次のレベルまで内向きに送られたメッセージは、並列の遷移がない場合、単にMk〔tk〕であるMSMk〔sk、sk+1〕である。この内向きメッセージの伝送によって、続いてメッセージが示される。s4のメッセージ二つがV4−sに到達すると、図8Bに示すように、外向き伝搬が始まって下方向に進行する。再び、前記木の与えられたレベルすべてのノードが起動された後に、次のレベルのノードが起動される。ボトムレベルにおいて、(sk、sk+1)に入力メトリックは、MSM{k}c〔sk、sk+1〕:すなわち標準順方向−逆方向アルゴリズムの順方向と逆方向の状態メトリクスの合計である。こうして、ボトムレベルでのこれらノードの最終起動によって、所望の外来出力メトリクス(extrinsic output metrics)が生成する。
【0111】
これらのメッセージは内向きと外向きの両方に伝搬しなければならないので、このFBT−SISOは待ち時間が、木−SISOの2倍である。待ち時間がこのように適度に増加し、これに伴い計算量が有意に減少している。具体的に述べると、FBT−木SISOは計算量がO(K)で待ち時間がO(log2K)である。これは、木−SISOの場合の計算量O(K log2K)と待ち時間O(log2K)及び標準のトレリスで送るメッセージの場合の計算量O(K)と待ち時間O(K)に匹敵している。
【0112】
木構造SISOの他の実施態様は、設計者の目的と制限条件によっては有利である。一般に、事実上どんなタイプの木構造でも使用する木構造SISOをつくることができる。例えば、R. P. Brent及びH. T. Kung「A regular layout for parallel adders」、IEEE Transactions on Computers、C−31巻260〜264頁1982年3月(「Brent-Kung tree」);A. E. Despain著「New Computer Architectures」第二章:Notes on computer architecture for high performance、Academic Press 1984年;T. H. Cormen、C. Leiserson、及びR. L. Rivest、「Introduction to Algorithms」、The MIT Press 1990年;及び/又はS. M. Aji及びR. J. McEliece、「The generalized distributive law」、IEEE Trans. Inform. Theory、46(2)巻325〜343頁2000年3月に記載されている木構造の1又は2以上を使用する木構造化SISOによって、有利な結果を得ることができる。
【0113】
図9は、d=16のサブウィンドウにおけるブランチメトリクスの計算にBrent−Kungモデルの改変バージョンが使用されるBrent−Kung木−SISOの表現を示す。そのBrent−Kung木−SISOには、点線で示す六つのパイプラインステージがある。陰をつけたノードは2ウェイACSを示し、一方黒色ノードは4ウェイACSを示す。
【0114】
そのBrent−Kung木−SISOは、Brent−Kung並列加算器に基づいている。それは、プレフィックス加算器のファンアウト(fan-out)問題を解決するためにつくられた。その上に、それは全メトリクスを計算するのに必要なハードウェアの大きさを減らす。ここで、融合演算も利用されるが、必要な融合演算の量は有意に減少する。Brent−Kung加算器では、加算の代わりに、融合演算が各ノードで実行される。この形態では、順方向の情報だけを計算することができる。そのモデルは、順方向と逆方向両方のメトリクスの計算が同時に実行できるように改変された。
【0115】
このモデルは、第一に、ACSの出力によって駆動しなければならないユニットの数を減らす。ここで最悪の場合、四つのユニットが単一のステージの出力を供給されている(すなわちノードC0、8)。これは、従来の方法が必要としているもののほとんど1/2である。また、2ウェイACSユニットのみ必要とする演算の数がかなり多いことも観察されている。2ウェイACSユニットが、4ウェイACSユニットに必要なハードウェアの1/2未満しか使用しないことを考えると、その回路系の全体の大きさはかなり小さくなると考えられる。前に実施した解析と類似の解析によって、この直感的な推測を実証する。その結果を要約して図10に示す。
【0116】
この方法には、システム性能の低下を埋め合わせることができるという利点がある。図9に示すブロック図を詳しく見ると、計算の最も長い経路はこの図では6サイクル長の経路であることを示している。順方向及び逆方向のメトリック計算を行うのに必要な三つの追加のサイクルを加算すると、完了ステップとインターリービングプロセスは、SISOモジュールの全遅延が9サイクルになる。このことは、全復号プロセスが180サイクルテイクすることを意味する。同じセルが実動化に使用されると仮定すると、これによって、1024ビットのデータの一ブロックを処理するための全時間が540nsecになる。この場合の該システムの処理量は1.896Gbpsになる。各ACSの後にパイプラインされた展開設計(unfolded design)が用いられると、各ステップの後に一つのブロックを処理することができ、そして16.82Gbpsの処理量を実現できる。20のSISOを利用してループを展開したならば、処理量は341.32Gbpsになるであろう。第一の場合、その設計の大きさのために重要であるが、性能の劣化は約24.1%に過ぎない。同時に、この設計を実動化するのに必要なトランジスタの数は、ほとんど43.8%まで減少する。
【0117】
ブロック符号及び連結符号の、木−構造SISOによる復号
他の関連する復号に問題点として、通常の解がトレリスに対して標準の順方向−逆方向アルゴリズムを実行することであるという問題点がある。また、ここで述べる方法や技術は、これらの用途で処理の待ち時間を短くするため、該順方向−逆方向アルゴリズムの代わりに適用することもできる。このような用途の一実施例は、ブロックエラー訂正符号のソフトインバージョンを、その符号のトレリス表現を使用して計算することである。トレリスの表現を使用してブロック符号を復号する方法は、Robert J. McEliece、「On the BCJR Trellis for Linear Block Codes」、IEEE Transactions on Information Theory、42巻4号1996年7月に記載されていた。その論文には、その符号のパリティチェック構造に基づいたトレリスの表現の構築方法が記載されている。復号、又はより一般的に述べるとブロック符号のソフトインバージョンは、このトレリスに対して順方向−逆方向のアルゴリズムを実行することによって達成できる。ここに記載の方法と技術は、FSMのソフトインバージョンの木構造化法と類似の方法でブロック符号のソフトインバージョンを決定するのに適用することができる。具体的に述べると、順方向と逆方向の状態メトリクスを計算し、木構造を有する並列プレフィックス計算アーキテクチャを使用することによってブロックコードのソフトインバージョンを求めることができる。
【0118】
パリティチェック構造によって、ブロック符号のソフトインバージョンを実行するために木−SISOアーキテクチャを適用することは実際問題として重要である。というのは、いくつもの魅力のあるターボ式符号は、簡単なパリティチェック符号の連結に基づいているからである。これらの符号は、類似の機能を有し、そしてソフトインパースノードが符号化されたビットのソフト情報を受け入れ、更新し次いで交換する反復アルゴリズムを使用して復号されるので、それら符号は「ターボ式符号」と呼称されることが多い。ターボ式符号の具体例としては、Gallager符号及び積符号としても知られている(またターボブロック符号としても知られている)低密度パリティチェック符号(LDPC)があり、この符号は、J. Hagenauer、E. Offer及びL. Papke、「Iterative decoding of binary block and convolutional codes」、IEEE Transactions on Information Theory、42(2)巻、429〜445頁1996年3月;及びR. G. Gallager著「Low-Density Parity-Check Codes」、MIT Press、米国マサチューセッツ州ケンブリッジ1963年に記載されている。
【0119】
具体例として、標準Hamming(7、4)符号に対するパリティチェックトレリスを図11に示す。該順方向−逆方向アルゴリズムは、このトレリスに対して、7程度の待ち時間で実施できる。あるいは木−SISOアーキテクチャを使用して図12に示す計算構造を得ることができる。FSMソフトインバージョンの場合と同様に、木構造化計算は、通常の解析法(すなわちトレリスに対して標準の順方向−逆方向アルゴリズムを実行する方法)と同じ順方向と逆方向の状態メトリクスを生じるが、対数の待ち時間(この単純な実施例では約1/2の待ち時間)を有している。一般に、長さがNのブロック符号の場合、該順方向−逆方向アルゴリズムに基づいた従来の方法は待ち時間はO(N)であるが、同じ計算は、待ち時間がO(lgN)の木SISOを利用して計算することができる。
【0120】
図12に示すような木構造化パリティチェックノードSISOに用いる具体例として、図13に示すようなLDPC用の反復復号器が考えられる。この復号器は、二つの基本的タイプのソフトインバース処理ノードすなわちソフトブロードキャスタノードとパリティチェックSISOノードを有している。一実施態様で、この復号器は、並列のソフトブロードキャスタノードを起動し、続いて、該チェックSISOノードへの入力になる生成したソフト情報を置換する(permutation)ことによって実動化する。これらのノードが、起動されて、置換によって送り戻されそしてソフトブロードキャスタへの入力になる符号化ビット値に対する更新信念(updated belief)を生成する。これは単一の反復とみなすことができる。該復号手続きが完了する前に、いくつもの反復が必要である。ターボ復号の場合と同様に、その停止基準はその設計の一部分であり、共通して選択されることは反復の数が固定されていることである。図11に示す計算は、好ましい実施態様の各パリティチェックSISOノードで実行される。あるいは、木構造化アーキテクチャを使用して、各パリティチェックSISOノードで計算することができる。最も普通の形態の、LDPCのパリティチェックノードは、単一パリティチェックであるから、二状態のトレリス表現を有している。
【0121】
結論
並列のプレフィックス/サフィックス演算によるSISO演算の解釈に基づいて、木構造化アーキテクチャのファミリーについて説明してきた。ベースライン順方向−逆方向アルゴリズムのアーキテクチャに比べて、木−SISOアーキテクチャは、待ち時間をO(N)からO(lgN)まで短くなる。別の木構造化SISO、例えばFBT−SISOは、待ち時間が線形増加せず、計算量と領域が実質的に小さくなる。
【0122】
有効なSISOの設計は一般に、単一の木−SISOを使用して構築されることはなく、複数の木−SISOを重要な要素として使用して構築される。例えば、上記のように、多数の木−SISOを使用して、タイルドサブウィンドウを使用するSISOを構成させた。その実施例の待ち時間は、順方向−逆方向のアルゴリズムに基づいた完全に並列のタイルドアーキテクチャに対する最小1/2ウィンドウサイズ(d)の線形から、タイルド木−SISOに対するdの対数形まで低下した。
【0123】
一般に、木−SISOの待ち時間の可能性のある利点は、大きな結合ウィンドウを必要とする用途にとって、明らかに最も重要である。最も実質的な設計の場合、これは状態の数が増大するときに予想される。考えられる詳細な4状態タイルドウィンドウの一実施例では、待ち時間が約1/4まで短くなった。バイナリー入力とSの状態を有するシステムの場合、d≒8lg(S)が満たされると期待できるであろう。したがって、Sが増大するにつれて全く重要になる。ほぼ8lg(S)/lg(8lgS)の待ち時間が短くなる可能性がある。しかし待ち時間の可能性がある改善を達成する際の重要な課題は、それを実行するのに必要な領域である。特に、大きなSに対して高速のSウェイACSユニットをつくることは重要課題である。機能の劣化を招くことなく(例えばビット直列アーキテクチャ)この領域の要求を減らす技法は、前途有望な研究分野である。事実、より大きいSを促進するとより小さいインタリーバを使用ことができ、その結果、前記領域の要求が軽減されかつ待ち時間が短くなる。
【0124】
本願で説明したシステムと技法の各種実動化は、ディジタル電子回路系、集積回路系、特別に設計されたASIC(特定用途向け集積回路)又はコンピュータのハードウェア、ファームウェア、ソフトウェアもしくはその組合せで実現することができる。
【0125】
本発明のいくつもの実施態様を説明してきた。しかし、本発明の精神と範囲を逸脱することなく各種の変形を行うことができると解される。したがって、他の実施態様は本願の特許請求の範囲の範囲内にある。
【図面の簡単な説明】
【図1】 C融合プロセスを示す。
【図2】 〔k0、k0+K〕及び〔k0+K、k0+2K〕のCマトリックスの完全セットを結合して〔k0、k0+2K〕の完全セットを得る融合モジュールアレイを示す。
【図3】 N=16の場合の木−SISOアーキテクチャを示す。
【図4】 順方向−逆方向アルゴリズムに基づいたタイルドサブウィンドウ方式を示す。
【図5】 d=4MHWSISOを実行する、N=16の場合ウィンドウサイズ4の四つの木−SISOを用いるタイルドサブウィンドウ法を示す。
【図6】 各種ハーフウィンドウサイズのSISO、N=1024及び10回の繰り返しの場合の標準ターボ符号のシミュレーションを示すグラフである。
【図7A】 それぞれターボ符号器とターボ復号器の実施例を示す。
【図7B】 それぞれターボ符号器とターボ復号器の実施例を示す。
【図8A】 順方向−逆方向木−SISO(FBT−SISO)の実動化を示す。
【図8B】 順方向−逆方向木−SISO(FBT−SISO)の実動化を示す。
【図9】 Brent−Kung木−SISOの一実施態様を示す。
【図10】 図9に示すBrent−Kung木−SISO法に用いるトランジスタの計数推定値を示すグラフである。
【図11】 標準Hamming(7、4)符号に対するパリティチェックに用いるトレリス構造を示す。
【図12】 Hamming符号パリティチェックの木構造化表現を示し、そのパリティチェックにおいて順方向−逆方向の木−SISOアルゴリズムを、この木で、V6と標識されたノードへのメッセージパス(message pass)の内向け(アップ)セットで次にメッセージパスの外向け(ダウン)セットで実行して、符号化ビット上に所望のソフト−アウトメトリクスを生成することができる。
【図13】 LDPC復号器〔全符号情報点率(overall code rate)が0.5〕の一実施例を示し、その復号器において、信念が、固定置換によってブロードキャスタノードからパリティチェックノードへ送られ、そしてそのパリティチェックノードが木構造化SISOとして実動化することができる。
Claims (102)
- 符号化信号を受信し、
その受信した符号化信号を復調してソフト情報を生成させ、次いで
そのソフト情報を1又は2以上のソフトイン/ソフトアウトプット(SISO)モジュールで反復処理し、少なくとも一つのSISOモジュールが、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うように構成された木構造を利用して順方向と逆方向の状態メトリクスを計算する、
ことを含む復号方法。 - 該少なくとも一つのSISOが、再帰的マージナライゼーション結合演算を実行することによって、順方向と逆方向の状態メトリクスを計算する請求項1に記載の方法。
- 該再帰的マージナライゼーション結合演算がmin−sum演算を含む請求項2に記載の方法。
- 該再帰的マージナライゼーション結合演算がmin*−sum演算を含む請求項2に記載の方法。
- min*=min(x、y)−ln(1+e−|x−y|)である請求項4に記載の方法。
- 該再帰的マージナライゼーション結合演算がsum−product演算を含む請求項2に記載の方法。
- 該再帰的マージナライゼーション結合演算がmax−product演算を含む請求項2に記載の方法。
- 該符号化信号が、ターボ符号化信号、ブロックターボ符号化信号、低密度パリティチェック符号化信号、積符号化信号及び畳みこみ符号化信号のうち少なくとも一つを含む請求項1に記載の方法。
- 該符号化信号が、並列連結畳みこみ符号及び直列連結畳みこみ符号のうちの少なくとも一つを含む請求項1に記載の方法。
- 反復復号法を無線通信システムで使用することをさらに含む請求項1に記載の方法。
- 予め定められた状態が起こったときに、該反復処理を停止することをさらに含む請求項1に記載の方法。
- 該反復処理が、並列プレフィックス演算又は並列サフィックス演算又は両演算を、ソフト情報に対して実行することを含む請求項1に記載の方法。
- 該反復処理が、第一SISOのソフト出力を、もう一つのSISOに対するソフト入力として使用することを含む請求項1に記載の方法。
- 少なくとも一つのSISOによって使用される木構造が、待ち時間がO(log2N)(但しNはブロックサイズである)のSISOをもたらす木構造を含む請求項1に記載の方法。
- 少なくとも一つのSISOによって使用される木構造がBrent−Kungの木を含む請求項1に記載の方法。
- 少なくとも一つのSISOによって使用される木構造が順方向−逆方向の木を含む請求項1に記載の方法。
- 該順方向−逆方向の木が、二方向性の木構造再帰を含む請求項16に記載の方法。
- 少なくとも一つのSISOによって実行される反復処理が、観測インターバルをサブインターバル中にタイルし、次いで最小ハーフウィンドウSISO演算を、各サブインターバルに適用する、
ことを含む請求項1に記載の方法。 - 該反復処理が、ソフト情報の上にセミ−リングを形成するマージナライゼーション結合演算を実行することを含む請求項1に記載の方法。
- 番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うための木構造中に配列されかつ順方向と逆方向の状態メトリクスを計算するように構成された複数の融合モジュールを含むソフトイン/ソフトアウト(SISO)モジュールであって、
各融合モジュールが下記式:
- 該複数の融合モジュールのうちの少なくとも一つが、再帰的マージナライゼーション結合演算を実行することによって、順方向と逆方向の状態メトリクスを計算する請求項20に記載のSISOモジュール。
- 該再帰的マージナライゼーション結合演算がmin−sum演算を含む請求項21に記載のSISOモジュール。
- 該再帰的マージナライゼーション結合演算がmin*−sum演算を含む請求項21に記載のSISOモジュール。
- min*=min(x、y)−ln(1+e−|x−y|)である請求項21に記載のSISOモジュール。
- 該再帰的マージナライゼーション結合演算がsum−product演算を含む請求項21に記載のSISOモジュール。
- 該再帰的マージナライゼーション結合演算がmax−product演算を含む請求項21に記載のSISOモジュール。
- 順方向と逆方向の両方のマージナライゼーション結合演算を実行するための1又は2以上の完全融合モジュール(CFM)、
順方向だけのマージナライゼーション結合演算を実行するための1又は2以上の順方向融合モジュール(fFM)、及び
逆方向だけのマージナライゼーション結合演算を実行するための1又は2以上の逆方向融合モジュール(bFM)、
を含み、
その1又は2以上のCFM、fFM及びbFMが、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うための木構造に配列されている、ソフトイン/ソフトアウト(SISO)モジュール。 - CFMの数が、ソフトインバースを計算するのに必要な最小限の数である請求項27に記載のSISOモジュール。
- fFMとbFMが、可能な場合はいつでも、CFMの代わりに木構造中に使用される請求項28に記載のSISOモジュール。
- 該融合モジュールの1又は2以上によって実行されるマージナライゼーション結合演算がmin−sum演算を含む請求項27に記載のSISOモジュール。
- 該再帰的マージナライゼーション結合演算がmin*−sum演算を含む請求項27に記載のSISOモジュール。
- min*=min(x、y)−ln(1+e−|x−y|)である請求項31に記載のSISOモジュール。
- 該再帰的マージナライゼーション結合演算がsum−product演算を含む請求項27に記載のSISOモジュール。
- 該再帰的マージナライゼーション結合演算がmax−product演算を含む請求項27に記載のSISOモジュール。
- 該木構造が、Brent−Kungの木及び順方向−逆方向の木(FBT)のうち少なくとも一つを含む請求項27に記載のSISOモジュール。
- 有限状態機械(FSM)の1又は2以上の出力に対応する入力信号を受信し、次いで
番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うように構成された木構造を使用して上記受信した入力信号の順方向と逆方向の状態メトリクスを計算することによって、上記FSMのソフトインバースを求める、
ことを含む反復検出方法。 - 該順方向と逆方向の状態メトリクスが、少なくとも一つのソフトイン/ソフトアウト(SISO)モジュールによって計算される請求項36に記載の方法。
- 該順方向と逆方向の状態メトリクスが、マージナライゼーション結合演算の木構造化セットを使用して計算される請求項36に記載の方法。
- 該マージナライゼーション結合演算がmin−sum演算を含む請求項38に記載の方法。
- 該マージナライゼーション結合演算がmin*−sum演算を含む請求項38に記載の方法。
- min*=min(x、y)−ln(1+e−|x−y|)である請求項40に記載の方法。
- 該マージナライゼーション結合演算がsum−product演算を含む請求項38に記載の方法。
- 該マージナライゼーション結合演算がmax−product演算を含む請求項38に記載の方法。
- 該入力信号が、ターボ符号化信号と畳みこみ符号化信号のうちの少なくとも一つを含む請求項36に記載の方法。
- 該入力信号が、並列連結畳みこみ符号化信号及び直列連結畳みこみ符号化信号のうちの少なくとも一つを含む請求項36に記載の方法。
- FSMの該ソフトインバースを求めることが、ソフト情報を反復して処理することを含む請求項36に記載の方法。
- 該反復処理が、並列プレフィックス演算又は並列サフィックス演算又は両方の演算を、該ソフト情報に対して実行することを含む請求項46に記載の方法。
- 該反復処理が、第一SISOのソフト出力を、もう一つのSISOに対するソフト入力として使用することを含む請求項46に記載の方法。
- 使用される木構造が、待ち時間がO(log2N)(但しNはブロックサイズである)のSISOモジュールをもたらす木構造を含む請求項37に記載の方法。
- 該木構造がBrent−Kungの木を含む請求項36に記載の方法。
- 該木構造が順方向−逆方向の木を含む請求項36に記載の方法。
- 該順方向−逆方向の木が、二方向性の木構造再帰を含む請求項51に記載の方法。
- 該少なくとも一つのSISOが、さらに、
観測インターバルをサブインターバル中にタイルし、次いで
最小ハーフウィンドウSISO演算を各サブインターバルに適用する、
請求項37に記載の方法。 - 有限状態機械(FSM)によって符号化された信号を入力として受信しその受信した信号に関するソフト情報を生成するよう構成された復調器、及び
上記復調器と交信かつ上記FSMのソフトインバースを、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うように構成された木構造を利用して計算するよう構成された少なくとも一つのソフトイン/ソフトアウト(SISO)モジュール、
を含むターボ復号器。 - 該木構造が、並列プレフィックス演算と並列サフィックス演算を組み合わせて実行する請求項54に記載の復号器。
- 互いに交信する少なくとも二つのSISOモジュールをさらに含み、それらSISOモジュールが、復号された信号のソフト情報推定を反復して交換する請求項54に記載の復号器。
- 上記少なくとも一つのSISOが、該受信された信号の順方向と逆方向の状態メトリクスを計算することによって、該FSMのソフトインバースを計算する請求項54に記載の復号器。
- 上記少なくとも一つのSISOの使用する木構造が、待ち時間がO(log2N)(但しNはブロックサイズである)のSISOをもたらす木構造を含む請求項54に記載の復号器。
- 上記少なくとも一つのSISOの使用する木構造がBrent−Kungの木を含む請求項54に記載の復号器。
- 上記少なくとも一つのSISOの使用する木構造が、順方向−逆方向の木(FBT)を含む請求項54に記載の復号器。
- 1又は2以上のブロック符号化モジュールからの出力に対応する入力信号を受信し、次いで
上記受信された入力信号の順方向と逆方向の状態メトリクスを、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うように構成された木構造を使用して計算することによって、上記1又は2以上のブロック符号化モジュールのソフトインバースを求める、ことを含む反復検出方法。 - 該順方向と逆方向の状態メトリクスが、少なくとも一つのソフトイン/ソフトアウト(SISO)モジュールによって計算される請求項61に記載の方法。
- 該順方向と逆方向の状態メトリクスが、マージナライゼーション結合演算の木構造化セットを使用して計算される請求項61に記載の方法。
- 該マージナライゼーション結合演算がmin−sum演算を含む請求項63に記載の方法。
- 該マージナライゼーション結合演算がmin*−sum演算を含む請求項63に記載の方法。
- min*=min(x、y)−ln(1+e−|x−y|)である請求項65に記載の方法。
- 該マージナライゼーション結合演算がsum−product演算を含む請求項63に記載の方法。
- 該マージナライゼーション結合演算がmax−product演算を含む請求項63に記載の方法。
- 該入力信号が、ブロックターボ符号化信号、低密度パリティチェック符号化信号及び積符号化信号のうちの少なくとも一つを含む請求項61に記載の方法。
- 1又は2以上の該ブロック符号化モジュールのソフトインバースを求めることが、ソフト情報を反復処理することを含む請求項61に記載の方法。
- 該反復処理が、並列プレフィックス演算又は並列サフィックス演算又は両方の演算を、該ソフト情報に対して実行することを含む請求項70に記載の方法。
- 該反復処理が、第一SISOのソフト出力を、もう一つのSISOに対するソフト入力として使用することを含む請求項70に記載の方法。
- 使用される木構造が、待ち時間がO(log2N)(但しNはブロックサイズである)のSISOモジュールをもたらす木構造を含む請求項61に記載の方法。
- 該木構造がBrent−Kungの木を含む請求項61に記載の方法。
- 該木構造が順方向−逆方向の木を含む請求項61に記載の方法。
- 該順方向−逆方向の木が二方向性の木構造再帰を含む請求項75に記載の方法。
- 該少なくとも一つのSISOが、さらに、
観測インターバルをサブインターバル中にタイルし、次いで
最小ハーフウィンドウSISO演算を各サブインターバルに適用する、
請求項62に記載の方法。 - ブロック符号化モジュールによって符号化された信号を入力として受信し次いでその受信した信号に関するソフト情報を生成するよう構成された復調器、及び
上記復調器と交信しかつ上記ブロック符号化モジュールのソフトインバースを、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うように構成された木構造を利用して計算するよう構成された少なくとも一つのソフトイン/ソフトアウト(SISO)モジュール、
を含むブロック復号器。 - 該木構造が、並列プレフィックス演算と並列サフィックス演算を組み合わせて実行する請求項78に記載の復合器。
- 互いに交信する少なくとも二つのSISOモジュールをさらに含み、そのSISOモジュールが、復号された信号のソフト情報推定を反復して交換する請求項78に記載の復号器。
- 少なくとも一つのSISOが、受信した信号の順方向と逆方向の状態メトリクスを計算することによって、ブロック符号化モジュールのソフトインバースを計算する請求項78に記載の復号器。
- 少なくとも一つのSISOによって使用される木構造が、待ち時間がO(log2N)(但しNはブロックサイズである)のSISOをもたらす木構造を含む請求項78に記載の復合器。
- 少なくとも一つのSISOによって使用される木構造がBrent−Kungの木を含む請求項78に記載の復号器。
- 少なくとも一つのSISOによって使用される木構造が順方向−逆方向の木(FBT)を含む請求項78に記載の復号器。
- モジュールの1又は2以上の出力に対応する入力信号を受信し、そのモジュールのソフトインバースは順方向−逆方向のアルゴリズムを該モジュールのトレリス表現に対して実行することによって計算することができ、次いで
上記受信した入力信号の順方向と逆方向の状態メトリクスを、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算と、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算とを行うように構成された木構造を利用して計算することによって、上記モジュールのソフトインバースを求める、
ことを含む反復検出方法。 - 該入力信号が、ブロック誤り訂正符号化信号、ブロックターボ符号化信号、低密度パリティチェック符号化信号、及び積符号化信号のうち少なくとも一つを含む請求項85に記載の方法。
- 該入力信号が、ターボ符号化信号及び畳みこみ符号化のうち少なくとも一つを含む請求項85に記載の方法。
- 該符号化信号が、並列の連結畳みこみ符号及び直列の連結畳みこみ符号のうち少なくとも一つを含む請求項85に記載の方法。
- 該モジュールが有限状態機械を含んでいる請求項85に記載の方法。
- 該モジュールがブロック符号化モジュールを含んでいる請求項85に記載の方法。
- 符号化信号を受信し、
その受信した符号化信号を復調してソフト情報を生成させ、次いで
そのソフト情報を1又は2以上のソフトイン/ソフトアウトプット(SISO)モジュールで反復処理し、少なくとも一つのSISOモジュールが、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算を行うための木構造を利用して順方向の状態メトリクスを計算する、
ことを含む復号方法。 - 該木構造が、逆方向の状態メトリクスを計算するために、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算を更に行うように構成された請求項91に記載の方法。
- 有限状態機械(FSM)の1又は2以上の出力に対応する入力信号を受信し、次いで
番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算を行うように構成された木構造を使用して上記受信した入力信号の順方向の状態メトリクスを計算することによって、上記FSMのソフトインバースを求める、
ことを含む反復検出方法。 - 該木構造が、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算を更に行うように構成され、
上記FSMのソフトインバースを求めることは、該木構造を使用して上記受信した入力信号の逆方向の状態メトリクスを計算することによって上記FSMのソフトインバースを求めることを更に含む請求項93に記載の方法。 - 有限状態機械(FSM)によって符号化された信号を入力として受信しその受信した信号に関するソフト情報を生成するよう構成された復調器、及び
上記復調器と交信かつ上記FSMのソフトインバースを、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算を行うように構成された木構造を利用して計算するよう構成された少なくとも一つのソフトイン/ソフトアウト(SISO)モジュール、
を含むターボ復号器。 - 該木構造が、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算を更に行うように構成された請求項95に記載の複合器。
- 1又は2以上のブロック符号化モジュールからの出力に対応する入力信号を受信し、次いで
上記受信された入力信号の順方向の状態メトリクスを、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算を行うように構成された木構造を使用して計算することによって、上記1又は2以上のブロック符号化モジュールのソフトインバースを求める、ことを含む反復検出方法。 - 該木構造が、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算を更に行うように構成され、
上記1又は2以上のブロック符号化モジュールのソフトインバースを求めることは、該木構造を使用して上記受信した入力信号の逆方向の状態メトリクスを計算することによって上記1又は2以上のブロック符号化モジュールのソフトインバースを求めることを更に含む請求項97に記載の方法。 - ブロック符号化モジュールによって符号化された信号を入力として受信し次いでその受信した信号に関するソフト情報を生成するよう構成された復調器、及び
上記復調器と交信しかつ上記ブロック符号化モジュールのソフトインバースを、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算を行うための木構造を利用して計算するよう構成された少なくとも一つのソフトイン/ソフトアウト(SISO)モジュール、
を含むブロック復号器。 - 該木構造が、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算を更に行うように構成された請求項99に記載の複合器。
- モジュールの1又は2以上の出力に対応する入力信号を受信し、そのモジュールのソフトインバースは順方向−逆方向のアルゴリズムを該モジュールのトレリス表現に対して実行することによって計算することができ、次いで
上記受信した入力信号の順方向の状態メトリクスを、番号付けされた複数の入力を行って番号付けされた複数の出力を最下位番号の出力から最上位番号の出力まで順に生成する並列のプレフィックス演算を行うように構成された木構造を利用して計算することによって、上記モジュールのソフトインバースを求める、
ことを含む反復検出方法。 - 該木構造が、番号付けされた複数の入力を行って番号付けされた複数の出力を最上位番号の出力から最下位番号の出力まで順に生成する並列のサフィックス演算を更に行うように構成され、
上記モジュールのソフトインバースを求めることは、該木構造を使用して上記受信した入力信号の逆方向の状態メトリクスを計算することによって上記モジュールのソフトインバースを求めることを更に含む請求項101に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US20158300P | 2000-05-03 | 2000-05-03 | |
US60/201,583 | 2000-05-03 | ||
PCT/US2001/014460 WO2001084720A1 (en) | 2000-05-03 | 2001-05-03 | Reduced-latency soft-in/soft-out module |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003533088A JP2003533088A (ja) | 2003-11-05 |
JP3854155B2 true JP3854155B2 (ja) | 2006-12-06 |
Family
ID=22746419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001581426A Expired - Lifetime JP3854155B2 (ja) | 2000-05-03 | 2001-05-03 | 待ち時間を短くしたソフトイン/ソフトアウトモジュール |
Country Status (5)
Country | Link |
---|---|
US (2) | US20020021770A1 (ja) |
JP (1) | JP3854155B2 (ja) |
KR (1) | KR100566745B1 (ja) |
AU (2) | AU5948101A (ja) |
WO (1) | WO2001084720A1 (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010044919A1 (en) * | 2000-05-05 | 2001-11-22 | Edmonston Brian S. | Method and apparatus for improved perormance sliding window decoding |
EP1290802A1 (en) * | 2000-06-16 | 2003-03-12 | Aware, Inc. | Systems and methods for ldpc coded modulation |
US7096412B2 (en) * | 2000-06-19 | 2006-08-22 | Trellisware Technologies, Inc. | Method for iterative and non-iterative data detection using reduced-state soft-input/soft-output algorithms for complexity reduction |
WO2003021440A1 (en) * | 2001-09-01 | 2003-03-13 | Bermai, Inc. | Decoding architecture for low density parity check codes |
US7107512B2 (en) * | 2002-05-31 | 2006-09-12 | Broadcom Corporation | TTCM decoder design |
ES2381012T3 (es) * | 2002-07-03 | 2012-05-22 | Dtvg Licensing, Inc | Procedimiento y sistema para generar códigos de comprobación de paridad de baja densidad (LDPC) |
US7577207B2 (en) * | 2002-07-03 | 2009-08-18 | Dtvg Licensing, Inc. | Bit labeling for amplitude phase shift constellation used with low density parity check (LDPC) codes |
US7020829B2 (en) * | 2002-07-03 | 2006-03-28 | Hughes Electronics Corporation | Method and system for decoding low density parity check (LDPC) codes |
US20040019845A1 (en) * | 2002-07-26 | 2004-01-29 | Hughes Electronics | Method and system for generating low density parity check codes |
US7864869B2 (en) * | 2002-07-26 | 2011-01-04 | Dtvg Licensing, Inc. | Satellite communication system utilizing low density parity check codes |
US7173985B1 (en) * | 2002-08-05 | 2007-02-06 | Altera Corporation | Method and apparatus for implementing a Viterbi decoder |
AU2003259479A1 (en) * | 2002-09-18 | 2004-04-08 | Koninklijke Philips Electronics N.V. | Method for decoding data using windows of data |
WO2004112258A1 (en) * | 2003-06-12 | 2004-12-23 | Arithmatica Limited | High speed viterbi decoding and detection using an iterative trellis collapsing algorithm |
GB2407949B (en) | 2003-11-04 | 2006-03-15 | Arithmatica Ltd | A calculating apparatus and method for use in a maximum likelihood |
JP2005210238A (ja) * | 2004-01-21 | 2005-08-04 | Nec Corp | ターボ復号装置及びその方法並びにその動作プログラム |
US7487432B2 (en) * | 2004-05-25 | 2009-02-03 | Agere Systems Inc. | Method and apparatus for multiple step Viterbi detection with local feedback |
US7616695B1 (en) | 2004-06-17 | 2009-11-10 | Marvell International Ltd. | MIMO equalizer design: an algorithmic perspective |
CN101341659B (zh) * | 2004-08-13 | 2012-12-12 | Dtvg许可公司 | 用于多输入多输出通道的低密度奇偶校验码的码设计与实现的改进 |
US7269235B2 (en) * | 2005-02-14 | 2007-09-11 | Viasat, Inc. | Non-integer delays in iterative diversity reception |
US7978759B1 (en) * | 2005-03-24 | 2011-07-12 | Marvell International Ltd. | Scalable equalizer for multiple-in-multiple-out (MIMO) wireless transmission |
KR20070025145A (ko) * | 2005-08-31 | 2007-03-08 | 삼성전자주식회사 | 소프트 복호화 방법 및 장치, 에러 정정 방법 및 장치,소프트 출력 방법 및 장치 |
US20070113161A1 (en) * | 2005-11-14 | 2007-05-17 | Texas Instruments Incorporated | Cascaded radix architecture for high-speed viterbi decoder |
KR101351140B1 (ko) * | 2005-11-22 | 2014-01-15 | 조지아 테크 리서치 코오포레이션 | 통신 시스템에서 신호 송수신 장치 및 방법 |
US8091009B2 (en) * | 2006-03-23 | 2012-01-03 | Broadcom Corporation | Symbol by symbol map detection for signals corrupted by colored and/or signal dependent noise |
EP1942578A1 (en) * | 2006-11-29 | 2008-07-09 | Broadcom Corporation | Address generation for contention-free memory mappings of turbo codes with ARP (almost regular permutation) interleaves |
US7986441B2 (en) * | 2007-04-04 | 2011-07-26 | Wong Technologies L.L.C. | Embedding watermark into halftone image with low distortion using parity values for overlapping groups of candidate sites |
US8259868B1 (en) | 2007-09-25 | 2012-09-04 | University Of Southern California | Conditionally cycle-free generalized tanner graphs based decoding |
US8077790B2 (en) * | 2007-10-23 | 2011-12-13 | Eric Morgan Dowling | Tiled-building-block trellis encoders |
US8156409B2 (en) * | 2008-02-29 | 2012-04-10 | Seagate Technology Llc | Selectively applied hybrid min-sum approximation for constraint node updates of LDPC decoders |
US8171384B2 (en) * | 2008-06-27 | 2012-05-01 | Freescale Semiconductor, Inc. | Device having turbo decoding capabilities and a method for turbo decoding |
TWI376105B (en) * | 2009-06-15 | 2012-11-01 | Univ Nat Taiwan | Tree decoding method for linear block codes |
US8910029B2 (en) | 2011-02-08 | 2014-12-09 | Intel Mobile Communications GmbH | Iterative decoder |
KR101268061B1 (ko) | 2011-10-21 | 2013-05-28 | 단국대학교 산학협력단 | 다상-누산 코드를 이용한 부호화 방법 및 복호화 방법 |
CN103532571A (zh) * | 2012-07-05 | 2014-01-22 | 联芯科技有限公司 | Log-MAP译码方法和译码器 |
US9008073B1 (en) * | 2012-12-07 | 2015-04-14 | Maxim Integrated Products, Inc. | Routing for power line communication systems |
US10075186B2 (en) | 2015-11-18 | 2018-09-11 | Cisco Technology, Inc. | Trellis segment separation for low-complexity viterbi decoding of high-rate convolutional codes |
US10367600B2 (en) * | 2017-08-09 | 2019-07-30 | Ciena Corporation | Forward error correction with contrast coding |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0261626B1 (en) * | 1986-09-22 | 1994-08-31 | Nec Corporation | Error-correcting bit-serial decoder |
US5014276A (en) * | 1989-02-06 | 1991-05-07 | Scientific Atlanta, Inc. | Convolutional encoder and sequential decoder with parallel architecture and block coding properties |
DE69225619T2 (de) * | 1991-01-09 | 1998-12-24 | Philips Electronics N.V., Eindhoven | Signalübertragungssystem mit getrennter Baum-Kodierung eines jeden Parameters |
US6233290B1 (en) * | 1995-04-13 | 2001-05-15 | California Institute Of Technology | Method for noncoherent coded modulation |
US5933462A (en) * | 1996-11-06 | 1999-08-03 | Qualcomm Incorporated | Soft decision output decoder for decoding convolutionally encoded codewords |
US5930272A (en) * | 1997-06-10 | 1999-07-27 | Efficient Channel Coding, Inc. | Block decoding with soft output information |
US6484283B2 (en) * | 1998-12-30 | 2002-11-19 | International Business Machines Corporation | Method and apparatus for encoding and decoding a turbo code in an integrated modem system |
FI106416B (fi) * | 1999-02-09 | 2001-01-31 | Nokia Mobile Phones Ltd | Menetelmä ja laite dekoodatun symbolisarjan luotettavuuden määrittämiseksi |
US6304996B1 (en) * | 1999-03-08 | 2001-10-16 | General Electric Company | High-speed turbo decoder |
US6343103B1 (en) * | 1999-09-03 | 2002-01-29 | Agere Systems Guardian Corp. | Methods and apparatus for representation of branch metrics in a communication system decoder |
US6769007B2 (en) * | 2001-04-05 | 2004-07-27 | Sun Microsystems, Inc. | Adder circuit with a regular structure |
-
2001
- 2001-05-03 KR KR1020027014808A patent/KR100566745B1/ko not_active IP Right Cessation
- 2001-05-03 WO PCT/US2001/014460 patent/WO2001084720A1/en active IP Right Grant
- 2001-05-03 US US09/848,778 patent/US20020021770A1/en not_active Abandoned
- 2001-05-03 AU AU5948101A patent/AU5948101A/xx active Pending
- 2001-05-03 AU AU2001259481A patent/AU2001259481B2/en not_active Expired
- 2001-05-03 JP JP2001581426A patent/JP3854155B2/ja not_active Expired - Lifetime
-
2004
- 2004-06-24 US US10/875,979 patent/US7197691B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20040237025A1 (en) | 2004-11-25 |
AU2001259481B2 (en) | 2004-05-20 |
US20020021770A1 (en) | 2002-02-21 |
KR100566745B1 (ko) | 2006-04-03 |
KR20030005322A (ko) | 2003-01-17 |
WO2001084720A1 (en) | 2001-11-08 |
JP2003533088A (ja) | 2003-11-05 |
AU5948101A (en) | 2001-11-12 |
WO2001084720A9 (en) | 2002-12-19 |
US7197691B2 (en) | 2007-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3854155B2 (ja) | 待ち時間を短くしたソフトイン/ソフトアウトモジュール | |
Masera et al. | VLSI architectures for turbo codes | |
AU2001259481A1 (en) | Reduced-latency soft-in/soft-out module | |
Levine et al. | Implementation of near Shannon limit error-correcting codes using reconfigurable hardware | |
Muller et al. | Exploring parallel processing levels for convolutional turbo decoding | |
Leung et al. | Concatenated zigzag Hadamard codes | |
Akshaya et al. | VLSI Implementation of Turbo Coder for LTE using Verilog HDL | |
Fleah et al. | Design and Implementation of Turbo encoder/decoder using FPGA | |
Sklar | Fundamentals of turbo codes | |
Dong et al. | Design and FPGA implementation of stochastic turbo decoder | |
Li et al. | Unified convolutional/turbo decoder design using tile-based timing analysis of VA/MAP kernel | |
Ping et al. | Symbol-by-symbol APP decoding of the Golay code and iterative decoding of concatenated Golay codes | |
Beerel et al. | A low latency SISO with application to broadband turbo decoding | |
Liu et al. | Turbo encoding and decoding of Reed-Solomon codes through binary decomposition and self-concatenation | |
Muller et al. | Spc05-3: On the parallelism of convolutional turbo decoding and interleaving interference | |
Liu et al. | An interactive concatenated turbo coding system | |
Cheng et al. | Optimizations of a hardware decoder for deep-space optical communications | |
Yanping et al. | New implementation for the scalable LDPC-decoders | |
US20240243756A1 (en) | Decoding of series-concatenated turbo codes | |
Chatzigeorgiou et al. | The augmented state diagram and its application to convolutional and turbo codes | |
Chatzigeorgiou et al. | Performance analysis and design of punctured turbo codes | |
Beerel et al. | An/spl Oscr/(log/sub 2/N)-latency SISO with application to broadband turbo decoding | |
SUNEETHA et al. | Implementation of a Novel and Area Efficient VLSI Architecture for Recursion Computation in LTE Turbo Codes | |
Jackuline et al. | A new architecture for the generation of picture based CAPTCHA: Double binary convolutional turbo decoder using low power memory reduced traceback MAP decoding | |
SINDHU | VLSI Implementation of Turbo codes for LTE Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050201 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050428 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050511 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060117 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060412 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060419 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060718 |
|
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: 20060815 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060907 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3854155 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100915 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110915 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110915 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120915 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130915 Year of fee payment: 7 |
|
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 |
|
EXPY | Cancellation because of completion of term |