JP2004104787A - 特に移動無線システム用とした、複合型ターボ符号/畳み込み符号デコーダ - Google Patents

特に移動無線システム用とした、複合型ターボ符号/畳み込み符号デコーダ Download PDF

Info

Publication number
JP2004104787A
JP2004104787A JP2003313595A JP2003313595A JP2004104787A JP 2004104787 A JP2004104787 A JP 2004104787A JP 2003313595 A JP2003313595 A JP 2003313595A JP 2003313595 A JP2003313595 A JP 2003313595A JP 2004104787 A JP2004104787 A JP 2004104787A
Authority
JP
Japan
Prior art keywords
configuration
common processing
state
storage means
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003313595A
Other languages
English (en)
Other versions
JP3861084B2 (ja
Inventor
Friedbert Berens
フリードベルト・ベレンズ
Gerd Kreiselmaier
ゲルド・クレイセルマイアー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ST MICROELECTRONICS NV
STMicroelectronics SRL
STMicroelectronics NV
Original Assignee
ST MICROELECTRONICS NV
STMicroelectronics SRL
STMicroelectronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ST MICROELECTRONICS NV, STMicroelectronics SRL, STMicroelectronics NV filed Critical ST MICROELECTRONICS NV
Publication of JP2004104787A publication Critical patent/JP2004104787A/ja
Application granted granted Critical
Publication of JP3861084B2 publication Critical patent/JP3861084B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/27Coding, 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 using interleaving techniques
    • H03M13/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum 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
    • H03M13/3922Add-Compare-Select [ACS] operation in forward or backward recursions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum 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
    • H03M13/3927Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

【課題】 ターボ符号と畳み込み符号デコーダの実装において、メモリサイズを縮小して実装コストを低くする手段を提供する。
【解決手段】 本発明は、ターボ符号/畳み込み符号複合型デコーダを提案する。複合型デコーダは、ターボ符号復号化手段の入出力RAMを、畳み込み符号復号化手段用のアルファまたはベータRAMとして再利用する。さらに、指令ユニット(SM、LLR)がターボ符号、畳み込み符号両方に用いられる。効果的なハードウェア折りたたみスキーマは、256状態を逐次8ACSユニット上で計算することを可能にする。
【選択図】 図6

Description

 本発明は、概して通信路符号化(channel coding)ならびに複号化(decoding)技術に関連し、特にターボ符号(turbo code)ならびに畳み込み符号(convolutional code)に関する。
 本発明の適用は、概して無線通信システムの領域に向けられており、さらにより詳細には、CDMA2000、WCDMA(広帯域CDMA)、IS−95といった各種のCDMAベース移動無線システムのようなCDMAシステムに向けられている。第三世代移動通信システムは、通信路符号化技術として、ターボ符号と同様畳み込み符号を指定している(非特許文献1参照)。
 ターボ符号エンコーダ(encoder、符号器)において、順方向誤り訂正(forward error correction)はパリティビットを導入することで可能である。ターボ符号の場合、系列情報(systematic information)を指す原情報はパリティ情報と一緒に伝送される。3GPP用エンコーダは、拘束長K=4である二つの再帰的組織畳み込み(recursive systematic convolutional、RSC)エンコーダから成り、8状態の有限状態機械(finite state machine)として解釈することもできる。第一のRSCエンコーダはオリジナル内の情報のブロックに従事し、第二のエンコーダはインターリーブされたシーケンス(interleaved sequence)内の情報に従事する。
 受信側では、上記エンコーダそれぞれに対応する要素デコーダ(component decoder、復号器)がある。各要素デコーダは、いわゆる最大事後確率(Maximum-A-Posteriori、MAP)アルゴリズム(詳細は非特許文献2参照)を実行し、通常はいわゆるSISO(Soft-in-Soft-out、軟入力軟出力)デコーダである。各ブロックは反復的方法で復号化される。系列情報とパリティ情報は、第一の要素デコーダ(MAP1)の入力となる。MAP1の軟出力(soft-output)は、「0」か「1」のどちらかで送られる受信ビット上に信頼度(confidence)を反映する。これら信頼度は、エンコーダと同じ方法でインターリーブされ、事前情報(a-priori information)として第二の要素デコーダ(MAP2)へ渡される。第二の要素デコーダは、第二のエンコーダのインターリーブされた系列情報とパリティ情報を含む推定にバイアスをかけるために、この情報を用いる。軟出力は再びMAP1などへ渡される。交換は停止判定基準が満たされるまで続く。停止判定基準は、「規定の繰り返し回数」のような単純な場合から、巡回冗長検査(cyclic redundancy check、CRC)を経てかなり複雑な統計分析にまで及ぶ。
 MAPアルゴリズムを用いたターボデコーダアーキテクチャの実装問題は、すでに複数の論文で議論されており、広く知られている(詳細は非特許文献3を参照)。MAPアルゴリズムは、演算子の強度を減らすため対数領域に変換される(非特許文献4参照)。乗算は加算になり、加算は修正型比較(modified comparison)により置き換えられる。アルゴリズムは、順方向再帰(forward recursion)、逆方向再帰(backward recursion)、軟出力計算から成る。状態の再帰ステップを計算するために、修正型累積比較選択(modified accumulate-compare-select、ACS*)ユニットが必要である。
 ターボ復号化の間、一度にアクティブなMAPは一つだけである。適度なスループット要求により、反復ループの両MAPの計算は一つのハードウェアユニットに写像することが可能で、必要なMAPユニットは一つだけである。MAPユニットに加え、メモリが入力、出力値を記憶することも必要とされる。さらに、記憶装置が、事前情報やアルファ状態メトリクスのような中間値のために要求される。インターリーバ(interleaver)およびデインターリーバ(deinterleaver)パターン発生器もまたメモリに帰属される。大きなブロックサイズのために、メモリがターボデコーダアーキテクチャを支配することは明らかである。
 系列情報とパリティ情報用の入力RAMと、出力RAMのサイズは、3GPP基準で定義されるブロックサイズによって決定される。出力RAMはまた、事前値の記憶装置としても使われる。計算された軟出力は常に事前情報の前の読取り位置に書き込まれるので、一つの軟出力メモリで充分である。
 アルファメモリ(アルファ状態メトリクスを記憶する)のサイズは、ウィンドウイング(windowing)技術を導入することで減らすことができる。ウィンドウイングにおいては、ウィンドウがビット位置の増加方向になめらかに移動し(非特許文献5参照)、元来のMAPデコーダとほぼ同様の通信性能を有する。ウィンドウサイズはブロックサイズよりもかなり小さく、概して32から128の間である。ウィンドウイングはいわゆる「収集(acquisiton)」の間、追加計算を含む。しかしながら、アルファメモリへの保存はこれら追加計算に支配的である。
 畳み込み符号エンコーダにおいても、順方向誤り訂正はパリティビットを導入することによって可能である。3GPPにおいて、拘束長K=9である二つの異なるエンコーダが指定される。ターボ復号化とは対照的に、畳み込み復号化は非再帰型である。MAPアルゴリズムは各ブロックで一度だけアクティブになる。インターリーブは不要で、ブロックサイズはターボ符号よりかなり小さいけれども、3GPP畳み込み符号デコーダのアーキテクチャもまたメモリに支配されている。I/Oメモリがターボ符号デコーダと比べて、かなり小さい。しかしながら、アルファメモリは、同じウィンドウサイズと仮定する32の要素によって、ターボ符号デコーダのアルファメモリを超えている。アルファメモリは、畳み込み符号デコーダの大多数の状態を構成している。
3GPP, Technical Specification Group Radio Access Network ; multiplexing and channel coding (FDD) ; (3G TS 25.212 version 3.5.0(2000-12)), 1999 L. Bahl, J. Cocke, F. Jelinek, and J. Raviv, "Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate", IEEE Transaction on Information Theory, IT-20, p.p. 284-287, march 1974 A. Worm, "Implementation Issues of Turbo-Decoders", Ph.D Thesis, Institute of Microelectronic Systems, Department of Electrical Engineering and Information Technology, University of Kaiserslautern, Forschungsberichte Mikroelektronik, Dd.3, Germany, 2001 S. S. Pietrobond and A. S. Barbulescu, "A Simplification of the Modified Bahl Docoding Algorithm for Systematic Convolutional Codes", Proceedings of International Symposium on Information Theory and its Application, pages 1073-1077, Sydney, Australia, November 1994 H. Dawid and H. Meyr, "Real-Time Algorithms and VLSI Architectures for Soft Output MAP Convolutional Decoding", Proceedings of 1995 International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC’95), pages 193-197, Toronto, Canada, September 1995
 上述したターボ符号と畳み込み符号デコーダの主な問題は、大きなメモリが必要ということである。ゆえに、個々のデコーダの実装には高いコストがかかる。本発明の一つの目的は、この問題を解決することである。
 本発明は複合型ターボ符号/畳み込み符号デコーダを提案する。複合型ターボ符号/畳み込み符号デコーダは、ターボ符号復号化を実施するターボ符号復号化手段(TCDCM)と、畳み込み符号を実施する畳み込み符号復号化手段(CCDCM)を有し、該ターボ符号ならびに畳み込み符号復号化手段は、SISO復号化手段の共通処理手段(CCPR)(例えばMAPアルゴリズムを実装する)を有し、ターボ符号復号化専用の第一の構成と畳み込み符号復号化専用の第二の構成を備えており、第一のトレリスの状態に関連づけられ、第一の構成において前記共通処理手段が送付する状態メトリクス(例えば順方向状態メトリクス)を記憶するメトリクス記憶手段(TCα−RAM)と、 前記共通処理手段へ送付され、第二の構成において前記共通処理手段が送付する入力、出力データを記憶する入出力記憶手段(CC I/O RAMs)と、前記共通処理手段へ送付され、第一の構成において前記共通処理手段が送付する入力、出力データを記憶し、第二のトレリスの状態に関連づけられ、第二の構成において前記共通処理手段が送付する状態メトリクス(例えば順方向状態メトリクス)を記憶する適応可能記憶手段(ADMM)と、符号の種類により第一または第二の構成において、前記共通処理手段を構成する制御手段(CTRLM)と、前記共通処理手段の構成によって前記適応可能記憶手段に別々にアドレスを指定するメモリ制御手段(CTMM)とを有する。
 言い換えれば、本発明に準拠して、ターボ符号復号化手段の入力/出力RAMを、アルファRAM(順方向状態メトリクスを記憶)あるいは畳み込み符号復号化手段用のベータRAM(逆方向状態メトリクスを記憶)として再利用する。
 本発明の実施形態によれば、前記適応可能記憶手段が、第一の構成において、前記共通処理手段へ送付され、前記共通処理手段が送付する入出力データを記憶し、第二の構成において、前記共通処理手段が送付する状態メトリクスの第一の部分を記憶する主記憶手段(X−RAMs、Y1−RAMs,Y2−RAMs、LLR−RAMs)と、第二の構成において、前記共通処理手段が送付する状態メトリクスの最後の部分を記憶する追加記憶手段(Add)とを有する。
 さらに詳細に例示すると、前記ターボ符号復号化手段(TCDCM)が、b1ビットのN1シンボルの連続シーケンスと、前記共通処理手段へ送付され、受け取ったシーケンスを有する第一の構成において前記共通処理手段が送付する入出力データと、b1ビットのN1ワードのg種類のブロックを受け取るよう適応し(例えば、g=4、N1=5120,b1=6)、前記適応可能記憶手段内に記憶される前記状態メトリクスが、b1より大きいb2ビットのN2ワードのブロックであり(例えば、b2=88,N2=1728)、前記主記憶手段が、N1ワードのg個のブロックにそれぞれ専用のp個の基本メモリ(例えば、p=3)のg個のグループを有し、各基本メモリはb1ビットのN2ワードを記憶するよう適応し、積gpは比b2/b1より小さな最大整数に等しく、積pN2はN1以上であり、前記追加記憶手段が、b2-gpビットのN2ワードを記憶するよう適応し(例えば、16ビット)、前記メモリ制御手段が、b1ビットのN1ワードの各ブロックがp基本メモリの専用グループに読み書きされるように、前記第一の構成において前記適応可能記憶手段のアドレスを指定し、各状態メトリクスが、b1ビットのgp個の基本ワードとb2-gpb1ビットの追加基本ワードから構成され、前記メモリ制御手段が、前記第二の構成において前記状態メトリクスのgp個の基本ワードが同じアドレスで前記主記憶手段のgp個の基本メモリにそれぞれ記憶されるように、前記適応可能記憶手段のアドレスを指定し、状態メトリクスの該追加基本ワードは、同じアドレスで追加記憶手段に記憶される。
  本発明の別な実施形態によれば、前記追加記憶手段は必要でなくても良い。例えば、b2がb1の倍数ならば、積gpは比率b2/b1に等しいという場合がある。このような実施例において、前記メモリ制御手段が、前記第一の構成において、b1ビットのN1ワードの各ブロックがp個の基本メモリの専用グループから読み書きされるように、前記適応可能記憶手段にアドレスを指定する。そして、各状態メトリクスが、b1ビットのgp基本ワードで構成され、前記メモリ制御手段が、前記第二の構成において、前記状態メトリクスのgp基本ワードが同じアドレスでgp基本メモリにそれぞれ記憶されるように、前記適応可能記憶手段にアドレスを指定する。さらに、ターボ符号デコーダの入力/出力RAMの、アルファRAMあるいは畳み込み符号デコーダ用のベータRAMとしての再利用のために、本発明はまた、ターボ符号、畳み込み符号両用のオペレーショナルユニットを有することも好都合である。
 本発明の実施形態によりさらに詳細に説明すると、ST1が第一のトレリスの状態数であり(例えば、ST1=8)、ST2が第二のトレリスの状態数であり(例えば、ST2=256)、rが整数比ST2/ST1であって、前記共通処理手段が構成可能状態メトリクスユニット(SM)を有している。構成可能状態メトリクスユニットは、第一の構成において、ST1状態メトリクス(例えば、順方向状態メトリクス)を再帰的に並列計算することができ、第二の構成において、並列計算されたST1状態メトリクス(例えば、順方向状態メトリクス)のr個のグループを再帰的に計算することができる。
 本発明の実施形態によれば、前記共通処理手段が、第一、第二の構成において、対応するトレリスの分岐に関連する分岐メトリクスを計算する、分岐メトリクスユニット(BM)を有し、 前記構成可能状態メトリクスユニットが、 各構成において、ST1状態メトリクスを計算する、ST1個の並列ないわゆるACS(追加、比較、選択)ユニットと、 再帰的計算のため、計算した状態メトリクスを一時的に記憶する予備記憶手段(AXMM)と、 前記予備記憶手段において、前記共通処理手段の構成に依存してメトリクスの記憶を制御する予備制御手段とを有する。
 前記予備メモリ手段(AXMM)が、ターボ符号復号化の間、ST1状態メトリクスを一時的に記憶するレジスタ(RGB)と、該レジスタに接続された、畳み込み符号復号化の間ST2状態メトリクスを一時的に記憶する二組の補助メモリ(RAM1〜RAM4)とを有することが可能である。そして前記予備制御手段が、レジスタの出力と二組の補助メモリとの間に接続された、該補助メモリにおいてメトリクスの記憶スワッピングを可能にする第一の多重化手段と、前記レジスタの出力と前記補助メモリの出力に直接接続された第二の多重化手段とを有する。
 本発明の実施形態によれば、前記状態メトリクスユニット(SM)が、順方向状態メトリクスを計算するのと同等の方法で、逆方向状態メトリクスを再帰的に計算が可能である。
 本発明の実施形態によれば、前記共通処理ユニットが、対数尤度比(LLR)ユニットを有し、該LLRユニットは、前記状態メトリクスユニットと、第一の構成(ターボ符号復号化)における前記メトリクス記憶手段と、第二の構成(畳み込み符号復号化)における前記適応可能記憶手段に接続されており、信頼値にそれぞれ関連するデコードされたデータの値を含む軟出力情報を各構成において計算する。さらに詳細に説明すると、前記LLRユニットが、パイプライン型構造をとり、ターボ符号復号化と重畳符号復号化の両方に用いられる部分を有する。
 実行される前記MAPアルゴリズムが、いわゆる対数MAPアルゴリズム、あるいはいわゆる最大対数MAPアルゴリズムである。
 前記ターボ符号復号化手段が、グローバル制御手段を有し、ターボ符号復号化を前記共通処理手段において反復型方法で実施させ、そのため一つのMAPのみが用いられることも好都合である。
 本発明による複合型デコーダが、集積回路によって実現されることは好都合である。本発明はまた、上で定義した複合型デコーダを含む無線通信システムの端末装置に向けられている。そのような端末装置は、携帯移動電話や基地局を形成しても良い。
 本発明の他の利点や特徴は実施形態と添付図面の詳細な説明において明らかになるだろう。しかし、これらは本発明を制限するものではない。
1.符号化
 1.1 一般的考察と畳み込み符号化
 畳み込み符号化は現在又は選択された以前のタイムステップの入力値の排他的論理和演算(modulo-2 sum)の計算によって実施される。ゆえに、実装は単純明快で、主にシフトレジスタと一組の排他的論理和(exclusive-OR)ゲートから成る。これらを切り替える方法によって、以下のような異種の畳み込み符号が実現されることが可能である。
 系列符号(systematic codes):出力ストリームの一つが入力ストリーム(系列情報)に等しい。
 非系列符号(Non-Systematic Codes、NSC):各出力がパリティ情報である。パリティ情報は、符号化プロセスのヒストリを示すシフトレジスタエントリの排他的論理和を取ることによって生成される。
 再帰的符号(Recursive Codes):特別なパリティ信号が生成され、系列入力(systematic input)と一緒にフィードバックされる。
 非再帰的符号(Non-Recursive Codes):フィードバックループが存在しない。
 畳み込み符号エンコーダの一例は、メモリ長(memory depth)やパリティ情報を生成するのに用いられる論理関数など、プロパティの組み合わせによって定義される。これらのプロパティは生成多項式によって記述される。
  図1は、畳み込み積分(convolution)と畳み込み符号化用にUMTS(Universal Mobile Telecommunications System)内で用いられる二つの異なるNSCの構造を表しており、拘束長はターボ符号化の場合より大きい(K=9)。さらに、二つの別個な比率を考慮しなければならない。符号化率1/2の畳み込み符号エンコーダ(a)は二つの出力を持ち、符号化率1/3のエンコーダ(b)は三つの出力を持つ。
 利用可能な現在のタイムステップの値で、M=K−1個のフリップフロップがエンコーダのヒストリを記憶するのに必要とされる。これは、エンコーダを有限状態機械(finite-state machine、FSM)として解釈するもととなる。それは、挙動がミーリーオートメーション(Mealy-automation)と同等であることを示す。二つの状態の間の遷移の可能性は畳み込み符号の復号化のキーである。
 1.2 符号トレリス(Code-Trellis)
 符号化トレリスは有限状態機械の展開された(unrolled)状態チャートである。エンコーダがN内でありうる状態の数は、拘束長Kの関数:N=2K―1である。
 符号(RSC、NSCなど)の性質に依存して、ある遷移だけが可能である。トレリスはこれらの遷移を表すために用いられる。図2はトレリスの一部分を示し、1タイムステップで可能な遷移を表す。状態チャートを示すために通常用いられるツリー構造の代わりに、トレリスが等価な状態を組み合わせる。図2の実線は、系列ビット「0」の入力による遷移を表し、点線は「1」による遷移を表す。
 規定上、すべての符号化プロセスは全ゼロ状態(all-zero state)で始まる。
 1.3 トレリス終結(Trellis-termination)
 考えられる符号化向けには、トレリスの初期状態は常に全ゼロ状態であることが知られている。対策を取らなくても、エンコーダは、逆方向再帰をどこで開始するかどんなヒントも残さず、任意の状態で終了する。これはエンコーダを定義した終結状態へ動かすことにより抑制できる。終結状態(例えば、全て0の状態)への到達は、できるだけ速く終結状態へエンコーダを向けるようなシーケンスを追加することによって達成される。このシーケンスは、最後の情報ビットが符号化された後にエンコーダが成る状態にも依存している。このシーケンスの長さはK−1に等しく、伝送ビットはテイルビット(tailbit)と呼ばれる。
 1.4 インターリービング(interleaving)
 復号化に基づいたトレリスは、バースト誤り(burst errors)に大変脆弱である。伝送ビットのシーケンスが壊れたならば、復号化は不正確となる。ゆえに、近傍関係を分解するスキーマである、インターリービングが適用される。
 インターリービングの背後にあるキーアイデアは、生成あるいは使用されるのとは異なる順序でビットを伝送することである。例えば、ビット4は近傍3と5と、連続して符号化されるけれども、伝送中は312や1021の隣でも良い。通信路内のバースト誤りは、ビット312、4、1021に影響を与える。受信側では、これらの誤りはデインターリーバー(deinterleaver)を通して再び広がり、初期順序を復元する。このように復号化はほとんど影響をおよぼさない。
 1.5 ターボ符号化
 ターボ符号エンコーダは二つの要素の畳み込み符号エンコーダと、インターリーバーから構成される。畳み込み符号は、符号化率1/2のRSC符号と、前に紹介した生成多項式となるよう定められる。
 第二のエンコーダの系列情報は伝送されない。(デインターリービングによって)第一のエンコーダの系列出力から再構築される可能性があるからである。これにより、符号化率R=1/3は実現される。図3は詳細なUMTSターボ符号エンコーダを示している。トレリス終結は、各エンコーダをそれぞれの最終状態へ導く。これはテイルビット用の第一、第二のエンコーダの系列情報の間の依存性を分解する。なぜなら、これらは図3に示すようにそれぞれの切り替えを実現することによって、各エンコーダを他のエンコーダから独立させるからである。ゆえに、エンコーダのうち最後の6ビット(系列情報とパリティ情報)は別個に転送されなければならない。これはブロック当たり12ビットのオーバーヘッド(付加ビット)という結果になる。
2.復号化
 畳み込み符号の復号化は、エンコーダで行われた遷移の経過を追っている。これらから、送られた入力シンボルが差し引かれる。通信路によって起きる劣化により、系列ビットとパリティビットの推定のみ有効であり、ここでは両方が通信路値と呼ばれる。以下のような二つの異なる種類の出力がある:
 ハード値(hard value):シンボルが「1」か「0」であると思われるかどうかを単に示すだけにすぎない。
 ソフト値(soft value):判断の信頼度の程度も配信する。(硬判定(hard decision)は判断が正しいという確率によって拡張される。)
 ターボ復号化にとって、軟入力値(soft-in value)だけが、適切である。通信路値に基づいて、系列ビットとパリティビットのある組み合わせが起こる確率が計算可能である。これとエンコーダのヒストリを考慮して、エンコーダが所与のタイムステップで所与の状態にあった確率が計算可能である。
 二つのアプローチがこれらの状態確率を扱うために存在する。ビタビアルゴリズム(Viterbi Algorithm)に基づいた最大尤度は、最も有望な符号化ワードを探すためにこれらを利用する。このために、このアルゴリズムは全て0の状態から最終状態までトレリスを横断し、最も有望なシーケンスを捜す。「生き残りパス(survivor path)」用に選ばれた状態は、送られたシンボルの最も有望なシーケンスを示す。ゆえに、ビタビデコーダはシーケンス推定器である。
 一方、最大事後確率(maximum-a-posteriori、MAP)アルゴリズムはエンコーダが所与の状態にあった確率と、現在の状態が通信路値の剰余に与えられた最終状態へ向かっている確率を推定する。これはトレリスを通して順方向、逆方向再帰によって効率的に計算可能である。その後、各ビットにとって、系列「0」に関連する状態の確率は、「1」に関連する確率に追加、比較される。高い確率のシンボルは、送られたものだと仮定される。このアルゴリズムはシーケンスレベルよりむしろビット上で働くので、記号推定と呼ばれる。
 ターボ符号化は畳み込み符号デコーダの軟出力も要求する。最適なアルゴリズムはMAPアルゴリズムとSOVA(Soft Output Viterbi Algorithm、軟出力ビタビアルゴリズム)である。
 SOVAは通常、ビタビアルゴリズム部と軟出力を計算する担当部を含む2ステップアルゴリズムとして実装される。ビタビを実現する部分の状態メトリクスユニットは、トレースバック(trace-back)あるいはレジスタ交換構造に基づいて実装可能である。軟出力計算部は、主に競合パス計算ユニットから構成される。低いスループットを除けば、このユニットはレジスタ交換アーキテクチャとして実装される。レジスタ交換ユニットの主要な欠点は、ハードウェアのフォールディング(folding、折り畳み)にあまり向いていないことである。ゆえに、幅広いスループット要求に対して効率的なSOVAアーキテクチャを獲得するのは(不可能ではないにしても)困難である。さらに、最適な軟更新(soft update)を伴うSOVAの通信性能は、準最適化最大対数MAP(sub-optimum MaxLogMAP)アルゴリズムと同様である場合のみ可能である。効率的実装のために、MAPアルゴリズムが実装され、本発明に準拠したハードウェアのフォールディングと調和する。
 2.1 ターボ復号化
 最も有望なコードワード(codeword)を捜すことによるターボ符号の復号化は、あまりに複雑である。それゆえに、反復型復号化が勧められる。二つの畳み込み符号がそれぞれ復号化される。それを行う間、各デコーダは他方によって集められた情報を組み込む。この「情報の集約」は、軟出力値の交換であって、ユニットのビット推定は次への事前情報に変換される。デコーダは、それゆえSISOユニットでなければならない。
 ビット推定における信頼度は、対数尤度比(Log-Likelihood-Ratio、LLR)で表される:
Figure 2004104787
 記号はこのビットが1または0であるかどうかを示す。一方、判断の信頼度は振幅によって表される。
 最後の復号化ステージで集約された情報を抽出するために、この推定に導いた系列情報と事前情報が減算されなければならない。これは以下のようになる。
Figure 2004104787
 これは外部情報(extrinsic information)と呼ばれる。
 ある値をもつビットにおける一方のデコーダの信頼度は、他方の初期推定にバイアスをかける。図4は、二つのMAPデコーダ、インターリーバ、デインターリーバから構成される、そのようなターボ符号デコーダを示す。次への事前情報入力として一方のデコーダの入力を供給することは、復号化の繰り返しの間の改善を可能にする。それはまたターボ符号に名前を与える(例えば、燃焼ターボエンジンに用いられる「feedback-of-exhaust」のように)。デコーダへの入力は、受け取った通信路値(系列、パリティ1、パリティ2)であり、ごく初期のMAP1オペレーションの間、事前情報は0にセットされる。
 2.2 最大事後確率(MAP)アルゴリズム
 最大事後確率という名前は、ビットの推定が全体の受信側シーケンスに基づくことに由来する。このアルゴリズムはすべての情報が入った後に行われる。(2.4)式はそのようなMAPデコーダの出力を示す。
 バール(Bahl)らは、非特許文献2において、MAPデコーダにとって効率的なアルゴリズムについて述べており、それは、順方向、逆方向再帰中のトレリス上で操作する再帰式に基づいている。そのアルゴリズムは一般にMAPあるいはBCJRアルゴリズムと呼ばれる:
Figure 2004104787
がMAPの入力を示し、シンボルシーケンス(symbol sequence)を
Figure 2004104787
とする。ここで、Nはブロックの長さである。そして、BCJRアルゴリズムは、シンボルシーケンス受信後に各データ記号dkに対して事前確率(a-posteriori probabilities、APP)を以下のように計算する。
Figure 2004104787
 (APPは)二つの確率を用いて計算される:一方は、エンコーダが状態Sm kに到達した確率である。kが記号を受信した後のm∈{1 … 2M}を用いて、以下の式になる。
Figure 2004104787
 他方は、入力シーケンスの剰余がエンコーダを、時刻k+1で状態Sm’ k+1を与えられる最終状態へ導く確率であって、以下の式となる。
Figure 2004104787
 このため、状態Sm kからSm’ k+1への遷移の確率を知らなければならない。この確率は、符号化構造、通信路モデル、前の復号化ステップの外部情報、受信した記号Rk、に依存しており、以下の式となる。
Figure 2004104787
 γを用いて、αとβは以下の式のように再帰的に計算される。
Figure 2004104787
 既知の開始状態と最終状態は、BCJRアルゴリズムが最適に実施されるために必要である。トレリスが終了しないならば、全ての状態がk=Nと等しい確率を持つと仮定しなかればならない。
 事後確率自体は以下のように表すことができる。
Figure 2004104787
 APPの計算に係わる乗算回数の多さは、実装にとってはあまり魅力的ではなくなる。それゆえ、MAPアルゴリズムは対数領域に変換されなければならず、対数MAPアルゴリズムとなる。これにより、誤り訂正性能を劣化させず、数値安定度と実装の容易さが向上する。
 2.3 対数領域におけるMAPアルゴリズム:LogMAP
 乗算から加算への変換が、MAPアルゴリズムを対数領域で定義する動機である。加算によって問題が引き起こされる。ヤコビアン対数を用いて、加算は新しい演算子に置き換えられる。
   ln(eδ1 + eδ2) = max*(δ1, δ2) = max(δ1, δ2) + ln(1 + e−|δ1−δ2|)
 負の対数の場合も同様で、以下のように導出する。
   min*(δ1, δ2) = min(δ1, δ2) − ln(1 + e−|δ1−δ2|)
 二つ以上のオペランドの場合、max*は再帰的に適用される。演算子は結合型(associative)なので、ツリー状(tree-like)の推定を用いることが可能であり、ハードウェア実装において有利である。準最適化最大対数MAPアルゴリズムは以下の近似を用いて獲得される。
Figure 2004104787
 max*演算を用いて、再帰式(recursion)は以下のようになる。
Figure 2004104787
 ここから、ln(αk(m’))を、
Figure 2004104787
として表し(βとγも同様)、そして再帰式は以下の形を取る。
Figure 2004104787
 同様に、以下の式を得る。
Figure 2004104787
 ここで
Figure 2004104787
の計算は、通信路値の推定と事前情報を含む。従来の方法がかなり複雑なのに対して、最適化ブランチメトリック計算が用いられる。伝送の前に、すべてのビットに変換が必要である。xk∈{0,1}と(符号化)ビットとして、伝達された値は、
   yk=−2・xk + 1
   但し、yk∈{−1,1}
となる。
 このように、実際のマッピングは、1→−1と0→1である。
Figure 2004104787
が取りうる全てのkのうち、4種類のみの値であり、これらの値は全ての仮定、
Figure 2004104787
向けである。符号化構造が単独で決まり、いずれかの遷移を割り当てられる。不変の要素をスキップし、さらなる代数変換を行った後、以下の式を得る。
Figure 2004104787
 これらの式は、通信路と事前データから計算されるのが二項のみであるように、実装を著しく単純化する。1項目は切り捨て可能であり、最後の項は先の二項から計算される。スケーリング要素4E/Nは、ワーキングポイント(working point、作用点)の使用により外部から掛けられる。
3.ウィンドウイング
 MAPアルゴリズムは、各ビットの判定を、完全なサンプルのブロックの知識に基づかせ、ビット誤りの確率、すなわち事後確率を最小化する。しかし、ウィンドウをビット位置kを増加させる方向へスライドさせるスライディングウィンドウ技術が、オリジナルなMAPデコーダとほとんど同じ通信性能を提供することが示されてきている。そこで判定は、完全なブロック内の最初のビット位置で始まり、スライディングウィンドウ内の最後の位置で終了するサブブロックに基づいている。MAPアルゴリズムはウィンドウに沿って全てのビットを判断し、ウィンドウの最後の部分に含まれるビットをより少なくすることが可能である。最後の部分にあるこれらのビットは、ウィンドウが次の部分へ動いたときに決定される。中間部のビットだけが復号化されるならば、ウィンドウはスライド(ある方向へ安定して動かすこと)しなくてよい。
 MAPアルゴリズムの式を見れば、容易に四つのサブタスクを識別できる。
  ブランチメトリクスの計算(ステップ1)
  順方向再帰中の順方向状態メトリクスの計算(ステップ2)
  逆方向再帰中の逆方向状態メトリクスの計算(ステップ3)
  軟出力の計算(ステップ4)
 これらステップの間のデータ依存性は以下のとおりである:両再帰(ステップ2,3)と軟出力計算(ステップ4)はブランチメトリクス(ステップ1)に依存しており、軟出力計算(ステップ4)は順方向、逆方向状態メトリクス(ステップ2,3)にさらに依存している。現在のデータの全てのブランチメトリクスと軟出力は互いに独立して計算可能である。順方向状態メトリクスを計算する順番と、逆方向状態メトリクスを計算する順番だけが、それぞれの再帰の方向によってあらかじめ定義される。再帰のシーケンスは重要ではない。順方向と逆方向状態メトリクスの間にはデータ依存性がないからである。逆方向再帰は、順方向再帰の前に、同時に、または後に処理することができる。それゆえに、第一と第二の再帰の概念を導入することが可能である。あるトレリスのステップの第一の再帰のメトリクスは、第二の再帰がトレリスステップとつながる軟出力値を計算するよう損失相補(missing complementary)メトリクスを生成するまで、メモリに記憶されなければならない。このように、デコーダは全データブロックの第一の再帰メトリクスを記憶する必要がある。データサブブロックを有するウィンドウイングの導入は、依存性を壊す。ウィンドウ毎を基準とする復号化は、必要なメモリサイズを減らすことを可能にする。
 ウィンドウ上で復号化するための前提条件は、「獲得(acquisition)」の概念である。元来、MAPデコーダの順方向、逆方向再帰は、トレリスの一端で始まり、反対の端で停止する。しかし、適当に長い獲得フェーズでは、再帰はどのようなトレリスのステップでも開始することが可能である。これは順方向、逆方向再帰の両方に適用される。
 順方向獲得開始をトレリスステップk−Mとする。ここでMは獲得長(acquisition depth)である。順方向状態メトリクスは次式のように初期化される:
Figure 2004104787
 M回の再帰ステップの後、メトリクス
Figure 2004104787
は、トレリスの最初から再帰を開始することにより獲得される値に近づく。ここで、逆方向再帰開始をトレリスステップk+Mとする。逆方向状態メトリクスは次式のように初期化される:
Figure 2004104787
 順方向再帰に類似して、同じ回数の再帰ステップMの後、メトリクス
Figure 2004104787
は、トレリスの最後から再帰を開始することにより獲得される値に近づく。獲得長Mが小さすぎる場合、復号化性能は激しく劣化する。ある値を上回るMの場合、復号化性能は実質的に最適になる。計算労力と復号化性能との間の適度なバランスへ導くMの値は、シミュレーションによって決定される。
 ウィンドウサイズは通信性能に影響はないが、アルファ状態メトリクスの記憶のためのRAMのサイズに影響する。さらに、スループットは獲得長とウィンドウサイズの比率に依存する。状態メトリクス計算ユニットが一つだけ使用可能な場合、個々のウィンドウは逐次処理される。順方向再帰に1クロックサイクル、逆方向再帰/データビット当たりのLLR計算に1クロックサイクルを要する。追加計算オーバーヘッドは獲得ステップの総数で決定される。ウィンドウサイズが獲得長と等しければ、復号化はビット当たり1つの追加クロックサイクルが必要であり、合計3つのクロックサイクルが必要になる。ウィンドウサイズが獲得長より大きければ、計算オーバーヘッドはほぼ0になり、スループットはほぼ2となる。だから、ウィンドウサイズの選定はメモリサイズとスループットとの間のトレードオフである。
4.畳み込み符号デコーダとターボ符号デコーダの複合型実装
 4.1
 図5は、セルラー式移動電話TPの受信チェインに組み込まれた、本発明に準拠した複合型デコーダを示している。
 エンコードされた信号はアンテナANTによって受信されており、受信機の無線周波数ステージERFによって処理されている。ERFステージの出力で、信号はA/Dコンバータによってデジタル領域に変換される。デジタルベース帯域信号はそれから、CDMAシステムの場合に一般に使用される「レイク(rake)」復調器によって処理される。
 それから、通信路復号化ステージは、本発明に従った複合型ターボ符号/畳み込み符号デコーダCTDを含む。
 また、処理チェインは、ソース復号化処置を実行するソース復号化ブロックDCSを有する。
 4.2
 デコーダはUMTS準拠畳み込み符号(CC)と同様に、UMTS準拠ターボ符号(TC)を復号化することが可能である。復号化はMAPデコーダで行われる。両符号への要求は、全く異なる。ターボ符号は、5120ビット以上の大きなブロック長を備えるが、8つの状態しか備えていない。一方、畳み込み符号は、最大512ビットという大変小さいブロック長であるが、状態は256も備える。この要求は、畳み込み用の小さなI/O RAMと大きなα状態メトリクスRAMと比較して、ターボ符号用の大きなI/O RAMsと小さなα状態メトリクスRAMを導く。それゆえに、本発明は効率的なRAMの再利用を提供する。さらに、256個のCC状態メトリクスの再帰的計算は、TC状態メトリクス計算において、「ハードウェア折りたたみ(hardware-folded)」となる。
 次の表はCCとTCのための異なる主要なRAMの要件を示している。ここで、両デコーダのウィンドウサイズは64,入力は6ビット、状態メトリクスは11ビットとした。
Figure 2004104787
 4.3 複合型デコーダの一般的アーキテクチャ
 本発明に準拠した複合型デコーダCTDは、図6に示されるように、ターボ符号復号化を実施するためのターボ符号復号化手段TCDCMと、畳み込み符号復号化を実施するための畳み込み符号復号化手段CCDCMを有する。
 ターボ符号、畳み込み符号復号化手段は、MAPアルゴリズムを実装し、ターボ符号復号化専用の第一の構成と、畳み込み符号復号化専用の第二の構成を備える、共通処理手段CCPRを有する。前記共通処理手段CCPRあるいはMAPユニットは、MAP1、MAP2演算がターボ復号化用に、停止条件が満たされるまで逐次行われる、SISOユニットを形成する。
 さらに、これら共通処理手段について付言すると、ターボ符号復号化手段TCDCMが従来型インターリーブ手段ILを有する。
 さらに、複合型デコーダCTDは、第一のトレリス(ここでは8状態)の状態に関連した順方向状態メトリクスを記憶する、メトリクス記憶手段(TC α-RAM)を有する。前記順方向状態メトリクスは、第一の構成(ターボ復号化)において処理手段CCPRによって届けられる。
 入力/出力記憶手段(CC I/O RAMs)は、第二の構成(CC復号化)において、処理手段CCPRへ届けられ、CCPRによって送られる入力、出力データを記憶するために提供される。
 最後に、適応可能記憶手段ADMMは、第一の構成(ターボ符号復号化)において、前記共通処理手段CCPRへ届けられ、CCPRによって送られる入力、出力データを記憶するために用いられる。また、第二の構成(畳み込み符号復号化)において、第二のトレリス(ここでは256状態)に関連し、前記共通処理手段CCPRによって送られる順方向状態メトリクスを記憶する。
 制御手段CTRLMは、符号に従った第一または第二の構成において、前記共通処理手段CCPRを構成する。メモリ制御手段はCTMMは、前記共通処理手段CCPRの構成に依存して、前記適応可能記憶手段に別々なアドレスを指定する。
 4.4 共通処理手段(CCPR)のアーキテクチャ
 図7は共通処理手段CCPRの内部構造をさらに詳細に示している。
 処理手段CCPRは基本的に、3つの主要な計算ユニットを有する。すなわち、
  ・BMユニット:ブランチメトリクス(BM)を計算し、I/O RAMsとαRAMを制御する。
  ・状態メトリクスユニット:8つの追加比較選択(ACS)ユニットと並行して、8つの状態メトリクスSMを計算する。
  ・LLRユニット:パイプライン型手法でLLRを計算する。
 4.5 畳み込み復号化用入出力記憶手段(CC I/O RAMs)
 入力RAMは、CC入力データに従った3個のRAM(G0−RAM、G1−RAM、G2−RAM)から構成される。出力RAMはCCLLR_RAMである。RAMのサイズは512*6ビットである。
 4.6 ターボ復号化用メトリクス記憶手段(TCα−RAM)
 TC復号化用のα状態メトリクスRAMは、専用の64*88ビットRAM(αRAM)である。
 4.7 適応可能記憶手段(ADMM)
 適応可能記憶手段ADMMは、ターボ符号復号化用入力、出力データを記憶するためか、又は畳み込み符号復号化において順方向状態メトリクスを記憶するためかのどちらにも用いられる。
 そして、図8に示すように、これら適応可能記憶手段は、追加記憶手段Addと同様に大量の基本メモリを有する。
 より詳細には、本発明において、ターボ符号復号化手段TCDCMは、b1ビット(b1=6)、N1シンボル(N1=5120)の連続シーケンスを受け取るよう適応される。第一の構成(ターボ復号化)において処理手段CCPRへ届けられ、CCPRによって送られる入力、出力データは、各受信シーケンスに向けに、b1ビット、N1ワードのg種類のブロックを有する。ここで、g=4として、g個のブロックは、
  ・系列入力データX、
  ・パリティ入力データY1、
  ・インターリーブ化パリティ入力データY2、
  ・復号化の判定(出力データ)、
となる。
 畳み込み符号復号化の場合、適応可能記憶手段に記憶される順方向状態メトリクスは、b2ビット、N2ワード(N2=1728)のブロックである。b2はb1より大きい。一般に、N2とb2の積は、ウィンドウサイズWとトレリスの状態数と各状態のビット数との積と等しい。この場合、Wは畳み込み符号の場合は54で、ターボ符号の場合64である。状態数はターボ符号の場合8で、畳み込み符号の場合256である。そして、各状態のビット数は11である。
 従って、N2は1728であり、b2は88となる。
 このように、図8にしめすとおり、適応可能記憶手段ADMMの主記憶手段は、それぞれN1ワードのgブロックに専用の4組のp(p=3)基本メモリを有する。そして、各基本メモリはb1ビットのN2ワードを記憶するよう適応される。
 追加メモリAddは16ビットの1728ワードを記憶するよう適応される。
 そして、一般的に言って、メモリ制御手段CTMMは、第一の構成(ターボ符号復号化)において適応可能記憶手段ADMMに、6ビット、5120ワードの各ブロックが3個の基本メモリの専用グループから読み書きされるようにアドレスを指定する。
 さらに、前記メモリ制御手段CTMMは、第二の構成(畳み込み符号復号化)において前記適応可能記憶手段ADMMに、前記順方向状態メトリクスの12の基本ワードが、同じアドレスで主記憶手段の12の基本メモリにそれぞれ記憶されるように、アドレスを指定する。また、順方向状態メトリクス追加基本ワード(16ビット)は、同じアドレスで追加記憶手段に記憶される。
 言い換えれば、CC復号化の場合、TCの各I/O RAMは3つの別のRAMに分けられる。これらのRAMは、8つの状態メトリクスを別々に記憶するために必要なビット幅を形成するよう連結されている。88ビット(8*11ビット)必要であり、I/O RAMは6ビット幅なので、4*3*6ビット=72ビットである。それゆえに、CC αRAMを形成するためにさらに16ビットRAMが必要である。このRAMの共有は、CC復号化に充分なウィンドウサイズを得ることを可能にする。
 図8に示すとおり、命名規則は以下の通りである:
   ・系列入力データはX_RAM1、X_RAM2、X_RAM3に記憶される。
   ・パリティ入力データはY1_RAM1、Y1_RAM2、Y1_RAM3に記憶される。
   ・インターリーブ化パリティ入力データはY2_RAM1、Y2_RAM2、Y2_RAM3に記憶される。
   ・TC出力RAMはLLR_RAM1、LLR_RAM2、LLR_RAM3、である。
   ・MSBは硬判定を表し、LSBは外部情報/LLR軟判定(実際の復号化進行に依存)を表す。これらの判定は、MAP1 CRCがチェックした後、デコードを停止することを可能にする。
 RAMが3つに分けれられるので、適切なアドレス変換がアドレス空間0〜5119を3つの0〜1727へ写像するよう行われる。この値は実現可能な最小のRAMに切り上げられる。実際必要なRAMのみが起動され、他のすべては選択されない。
 4.8 ブランチメトリクスの計算
 共通処理手段は、第一、第二の構成において、対応するトレリスのブランチに関連するブランチメトリクスを計算するためのブランチメトリクスユニット(BM)を有する(2.16式参照)。
 TC入力データサンプルのCTDデコーダへの転送は、以下のような順で行われる:
Figure 2004104787
Biはi番目の符号ブロックにおけるビット数である。
 テイルビットの記憶が考慮されなければならず、トレリス終了用の伝達ビットは以下のようになる:
Figure 2004104787
 パリティデータRAM、Y1とY2は逐次満たされていき、再帰的な3つのテイルビットは最後に追加される。系列データRAM、Xもまた逐次満たされ、ゆえに合計6つのテイルビットとなり、第一のエンコーダ用のテイルビットは最初に追加され、第二のエンコーダ用のテイルビットが従う。
 CC復号化用の入力シーケンスは、より単純で、テイルシーケンスは一つだけである。テイルビットは再帰的RAMの最後に追加される。
 ウィンドウイングスキーマの各ステップは、さらにサブステップに分けることができる。ブランチメトリクスの計算は、状態メトリクスの計算のための前提条件である。メモリ制御手段は、それゆえに、入力RAMに再帰的ブランチメトリクスを計算するようアドレスを指定する。上で提案された最適化MAP計算スキーマが用いられる。用いられた命名規則は、系列情報、パリティ情報のバイナリ表現に基づき、[系列情報/パリティ情報]∈{0,1}はそれぞれ[G0/G1]、[G0/G1/G2]と表す。X,Y,LLR、G0,G1,G2はこのRAMに記憶される個々のデータを表現している(たとえば、LLR-RAMの内容は外部情報である)。
ターボ符号(TC):
   branch0=0
   branch1=Y
   branch2=X+LLR
   branch3=X+Y+LLR
畳み込み符号(CC)、符号化率1/2:
   branch0=0
   branch1=G1
   branch2=G0
   branch3=G1+G0
畳み込み符号(CC)、符号化率1/3:
   branch0=0
   branch1=G2
   branch2=G1
   branch3=G1+G2
   branch4=G0
   branch5=G0+G2
   branch6=G0+G1
   branch7=G0+G1+G2
 ブランチメトリクス計算は非常に単純で、TCの場合二つの加算、CCの場合四つの加算(branch7の計算は以前の加算を再利用する、例えばG0+G1)である。TCの場合、MAP2演算の間にインターリーブ化データを使わなければならない。ゆえに、BMユニットは最適なアドレスを取り出すように外部インターリーバとやりとりをする。順方向、逆方向TC再帰の間にデータ衝突を避けるため、専用LLRキャッシュが専用LLRレジスタ同様に必要となる。これは簡単な例で説明される:
 図9はウィンドウ長を4と仮定した計算スキーマを示している。第一のウィンドウの順方向再帰は、3つのα状態メトリクスしか計算されないように、通常特別である。だから、初期化状態メトリクスalpha[0]も、新たに計算されたalpha[1]からalpha[3]までと一緒にαRAMの中に記憶される。スキーマは、ブランチメトリクスbm[1]を計算することによって開始される(ステップ1)。これは外部情報ex1をLLR RAMから読み出す必要がある。この外部情報はまた、LLRキャッシュに記憶される(ステップ2)。1番目のα状態メトリクスalpha[1]を計算したら、前状態メトリクスalpha[0]もまたαRAMに記憶される(ステップ3)。これは4つのα状態メトリクスが全て記憶されるまで繰り返される。
 ここから、beta[5]を計算することにより、ベータ獲得が開始される。このように、ブランチメトリクスbm[6]を計算する必要があるので、LLR RAMからのex6の読み込みを行う(ステップ4)。Beta[4]を再帰的に計算した後、正規逆方向再帰がbeta[3]の計算で開始され、ブランチメトリクスbm[4]用にex4が読み込まれる。Ex4は後の利用のため別のレジスタにも記憶されることに注意されたい(ステップ5)。残りのベータ再帰ステップのために、ブランチメトリクス計算用の外部情報がLLRキャッシュから読み出される。このため新しい外部情報は並行して計算される。これはステップ6で示される。Beta[3]の計算と並行して、LLR[4]はalpha[3]をαRAMから読み出すことにより計算される。このLLR[4]から、新たなex4がステップ7で計算され、LLR RAMに記憶される。前の「古い」ex4は上書きされる。特別なLLRキャッシュの導入は、外部情報の並列の読み出し(ブランチメトリクス計算用)と書き込み(新たに計算された外部情報)を可能にする。
 ベータ再帰の終了後、次の順方向再帰が第二のウィンドウで開始される。Alpha[4]の計算はブランチメトリクスbm[4]が必要である。ブランチメトリクスbm[4]は、ex4が必要で、ex4はベータ再帰の間LLR RAMに上書きされる。ゆえに、以前に記録されたex4が、ブランチメトリクスの計算に用いられる(ステップ8)。それから、順方向再帰はLLR RAMからex5を読み出し、ex5をLLRキャッシュにバッファリングし、alpha[4]をαRAMに記録するなど、ステップ1〜3に従って進行する。
 逆方向/LLR演算の間、ブランチメトリクス計算用の「古い」外部情報は、キャッシュから読み出される。同時に「新しい」外部情報が書き込まれるからである。さらに、第一の計算記憶された「新しい」外部情報は、次の順方向再帰のため、まだ必要な値に上書きされる。前外部情報ex4は、レジスタにバッファリングされなければならない。
 ゆえに、TCブランチメトリクスを計算するための外部情報は4つの異なるソースを備えることができる:
   ・LLR RAMからの外部情報
   ・LLRキャッシュからの外部情報
   ・llr_oldレジスタからの外部情報
   ・ごく初期のMAP1演算の間、ゼロにするための外部情報セット
CC復号化はインタラクティブではないので、つまりフィードバックループがないので、LLRキャッシュは必要ではない。
 4.9 状態メトリクスの計算
 ここから、状態メトリクスの計算へ目を向けてみよう。共通処理手段CCPRは、構成可能状態メトリクスユニットSMを有する。
 図7、図10、図11に示すように、構成可能メトリクスユニットSMは以下の要素を有する:
  ・各構成において、8つの順方向状態メトリクスを計算するための、8つの並列なACS(追加比較選択)ユニットのアーキテクチャ
  ・再帰計算のために、計算された順方向状態メトリクスを一時的に記憶するための、予備記憶手段(AXMM)
  ・前記共有処理手段の構成に依存して、前記予備記憶手段内のメトリクスの記憶を制御するための、予備制御手段
 4.10 ACSアーキテクチャ
 図10に示すACSアーキテクチャは、(2.13)式と(2.14)式に従い、ブランチメトリクスと前状態メトリクスから並列に8つの状態メトリクスを計算する。これは8つのACSユニットでモドミン(modmin)プロシージャ(MODMINブロックがmin*オペレータを実行する)に基づき行われる。
 ACSアーキテクチャは、ターボ符号、畳み込み符号両方において、逆方向再帰と同様に順方向にも用いられる。異なるトレリス図のため、ブランチメトリクス(bmux)と状態メトリクス(smux)を受信するように柔軟性はマルチプレクサで達成される。これらマルチプレクサは、以後に説明するように、外部から制御される。
 8個のACSユニットは、合計16個のブランチメトリクスと状態メトリクスが必要で、ゆえに16個のbmuxマルチプレクサが提供される。各bmuxマルチプレクサは8個のブランチメトリクスの中で選択することができる(符号化率1/3のCCは、計8個のブランチメトリクスが必要だから)。しかしながら、特定状態メトリクス分配(distribution)のおかげで、16ではなく12個のsmux状態メトリクスマルチプレクサが必要とされる。さらに、この状態メトリクス分配は2:1だけのsmuxマルチプレクサを導く。なぜなら、設定はCC順方向再帰/TC逆方向再帰において、またはCC逆方向再帰/TC順方向再帰においても有効である。計算された状態メトリクスの補助マルチプレクシングはない。順方向再帰の場合、新しい状態メトリクスは常に昇順である。
 図10はACSアーキテクチャの一般的アーキテクチャを示している。Sm1からSm8は、1タイムステップでの8つの並列入力状態メトリクスであり、bm0からbm7は8より大きい個数の、別個のブランチメトリクスを示す。TC順方向/CC逆方向用のsmux設定は、太字で表される。このユニットの出力は、LLR計算用のllrメトリクス(ベータ状態メトリクスとブランチメトリクス)と同様の新しい状態メトリクスである。
 状態メトリクスのマルチプレクシングスキーマは、入力状態メトリクスのsm1からsm8への割り当ての単純な例で示されるだろう:
 ターボ符号:
Figure 2004104787
 畳み込み符号:
Figure 2004104787
この割り当てを用いて、前述した12個の状態メトリクスマルチプレクサが必要となる。よって、TC順方向再帰用の設定について、16の状態メトリクス設定は、図10の上から順番に:
sm1、sm2、sm3、sm4、sm5、sm6、sm7、sm8、sm1、sm2、sm3、sm4、sm5、sm6、sm7、sm8、となる。こうして以下のような結果となる:
 alpha[1][n+1] = min(alpha[1][n] + bm[0][n], alpha[2][n] + bm[3][n])
 alpha[2][n+1] = min(alpha[3][n] + bm[2][n], alpha[4][n] + bm[4][n])
 alpha[3][n+1] = min(alpha[5][n] + bm[1][n], alpha[6][n] + bm[2][n])
 alpha[4][n+1] = min(alpha[7][n] + bm[3][n], alpha[8][n] + bm[0][n])
 alpha[5][n+1] = min(alpha[1][n] + bm[3][n], alpha[2][n] + bm[0][n])
 alpha[6][n+1] = min(alpha[3][n] + bm[1][n], alpha[4][n] + bm[2][n])
 alpha[7][n+1] = min(alpha[5][n] + bm[2][n], alpha[6][n] + bm[1][n])
 alpha[8][n+1] = min(alpha[7][n] + bm[0][n], alpha[8][n] + bm[3][n])
類似して、TC逆方向再帰の設定は:
sm1、sm5、sm1、sm5、sm2、sm6、sm2、sm6、sm3、sm7、sm3、sm7、sm4、sm8、sm4、sm8、となる。こうして以下のような結果となる:
 beta[1][n] = min(beta[1][n+1] + bm[0][n+1], beta[5][n+1] + bm[3][n+1])
 beta[2][n] = min(beta[1][n+1] + bm[3][n+1], beta[5][n+1] + bm[0][n+1])
 beta[3][n] = min(beta[2][n+1] + bm[2][n+1], beta[6][n+1] + bm[1][n+1])
 beta[4][n] = min(beta[2][n+1] + bm[1][n+1], beta[6][n+1] + bm[2][n+1])
 beta[5][n] = min(beta[3][n+1] + bm[1][n+1], beta[7][n+1] + bm[2][n+1])
 beta[6][n] = min(beta[3][n+1] + bm[2][n+1], beta[7][n+1] + bm[1][n+1])
 beta[7][n] = min(beta[4][n+1] + bm[3][n+1], beta[8][n+1] + bm[0][n+1])
 beta[8][n] = min(beta[4][n+1] + bm[0][n+1], beta[8][n+1] + bm[3][n+1])
 予備メモリAXMMは、再帰計算のために、計算した状態メトリクスを一時的に記憶する。TC復号化の場合、このAXMMは、新たに計算した状態メトリクスにとって単純なレジスタバンクである。
 CC復号化手段は同様にレジスタバンクを用い、また二組の補助メモリRAM1〜RAM4(図11)も以下に説明されるように用いられる。8状態は並列に計算される、ゆえに8状態メトリクスを読み書きしなければならない。読み書きスキーマはアドレス生成を単純化するようできるだけ規則的にすべきである。さらに、最適なデータ順序がデータ衝突を避けるために必要である。これは例えば以下に示すように順方向再帰で符号化率1/2であるトレリスダイアグラムの一部を見ることによって説明できる。
 順方向再帰 CC 符号化率=1/2
  alpha[0][n+1] = min(alpha[0][n] + bm[0][n], alpha[128][n] + bm[3][n])
  alpha[1][n+1] = min(alpha[0][n] + bm[3][n], alpha[128][n] + bm[0][n])
  alpha[2][n+1] = min(alpha[1][n] + bm[1][n], alpha[129][n] + bm[2][n])
  alpha[3][n+1] = min(alpha[1][n] + bm[2][n], alpha[129][n] + bm[1][n])
  alpha[4][n+1] = min(alpha[2][n] + bm[3][n], alpha[130][n] + bm[0][n])
  alpha[5][n+1] = min(alpha[2][n] + bm[0][n], alpha[130][n] + bm[3][n])
  alpha[6][n+1] = min(alpha[3][n] + bm[1][n], alpha[131][n] + bm[1][n])
  alpha[7][n+1] = min(alpha[3][n] + bm[2][n], alpha[131][n] + bm[2][n])
  alpha[8][n+1] = min(alpha[4][n] + bm[3][n], alpha[132][n] + bm[0][n])
  …..
 実際の状態メトリクスalpha(n+1)[0 − 7]を計算して書き込む場合、alpha(n)[0 − 3] とalpha(n)[128 − 131]を読み出さなければならない。ステップn+2でalpha(n+1)[0 − 3, 128 − 131]が再び必要となるので、alpha(n)[0 − 3, 128 − 131]ワードを読み出して、alpha(n+1)[0 − 7]ワードを書き込むことはできない。さらに、ACSアーキテクチャの単純な2:1のsmux概念に応じないので、異なるワードシーケンスは望ましくない。それゆえに、最適な状態メトリクスワードシーケンスと同様に分割される最適な状態メトリクスワードが用いられる。これは計4個のRAM(RAM1〜RAM4)によって行われ、2個のRAMはデータソースとして働き、もう2個はデータシンクとして働く。1タイムステップの256状態メトリクス全てを計算した後、RAMの指示は切り替えられる。これは34回のクロックサイクルをとる。
 RAMアクセスシーケンスは以下のように与えられ、次に説明されるであろう。
