JP2004129240A - インタリーブド・アドレスを生成するための方法および装置 - Google Patents

インタリーブド・アドレスを生成するための方法および装置 Download PDF

Info

Publication number
JP2004129240A
JP2004129240A JP2003297427A JP2003297427A JP2004129240A JP 2004129240 A JP2004129240 A JP 2004129240A JP 2003297427 A JP2003297427 A JP 2003297427A JP 2003297427 A JP2003297427 A JP 2003297427A JP 2004129240 A JP2004129240 A JP 2004129240A
Authority
JP
Japan
Prior art keywords
mod
address
values
row
generating
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.)
Granted
Application number
JP2003297427A
Other languages
English (en)
Other versions
JP4064894B2 (ja
Inventor
Mark Andrew Bickerstaff
マーク アンドリュー ビッカースタッフ
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of JP2004129240A publication Critical patent/JP2004129240A/ja
Application granted granted Critical
Publication of JP4064894B2 publication Critical patent/JP4064894B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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
    • 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/6502Reduction of hardware complexity or efficient processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/722Modular multiplication
    • 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/2703Coding, 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 the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • H03M13/2714Turbo interleaver for 3rd generation partnership project [3GPP] universal mobile telecommunications systems [UMTS], e.g. as defined in technical specification TS 25.212
    • 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/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • 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/2767Interleaver wherein the permutation pattern or a portion thereof is stored
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00188Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised devices recording or reproducing contents to/from a record carrier
    • G11B20/00195Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised devices recording or reproducing contents to/from a record carrier using a device identifier associated with the player or recorder, e.g. serial numbers of playback apparatuses or MAC addresses

Abstract

【課題】インタリーブド・アドレスを生成するための方法および装置を提供すること。
【解決手段】インタリーブド・アドレスを生成するための方法では、i=0からx−1の場合のそれぞれの2^i mod(p−1)値が格納される。ここで、pは処理されるデータ・ブロックのブロック・サイズKに依存した素数であり、xは1より大きい。行間シーケンス番号に列インデックス番号が掛け合わされて、バイナリ積が得られる。行間シーケンス番号および列インデックス番号は、どちらもブロック・サイズKおよび素数p用である。次に、バイナリ積の各バイナリ構成要素に、格納された2^i mod(p−1)値のそれぞれが掛け合わされて、複数の中間mod値が得られる。行内並べ替えアドレスは複数の中間mod値に基づいて生成され、インタリーブド・アドレスは行内並べ替えアドレスに基づいて生成される。
【選択図】図1

Description

 本発明はターボ符号化の分野に関し、より詳細にはターボ符号化プロセスにおけるアドレス・インタリーブに関する。
 ターボ符号化は、Universal mobile telephone standard(UMTS)などの第3世代(3G)無線標準における、データ伝送に関する最も重要な構成要素の1つである。ターボ符号化は、前方誤り訂正に例外符号化利得を提供し、ほぼ最低の信号対雑音比(SNR)環境に対してほとんど誤りのないデータ伝送を提供するものである。ターボ符号化構造の重要な構成要素は、2つの構成復号器間でデータの順序を並べ替えるインタリーバである。調査研究によれば、ターボ符号全体の性能はブロック間のインタリーバの「ランダム性」に直接関係することがわかっている。
 3GPP標準では、ターボ符号用のインタリーバを、40から5114ビットの範囲のブロック・サイズに基づいた機能として定義している。3GPPインタリーバは、複雑な行間および行内の並べ替えを伴う基本ブロック・インタリーバ構造を使用して、擬似ランダムのインターリーブ・パターンを生成する。これらの並べ替えによって優れたアルゴリズム性能が与えられる一方で、インタリーバのハードウェア実施がかなり複雑化してしまう。
 実現可能なハードウェア・アドレス・インタリーバ用アーキテクチャの1つが、アドレス・インタリーブ・シーケンス全体を格納する大容量メモリを使用するものである。したがってターボ構成要素は、次のインタリーブド・アドレスを取り出す場合に、単にメモリにアクセスするだけである。これは最も簡単な実施であるが、ブロック・サイズを変更する場合にはテーブル全体を再計算しなければならない。移動端末がテーブルをローディングする際のオーバヘッドを受け入れられるとしても、インフラストラクチャのターボ復号器は、複数のブロック・サイズを次から次へと処理しなければならない可能性がある。
 本発明の目的は、ターボ復号器内でのハードウェア・アドレス・インタリーバに基づいた大容量メモリの使用に代わる方法を提供することである。
 本発明に従ってインタリーブド・アドレスを生成する方法では、インタリーバ・アルゴリズムからのいくつかのガイド・テーブルが使用されるが、インタリーブド・アドレスは実行中に生成される。進行中にインタリーブド・アドレスを生成するための障害は、インタリーブド・アドレス生成プロセスの一部を形成する、通常はmod演算を実行するために必要な有意な計算能力および回路領域である。本発明のインタリーブド・アドレスを生成するための方法により、mod演算を実行するための計算能力および回路領域が削減されている。
 インタリーブド・アドレスを生成するための方法では、i=0からx−1の場合のそれぞれの2^i mod(p−1)値が格納される。ここで、pは処理されるデータ・ブロックのブロック・サイズKに依存した素数であり、xは1より大きい。行間シーケンス番号に列インデックス番号が掛け合わされて、バイナリ積が得られる。行間シーケンス番号および列インデックス番号は、どちらもブロック・サイズKおよび素数p用である。次に、バイナリ積の各バイナリ構成要素に、格納された2^i mod(p−1)値のそれぞれが掛け合わされて、複数の中間mod値が得られる。行内並べ替えアドレスは複数の中間mod値に基づいて生成され、インタリーブド・アドレスは行内並べ替えアドレスに基づいて生成される。
 一実施形態では、mod計算デバイスが2^i mod(p−1)値を格納するメモリを含む。第1の乗算器は、行間シーケンス番号と列インデックス番号とを掛け合わせて、バイナリ積を取得する。第2の乗算器は、バイナリ積の各バイナリ構成要素と格納されたそれぞれの2^i mod(p−1)値とを掛け合わせて複数の中間mod値を取得し、mod合計ブロックは、複数の中間mod値に関してmod合計演算を実行して、行内並べ替えアドレスを生成する。mod合計ブロックは、モジュロ加算器のツリー格子を有する。各モジュロ加算器はモジュロ加算器への入力を合計し、合計のmod(p−1)値を生成する。
 本発明は、本明細書で下記に記載する詳細な説明および添付の図面からより詳細に理解されるものであり、これらの図面では同じ要素は同じ参照番号で表されており、これらの図面は例示の目的で示されたものであって本発明を限定するものではない。
 初めにインタリーブド・アドレスを生成する一般的な方法について説明し、続いてインタリーブド・アドレスを生成するための一般的なアーキテクチャについて説明する。次に、本発明に従ってインタリーブド・アドレスを生成するための方法について説明する。さらに、本発明に従った方法を実施するための一実施形態について説明する。最後に、本発明を使用できるインタリーブド・アドレスを生成するための他のアーキテクチャについて説明する。
 インタリーブド・アドレスを生成するための一般的な方法
 インタリーブド・アドレスを生成するための方法は、いくつかの工程を含むことができる。例示的方法には、入力データ・ビットを矩形行列にフォーマット化する工程、矩形行列に関して行内および行間の並べ替えを実行する工程、ならびに枝刈りで矩形行列からのビットを出力する工程が含まれる。
 第1の工程は、入力ビットを矩形行列にフォーマット化することである。Kが符号化するためのデータ・ブロック中の入力ビット数(すなわちブロック・サイズ)である場合、最初に見つける必要のある項目は、基本ブロック・インタリーバ構造内の行数、Rである。数式(1)はRの選択プロセスを実証したものであり、3つの値、5、10、または20のうちの1つが選択される。
Figure 2004129240
 ブロック・インタリーバ内の列数は、数式(2)を解くことのできる最小素数を計算することによって決定される。
Figure 2004129240
 次に、数式(3)に見られるように、素数に基づいてテーブル内の列数を計算することができる。
Figure 2004129240
 これら3つの変数、R、p、およびCがわかると、データを順次、1行ずつ、ブロック・インタリーバ・テーブルに書き込むことができる。書き込まれる最後の行だけが部分的に充填されていても良いため、行の残りはゼロと共にロードされることに留意されたい。
 次の工程は、行内シーケンスを計算することである。これを実行するために、pの事前に計算された値に関連付けられた原始根が、pの値に基づいて以下の表1から選択される。
Figure 2004129240
 pおよびvの値は、行内並べ替えシーケンスs(i)を生成する働きをする。
Figure 2004129240
 qを、シーケンス{q}中の第1の素の整数とする。{q}は以下のように生成され、
Figure 2004129240
 上式で、g.c.d.は最大公約分母であり、
{q}は、以下のように行間シーケンス{r}に並べ替えられ、
Figure 2004129240
 上式で、T(j)(j=0、1、2、...、R−1)は、4つのシーケンスのうちの1つによって定義される行間並べ替えパターンであって、
Figure 2004129240
 上式で、これらのパターンは現在のブロック・サイズに基づいて以下のように選択される。
Figure 2004129240
 行内並べ替えは、以下のように実行され、
Figure 2004129240
 上式で、U(i)はj番目の行を並べ替えた後のi番目の出力の入力ビット位置である。
Figure 2004129240
 上式で、U(i)はj番目の行を並べ替えた後のi番目の出力の入力ビット位置である。
Figure 2004129240
 上式で、U(i)はj番目の行を並べ替えた後のi番目の出力の入力ビット位置である。
  end if
 パターンT(j)(j=0、1、2、...、R−1)に基づいた行間並べ替えが実行され、ここでT(j)はj番目の並べ替えられた行の元の行位置である。
 最終工程は、前述の部分的に充填された行から結果的に生じるアドレスの枝刈りに関するものである。生成されたアドレスが現在のブロック長さよりも長い場合、生成されたアドレスは廃棄される。
 インタリーブド・アドレスを生成するための一般的なアーキテクチャ
 図1は、アドレス・インタリーバ構造のアーキテクチャ全体を示す図である。ターボ復号器を形成する他の構成要素は当分野の技術者にはよく知られており、図が見やすいように図示していない。したがって、具体的には前述の一般的な方法についての記述および以下の記述から、この全体のアーキテクチャへの様々な入力の生成がよく知られているものであることも理解されよう。アーキテクチャはいくつかのセクションに区分されており、3GPPアルゴリズムの結果として厳密に生じるものである。
 図に示されるように、第1のルックアップ・テーブル10は行間シーケンス番号を格納し、受け取った行インデックスjをアドレスとして使用して、行間シーケンス番号のうちの1つを出力する。mod計算デバイス12は、(i)mod(p−1)を計算することによって、行内並べ替えアドレスを生成する。行内並べ替えアドレス、ゼロおよびpが、セレクタ14に供給される。セレクタ14は、通常、行内並べ替えアドレスを出力するが、行と列の数がブロック・サイズに等しい場合は、ブロック・サイズごとに数のパターンの相対的な配列を維持するために最後の行が処理される際に、セレクタ14によって最初と最後の列が交換される。
 第2のルックアップ・テーブル16は行内並べ替えシーケンスS(数式4を参照)を格納し、セレクタ14からの出力をアドレスとして使用して、行内並べ替えシーケンスのうちの1つを出力する。乗算器18は第2のルックアップ・テーブル16から行内並べ替えシーケンスを受け取り、第3のルックアップ・テーブル20から行間並べ替えパターンを受け取る。第3のルックアップ・テーブル20は前述の行間並べ替えパターンを格納し、ブロック・サイズKに基づいて行間並べ替えパターンのうちの1つを出力する。
 乗算器18によって生成された積が、生成されたインタリーブド・アドレスである。比較器22は、結果として生じるアドレスがK、すなわちブロック・サイズの範囲内であるかどうかを確認し、インタリーブド・アドレスがKの範囲内であれば、有効なアドレス信号を出力する。アドレスが範囲外である場合、インタリーバ・アーキテクチャは次の有効アドレスを提供するために別のサイクルを待たなければならない。比較演算の際、生成されたインタリーブド・アドレスは、ターボ復号器のクロックによって時間が刻まれるレジスタ24に格納される。
 分解によるmod演算の実行
 理解されるように、図1のアーキテクチャを形成する構成要素は単純であり、メモリ、レジスタ、または単純な算術ユニットのいずれかからなる。これらの構成要素のうちmod計算デバイス12は、最大の複雑さおよび非確定的な計算時間を有する傾向がある。次に、複雑さおよび計算時間を削減する、本発明に従ってmod演算を実行する方法について説明する。
 本発明の方法によれば、所与のブロック・サイズKでmod除数p−1が固定される。p−1にこの擬似スタティック値が与えられた場合、modのプロパティを利用してかなり単純な解を提供することができる。ある数のmodがその数を構成する個々の構成要素へのmod演算の合計に分けることができることを示した以下の数式(7)について考えてみる。この場合、数式(7)は被除数をそのバイナリ構成要素に分割し、2つの数のそれぞれの累乗のmodを計算する。それぞれの個々の結果が合計され、その後最終のmod演算が実行される。
Figure 2004129240
 図2は、数式(7)のmod分解を実行するためのアーキテクチャを示す図である。図に示されるように、乗算器28が列インデックスと行間シーケンス番号とを掛け合わせて、バイナリ積yを生成する。さらに図に示されるように、2の累乗mod計算が事前に計算され、レジスタ30に格納される。これらの値は、ブロック・サイズを変更する場合にだけ変更され、ブロックの最初にダウンロードしなければならないだけである。バイナリ積yは、mod演算の被除数を表す。各バイナリ構成要素(すなわちビット)は、ANDゲート32によって、対応する2の累乗mod値と共に入力される。たとえば、最下位のバイナリ構成要素y0および2のゼロ乗mod値がANDゲート32のうちの1つによって入力され、次に有意のバイナリ構成要素y1および2の1乗mod値が次のANDゲート32によって入力される、などとなる。ANDゲート32は、中間mod値、a、a、...ax−1を生成するために入力の論理積をとり、これらがモジュロ合計ブロック34に渡される。
 図3は、モジュロ合計ブロック34をより詳細に示す図である。図に示されるように、モジュロ合計ブロック34は伝播遅延を最小にするためのツリー構造を有する。すなわち、モジュロ合計ブロック34はベース・レベル40、いくつかの中間レベル42、および最終レベル44を有する。各レベルには1つまたは複数のモジュロ加算器36が含まれる。各モジュロ加算器は、2つの入力数を合わせて加算し、合計のmod p−1結果を生成する。したがって、ベース・レベル40は、あらゆる2つのmod値aに対してモジュロ加算器36を含み、中間レベル42は、前のレベルのあらゆる2つのモジュロ加算器36に対してモジュロ加算器36を含み、最終レベル44は、単一のモジュロ加算器36を含む。図から理解されるように、中間レベル42の数は、最終レベル44に対して2つの出力を生成するのに必要な数である。モジュロ合計ブロック34が特に3GPP標準で使用される場合、p−1の可能最小値は6である。したがって、図2からの最初の2つの中間mod値は、p−1にかかわらず、最高でも1および2であり(すなわち1MOD6=1、2MOD6=2)、その結果、値はモジュロp−1演算中にあることが保証されるため、モジュロ加算器36の代わりに単純な38を使用することができる。これは、例示の目的でのみ、図3に示されている。
 前述のように、モジュロ加算器36は2つの機能を実行する。第1に、2つの入力数を合わせて加算する。第2に、その合計をチェックして、合計がmod領域の外にあるかどうかを判定する。外にある場合、出力値はそのmod領域を基準にして折り返される。図4は、モジュロ加算器36の一実施形態を示す図である。図に示されるように、モジュロ加算器36は、入力aおよびbを加算する加算器50と、a+bの合計からmod演算数(たとえばp−1)を差し引く減算器52とを含む。セレクタ54は、a+bおよび(a+1)−(p−1)のうちの1つを選択的に出力する。比較器56は、値(p−1)と合計a+bとを比較し、合計a+bが値(p−1)より少ないかまたは等しい場合、セレクタ54が合計a+bを出力するように制御する。そうでない場合、比較器56は、セレクタ54に対して減算器52の出力を選択するように指示する。
 連続的なアドレスの生成
 インタリーブド・アドレス生成器に伴う問題の1つが、時折ブロック・サイズの有効範囲外にあるアドレスを生成してしまうことである。範囲外のアドレスが生成されると、アーキテクチャは出力が無効であるかどうかを識別するフラグを生成し、その後、次の順番のインタリーブド・アドレスが有効であるまで、別のクロック・サイクルを待たなければならない。これにより、ブロック・サイズが大きい場合、ターボ復号プロセスに大規模なオーバヘッドが生じる可能性がある。図5は、インタリーブ・プロセスの簡単な例と無効アドレスが生成される方法とを示す図である。ブロック・サイズの範囲が40から5114の間で連続しているため、正確な数の要素が、RおよびCによって定義される矩形アレイ内にいつも正確に収まるとは限らない。値は1行ごとにアレイに収められるが、最終行には空の要素がいくつかある。インタリーブのプロセスでは、行および列の両方がインタリーブ数式に基づいて並べ替えられ、空のセルは行を横切って広がる。したがって、インタリーバがソース・アドレスの取り出しを開始すると、時折、空のセルへのアクセスを生成することがある。
 穴がある場合、インタリーバは実際に最終アドレスを計算して、その最終アドレスと値の有効範囲とを比較するまで、無効なアドレスを有することに気付かない。1つの解決方法は、アドレス生成器が現在のアドレスと次のアドレスの両方を同時に実際に計算しているかどうかを確認することである。両方のアドレスが使用可能な場合、アドレス・インタリーバは第1に、現在の生成されたアドレスが有効であるかどうかをチェックする。アドレスが有効な場合、現在のアドレスが使用されるが、現在のアドレスが無効な場合、アーキテクチャは即時に次のアドレスを代用する。インタリーバは1行ごとに進んでいくため、現在のアドレスが無効である場合、すべての空のスペースは同じ行からのものであることから、次のアドレスは有効アドレスであることが保証される。
 図6は、現在のアドレスと次のアドレスの両方を同時に生成するアドレス・インタリーバ・アーキテクチャを示す図である。図6では、セレクタ14は図を見やすくするために削除されている。図に示されるように、第1のルックアップ・テーブル10は現在の行インデックスjをアドレスとして使用して、現在の行間シーケンス番号を生成し、複製の第1のルックアップ・テーブル10’は次の行インデックスj+1を使用して、次の行間シーケンス番号を生成する。mod計算デバイス12は、(i)mod(p−1)を計算することによって、現在の行内並べ替えアドレスを生成する。さらに、他のmod計算デバイス12’は、(ij+1)mod(p−1)を計算することによって、次の行内並べ替えアドレスを生成する。mod計算デバイス12および12’は、図2および3に関して上記で論じた方法およびアーキテクチャを使用する。
 第2のルックアップ・テーブル16’は、行内並べ替えシーケンスSを格納する(数式4を参照)。第2のルックアップ・テーブル16’は、2つの入力ポート、2つの出力ポートを有するメモリであり、それぞれ現在および次の行内並べ替えアドレスを使用して、現在および次の行内並べ替えシーケンスを出力する。2重ポート・メモリが使用できない場合、出力に必要なあらゆる記号に対してメモリが2回アクセスするために2重レート・クロックが使用されていれば、単一のメモリを使用することができる。乗算器18および18’は、第2のルックアップ・テーブル16’から、それぞれ現在および次の行内並べ替えシーケンスを受け取り、さらに第3のルックアップ・テーブル20から行内並べ替えパターンを受け取る。
 乗算器18および18’によって生成される積は、それぞれ、現在および次のインタリーブド・アドレスである。乗算器またはセレクタ60は、現在および次のインタリーブド・アドレスを受け取り、比較器22からの出力に基づいて、現在および次のインタリーブド・アドレスのうちの1つを選択的に出力する。比較器22は、現在のインタリーブド・アドレスがブロック・サイズKの範囲内であるかどうかを確認し、インタリーブド・アドレスがKの範囲内であれば、有効なアドレス信号を出力する。有効な場合、比較器22からの出力がマルチプレクサ60に現在のインタリーブド・アドレスを出力させる。無効の場合、比較器60からの出力がマルチプレクサ60に次のインタリーブド・アドレスを選択させる。したがって、次の有効なインタリーブド・アドレスが生成されるのを待つ必要がないことによって、処理時間が削減される。
 以上、本発明について説明してきたが、同様のものが多くの方法で変更可能であることは明白であろう。こうした変更は本発明の精神および範囲を逸脱したものとはみなされず、当分野の技術者に明白なこうした修正はすべて、添付の特許請求の範囲内に含まれるものであることが意図される。
アドレス・インタリーバ構造のアーキテクチャ全体を示す図である。 本発明に従ってmod分解を実行するためのアーキテクチャを示す図である。 図2のモジュロ合計ブロックをより詳細に示す図である。 図2のモジュロ加算器の一実施形態を示す図である。 インタリーブ・プロセスの簡単な例と無効アドレスが生成される方法とを示す図である。 現在のアドレスと次のアドレスの両方を同時に生成するアドレス・インタリーバ・アーキテクチャを示す図である。

Claims (10)

  1.  格納された2^i mod(p−1)値、行間シーケンス番号、および列インデックス番号に基づいて、行内並べ替えアドレスを生成する方法であって、pは処理されるデータ・ブロックのブロック・サイズKに依存した素数であり、xは1より大きく、行間シーケンス番号および列インデックス番号がブロック・サイズKおよび素数pに対応するものである方法。
  2.  生成する工程が、
      行間シーケンス番号および列インデックス番号に基づいて、格納された2^i mod(p−1)値を選択することと、
      行内並べ替えアドレスを生成するために、選択された2^i mod(p−1)値を組み合わせることを含む、請求項1に記載の方法。
  3.  選択する工程が、
      第1に行間シーケンス番号と列インデックス番号とを掛け合わせてバイナリ積を取得することと、
      第2にバイナリ積の各バイナリ構成要素と格納された2^i mod(p−1)値のうちのそれぞれ1つとを掛け合わせて、選択された2^i mod(p−1)値を取得することを含む、請求項2に記載の方法。
  4.  生成する工程が、
     第1に行間シーケンス番号と列インデックス番号とを掛け合わせてバイナリ積を取得すること、
     第2にバイナリ積の各バイナリ構成要素と格納された2^i mod(p−1)値のうちのそれぞれ1つとを掛け合わせて、複数の中間mod値を取得すること、および
     複数の中間mod値に基づいて行内並べ替えアドレスを決定することを含む、請求項1に記載の方法。
  5.  行内並べ替えアドレスに基づいてインタリーブド・アドレスを生成することをさらに含む、請求項4に記載の方法。
  6.  第2の乗算工程が、各バイナリ構成要素と格納された2^i mod(p−1)値のうちのそれぞれ1つとの論理積をとる、請求項4に記載の方法。
  7.  行内並べ替えアドレスを決定する工程が、行内並べ替えアドレスを生成するために複数の中間mod値に関してmod合計演算を実行する、請求項4に記載の方法。
  8.  行内並べ替えアドレスを決定する工程が、
     隣接する中間mod値を合計すること、
     中間mod値の連続セットを取得するために、各合計のmod(p−1)値を生成すること、および
     単一の値が取得されるまで、中間mod値の連続セットそれぞれに対して、合計および生成の工程を反復することを含み、単一の値が行内並べ替えアドレスである、請求項7に記載の方法。
  9.  インタリーブド・アドレスを生成する工程が、
     行内並べ替えアドレスを使用してルックアップ・テーブルから行内並べ替えシーケンスにアクセスすることと、
     行内並べ替えシーケンスおよび行間並べ替えパターンに基づいて、インタリーブド・アドレスを生成することを含む、請求項6に記載の方法。
  10.  それぞれ第1および第2のインタリーブド・アドレスを取得するために、現在および次の行間シーケンス番号に対して、第2に、第1の乗算、第2の乗算、実行および生成の工程を実行すること、
     第1のインタリーブド・アドレスが有効であるかどうかを特定すること、および
     特定工程の結果に基づいて、第1および第2のインタリーブド・アドレスのうちの1つを選択することをさらに含む、請求項5に記載の方法。
JP2003297427A 2002-09-30 2003-08-21 インタリーブド・アドレスを生成するための方法および装置 Expired - Fee Related JP4064894B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/259,600 US6851039B2 (en) 2002-09-30 2002-09-30 Method and apparatus for generating an interleaved address

Publications (2)

Publication Number Publication Date
JP2004129240A true JP2004129240A (ja) 2004-04-22
JP4064894B2 JP4064894B2 (ja) 2008-03-19

Family

ID=32029523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003297427A Expired - Fee Related JP4064894B2 (ja) 2002-09-30 2003-08-21 インタリーブド・アドレスを生成するための方法および装置

Country Status (4)

Country Link
US (1) US6851039B2 (ja)
EP (1) EP1411643B1 (ja)
JP (1) JP4064894B2 (ja)
KR (1) KR101017530B1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006082923A1 (ja) * 2005-02-03 2006-08-10 Matsushita Electric Industrial Co., Ltd. 並列インターリーバ、並列デインターリーバ及びインターリーブ方法
JP2007528169A (ja) * 2004-03-10 2007-10-04 テレフオンアクチーボラゲット エル エム エリクソン(パブル) インタリーバメモリ及びデインタリーバメモリのためのアドレス生成装置
JP2015037277A (ja) * 2013-08-15 2015-02-23 Necエンジニアリング株式会社 アドレス生成回路及びアドレス生成方法
JP2016541221A (ja) * 2013-11-25 2016-12-28 エルジー エレクトロニクス インコーポレイティド 放送信号送信装置、放送信号受信装置、放送信号送信方法及び放送信号受信方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103370A1 (en) * 2002-11-27 2004-05-27 International Business Machines Corporation System and method for rendering MFS XML documents for display
US6912616B2 (en) * 2002-11-12 2005-06-28 Hewlett-Packard Development Company, L.P. Mapping addresses to memory banks based on at least one mathematical relationship
US7200798B2 (en) * 2003-06-26 2007-04-03 Lucent Technologies Inc. Unified serial/parallel concatenated convolutional code decoder architecture and method
GB2409133A (en) * 2003-12-11 2005-06-15 Motorola Inc Interleaver for a turbo encoder and decoder
US7437650B2 (en) * 2005-04-12 2008-10-14 Agere Systems Inc. Pre-emptive interleaver address generator for turbo decoders
US8145877B2 (en) * 2008-03-31 2012-03-27 Xilinx, Inc. Address generation for quadratic permutation polynomial interleaving
US8219782B2 (en) * 2008-09-18 2012-07-10 Xilinx, Inc. Address generation
US8693570B2 (en) * 2008-10-31 2014-04-08 Industrial Technology Research Institute Communication methods and systems having data permutation
US8397123B2 (en) * 2009-09-30 2013-03-12 Qualcomm Incorporated Recursive realization of polynomial permutation interleaving
US9507827B1 (en) * 2010-03-25 2016-11-29 Excalibur Ip, Llc Encoding and accessing position data

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2755266A1 (fr) 1986-08-14 1998-04-30 Thomson Csf Procede et circuits pour la conversion et la multiplication, modulo un nombre n, de nombres et leur utilisation dans les systemes de chiffrement a clefs publiques
US5659580A (en) * 1994-11-29 1997-08-19 Lucent Technologies Inc. Data interleaver for use with mobile communication systems and having a contiguous counter and an address twister
JP2982948B2 (ja) * 1995-12-27 1999-11-29 松下電器産業株式会社 無線受信装置
KR100480286B1 (ko) * 1999-04-02 2005-04-06 삼성전자주식회사 터보 인터리빙 어드레스 발생 장치 및 방법
US6854077B2 (en) 2000-08-05 2005-02-08 Motorola, Inc. Apparatus and method for providing turbo code interleaving in a communications system
WO2002054601A1 (en) * 2000-12-29 2002-07-11 Morphics Technology, Inc. Channel codec processor configurable for multiple wireless communications standards

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007528169A (ja) * 2004-03-10 2007-10-04 テレフオンアクチーボラゲット エル エム エリクソン(パブル) インタリーバメモリ及びデインタリーバメモリのためのアドレス生成装置
JP4777971B2 (ja) * 2004-03-10 2011-09-21 テレフオンアクチーボラゲット エル エム エリクソン(パブル) インタリーバメモリ及びデインタリーバメモリのためのアドレス生成装置
WO2006082923A1 (ja) * 2005-02-03 2006-08-10 Matsushita Electric Industrial Co., Ltd. 並列インターリーバ、並列デインターリーバ及びインターリーブ方法
JP4848359B2 (ja) * 2005-02-03 2011-12-28 パナソニック株式会社 並列インターリーバ、並列デインターリーバ及びインターリーブ方法
JP2015037277A (ja) * 2013-08-15 2015-02-23 Necエンジニアリング株式会社 アドレス生成回路及びアドレス生成方法
JP2016541221A (ja) * 2013-11-25 2016-12-28 エルジー エレクトロニクス インコーポレイティド 放送信号送信装置、放送信号受信装置、放送信号送信方法及び放送信号受信方法
US10020904B2 (en) 2013-11-25 2018-07-10 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals

Also Published As

Publication number Publication date
EP1411643B1 (en) 2012-12-26
US6851039B2 (en) 2005-02-01
JP4064894B2 (ja) 2008-03-19
US20040064666A1 (en) 2004-04-01
EP1411643A1 (en) 2004-04-21
KR20040028493A (ko) 2004-04-03
KR101017530B1 (ko) 2011-02-28

Similar Documents

Publication Publication Date Title
RU2235424C2 (ru) Перемежитель турбокода, использующий линейные конгруэнтные последовательности
JP4064894B2 (ja) インタリーブド・アドレスを生成するための方法および装置
US6549998B1 (en) Address generator for interleaving data
JP3636684B2 (ja) Umtsにおけるターボ符号化器のインターリーバ及びインターリービングを遂行するための方法
JP2002532939A (ja) 第3世代の符号分割多重アクセスのためのターボコード・インターリーバ
KR101121185B1 (ko) 터보 인코더 및 디코더에서 인터리버용 어드레스 발생장치 및 방법
US7590917B2 (en) Parameter generation for interleavers
JP2002542646A (ja) ターボ符号のための行内並べ替え
US20090274248A1 (en) Method and apparatus for contention-free interleaving using a single memory
US7398446B2 (en) Low power operation of an address interleaver
EP1225705A2 (en) Method and apparatus for encoding a product code
US7051261B1 (en) Turbo encoder with reduced processing delay
US7552377B1 (en) Method of and circuit for interleaving data in a data coder
Wang et al. Very low-complexity hardware interleaver for turbo decoding
JP4909498B2 (ja) インターリーブパラメータ演算方法/プログラム/プログラム記録媒体/装置、携帯電話機
WO2004030226A1 (en) Method of calculating an intra-row permutation pattern for an interleaver
US7904761B1 (en) Method and apparatus for a discrete power series generator
KR100943612B1 (ko) 터보코드를 사용하는 이동통신시스템의 터보 인터리버장치 및 방법
JP4507443B2 (ja) インターリーブ方法及びインターリーブ装置
KR100800840B1 (ko) 터보코드를 사용하는 부호분할다중접속 이동통신시스템의 터보 인터리버 및 터보 인터리빙 방법
KR20050088182A (ko) 터보 인코더 및 디코더에서 인터리버용 어드레스 발생장치및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070219

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070521

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070816

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: 20071203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4064894

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110111

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110111

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120111

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130111

Year of fee payment: 5

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

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

LAPS Cancellation because of no payment of annual fees