JP2003533088A - 待ち時間を短くしたソフトイン/ソフトアウトモジュール - Google Patents
待ち時間を短くしたソフトイン/ソフトアウトモジュールInfo
- Publication number
- JP2003533088A JP2003533088A JP2001581426A JP2001581426A JP2003533088A JP 2003533088 A JP2003533088 A JP 2003533088A JP 2001581426 A JP2001581426 A JP 2001581426A JP 2001581426 A JP2001581426 A JP 2001581426A JP 2003533088 A JP2003533088 A JP 2003533088A
- Authority
- JP
- Japan
- Prior art keywords
- siso
- soft
- module
- tree
- marginalization
- 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
Links
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)
Abstract
Description
583号の特典を主張するものである。なおこの仮特許願は本願に援用するもの
である。
91に基づいて全米科学財団によって援助を受けたものである。米国政府は本願
発明に特定の権利を有している。
技法が記載されている。さらに具体的に述べると、本願は、例えばターボ復号器
で用いられるような、有限状態機械(すなわちソフトイン/ソフトアウトモジュ
ールすなわち「SISO」モジュール)のソフトインバースを計算することに関す
る。
ではない。チャネル符号化又は等しく誤り訂正符号化は、通信システムの受信機
が送られたデータ流の組成(composition)を正しく検出できる確率を高める方
法に関連している。一般に、このことは、信号を発信する前に符号化して冗長性
を加えることによって達成される。この冗長性によって、受信機が符号化された
信号を正しく復号して元のデータを回復できる可能性が高まる。
り、可能な理論的限界に近い電力効率で発信している。ターボ符号の特徴として
は、並列符号連結、不均一インタリービング及び反復復号がある。ターボ符号は
、エネルギー効率を大きく改善することができるので、電力及び/又は干渉(in
terference)が限定されているチャネルに使用するのに魅力がある。
器は、反復方式で協働する二つのソフトインプット/ソフトアウトプット(SI
SO)復号モジュールを備えていてもよい。そのSISO復号モジュールは、有
限状態機械のネットワークを有するシステム又はより一般的にいえばサブシステ
ムに対して樹立された反復検出法に用いる基本的な構築ブロックである。
成のブロック図を示す。この実施例では、ターボ符号器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に送ら
れる。
バース(soft-inverse)であるブロック13によって復調され次いでデ・パンク
チャ(de-puncture)される。ブロック13の出力:M[ck(0)]、M[c
k(1)]及びM[dk(1)]は、「ソフト」情報であり、すなわち、これら
情報はそれぞれ、該符号化されたシーケンスck(0)、ck(1)及びdk(
1)で送られた情報ビットの最も適当なシーケンスについての推定又は信念(gu
ess or belief)である。その復号プロセスは、受け取られたソフト情報M[c
k(0)]、M[ck(1)]を第一復号器SISOに送ることによって続き、
その復号器は送られた情報を推定してソフト出力M[bk]を生成し、そのソフ
ト出力をインタリーバI(符号器10のインタリーバIと同じインタリービング
マップを利用する)に送ってM[ak]を生成させる。第二復号器SISO2は
、M[ak]と受け取ったソフト情報M[dk(1)]を使用してその情報を再
推定する。この第二推定は、インタリーバのソフトインバースI−1によってS
ISO1にループバックされそのSISO1で推定プロセスが再び始まる。その
反復プロセスは特定の条件が満たされるまで、例えば、特定回数反復されて、そ
の時点で最終のソフト推定が伝送された情報を示す「ハード」出力になるまで続
く。
タパート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)遅
延を意味する。
って、SISOの待ち時間を減らすとそのシステムの処理量(システムのアーキ
テクチャが処理できる一秒当りビット数の大きさ)が有意に改善できることを見
出した。その結果、本発明の発明者らは、待ち時間を減らすことができる木構造
化SISO(tree-structured SISO)を開発した。
信号など)の復号は、例えば無線通信システムで、受信した符号化信号を復調し
てソフト情報(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演算を含んで
いる。
リティチェック符号化信号、積符号化信号(product coded signal)、畳みこみ
符号化信号(convolutional coded signal)、並列連結畳みこみ符号化信号、及
び/又は直列連結畳みこみ符号化信号のうちの少なくとも一つを含んでいてもよ
い。
数の反復を完了したときに停止させることができる。その反復処理には、該ソフ
ト情報に対する並列プレフィックス演算又は並列サフィックス演算又はその両者
が含まれていてもよい、さらに、その反復処理には、第一SISOのソフト出力
を、もう一つのSISOへのソフト入力として使用すること及び/又は該ソフト
情報上にセミリング(semi-ring)を形成するマージナライゼーション結合演算
を行うことが含まれていてもよい。
(但しNはブロックサイズである)のSISOをもたらす木構造、Brent−
Kungの木、又は例えば二方向性の木構造再帰(tree structure recursion)
を有する順方向−逆方向の木でもよい。
n interval)を、サブインターバル(subinterval)中にタイルし(tile)、次
いで、各サブインターバルに対し、最小ハーフウィンドウSISO演算を適用す
ることを含んでいてもよい。
の状態メトリクスを計算するように構成された複数の融合モジュール(fusion m
odule)を含んでいてもよい。各融合モジュールは下記式で定義することができ
る。
e pair)SkとSmの最小シーケンスメトリクス(MSM)のマトリックスであ
る。それら融合モジュールのうち少なくとも一つが、再帰的マージナライゼーシ
ョン結合演算を実施することによって、順方向と逆方向の状態メトリクスを計算
することができる。
ーション結合演算を行う1又は2以上の完全融合モジュール(CFM)、順方向
のみのマージナライゼーション結合演算を行う1又は2以上の順方向融合モジュ
ール(fFM)、及び逆方向のみのマージナライゼーション結合演算を行う1又
は2以上の逆方向融合モジュール(bFM)を含んでいてもよい。上記1又は2
以上のCFM、fFM及びbFMは、木構造(例えばBrent−Kungの木
、順方向−逆方向の木)中に配置される。CFMの数は、ソフト−インバース(
soft-inverse)を計算するのに必要な最少数に設定される。一般に、fFMとb
FMは、可能なときはいつでも、CFMの代わりに木構造中で使用できる。
対応する入力信号(例えばターボ符号化信号又は畳みこみ符号化信号)を受信し
、次に、その受信した入力信号の順方向と逆方向の状態メトリクスを、木構造を
利用して計算することによってFSMのソフトインバースを求めることを含んで
いてもよい。その順方向と逆方向の状態メトリクスは、1又は2以上のSISO
モジュールによって、例えばマージナライゼーション結合演算の木構造化セット
を使用して、計算することができる。
列プレフィックス演算又は並列サフィックス演算又はその両者を実施して、ソフ
ト情報を反復処理することが含まれていてもよい。さらに、その反復処理は、第
一SISOのソフト出力をもう一つのSISOへのソフト入力として使用するこ
とを含んでいてもよい。少なくとも一つのSISOは、さらに、観測インターバ
ルをサブインターバル中にタイルし、次に、各サブインターバルに最小ハーフウ
ィンドウSISO演算を適用することができる。
その受信した信号に関連するソフト情報を生成するよう構成された復調器、及び
その復調器と交信し、木構造を使用してFSMのソフトインバースを計算するよ
う構成された少なくとも一つのSISOモジュールを備えている。その木構造は
、並列プレフィックス演算と並列サフィックス演算を組み合わせて実行できる。
えていてもよい。その場合、そのSISOモジュールは、該復号された信号のソ
フト情報の推定を繰返し交換することができる。いずれの場合も、少なくとも一
つのSISOは、該受信信号の順方向と逆方向の状態メトリクスを計算すること
によってFSMのソフトインバースを計算することができる。
らの出力に対応する入力信号を受信し、次に、その受信した入力信号の順方向と
逆方向の状態メトリクスを木構造を使用して計算することによって1又は2以上
のブロック符号化モジュールのソフトインバースを求めることによって実施でき
る。該入力信号は、ブロックターボ符号化信号、低密度パリティチェック符号化
信号及び/又は積符号化信号を含んでいてもよい。
を反復処理すること例えばソフト情報に対して並列プレフィックス演算又は並列
サフィックス演算又はこれら両者を実施することを含んでいてもよい。
れた信号を入力として受信してその受信信号に関連するソフト情報を生成するよ
うに構成された復調器、及びその復調器と交信しかつ該ブロック符号化モジュー
ルのソフトインバースを木構造を使って計算するように構成された少なくとも一
つのSISOモジュールを備えていてもよい。使用される木構造は、並列プレフ
ィックス演算と並列サフィックス演算を組み合わせて実行することができる。該
ブロック復号器はさらに、互いに交信しそして復号された信号のソフト情報推定
を反復交換する少なくとも二つのSISOモジュールを含んでいてもよい。いず
れの場合も、少なくとも一つのSISOは、受信した信号の順方向と逆方向の状
態メトリクスを計算することによって、ブロック符号化モジュールのソフトイン
バースを計算することができる。
号(例えばブロック誤り訂正符号化信号、ブロックターボ符号化信号、低密度パ
リティチェック符号化信号、及び/又は積符号化信号)を受信し[そのモジュー
ルのソフトインバースは、そのモジュール(例えばFSM又はブロック符号化モ
ジュール)のトレリス表現に対し順方向−逆方向のアルゴリズムを実行すること
によって計算することができる]、次いで該入力信号の順方向と逆方向の状態メ
トリクスを、木構造を使用して計算することによって該モジュールのソフトイン
バースを求めることを含んでいてもよい。
は、並列で順方向と逆方向の再帰を実行し、待ち時間がO(N)の従来のSIS
Oとは対照的に、待ち時間をO(lgN)(但しNはブロックサイズでありそし
て「lg」はlog2を意味する)と短くできる木構造のSISOモジュールを
もたらす。待ち時間は、主としてチップ面積(chip area)を犠牲にすることに
よって短くなり、場合によっては計算量がごくわずか増大することがある。この
木構造SISOを使用して処理量が非常に大きいターボ復号器すなわちより一般
的に述べれば反復検出器を設計することができる。また、各種のサブウインドウ
イング(sub-windowing)方式及びタイリング方式を使用して、待ち時間をさら
に改善することもできる。
スに対し実行することが望ましいか又は必要な事実上どんな環境でも使用できる
。例えば、この木−SISOは、無線通信及び多くのタイプの復号[ターボ復号
、ブロックターボ復号、並列連結畳みこみ符号と直列連結畳みこみ符号の両者を
含む畳みこみ符号化、低密度パリティチェック(LDPC)符号、積符号及びよ
り一般的に述べると反復検出時の符号を含むパリティチェック符号化]に用途が
ある。この待ち時間を短くしたSISOは、比較的少数の状態を有するFSM例
えば、一般に4個又は8個の状態を有するターボ符号FSMを復号するのに利用
するとき、特に有利である。
他の特徴、目的及び利点は、本願の説明と図面及び特許請求の範囲から明らかに
なるであろう。
して、標準SISO計算の再公式化法(re-formulation)を開発した。このアー
キテクチャ(木−SISOと呼称される)は、高速加算器などの超大規模集積回
路(VLSI)の用途に使用される高速並列プレフィックス計算用の木構造に基
づいている。この木−SISOと各種の別の実施態様の詳細を以下に述べる。
ータ検出/復号のアルゴリズムの重要な演算である。より一般的な用途の一つは
、例えばBerrouら、「Near Shannon limit error-correcting coding and decod
ing: 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〜27
8頁1973年3月)又はバールアルゴリズム(L. R. Bahl、J. Cocke、F. Jel
inek,及びJ. Raviv、「Optimal decoding of linear codes for minimizing sym
bol error rate」、IEEE Trans. Inform. Theory 、IT−20巻284〜28
7頁1974年3月)と同じ決定を生成する]。多くの用途の一般的な傾向は、
より高いデータ速度へ向かっているので、高速のアルゴリズムとアーキテクチャ
が要望されている。
第一の側面は、そのアーキテクチャが復号できる1秒当りビット数の大きさであ
る処理量である。第二の側面は、Nビットのブロックを復号するための終端間遅
延(end-to-end delay)である待ち時間である。非パイプラインのアーキテクチ
ャは、一度に一ブロックだけを復号し、かつその処理量が単に待ち時間で割り算
されたNで表されるアーキテクチャである。一方、パイプラインアーキテクチャ
は、複数のブロックを同時に復号し、その後シフトされて、非パイプラインの対
応するアーキテクチャよりはるかに大きい処理量を達成することができる。
重要である。例えば、ターボ符号化システムにて、比較的低いデータ速度(10
0Kb/s未満)でインタリーブすることに関連する待ち時間は、反復復号ハー
ドウェアの待ち時間を超えるようである。しかし、将来の高速システムの場合、
インタリーバによる待ち時間は、比較的短くなり、復号器の待ち時間が重要にな
る。パイプライン復号器は、処理量の要求を達成できることが多いが、このよう
な方法は一般的に、待ち時間を、実質的に短くすることはない。その上、待ち時
間はシステムの全性能に対して劇的なインパクトを与える時がある。例えば、デ
ータ記憶システム(例えば磁気ハードドライブ)において、検索プロセスの待ち
時間は、マイクロプロセッサやコンピュータ全体の性能に対して劇的なインパク
トを与える。このような磁気記憶チャネルは、ターボ符号化法による高速のビタ
ビ処理法を利用できる。
順方向と逆方向の再帰的ステップは、与えられた時点のすべてのFSM状態に対
して並列に計算して、O(N)という計算量(computational complexity)と待
ち時間(Nはブロックサイズである)を有するアーキテクチャを得ることができ
る。本願の重要な結果は、プレフィックス演算とサフィックス演算の組合せを使
用して標準SISO計算を再公式化することであり、その再公式化によって、O
(lgN)という待ち時間を有するアーキテクチャがもたらされる。このアーキ
テクチャは「木−SISO」と呼ばれるが、超大規模集積回路(VLSI)文献
中の高速並列プレフィックス計算のための木構造(例えば高速加算器に基づいて
いる。
増大を犠牲にしてなされる。これらコストの正確な値は、該FSMの構造(例え
ば状態の数)とその実行の詳細によって決まる。しかし、四状態の畳みこみ符号
、例えばターボ符号の構成符号として使用されることが多い符号の場合、その木
−SISOアーキテクチャは、O(NlgN)という計算量で、O(lgN)と
いう待ち時間を達成する。この四状態実施例の場合、木−SISOアーキテクチ
ャの計算量は、関連するスピードアップに対してほぼ直線的に増大することに留
意すべきである。これは、ビタビアルゴリズムに対する線形スケールの解(line
ar-scale solution)(例えばFettweisら、「Parallel Viterbi algorithm impl
ementation: Breaking the ACS-bottleneck」、IEEE Trans・Commun. 、37巻
785〜790頁1989年8月などに記載されている)より優れており、そし
てその解の汎化(generalization)は、上記SISOの問題に対して必ずしも明
確でない。この四状態符号の実施例の場合、待ち時間がO(lgN)の木−SI
SOに関連する領域はO(N)である。
eneric 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によって決めることができることに留
意すべきである。
プするシステムとみなす。このFSMの限界ソフトインバース(marginal soft-
inverse)又はSISOは、入力SI(ak)と出力SI(xk)のソフトイン
(SI)情報の、ak及び/又はxkに対するソフト出力(SO)情報へのマッ
ピングと定義することができる。そのマッピングは、使用される結合オペレータ
とマージナライゼーションオペレータによって定義される。マージナライゼーシ
ョンと結合のオペレータについて、一つの特定の妥当な選択を考えることだけが
必要でありそしてその結果は他の重要なオペレータに容易に変換することは現在
よく知られている。したがって、焦点は、標準の方式で、max−積(max-prod
uct)、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構造下では起こり得ない遷移のメトリックは無限大であると解釈され
る。
る結合とマージナライゼーションの演算は効率的に計算することができる。伝統
的な方法は、状態のMSMを、適時再帰的に順方向と逆方向に計算する順方向−
逆方向のアルゴリズムである。具体的に述べると、遷移tk、k=0,1,…,
N−1に対するソフトインに基づいた標準の固定インターバルアルゴリズムの場
合、加算−比較−選択(ACS)演算に基づいて下記再帰式(recursion)が得
られる。
期化される。状態に対するS可能値(S possible value)があるので、これらの
状態メトリクスは(S×1)ベクトルfkとbkとみなすことができる。式(4
)〜(5)における最終ソフト出力は、遷移tkのMSMについてマージナライ
ズすることによって得られる。
実行(straightforward implementation)は、カジュアル(casual)及びアンチ
カジュアルの状態MSMを計算する際のACSのボトルネックのため、待ち時間
が大きい(すなわちO(N))。
一般形式と定義される。
タ(associative binary operator)である。
…、yn−1、を行ってn個の出力z0、z1、…、zn−1を生成する計算の
一つの一般形式と定義できる。
タである。サフィックス演算は、単に、他のエッジに固定された(逆方向)プレ
フィックス演算であることに注目すべきである。
て短い待ち時間で実行できる一クラスのアルゴリズムを可能にするので重要であ
る。この概念を実現する最も注目すべきものは、待ち時間がO(lgN)のVL
SIN−ビットの木加算器(VLSI N-bit tree adder)である。
ィックス演算を組み合わせることにより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の各条件値に対して下記のとおりである。
N−1の場合のC(0、k)及びC(k、N)を計算することである。該アルゴ
リズムの入力は、k=0、1、…、N−1の場合のC(k、k+1)と書き表す
ことができる1ステップ遷移メトリクスであることに注目すべきである。このア
ルゴリズムがプレフィックスとサフィックスの計算によってどのように実行でき
るかを示すために、二つのかようなマトリックスすなわち一方が他方の右エッジ
と一致する左エッジを有しているマトリックスを入力し、次いでその中央点をマ
ージナライズアウトしてより大きいスパンを有するペアワイズ(pairwise)状態M
SMを得るCマトリックスのmin−sum融合オペレータを定義する。具体的
に述べると、C(k0、m)とC(m、k1)が与えられると、我々はC融合オ
ペレータを定義するか、又は、下記式において(C(k0、m)とC(m、k1 )の間に)記載された記号にて表されるアソシエティブ2項オペレータが定義さ
れる。
のマトリックスを戻すアソシエティブ2項オペレータである。これは図1に示す
。この定義によって、k=0、1、…、N−1の場合のC(0、k)とC(k、
N)は下記のようにプレフィックス演算とサフィックス演算を利用して計算する
ことができる。
perty)に基づいている。具体的に述べると、時点kにおけるすべての可能なF
SM状態値に対する調整、すなわちこの状態条件の両側の最短経路の問題(例え
ばMSM計算)は、独立して解決しともに融合させることができる(例えば、C
融合オペレータ(C-fusion operator)によって実行されるように)。より一般
的には、該SISO演算は、観測インターバルを、独立して処理された各サブイ
ンターバルで区分することによって分離し次に融合することができる。例えば、
順方向−逆方向アルゴリズムは、順方向と逆方向に順次起こる融合によって、単
一遷移レベルに区切ることに基づいている。対照的に、他のSISOアルゴリズ
ムは、前記区分、及び前記部分問題(sub-problem)に対する解を融合するスケ
ジュールを指定することによって定義できる。これは、アソシエーション方式を
上記プレフィックス−サフィックス演算に記入して(すなわち括弧でまとめて)
表すことができる。
とができる。例えば、該順方向―逆方向アルゴリズムは、すべてのC融合演算を
、はるかに単純な順方向と逆方向のACSで代替する。しかし、待ち時間もアソ
シエーション方式の関数である。ペアワイズ木構造化グルーピングに基づいたア
ーキテクチャを以下に示す。この構造は、C融合演算の小サブセットのみを単純
化できるが、部分問題に対する解を、順次方式の代わりに並列方式で融合するこ
とによって、順方向−逆方向アルゴリズムに比較して、待ち時間を容易に、大き
く短くすることができる。
の短い並列アーキテクチャは、Brentら、「A regular layout for parallel add
ers」、IEEE Transactions on computers 、C−31巻260〜264頁198
2年3月;T.H.Cormenら著、Introduction to Algorithms、米国マサチューセ
ッツ州ケンブリッジ、The MIT Press、1990年;及びA. E. Despain著、New
Computer Architectures、Academic press、1984年の「第二章:Notes on c
omputer architecture for high performance」に記載されているようなSIS
Oに採用させることができる。これらはすべて、その二項アソシエティブオペレ
ータが単純な1ビット加算であるn−ビット加算設計を目標としている。本発明
の発明者らは、並列のプレフィックス−サフィックスアーキテクチャが1ビット
加算より大きく複雑である二項アソシエティブオペレータに基づいたアルゴリズ
ムに適用できることを最初に見出したのである。従来の並列プレフィックス−ア
ーキテクチャは、領域が小さくならず、待ち時間が長いので、各計算モジュール
の限定論理出力の二次的制限の原因になっている。この後者の制限は、計算モジ
ュールが小さくかつ、ワイヤやバッファの遅延に類似の遅延を有しているとき(
例えば加算器の設計において)に重要である。しかし、該融合オペレータは比較
的大きい。その結果、現行VLSIの傾向が提供されると、その傾向は、近い将
来、全遅延を左右すると考えられる。したがって、本願に記載のアーキテクチャ
は、論理出力に関係なく、最小数の計算モジュールによって、待ち時間を最小限
にする。
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によって得られる。
Nステージにおける全インターバルのCマトリックスを計算することができる。
これは、N=16の特別な場合について図3に示してある。i=1、2、…、n
=lgNのとき左から右へ(すなわちスパンを増大しながら)ステージに指標付
けすると、ステージiに2n−iFMアレイがあることは明らかであることに注
目すべきである。
算することであるから、すべてのFMが、すべてのFMアレイに対してCFMで
ある必要はない。具体的に述べると、順方向状態のメトリクスfk−1は下記式
によってfm−1とC(m、k)から得ることができる。
ベクトルを生成するプロセッシングモジュールはf融合モジュール(fFM)と
呼称する。b融合モジュール(bFM)は式(17)による演算によって、同様
に定義される。図3は、どのFMを、fFM又はbFMとして実行できるかを示
す。
時間があることである。これは、データ従属性だけが一ステージから次のステー
ジまでであるので、一ステージ内のすべてのFMアレイとFMアレイ内のすべて
のFMを、各々O(l)の待ち時間をとりながら並列に実行できるからである。
この短い待ち時間のコストは、比較的大きな領域に対して必要である。一つの軽
減ファクターは、木のステージが順に作動するから、ハードウェアがステージ間
で共用できるということである。したがって、最大のハードウェアを必要とする
ステージは、必要な全ハードウェアを決定する。これの概略推定はNCFMであ
り、それらCFMは各々、関連レジスタ(associated register)を有するS2
Sウェイ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まで減らすことができ
る。
的演算はQウェイACSユニット(Qはukと一致する遷移の数である)である
。その遷移のせいぜい1/2がukと一致していると仮定すると、QはS2/2
が上限である。その結果、Sが大きいと、完了ステップの待ち時間が短く領域効
率のよい実行が重要な問題になる。幸いにも、低待ち時間の実行が多数、広く知
られている(例えばP. J. Blackの博士論文:Algorithms and Architectures fo
r High Speed Viterbi Decoding、米国カリフォルニア州スタンフォード大学、
1993年3月に記載されている)。一つの直線的順方向の実行は、コンパレー
タの二本木を使用しかつ待ち時間がO(lgS2)の実行である。小さいSの場
合、この追加の待ち時間は一般に有意でない。
づいた単純な表現を使用して計算できる。後記「計算量の解析」の項で説明する
ように、S回のSウェイACS計算の単位で測定される計算の全回数は次のとお
りである。
セットと等しい演算を実行する。これは、2N=32のかような演算を実行し、
待ち時間が4倍のベースラインアーキテクチャを有する対応する順方向−逆方向
アルゴリズムと比較すべきである。一般に、待ち時間をNからlgNまで減らす
には、計算が、約(1/2)(lgN−3)S+1倍増大することに留意すべき
である。したがって、その関連計算量は大きいが、その計算量のスケーリングは
Nにサブリニアである(sub-linear in N)。
ある。しかし、より疎なトレリス構造の場合、初期処理モジュールは、間に遷移
のシーケンスが全くない状態のペアのMSMを占め、そのため処理電力と待ち時
間を浪費する、∞に設定された要素を含むCマトリックスを処理しなければなら
ない。別の実施態様は、この非能率に取り組む最適化法を組み入れることができ
る。
られた状態sk+Lへと進む遷移のシーケンスが正確に存在している)に出入り
する正確にM個の遷移を有する標準の1ステップトレリスを、ベースラインとみ
なす。一最適化法は、該一スナップトレリスをプレコラプス(pre-collapse)し
て、Rステップのトレリス(1≦R≦L)にして木−SISOアーキテクチャを
該コラプスされたトレリスに適用する方法である。第二の最適化法は、可能な場
合はいつでもC融合モジュールを単純化する方法である。特に、Rステップのト
レリス上のSISOの場合、第一lg(L/R)ステージは、単純化して、多重
ステップの遷移メトリクスの入力ペアを単純に加算する加算のバンクにすること
ができる。
Rの場合の各スーパー遷移(super-transition)
SISOは、これらの入力を受け入れて、順方向と逆方向のMSMすなわちk=
0、1、…、N/Rの場合のfkR−1(sk)とb(k+1)R(S(k+1 )R )を生成する。プレコラスピングの一つの重要な利点は、SISO入力の数
が1/Rに減少して、lgRによる状態のメトリック計算に必要なステージの数
が減少することである。プレコラスピングの起こりうる一つの欠点は、所望のソ
フト入力が、より複雑で一般化された下記完了演算(completion operation)を
利用して計算しなければならないことである。
プトレリスに必要な(ML+1/2)ウエイACSではなくて((ML+R/2
)ウエイACSを含むということである。
間を得るための)を確認するため、構成演算(constituent operation)の相対
待ち時間が必要である。正確な待ち時間は実行の詳細によって決まるが、粗い推
定によって、やはり洞察に満ちた結果が得られる。特に、状態メトリックに対す
るプレコラプシング加算とACR演算及び完了演算の両者を、加算器/コンパレ
ータの2分木(binary tree)を利用して実行すると想定すると、それらの推定
遅延は、それら入力の数の対数になる。一つの重要な観測は、プレコラプシング
が、lgRで単純化されたステージとともに、L1ステップの遷移メトリクスを
加算して(充分に接続されたLステップトレリスに対する遷移メトリクスを生成
する)。推定されたlgL時間単位で共同して実行できることである。その上に
、状態メトリック(ML)ウエイACSユニットはlgML時間単位を採用し、
完了ユニット(ML+R/2)ウエイACSはlg(ML+R/2)時間単位を
採用する。並列性が最高であると仮定すると、全待ち時間は下記式で表される。
条件とする)に最も短くなる。このことは、待ち時間の最も短いアーキテクチャ
が、トレリスが充分に接続されたトレリスにプレコラプスされ、そしてより複雑
な完了ユニットを使用して、ソフト出力を、計算された定期状態メトリクス(pe
riodic state metrics calculated)から抽出するアーキテクチャであることを
示唆している。
算器の木及びより複雑な完了演算を実行するのに必要なコンパレータのより大き
な木を、実行するのに必要な追加の領域である。しかし、この領域のオーバヘッ
ドは、各木のステージ間で、場合によっては待ち時間に対して重要でない影響し
か与えない木の間で加算器とコンパレータを共用することによって軽減すること
ができる。
なり、ソフトインバース計算の処理量が改善されることを知った。最小ハーフウ
ィンドウ(Minimum half-window)(MHW)アルゴリズムは一クラスのSIS
Oであり、そのSISOでは、結合ウィンドウのエッジK1とK2が、k=0、
…、N−1の場合、K1≦max(0、k−d)及びK2≧min(N、k+d
)を満たし、すなわち、該観測ウィンドウのエッジからKだけ離れているあらゆ
る点に対するソフト出力は、左と右のエッジのkだけ離れた少なくともd個の点
を有するサブウィンドウに基づいている。
SISOを得ることができる。一つの特別な方式は、長さが2d+hの結合ウィ
ンドウを使用してすべての状態メトリクスを引き出すタイルサブウィンドウ方式
である。この方式では、図4に示すように、ウィンドウは長さ2dがオーバーラ
ップしてタイルされて、このようなウィンドウが(N−2d)/h個ある。各内
部サブウィンドウでの順方向−逆方向の再帰によってhのソフト出力が生成し、
その結果、hが小さくなるにつれて増大するオーバラップペナルティ(overlap
penalty)がある。
(6)と(7)に示す再帰式を変形した下記再帰式を使用して計算される。
(d+h)になる。
時間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 tim
eの指標について順方向と逆方向の状態メトリクスを計算する(これは、C(s−d 、s0)が初期の左エッジ情報で置換されかつC(sN−1、sN+d−1 )の場合も同様に置換されると解釈すべきである)。
情報への変換に相当する。上記外部最小化はfFM又はbFMに相当する。この
最小化の順序は計算量が最小限になるように選択した。これは、図5に示すこの
方法の実施例に反映されており、その実施例では、四つの木−SISO各々の最
後のステージが、提案された順序で上記最小化を実行するように改変されている
。これを実施するモジュールは、2Cfbモジュールと呼称される。このモジュ
ールは、図3に示すステージの二つの中央CFMを特化したものとみなすことが
できる。サブウィンドウの木−SISO出力の上記紹介は一つの追加処理ステー
ジを加算し、その結果、FMのステージの必要数はlg(d)+1になる。
量は、(各ウィンドウで順方向−逆方向のアルゴリズムを計算する際の計算量)
×(ウィンドウの数)の計算量である。これは、SのSウェイACSによって、
Nが大きい場合下記式で近似することができる。
リクスを計算する際の計算量は同様に、展開することができ下記の式で表される
。
決まる。hが小さくなると、標準の順方向−逆方向方式は待ち時間が短くなるが
、オーバーラップしたウィンドウの数が増大するので計算量が増大する。タイル
ド木−SISOのアーキテクチャはオーバラップペナルティがないので、hが、
タイルド順方向−逆方向方式において小さくなるにつれて、相対的計算量トレー
ドオフは、木−SISO法にとってより有利になる。実際に、h<(2d/Sl
gd)の場合、木−SISOの計算量は、タイルド順方向−逆方向方式の場合よ
り小さい。
実施例では、その領域必要量が、近い将来に実行するのに最も適している実施態
様について述べる。具体的に述べると、4状態の疎(一ステップ)トレリスに基
づいた反復復号器が考えられる。より大きなSを考慮すると、木−SISOの待
ち時間がより印象的に短くなる。これは、並列タイルド順方向―逆方向アーキテ
クチャに対して木−SISOアーキテクチャによって得られる待ち時間の短縮は
、最小ハーフウィンドウの大きさによって決まる。優れた性能は、状態の数とと
もに大きくなるdの値を必要とする(すなわち疎トレリスに対するビタビアルゴ
リズムのトレースバック深さ(traceback depth)に関する経験則に似ている)
と予測される。対照的に、プレコラプシングを考慮すると、得られる待ち時間の
短縮は余り印象的でない。例えばd=16であることが、単一ステップトレリス
に対して必要である場合、d=8という有効値が2ステップトレリスにとって充
分なものである。前者の場合の木−SISOに関する待ち時間は、約1/4まで
短縮されるが、後者の場合3/8まで短縮されるにすぎない。しかし、S及び/
又はプレコラプシングが大きくなればなるほど実行領域が大きくなって、これら
アルゴリズムを近い将来実現できる可能性を現実的に評価する我々の要望と一致
しない。
する標準の並列連結畳みこみ符号(PCCC)が考えられる。これらの再帰組織
構成符号(recursive systematic constituent code)は各々、句読点をつけた
バリティビットを有するジェネレータ多項式(generator polynomial):G(D
)=(1+D2)/(1+D+D2)を使用してパリティを生成して、レート(
rate)1/2の全組織符号を達成する。
ィンドウ(k−d、…k+d)を使用して時点kにおけるソフト出力を計算する
シミュレーション行った。これは、h=1のタイルド順方向−逆方向法によって
得られるSISO演算に、正確に等しい。dは前記シミュレーションに用いるす
べての(内部)ハーフウィンドウの大きさであるから、dを有するMHW−SI
SOに基づいたどのアーキテクチャも、少なくとも同様に作動する(例えばh=
2のタイルド順方向−逆方向、dタイルド木−SISOなど)。インタリーバの
大きさがN=1024で、min−sumマージナライゼーションと結合及び1
0回の繰返しによるシミュレーションの結果を図6に示す。各種のdの場合の性
能を、固定インターバル(N=1024)SISOの性能とともに示す。どんな
機器構成の場合でも、10回を超える繰返しを行っても繰返しによる有意な利得
は全く達成されない。これらの結果は、d=16によって、固定インターバルの
場合に近い性能が得られることを示している。これは、ビタビ復号器のトレース
バック深さに対するメモリの5〜7倍という経験則と一致している(すなわち、
おおむねd=7×2=14で充分であると考えられる)。
式に対する木−SISOの待ち時間の改善は4=16/lg(16)に近い。こ
れら二つの方法の計算量は、類似しており、そしてその実行の詳細、及びタイル
ド順方向−逆方向の方法に対するhの選択によって決まる。完全で公平な比較を
行うには、これら二つの方法の詳細な実行が必要であろう。木−SISOベース
のサブウィンドウアーキテクチャの設計について以下に説明する。
シミュレーションの結果は、8ビットのデータ経路で充分であることを示唆して
いる。概略を述べると、この実施例の木をベースにしたアーキテクチャは、中間
状態メトリックの結果を記憶するため、関連する出力レジスタ(output registe
r)とともに16の4ウエイACSユニットの1024セットが必要であろう。
各4ウエイACSユニットは、一つの8ビットの4−to−1マルチプレクサ、
四つの8ビット加算器、六つの8ビットコンパレータ及び一つの8ビットレジス
タで実行できる。初期のVLSIの設計は、これらユニットが約2250個のト
ランジスタを必要とすることを示している。したがって、これから、16×22
50×1024≒40万個のトランジスタが推定される。論理トランジスタのこ
の数は、現在のVLSIの技術の限度を超えているがまもなく実現可能になるは
ずである。1クロックサイクルが、前記木の1ステージ当り、200MHzクロ
ック周波数で用いられるアーキテクチャが考えられる。d=16の場合、各SI
SO演算は、六つのこのようなクロックサイクルで(その完了ステップに対して
1クロックを使用する)実施することができる。さらに、相互接続ネットワーク
を有する1024個のレジスタからなる2行を含む配線インタリーバを想定する
。このようなインタリーバは既存のメモリに基づく解より大きいであろうが、待
ち時間は1クロックサイクルであろう。その結果、SISOを2回、インタリー
ビングを一回及びデインタリービングを一回適用することからなるターボ復号器
の一回の繰返しは14のクロックサイクルを必要とする。10回繰返すと仮定す
ると、1024ビットを復号するには、140のクロックサイクル又は丁度70
0nsの待ち時間が必要であろう。
常に高い処理量を暗示している。特に、非パイプライン方式は推定処理量が10
24ビット/700ns=1.5Gb/秒である。Maseraら、「VLSI architect
ures for turbo codes」、IEEE、Transactions on VLSI、7巻1999年9月に
記載されているように、木−SISOアーキテクチャを使用して、インタリーバ
ブロックを横切ってパイプラインを設けることもできる。特に、このようなタイ
ルド木−SISO及び関連するインタリーバを20個利用して処理量を20倍ま
で増大して、30Gb/秒という処理量を達成することができる。
−SISOは、内部に容易にパイプラインを設けて、線形ハードウェアスケーリ
ングでさらに高い処理量を達成することができる。特に、専用ハードウェアを木
−SISOの各ステージで利用すると、木−SISOの内部にパイプラインを設
けることによって、待ち時間が増大することなく、処理量がさらにlg(d)倍
になる。ウィンドウサイズがd=16の場合、木ベースのアーキテクチャは、1
20Gb/秒を超える処理量を維持できる。すなわち、現在の方式では、このよ
うなハードウェアのコストは実用限度を超えることがあると理解することが重要
である。しかし、VLSI法の密度が連続的に増大すると仮定すると、このよう
なアグレッシブアーキテクチャ(aggressive architecture)でさえも、将来、費
用効率が高くなりうる。
である。ステージiのこれらFMアレイは各々、トレリスの2iステップにわた
っておりかつ2i−1FMを含んでいる。したがって、ステージiのFMの総数
はnFM(i)=(2i−1)2n−iである。それ故、融合演算の総数は下記
のとおりである。
数が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の数は下記式で表されることになる。
は下記のとおりである。
ならないFMの比率は(lgN−3)/(lgN−1)であることが分かる。N
が小さい場合、その比率はわずかに大きくなる。例えば、図3において、Nf=
Nb=15でありそして20のCFMがある。
である。このことは、式(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に対して必要なこれら計算の総数は下記式で表される。
ェイACS計算の単位で測定される。
の等価物が実行される。これは、2N=32のかような演算を実施し、4倍の待
ち時間を有するベースラインアーキテクチャを有する対応する順方向−逆方向ア
ルゴリズムと比較するためである。一般に、待ち時間がNからlgNまで減少す
る場合、計算が約(1/2)(lgN−3)S+1倍まで増大することに留意す
べきである。したがって、関連する計算量は大きいが、計算量のスケーリングは
Nでほぼ線形である。Sが小さい場合、これは、短い待ち時間のビタビアルゴリ
ズムの実行(例えばP. J. Black博士の論文、Algorithms and Architectures fo
r High Speed Viterbi Decoding、米国カリフォルニア州スタンフォード大学1
993年3月;及びFettweisら、「Parallel Viterbi algorithm implementatio
n: Breaking the ACS-bottleneck」、IEEE Trans. Commum.、37巻785〜7
90頁1989年8月に記載されている)に対する線形スケールの解より優れて
いる。
の最小限のハードウェア資源の必要量を決定するので重要である。これは、融合
モジュールが、待ち時間に対して無視できる影響しか与えずステージ間で共用で
きるからである。
対する条件を検討することによって求めることができる。具体的に述べると、i
<nの場合、下記のとおりであり、
る。具体的に述べると、式(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)
は下記式まで縮小することができる。
じて、待ち時間、計算量及びIC領域の間のトレードオフを示す各種木構造のど
れでも使用することができる。図8Aと図8Bは、順方向−逆方向の木−SIS
O(FBT−SISO)と呼称される実施態様を示す。FBT−SISOにおけ
る木構造の再帰は、内向きと外向きの二方向性である。一つの結果として、FB
T−SISOは、待ち時間が木−SISOの2倍であるが、計算量が有意に減少
するので、集積回路(IC)チップの使用面積は小さくなる。
メッセージの詳細を、図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〕:すなわち標準順方向−逆方
向アルゴリズムの順方向と逆方向の状態メトリクスの合計である。こうして、ボ
トムレベルでのこれらノードの最終起動によって、所望の外来出力メトリクス(e
xtrinsic output metrics)が生成する。
このFBT−SISOは待ち時間が、木−SISOの2倍である。待ち時間がこ
のように適度に増加し、これに伴い計算量が有意に減少している。具体的に述べ
ると、FBT−木SISOは計算量がO(K)で待ち時間がO(log2K)で
ある。これは、木−SISOの場合の計算量O(K log2K)と待ち時間O
(log2K)及び標準のトレリスで送るメッセージの場合の計算量O(K)と
待ち時間O(K)に匹敵している。
ある。一般に、事実上どんなタイプの木構造でも使用する木構造SISOをつく
ることができる。例えば、R. P. Brent及びH. T. Kung「A regular layout for
parallel adders」、IEEE Transactions on Computers、C−31巻260〜2
64頁1982年3月(「Brent-Kung tree」);A. E. Despain著「New Comput
er Architectures」第二章:Notes on computer architecture for high perfor
mance、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」、I
EEE Trans. Inform. Theory、46(2)巻325〜343頁2000年3月に記
載されている木構造の1又は2以上を使用する木構造化SISOによって、有利
な結果を得ることができる。
ent−Kungモデルの改変バージョンが使用されるBrent−Kung木
−SISOの表現を示す。そのBrent−Kung木−SISOには、点線で
示す六つのパイプラインステージがある。陰をつけたノードは2ウェイACSを
示し、一方黒色ノードは4ウェイACSを示す。
に基づいている。それは、プレフィックス加算器のファンアウト(fan-out)問題
を解決するためにつくられた。その上に、それは全メトリクスを計算するのに必
要なハードウェアの大きさを減らす。ここで、融合演算も利用されるが、必要な
融合演算の量は有意に減少する。Brent−Kung加算器では、加算の代わ
りに、融合演算が各ノードで実行される。この形態では、順方向の情報だけを計
算することができる。そのモデルは、順方向と逆方向両方のメトリクスの計算が
同時に実行できるように改変された。
トの数を減らす。ここで最悪の場合、四つのユニットが単一のステージの出力を
供給されている(すなわちノードC0、8)。これは、従来の方法が必要として
いるもののほとんど1/2である。また、2ウェイACSユニットのみ必要とす
る演算の数がかなり多いことも観察されている。2ウェイACSユニットが、4
ウェイACSユニットに必要なハードウェアの1/2未満しか使用しないことを
考えると、その回路系の全体の大きさはかなり小さくなると考えられる。前に実
施した解析と類似の解析によって、この直感的な推測を実証する。その結果を要
約して図10に示す。
ある。図9に示すブロック図を詳しく見ると、計算の最も長い経路はこの図では
6サイクル長の経路であることを示している。順方向及び逆方向のメトリック計
算を行うのに必要な三つの追加のサイクルを加算すると、完了ステップとインタ
ーリービングプロセスは、SISOモジュールの全遅延が9サイクルになる。こ
のことは、全復号プロセスが180サイクルテイクすることを意味する。同じセ
ルが実動化に使用されると仮定すると、これによって、1024ビットのデータ
の一ブロックを処理するための全時間が540nsecになる。この場合の該シ
ステムの処理量は1.896Gbpsになる。各ACSの後にパイプラインされ
た展開設計(unfolded design)が用いられると、各ステップの後に一つのブロ
ックを処理することができ、そして16.82Gbpsの処理量を実現できる。
20のSISOを利用してループを展開したならば、処理量は341.32Gb
psになるであろう。第一の場合、その設計の大きさのために重要であるが、性
能の劣化は約24.1%に過ぎない。同時に、この設計を実動化するのに必要な
トランジスタの数は、ほとんど43.8%まで減少する。
−逆方向アルゴリズムを実行することであるという問題点がある。また、ここで
述べる方法や技術は、これらの用途で処理の待ち時間を短くするため、該順方向
−逆方向アルゴリズムの代わりに適用することもできる。このような用途の一実
施例は、ブロックエラー訂正符号のソフトインバージョンを、その符号のトレリ
ス表現を使用して計算することである。トレリスの表現を使用してブロック符号
を復号する方法は、Robert J. McEliece、「On the BCJR Trellis for Linear B
lock Codes」、IEEE Transactions on Information Theory、42巻4号199
6年7月に記載されていた。その論文には、その符号のパリティチェック構造に
基づいたトレリスの表現の構築方法が記載されている。復号、又はより一般的に
述べるとブロック符号のソフトインバージョンは、このトレリスに対して順方向
−逆方向のアルゴリズムを実行することによって達成できる。ここに記載の方法
と技術は、FSMのソフトインバージョンの木構造化法と類似の方法でブロック
符号のソフトインバージョンを決定するのに適用することができる。具体的に述
べると、順方向と逆方向の状態メトリクスを計算し、木構造を有する並列プレフ
ィックス計算アーキテクチャを使用することによってブロックコードのソフトイ
ンバージョンを求めることができる。
するために木−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年に記載されている。
トレリスを図11に示す。該順方向−逆方向アルゴリズムは、このトレリスに対
して、7程度の待ち時間で実施できる。あるいは木−SISOアーキテクチャを
使用して図12に示す計算構造を得ることができる。FSMソフトインバージョ
ンの場合と同様に、木構造化計算は、通常の解析法(すなわちトレリスに対して
標準の順方向−逆方向アルゴリズムを実行する方法)と同じ順方向と逆方向の状
態メトリクスを生じるが、対数の待ち時間(この単純な実施例では約1/2の待
ち時間)を有している。一般に、長さがNのブロック符号の場合、該順方向−逆
方向アルゴリズムに基づいた従来の方法は待ち時間はO(N)であるが、同じ計
算は、待ち時間がO(lgN)の木SISOを利用して計算することができる。
として、図13に示すようなLDPC用の反復復号器が考えられる。この復号器
は、二つの基本的タイプのソフトインバース処理ノードすなわちソフトブロード
キャスタノードとパリティチェックSISOノードを有している。一実施態様で
、この復号器は、並列のソフトブロードキャスタノードを起動し、続いて、該チ
ェックSISOノードへの入力になる生成したソフト情報を置換する(permutati
on)ことによって実動化する。これらのノードが、起動されて、置換によって送
り戻されそしてソフトブロードキャスタへの入力になる符号化ビット値に対する
更新信念(updated belief)を生成する。これは単一の反復とみなすことができ
る。該復号手続きが完了する前に、いくつもの反復が必要である。ターボ復号の
場合と同様に、その停止基準はその設計の一部分であり、共通して選択されるこ
とは反復の数が固定されていることである。図11に示す計算は、好ましい実施
態様の各パリティチェックSISOノードで実行される。あるいは、木構造化ア
ーキテクチャを使用して、各パリティチェックSISOノードで計算することが
できる。最も普通の形態の、LDPCのパリティチェックノードは、単一パリテ
ィチェックであるから、二状態のトレリス表現を有している。
て、木構造化アーキテクチャのファミリーについて説明してきた。ベースライン
順方向−逆方向アルゴリズムのアーキテクチャに比べて、木−SISOアーキテ
クチャは、待ち時間をO(N)からO(lgN)まで短くなる。別の木構造化S
ISO、例えばFBT−SISOは、待ち時間が線形増加せず、計算量と領域が
実質的に小さくなる。
とはなく、複数の木−SISOを重要な要素として使用して構築される。例えば
、上記のように、多数の木−SISOを使用して、タイルドサブウィンドウを使
用するSISOを構成させた。その実施例の待ち時間は、順方向−逆方向のアル
ゴリズムに基づいた完全に並列のタイルドアーキテクチャに対する最小1/2ウ
ィンドウサイズ(d)の線形から、タイルド木−SISOに対するdの対数形ま
で低下した。
ウを必要とする用途にとって、明らかに最も重要である。最も実質的な設計の場
合、これは状態の数が増大するときに予想される。考えられる詳細な4状態タイ
ルドウィンドウの一実施例では、待ち時間が約1/4まで短くなった。バイナリ
ー入力とSの状態を有するシステムの場合、d≒8lg(S)が満たされると期
待できるであろう。したがって、Sが増大するにつれて全く重要になる。ほぼ8
lg(S)/lg(8lgS)の待ち時間が短くなる可能性がある。しかし待ち
時間の可能性がある改善を達成する際の重要な課題は、それを実行するのに必要
な領域である。特に、大きなSに対して高速のSウェイACSユニットをつくる
ことは重要課題である。機能の劣化を招くことなく(例えばビット直列アーキテ
クチャ)この領域の要求を減らす技法は、前途有望な研究分野である。事実、よ
り大きいSを促進するとより小さいインタリーバを使用ことができ、その結果、
前記領域の要求が軽減されかつ待ち時間が短くなる。
回路系、特別に設計されたASIC(特定用途向け集積回路)又はコンピュータ
のハードウェア、ファームウェア、ソフトウェアもしくはその組合せで実現する
ことができる。
逸脱することなく各種の変形を行うことができると解される。したがって、他の
実施態様は本願の特許請求の範囲の範囲内にある。
の完全セットを結合して〔k0、k0+2K〕の完全セットを得る融合モジュー
ルアレイを示す。
を示す。
4の四つの木−SISOを用いるタイルドサブウィンドウ法を示す。
繰り返しの場合の標準ターボ符号のシミュレーションを示すグラフである。
。
。
スタの計数推定値を示すグラフである。
いるトレリス構造を示す。
パリティチェックにおいて順方向−逆方向の木−SISOアルゴリズムを、この
木で、V6と標識されたノードへのメッセージパス(message pass)の内向け(
アップ)セットで次にメッセージパスの外向け(ダウン)セットで実行して、符
号化ビット上に所望のソフト−アウトメトリクスを生成することができる。
の一実施例を示し、その復号器において、信念が、固定置換によってブロードキ
ャスタノードからパリティチェックノードへ送られ、そしてそのパリティチェッ
クノードが木構造化SISOとして実動化することができる。
Claims (90)
- 【請求項1】 符号化信号を受信し、 その受信した符号化信号を復調してソフト情報を生成させ、次いで そのソフト情報を1又は2以上のソフトイン/ソフトアウトプット(SISO
)モジュールで反復処理し、少なくとも一つのSISOモジュールが木構造を利
用して順方向と逆方向の状態メトリクスを計算する、 ことを含む復号方法。 - 【請求項2】 該少なくとも一つのSISOが、再帰的マージナライゼーション
結合演算を実行することによって、順方向と逆方向の状態メトリクスを計算する
請求項1に記載の方法。 - 【請求項3】 該再帰的マージナライゼーション結合演算がmin−sum演算
を含む請求項2に記載の方法。 - 【請求項4】 該再帰的マージナライゼーション結合演算がmin*−sum演
算を含む請求項2に記載の方法。 - 【請求項5】 min*=min(x、y)−ln(1+e−|x−y|)であ
る請求項4に記載の方法。 - 【請求項6】 該再帰的マージナライゼーション結合演算がsum−produ
ct演算を含む請求項2に記載の方法。 - 【請求項7】 該再帰的マージナライゼーション結合演算がmax−produ
ct演算を含む請求項2に記載の方法。 - 【請求項8】 該符号化信号が、ターボ符号化信号、ブロックターボ符号化信号
、低密度パリティチェック符号化信号、積符号化信号及び畳みこみ符号化信号の
うち少なくとも一つを含む請求項1に記載の方法。 - 【請求項9】 該符号化信号が、並列連結畳みこみ符号及び直列連結畳みこみ符
号のうちの少なくとも一つを含む請求項1に記載の方法。 - 【請求項10】 反復復号法を無線通信システムで使用することをさらに含む請
求項1に記載の方法。 - 【請求項11】 予め定められた状態が起こったときに、該反復処理を停止する
ことをさらに含む請求項1に記載の方法。 - 【請求項12】 該反復処理が、並列プレフィックス演算又は並列サフィックス
演算又は両演算を、ソフト情報に対して実行することを含む請求項1に記載の方
法。 - 【請求項13】 該反復処理が、第一SISOのソフト出力を、もう一つのSI
SOに対するソフト入力として使用することを含む請求項1に記載の方法。 - 【請求項14】 少なくとも一つのSISOによって使用される木構造が、待ち
時間がO(log2N)(但しNはブロックサイズである)のSISOをもたら
す木構造を含む請求項1に記載の方法。 - 【請求項15】 少なくとも一つのSISOによって使用される木構造がBre
nt−Kungの木を含む請求項1に記載の方法。 - 【請求項16】 少なくとも一つのSISOによって使用される木構造が順方向
−逆方向の木を含む請求項1に記載の方法。 - 【請求項17】 該順方向−逆方向の木が、二方向性の木構造再帰を含む請求項
16に記載の方法。 - 【請求項18】 少なくとも一つのSISOによって実行される処理が、観測イ
ンターバルをサブインターバル中にタイルし、次いで最小ハーフウィンドウSI
SO演算を、各サブインターバルに適用する、 ことを含む請求項1に記載の方法。 - 【請求項19】 該反復処理が、ソフト情報の上にセミ−リングを形成するマー
ジナライゼーション結合演算を実行することを含む請求項1に記載の方法。 - 【請求項20】 木構造中に配列されかつ順方向と逆方向の状態メトリクスを計
算するように構成された複数の融合モジュールを含むソフトイン/ソフトアウト
(SISO)モジュールであって、 各融合モジュールが下記式: 【数1】 (式中、C(k、m)はskとsmの間のソフト入力に基づいた状態ペアsk とsmの最小シーケンスメトリクス(MSM)のマトリックスである)で定義さ
れるソフトイン/ソフトアウト(SISO)モジュール。 - 【請求項21】 該複数の融合モジュールのうちの少なくとも一つが、再帰的マ
ージナライゼーション結合演算を実行することによって、順方向と逆方向の状態
メトリクスを計算する請求項20に記載のSISOモジュール。 - 【請求項22】 該再帰的マージナライゼーション結合演算がmin−sum演
算を含む請求項21に記載のSISOモジュール。 - 【請求項23】 該再帰的マージナライゼーション結合演算がmin*−sum
演算を含む請求項21に記載のSISOモジュール。 - 【請求項24】 min*=min(x、y)−ln(1+e−|x−y|)で
ある請求項21に記載のSISOモジュール。 - 【請求項25】 該再帰的マージナライゼーション結合演算がsum−prod
uct演算を含む請求項21に記載のSISOモジュール。 - 【請求項26】 該再帰的マージナライゼーション結合演算がmax−prod
uct演算を含む請求項21に記載のSISOモジュール。 - 【請求項27】 順方向と逆方向の両方のマージナライゼーション結合演算を実
行するための1又は2以上の完全融合モジュール(CFM)、 順方向だけのマージナライゼーション結合演算を実行するための1又は2以上の
順方向融合モジュール(fFM)、及び 逆方向だけのマージナライゼーション結合演算を実行するための1又は2以上
の逆方向融合モジュール(bFM)、 を含み、 その1又は2以上のCFM、fFM及びbFMが木構造に配列されている、ソ
フトイン/ソフトアウト(SISO)モジュール。 - 【請求項28】 CFMの数が、ソフトインバースを計算するのに必要な最小限
の数である請求項27に記載のSISOモジュール。 - 【請求項29】 fFMとbFMが、可能な場合はいつでも、CFMの代わりに
木構造中に使用される請求項28に記載のSISOモジュール。 - 【請求項30】 該融合モジュールの1又は2以上によって実行されるマージナ
ライゼーション結合演算がmin−sum演算を含む請求項27に記載のSIS
Oモジュール。 - 【請求項31】 該再帰的マージナライゼーション結合演算がmin*−sum
演算を含む請求項27に記載のSISOモジュール。 - 【請求項32】 min*=min(x、y)−ln(1+e−|x−y|)で
ある請求項31に記載のSISOモジュール。 - 【請求項33】 該再帰的マージナライゼーション結合演算がsum−prod
uct演算を含む請求項27に記載のSISOモジュール。 - 【請求項34】 該再帰的マージナライゼーション結合演算がmax−prod
uct演算を含む請求項27に記載のSISOモジュール。 - 【請求項35】 該木構造が、Brent−Kungの木及び順方向−逆方向の
木(FBT)のうち少なくとも一つを含む請求項27に記載のSISOモジュー
ル。 - 【請求項36】 有限状態機械(FSM)の1又は2以上の出力に対応する入力
信号を受信し、次いで 木構造を使用して上記受信した信号の順方向と逆方向の状態メトリクスを計算す
ることによって、上記FSMのソフトインバースを求める、 ことを含む反復検出方法。 - 【請求項37】 該順方向と逆方向の状態メトリクスが、少なくとも一つのソフ
トイン/ソフトアウト(SISO)モジュールによって計算される請求項36に
記載の方法。 - 【請求項38】 該順方向と逆方向の状態メトリクスが、マージナライゼーショ
ン結合演算の木構造化セットを使用して計算される請求項36に記載の方法。 - 【請求項39】 該マージナライゼーション結合演算がmin−sum演算を含
む請求項38に記載の方法。 - 【請求項40】 該マージナライゼーション結合演算がmin*−sum演算を
含む請求項38に記載の方法。 - 【請求項41】 min*=min(x、y)−ln(1+e−|x−y|)で
ある請求項40に記載の方法。 - 【請求項42】 該マージナライゼーション結合演算がsum−product
演算を含む請求項38に記載の方法。 - 【請求項43】 該マージナライゼーション結合演算がmax−product
演算を含む請求項38に記載の方法。 - 【請求項44】 該入力信号が、ターボ符号化信号と畳みこみ符号化信号のうち
の少なくとも一つを含む請求項36に記載の方法。 - 【請求項45】 該入力信号が、並列連結畳みこみ符号化信号及び直列連結畳み
こみ符号化信号のうちの少なくとも一つを含む請求項36に記載の方法。 - 【請求項46】 FSMの該ソフトインバースを求めることが、ソフト情報を反
復して処理することを含む請求項36に記載の方法。 - 【請求項47】 該反復処理が、並列プレフィックス演算又は並列サフィックス
演算又は両方の演算を、該ソフト情報に対して実行することを含む請求項46に
記載の方法。 - 【請求項48】 該反復処理が、第一SISOのソフト出力を、もう一つのSI
SOに対するソフト入力として使用することを含む請求項46に記載の方法。 - 【請求項49】 使用される木構造が、待ち時間がO(log2N)(但しNは
ブロックサイズである)のSISOモジュールをもたらす木構造を含む請求項3
7に記載の方法。 - 【請求項50】 該木構造がBrent−Kungの木を含む請求項36に記載
の方法。 - 【請求項51】 該木構造が順方向−逆方向の木を含む請求項36に記載の方法
。 - 【請求項52】 該順方向−逆方向の木が、二方向性の木構造再帰を含む請求項
51に記載の方法。 - 【請求項53】 該少なくとも一つのSISOが、さらに、 観測インターバルをサブインターバル中にタイルし、次いで 最小ハーフウィンドウSISO演算を各サブインターバルに適用する、 請求項37に記載の方法。
- 【請求項54】 有限状態機械(FSM)によって符号化された信号を入力とし
て受信しその受信した信号に関するソフト情報を生成するよう構成された復調器
、及び 上記復調器と交信かつ上記FSMのソフトインバースを、木構造を利用して計
算するよう構成された少なくとも一つのソフトイン/ソフトアウト(SISO)
モジュール、 を含むターボ復号器。 - 【請求項55】 該木構造が、並列プレフィックス演算と並列サフィックス演算
を組み合わせて実行する請求項54に記載の復号器。 - 【請求項56】 互いに交信する少なくとも二つのSISOモジュールをさらに
含み、それらSISOモジュールが、該復号された信号のソフト情報推定を反復
して交換する請求項54に記載の復号器。 - 【請求項57】 少なくとも一つのSISOが、該受信された信号の順方向と逆
方向の状態メトリクスを計算することによって、該FSMのソフトインバースを
計算する請求項54に記載の復号器。 - 【請求項58】 少なくとも一つのSISOの使用する木構造が、待ち時間がO
(log2N)(但しNはブロックサイズである)のSISOをもたらす木構造
を含む請求項54に記載の復号器。 - 【請求項59】 少なくとも一つのSISOの使用する木構造がBrent−K
ungの木を含む請求項54に記載の復号器。 - 【請求項60】 少なくとも一つのSISOの使用する木構造が、順方向−逆方
向の木(FBT)を含む請求項54に記載の復号器。 - 【請求項61】 1又は2以上のブロック符号化モジュールからの出力に対応す
る入力信号を受信し、次いで 上記受信された入力信号の順方向と逆方向の状態メトリクスを、木構造を使用し
て計算することによって、上記1又は2以上のブロック符号化モジュールのソフ
トインバースを求める、ことを含む反復検出方法。 - 【請求項62】 該順方向と逆方向の状態メトリクスが、少なくとも一つのソフ
トイン/ソフトアウト(SISO)モジュールによって計算される請求項61に
記載の方法。 - 【請求項63】 該順方向と逆方向の状態メトリクスが、マージナライゼーショ
ン結合演算の木構造化セットを使用して計算される請求項61に記載の方法。 - 【請求項64】 該マージナライゼーション結合演算がmin−sum演算を含
む請求項63に記載の方法。 - 【請求項65】 該マージナライゼーション結合演算がmin*−sum演算を
含む請求項63に記載の方法。 - 【請求項66】 min*=min(x、y)−ln(1+e−|x−y|)で
ある請求項65に記載の方法。 - 【請求項67】 該マージナライゼーション結合演算がsum−product
演算を含む請求項63に記載の方法。 - 【請求項68】 該マージナライゼーション結合演算がmax−product
演算を含む請求項63に記載の方法。 - 【請求項69】 該入力信号が、ブロックターボ符号化信号、低密度パリティチ
ェック符号化信号及び積符号化信号のうちの少なくとも一つを含む請求項61に
記載の方法。 - 【請求項70】 該ブロック符号化モジュールのソフトインバースを求めること
が、ソフト情報を反復処理することを含む請求項61に記載の方法。 - 【請求項71】 該反復処理が、並列プレフィックス演算又は並列サフィックス
演算又は両方の演算を、該ソフト情報に対して実行することを含む請求項70に
記載の方法。 - 【請求項72】 該反復処理が、第一SISOのソフト出力を、もう一つのSI
SOに対するソフト入力として使用することを含む請求項70に記載の方法。 - 【請求項73】 使用される木構造が、待ち時間がO(log2N)(但しNは
ブロックサイズである)のSISOモジュールをもたらす木構造を含む請求項6
1に記載の方法。 - 【請求項74】 該木構造がBrent−Kungの木を含む請求項61に記載
の方法。 - 【請求項75】 該木構造が順方向−逆方向の木を含む請求項61に記載の方
法。 - 【請求項76】 該順方向−逆方向の木が二方向性の木構造再帰を含む請求項7
5に記載の方法。 - 【請求項77】 該少なくとも一つのSISOが、さらに、 観測インターバルをサブインターバル中にタイルし、次いで 最小ハーフウィンドウSISO演算を各サブインターバルに適用する、 請求項62に記載の方法。
- 【請求項78】 ブロック符号化モジュールによって符号化された信号を入力と
して受信し次いでその受信した信号に関するソフト情報を生成するよう構成され
た復調器、及び 上記復調器と交信しかつ上記ブロック符号化モジュールのソフトインバースを、
木構造を利用して計算するよう構成された少なくとも一つのソフトイン/ソフト
アウト(SISO)モジュール、 を含むブロック復号器。 - 【請求項79】 該木構造が、並列プレフィックス演算と並列サフィックス演算
を組み合わせて実行する請求項78に記載の復合器。 - 【請求項80】 互いに交信する少なくとも二つのSISOモジュールをさらに
含み、そのSISOモジュールが、復号された信号のソフト情報推定を反復して
交換する請求項78に記載の復号器。 - 【請求項81】 少なくとも一つのSISOが、受信した信号の順方向と逆方向
の状態メトリクスを計算することによって、ブロック符号化モジュールのソフト
インバースを計算する請求項78に記載の復号器。 - 【請求項82】 少なくとも一つのSISOによって使用される木構造が、待ち
時間がO(log2N)(但しNはブロックサイズである)のSISOをもたら
す木構造を含む請求項78に記載の復合器。 - 【請求項83】 少なくとも一つのSISOによって使用される木構造がBre
nt−Kungの木を含む請求項78に記載の復号器。 - 【請求項84】 少なくとも一つのSISOによって使用される木構造が順方向
−逆方向の木(FBT)を含む請求項78に記載の復号器。 - 【請求項85】 モジュールの1又は2以上の出力に対応する入力信号を受信し
、そのモジュールのソフトインバースは順方向−逆方向のアルゴリズムを該モジ
ュールのトレリス表現に対して実行することによって計算することができ、次い
で 上記受信した入力信号の順方向と逆方向の状態メトリクスを、木構造を利用し
て計算することによって、上記モジュールのソフトインバースを求める、 ことを含む反復検出方法。 - 【請求項86】 該入力信号が、ブロック誤り訂正符号化信号、ブロックターボ
符号化信号、低密度パリティチェック符号化信号、及び積符号化信号のうち少な
くとも一つを含む請求項85に記載の方法。 - 【請求項87】 該入力信号が、ターボ符号化信号及び畳みこみ符号化のうち少
なくとも一つを含む請求項85に記載の方法。 - 【請求項88】 該符号化信号が、並列の連結畳みこみ符号及び直列の連結畳み
こみ符号のうち少なくとも一つを含む請求項85に記載の方法。 - 【請求項89】 該モジュールが有限状態機械を含んでいる請求項85に記載の
方法。 - 【請求項90】 該モジュールがブロック符号化モジュールを含んでいる請求項
85に記載の方法。
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 true JP2003533088A (ja) | 2003-11-05 |
JP3854155B2 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 |
KR20100046063A (ko) * | 2000-06-16 | 2010-05-04 | 어웨어, 인크. | Ldpc 코드형 변조를 위한 시스템 및 방법 |
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 |
US7246304B2 (en) * | 2001-09-01 | 2007-07-17 | Dsp Group Inc | Decoding architecture for low density parity check codes |
US7107512B2 (en) * | 2002-05-31 | 2006-09-12 | Broadcom Corporation | TTCM decoder design |
US7020829B2 (en) * | 2002-07-03 | 2006-03-28 | Hughes Electronics Corporation | Method and system for decoding low density parity check (LDPC) codes |
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 |
JP3917624B2 (ja) * | 2002-07-03 | 2007-05-23 | ヒューズ・エレクトロニクス・コーポレーション | 低密度パリティチェック(ldpc)デコーダにおける経路指定方法およびシステム |
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 |
US7587004B2 (en) * | 2002-09-18 | 2009-09-08 | St-Ericsson Sa | 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许可公司 | 用于多输入多输出通道的低密度奇偶校验码的码设计与实现的改进 |
US7366261B2 (en) * | 2005-02-14 | 2008-04-29 | Viasat, Inc. | Separate FEC decoding and 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 |
---|---|---|---|---|
CA1287408C (en) * | 1986-09-22 | 1991-08-06 | Michio Shimada | 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 |
SG44761A1 (en) * | 1991-01-09 | 1997-12-19 | Philips Electronics Uk Ltd | Signal transmission system |
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 WO PCT/US2001/014460 patent/WO2001084720A1/en active IP Right Grant
- 2001-05-03 AU AU5948101A patent/AU5948101A/xx active Pending
- 2001-05-03 US US09/848,778 patent/US20020021770A1/en not_active Abandoned
- 2001-05-03 JP JP2001581426A patent/JP3854155B2/ja not_active Expired - Lifetime
- 2001-05-03 KR KR1020027014808A patent/KR100566745B1/ko not_active IP Right Cessation
- 2001-05-03 AU AU2001259481A patent/AU2001259481B2/en not_active Expired
-
2004
- 2004-06-24 US US10/875,979 patent/US7197691B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US7197691B2 (en) | 2007-03-27 |
KR20030005322A (ko) | 2003-01-17 |
AU5948101A (en) | 2001-11-12 |
JP3854155B2 (ja) | 2006-12-06 |
US20040237025A1 (en) | 2004-11-25 |
WO2001084720A9 (en) | 2002-12-19 |
AU2001259481B2 (en) | 2004-05-20 |
US20020021770A1 (en) | 2002-02-21 |
WO2001084720A1 (en) | 2001-11-08 |
KR100566745B1 (ko) | 2006-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003533088A (ja) | 待ち時間を短くしたソフトイン/ソフトアウトモジュール | |
AU2001259481A1 (en) | Reduced-latency soft-in/soft-out module | |
Masera et al. | VLSI architectures for turbo codes | |
US20030097633A1 (en) | High speed turbo codes decoder for 3G using pipelined SISO Log-Map decoders architecture | |
US7020827B2 (en) | Cascade map decoder and method | |
WO2004062111A1 (en) | High speed turbo codes decoder for 3g using pipelined siso log-map decoders architecture | |
US7234100B1 (en) | Decoder for trellis-based channel encoding | |
Akshaya et al. | VLSI Implementation of Turbo Coder for LTE using Verilog HDL | |
Sklar | Fundamentals of turbo codes | |
Li et al. | Unified convolutional/turbo decoder design using tile-based timing analysis of VA/MAP kernel | |
Eluri et al. | Low power and area efficient max-log-MAP decoder | |
Zhanji et al. | A new parity-check stopping criterion for turbo decoding | |
Lin et al. | High-throughput 12-mode CTC decoder for WiMAX standard | |
Benaissa et al. | Reconfigurable hardware architectures for sequential and hybrid decoding | |
US7698624B2 (en) | Scheduling pipelined state update for high-speed trellis processing | |
Mathana et al. | FPGA implementation of high speed architecture for Max Log Map turbo SISO decoder | |
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 | |
Chatzigeorgiou et al. | Performance analysis and design of punctured turbo codes | |
Han et al. | Implementation of an efficient two-step SOVA turbo decoder for wireless communication systems | |
Minowa et al. | Reduced-complexity iterative decoding of high-rate turbo codes | |
Beerel et al. | An/spl Oscr/(log/sub 2/N)-latency SISO with application to broadband turbo decoding | |
Ramteke et al. | Hdl implementation of turbo decoder using soft output viterbi algorithm | |
SUNEETHA et al. | Implementation of a Novel and Area Efficient VLSI Architecture for Recursion Computation in LTE Turbo Codes | |
Han et al. | Power and area efficient turbo decoder implementation for mobile wireless systems | |
Chuang et al. | A high-troughput radix-4 log-MAP decoder with low complexity LLR architecture |
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 |