(57)【特許請求の範囲】
【請求項１】
データのフレームの要素をインタリーブする方法であって、
ＲとＣを正の整数として、Ｒ行Ｃ列の記憶アレイｃを準備することと、
前記記憶アレイｃ内のＮr(l)行とＮc(l)列（但し、Ｎr(l)はＲを越えない正の整数であり、Ｎc(l)はＣを越えない素数であり、Ｎr(l)×Ｎc(l-1)<Ｌ<Ｎr(l)×Ｎc(l)を満たし、Ｎc(l-1)はＮc(l)より小さい最大の素数である）を持つ作業アレイに、複数Ｌの要素を含むデータのフレームを記憶することと、
所定の数学的関係に従って、前記記憶アレイｃの各行の要素を並べ替えることと、
を含む方法。
【請求項２】
前記記憶アレイｃの各行の要素を並べ替える所定の数学的方法は、
cj(i) = [αj×cj(i-1)] mod Ｐl
（但し、j = 1, 2,… Ｒ、i = 1, 2,… Ｃであり、Ｐは連続する素数の組であり、ＰlはＮc(l)に等しく、αjはＰlの指数の合同の根から選択される）
である、請求項１に記載の方法。
【請求項３】
所定のマッピングに従って前記記憶アレイｃの行を並べ替えることをさらに含む、請求項２に記載の方法。
【請求項４】
行順に前記データのフレームを記憶することと、並べ替え後の前記データのフレームを列順に読み出すことをさらに含む、請求項３に記載の方法。
【請求項５】
前記αjの値は、αj = {αpp(1), αpp(2),… αφp(R)}（但し、αpはＰlの原始根であり、gcd{p(i),Ｐl-1}=1である）に従ってＰlの指数の合同の根から選択される、請求項２に記載の方法。
【請求項６】
前記αjの値は、gcd{p(i),Ｐl-1}が１に等しくない値を削除することによって、j+1個の値の中から選択される、請求項２に記載の方法。
【請求項７】
前記αjの値は、低重み入力データを持つ最小ビット誤りを生ずるように見出された値の中から選択される、請求項２に記載の方法。
【請求項８】
Ｎc(l)のそれぞれの値に関連した前記αjの値は前もって計算され記憶されている、請求項２に記載の方法。
【請求項９】
データのフレームの要素をインタリーブするインタリーバであって、
ＲとＣが正の整数であるとき、Ｒ行とＣ列の記憶アレイｃを少なくとも１つ含むメモリと、
前記記憶アレイｃ内のＮr(l)行とＮc(l)列（但し、Ｎr(l)はＲを越えない正の整数であり、Ｎc(l)はＣを越えない素数であり、Ｎr(l)×Ｎc(l-1)<Ｌ<Ｎr(l)×Ｎc(l)を満たし、Ｎc(l-1)はＮc(l)より小さい最大の素数である）を持つ作業アレイに、複数Ｌの要素を含むデータのフレームを記憶するメモリ読み書き回路と、
所定の数学的関係に従って、前記記憶アレイｃの各行の要素を並べ替えるようにされたＡＬＵと、
を含むインタリーバ。
【請求項１０】
前記ＡＬＵは、
cj(i) = [αj×cj(i-1)] mod Ｐl
（但し、j = 1, 2,… Ｒ、i = 1, 2,… Ｃであり、Ｐは連続する素数の組であり、ＰlはＮc(l)に等しく、αjはＰlの指数の合同の根から選択される）
に従って前記記憶アレイｃの各行の要素を並べ替えるようにされた、請求項９に記載のインタリーバ。
【請求項１１】
前記ＡＬＵは、所定のマッピングに従って前記記憶アレイｃの行を並べ替える、請求項１０に記載のインタリーバ。
【請求項１２】
前記メモリ読み書き回路は、行順に前記データのフレームを記憶し、並べ替え後の前記データのフレームを列順に読み出す、請求項１１に記載のインタリーバ。
【請求項１３】
前記ＡＬＵは、αj = {αpp(1), αpp(2),… αφp(R)}（但し、αpはＰlの原始根であり、gcd{p(i),Ｐl-1}=1である）に従って、Ｐlの指数の合同の根から前記αjの値を選択する、請求項１０に記載のインタリーバ。
【請求項１４】
前記ＡＬＵは、gcd{p(i),Ｐl-1}が１に等しくない値を削除することによってj+1個の値の中から前記αjの値を選択する、請求項１０に記載のインタリーバ。
【請求項１５】
データのフレームの要素をインタリーブするインタリーバであって、
ＲとＣが正の整数であるとき、Ｒ行とＣ列の記憶アレイｃを少なくとも１つ含むメモリ手段と、
前記記憶アレイｃ内のＮr(l)行とＮc(l)列（但し、Ｎr(l)はＲを越えない正の整数であり、Ｎc(l)はＣを越えない素数であり、Ｎr(l)×Ｎc(l-1)<Ｌ<Ｎr(l)×Ｎc(l)を満たし、Ｎc(l-1)はＮc(l)より小さい最大の素数である）を持つ作業アレイに、複数Ｌの要素を含むデータのフレームを記憶するメモリ読み書き手段と、
所定の数学的関係に従って、前記記憶アレイｃの各行の要素を並べ替える論理手段と、
を含むインタリーバ。
【請求項１６】
前記論理手段は、
cj(i) = [αj×cj(i-1)] mod Ｐl
（但し、j = 1, 2,… Ｒ、i = 1, 2,… Ｃであり、Ｐは連続する素数の組であり、ＰlはＮc(l)に等しく、αjはＰlの指数の合同の根から選択される）
に従って前記記憶アレイｃの各行の要素を並べ替える、請求項１５に記載のインタリーバ。
【請求項１７】
前記論理手段は、所定のマッピングに従って前記記憶アレイｃの行を並べ替える、請求項１６に記載のインタリーバ
【請求項１８】
前記メモリ読み書き手段は、行順に前記データのフレームを記憶し、並べ替え後の前記データのフレームを列順に読み出す、請求項１７に記載のインタリーバ。
【請求項１９】
前記論理手段は、αj = {αpp(1), αpp(2),… αφp(R)}（但し、αpはＰlの原始根であり、gcd{p(i),Ｐl-1}=1である）に従って、Ｐlの指数の合同の根から前記αjの値を選択する、請求項１６に記載のインタリーバ。
【請求項２０】
前記論理手段は、gcd{p(i),Ｐl-1}が１に等しくない値を削除することによってj+1個の値の中から前記αjの値を選択する、請求項１６に記載のインタリーバ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般に通信システムに関し、より詳細には符号変調を実行するためのインタリーバに関する。
【０００２】
【従来の技術】
通信チャネルを符号化する技術（符号化変調）は、モデムや無線通信システムのような電子通信システムのビット誤り率（ＢＥＲ）を改善することが確認されている。ターボ符号化変調は、加法的白色ガウス雑音（ＡＷＧＮ）やフェージングによって特徴付けられる「ランダム誤り」チャネルに対して、実用的であり、電力効率が良く、また帯域効率の高い変調方法であることが判明している。これらのランダム誤りチャネルは、例えば符号分割多重接続（ＣＤＭＡ）環境において見ることができる。ＣＤＭＡ環境の容量は、動作中の信号対雑音電力比によって決まるので、性能の改善は高容量化につながる。
【０００３】
ターボ符号を高効率なものにしているターボ符号の特徴は、受信したまたは送信した元のデータフレームを、２番目のエンコーダに入力する前に、並び替えを行うインタリーバである。並び替えは、１つまたは複数のランダム化アルゴリズムに基づいて、信号の部分をランダム化することによって達成される。並び替えられたデータフレームと元のデータフレームを組み合わせることによって、ＡＷＧＮ及びフェージングチャネルにおいて低いＢＥＲを実現できることが明らかになっている。インタリービングプロセスは、データのダイバーシティを向上させるので、変調されたシンボルが転送中に歪んだ場合、復号器の誤り訂正アルゴリズムの使用によって誤りを修復することができる。
【０００４】
従来のインターリーバは、アレイに伝送される信号ポイントを集めるかフレーム化し、アレイは行順に満たされる。予め決められた数の信号ポイントがフレーム化された後、インタリーバは、送信のため列順にアレイを読み出すことによって空にされる。結果として、元の信号ポイントフローの中で相互に近傍にあったアレイの同じ行の信号ポイントは、アレイの行の数に等しい信号ポイントの数で区切られる。理想的には、列と行の数は、送信後に、相互依存している信号ポイントがチャネルの予期される誤りバースト長より長く区切られるように選択される。
【０００５】
非一様インタリービングは、データの「最大スキャッタリング（scattering）」と出力系列の「最大ディスオーダ（disorder）」を実現する。従って、２つの畳み込み符号器によって導入される冗長度は、ターボ符号器の出力系列にさらに均一に拡散される。最小距離は、一様インタリービングのときよりさらに大きい値に増加する。非一様インタリービングにおける永続的な問題は、十分な「非一様性」を実現し、リアルタイム性の要件を持つアプリケーションでの使用を制限する遅延補償を最小化する一方で、実用的にインタリーブを実行するための手法である。
【０００６】
効率的なインタリーバを見つけることは、第３世代ＣＤＭＡ標準化作業における現在の議題の１つである。フレームサイズが無限に近づくとき、最も効率的なインタリーバはランダムインタリーバであることが確認されており、一般に合意されている。しかし、有限のフレームサイズについては、最も効率的なインタリーバの結論は以前議論が開かれている。インタリービング手法の実行に必要な情報を記憶するために必要となるメモリスペース（ＲＡＭまたはＲＯＭ）の量を削減することも、現在の議論の主題の１つである。
【０００７】
【発明が解決しようとする課題】
従って、有限のフレームサイズについて非一様性を向上させる、符号をインタリーブするシステム及び方法が必要とされている。
【０００８】
また、比較的小さなメモリスペース要件とすることを含め、比較的容易に実施できる、符号をインタリーブするシステム及び方法が必要とされている。
【０００９】
従って、本発明の目的は、有限のフレームサイズについての非一様性を向上させる、符号をインタリーブするシステム及び方法を提供することにある。
【００１０】
さらに本発明の目的は、比較的容易に実施でき、かつ比較的小さなメモリ要件を持つ、符号をインタリーブするシステム及び方法を提供することにある。
【００１１】
本発明のこれらの目的及び他の目的は、以下に述べる説明から当業者には明らかになるであろう。
【００１２】
【課題を解決するための手段】
前述の目的及び他の目的は、これらデータフレームをインタリーブするインタリーバを含む本発明によって達成することができる。インタリーバは、予期される最大のデータのフレームを記憶するのに十分大きいアレイを収容する記憶領域を含む。インタリーブされるサイズＬの要素のフレームは、アレイのＮr(l)行及びＮc(l)列に記憶される。ここで、Ｎr(l)は所定の整数であり、Ｎc(l)は以下の不等式を満足する素数である。
【００１３】
【数４】
Ｎr(l)×Ｎc(l-1) < Ｌ < Ｎr(l)×Ｎc(l)
ここで、Ｎc(l-1)はＮc(l)より小さい最大の素数である。各行の要素は、所定の数学的関係に従って並べ替えられ、行は所定のマッピングに従って並べ替えられる。
【００１４】
【発明の実施の形態】
本発明には、ＣＤＭＡ無線通信システムにおけるターボ符号器としての実施形態がある。送信されるビットの系列は、一連のフレームに分割され、各フレームは数Ｌの要素を含み、各要素は少なくとも１ビットである。
【００１５】
各フレームは、送信される前にインタリーブされる。取り得るフレームサイズＬの数が大きい場合、それぞれのフレームサイズについてインタリーバを規定すると、多数のパラメータを記憶しなければならない。
【００１６】
本発明は、各インタリーバがフレームサイズのサブセットの１つのためにある、数を減らしたプロトタイプのインタリーバ（すなわちマザーインタリーバ）を提供し、サイズＬの現在のフレームをインタリーブするのに少なくとも十分大きいマザーインタリーバのうちの１つを選択し、インタリーブされたフレームをＬビットのサイズに間引き（パンクチャリング）することによって、記憶するべきパラメータの数を削減する。
【００１７】
インタリーブされるフレームを記憶するためのアレイの最大サイズは、Ｎr行×Ｎc列である。フレームサイズＬが与えられると、以下の式を満たすようなＮr(l)行×Ｎc(l)列のアレイサイズを持つマザーインタリーバが選ばれる。
【００１８】
【数５】
Ｎr(l)×Ｎc(l-1) < Ｌ < Ｎr(l)×Ｎc(l)
インタリービング後、アレイはサイズＬに間引きされる。
【００１９】
正確な次元Ｎr(l)×Ｎc(l)を持つマザーインタリーバを設計することも可能であるが、そのマザーインタリーバのサイズから間引きされたフレームサイズに対するインタリーバの性能は、従来のあらゆるシステムにおいて、保証することができない。
【００２０】
本発明は、以下に示すパラメータを適当に選択（最適化）する手法を施すことによって、任意の大きさのフレームサイズに適応することができるインタリーバを提供する。
【００２１】
【数６】
Ｎr(l)    l = 1, 2, … Ｒ（行の最大数）
Ｎc(l)    c = 1, 2, … Ｃ（列の最大数）
本発明の一実施形態において、行の数Ｎrについては固定値が選択され、列の数Ｎc(l)は素数の組（非一様グリッド）から選択される。すなわち、数Ｎc(l)=Ｐlである（本発明の別の実施形態では、一様グリッドが採用される。例えば、Ｐl=ｌ×デルタ）。
【００２２】
本発明を用いるインタリービング手順の核心には、一般に以下のことが含まれる。
i）フレーム要素をＮr(l)×Ｎc(l)作業アレイに行順に書き込むこと。
ii）以下の式に従って各行ｊの列ｉを並べ替えること。
【数７】
cj(i) = [αj×cj(i-1)] mod Ｐl
但し、j = 1, 2,… Ｒ、i = 1, 2,… Ｃ
iii）所定のマッピングに従って行を並べ替えること。
iv）フレーム要素を列順に読み出すこと。
【００２３】
行内（intra-row）並べ替え（項目ii）は、Ｐlを法とする完全剰余系に基づいている。すなわち、αjはＰlの全ての取り得る指数の合同な根から選択される。
【００２４】
行内の並べ替えは、素数Ｐlの原始根αPと呼ばれる特別な根を使用し、削減された剰余系を使用することによって根αjの組を構築する。
【００２５】
【数８】
0004298175.tif 000002
αjバーはαjのサブセットであることに注意されたい。この特別な削減された系を使用することの利点は、行内並べ替え根に制約を加えて、パラメータ最適化のための探索計算を単純化することである。
【００２６】
本発明の一実施形態について、素数の組は、gcd{p(i),Ｐl-1}=1の条件（gcdは「最大公分母」の意味である）の下に、{p(1), p(2),…p(R)}のように選ばれる。
【００２７】
この場合、cl(i)=[αpp(l)×cl(i-1)]modＰlは原始根によって生成される完全な剰余系の削減されたサンプリング（レートサンプリング比p(l)）に等しい。従って、行内並べ替えは以下のようにして実現することができる。
a）Ｐlの原始根αpを用いて最初の行を並べ替える。
【数９】
cl(i) = [αpp(l) × cl(i-1)] mod Ｐl
b）最初の行並べ替えのp(j)による巡回置換を用いて残りの行を並べ替える。
【数１０】
cj(i) = cl([i × p(j)] mod Ｐl)
これは以下の巡回群に等しい。
【数１１】
cj(i) = [αjp(j)cj(i-1)] mod Ｐl
但し、j = 2, 3,… Ｒ、i = 1, 2,… Ｃ
この場合、行内並べ替えの規則は決定論的である。インタリーバの最適化は、原始完全剰余系の巡回置換に対して素数の組を探索することによって行われる。例えば、Ｒ=20（すなわち20行Ｐl列の行列）の場合、素数の組は以下のように選ばれる。
【数１２】
p(l)={7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83}
【００２８】
各素数（列番号）についてこのような組が選ばれる。320ビットから8192ビットまでのフレームサイズの範囲をカバーするために、少なくとも75のマザーインタリーバが準備される。それぞれについて使用される列の次元は、対応する原始根と共に表１に示されている。76の素数が最小のＮc(l-1)についての値を与えるために表１に示されている。
【００２９】
【表１】
0004298175.tif 000003
【００３０】
本発明の実施に際して、原始根の組の記憶要件は、（本例において、前述の例示した20個の素数に素数89を加えた）21の連続した素数の組を用いることによって削減される。
【００３１】
このとき、gcd{p(i), Pi-1}= 1を満たさないせいぜい１つの数がある。このような数が起こる場合、それはp(l)のセットから間引きされる。p(l)の中の全ての素数がこの条件を満足する場合、最後の（21番目の）素数（本例においては89）が間引きされる。従って、表１の列Ａに与えられた各素数について、原始根（列Ｂ）及び間引きされるべき位置（列Ｃ）も与えられている。表１に与えられたデータに対するメモリ要件は、以下の通りである。
素数：589ビット
原始根：159ビット
間引きパターン：322ビット
素数の組p(l)：120ビット
総計：1190ビットすなわち149バイト
【００３２】
続いて、高速モジュロー（modulo）計算に基づいた本発明の実施について説明する。
任意の素数Ｐは以下の条件によって表すことができる。
【数１３】
Ｐ = 2k - 1
ｘ<Ｐを満たす任意の数ｘが与えられたとき、以下の分解を適用する。
【数１４】
X = m × 2k + c
= m × (2k - 1) + lm + c
= m × p + lm + c
従って、以下のようになる。
【数１５】
[x]mod Ｐ = [lm + c]mod Ｐ    (式１)
モジュロー値はこのような再帰的形態で計算することができる（l=１の特別な場合、１回の繰り返しのみ必要となる）。
【００３３】
α<Ｐであり、従ってαx(k)<Ｐ2であるので、幅が２kビットの乗算器を使用できる。また以下が成り立つ。
【数１６】
log2[m] < k log2[c] < k
【００３４】
モジュローＰは、ｋビットのＬＳＢをｌと乗じ、ｋビットのＭＳＢを加えることによって式１に従って計算することができる。合計がｋビット幅より多い場合、式１は再び呼び出される必要がある。すなわち以下のようになる。
【数１７】
[lm + c]mod P = [m' + c']mod P
= m' + c'
m = {111…1}kbits、c = {111…1}kbitsであるような極端な場合には、m' = {1}1bit、c' = {111…10}kbitsである。従って、以下が成り立つ。
【数１８】
log2[c' = m'] < k
【００３５】
ここに示したモジュローＰの計算の実施形態が図１に示されている。また、ここに示したインタリーバの全体の実施形態が図２に示されている。
【００３６】
インタリーバパラメータは、与えられた行内の合同の規則に従って選択されることになる。再起的畳み込み符号（ＲＣＣ）要素符号が決まると、誤り性能は、要素復号器の誤り事象の入力及び出力の重みによって特徴付けられることが知られている（入力重みはビット誤りの数である）。高いＳＮＲでのターボ符号の性能は、入力重み２を持つ出力誤り事象によって影響されることが知られている。効率の良い自由距離は、入力重み２の全ての誤り事象の最小出力重みである。インタリーバパラメータを最適化する鍵は、基準として表２に示すパターンを持った低い重み誤り事象を最小化するパラメータの組を識別することである。
【００３７】
【表２】
0004298175.tif 000004
【００３８】
例えば、入力パターンが重み２を持つ（例えば、６つの０を間に持つ２つのビット１）場合、表２の重み２の列に従って、ゼロ番目（最初）、７番目、１４番目、２１番目または２８番目の位置（長さによると）にビット１を持ち、それぞれ２つのビット１の間に６個、１３個、２０個、２７個のビット０を持つ出力を生成するインタリーバパラメータの組が求められる。これは、０番目及びｉ番目の位置で１ビットを確認することとして表される。
【００３９】
この「低重みフィルタリング技術」と同様のアプリケーションにおいて、重み３の系列は、０番目及びｉ番目の位置で１ビットを検査される。重み４の系列は、０番目、ｉ番目、ｊ番目、ｋ番目の位置で１ビットを検査される。
【００４０】
上述の実施形態はＣＤＭＡシステムで使われているようなターボ符号器であるが、当業者は、本発明の実施がそれに限定されず任意の通信システムにおける任意のタイプのインタリービング及びデインタリービングについて実施できることを理解するであろう。
【００４１】
従って、これまでの記述から明らかであるように、本発明は、前述した目的を効率良く達成できることが理解されるだろう。特に、本発明は、実施に伴う複雑さを最小化しパラメータを記憶するために必要となる記憶スペースの量を最小化する一方で、有限長の符号をインタリーブする改善された装置及び方法を提供する。
【００４２】
本発明の範囲から逸脱せず、前述の構成及び前述の動作の順序の変更ができることが理解されるだろう。従って、前述の説明に含まれ添付の図面に表される全ての事項は、限定の意味ではなく例示として解釈されるよう意図されている。
【００４３】
特許請求の範囲は、本明細書に述べたような発明の一般的及び固有の特徴の全てを包含するように意図されており、本発明の範囲の全ての記述は、言葉の問題として、それらの間にあると言えることを理解するだろう。
【図面の簡単な説明】
【図１】本発明に従った高速モジュロー計算の実施形態を示す図である。
【図２】本発明に従ったインタリーバの構造を示す図である。
【図１】
0004298175.tif 000005
【図２】
0004298175.tif 000006