JP4848359B2 - 並列インターリーバ、並列デインターリーバ及びインターリーブ方法 - Google Patents
並列インターリーバ、並列デインターリーバ及びインターリーブ方法 Download PDFInfo
- Publication number
- JP4848359B2 JP4848359B2 JP2007501644A JP2007501644A JP4848359B2 JP 4848359 B2 JP4848359 B2 JP 4848359B2 JP 2007501644 A JP2007501644 A JP 2007501644A JP 2007501644 A JP2007501644 A JP 2007501644A JP 4848359 B2 JP4848359 B2 JP 4848359B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- row
- address
- memory
- bank
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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/27—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 using interleaving techniques
- H03M13/276—Interleaving address generation
-
- 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/27—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 using interleaving techniques
- H03M13/2771—Internal interleaver for turbo codes
-
- 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/27—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 using interleaving techniques
- H03M13/2792—Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
- H03M13/2796—Two or more interleaving operations are performed jointly, e.g. the first and second interleaving operations defined for 3GPP UMTS are performed jointly in a single interleaving operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
- H04L1/0066—Parallel concatenated codes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Probability & Statistics with Applications (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
Description
先ず、従来のインターリーバのアルゴリズムについて説明する。インターリーブ処理とは、長さKのデータ列{d[0],d[1],…,d[K−1]}を並び替えて、データ列{d’[0],d’[1],…,d’[K−1]}を出力する処理である。個々のデータd[i]は、単一のビットである場合や固定小数点数(いわゆる軟判定値)である場合などさまざまであるから、以後シンボルと呼ぶ。
実際にLSIなどでインターリーバ回路を実現する場合には、上述したような2次元配列への書き込みや行内・行間並び替えを行うわけではない。一般的に知られているインターリーバ回路は、入力されたシンボル順でメモリに順序良く書き込んだ後、ランダム的に読み出すことで並び替えを実現する。このランダム的なメモリ読み出しを行う際のアドレス計算方法に、行内・行間並び替えや列方向優先読み出しの規則を反映させることにより、上述したようなインターリーブを実現する。
図4のインターリーバは、逐次型、すなわち1サイクルに1つのシンボルのみを書き込み又は読み出しするものであった。従って、Kシンボルのデータ列をインターリーブするためには、初めのシンボルを入力してから最後のシンボルが出力されるまでに、2K+1サイクルの遅延が発生する。また逐次インターリーバのスループット(単位時間当たりの処理能力)は、約0.5シンボル/サイクルと低かった。
インターリーバを並列化する一つの方法は、図9に示すように入力データ列を部分データ列(サブブロック)に分割することである。各サブブロックは、インターリーバに並列に入力される。
図10に、別の並列インターリーバを示す。この方法は、シリアル−パラレル変換器(図中S/P)により、連続したデータ(たとえばd[0]とd[1])を並列インターリーバ2に同時に入力する。読み出しフェーズにおいては、同時に出力されるデータの組はパラレル−シリアル変換器(図中P/S)により連続したデータ列に戻される。
サブブロック分割方式とシリアル−パラレル変換方式(radix−4)を併用することも可能である。
最も単純な解決策は、マルチポートRAMを用いることである。マルチポートRAMは、同時に複数のアドレスを処理することができ、同時に複数のデータを書き込む(読み出す)ことのできるRAMである。図16に、デュアルポートRAM(同時に2つのアクセスが可能なRAM)を用いた並列インターリーバを示す。なお、図16において、サブブロック分割型の場合にはoffset値をサブブロックサイズに、シリアル−パラレル変換型の場合にはoffset値を1に設定すればよい。
別の解決策は、RAMを複数のバンク(モジュール)に分割することである。別のバンクであれば独立にアクセスすることができるので、最大でメモリバンク数と同数のアクセスを同時に行うことができる。
路は信号in_data0の値をw_data1へ、in_data1の値をw_data0へ入力するように接続する。またアドレステーブル1の出力をw_addr0へ、アドレステーブル0の出力から23を減じた値をw_addr1へ入力する。
Ks)≠・・・、である必要がある。また、インターリーブパターンをπとしたとき、出力データd[π(i)],d[π(i+Ks)],d[π(i+2Ks)],…は同時に読み出される。従って、読み出し時にもアクセス競合が発生しないためには、M(π(i))≠M(π(i+Ks))≠M(π(i+2Ks))≠・・・、を満たす必要がある。このような関数Mを見つけることにより、図20のような回路によって並列インターリーブを実現することができる。
図21に、本発明の実施の形態1に係るインターリーバの構成を示す。インターリーバ100は、メモリアクセス競合を起こすことなくPIL(プライムインターリーブ)を並列に実行可能とするものである。本実施の形態では、説明を簡単化するために、インターリーバの行数R=5のみに対応する回路を示し、基本構成について説明する。
2と、行/列番号分離回路113と、アドレススイッチ114と、有効検出部115とを有する。
………(1)ただし、ceiling(): 無限大方向への丸め(切り上げ処理)
floor(): ゼロ方向への丸め(切り捨て)処理
Ro: Rと互いに素な定数(例えば1)
Ms: サブブロック数
を示す。
a[m]=A(cnt_r+m×C) mod C ………(2)
ただし、m=0,1,…,Mout−1、
floor: 0方向への丸め(切捨て)処理
mod: 剰余演算
を示す。
j0[i0[k]]=(Ksin×k) mod C
j0[b]=C(b=i0[k]なるkが存在しないとき) ………(3)
(ii)出力サブブロックサイズKsを行数Rと互いに素となるよう選択すること。
(i)プルーニング対象シンボル(無効アドレス)を含めてLUT0〜LUT4を作成す
る。
(ii)無効アドレスに対応する部分では、そのサブブロックのみシンボルを出力しない。
グが発生しない場合、出力サブブロックサイズは最終ブロックを除きすべてKsoutと一致したが、プルーニングが発生する場合にはKsoutより短くなる場合がある。
実施の形態1では、競合を起こさず並列インターリーブを可能とする基本原理を示した。本実施の形態では、さらに、(1)書き込み処理の簡略化、(2)読み出し処理の簡略化、(3)サブブロックサイズ決定方法の変更、(4)少ないサブブロックへの対応を可能とする構成及び方法を提案する。
入力サブブロックサイズをCと定めることで、入力側スイッチ及び行カウンタを不要とし、書き込みアドレス生成部203の列カウンタ204を簡略化できる。すなわち、入力サブブロックサイズKsin=Cである場合、サブブロック[k]のデータは全てメモリ201のRAM[k]に書き込まれる。従って、data_in[k]をw_data[k]に直接接続することで、入力側スイッチと、スイッチを制御する行カウンタが不要となる。また各時点で全てのデータを同じアドレスに書き込むため、列カウンタ204は1つでよい(常にi[k]=k、j[0]=j[1]=…=j[k−1]であると見ることもできる)。
実施の形態1で示した図21の読み出し制御では、各サブブロックが読み出すべきデータのバンク番号とアドレスをLUT0〜LUT4で求め、アドレススイッチ114を用い該当するバンクにそのアドレスを送ることで読み出しを実現した。ここで、LUT0〜LUT4内のデータを予め並べ替えておくことで、アドレススイッチを不要とすることができる。具体的には、LUT0にはRAM0に送るべきアドレスを、LUT[b]にはRAM[b]に送るべきアドレスを格納しておく。このテーブルは、行内並び替えパターンU[i](j)を並び替えたものである。たとえば、LUT0は、エントリ0から順に、U[0](0)、U[0](v)、U[0](2v)、・・・、U[0](tv mod Ksout)、のように格納されている。ここで、v=Ms×R/Mrである。LUT[k]のt番目のエントリは、LUT[k](t)=U[k]((tv+j0[k]) mod
Ksout)である。ここで、j0[k]=floor(Ksout×k/v)である。
図31のサブブロックサイズ決定部207では、Ksout=ceiling((C−floor(Ro×Ms/R))/Ms)×R+Ro、に基づいてサブブロックサイズを決定
する。ここで、行オフセットを例えばRo=1と固定しておくことで、回路構成を簡単化できる。
(a)書き込みにおいて、w_data[k]は全て等しい値であること、in_data[k]はw_data[k]と等しいことを確認できる。
(b)読み出しにおいて、r_addr[k]は直接テーブルより求めることができる。r_addr4において、網掛け部分は、無効アドレス(プルーニング)に対応する部分である。そのため、data_outの一部に有効なデータが出力されない部分がある。このとき、信号invalid_blkが無効なサブブロックを示していることが分かる。
実施の形態1及び本実施の形態で説明したインターリーバは、サブブロック数Msとバンク数Mrが等しいとき、回路の利用効率が最も高いといえる。しかしながら、これらの構成のインターリーバをターボデコーダに組み込んで用いるとき、次の理由からMsを小さくする必要が生じる場合がある。
(ii)サブブロックサイズが小さすぎると、デコード性能が劣化してしまうとき
本発明では、Ms<Mrである場合でも、メモリアクセス競合無く並列インターリーブを実行可能である。ここでは、バンク数Mr=5、サブブロック数Ms=3である例を、図36に示す。なお図36では、図31と対応する部分には同一符号を付した。また図36のインターリーバ300の読み出しアドレス生成部のLUT0〜4の内容を図37に、K=40、Ksin=14、Ksout=14、Ro=4のときの書き込みタイミングを図38に、読み出しタイミングを図39に示した。
意の値、たとえば8)をセットする。各RAM0〜RAM4においては、C以上のアドレスが入力されたときに実際のアクセスを停止することで、無駄なアクセスを避けることができる(この制御を行う部分は図示していない)。この制御により、図39の読み出しタイミングに示すとおりr_data端子には無駄なデータが出力されない。ただし、もし出力されても出力側スイッチ202でそのデータは無視されるため、data_outには影響がない。
実施の形態1、2で説明した並列インターリーバは、特にターボデコーダに適用すると効果的である。本実施の形態では、実施の形態1、2の並列インターリーバをターボデコーダに組み込んだ場合の構成について説明する。
IEEE International Conference on Communications, 1993, Pages:1064 - 1070 vol.2」等に記載されている。
Garrett, Chris Nicol; “Integrated Circuits for Channel Coding in 3G Cellular Mobile Wireless Systems”, IEEE Communications Magazine August 2003, pp.150-159」等に記載されている)が知られている。しかし、ターボデコーダとして高速に動作させるためにはインターリーバも高速動作させることが必要である。SISOデコーダの高速化手法に対応した並列インターリーバが必要となる。
512と、インターリーブアドレス生成部513と、スイッチ514と、バンク選択信号生成部515と、無効判定部516とを有する。並列デインターリーバ520は、スイッチ521と、メモリ522と、アドレス生成部523とを有する。
図43に、本実施の形態のインターリーバの構成を示す。インターリーバ700は、入力側スイッチ701と、独立に書き込み及び読み出しが可能な複数のバンク(RAM0〜RAM4)からなるメモリ702と、出力側スイッチ703と、入力側カウンタ704及びconfiguration選択部705からなる書き込みアドレス生成部と、行カウンタ706と、列カウンタ707と、列番号スイッチ708と、加算器709と、ルックアップテーブルLUT0〜LUT4からなるアドレステーブル710と、遅延部711と、加算器712と、プルーニング(pruning)判定部(図1の有効検出部115に相当)713とを有する。
先ず、インターリーバ700の詳細を説明する前に、本実施の形態の原理について説明する。
(i)KsoutをRで割った余りは1以上
(ii)1バンクに割り当てられる行数は、KsoutとRの最大公約数を超えない
このようなKsoutを求める簡単な方法は、(1)式においてRo=4とすることである。KsoutをRで割った余りは4である。また、KsoutとRの最大公約数は4となるので、1バンクに4行を割り当てることができる。以上から、Ksoutは44とする。
入力サブブロックはCの倍数とした。したがって、書込み動作の始めのCサイクルは、サブブロック0は0行目のデータを、サブブロック1は4行目のデータを、・・・、メモリに書き込む。そして、次のCサイクルは、サブブロック0は1行目のデータを、サブブロック1は5行目のデータを、・・・、書き込む。
以上から、同時に書き込まれるデータの組み合わせを行番号で表すと、図44の(0)〜(3)に示される4通りとなる。
・出力サブブロックサイズKsoutを、「ダミーデータ(プルーニングされるデータ)を含めて44」としたので、書込み時に同じ行への同時アクセスが発生しない。
・KsoutをRで除した余りであるRoを4としたので、同時読出しがなされる行の組み合わせの数が4通りまでに削減された。
・同時にアクセスされる行は別のバンクとなるよう、データRAMの分割方法(バンクへの割り当て方法)を決定した。同時にアクセスされる行の組み合わせが少ないほど、少ないバンク数で済み、回路が簡略化される。
次に、本実施の形態のインターリーバ700の構成及び動作について説明する。
<構成>
(書込み関連)
入力端子(data_in0〜4):1つの端子は1つのサブブロックに対応する。
入力側スイッチ701:入力端子をメモリ702の適切なRAMのバンクに接続する。スイッチは、図47(A)〜(B)に示す4通りの接続を実現する。各時点でどの接続に切り替えるかはconfiguration選択部705が決定する。
入力側カウンタ704:データ書き込み用のアドレスを生成する。なお、configuration選択部705はこのカウンタの出力に基づき動作する。
RAM0〜4:入力データが書き込まれる。5つのバンクに分割されている。
行カウンタ706:サブブロック0〜4がそれぞれ読み出すべきデータのインターリーブ後の行番号を保持・更新する。
列カウンタ707:サブブロック0〜4がそれぞれ読み出すべきデータのインターリーブ後の列番号を保持・更新する。
列番号スイッチ708:列カウンタ707の値を適切なLUTに転送する。接続の形態
としては、図48(A)、(B)に示した2つの他、計20通りを実現する。同時に、各カウンタ値に加算すべき上位アドレス値を算出する。
アドレステーブル(LUT0〜4)710:アドレスのテーブル。特に、本実施の形態では行内並び替えパターン(intra-row permutation pattern)を保持する。データのRAMと同様に5つのバンクに分割されている。
プルーニング(Pruning)判定部713:アドレステーブル710の出力に無効アドレスが含まれていないか検査する。含まれている場合、それがどのサブブロックに対応するかを調べ、結果を端子validに出力する。
出力側スイッチ703:メモリ702の各バンクからのデータ出力を適切な出力端子に接続する。
出力端子(data_out0〜4):1つの端子は1つのサブブロックに対応する。
ブロックサイズ(データ長)203シンボルの場合を例に説明する。
3GPP規格(PIL)では、インターリーバの配列はR=20、C=11である。インターリーバ700は、入力データを5サブブロックに分割する。その様子を、図49(A)に示す。なお、後半のサブブロックはKsinより短くなる場合がある。図49(A)の例においても、最後のサブブロック(サブブロック4)は他より短く、27シンボルしかない。
入力側カウンタ704は0から4C−1まで1ずつカウントする。このカウント値は書き込みアドレスとして各RAMに入力される。このカウント値に従い、入力側スイッチ701の制御も行われる。すなわち、入力側スイッチ701は、カウント値が0〜C−1の期間には図47(A)、カウント値がC〜2C−1の期間には図47(B)のような接続状態となる。
この例では、出力サブブロックサイズをKsout=44とする。この値に基づき、カウンタ706、707の初期設定を行う。
出力サブブロック0の先頭データのデータ順位は0である。そこで、行カウンタ0の初期値を0、列カウンタ0の値を0と定める。
出力サブブロック1の先頭データのデータ順位は44である。そこで、行カウンタ1の値を4、列カウンタ1の値を2と定める。
n=I+JR ………(4)
(4)式に表される関係と、Iが0〜19の範囲であるという条件から、行カウンタ1と列カウンタ1の初期値が算出される。同様に、サブブロック2〜4についてもカウンタの初期値が算出される。それらの値とデータ順位を、図50に示す。
なお、ダミーデータを含むデータ順位に基づきカウンタ値を定めないと、メモリアクセス競合が起こらないことが保証されない。
・intra-row permutation(行間並び替え)
・行番号とバンク番号の関連付け
・行番号とバンク内位置の関連付け(上位アドレスの生成)
図51に、これらの関係を示す。
この結果、17(=6+11)という値がLUT1に入力される。LUT1は12行6列に対応する行内並び替えパターン(intra-row permutation pattern)である4という値を出力する。
出力側スイッチ703は、列番号スイッチ708と逆方向の接続を行う。すなわち、RAM1の出力をサブブロック3(data_out3)に接続する。
閾値判定部713−2は、アドレステーブル710から出力されたアドレスが無効の領域であるかどうかを判定し、有効の時trueを、無効の時falseを返す。これで、各RAMの出力が有効であるかどうかが分かる。
valid信号スイッチ713−3は、出力側スイッチ703と同様の動作をする。この結果、どのサブブロックが有効であるかを示す5ビットの信号valid[4:0]が出力される。
図54に、本実施の形態のインターリーバの構成を示す。インターリーバ800は、入力側スイッチ801と、独立に書き込み及び読み出しが可能な複数のバンク(RAM0〜RAM9)からなるメモリ802と、出力側スイッチ703と、昇順カウンタ804−1、降順カウンタ804−2、スイッチ805及びconfiguration選択部806からなる書き込みアドレス生成部と、行カウンタ807と、列カウンタ808と、列番号スイッチ809と、加算器810と、ルックアップテーブルLUT0〜LUT9からなるアドレステーブル811と、遅延部812と、加算器813と、プルーニング判定部814とを有する。
先ず、インターリーバ800の詳細を説明する前に、本実施の形態の原理について説明する。
ターボデコーダにおいては、データの入力順を逆方向にすることがしばしば有効である。そこで、本実施の形態では奇数サブブロックのみについて、入出力順序を逆にする。その様子を、図56に示す。
この場合においても、実施の形態4と同様に競合の発生しない並列インターリーバを実現できる。ブロックサイズ203の例で説明する。また、本実施の形態では並列度を10とした。
(i)出力サブブロックサイズを偶数とする。
(ii)偶数サブブロックはすべて昇順、奇数サブブロックはすべて降順とする。あるいは、その逆とする。
バンクの割り当て方法の一例を、図58に示す。なお、列番号スイッチ809における上位アドレスの加算を簡単にするため、図59に示すように、バンク内の境界を256ずつに区切った。
次に、本実施の形態のインターリーバ800の動作について、実施の形態4のインターリーバ700(図43)と異なる部分を中心に説明する。
偶数サブブロック(サブブロック0、2、・・)は順方向にデータが入力されるので、昇順カウンタ804−1を使ってメモリ802に書き込む。奇数サブブロックは逆方向にデータが入力されるので、降順カウンタ804−2を使ってメモリ802に書き込む。
図55に、入力側スイッチ801のコンフィギュレーションを示す。
行カウンタ807、列カウンタ808の初期値を、図60に示す。
ところで、サブブロック番号が奇数のカウンタは降順カウンタである。すなわち、行カウンタ807は毎サイクル1ずつ減少していく。0に達すると、次のサイクルには19にリセットされるとともに、列カウンタ808の値をデクリメントする。
実施の形態4と同様に、列カウンタ808の値は、列番号スイッチ809により適切なLUTに転送される。ここで、列番号スイッチ809は、intra-row permutation(行間並び替え)、行番号とバンク番号の関連付け、行番号とバンク内位置の関連付け(上位アドレスの生成)の役割を担う。図61に、これらの関係を示す。
入力側スイッチ801の動作も同様である。図62に、列番号スイッチ708の20通りのコンフィギュレーションのうち初めの2つを示す。
他の動作は実施の形態4のインターリーバ700(図43)と同様である。
図63に、本実施の形態のインターリーバの構成を示す。インターリーバ900は、入力側スイッチ901と、独立に書き込み及び読み出しが可能な複数のバンク(RAM0〜RAM9)からなるメモリ902と、出力側スイッチ903と、昇順カウンタ904及びconfiguration選択部905からなる書き込みアドレス生成部と、行カウンタ906と、列カウンタ907と、列番号スイッチ908と、加算器909と、ルックアップテーブルLUT0〜LUT9からなるアドレステーブル910と、遅延部911と、加算器912と、プルーニング判定部913とを有する。
先ず、インターリーバ900の詳細を説明する前に、本実施の形態の原理について説明する。
本実施の形態は、サブブロック分割方式と、シリアル/パラレル変換型を組み合わせたハイブリッド型の並列インターリーバを提示するものである。ここでは、並列度を5×2とした。
前述の実施の形態と同様に、読出しを競合なく並列に行うことができる。
サブブロック分割の様子は、図64の通りである。1つのサブブロックにつき、1サイクルに2シンボルが出力される。
同時にアクセスされる行の組み合わせは、図65の通りである。なお、書込みが5並列、読出しが10並列であることに注意されたい。
上記の条件から、バンク割り当てを、図66のように定める。
次に、本実施の形態のインターリーバ900の動作について、実施の形態4のインターリーバ700(図43)と異なる部分を中心に説明する。
入力側スイッチ901は、configuration選択部905に制御され、図68に示すようなコンフィギュレーションとされる。
行カウンタ906、列カウンタ907の初期値は、サブブロックサイズが等しいので、実施の形態4のときと同様である。つまり、図50の通りである。
本実施の形態では、行カウンタ906は毎サイクル2ずつ増加する。19を超えたらリセットされる(つまり20が減算される)点、及びリセット時に列カウンタ906を1増加させることは実施の形態4の例と同様である。
列番号スイッチ908は、図67に示すように、1つの列カウンタ値を2つのLUTに送るよう、接続する。
そして、本発明によればこれら10個のデータ読み出しはすべて別のバンクへのアクセスであることが保証され、アクセス競合は起こらない。
なお、プルーニング判定部913でのプルーニング判定は、サブブロックごとではなくデータごとに行われる。たとえば、サブブロック0のはじめのデータは、2つのうち1つだけが無効である。
(1)行カウンタ、列カウンタ、列番号スイッチの他の構成例
行カウンタ、列カウンタ、列番号スイッチは、上述した実施の形態と異なる回路構成でも実現できる。ただし、LUTに列番号を供給し、出力スイッチを操作するための信号を生成するという目的に変わりはない。
10個のレジスタ0〜9は、列カウンタ808の値に相当する値を保持する。図54では、列カウンタ808はサブブロックとの対応が固定であったが、図69のレジスタ0〜9はLUT0〜9との対応を固定とした。
転送回路1001は、レジスタの内容を並びかえる。一部のレジスタに対しては値の更新を行う。
状態0では、白抜き四角形を記した部分が接続される。すなわち、レジスタ0の内容は
レジスタ0に転送され、レジスタ9の内容はレジスタ5に転送される。
図62と比較すると転送回路1001の動作が理解できる。すなわち、図62ではLUT9に入力されていた値は列カウンタ0の値である。そして、次の時刻では、図62(B)のように、列カウンタ0の値はLUT5に転送されるようスイッチの接続が変更される。
これに対して、図70では、はじめの状態ではレジスタ9にはLUT9に入力すべき値として列カウンタ0に相当する値を保持していた。この値は、次の時刻にLUT5で使われるので、転送回路はレジスタ5に転送するよう接続がなされる。
状態3(三角印)においては、レジスタ9に入力される値に1を加算するとともに、レジスタ5に入力される値から1を減ずる。これは、図62において列カウンタ707がインクリメント/デクリメントする動作に相当する。
図69の制御部1002は、転送回路1001の4状態を制御する。それと同時に、上位アドレス生成部1004及び出力側スイッチの制御を行う。
実施の形態3においては、実施の形態1、2の並列インターリーバに対応する並列ターボデコーダの構成例(図41、図42)を示した。図71に、実施の形態4のインターリーバ700(図43)に対応する並列ターボデコーダの構成例を示す。
並列インターリーバ1100は、メモリ1101と、natural orderアドレス生成部1102と、スイッチ1103と、interleave order アドレス生成部1104と、プルーニング判定部1103とを有する。また並列デインターリーバ1200は、スイッチ1201と、メモリ1202と、natural orderアドレス生成部1203とを有する。
(i)プルーニング判定部1105により、無効アドレスが検出された場合には、該当するSISOデコーダのみをウェイト(一時停止)する。
(ii)並列インターリーバ1100のインターリーブオーダーアドレスは、遅延回路1400でタイミング調整すればそのまま並列デインターリーバ1200で使うことができるので、インターリーブオーダーアドレス生成部1104は1つでよい。同時に、スイッチの制御信号も受け渡す。これにより、同じアドレスを(単に遅延させただけの)同じタイミングで渡すので、アクセス競合がないことが保証される。因みに、SISOデコーダ1300の入力と出力でデータの並び順が同じ場合は、遅延回路1400としてFIFO(先入れ先出し)バッファを用いる。入力と出力でデータの並び順が逆になる場合はLIFO(後入れ先出し)バッファを用いる。
[従来構成1]逐次(並列でない)ターボデコーダが前提。(アドレステーブルは大きいので)テーブル引きではなく、1つずつアドレスを計算する。このとき、無効アドレスまで生成されてしまうのでその場合はSISOデコーダをウェイトする。ウェイトが発生しないように、アドレスを2個ずつ生成して1個だけ使うなどの方法も考案されている。この場合、連続した2個がいずれも無効であることはない。
[従来構成2]並列インターリーバでは、テーブル引きでアドレス生成する。なお、テーブル引き以外でもできるかもしれないが、たいていテーブル引きでやっている。どうせテー
ブルを作るのであれば、無効アドレスは除去しておこうというのが常識になっている。
図72に、実施の形態6のハイブリッド型のインターリーバ900に対応するターボデコーダの構成例を示す。
並列インターリーバ2100は、スイッチ2101と、メモリ2102と、natural orderアドレス生成部2103と、スイッチ2104と、interleave order アドレス生成部2105、プルーニング判定部2106とを有する。
natural orderにおいては、RAM10eに書き込むときには同時にRAM10oにもデータを書き込む。Interleave orderにおいては、RAM10eとRAM10oのいずれか一方に対してのみ読出しを行う。
つまり、どのようなインターリーブパターンを採用したとしても、メモリバンクへのメモリアクセス競合を回避できるようになる。この結果、調停回路等の付加的な回路を設けなくても、良好に高速なインターリーブ処理を行うことができる並列インターリーバを実現できる。
ターリーブアドレス生成手段と、前記インターリーブアドレスに対し第2の行番号の組及び第2の列番号の組を一意に算出する行列番号決定手段と、前記第2の列番号の組を読み出しアドレスとし、前記第2の行番号の組により読み出し元バンクを決定すると共に前記読み出しアドレスを該当する読み出し元バンクに送出するアドレス転送手段と、を具備する構成を採る。
に等しくする、書き込みアドレスを生成する、構成を採る。
Claims (14)
- 複数のメモリバンクからなるメモリに入力データを書き込み、書き込まれたデータを書き込みと異なる順序で読み出すことにより、2次元配列型のデータ構造に対して行方向優先でデータを書き込み、各行ごとに規定される行内並び替えパターンに基づき行内並び替えを行い、行同士を並び替え、列方向優先でデータを読み出すインターリーブアルゴリズムを実現する並列インターリーバであって、
複数のメモリバンクからなり、各バンクが前記2次元配列の1または複数の行番号と対応付けられているメモリと、
それぞれ前記2次元配列のデータ構造における別の行において規定される複数の行内並び替えパターンを生成するパターン生成手段と、
前記パターン生成手段を内部に持ち、前記複数の行内並び替えパターンに基づき複数の読み出しアドレスを生成する読み出し制御手段と、
を具備し、前記メモリから複数のデータを同時に読み出す
並列インターリーバ。 - 前記読み出し制御手段は、前記メモリバンク間で同時に読み出す2つ以上のデータについて、いずれの2つ以上についても、インターリーブ後のデータ順位の差を行数で除した余りが1以上となるように、前記複数のメモリバンクからデータを読み出す
請求項1に記載の並列インターリーバ。 - 前記インターリーブアルゴリズムは、入力データのデータサイズが前記2次元配列より小さい場合、前記入力データにダミーデータを付加してインターリーブ処理を行った後、ダミーデータを取り除くインターリーブアルゴリズムであり、
前記並列インターリーバは、さらに、前記複数のアドレスのうち、前記ダミーデータに対応する0ないし複数個の無効アドレスを判別する無効アドレス判定部を具備する
請求項1に記載の並列インターリーバ。 - 前記読み出し制御手段は、前記メモリバンク間で読み出す2つ以上のデータについて、いずれの2つ以上についても、ダミーデータ除去前の順位の差を行数で除した余りが1以上となるように、前記複数のメモリバンクからデータを読み出す
請求項3に記載の並列インターリーバ。 - 前記2次元配列のデータ構造における各行の入力データを、同じ行のデータはその行番号に対応するメモリバンクに書き込むようにして、定められたメモリバンクに書き込むための書き込みアドレスを生成する書き込み制御手段を具備し、
当該書き込み制御手段は、2次元配列のデータ構造における各行と、書き込み先バンクとの対応が、一対一の対応となる書き込みアドレスを生成する
請求項1に記載の並列インターリーバ。 - 前記2次元配列のデータ構造における各行の入力データを、同じ行のデータはその行番号に対応するメモリバンクに書き込むようにして、定められたメモリバンクに書き込むための書き込みアドレスを生成する書き込み制御手段を具備し、
当該書き込み制御手段は、2次元配列のデータ構造における行に対する書き込み先のメモリバンクの対応を一意に定め、かつ、インターリーブ後の順位の差と行数との最大公約数を越えない1ないし複数の行を1つのメモリバンクに対応付ける書き込みアドレスを生成する
請求項1に記載の並列インターリーバ。 - 前記2次元配列のデータ構造における各行の入力データを、同じ行のデータはその行番
号に対応するメモリバンクに書き込むようにして、定められたメモリバンクに書き込むための書き込みアドレスを生成する書き込み制御手段を具備し、
当該書き込み制御手段は、
前記同時に読み出すデータと同数の第1の行番号の組を生成する行カウンタと、前記同時に読み出すデータと同数の第1の列番号の組を生成する列カウンタとを備え、前記第1の行番号の組により書き込み先バンクを決定すると共に、前記第1の列番号の組より書き込みアドレスを算出し、
前記読み出し制御手段は、
いずれの2つについても、差を行数で除した余りが1以上となるような複数のデータ順位に対するインターリーブアドレスを複数生成するインターリーブアドレス生成手段と、前記インターリーブアドレスに対し第2の行番号の組及び第2の列番号の組を一意に算出する行列番号決定手段と、前記第2の列番号の組を読み出しアドレスとし、前記第2の行番号の組により読み出し元バンクを決定すると共に前記読み出しアドレスを該当する読み出し元バンクに送出するアドレス転送手段と、を具備する
請求項1に記載の並列インターリーバ。 - 前記読み出し制御手段は、
前記インターリーブ後の順位の差を行数で除した余りを行オフセットとして求め、当該行オフセットぶんずつオフセットした、前記メモリバンク分の行番号からなる行番号セットを、行間並び替えパターンに基づいて変換し、変換後の行番号セットを前記メモリの出力側に設けられた出力選択手段にバンク選択信号として送出するバンク選択信号生成手段と、
列番号セットと、前記バンク選択信号生成手段により求められた変換後の行番号セットとを用いて、行内並べ替えパターンを生成して、そのパターンを読み出しアドレスとして前記メモリの該当するメモリバンクに送出する読み出しアドレス生成手段と
を具備する請求項1に記載の並列インターリーバ。 - 前記並列インターリーバは、前記2次元配列のデータ構造における各行の入力データを、所定のサブブロック単位で異なるメモリバンクに書き込むための書き込みアドレスを生成する書き込み制御手段を有するサブブロック分割型のインターリーバであり、
前記読み出し制御手段は、
前記インターリーブ後の順位の差を行数で除した余りを行オフセットとして求め、当該行オフセットぶんずつオフセットした、前記メモリバンク分の行番号からなる行番号セットを、行間並び替えパターンに基づいて変換し、変換後の行番号セットを前記メモリの出力側に設けられた出力選択手段にバンク選択信号として送出するバンク選択信号生成手段と、
列番号セットと、前記バンク選択信号生成手段により求められた変換後の行番号セットとを用いて、インターリーブ後の順位の差がサブブロックサイズとなる行内並べ替えパターンを生成し、そのパターンを読み出しアドレスとして前記メモリの該当するメモリバンクに送出する読み出しアドレス生成手段と
を具備する請求項1に記載の並列インターリーバ。 - 前記書き込み制御手段は、前記各メモリバンクに書き込む入力データのサブブロックサイズを前記2次元配列のデータ構造における列数以上とする、書き込みアドレスを生成する
請求項9に記載の並列インターリーバ。 - 前記書き込み制御手段は、前記各メモリバンクに書き込む入力データのサブブロックサイズを前記2次元配列のデータ構造の列数に等しくする、書き込みアドレスを生成する
請求項8に記載の並列インターリーバ。 - 請求項1に記載の並列インターリーバの書き込みアドレスと読み出しアドレスを入れ替え、さらに入力選択手段と出力選択手段を入れ替えることにより、インターリーブアルゴリズムの逆処理を実現する
並列デインターリーバ。 - 請求項1に記載の並列インターリーバを具備するターボデコーダ。
- 複数のメモリバンクからなるメモリに入力データを書き込み、書き込まれたデータを書き込みと異なる順序で読み出すことにより、2次元配列型のデータ構造に対して行方向優先でデータを書き込み、各行ごとに規定される行内並び替えパターンに基づき行内並び替えを行い、行同士を並び替え、列方向優先でデータを読み出すインターリーブアルゴリズムを実現する並列インターリーブ方法であって、
前記2次元配列のデータ構造における別の行において規定される複数の行内並び替えパターンを生成するパターン生成ステップと、
前記パターン生成ステップで生成した前記複数の行内並び替えパターンに基づき、複数のメモリバンクからなり各バンクが前記2次元配列の1または複数の行番号と対応付けられているメモリについての複数の読み出しアドレスを生成する読み出し制御ステップと、
を含み、前記メモリから複数のデータを同時に読み出す
インターリーブ方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007501644A JP4848359B2 (ja) | 2005-02-03 | 2006-02-03 | 並列インターリーバ、並列デインターリーバ及びインターリーブ方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005028314 | 2005-02-03 | ||
JP2005028314 | 2005-02-03 | ||
JP2007501644A JP4848359B2 (ja) | 2005-02-03 | 2006-02-03 | 並列インターリーバ、並列デインターリーバ及びインターリーブ方法 |
PCT/JP2006/301864 WO2006082923A1 (ja) | 2005-02-03 | 2006-02-03 | 並列インターリーバ、並列デインターリーバ及びインターリーブ方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2006082923A1 JPWO2006082923A1 (ja) | 2008-06-26 |
JP4848359B2 true JP4848359B2 (ja) | 2011-12-28 |
Family
ID=36777305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007501644A Expired - Fee Related JP4848359B2 (ja) | 2005-02-03 | 2006-02-03 | 並列インターリーバ、並列デインターリーバ及びインターリーブ方法 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1850486A4 (ja) |
JP (1) | JP4848359B2 (ja) |
KR (1) | KR100912156B1 (ja) |
CN (1) | CN101116249B (ja) |
WO (1) | WO2006082923A1 (ja) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4692751B2 (ja) * | 2005-11-28 | 2011-06-01 | 日本電気株式会社 | ターボ復号器及びそれを備えた通信システム |
US7925956B2 (en) * | 2006-10-03 | 2011-04-12 | Motorola Mobility, Inc. | Method and apparatus for encoding and decoding data |
US8356232B2 (en) | 2006-10-06 | 2013-01-15 | Motorola Mobility Llc | Method and apparatus for encoding and decoding data |
JP4837645B2 (ja) * | 2006-10-12 | 2011-12-14 | ルネサスエレクトロニクス株式会社 | 誤り訂正符号復号回路 |
US8010867B2 (en) | 2006-10-12 | 2011-08-30 | Renesas Electronics Corporation | Error correction code decoding device |
JP2010508790A (ja) * | 2006-11-01 | 2010-03-18 | クゥアルコム・インコーポレイテッド | 高データレートのためのターボインターリーバ |
KR101290472B1 (ko) | 2006-11-22 | 2013-07-26 | 삼성전자주식회사 | 이동 통신 시스템에서 병렬 복호 방법 및 장치 |
JP2008135813A (ja) * | 2006-11-27 | 2008-06-12 | Fujitsu Ltd | ターボ復号器及びターボ復号方法 |
US7949926B2 (en) * | 2006-11-30 | 2011-05-24 | Motorola Mobility, Inc. | Method and apparatus for encoding and decoding data |
EP2698936B1 (en) * | 2007-06-19 | 2015-08-19 | Panasonic Intellectual Property Corporation of America | Channel arrangement circuit for radio communication |
EP2051387A1 (en) * | 2007-10-15 | 2009-04-22 | CoreOptics, Inc., c/o The Corporation Trust Center | Receiver, interleaving and deinterleaving circuit and method |
KR101297563B1 (ko) | 2007-11-15 | 2013-08-19 | 삼성전자주식회사 | 스토리지 관리 방법 및 관리 시스템 |
US8140932B2 (en) * | 2007-11-26 | 2012-03-20 | Motorola Mobility, Inc. | Data interleaving circuit and method for vectorized turbo decoder |
US8711984B2 (en) | 2008-01-22 | 2014-04-29 | Agere Systems Llc | Methods and apparatus for map detection with reduced complexity |
US8572332B2 (en) | 2008-03-28 | 2013-10-29 | Qualcomm Incorporated | De-interleaving mechanism involving a multi-banked LLR buffer |
CN101345604B (zh) * | 2008-08-15 | 2012-03-21 | 北京理工大学 | 一种行列式分组交织器的并行实现方法 |
CN101882970A (zh) * | 2009-05-06 | 2010-11-10 | 中国科学院微电子研究所 | 多模式的交织与解交织地址生成方法及装置 |
JP5477465B2 (ja) | 2009-09-16 | 2014-04-23 | 日本電気株式会社 | インタリーバ及びインタリーブ方法 |
JP5476902B2 (ja) | 2009-09-30 | 2014-04-23 | 富士通株式会社 | ターボ復号装置及び通信装置 |
KR101553651B1 (ko) | 2009-10-13 | 2015-09-17 | 삼성전자 주식회사 | 다중 뱅크 메모리 액세스 장치 |
US8255759B2 (en) * | 2009-10-29 | 2012-08-28 | Qualcomm Incorporated | APP (a priori probability) storage design for LTE turbo decoder with quadratic permutation polynomial interleaver |
CN102064910A (zh) * | 2009-11-13 | 2011-05-18 | 傲世通科技(苏州)有限公司 | 混合自动重传请求比特收集和交织的方法和装置 |
US8614977B2 (en) | 2010-05-11 | 2013-12-24 | Qualcomm Incorporated | Method and apparatus for parallel de-interleaving of LTE interleaved data |
CN102316059A (zh) * | 2010-07-05 | 2012-01-11 | 中国科学院微电子研究所 | 一种ofdm系统的交织方法和装置 |
CN102412850B (zh) * | 2010-09-25 | 2014-02-05 | 中兴通讯股份有限公司 | Turbo码并行交织器及其并行交织方法 |
CN102170333B (zh) * | 2011-05-17 | 2016-01-20 | 中兴通讯股份有限公司 | 一种交织地址的并行计算方法及系统 |
FR2987527B1 (fr) * | 2012-02-23 | 2014-02-21 | Univ Bretagne Sud | Dispositif auto-configurable d'entrelacement/desentrelacement de trames de donnees |
WO2014097531A1 (ja) * | 2012-12-19 | 2014-06-26 | 日本電気株式会社 | アクセス競合解決処理回路、データ処理装置及びアクセス競合解決方法 |
CN103780341B (zh) * | 2013-12-31 | 2017-02-08 | 上海无线通信研究中心 | 基于并行编码与并行交织的无线通信传输方法 |
KR101558172B1 (ko) | 2014-10-14 | 2015-10-08 | 숭실대학교산학협력단 | 오류 분산을 위한 인터리빙 방법 및 장치, 이를 수행하기 위한 기록매체 |
CN105790776A (zh) * | 2014-12-18 | 2016-07-20 | 深圳市中兴微电子技术有限公司 | 3G协议的turbo码并行译码方法及装置 |
JP6863661B2 (ja) * | 2017-06-08 | 2021-04-21 | 三菱電機株式会社 | レートデマッチング及びデインターリーブ回路 |
CN109842461B (zh) * | 2017-11-24 | 2022-08-26 | 山东协力合智通信科技有限公司 | 数据交织方法和装置、交织数据解交织方法和装置 |
KR102445674B1 (ko) | 2017-12-18 | 2022-09-22 | 삼성전자주식회사 | 선택적으로 메모리를 부팅시키도록 구성되는 램 컨트롤러 및 그 동작 방법 |
WO2020077640A1 (zh) * | 2018-10-19 | 2020-04-23 | 华为技术有限公司 | 一种存储方法及极化码接收设备 |
WO2020095093A1 (en) | 2018-11-07 | 2020-05-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Optimized implementation of (de-)interleaving and rate (de-)matching for 3gpp new radio |
CN109889311B (zh) * | 2019-03-25 | 2020-06-12 | 西安电子科技大学 | 基于组合编码的间隙信道通信方法 |
CN111478750B (zh) * | 2020-03-12 | 2022-10-14 | 普联技术有限公司 | 一种数据并行交织方法、终端设备及计算机存储介质 |
CN111628787B (zh) * | 2020-05-25 | 2022-03-22 | 武汉高德红外股份有限公司 | 一种无冗余数据的卷积交织与解交织fpga实现方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003500885A (ja) * | 1999-05-19 | 2003-01-07 | サムスン エレクトロニクス カンパニー リミテッド | ターボインターリービング装置及び方法 |
JP2004129240A (ja) * | 2002-09-30 | 2004-04-22 | Lucent Technol Inc | インタリーブド・アドレスを生成するための方法および装置 |
JP2004164641A (ja) * | 2002-11-12 | 2004-06-10 | Hewlett-Packard Development Co Lp | メモリバンクへのアドレスのマッピングをするメモリコントローラ |
JP2004531138A (ja) * | 2001-05-11 | 2004-10-07 | クゥアルコム・インコーポレイテッド | ターボ復号器のためのバッファアーキテクチャ |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2295791C (en) * | 1997-07-30 | 2006-06-13 | Samsung Electronics Co., Ltd. | Adaptive channel encoding method and device |
US6678843B2 (en) * | 1999-02-18 | 2004-01-13 | Interuniversitair Microelektronics Centrum (Imec) | Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving |
US6775800B2 (en) * | 2000-01-03 | 2004-08-10 | Icoding Technology, Inc. | System and method for high speed processing of turbo codes |
JP3399904B2 (ja) * | 2000-03-17 | 2003-04-28 | 松下電器産業株式会社 | インタリーブアドレス生成装置 |
US6845482B2 (en) * | 2001-02-28 | 2005-01-18 | Qualcomm Incorporated | Interleaver for turbo decoder |
US6603412B2 (en) * | 2001-06-08 | 2003-08-05 | Texas Instruments Incorporated | Interleaved coder and method |
FR2838581B1 (fr) * | 2002-04-16 | 2005-07-08 | Universit De Bretagne Sud | Procede de codage et/ou de decodage de codes correcteurs d'erreurs, dispositifs et signal correspondants |
EP1401108A1 (en) * | 2002-09-12 | 2004-03-24 | STMicroelectronics N.V. | Electronic device avoiding write access conflicts in interleaving, in particular optimized concurrent interleaving architecture for high throughput turbo-decoding |
-
2006
- 2006-02-03 WO PCT/JP2006/301864 patent/WO2006082923A1/ja active Application Filing
- 2006-02-03 KR KR1020077018009A patent/KR100912156B1/ko not_active IP Right Cessation
- 2006-02-03 CN CN2006800040360A patent/CN101116249B/zh not_active Expired - Fee Related
- 2006-02-03 JP JP2007501644A patent/JP4848359B2/ja not_active Expired - Fee Related
- 2006-02-03 EP EP06713007A patent/EP1850486A4/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003500885A (ja) * | 1999-05-19 | 2003-01-07 | サムスン エレクトロニクス カンパニー リミテッド | ターボインターリービング装置及び方法 |
JP2004531138A (ja) * | 2001-05-11 | 2004-10-07 | クゥアルコム・インコーポレイテッド | ターボ復号器のためのバッファアーキテクチャ |
JP2004129240A (ja) * | 2002-09-30 | 2004-04-22 | Lucent Technol Inc | インタリーブド・アドレスを生成するための方法および装置 |
JP2004164641A (ja) * | 2002-11-12 | 2004-06-10 | Hewlett-Packard Development Co Lp | メモリバンクへのアドレスのマッピングをするメモリコントローラ |
Also Published As
Publication number | Publication date |
---|---|
WO2006082923A1 (ja) | 2006-08-10 |
EP1850486A4 (en) | 2008-05-07 |
CN101116249A (zh) | 2008-01-30 |
JPWO2006082923A1 (ja) | 2008-06-26 |
KR20070093447A (ko) | 2007-09-18 |
KR100912156B1 (ko) | 2009-08-14 |
CN101116249B (zh) | 2010-10-13 |
EP1850486A1 (en) | 2007-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4848359B2 (ja) | 並列インターリーバ、並列デインターリーバ及びインターリーブ方法 | |
Wang et al. | Parallel interleaver design for a high throughput HSPA+/LTE multi-standard turbo decoder | |
US8438434B2 (en) | N-way parallel turbo decoder architecture | |
WO2003044965A1 (fr) | Generateur d'ordre d'entrelacement, entrelaceur, turbo codeur et turbo decodeur | |
WO2008149290A1 (en) | Multiple access for parallel turbo decoder | |
Dobkin et al. | Parallel interleaver design and VLSI architecture for low-latency MAP turbo decoders | |
US9490848B2 (en) | Data handling system comprising memory banks and data rearrangement | |
WO2012083714A1 (zh) | Turbo码数据交织处理方法和用于交织turbo码数据的交织器 | |
WO2004055992A1 (en) | Addresses generation for interleavers in turbo encoders and decoders | |
KR101110201B1 (ko) | 통신시스템에서 병렬구조 라틴방진 인터리빙 방법 및 장치 | |
Wang et al. | High-throughput Contention-Free concurrent interleaver architecture for multi-standard turbo decoder | |
JP2009246474A (ja) | ターボデコーダ | |
KR100884098B1 (ko) | 다중 대역 직교 주파수 분할 다중 접속 통신 시스템에서혼합 기수 시스템을 이용한 블록 인터리빙 장치 및 방법 | |
US9015551B2 (en) | Decoding apparatus with de-interleaving efforts distributed to different decoding phases and related decoding method thereof | |
KR100519335B1 (ko) | 채널 인터리빙 방법 | |
Richter et al. | Parallel interleaving on parallel DSP architectures | |
US20090083514A1 (en) | Apparatus and method for block interleaving in mobile communication system | |
CN116318552B (zh) | Turbo码的交织或解交织方法及其器件、通信芯片和装置 | |
KR101290472B1 (ko) | 이동 통신 시스템에서 병렬 복호 방법 및 장치 | |
Abdel-Hamid et al. | Memory conflict analysis for a multi-standard, reconfigurable turbo decoder | |
KR100782214B1 (ko) | 멀티 캐리어 인터리빙 구현장치 및 방법 | |
JP5510189B2 (ja) | インタリーブ装置及びインタリーブ方法 | |
KR101365372B1 (ko) | 이동 통신 시스템에서의 고속 패킷데이타 채널의 인터리빙방법 | |
Wang et al. | Efficient interleaver memory architectures for serial turbo decoding | |
KR101173555B1 (ko) | 데이터 디레이트 매처 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081225 |
|
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: 20111004 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111017 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141021 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |