JP5479580B2 - Lteにおける並列turboデコーディングの方法及び装置 - Google Patents

Lteにおける並列turboデコーディングの方法及び装置 Download PDF

Info

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
Application number
JP2012511116A
Other languages
English (en)
Other versions
JP2012527790A (ja
Inventor
シンシャン ツァオ
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Publication of JP2012527790A publication Critical patent/JP2012527790A/ja
Application granted granted Critical
Publication of JP5479580B2 publication Critical patent/JP5479580B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/45Soft decoding, i.e. using symbol reliability information
    • 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/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • 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
    • 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/65253GPP LTE including E-UTRA
    • 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized 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

本発明は、無線通信、データ信号処理及び集積回路設計分野に関し、特にLTE(3GPPロング・ターム・エボリューション)システムにおけるTurboデコーディングの計算方法及びハードウェア実現装置に関する。
Turboコードは、並列カスケード型のエンコーダ構造を採用して、そのデコーディングが反復デコーディングメカニズムを採用し、その著しい特徴は、加算性白色ガウス雑音チャネルにおいて、反復デコーディングした後のデータビット誤り率が非常にシャノン限界に近づく。
従来のTurboデコーディングは、BCJRアルゴリズム(或MAPアルゴリズム)を採用して、複雑性を減らすために、プロジェクト実現において普通にMAP(MaxaProbability、最大事後確率)アルゴリズムの発展型とするLog-Mapアルゴリズムを採用する。図1に示すように、Turboデコーディング反復計算の回路図である。Turboのデコーダは、二つの軟入力軟出力(SISO)デコーダDEC1とDEC2が直列してなり、インターリーバがエンコーダに使用されたインターリーバと同じである。デコーダDEC1は、コンポーネントコード RSC1(RSCが再帰的システマティック畳み込みコードであり、図1におけるxk、y1kがRSC1である)に対して最良デコーディングを行って、情報シーケンスuにおける各のビットに関する尤度比の情報を生成し、且つそのうちの「新情報」をインターリーブしてDEC2に送信し、デコーダDEC2がこの情報を先験情報として、コンポーネントコード RSC2(図1におけるxk、y1kがRSC2である)に最良デコーディングを行って、インターリーブした後の情報シーケンスにおける各のビットの尤度比の情報を生成し、そして、そのうちの「外部情報」がデインターリーブされDEC1に送信し、つぎのデコーディングを行う。このように、複数の反復を経て、DEC1およびDEC2の外部情報が安定になって、尤度比の漸近値が全体のコードの最大尤度に対するデコーディングに近づき、そして、この尤度比に対して硬判定すれば、情報シーケンスuの各のビットの最良評価シーケンス
Figure 0005479580
、即ち、最終のデコーディングビットを取得することができる。
Log-Mapアルゴリズムが以下の漸化式で表示することができる。
符号
Figure 0005479580
でそれぞれ
Figure 0005479580
の自然対数を表すと、
Figure 0005479580
を取得することができる。
以下の対数計算式によって、
Figure 0005479580
その中、
Figure 0005479580
が順方向状態ベクトルであり、
Figure 0005479580
が逆方向状態ベクトルであり、
Figure 0005479580
がブランチメトリックである。
メトリック計算が
Figure 0005479580
に転化され、
Figure 0005479580
を上記の一般式で再帰演算すると、相応の対数尤度比を以下のように算出することができ、
Figure 0005479580
そのうちの複数の符号が以下のように表し、
Figure 0005479580
: k時刻のエンコーダ入力ビット:
Figure 0005479580
を表す。
Figure 0005479580
:K時刻のレジスタ状態を指す。現在の状態が
Figure 0005479580
であり、入力ビットが
Figure 0005479580
であり、レジスタ状態がSk+lに転移される。
P(dk)とはdkの先験確率を指し、xkがシステム軟ビットであり、ykがチェック軟ビットであり、ukがシステムビットであり、
Figure 0005479580
がチェックビットであり、
Figure 0005479580
がAWGNチャネル雑音分散である。
L(dk)が先験情報であり、
Figure 0005479580
が順方向状態ベクトルであり、
Figure 0005479580
が逆方向状態ベクトルであり、
Figure 0005479580
がブランチメトリックである。
インターリーブ/デインターリーブ、逆方向状態メトリック計算等の処理の存在によって、log-MAPアルゴリズムに基づくTurboデコーダが完全なエンコードパケットを受信した後こそ、一回の反復計算を行われて、インターリーブ遅延及び処理遅延がインターリーブの深度及びRSCコード状態数の増加にしたがって増加し、これにより、サービスデータの伝送リアルタイム性及びデコーダが支持可能な最大サービスデータ速率を影響する。LTEにとって、100Mb/s以上のピックデータ速率を支持することを要求し、これは、チャネルエンコードのデコーディング速度に対して、より高い要求を提出し、LTEが続けて3GPP Rel6におけるTurboコード及びそのデコーディングアルゴリズムをそのまま使用すると、上記データ速率の要求を達することができない。この要求を満たすために、LTEにおけるTurboコードが並列デコーディングアルゴリズムを採用しなければならなく、LTEにおいて、Turboコードのエンコーダのインターリーバのインターリーブ方法は、特に並列デコーディングを支持するために設計された。
本発明が解決しようとする技術問題は、デコーディング遅延を減らすし、デコーディングピックデータ速率を向上させることができるLTEにおける並列Turboデコーディングの方法及び装置を提供することである。
上記技術問題を解決するために、本発明は、LTEにおける並列Turboデコーディングのデコーディング装置を提供し、入力記憶モジュール、処理モジュール、制御モジュール及び出力モジュールを含み、その中、
前記入力記憶モジュールは、制御モジュールの制御によって、入力のデコーディング待ちフレームに対してブロック分割を行って、それぞれが各のサブブロックを記憶してシステム軟ビットとすること、入力したチェック軟ビットを記憶すること、処理ユニットが出力した先験情報を受信し記憶すること、一回のコンポーネントデコーディングの過程に処理ユニットの計算に必要の先験情報、システム軟ビット及びチェック軟ビットを出力することという操作を完成することに用いられ、
前記処理モジュールは、一つのデコーディング待ちフレームの複数のサブブロックに対して同時に一回のコンポーネントデコーディングを行って、一回のコンポーネントデコーディングの過程に、スライディングウィンドウアルゴリズムに従って各のサブブロックを複数のスライディングウィンドウに分け、システム軟ビット、チェック軟ビット及び先験情報によって、ブランチメトリックγ、順方向状態ベクトルα、逆方向状態ベクトルβ、対数尤度比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チェック軟ビットメモリは、それぞれ並列読み取り、シリアル書込み可能な複数の独立のサブメモリからなり、各のサブメモリの書き込みアドレスが連続し、前記第1先験情報メモリ及び第2先験情報メモリがそれぞれ並列読み書き可能な複数の独立のサブメモリからなり、各のサブメモリの書き込みアドレスが連続である。
さらに、前記システム軟ビットメモリ、第1チェック軟ビットメモリ、第2チェック軟ビットメモリ、第1先験情報メモリ及び第2先験情報メモリがすべてピンポン操作を支持し、各のメモリが8つのサブメモリからなり、各のサブメモリの大きさが1536バイトである。
さらに、前記処理モジュールは、並列処理MAPユニット、第4マルチプレクサ及び第2インターリーバを含み、並列処理MAPユニットは入力記憶モジュールが出力したデータを受信し、数回のコンポーネントデコーディング処理、反復処理をした後、デコーディング過程を完成しデコーディング結果を第4マルチプレクサの入力端に出力し、前記第4マルチプレクサの制御端が制御モジュールに接続され、前記第4マルチプレクサが制御モジュールの制御信号によって第1回のコンポーネントのデコーディング際に第1先験情報を第1先験情報メモリに出力し、第2回のコンポーネントのデコーディング際に、第2先験情報を第2インターリーバに出力することを制御し、第2インターリーバがインターリーブした後の第2先験情報の1つのパスを第2先験情報メモリに出力し、もう1つのパスが出力モジュールに出力する。
さらに、各の並列処理MAPユニットは、複数の独立の並列コンポーネントデコーディングを完成するためのMAP計算ユニットを含み、各のMAP計算ユニットが第1γ計算ユニット、β計算ユニット、βメモリ、第2γ計算ユニット、α計算ユニット、LLR計算ユニットからなり、そのうち、
第1γ計算ユニットがβ計算ためのブランチメトリック計算を行って、計算して得られた逆方向用ブランチメトリックをβ計算ユニットに入力し、第2γ計算ユニットがα計算ためのブランチメトリック計算を行って、計算して得られた順方向用ブランチメトリックをα計算ユニットに入力し、β計算ユニットが逆方向状態ベクトルβを計算することに用いられ、βメモリが計算して得られたβを記憶することに用いられ、α計算ユニットが順方向状態ベクトルαを計算することに用いられ、LLR計算ユニットが対数尤度比及び先験情報を計算することに用いられる。
さらに、前記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を得て、対数尤度比、本回の入力のシステム情報及び先験情報によって新しい先験情報を得る。
さらに、前記出力モジュールは、硬判定ユニット、反復カットオフ判断ユニット及び出力メモリ制御器ユニットを含み、そのうち、前記硬判定ユニットは、処理モジュールが出力した先験情報を受信し、それぞれを反復カットオフ判断ユニット及び出力メモリ制御器ユニットに送信し、該反復カットオフ判断ユニットは、硬判定結果がカットオフ条件を満たすかどうかを判断し、制御モジュールへ条件を満たすフィードバック信号または条件を満たさないフィードバック信号を出力し、カットオフ条件を満たすと、制御モジュールが該出力メモリ制御器ユニットへ出力信号を送信し、該出力メモリ制御器ユニットによってデコーディング結果を出力する。
さらに、前記反復カットオフ判断ユニットは、デコーディング結果が、設定された反復回数に達すること、デコーディングした後のコードブロックデータの巡回冗長検査CRCの計算結果が正確であることを判断することのいずれの条件を満たすことを判断すると、反復カットオフ条件を満たすことを考える。
上記問題を解決するために、本発明は、さらに、LTEにおける並列Turboデコーディングのデコーディング方法を提供し、
入力したチェック軟ビット及びデコーディング待ちフレームを記憶し、デコーディング待ちフレームを記憶する際、前記デコーディング待ちフレームをブロック分割し、それぞれ各のサブブロックを記憶してシステム軟ビットとし、一個のデコーディング待ちフレームの複数のサブブロックに対して同時に一回のコンポーネントデコーディングを行って、一回のコンポーネントデコーディングの過程に、スライディングウィンドウアルゴリズムによって各のサブブロックを複数のスライディングウィンドウに分けて、システム軟ビット、チェック軟ビット及び先験情報によってブランチメトリックγ、順方向状態ベクトルα、逆方向状態ベクトルβ、対数尤度比LLR、先験情報というパラメータの計算を行って、先験情報を記憶して、次回のコンポーネントデコーディング際に使用し、数回のコンポーネントデコーディングを行った後、一回のデコーディング過程を完成し、対数尤度比LLRに対して硬判定を行って、硬判定結果が反復カットオフ条件を満たすかどうかを判断し、満たすと、デコーディング結果を出力し、そうしないと、続けて次回の反復デコーディング過程を行うことを含む。
さらに、一回のデコーディング過程に、二回のコンポーネントデコーディングを含み、一回のデコーディング過程中に第1回コンポーネントデコーディングがシステム軟ビット、前回のコンポーネントデコーディングで得られた第2先験情報及び第1チェック軟ビットによって行い、第2回のコンポーネントデコーディングがシステム軟ビット、前回のコンポーネントデコーディングで得られた第1先験情報及び第2チェック軟ビットによって行い、初期の第1回のデコーディング過程中の第1回のコンポーネントデコーディング際に、先験情報が0である。
さらに、デコーディング結果が、設定された反復回数に達すること、デコーディングした後のコードブロックデータの巡回冗長検査CRCの計算結果が正確であることを判断することのいずれの条件を満たすと、反復カットオフ条件を満たすことを考え、反復をカットオフする。さらに、デコーディング待ちフレーム長さKによってサブブロックの個数Nを確定し、K≦512である際、N=l であり、512<K≦1024である際、N=2であり、1024<K≦2048である際、N=4であり、2048<K≦6144である際、N=8である。
さらに、スライディングウィンドウアルゴリズムに従ってあるサブブロックに対して計算する過程中に、該サブブロックを複数のスライディングウィンドウに分け、そのうち、
第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である。
さらに、L=32である。
さらに、順方向状態ベクトルαを計算するとともに対数尤度比LLRを計算する。
本発明が提出した、自己適応段分割並列スライディングウィンドウlog-MAPアルゴリズムによってTurboデコーディングを行う方法及びハードウエア装置は、著しくデコーディング速率を向上させることができ、デコーディング遅延を下げる際、少ないハードウエア資源の消耗でも、LTEシステムがTurboデコーディングのスループット及び遅延の要求を満たすことができる。具体的に、本発明は、以下の利点を有し、
1、大いに単一のコードブロックの処理時間を減らすし、即ち、大幅にデコーダのリアルタイム処理能力を向上させるし、デコーディング遅延を下げるし、
2、メモリ全体の消耗を減らすし、それをデコーディング待ちデータブロックの長さの増加に従って増やさせなく、
3、ハードウエアの実現が容易である(例えばFPGA、ASIC)高速のTurboデコーダ、
4、高スループットレートを実現するTurboデコーダが、LTEシステムの性能要求を満たすし、
5、ハードウエア複用、並列処理及びパイプライン処理等の技術を総合的に応用し、それぞれハードウエア資源消耗の減少、処理遅延の減少等の有益効果をもたらす。
図1は、Turboデコーディングの反復計算の回路図である。 図2は、ブロック内におけるスライディングウィンドウ法の計算過程の模式図である。 図3は、Turboデコーディング器のハードウエア装置の模式図である。 図4は、Turboデコーディング器のハードウエア装置の構造図である。 図5は、並列処理MAPユニットの構造図である。 図6は、MAP計算ユニットの構造図である。 図7は、Turboデコーディング器の状態の転移図である。 図8は、LLR計算ユニットのハードウエアの構造図である。 図9は、フレーム内におけるスライディングウィンドウβ計算の模式図である。 図10は、フレーム内におけるスライディングウィンドウα計算の模式図である。
スライディングウィンドウアルゴリズムはS.Benedetto等者により提供する固定のデコーディング遅延を備える連続デコーディングアルゴリズムであり、スライディングウィンドウlog-MAPアルゴリズムは1つのフレームデコーディングデータを複数の長さがDであるサブフレームに分け、サブフレームを単位デコーディングとして、デコーディングアルゴリズムは、また、log-MAPアルゴリズムを採用し、それぞれのサブフレームテール部が多くL個のデコーディングデータを処理して逆方向状態メトリックを初期化することに用いられる異なる点がある。ところで、計算とシミュレーションから明らかように、直接にスライディングウィンドウlog-MAPアルゴリズムを用いるTurboデコーディング器は、LTEが規定する100Mbpsのデコーディング速率までに到達しようとすると、また巨大の距離がある。
そのため、本発明は、自己適応の段分割並列スライディングウィンドウlog-MAPアルゴリズムを用いてTurboデコーディングする方法を提供する。
本発明の考えは、デコーディング待ちフレームデータを先に順に均一にN個のブロック(Nが1、2、4、8を選択できる)に分けて、これらのN個のブロックの間及びそれぞれのブロック内部にそれぞれスライディングウィンドウアルゴリズムを用いて、簡易しやすいために、N個のブロックの間のスライディングウィンドウ法をフレーム内のスライディングウィンドウと称して、それぞれのブロック内部のスライディングウィンドウ法をブロック内のスライディングウィンドウと称する。
1つのデコーディングフレーム内のN個のブロックは同時に並列してブロック内のスライディングウィンドウを行って、それぞれデコーディング待ちフレームも並列してフレーム内のスライディングウィンドウを行うため、デコーディング遅延を大きく短縮でき、スループットレートを向上させできる。その中、ブロック内のスライディングウィンドウ方法が一般的なスライディングウィンドウアルゴリズムと類似し、スライディングウィンドウの長さw=D+Lに設置され、N個のブロックが同時に並列してブロック内のスライディングウィンドウ演算を行って、フレーム内のスライディングウィンドウを実現するために、それぞれのブロックがブロック内のスライディングウィンドウする際に、逆方向状態ベクトルをブロック内にスライディングウィンドウ計算するだけでなく、順方向状態ベクトルをブロック内にもスライディングウィンドウ計算し、図2に示すようにである。その中、逆方向状態ベクトル計算時の最後の1つのウィンドウの初期値及び順方向状態ベクトル計算時の第1個のウィンドウの初期値はフレーム内のスライディングウィンドウ計算によって得られる。
本発明を実現するデコーディング装置には、図3に示すように、入力記憶モジュール、処理モジュール、制御モジュール、および出力モジュールを備え、その中、
入力記憶モジュールは、制御モジュールの制御によって、入力したデコーディング待ちフレームをブロック分割し、システム軟ビットとしてそれぞれのサブブロックをそれぞれ記憶すること、入力したチェック軟ビットを記憶すること、処理ユニットが出力した先験情報を受信して記憶し、次回のコンポーネントデコーディング際、処理ユニットに出力すること、1回のコンポーネントデコーディングの過程中に、出力処理ユニットが必要な先験情報、システム軟ビット及びチェック軟ビットを計算することという操作を完成することに用いられ、
処理モジュールは、1つのデコーディング待ちフレームの複数個のブロック分割を同時に1回のコンポーネントデコーディングし、1回のコンポーネントデコーディングの過程中に、スライディングウィンドウアルゴリズムに従ってそれぞれのサブブロックを複数のスライディングウィンドウに分け、システム軟ビット、チェック軟ビット及び先験情報によってブランチメトリックγ、順方向状態ベクトルα、逆方向状態ベクトルβ、対数尤度比LLR、先験情報というパラメータを計算し、先験情報を前記入力記憶モジュールに出力して記憶し、数回のコンポーネントデコーディング後1回の反復過程を完成し、対数尤度比LLRを出力モジュールに発送し、例えば、1回の反復過程は2回以上のコンポーネントデコーディングを含むと、該処理モジュールは時分割で少なくとも2回のコンポーネントデコーディングを完成することができる。その中、1回の反復過程中の第1回のコンポーネントデコーディングは入力記憶モジュールが入力したシステム軟ビット、第2先験情報(即ち前回の反復過程中に最終回のコンポーネントデコーディングの結果)及び第1チェック軟ビットによって行い、第2回コンポーネントデコーディングは入力記憶モジュールが入力したシステム軟ビット、第1先験情報(即ち第1回のコンポーネントデコーディングで、つまり、前回のコンポーネントデコーディングの結果)及び第2チェック軟ビットによって行い、
制御モジュールは、各のモジュールの間の操作を制御及び協調し、処理モジュールのコンポーネントデコーディング過程、反復過程における制御信号を生成し、入力記憶モジュール制御信号、出力モジュール制御信号を生成し、及び、出力モジュールのフィードバック信号によって入力記憶モジュール及び処理モジュールが続けてデコーディング過程を行って、またはデコーディング過程を停止することをイネーブルすることに用いられ、
出力モジュールは、対数尤度比LLRに対して硬判定を行って、硬判定の結果が反復カットオフ条件を満たすかどうかを判断し、制御モジュールへフィードバック信号を出力し、且つ計算結果がカットオフ条件を満たす際、デコーディング反復計算結果をデコーディング結果として出力することに用いられる。
以下、具体的に本発明が提出した自己適応段分割並列スライディングウィンドウLog-MAPアルゴリズムに基づくTurboデコーディング装置を説明する。
・入力記憶モジュール
入力記憶モジュールは、入力メモリ制御器ユニット、先験情報メモリユニット、システム軟ビットメモリユニット及びチェック軟ビットメモリユニットを含み、そのうち、
先験情報メモリユニットは、それぞれ数回のコンポーネントデコーディングの結果を記憶することに用いられ、図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に示すように、さらにシステム軟ビットメモリ、インターリーバ1及びマルチプレクサ2を含み、該システム軟ビットメモリは、2つの出力端を有し、1つの出力端が直接にデータをマルチプレクサ2の1つの入力端に出力し、もう1つの出力端がデータをインターリーバによってインターリーブした後、マルチプレクサ2のもう1つの入力端に入力し、マルチプレクサ2の制御端が制御モジュールに接続する。該システム軟ビットメモリは、入力コードブロックが分割された後の各のサブブロックを記憶することに用いられ、これらのサブブロックがシステム軟ビットも称され、該マルチプレクサ2は、制御モジュールの制御信号によって第1回のコンポーネントデコーディングDEC1演算の際に処理モジュールへシステム軟ビットを出力することに用いられ、第2回のコンポーネントデコーディングDEC2演算の際に処理モジュールへインターリーブした後のシステム軟ビットを出力することに用いられる。システム軟ビットメモリユニットにおけるインターリーバが先験情報記憶ユニットにおけるインターリーバを複用して、もちろん、他の実施例において、もう1つのインターリーバ3で実現することもできる。
チェック軟ビットメモリユニットは、入力したチェック軟ビットを記憶することに用いられ、図3に示すように、さらに、チェック軟ビットメモリ1、チェック軟ビットメモリ2及びマルチプレクサ1を含み、該チェック軟ビットメモリ1が第1チェック軟ビットをマルチプレクサ1の1つの入力端に出力し、該チェック軟ビットメモリ2が第2チェック軟ビットをマルチプレクサ1のもう1つの入力端に出力し、マルチプレクサ1の制御端が制御モジュールに接続する。該チェック軟ビットメモリ1は、入力メモリ制御器ユニットから入力した第1チェック軟ビットを記憶することに用いられ、該チェック軟ビットメモリ2は、入力メモリ制御器ユニットから入力した第2チェック軟ビットを記憶することに用いられる。マルチプレクサ1は、制御モジュールの制御信号によって第1回コンポーネントデコーディングDEC1及び第2回コンポーネントデコーディングDEC2演算の際、それぞれ第1チェック軟ビット、第2チェック軟ビットを選択して入力データとすることを制御することに用いられる。
入力メモリ制御器ユニットは、制御モジュールの制御信号によって、各のメモリの読み書き制御信号を生成し、制御モジュールが確定したサブブロック数によってデコーディング待ちデータフレーム(コードブロック)をブロック分割した後、システム軟ビットメモリユニットまで記憶する。
上記システム軟ビットメモリ、チェック軟ビットメモリ1及びチェック軟ビットメモリ2の設計方法が同じである。本発明の自己適応段分割並列スライディングウィンドウLog-MAPアルゴリズムの計算要求に合わせるために、3つの入力メモリがそれぞれ8つの並列読み取り、シリアル書込み可能な独立のサブメモリからなるように設計し、各の8つのメモリ書き込みアドレスが連続し、順次少しずつ増加し、読み取る際に8つのサブメモリアドレスが独立する。各の8つのサブメモリが1つの大きいメモリを組み立て、即ち、システム軟ビットメモリまたはチェック軟ビットメモリ1、またはチェック軟ビットメモリ2。デコーダのスループットレートを向上させるために、さらに、メモリを設計してピンポン操作のメモリになってもよく、即ち、それぞれのサブメモリの容量を設計してピンポン操作の必要の大きさに設定する、LTEにおいて、最大のコードブロックの長さが6144であり、均一に8つのブロックに分けた後、それぞれのコードブロック大きさが768であり、それぞれのサブメモリは1つの大きさが768であるコードブロックを記憶し、ピンポン操作を支持するために、それぞれのサブメモリを設計して768*2、即ち、1536バイトの大きさに設定する、ここのメモリの幅が入力したシステム軟ビット又はチェック軟ビットデータ又は先験情報データのビット幅によって決まる。入力データがシステム軟ビットメモリに書き込む際、制御モジュールがコードブロックの長さによって入力したコードブロックをN等分に分け、Nが違いコードブロックの長さによって1、2、4又は8であっても良い。入力メモリ制御器ユニットによって入力データをそれぞれシステム軟ビットメモリのN個のサブメモリに書き込み、それぞれのメモリに同じ大きさの等分した後のデータブロックを記憶する。
先験情報メモリ1及び先験情報メモリ2の設計が上記3つのメモリと似て、2つのメモリがすべて8つのサブメモリからなり、ピンポン操作を支持するために、それぞれのサブメモリの大きさが768*2、即ち、1536バイトであり、メモリの幅が先験情報データの幅に等しい。ただし、区別は、該先験情報メモリ1および先験情報メモリ2が8パスのデータの並列読み書きを支持し、先験情報メモリを組み立てる各の8つのサブメモリデータバス及びアドレスバスが独立し、読み書きイネーブル信号も独立することである。
システム軟ビットメモリの読み書き制御規則は、書き込み際、システム軟ビットメモリを組み立てる8つのサブメモリがアドレス及びデータバスを共有し、各のサブメモリが順次データを書き込み、イネーブル信号を順次生成し、即ち、入力データブロックがN等分された後、先に第1個のサブメモリをイネーブルし、第1のサブブロックデータを第1個のサブメモリに書き込み、書き込む済の後、第2個のサブメモリをイネーブルし、第2のサブブロックデータに書き込み、第Nのブロックデータを書き込む済まで、順次そのように行う。アドレス信号の生成は、ベースアドレス(ピンメモリ及びポンメモリを区別することに用いられ)及びオフセットアドレス(ピン又はポンメモリの内部データを定位することに用いられ)に分け、ライトアドレスはベースアドレスにオフセットアドレスを加えることであり、N個の順次イネーブルするサブメモリの書き込みデータのオフセットアドレスが連続に増加し、アドレス0が、第1個のサブメモリの0アドレスから、第N個のサブメモリの最後の1つの書き込みデータアドレスまでカットオフする。ベースアドレスの生成がピンポン操作によって確定し、ピンポン操作のイネーブル信号が制御モジュールによって入力し、入力メモリ制御器ユニットがピンポン操作イネーブル信号により読み書きメモリのベースアドレスを生成し、ピン操作際、ベースアドレスが0であり、ポン操作際、ベースアドレスが768である。データを読み取る際、制御信号の生成が現在のデコーディングの実施過程状態によって決まりすべき、処理モジュールが第1回のコンポーネントデコーディングDEC1の演算を行う際(即ち、普通に言われたMAP1演算であり)、リードアドレスが直接アドレス(即ち、インターリーブを経てる必要がなく)であり、処理モジュールが第2回のコンポーネントデコーディングDEC2の演算を行う際(即ち、普通に言われたMAP2演算)、リードアドレスがインターリーブした後のアドレスである。N個のアクティブにしたサブメモリが並列読み取りを行って、各のサブメモリの読みイネーブル信号が同じであり、アドレス及びデータバスが独立し、直接アドレスを生成する際、ベースアドレスがピンポン操作の制御信号によって決まるし、ピン操作際、ベースアドレスが0であり、ポン操作際、ベースアドレスが768であり、オフセットアドレスの各のサブメモリが同じであり、0からK/N-lまで次第に増加し(Kがデコーディングデータブロックの長さであり、Nが等分コードブロックの個数であり)、読みアドレスがベースアドレスにオフセットアドレスを加えることである。直接アドレスをインターリーバに送信し、インターリーブした後のアドレスを生成する。
チェック軟ビットメモリ1及びチェック軟ビットメモリ2の書き込み操作がシステム軟ビットメモリと同じであるが、読み取る際、すべて直接アドレスに従って読み取る。第1回のコンポーネントデコーディングDEC1演算を行う際、チェック軟ビットメモリ1をイネーブルしてデータの並列読み取りを行って、第2回のコンポーネントデコーディングDEC2演算を行う際、チェック軟ビットメモリ2をイネーブルしてデータの並列読み取りを行う。
入力メモリ制御器ユニットは、さらに、先験情報メモリ1、2の読み書き制御信号を生成することを担当する。先験情報メモリ1の書き込みデータは、第1回のコンポーネントデコーディングDEC1が出力した結果であり、データが直接アドレスに従って書き込み、N個のアクティブにしたMAP演算サブユニットが生成したデコーディング出力先験情報は、それぞれ相応の先験情報メモリ1のサブメモリに書き込む。先験情報メモリ1の読み取り際、アドレスがインターリーブアドレスであり、即ち、先験情報メモリ1のデータをインターリーブし読み取り、第2回のコンポーネントデコーディングDEC2に送信してMAP2演算を行う。ピンポン操作とシステム軟ビットメモリが同じである。先験情報メモリ2の書き込みデータは、第2回のコンポーネントデコーディングDEC2が出力した結果であり、データ書き込み際、アドレスがインターリーブアドレスであり、即ち、インターリーブして書き込み、読み取り際、直接アドレスに従って読み出し、第1回のコンポーネントデコーディングDEC1に送信してMAP1演算を行う。ピンポン操作とシステム軟ビットメモリが同じである。
・制御モジュール
即ち、図3における並列デコーディング総制御器であり、処理モジュールのデコーディングの制御信号を生成することに用いられ、該制御信号は、主に、処理モジュールの実施のタイミング(例えば順、逆方向状態ベクトル計算イネーブル信号、LLR計算イネーブル信号等)を制御することに用いられ、入力メモリ制御器ユニットの制御信号(如ピンポン操作制御等)を生成し、及びメモリ制御器ユニットの制御信号を出力して、それぞれ入力記憶モジュール及び出力モジュールに送信することに用いられ、及び、各マルチプレクサの制御信号を生成することに用いられ、さらに、出力モジュールにおける反復カットオフ判断ユニットのフィードバック信号によってデコーダ反復イネーブル信号を生成することに用いられ、該信号が全体のデコーディング演算を続けて行うかどうかの制御信号であり、制御モジュールがほかの上記制御信号を生成する総イネーブル信号である。反復カットオフ判断ユニットがフィードバックしたデコーディング結果がカットオフ条件を満たすフィードバック信号を受信する際、制御モジュールが出力モジュールを制御してデコーディング結果を出力し、且つ入力記憶モジュール、処理モジュールへ処理停止の信号を送信し、Turboデコーディングの反復計算が終わり、即ちMAPデコーディングの演算が終わり、反復カットオフ判断ユニットがフィードバックしたデコーディング結果は、カットオフ条件を満たさないフィードバック信号を受信する際、制御モジュールが処理モジュールを制御して処理結果を入力記憶モジュールにフィードバックして、続けてデコーディングの反復計算を行う。
並列デコーダ制御器の設計とデコーダのデコーディング過程とは関連があり、単回のMAP演算過程を制御するだけでなく、さらに多回の反復MAP演算の過程を制御する。
並列デコーディング器制御器がさらに、デコーディング待ちブロックの自己適応段分割選択制御信号を生成することに用いられ、例えば、コードブロックの長さによってN値を確定し、並列処理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つのパスを出力モジュールにおける硬判定ユニットに出力する。
並列処理MAPユニットは、図1に示された第1コンポーネントデコーディングDEC1及び第2コンポーネントデコーディングDEC2の機能を実現することに用いられ、これにより、本発明の「自己適応段分割並列スライディングウィンドウlog-MAP」アルゴリズムを実現し、そのうち、DEC1及びDEC2の2つのコンポーネントデコーディング過程に、同じセットの並列処理MAPユニットを時分割多重化する。DEC1計算を行う際、並列処理MAPユニットに入力したデータがシステム軟ビット、第2先験情報、第1チェック軟ビットであり、計算結果が直接アドレスに従って先験情報メモリ1に記憶する。DEC2計算を行う際、並列処理MAPユニットに入力したデータがインターリーブ読み取りのシステム軟ビット、インターリーブ読み取り的第1先験情報、第2チェック軟ビットであり、計算結果は、インターリーブアドレスに従って先験情報メモリ2に書き込む。2回のMAP演算(即ち、DEC1及びDEC2の演算)後、1回のTurboデコーディングの反復計算過程を完成する。
以下、詳しくて並列処理MAPユニットの構造及び計算過程を説明する。
並列処理MAPユニットは、複数の独立のMAP計算ユニットを含み、MAP計算ユニットがコンポーネントデコーディングを完成することに用いられ、複数のMAP計算ユニットが並列デコーディングを支持することができる。例えば、8つのMAPユニット(図5に示すように)を含み、Nの最大が8である場合の並列デコーディングを支持することができ、Nが8でない際、ただ相応の数量だけのMAP計算ユニットをアクティブにすることができる。アクティブにした複数の並列の処理サブユニットが相応の先験情報メモリ、システム軟ビットメモリ、チェック軟ビットメモリにおける複数のサブメモリを並列読み取る。読み取られたデータがN個のMAP処理サブユニットに並列送信される。図6に示すように、それぞれのMAP計算ユニットは、γ計算ユニット1、β計算ユニット、βメモリ、γ計算ユニット2、α計算ユニット、LLR計算ユニットからなる。αとβはそれぞれ順方向状態ベクトルと逆方向状態ベクトルである。そのうち、
γ計算ユニット1がβ計算ためのブランチメトリック計算を行って、計算した後得られた逆方向用ブランチメトリックをβ計算ユニットに入力し、γ計算ユニット2がα計算ためのブランチメトリック計算を行って、且つ計算した後得られた順方向用ブランチメトリックをα計算ユニットに入力し、β計算ユニットが逆方向状態ベクトルβを計算することに用いられ、βメモリが計算して得られたβを記憶することに用いられ、該メモリの深度がスライディングウィンドウの長さパラメータの1つのDに等しいし、メモリのビット幅がβ計算結果のビット幅に等しいし、βデータメモリの設計が二重ポートRAMを採用してこれを構成する、それぞれのβデータメモリが8つのサブメモリからなり、これにより、8つの状態量の並列計算を支持し、α計算ユニットが順方向状態ベクトルαを計算することに用いられ、LLR計算ユニットが、対数尤度比及び先験情報(そのうち、第1先験情報及び第2先験情報を含む)を計算することに用いられる。
スライディングウィンドウアルゴリズムを採用しない際、β計算結果を記憶するためのメモリの大きさが入力したデコーディング待ちコードブロックの大きさと同じであり、コードブロックの大きさの増加に従って増加する。スライディングウィンドウ法の実現は、βメモリの大きさを1つの希望の数量レベル内に制御することができ、例えば必要とするメモリがただウィンドウの長さにおけるDの長さに等しいだけでよい、コードブロックの大きさに従って変化しない。
設備を節約するために、時分割多重化によって設備の共有を行う。1つのMAP計算ユニットにとって、二回のブランチメトリックγの計算を行う必要があり、1回がβ計算のため行って、もう1回がα計算のため行って、このため、時間で二回の計算過程を分けて、図6に示すように、縦方向で見えるのは、β計算のため行うγ計算が単独に行い、α計算のため行うγ計算がβの計算と同時に行って、そして、計算して得られたβを記憶して、それと同時にαを計算し、計算して第1個のαを得た後、αとβをともにLLR計算ユニットに入力し、対数尤度比及び先験情報の計算を行うことである。他の実施例に、先に単独にα計算のためγ計算を行ってもよい、さらに、同時に、β計算のためγ計算とα計算を行う。
Turboデコーディングが3つの移位レジスタに対応し、即ち、状態がただ8つだけがあり、デコーディング前とデコーディング後に対応して各8つの状態を有し、状態転移が入力データ(0の可能があり、1の可能があり)と関連し、入力データが異なってデコーディングした後、転移状態も異なって、即ち、図7に示した転移関係のように、それぞれの状態が2種の入力に対応し、隣接の時刻の8つの状態間に16個の転移関係(転移分岐)があり、ただし、4種のブランチメトリック出力値のみを有し、このため、1つのクロックサイクル内にこの4つのブランチメトリックを並列計算し、且つそれぞれ後のαとβ計算ユニットに出力する。
図7に示すように、αの計算が8パスの並列計算を採用することができ、各のパスが1つの状態量に対応し、1つのクロックサイクル内に同時にαの8つの状態量値を計算することができる。同様、βに対する計算もそのようである。
LLR計算ユニットのハードウエア回路構造が図8に示すようであり、一組の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個の結果を減算器に出力し、差を求めて、対数尤度比を得て、該対数尤度比が今回の入力のシステム情報及び先験情報を減って、新しい先験情報を得る。
Log-MAPアルゴリズムの数式によって、LLR計算がMAX又はMAX*類似アルゴリズムを採用して計算する。
Figure 0005479580
LLR計算が以下数式で得られ、
Figure 0005479580
LLR計算が、現在のスライディングウィンドウの第1個のα値が計算された後、計算し始め、即ち、α計算よりも1つのクロックサイクル遅延して始まる。上記の数式で分かるようにLLR計算過程が以下のようである。
(1)第1組
Figure 0005479580
及び第2組
Figure 0005479580
における各の8つのα、β和γの和を計算し、並列計算回路を採用して、即ち、各の組8つのともに16個の3入力加算器を実現し、同時に二つの組の各8つの和値を計算して得る。
(2)それぞれ各の組の8つの和値に対して二つで隣接する値のmax*演算を行って、並列回路を採用して実現することもでき、すなわち、各の組が4セットのmax*計算ユニットを必要とし、ともに8セットのmax*計算ユニットを必要とする。該ステップを経て、計算した後、各の組の各4個の結果を得る。
(3)第2ステップで得られた各組の各4個の結果がまた、二つで組み立て、max*演算を行なって、各の組がそれぞれ2個の結果を得る。並列計算を採用して、該ステップが各の組に2セットのmax*計算ユニットを必要とし、ともに4セットのmax*計算ユニットを必要とする。
(4)第3ステップで得られた各の組のそれぞれ2つの結果に対して続けてmax*演算を行なって、各の組の各1つの値を得る。並列計算を採用して、各の組が1セットのmax*計算ユニットを必要とし、ともに2セットのmax*計算ユニットを必要とする。
(5)第4ステップで得られた2つの組のデータの値の差を計算する。すなわち、最後の結果L(dk)を得る。
そのうち、ステップ1〜5がパイプライン構造を採用して実現し、それぞれのステップが1つのクロックサイクル内に演算し、パイプライン構造の1つのビートとする。該構造がLLRの単一のクロックサイクルの連続出力を保証することができる。
・出力モジュール
出力モジュールは、硬判定ユニット、反復カットオフ判断ユニット及び出力メモリ制御器ユニットを含み、硬判定ユニットは、処理モジュールが出力した第2先験情報を受信し、それぞれを反復カットオフ判断ユニット及び出力メモリ制御器ユニットに送信し、該反復カットオフ判断ユニットは、硬判定結果がカットオフ条件を満たすかどうかを判断し、制御モジュールへ条件を満たすフィードバック信号または条件を満たさないフィードバック信号を出力し、カットオフ条件を満たす時、制御モジュールが該出力メモリ制御器ユニットへ出力信号を送信し、該出力メモリ制御器ユニットによってデコーディング結果を出力する。
硬判定ユニットは、第2回のコンポーネントデコーディングDEC2が出力したLLR結果に対して硬判定を行なって、計算結果が零よりも大きいであると、1と判定し、そうしないと0と判定する。
反復カットオフ判断ユニットは、リアルタイムに毎回の反復した後のデコーディング結果に対して判断することに用いられ、デコーディング結果が、設定された反復回数に達すること、デコーディングした後のコードブロックデータの巡回冗長検査CRCの計算結果が正確であることを判断することのいずれの条件満たすと、反復カットオフ条件を満足することを考え、反復をカットオフする。LTEコードブロック特徴によって、それぞれの分割した後のコードブロックがすべてCRCチェック軟ビットを含み、このため、デコーディングした後のデータのCRCを計算することによってカットオフするかどうかを決めるし、CRC計算結果が精確であると、デコーディング結果が精確であり、カットオフすることができる。
並列MAP計算ユニットを合わせるために、反復カットオフ判断ユニットが設計されて並列計算になることもでき、例えば、並列CRC計算を採用して並列反復カットオフ判断を実現する。
上記Turboデコーディング器においてともに3箇所がインターリーバを使用した、第1箇所が第2回のコンポーネントデコーディングDEC2計算際、システム軟ビットをインターリーブして読み取る必要があり、第2箇所が第2回のコンポーネントデコーディングDEC2計算際、第1先験情報をインターリーブ読み取る必要があり、第3箇所が第2回のコンポーネントデコーディングDEC2計算際、第2先験情報をインターリーブ出力して先験情報メモリ2に書き込み、且つ同時に硬判定モジュールに送信し、硬判定処理を行う。ハードウエアを実現する際、第1箇所と第2箇所のインターリーバが複用させることができ、DEC2演算際、システム軟ビットメモリと先験情報メモリ1からデータを取って、インターリーブアドレスが完全に同じであるからである。
本発明におけるインターリーバの設計も並列処理MAPユニットに合わせて、並列計算方法を採用して、ハードウエアに多くとも8パスの並列計算を支持し、デコーディング総制御器が計算して得られたN値によって、Nパスの並列計算ユニットを選択アクティブにして、同時に、並列処理MAPユニットが必要とするインターリーブデータを計算して得る。
本発明に提出した並列Turboデコーダのハードウエア装置が前文に説明するように、本発明が提出した「自己適応段分割並列スライディングウィンドウLog-MAPアルゴリズム」及び相応のハードウエア装置に基づくTurboデコーディング過程が以下のように説明する。
入力したチェック軟ビット及びデコーディング待ちフレームを記憶し、デコーディング待ちフレームを記憶する際、前記デコーディング待ちフレームをブロック分割して、それぞれサブブロックを記憶して、システム軟ビットとし、1つのデコーディング待ちフレームの複数のサブブロックに対して同時に1回のコンポーネントデコーディングを行なって、1回のコンポーネントデコーディングの過程に、スライディングウィンドウアルゴリズムに従って、それぞれのサブブロックを複数のスライディングウィンドウに分けて、システム軟ビット、チェック軟ビット及び先験情報によって、ブランチメトリックγ、順方向状態ベクトルα、逆方向状態ベクトルβ、対数尤度比LLR、先験情報というパラメータの計算を行なって、先験情報を記憶して次回のコンポーネントデコーディング際に使用し、数回のコンポーネントデコーディングを行った後、1回のデコーディング過程を完成し、対数尤度比LLRに対して硬判定を行なって、硬判定の結果が反復カットオフ条件満たすかどうかを判断し、満たすと、デコーディング結果を出力し、そうしないと、続けて次回の反復デコーディング過程を行なう。
さらに、上記デコーディング方法は、以下のステップを含むことができ、
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は、コードブロック長さを表わす。
以下で、本発明方法において自己適応の段分割並列スライディングウィンドウLog-MAPアルゴリズムによってTurboデコーディングする過程を具体的に説明する。
tがウィンドウのカウント値を表し、kがそれぞれのウィンドウ内データカウント値を表し、kの取る値が1〜D+Lであり、その中、1≦t≦「(KL)/ND」、Kがデコーディング待ちデータフレーム長さを表し、Nが並列処理したサブブロック数を表し、Dがスライディングウィンドウ法の基本的なウィンドウの長さを表し、Lが初期値計算に必要な重なりウィンドウの長さ(overlap window)であり、1≦L≦D、好ましくはL=32、D+Lが1つの健全なスライディングウィンドウの長さを表す。
1)第1のウィンドウの長さの逆方向状態ベクトルの計算。
t=lと仮定し、先にβ初期値を計算し、デコーディング待ちデータフレームをN等分した後、それぞれのデータブロックの長さが設定したウィンドウの長さD+Lよりも小さいであると、該データブロックには1つのスライディングウィンドウだけを含み、初期値が0であり、順次逆方向反復してデータブロック全体のβ値を計算し、でないと、デコーディング器ウィンドウの長さがD+Lに等しい際に、βkを計算し始め、このとき、
Figure 0005479580
が完全に未知であり、この条件が、k+l時刻で、エンコーダがいずれの状態にあることに相当するので、
Figure 0005479580
を、
Figure 0005479580
を計算する再帰初期量とする。そして、L回の
Figure 0005479580
の再帰計算を行なって、このL個の
Figure 0005479580
の信頼度が恐らくあまり高くないので、
Figure 0005479580
(先験情報)を計算することに用いることができない。L回の再帰計算した後、
Figure 0005479580
の信頼度がもう高いレベルに次第に増加して、D時刻の
Figure 0005479580
を計算することに用いることができ、だがら、k=Dからk=lまでの時間範囲のすべての
Figure 0005479580
値が、再帰計算して得られる。k=D+Lからk=Dまでの範囲内、
Figure 0005479580
の計算過程が逆方向の設立過程であり、これは、ブロック内のスライディングウィンドウ法の応用である。計算過程中にただD長さ部分のβ値だけを記憶し、即ち、k=Dからk=lまでの時間範囲のすべての
Figure 0005479580
値である。これらの値をβデータメモリに記憶する。N個のデータブロックが並列計算し、同じ計算過程を実施する。
2)第1個のウィンドウの長さの順方向状態ベクトル計算及び対数尤度比LLR計算
第1個のウィンドウ(t=l)のα値は、第1個のデータブロックの第1個のウィンドウであると、初期値が0であると仮定し、k=lからk=Dまでの長さのαkを再帰計算し、そうしないと(第N個のブロックの第1個のウィンドウ、N>l)、他の並列計算のデータブロックの第1個のウィンドウのαkの計算初期値が0を取ることができなく、即ち、先に0時刻に用いるα0(S0)を計算し、該初期値は、前のデータブロックのテイルL長さデータを計算することによって得られ、
Figure 0005479580
をαkを計算する再帰初期量とする。そして、L回のαk再帰計算を行って、L回の再帰計算を経た後、前の一つのデータブロックの最後の1つのデータの
Figure 0005479580
の信頼度がもう高いレベルに次第に増加し、次の一つのデータブロック0時刻のa0(S0)を計算することに用いられ、これは、フレーム内のスライディングウィンドウ法の応用である。N個のデータブロックが並列計算して、初期値の計算過程が異なっていることのほかに、同じ計算過程を実施する。
順方向状態ベクトルを計算するとともに、対数尤度比LLRを計算する。
3)中間ウィンドウの逆方向状態ベクトルの計算
中間ウィンドウの逆方向状態ベクトルβの計算と第1個のウィンドウのアルゴリズムが同じであり、先にL回の
Figure 0005479580
再帰計算を行なって、すなわち、k=D+Lからk=Dまでの範囲内に
Figure 0005479580
計算を行なって、D+l時刻の
Figure 0005479580
値を得て、D長さ
Figure 0005479580
の再帰計算の初期値とする。そして、k=Dからk=lまでの時間範囲のすべての
Figure 0005479580
の再帰計算を行なって、D長さの
Figure 0005479580
値を記憶する。N個のデータブロックが並列計算し、同じ計算過程を実施する。
4)中間ウィンドウの順方向状態ベクトル計算及び対数尤度比LLR計算
中間ウィンドウの順方向状態ベクトルは、ブロック内のスライディングウィンドウ法によって計算を行なって、前の1つのウィンドウの最後の1つのデータのα値が現在のウィンドウαk計算の初期値とし、即ち、t-l個のウィンドウのαD(SD)値が、第t個のウィンドウのα0(S0)を計算する初期値とする。順次D回の再帰計算を実施し、即ち、k=lからk=Dまでの範囲内のαkの計算である。N個のデータブロックが並列計算して、同じ計算過程を実施する。
αkを計算する同期に対数尤度比LLRの計算を行なって、N個のデータブロックが並列計算して、同じ計算過程を実施する。
5)最後の1つのウィンドウの逆方向状態ベクトル計算
最後の1つのウィンドウの逆方向状態ベクトル計算は、最後の1つのデータブロック(N=l際が第1のブロックであり、N=2際、第2のブロックであり、N=4際、第4のブロックであり、N=8際、第8つのブロックであり)であると、最後の1つのデータブロックの最後の1つのウィンドウの逆方向状態ベクトル
Figure 0005479580
を計算する際、初期値が0を取る。他の並列計算のデータブロックの最後の1つのウィンドウの初期値計算方法は、計算の初期値が0を取ることができなく、即ち、先にD時刻に用いる
Figure 0005479580
を計算する必要があり、該初期値が後の一つのデータブロック(N個のデータブロックが順次配列し、第1のブロックから第Nのブロックまで)のヘッドLの長さデータを計算することによって得られ、
Figure 0005479580
を、
Figure 0005479580
(KがLから0まで)を計算する再帰初期量とする。そして、L回の
Figure 0005479580
再帰計算を行なって、L回の再帰計算を経た後、後の一つのデータブロックの第1個のデータの
Figure 0005479580
の信頼度がもう高いレベルに次第に増加し、前の一つのデータブロックのD時刻の
Figure 0005479580
を計算することに用いられ、フレーム内のスライディングウィンドウ法によって、現在のデータブロックの最後の1つのウィンドウの
Figure 0005479580
計算際の初期値を得て、そして、D回の再帰計算を行なって、順次D個の逆方向状態ベクトルを得て、相応のメモリに記憶する。
N個のデータブロックが並列計算して、初期値の計算過程のほかに、同じ計算過程を実施する。
6)最後の1つのウィンドウの順方向状態ベクトル計算及び対数尤度比LLR計算
最後の1つのウィンドウの順方向状態ベクトル計算は、比較的に簡単であり、計算過程が中間ウィンドウの順方向状態ベクトル計算過程と同じであり、N個のデータブロックの最後の1つのウィンドウの順方向状態ベクトルが並列計算して、同じ計算過程を実施する。同期に対数尤度比LLRの計算を実施する。
上記ステップ1)から6)までの計算を経て、デコーディング待ちデータフレームの1回のコンポーネントコードの最良デコーディングを完成し、次回のコンポーネントデコーディングに必要な先験情報を得る。逆方向状態ベクトルの計算が図9を参照することができ、順方向状態ベクトルの計算が図10を参照する。
よりはっきり本発明が提出した並列Turboデコーダの方法及びハードウエア装置の作業原理を説明するために、以下、具体的な実施例を結合して説明する。
以下、LTEにおける2つの長さがそれぞれ512と1024であるコードブロックのデコーディング過程を例として説明する。
開始の際、Turboデコーディング器の内部の入力メモリ(システム軟ビットメモリ、チェック軟ビットメモリ1、2を含み)が空であると仮定する。だがら、ピンメモリとポンメモリがすべて空と仮定する、長さが512であるコードブロックの入力が許可され、コードブロックの長さ512によって、自己適応したN=lを選択し、ただシステム軟ビットメモリ、チェック軟ビットメモリ1、2の第1個のサブメモリだけをアクティブにし、即ち、データがすべて第1個のサブメモリのピンメモリ空間(即ベースアドレスが0である空間)に書き込む。入力データの書き込みが完成した後、ピンメモリデータが有効に設置され、且つ該ピンメモリを書き込みことを許可ないように設置し、デコーディングを待ち。そして、並列MAP処理ユニットがアイドルであることを判断する際、デコーディング過程を起動する。この際、第2個のコードブロックの長さが1024であるデータブロックが到達すると、この際の入力メモリの状態を判断し、ポンメモリが空であるので、書き込みを許可し、コードブロックの長さ1024によって、自己適応したN=2を選択し、システム軟ビットメモリ、チェック軟ビットメモリ1、2の第1個及び第2個のサブメモリをアクティブにし、即ち、データの前の512個が第1個のサブメモリのポンメモリ空間(即ちベースアドレスが768である空間)に書き込み、データの後の512個のデータが第2個のサブメモリのポンメモリ空間に書き込む。ポンメモリデータが有効であるように設置され、且つ該ポンメモリを書き込みことを許可しないように設置され、デコーディングを待ち。
長さが512であるデータブロックの書き込みが完成して且つメモリが有効であるように設置された後、MAP処理ユニットがアイドルである際、該コードブロックのデコーディングを起動し、且つ並列処理MAPユニットが忙しいであることに設置する。この際、N=lであるので、第1個のMAP計算ユニットのみをアクティブにする。MAP計算ユニットの作業過程に従って反復計算を行なって、設定された反復回数に達し、又はカットオフ条件を満たすことまで、現在のコードブロックのデコーディング過程を終了する。該コードブロックのデコーディングが終了した後、並列処理MAPユニットをアイドルに設置し、同時に、相応の入力メモリを、書き込みイネーブル即ち空状態に設置する。
この際、デコーディングの待ちにおける第2個のコードブロックは、長さが1024であるコードブロックで、メモリデータの有効と並列処理MAPユニットのアイドル条件を同時に満たすので、長さが1024であるコードブロックのデコーディング過程を起動し、起動するとともにパラメータ(コードブロックの長さ、反復回数)を更新し、N=2であるので、第1個と第2個のMAP計算ユニットをアクティブにし、2つのMAP計算ユニットが並列で入力メモリ、先験情報メモリからデータを読み取り、MAP計算を行なう。設定された反復回数に達し、又はカットオフ条件を満たすまで、現在のコードブロックのデコーディング過程を終了する。該コードブロックのデコーディングが終了した後、並列処理MAPユニットがアイドルに設置され、同時に相応の入力メモリを、書き込みイネーブル、即ち空状態に設置する。
そのように行なって、新しいコードブロック入力があると、前記の過程を繰り返す。本発明は、入力コードブロックの長さによって自己適応したNの大きさを選択し、相応の個数のMAP計算ユニット及び相応のメモリをアクティブにして並列反復デコーディングを行なう。同時にそれぞれのMAP計算ユニット内部に、また、十分に並列処理及びパイプライン技術を応用し、デコーディング過程を加速する。デコーディング遅延を、できるだけ減らさせる、これにより、デコーディング器のデータスループットレートを向上させる。
だがら、本発明が提出したTurbo並列デコーディング方法及び相応のハードウエア装置は、高効率のデコーディング性能を有し、良好的にLTEシステムの低遅延、高スループットレートのリアルタイム処理性能の要求を満たすことができる。
本発明は、自己適応段分割並列スライディングウィンドウlog-MAPアルゴリズムを設計し且つ採用してTurboデコーディングを行なって、該自己適応段分割並列スライディングウィンドウLog-MAPアルゴリズムは、log-MAPアルゴリズムとスライディングウィンドウアルゴリズムに対する改善及び向上であり、並列演算を支持でき、これにより、デコーディング遅延を減らすし、デコーディング速率を増やすし、適当にスライディングウィンドウパラメータDとLを選択することによって、自己適応段分割並列スライディングウィンドウLog-MAPアルゴリズムが小さい実現規模と記憶容量のかかりによってデコーディング速率の数倍の向上を実現し、特にFPGA/ASICハードウエアが高速のTurboを実現するデコーダに適用し、これにより、LTEシステムの性能要求を満たす。

Claims (15)

  1. 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デコーディングのデコーディング装置。
  2. 該入力記憶モジュールは、入力メモリ制御器ユニット、先験情報メモリユニット、システム軟ビットメモリユニット及びチェック軟ビットメモリユニットを含み、そのうち、
    該入力メモリ制御器ユニットは、各のメモリの読み書き制御信号を生成し、制御モジュールが確定されたサブブロック数によってデコーディング待ちデータフレームをブロック分割した後、システム軟ビットメモリユニットに記憶することに用いられ、
    チェック軟ビットメモリユニットは、入力したチェック軟ビットを記憶し、第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に記載の装置。
  3. 前記システム軟ビットメモリ、第1チェック軟ビットメモリ、第2チェック軟ビットメモリは、それぞれ並列読み取り、シリアル書込み可能な複数の独立のサブメモリからなり、各のサブメモリの書き込みアドレスが連続し、前記第1先験情報メモリ及び第2先験情報メモリがそれぞれ並列読み書き可能な複数の独立のサブメモリからなり、各のサブメモリの書き込みアドレスが連続である請求項2に記載の装置。
  4. 前記システム軟ビットメモリ、第1チェック軟ビットメモリ、第2チェック軟ビットメモリ、第1先験情報メモリ及び第2先験情報メモリがいずれもピンポン操作を支持し、各のメモリが8つのサブメモリからなり、各のサブメモリの大きさが1536バイトである請求項3に記載の装置。
  5. 前記処理モジュールは、並列処理MAPユニット、第4マルチプレクサ及び第2インターリーバを含み、並列処理MAPユニットは入力記憶モジュールが出力したデータを受信し、数回のコンポーネントデコーディング処理、反復処理をした後、デコーディング過程を完成してデコーディング結果を第4マルチプレクサの入力端に出力し、前記第4マルチプレクサの制御端が制御モジュールに接続され、前記第4マルチプレクサが制御モジュールの制御信号によって第1回のコンポーネントのデコーディング際に第1先験情報を第1先験情報メモリに出力し、第2回のコンポーネントのデコーディング際に、第2先験情報を第2インターリーバに出力することを制御し、第2インターリーバがインターリーブした後の第2先験情報の1パスを第2先験情報メモリに出力し、もう1パスを出力モジュールに出力する請求項2に記載の装置。
  6. 各の並列処理MAPユニットは、複数の独立の並列コンポーネントデコーディングを完成するためのMAP計算ユニットを含み、各のMAP計算ユニットが第1γ計算ユニット、β計算ユニット、βメモリ、第2γ計算ユニット、α計算ユニット、LLR計算ユニットからなり、そのうち、
    第1γ計算ユニットはβ計算ためのブランチメトリック計算を行って、計算して得られた逆方向用ブランチメトリックをβ計算ユニットに入力し、第2γ計算ユニットはα計算ためのブランチメトリック計算を行って、計算して得られた順方向用ブランチメトリックをα計算ユニットに入力し、β計算ユニットは逆方向状態ベクトルβを計算することに用いられ、βメモリは計算して得られたβを記憶することに用いられ、α計算ユニットは順方向状態ベクトルαを計算することに用いられ、LLR計算ユニットは対数尤度比及び先験情報を計算することに用いられる請求項5に記載の装置。
  7. 前記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に記載の装置。
  8. 前記出力モジュールは、硬判定ユニット、反復カットオフ判断ユニット及び出力メモリ制御器ユニットを含み、そのうち、前記硬判定ユニットは、処理モジュールが出力した先験情報を受信し、それを反復カットオフ判断ユニット及び出力メモリ制御器ユニットにそれぞれ送信し、該反復カットオフ判断ユニットは、硬判定結果がカットオフ条件を満たすかどうかを判断し、制御モジュールへ条件を満たすフィードバック信号または条件を満たさないフィードバック信号を出力し、カットオフ条件を満たすと、制御モジュールが該出力メモリ制御器ユニットへ出力信号を送信し、該出力メモリ制御器ユニットによってデコーディング結果を出力する請求項1に記載の装置。
  9. 前記反復カットオフ判断ユニットは、デコーディング結果が、設定された反復回数に達すること、デコーディングした後のコードブロックデータの巡回冗長検査CRCの計算結果が正確であることを判断することのいずれかの1つの条件を満たすことを判断すると、反復カットオフ条件を満たすことを認める請求項8に記載の装置。
  10. 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デコーディングのデコーディング方法。
  11. 一回のデコーディング過程に、二回のコンポーネントデコーディングを含み、一回のデコーディング過程中に第1回コンポーネントデコーディングがシステム軟ビット、前回のコンポーネントデコーディングで得られた第2先験情報及び第1チェック軟ビットによって行い、第2回のコンポーネントデコーディングがシステム軟ビット、前回のコンポーネントデコーディングで得られた第1先験情報及び第2チェック軟ビットによって行い、初期の第1回のデコーディング過程中の第1回のコンポーネントデコーディング際に、先験情報が0である請求項10に記載の方法。
  12. デコーディング結果が、設定された反復回数に達すること、デコーディングした後のコードブロックデータの巡回冗長検査CRCの計算結果が正確であることを判断することのいずれかの1つの条件を満たすと、反復カットオフ条件を満たすことを認め、反復をカットオフする請求項10に記載の方法。
  13. デコーディング待ちフレーム長さKによって、サブブロックの個数Nを確定し、K≦512である際、N=l であり、512<K≦1024である際、N=2であり、1024<K≦2048である際、N=4であり、2048<K≦6144である際、N=8である請求項10に記載の方法。
  14. L=32である請求項10に記載の方法。
  15. 順方向状態ベクトルαを計算するとともに対数尤度比LLRを計算する請求項10に記載の方法。
JP2012511116A 2009-06-18 2009-06-18 Lteにおける並列turboデコーディングの方法及び装置 Active JP5479580B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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