CC順方向再帰用RAMアクセスシーケンス:
Figure 2004104787
CC逆方向再帰用RAMアクセスシーケンス:
Figure 2004104787
 数字は状態メトリクス(0〜255)を指し、データワードは常に順次記憶される。
 このアクセススキーマは、衝突のないデータアクセスを保証する。さらに、アドレス指定はとても単純で、各RAMに対して二つの確率しかなく、アドレスのMSB用のインクリメンタとマルチプレクサで容易に実現可能である(以下に例を示す)。このマルチプレクサは、インクリメンタのMSBと「0」または「1」にセット可能なRam_high信号で供給される。以下に、RAM1とRAM3のアドレス指定の例を示す:
   ・逐次型:RAM13_adrがRAM1とRAM3のアドレスである
         →RAM1とRAM3の初期化中に用いられる
         →RAM1とRAM3のアルファ書き込み中に用いられる
         →RAM1とRAM3のベータ読み出し中に用いられる
   ・非逐次型:アドレスは、RAM13_adrとRAM_high信号からつくられる。これはアドレスシーケンス:0 16 1 17 2 18 3 19 4 20 … 14 30 15 31を生成するため用いられる。
         →RAM1とRAM3のアルファ読み出し中に用いられる
         →RAM1とRAM3のベータ書き込み中に用いられる
 ACSアーキテクチャ内の単純なマルチプレクシングを維持するために、計算した状態メトリクスはRAM記憶の間、スワップされなければならない。以前に述べたように、ACSアーキテクチャの出力されるアルファ状態メトリクスは、常に昇順である。順方向再帰用のアクセススキーマを見るとき、(スワッピング開始でつけられた)順番に変わっていることがわかる。RAM1への128〜131の、RAM4への132〜135への書き込みの代わりに、読み出し順序のために、これらの値がスワップされなければならない。状態メトリクス128〜131はRAM3から読み出され、ゆえに次の順方向サイクルのためにRAM4に記憶されなければならない、ということに注意されたい。それゆえに、状態メトリクスベクターの44LSBと44MSBの間のスワッピングが行われる。同様に、スワッピングはベータ状態メトリクスにも行われ、常にRAM内で適切な順序を保証している。
 状態メトリクスの初期化は、マルチプレクサによって制御される。ターボ符号の第一の順方向再帰ウィンドウで開始されたとき、トレリスの開始状態がわかり、ゆえにレジスタは「all512and0」にセットされる。この定数は、開始状態を0に、その他の7状態を512にセットする。値512が選択されるのは、ビット幅11の状態メトリクスのモジュロ表現にとって、最適な値だからである。次のウィンドウのための順方向初期化は、αRAMへ以前に計算して記憶したアルファ値である。トレリスの最終状態もわかり、ゆえに値「all512and0」が最終逆方向再帰ウィンドウの初期化のためにまた選択される。他のウィンドウは、獲得フェーズを経て開始ベータを得る。獲得フェーズ用の初期化は、「all512」である。この定数は、実際の状態が不明で、すべての状態を等しいと仮定するので、すべての状態が512にセットされる。
 畳み込み符号の復号化のためのスキーマは、原則的には同様であるが、256状態が初期化されなければならない。並列に書き込みができるのは8状態だけなので、256状態は逐次的に初期化される。
 TC復号化の場合、SMユニットへの出力はレジスタ1の中身である。これはまた、αRAMのソースでもある。
 畳み込み符号を復号化する場合も、αRAMへの出力は常にレジスタ1の中身であるが、αRAM内のアルファ状態メトリクスの順序を維持するために、これらは順方向再帰スキーマの後半の間スワップされなければならない(上述)。SMユニットへの出力は、実際の読み出し順に応じて、RAM1/RAM3からでもRAM2/RAM4からでも良い。さらに、LLRを計算するためのベータ状態メトリクスが配布される。ベータ状態メトリクスの順序は、αRAM内のアルファ状態メトリクスの順序に等しいということに注意されたい。
 4.11 マルチプレクサの制御
 状態メトリクスユニットのマルチプレクサは、特別な機械で制御される(簡略化のため明示しない)。
 状態メトリクスマルチプレクサsmuxの制御は非常に単純である。設定は二通りだけで、TC順方向再帰/CC逆方向再帰用と、TC逆方向再帰/CC逆方向再帰用である。ブランチメトリクスマルチプレクサbmuxの制御はより複雑になり、FSMにおいて行われる。各シーケンス(32ステップ)は、実際のオペレーション(順方向再帰、または逆方向再帰)と同様、選択した符号化率に依存している。
  ・CC 符号化率1/2 順方向再帰
    bmuxの設定は4種類で、A、B、C、Dと表す。
    順方向シーケンスは:
    AABBCCDDAABBCCDDCCDDAABBCCDDAABB
  ・CC 符号化率1/2 逆方向再帰
    bmuxの設定は4種類で、A、B、C、Dと表す。
    逆方向シーケンスは:
    AABBCCDDAABBCCDDBBAADDCCBBAADDCC
  ・CC 符号化率1/3 順方向再帰
    bmuxの設定は8種類で、A、B、C、D、E、F、G、Hと表す。
    順方向シーケンスは:
    ABCDEFGHFEHGBADCHGFEDCBACDABGHEF
  ・CC 符号化率1/3 逆方向再帰
    bmuxの設定は8種類で、A、B、C、D、E、F、G、Hと表す。
    逆方向シーケンスは:
    ABCDEFGHFEHGBADCDCBAHGFEGHEFCDAB
 4.12 LLRユニット
 LLRユニットはLLRを計算する(2.15式参照)。このユニットは、レジスタと3つのモドミン(modmin)ステージから成るTCデコーダ用パイプラインにおいて、図12に示すようにステージ1とステージ2の間で行われる。第一ステージへの入力は、αRAMからのアルファ状態メトリクスと、SMユニットからのllrsum(ブランチメトリクスとベータ状態メトリクスの和)の合計となる。この値はまた記録され、このようにパイプライン長は合計4となる。上部モドミンツリーは、入力「1」によって到達するすべての状態の最小値(LLR1)を計算し、下部モドミンツリーは、入力「0」によって到達する状態の最小値(LLR0)を計算する。
 一旦LLR計算が開始すると、クロックサイクル毎に入力は新しい値になる。制御は非常に単純で、4ステージフリップフロップパイプラインを通じて、単純なデータ有効フラグのシフトにより行われる。
 TC用LLR計算の部品は、畳み込み復号化用に再利用される。図12を参照されたい(入力値用のマルチプレクサと合計計算用の加算器は示されていない)。
 より詳細には、図12に示すすべてのアーキテクチャはターボ復号化に用いられるのに対して、上部と下部のしか畳み込み符号復号化に用いられない。
 畳み込み符号の符号化はNSCを用いて行われるので、入力「0」と「1」は状態数を決定する。
 それゆえに、ブランチメトリクスは必要ではなく、第一のステージにおいて4つのモドミンユニットだけまで、計算を単純化できる。上部2つのモドミンユニットは入力「1」(1状態(onestate))によって到達した4状態メトリクスの合計の最小値を計算し、下部2つのユニットは入力「0」(0状態(zerostate))による最小値を計算する。それゆえに入力は、αRAMからのアルファ状態メトリクスとAXMMメモリからのベータメトリクスである。
 256状態すべてを一度に計算できないので、最適な最小値を決定するループバックが必要である。これはターボ符号デコーダ部と比較し、ステージ2の後に位置する、追加ハードウェアである。制御は実に単純で、FSMで実現される。最も良く表現されるのは、1状態(onestate)のためのフィードバックユニットを見たときである。第一の最小値は下部レジスタへ記憶され、第二の最小値は上部レジスタへ記憶される。全ての次の最小値は下部レジスタへ記憶され、結果の最小値は常に上部レジスタへ記憶される。llr_validフラグもまた、FSMによって生成される。
 4.13 CRCチェックユニット
 本発明に準拠したデコーダは、パラメータcrclengthとcrcpoly(図13参照)に依存するCRCレジスタを実現する特定ユニットも有する。CRCレジスタはMAP1オペレーションの間にCRCチェックを実行するために用いられる。MAP2オペレーション中のCRCチェックは、インターリーブ化のため不可能である。CRC加算(sum)は、逆の順序で符号化の間データブロックに付けられる。それゆえに次に示すステップが行われる:
 ・復号化したビットのCRC加算が、ブロック長-crclengthビットをCRCレジスタへシフトすることにより行われる。
 ・CRCレジスタの内容が、そのときcrclengthの復号化したビットと比較される。等価なら、CRCチェックはポジティブとなる。
 これらのステップはCRC制御状態機械で実施される。さらに、いくつかの考察(consideration)が行われなければならない:LLRは逆の順序でウィンドウのように計算される、最大ウィンドウサイズはTCウィンドウサイズ64である。それゆえにこれらのLLRビットは、逆方向再帰/LLR計算の間64ビットバッファ(dbuffer)に記憶されなければならない。これらのビットは、アルファ再帰とベータ獲得の間、CRCレジスタにシフトされる。各終了ウィンドウは、crc_w_finished信号(図14)で通知される。メモリ制御はベータ再帰を開始する(ビット数が64より小さい場合、予想される衝突は最終ウィンドウの間にのみ発生しうる。そして、アルファ計算のための時間はバッファからの64ビットすべてをCRCレジスタにシフトするほど充分長くない。)。
 さらに、このユニットは、アンデコーダブル(undecodable)ブロックの反復キャンセル制御(iteration cancellation control)のためにLLR-sumsを計算する。停止基準は、連続のMAP1とMAP2オペレーションの間のデルタに基づいている。デルタが負ならば、このブロックはアンデコーダブルと記録される(デルタ失敗信号)。
 入力CRCデータのバッファリングとCRCレジスタのシフトはMAP1オペレーションの間とcrc_lengthがゼロ以外の場合のみ行われる。
 CRCはMAP1オペレーションに並列にチェックされる。事前に不明なので、ブロックが正確に復号化されるならば、デコーダはLLRの中から外部情報を計算し(2.2式参照)、ブロックがエラーのない状態ではないならばさらに復号化を可能とするためにLLR RAMに記憶する。こうして、ブロックが正確ならば、MAP1の後デコーダは決定されるが、LLRはそのとき上書きされる。それゆえに、追加ビットは同様に硬判定(LLRのMSB)を記憶するために導入される。これは、デコーダが、正常なCRC基準によりMAP1後に停止し、外部情報とともにLLRの硬判定をフラッシュする(flush)ことを可能にする。
 4.14 大域制御ユニット
 最後に、本発明に準拠する複合型デコーダは、MAPレベルで復号化プロセスを制御する大域制御ユニットを有する。TC復号化は反復問題で行われるので、反復の回数は実際の復号化状態に依存する。それゆえに、各MAPオペレーションの後、停止基準がチェックされる。この停止基準は、選択した合計反復数の半分でも、正確に検出したCRC-sum(MAP1後のみ)でも、平均値基準に基づいたアンデコーダブルブロックの初期検知でも良い。TC用の特別の復号化ステップが、図15に示されている。CC復号化の場合、必要なMAP1オペレーションは1つだけである。
 さらに、大域制御ユニットは、ハンドシェイクモードを制御する。このハンドシェイクモードは復号化ステップの段階的実行とオンデマンドメモリフラッシュを可能にする。
5.発明の利点
 本発明に準拠した複合型デコーダは特に以下の利点を提供する:
  ・使用されるMAPユニットは一つだけである。ゆえに、MAP1とMAP2オペレーションは、同じMAPユニットで連続的に行われる。
  ・スライディングウィンドウアプローチは、アルファ状態メトリクスRAMのサイズを減らすために用いられる。TC用ウィンドウサイズは64である。
  ・TCの8状態すべてが並列に計算される。ゆえに、再帰計算中各タイムステップで、新たな8状態メトリクスが計算される。
  ・順方向、逆方向獲得と逆方向再帰は、同じ状態メトリクスユニット上で連続的に行われる。
  ・逆方向再帰の間、LLR/外部情報は並列に計算される。ゆえに、(2.14式と2.15式のように)ベータ状態メトリクスを記憶する必要がない。
  ・インタラクティブTC復号化は、外部情報のインターリーブ化とデインターリーブ化が必要である。これはインターリーバとデインターリーバパターン用の二つのRAMと同様に、LLR用の二つのRAM(インターリーブ、デインターリーブ)へ導く。UMTSのために、インターリーバ/デインターリーバテーブルは「読取りアドレス」として規定される。ブランチメトリクスの計算には、系列、パリティ、外部(事前)情報が必要である。だからMAP1オペレーションの間、系列化とパリティ1情報を連続的に読み込み、外部情報はデインターリーブされて読み込まれる。計算した新しい外部情報は、RAM2に連続的に記憶される。MAP2オペレーションは、系列情報、インターリーブされた外部情報、パリティ2情報を連続して読み込み、新たに計算した外部情報を連続して記憶する。これは外部用(LLR)の二つのRAMとインターリーブ/デインターリーブパターン用の二つのRAMに導く。
 しかしながら、インターリーバテーブルのみが用いられ、LLRはLLR-RAM内に常に順番通り記憶される。LLRは事前情報(と系列情報)の前読取りアドレスに書き込み、間接的なデインターリーブを行うことが可能である。それゆえに、一つのLLR-RAMと一つのインターリーバパターン用のRAMのみが必要となる。外部情報は元来のデータ順序で連続的に通常記憶されるので、MAP1オペレーションは系列情報、パリティ1情報、外部情報を連続的に読みとるだけで、新しく計算した外部情報は連続的に記憶される。インターリーバ/デインターリーバRAMへのアクセスは要求されない。MAP2オペレーションの間、系列情報と外部情報はインターリーブされて読取り、パリティ2情報は連続的に読みとられる。新たに計算した外部情報は、読取りアドレスへのライドバック(write back)が可能で、もはや不要な外部情報を上書きする。このスキーマはインタリーバテーブルのみを用いるので、デインタリーバRAMは用いられない。それにもかかわらず、新しいLLR/外部情報が生成される場合、逆方向再帰/LLR計算の間LLR RAM上に読み出し/書き込みの衝突がおきることがある。それゆえに、LLRキャッシュが用いられ、順方向再帰の間は満たされ、逆方向再帰の間は読み出される。ウィンドウサイズはTCの場合64なので、LLRキャッシュのサイズは64*6ビットだけである。
  ・インタリーバパターン発生は復号化手段の外部で行われる。復号化手段にとって、インタリーバRAMは単なる外部RAMである。
  ・対数MAP、あるいは最大対数MAPが選択可能である;min*関数が用いられる。
本発明の変形可能性
 これまで述べた実施形態において、メトリクス記憶手段は、ターボ復号化の間引き渡される順方向状態メトリクスを記憶するために用いられていた。また、適応可能記憶手段は、畳み込み復号化の間引き渡される順方向状態メトリクスを記憶するために用いられていた。しかし、これらのメモリは同様に逆方向状態メトリクスを記憶するよう使用可能である。これは、選択したウィンドウイングの方向にのみ依存する。より詳細には、逆方向再帰を行うことで、ブロックの最後からウィンドウイングを開始し、逆方向状態メトリクスを記憶し、それから順方向/LLRを一緒に行うことが可能である。
 さらに、あらゆる種類のSISOデコーダを使用しても良い。換言すれば、本発明は基本的なデコーダの起こりうるすべてのSISO実装をカバーし、MAPアルゴリズムやその部分最適化バージョン(対数MAP、最大対数MAP)には限定されない。
 最後に、本発明に準拠した複合型デコーダは、無線通信システムの基地局において組み込むことが可能である。
畳み込み符号化のためのUMTSに用いられる二つの異なるNSCの構造を示す図。 一回のステップにおいて可能な遷移を表すトレリスの一部を示す図。 UMTSターボ符号エンコーダを示す図。 一般的なターボ符号デコーダを示す図。 本発明に準じた複合型デコーダを含む携帯電話の受信チェーンを示す図。 本発明に準じた複合型デコーダの内部構造を示す図。 本発明に準じた複合型デコーダの一部をより詳細に示す図。 本発明に準じた複合型デコーダに属する適応可能メモリをより詳細に示す図。 ウィンドウイングスキーマの間の読み書きアクセスの一例を示す図。 ACSユニット構造を示す図。 ACS更新ユニットの構造を示す図。 本発明に準じた複合型デコーダに属するLLRユニットを示す図。 本発明に準じた複合型デコーダのCRCチェック構造を示す図 本発明に準じたCRC処理スキーマを示す図。 本発明に準じたターボ符号復号化の汎用制御ステップを示す図。

Claims (17)

  1.  複合型ターボ符号/畳み込み符号デコーダであって、
     ターボ符号復号化を実施するターボ符号復号化手段(TCDCM)と、畳み込み符号を実施する畳み込み符号復号化手段(CCDCM)を有し、
     該ターボ符号ならびに畳み込み符号復号化手段は、SISO復号化手段の共通処理手段(CCPR)を有し、ターボ符号復号化専用の第一の構成と畳み込み符号復号化専用の第二の構成を備えており、
     第一のトレリスの状態に関連づけられ、第一の構成において前記共通処理手段が送付する状態メトリクスを記憶するメトリクス記憶手段(TCα−RAM)と、
     前記共通処理手段へ送付され、第二の構成において前記共通処理手段が送付する入力、出力データを記憶する入出力記憶手段(CC I/O RAMs)と、
     前記共通処理手段へ送付され、第一の構成において前記共通処理手段が送付する入力、出力データを記憶し、第二のトレリスの状態に関連づけられ、第二の構成において前記共通処理手段が送付する状態メトリクスを記憶する適応可能記憶手段(ADMM)と、
     符号の種類により第一または第二の構成において、前記共通処理手段を構成する制御手段(CTRLM)と、
     前記共通処理手段の構成によって前記適応可能記憶手段に個別にアドレスを指定するメモリ制御手段(CTMM)と、
    を有する複合型ターボ符号/畳み込み符号デコーダ。
  2.  前記複合型デコーダであって、
     前記ターボ符号復号化手段が、b1ビットのN1シンボルの連続シーケンスと、前記共通処理手段へ送付され、受け取ったシーケンスを有する第一の構成において前記共通処理手段が送付する入出力データと、b1ビットのN1ワードのg種類のブロックと、を受け取るよう適応し、
     前記適応可能記憶手段内に記憶される状態メトリクスが、b1の倍数であるb2ビットのN2ワードのブロックであり、
     前記適応可能記憶手段(ADMM)が、N1ワードのg個のブロックにそれぞれ専用のp個の基本メモリのg個のグループを有し、各基本メモリはb1ビットのN2ワードを記憶するよう適応し、積gpは比b2/b1に等しく、積pN2はN1以上であり、
     前記メモリ制御手段が、b1ビットのN1ワードの各ブロックがp基本メモリの専用グループに読み書きされるように、前記第一の構成において前記適応可能記憶手段のアドレスを指定し、
     各状態メトリクスが、b1ビットのgp個の基本ワードから構成され、前記メモリ制御手段が、前記第二の構成において前記状態メトリクスのgp個の基本ワードが同じアドレスでgp個の基本メモリにそれぞれ記憶されるように、前記適応可能記憶手段のアドレスを指定する、
    ことを特徴とする請求項1記載の複合型デコーダ。
  3.  前記適応可能記憶手段が、
     第一の構成において、前記共通処理手段へ送付され、前記共通処理手段が送付する入出力データを記憶し、第二の構成において、前記共通処理手段が送付する状態メトリクスの第一の部分を記憶する主記憶手段(X−RAMs、Y1−RAMs,Y2−RAMs、LLR−RAMs)と、
     第二の構成において、前記共通処理手段が送付する状態メトリクスの最後の部分を記憶する追加記憶手段(Add)と、
    を有することを特徴とする、請求項1記載の複合型デコーダ。
  4.  前記複合型デコーダであって、
     前記ターボ符号復号化手段(TCDCM)が、b1ビットのN1シンボルの連続シーケンスと、前記共通処理手段へ送付され、受け取ったシーケンスを有する第一の構成において前記共通処理手段が送付する入出力データと、b1ビットのN1ワードのg種類のブロックと、を受け取るよう適応し、
     前記適応可能記憶手段内に記憶される前記状態メトリクスが、b1より大きいb2ビットのN2ワードのブロックであり、
     前記主記憶手段が、N1ワードのg個のブロックにそれぞれ専用のp個の基本メモリのg個のグループを有し、各基本メモリはb1ビットのN2ワードを記憶するよう適応し、積gpは比b2/b1より小さな最大整数に等しく、積pN2はN1以上であり、
     前記追加記憶手段が、b2-gpビットのN2ワードを記憶するよう適応し、前記メモリ制御手段が、b1ビットのN1ワードの各ブロックがp基本メモリの専用グループに読み書きされるように、前記第一の構成において前記適応可能記憶手段のアドレスを指定し、
     各状態メトリクスが、b1ビットのgp個の基本ワードとb2-gpビットの追加基本ワードから構成され、前記メモリ制御手段が、前記第二の構成において前記状態メトリクスのgp個の基本ワードが同じアドレスで前記主記憶手段のgp個の基本メモリにそれぞれ記憶されるように、前記適応可能記憶手段のアドレスを指定し、状態メトリクスの該追加基本ワードは、同じアドレスで追加記憶手段に記憶される、
    ことを特徴とする請求項3記載の複合型デコーダ。
  5.  ST1が第一のトレリスの状態数であり、ST2が第二のトレリスの状態数であり、rが整数比ST2/ST1であって、前記共通処理手段が構成可能状態メトリクスユニット(SM)を有しており、
     該構成可能状態メトリクスユニットは、
     第一の構成において、ST1状態メトリクスを再帰的に並列計算することができ、
     第二の構成において、並列計算されたST1状態メトリクスのr個のグループを再帰的に計算することができる、
    ことを特徴とする、請求項1から請求項4記載の複合型デコーダ。
  6.  前記共通処理手段が、第一、第二の構成において、対応するトレリスの分岐に関連する分岐メトリクスを計算する、分岐メトリクスユニット(BM)を有し、
     前記構成可能状態メトリクスユニットが、
     各構成において、ST1状態メトリクスを計算する、ST1個の並列ないわゆるACS(追加、比較、選択)ユニットと、
     再帰的計算のため、計算した状態メトリクスを一時的に記憶する予備記憶手段(AXMM)と、
     前記予備記憶手段において、前記共通処理手段の構成に依存してメトリクスの記憶を制御する予備制御手段と、
    を有することを特徴とする請求項5記載の複合型デコーダ。
  7.  前記複合型デコーダであって、
     前記予備メモリ手段(AXMM)が、
      ターボ符号復号化の間、ST1状態メトリクスを一時的に記憶するレジスタ(RGB)と、
      該レジスタに接続された、畳み込み符号復号化の間ST2状態メトリクスを一時的に記憶する二組の補助メモリ(RAM1〜RAM4)と、
    を有し、
     前記予備制御手段が、
      レジスタの出力と二組の補助メモリとの間に接続された、該補助メモリにおいてメトリクスの記憶スワッピングを可能にする第一の多重化手段と、
      前記レジスタの出力と前記補助メモリの出力に直接接続された第二の多重化手段と、
    を有することを特徴とする、請求項6記載の複合型デコーダ。
  8.  前記状態メトリクスユニット(SM)が、順方向状態メトリクスを計算するのと同等の方法で、逆方向状態メトリクスを再帰的に計算が可能であることを特徴とする、請求項5から請求項7に記載の複合型デコーダ。
  9.  前記共通処理ユニットが、対数尤度比(LLR)ユニットを有し、
     該LLRユニットは、前記状態メトリクスユニットと、第一の構成における前記メトリクス記憶手段と、第二の構成における前記適応可能記憶手段に接続されており、信頼値にそれぞれ関連するデコードされたデータの値を含む軟出力情報を各構成において計算する、
    ことを特徴とする請求項5から請求項8に記載の複合型デコーダ。
  10.  前記LLRユニットが、パイプライン型構造をとり、ターボ符号復号化と畳み込み符号復号化の両方に用いられる部分を有する、
    ことを特徴とする請求項9記載の複合型デコーダ。
  11.  前記共通処理手段(CCPR)が、事後確率最大(Maximum-A-Posteriori、MAP)アルゴリズムを実行することを特徴とする既出の任意の請求項記載の複合型デコーダ。
  12.  実行される前記MAPアルゴリズムが、いわゆる対数MAPアルゴリズム、あるいはいわゆる最大対数MAPアルゴリズムであることを特徴とする請求項11記載の複合型デコーダ。
  13.  前記ターボ符号復号化手段が、グローバル制御手段を有し、ターボ符号復号化を前記共通処理手段において反復型方法で実施させる、
    ことを特徴とする既出の任意の請求項記載の複合型デコーダ。
  14.  集積回路によって実現されることを特徴とする既出の任意の請求項記載の複合型デコーダ。
  15.  請求項1から請求項14のうち任意の請求項記載の複合型デコーダを含む無線通信システムの端末装置。
  16. 携帯電話を形成することを特徴とする請求項15記載の端末装置。
  17.  基地局を形成することを特徴とする請求項15記載の端末装置。
JP2003313595A 2002-09-05 2003-09-05 特に移動無線システム用とした、複合型ターボ符号/畳み込み符号デコーダ Expired - Fee Related JP3861084B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP02019974A EP1398881A1 (en) 2002-09-05 2002-09-05 Combined turbo-code/convolutional code decoder, in particular for mobile radio systems

Publications (2)

Publication Number Publication Date
JP2004104787A true JP2004104787A (ja) 2004-04-02
JP3861084B2 JP3861084B2 (ja) 2006-12-20

Family

ID=31725361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003313595A Expired - Fee Related JP3861084B2 (ja) 2002-09-05 2003-09-05 特に移動無線システム用とした、複合型ターボ符号/畳み込み符号デコーダ

Country Status (3)

Country Link
US (1) US7191377B2 (ja)
EP (1) EP1398881A1 (ja)
JP (1) JP3861084B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006191392A (ja) * 2005-01-06 2006-07-20 Matsushita Electric Ind Co Ltd ターボ復号器及びターボ復号方法
JP2008085939A (ja) * 2006-09-29 2008-04-10 Oki Electric Ind Co Ltd 通信装置
JP2009060455A (ja) * 2007-08-31 2009-03-19 Nec Corp スライディングウィンドウターボ復号処理装置とその方法
JP2016502369A (ja) * 2012-12-27 2016-01-21 ゼットティーイー コーポレーションZte Corporation マルチモードデコーダの実現方法及び装置

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159169B2 (en) * 2003-09-11 2007-01-02 Intel Corporation Apparatus and methods for forward error correction decoding
GB2409134B (en) * 2003-12-11 2005-11-09 Motorola Inc A decoder
JP2005210238A (ja) * 2004-01-21 2005-08-04 Nec Corp ターボ復号装置及びその方法並びにその動作プログラム
US7725798B2 (en) * 2004-02-27 2010-05-25 Joanneum Research Forschungsgesellschaft Mbh Method for recovering information from channel-coded data streams
JP2006041960A (ja) * 2004-07-28 2006-02-09 Nec Corp ターボ復号装置及びターボ復号方法並びにプログラム
US7653155B1 (en) * 2004-11-04 2010-01-26 Sandia Corporation Using convolutional decoding to improve time delay and phase estimation in digital communications
US7360147B2 (en) * 2005-05-18 2008-04-15 Seagate Technology Llc Second stage SOVA detector
US7502982B2 (en) * 2005-05-18 2009-03-10 Seagate Technology Llc Iterative detector with ECC in channel domain
US7395461B2 (en) * 2005-05-18 2008-07-01 Seagate Technology Llc Low complexity pseudo-random interleaver
US7810010B1 (en) * 2006-05-24 2010-10-05 Xilinx, Inc. Decoder for a turbo code
US7984367B1 (en) * 2006-07-25 2011-07-19 Marvell International Ltd. Method for iterative decoding in the presence of burst errors
US7890684B2 (en) * 2006-08-31 2011-02-15 Standard Microsystems Corporation Two-cycle return path clocking
EP2158682A1 (en) * 2007-06-14 2010-03-03 Intel Corporation Unified decoder for convolutional, turbo, and ldpc codes
US8291302B2 (en) 2007-10-17 2012-10-16 Marvell International Ltd. State metrics memory reduction in a turbo decoder implementation
TWI339956B (en) * 2007-12-31 2011-04-01 Ind Tech Res Inst Method and apparatus for convolutional turbo decoding
KR101496455B1 (ko) * 2008-01-03 2015-02-26 삼성전자주식회사 다중 사용자 통신시스템의 수신 장치 및 제어 방법
JPWO2009096194A1 (ja) * 2008-01-31 2011-05-26 パナソニック株式会社 無線通信装置および誤り訂正符号化方法
US8413031B2 (en) * 2008-12-16 2013-04-02 Lsi Corporation Methods, apparatus, and systems for updating loglikelihood ratio information in an nT implementation of a Viterbi decoder
US7839310B2 (en) 2009-02-19 2010-11-23 Nokia Corporation Extended turbo interleavers for parallel turbo decoding
CN101692612B (zh) * 2009-05-27 2012-10-17 华为技术有限公司 多规格里德-所罗门编解码方法、装置及系统
US8924829B2 (en) * 2009-08-31 2014-12-30 Freescale Semiconductor, Inc. Device and method for turbo-encoding a block of data
WO2011046529A1 (en) * 2009-10-13 2011-04-21 Thomson Licensing Map decoder architecture for a digital television trellis code
US8687746B2 (en) * 2010-05-27 2014-04-01 Qualcomm Incorporated SMU architecture for turbo decoder
US8923453B2 (en) * 2010-08-27 2014-12-30 Futurewei Technologies, Inc. System and method for iteration scheduling in joint equalization and turbo decoding
US8910028B1 (en) * 2011-10-27 2014-12-09 Marvell International Ltd. Implementation of LLR biasing method in non-binary iterative decoding
US9577677B2 (en) 2011-12-01 2017-02-21 Lg Electronics Inc. Device and method for transmitting data using convolutional turbo code (CTC) encoder in mobile communication system
US10205470B2 (en) * 2014-02-14 2019-02-12 Samsung Electronics Co., Ltd System and methods for low complexity list decoding of turbo codes and convolutional codes
ES2561935B2 (es) * 2014-11-06 2016-08-10 Universidad De Málaga Sistemas y métodos para turbo decodificación iterativa de alto régimen binario, baja tasa de error y baja complejidad
ES2561913B2 (es) * 2014-11-06 2016-08-10 Universidad De Málaga Sistemas y métodos para turbo decodificación iterativa de baja tasa de error y baja complejidad
WO2016071546A1 (es) * 2014-11-06 2016-05-12 Universidad De Málaga Sistemas y métodos para turbo decodificación iterativa de bajo tasa de error y baja complejidad
CN107070511B (zh) * 2017-06-13 2020-04-14 电子科技大学 一种用于miso无线公平性网络的用户接入控制优化方法
CN111865336B (zh) * 2020-04-24 2021-11-02 北京芯领航通科技有限公司 基于RAM总线的Turbo译码存储方法及装置和译码器

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6226773B1 (en) * 1999-10-20 2001-05-01 At&T Corp. Memory-minimized architecture for implementing map decoding
JP2001285079A (ja) 2000-03-30 2001-10-12 Sharp Corp 通信用誤り訂正符号復号装置
US20010044919A1 (en) * 2000-05-05 2001-11-22 Edmonston Brian S. Method and apparatus for improved perormance sliding window decoding
US6829313B1 (en) * 2000-07-17 2004-12-07 Motorola, Inc. Sliding window turbo decoder
US7242726B2 (en) * 2000-09-12 2007-07-10 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US6865710B2 (en) * 2000-09-18 2005-03-08 Lucent Technologies Inc. Butterfly processor for telecommunications
EP1410513A4 (en) * 2000-12-29 2005-06-29 Infineon Technologies Ag CHANNEL CODEC PROCESSOR CONFIGURABLE FOR MULTIPLE WIRELESS COMMUNICATION STANDARDS
US6813742B2 (en) * 2001-01-02 2004-11-02 Icomm Technologies, Inc. High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture
US6993704B2 (en) * 2001-05-23 2006-01-31 Texas Instruments Incorporated Concurrent memory control for turbo decoders
KR100438537B1 (ko) * 2001-07-19 2004-07-03 엘지전자 주식회사 이동 통신 단말기에서의 복호 장치 및 그 제어 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006191392A (ja) * 2005-01-06 2006-07-20 Matsushita Electric Ind Co Ltd ターボ復号器及びターボ復号方法
JP4520861B2 (ja) * 2005-01-06 2010-08-11 パナソニック株式会社 ターボ復号器及びターボ復号方法
JP2008085939A (ja) * 2006-09-29 2008-04-10 Oki Electric Ind Co Ltd 通信装置
JP2009060455A (ja) * 2007-08-31 2009-03-19 Nec Corp スライディングウィンドウターボ復号処理装置とその方法
JP2016502369A (ja) * 2012-12-27 2016-01-21 ゼットティーイー コーポレーションZte Corporation マルチモードデコーダの実現方法及び装置

Also Published As

Publication number Publication date
US7191377B2 (en) 2007-03-13
EP1398881A1 (en) 2004-03-17
JP3861084B2 (ja) 2006-12-20
US20050278603A1 (en) 2005-12-15

Similar Documents

Publication Publication Date Title
JP3861084B2 (ja) 特に移動無線システム用とした、複合型ターボ符号/畳み込み符号デコーダ
May et al. A 150Mbit/s 3GPP LTE turbo code decoder
US6799295B2 (en) High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture
KR20010072498A (ko) 맵 디코더용 분할 디인터리버 메모리
EP1166451A1 (en) Highly parallel map decoder
US20090094505A1 (en) High speed turbo codes decoder for 3g using pipelined siso log-map decoders architecture
EP1471677A1 (en) Method of blindly detecting a transport format of an incident convolutional encoded signal, and corresponding convolutional code decoder
US6487694B1 (en) Method and apparatus for turbo-code decoding a convolution encoded data frame using symbol-by-symbol traceback and HR-SOVA
JP5700035B2 (ja) 誤り訂正符号復号装置、誤り訂正符号復号方法および誤り訂正符号復号プログラム
JP3669433B2 (ja) インターリーブ装置及びインターリーブ方法、符号化装置及び符号化方法、並びに復号装置及び復号方法
US6868518B2 (en) Look-up table addressing scheme
JP2007194684A (ja) 復号装置、復号方法、及び受信装置
KR100390416B1 (ko) 터보 디코딩 방법
JP3888135B2 (ja) 誤り訂正符号復号装置
US7584407B2 (en) Decoder and method for performing decoding operation using map algorithm in mobile communication system
US6886127B2 (en) Implementation of a turbo decoder
US20030023919A1 (en) Stop iteration criterion for turbo decoding
Tsai et al. A memory-reduced log-MAP kernel for turbo decoder
Mathana et al. Low complexity reconfigurable turbo decoder for wireless communication systems
JP2008136006A (ja) 誤り訂正復号器及びそれに用いる誤り訂正復号方法並びにそのプログラム
Kreiselmaier et al. Combined turbo and convolutional decoder architecture for UMTS wireless applications
Papaharalabos et al. SISO algorithms based on combined max/max* operations for turbo decoding
WO2011048997A1 (ja) 軟出力復号器
JP4525658B2 (ja) 誤り訂正符号復号装置
Kim et al. Energy-efficient double-binary tail-biting turbo decoder based on border metric encoding

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051004

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20051226

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060324

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060925

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110929

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees