(57)【要約】      （修正有）【課題】データのフレームの要素をインターリーブする方法を提供する。【解決手段】Ｎ１個の行と、Ｎ２個の列とを含む配列Ｄとして、複数の要素を含むデータのフレームを記憶するステップと、ｊは配列ＤおよびＤ１の行であり、ｋは配列ＤおよびＤ１の列であり、αｊおよびβｊは、各行ｊについて予め決定された整数であり、Ｐは少なくともＮ２に等しい整数であり、各αｊは、Ｐに対して互いに素の数であるとして、Ｄ１（ｊ，ｋ）＝Ｄ（ｊ，（αｊ・ｋ+βｊ）ｍｏｄＰ）にしたがって、配列Ｄの順序を変えて、配列Ｄ１とするステップを含む。その配列Ｄ１とするステップにおいて、配列Ｄの個々の行ｊに対応する列の順番が入れ替えられ、個々の列ｋに対応する行の順番が入れ替えられ、さらに、配列Ｄ１を出力するステップを含み、Ｎ１とＮ２の積はフレームにおける要素の数よりも大きく、出力中にフレームにおける要素の数までフレームが縮小される。【選択図】図３
2010093832.tif 000002
【特許請求の範囲】
【請求項１】
データのフレームの要素をインターリーブする方法であって、
０，１，・・・Ｎ１−１と数えられるＮ１個の行と、０，１，・・・Ｎ２−１と数えられるＮ２個の列とを含み、Ｎ１とＮ２は、１より大きな正の整数である配列Ｄとして、複数の要素を含むデータのフレームを記憶するステップと、
ｊは配列ＤおよびＤ１の行を通じての索引であり、ｋは配列ＤおよびＤ１の列を通じての索引であり、αｊおよびβｊは、各行ｊについて予め決定された整数であり、Ｐは少なくともＮ２に等しい整数であり、各αｊは、Ｐに対して互いに素の数であるとして、
Ｄ１（ｊ，ｋ）＝Ｄ（ｊ，（αｊ・ｋ  +  βｊ）ｍｏｄＰ）
にしたがって、配列Ｄの順序を変えて、配列Ｄ１とするステップを含み、
前記配列Ｄ１とするステップにおいて、前記配列Ｄの個々の行ｊに対応する列の順番が入れ替えられ、個々の列ｋに対応する行の順番が入れ替えられ、さらに、
配列Ｄ１を出力するステップを含み、Ｎ１とＮ２の積はフレームにおける要素の数よりも大きく、出力中に、フレームにおける要素の数までフレームが縮小される、方法。
【請求項２】
配列Ｄの前記要素が第１の順序にしたがって記憶され、配列Ｄ１の前記要素が第２の順序にしたがって出力される請求項１に記載の方法。
【請求項３】
配列Ｄの要素が行ごとに記憶され、配列Ｄ１の要素が列ごとに出力される請求項２に記載の方法。
【請求項４】
データのフレームの要素をインターリーブする方法であって、
０，１，・・・Ｎ１−１と数えられるＮ１個の行と、０，１，・・・Ｎ２−１と数えられるＮ２個の列とを含み、Ｎ１とＮ２は、１より大きな正の整数である索引配列Ｉを作成し、記憶するステップと、
データのフレームの要素を、複数の記憶場所の各々へ記憶するステップと、
フレーム要素の対応する場所を示す値を、配列Ｉの行ごとの連続した位置に記憶するステップと、
ｊは配列ＩおよびＩ１の行を通じての索引であり、ｋは配列ＩおよびＩ１の列を通じての索引であり、αｊおよびβｊは、各行ｊについて予め決定された整数であり、Ｐは少なくともＮ２に等しい整数であり、各αｊは、Ｐに対して互いに素の数であるとして、
Ｉ１（ｊ，ｋ）＝Ｉ（ｊ，（αｊ・ｋ  +  βｊ）ｍｏｄＰ）
にしたがって、配列Ｉの順序を変えて、配列Ｉ１とし、それによって、配列Ｉ１によって索引付けされながらデータのフレームが効果的に順序を変えられるステップと含み、
前記データのフレームが効果的に順序を変えられるステップにおいて、前記配列Ｉの個々の行ｊに対応する列の順番が入れ替えられ、個々の列ｋに対応する行の順番が入れ替えられ、さらに、
データのフレームを出力するステップをさらに含み、Ｎ１とＮ２の積はデータのフレームにおける要素の数よりも大きく、出力中に、データのフレームにおける要素の数までデータのフレームが縮小される、方法。
【請求項５】
前記順序を変えた配列Ｉ１にしたがって、前記記憶した要素の順序を変えるステップをさらに含む請求項４に記載の方法。
【請求項６】
データのフレームの前記要素が、配列Ｉ１の項目によって索引付けされながら、行ごと以外のやり方で出力される請求項４に記載の方法。
【請求項７】
データのフレームの要素が、配列Ｉ１の項目によって索引付けされながら、列ごとに出力される請求項６に記載の方法。
【請求項８】
配列Ｉの順序を変えるステップの前に、配列Ｉの行の位置を変えるステップを含む請求項４に記載の方法。
【請求項９】
Ｎ１は４に、Ｎ２は８に、Ｐは８に等しく、αｊの値は、各行ごとに異なり、１，３，５および７からなるグループから選択される請求項４に記載の方法。
【請求項１０】
αｊの値は、ｊ＝０，１，２および３に対して、それぞれ、１，３，５および７である請求項９に記載の方法。
【請求項１１】
αｊの値は、ｊ＝０，１，２および３に対して、それぞれ、１，５，３および７である請求項９に記載の方法。
【請求項１２】
βｊの全ての値は０である請求項４に記載の方法。
【請求項１３】
βｊの少なくとも二つの値が同じである請求項４に記載の方法。
【請求項１４】
βｊの全ての値は０である請求項１０に記載の方法。
【請求項１５】
βｊの全ての値は０である請求項１１に記載の方法。
【請求項１６】
データのフレームの要素をインターリーブするインターリーブ装置であって、
０，１，・・・Ｎ１−１と数えられるＮ１個の行と、０，１，・・・Ｎ２−１と数えられるＮ２個の列とを含み、Ｎ１とＮ２は、１より大きな正の整数である配列Ｄとして、複数の要素を含むデータのフレームを記憶する記憶手段と、
ｊは配列ＤおよびＤ１の行を通じての索引であり、ｋは配列ＤおよびＤ１の列を通じての索引であり、αｊおよびβｊは、各行ｊについて予め決定された整数であり、Ｐは少なくともＮ２に等しい整数であり、各αｊは、Ｐに対して互いに素の数であるとして、
Ｄ１（ｊ，ｋ）＝Ｄ（ｊ，（αｊ・ｋ  +  βｊ）ｍｏｄＰ）
にしたがって、配列Ｄの順序を変えて、配列Ｄ１とする順序変更手段とを含み、
前記順序変更手段によって、前記配列Ｄの個々の行ｊに対応する列の順番が入れ替えられ、個々の列ｋに対応する行の順番が入れ替えられ、さらに、
前記配列Ｄ１を出力し、Ｎ１とＮ２の積がフレームにおける要素の数よりも大きいときに、フレームにおける要素の数まで前記配列Ｄ１を縮小するための手段を含む、装置。
【請求項１７】
配列Ｄの前記要素を第１の順序にしたがって記憶するための手段と、配列Ｄ１の前記要素を第２の順序にしたがって出力するための手段とを含む請求項１６に記載のインターリーブ装置。
【請求項１８】
配列Ｄの前記要素を記憶するための前記手段が行ごとに記憶し、配列Ｄ１の要素を出力するための前記段が列ごとに出力する請求項１７に記載のインターリーブ装置。
【請求項１９】
データのフレームの要素をインターリーブするインターリーブ装置であって、
０，１，・・・Ｎ１−１と数えられるＮ１個の行と、０，１，・・・Ｎ２−１と数えられるＮ２個の列とを含み、Ｎ１とＮ２は、１より大きな正の整数である索引配列Ｉを記憶するための手段と、
データのフレームを受け取り、該データのフレームの要素を、複数の記憶場所の各々へ記憶するための手段と、
フレーム要素の対応する場所を示す値を、配列Ｉの行ごとの連続した位置に記憶するための手段と、
ｊは配列ＩおよびＩ１の行を通じての索引であり、ｋは配列ＩおよびＩ１の列を通じての索引であり、αｊおよびβｊは、各行ｊについて予め決定された整数であり、Ｐは少なくともＮ２に等しい整数であり、各αｊは、Ｐに対して互いに素の数であるとして、
Ｉ１（ｊ，ｋ）＝Ｉ（ｊ，（αｊ・ｋ  +  βｊ）ｍｏｄＰ）
にしたがって、配列Ｉの順序を変えて、配列Ｉ１とし、それによって、配列Ｉ１によって索引付けされながらデータのフレームが効果的に順序を変えられる順序変更手段とを含み、
前記順序変更手段によって、前記配列Ｉの個々の行ｊに対応する列の順番が入れ替えられ、個々の列ｋに対応する行の順番が入れ替えられ、さらに、
Ｎ１とＮ２の積がフレームにおける要素の数よりも大きく、出力するための手段によって、フレームにおける要素の数までフレームが縮小される、装置。
【請求項２０】
前記順序を変えた索引配列Ｉ１にしたがって、前記記憶した要素の順序を変えるための手段をさらに含む請求項１９に記載のインターリーブ装置。
【請求項２１】
フレーム要素を、配列Ｉ１の項目によって索引付けしながら、行ごと以外のやり方で出力するための手段を含む請求項１９に記載のインターリーブ装置。
【請求項２２】
フレーム要素を、配列Ｉ１の項目によって索引付けしながら、列ごとに出力するための手段を含む請求項２１に記載のインターリーブ装置。
【請求項２３】
データのフレームの要素をインターリーブするインターリーブ装置であって、
０，１，・・・Ｎ１−１と数えられるＮ１個の行と、０，１，・・・Ｎ２−１と数えられるＮ２個の列とを含み、Ｎ１とＮ２は、１より大きな正の整数である配列Ｄとして、複数の要素を含む、受け取ったデータのフレームを記憶するための入力メモリと、
ｊは配列ＤおよびＤ１の行を通じての索引であり、ｋは配列ＤおよびＤ１の列を通じての索引であり、αｊおよびβｊは、各行ｊについて予め決定された整数であり、Ｐは少なくともＮ２に等しい整数であり、各αｊは、Ｐに対して互いに素の数であるとして、
Ｄ１（ｊ，ｋ）＝Ｄ（ｊ，（αｊ・ｋ  +  βｊ）ｍｏｄＰ）
にしたがって、配列Ｄの順序を変えて、配列Ｄ１とするための、前記入力メモリへ結合されたプロセッサと、
前記プロセッサへ結合され、順序を変えた配列Ｄ１を記憶するように構成されたワーキング・メモリとを含み、
前記プロセッサによって、前記配列Ｄの個々の行ｊに対応する列の順番が入れ替えられ、個々の列ｋに対応する行の順番が入れ替えられ、
前記ワーキング・メモリが、Ｎ１とＮ２の積がフレームにおける要素の数よりも大きいときに、フレームにおける要素の数まで前記配列Ｄ１を縮小する、装置。
【請求項２４】
前記入力メモリが、配列Ｄの前記要素を第１の順序にしたがって記憶し、前記ワーキング・メモリが、配列Ｄ１の前記要素を第２の順序にしたがって出力する請求項２３に記載のインターリーブ装置。
【請求項２５】
前記入力メモリが、配列Ｄの要素を行ごとに記憶し、前記ワーキング・メモリが、配列Ｄ１の要素を列ごとに出力する請求項２４に記載のインターリーブ装置。
【請求項２６】
データのフレームの要素をインターリーブするインターリーブ装置であって、
０，１，・・・Ｎ１−１と数えられるＮ１個の行と、０，１，・・・Ｎ２−１と数えられるＮ２個の列とを含み、Ｎ１とＮ２は、１より大きな正の整数である索引配列Ｉを記憶し、また、受け取ったデータのフレームの要素を複数の記憶場所の各々へ記憶するためのメモリと、
フレーム要素の対応する場所を示す値を、配列Ｉの行ごとの連続した位置に記憶するための、前記メモリへ結合されたプロセッサであって、
また、ｊは配列IおよびI１の行を通じての索引であり、ｋは配列IおよびI１の列を通じての索引であり、αｊおよびβｊは、各行ｊについて予め決定された整数であり、Ｐは少なくともＮ２に等しい整数であり、各αｊは、Ｐに対して互いに素の数であるとして、
Ｉ１（ｊ，ｋ）＝Ｉ（ｊ，（αｊ・ｋ  +  βｊ）ｍｏｄＰ）
にしたがって、前記メモリにおいて記憶された、配列Ｉの順序を変えて、配列Ｉ１とし、それによって、配列Ｉ１によって索引付けされながらデータのフレームが効果的に順序を変えられるようにするためのプロセッサとを含み、
前記プロセッサによって、前記配列Ｄの個々の行ｊに対応する列の順番が入れ替えられ、個々の列ｋに対応する行の順番が入れ替えられ、
前記メモリが、Ｎ１とＮ２の積がデータのフレームにおける要素の数よりも大きいときに、データのフレームにおける要素の数までデータのフレームを縮小する、装置。
【請求項２７】
前記プロセッサが、前記順序を変えた索引配列Ｉ１にしたがって、前記記憶した要素の順序を変える請求項２６に記載のインターリーブ装置。
【請求項２８】
前記メモリが、フレーム要素を、配列Ｉ１の項目によって索引付けしながら、行ごと以外のやり方で出力する請求項２６に記載のインターリーブ装置。
【請求項２９】
前記メモリが、フレーム要素を、配列Ｉ１の項目によって索引付けしながら、列ごとに出力する請求項２８に記載のインターリーブ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は全般に通信システムに関し、より詳細には、符号変調を行なうためのインターリーブに関する。
【背景技術】
【０００２】
符号化変調として知られる、通信チャネルを符号化する技術は、モデムや無線通信システムなどの電子通信システムのビットエラーレイト（ＢＥＲ）を改善することが分かっている。加法的白色ガウス雑音（ＡＷＧＮ）またはフェーディングを特徴とする「ランダムエラー」チャネルに対して、ターボ符号化変調は、実際的でパワー効率がよくバンド幅効率のよい変調方法であることが判明している。このようなランダムエラー・チャネルは、たとえば、符号分割多重接続（ＣＤＭＡ）環境において見られる。ＣＤＭＡ環境の容量は、実働の信号対ノイズ比によるので、性能が改善されれば、容量がより大きくなる。
【０００３】
ターボ符号化装置を非常に有効なものとする性質は、当初の受信または送信データフレームが第２の符号化装置に入力される前に、その順序を変えるインターリーブ装置である。順序を変えることは、一つまたは複数のランダム化アルゴリズムに基いて信号の部分をランダム化することによって完成される。順序を変えたデータフレームを当初のデータフレームと組み合わせると、ＡＷＧＮおよびフェーディング・チャネルにおいて低ＢＥＲを達成することが示された。インターリーブ・プロセスはデータの多様性を増加し、変調されたシンボルが伝送中に変化しても、該エラーは、復号装置中のエラー修正アルゴリズムを使用して回復可能となるようにする。
【０００４】
従来のインターリーブ装置は、伝送すべき信号点を収集し、配列に組み立てる。ここで、配列は、行ごとに順次埋められる。所定の数の信号点が組み立てられると、送信用に配列の列を順次読み取ることによって、インターリーブ装置は空にされる。結果として、当初の信号点の流れにおいて互いに近接していた、配列の同一行の複数の信号点は、配列の行の数に等しい信号点の数だけ離れる。理想的には、列と行の数は、伝送後に相互に依存する信号点がチャネルに対するエラーバーストの予想長さよりも離れるように選択される。
【０００５】
非均一インターリーブによって、データの「最大拡散」および出力シーケンスの「最大無秩序」が達成される。二つのコンボリューション符号化装置によって導入された冗長度は、ターボ符号化装置の出力順序においてより均一に拡散される。最小距離は、均一インターリーブに対するよりも、ずっと高い値へ増加される。非均一インターリーブに対して常に問題となるのは、十分な「非均一性」を達成し、実時間要求を伴う応用に対する使用を限定する遅延補償を最小としながら、非均一インターリーブをどのようにして実用的に実現するかである。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
効果的なインターリーブ装置を見つけることは、第三世代ＣＤＭＡ標準作業における最新の主題である。フレームサイズが無限に近づくにつれて、最も効果的なインターリーブ装置はランダムなインターリーブ装置であることが確定し、一般に合意されている。しかしながら、有限のフレームサイズに対しては、最も効果的なインターリーブ装置についての判断は、なお議論の余地がある。
【０００７】
したがって、有限のフレームサイズに対して非均一性を改善する、符号をインターリーブするシステムおよび方法に対する要望が存在する。
【０００８】
また、実現するのが比較的簡単な、上記の符号をインターリーブするシステムおよび方法に対する要望も存在する。
【０００９】
このように、有限のフレームサイズに対して非均一性を改善する、符号をインターリーブするシステムおよび方法を提供することが本発明の目的である。
【００１０】
実現するのが比較的簡単な、符号をインターリーブするシステムおよび方法を提供することも本発明の目的である。
【課題を解決するための手段】
【００１１】
本発明の上記の目的および他の目的は、以下の説明から当業者に明らかである。
【００１２】
上記の目的および他の目的は、予め決められたサイズを有し、部分からなるデータフレームをインターリーブする本発明によって達成される。本発明の一実施形態は、これらのデータフレームをインターリーブするインターリーブ装置を含む。インターリーブ装置は、受け取ったデータフレームを、行と列に編成された配列として記憶するように構成された入力メモリと、入力メモリへ接続され、式
Ｄ１（ｊ，ｋ）＝Ｄ（ｊ，（αｊ・ｋ  +  βｊ）ｍｏｄＰ）
にしたがって、受け取ったデータの順序を変えるプロセッサと、プロセッサと電気的に通信し、データフレームの順序を変えたものを記憶するように構成されたワーキング・メモリとを含む。上記の式の要素は以下のとおりである。Ｄはデータフレームであり、ｊおよびｋは、データフレームにおいて、それぞれ、行および列に対する索引であり、αおよびβは、現在の行にしたがって選択された定数の組であり、Ｐと各αｊとは、互いに素の数である（「互いに素の数」は,１以外の公約数を持たない一組の数を意味する。互いに素の数のメンバーは，それ自身，素数である必要はない。）。
【００１３】
本発明の別の実施形態は，データフレームを記憶し，Ｎ１とＮ２との積は少なくともＮに等しいとして，Ｎ１×Ｎ２の索引配列Ｉによってデータフレームを索引付けする方法を含む。索引配列の要素は，データフレームの要素の位置を示す。データフレーム要素は，任意の都合のよい方法で記憶されてよく，配列として編成される必要はない。本方法は，Ｉは索引配列であり、ｊおよびｋは、索引配列において、それぞれ、行および列に対する索引であり、αおよびβは、現在の行にしたがって選択された定数の組であり、Ｐと各αｊとは、互いに素の数であるとして、
Ｉ（ｊ，ｋ）＝Ｉ（ｊ，（αｊ・ｋ  +  βｊ）ｍｏｄＰ）
にしたがって、配列Ｉの順序を変えるステップをさらに含む。順序を変えた索引配列Ｉによって索引付けされるので、データフレームの順序は効果的に変えられる。
【００１４】
さらに，本発明の別の実施形態は，データフレームを記憶し，Ｎ１とＮ２との積は少なくともＮに等しいとして，Ｎ１×Ｎ２の索引配列Ｉを記憶するための記憶装置を含むインターリーブ装置を含む。索引配列の要素は，データフレームの要素の位置を示す。データフレーム要素は，任意の都合のよい方法で記憶されてよく，配列として編成される必要はない。インターリーブ装置は，Ｉは索引配列であり、ｊおよびｋは、索引配列において、それぞれ、行および列に対する索引であり、αおよびβは、現在の行にしたがって選択された定数の組であり、Ｐと各αｊとは、互いに素の数であるとして、
Ｉ（ｊ，ｋ）＝Ｉ（ｊ，（αｊ・ｋ  +  βｊ）ｍｏｄＰ）
にしたがって、配列Ｉの順序を変える順序変更装置をさらに含む。順序を変えた索引配列Ｉによって索引付けされるので、データフレームの順序は効果的に変えられる。
【図面の簡単な説明】
【００１５】
【図１】従来のターボ符号化装置の図を示す。
【図２】図１に示したインターリーブ装置のブロック図を示す。
【図３】データフレームを含む配列とその配列の順序変更を示す。
【図４】連続的な記憶場所に記憶されたデータフレームを示す。
【図５】図４に示したデータフレームを索引付けするための索引配列とその索引配列の順序変換を示す。
【発明を実施するための形態】
【００１６】
本発明は，明らかにされた実施形態および実施例と関連して以下に説明される。しかしながら，本発明の範囲からはずれることなく，種々の変更，追加および削除をない得ることは当業者に明白である。
【００１７】
本発明は図面と関連付けて、例示的な実施形態の以下の詳細な説明を参照することによってより明白に理解される。
【００１８】
図１は従来のターボ符号化装置を示す。図示のように、従来のターボ符号化装置は、２台の符号化装置２０とインターリーブ装置１００とを含む。本発明によるインターリーブ装置１００は、サイズＮの到着データフレームを受け取る。ここで、Ｎは、ビットの数、バイトの数、またはフレームがそれへ分割される他の部分の数であり、これらはフレーム要素とみなされる。インターリーブ装置１００は、Ｎ個のフレーム要素を、行のような一組のデータへ分離する。つぎに、インターリーブ装置は、各組（行）のデータを擬似ランダムに配置しなおす（順序を変える）。インターリーブ装置１００は、種々の組のデータを配置しなおすために種々の方法を使用することができる。しかしながら、当業者は、発明の範囲からはずれることなく、一つまたは複数の組について、一つまたは複数の方法を利用しなおすことができる。各組のデータの順序を変えた後に、インターリーブ装置は、受け取ったのとは異なる順序でデータを出力する。
【００１９】
インターリーブ装置１００は、Ｎ１×Ｎ２＝ＮであるサイズＮ１×Ｎ２の配列の形でデータフレーム１１０を記憶することができる。図３に示した例は、フレーム要素００（ＦＥ００）からＦＥ１７（Ｎ＝１８）と表示された、１８個の要素を備えるデータフレーム１１０を記憶するための６列（Ｎ２＝６）の３行（Ｎ１＝３）を備える配列３５０を示す。本例は好ましい方法であるが、本発明にしたがって一つまたは複数のより小さなファイルが操作され、より小さなファイルの各々からの結果が後で組み合わされるように、配列が、Ｎ１×Ｎ２はＮの部分であるように設計されてもよい。
【００２０】
本発明にしたがって配列３５０の順序を変えるために、配列３５０の各行ｊは、以下の式にしたがって各行の列ｋの順序を変えるように、個別に操作される。
【００２１】
Ｄ１（ｊ，ｋ）＝Ｄ（ｊ，（αｊ・ｋ  +  βｊ）ｍｏｄＰ）
ここで、ｊおよびｋは、それぞれ、配列３５０における行および列の索引であり、Ｐは、Ｎ２以上の数であり、αｊとＰとは互いに素の数（一方または双方は、素数でなくてもよいが、唯一の公約数が１である）であり、βｊは定数であり、各行に関連した値である。
【００２２】
全ての行のデータの順序を変えると、新しい配列が列ごとに読み出される。また、行の順序を変えると、（必要ではないが）データを出力する前に列によってグループ化されたデータの順序を変えることもできる。行と列の双方の順序を変える場合には、行、列または双方の順序を、本発明にしたがって変えることができる。たとえば、行索引ｊの２進表現中のビットの位置を変えることによって、配列の行の位置を変えることもできる。（たとえば、４行の配列において、この機構の下に、第２行と第３行との位置が変わる。）行と列の両方ではなく、いずれかを、別の方法にしたがって順序を変えることもできる。列ごとにデータを記憶し、列におけるデータの各組の順序を変え、結果を行ごとに読み出すように、本発明の範囲からはずれずに本システムを構成しなおすことができることは、当業者は理解する。
【００２３】
上述のインターリーブの方法は、整数論に基いており、ソフトウェアまたはハードウェアまたは双方（すなわち、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理配列（ＰＬＡ）、または他の適当な論理装置）によって実現される。また、単一の擬似ランダム系列発生装置（すなわち、ｍ系列、Ｍ系列、Ｇｏｌｄ系列、Ｋａｓａｍｉ系列など）をインターリーブ装置として使用することができる。
【００２４】
図３に示した例では、Ｐとして選択された値は６であり、全３行に対してαの値は５であり、３行のそれぞれに対してβの値は、１、２および３である。（これらの数字は単に例示的なものである。別の順序変えの結果を達成するために、他の数字を選ぶことができる。）上述のように、αの値（５）は、それぞれ、Ｐの値（６）に対して互いに素の数である。
【００２５】
配列Ｄ３５０の行０を配列Ｄ１３６０の行０へ順序を変えるために、指定した値によって指定した式を以下の様に計算する。
【００２６】
Ｄ１（０，０） ＝Ｄ（０，（５・０  +  １）ｍｏｄ６）
＝Ｄ（０，（１）ｍｏｄ６）
＝Ｄ（０，1）
＝ＦＥ０１
Ｄ１（０，１） ＝Ｄ（０，（５・１  +  １）ｍｏｄ６）
＝Ｄ（０，（６）ｍｏｄ６）
＝Ｄ（０，０）
＝ＦＥ００
Ｄ１（０，２） ＝Ｄ（０，（５・２  +  １）ｍｏｄ６）
＝Ｄ（０，（１１）ｍｏｄ６）
＝Ｄ（０，５）
＝ＦＥ０５
Ｄ１（０，３） ＝Ｄ（０，（５・３  +  １）ｍｏｄ６）
＝Ｄ（０，（１６）ｍｏｄ６）
＝Ｄ（０，４）
＝ＦＥ０４
Ｄ１（０，４） ＝Ｄ（０，（５・４  +  １）ｍｏｄ６）
＝Ｄ（０，（２１）ｍｏｄ６）
＝Ｄ（０，３）
＝ＦＥ０３
Ｄ１（０，５） ＝Ｄ（０，（５・５  +  １）ｍｏｄ６）
＝Ｄ（０，（２６）ｍｏｄ６）
＝Ｄ（０，２）
＝ＦＥ０２
したがって、行０は、ＦＥ０１,ＦＥ００,ＦＥ０５,ＦＥ０４,ＦＥ０３,ＦＥ０２となる。
【００２７】
行１に対して式は、以下の様になる。
Ｄ１（１，０） ＝Ｄ（１，（５・０  +  ２）ｍｏｄ６）
＝Ｄ（１，（２）ｍｏｄ６）
＝Ｄ（１，２）
＝ＦＥ０８
Ｄ１（１，１） ＝Ｄ（１，（５・１  +  ２）ｍｏｄ６）
＝Ｄ（１，（７）ｍｏｄ６）
＝Ｄ（１，１）
＝ＦＥ０７
Ｄ１（１，２） ＝Ｄ（１，（５・２  +  ２）ｍｏｄ６）
＝Ｄ（１，（１２）ｍｏｄ６）
＝Ｄ（１，０）
＝ＦＥ０６
Ｄ１（１，３） ＝Ｄ（１，（５・３  +  ２）ｍｏｄ６）
＝Ｄ（１，（１７）ｍｏｄ６）
＝Ｄ（１，５）
＝ＦＥ１１
Ｄ１（１，４） ＝Ｄ（１，（５・４  +  ２）ｍｏｄ６）
＝Ｄ（１，（２２）ｍｏｄ６）
＝Ｄ（１，４）
＝ＦＥ１０
Ｄ１（１，５） ＝Ｄ（１，（５・５  +  ２）ｍｏｄ６）
＝Ｄ（１，（２７）ｍｏｄ６）
＝Ｄ（１，３）
＝ＦＥ０９
このように、行１はＦＥ０８,ＦＥ０７,ＦＥ０６,ＦＥ１１,ＦＥ１０,ＦＥ０９となる。
【００２８】
行２に対して、式は以下の様になる。
Ｄ１（２，０） ＝Ｄ（２，（５・０  +  ３）ｍｏｄ６）
＝Ｄ（２，（３）ｍｏｄ６）
＝Ｄ（２，３）
＝ＦＥ１５
Ｄ１（２，１） ＝Ｄ（２，（５・１  +  ３）ｍｏｄ６）
＝Ｄ（２，（８）ｍｏｄ６）
＝Ｄ（２，２）
＝ＦＥ１４
Ｄ１（２，２） ＝Ｄ（２，（５・２  +  ３）ｍｏｄ６）
＝Ｄ（２，（１３）ｍｏｄ６）
＝Ｄ（２，１）
＝ＦＥ１３
Ｄ１（２，３） ＝Ｄ（２，（５・３  +  ３）ｍｏｄ６）
＝Ｄ（２，（１８）ｍｏｄ６）
＝Ｄ（２，０）
＝ＦＥ１２
Ｄ１（２，４） ＝Ｄ（２，（５・４  +  ３）ｍｏｄ６）
＝Ｄ（２，（２３）ｍｏｄ６）
＝Ｄ（２，５）
＝ＦＥ１７
Ｄ１（１，５） ＝Ｄ（２，（５・５  +  ３）ｍｏｄ６）
＝Ｄ（２，（２８）ｍｏｄ６）
＝Ｄ（２，４）
＝ＦＥ１６
このように、行１はＦＥ１５,ＦＥ１４,ＦＥ１３,ＦＥ１２,ＦＥ１７,ＦＥ１６となる。順序を変えたデータフレームは、図３に示す配列Ｄ１３６０に含まれる。配列を列ごとに出力すると、配列要素は、以下の順序で出力される。
【００２９】
１，８，１５，０，７，１４，５，６，１３，４，１１，１２，３，１０，１７，２，９，１６
【００３０】
本発明の代替実施において、データフレーム１１０は、連続的な記憶場所へ、配列またはマトリクスとしてではなく、記憶され、別個の索引配列がデータフレームの要素を索引付けするために記憶され、索引配列は、本発明の式にしたがって順序を変えられ、データフレームは、順序を変えられた索引配列によって索引付けされて出力される。
【００３１】
図４は、長さが３２個の要素である記憶のブロック４００を示す。したがって、開始の記憶場所からのオフセットは０から３１である。データフレーム１１０は、本例では、２２個の要素の長さであり、要素ＦＥ００からＦＥ２２を含み、ブロック４００内のオフセット場所００から２１を占める。ブロック４００のオフセット場所２２から３１は、不知の内容を含む。２２個の要素のフレーム長さは単に例示であり、他の長さを選択することができる。また、連続的な場所にフレーム要素を記憶することは例示的であり、非連続的な場所を使用することもできる。
【００３２】
図５は、記憶ブロック４００を索引付けするための索引配列Ｉ５５０を示す。索引配列は、それぞれ８列の４行（Ｎ１＝４、Ｎ２＝８、Ｎ＝Ｎ１・Ｎ２＝３２）として編成される。初期の内容は、図５に示されるように順次配列Ｉ５５０に満たされる。このように順次初期化することは、データフレーム１１０を行ごとに読み込むのと同様の効果をもたらす。
【００３３】
索引配列は、以下の式にしたがって順序を変えられる。
Ｉ１（ｊ，ｋ）＝Ｉ（ｊ，（αｊ・ｋ  +  βｊ）ｍｏｄＰ）
ここで、αは１，３，５，７であり、βは０，０，０，０であり、Ｐは８である。
【００３４】
上述の数字は例示的なものであり、Ｐは少なくともＮ２に等しく、αの各々の値は選択されたＰの値に対して互いに素の数であるという条件が認められる限り、他の数字を選択することができる。
【００３５】
上記の式を行２の列に適用すると、以下の様になる。
Ｉ１（２，０） ＝Ｄ（２，（５・０）ｍｏｄ８）
＝Ｄ（２，（０）ｍｏｄ８）
＝Ｄ（２，０）
＝１６
Ｉ１（２，１） ＝Ｄ（２，（５・１）ｍｏｄ８）
＝Ｄ（２，（５）ｍｏｄ８）
＝Ｄ（２，５）
＝２１
Ｉ１（２，２） ＝Ｄ（２，（５・２）ｍｏｄ８）
＝Ｄ（２，（１０）ｍｏｄ８）
＝Ｄ（２，２）
＝１８
Ｉ１（２，３） ＝Ｄ（２，（５・３）ｍｏｄ８）
＝Ｄ（２，（１５）ｍｏｄ８）
＝Ｄ（２，７）
＝２３
Ｉ１（２，４） ＝Ｄ（２，（５・４）ｍｏｄ８）
＝Ｄ（２，（２０）ｍｏｄ８）
＝Ｄ（２，４）
＝２０
Ｉ１（２，５） ＝Ｄ（２，（５・５）ｍｏｄ８）
＝Ｄ（２，（２５）ｍｏｄ８）
＝Ｄ（２，１）
＝１７
Ｉ１（２，６） ＝Ｄ（２，（５・６）ｍｏｄ８）
＝Ｄ（２，（３０）ｍｏｄ８）
＝Ｄ（２，６）
＝２２
Ｉ１（２，７） ＝Ｄ（２，（５・７）ｍｏｄ８）
＝Ｄ（２，（３５）ｍｏｄ８）
＝Ｄ（２，３）
＝１９
行０，１および３に同等に上記の式を適用すると、図５に示される順序を変えた索引配列Ｉ１５６０が作成される。
【００３６】
データフレーム１１０は、記憶ブロック４００から読み出され、順序を変えた索引配列Ｉ１５６０に指定された順序で、列ごとに出力される。記憶場所は以下のオフセット順序で出力される。
【００３７】
０，８，１６，２４，１，１１，２１，３１，２，１４，１８，３０，３，９，２３，２９，４，１２，２０，２８，５，１５，１７，２７，６，１０，２２，２６，７，１３，１９，２５
しかし、例ではフレーム長さは２２個の要素であり、ブロック４００内のオフセット場所２２から３１は、データフレームの部分ではないと仮定している。したがって、データフレームを出力するときに、２２の長さまで縮小するか切り捨てる。すなわち、２１より大きなオフセット場所は無視される。このように、データフレームは以下の要素の順序で出力される。
【００３８】
０，８，１６，１，１１，２１，２，１４，１８，３，９，４，１２，２０，５，１５，１７，６，１０，７，１３，１９
【００３９】
本発明の一態様によれば、配列の行は、出力前に、たとえば、行索引ｊの２進表現におけるビットを逆転させて、位置を変えてもよい。
【００４０】
本発明のインターリーブ装置１００を実現するのに多数の異なる方法がある。図２は、インターリーブ装置１００がデータフレーム１１０を受け取り記憶するための入力メモリ３００を含む本発明の実施形態を示す。このメモリ３００は、シフト・レジスタ、ＲＡＭなどを含んでもよい。また、インターリーブ装置１００は、ＲＡＭ，シフト・レジスタなどを含んでもよいワーキング・メモリ３１０を含んでもよい。インターリーブ装置は、上記の式にしたがって実時間でＩ（ｊ，ｋ）を処理するか、既に記憶された、Ｉ（ｊ，ｋ）の結果を含むテーブルへアクセスするように構成されたプロセッサ３２０（たとえば、マイクロプロセッサ、ＡＳＩＣなど）を含む。当業者は、メモリ３００とメモリ３１０は同一のメモリであっても、別個のメモリであってもよいことを理解できる。
【００４１】
Ｉ（ｊ，ｋ）を実時間で決定するには、索引配列の第１行の順序を変え、順序を変えた索引に対応するバイトがワーキング・メモリへ記憶される。その後、次の行の順序を変えて記憶し、全ての行の順序を変えて記憶するまで同様の処理を行なう。複数の行の順序を変えることは順次行なっても、並列に行なってもよい。
【００４２】
順序を変えたＩ（ｊ，ｋ）が実時間で決定されても、ルックアップによって決定されても、データは多数の異なる方法でワーキング・メモリへ記憶され得る。入力メモリから、順序を変えた索引配列と同じ順番でデータを選択し（すなわち、入力メモリを順序変え機能によって索引付けし）、そのデータをワーキング・メモリにおいて、連続した利用可能なメモリ場所へ配置することによって、記憶することができる。入力メモリへ記憶された順序でバイトを選択し（すなわち、ＦＩＦＯ、先入れ先出し）、ワーキング・メモリにおいて、順序を変えたＩ（ｊ，ｋ）によって決定された場所へ直接そのバイトを記憶する（すなわち、ワーキング・メモリを順序変え機能によって索引付けする）ことによって記憶してもよい。この処理が行われたら、データは、順序を変えた索引配列に基いて列ごとにワーキング・メモリから読み出される。上述のように、データをワーキング・メモリに記憶した後、異なる結果を達成するために、行よりも列に基いて、さらに別の順序変えを行なうこともできる。
【００４３】
システムが十分に高速であれば、メモリの内の一つを除去し、データ要素を受け取ると、実時間またはテーブル・ルックアップによって、順序変えした索引配列に対応する順序で、ワーキング・メモリへ配置することもできる。
【００４４】
開示したインターリーブ装置は、既存のターボ符号構造に対応している。本インターリーブ装置は、システムを複雑にすることなく、優れた性能を提供する。
【００４５】
さらに、当業者は、インターリーブされたデータフレームを復号するためにインターリーブ解除装置を使用できることを理解する。ターボ符号を復号するのに使用されるインターリーブ解除装置の構成は、従来技術でよく知られている。インターリーブ解除装置自体については、本明細書ではこれ以上説明しない。しかしながら、実施形態に対応するインターリーブ解除装置は、上述の順序変えしたシーケンスを使用して構成することができる。
【００４６】
上述の実施形態は、ＣＤＭＡシステムで見られるようなターボ符号化装置であるが、本発明の実施はそれに限定されず、本発明は、任意の通信システムの任意の型のインターリーブ装置およびインターリーブ解除装置に実施することができることを当業者は理解する。
【００４７】
これまでの説明によって明らかになったことの中で、本発明は、上記の目的を効率的に達成することが分かる。特に、本発明は、実施をできるだけ複雑にすることなく、有限長の符号をインターリーブする、改良された装置および方法を提供する。
【００４８】
本発明の範囲からはずれることなく、上記の構成および上記の操作のシーケンスを変更することができることが分かる。したがって、上記の説明に含まれ、または添付の図面に示された全ての事項は、限定の意味ではなく例示として解釈すべきである。
【００４９】
また、特許請求の範囲は、本明細書で説明した本発明の包括的な特徴および特定の特徴の全てをカバーし、本発明の範囲の全ての記述は、言語の問題として、特許請求の範囲に含まれることが分かる。
【図１】
2010093832.tif 000003
【図２】
2010093832.tif 000004
【図３】
2010093832.tif 000005
【図４】
2010093832.tif 000006
【図５】
2010093832.tif 000007