図面 (/)

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

出願人 エスティマイクロエレクトロニクスエヌヴィエスティーマイクロエレクトロニクスエス.アール.エル.
発明者 フリードベルト・ベレンズゲルド・クレイセルマイアー
出願日 2003年9月5日 (17年3ヶ月経過) 出願番号 2003-313595
公開日 2004年4月2日 (16年8ヶ月経過) 公開番号 2004-104787
状態 特許登録済
技術分野 エラーの検出訂正 符号誤り検出・訂正 エラーの検出、防止
主要キーワード 指令ユニット 逆方向状態 初期検知 逆方向用 初期順序 再帰的計算 再帰計算 フィードバックユニット
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2004年4月2日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (16)

課題

 ターボ符号畳み込み符号デコーダ実装において、メモリサイズを縮小して実装コストを低くする手段を提供する。

解決手段

 本発明は、ターボ符号/畳み込み符号複合型デコーダを提案する。複合型デコーダは、ターボ符号復号化手段の入出力RAMを、畳み込み符号復号化手段用アルファまたはベータRAMとして再利用する。さらに、指令ユニットSMLLR)がターボ符号、畳み込み符号両方に用いられる。効果的なハードウェア折りたたみスキーマは、256状態を逐次8ACSユニット上で計算することを可能にする。

概要

背景

 本発明の適用は、概して無線通信システムの領域に向けられており、さらにより詳細には、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 andVLSIArchitectures 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

概要

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

目的

 上述したターボ符号と畳み込み符号デコーダの主な問題は、大きなメモリが必要ということである。ゆえに、個々のデコーダの実装には高いコストがかかる。本発明の一つの目的は、この問題を解決することである。

効果

実績

技術文献被引用数
1件
牽制数
2件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項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記載の端末装置。

技術分野

0001

 本発明は、概して通信路符号化(channel coding)ならびに複号化(decoding)技術に関連し、特にターボ符号(turbo code)ならびに畳み込み符号(convolutional code)に関する。

背景技術

0002

 本発明の適用は、概して無線通信システムの領域に向けられており、さらにより詳細には、CDMA2000、WCDMA(広帯域CDMA)、IS−95といった各種のCDMAベース移動無線システムのようなCDMAシステムに向けられている。第三世代移動通信システムは、通信路符号化技術として、ターボ符号と同様畳み込み符号を指定している(非特許文献1参照)。

0003

 ターボ符号エンコーダ(encoder、符号器)において、順方向誤り訂正(forward error correction)はパリティビットを導入することで可能である。ターボ符号の場合、系列情報(systematic information)を指す原情報パリティ情報一緒伝送される。3GPP用エンコーダは、拘束長K=4である二つの再帰組織畳み込み(recursive systematic convolutional、RSC)エンコーダから成り、8状態の有限状態機械(finite state machine)として解釈することもできる。第一のRSCエンコーダはオリジナル内の情報のブロックに従事し、第二のエンコーダはインターリーブされたシーケンス(interleaved sequence)内の情報に従事する。

0004

 受信側では、上記エンコーダそれぞれに対応する要素デコーダ(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)を経てかなり複雑な統計分析にまで及ぶ。

0005

 MAPアルゴリズムを用いたターボデコーダアーキテクチャ実装問題は、すでに複数の論文議論されており、広く知られている(詳細は非特許文献3を参照)。MAPアルゴリズムは、演算子の強度を減らすため対数領域に変換される(非特許文献4参照)。乗算加算になり、加算は修正型比較(modified comparison)により置き換えられる。アルゴリズムは、順方向再帰(forward recursion)、逆方向再帰(backward recursion)、軟出力計算から成る。状態の再帰ステップを計算するために、修正型累積比較選択(modified accumulate-compare-select、ACS*)ユニットが必要である。

0006

 ターボ復号化の間、一度にアクティブなMAPは一つだけである。適度なスループット要求により、反復ループの両MAPの計算は一つのハードウェアユニット写像することが可能で、必要なMAPユニットは一つだけである。MAPユニットに加え、メモリが入力、出力値を記憶することも必要とされる。さらに、記憶装置が、事前情報やアルファ状態メトリクスのような中間値のために要求される。インターリーバ(interleaver)およびデインターリーバ(deinterleaver)パターン発生器もまたメモリに帰属される。大きなブロックサイズのために、メモリがターボデコーダアーキテクチャを支配することは明らかである。

0007

 系列情報とパリティ情報用の入力RAMと、出力RAMのサイズは、3GPP基準で定義されるブロックサイズによって決定される。出力RAMはまた、事前値の記憶装置としても使われる。計算された軟出力は常に事前情報の前の読取り位置に書き込まれるので、一つの軟出力メモリで充分である。

0008

 アルファメモリ(アルファ状態メトリクスを記憶する)のサイズは、ウィンドウイング(windowing)技術を導入することで減らすことができる。ウィンドウイングにおいては、ウィンドウがビット位置の増加方向なめらかに移動し(非特許文献5参照)、元来のMAPデコーダとほぼ同様の通信性能を有する。ウィンドウサイズはブロックサイズよりもかなり小さく、概して32から128の間である。ウィンドウイングはいわゆる「収集(acquisiton)」の間、追加計算を含む。しかしながら、アルファメモリへの保存はこれら追加計算に支配的である。

0009

 畳み込み符号エンコーダにおいても、順方向誤り訂正はパリティビットを導入することによって可能である。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 andVLSIArchitectures 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

発明が解決しようとする課題

0010

 上述したターボ符号と畳み込み符号デコーダの主な問題は、大きなメモリが必要ということである。ゆえに、個々のデコーダの実装には高いコストがかかる。本発明の一つの目的は、この問題を解決することである。

課題を解決するための手段

0011

 本発明は複合型ターボ符号/畳み込み符号デコーダを提案する。複合型ターボ符号/畳み込み符号デコーダは、ターボ符号復号化を実施するターボ符号復号化手段(TCDCM)と、畳み込み符号を実施する畳み込み符号復号化手段(CCDCM)を有し、該ターボ符号ならびに畳み込み符号復号化手段は、SISO復号化手段の共通処理手段(CCPR)(例えばMAPアルゴリズムを実装する)を有し、ターボ符号復号化専用の第一の構成と畳み込み符号復号化専用の第二の構成を備えており、第一のトレリスの状態に関連づけられ、第一の構成において前記共通処理手段が送付する状態メトリクス(例えば順方向状態メトリクス)を記憶するメトリクス記憶手段(TCα−RAM)と、 前記共通処理手段へ送付され、第二の構成において前記共通処理手段が送付する入力、出力データを記憶する入出力記憶手段(CC I/O RAMs)と、前記共通処理手段へ送付され、第一の構成において前記共通処理手段が送付する入力、出力データを記憶し、第二のトレリスの状態に関連づけられ、第二の構成において前記共通処理手段が送付する状態メトリクス(例えば順方向状態メトリクス)を記憶する適応能記憶手段(ADMM)と、符号の種類により第一または第二の構成において、前記共通処理手段を構成する制御手段(CTRLM)と、前記共通処理手段の構成によって前記適応可能記憶手段に別々にアドレスを指定するメモリ制御手段(CTMM)とを有する。

0012

 言い換えれば、本発明に準拠して、ターボ符号復号化手段の入力/出力RAMを、アルファRAM(順方向状態メトリクスを記憶)あるいは畳み込み符号復号化手段用ベータRAM(逆方向状態メトリクスを記憶)として再利用する。

0013

 本発明の実施形態によれば、前記適応可能記憶手段が、第一の構成において、前記共通処理手段へ送付され、前記共通処理手段が送付する入出力データを記憶し、第二の構成において、前記共通処理手段が送付する状態メトリクスの第一の部分を記憶する主記憶手段(X−RAMs、Y1−RAMs,Y2−RAMs、LLR−RAMs)と、第二の構成において、前記共通処理手段が送付する状態メトリクスの最後の部分を記憶する追加記憶手段(Add)とを有する。

0014

 さらに詳細に例示すると、前記ターボ符号復号化手段(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個の基本メモリにそれぞれ記憶されるように、前記適応可能記憶手段のアドレスを指定し、状態メトリクスの該追加基本ワードは、同じアドレスで追加記憶手段に記憶される。

0015

  本発明の別な実施形態によれば、前記追加記憶手段は必要でなくても良い。例えば、b2がb1の倍数ならば、積gpは比率b2/b1に等しいという場合がある。このような実施例において、前記メモリ制御手段が、前記第一の構成において、b1ビットのN1ワードの各ブロックがp個の基本メモリの専用グループから読み書きされるように、前記適応可能記憶手段にアドレスを指定する。そして、各状態メトリクスが、b1ビットのgp基本ワードで構成され、前記メモリ制御手段が、前記第二の構成において、前記状態メトリクスのgp基本ワードが同じアドレスでgp基本メモリにそれぞれ記憶されるように、前記適応可能記憶手段にアドレスを指定する。さらに、ターボ符号デコーダの入力/出力RAMの、アルファRAMあるいは畳み込み符号デコーダ用のベータRAMとしての再利用のために、本発明はまた、ターボ符号、畳み込み符号両用のオペレーシナルユニットを有することも好都合である。

0016

 本発明の実施形態によりさらに詳細に説明すると、ST1が第一のトレリスの状態数であり(例えば、ST1=8)、ST2が第二のトレリスの状態数であり(例えば、ST2=256)、rが整数比ST2/ST1であって、前記共通処理手段が構成可能状態メトリクスユニット(SM)を有している。構成可能状態メトリクスユニットは、第一の構成において、ST1状態メトリクス(例えば、順方向状態メトリクス)を再帰的に並列計算することができ、第二の構成において、並列計算されたST1状態メトリクス(例えば、順方向状態メトリクス)のr個のグループを再帰的に計算することができる。

0017

 本発明の実施形態によれば、前記共通処理手段が、第一、第二の構成において、対応するトレリスの分岐に関連する分岐メトリクスを計算する、分岐メトリクスユニット(BM)を有し、 前記構成可能状態メトリクスユニットが、 各構成において、ST1状態メトリクスを計算する、ST1個の並列ないわゆるACS(追加、比較、選択)ユニットと、 再帰的計算のため、計算した状態メトリクスを一時的に記憶する予備記憶手段(AXMM)と、 前記予備記憶手段において、前記共通処理手段の構成に依存してメトリクスの記憶を制御する予備制御手段とを有する。

0018

 前記予備メモリ手段(AXMM)が、ターボ符号復号化の間、ST1状態メトリクスを一時的に記憶するレジスタ(RGB)と、該レジスタに接続された、畳み込み符号復号化の間ST2状態メトリクスを一時的に記憶する二組の補助メモリ(RAM1〜RAM4)とを有することが可能である。そして前記予備制御手段が、レジスタの出力と二組の補助メモリとの間に接続された、該補助メモリにおいてメトリクスの記憶スワッピングを可能にする第一の多重化手段と、前記レジスタの出力と前記補助メモリの出力に直接接続された第二の多重化手段とを有する。

0019

 本発明の実施形態によれば、前記状態メトリクスユニット(SM)が、順方向状態メトリクスを計算するのと同等の方法で、逆方向状態メトリクスを再帰的に計算が可能である。

0020

 本発明の実施形態によれば、前記共通処理ユニットが、対数尤度比(LLR)ユニットを有し、該LLRユニットは、前記状態メトリクスユニットと、第一の構成(ターボ符号復号化)における前記メトリクス記憶手段と、第二の構成(畳み込み符号復号化)における前記適応可能記憶手段に接続されており、信頼値にそれぞれ関連するデコードされたデータの値を含む軟出力情報を各構成において計算する。さらに詳細に説明すると、前記LLRユニットが、パイプライン型構造をとり、ターボ符号復号化と重畳符号復号化の両方に用いられる部分を有する。

0021

 実行される前記MAPアルゴリズムが、いわゆる対数MAPアルゴリズム、あるいはいわゆる最大対数MAPアルゴリズムである。

0022

 前記ターボ符号復号化手段が、グローバル制御手段を有し、ターボ符号復号化を前記共通処理手段において反復型方法で実施させ、そのため一つのMAPのみが用いられることも好都合である。

0023

 本発明による複合型デコーダが、集積回路によって実現されることは好都合である。本発明はまた、上で定義した複合型デコーダを含む無線通信システムの端末装置に向けられている。そのような端末装置は、携帯移動電話基地局を形成しても良い。

0024

 本発明の他の利点や特徴は実施形態と添付図面の詳細な説明において明らかになるだろう。しかし、これらは本発明を制限するものではない。

発明を実施するための最良の形態

0025

1.符号化
 1.1 一般的考察と畳み込み符号化
 畳み込み符号化は現在又は選択された以前のタイムステップ入力値排他的論理和演算(modulo-2 sum)の計算によって実施される。ゆえに、実装は単純明快で、主にシフトレジスタと一組の排他的論理和(exclusive-OR)ゲートから成る。これらを切り替える方法によって、以下のような異種の畳み込み符号が実現されることが可能である。

0026

 系列符号(systematic codes):出力ストリームの一つが入力ストリーム(系列情報)に等しい。

0027

 非系列符号(Non-Systematic Codes、NSC):各出力がパリティ情報である。パリティ情報は、符号化プロセスヒストリを示すシフトレジスタエントリの排他的論理和を取ることによって生成される。

0028

 再帰的符号(Recursive Codes):特別なパリティ信号が生成され、系列入力(systematic input)と一緒にフィードバックされる。

0029

 非再帰的符号(Non-Recursive Codes):フィードバックループが存在しない。

0030

 畳み込み符号エンコーダの一例は、メモリ長(memory depth)やパリティ情報を生成するのに用いられる論理関数など、プロパティの組み合わせによって定義される。これらのプロパティは生成多項式によって記述される。

0031

  図1は、畳み込み積分(convolution)と畳み込み符号化用にUMTS(Universal Mobile Telecommunications System)内で用いられる二つの異なるNSCの構造を表しており、拘束長はターボ符号化の場合より大きい(K=9)。さらに、二つの別個な比率を考慮しなければならない。符号化率1/2の畳み込み符号エンコーダ(a)は二つの出力を持ち、符号化率1/3のエンコーダ(b)は三つの出力を持つ。

0032

 利用可能な現在のタイムステップの値で、M=K−1個のフリップフロップがエンコーダのヒストリを記憶するのに必要とされる。これは、エンコーダを有限状態機械(finite-state machine、FSM)として解釈するもととなる。それは、挙動がミーリーオートメーション(Mealy-automation)と同等であることを示す。二つの状態の間の遷移の可能性は畳み込み符号の復号化のキーである。

0033

 1.2 符号トレリス(Code-Trellis)
 符号化トレリスは有限状態機械の展開された(unrolled)状態チャートである。エンコーダがN内でありうる状態の数は、拘束長Kの関数:N=2K—1である。

0034

 符号(RSC、NSCなど)の性質に依存して、ある遷移だけが可能である。トレリスはこれらの遷移を表すために用いられる。図2はトレリスの一部分を示し、1タイムステップで可能な遷移を表す。状態チャートを示すために通常用いられるツリー構造の代わりに、トレリスが等価な状態を組み合わせる。図2実線は、系列ビット「0」の入力による遷移を表し、点線は「1」による遷移を表す。

0035

 規定上、すべての符号化プロセスは全ゼロ状態(all-zero state)で始まる。

0036

 1.3 トレリス終結(Trellis-termination)
 考えられる符号化向けには、トレリスの初期状態は常に全ゼロ状態であることが知られている。対策を取らなくても、エンコーダは、逆方向再帰をどこで開始するかどんなヒントも残さず、任意の状態で終了する。これはエンコーダを定義した終結状態へ動かすことにより抑制できる。終結状態(例えば、全て0の状態)への到達は、できるだけ速く終結状態へエンコーダを向けるようなシーケンスを追加することによって達成される。このシーケンスは、最後の情報ビットが符号化された後にエンコーダが成る状態にも依存している。このシーケンスの長さはK−1に等しく、伝送ビットはテイルビット(tailbit)と呼ばれる。

0037

 1.4 インターリービング(interleaving)
 復号化に基づいたトレリスは、バースト誤り(burst errors)に大変脆弱である。伝送ビットのシーケンスが壊れたならば、復号化は不正確となる。ゆえに、近傍関係を分解するスキーマである、インターリービングが適用される。

0038

 インターリービングの背後にあるキーアイデアは、生成あるいは使用されるのとは異なる順序でビットを伝送することである。例えば、ビット4は近傍3と5と、連続して符号化されるけれども、伝送中は312や1021の隣でも良い。通信路内のバースト誤りは、ビット312、4、1021に影響を与える。受信側では、これらの誤りデインターリーバー(deinterleaver)を通して再び広がり初期順序復元する。このように復号化はほとんど影響をおよぼさない。

0039

 1.5 ターボ符号化
 ターボ符号エンコーダは二つの要素の畳み込み符号エンコーダと、インターリーバーから構成される。畳み込み符号は、符号化率1/2のRSC符号と、前に紹介した生成多項式となるよう定められる。

0040

 第二のエンコーダの系列情報は伝送されない。(デインターリービングによって)第一のエンコーダの系列出力から再構築される可能性があるからである。これにより、符号化率R=1/3は実現される。図3は詳細なUMTSターボ符号エンコーダを示している。トレリス終結は、各エンコーダをそれぞれの最終状態へ導く。これはテイルビット用の第一、第二のエンコーダの系列情報の間の依存性を分解する。なぜなら、これらは図3に示すようにそれぞれの切り替えを実現することによって、各エンコーダを他のエンコーダから独立させるからである。ゆえに、エンコーダのうち最後の6ビット(系列情報とパリティ情報)は別個に転送されなければならない。これはブロック当たり12ビットのオーバーヘッド付加ビット)という結果になる。

0041

2.復号化
 畳み込み符号の復号化は、エンコーダで行われた遷移の経過を追っている。これらから、送られた入力シンボルが差し引かれる。通信路によって起きる劣化により、系列ビットとパリティビットの推定のみ有効であり、ここでは両方が通信路値と呼ばれる。以下のような二つの異なる種類の出力がある:
 ハード値(hard value):シンボルが「1」か「0」であると思われるかどうかを単に示すだけにすぎない。

0042

 ソフト値(soft value):判断の信頼度の程度も配信する。(硬判定(hard decision)は判断が正しいという確率によって拡張される。)
 ターボ復号化にとって、軟入力値(soft-in value)だけが、適切である。通信路値に基づいて、系列ビットとパリティビットのある組み合わせが起こる確率が計算可能である。これとエンコーダのヒストリを考慮して、エンコーダが所与のタイムステップで所与の状態にあった確率が計算可能である。

0043

 二つのアプローチがこれらの状態確率を扱うために存在する。ビタビアルゴリズム(Viterbi Algorithm)に基づいた最大尤度は、最も有望な符号化ワード探すためにこれらを利用する。このために、このアルゴリズムは全て0の状態から最終状態までトレリスを横断し、最も有望なシーケンスを捜す。「生き残りパス(survivor path)」用に選ばれた状態は、送られたシンボルの最も有望なシーケンスを示す。ゆえに、ビタビデコーダはシーケンス推定器である。

0044

 一方、最大事後確率(maximum-a-posteriori、MAP)アルゴリズムはエンコーダが所与の状態にあった確率と、現在の状態が通信路値の剰余に与えられた最終状態へ向かっている確率を推定する。これはトレリスを通して順方向、逆方向再帰によって効率的に計算可能である。その後、各ビットにとって、系列「0」に関連する状態の確率は、「1」に関連する確率に追加、比較される。高い確率のシンボルは、送られたものだと仮定される。このアルゴリズムはシーケンスレベルよりむしろビット上で働くので、記号推定と呼ばれる。

0045

 ターボ符号化は畳み込み符号デコーダの軟出力も要求する。最適なアルゴリズムはMAPアルゴリズムとSOVA(Soft Output Viterbi Algorithm、軟出力ビタビアルゴリズム)である。

0046

 SOVAは通常、ビタビアルゴリズム部と軟出力を計算する担当部を含む2ステップアルゴリズムとして実装される。ビタビを実現する部分の状態メトリクスユニットは、トレースバック(trace-back)あるいはレジスタ交換構造に基づいて実装可能である。軟出力計算部は、主に競合パス計算ユニットから構成される。低いスループットを除けば、このユニットはレジスタ交換アーキテクチャとして実装される。レジスタ交換ユニットの主要な欠点は、ハードウェアフォールディング(folding、折り畳み)にあまり向いていないことである。ゆえに、幅広いスループット要求に対して効率的なSOVAアーキテクチャを獲得するのは(不可能ではないにしても)困難である。さらに、最適な軟更新(soft update)を伴うSOVAの通信性能は、準最適化最大対数MAP(sub-optimum MaxLogMAP)アルゴリズムと同様である場合のみ可能である。効率的実装のために、MAPアルゴリズムが実装され、本発明に準拠したハードウェアのフォールディングと調和する。

0047

 2.1 ターボ復号化
 最も有望なコードワード(codeword)を捜すことによるターボ符号の復号化は、あまりに複雑である。それゆえに、反復型復号化が勧められる。二つの畳み込み符号がそれぞれ復号化される。それを行う間、各デコーダは他方によって集められた情報を組み込む。この「情報の集約」は、軟出力値の交換であって、ユニットのビット推定は次への事前情報に変換される。デコーダは、それゆえSISOユニットでなければならない。

0048

 ビット推定における信頼度は、対数尤度比(Log-Likelihood-Ratio、LLR)で表される:

0049

 記号はこのビットが1または0であるかどうかを示す。一方、判断の信頼度は振幅によって表される。

0050

 最後の復号化ステージで集約された情報を抽出するために、この推定に導いた系列情報と事前情報が減算されなければならない。これは以下のようになる。

0051

 これは外部情報(extrinsic information)と呼ばれる。

0052

 ある値をもつビットにおける一方のデコーダの信頼度は、他方の初期推定にバイアスをかける。図4は、二つのMAPデコーダ、インターリーバ、デインターリーバから構成される、そのようなターボ符号デコーダを示す。次への事前情報入力として一方のデコーダの入力を供給することは、復号化の繰り返しの間の改善を可能にする。それはまたターボ符号に名前を与える(例えば、燃焼ターボエンジンに用いられる「feedback-of-exhaust」のように)。デコーダへの入力は、受け取った通信路値(系列、パリティ1、パリティ2)であり、ごく初期のMAP1オペレーションの間、事前情報は0にセットされる。

0053

 2.2 最大事後確率(MAP)アルゴリズム
 最大事後確率という名前は、ビットの推定が全体の受信側シーケンスに基づくことに由来する。このアルゴリズムはすべての情報が入った後に行われる。(2.4)式はそのようなMAPデコーダの出力を示す。

0054

 バール(Bahl)らは、非特許文献2において、MAPデコーダにとって効率的なアルゴリズムについて述べており、それは、順方向、逆方向再帰中のトレリス上で操作する再帰式に基づいている。そのアルゴリズムは一般にMAPあるいはBCJRアルゴリズムと呼ばれる:

0055

がMAPの入力を示し、シンボルシーケンス(symbol sequence)を

0056

とする。ここで、Nはブロックの長さである。そして、BCJRアルゴリズムは、シンボルシーケンス受信後に各データ記号dkに対して事前確率(a-posteriori probabilities、APP)を以下のように計算する。

0057

 (APPは)二つの確率を用いて計算される:一方は、エンコーダが状態Smkに到達した確率である。kが記号を受信した後のm∈{1 … 2M}を用いて、以下の式になる。

0058

 他方は、入力シーケンスの剰余がエンコーダを、時刻k+1で状態Sm’k+1を与えられる最終状態へ導く確率であって、以下の式となる。

0059

 このため、状態SmkからSm’k+1への遷移の確率を知らなければならない。この確率は、符号化構造通信路モデル、前の復号化ステップの外部情報、受信した記号Rk、に依存しており、以下の式となる。

0060

 γを用いて、αとβは以下の式のように再帰的に計算される。

0061

 既知開始状態と最終状態は、BCJRアルゴリズムが最適に実施されるために必要である。トレリスが終了しないならば、全ての状態がk=Nと等しい確率を持つと仮定しなかればならない。

0062

 事後確率自体は以下のように表すことができる。

0063

 APPの計算に係わる乗算回数の多さは、実装にとってはあまり魅力的ではなくなる。それゆえ、MAPアルゴリズムは対数領域に変換されなければならず、対数MAPアルゴリズムとなる。これにより、誤り訂正性能を劣化させず、数値安定度と実装の容易さが向上する。

0064

 2.3 対数領域におけるMAPアルゴリズム:LogMAP
 乗算から加算への変換が、MAPアルゴリズムを対数領域で定義する動機である。加算によって問題が引き起こされる。ヤコビアン対数を用いて、加算は新しい演算子に置き換えられる。

0065

   ln(eδ1 + eδ2) = max*(δ1, δ2) = max(δ1, δ2) + ln(1 + e−|δ1−δ2|)
 負の対数の場合も同様で、以下のように導出する。

0066

   min*(δ1, δ2) = min(δ1, δ2) − ln(1 + e−|δ1−δ2|)
 二つ以上のオペランドの場合、max*は再帰的に適用される。演算子は結合型(associative)なので、ツリー状(tree-like)の推定を用いることが可能であり、ハードウェア実装において有利である。準最適化最大対数MAPアルゴリズムは以下の近似を用いて獲得される。

0067

 max*演算を用いて、再帰式(recursion)は以下のようになる。

0068

 ここから、ln(αk(m’))を、

0069

として表し(βとγも同様)、そして再帰式は以下の形を取る。

0070

 同様に、以下の式を得る。

0071

 ここで

0072

の計算は、通信路値の推定と事前情報を含む。従来の方法がかなり複雑なのに対して、最適化ブランチメトリック計算が用いられる。伝送の前に、すべてのビットに変換が必要である。xk∈{0,1}と(符号化)ビットとして、伝達された値は、
   yk=−2・xk + 1
   但し、yk∈{−1,1}
となる。

0073

 このように、実際のマッピングは、1→−1と0→1である。

0074

が取りうる全てのkのうち、4種類のみの値であり、これらの値は全ての仮定、

0075

向けである。符号化構造が単独で決まり、いずれかの遷移を割り当てられる。不変の要素をスキップし、さらなる代数変換を行った後、以下の式を得る。

0076

 これらの式は、通信路と事前データから計算されるのが二項のみであるように、実装を著しく単純化する。1項目は切り捨て可能であり、最後の項は先の二項から計算される。スケーリング要素4Es/N0は、ワーキングポイント(working point、作用点)の使用により外部から掛けられる。

0077

3.ウィンドウイング
 MAPアルゴリズムは、各ビットの判定を、完全なサンプルのブロックの知識に基づかせ、ビット誤りの確率、すなわち事後確率を最小化する。しかし、ウィンドウをビット位置kを増加させる方向へスライドさせるスライディングウィンドウ技術が、オリジナルなMAPデコーダとほとんど同じ通信性能を提供することが示されてきている。そこで判定は、完全なブロック内の最初のビット位置で始まり、スライディングウィンドウ内の最後の位置で終了するサブブロックに基づいている。MAPアルゴリズムはウィンドウに沿って全てのビットを判断し、ウィンドウの最後の部分に含まれるビットをより少なくすることが可能である。最後の部分にあるこれらのビットは、ウィンドウが次の部分へ動いたときに決定される。中間部のビットだけが復号化されるならば、ウィンドウはスライド(ある方向へ安定して動かすこと)しなくてよい。

0078

 MAPアルゴリズムの式を見れば、容易に四つのサブタスク識別できる。

0079

  ブランチメトリクスの計算(ステップ1)
  順方向再帰中の順方向状態メトリクスの計算(ステップ2)
  逆方向再帰中の逆方向状態メトリクスの計算(ステップ3)
  軟出力の計算(ステップ4)
 これらステップの間のデータ依存性は以下のとおりである:両再帰(ステップ2,3)と軟出力計算(ステップ4)はブランチメトリクス(ステップ1)に依存しており、軟出力計算(ステップ4)は順方向、逆方向状態メトリクス(ステップ2,3)にさらに依存している。現在のデータの全てのブランチメトリクスと軟出力は互いに独立して計算可能である。順方向状態メトリクスを計算する順番と、逆方向状態メトリクスを計算する順番だけが、それぞれの再帰の方向によってあらかじめ定義される。再帰のシーケンスは重要ではない。順方向と逆方向状態メトリクスの間にはデータ依存性がないからである。逆方向再帰は、順方向再帰の前に、同時に、または後に処理することができる。それゆえに、第一と第二の再帰の概念を導入することが可能である。あるトレリスのステップの第一の再帰のメトリクスは、第二の再帰がトレリスステップとつながる軟出力値を計算するよう損失相補(missing complementary)メトリクスを生成するまで、メモリに記憶されなければならない。このように、デコーダは全データブロックの第一の再帰メトリクスを記憶する必要がある。データサブブロックを有するウィンドウイングの導入は、依存性を壊す。ウィンドウ毎を基準とする復号化は、必要なメモリサイズを減らすことを可能にする。

0080

 ウィンドウ上で復号化するための前提条件は、「獲得(acquisition)」の概念である。元来、MAPデコーダの順方向、逆方向再帰は、トレリスの一端で始まり、反対の端で停止する。しかし、適当に長い獲得フェーズでは、再帰はどのようなトレリスのステップでも開始することが可能である。これは順方向、逆方向再帰の両方に適用される。

0081

 順方向獲得開始をトレリスステップk−Mとする。ここでMは獲得長(acquisition depth)である。順方向状態メトリクスは次式のように初期化される:

0082

 M回の再帰ステップの後、メトリクス

0083

は、トレリスの最初から再帰を開始することにより獲得される値に近づく。ここで、逆方向再帰開始をトレリスステップk+Mとする。逆方向状態メトリクスは次式のように初期化される:

0084

 順方向再帰に類似して、同じ回数の再帰ステップMの後、メトリクス

0085

は、トレリスの最後から再帰を開始することにより獲得される値に近づく。獲得長Mが小さすぎる場合、復号化性能は激しく劣化する。ある値を上回るMの場合、復号化性能は実質的に最適になる。計算労力と復号化性能との間の適度なバランスへ導くMの値は、シミュレーションによって決定される。

0086

 ウィンドウサイズは通信性能に影響はないが、アルファ状態メトリクスの記憶のためのRAMのサイズに影響する。さらに、スループットは獲得長とウィンドウサイズの比率に依存する。状態メトリクス計算ユニットが一つだけ使用可能な場合、個々のウィンドウは逐次処理される。順方向再帰に1クロックサイクル、逆方向再帰/データビット当たりのLLR計算に1クロックサイクルを要する。追加計算オーバーヘッドは獲得ステップの総数で決定される。ウィンドウサイズが獲得長と等しければ、復号化はビット当たり1つの追加クロックサイクルが必要であり、合計3つのクロックサイクルが必要になる。ウィンドウサイズが獲得長より大きければ、計算オーバーヘッドはほぼ0になり、スループットはほぼ2となる。だから、ウィンドウサイズの選定はメモリサイズとスループットとの間のトレードオフである。

0087

4.畳み込み符号デコーダとターボ符号デコーダの複合型実装
 4.1
 図5は、セルラー式移動電話TP受信チェインに組み込まれた、本発明に準拠した複合型デコーダを示している。

0088

 エンコードされた信号はアンテナNTによって受信されており、受信機無線周波数ステージERFによって処理されている。ERFステージの出力で、信号はA/Dコンバータによってデジタル領域に変換される。デジタルベース帯域信号はそれから、CDMAシステムの場合に一般に使用される「レイク(rake)」復調器によって処理される。

0089

 それから、通信路復号化ステージは、本発明に従った複合型ターボ符号/畳み込み符号デコーダCTDを含む。

0090

 また、処理チェインは、ソース復号化処置を実行するソース復号化ブロックDCSを有する。

0091

 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)」となる。

0092

 次の表はCCとTCのための異なる主要なRAMの要件を示している。ここで、両デコーダのウィンドウサイズは64,入力は6ビット、状態メトリクスは11ビットとした。

0093

 4.3 複合型デコーダの一般的アーキテクチャ
 本発明に準拠した複合型デコーダCTDは、図6に示されるように、ターボ符号復号化を実施するためのターボ符号復号化手段TCDCMと、畳み込み符号復号化を実施するための畳み込み符号復号化手段CCDCMを有する。

0094

 ターボ符号、畳み込み符号復号化手段は、MAPアルゴリズムを実装し、ターボ符号復号化専用の第一の構成と、畳み込み符号復号化専用の第二の構成を備える、共通処理手段CCPRを有する。前記共通処理手段CCPRあるいはMAPユニットは、MAP1、MAP2演算がターボ復号化用に、停止条件が満たされるまで逐次行われる、SISOユニットを形成する。

0095

 さらに、これら共通処理手段について付言すると、ターボ符号復号化手段TCDCMが従来型インターリーブ手段ILを有する。

0096

 さらに、複合型デコーダCTDは、第一のトレリス(ここでは8状態)の状態に関連した順方向状態メトリクスを記憶する、メトリクス記憶手段(TC α-RAM)を有する。前記順方向状態メトリクスは、第一の構成(ターボ復号化)において処理手段CCPRによって届けられる。

0097

 入力/出力記憶手段(CC I/O RAMs)は、第二の構成(CC復号化)において、処理手段CCPRへ届けられ、CCPRによって送られる入力、出力データを記憶するために提供される。

0098

 最後に、適応可能記憶手段ADMMは、第一の構成(ターボ符号復号化)において、前記共通処理手段CCPRへ届けられ、CCPRによって送られる入力、出力データを記憶するために用いられる。また、第二の構成(畳み込み符号復号化)において、第二のトレリス(ここでは256状態)に関連し、前記共通処理手段CCPRによって送られる順方向状態メトリクスを記憶する。

0099

 制御手段CTRLMは、符号に従った第一または第二の構成において、前記共通処理手段CCPRを構成する。メモリ制御手段はCTMMは、前記共通処理手段CCPRの構成に依存して、前記適応可能記憶手段に別々なアドレスを指定する。

0100

 4.4 共通処理手段(CCPR)のアーキテクチャ
 図7は共通処理手段CCPRの内部構造をさらに詳細に示している。

0101

 処理手段CCPRは基本的に、3つの主要な計算ユニットを有する。すなわち、
  ・BMユニット:ブランチメトリクス(BM)を計算し、I/O RAMsとαRAMを制御する。

0102

  ・状態メトリクスユニット:8つの追加比較選択(ACS)ユニットと並行して、8つの状態メトリクスSMを計算する。

0103

  ・LLRユニット:パイプライン型手法でLLRを計算する。

0104

 4.5 畳み込み復号化用入出力記憶手段(CC I/O RAMs)
 入力RAMは、CC入力データに従った3個のRAM(G0−RAM、G1−RAM、G2−RAM)から構成される。出力RAMはCCLLR_RAMである。RAMのサイズは512*6ビットである。

0105

 4.6 ターボ復号化用メトリクス記憶手段(TCα−RAM)
 TC復号化用のα状態メトリクスRAMは、専用の64*88ビットRAM(αRAM)である。

0106

 4.7 適応可能記憶手段(ADMM)
 適応可能記憶手段ADMMは、ターボ符号復号化用入力、出力データを記憶するためか、又は畳み込み符号復号化において順方向状態メトリクスを記憶するためかのどちらにも用いられる。

0107

 そして、図8に示すように、これら適応可能記憶手段は、追加記憶手段Addと同様に大量の基本メモリを有する。

0108

 より詳細には、本発明において、ターボ符号復号化手段TCDCMは、b1ビット(b1=6)、N1シンボル(N1=5120)の連続シーケンスを受け取るよう適応される。第一の構成(ターボ復号化)において処理手段CCPRへ届けられ、CCPRによって送られる入力、出力データは、各受信シーケンスに向けに、b1ビット、N1ワードのg種類のブロックを有する。ここで、g=4として、g個のブロックは、
  ・系列入力データX、
  ・パリティ入力データY1、
  ・インターリーブ化パリティ入力データY2、
  ・復号化の判定(出力データ)、
となる。

0109

 畳み込み符号復号化の場合、適応可能記憶手段に記憶される順方向状態メトリクスは、b2ビット、N2ワード(N2=1728)のブロックである。b2はb1より大きい。一般に、N2とb2の積は、ウィンドウサイズWとトレリスの状態数と各状態のビット数との積と等しい。この場合、Wは畳み込み符号の場合は54で、ターボ符号の場合64である。状態数はターボ符号の場合8で、畳み込み符号の場合256である。そして、各状態のビット数は11である。

0110

 従って、N2は1728であり、b2は88となる。

0111

 このように、図8にしめすとおり、適応可能記憶手段ADMMの主記憶手段は、それぞれN1ワードのgブロックに専用の4組のp(p=3)基本メモリを有する。そして、各基本メモリはb1ビットのN2ワードを記憶するよう適応される。

0112

 追加メモリAddは16ビットの1728ワードを記憶するよう適応される。

0113

 そして、一般的に言って、メモリ制御手段CTMMは、第一の構成(ターボ符号復号化)において適応可能記憶手段ADMMに、6ビット、5120ワードの各ブロックが3個の基本メモリの専用グループから読み書きされるようにアドレスを指定する。

0114

 さらに、前記メモリ制御手段CTMMは、第二の構成(畳み込み符号復号化)において前記適応可能記憶手段ADMMに、前記順方向状態メトリクスの12の基本ワードが、同じアドレスで主記憶手段の12の基本メモリにそれぞれ記憶されるように、アドレスを指定する。また、順方向状態メトリクス追加基本ワード(16ビット)は、同じアドレスで追加記憶手段に記憶される。

0115

 言い換えれば、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復号化に充分なウィンドウサイズを得ることを可能にする。

0116

 図8に示すとおり、命名規則は以下の通りである:
   ・系列入力データはX_RAM1、X_RAM2、X_RAM3に記憶される。

0117

   ・パリティ入力データはY1_RAM1、Y1_RAM2、Y1_RAM3に記憶される。

0118

   ・インターリーブ化パリティ入力データはY2_RAM1、Y2_RAM2、Y2_RAM3に記憶される。

0119

   ・TC出力RAMはLLR_RAM1、LLR_RAM2、LLR_RAM3、である。

0120

   ・MSBは硬判定を表し、LSBは外部情報/LLR軟判定(実際の復号化進行に依存)を表す。これらの判定は、MAP1CRCがチェックした後、デコードを停止することを可能にする。

0121

 RAMが3つに分けれられるので、適切なアドレス変換がアドレス空間0〜5119を3つの0〜1727へ写像するよう行われる。この値は実現可能な最小のRAMに切り上げられる。実際必要なRAMのみが起動され、他のすべては選択されない。

0122

 4.8 ブランチメトリクスの計算
 共通処理手段は、第一、第二の構成において、対応するトレリスのブランチに関連するブランチメトリクスを計算するためのブランチメトリクスユニット(BM)を有する(2.16式参照)。

0123

 TC入力データサンプルのCTDデコーダへの転送は、以下のような順で行われる:

0124

Biはi番目符号ブロックにおけるビット数である。

0125

 テイルビットの記憶が考慮されなければならず、トレリス終了用の伝達ビットは以下のようになる:

0126

 パリティデータRAM、Y1とY2は逐次満たされていき、再帰的な3つのテイルビットは最後に追加される。系列データRAM、Xもまた逐次満たされ、ゆえに合計6つのテイルビットとなり、第一のエンコーダ用のテイルビットは最初に追加され、第二のエンコーダ用のテイルビットが従う。

0127

 CC復号化用の入力シーケンスは、より単純で、テイルシーケンスは一つだけである。テイルビットは再帰的RAMの最後に追加される。

0128

 ウィンドウイングスキーマの各ステップは、さらにサブステップに分けることができる。ブランチメトリクスの計算は、状態メトリクスの計算のための前提条件である。メモリ制御手段は、それゆえに、入力RAMに再帰的ブランチメトリクスを計算するようアドレスを指定する。上で提案された最適化MAP計算スキーマが用いられる。用いられた命名規則は、系列情報、パリティ情報のバイナリ表現に基づき、[系列情報/パリティ情報]∈{0,1}はそれぞれ[G0/G1]、[G0/G1/G2]と表す。X,Y,LLR、G0,G1,G2はこのRAMに記憶される個々のデータを表現している(たとえば、LLR-RAMの内容は外部情報である)。

0129

ターボ符号(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つのα状態メトリクスが全て記憶されるまで繰り返される。

0130

 ここから、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キャッシュの導入は、外部情報の並列の読み出し(ブランチメトリクス計算用)と書き込み(新たに計算された外部情報)を可能にする。

0131

 ベータ再帰の終了後、次の順方向再帰が第二のウィンドウで開始される。Alpha[4]の計算はブランチメトリクスbm[4]が必要である。ブランチメトリクスbm[4]は、ex4が必要で、ex4はベータ再帰の間LLR RAMに上書きされる。ゆえに、以前に記録されたex4が、ブランチメトリクスの計算に用いられる(ステップ8)。それから、順方向再帰はLLR RAMからex5を読み出し、ex5をLLRキャッシュにバッファリングし、alpha[4]をαRAMに記録するなど、ステップ1〜3に従って進行する。

0132

 逆方向/LLR演算の間、ブランチメトリクス計算用の「古い」外部情報は、キャッシュから読み出される。同時に「新しい」外部情報が書き込まれるからである。さらに、第一の計算記憶された「新しい」外部情報は、次の順方向再帰のため、まだ必要な値に上書きされる。前外部情報ex4は、レジスタにバッファリングされなければならない。

0133

 ゆえに、TCブランチメトリクスを計算するための外部情報は4つの異なるソースを備えることができる:
   ・LLR RAMからの外部情報
   ・LLRキャッシュからの外部情報
   ・llr_oldレジスタからの外部情報
   ・ごく初期のMAP1演算の間、ゼロにするための外部情報セット
CC復号化はインタラクティブではないので、つまりフィードバックループがないので、LLRキャッシュは必要ではない。

0134

 4.9 状態メトリクスの計算
 ここから、状態メトリクスの計算へ目を向けてみよう。共通処理手段CCPRは、構成可能状態メトリクスユニットSMを有する。

0135

 図7図10図11に示すように、構成可能メトリクスユニットSMは以下の要素を有する:
  ・各構成において、8つの順方向状態メトリクスを計算するための、8つの並列なACS(追加比較選択)ユニットのアーキテクチャ
  ・再帰計算のために、計算された順方向状態メトリクスを一時的に記憶するための、予備記憶手段(AXMM)
  ・前記共有処理手段の構成に依存して、前記予備記憶手段内のメトリクスの記憶を制御するための、予備制御手段
 4.10 ACSアーキテクチャ
 図10に示すACSアーキテクチャは、(2.13)式と(2.14)式に従い、ブランチメトリクスと前状態メトリクスから並列に8つの状態メトリクスを計算する。これは8つのACSユニットでモドミン(modmin)プロシージャ(MODMINブロックがmin*オペレータを実行する)に基づき行われる。

0136

 ACSアーキテクチャは、ターボ符号、畳み込み符号両方において、逆方向再帰と同様に順方向にも用いられる。異なるトレリス図のため、ブランチメトリクス(bmux)と状態メトリクス(smux)を受信するように柔軟性はマルチプレクサで達成される。これらマルチプレクサは、以後に説明するように、外部から制御される。

0137

 8個のACSユニットは、合計16個のブランチメトリクスと状態メトリクスが必要で、ゆえに16個のbmuxマルチプレクサが提供される。各bmuxマルチプレクサは8個のブランチメトリクスの中で選択することができる(符号化率1/3のCCは、計8個のブランチメトリクスが必要だから)。しかしながら、特定状態メトリクス分配(distribution)のおかげで、16ではなく12個のsmux状態メトリクスマルチプレクサが必要とされる。さらに、この状態メトリクス分配は2:1だけのsmuxマルチプレクサを導く。なぜなら、設定はCC順方向再帰/TC逆方向再帰において、またはCC逆方向再帰/TC順方向再帰においても有効である。計算された状態メトリクスの補助マルチプレクシングはない。順方向再帰の場合、新しい状態メトリクスは常に昇順である。

0138

 図10はACSアーキテクチャの一般的アーキテクチャを示している。Sm1からSm8は、1タイムステップでの8つの並列入力状態メトリクスであり、bm0からbm7は8より大きい個数の、別個のブランチメトリクスを示す。TC順方向/CC逆方向用のsmux設定は、太字で表される。このユニットの出力は、LLR計算用のllrメトリクス(ベータ状態メトリクスとブランチメトリクス)と同様の新しい状態メトリクスである。

0139

 状態メトリクスのマルチプレクシングスキーマは、入力状態メトリクスのsm1からsm8への割り当ての単純な例で示されるだろう:
 ターボ符号:

0140

 畳み込み符号:

0141

この割り当てを用いて、前述した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は、新たに計算した状態メトリクスにとって単純なレジスタバンクである。

0142

 CC復号化手段は同様にレジスタバンクを用い、また二組の補助メモリRAM1〜RAM4(図11)も以下に説明されるように用いられる。8状態は並列に計算される、ゆえに8状態メトリクスを読み書きしなければならない。読み書きスキーマはアドレス生成を単純化するようできるだけ規則的にすべきである。さらに、最適なデータ順序がデータ衝突を避けるために必要である。これは例えば以下に示すように順方向再帰で符号化率1/2であるトレリスダイアグラムの一部を見ることによって説明できる。

0143

 順方向再帰 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回のクロックサイクルをとる。

0144

 RAMアクセスシーケンスは以下のように与えられ、次に説明されるであろう。

0145

CC順方向再帰用RAMアクセスシーケンス:

0146

CC逆方向再帰用RAMアクセスシーケンス:

0147

 数字は状態メトリクス(0〜255)を指し、データワードは常に順次記憶される。

0148

 このアクセススキーマは、衝突のないデータアクセス保証する。さらに、アドレス指定はとても単純で、各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を生成するため用いられる。

0149

         →RAM1とRAM3のアルファ読み出し中に用いられる
         →RAM1とRAM3のベータ書き込み中に用いられる
 ACSアーキテクチャ内の単純なマルチプレクシングを維持するために、計算した状態メトリクスはRAM記憶の間、スワップされなければならない。以前に述べたように、ACSアーキテクチャの出力されるアルファ状態メトリクスは、常に昇順である。順方向再帰用のアクセススキーマを見るとき、(スワッピング開始でつけられた)順番に変わっていることがわかる。RAM1への128〜131の、RAM4への132〜135への書き込みの代わりに、読み出し順序のために、これらの値がスワップされなければならない。状態メトリクス128〜131はRAM3から読み出され、ゆえに次の順方向サイクルのためにRAM4に記憶されなければならない、ということに注意されたい。それゆえに、状態メトリクスベクターの44LSBと44MSBの間のスワッピングが行われる。同様に、スワッピングはベータ状態メトリクスにも行われ、常にRAM内で適切な順序を保証している。

0150

 状態メトリクスの初期化は、マルチプレクサによって制御される。ターボ符号の第一の順方向再帰ウィンドウで開始されたとき、トレリスの開始状態がわかり、ゆえにレジスタは「all512and0」にセットされる。この定数は、開始状態を0に、その他の7状態を512にセットする。値512が選択されるのは、ビット幅11の状態メトリクスのモジュロ表現にとって、最適な値だからである。次のウィンドウのための順方向初期化は、αRAMへ以前に計算して記憶したアルファ値である。トレリスの最終状態もわかり、ゆえに値「all512and0」が最終逆方向再帰ウィンドウの初期化のためにまた選択される。他のウィンドウは、獲得フェーズを経て開始ベータを得る。獲得フェーズ用の初期化は、「all512」である。この定数は、実際の状態が不明で、すべての状態を等しいと仮定するので、すべての状態が512にセットされる。

0151

 畳み込み符号の復号化のためのスキーマは、原則的には同様であるが、256状態が初期化されなければならない。並列に書き込みができるのは8状態だけなので、256状態は逐次的に初期化される。

0152

 TC復号化の場合、SMユニットへの出力はレジスタ1の中身である。これはまた、αRAMのソースでもある。

0153

 畳み込み符号を復号化する場合も、αRAMへの出力は常にレジスタ1の中身であるが、αRAM内のアルファ状態メトリクスの順序を維持するために、これらは順方向再帰スキーマの後半の間スワップされなければならない(上述)。SMユニットへの出力は、実際の読み出し順に応じて、RAM1/RAM3からでもRAM2/RAM4からでも良い。さらに、LLRを計算するためのベータ状態メトリクスが配布される。ベータ状態メトリクスの順序は、αRAM内のアルファ状態メトリクスの順序に等しいということに注意されたい。

0154

 4.11 マルチプレクサの制御
 状態メトリクスユニットのマルチプレクサは、特別な機械で制御される(簡略化のため明示しない)。

0155

 状態メトリクスマルチプレクサsmuxの制御は非常に単純である。設定は二通りだけで、TC順方向再帰/CC逆方向再帰用と、TC逆方向再帰/CC逆方向再帰用である。ブランチメトリクスマルチプレクサbmuxの制御はより複雑になり、FSMにおいて行われる。各シーケンス(32ステップ)は、実際のオペレーション(順方向再帰、または逆方向再帰)と同様、選択した符号化率に依存している。

0156

  ・CC 符号化率1/2 順方向再帰
    bmuxの設定は4種類で、A、B、C、Dと表す。

0157

    順方向シーケンスは:
    AABBCCDDAABBCCDDCCDDAABBCCDDAABB
  ・CC 符号化率1/2 逆方向再帰
    bmuxの設定は4種類で、A、B、C、Dと表す。

0158

    逆方向シーケンスは:
    AABBCCDDAABBCCDDBBAADDCCBBAADDCC
  ・CC 符号化率1/3 順方向再帰
    bmuxの設定は8種類で、A、B、C、D、E、F、G、Hと表す。

0159

    順方向シーケンスは:
    ABCDEFGHFEHGBADCHGFEDCBACDABGHEF
  ・CC 符号化率1/3 逆方向再帰
    bmuxの設定は8種類で、A、B、C、D、E、F、G、Hと表す。

0160

    逆方向シーケンスは:
    ABCDEFGHFEHGBADCDCBAHGFEGHEFCDAB
 4.12 LLRユニット
 LLRユニットはLLRを計算する(2.15式参照)。このユニットは、レジスタと3つのモドミン(modmin)ステージから成るTCデコーダ用パイプラインにおいて、図12に示すようにステージ1とステージ2の間で行われる。第一ステージへの入力は、αRAMからのアルファ状態メトリクスと、SMユニットからのllrsum(ブランチメトリクスとベータ状態メトリクスの和)の合計となる。この値はまた記録され、このようにパイプライン長は合計4となる。上部モドミンツリーは、入力「1」によって到達するすべての状態の最小値(LLR1)を計算し、下部モドミンツリーは、入力「0」によって到達する状態の最小値(LLR0)を計算する。

0161

 一旦LLR計算が開始すると、クロックサイクル毎に入力は新しい値になる。制御は非常に単純で、4ステージフリップフロップパイプラインを通じて、単純なデータ有効フラグのシフトにより行われる。

0162

 TC用LLR計算の部品は、畳み込み復号化用に再利用される。図12を参照されたい(入力値用のマルチプレクサと合計計算用の加算器は示されていない)。

0163

 より詳細には、図12に示すすべてのアーキテクチャはターボ復号化に用いられるのに対して、上部と下部のしか畳み込み符号復号化に用いられない。

0164

 畳み込み符号の符号化はNSCを用いて行われるので、入力「0」と「1」は状態数を決定する。

0165

 それゆえに、ブランチメトリクスは必要ではなく、第一のステージにおいて4つのモドミンユニットだけまで、計算を単純化できる。上部2つのモドミンユニットは入力「1」(1状態(onestate))によって到達した4状態メトリクスの合計の最小値を計算し、下部2つのユニットは入力「0」(0状態(zerostate))による最小値を計算する。それゆえに入力は、αRAMからのアルファ状態メトリクスとAXMMメモリからのベータメトリクスである。

0166

 256状態すべてを一度に計算できないので、最適な最小値を決定するループバックが必要である。これはターボ符号デコーダ部と比較し、ステージ2の後に位置する、追加ハードウェアである。制御は実に単純で、FSMで実現される。最も良く表現されるのは、1状態(onestate)のためのフィードバックユニットを見たときである。第一の最小値は下部レジスタへ記憶され、第二の最小値は上部レジスタへ記憶される。全ての次の最小値は下部レジスタへ記憶され、結果の最小値は常に上部レジスタへ記憶される。llr_validフラグもまた、FSMによって生成される。

0167

 4.13 CRCチェックユニット
 本発明に準拠したデコーダは、パラメータcrclengthとcrcpoly(図13参照)に依存するCRCレジスタを実現する特定ユニットも有する。CRCレジスタはMAP1オペレーションの間にCRCチェックを実行するために用いられる。MAP2オペレーション中のCRCチェックは、インターリーブ化のため不可能である。CRC加算(sum)は、逆の順序で符号化の間データブロックに付けられる。それゆえに次に示すステップが行われる:
 ・復号化したビットのCRC加算が、ブロック長-crclengthビットをCRCレジスタへシフトすることにより行われる。

0168

 ・CRCレジスタの内容が、そのときcrclengthの復号化したビットと比較される。等価なら、CRCチェックはポジティブとなる。

0169

 これらのステップはCRC制御状態機械で実施される。さらに、いくつかの考察(consideration)が行われなければならない:LLRは逆の順序でウィンドウのように計算される、最大ウィンドウサイズはTCウィンドウサイズ64である。それゆえにこれらのLLRビットは、逆方向再帰/LLR計算の間64ビットバッファ(dbuffer)に記憶されなければならない。これらのビットは、アルファ再帰とベータ獲得の間、CRCレジスタにシフトされる。各終了ウィンドウは、crc_w_finished信号(図14)で通知される。メモリ制御はベータ再帰を開始する(ビット数が64より小さい場合、予想される衝突は最終ウィンドウの間にのみ発生しうる。そして、アルファ計算のための時間はバッファからの64ビットすべてをCRCレジスタにシフトするほど充分長くない。)。

0170

 さらに、このユニットは、アンデコーダブル(undecodable)ブロックの反復キャンセル制御(iteration cancellation control)のためにLLR-sumsを計算する。停止基準は、連続のMAP1とMAP2オペレーションの間のデルタに基づいている。デルタが負ならば、このブロックはアンデコーダブルと記録される(デルタ失敗信号)。

0171

 入力CRCデータのバッファリングとCRCレジスタのシフトはMAP1オペレーションの間とcrc_lengthがゼロ以外の場合のみ行われる。

0172

 CRCはMAP1オペレーションに並列にチェックされる。事前に不明なので、ブロックが正確に復号化されるならば、デコーダはLLRの中から外部情報を計算し(2.2式参照)、ブロックがエラーのない状態ではないならばさらに復号化を可能とするためにLLR RAMに記憶する。こうして、ブロックが正確ならば、MAP1の後デコーダは決定されるが、LLRはそのとき上書きされる。それゆえに、追加ビットは同様に硬判定(LLRのMSB)を記憶するために導入される。これは、デコーダが、正常なCRC基準によりMAP1後に停止し、外部情報とともにLLRの硬判定をフラッシュする(flush)ことを可能にする。

0173

 4.14 大域制御ユニット
 最後に、本発明に準拠する複合型デコーダは、MAPレベルで復号化プロセスを制御する大域制御ユニットを有する。TC復号化は反復問題で行われるので、反復の回数は実際の復号化状態に依存する。それゆえに、各MAPオペレーションの後、停止基準がチェックされる。この停止基準は、選択した合計反復数の半分でも、正確に検出したCRC-sum(MAP1後のみ)でも、平均値基準に基づいたアンデコーダブルブロック初期検知でも良い。TC用の特別の復号化ステップが、図15に示されている。CC復号化の場合、必要なMAP1オペレーションは1つだけである。

0174

 さらに、大域制御ユニットは、ハンドシェイクモードを制御する。このハンドシェイクモードは復号化ステップの段階的実行オンデマンドメモリフラッシュを可能にする。

0175

5.発明の利点
 本発明に準拠した複合型デコーダは特に以下の利点を提供する:
  ・使用されるMAPユニットは一つだけである。ゆえに、MAP1とMAP2オペレーションは、同じMAPユニットで連続的に行われる。

0176

  ・スライディングウィンドウアプローチは、アルファ状態メトリクスRAMのサイズを減らすために用いられる。TC用ウィンドウサイズは64である。

0177

  ・TCの8状態すべてが並列に計算される。ゆえに、再帰計算中各タイムステップで、新たな8状態メトリクスが計算される。

0178

  ・順方向、逆方向獲得と逆方向再帰は、同じ状態メトリクスユニット上で連続的に行われる。

0179

  ・逆方向再帰の間、LLR/外部情報は並列に計算される。ゆえに、(2.14式と2.15式のように)ベータ状態メトリクスを記憶する必要がない。

0180

  ・インタラクティブTC復号化は、外部情報のインターリーブ化とデインターリーブ化が必要である。これはインターリーバとデインターリーバパターン用の二つのRAMと同様に、LLR用の二つのRAM(インターリーブ、デインターリーブ)へ導く。UMTSのために、インターリーバ/デインターリーバテーブルは「読取りアドレス」として規定される。ブランチメトリクスの計算には、系列、パリティ、外部(事前)情報が必要である。だからMAP1オペレーションの間、系列化とパリティ1情報を連続的に読み込み、外部情報はデインターリーブされて読み込まれる。計算した新しい外部情報は、RAM2に連続的に記憶される。MAP2オペレーションは、系列情報、インターリーブされた外部情報、パリティ2情報を連続して読み込み、新たに計算した外部情報を連続して記憶する。これは外部用(LLR)の二つのRAMとインターリーブ/デインターリーブパターン用の二つのRAMに導く。

0181

 しかしながら、インターリーバテーブルのみが用いられ、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ビットだけである。

0182

  ・インタリーバパターン発生は復号化手段の外部で行われる。復号化手段にとって、インタリーバRAMは単なる外部RAMである。

0183

  ・対数MAP、あるいは最大対数MAPが選択可能である;min*関数が用いられる。

0184

本発明の変形可能性
 これまで述べた実施形態において、メトリクス記憶手段は、ターボ復号化の間引き渡される順方向状態メトリクスを記憶するために用いられていた。また、適応可能記憶手段は、畳み込み復号化の間引き渡される順方向状態メトリクスを記憶するために用いられていた。しかし、これらのメモリは同様に逆方向状態メトリクスを記憶するよう使用可能である。これは、選択したウィンドウイングの方向にのみ依存する。より詳細には、逆方向再帰を行うことで、ブロックの最後からウィンドウイングを開始し、逆方向状態メトリクスを記憶し、それから順方向/LLRを一緒に行うことが可能である。

0185

 さらに、あらゆる種類のSISOデコーダを使用しても良い。換言すれば、本発明は基本的なデコーダの起こりうるすべてのSISO実装をカバーし、MAPアルゴリズムやその部分最適化バージョン(対数MAP、最大対数MAP)には限定されない。

0186

 最後に、本発明に準拠した複合型デコーダは、無線通信システムの基地局において組み込むことが可能である。

図面の簡単な説明

0187

畳み込み符号化のためのUMTSに用いられる二つの異なるNSCの構造を示す図。
一回のステップにおいて可能な遷移を表すトレリスの一部を示す図。
UMTSターボ符号エンコーダを示す図。
一般的なターボ符号デコーダを示す図。
本発明に準じた複合型デコーダを含む携帯電話受信チェーンを示す図。
本発明に準じた複合型デコーダの内部構造を示す図。
本発明に準じた複合型デコーダの一部をより詳細に示す図。
本発明に準じた複合型デコーダに属する適応可能メモリをより詳細に示す図。
ウィンドウイングスキーマの間の読み書きアクセスの一例を示す図。
ACSユニット構造を示す図。
ACS更新ユニットの構造を示す図。
本発明に準じた複合型デコーダに属するLLRユニットを示す図。
本発明に準じた複合型デコーダのCRCチェック構造を示す図
本発明に準じたCRC処理スキーマを示す図。
本発明に準じたターボ符号復号化の汎用制御ステップを示す図。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