(57)【特許請求の範囲】
【請求項１】
２進係数を含む第１の除数多項式ｇ(x)＝１＋Σi=1t-1ｇiｘi＋ｘtにより割り切れる、２進係数を含む多項式ａ(x)＝Σj,kａj,kｘjm+kにより表現される物理的量を表す２進データの系列における記号を置換して、第２の除数多項式ｇ*(x)＝１＋Σi=1t-1ｇ*iｘi＋ｘtにより割り切れる多項式ａ*(x)＝Σj,kａj,kｘS* j,kにより表現される２進記号の新たな系列を供給する置換方法において、S* j,kは、
行ごとに０からr・m−１までの連続する数により埋められたr行、m列の行列Ｓを考えるE１過程と、
前記行列Ｓの各列を、r／λが素数とならないような所定の数λの部分列に分割するE２過程と、
Ｓλ1λ2が現れるＳの列をλ2とし、指標λ2の列の部分列Ｓλ1λ2の位置をλ1とするとき、λ・mに等しい数のＳの部分列は０≦λ1≦λ−１及び０≦λ2≦m-1の条件下で、Ｓλ1λ2として指示されるE３過程と、
次に、各部分列Ｓλ1λ2をR行、M列(r／λ＝RM)の行列の形態に書き表し、この形態で、R行、M列の前記行列の各列の巡回置換により定義される「ホィール」型の、恒等式ではないインタリーバによりインタリーブするE４過程と、
R行、M列の前記行列を列における前記巡回置換の後に、行列Ｓ*において行列ＳでＳλ1λ2が占める位置と同じ位置を占める部分列Ｓ*λ1λ2に再変換するE５過程と、
それぞれが行列Ｓの１つの要素と、行列Ｓ*で同じ位置を占める要素とにより形成される複数の対から構成される置換テーブルを生成するE６過程と、
を含む置換方法に従って得られた行列Ｓ*における位置(j,k)の要素であり、mは第１の除数多項式ｇ(x)がｘm'＋１を割り切るような最小の整数m'の整数倍であることを特徴とする置換方法。
【請求項２】
行列Ｓ*の少なくとも１つの列λ2（０≦λ2≦m-1）で、部分列Ｓ*λ1λ2の出現の順序を変更する過程を更に含むことを特徴とする請求項１に記載の置換方法。
【請求項３】
行列Ｓ*の所定の列λのλ個の部分列の各々Ｓ*λ1λ2を生成するために同じホィールインタリーバを使用することを特徴とする請求項１及び２のいずれか１項に記載の置換方法。
【請求項４】
行列Ｓ*の少なくとも２つの列を有する部分列は異なるホィールインタリーバにより生成されることを特徴とする請求項３に記載の置換方法。
【請求項５】
行列Ｓ*の各列の部分列をインタリーブするために使用されるm個のホィールインタリーバは異なることを特徴とする請求項４に記載の置換方法。
【請求項６】
２進係数を含む第１の除数多項式ｇ(x)＝１＋Σi=1t-1ｇiｘi＋ｘtにより割り切れる、２進係数を含む多項式ａ(x)＝Σj,kａj,kｘjm+kにより表現される物理的量を表す２進データの系列における記号を置換して、第２の除数多項式ｇ*(x)＝１＋Σi=1t-1ｇ*iｘi＋ｘtにより割り切れる多項式ａ*(x)＝Σj,kａj,kｘS* j,kにより表現される２進記号の新たな系列を供給する置換方法において、S* j,kは、
行ごとに０からr・m−１までの連続する数により埋められたr行、m列の行列Ｓを考えるE１過程と、
０≦Ｉ≦m-1の条件下で、行列Ｓのm個の列をＳIと指示するE２過程と、
次に、各列ＳIをRM＝rを満たすR行、M列の行列の形態に書き表し、この形態で、R行、M列の前記行列の各列の巡回置換により定義される「ホィール」型の、恒等式ではないインタリーバによりインタリーブするE３過程と、
列の前記巡回置換の後に、R行、M列の前記行列を行列Ｓ*において行列ＳでＳIが占める位置と同じ位置を占める列Ｓ*Iに再変換するE４過程と、
行列Ｓ*の各列Ｓ*Iを巡回置換により置換するE５過程と、
それぞれが行列Ｓの１つの要素と、行列Ｓ*で同じ位置を占める要素とにより形成される複数の対から構成される置換テーブルを生成するE６過程とを含む置換方法に従って得られた行列Ｓ*における位置(j,k)の要素であり、mは第１の除数多項式ｇ(x)がｘm'＋１を割り切るような最小の整数m'の整数倍であることを特徴とする置換方法。
【請求項７】
行列Ｓ*の少なくとも２つの列は異なるホィールインタリーバを使用して得られることを特徴とする請求項６に記載の置換方法。
【請求項８】
行列Ｓ*のm個の列を生成するために使用されるm個のホィールインタリーバは全て異なることを特徴とする請求項７に記載の置換方法。
【請求項９】
E５過程中、行列Ｓ*の少なくとも１つの列Ｓ*Iは恒等式とは異なる巡回置換によって置換されることを特徴とする請求項６から８のいずれか１項に記載の置換方法。
【請求項１０】
Ｓ*の列を相互に置換する過程を更に含むことを特徴とする請求項１から９のいずれか１項に記載の置換方法。
【請求項１１】
２進係数を含む第１の除数多項式ｇ(x)＝１＋Σi=1t-1ｇiｘi＋ｘtにより割り切れる、２進係数を含む多項式ａ(x)＝Σj,kａj,kｘjm+kにより表現される物理的量を表す２進データの系列における記号を置換して、第２の除数多項式ｇ*(x)＝１＋Σi=1t-1ｇ*iｘi＋ｘtにより割り切れる多項式ａ*(x)＝Σj,kａS* j,kｘjm+kにより表現される２進記号の新たな系列を供給する置換方法において、Ｓ*j,kは、
行ごとに０からr・m−１までの連続する数により埋められたr行、m列の行列Ｓを考えるE１過程と、
前記行列Ｓの各列を、r／λが素数とならないような所定の数λの部分列に分割するE２過程と、
Ｓλ1λ2が現れるＳの列をλ2とし、指標λ2の列の部分列Ｓλ1λ2の位置をλ1とするとき、λ・mに等しい数のＳの部分列は０≦λ1≦λ−１及び０≦λ2≦m-1の条件下で、Ｓλ1λ2として指示されるE３過程と、
次に、各部分列Ｓλ1λ2をR行、M列(r／λ＝RM)の行列の形態に書き表し、この形態で、R行、M列の前記行列の各列の巡回置換により定義される「ホィール」型の、恒等式ではないインタリーバによりインタリーブするE４過程と、
R行、M列の前記行列を列における前記巡回置換の後に、行列Ｓ*において行列ＳでＳλ1λ2が占める位置と同じ位置を占める部分列Ｓ*λ1λ2に再変換するE５過程と、
それぞれが行列Ｓの１つの要素と、行列Ｓ*で同じ位置を占める要素とにより形成される複数の対から構成される置換テーブルを生成するE６過程と、
を含む置換方法に従って得られた行列Ｓ*における位置(j,k)の要素であり、mは第１の除数多項式ｇ(x)がｘm'＋１を割り切るような最小の整数m'の倍数であることを特徴とする置換方法。
【請求項１２】
第２の除数多項式ｇ*(x)は第１の除数多項式ｇ(x)と等しいことを特徴とする請求項１１乃至１１のいずれか１項に記載の置換方法。
【請求項１３】
系列ａ*を判定する動作を含み、その動作の間、請求項１乃至１２のいずれか１項に記載の少なくとも１つの置換方法が実現されることを特徴とする符号化方法。
【請求項１４】
第１の除数多項式ｇ(x)＝１＋Σi=1t-1ｇiｘi＋ｘtと、ｇ(x)と両立性を有する第２の除数多項式ｇ*(x)と、第１の乗数多項式ｆ1(x)と、第２の乗数多項式ｆ2(x)と、整数r≧１とを考慮に入れて、情報を表現する２進データの系列ｕに対し作用する請求項１３に記載の符号化方法において、
前記方法は、
− 増加順の最初のr・m−t個の係数は符号化すべき２進データであり、最後のt個の係数は多項式ｇ(x)が多項式ａ(x)を割り切るように選択されている、「第１の多項式」と呼ばれる多項式ａ(x)により表現される「系列ａ」と呼ばれる「第１の」系列を形成する動作と、
− 全体が第１の除数多項式ｇ(x)により割り切れ且つ第１の多項式ａ(x)と第１の乗数多項式ｆ1(x)との積と等しい多項式ｂ(x)により表現される「系列ｂ」として知られる第２の系列を形成する動作と、
− 増加順の係数が置換系列ａ*の２進データであり且つ第２の除数多項式ｇ*(x)により割り切れるような「置換」多項式ａ*(x)により表現される「置換」系列ａ*を形成するために、第１の系列の２進データに作用する置換動作と、
− 全体が第２の除数多項式ｇ*(x)により割り切れ且つ置換多項式ａ*(x)と第２の乗数多項式ｆ2(x)との積と等しい多項式ｃ(x)により表現される「系列ｃ」として知られる第３の系列を形成する動作とを含む符号化方法。
【請求項１５】
請求項１から１２のいずれか１項に記載の少なくとも１つの置換方法を実現することを特徴とする復号方法。
【請求項１６】
請求項１から１２のいずれか１項に記載の少なくとも１つの置換方法を実現することを特徴とするターボ符号化方法。
【請求項１７】
請求項１３又は１４に記載の符号化方法により符号化された後に受信される系列を復号するための方法。
【請求項１８】
ターボ符号を定義する基礎となるアルファベットが素数の累乗であるq個の文字を含み、アルファベットはq個の要素を有するガロア域の構造を受け取ることを特徴とする請求項１乃至１７のいずれか１項に記載の方法。
【請求項１９】
第１の除数多項式ｇ(x)がｘm'＋１を割り切るような最小の整数m'の倍数をmとするとき、整数rと整数mとの積に等しい多数の２進データを有する系列をaとし、第１の除数多項式ｇ(x)により割り切れ、増加順の係数が系列ａの２進データであるような多項式ａ(x)＝Σj,kａj,kｘjm+kにより表わされ、物理的量を表す２進データの系列ａから、第１の除数多項式ｇ(x)と両立性を有する第２の除数多項式ｇ*(x)により割り切れるべきであり且つ増加順の係数が系列ａ*の２進データであるような多項式ａ*(x)と関連する置換系列ａ*を供給して、２進データの系列ｃを形成するための置換装置において、
０からr・m−１までの出力ランクを０からr・m−１までの各入力ランクに対応させる手段を具備し、特に、
行ごとに０からr・m−１までの連続する数により埋められたr行及びm列を含む行列Ｓを考える手段E１と、
０≦I≦m-1の条件下で、行列Ｓのm個の列をＳIと指示する手段E２と、
各列ＳIをRM＝rを満たすR行、M列の行列の形態に書き表し、この形態で、R行、M列の前記行列の各列の巡回置換により定義される「ホィール」型の、恒等式ではないインタリーバによりインタリーブする手段E３と、
列の前記巡回置換の後に、R行、M列の前記行列を行列Ｓ*において行列ＳでＳIが占める位置と同じ位置を占める列Ｓ*Iに再変換する手段E４と、
行列Ｓ*の各列Ｓ*Iを巡回置換により置換する手段E５と、
それぞれが行列Ｓの１つの要素と、行列Ｓ*で同じ位置を占める要素とにより形成される複数の対から構成される置換テーブルを生成する手段E６と、を具備することにより、
Ｓ*j,kを有する行列Ｓ*が生成されているとき、置換系列ａ*はΣj,kａj,kｘS* jm+kにより与えられることを特徴とする置換装置。
【請求項２０】
行列Ｓ*の少なくとも２つの列は異なるホィールインタリーバを使用して得られることを特徴とする請求項１９に記載の置換装置。
【請求項２１】
行列Ｓ*のm個の列を生成するために使用されるm個のインタリーバは全て異なることを特徴とする請求項２０に記載の置換装置。
【請求項２２】
Ｓ*の列を相互に置換する手段を更に有することを特徴とする請求項１９から２１のいずれか１項に記載の置換装置。
【請求項２３】
行列Ｓ*の少なくとも１つの列Ｓ*Iを恒等式とは異なる巡回置換によって置換する手段を更に有することを特徴とする請求項１９から２２のいずれか１項に記載の置換装置。
【請求項２４】
第１の除数多項式ｇ(x)がｘm'＋１を割り切るような最小の整数m'の倍数をmとするとき、整数rと整数mとの積に等しい数の２進データを有する系列をａとし、第１の除数多項式ｇ(x)により割り切れ、増加順の係数が系列ａの２進データであるような多項式ａ(x)＝Σj,kａj,kｘjm+kにより表わされ、物理的量を表す２進データの系列ａから、第１の除数多項式ｇ(x)と両立性を有する第２の除数多項式ｇ*(x)により割り切れるべきであり、増加順の係数が系列ａ*の２進データであるような多項式ａ*(x)と関連する置換系列ａ*を供給して、２進データの系列ｃを形成するための置換装置において、
０からr・m−１までの出力ランクを０からr・m−１までの各入力ランクに対応させる手段を具備し、特に、
行ごとに０からr・m−１までの連続する数により埋められたr行及びm列を含む行列Ｓを考える手段E１と、
０≦I≦m-1の条件下で、行列Ｓのm個の列をＳIと指示する手段E２と、
各列ＳIをRM＝rを満たすR行、M列の行列の形態に書き表し、この形態で、R行、M列の前記行列の各列の巡回置換により定義される「ホィール」型の、恒等式ではないインタリーバによりインタリーブする手段E３と、
列の前記巡回置換の後に、R行、M列の前記行列を行列Ｓ*において行列ＳでＳIが占める位置と同じ位置を占める列Ｓ*Iに再変換する手段E４と、
行列Ｓ*の各列Ｓ*Iを巡回置換により置換する手段E５と、
それぞれが行列Ｓの１つの要素と、行列Ｓ*で同じ位置を占める要素とにより形成される複数の対から構成される置換テーブルを生成する手段E６と、を具備し、
要素Ｓ*j,kを有する行列Ｓ*が生成されているとき、置換系列ａ*はΣj,kａS* j,kｘjm+kにより与えられることを特徴とする置換装置。
【請求項２５】
請求項１９から２４のいずれか１項に記載の装置を含むことを特徴とする符号化装置。
【請求項２６】
第１の除数多項式ｇ(x)＝１＋Σi=1t-1ｇiｘi＋ｘtと、ｇ(x)と両立性を有する第２の除数多項式ｇ*(x)と、第１の乗数多項式ｆ1(x)と、第２の乗数多項式ｆ2(x)と、整数r≧１と、第１の除数多項式ｇ(x)がｘm'＋１を割り切るような最小の整数m'の倍数mとを考慮に入れて、情報を表現する２進データの系列ｕに対し作用する請求項２５に記載の符号化装置において、前記装置は、
−増加順の最初のr・m−t個の係数は符号化すべき２進データであり、最後のt個の係数は多項式ｇ(x)が多項式ａ(x)を割り切るように選択されている、「第１の多項式」と呼ばれる多項式ａ(x)により表現される「系列ａ」と呼ばれる「第１の」系列を形成する手段と、
−全体が第１の除数多項式ｇ(x)により割り切れ且つ第１の多項式ａ(x)と第１の乗数多項式ｆ1(x)との積と等しい多項式ｂ(x)により表現される「系列ｂ」として知られる第2の系列を形成する手段と、
−増加順の係数が置換系列ａ*の２進データであり且つ第２の除数多項式ｇ*(x)により割り切れるような「置換」多項式ａ*(x)により表現される「置換」系列ａ*を形成するために、第１の系列の２進データに作用する置換手段と、
−全体が第２の除数多項式ｇ*(x)により割り切れ且つ置換多項式ａ*(x)と第２の乗数多項式ｆ2(x)との積と等しい多項式ｃ(x)により表現される「系列ｃ」として知られる第３の系列を形成する手段とを含むことを特徴とする符号化装置。
【請求項２７】
請求項１９から２４のいずれか１項に記載の少なくとも１つの装置及び／又はそのインタリーバに対応するデインタリーバを使用することを特徴とする復号装置。
【請求項２８】
請求項１９から２４のいずれか１項に記載の少なくとも１つの装置及び／又はそのインタリーバに対応するデインタリーバを使用することを特徴とするターボ復号装置。
【請求項２９】
請求項２５又は２６に記載の符号化装置による符号化の後に受信される系列を復号するための装置。
【請求項３０】
一方では系列ａを送信し、他方では、符号器により生成された系列のデータの部分集合を送信する送信手段を有することを特徴とする請求項２４から２９のいずれか１項に記載の装置。
【請求項３１】
音声を表現する信号を処理する装置において、請求項１９から３０のいずれか１項に記載の装置を有することを特徴とする装置。
【請求項３２】
パケット送信プロトコルを実現するための送信器を有するデータ送信装置において、請求項１９から３１のいずれか１項に記載の装置を有することを特徴とするデータ送信装置。
【請求項３３】
前記プロトコルはATM(非同期転送モード)プロトコルであることを特徴とする請求項３２に記載のデータ送信装置。
【請求項３４】
前記プロトコルはインターネットプロトコル(IP)であることを特徴とする請求項３２に記載のデータ送信装置。
【請求項３５】
非ケーブルチャネルを介して送信する送信器を有するデータ送信装置において、請求項１９から３４のいずれか１項に記載の装置を有することを特徴とするデータ送信装置。
【請求項３６】
請求項１９から３５のいずれか１項に記載の装置を有することを特徴とするネットワークステーション。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的には、情報転送方法の分野に属する。更に特定すれば、本発明は、送信方法又は受信方法の一部を形成するデータのインタリーブ方法及び装置に関する。
【０００２】
【従来の技術】
本発明は、一般的には、例えば、無線システムによる送信又は受信を実行するためにデータを符号化する分野に属する。従来より、この分野においては、例えば、本出願人による先願の中に記載されている、「ターボ符号器」として知られる特定の種類の符号器が知られている。そのようなターボ符号器及びそれと関連する復号器は、１つ又は複数のデータインタリーブ装置を使用する。
【０００３】
本発明の目的は、そのような所謂「ターボ符号化」方法及び関連するターボ復号方法の一部を形成すべきインタリーブ方法及び逆インタリーブ方法である。
【０００４】
本発明は、物理的量を表現するデータの符号化、物理的量を変調することが可能であるデータの符号化、データの形態をとる変調信号の復号及び物理的量を表現するデータの復号、又はデータ送信の管理にも適用される。それらのデータは、例えば、画像、音声、コンピュータデータ、電気的量又は格納データを表すことができる。
【０００５】
ソフト入力及びソフト出力を有する基本復号器を使用する反復復号を実現するために畳込み符号器を使用する場合、符号器が「インタリーバ」とも呼ばれる置換装置を含んでいると、符号は大幅に改善される。置換装置は初期系列に戻すことを可能にし、その場合には「逆インタリーバ」と呼ばれる。この場合、符号器をターボ符号器と呼び、それに対応する反復復号器を「ターボ復号器」と呼ぶのが普通である。ここで、便宜上、
−ターボ符号器により実行される動作を「ターボ符号化」と呼び、この動作はいわゆる「ターボ符号化」系列を供給し、
−ターボ復号器により実行される動作を「ターボ復号」と呼び、この動作は「ターボ復号」系列を供給する。
【０００６】
これらの点に関して、参考文献として有用である文書は、１つは、C. Berrou、A. Glavieux及びP. Thitimajshimaによる論文「Near Shannon Limit Error−Correcting Coding and Decoding：Turbocodes」（ICC’９３講義論文集、１９９３年刊、１０６４ページから１０７０ページ)であり、もう１つはC. Berrou及びA. Glavieuxによる論文「Near Optimum Error−Correcting Coding and Decoding：Turbocodes」(IEEE Transactions on Communications、第４４巻、１２６１ページから１２７１ページ、１９９６年１０月刊)である。
【０００７】
本発明の目的は、ターボ符号器のより効率の良いインタリーバ、すなわち、より大きな最小距離を得ることを可能にするインタリーバを提案することである。このことは、チャネルの信号対雑音比が相対的に高い場合に特に重要である。それは、そのようなインタリーバによって、復号誤り率を低下させ、その結果、誤って受信されたデータを再度送信する手間を省くことができるからである。
ここで、ターボ符号は、チャネルの信号対雑音比の値に応じて異なる特性を示すということを簡単に述べておくべきである。信号対雑音比が高いと、ターボ符号の０でない語の最小重みと、最小重みの語の数がターボ符号器の性能を決定する上で大きな意味をもつ。これに対し、信号対雑音比が低い場合には、ターボ符号器の性能に影響を及ぼすのは、符号の最小重み以上の値に近い重みを有する符号語の数であるように見える。
【０００８】
本発明は、第１の態様によれば、０からr・m−１までの出力ランクを０からr・m−１までの各入力ランクに対応させる置換方法であって、
行ごとに０からr・m−１までの連続する数により埋められたr行、m列の行列Ｓを考えるE１過程と、
前記行列Ｓの各列を、r／λが素数とならないような所定の数λの部分列に分割するE２過程と、
Ｓλ1λ2が現れるＳの列をλ2とし、指標λ2の列の部分列Ｓλ1λ2の位置をλ1とするとき、λ・mに等しい数のＳの部分列は０≦λ1≦λ−１及び０≦λ2≦m-1の条件下で、Ｓλ1λ2として指示されるE３過程と、
次に、各部分列Ｓλ1λ2をR行、M列(r／λ＝RM)の行列の形態に書き表し、この形態で、R行、M列の前記行列の各列の巡回置換により定義されるいわゆる「ホィール」型の、恒等式ではないインタリーバによりインタリーブするE４過程と、
R行、M列の前記行列を列における前記巡回置換の後に、行列Ｓ*において行列ＳでＳλ1λ2が占める位置と同じ位置を占める部分列Ｓ*λ1λ2に再変換するE５過程と、
それぞれが行列Ｓの１つの要素と、行列Ｓ*で同じ位置を占める要素とにより形成される複数の対から構成される置換テーブルを生成するE６過程とを含むことを特徴とする置換方法に関する。
【０００９】
この方法は、行列Ｓ*の少なくとも１つの列λ2（０≦λ2≦m-1）で、その列における部分列Ｓ*λ1λ2の出現の順序を変更する過程を含むのが好ましい。
【００１０】
好ましい実施形態によれば、行列Ｓ*の所定の列λ2の部分列の各々Ｓ*λ1λ2を生成するために同じホィールインタリーバを使用する。
【００１１】
特定の実施形態によれば、行列Ｓ*の少なくとも２つの列を有する部分列は異なるホィールインタリーバにより生成される。
【００１２】
更に特定の実施形態によれば、行列Ｓ*の各列の部分列をインタリーブするために使用されるm個のホィールインタリーバは異なる。
【００１３】
方法は、Ｓ*の列を相互に置換する過程を更に含むのが好ましい。
【００１４】
以上説明した方法の特定の実施形態においては、初期行列Ｓは２４０１の要素を有し、３４３行ごとの７つの列に分割される。各列それ自体は更に４９要素ずつの７つの部分列に分割される。
【００１５】
好ましい実施形態では、λ＝１と設定される。言い換えれば、この好ましい実施形態では、先に説明した過程を実現するとき、部分列ではなく、列全体を処理することになる。
【００１６】
特定すれば、本発明のこの第１の態様において、本発明は、０からr・m−１までの出力ランクを０からr・m−１までの各入力ランクに対応させる置換方法であって、
行ごとに０からr・m−１までの連続する数により埋められたr行、m列の行列Ｓを考えるE１過程と、
０≦Ｉ≦m-1の条件下で、行列Ｓのm個の列をＳIと指示するE２過程と、
次に、各列ＳIをRM＝rを満たすR行、M列の行列の形態に書き表し、この形態で、R行、M列の前記行列の各列の巡回置換により定義されるいわゆる「ホィール」型の、恒等式ではないインタリーバによりインタリーブするE３過程と、
列の前記巡回置換の後に、R行、M列の前記行列を行列Ｓ*において行列ＳでＳIが占める位置と同じ位置を占める列Ｓ*Iに再変換するE４過程と、
行列Ｓ*の各列Ｓ*Iを巡回置換により置換するE５過程と、
それぞれが行列Ｓの１つの要素と、行列Ｓ*で同じ位置を占める要素とにより形成される複数の対から構成される置換テーブルを生成するE６過程とを含む置換方法に関する。
【００１７】
このように、出力ランクを各入力ランクに対応させる置換テーブルが実際に作成されていることが理解されるであろう。この置換テーブルは、例えば、畳込みデータターボ符号化を使用するデータ転送装置として利用可能であるという利点を有する。
【００１８】
本発明のこの好ましい実施形態を有効に実現するために好都合である、おそらくは組み合わせて使用される様々な手段によれば、
−行列Ｓ*の少なくとも２つの列は異なるホィールインタリーバを使用して得られ、
−行列Ｓ*のm個の列を生成するために使用されるm個のホィールインタリーバは全て異なり、
−方法は、Ｓ*の列を相互に置換する過程を更に含み、
−E５過程中、行列Ｓ*の少なくとも１つの列Ｓ*Iは恒等式とは異なる巡回置換によって置換される。
【００１９】
この好ましい実施形態においては、初期行列Ｓは２４１５の要素を含み、３４５行ごとの７つの列に分割される。７つの列の各々は、それ自体、２３行、１５列の行列の形態に書き直される。
【００２０】
本発明の上述の好ましい実施の形態（この場合にも、λ＝１を特徴とする）は、一般的な場合と比べて単純である。従って、（以下に更に詳細に説明するように）、符号化データを送信するときに非常に低い誤り率を示すターボ符号を得るために、本発明による符号化方法の様々なパラメータを調整するのが容易になる。
【００２１】
そこで、一般的なケース（λが１又はそれ以上）に戻ると、本発明は、第２の態様においては、２進係数を含む第１の除数多項式ｇ(x)＝１＋Σi=1t-1ｇiｘi＋ｘtにより割り切れる、２進係数を含む多項式ａ(x)＝Σj,kａj,kｘjm+kにより表現される物理的量を表す２進データの系列における記号を置換して、第２の除数多項式ｇ*(x)＝１＋Σi=1t-1ｇ*iｘi＋ｘtにより割り切れる多項式ａ*(x)＝Σj,kａj,kｘS* jm+kにより表現される２進記号の新たな系列を供給する方法であって、Ｓ*j,kは先に簡潔に開示した方法に従って得られた行列Ｓ*における位置(j,k)の要素であり、mは第１の除数多項式ｇ(x)がｘm'＋１を割り切るような最小の整数m'の倍数であることを特徴とする方法に関する。
【００２２】
この第２の態様おいて、本発明は、更に、２進係数を含む第１の除数多項式ｇ(x)＝１＋Σi=1t-1ｇiｘi＋ｘtにより割り切れる、２進係数を含む多項式ａ(x)＝Σj,kａj,kｘjm+kにより表現される物理的量を表す２進データの系列における記号を置換して、第２の除数多項式ｇ*(x)＝１＋Σi=1t-1ｇ*iｘi＋ｘtにより割り切れる多項式ａ*(x)＝Σj,kａS* j,kｘjm+kにより表現される２進記号の新たな系列を供給する方法であって、Ｓ*j,kは先に簡潔に開示した方法に従って得られた行列Ｓ*における位置(j,k)の要素であり、mは第１の除数多項式ｇ(x)がｘm'＋１を割り切るような最小の整数m'の倍数であることを特徴とする方法にも関する。
【００２３】
実現形態の簡素化を図った特定の実施形態によれば、第２の除数多項式ｇ*(x)は第１の除数多項式ｇ(x)と等しい。
【００２４】
第３の態様では、本発明は、系列ａ*を判定する動作を含み、その動作中、先に簡潔に開示した少なくとも１つの置換方法が実現される。
【００２５】
第１の除数多項式ｇ(x)＝１＋Σi=1t-1ｇiｘi＋ｘtと、ｇ(x)と両立性を有する第２の除数多項式ｇ*(x)と、第１の乗数多項式ｆ1(x)と、第２の乗数多項式ｆ2(x)と、整数r≧１とを考慮に入れて、情報を表現する２進データの系列ｕに対し作用する符号化方法の特定の実現形態においては、前記方法は、
−増加順の最初のr・m−t個の係数は符号化すべき２進データであり、最後のt個の係数は多項式ｇ(x)が多項式ａ(x)を割り切るように選択されている、「第１の多項式」と呼ばれる多項式ａ(x)により表現される「系列ａ」と呼ばれる「第１の」系列を形成する動作と、
−全体が第１の除数多項式ｇ(x)により割り切れ且つ第１の多項式ａ(x)と第１の乗数多項式ｆ1(x)との積と等しい多項式ｂ(x)により表現される「系列ｂ」として知られる第２の系列を形成する動作と、
−増加順の係数が置換系列ａ*の２進データであり且つ第２の除数多項式ｇ*(x)により割り切れるような、いわゆる「置換」多項式ａ*(x)により表現されるいわゆる「置換」系列ａ*を形成するために、第１の系列の２進データに作用する置換動作と、
−全体が第２の除数多項式ｇ*(x)により割り切れ且つ置換多項式ａ*(x)と第２の乗数多項式ｆ2(x)との積と等しい多項式ｃ(x)により表現される「系列ｃ」として知られる第３の系列を形成する動作とを含む。
【００２６】
この第３の態様において、本発明は、先に開示した少なくとも１つの置換方法を実現する復号方法にも関する。
【００２７】
同様に、本発明は、先に開示した少なくとも１つの置換方法を実現するターボ符号化方法にも関する。
【００２８】
先に開示した各方法の有利な構成によれば、ターボ符号を定義する基礎となるアルファベットが素数の累乗であるq個の文字を含み、アルファベットはq個の要素を有するガロア域の構造を受け取る。
【００２９】
第４の態様においては、本発明は、第１の除数多項式ｇ(x)がｘm'＋１を割り切るような最小の整数m'の倍数をmとするとき、整数rと整数mとの積に等しい多数の２進データを有する系列をaとし、第１の除数多項式ｇ(x)により割り切れ、増加順の係数が系列ａの２進データであるような多項式ａ(x)＝Σj,kａj,kｘjm+kにより表わされ物理的量を表す２進データの系列ａから、第１の除数多項式ｇ(x)と両立性を有する第２の除数多項式ｇ*(x)により割り切れるべきであり且つ増加順の係数が系列ａ*の２進データであるような多項式ａ*(x)と関連する置換系列ａ*を供給して、２進データの系列ｃを形成するためのインタリーバ(置換装置)であって、Ｓ*j,kを有する行列Ｓ*が先に開示した置換テーブル作成方法に従って生成されているとき、置換系列ａ*はΣj,kａj,kｘS* j,kにより与えられることを特徴とするインタリーバに関する。
【００３０】
また、この第４の態様においては、本発明は、第１の除数多項式ｇ(x)がｘm'＋１を割り切るような最小の整数m'の倍数をmとするとき、整数rと整数mとの積に等しい数の２進データを有する系列をａとし、第１の除数多項式ｇ(x)により割り切れ、増加順の係数が系列ａの２進データであるような多項式ａ(x)＝Σj,kａj,kｘjm+kにより表わされ物理的量を表す２進データの系列ａから、第１の除数多項式ｇ(x)と両立性を有する第２の除数多項式ｇ*(x)により割り切れるべきであり、増加順の係数が系列ａ*の２進データであるような多項式ａ*(x)と関連する置換系列ａ*を供給して、２進データの系列ｃを形成するためのインタリーバであって、Ｓ*j,kを有する行列Ｓ*が先に開示した置換テーブル作成方法に従って生成されているとき、置換系列ａ*はΣj,kａS* j,kｘjm+kにより与えられることを特徴とするインタリーバにも関する。
【００３１】
ここで、得られるインタリーバはこの説明の以下の部分においては「ゼロ復帰」と呼ばれている特性を満たすことに注意すべきである。即ち、ターボ符号器の基本畳込み符号器が情報系列の符号化の開始時にナル状態にあるとき、それらの符号器は各情報系列の符号化の終了時にも同時にナル状態となるのである。
【００３２】
更に詳細に言えば、ターボ符号化中、入力系列ｕ(x)の終わりに、フィードバック多項式ｇ(x)＝１＋Σi=1t-1ｇiｘi＋ｘt（除数多項式とも言う）の次数に等しい数の適切に選択されたビットを単純に追加することにより、多項式表現ａ(x)がフィードバック多項式ｇ(x)で割り切れるような系列が構成される。インタリーブ後の系列ａ(x)の多項式表現をａ*(x)とする。
【００３３】
インタリーバは、ａ(x)がｇ(x)で割り切れるごとに、対応する多項式ａ*(x)もｇ(x)により割り切れる場合に、ゼロ復帰(RZ)の特性を満たすといわれる。より一般的には、ｇ(x)及びｇ*(x)と表される２つのフィードバック多項式（第１の除数多項式及び第２の除数多項式とも呼ばれる）が必ずしも等しくないケースを考える。そこで、インタリーバは、ａ(x)がｇ(x)で割り切れるごとに、対応する多項式ａ*(x)がｇ*(x)で割り切れる場合に、特性RZを満たすという。この定義は、ｇ(x)とｇ*(x)が次のような特性を有する場合に限り意味をもつ。すなわち、ｇ(x)＝Πi（ｘ−ｘi）が２元域の拡張域におけるｇ(x)の完全分解であるならば、その拡張域の(指数で表された)自己同形写像をψとするとき、ｇ*(x)の完全分解はΠi（ｘ−ｘiψ）となる場合である。以下、このような多項式ｇ(x)をｇ*(x)と両立性を持つという。すなわち、１つの多項式はそれ自体との間に常に両立性を有する。尚、２つの両立する多項式は同じ次数を有することに注意すべきである。更に、第１の除数多項式ｇ(x)がｘm＋１を割り切る最小の整数をmとし、且つ第２の除数多項式ｇ(x)がｘm*＋１を割り切る最小の整数をm*とするとき、m＝m*である場合に限り、ｇ(x)はｇ*(x)と両立しうる。
【００３４】
例えば、単位の第７の素数根をαとし、これが８つの要素を含む域に属しているとき、ｇ(x)＝ｘ3＋ｘ＋１の分解ｇ(x)＝(ｘ−α)(ｘ−α2)(ｘ−α4)を考える。この８要素体の６つの自己同形写像φi：α→αiを考える。
【００３５】
ψ1、ψ2及びψ4はｇ(x)＝ｇ*(x)を生成するが、ψ3、ψ6及びψ5はｇ*(x)＝ｘ3＋ｘ2＋１を生成し、これは、ｇ*(x)＝(ｘ−α3)(ｘ−α6)(ｘ−α5)として分解される。
【００３６】
更に、本発明は、先に簡単に開示したようなインタリーバを有する符号化装置、すなわち、第１の除数多項式ｇ(x)＝１＋Σi=1t-1ｇiｘi＋ｘtと、ｇ(x)と両立性を有する第２の除数多項式ｇ*(x)と、第１の乗数多項式ｆ1(x)と、第２の乗数多項式ｆ2(x)と、整数r≧１と、第１の除数多項式ｇ(x)がｘm'＋１を割り切るような最小の整数m'の倍数mとを考慮に入れて、情報を表現する２進データの系列uに対し作用する符号化装置であって、
−増加順の最初のr・m−t個の係数は符号化すべき２進データであり、最後のt個の係数は多項式ｇ(x)が多項式ａ(x)を割り切るように選択されている、「第１の多項式」と呼ばれる多項式ａ(x)により表現される「系列ａ」と呼ばれる「第１の」系列を形成する手段と、
−全体が第１の除数多項式ｇ(x)により割り切れ且つ第１の多項式ａ(x)と第１の乗数多項式ｆ1(x)との積と等しい多項式ｂ(x)により表現される「系列ｂ」として知られる第２の系列を形成する手段と、
−増加順の係数が置換系列ａ*の２進データであり且つ第２の除数多項式ｇ*(x)により割り切れるような、いわゆる「置換」多項式ａ*(x)により表現されるいわゆる「置換」系列ａ*を形成するために、第１の系列の２進データに作用する置換手段と、
−全体が第２の除数多項式ｇ*(x)により割り切れ且つ置換多項式ａ*(x)と第２の乗数多項式ｆ2(x)との積と等しい多項式ｃ(x)により表現される「系列ｃ」として知られる第３の系列を形成する手段とを含むことを特徴とする符号化装置にも関する。
【００３７】
同様に本発明は、先に開示した少なくとも１つのインタリーバ及び／又はそのインタリーバに対応するデインタリーバを使用する復号装置に関する。
【００３８】
また本発明は、先に開示した少なくとも１つのインタリーバ及び／又はそのインタリーバに対応するデインタリーバを使用するターボ復号装置にも関する。
【００３９】
更に本発明は、先に簡潔に提示した方法と同様のインタリーブ方法及び逆インタリーブ方法を採用する装置にも関する。
【００４０】
また、本発明は、先に開示したような装置を備え、パケット送信プロトコルを実現するための送信器を有するデータ送信装置を有するデータ送信装置にも関する。
【００４１】
特定の実施の形態においては、このデータ送信装置は、プロトコルがATM(非同期転送モード)プロトコルであるようなものである。
【００４２】
別の実施形態では、プロトコルはインターネットプロトコル(IP)である。
【００４３】
更に一般的には、本発明は、先に簡単に開示したような装置を有することを特徴とする電話機、写真装置、プリンタ、スキャナ、カメラ、コンピュータ、ファクシミリ装置、テレビ受像機及びオーディオ／ビデオ再生装置に関する。
【００４４】
また、本発明は、一部又は全体が着脱自在であり、先に簡潔に開示した方法を実現させるコンピュータプログラムの命令を格納するコンピュータ又はマイクロプロセッサにより読み取り可能である情報記憶手段にも関する。
【００４５】
以下の説明及び添付の図面を参照することにより、本発明の目的及び利点を更に明確に理解することが可能になる。以下の説明が単なる例であり、本発明を限定する性質のものではないことは明白である。
【００４６】
【発明の実施の形態】
本発明の特定の一実施例を説明する前に、例を挙げながら、本発明の機能を数学的に提示する。
１．一般定義
比が１／３であるターボ符号器は、ｇ(x)及びｇ*(x)（フィードバック多項式という）、ｆ1(x)及びｆ2(x)という４つの多項式、フレーム長ｎ及びインタリーバを特徴としている。図１は、比１／３のターボ符号器を示す。
【００４７】
入力情報項目ｕ(x)は次の３つの系列で符号化される。
【００４８】
−第１の系列ａ(x)。フィードバック多項式ｇ(x)により補足される系列が割り切れることを保証するために、パディングビットにより補足（いわゆるパディング操作）された初期系列ｕ(x)である。
【００４９】
−第２の系列ｂ(x)＝ａ(x)・ｆ1(x)／ｇ(x)。これら第１及び第２の系列は第１の基本符号器１０２の出力で得られる系列である。
【００５０】
−第３の系列ｃ(x)＝ａ*(x)・ｆ2(x)／ｇ*(x)。式中、ａ*(x)はａ(x)のインタリーブバージョンを多項式で表したものであり、この場合、ｇ*(x)は、前述のような分解条件を満たしていなければならない。
【００５１】
第１の基本符号器１０２により符号化される第２の系列ｂ(x)は、ｆ1で乗算し且つターボ符号で使用される第１のフィードバック多項式ｇで除算するシフトレジスタにおいて求められる。十分に単純な符号化及び復号化を維持するため、ｆ1及びｇは通常、多くとも４次の次数で選択される。
【００５２】
第２の基本符号器１０３の出力で得られる第３の系列ｃ(x)の計算は、まず第一に、インタリーブ系列ａ*を生成するために系列ａの係数を混合するインタリーバ１０１と、ｆ2で乗算し且つ第２のフィードバック多項式ｇ*により除算するシフトレジスタとを使用する。第２の基本符号器１０３の出力では、系列ｃ＝ａ*・ｆ2／ｇ*が得られる。ｆ1及びｇの場合と同様、通常、ｆ2及びｇ*についても、十分に単純な符号化及び復号化を保持するために、次数は多くとも４であることが望ましい。ｃ(x)の長さが有限になるように、先に定義した通り、０に復帰するように保証されたインタリーバを使用する。
【００５３】
前述のように、ｇ(x)で割り切れるどのような多項式ａ(x)に対しても、対応するインタリーブ多項式ａ*(x)は同様にｇ*(x)により割り切れるように保証するインタリーバは、RZ(ゼロ復帰)インタリーバとして知られている。
【００５４】
本発明は、良好な最小距離を有するターボ符号を生成するRZインタリーバを提案する。それらのインタリーバを指定する方法を以下に説明する。まず、ｇ(x)＝ｇ*(x)であると仮定する。
【００５５】
ここでは、まず、インタリーブ後に系列ａ(x)を多項式ｇ(x)で割り切れるように維持する種類のインタリーバについて説明する。次に、本発明によるインタリーバを構成することに伴う条件を提示する。最後に、それらの要素を組み合わせて有効なインタリーバを作成する。
【００５６】
１つのフレームの中にある全ての情報ビットについて、復号後に等しい又はほぼ等しい確率で誤りが生じると考えるためには、RZインタリーバを構成することがとりわけ選択されるであろう。
【００５７】
次のように条件を表すことができれば、インタリーバは、ｇ(x)により割り切れるどのような多項式ａ(x)も、対応するインタリーブ多項式ａ*(x)が同様にｇ(x)で割り切れることを保証すると論証できる。
【００５８】
１．作用を及ぼす２進文字の数ｎは、多項式ｇ(x)で多項式（１＋ｘm(g)）を除算できるような最小の整数であるm(g)（単にmと示される場合も多い）の倍数である。これを実行するため、系列ａ(x)を０で補足して、許容しうる長さnを実現する。m-1≧s≧1を満たす数をｓとするとき、系列ａ(x)の自然長が(r-1)m＋sと等しければ、例えば、系列ａ(x)の最後の(m−s)個の位置で(m−s)個の０により系列を補足することが可能である。
【００５９】
２．そこで、n＝r・mと仮定すると、各系列ａ(x)＝Σi=0n-1ａiｘiと関連して、サイズがr・mである行列Ａ(r行、m列)が存在する。尚、０≦j≦r-1及び０≦k≦m-1とするとき、位置(j，k)にある要素はａjm＋kである。０≦j≦r-1及び０≦k≦m-1とするとき，位置(j，k)にある要素がjm＋kであるような大きさr・mの行列Ｓ(r＝８、m＝７の場合については図１０を参照)も、フィードバック多項式ｇ(x)により割り切れる全ての系列ａ(x)と関連している。
【００６０】
３．Ｓから、下記の２つの型の置換の何らかの組み合わせをＳに適用することにより、行列Ｓ*を構成する。
【００６１】
−行列Ｓのm個の列のいずれか１つに作用する置換、
−列相互の置換。この置換は長さm、生成多項式ｇの線形巡回符号の自己同形写像である。
【００６２】
そのような行列Ｓ*を図１１に示す。
【００６３】
４．そのようにして得られた行列Ｓ*の位置(j，k)にある要素をＳ*j，kとする。jm＋kは行列Ｓの位置(j，k)にある要素であることはわかっている。(Ｓ，Ｓ*)により指定されるインタリーバは系列：
ａ(x)＝Σ0≦j≦r-1Σ0≦k≦m-1ａj,kｘjm+kから、系列：
ａ*(x)＝Σ0≦j≦r-1Σ0≦k≦m-1ａjm+kｘS* j,kへの変化により定義付けられる。
【００６４】
ここで、系列ａ*(x)ごとに、サイズがr・mである行列Ａ*(r行、m列)が存在し、0≦j≦r-1及び０≦k≦m-1とするとき、位置(j，k)にある要素はａ*(x)におけるｘjm＋kの係数ａ*j，kである。
【００６５】
説明を簡単にするため、ここでは、ＳからＳ*を生成するときに列相互の置換を使用しない場合に限って考える。このため、Ｓ及びＳ*の同じ列に現れる全ての数は同一である。しかし、一般的なケースも同様にして取り扱うことができる。
【００６６】
インタリーバがＲＺ型であるための上記の条件は、行列Ｓ*の特性に照らして次のように表されることになる。
【００６７】
−Ｓ*のどの列の要素のモジュロｍによる剰余も一定である。
【００６８】
−これらの剰余のmタプルを（r0，…，rm−1）とする。このmタプルはmタプル(０，１，…，m-1)から、長さm、生成多項式ｇ(x)の２進巡回符号の自己同形写像群にある置換の作用によって求められなければならない。
【００６９】
−Ｓ*の列の要素の次数に対する制限はない。
【００７０】
更に一般的には、先に述べた通り、ｇ*(x)がｇ(x)と両立性を持つ場合、インタリーバはｇ(x)の倍数であるどのようなａ(x)も、ｇ*(x)の倍数であるａ*(x)に変換することができる。そのようなインタリーバの行列Ｓ*による表現は先に示した表現に類似しているが、Ｓ*により満たされるべき条件はわずかに異なる。すなわち、今回は、mタプル（r0，…，rm−1）をmタプル(0，…，m−1)から、長さm、生成多項式ｇ(x)の２進巡回符号を長さm、生成多項式ｇ*(x)の２進巡回符号に変換する置換の作用によって求めなければならないのである。
【００７１】
これ以降の説明は、ｇ(x)＝ｇ*(x)であるという仮定に基づいてなされるが、２つの多項式が先に説明したようにフィールド自己同形写像の作用により相互に求められるようなケースにも適用できることは言うまでもない。従って、ｇ(x)＝ｇ*(x)である場合、ｇ(x)により生成される長さmの巡回符号の自己同形写像である置換であるとすれば、Ｓ*の列が現れる順序の置換を適用することも可能である。
【００７２】
多項式のスパン並びにフルスパンの概念をここで導入する。
【００７３】
０でない係数を偶数個有する多項式ａ(x)，すなわち、ａ(x)＝Σi∈Iｘi  I＝{ｉ1，ｉ2，…，ｉ2s}，ｉr＜ｉr＋1を与えると、スパンsp(a)はrが偶数である整数ｉrの和からrが奇数である整数ｉrの和を減算した値として定義される。すなわち、sp(a)＝(ｉ2−ｉ1)＋(ｉ4−ｉ3)＋ … ＋（ｉ2s−ｉ2s-1）。
【００７４】
前述の第２の方法により、この多項式ａ(x)を多項式ａ*(x)に変換して、スパンsp(a*)を同様に計算する。
【００７５】
そこで、フルスパンfsp(a)は、ａのスパンとａ*のスパンとの和として定義される。
【００７６】
次に、行列Ｓ*により定義されるゼロ復帰型のインタリーバを仮定し、且つ０でない要素が行列Ａの同じ列ｋにすべてあるような系列ａ(x)＝Σi∈Iｘiを考える(全てのｉは、行列Ａの列の数mで除算したときに同じ余りkを有する)。
【００７７】
この場合、このような系列ａ(x)を同次であるといい、ゼロでない要素が奇数個ある場合に限り、ｇ(x)で割り切れる。
【００７８】
そこで、集合{0，…，m-1}には、ａ(x)がｘkで割り切れるようなｋが存在し、且つａ(x)／ｘkは、ｖ(ｘm)＝ａ(x)／ｘkとなるｘmの多項式であることが容易に理解されるであろう。多項式ｖ(x)をａ(x)の簡単化バージョンという。同様に、集合{0，．．．，m-1}には、ａ*(x)がｘk＊で割り切れるようなｋ*が存在し、且つａ*(x)／ｘk*は、ｖ*(ｘm)＝ａ*(x)／ｘk*となるｘmの多項式である。多項式ｖ*(x)をａ*(x)の簡単化バージョンという。
【００７９】
系列ａ(x)が同次ではない場合には、これを同次系列の和として書き表すことができる。これは、和の各項が同次系列であるとき、どのような系列ａ(x)も、ａ(x)＝Σi=0m-1ｘiａi(xm)と表せるからである。項ｘiａi(xm)は、系列ａ(x)のｉ番目の同次要素であるといえる。
【００８０】
そこで、ａ(x)が同次系列であるならば、対応する簡単化系列のフルスパンfsp(v)がわかると、ｇ(x)の次数をtとするとき、mが２t−１に等しい場合、系列ａから求められる符号化系列(a，b，c)の重みを求めることが可能になると立証できる。
【００８１】
例えば、重み２の同次系列ａ(x)に対して、ｇ(x)＝１＋ｘ2＋ｘ3（m＝７であることを示している）、ｆ1(x)＝１＋ｘ＋ｘ2＋ｘ3、ｆ2(x)＝１＋ｘ＋ｘ3であるとき、符号化系列(ａ(x)，ｂ(x)，ｃ(x))の重みは依然として4.fsp(v)＋６である。
【００８２】
更に一般的には、ａ(x)が０でない要素をｗに等しい偶数個含む同次系列であり、且つｖ(x)が先に定義したようなｆ1(x)、ｆ2(x)及びｇ(x)を伴う関連する簡単化多項式である場合、対応する符号化系列の重みは4．fsp(v)．＋3．ｗに等しい。
【００８３】
更に、フルスパンfsp(v)について下限が存在することは明白である。これは、多項式ｖ(x)のハミング重みに等しい（ａ(x)の重みに等しい）。
【００８４】
そこで、これらの注釈から、同次系列ａの様々なハミング重み(ＷH(a)という)に対して、フルスパンfsp(v)の関数として符号化系列（ａｂｃ）のハミング重みＷH(a，b，c)を与えるための表を作成することが可能である(図２を参照)。
【００８５】
その一例を挙げると、図２からわかるように、ＷH(a)が２に等しく且つ少なくとも３４に等しい最小距離が必要である場合、対応する簡単化系列ｖは、少なくとも７に等しいフルスパンfsp(v)を有していることが不可欠である。これに対し、系列ａのハミング重みＷH(a)が６である場合には、少なくとも３４に等しい最小距離を有していなければならないという条件はフルスパンに対して追加条件を全くもたらさず、従って、この距離条件は常に満たされている。
【００８６】
２．解の原理(λ＞１)
次に、λが１より大きい一般的な場合に焦点を絞って説明を進める。それ自体興味深いλ＝１のケースについては、更に後で説明する。
【００８７】
現時点における我々の目標は、関連するターボ符号が非常に低いビット誤り率を示すように、インタリーバに高い効率を与えるという妥当な条件に基づいて、インタリーバを定義するパラメータをいかに選択するかということである。
【００８８】
ｘm＋１の除数多項式ｇ(x)の倍数として選択される系列ａ(x)と関連する(r，m)型の行列ａから始めて、行列Ａの各列をＡλ1λ2と表されるλ個の部分列に分割し(図３を参照)、それらを「列部分系列」と呼ぶ。
【００８９】
このようにして決定された部分列ごとに、先に定義した通りにホィールインタリーバを使用するためには、値r／λは素数でないことが必要である(素数であると、この系列を少なくとも２つの行と、２つの列とを有する行列の形態で表現することが不可能になる)。従って、M≧２であるとき、r／λ＝R・Mと書き表すことができる。更に、これに続いて、本発明によるインタリーバを構成する方法においては、R≧Mである必要があることがわかるであろう。
【００９０】
本来、部分列Ａλ1λ2の係数ａiは、ｉ0＝λ1(mr／λ)＋λ2とするとき、指標として、ｉ0，ｉ0＋m，ｉ0＋２m，…，ｉ0＋m(r−I)／λを有する。
表記の妥当性を保持するために、このような列部分系列はｙ(x)＝Σi=0RM-1ｙiｘiにより表現されるか、又はｙi＝ａi0＋miと置いて、r／λ＝RMのとき、ｙ(x)＝Σi=0r/λ-1ａi0+miｘiと表現される。
【００９１】
そこで、そのような全ての系列ｙ(x)の集合と関連して、「微視的」インタリーバに対して、「巨視的」インタリーバに対し行列Ｓが果たすのと同じ役割を果たすR行、M列の行列Ｕが存在する。系列ｙ(x)の集合に対し微視的インタリーバが与える作用は、R行，M列の別の行列Ｕ*により表現される。この行列Ｕ*は、微視的インタリーバに対し、行列Ｓ*が巨視的インタリーバに対して果たすのと同じ役割を果たす。
【００９２】
割り切れるという条件は巨視的インタリーバのレベルで実証されるべきであるので、これらの微視的インタリーバは「ゼロ復帰」を全く保証する必要がないことに注意すべきである。しかし、Ｕ→Ｕ*への置換をＵの各列において巡回置換を実行することにより得られる置換に制限することが選択されている。そのような巨視的インタリーバをこの説明の以下の部分においてはホィールインタリーバ(並列して番号づけられたホィールからの類推による)と呼ぶ。
【００９３】
巡回置換の性質上、そのような行列Ｕ*（従って、Ｕ及びＵ*と関連するホィールインタリーバを含む）は、各列で実行される置換の振幅を知ることにより、完全に定義付けられる。従って、ホィールインタリーバを、Ｕ*を得るためにＵの各列で実行される下降方向への巡回置換の振幅値から成るMタプルｈ＝(ｈ0，…，ｈM-1)により定義付けることができる。
【００９４】
以下の説明に関して、この種のホィールインタリーバは、Ａの１つの列部分系列の要素をインタリーブ(置換)するために使用されるということを述べておくべきであろう。Ａの列の数が選択された経過が分かれば、その結果としての巨視的インタリーバのゼロ復帰(RZ)の特性も与えられるであろう。先に述べた通り、Ａの列が現れる順序の修正として、長さm、生成多項式ｇ(x)の巡回符号の自己同形写像である修正を適用した場合、このRZ特性は保証されたままである。
【００９５】
この技法は、有効なインタリーバを生成するための先に挙げた３つの技法のうち、第１の技法である。
【００９６】
例えば、長さ４９(４９の要素を有する)列部分系列に相当するR＝M＝７の場合、ターボ符号が３４に等しい最小距離を生成できるようにするためには、各微視的インタリーバＵ→Ｕ*は、２に等しいハミング重みの簡単化系列ｙごとに、fsp(y)が７以上になり、且つ４に等しいハミング重みを有する簡単化系列ごとにフルスパンfsp(y)が６以上になるように保証することが必要である。
【００９７】
R≧M≧２であるとき、先に定義したようなMタプルｈにより記述されるサイズRMのどのようなホィールインタリーバＵ→Ｕ*も、ｈのM個の要素が異なる値であるとすれば、２に等しいハミング重みを有する全ての簡単化系列ｙ(x)が値M以上のフルスパンfsp(y)を有するような特性を持つ（すなわち、値が異なるときの巡回置換は列部分系列の行列表現の全ての列に適用されなければならないということになる）。
【００９８】
そこで、R＝M＝７のケースに戻ると、７つの列について可能である巡回置換の組み合わせはアプリオリには７7通りあるが、実際には、７！のみ、すなわち、５０４０通りでも、重み２の簡単化系列ｙ(x)ごとにfsp(y)が７以上になるという条件は満たされる。
【００９９】
M×M型の２つの「循環」行列（ノッチ１つ分下方へシフト(回転)させることにより、先の列から各列が取り出されるような行列）をＴ1及びＴ2とすると、Ｔ1の第１の列は[1，−2，1，0，…，0]’となり、Ｔ2の第１の列は[2，−2，0，…，0]’となるが、この場合、次のような特性を実証することが可能である。R≧M≧６のとき、ｈＴ1及びｈＴ2の余りモジュロＲがヌル成分を含んでいないとするならば、先に定義したようにMタプルｈにより記述されるサイズRMのどのようなホィールインタリーバＵ→Ｕ*も、４に等しいハミング重みを有する全ての簡単化系列ｙ(x)が値６以上のフルスパンfsp(y)を有する。
【０１００】
再びR＝M＝７のケースに戻ると、上記の２つの特性を共に実証するセプタプルｈを判定することが可能である。例えば、ナルである第１の成分（第１の列の巡回置換はない）に対しては、これらの特性を満たすセプタプルは厳密には１６８存在する。
【０１０１】
更に、ｈ1＝１（１に等しい振幅を持つ第２の列の巡回置換）のとき、２つの特性を満たすそのようなセプタプルは２８ある(図４の表を参照)。
【０１０２】
例えば、以下に示すセプタプルは前記の条件を満たすことがわかる。
【０１０３】
ｈ(1)＝(0643125)，ｈ(2)＝(0516243)，ｈ(3)＝(0452361)
ｈ(4)＝(0325416)，ｈ(5)＝(0261534)，ｈ(6)＝(0134652)
最後に挙げたセプタプルは図４の最終要素である。
【０１０４】
別の例(M＝５)では、最小距離が４２のターボ符号を得ることが望まれる場合に、それに伴って、重み２の系列ｙについて、フルスパンfsp(y)は９以上であり、重み４の系列では、フルスパンfsp(y)は８以上になることが図２の表から見て取れる。また、重みが６以上の系列に対しては条件fsp(y)≧４２が常に実証されることにも注意すべきである。
【０１０５】
次に、Ｕ及びＵ*がR行、５列の行列である場合にＵ→Ｕ*インタリーバを構成することを考える。従って、重み２のどの簡単化系列ｙ(x)のフルスパンfsp(y)も９以上であり且つ重み４のどの簡単化系列ｙ(x)のフルスパンfsp(y)も８以上であるように、０からR-1(デリミタを含む)の数ｈiの５タプルｈ＝[ｈ0，ｈ1，ｈ2，ｈ3，ｈ4]によりホィールインタリーバを指定することが必要である。
【０１０６】
これは、重み２の全ての系列ｙ(x)について、ｈのいずれか２つの成分ｈi、ｈjの差モジュロＲが厳密に1より大きい絶対値（０でもなく、−１でも、１でもない）を有する場合に限って実現されることを実証できる。
【０１０７】
重み４の全ての系列についてこの条件を満たすために、重み２の系列に関わる条件を既に満たしているmタプルｈが満たす必要のあるいくつかの条件を示すことができる。これは、第１の成分ｈ0が０であるような場合（Ｕ*の第１の列を得るためにＵの第１の列の巡回置換は行われない）に限定される。
【０１０８】
それぞれが第１の列として、Ｔ1については[1,-2,1,0,0]’、Ｔ2については[2,-2,0,0,0]’、Ｔ3については[2,-1,-1,0,0]’、Ｔ4については[1,-1,-1,1,0]’、Ｔ5については[1,1,-2,0,0]’、Ｔ6については[1,0,-2,1,0]’、Ｔ7については[1,-2,0,1,0]’を含むM×M型の７つの循環行列をＴ1，Ｔ2，…，Ｔ7とする。
【０１０９】
第１の必要条件は、ｉ＝１から７のとき、ｈＴiのモジュロＲによる余りが０、１又は−１に等しい成分を有していないことである。
【０１１０】
第１の列[１，１，−１，−１，０]’の循環行列５×５Ｔ8を導入すると、第２の必要条件はｈＴ8のモジュロＲによる余りが１又は−１に等しい成分を有していないことである。
【０１１１】
第１の列[１，−１，１，−１，０]’の循環行列５×５Ｔ9を導入すると、第３の必要条件はｈＴ9のモジュロＲによる余りが０又は１に等しい成分を有していないことである。
【０１１２】
そこで、Ｒ＝２６であるとき、これらの(必要)条件は同様に満たされ、また、Ｒが２５以下である場合、これらの条件は決して満たされないと実証される。
【０１１３】
Ｒ＝２６の場合、上記の条件を見たすクィンタプルは１２０ある。それらのクィンタプルは、全て、次の１０個のクィンタプルのモジュロ２６における０でない倍数である。
【０１１４】
０      ２      ６    ２２      ８
０      ２      ８    ２０    １６
０      ２    １０    １６    １２
０      ２    １０    ２２      ６
０      ２    １２      ８    ２０
０      ２    １６    １２    １８
０      ２    １８    １４      ６
０      ２    ２０      ６    ２２
０      ２    ２２      ６    １８
０      ２    ２２    １４    １０
先の説明においては、関連する巨視的インタリーバにより生成されるターボ符号の最小距離を所定の値より大きくすることができる必要条件を満たす微視的インタリーバを構成する方法を説明した。
【０１１５】
次に、先に部分列Ａλ1λ2について定義したホィールインタリーバに基づいて、全ての部分列に対して同一のインタリーバＵ→Ｕ*を使用することを想定する。この場合、グローバルインタリーバは、対応するターボ符号が相当に大きな数のときに非常に小さい重みを持つ系列を含むようなものである。これは、先に考慮したようにｇ(x)＝１＋ｘ2＋ｘ3、ｆ1(x)＝１＋ｘ＋ｘ2＋ｘ3及びｆ2(x)＝１＋ｘ＋ｘ3である場合に、ａ(x)＝ｘ7i．ｇ(x)の形態をとる多項式が任意のｊについてａ*(x)＝ｘ7j．ｇ(x)を満たすからである。従って、符号化系列(a,b,c)に対応するハミング重みはかなり小さい値である１０となる。
【０１１６】
この場合、スパンsp(a)及びフルスパンfsp(a)の概念は、i＜j＜kである三項式ａ(x)＝ｘi＋ｘj＋ｘkについて、値sp(a)＝k−ｉ及びfsp(a)＝sp(a)＋sp(a*)により定義される。
【０１１７】
部分列Ａλ1λ2の各々に対するホィールインタリーバの作用に続いて、行列Ａ*が得られる。ホィールインタリーバにより置換される各部分列Ａλ1λ2は現時点でＡ*においてもＡにおけるのと同じ相対位置を保持するので、この行列Ａ*も行列Ａと同じアレイ、例えば、図５に示すアレイにより表現されることになる。
【０１１８】
先に述べた重み１０の符号化系列のように、重みの小さいいくつかの符号化系列を回避することを目的として、この時点までに得られた行列Ａ*も、同じ列の部分列を互いに置換することによって修正する。
【０１１９】
そこで、各列の部分列を互いに置換する全ての置換が、得られるターボ符号の最小距離に関して等価ではないということを例で示すことができる。
【０１２０】
すなわち、対応する符号化系列の重みは３０に等しく、従って、必要な最小距離である３４より完全に小さいので、先に挙げた状況ａ(x)＝ｘ7i．ｇ(x)、ａ*(x)＝ｘ7j．ｇ(x)に加えて、ａ(x)＝(ｘi＋ｘj＋ｘk)．ｇ(x)及びａ*(x)＝(ｘi*＋ｘj*＋ｘk*)．ｇ(x)の型の状況をも回避することが望ましいことが認められる。
【０１２１】
以上のべた好ましくない状況のうち第１の状況を回避するＡ*の部分列の置換を図６に示す。図５では(ｋ1，ｋ2)の対が占めていた位置を図６では(λ1，λ2)の対が占めていることは、部分列(Ａ*)k1k2が先に部分列(Ａ*)λ1λ2が占めていた位置へ移動したことを表している。すなわち、ここで挙げた例では、部分列(Ａ*)01は(Ａ*)51の初期位置へ移動し、部分列(Ａ*)02は(Ａ*)32の初期位置へ移動し、部分列(Ａ*)03は、(Ａ*)31の初期位置へ移動し、部分列(Ａ*)10は元の位置にとどまり、部分列(Ａ*)66は、(Ａ*)16の初期位置へ移動している。
【０１２２】
残念なことに、この置換は先に挙げた第２の好ましくない状況を回避できないという欠点を有している。これは、前述のようなq＝r／I、ｇ(x)、ｆ1(x)及びｆ2(x)であるとき、系列ａ(x)＝(ｘ3.q＋2＋ｘ5.q＋3＋ｘ6.q)．ｇ(x)はａ*(x)＝(ｘ3＋ｘ2.q＋2＋ｘ6.q)．ｇ(x)を生成し、対応する符号化系列が３０の重みを有することが実証されるためである。
【０１２３】
これに対し、図７に示す、Ａ*の部分列の相互置換を考えてみる。この場合、先に挙げた第２の好ましくない状況も回避される。その結果、図７によるグローバルインタリーバは符号から３０以下の重みの多数の系列を排除し、それらを３４以上の重みの系列と置き換える。
【０１２４】
ここで、この効果を有する置換を見出す方法を若干詳細に説明しておく。そこで、便宜上、図５、図６及び図７の表現を簡単にし、一般化してある。各対Ｉ1、Ｉ2における第２の数Ｉ2は考慮すべき置換によっては修正されないため、この第２の数Ｉ2を省略する。一般化として、qは列の数より完全に大きい値をとれることを容認する。これら２つの規則を伴い且つq＝８であるとき、所望の効果を有する部分列の相互置換を図８に示す。
【０１２５】
そこで、次のような特性を実証することができる。
【０１２６】
先に挙げた第２の好ましくない状況は、ｔが１から３の間にあるときに９つの対(ｉt，ｊt)、(ｉt，ｊt＋2)、(ｉt，ｊt＋3)を見出すことが不可能である場合に回避される。尚、成分ｉt及びｊtは、０≦ｉt≦ｑ−1及び０≦ｊt≦6を満たす整数であり、加算はモジュロ７で実行されるので、それらの対が図８に示される行列の要素の行指標及び列指標であると考えた場合、そのようにして得られる９つの位置のうち３つにそれぞれ現れる厳密に３つの異なる整数が存在する。図８に示す行列は、付録に提示したMATLAB言語のプログラムによっても実証できるように、この好ましくない状況を適切に回避する。
【０１２７】
ターボ符号を更に改善することに関して、Ａの列ごとに異なるホィールインタリーバを使用することが選択される。
【０１２８】
各部分列ａλ1λ2が４９の要素を含み、Ａは７列を含み且つ各列は７つの部分列を含むケースを考える。従って、対応する系列ａ(x)の長さは４９×７×７＝２４０１に等しい。
【０１２９】
図７に示す規則に従って各列の部分列を置換することにより、行列Ａ*を構成することが選択される。次に、λ2の固定値を有する４９の要素から成る各列ａλ1λ2について、それに関連して、セプタプルｈ＝[ｈ0，ｈ1，ｈ2，ｈ3，ｈ4，ｈ5，ｈ6]により指定されるまったく同じホィールインタリーバ７×７が存在する。
【０１３０】
各部分列と関連するホィールインタリーバの選択は、次のようにして行われる。
【０１３１】
Ａ及びＡ*の列に０から６までの番号を付し、次のセプタプルを使用する。
【０１３２】
ｈ(1)＝(0643125)，ｈ(2)＝(0516243)，ｈ(3)＝(0452361)
ｈ(4)＝(0325416)，ｈ(5)＝(0261534)，ｈ(6)＝(0134652)
これらのセプタプルの各々は１つのホィールインタリーバを指定し、ｈ(i)により指定されるホィールインタリーバは、Ａの列ｉ(ｉ＝1，…，6)の全ての部分列を置換するために使用される。
【０１３３】
指標０の列において、部分列は定義された６つのセプタプルのうち１つ、例えば、ｈ(1)を使用して置換される。
【０１３４】
これらのセプタプルは、系列ａ(x)のハミング重みが２に等しい場合は、同次系列ａ(x)に対応する簡単化系列ｙ(x)のフルスパンが７以上でなければならず、ａ(x)のハミング重みが４に等しい場合には６以上でなければならないという必要条件を満たすことが既に示されている。
【０１３５】
Ａの各列で異なるホィールインタリーバを選択する理由は次の通りである。そのようにしなければ、ｉが固定されているとき、図７に示す種類のインタリーバによって、系列ａ(x)＝ｘi(Ｉ＋ｘ7)(Ｉ＋ｘ7j+2＋ｘ7j+3)を、ａ*(x)＝ｘi*(Ｉ＋ｘ7j*)(Ｉ＋ｘ2＋ｘ3)としてインタリーブするように数ｊを選択することは不可能になるであろう。この場合、対応する符号化系列の重みは３４より完全に小さくなってしまうであろう。
【０１３６】
別の例では、部分列は１１７要素の「長さ」を有し、１３×９個の行列に配列されているので、１３×９のホィールインタリーバによりインタリーブされなければならない。そこで、グローバルインタリーバは１１７×４９、すなわち５７３３ビットの情報を置換することになる。
【０１３７】
この場合、全ての値がモジュロ１３で計算される場合、ｉが１から１２の間であるとき、次の９タプルをｈ(ｉ)とする。
【０１３８】
ｈ(ｉ)＝（０ ｉ ５ｉ ７ｉ １２ｉ ８ｉ １１ｉ ９ｉ ３ｉ）
そのような各９タプルは、重み２の全ての系列ａに対してフルスパン条件fsp(y)≧９を満たし、重み４の系列ａに対してはfsp(y)≧８を満たすホィールインタリーバを完全に定義する（その成分の各々により、９列の行列の各列の回転の振幅が与えられることを述べておくべきであろう）。それにより、４２に等しい最小距離を望むことが可能になる(図２を参照)。このために、例えば、行列Ａの７列で異なるｈ(ｉ)を使用し、図８により記述される種類の列の相互置換を適用する。
【０１３９】
このように、長さ５７３３の２進系列を符号化するのに適合し、先に挙げたように、ｇ(x)＝１＋ｘ2＋ｘ3、ｆ1(x)＝１＋ｘ＋ｘ2＋ｘ3及びｆ2(x)＝１＋ｘ＋ｘ3により指定されるターボ符号が得られる。
【０１４０】
長さ２４０１のインタリーバを使用するケース(先の第１の例)でシミュレーションを実施した。それらのシミュレーションは図９に示されており、図９は、４つの異なる復号反復回数に対して、ビット誤り率(BER)をビット当たりの信号対雑音比（Eb／NoはdB単位で表されている）の関数として示す。既に非常に低くなっている信号対雑音比に対して利得は非常に重大であり、且つその利得の主要な部分は８回の反復の後に得られることがわかった。
【０１４１】
通常使用されるインタリーバと比較して、本発明において提案されるインタリーバは、良好な符号距離分布を保証しつつ、２つの基本符号器の同時ゼロ復帰を保証するという大きな利点を提供することは明白であり、これは、ビット当たりの信号対雑音比Eb／Noが高い場合に有利な要因である。
３．解の原理(λ＝１)
ここでは、再度、関連するターボ符号に非常に低いビット誤り率を与えるようにインタリーバのパラメータを設定するという目標をもって、λ＝１により定義される本発明の好ましい実施形態を検討してみる。
【０１４２】
この目標を達成するため、r＝RMである全ての２進系列の集合ｚ(x)＝Σi=0r-1ｚiｘiに、R行、M列を有し、ｊが０からR-1（区切り記号を含む）にあり且つｋは０からM-1（区切り記号を含む）にあるとき、位置(j,k)の要素として数jM＋kを有するような行列Ｕを関連付ける。
【０１４３】
例えば、R＝７、M＝５、r＝RM＝３５である場合、Uは、
【０１４４】
【数１】
0004497706.tif 000002
【０１４５】
次に、Mタプルｈ＝[ｈ0，…，ｈM-1]から、Ｕのj番目の列の振幅ｈjの巡回置換を行列Ｕの列に対して実行する。
【０１４６】
得られた行列をＵ*と表す。このように、Ｕを先に示した通りに定義し且つMタプルｈが[０２５１３]に等しい場合、行列Ｕ*は次のように表される。
【０１４７】
【数２】
0004497706.tif 000003
【０１４８】
対(Ｕ，Ｕ*)の場合、又はこれと等価であるMタプルｈの場合、いずれかの系列ｚ(x)＝ｚ0＋ｚ1ｘ＋...＋ｚ34ｘ34から、インタリーブ系列ｚ*(x)＝ｚ0＋ｚ1ｘ26＋ｚ2ｘ12＋...＋ｚ34ｘ19（これは、ｚ*(x)＝ｚ0＋ｚ11ｘ＋ｚ27ｘ2＋...＋ｚ14ｘ34と書き表すこともできる)を生成するインタリーバが関連付けられる。
【０１４９】
Ｍタプルｈ＝[ｈ0，…，ｈM-1]により定義されるサイズＲＭのホィールインタリーバは、系列ｚ(x)＝ΣK=0M-1ｘKｚ(K)（xM）から生成される。式中、ｚ(K)(x)は次数がR-1の多項式である。インタリーブ系列ｚ*(x)＝ΣK=0M-1ｘK-hKMｚ(K)（xM）,モジュロｘRM−１.
巡回置換の性質上、このような行列Ｕ*(従って、Ｕ及びＵ*と関連するホィールインタリーバ)は、各列で実行される置換の振幅を知ることによって完璧に定義される。
【０１５０】
ここで、説明を明確にするため、行列Ｓ及びＳ*における列の数は多項式ｇ(x)によって決まること、Ｓ*を生成するためのＳの列における置換は任意の置換であること、及びＳのＳ*への変換は列の相互置換を含んでいても良いことに注意すべきである。
【０１５１】
これに対し、Ｕ及びＵ*の列の数は多項式ｇ(x)によっては左右されず、Ｕ*を得るためのＵの列における置換は巡回置換でなければならず、ＵのＵ*への変換は列の相互置換を含まない。
【０１５２】
同様に、説明を明確にするため、対(Ｓ，Ｓ*)と(Ｕ，Ｕ*)は置換を定義するが、Ａ及びＡ*は単に２進系列ａ(x)及びａ*(x)それぞれの行列形態の表現であるにすぎないことにも注意すべきである。
【０１５３】
ホィールインタリーバのいくつかの用途を考えることができる。その１つにおいては、本発明の有利な実現形態に対応して、行列Ａの各列をホィールインタリーバによりインタリーブし、その後、巡回置換を実行する。
【０１５４】
一例として、ｇ(x)＝１＋ｘ2＋ｘ3（これは、m(g)＝７であることを示している）、ｆ1(x)＝１＋ｘ＋ｘ3及びｆ2(x)＝１＋ｘ＋ｘ2＋ｘ3を有する種類のターボ符号器を考える。また、R≧Mを満たす素数をRとするとき、ｎを
ｎ＝RMm(g)
と書き表すことができる。
【０１５５】
これらの数R及びMは、ターボ符号インタリーバを構成するために構成要素として使用されるホィールインタリーバの大きさである。m(g)＝7であるとき、R＝２３及びM＝１５を選択すると、ｎは２３×１５×７＝２４１５に等しく、R＝１７及びM＝８を選択すると、ｎは９５２に等しくなる。先に述べた通り、RZインタリーバはr・m型の行列Ｓ*により表現できる。従って、これら二組のパラメータに対して、ｎ＝２４１５である場合、r＝RM＝３４５となり、ｎ＝９５２の場合には、r＝１３６となる
Ｓの一列のどの置換がＳ*の対応する列を生成するかを指定するために、３つの過程から成る手続きを使用する。
【０１５６】
第１の過程は、先に定義したように、フルスパンに関して効率の良いサイズR・Mのホィールインタリーバを選択する。
【０１５７】
第２の過程は、この効率の良いホィールインタリーバを、ｉ＝０，...，m-1に対して、Ａのｉ番目の列で、ｄiを適切に選択して、ｄi回使用することから成る。
【０１５８】
第３の過程は、適切に選択した振幅ｅiの巡回置換をＡのｉ番目の列に適用することから成る。
【０１５９】
従って、ｇ(x)、ｆ1(x)、ｆ2(x)、n、R及びMを与えれば、インタリーバは次のように指定される。
【０１６０】
（ａ）Mタプルｈ＝[ｈ0，…，ｈM-1]
（ｂ）mタプルｄ＝[ｄ0，…，ｄm-1]
（ｃ）mタプルｅ＝[ｅ0，…，ｅm-1]
ｈの選択は、０でない同次成分を唯一つ有する情報項目ａ(x)に対して有効であるように行われ、ｈが与えられれば、mタプルｄ及びｅは、いくつかの０でない同次成分を有する情報項目ａ(x)に対して有効となるために選択される。
４．ｈ(λ＝１)の選択
ｇ(x)、ｆ1(x)及びｆ2(x)を第２章で定義した通りとし、ａ(x)＝ｘkａ(k)(xm)、０≦k≦m−1を同次情報の系列とし、且つｖ＝[a，b，c]をRZインタリーバを使用してターボ符号器によってａ(x)から生成される符号化系列のトリプレットとする。ｖのハミング重みＷH(v)が
4fsp(ａ(k)(x))＋3ＷH(ａ(k)(x))
と等しいことを理解するのは難しくない。
【０１６１】
更に一般的に言えば、ｇ(x)は次数pの素数多項式であり、ｉ＝１、２のとき、ｆi(x)は、１＋Σj=1p-1ｆi,jｘj＋ｘp，ｆi,j∈{0,1}
の形態を有し、mは２p-1に等しく、同次情報系列ａ(x)＝ｘkａ(k)(xm)により生成される符号化系列ｖのハミング重みは、
２p-1fsp(ａ(k)(x))＋3ＷH(ａ(k)(x))
に等しい。
【０１６２】
表１には、ＷH(ａ(k)(x))及びfsp(ａ(k)(x))のいくつかの値に対してｖの重みを示す。例えば、最小重み３４を生成するためには、RZインタリーバは(どのようなkに対しても)、ＷH(ａ(k)(x))＝２であればfsp(ａ(k)(x))≧７を得なければならず、ＷH(ａ(k)(x))＝４であれば、fsp(ａ(k)(x))≧６を得なければならない。ＷH(ａ(k)(x))≧６である場合には、fsp(ａ(k)(x))に課される条件はない。
【０１６３】
表１：同次符号化系列の重み（表１は、符号化同次系列(a b c)の重みを簡単化系列vのフルスパンの関数として示す表である）
【０１６４】
【表１】
0004497706.tif 000004
【０１６５】
ここで、Ｓ*のk番目の列Ｓ*kを生成するために、Ｓのk番目の列Ｓkに適用すべき置換を指定できることになる。実際、Ｓkは、
Ｓk＝[k，k＋m，k−2m，…，k＋(RM−1)m]Tの形態をとる。尚、Ｔは転置を表す。行列Ｕ*により指定される(又は対応するｈにより同様に指定される)ホィールインタリーバR×Mが与えられれば、Ｕ*の要素を行ごとに読み取ったときに得られるRM個の整数０，１...，RM−1の再スケジューリングをｕ＝[ｕ0，...，ｕRM−1]とする。このホィールを使用して、Ｓkと新たな列
Ｓ'k＝[k＋ｕ0m，k＋ｕ1m，．．．，k＋uRM−1m]Tとが関連付けられる。
【０１６６】
例えば、k＝３、R＝７、M＝５であり且つ行列Ｕ*が先に考慮した行列であれば、
Ｓ'3＝[3,3＋26m,3＋12m,…,3＋24m,3＋5m,3＋31m,…,3＋19m]Tが得られる。
【０１６７】
Ｓ'は、０≦k≦m-1であるとき、k番目の列がＳ'kとなるような行列を表す。以下の章では、Ｓ*を得るためにＳ'の列にどの巡回置換を適用することが必要であるかを論じる。ここでは、先に挙げたようなｇ、ｆ1及びｆ2を伴うａ(x)＝ｘkａ(k)(ｘm)を適用するときに、どのようにＵ*を選択すれば、又はそれと同様にＵ*を定義するMタプルｈを選択すれば有効であるかを論じる。
【０１６８】
ａ(k)(xm)の簡単化バージョンをz(x)により示し、対応する符号化系列をｖとする。この場合（ここではRは素数であると仮定することを述べておくべきである）、以下の特性を実証することができる。
【０１６９】
特性Ｐ1：R≧M≧２であると仮定する。２に等しいハミング重みを有し且つMタプルｈにより指定されるサイズR×Mのホィールインタリーバによってインタリーブされるどのような系列ｚ(x)も、ｈの成分のモジュロRによる全ての剰余が異なる場合、fsp(z)≧Mを満たす。
【０１７０】
特性Ｐ2：R≧M≧６と仮定する。第１の列が[１ −２ 1  ０...０]Tであるような循環行列M×MをＴとする。４に等しいハミング重みを有し且つMタプルｈにより指定されるサイズR×Mのホィールインタリーバによってインタリーブされるどのような系列ｚ(x)も、ｈが特性Ｐ1を満たし且つｈＴの成分のモジュロRによる剰余が０でない場合に、fsp(z)≧６を満たす。
【０１７１】
特性Ｐ3：R≧M≧８と仮定する。この場合、M×M型であり、循環行列であり且つ第１の列が、それぞれ、
Ｔ1の場合、[1 −1 −1  1  0,…,0]T
Ｔ2の場合、[1 −1  1 −1  0,…,0]T
Ｔ3の場合、[1  0 −2  1  0,...,0]T
Ｔ4の場合、[1 −2  0  1  0,...,0]T
Ｔ5の場合、[2 −1 −1  0,...,0]T
Ｔ6の場合、[1  1 −2  0,...,0]Tであるような行列Ｔi、ｉ＝１,．．．,６を考える。
【０１７２】
４に等しいハミング重みを有し且つMタプルｈにより指定されるサイズR×Mのホィールインタリーバによってインタリーブされるどのような系列ｚ(x)も、ｈが特性Ｐ1及びＰ2を満たし且つどのようなｉ、ｉ＝１，…，６に対しても、ｈＴiの成分の剰余モジュロRが０でない場合に、fsp(z)≧８を満たす。
【０１７３】
特性Ｐ4：R≧M≧１０と仮定する。この場合、M×M型であり、第１の列が、それぞれ、
Ｔ1の場合、[1  1 −1 −1  0,...,0]T
Ｔ2の場合、[1 −1  0  1 −1  0,...,0]T
Ｔ3の場合、[1  −1  0 −1   1  0,...,0]T
Ｔ4の場合、[1  0  −1  −1  1  0,...0]T
Ｔ5の場合、[1 −1 −1  0  1  0,...,0]T
Ｔ6の場合、[1  0  −1  1  −1  0,...,0]T
Ｔ7の場合、[1  −1  1  0 −1  0,...,0]T
Ｔ8の場合、[1  0  −2  0  1  0,...,0]T
Ｔ9の場合、[1  0  0  −2   1  0,...,0]T
Ｔ10の場合、[1  −2  0  0  1  0,...0]T
Ｔ11の場合、[1  0  1  −2  0,...,0]T
Ｔ12の場合、[2  −1  0  1  0,...,0]Tであるような１２の循環行列Ｔi、ｉ＝１,．．．,12を考える。
【０１７４】
４に等しいハミング重みを有し且つMタプルｈにより指定されるサイズR×Mのホィールインタリーバによってインタリーブされるどのような系列ｚ(x)も、ｈが特性Ｐ1からＰ3を満たし且つどのようなｉ、ｉ＝１，…，１２に対しても、ｈＴiの成分の剰余モジュロRが０でない場合に、fsp(z)≧１０を満たす。
【０１７５】
fsp(z)≧１２を保証するために同様の特性を確定することができ、fsp(z)の更に高い値も可能である。
【０１７６】
特性Ｐ5：R≧M≧６と仮定する。この場合、M×M型であり、第１の列が、それぞれ、
Ｔ1の場合、[1  −3  2  0,...,0]T
Ｔ2の場合、[2 −3   1  0  0,...,0]T
Ｔ3の場合、[1  −2  2  −1  0,...,0]Tであるような３つの循環行列Ｔi、ｉ＝１,…,３を考える。
【０１７７】
６に等しいハミング重みを有し且つMタプルｈにより指定されるサイズR×Mのホィールインタリーバによってインタリーブされるどのような系列ｚ(x)も、ｈが特性Ｐ1を満たし且つどのようなｉ、ｉ＝１，…，３に対しても、ｈＴiの成分の剰余モジュロRが０でない場合に、fsp(z)≧８を満たす。
【０１７８】
また、R及びMがどのような値であろうとも、ハミング重み６を有する全てのｚに対して、fsp(z)≧９を満たすホィールインタリーバは存在しないことを実証することも可能である。
【０１７９】
Mが特性Ｐ2からP5で要求される値より小さいとき、条件は更に複雑になる。すなわち、M＝7である場合、特性Ｐ3で挙げた条件のうちいくつかは、「成分ｈのモジュロRによる剰余が０でもなく、１でもなく、−１でもない」に似ている。
【０１８０】
ここで２つの例を挙げる。R＝２３及びM＝１５であるとき、１５タプルｈ＝[０ １ １９ ８ １７ ２１ １８ １６ １０ ３ １５ ６ ５ １１ ９]
は、特性Ｐ1からＰ5を満たすｈ0＝０及びｈ1＝１の{0，…，22}についての１８５０の１５タプルの中の１つである。表１を使用すると、先に説明したように、ｈにより指定されるホィールインタリーバ２３×１５によってインタリーブされたどの同次系列も、重み≧５０の符号化系列を生成すると結論づけられる。
【０１８１】
同様に、R＝１７及びM＝８の場合には、８タプル
ｈ＝[０ １ ４ ９ ５ ２ ７ １１]
は特性Ｐ1、Ｐ2、Ｐ3及びＰ5を満たす。表１を使用すると、先に説明したようにｈにより指定されるホィールインタリーバ１７×８によってインタリーブされたどの同次系列も、重み≧３８の符号化系列を生成すると結論づけられる。この最小値は重み２の同次系列により生成される。
【０１８２】
所定のMと、素数R≧Mに対して、特性Ｐ1からＰ5のうちいくつかを満たすMタプルｈが何であるかを見出すために、GOODH．Mと呼ばれるMATLABプログラムを付録に記載した。所定のR及びMに対して、０でない同次系列のできる限り小さい最良の重みを実現するというのが原則であった。符号によって実現された最小距離は、多くの場合、この最小重みより完全に小さいが、この方式は、ある意味で、重みの小さい符号語の数を最小限に抑えようと試みるものである。これは、符号の総重みの分布に好都合な影響を及ぼすはずである。
【０１８３】
更に、ここで仮定するRが素数である場合、モジュロＲによる加算及び乗算により構成される集合{0，…，R−1}は、ガロア体GF(R)の構造を有する。この場合、どのようなｄ∈{1，…，R−1}に対しても、MタプルｄｈＴは、ｈＴに対して同じ特性が真である場合に限り、モジュロＲにおける非０成分を含まない。この後、この特性は非常に有用である。
【０１８４】
５．距離行列の構成(λ＝１)
適切なｈを見出した後、Ｓのｉ番目の列に、ｄiｈにより定義されるホィール型の置換を適用し、次に、振幅最小値ｅiに向かって巡回置換を適用することにより、Ｓ*のｉ番目の列を得る。
【０１８５】
Ｓのこのｉ番目の列の対応する置換と、関連するＡのｉ番目の列の記号の置換とを対(ｄi，ｅi)により表す。
【０１８６】
これらのm個の対(ｄi，ｅi)の選択は、情報系列ａ(x)の、互いに近接する２つの記号がいずれもインタリーブ後に妥当な距離をおいた状態となるように行われる。
【０１８７】
ｈは、この基準を最適化するように選択されているため、これはＡの同じ列の記号については既に実現されているので、ここで、Ａの異なる列の記号の対に集中することにする。
【０１８８】
ａ(x)の記号ａs(又はａt)を位置ｓから位置ｓ*へ(又は位置ｔから位置ｔ*へ)インタリーバにより移動させると、この対(ｓ，ｔ)にＣ(s，t)＝｜ｓ−ｔ｜＋｜ｓ*−ｔ*｜により与えられるコスト関数を付随させることが可能になる。
【０１８９】
しかし、より実際的なアルゴリズムを獲得するために、次の手続きに従う。
【０１９０】
インタリーブ前に２つの記号を考慮し、それらの記号が先に導入した行列Ａの２つの異なる列(例えば、ｉ番目の列と、j番目の列)の行ｓ及びｔに現れるものと仮定する。(ｄi，ｅi)により指定される置換の作用の下で、行ｓにある、それらの記号のうち第１の記号は行ｓ*へ移動され、また、置換(ｄj，ｅj)の作用の下で、列ｔにある、それらの記号のうち第２の記号は行ｔ*へ移動される。
【０１９１】
そのような一対の記号に対する本発明によるコスト関数は、
Ｃ(s，t)＝｜ｓ−ｔ｜＋｜ｓ*−ｔ*｜
であるように選択されており、(ｄi，ｅi)及び(ｄj，ｅj)が与えられれば、ｓ*及びｔ*は、ｓ及びｔによってのみ決まる。実際には、行列(Ｒ−１)2×ＲＭが構成され、これをＦで表す。Ｆの(Ｒ−１)2の列は、(Ｒ−１)2対の(d，d')により指標づけられ、要素ｄ及びｄ’は１≦ｄ，ｄ'≦Ｒ−１を満たし、一方、ＦのＲＭ個の列は、ＲＭ個の整数ε＝１，…，RMにより指標づけられる。
【０１９２】
使用するインタリーバが(ｄ，ｅ)及び(ｄ'，ｅ')であり且つε＝ｅ'−ｅであるならば、位置((ｄ，ｄ')，ε)において、Ｆの要素は全てのｓ及びｔに対してＣ(s，t)の最小値となる。
【０１９３】
従って、それぞれがＡの異なる列にあるａ(x)の一対の記号のうち第１の記号の列が(ｄ，ｅ)によりインタリーブされ、第２の記号の列が(ｄ'，ｅ')によりインタリーブされ、且つε＝ｅ'−ｅが一定であるならば、Ｆの要素はそれらの記号に対して最小の（すなわち、最も好ましくない）散布効果を及ぼすと解釈できる。
【０１９４】
DISTM．Mと呼ばれるMATLABプログラムは、この行列Ｆを構成するために書かれている。付録には、Ｒ＝１３及びＭ＝９の特定の場合が記載されている。
【０１９５】
６．適切なターボ符号を獲得する方法(λ＝１)
R×M型の適切なホィールインタリーバｈを指定したので、今度は、対応するターボ符号が適切なものになるように、適切なMタプルｄ及びｅを選択する。
【０１９６】
ここで、この選択の全般的概念を示す。
【０１９７】
ｄ及びｅは、任意のｉ、j、０≦ｉ≦j≦M-1に対しても、Ｆの位置((ｄi，ｄj)，ｅj−ｅi)にある要素が妥当な大きさとなるように選択される。Ｆを先に述べたように解釈すると、これは、どの対の情報記号も妥当な効率で散布されるということになる。
【０１９８】
これに対応する最適化の問題を幾分困難にしているのは、例えば、ｄの初めの２つの成分ｄ0及びｄ1と、ｅの初めの２つの成分ｅ0及びｅ1を有効に選択したとすると、ｄ及びｅの第３の成分ｄ2及びｅ2も同時に、(ｄ0，ｅ0)及び(ｄ1，ｅ1)に対して有効でなければならないという点である。
【０１９９】
系統的探索を実行するために、ｍｉｎｉと呼ばれる値を選択し、０≦ｉ≦j≦M-1である対(ｄi，ｅi)及び(ｄj，ｅj)の全てに対して、位置((ｄi，ｄj)，ｅj−ｅi)＞ｍｉｎｉであれば、(d，e)により定義されるインタリーバは受け入れられる。
【０２００】
実際に、ｈが与えられれば、まず第１に(ｄ0，ｅ0)＝(1，0)が選択される。次に、位置((ｄ0，ｄ1)，ｅ1−ｅ0)において、Ｆの要素がｍｉｎｉより大きくなるように、何らかの対(ｄ1，ｅ1)を見出そうとする試みがなされる。
【０２０１】
その要素が存在しなければ、それはｍｉｎｉを実現できないことを意味している。そのような対（ｄ1，ｅ1）が見つかれば、位置（(ｄ0，ｄ2)，ｅ2−ｅ0）及び（(ｄ1，ｄ2)，ｅ2−ｅ1）において、Ｆの要素がｍｉｎｉより大きくなるような対(ｄ2，ｅ2)を探索する。アルゴリズムは同様にして続き、ｉ＝３，４，５及び６について（ｄi，ｅi）を見出す試みがなされる。
【０２０２】
この探索は、異なる対(i，j)について満たされなければならないｍｉｎｉの様々に異なる値をとることにより改善できる。すなわち、j−ｉが一定の値であるような全ての対(i，j)について、ｍｉｎｉを同一の値に設定することが可能である。m＝７及びi＜jであるとき、ｊ−ｉは６つの値をとれるので、６つのパラメータｍｉｎｉ(1)，…，ｍｉｎｉ(6)を選択し、適切に系統的探索を修正することが可能である。
【０２０３】
検査を実行すべき場合には、その都度、ｉ及びｊの指定値に適合するパラメータｍｉｎｉ(j-i)を使用する。この探索を実行するための、SELEC．Mと呼ばれるMATLABプログラムが作成されており、付録に記載されている。
７．例(λ＝１)
Ｒ＝２３及びＭ＝１５（ｎ＝２４１５であることを示唆している）であり、且つｈが先に挙げたように[0  1  19  8  17  21  18  16  10  3  15  6  5  11  9]であるとき、Ｆで表される４８４×３４５の行列を得るために第４章で説明した構成方法を適用し、この行列を第５章で述べた概要に沿って使用した。数回の試行の後に、下記のようなパラメータｍｉｎｉ(i)の値についてターボ符号器を得た。
ｍｉｎｉ(1)＝６, ｍｉｎｉ(2)＝４, ｍｉｎｉ(3)＝５
ｍｉｎｉ(4)＝４, ｍｉｎｉ(5)＝６, ｍｉｎｉ(6)＝５
ターボ符号器は、
ｄ＝[１，３，８，１１，１５，９，２２]
ｅ＝[０，７，２６９，２９１，１９４，３３７，１２０]
により指定される。
【０２０４】
対応するターボ符号の性能を付加的白色ガウス雑音チャネルでシミュレートし、このシミュレーションの結果を図１４及び図１５に示す。いずれの場合にも、８回及び１９５回の復号の反復の後に得られた結果が示されている。実験によれば、３０回の繰り返しの後に既に最良の性能がほぼ得られることがわかった。
【０２０５】
シミュレーション結果の分析によって、この符号には、ハミング重みが３４に等しい非ゼロ系列が存在することが明らかになった。これより低いハミング重みの系列は見つからなかった。
【０２０６】
そこで、３４が符号の最小距離であると考えるのが妥当である。
【０２０７】
同様に、Ｒ＝１７及びＭ＝８（ｎ＝９５２であることを示唆している）であり且つｈが先に挙げたように[0  1  4  9  5  2  7  11]であるとき、Ｆで表される２５６×１３６の行列を得るために第４章で説明した構成方法を適用し、この行列Ｆを第５章で述べた概要に沿って使用した。
【０２０８】
数回の試行の後に、下記のようなパラメータｍｉｎｉ(ｉ)の値をもってターボ符号器を得た。
ｍｉｎｉ(1)＝５, ｍｉｎｉ(2)＝３, ｍｉｎｉ(3)＝３
ｍｉｎｉ(4)＝３, ｍｉｎｉ(5)＝３, ｍｉｎｉ(6)＝５
ターボ符号器は、
ｄ＝[１，７，１０，２，１５，１２，１６]
ｅ＝[０，１３０，５８，１１６，７６，６，１４８]
により指定される。
【０２０９】
ターボ符号の性能を付加的白色ガウス雑音チャネルでシミュレートし、このシミュレーションの結果を図１２及び図１３に示す。
【０２１０】
シミュレーション結果の分析によって、この符号には、ハミング重みが３４に等しい非ゼロ系列が存在し、これより低いハミング重みの系列はないことが明らかになった。これが符号の最小距離であると考えるのが妥当である。
【０２１１】
8．その後の改良(λ＝1)
この章では、先に説明したような方法の変形として導入できるいくつかの改良を説明する。
【０２１２】
ｈを先のように選択したとき、ｄ及びｅをここまで説明したものより一層有効に選択できる場合が多い。
【０２１３】
これを説明するために、Ｒ＝２３、Ｍ＝１５、ｈ＝[0  1  19  8  17  21  18  16  10  3  15  6  5  11  9]、ｄ＝[1  3  8  11  15  9  22]及びｅ＝[0  7  269  291  194  337  120]で構成された、先に既に述べた２４１５サイズのインタリーバを考える。シミュレーションの結果、対応するターボ符号には、３４に等しいハミング重みの系列が存在することが明らかになった。この最終値も、この符号の非ゼロ系列の最小重みに等しいと思われる。次に、このような系列を少し厳密に見てみる。
【０２１４】
これは、例えば、集合ＩがＩ＝{1067，1076，1077，2329，2330，2334}により与えられるような系列ａ(x)＝Σi∈Iｘiの符号化に相当する。
【０２１５】
１つの記号の位置ｉに対するインタリーバの効果をｉ1→Π(i)とする。そこで、集合Ｊ＝{Π(i)：ｉ∈Ｉ}は、J＝{1760，292，1077，285，1070，1767}により与えられる。集合Ｊにおいて、記号Π(i)はｉの値が増加する順に現れる。
【０２１６】
言い換えれば、インタリーバは位置1067を位置1760へ移動させ、位置1076を位置292へ移動させ、位置2329を位置285へ移動させ、位置2330を位置1070へ移動させ、且つ位置2334を位置1767へ移動させる。位置1077はインタリーバによって修正されない。
【０２１７】
系列ａ(x)は、共にｇ(x)により割り切れる２つの部分系列ａ1(x)＝ｘ1067＋ｘ1076＋ｘ1077及びａ2(x)＝ｘ2329＋ｘ2330＋ｘ2334の連続としてみなせるということがわかる。同様に、系列ａ*(x)は、３つの部分系列ａ1*(x)＝ｘ285＋ｘ292、ａ2*(x)＝ｘ1070＋ｘ1077及びａ3*(x)＝ｘ1760＋ｘ1767の連続としてみなせるということがわかる。
【０２１８】
そこで、ｂ1＝ａ1ｆ1／ｇ、ｂ2＝ａ2ｆ1／ｇ、ｃ1＝ａ1*ｆ2／ｇ、ｃ2＝ａ2*ｆ2／ｇ、ｃ3＝ａ3*ｆ2／ｇを定義することができる。これらの系列の重みＷ(.)は、Ｗ(ｂ1)＝７、Ｗ(ｂ2)＝３、Ｗ(ｃ1)＝Ｗ(ｃ2)＝Ｗ(ｃ3)＝６であることが実証される。Ｗ(a)＝６であるとき、これは実際には６＋７＋３＋６＋６＋６＝３４に等しい重みを生成する。
【０２１９】
Ｒ及びＭが先のインタリーバと同じ値であり、ｈも同じであるが、ｄ及びｅの選択が異なるような２４１５サイズの別のインタリーバに関しては、先に説明した状況とは逆の状況が起こりうる。集合ＩがＩ＝{r，r＋７，s，s＋７，t，t＋７}であるような重み６の系列ａ(x)＝Σi∈Iｘiは、インタリーブ後、ａ*(x)＝ａ1*(x)＋ａ2*(x)の型の系列になりうる。尚、これら２つの多項式ａ1*(x)及びａ2*(x)はｇ(x)で割り切れ、共に、ｎの累乗を乗算した同時の三項式である。
【０２２０】
その結果、ａ1*ｆ2／ｇ及びａ2*ｆ2／ｇの重みは、それ自体、かなり小さくなるであろう。そこで、対応する符号化系列の総重みが再度３４に等しくなるということも起こりうる。
【０２２１】
３６以上の最小距離を有するターボ符号を得ることが望まれる場合には、以上述べた２つの状況が起こらないような対(ｄ，ｅ)を選択することが必要になる。
【０２２２】
まず、これらの状況のうち第１の状況を考える。これを防止するためには、ａ*(x)＝(１＋ｘ7)(ｘi＋ｘj＋ｘk)の形態のａ*(x)を生成するａ(x)＝ａ1(x)＋ａ2(x)の形態の全てのａ(x)が下記の特性を有するように対(ｄ，ｅ)を選択することが必要である。
【０２２３】
特性７．１：  ａ1(x)で現れるｘの最小累乗をｐとし、ａ1(x)＝ｘpα1(x)と置く。ａ2(x)で現れるｘの最小累乗をｑとし、ａ2(x)＝ｘqα2(x)と置く。α1及びα2の次数の和は、ｂ1＝ａ1ｆ1／ｇ及びｂ2＝ａ2ｆ1／ｇの重みの和が少なくとも１２に等しくなるように十分に大きい。
【０２２４】
次に、前述の状況のうち第２の状況を考える。従って、これを回避するためには、ａ*(x)＝ａ*1(x)＋ａ*2(x)の形態のａ*(x)を生成するａ(x)＝(１＋ｘ7)(ｘi＋ｘj＋ｘk)の形態のａ(x)が下記の特性を有するように対(ｄ，ｅ)を選択することが必要である。尚、ａ*1(x)及びａ*2(x)はｇ(x)により割り切れる三項式である。
【０２２５】
特性７．２：  ａ*1(x)で現れるｘの最小累乗をｐ*とし、ａ*1(x)＝ｘp*α*1(x)と置く。ａ*2(x)で現れるｘの最小累乗をｑ*とし、ａ*2(x)＝ｘq*α*2(x)と置く。α*1及びα*2の次数の和は、ｃ1＝ａ*1ｆ2／ｇ及び、ｃ2＝ａ*2ｆ2／ｇの重みの和が少なくとも１２に等しくなるように十分に大きい。
【０２２６】
特性７．１及び７．２を考慮する結果により得られた、以上説明した方式と並行して、第５章で導入され、第６章で使用した値ｍｉｎｉ(i)に課された条件が、３６以上の最小距離を得るという、追求されていた目的と比較して過剰なものとなりかねないということに注意する必要がある。
【０２２７】
従って、特性７．１及び７．２を満たすが、第５章で導入された６つのｍｉｎｉ(i)パラメータに関してそれほど煩雑な制約を受けることのない対(ｄ，ｅ)を求めて探索を行った。実際には、ｉ≧２であるとき、ｍｉｎｉ(1)＝５及びｍｉｎｉ(i)＝４が選択された。ここで、この方法により次の２つの対(ｄ，ｅ)が見出された。
（１）ｄ＝[1  2  3  21  19  6  17]及びｅ＝[0  6  224  246  209  112  142]。このようにｄ及びｅを選択した場合、ターボ符号は、シミュレーションの間に見出される復号後の誤り系列の重みが０．９dBまでの範囲の信号対雑音比に対して決して３６未満にならないようなものである。先の章で説明したケースと比較して、性能の改善が見られた(図１６及び図１７に示す)。
（２）ｄ＝[1  6  10  15  8  7  22]及びｅ＝[0  6  323  194  269  157  120]。このようにｄ及びｅを選択した場合、ターボ符号は、シミュレーションの間に見出される復号後の誤り系列の重みが０．８dBまでの範囲の信号対雑音比に対して決して３８未満にならないようなものである。
【０２２８】
このように、以上説明したようにパラメータ(ｄ，ｅ)を選択する方法により、誤りの確率が信号対雑音比の関数としてはそれ以上改善されない場合に、信号対雑音比のレベルを増加させることが可能になる。
次に、一般的な場合(r／λが素数でないことを除いて、λは任意である)に目を転じる。
【０２２９】
９．本発明によるインタリーバを使用する符号器及び復号器の説明
先に説明したような良いインタリーバの決定は符号器及び復号器それ自体で瞬時に実行できるが、あらかじめ決定しておくのが好ましいということに注意すべきである。予め決定する場合、インタリーバをすべてＲＯＭに格納するか、又は経済的な利点を考えてインタリーバを生成するために必要なパラメータのみを格納することが可能である。その後、先に説明した構成アルゴリズムを適用して、インタリーバを生成し、それをＲＡＭに格納することができる。
【０２３０】
次に、図１８から図２２を参照して、本発明を実現する装置の特定の一実施例を説明する。
【０２３１】
図１８は、ネットワークステーション又はコンピュータ符号化ステーションの構成をブロック線図の形で概略的に示す。このステーションは、キーボード９１１と、画面９０９と、外部情報源９１０と、無線送信器９０６とを有し、これらは共に処理カード９０１の入出力ポート９０３に接続している。
処理カード９０１は、
−中央処理装置９００と、
−ランダムアクセスメモリRAM９０４と、
−不揮発性メモリ９０５と、
−入出力ポート９０３とを有し、
これらは共にアドレス／データバス９０２に接続している。
【０２３２】
図１８に示す構成要素はマイクロコンピュータ及び送信システム、特に情報処理システムの分野の当業者にはそれぞれ良く知られている。従って、これらの一般的な構成要素についてはここでは説明しない。しかし、
−情報源９１０は、例えば、インタフェース周辺装置、センサ、復調器、外部メモリ又はその他の情報処理システム(図示せず)であり、特にIP又はATM型の音声、サービスメッセージ又はマルチメディアデータを２進データの系列の形態で表現する信号の系列を供給するのが好ましいこと、及び
−無線送信器９０６はケーブルなしチャネルでパケット送信プロトコルを使用し、且つそれらのパケットをそのようなチャネルを介して送信することに注意すべきである。
【０２３３】
また、説明中で使用される用語「レジスタ」は、メモリ９０４及び９０５のそれぞれにおいて、容量の小さなメモリ領域(若干の２進データ)と、容量の大きなメモリ領域(プログラム全体の格納を可能にする)の双方を表していることにも注意すべきである。
【０２３４】
ランダムアクセスメモリ９０４はデータ、変数及び中間処理結果を、この説明では、値を格納しているデータと同じ名前を付したメモリレジスタに格納する。ランダムアクセスメモリ９０４は、レジスタとして、
−符号化すべきデータ系列の長さを格納するレジスタ「Ｎ0_data」と、
−入力系列ｕと、系列ａがｇで割り切れるように保証するパディングビットとを含む、符号化すべきデータの系列ａを格納するレジスタ「ａ」(入力系列ｕは必ずしもｇで割り切れるとは限らず、第１の符号器は、系列ａをｇで割り切れるようにするために、入力系列ｕにｇの次数に等しい数のビットを加算して、系列ａを形成する)と、
−インタリーブ系列ａ*を格納するレジスタ「ａ*」と、
−ターボ符号化ａ，ｂ及びｃの結果得られた系列を格納するレジスタ「ａ，ｂ，ｃ」と、
−送信すべき無線フレーム全体を格納するレジスタ「radio_frame」とを含む。
【０２３５】
不揮発性メモリ９０５は、便宜上、格納するデータと同じ名前を付したレジスタにデータを格納する。すなわち、
−中央処理装置９００のオペレーティングプログラムをレジスタ「program」に格納し、
−系列ｇをレジスタ「ｇ」に格納し、
−系列ｆ1をレジスタ「ｆ1」に格納し、
−系列ｆ2をレジスタ「ｆ2」に格納し、
−インタリーバのサイズｎをレジスタ「ｎ」に格納し、
−ｎの値の関数としてインタリーバを定義するテーブルをレジスタ「interleaver」に格納し、
−ｇの周期の値ｍをレジスタ「ｍ」に格納する。
【０２３６】
中央処理装置９００は図２１に示す流れ図を実現する。
【０２３７】
図１９では、復号装置は本質的には、
−符号化系列の評価系列である系列ａ，ｂ及びｃの３つのソフト入力１００１、１００２及び１００３と、
−第１の基本符号器１０２(図１)に対応し、系列ａ及びｂと、系列ａに関連し且つ０に初期設定されるアプリオリ情報系列ｗ４とを受信し、系列ａの外因性評価系列ｗ１を供給する第１の復号器１００４と、
−符号器で使用されていたインタリーバと同一であり、一方では系列ａを受信して、それを系列ａ*としてインタリーブし、他方では系列ｗ１を受信して、系列ａ*に関連するアプリオリ情報の新たな系列ｗ２を生成するためにそれをインタリーブするインタリーバ１００５と、
−第２の基本符号器１０３に対応し、系列ｗ２、ａ*及びｃを受信し、一方では、系列ａ*の外因性評価系列ｗ３を供給し、他方では系列ａ*の評価系列ａ*'を供給する第２の復号器１００６と、
−インタリーバ１００５の逆であり、系列ａ*'を受信し、ａの評価系列ａ'を供給するデインタリーバ１００８と、
−インタリーバ１００５の逆であり、系列ｗ３を受信し、系列ｗ４を供給するデインタリーバ１００７とから構成されていることがわかる。
【０２３８】
評価系列ａ'は、所定の回数の反復の後に初めて考慮に入れられる（先に引用した論文「Near Shannon limit error−correcting coding and decoding：turbocodes」を参照）。
【０２３９】
本発明によれば、復号器１００４及び１００６を初期設定するとき、基本符号器１０２及び１０３はそれぞれヌル初期状態と、ヌル最終状態とを有するということを考慮する。
【０２４０】
図２０は、ネットワークステーション又はコンピュータ復号ステーションの構成をブロック線図の形で概略的に示す。このステーションはキーボード１１１１と、画面１１０９と、外部情報宛先１１１０と、無線受信器１１０６とを有し、これらは共に処理カード１１０１の入出力ポート１１０３に接続している。
処理カード１１０１は、
−中央処理装置１１００と、
−ランダムアクセスメモリRAM１１０４と、
−不揮発性メモリ１１０５と、
−入出力ポート１１０３とを有し、
これらは共にアドレス／データバス１１０２に接続している。
【０２４１】
図２０に示す構成要素はマイクロコンピュータ及び送信システム、特に情報処理システムの分野の当業者にはそれぞれ良く知られている。従って、これらの一般的な構成要素についてはここでは説明しない。しかし、
−情報源１１１０は、例えば、インタフェース周辺装置、センサ、復調器、外部メモリ又はその他の情報処理システム(図示せず)であり、特にIP又はATM型の音声、サービスメッセージ又はマルチメディアデータを２進データの系列の形態で表現する信号の系列を供給するのが好ましいこと、及び
−無線送信器１１０６はケーブルなしチャネルでパケット送信プロトコルを使用し、且つそれらのパケットをそのようなチャネルを介して送信することに注意すべきである。
【０２４２】
また、説明中で使用される用語「レジスタ」は、メモリ１１０４及び１１０５のそれぞれにおいて、容量の小さなメモリ領域(若干の２進データ)と、容量の大きなメモリ領域(プログラム全体の格納を可能にする)の双方を表していることにも注意すべきである。
【０２４３】
ランダムアクセスメモリ１１０４はデータ、変数及び中間処理結果を、この説明では、値を格納しているデータと同じ名前を付したメモリレジスタに格納する。ランダムアクセスメモリ１１０４は、レジスタとして、
−受信した系列(ａ，ｂ，ｅｔ  ｃ)と、インタリーブ系列ａ*とをそれぞれ格納するレジスタ「received_data」と、
−中間復号系列をそれぞれ格納するレジスタ「extrinsic_inf」(図１９を参照)と、
−復号系列ａ*'及びａ'を格納するレジスタ「estimated_data」と、
−ターボ復号器により実行される反復の回数の値を格納するレジスタ「Ｎ0_iterations」と、
−復号すべき系列の長さを格納するレジスタ「Ｎ0_data」と、
−受信した無線フレーム全体を格納するレジスタ「radio_frame」とを含んでいる。
【０２４４】
不揮発性メモリ１１０５は、便宜上、格納するデータと同じ名前を付したレジスタにデータを格納する。すなわち、
−中央処理装置１１００のオペレーティングプログラムをレジスタ「program」に格納し、
−系列ｇをレジスタ「ｇ」に格納し、
−系列ｆ1をレジスタ「ｆ1」に格納し、
−系列ｆ2をレジスタ「ｆ2」に格納し、
−インタリーバのサイズｎをレジスタ「ｎ」に格納し、
−ｎの値の関数としてインタリーバを定義するテーブルをレジスタ「interleavers」に格納し、
−ｇの周期の値ｍをレジスタ「ｍ」に格納し、
−最大反復回数をレジスタ「max_Ｎ0_iteration」に格納する。
【０２４５】
中央処理装置１１００は図２２に示す流れ図を実現する。
【０２４６】
図２１では、中央装置を含むシステムの技術分野の当業者には知られている型の初期設定動作１２０１に続いて、動作１２０２の間、中央装置９００は、符号化すべき符号の系列が情報源９１０から送信されて来るまで待機する。ここで、この系列の終わりは、別の符号が送信される前のかなり長い時間の遅延、又は系列が終了したことを報知する特定の値を有する情報によってマークされることは理解できるであろう。
【０２４７】
次に、動作１２０３の間、中央装置９００は、系列の中の送信すべき記号の数をｎ'を判定し、周知の手続きに従って、送信すべきでない記号を取り出す。
【０２４８】
次に、動作１２０４の間、中央装置はパディング動作を実行し、この間、送信すべき記号の系列の終わりに、系列の多項式表現が多項式ｇ(x)で割り切れるように、除数多項式ｇ(x)の次数に等しい数の２進記号が追加される。
【０２４９】
次に、以下の動作を並行して実行する。
【０２５０】
−いわゆるスタッフィング動作１２０５を実行する。この間、値０の２進記号をパディング動作から得られた系列の終わりに追加する。その結果、最終系列の２進記号の数ｎは、先に述べたように多項式ｘm＋１が多項式ｇ(x)で割り切れるような最小の数である数ｍの許容しうる倍数になる。
【０２５１】
−インタリーバ選択動作１２０６をその長さｎの関数として実行する。
【０２５２】
次に、ターボ符号化動作１２０７の間に、スタッフィング動作１２０５から得られた系列を、動作１２０６の間に選択されたインタリーバと、除数多項式ｇ(x)と、乗数多項式ｆ1(x)及びｆ2(x)とを使用してターボ符号化する。
【０２５３】
次に、スタッフィングビット除去動作１２０８の間に、
−系統系列及び第１のパリティ系列の終わりでスタッフィングビットを除去して、系列ａ及びｂをそれぞれ形成する。
【０２５４】
最後に、動作１２０９の間に、系列ａ，ｂ及びｃを無線フレームに挿入し、それらは電磁信号を変調し、無線チャネルを介して送信される。
【０２５５】
次に、動作１２０２を再び繰り返す。
【０２５６】
図２２では、中央装置を含むシステムの技術分野の当業者には知られている型の初期設定動作１３０１に続いて、動作１３０２の間、中央装置１１００は、符号化／送信装置により無線フレームが送信されて来るまで待機する。ここで、この無線フレームの終わりは特定の値を有する情報によってマークされていることに注意する。
【０２５７】
次に、動作１３０３の間、中央装置１１００は、無線フレームの中の復号すべき記号の数ｎと、スタッフィングビットの数とを判定する。
次に、以下の動作を並行して実行する。
【０２５８】
−動作１３０４の間、中央装置１１００は復号すべき初めの２つの系列に対して、得られる系列の長さがｎに等しくなるように、スタッフィングビット及びゼロハードビットに相当するできるだけ高い信頼性値を有する対応するパリティビットを追加することにより、スタッフィング動作を実行する。
【０２５９】
−動作１３０５の間、中央装置１１００は、不揮発性メモリ１１０５において、nの値を考慮に入れて、インタリーバ及びその逆インタリーバの選択を実行する。
【０２６０】
次に、動作１３０６の間、スタッフィング動作１３０４から得られた初めの２つと、動作１３０３から得られた第３の系列の合わせて３つの系列を当業者には良く知られているターボ復号手続きに従って復号する。この場合、ターボ復号手続きは動作１３０５の間に選択されたインタリーバと、除数多項式ｇ(x)と、乗数多項式ｆ1(x)及びｆ2(x)と、認可された最大反復回数以下の反復回数と、符号器の初期状態と最終状態が０であることを考慮に入れた基本復号器の初期設定とを使用する。
【０２６１】
次に、動作１３０７の間に、スタッフィング動作１３０４の間に追加された記号と、符号化のときに実行されたパディング動作（動作１２０４を参照）により追加された、除数多項式ｇ(x)の次数に等しい数である記号とを系列ａ'から除去して、送信時の系列を形成する。最後に、系列を情報宛先１３１０へ送信し、動作１３０２を再び繰り返す。
【０２６２】
変形例の１つによれば、ランダムアクセスメモリ９０４（又は１１０４）は一部又は全体が着脱自在であり、例えば、磁気テープ、ディスケット又は再書き込み可能なコンパクトディスクを有する。
【０２６３】
尚、概して、先に説明したインタリーブ方法においては、データはインタリーブの前後で（行列Ａの）行ごとに読み取られることに注意すべきである。
【０２６４】
また、インタリーブ（又は逆インタリーブ）方法を実際に実施する間、入力データを行列形態にする過程を必ずしも経なくて良いことは明白である。インタリーバの（置換後に出力位置を各入力位置と関連付ける）置換テーブルを使用して、入力データが到着した時点でデータに直接働きかけることは可能である。しかし、方法の原理自体に変化はない。
【０２６５】
言うまでもなく、本発明がここで例として説明した実施例の詳細に限定されることはなく、当業者の能力の範囲内にあるあらゆる変形に拡張される。
【０２６６】
すなわち、本発明は、ターボ符号の定義の基礎となっているアルファベットが素数の累乗であるq個の文字を含む場合にも拡張される。この場合、アルファベットはｑ元ガロア体の構造を受け取ることができる。
【０２６７】
同様に本発明は、ここでは２つのインタリーバを使用するものとして説明されているが、より一般的には、説明に従ってフィードバック多項式を伴ういくつかのインタリーバを有する符号の場合にも適用されることは明白である。
【０２６８】
また本発明は、特に直列ターボ符号又はハイブリッドターボ符号を含むどのような種類のターボ符号にも適用される。
【０２６９】
更に本発明は、先に簡単に開示したような装置を有する電話機、写真装置、プリンタ、スキャナ、カメラ、コンピュータ、ファクシミリ装置、テレビ受像機又はオーディオ／ビデオ再生装置にも適用される。
【０２７０】
同様に本発明は、一部又は全体が着脱自在であり、コンピュータプログラムの命令を格納するコンピュータ又はマイクロプロセッサにより読み取り可能であり、先に簡単に開示した方法を実現することを可能にするような情報格納装置及び情報格納手段にも適用される。
【０２７１】
［付録］
初めに、一般的なλ＞１のケースを枠組みとして先に述べた第２の不都合な状況を回避するためのMATLABプログラムを提示する。
【０２７２】
このプログラムは、図８に示すような行列ａを試験する。プログラムはfiltとして知られている行列と、zeroと呼ばれるベクトルとを使用する。
【０２７３】
0004497706.tif 000005
これは、まず第一に、ａをそれ自体と並置することにより行列ｍを構成し、
0004497706.tif 000006
且つパラメータｙを０に初期設定する。
【０２７４】
y＝0;
次に、９対の指標のステップを構成し、
(i,ii)，(i,ii+2)，(i,ii+3)(j,jj)，(j,jj+2)，(j,jj+3)(k,kk)，(k,kk+2)，(k,kk+3)
且つ上記の９つの位置(i,ii)から(k,kk+3)までの各々における行列ｍの要素を要素とするｄの９タプルを構成する。
【０２７５】
i=0
while ((y==0)+(i＜6))==2,i=i+1;ii=0;
while ((y==0)+(ii＜7))==2,ii=ii+1;aa[m(i,ii)m(i,ii+2)
m(i,ii)+3];
j=i;
while((y==0)+(j＜7))==2,j=j+1,jj=0;
while((y==0)+(j＜7))==2,jj=jj+1,bb=[m(j,jj)m(j,jj+2)
m(j,jj+3)];
k=j;
while((y==0)+(k＜8))==2,k=k+1;kk=0;
while((y==0)+(kk＜7))==2,kk=kk+1;cc=[m(k,kk)
m(k,kk)+2)m(k,kk+3)];
d[aa bb cc];
ｄの９つの要素を増加順に記録し、
for iii=1:8,for jjj=1+iii:9,if d(iii)＞d(jjj),
side=d(iii);d(iii)=d(jjj);d(jjj)=side;
end;end;end
且つ、ｄの等しい連続する要素の対の数が６に等しくないかどうかを検査する。そうであれば、ｙ＝ｙ＋1とする。
【０２７６】
qq=filt*d’;q=[111111]*(qq==zero);
if q==6,y=y+1;end;
end;end;end;end;end;end;
計算の終了時に、ｙがまだ０であれば、試験の結果は肯定であり、プログラムはｍ＝ａとする。
【０２７７】
0004497706.tif 000007
0004497706.tif 000008
0004497706.tif 000009
0004497706.tif 000010
0004497706.tif 000011
0004497706.tif 000012
【図面の簡単な説明】
【図１】ＲＺ特性を有することができるインタリーバを使用するターボ符号器の機能図である。
【図２】簡単化系列ｖのフルスパンの関数として符号化同次系列（ａ，ｂ，ｃ）の重みを示すテーブル例を示す図である。
【図３】行列Ａの４９の部分列ａI1I2への分割を示す図である。
【図４】ｈ0＝０及びｈ1＝１である２８のセプタプルｈのテーブル例を示す図である。
【図５】行列ａの一例図である。
【図６】行列ａの部分列の置換を示す図である。
【図７】行列ａの部分列のより有効な置換を示す図である。
【図８】別の行列ａの部分列の置換の簡単化表現を示す図である。
【図９】本発明による長さ２４０１のインタリーバについて、デシベル単位の信号対雑音比(ｅb／Ｎo)の関数として、４つの異なる復号反復回数における復号後のビット誤り率(BER)曲線を示す図である。
【図１０】本発明のλ＝１の実施形態で使用される行列Ｓを示す図である。
【図１１】ＲＺインタリーブ後の図１０の行列Ｓから得られた行列Ｓ*を示す図である。
【図１２】、
【図１３】本発明のλ＝１の実施形態による長さ９５２のインタリーバについて、デシベル単位の信号対雑音比(ｅb／Ｎo)の関数として、２つの異なる復号反復回数(８回及び１９５回)における復号後のビット誤り率(BER)及びフレーム誤り率(FER)曲線を示す図である。
【図１４】、
【図１５】本発明のλ＝１の実施例による長さ２４１５のインタリーバについて、デシベル単位の信号対雑音比(ｅb／Ｎo)の関数として、２つの異なる復号反復回数(８回及び１９５回)における復号後のビット誤り率(BER)及びフレーム誤り率(FER)曲線を示す図である。
【図１６】、
【図１７】本発明のλ＝１の実施の形態において、第７章で述べた内容に従って改善された長さ２４１５インタリーバについて、デシベル単位の信号対雑音比(ｅb／Ｎo)の関数として、２つの異なる復号反復回数(８回及び１９５回)における復号後のビット誤り率(BER)及びフレーム誤り率(FER)曲線を示す図である。
【図１８】本発明の好ましい実施形態を実現するのに適する符号化装置を概略的に示す図である。
【図１９】ターボ符号器の機能図である。
【図２０】本発明の好ましい実施例を実現するのに適する復号装置を概略的に示す図である。
【図２１】図１８に示す符号化装置の動作流れ図である。
【図２２】図２０に示す復号装置の動作流れ図である。
【図１】
0004497706.tif 000013
【図２】
0004497706.tif 000014
【図３】
0004497706.tif 000015
【図４】
0004497706.tif 000016
【図５】
0004497706.tif 000017
【図６】
0004497706.tif 000018
【図７】
0004497706.tif 000019
【図８】
0004497706.tif 000020
【図９】
0004497706.tif 000021
【図１０】
0004497706.tif 000022
【図１１】
0004497706.tif 000023
【図１２】
0004497706.tif 000024
【図１３】
0004497706.tif 000025
【図１４】
0004497706.tif 000026
【図１５】
0004497706.tif 000027
【図１６】
0004497706.tif 000028
【図１７】
0004497706.tif 000029
【図１８】
0004497706.tif 000030
【図１９】
0004497706.tif 000031
【図２０】
0004497706.tif 000032
【図２１】
0004497706.tif 000033
【図２２】
0004497706.tif 000034