JP5479580B2 - Lteにおける並列turboデコーディングの方法及び装置 - Google Patents
Lteにおける並列turboデコーディングの方法及び装置 Download PDFInfo
- Publication number
- JP5479580B2 JP5479580B2 JP2012511116A JP2012511116A JP5479580B2 JP 5479580 B2 JP5479580 B2 JP 5479580B2 JP 2012511116 A JP2012511116 A JP 2012511116A JP 2012511116 A JP2012511116 A JP 2012511116A JP 5479580 B2 JP5479580 B2 JP 5479580B2
- Authority
- JP
- Japan
- Prior art keywords
- decoding
- calculation
- sliding window
- memory
- sub
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 112
- 238000004364 calculation method Methods 0.000 claims description 269
- 230000015654 memory Effects 0.000 claims description 241
- 238000012545 processing Methods 0.000 claims description 87
- 230000008569 process Effects 0.000 claims description 81
- 239000013598 vector Substances 0.000 claims description 68
- 238000004422 calculation algorithm Methods 0.000 claims description 41
- 230000002441 reversible effect Effects 0.000 claims description 18
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 238000012804 iterative process Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 2
- 102100026190 Class E basic helix-loop-helix protein 41 Human genes 0.000 description 25
- 101000765033 Homo sapiens Class E basic helix-loop-helix protein 41 Proteins 0.000 description 25
- 102100026191 Class E basic helix-loop-helix protein 40 Human genes 0.000 description 20
- 101710130550 Class E basic helix-loop-helix protein 40 Proteins 0.000 description 20
- 238000010586 diagram Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 9
- 230000007704 transition Effects 0.000 description 6
- 101000979001 Homo sapiens Methionine aminopeptidase 2 Proteins 0.000 description 2
- 101000969087 Homo sapiens Microtubule-associated protein 2 Proteins 0.000 description 2
- 101000969594 Homo sapiens Modulator of apoptosis 1 Proteins 0.000 description 2
- 102100021118 Microtubule-associated protein 2 Human genes 0.000 description 2
- 102100021440 Modulator of apoptosis 1 Human genes 0.000 description 2
- 101150045592 RSC1 gene Proteins 0.000 description 2
- 101100094096 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RSC2 gene Proteins 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3972—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6525—3GPP LTE including E-UTRA
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6561—Parallelized implementations
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
、即ち、最終のデコーディングビットを取得することができる。
に転化され、
を上記の一般式で再帰演算すると、相応の対数尤度比を以下のように算出することができ、
そのうちの複数の符号が以下のように表し、
: k時刻のエンコーダ入力ビット:
を表す。
:K時刻のレジスタ状態を指す。現在の状態が
であり、入力ビットが
であり、レジスタ状態がSk+lに転移される。
前記入力記憶モジュールは、制御モジュールの制御によって、入力のデコーディング待ちフレームに対してブロック分割を行って、それぞれが各のサブブロックを記憶してシステム軟ビットとすること、入力したチェック軟ビットを記憶すること、処理ユニットが出力した先験情報を受信し記憶すること、一回のコンポーネントデコーディングの過程に処理ユニットの計算に必要の先験情報、システム軟ビット及びチェック軟ビットを出力することという操作を完成することに用いられ、
前記処理モジュールは、一つのデコーディング待ちフレームの複数のサブブロックに対して同時に一回のコンポーネントデコーディングを行って、一回のコンポーネントデコーディングの過程に、スライディングウィンドウアルゴリズムに従って各のサブブロックを複数のスライディングウィンドウに分け、システム軟ビット、チェック軟ビット及び先験情報によって、ブランチメトリックγ、順方向状態ベクトルα、逆方向状態ベクトルβ、対数尤度比LLR、先験情報というパラメータの計算を行って、先験情報を前記入力記憶モジュールに出力して記憶し、数回のコンポーネントデコーディングした後、一回の反復過程を完成し、対数尤度比LLRを出力モジュールに出力することに用いられ、
前記制御モジュールは、各のモジュールの操作を制御及び協調し、処理モジュールのコンポーネントデコーディング過程と反復過程における制御信号を生成し、入力記憶モジュール制御信号と出力モジュール制御信号を生成し、及び、出力モジュールのフィードバック信号によって入力記憶モジュール及び処理モジュールが続けて反復デコーディング過程を行って、または反復デコーディング過程を停止することをイネーブルすることに用いられ、
前記出力モジュールは、対数尤度比LLRに対して硬判定を行って、硬判定の結果が反復カットオフ条件を満たすかどうかを判断し、制御モジュールへフィードバック信号を出力し、且つ計算結果がカットオフ条件を満たす際、デコーディング反復計算結果をデコーディング結果として出力することに用いられる。
該入力メモリ制御器ユニットは、各のメモリの読み書き制御信号を生成し、制御モジュールが確定されたサブブロック数によってデコーディング待ちデータフレームをブロック分割した後、システム軟ビットメモリユニットに記憶することに用いられ、
チェック軟ビットメモリユニットは、入力したチェック軟ビットを記憶し、第1チェック軟ビットメモリ、第2チェック軟ビットメモリ及び第1マルチプレクサを含み、第1該チェック軟ビットメモリは、第1チェック軟ビットを第1マルチプレクサの1つの入力端に出力し、該第2チェック軟ビットメモリは、第2チェック軟ビットを第1マルチプレクサのもう1つの入力端に出力し、第1マルチプレクサの制御端が制御モジュールに接続し、第1マルチプレクサは、制御モジュールの制御信号によって第1回コンポーネントデコーディング及び第2回コンポーネントデコーディング演算の際、それぞれ第1チェック軟ビット、第2チェック軟ビットを選択して入力データとすることを制御することに用いられ、
システム軟ビットメモリユニットは、それぞれ入力した分割されたデコーディング待ちフレームの各のサブブロックを記憶することに用いられ、システム軟ビットメモリ、第1インターリーバ及び第2マルチプレクサを含み、該システム軟ビット軟メモリは、2つの出力端を有し、1つの出力端がデータを直接に第2マルチプレクサの1つの入力端に出力し、もう1つの出力端がデータを出力して第1インターリーバによってインターリーブした後、第2マルチプレクサのもう1つの入力端に入力し、第2マルチプレクサの制御端が制御モジュールに接続し、該第2マルチプレクサは、制御モジュールの制御信号によって第1回のコンポーネントのデコーディング際に処理モジュールへシステム軟ビットを出力し、第2回のコンポーネントのデコーディング際に処理モジュールへインターリーブされた後のシステム軟ビットを出力することに用いられ、
先験情報メモリユニットは、それぞれ数回のコンポーネントデコーディングの結果を記憶することに用いられ、第1先験情報メモリ、第2先験情報メモリ、第1インターリーバ及び第3マルチプレクサを含み、該第1先験情報メモリが出力した第1先験情報がインターリーバによってインターリーブした後、第3マルチプレクサの1つの入力端に入力し、該第2先験情報メモリが第2先験情報を第3マルチプレクサのもう1つの入力端に出力し、第3マルチプレクサの制御端が制御モジュールに接続し、該第3マルチプレクサは、制御モジュールの制御信号によって処理モジュールへ第2先験情報及びインターリーブした後の第1先験情報を選択して出力する。
第1γ計算ユニットがβ計算ためのブランチメトリック計算を行って、計算して得られた逆方向用ブランチメトリックをβ計算ユニットに入力し、第2γ計算ユニットがα計算ためのブランチメトリック計算を行って、計算して得られた順方向用ブランチメトリックをα計算ユニットに入力し、β計算ユニットが逆方向状態ベクトルβを計算することに用いられ、βメモリが計算して得られたβを記憶することに用いられ、α計算ユニットが順方向状態ベクトルαを計算することに用いられ、LLR計算ユニットが対数尤度比及び先験情報を計算することに用いられる。
入力したチェック軟ビット及びデコーディング待ちフレームを記憶し、デコーディング待ちフレームを記憶する際、前記デコーディング待ちフレームをブロック分割し、それぞれ各のサブブロックを記憶してシステム軟ビットとし、一個のデコーディング待ちフレームの複数のサブブロックに対して同時に一回のコンポーネントデコーディングを行って、一回のコンポーネントデコーディングの過程に、スライディングウィンドウアルゴリズムによって各のサブブロックを複数のスライディングウィンドウに分けて、システム軟ビット、チェック軟ビット及び先験情報によってブランチメトリックγ、順方向状態ベクトルα、逆方向状態ベクトルβ、対数尤度比LLR、先験情報というパラメータの計算を行って、先験情報を記憶して、次回のコンポーネントデコーディング際に使用し、数回のコンポーネントデコーディングを行った後、一回のデコーディング過程を完成し、対数尤度比LLRに対して硬判定を行って、硬判定結果が反復カットオフ条件を満たすかどうかを判断し、満たすと、デコーディング結果を出力し、そうしないと、続けて次回の反復デコーディング過程を行うことを含む。
第1個のスライディングウィンドウの逆方向状態ベクトルβを計算する際、0を初期値としてL回の再帰した後のβ値を計算し、該β値を初期値としてD回の再帰計算を行って、順次D個のβ値を得て、第1個のスライディングウィンドウのβ値として、最後の1つのスライディングウィンドウの逆方向状態ベクトルβを計算する際、該スライディングウィンドウが存在するサブブロックが最後の1つのサブブロックであると、初期値が0であることでD回の再帰計算を行って該最後の1つのスライディングウィンドウのβ値を得て、該スライディングウィンドウが存在したサブブロックが最後のサブブロックでないと、先にを行ってL回の再帰した後のβ値を計算し、さらに、該β値を初期値としてD回の再帰計算を行って該最後の1つのスライディングウィンドウのβ値を得て、第1個のスライディングウィンドウの順方向状態ベクトルαを計算する際、該スライディングウィンドウが存在したサブブロックが第1個のサブブロックであると、0を初期値としてD回の再帰計算を行って該第1個のスライディングウィンドウのα値を得て、該スライディングウィンドウが存在したサブブロックが第1個のサブブロックでないと、先に初期値が0であることでL回の再帰後のα値を計算し、さらに、該α値を初期値としてD回の再帰計算を行って該第1個のスライディングウィンドウのα値を得て、最後の1つのスライディングウィンドウの順方向状態ベクトルαを計算する際、0を初期値としてL回の再帰後のα値を計算し、該α値を初期値としてD回の再帰計算を行って、順次D個のα値を得て、第1個のスライディングウィンドウのα値とし、そのうち、1≦L≦Dである。
1、大いに単一のコードブロックの処理時間を減らすし、即ち、大幅にデコーダのリアルタイム処理能力を向上させるし、デコーディング遅延を下げるし、
2、メモリ全体の消耗を減らすし、それをデコーディング待ちデータブロックの長さの増加に従って増やさせなく、
3、ハードウエアの実現が容易である(例えばFPGA、ASIC)高速のTurboデコーダ、
4、高スループットレートを実現するTurboデコーダが、LTEシステムの性能要求を満たすし、
5、ハードウエア複用、並列処理及びパイプライン処理等の技術を総合的に応用し、それぞれハードウエア資源消耗の減少、処理遅延の減少等の有益効果をもたらす。
そのため、本発明は、自己適応の段分割並列スライディングウィンドウlog-MAPアルゴリズムを用いてTurboデコーディングする方法を提供する。
入力記憶モジュールは、制御モジュールの制御によって、入力したデコーディング待ちフレームをブロック分割し、システム軟ビットとしてそれぞれのサブブロックをそれぞれ記憶すること、入力したチェック軟ビットを記憶すること、処理ユニットが出力した先験情報を受信して記憶し、次回のコンポーネントデコーディング際、処理ユニットに出力すること、1回のコンポーネントデコーディングの過程中に、出力処理ユニットが必要な先験情報、システム軟ビット及びチェック軟ビットを計算することという操作を完成することに用いられ、
処理モジュールは、1つのデコーディング待ちフレームの複数個のブロック分割を同時に1回のコンポーネントデコーディングし、1回のコンポーネントデコーディングの過程中に、スライディングウィンドウアルゴリズムに従ってそれぞれのサブブロックを複数のスライディングウィンドウに分け、システム軟ビット、チェック軟ビット及び先験情報によってブランチメトリックγ、順方向状態ベクトルα、逆方向状態ベクトルβ、対数尤度比LLR、先験情報というパラメータを計算し、先験情報を前記入力記憶モジュールに出力して記憶し、数回のコンポーネントデコーディング後1回の反復過程を完成し、対数尤度比LLRを出力モジュールに発送し、例えば、1回の反復過程は2回以上のコンポーネントデコーディングを含むと、該処理モジュールは時分割で少なくとも2回のコンポーネントデコーディングを完成することができる。その中、1回の反復過程中の第1回のコンポーネントデコーディングは入力記憶モジュールが入力したシステム軟ビット、第2先験情報(即ち前回の反復過程中に最終回のコンポーネントデコーディングの結果)及び第1チェック軟ビットによって行い、第2回コンポーネントデコーディングは入力記憶モジュールが入力したシステム軟ビット、第1先験情報(即ち第1回のコンポーネントデコーディングで、つまり、前回のコンポーネントデコーディングの結果)及び第2チェック軟ビットによって行い、
制御モジュールは、各のモジュールの間の操作を制御及び協調し、処理モジュールのコンポーネントデコーディング過程、反復過程における制御信号を生成し、入力記憶モジュール制御信号、出力モジュール制御信号を生成し、及び、出力モジュールのフィードバック信号によって入力記憶モジュール及び処理モジュールが続けてデコーディング過程を行って、またはデコーディング過程を停止することをイネーブルすることに用いられ、
出力モジュールは、対数尤度比LLRに対して硬判定を行って、硬判定の結果が反復カットオフ条件を満たすかどうかを判断し、制御モジュールへフィードバック信号を出力し、且つ計算結果がカットオフ条件を満たす際、デコーディング反復計算結果をデコーディング結果として出力することに用いられる。
入力記憶モジュールは、入力メモリ制御器ユニット、先験情報メモリユニット、システム軟ビットメモリユニット及びチェック軟ビットメモリユニットを含み、そのうち、
先験情報メモリユニットは、それぞれ数回のコンポーネントデコーディングの結果を記憶することに用いられ、図3に示すように、さらに先験情報メモリ1、先験情報メモリ2、インターリーバ1及びマルチプレクサ3を含み、該先験情報メモリ1が出力した第1先験情報がインターリーバによってインターリーブしてマルチプレクサ3の1つの入力端に入力し、該先験情報メモリ2が第2先験情報をマルチプレクサ3のもう1つの入力端に出力し、マルチプレクサ3の制御端が制御モジュールに接続する。該先験情報メモリ1は、第1回のコンポーネントデコーディングDEC1のコンポーネントデコーディング結果−−第1先験情報を記憶し、及び第2回のコンポーネントデコーディングDEC2演算の際インターリーブした後の第1先験情報を出力することに用いられ、該先験情報メモリ2は、第2回のコンポーネントデコーディングDEC2のコンポーネントデコーディング結果−−第2先験情報を記憶し、及び、第1回のコンポーネントデコーディングDEC1演算の際、第2先験情報(即ち、前1回のコンポーネントデコーディングの結果)を出力することに用いられ、該マルチプレクサ3は、制御モジュールの制御信号によって処理モジュールへ第2先験情報(第1回のコンポーネントデコーディングDEC1演算の際)及びインターリーブした後の第1先験情報(第2回のコンポーネントデコーディングDEC2演算の際)を選択して出力することに用いられる。
即ち、図3における並列デコーディング総制御器であり、処理モジュールのデコーディングの制御信号を生成することに用いられ、該制御信号は、主に、処理モジュールの実施のタイミング(例えば順、逆方向状態ベクトル計算イネーブル信号、LLR計算イネーブル信号等)を制御することに用いられ、入力メモリ制御器ユニットの制御信号(如ピンポン操作制御等)を生成し、及びメモリ制御器ユニットの制御信号を出力して、それぞれ入力記憶モジュール及び出力モジュールに送信することに用いられ、及び、各マルチプレクサの制御信号を生成することに用いられ、さらに、出力モジュールにおける反復カットオフ判断ユニットのフィードバック信号によってデコーダ反復イネーブル信号を生成することに用いられ、該信号が全体のデコーディング演算を続けて行うかどうかの制御信号であり、制御モジュールがほかの上記制御信号を生成する総イネーブル信号である。反復カットオフ判断ユニットがフィードバックしたデコーディング結果がカットオフ条件を満たすフィードバック信号を受信する際、制御モジュールが出力モジュールを制御してデコーディング結果を出力し、且つ入力記憶モジュール、処理モジュールへ処理停止の信号を送信し、Turboデコーディングの反復計算が終わり、即ちMAPデコーディングの演算が終わり、反復カットオフ判断ユニットがフィードバックしたデコーディング結果は、カットオフ条件を満たさないフィードバック信号を受信する際、制御モジュールが処理モジュールを制御して処理結果を入力記憶モジュールにフィードバックして、続けてデコーディングの反復計算を行う。
処理モジュールは、並列処理MAPユニット、マルチプレクサ4及びインターリーバ2を含み、そのうち、並列処理MAPユニットは入力記憶モジュールが出力したデータ(先験情報、システム軟ビット及びチェック軟ビットを含み)を受信し、時分割で二回のコンポーネントデコーディング処理、反復処理を行った後、デコーディング過程を完成し、デコーディング結果(第1先験情報及び第2先験情報を含み)をマルチプレクサ4の入力端に出力する。マルチプレクサ4の制御端が制御モジュールに接続する。マルチプレクサ4が制御モジュールの制御信号によって第1回のコンポーネントデコーディングDEC1及び第2回のコンポーネントデコーディングDEC2演算の際、それぞれ直接に第1先験情報を出力し、及び第2先験情報インターリーブして出力することを選択して制御する、即ち、第1回のコンポーネントデコーディングDEC1演算の際、マルチプレクサ4が第1先験情報を先験情報メモリ1に出力し、第2回のコンポーネントデコーディングDEC2演算の際、第2先験情報をインターリーバ2に出力し、インターリーバ2が、インターリーブした第2先験情報の1パスを先験情報メモリ2に出力し、もう1つのパスを出力モジュールにおける硬判定ユニットに出力する。
γ計算ユニット1がβ計算ためのブランチメトリック計算を行って、計算した後得られた逆方向用ブランチメトリックをβ計算ユニットに入力し、γ計算ユニット2がα計算ためのブランチメトリック計算を行って、且つ計算した後得られた順方向用ブランチメトリックをα計算ユニットに入力し、β計算ユニットが逆方向状態ベクトルβを計算することに用いられ、βメモリが計算して得られたβを記憶することに用いられ、該メモリの深度がスライディングウィンドウの長さパラメータの1つのDに等しいし、メモリのビット幅がβ計算結果のビット幅に等しいし、βデータメモリの設計が二重ポートRAMを採用してこれを構成する、それぞれのβデータメモリが8つのサブメモリからなり、これにより、8つの状態量の並列計算を支持し、α計算ユニットが順方向状態ベクトルαを計算することに用いられ、LLR計算ユニットが、対数尤度比及び先験情報(そのうち、第1先験情報及び第2先験情報を含む)を計算することに用いられる。
LLR計算が以下数式で得られ、
LLR計算が、現在のスライディングウィンドウの第1個のα値が計算された後、計算し始め、即ち、α計算よりも1つのクロックサイクル遅延して始まる。上記の数式で分かるようにLLR計算過程が以下のようである。
出力モジュールは、硬判定ユニット、反復カットオフ判断ユニット及び出力メモリ制御器ユニットを含み、硬判定ユニットは、処理モジュールが出力した第2先験情報を受信し、それぞれを反復カットオフ判断ユニット及び出力メモリ制御器ユニットに送信し、該反復カットオフ判断ユニットは、硬判定結果がカットオフ条件を満たすかどうかを判断し、制御モジュールへ条件を満たすフィードバック信号または条件を満たさないフィードバック信号を出力し、カットオフ条件を満たす時、制御モジュールが該出力メモリ制御器ユニットへ出力信号を送信し、該出力メモリ制御器ユニットによってデコーディング結果を出力する。
1、現在のデコーダの作業状況を判断する際、入力メモリ(システム軟ビットメモリ、チェック軟ビットメモリ1、2を含み)新しいコードブロック入力を受信することができると、新しいコードブロックを入力し、新しいコードブロックが完全に入力メモリに書き込みされた後、相応のコードブロック有効信号を配置し、デコーディングを待ち。ピンポン操作を支持するので、最多に同時に2つの異なるコードブロックのデータを記憶することができ、
2、現在、並列MAP処理ユニットの作業状況を判断し、アイドル且つデコーディング待ちデータブロックが有効であると、デコーディング過程を起動し、
3、デコーディング総制御器がデコーディング待ちデータブロックの相応のコードブロック長さ、設定した反復回数等の情報によって、デコーディング制御信号を生成し、相応のMAP計算ユニット及び相応のデータメモリをアクティブにするし、
4、第1回の反復過程における第1回のコンポーネントデコーディングDEC1演算は、直接に先験情報メモリ2、システム軟ビットメモリ、チェック軟ビットメモリ1を読み取り、そのうち、第1回の反復過程における第1回のコンポーネントデコーディングDEC1計算際、第2先験情報が0であり、MAP計算ユニットの作業過程に従って、MAP計算を行なって、得られた結果を、先験情報メモリ1に記憶し、
5、第1回の反復過程における第2回のコンポーネントデコーディングDEC2演算は、システム軟ビットメモリ、先験情報メモリ1をインターリーブ読み取り、直接にチェック軟ビットメモリ2を読み取り、MAP計算ユニットの作業過程に従って、MAP計算を行なって、得られた結果を先験情報メモリ2にインターリーブ書き込みし、且つ結果を硬判定モジュールに送信し、
6、硬判定モジュールが硬判定を行なって、結果を反復カットオフ判断ユニットに書き込み、
7、反復カットオフ判断ユニットは、硬判定結果によってカットオフ条件を満たすかどうかを判断し、満たすと、ステップ8を実施し、でないと、続けて第2回の反復を行なって、第4、5ステップを繰り返し、
設定された反復回数に達すこと、デコーディングした後のコードブロックデータのCRC(巡回冗長検査)計算結果が正確であることを判断することという条件のいずれに満たすと、カットオフ条件を満たすことを考え、反復をカットオフし、
8、現在のコードブロックのTurboデコーディングが終わって、並列MAP計算ユニットがアイドルに設置し、入力メモリに新しいデコーディング待ちブロックが有効であるかどうかを判断し、であると、新しいコードブロックのデコーディング過程を起動し、でないと、待ち。
具体的に実現する際、LTEにコードブロック(デコーディング待ちフレーム)の長さが40から6144までであり、コードブロックの長さの差が大きいであるので、デコーディング遅延の差も大きく、コードブロック長さが大きいコードブロックに対して、その並列デコーディングのニーズは、コードブロック長さが小さいコードブロックよりも大きい。従って、本発明の設計には異なるコードブロック長さに対して異なる並列処理策略を採用することを十分に考え、即ち、コードブロック長さによって自己適応したNの大きさを選択する。例えば、長さK<=512である際、N=lであり、512<K<=1024である際、N=2であり、1024<K<=2048である際、N=4であり、2048<K<=6144である際、N=8であり、そのうち、Kは、コードブロック長さを表わす。
t=lと仮定し、先にβ初期値を計算し、デコーディング待ちデータフレームをN等分した後、それぞれのデータブロックの長さが設定したウィンドウの長さD+Lよりも小さいであると、該データブロックには1つのスライディングウィンドウだけを含み、初期値が0であり、順次逆方向反復してデータブロック全体のβ値を計算し、でないと、デコーディング器ウィンドウの長さがD+Lに等しい際に、βkを計算し始め、このとき、
が完全に未知であり、この条件が、k+l時刻で、エンコーダがいずれの状態にあることに相当するので、
を、
を計算する再帰初期量とする。そして、L回の
の再帰計算を行なって、このL個の
の信頼度が恐らくあまり高くないので、
(先験情報)を計算することに用いることができない。L回の再帰計算した後、
の信頼度がもう高いレベルに次第に増加して、D時刻の
を計算することに用いることができ、だがら、k=Dからk=lまでの時間範囲のすべての
値が、再帰計算して得られる。k=D+Lからk=Dまでの範囲内、
の計算過程が逆方向の設立過程であり、これは、ブロック内のスライディングウィンドウ法の応用である。計算過程中にただD長さ部分のβ値だけを記憶し、即ち、k=Dからk=lまでの時間範囲のすべての
値である。これらの値をβデータメモリに記憶する。N個のデータブロックが並列計算し、同じ計算過程を実施する。
第1個のウィンドウ(t=l)のα値は、第1個のデータブロックの第1個のウィンドウであると、初期値が0であると仮定し、k=lからk=Dまでの長さのαkを再帰計算し、そうしないと(第N個のブロックの第1個のウィンドウ、N>l)、他の並列計算のデータブロックの第1個のウィンドウのαkの計算初期値が0を取ることができなく、即ち、先に0時刻に用いるα0(S0)を計算し、該初期値は、前のデータブロックのテイルL長さデータを計算することによって得られ、
をαkを計算する再帰初期量とする。そして、L回のαk再帰計算を行って、L回の再帰計算を経た後、前の一つのデータブロックの最後の1つのデータの
の信頼度がもう高いレベルに次第に増加し、次の一つのデータブロック0時刻のa0(S0)を計算することに用いられ、これは、フレーム内のスライディングウィンドウ法の応用である。N個のデータブロックが並列計算して、初期値の計算過程が異なっていることのほかに、同じ計算過程を実施する。
中間ウィンドウの逆方向状態ベクトルβの計算と第1個のウィンドウのアルゴリズムが同じであり、先にL回の
再帰計算を行なって、すなわち、k=D+Lからk=Dまでの範囲内に
計算を行なって、D+l時刻の
値を得て、D長さ
の再帰計算の初期値とする。そして、k=Dからk=lまでの時間範囲のすべての
の再帰計算を行なって、D長さの
値を記憶する。N個のデータブロックが並列計算し、同じ計算過程を実施する。
中間ウィンドウの順方向状態ベクトルは、ブロック内のスライディングウィンドウ法によって計算を行なって、前の1つのウィンドウの最後の1つのデータのα値が現在のウィンドウαk計算の初期値とし、即ち、t-l個のウィンドウのαD(SD)値が、第t個のウィンドウのα0(S0)を計算する初期値とする。順次D回の再帰計算を実施し、即ち、k=lからk=Dまでの範囲内のαkの計算である。N個のデータブロックが並列計算して、同じ計算過程を実施する。
最後の1つのウィンドウの逆方向状態ベクトル計算は、最後の1つのデータブロック(N=l際が第1のブロックであり、N=2際、第2のブロックであり、N=4際、第4のブロックであり、N=8際、第8つのブロックであり)であると、最後の1つのデータブロックの最後の1つのウィンドウの逆方向状態ベクトル
を計算する際、初期値が0を取る。他の並列計算のデータブロックの最後の1つのウィンドウの初期値計算方法は、計算の初期値が0を取ることができなく、即ち、先にD時刻に用いる
を計算する必要があり、該初期値が後の一つのデータブロック(N個のデータブロックが順次配列し、第1のブロックから第Nのブロックまで)のヘッドLの長さデータを計算することによって得られ、
を、
(KがLから0まで)を計算する再帰初期量とする。そして、L回の
再帰計算を行なって、L回の再帰計算を経た後、後の一つのデータブロックの第1個のデータの
の信頼度がもう高いレベルに次第に増加し、前の一つのデータブロックのD時刻の
を計算することに用いられ、フレーム内のスライディングウィンドウ法によって、現在のデータブロックの最後の1つのウィンドウの
計算際の初期値を得て、そして、D回の再帰計算を行なって、順次D個の逆方向状態ベクトルを得て、相応のメモリに記憶する。
最後の1つのウィンドウの順方向状態ベクトル計算は、比較的に簡単であり、計算過程が中間ウィンドウの順方向状態ベクトル計算過程と同じであり、N個のデータブロックの最後の1つのウィンドウの順方向状態ベクトルが並列計算して、同じ計算過程を実施する。同期に対数尤度比LLRの計算を実施する。
長さが512であるデータブロックの書き込みが完成して且つメモリが有効であるように設置された後、MAP処理ユニットがアイドルである際、該コードブロックのデコーディングを起動し、且つ並列処理MAPユニットが忙しいであることに設置する。この際、N=lであるので、第1個のMAP計算ユニットのみをアクティブにする。MAP計算ユニットの作業過程に従って反復計算を行なって、設定された反復回数に達し、又はカットオフ条件を満たすことまで、現在のコードブロックのデコーディング過程を終了する。該コードブロックのデコーディングが終了した後、並列処理MAPユニットをアイドルに設置し、同時に、相応の入力メモリを、書き込みイネーブル即ち空状態に設置する。
Claims (15)
- LTEにおける並列Turboデコーディングのデコーディング装置であって、入力記憶モジュール、処理モジュール、制御モジュール及び出力モジュールを含み、その中、
前記入力記憶モジュールは、制御モジュールの制御によって、入力のデコーディング待ちフレームに対してブロック分割を行って、各のサブブロックをそれぞれ記憶してシステム軟ビットとすること、入力したチェック軟ビットを記憶すること、処理ユニットが出力した先験情報を受信し記憶すること、一回のコンポーネントデコーディングの過程において、処理ユニットの計算に必要の先験情報、システム軟ビット及びチェック軟ビットを出力することという操作を完成することに用いられ、
前記処理モジュールは、一つのデコーディング待ちフレームの複数のサブブロックに対して同時に一回のコンポーネントデコーディングを行って、一回のコンポーネントデコーディングの過程に、スライディングウィンドウアルゴリズムに従って各のサブブロックを複数のスライディングウィンドウに分け、システム軟ビット、チェック軟ビット及び先験情報によって、ブランチメトリックγ、順方向状態ベクトルα、逆方向状態ベクトルβ、対数尤度比LLR、先験情報というパラメータの計算を行って、先験情報を前記入力記憶モジュールに出力して記憶し、数回のコンポーネントデコーディングした後、一回の反復過程を完成し、対数尤度比LLRを出力モジュールに出力することに用いられ、ここで、1つのデコーディング待ちフレーム内の複数個のサブブロックは同時に並列してブロック内のスライディングウィンドウを行って、それぞれのデコーディング待ちフレームは並列してフレーム内のスライディングウィンドウを行い、フレーム内のスライディングウィンドウを実現するために、それぞれのサブブロックはブロック内のスライディングウィンドウする際に、逆方向状態ベクトルβに対しブロック内のスライディングウィンドウ計算を行うだけでなく、同時に順方向状態ベクトルαに対してもブロック内のスライディングウィンドウ計算を行い、逆方向状態ベクトルβ計算時の最後の1つのウィンドウの初期値及び順方向状態ベクトルα計算時の第1個のウィンドウの初期値はフレーム内のスライディングウィンドウ計算によって得られ、
前記制御モジュールは、各のモジュールの操作を制御及び協調し、処理モジュールのコンポーネントデコーディング過程と反復過程における制御信号を生成し、入力記憶モジュール制御信号と出力モジュール制御信号を生成し、及び、出力モジュールのフィードバック信号によって入力記憶モジュール及び処理モジュールが続けて反復デコーディング過程を行う、または反復デコーディング過程を停止することをイネーブルすることに用いられ、
前記出力モジュールは、対数尤度比LLRに対して硬判定を行って、硬判定の結果が反復カットオフ条件を満たすかどうかを判断し、制御モジュールへフィードバック信号を出力し、且つ計算結果がカットオフ条件を満たす際、デコーディング反復計算結果をデコーディング結果として出力することに用いられ、
前記処理モジュールは、スライディングウィンドウアルゴリズムに従って、あるサブブロックに対して計算する過程中に、該サブブロックを複数のスライディングウィンドウに分け、そのうち、
第1個のスライディングウィンドウの逆方向状態ベクトルβを計算する際、0を初期値としてL回の再帰した後のβ値を計算し、該β値を初期値としてD回の再帰計算を行って、順次D個のβ値を得て、第1個のスライディングウィンドウのβ値とし、
最後の1つのスライディングウィンドウの逆方向状態ベクトルβを計算する際、該スライディングウィンドウが存在するサブブロックが最後の1つのサブブロックであると、初期値が0であることでD回の再帰計算を行って該最後の1つのスライディングウィンドウのβ値を得て、該スライディングウィンドウが存在したサブブロックが最後のサブブロックでないと、先に初期値が0であることでL回の再帰した後のβ値を計算し、該β値を初期値としてD回の再帰計算を行って該最後の1つのスライディングウィンドウのβ値を得て、
第1個のスライディングウィンドウの順方向状態ベクトルαを計算する際、該スライディングウィンドウが存在したサブブロックが第1個のサブブロックであると、0を初期値としてD回の再帰計算を行って該第1個のスライディングウィンドウのα値を得て、該スライディングウィンドウが存在したサブブロックが第1個のサブブロックでないと、先に初期値が0であることでL回の再帰後のα値を計算し、該α値を初期値としてD回の再帰計算を行って該第1個のスライディングウィンドウのα値を得て、
最後の1つのスライディングウィンドウの順方向状態ベクトルαを計算する際、0を初期値としてL回の再帰後のα値を計算し、該α値を初期値としてD回の再帰計算を行って、順次にD個のα値を得て、第1個のスライディングウィンドウのα値とし、
ここで、Dがスライディングウィンドウ法の基本的なウィンドウの長さを表し、Lが初期値計算に必要な重なりウィンドウの長さであり、ここで、1≦L≦D、D+Lが1つの健全なスライディングウィンドウの長さを表すLTEにおける並列Turboデコーディングのデコーディング装置。 - 該入力記憶モジュールは、入力メモリ制御器ユニット、先験情報メモリユニット、システム軟ビットメモリユニット及びチェック軟ビットメモリユニットを含み、そのうち、
該入力メモリ制御器ユニットは、各のメモリの読み書き制御信号を生成し、制御モジュールが確定されたサブブロック数によってデコーディング待ちデータフレームをブロック分割した後、システム軟ビットメモリユニットに記憶することに用いられ、
チェック軟ビットメモリユニットは、入力したチェック軟ビットを記憶し、第1チェック軟ビットメモリ、第2チェック軟ビットメモリ及び第1マルチプレクサを含み、第1該チェック軟ビットメモリは、第1チェック軟ビットを第1マルチプレクサの1つの入力端に出力し、該第2チェック軟ビットメモリは、第2チェック軟ビットを第1マルチプレクサのもう1つの入力端に出力し、第1マルチプレクサの制御端が制御モジュールに接続し、第1マルチプレクサは、制御モジュールの制御信号によって第1回コンポーネントデコーディング及び第2回コンポーネントデコーディング演算の際、それぞれ第1チェック軟ビット、第2チェック軟ビットを選択して入力データとすることを制御することに用いられ、
システム軟ビットメモリユニットは、入力した分割されたデコーディング待ちフレームの各のサブブロックをそれぞれ記憶することに用いられ、システム軟ビットメモリ、第1インターリーバ及び第2マルチプレクサを含み、該システム軟ビット軟メモリは、2つの出力端を有し、1つの出力端がデータを直接に第2マルチプレクサの1つの入力端に出力し、もう1つの出力端がデータを出力して第1インターリーバによってインターリーブされた後、第2マルチプレクサのもう1つの入力端に入力し、第2マルチプレクサの制御端が制御モジュールに接続し、該第2マルチプレクサは、制御モジュールの制御信号によって第1回のコンポーネントのデコーディング際に処理モジュールへシステム軟ビットを出力し、第2回のコンポーネントのデコーディング際に処理モジュールへインターリーブされた後のシステム軟ビットを出力することに用いられ、
先験情報メモリユニットは、数回のコンポーネントデコーディングの結果をそれぞれ記憶することに用いられ、第1先験情報メモリ、第2先験情報メモリ、第1インターリーバ及び第3マルチプレクサを含み、該第1先験情報メモリが出力した第1先験情報がインターリーバによってインターリーブされた後、第3マルチプレクサの1つの入力端に入力し、該第2先験情報メモリが第2先験情報を第3マルチプレクサのもう1つの入力端に出力し、第3マルチプレクサの制御端が制御モジュールに接続し、該第3マルチプレクサは、制御モジュールの制御信号によって処理モジュールへ第2先験情報及びインターリーブした後の第1先験情報を選択して出力する請求項1に記載の装置。 - 前記システム軟ビットメモリ、第1チェック軟ビットメモリ、第2チェック軟ビットメモリは、それぞれ並列読み取り、シリアル書込み可能な複数の独立のサブメモリからなり、各のサブメモリの書き込みアドレスが連続し、前記第1先験情報メモリ及び第2先験情報メモリがそれぞれ並列読み書き可能な複数の独立のサブメモリからなり、各のサブメモリの書き込みアドレスが連続である請求項2に記載の装置。
- 前記システム軟ビットメモリ、第1チェック軟ビットメモリ、第2チェック軟ビットメモリ、第1先験情報メモリ及び第2先験情報メモリがいずれもピンポン操作を支持し、各のメモリが8つのサブメモリからなり、各のサブメモリの大きさが1536バイトである請求項3に記載の装置。
- 前記処理モジュールは、並列処理MAPユニット、第4マルチプレクサ及び第2インターリーバを含み、並列処理MAPユニットは入力記憶モジュールが出力したデータを受信し、数回のコンポーネントデコーディング処理、反復処理をした後、デコーディング過程を完成してデコーディング結果を第4マルチプレクサの入力端に出力し、前記第4マルチプレクサの制御端が制御モジュールに接続され、前記第4マルチプレクサが制御モジュールの制御信号によって第1回のコンポーネントのデコーディング際に第1先験情報を第1先験情報メモリに出力し、第2回のコンポーネントのデコーディング際に、第2先験情報を第2インターリーバに出力することを制御し、第2インターリーバがインターリーブした後の第2先験情報の1パスを第2先験情報メモリに出力し、もう1パスを出力モジュールに出力する請求項2に記載の装置。
- 各の並列処理MAPユニットは、複数の独立の並列コンポーネントデコーディングを完成するためのMAP計算ユニットを含み、各のMAP計算ユニットが第1γ計算ユニット、β計算ユニット、βメモリ、第2γ計算ユニット、α計算ユニット、LLR計算ユニットからなり、そのうち、
第1γ計算ユニットはβ計算ためのブランチメトリック計算を行って、計算して得られた逆方向用ブランチメトリックをβ計算ユニットに入力し、第2γ計算ユニットはα計算ためのブランチメトリック計算を行って、計算して得られた順方向用ブランチメトリックをα計算ユニットに入力し、β計算ユニットは逆方向状態ベクトルβを計算することに用いられ、βメモリは計算して得られたβを記憶することに用いられ、α計算ユニットは順方向状態ベクトルαを計算することに用いられ、LLR計算ユニットは対数尤度比及び先験情報を計算することに用いられる請求項5に記載の装置。 - 前記LLR計算ユニットは、一組の16個の3入力加算器、及び第1組8個のmax*計算ユニット、第2組4個のmax*計算ユニット、第3組2個のmax*計算ユニット、及び1つの減算器を含み、そのうち、隣接の2つの3入力加算器が一組として加算演算を行って、ともに8個の和値をそれぞれ第1組max*計算ユニットにおける8個のmax*計算ユニットに出力し、第1組max*計算ユニットにおいて、隣接の2つのmax*計算ユニットが1つの組としてmax*計算を行って、ともに4個の結果をそれぞれ第2組max*計算ユニットにおける4個のmax*計算ユニットに出力し、第2組max*計算ユニットにおいて、隣接の2つのmax*計算ユニットが1つの組としてmax*計算を行って、2個の結果を減算器に出力し、差を求めて対数尤度比LLRを得て、対数尤度比、本回の入力のシステム情報及び先験情報によって新しい先験情報を得る請求項6に記載の装置。
- 前記出力モジュールは、硬判定ユニット、反復カットオフ判断ユニット及び出力メモリ制御器ユニットを含み、そのうち、前記硬判定ユニットは、処理モジュールが出力した先験情報を受信し、それを反復カットオフ判断ユニット及び出力メモリ制御器ユニットにそれぞれ送信し、該反復カットオフ判断ユニットは、硬判定結果がカットオフ条件を満たすかどうかを判断し、制御モジュールへ条件を満たすフィードバック信号または条件を満たさないフィードバック信号を出力し、カットオフ条件を満たすと、制御モジュールが該出力メモリ制御器ユニットへ出力信号を送信し、該出力メモリ制御器ユニットによってデコーディング結果を出力する請求項1に記載の装置。
- 前記反復カットオフ判断ユニットは、デコーディング結果が、設定された反復回数に達すること、デコーディングした後のコードブロックデータの巡回冗長検査CRCの計算結果が正確であることを判断することのいずれかの1つの条件を満たすことを判断すると、反復カットオフ条件を満たすことを認める請求項8に記載の装置。
- LTEにおける並列Turboデコーディングのデコーディング方法であって、
入力したチェック軟ビット及びデコーディング待ちフレームを記憶し、デコーディング待ちフレームを記憶する際、前記デコーディング待ちフレームをブロック分割し、各のサブブロックをそれぞれ記憶してシステム軟ビットとし、一個のデコーディング待ちフレームの複数のサブブロックに対して同時に一回のコンポーネントデコーディングを行って、一回のコンポーネントデコーディングの過程に、スライディングウィンドウアルゴリズムによって各のサブブロックを複数のスライディングウィンドウに分けて、システム軟ビット、チェック軟ビット及び先験情報によってブランチメトリックγ、順方向状態ベクトルα、逆方向状態ベクトルβ、対数尤度比LLR、先験情報というパラメータの計算を行って、先験情報を記憶して、次回のコンポーネントデコーディング際に使用し、数回のコンポーネントデコーディングを行った後、一回のデコーディング過程を完成し、対数尤度比LLRに対して硬判定を行って、硬判定結果が反復カットオフ条件を満たすかどうかを判断し、満たすと、デコーディング結果を出力し、そうしないと、続けて次回の反復デコーディング過程を行うことを含み、
ここで、1つのデコーディング待ちフレーム内の複数個のサブブロックは同時に並列してブロック内のスライディングウィンドウを行って、それぞれのデコーディング待ちフレームは並列してフレーム内のスライディングウィンドウを行い、フレーム内のスライディングウィンドウを実現するために、それぞれのサブブロックはブロック内のスライディングウィンドウする際に、逆方向状態ベクトルβに対しブロック内のスライディングウィンドウ計算を行うだけでなく、同時に順方向状態ベクトルαに対してもブロック内のスライディングウィンドウ計算を行い、逆方向状態ベクトルβ計算時の最後の1つのウィンドウの初期値及び順方向状態ベクトルα計算時の第1個のウィンドウの初期値はフレーム内のスライディングウィンドウ計算によって得られ、
スライディングウィンドウアルゴリズムに従って、あるサブブロックに対して計算する過程中に、該サブブロックを複数のスライディングウィンドウに分け、そのうち、
第1個のスライディングウィンドウの逆方向状態ベクトルβを計算する際、0を初期値としてL回の再帰した後のβ値を計算し、該β値を初期値としてD回の再帰計算を行って、順次D個のβ値を得て、第1個のスライディングウィンドウのβ値とし、
最後の1つのスライディングウィンドウの逆方向状態ベクトルβを計算する際、該スライディングウィンドウが存在するサブブロックが最後の1つのサブブロックであると、初期値が0であることでD回の再帰計算を行って該最後の1つのスライディングウィンドウのβ値を得て、該スライディングウィンドウが存在したサブブロックが最後のサブブロックでないと、先に初期値が0であることでL回の再帰した後のβ値を計算し、該β値を初期値としてD回の再帰計算を行って該最後の1つのスライディングウィンドウのβ値を得て、
第1個のスライディングウィンドウの順方向状態ベクトルαを計算する際、該スライディングウィンドウが存在したサブブロックが第1個のサブブロックであると、0を初期値としてD回の再帰計算を行って該第1個のスライディングウィンドウのα値を得て、該スライディングウィンドウが存在したサブブロックが第1個のサブブロックでないと、先に初期値が0であることでL回の再帰後のα値を計算し、該α値を初期値としてD回の再帰計算を行って該第1個のスライディングウィンドウのα値を得て、
最後の1つのスライディングウィンドウの順方向状態ベクトルαを計算する際、0を初期値としてL回の再帰後のα値を計算し、該α値を初期値としてD回の再帰計算を行って、順次にD個のα値を得て、第1個のスライディングウィンドウのα値とし、
ここで、Dがスライディングウィンドウ法の基本的なウィンドウの長さを表し、Lが初期値計算に必要な重なりウィンドウの長さであり、ここで、1≦L≦D、D+Lが1つの健全なスライディングウィンドウの長さを表すLTEにおける並列Turboデコーディングのデコーディング方法。 - 一回のデコーディング過程に、二回のコンポーネントデコーディングを含み、一回のデコーディング過程中に第1回コンポーネントデコーディングがシステム軟ビット、前回のコンポーネントデコーディングで得られた第2先験情報及び第1チェック軟ビットによって行い、第2回のコンポーネントデコーディングがシステム軟ビット、前回のコンポーネントデコーディングで得られた第1先験情報及び第2チェック軟ビットによって行い、初期の第1回のデコーディング過程中の第1回のコンポーネントデコーディング際に、先験情報が0である請求項10に記載の方法。
- デコーディング結果が、設定された反復回数に達すること、デコーディングした後のコードブロックデータの巡回冗長検査CRCの計算結果が正確であることを判断することのいずれかの1つの条件を満たすと、反復カットオフ条件を満たすことを認め、反復をカットオフする請求項10に記載の方法。
- デコーディング待ちフレーム長さKによって、サブブロックの個数Nを確定し、K≦512である際、N=l であり、512<K≦1024である際、N=2であり、1024<K≦2048である際、N=4であり、2048<K≦6144である際、N=8である請求項10に記載の方法。
- L=32である請求項10に記載の方法。
- 順方向状態ベクトルαを計算するとともに対数尤度比LLRを計算する請求項10に記載の方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2009/072339 WO2010145078A1 (zh) | 2009-06-18 | 2009-06-18 | 一种lte中并行turbo译码的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012527790A JP2012527790A (ja) | 2012-11-08 |
JP5479580B2 true JP5479580B2 (ja) | 2014-04-23 |
Family
ID=43355683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012511116A Active JP5479580B2 (ja) | 2009-06-18 | 2009-06-18 | Lteにおける並列turboデコーディングの方法及び装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20120106683A1 (ja) |
EP (1) | EP2429085B1 (ja) |
JP (1) | JP5479580B2 (ja) |
KR (1) | KR101225016B1 (ja) |
CN (1) | CN102396158A (ja) |
WO (1) | WO2010145078A1 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9219956B2 (en) | 2008-12-23 | 2015-12-22 | Keyssa, Inc. | Contactless audio adapter, and methods |
US9191263B2 (en) | 2008-12-23 | 2015-11-17 | Keyssa, Inc. | Contactless replacement for cabled standards-based interfaces |
US9960820B2 (en) | 2008-12-23 | 2018-05-01 | Keyssa, Inc. | Contactless data transfer systems and methods |
US8811452B2 (en) * | 2009-12-08 | 2014-08-19 | Samsung Electronics Co., Ltd. | Method and apparatus for parallel processing turbo decoder |
US9003266B1 (en) * | 2011-04-15 | 2015-04-07 | Xilinx, Inc. | Pipelined turbo convolution code decoder |
US8843807B1 (en) | 2011-04-15 | 2014-09-23 | Xilinx, Inc. | Circular pipeline processing system |
EP2579468B1 (en) * | 2011-10-05 | 2020-05-06 | Telefonaktiebolaget LM Ericsson (publ) | Method and device for decoding a transport block of a communication signal |
US20130170842A1 (en) * | 2012-01-04 | 2013-07-04 | Toshiaki Koike-Akino | Method and System for Equalization and Decoding Received Signals Based on High-Order Statistics in Optical Communication Networks |
US20150033094A1 (en) * | 2013-07-23 | 2015-01-29 | Yuan Ze University | Window-stopped method for applying to turbo decoding |
US9258015B2 (en) * | 2013-12-23 | 2016-02-09 | Apple Inc. | Decoder with selective iteration scheduling |
US9648525B2 (en) * | 2014-08-12 | 2017-05-09 | Qualcomm Incorporated | System and methods for improving intra-frequency cell reselection on a wireless communication device in connected mode |
GB2529209B (en) * | 2014-08-13 | 2021-05-26 | Accelercomm Ltd | Detection circuit, receiver, communications device and method of detecting |
US9602648B2 (en) | 2015-04-30 | 2017-03-21 | Keyssa Systems, Inc. | Adapter devices for enhancing the functionality of other devices |
US10476634B2 (en) * | 2016-03-04 | 2019-11-12 | Huawei Technologies Co., Ltd. | System and method for polar encoding and decoding |
CN107453761B (zh) * | 2016-05-31 | 2021-04-06 | 展讯通信(上海)有限公司 | Turbo码译码方法及Turbo码译码器 |
CN106209324B (zh) * | 2016-09-18 | 2023-05-19 | 幻视互动(北京)科技有限公司 | Fpga实现的基于多频无线联网模组的智能头显设备 |
US10084486B1 (en) * | 2017-09-29 | 2018-09-25 | Intel Corporation | High speed turbo decoder |
US10491244B2 (en) * | 2017-11-14 | 2019-11-26 | Nyquist Semiconductor Limited | Systems and methods for decoding error correcting codes |
US10389388B2 (en) | 2017-12-28 | 2019-08-20 | Apple Inc. | Efficient LDPC decoding with predefined iteration-dependent scheduling scheme |
WO2022186853A1 (en) * | 2021-03-03 | 2022-09-09 | Zeku, Inc. | Dynamic cyclic redundancy check update for iterative decoding |
CN113114278B (zh) * | 2021-03-07 | 2023-03-14 | 西安电子科技大学 | 双二进制Turbo译码实现方法、系统、设备及应用 |
CN114553244B (zh) * | 2022-01-19 | 2024-06-04 | 北京理工大学 | 低码率Turbo码译码方法和装置 |
CN116527207B (zh) * | 2023-07-04 | 2023-08-29 | 福建福大北斗通信科技有限公司 | 一种北斗三号通信基带自适应迭代次数的turbo译码方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754290B1 (en) * | 1999-03-31 | 2004-06-22 | Qualcomm Incorporated | Highly parallel map decoder |
US6980605B2 (en) * | 2000-01-31 | 2005-12-27 | Alan Gatherer | MAP decoding with parallelized sliding window processing |
US20010044919A1 (en) * | 2000-05-05 | 2001-11-22 | Edmonston Brian S. | Method and apparatus for improved perormance sliding window decoding |
US6662331B1 (en) * | 2000-10-27 | 2003-12-09 | Qualcomm Inc. | Space-efficient turbo decoder |
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 |
US7200799B2 (en) * | 2001-04-30 | 2007-04-03 | Regents Of The University Of Minnesota | Area efficient parallel turbo decoding |
US7020827B2 (en) * | 2001-06-08 | 2006-03-28 | Texas Instruments Incorporated | Cascade map decoder and method |
JP4191393B2 (ja) * | 2001-06-11 | 2008-12-03 | 富士通株式会社 | 情報記録再生装置及び方法並びに信号復号回路 |
CN1157883C (zh) * | 2001-07-11 | 2004-07-14 | 信息产业部电信传输研究所 | 实现并行滑动窗最大后验概率算法的高速Turbo码译码器 |
JP3888135B2 (ja) * | 2001-11-15 | 2007-02-28 | 日本電気株式会社 | 誤り訂正符号復号装置 |
US7333581B2 (en) * | 2001-12-28 | 2008-02-19 | Nxp B.V. | Method of processing data for a decoding operation using windows of data |
US7107509B2 (en) * | 2002-08-30 | 2006-09-12 | Lucent Technologies Inc. | Higher radix Log MAP processor |
US7055102B2 (en) * | 2002-12-06 | 2006-05-30 | Sandbridge Technologies, Inc. | Turbo decoder using parallel processing |
JP2005210238A (ja) * | 2004-01-21 | 2005-08-04 | Nec Corp | ターボ復号装置及びその方法並びにその動作プログラム |
KR100744367B1 (ko) | 2004-05-24 | 2007-07-30 | 삼성전자주식회사 | 가변 윈도우가 적용된 터보 복호화 장치 및 방법 |
JP2006041960A (ja) * | 2004-07-28 | 2006-02-09 | Nec Corp | ターボ復号装置及びターボ復号方法並びにプログラム |
CN1913368A (zh) * | 2005-08-11 | 2007-02-14 | 中兴通讯股份有限公司 | 一种自适应turbo译码的方法 |
JP4692751B2 (ja) * | 2005-11-28 | 2011-06-01 | 日本電気株式会社 | ターボ復号器及びそれを備えた通信システム |
US7929646B2 (en) * | 2006-01-27 | 2011-04-19 | Qualcomm Incorporated | Map decoder with bidirectional sliding window architecture |
CN101411071A (zh) * | 2006-01-27 | 2009-04-15 | 高通股份有限公司 | 具有双向滑动窗口体系结构的map译码器 |
US7810018B2 (en) * | 2006-10-27 | 2010-10-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Sliding window method and apparatus for soft input/soft output processing |
CN101026439B (zh) * | 2007-02-07 | 2012-08-29 | 重庆重邮信科通信技术有限公司 | 一种提高Turbo码译码速率的译码方法 |
JP4874312B2 (ja) * | 2007-09-20 | 2012-02-15 | 三菱電機株式会社 | ターボ符号復号装置、ターボ符号復号方法及び通信システム |
KR101504101B1 (ko) * | 2007-10-02 | 2015-03-19 | 삼성전자주식회사 | 적어도 두 개의 디코딩 매소드를 디코딩하기 위한 asip 아키텍처 |
CN101409599B (zh) * | 2007-10-11 | 2011-07-13 | 电信科学技术研究院 | 一种Turbo码译码装置及方法 |
US8140932B2 (en) * | 2007-11-26 | 2012-03-20 | Motorola Mobility, Inc. | Data interleaving circuit and method for vectorized turbo decoder |
-
2009
- 2009-06-18 CN CN2009801587138A patent/CN102396158A/zh active Pending
- 2009-06-18 US US13/258,985 patent/US20120106683A1/en not_active Abandoned
- 2009-06-18 WO PCT/CN2009/072339 patent/WO2010145078A1/zh active Application Filing
- 2009-06-18 KR KR1020117027415A patent/KR101225016B1/ko active IP Right Grant
- 2009-06-18 EP EP09845992.8A patent/EP2429085B1/en active Active
- 2009-06-18 JP JP2012511116A patent/JP5479580B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
KR20120014905A (ko) | 2012-02-20 |
EP2429085A1 (en) | 2012-03-14 |
US20120106683A1 (en) | 2012-05-03 |
EP2429085B1 (en) | 2018-02-28 |
JP2012527790A (ja) | 2012-11-08 |
WO2010145078A1 (zh) | 2010-12-23 |
CN102396158A (zh) | 2012-03-28 |
KR101225016B1 (ko) | 2013-01-22 |
EP2429085A4 (en) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5479580B2 (ja) | Lteにおける並列turboデコーディングの方法及び装置 | |
KR101323444B1 (ko) | 반복적 디코더 및 반복적 디코딩 방법 | |
US6516437B1 (en) | Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates | |
JP3898574B2 (ja) | ターボ復号方法及びターボ復号装置 | |
US20050034046A1 (en) | Combined interleaver and deinterleaver, and turbo decoder comprising a combined interleaver and deinterleaver | |
JP4227481B2 (ja) | 復号装置および復号方法 | |
CN112398487B (zh) | 一种降低Turbo并行译码复杂度的实现方法及系统 | |
RU2571597C2 (ru) | Способ и устройство для декодирования турбокода | |
WO2012034097A1 (en) | Accessing memory during parallel turbo decoding | |
US7584389B2 (en) | Turbo decoding apparatus and method | |
JP5700035B2 (ja) | 誤り訂正符号復号装置、誤り訂正符号復号方法および誤り訂正符号復号プログラム | |
JP4837645B2 (ja) | 誤り訂正符号復号回路 | |
Prescher et al. | A parametrizable low-power high-throughput turbo-decoder | |
US8261163B2 (en) | Soft output decoder, iterative decoder, and soft decision value calculating method | |
CN113872615A (zh) | 一种可变长度的Turbo码译码器装置 | |
KR101066287B1 (ko) | 이동통신시스템에서 맵 방식을 이용하여 디코딩을 수행하는 장치 및 방법 | |
US7652597B2 (en) | Multimode decoder | |
JP2006217042A (ja) | ターボ復号装置 | |
JP3892471B2 (ja) | 復号方法 | |
KR100625242B1 (ko) | 터보 복호화 장치 및 방법 | |
Abdel-Hamid et al. | Memory conflict analysis for a multi-standard, reconfigurable turbo decoder | |
JP2009532952A (ja) | トレリスを高速処理するためのパイプライン化された状態更新のスケジューリング | |
Tiwari et al. | Memory sub-banking scheme for high throughput MAP-based SISO decoders | |
CN113992213A (zh) | 一种双路并行译码存储设备及方法 | |
CN118041374A (zh) | 一种基于改进滑窗的turbo码译码方法和译码器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130522 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130822 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131015 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140115 |
|
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: 20140205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140212 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5479580 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |