JP2005526443A - ターボデコーダ用メモリ - Google Patents

ターボデコーダ用メモリ Download PDF

Info

Publication number
JP2005526443A
JP2005526443A JP2004506189A JP2004506189A JP2005526443A JP 2005526443 A JP2005526443 A JP 2005526443A JP 2004506189 A JP2004506189 A JP 2004506189A JP 2004506189 A JP2004506189 A JP 2004506189A JP 2005526443 A JP2005526443 A JP 2005526443A
Authority
JP
Japan
Prior art keywords
decoder
data
external
single memory
input data
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.)
Pending
Application number
JP2004506189A
Other languages
English (en)
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2005526443A publication Critical patent/JP2005526443A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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
    • H03M13/2978Particular arrangement of the component decoders
    • H03M13/2984Particular arrangement of the component decoders using less component decoders than component codes, e.g. multiplexed decoders and scheduling thereof
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/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/65Purpose and implementation aspects
    • H03M13/6563Implementations using multi-port memories

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本発明は、ターボデコーダの分野に関する。このようなデコーダは、第1デコーダ(14)と、第2デコーダ(16)とを備え、各デコーダは、他方のデコーダから来る外部入力データから外部出力データを計算することができる。本発明に係る復号回路は、外部データを格納するシングルメモリ(31)を備える。デコーダが、他方のデコーダから来てシングルメモリの所定のアドレスに格納された外部入力データから外部出力データを計算すると、この外部出力データは、次にこの同一アドレスに書き込まれる。

Description

本発明は、入力データを反復して復号するための復号回路に関し、前記回路は、少なくとも第1デコーダと、第2デコーダとを備え、各デコーダは、入力データと、他のデコーダから来る外部入力データとから、外部出力データを計算することができる。
本発明は、また、このような復号回路によりデータを復号するための復号方法に関する。
本発明は、最後に、この方法のステップを実行するためのプログラムコード命令を備えたプログラムに関する。
本発明は、例えば、衛星通信システムまたはUMTS規格を利用したシステムに適用を見出す。例えば、第3世代携帯電話は、このような復号回路を利用できよう。
多くの通信システムにおいて、ターボコードを利用してトランスミッタからレシーバへデータが送られる。データは、トランスミッタによってターボコードを用いて符号化され、レシーバ側で反復して復号される。UMTS規格を利用した電気通信ネットワークは、このようなシステムの一例である。トランスミッタとレシーバの間で、データはチャネル上を通過する。このチャネルは、ノイズを発生させる可能性があり、ノイズは、レシーバで受信されるデータに誤りを起こさせるかもしれない。
ターボコードの使用により、レシーバ側での適切な誤り訂正が可能となる。よって、このような通信システムは、比較的低い誤り率をもたらす。
図1は、ターボコードを利用した通信システムの例を表す。このようなシステムは、符号化装置ENCと、送信チャネルCHANと、復号装置DECとを備える。符号化装置ENCのレベルにて、第1システマチックリカーシブコーダ11によってデータベクトルS1が符号化され、第1パリティベクトルP1を生成する。これに並行して、データベクトルS1のデータが、第1インターリーバ12によってインターリーブされ、その結果のベクトルが、第2システマチックリカーシブコーダ13により符号化されて、第2のパリティベクトルP2を生成する。
ベクトルのデータインターリーブは、このベクトルの成分を、所定の順序で並べ替え、他のベクトルを得ることを含む。以下において、説明を簡素化するために、ベクトルのデータのインターリーブ、又は、ベクトルのインターリーブを、区別せずに述べる。
まず、データベクトルS1と、第1パリティベクトルP1と、第2パリティベクトルP2とが、送信チャネルCHAN上で、復号装置DECに送られる。
復号装置DECは、第1デコーダ14と、第2デコーダ16と、第2インターリーバ15と、第3インターリーバ17と、デインターリーバ18と、を備える。図1の例では、デコーダ14および16は、ソフトインプット・ソフトアウトプット(SISO)復号器である。
この復号装置DECは、反復して動作する。1回の反復中に、第1デコーダ14は、受信したデータベクトルS1と、第1受信パリティベクトルP1と、第2デコーダ16から来る外部データベクトルとから第1外部出力データベクトルを計算する。第2デコーダ16から外部データベクトルがまだ来てない場合は、これを所定のベクトル、例えば単位ベクトルで置き換える。これは、復号の初回の反復の際に起こりうる。
第1外部出力データベクトルは、第2インターリーバ15によりインターリーブされ、その結果として生じるベクトルが、第2デコーダ16に送られる。第2デコーダ16は、次いで、第2パリティベクトルP2と、データベクトルS1を入力として有する第3インターリーバ17から来るベクトルS2と、第2インターリーバ15から来るベクトルとから、第2外部出力データベクトルを計算する。第2外部出力データベクトルは、次に、デインターリーバ18によってデインターリーブされ、結果として生じるベクトルが第1デコーダ14に送られる。その後、新たな反復を行うことができる。
図2は、復号装置DECの実施を可能とするアーキテクチャの例を表す。復号装置DECは、デコーダ20と、第1メモリ21と、第2メモリ22とを備える。
デコーダ20は、第1デコーダ14および第2デコーダ16の役割を交互に果たす。したがって、デコーダ20は、次の2つのモードで動作する。
−デコーダ20が図1の第1デコーダ14として機能する、SISO1モード
−デコーダ20が図1の第2デコーダ16として機能する、SISO2モード
1回の反復中に、SISO1モードにあるデコーダ20は、図1で詳述したように入力ベクトルを処理し、第1外部出力データベクトルを計算する。デコーダ20は、次にSISO2モードに移り、入力ベクトルを処理し、第2外部出力データベクトルを計算する。このように、デコーダ20は、メモリから外部データを読み込み、メモリに外部データを書き込む必要がある。外部データは、第1および第2メモリ21,22に格納される。
デコーダ20がSISO1モードにある場合、第2メモリ22に格納された外部データベクトルのデインターリーブ読み込み23を実行する。次に、第1外部出力データベクトルを計算し、この第1外部出力データベクトルの第1メモリ21への直線的な書き込み24を行う。次いで、デコーダ20は、SISO2モードに移行する。
デコーダ20がSISO2モードにある場合、第1メモリ21に格納された外部データベクトルのインターリーブ読み込み25を行う。次に、第2外部出力データベクトルを計算し、この第2外部出力データベクトルの第2メモリ22への直線的な書き込み26を行う。
デインターリーブ読み込み23と、インターリーブ読み込み25とは、図2に示されていないデインターリーバとインターリーバとにより、それぞれ行われる。
この復号システムの欠点は、外部データベクトルを格納するために2つのメモリを必要とする点にある。使用される、例えばUMTS規格のターボデコーダにおいて、外部データベクトルは5114のデータを含む。その結果、外部データの格納に必要なメモリのセットは、かなりの大きさとなり、これは、このようなターボデコーダを収容する回路に、かなりの大きさのシリコン表面を必要とするため、扱いにくいものとなる。
このメモリのセットは、外部データメモリシステムを構成する。
本発明の目的は、外部データメモリシステムのサイズが縮小された復号回路を提案することである。
冒頭の段落で定義された、本発明に係る処理システムは、所定のアドレスに外部データを格納するためのシングルメモリを備え、デコーダにより他方のデコーダから来る外部入力データから計算された外部出力データが、外部入力データのアドレスに格納され、第1デコーダが、シングルメモリから第1の順序で外部データを読み込み、第2デコーダが、シングルメモリから第2の順序で外部データを読み込むことを特徴とする。
本発明によると、シングルメモリを使用して、外部データベクトルを格納することが可能である。実際には、外部データのベクトルが、第1の順序、例えば直線的な順序でシングルメモリに格納される。これは、外部データベクトルの第1の成分が、シングルメモリの第1アドレスに格納され、第2成分が、第2のアドレスに格納され、以下同様に続くことを意味する。
第1デコーダがシングルメモリ内の外部入力データベクトルを読み込む際には、直線的に、つまり、第1の成分、次いで第2と読み、以下同様である。第1デコーダは、入力データベクトルの第1の成分に対応する外部出力データベクトルの成分を計算すると、この外部出力データベクトルの成分を、入力データベクトルの第1成分が格納されていたアドレス、つまりシングルメモリの第1アドレスに書き込む。
第2デコーダがシングルメモリ内の外部入力データベクトルを読み込む際には、インターリーブに読む。これは、所定のインターリーブ順序で成分を読むことを意味する。第2デコーダは、外部入力データベクトルの成分に対応する外部出力データベクトルの成分を計算すると、この外部出力データベクトルの成分を、対応する外部入力データベクトルの成分が格納されていたアドレスに書き込む。
本発明の他の非限定の実施形態によれば、第1および第2デコーダは、第1デコーダの動作に対応する第1モードと、第2デコーダの動作に対応する第2モードとで交互に動作する単一のデコーダにより提供される。この実施形態によれば、1つのデコーダのみが必要であるため、復号回路のサイズを縮小することができる。
シングルメモリは、好ましくは、読み込みポートと書き込みポートとを備える。これにより、デコーダがシングルメモリ内のデータを同時に読み書きすることができ、復号時間を減少させることができる。
有利なことには、シングルメモリは、デコーダの制御周波数クロックよりも2倍の速さの周波数クロックで制御される。これによりデコーダは、シングルメモリが単一のポートしか持たない場合でも、デコーダの1回の制御クロックサイクル中に、シングルメモリからのデータの読み込みと、シングルメモリへのデータの書き込みとを行うことが可能になる。よって、復号時間は、従来技術の復号回路で必要とされていた復号時間よりも長くはならない。
好ましくは、復号回路は、デコーダの制御クロックサイクル中に、外部入力データベクトルの成分を一時的に格納するレジスタを更に備える。これによりデコーダは、シングルメモリから外部データを読み込むために、従来技術で捨てていた時間に等しい時間を持つ。これにより、従来技術のデコーダにおいて、再プログラムを行わずに本発明を利用することが可能となる。
図3aは、本発明に係る復号回路を示している。回路は、第1デコーダ14と、第2デコーダ16と、第2インターリーバ18と、第1デインターリーバ15と、シングルメモリ31とを備える。
この回路は、以下に述べるように反復して動作する。1回の反復は、第1および第2の半反復を含む。
第1の半反復において、第1デコーダ14は、外部出力データベクトルを計算するために、前の反復にて第2デコーダ16によって計算された外部データを読み込む必要がある。シングルメモリ31はベクトルを含み、ベクトルの成分は、第1デコーダ14が読み込む外部データである。各成分は、後に詳細に示すように、データベクトルS1に含まれた復号されるデータに対応する。
データベクトルS1が、10個の成分S10〜S19を含むと仮定する。このデータベクトルS1は、S1=[S10 S11 S12 S13 S14 S15 S16 S17 S18 S19]と記述される。P1=[P10 P11 P12 P13 P14 P15 P16 P17 P18 P19]と記述されるパリティベクトルP1が、このデータベクトルS1に対応する。
先行する反復において第2デコーダ16によって計算された外部データベクトルは、シングルメモリ31に格納され、La2=[La20 La21 La22 La23 La24 La25 La26 La27 La28 La29]と記述される。
この場合、シングルメモリ31は、10個のアドレス@0〜@9を備える。成分La20は、アドレス@0に格納され、成分La21は、アドレス@1に格納され、以下同様に続く。成分La20は、データS10に対応する外部データであり、成分La21は、データS11に対応する外部データであり、以下同様である。
データベクトルS1の各成分に対応する外部出力データの計算は、以下の方法で行われる。第1デコーダ14が、外部データベクトルLa2の各成分を1つずつ読み込み、ベクトルLa2の各成分に対し、ベクトルS1およびP1の対応する成分に依存する値αを、第1関数f1に基づいて計算する。例えば、第1デコーダ14は、値α10=f1(La20,S10,P10)を計算する。こうしてベクトルα1が求められ、これは、α1=[α10 α11 α12 α13 α14 α15 α16 α17 α18 α19]と記述される。このベクトルα1は、図3aには示されていない追加メモリに格納される。
次いで、第1デコーダ14は、La2の各成分に対し、ベクトルS1およびP1の対応する成分に依存する値βを第2関数f2に基づいて計算する。このような計算は、値αが計算された順番とは逆の順番で行われる。これを行う際、第1デコーダ14は、値β19=f2(La29,S19,P19)の計算から開始する。値βが計算されるたびに、第1デコーダ14は、この値βと、対応する値αとに依存する値Laを第3関数f3に基づいて計算する。こうして、第1デコーダ14は、値La19=f3(α19,β19)を計算し、このデータをシングルメモリ31のアドレス@9に書き込む。第1デコーダは、次に、値La18=f3(α18,β18)を計算し、このデータをシングルメモリ31のアドレス@8に書き込み、以下同様に続ける。この方法によって、第1メモリ31において外部データベクトルLa1が得られ、これはLa1=[La10 La11 La12 La13 La14 La15 La16 La17 La18 La19]と記述される。
外部データの計算は、当業者に周知である。これは例えば、1995年8月に発行された、S.A.バーブレスキュ(Barbulescu)による<<ターボコードおよび他の連結コードの反復復号、南オーストラリア大学、博士学位論文(Iterative decoding of turbo codes and other concatenated codes, University of South Australia, PhD Dissertation)>>と題された論文に述べられている。
当業者に周知の“スライディングウィンドウ(Sliding Windows)”と呼ばれる計算技術が利用可能であることも、理解されるべきである。この技術は、ベクトルのウィンドウへの分割を含む。上の例では、例えば、一方がベクトルの最初の5つの成分を含み、他方が後の5つの成分を含む2つのウィンドウを考慮することができる。外部データの計算は、以下のように行われる。
まず、第1デコーダ14が、値α10,α11,α12,α13およびα14を計算する。次いで、値β14と値La14とを計算する。その後、値La14をシングルメモリ31のアドレス@4に書き込み、同時に、シングルメモリ31のアドレス@5から値La25を読み込む。
このように、シングルメモリ31は、異なるアドレスにおけるデータ書き込みおよび同時読み込み手段を備える。好ましくは、シングルメモリ31は、読み込みポートと書き込みポートとを備える。読み込みポートは、データの読み込みに適したポートを意味すると理解され、これは、このポートへのデータの書き込みを除外しないものとする。同様に、書き込みポートは、データの書き込みに適したポートを意味すると理解され、これは、このポートを通したデータの読み込みを除外しないものとする。他のデータ書き込みおよび同時読み込み手段を、以下に説明し、図4および図5に示す。
第2の半反復において、第2デコーダ16は、シングルメモリ31から、外部データベクトルLa1の成分を読み込む。このような読み込みは、第2インターリーバ15により、所定のインターリーブ順序でインターリーブに行われる。例えば、第2デコーダ16は、成分La12,La19,La11,La15,La14,La18,La10,La17,La13およびLa16を連続して読み込むことができる。図3aには示されていない第3インターリーバ17によってインターリーブされたベクトルS1に対応するベクトルS2と、第1インターリーブパリティベクトルに対応する第2パリティベクトルP2とによって、第2デコーダ16が、値α22,α29,α21,α25,α24,α28,α20,α27,α23およびα26を上述の方法と同様の方法で計算する。例えば、α22=f1(La12,S22,P22)。
次に、第2デコーダ16は、値β26=f2(La16,S26,P26)と、データS16に対応する外部出力データである値La’26=f3(α26,β26)とを計算する。次いで、第2デコーダ16は、この値La’26をシングルメモリ31の外部データLa16が位置していたアドレス、すなわち、アドレス@6に書き込む。これは、デインターリーバ18によって行われる。このことが可能なのは、第2デコーダ16が一度値La’26を計算すると、対応する外部入力データLa16はもはや必要がなくなるので、シングルメモリ31のアドレス@6を使用して、そこに値La’26を書き込むことができるためである。
次いで、第2デコーダ16は、値β23=f2(La13,S23,P23)と、値La’23=f3(α23,β23)とを計算し、この値をアドレス@3に書き込み、以下同様に続ける。こうして、シングルメモリ31において、La’2=[La’20 La’21 La’22 La’23 La’24 La’25 La’26 La’27 La’28 La’29]と記述される外部データベクトルLa’2が得られる。
この外部データのベクトルLa’2は、その後、第1デコーダ14により、次の反復に用いることができる。
第2デコーダ16においても、‘スライディングウィンドウ’技術を用いることが可能である。
本発明によって、第1デコーダ14と、第2デコーダ16とにより計算された外部出力データが、常に直線的にシングルメモリ31に格納されることに留意されたい。所定の回数の反復後、復号が止められ、図3aには示されていない最終回路により外部データが読み込まれる。その結果、第1デコーダがその外部出力データを計算した後に復号が止められた場合、簡潔な直線的読み込みによって、最終回路がこれらの外部データを読み込むことが可能となる。これは、第2デコーダがその外部出力データを計算した後に復号が止められた場合においても、同様である。よって、最終回路は、デインターリーブ読み込みを行う必要がない。
これは、従来技術よりも有利な点を提供する。実際に、従来技術では、第2デコーダがその外部出力データを計算した後に復号が止められた場合、最終回路が、図2の第2メモリからデインターリーブ読み込みを行う。これは、追加的なデインターリーバを必要とし、復号回路の電力消費量のレベルにおいて顕著な欠点を有する。
また、本発明が、外部データベクトルのシングルメモリ31への直線的な格納に限定されないことも理解されたい。例えば、外部データベクトルを、インターリーブに格納することを考慮してもよい。この場合、第1デコーダ14が、シングルメモリ31からデインターリーブな読み込みを行い、第2デコーダ16が、シングルメモリ31から直線的な読み込みを行う。
図3bは、単一のデコーダ20を備えた復号回路を表している。このデコーダは、図3aの第1デコーダ14と第2デコーダ16の役割を交互に果たす。
‘スライディングウィンドウ’技術の使用は、シングルメモリ31におけるデータの読み込みと書き込みを、同時に行えることを必要とする。これは、シングルメモリ31が1つのポートのみを有する場合、シングルメモリ31を、デコーダ20を制御するクロック周波数の2倍の周波数のクロックで制御することにより可能となる。
図4は、このような復号回路を表している。デコーダ20は、周波数fを有する第1クロックCLKにより制御される。シングルメモリ31は、fの2倍の周波数を有する第2クロックCLK2xにより制御される。
第2クロックCLK2xのサイクルにおいて、シングルメモリ31は、データの読み込みまたは書き込みを行うことができる。その結果、第2クロックCLK2xの2回のサイクルにおいて、シングルメモリ31が、データの読み込み、次いで他のデータの書き込み、またはその逆を行うことができる。第2クロックCLK2xの2回のサイクルは、第1クロックCLKの1回のサイクルに対応している。したがって、第1クロックCLKのサイクルにおいて、シングルメモリ31は2つの異なるデータを読み書きできる。これは、第1クロックCLKの1回のサイクル中に、デコーダ20は、シングルメモリ31の異なるアドレスにおいて2つのデータの読み書きができることを意味する。スライディングウィンドウ技術が、デコーダ20を制御する1回のクロックサイクル、つまり、この場合は第1クロックCLKで、2つの異なるデータの読み書きを必要としているため、デコーダ20は、この技術を容易に実施することができる。
しかしながら、図5に示すように、シングルメモリ31の出力データは、この場合、第2クロックCLK2xの1回のサイクル、つまり第1クロックCLKの半分のサイクルのみにおいて有効である。その結果、上述の復号回路を利用するためには、デコーダ20を再プログラムして、その制御クロックの半分のサイクル中のみにおいて、データの読み込みを行えるようにする必要がある。
この欠点を解決するために、復号回路は、好ましくは第1クロックCLKにより制御されるレジスタ41を備える。データがシングルメモリ31から離れると、このレジスタにてロックされ、第1クロックCLKの1回のサイクルの間有効に保たれる。よって、デコーダ20は、第1クロックCLKのサイクルの間、このデータを読むことができる。その結果、デコーダ20を再プログラムする必要がなくなる。これにより、この本発明の第3実施形態の変形を、従来技術のデコーダにおいて使用することができる。
図5は、図4の復号回路の動作の理解を可能にするタイミング線図である。このタイミング線図は、第1クロックCLKと、第2クロックCLK2xと、シングルメモリ31のポートの有効化を可能にするイネーブル信号ENと、書き込み信号WRと、アドレス信号addと、入力信号inと、出力信号outと、レジスタ信号regとを含む。
メモリ31のポートは、イネーブル信号ENを受けるイネーブル入力と、書き込み信号WRを受ける読み書き入力と、アドレス信号addを受けるアドレス入力と、その値が入力信号inである入力ポートと、その値が出力信号outである出力ポートとを有する。
第1クロック信号CLKは、立ち上がりおよび立ち下がりエッジを、時刻t1〜t7において有し、時刻t1は、立ち上がりエッジに対応する。
−時刻t1の直後に、信号ENは1の値を、信号WRは0の値を、信号addは@1の値をとる。これは、デコーダ20が、シングルメモリ31のアドレス@1に位置するデータの読み込みを意図していることを意味する。その結果、シングルメモリ31を制御するクロック、すなわち第2クロックCLK2xの次の立ち上がりエッジでは、アドレス@1に位置するデータが、シングルメモリ31の出力ポートに導かれる。これは、時刻t2の直後に起こる(out=read@1)。
このシングルメモリ31の出力ポートのデータは、第2クロックCLK2xの次の立ち上がりエッジ、すなわち時刻t3まで有効のままとなる。その結果、このデータは、第1クロックCLKの半分のサイクルの間のみ有効となる。このデータを第1クロックCLKのサイクル全体で有効にするために、時刻t3で、このデータをレジスタ41にてロックさせる。これを行うために、レジスタ41が用いられる。レジスタ41は、これを制御するクロック、つまりこの場合は第1クロックCLKの各立ち上がりエッジにおいて、シングルメモリ31の出力ポートの値をコピーする。このように、時刻t3において、レジスタがシングルメモリ31の出力ポートの値(reg=rd@1)をコピーし、この値を第1クロックCLKの次のサイクルまで保持する。こうしてこの値は、第1クロックCLKのサイクル中、時刻t3とt5の間で有効のままとなる。この第1クロックCLKのサイクル中に、デコーダ20は、このデータを読み込むことができる。その結果、デコーダ20に対して、あたかもシングルメモリ31が第1クロックCLKによって制御されたかのように、全てが行われる。
−時刻t2と時刻t3の間で、書き込み信号WRは1の値をとり、信号addは@2の値をとる。これは、データがシングルメモリ31のアドレス@2において書き込まれることを意味する。このwr@2で表されたデータは、時刻t2と時刻t3の間に、シングルメモリ31の入力ポートへ導かれる(in=wr@2)。
−時刻t3の直後に、データwr@2が、シングルメモリ31のアドレス@2に書き込まれる。こうして、出力ポートが、このwr@2の値をとることに留意されたい(out=wr@2)。
−時刻t3および時刻t4の間に、書き込み信号WRは0の値をとり、信号addは@3の値をとる。これは、デコーダ20が、シングルメモリ31のアドレス@3に位置するデータを読み込むことを意味する。その結果、第2クロックCLK2xの次の立ち上がりエッジでは、アドレス@3に位置するデータがシングルメモリ31の出力ポートに導かれる。これは、時刻t4の直後に起こる(out=read@3)。
−時刻t4と時刻t5の間に、書き込み信号wrは1の値をとり、信号addは@4の値をとる。これは、シングルメモリ31のアドレス@4にデータが書き込まれることを意味する。wr@4によって表されるこのデータは、時刻t4と時刻t5の間に、シングルメモリ31の入力ポートへ導かれる(in=wr@4)。
−時刻t5の直後に、データwr@4が、シングルメモリ31のアドレス@4に書き込まれる。こうして、出力ポートが、このwr@4の値をとることに留意されたい(out=wr@4)。
レジスタ41を制御するクロックがハイ状態にあるときに、シングルメモリ31からの読み込みを開始し、レジスタ41を制御するクロックがロー状態にあるときに、書き込みを開始することが重要であることに留意されたい。実際には、レジスタ41を制御するクロックがハイ状態にあるときに読み込みを開始することにより、読み込まれるデータは、レジスタ41を制御するクロックがロー状態にあり、かつこのクロックが立ち上がりエッジを持つときに出力ポートにて有効となる。よって、このデータをレジスタ41でロックすることができる。
レジスタ41を制御するクロックがロー状態にあるときに読み込み動作が開始された場合、読み込まれるデータは、レジスタ41を制御するクロックがハイ状態にあるときに出力ポートにて有効となるが、このクロックが立ち上がりエッジを持っていた場合は、もはや有効ではなくなる。よって、このデータをレジスタ41でロックすることはできない。
本発明に係る復号回路は、携帯電話などの電子機器に利用することができる。よって、本発明に係る復号回路は、少なくとも、符号化信号を送信できるトランスミッタと、送信チャネルと、前記信号を受信できるレシーバとを備えた通信ネットワークにおいて利用することができる。
本発明は、また、本発明に係る復号回路を備えた電子回路において用いることが可能な復号方法に関する。この復号方法は、
−第1デコーダが、アドレスを備えるシングルメモリに格納された外部入力データを直線的に読み込み、各外部入力データから外部出力データを計算し、各外部出力データを、対応する外部入力データが含まれるアドレスに書き込む第1ステップと、
−第2デコーダが、シングルメモリに格納され、かつ、第1ステップで第1デコーダにより計算された外部出力データに対応する外部入力データを、インターリーブに読み込み、外部出力データを計算し、各外部出力データを、対応する外部入力データが含まれるアドレスに書き込む第2ステップと、を備える。
原則的に、この復号方法は、適切にプログラムされた集積回路によって実施することが可能である。プログラムメモリに含まれる命令のセットは、集積回路に命令し、前述の様々なステップを実行させることができる。命令のセットは、例えば命令のセットが符号化されたディスク等のデータ記憶媒体の読み込みにより、プログラムメモリにロードすることができる。読み込みは、例えばインターネット等の通信ネットワークを介して実行することができる。この場合、サービスプロバイダが、当事者が自由に使えるように命令のセットを配置する。
動詞“備える”およびその活用形は、広く解釈されるものとする。すなわち、前記動詞の後に列記されたもの以外の要素の存在のみならず、前記動詞の後に既に列記され、冠詞“a”または“an”が前置された要素が、複数存在することを除外しないものとする。
本発明の、これらおよび他の側面は、以下に述べる実施形態を参照して、非限定的な例によって明らかにされ、説明される。
図1は、従来技術の通信システムの基本回路図である。 図2は、図1の復号装置の特徴を示すブロック図である。 図3aは、本発明の実施形態の特徴を示すブロック図である。 図3bは、本発明の他の実施形態の特徴を示すブロック図である。 図4は、本発明の他の有利な実施形態の特徴を示すブロック図である。 図5は、図4の復号装置の動作を示すタイミング図である。

Claims (10)

  1. 入力データを反復して復号するための復号回路であって、前記回路は、少なくとも第1デコーダと、第2デコーダとを備え、各デコーダは、入力データと、他方の前記デコーダから来る外部入力データとから、外部出力データを計算することができる復号回路において、
    所定のアドレスに外部データを格納するためのシングルメモリを備え、
    デコーダにより他方の前記デコーダから来る外部入力データから計算された外部出力データが、前記外部入力データのアドレスに格納され、
    前記第1デコーダが、前記シングルメモリから第1の順序で前記外部データを読み込み、
    前記第2デコーダが、前記シングルメモリから第2の順序で前記外部データを読み込む、ことを特徴とする復号回路。
  2. 前記第1の順序は、直線的な順序であり、前記第2の順序は、インターリーブ順序である、ことを特徴とする請求項1に記載の復号回路。
  3. 前記第1および第2デコーダが、前記第1デコーダの動作に対応する第1モードと、前記第2デコーダの動作に対応する第2モードとで交互に動作する単一のデコーダにより形成される、ことを特徴とする請求項1に記載の復号回路。
  4. 前記シングルメモリが、読み込みポートと、書き込みポートとを有することを特徴とする請求項1に記載の復号回路。
  5. 前記シングルメモリが、前記デコーダの制御周波数クロックよりも2倍の速さの周波数クロックにより制御されることを特徴とする請求項1に記載の復号回路。
  6. 前記デコーダの制御クロックサイクル中に、外部入力データベクトルの成分を一時的に格納するためのレジスタをさらに備えることを特徴とする請求項1に記載の復号回路。
  7. 請求項1乃至請求項6のいずれかに記載の復号回路を備えることを特徴とする電子機器。
  8. 通信ネットワークであって、少なくとも、
    符号化信号を送信できるトランスミッタと、
    送信チャネルと、
    前記信号を受信できるレシーバと、
    請求項1乃至6のいずれかに記載の復号回路と、
    を備えることを特徴とする通信ネットワーク。
  9. 少なくとも、第1デコーダと、第2デコーダとを備え、各デコーダは、入力データと、他方の前記デコーダから来る外部入力データとから外部出力データを計算することができる回路、を介して入力データを反復して復号するための復号方法であって、
    −前記第1デコーダが、アドレスを備えるシングルメモリに格納された外部入力データを直線的に読み込み、各外部入力データから外部出力データを計算し、各外部出力データを、対応する前記外部入力データが含まれるアドレスに書き込む第1ステップと、
    −前記第2デコーダが、前記シングルメモリに格納され、かつ、前記第1ステップで前記第1デコーダにより計算された前記外部出力データに対応する前記外部入力データを、インターリーブに読み込み、外部出力データを計算し、各外部出力データを、対応する前記外部入力データが含まれる前記アドレスに書き込む第2ステップと、
    を備えることを特徴とする方法。
  10. プログラムであって、
    前記プログラムがプロセッサにおいて実行された際に、請求項9に記載の方法のステップを実行するためのプログラムコード命令を備えることを特徴とするプログラム。
JP2004506189A 2002-05-17 2003-05-07 ターボデコーダ用メモリ Pending JP2005526443A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0206079A FR2839830A1 (fr) 2002-05-17 2002-05-17 Memoire pour decodeur turbo
PCT/IB2003/001911 WO2003098811A2 (en) 2002-05-17 2003-05-07 Memory for turbo decoder

Publications (1)

Publication Number Publication Date
JP2005526443A true JP2005526443A (ja) 2005-09-02

Family

ID=29286572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004506189A Pending JP2005526443A (ja) 2002-05-17 2003-05-07 ターボデコーダ用メモリ

Country Status (8)

Country Link
US (1) US7480846B2 (ja)
EP (1) EP1550225B1 (ja)
JP (1) JP2005526443A (ja)
KR (1) KR20060044286A (ja)
CN (1) CN100472974C (ja)
AU (1) AU2003223080A1 (ja)
FR (1) FR2839830A1 (ja)
WO (1) WO2003098811A2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101069357B (zh) * 2004-12-02 2011-09-14 Nxp股份有限公司 对数据块冗余版本进行解码的Turbo解码器
US8719658B2 (en) * 2010-09-09 2014-05-06 Qualcomm Incorporated Accessing memory during parallel turbo decoding
WO2012093956A1 (en) * 2011-01-05 2012-07-12 Zte Wistron Telecom Ab Method for stopping iteration in an iterative turbo decoder and an iterative turbo decoder
US8762808B2 (en) 2012-02-22 2014-06-24 Lsi Corporation Multi-processing architecture for an LTE turbo decoder (TD)
US11615837B2 (en) * 2020-09-22 2023-03-28 Qualcomm Incorporated Pseudo-triple-port SRAM datapaths

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448715A (en) * 1992-07-29 1995-09-05 Hewlett-Packard Company Dual clock domain interface between CPU and memory bus
JP3892078B2 (ja) * 1996-05-08 2007-03-14 株式会社ルネサステクノロジ 半導体記憶装置
US5867694A (en) * 1996-10-07 1999-02-02 International Business Machines Corporation Information handling system including apparatus and method for controlling clock signals operating at different frequencies
JP3604291B2 (ja) * 1998-10-08 2004-12-22 富士通株式会社 ダブルレートの入出力回路を有するメモリデバイス
JP3530422B2 (ja) * 1999-06-16 2004-05-24 Necエレクトロニクス株式会社 ラッチ回路とレジスタ回路
US6314047B1 (en) * 1999-12-30 2001-11-06 Texas Instruments Incorporated Low cost alternative to large dual port RAM
US6662331B1 (en) * 2000-10-27 2003-12-09 Qualcomm Inc. Space-efficient turbo decoder
US6996767B2 (en) * 2001-08-03 2006-02-07 Combasis Technology, Inc. Memory configuration scheme enabling parallel decoding of turbo codes
US6882562B2 (en) * 2001-11-01 2005-04-19 Agilent Technologies, Inc. Method and apparatus for providing pseudo 2-port RAM functionality using a 1-port memory cell

Also Published As

Publication number Publication date
KR20060044286A (ko) 2006-05-16
AU2003223080A1 (en) 2003-12-02
EP1550225B1 (en) 2013-03-13
CN100472974C (zh) 2009-03-25
CN1653700A (zh) 2005-08-10
US7480846B2 (en) 2009-01-20
EP1550225A2 (en) 2005-07-06
FR2839830A1 (fr) 2003-11-21
WO2003098811A3 (en) 2004-05-21
WO2003098811A8 (en) 2004-11-11
WO2003098811A2 (en) 2003-11-27
US20050180513A1 (en) 2005-08-18

Similar Documents

Publication Publication Date Title
KR100671075B1 (ko) 터보 코딩의 사용을 용이하게 하기 위한 디코더, 디코딩 시스템 및 디코딩 방법
KR100860245B1 (ko) 코드 분할 다중 접속 시스템에서 역 레이트 매칭을수행하는 방법 및 장치
JP5384187B2 (ja) 待ち行列ベースのデータ検出および復号のシステムおよび方法
JP2003023359A (ja) 誤り訂正ターボ符号の復号器
KR20080098391A (ko) 양방향 슬라이딩 윈도우 아키텍처를 갖는 map 디코더
JP4874312B2 (ja) ターボ符号復号装置、ターボ符号復号方法及び通信システム
US20080104482A1 (en) Turbo decoder employing ARP (almost regular permutation) interleave and arbitrary number of decoding processors
US7734989B2 (en) Multi-standard turbo interleaver using tables
US6580767B1 (en) Cache and caching method for conventional decoders
JP2005526443A (ja) ターボデコーダ用メモリ
KR100628201B1 (ko) 터보 디코딩 방법
KR100336246B1 (ko) 디지탈프로세서및코-프로세서를구비한집적회로
US7743287B2 (en) Using SAM in error correcting code encoder and decoder implementations
US7228483B2 (en) Turbo decoding device
WO2001076076A1 (en) System and method for forward error correction
US6889353B2 (en) Method and arrangement for decoding convolutionally encoded code word
JP2001053624A (ja) 誤り訂正復号器およびこれを用いた携帯電話
JP2009060455A (ja) スライディングウィンドウターボ復号処理装置とその方法
JP2003258649A (ja) 復号装置及びその復号方法
MXPA01001657A (en) Memory architecture for map decoder
JP2005006118A (ja) ターボ復号装置及びターボ復号方法
JP2002171174A (ja) インターリーブ装置及びインターリーブ方法、並びに、復号装置及び復号方法
JP2002198829A (ja) 復号装置及び復号方法
JPH07336241A (ja) ビタビ復号器
CA2404056A1 (en) System and method for forward error correction

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060508

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080801

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081031

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081219

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090105

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090303