JP4497706B2 - データのターボコーディングのためのインターリーブ方法 - Google Patents

データのターボコーディングのためのインターリーブ方法 Download PDF

Info

Publication number
JP4497706B2
JP4497706B2 JP2000337950A JP2000337950A JP4497706B2 JP 4497706 B2 JP4497706 B2 JP 4497706B2 JP 2000337950 A JP2000337950 A JP 2000337950A JP 2000337950 A JP2000337950 A JP 2000337950A JP 4497706 B2 JP4497706 B2 JP 4497706B2
Authority
JP
Japan
Prior art keywords
matrix
polynomial
sequence
columns
column
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000337950A
Other languages
English (en)
Other versions
JP2001244822A (ja
Inventor
ピレー フィリップ
ル ダンテック クロード
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.)
Canon Inc
Original Assignee
Canon 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
Priority claimed from FR9913835A external-priority patent/FR2800950A1/fr
Priority claimed from FR0001659A external-priority patent/FR2805103A1/fr
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2001244822A publication Critical patent/JP2001244822A/ja
Application granted granted Critical
Publication of JP4497706B2 publication Critical patent/JP4497706B2/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/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
    • H03M13/2993Implementing the return to a predetermined state, i.e. trellis termination
    • 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
    • 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

Description

【0001】
【発明の属する技術分野】
本発明は、一般的には、情報転送方法の分野に属する。更に特定すれば、本発明は、送信方法又は受信方法の一部を形成するデータのインタリーブ方法及び装置に関する。
【0002】
【従来の技術】
本発明は、一般的には、例えば、無線システムによる送信又は受信を実行するためにデータを符号化する分野に属する。従来より、この分野においては、例えば、本出願人による先願の中に記載されている、「ターボ符号器」として知られる特定の種類の符号器が知られている。そのようなターボ符号器及びそれと関連する復号器は、1つ又は複数のデータインタリーブ装置を使用する。
【0003】
本発明の目的は、そのような所謂「ターボ符号化」方法及び関連するターボ復号方法の一部を形成すべきインタリーブ方法及び逆インタリーブ方法である。
【0004】
本発明は、物理的量を表現するデータの符号化、物理的量を変調することが可能であるデータの符号化、データの形態をとる変調信号の復号及び物理的量を表現するデータの復号、又はデータ送信の管理にも適用される。それらのデータは、例えば、画像、音声、コンピュータデータ、電気的量又は格納データを表すことができる。
【0005】
ソフト入力及びソフト出力を有する基本復号器を使用する反復復号を実現するために畳込み符号器を使用する場合、符号器が「インタリーバ」とも呼ばれる置換装置を含んでいると、符号は大幅に改善される。置換装置は初期系列に戻すことを可能にし、その場合には「逆インタリーバ」と呼ばれる。この場合、符号器をターボ符号器と呼び、それに対応する反復復号器を「ターボ復号器」と呼ぶのが普通である。ここで、便宜上、
−ターボ符号器により実行される動作を「ターボ符号化」と呼び、この動作はいわゆる「ターボ符号化」系列を供給し、
−ターボ復号器により実行される動作を「ターボ復号」と呼び、この動作は「ターボ復号」系列を供給する。
【0006】
これらの点に関して、参考文献として有用である文書は、1つは、C. Berrou、A. Glavieux及びP. Thitimajshimaによる論文「Near Shannon Limit Error−Correcting Coding and Decoding:Turbocodes」(ICC’93講義論文集、1993年刊、1064ページから1070ページ)であり、もう1つはC. Berrou及びA. Glavieuxによる論文「Near Optimum Error−Correcting Coding and Decoding:Turbocodes」(IEEE Transactions on Communications、第44巻、1261ページから1271ページ、1996年10月刊)である。
【0007】
本発明の目的は、ターボ符号器のより効率の良いインタリーバ、すなわち、より大きな最小距離を得ることを可能にするインタリーバを提案することである。このことは、チャネルの信号対雑音比が相対的に高い場合に特に重要である。それは、そのようなインタリーバによって、復号誤り率を低下させ、その結果、誤って受信されたデータを再度送信する手間を省くことができるからである。
ここで、ターボ符号は、チャネルの信号対雑音比の値に応じて異なる特性を示すということを簡単に述べておくべきである。信号対雑音比が高いと、ターボ符号の0でない語の最小重みと、最小重みの語の数がターボ符号器の性能を決定する上で大きな意味をもつ。これに対し、信号対雑音比が低い場合には、ターボ符号器の性能に影響を及ぼすのは、符号の最小重み以上の値に近い重みを有する符号語の数であるように見える。
【0008】
本発明は、第1の態様によれば、0からr・m−1までの出力ランクを0からr・m−1までの各入力ランクに対応させる置換方法であって、
行ごとに0からr・m−1までの連続する数により埋められたr行、m列の行列Sを考えるE1過程と、
前記行列Sの各列を、r/λが素数とならないような所定の数λの部分列に分割するE2過程と、
λ 1 λ 2が現れるSの列をλ2とし、指標λ2の列の部分列Sλ 1 λ 2の位置をλ1とするとき、λ・mに等しい数のSの部分列は0≦λ1≦λ−1及び0≦λ2≦m-1の条件下で、Sλ 1 λ 2として指示されるE3過程と、
次に、各部分列Sλ 1 λ 2をR行、M列(r/λ=RM)の行列の形態に書き表し、この形態で、R行、M列の前記行列の各列の巡回置換により定義されるいわゆる「ホィール」型の、恒等式ではないインタリーバによりインタリーブするE4過程と、
R行、M列の前記行列を列における前記巡回置換の後に、行列S*において行列SでSλ 1 λ 2が占める位置と同じ位置を占める部分列S*λ 1 λ 2に再変換するE5過程と、
それぞれが行列Sの1つの要素と、行列S*で同じ位置を占める要素とにより形成される複数の対から構成される置換テーブルを生成するE6過程とを含むことを特徴とする置換方法に関する。
【0009】
この方法は、行列S*の少なくとも1つの列λ2(0≦λ2≦m-1)で、その列における部分列S*λ 1 λ 2の出現の順序を変更する過程を含むのが好ましい。
【0010】
好ましい実施形態によれば、行列S*の所定の列λ2の部分列の各々S*λ 1 λ 2を生成するために同じホィールインタリーバを使用する。
【0011】
特定の実施形態によれば、行列S*の少なくとも2つの列を有する部分列は異なるホィールインタリーバにより生成される。
【0012】
更に特定の実施形態によれば、行列S*の各列の部分列をインタリーブするために使用されるm個のホィールインタリーバは異なる。
【0013】
方法は、S*の列を相互に置換する過程を更に含むのが好ましい。
【0014】
以上説明した方法の特定の実施形態においては、初期行列Sは2401の要素を有し、343行ごとの7つの列に分割される。各列それ自体は更に49要素ずつの7つの部分列に分割される。
【0015】
好ましい実施形態では、λ=1と設定される。言い換えれば、この好ましい実施形態では、先に説明した過程を実現するとき、部分列ではなく、列全体を処理することになる。
【0016】
特定すれば、本発明のこの第1の態様において、本発明は、0からr・m−1までの出力ランクを0からr・m−1までの各入力ランクに対応させる置換方法であって、
行ごとに0からr・m−1までの連続する数により埋められたr行、m列の行列Sを考えるE1過程と、
0≦I≦m-1の条件下で、行列Sのm個の列をSIと指示するE2過程と、
次に、各列SIをRM=rを満たすR行、M列の行列の形態に書き表し、この形態で、R行、M列の前記行列の各列の巡回置換により定義されるいわゆる「ホィール」型の、恒等式ではないインタリーバによりインタリーブするE3過程と、
列の前記巡回置換の後に、R行、M列の前記行列を行列S*において行列SでSIが占める位置と同じ位置を占める列S*Iに再変換するE4過程と、
行列S*の各列S*Iを巡回置換により置換するE5過程と、
それぞれが行列Sの1つの要素と、行列S*で同じ位置を占める要素とにより形成される複数の対から構成される置換テーブルを生成するE6過程とを含む置換方法に関する。
【0017】
このように、出力ランクを各入力ランクに対応させる置換テーブルが実際に作成されていることが理解されるであろう。この置換テーブルは、例えば、畳込みデータターボ符号化を使用するデータ転送装置として利用可能であるという利点を有する。
【0018】
本発明のこの好ましい実施形態を有効に実現するために好都合である、おそらくは組み合わせて使用される様々な手段によれば、
−行列S*の少なくとも2つの列は異なるホィールインタリーバを使用して得られ、
−行列S*のm個の列を生成するために使用されるm個のホィールインタリーバは全て異なり、
−方法は、S*の列を相互に置換する過程を更に含み、
−E5過程中、行列S*の少なくとも1つの列S*Iは恒等式とは異なる巡回置換によって置換される。
【0019】
この好ましい実施形態においては、初期行列Sは2415の要素を含み、345行ごとの7つの列に分割される。7つの列の各々は、それ自体、23行、15列の行列の形態に書き直される。
【0020】
本発明の上述の好ましい実施の形態(この場合にも、λ=1を特徴とする)は、一般的な場合と比べて単純である。従って、(以下に更に詳細に説明するように)、符号化データを送信するときに非常に低い誤り率を示すターボ符号を得るために、本発明による符号化方法の様々なパラメータを調整するのが容易になる。
【0021】
そこで、一般的なケース(λが1又はそれ以上)に戻ると、本発明は、第2の態様においては、2進係数を含む第1の除数多項式g(x)=1+Σi=1 t-1ii+xtにより割り切れる、2進係数を含む多項式a(x)=Σj,kj,kjm+kにより表現される物理的量を表す2進データの系列における記号を置換して、第2の除数多項式g*(x)=1+Σi=1 t-1g*ii+xtにより割り切れる多項式a*(x)=Σj,kj,kS* jm+kにより表現される2進記号の新たな系列を供給する方法であって、S*j,kは先に簡潔に開示した方法に従って得られた行列S*における位置(j,k)の要素であり、mは第1の除数多項式g(x)がxm'+1を割り切るような最小の整数m'の倍数であることを特徴とする方法に関する。
【0022】
この第2の態様おいて、本発明は、更に、2進係数を含む第1の除数多項式g(x)=1+Σi=1 t-1ii+xtにより割り切れる、2進係数を含む多項式a(x)=Σj,kj,kjm+kにより表現される物理的量を表す2進データの系列における記号を置換して、第2の除数多項式g*(x)=1+Σi=1 t-1g*ii+xtにより割り切れる多項式a*(x)=Σj,kS* j,kjm+kにより表現される2進記号の新たな系列を供給する方法であって、S*j,kは先に簡潔に開示した方法に従って得られた行列S*における位置(j,k)の要素であり、mは第1の除数多項式g(x)がxm'+1を割り切るような最小の整数m'の倍数であることを特徴とする方法にも関する。
【0023】
実現形態の簡素化を図った特定の実施形態によれば、第2の除数多項式g*(x)は第1の除数多項式g(x)と等しい。
【0024】
第3の態様では、本発明は、系列a*を判定する動作を含み、その動作中、先に簡潔に開示した少なくとも1つの置換方法が実現される。
【0025】
第1の除数多項式g(x)=1+Σi=1 t-1ii+xtと、g(x)と両立性を有する第2の除数多項式g*(x)と、第1の乗数多項式f1(x)と、第2の乗数多項式f2(x)と、整数r≧1とを考慮に入れて、情報を表現する2進データの系列uに対し作用する符号化方法の特定の実現形態においては、前記方法は、
−増加順の最初のr・m−t個の係数は符号化すべき2進データであり、最後のt個の係数は多項式g(x)が多項式a(x)を割り切るように選択されている、「第1の多項式」と呼ばれる多項式a(x)により表現される「系列a」と呼ばれる「第1の」系列を形成する動作と、
−全体が第1の除数多項式g(x)により割り切れ且つ第1の多項式a(x)と第1の乗数多項式f1(x)との積と等しい多項式b(x)により表現される「系列b」として知られる第2の系列を形成する動作と、
−増加順の係数が置換系列a*の2進データであり且つ第2の除数多項式g*(x)により割り切れるような、いわゆる「置換」多項式a*(x)により表現されるいわゆる「置換」系列a*を形成するために、第1の系列の2進データに作用する置換動作と、
−全体が第2の除数多項式g*(x)により割り切れ且つ置換多項式a*(x)と第2の乗数多項式f2(x)との積と等しい多項式c(x)により表現される「系列c」として知られる第3の系列を形成する動作とを含む。
【0026】
この第3の態様において、本発明は、先に開示した少なくとも1つの置換方法を実現する復号方法にも関する。
【0027】
同様に、本発明は、先に開示した少なくとも1つの置換方法を実現するターボ符号化方法にも関する。
【0028】
先に開示した各方法の有利な構成によれば、ターボ符号を定義する基礎となるアルファベットが素数の累乗であるq個の文字を含み、アルファベットはq個の要素を有するガロア域の構造を受け取る。
【0029】
第4の態様においては、本発明は、第1の除数多項式g(x)がxm'+1を割り切るような最小の整数m'の倍数をmとするとき、整数rと整数mとの積に等しい多数の2進データを有する系列をaとし、第1の除数多項式g(x)により割り切れ、増加順の係数が系列aの2進データであるような多項式a(x)=Σj,kj,kjm+kにより表わされ物理的量を表す2進データの系列aから、第1の除数多項式g(x)と両立性を有する第2の除数多項式g*(x)により割り切れるべきであり且つ増加順の係数が系列a*の2進データであるような多項式a*(x)と関連する置換系列a*を供給して、2進データの系列cを形成するためのインタリーバ(置換装置)であって、S*j,kを有する行列S*が先に開示した置換テーブル作成方法に従って生成されているとき、置換系列a*はΣj,kj,kS* j,kにより与えられることを特徴とするインタリーバに関する。
【0030】
また、この第4の態様においては、本発明は、第1の除数多項式g(x)がxm'+1を割り切るような最小の整数m'の倍数をmとするとき、整数rと整数mとの積に等しい数の2進データを有する系列をaとし、第1の除数多項式g(x)により割り切れ、増加順の係数が系列aの2進データであるような多項式a(x)=Σj,kj,kjm+kにより表わされ物理的量を表す2進データの系列aから、第1の除数多項式g(x)と両立性を有する第2の除数多項式g*(x)により割り切れるべきであり、増加順の係数が系列a*の2進データであるような多項式a*(x)と関連する置換系列a*を供給して、2進データの系列cを形成するためのインタリーバであって、S*j,kを有する行列S*が先に開示した置換テーブル作成方法に従って生成されているとき、置換系列a*はΣj,kS* j,kjm+kにより与えられることを特徴とするインタリーバにも関する。
【0031】
ここで、得られるインタリーバはこの説明の以下の部分においては「ゼロ復帰」と呼ばれている特性を満たすことに注意すべきである。即ち、ターボ符号器の基本畳込み符号器が情報系列の符号化の開始時にナル状態にあるとき、それらの符号器は各情報系列の符号化の終了時にも同時にナル状態となるのである。
【0032】
更に詳細に言えば、ターボ符号化中、入力系列u(x)の終わりに、フィードバック多項式g(x)=1+Σi=1 t-1ii+xt(除数多項式とも言う)の次数に等しい数の適切に選択されたビットを単純に追加することにより、多項式表現a(x)がフィードバック多項式g(x)で割り切れるような系列が構成される。インタリーブ後の系列a(x)の多項式表現をa*(x)とする。
【0033】
インタリーバは、a(x)がg(x)で割り切れるごとに、対応する多項式a*(x)もg(x)により割り切れる場合に、ゼロ復帰(RZ)の特性を満たすといわれる。より一般的には、g(x)及びg*(x)と表される2つのフィードバック多項式(第1の除数多項式及び第2の除数多項式とも呼ばれる)が必ずしも等しくないケースを考える。そこで、インタリーバは、a(x)がg(x)で割り切れるごとに、対応する多項式a*(x)がg*(x)で割り切れる場合に、特性RZを満たすという。この定義は、g(x)とg*(x)が次のような特性を有する場合に限り意味をもつ。すなわち、g(x)=Πi(x−xi)が2元域の拡張域におけるg(x)の完全分解であるならば、その拡張域の(指数で表された)自己同形写像をψとするとき、g*(x)の完全分解はΠi(x−xi ψ)となる場合である。以下、このような多項式g(x)をg*(x)と両立性を持つという。すなわち、1つの多項式はそれ自体との間に常に両立性を有する。尚、2つの両立する多項式は同じ次数を有することに注意すべきである。更に、第1の除数多項式g(x)がxm+1を割り切る最小の整数をmとし、且つ第2の除数多項式g(x)がxm*+1を割り切る最小の整数をm*とするとき、m=m*である場合に限り、g(x)はg*(x)と両立しうる。
【0034】
例えば、単位の第7の素数根をαとし、これが8つの要素を含む域に属しているとき、g(x)=x3+x+1の分解g(x)=(x−α)(x−α2)(x−α4)を考える。この8要素体の6つの自己同形写像φi:α→αiを考える。
【0035】
ψ1、ψ2及びψ4はg(x)=g*(x)を生成するが、ψ3、ψ6及びψ5はg*(x)=x3+x2+1を生成し、これは、g*(x)=(x−α3)(x−α6)(x−α5)として分解される。
【0036】
更に、本発明は、先に簡単に開示したようなインタリーバを有する符号化装置、すなわち、第1の除数多項式g(x)=1+Σi=1 t-1ii+xtと、g(x)と両立性を有する第2の除数多項式g*(x)と、第1の乗数多項式f1(x)と、第2の乗数多項式f2(x)と、整数r≧1と、第1の除数多項式g(x)がxm'+1を割り切るような最小の整数m'の倍数mとを考慮に入れて、情報を表現する2進データの系列uに対し作用する符号化装置であって、
−増加順の最初のr・m−t個の係数は符号化すべき2進データであり、最後のt個の係数は多項式g(x)が多項式a(x)を割り切るように選択されている、「第1の多項式」と呼ばれる多項式a(x)により表現される「系列a」と呼ばれる「第1の」系列を形成する手段と、
−全体が第1の除数多項式g(x)により割り切れ且つ第1の多項式a(x)と第1の乗数多項式f1(x)との積と等しい多項式b(x)により表現される「系列b」として知られる第2の系列を形成する手段と、
−増加順の係数が置換系列a*の2進データであり且つ第2の除数多項式g*(x)により割り切れるような、いわゆる「置換」多項式a*(x)により表現されるいわゆる「置換」系列a*を形成するために、第1の系列の2進データに作用する置換手段と、
−全体が第2の除数多項式g*(x)により割り切れ且つ置換多項式a*(x)と第2の乗数多項式f2(x)との積と等しい多項式c(x)により表現される「系列c」として知られる第3の系列を形成する手段とを含むことを特徴とする符号化装置にも関する。
【0037】
同様に本発明は、先に開示した少なくとも1つのインタリーバ及び/又はそのインタリーバに対応するデインタリーバを使用する復号装置に関する。
【0038】
また本発明は、先に開示した少なくとも1つのインタリーバ及び/又はそのインタリーバに対応するデインタリーバを使用するターボ復号装置にも関する。
【0039】
更に本発明は、先に簡潔に提示した方法と同様のインタリーブ方法及び逆インタリーブ方法を採用する装置にも関する。
【0040】
また、本発明は、先に開示したような装置を備え、パケット送信プロトコルを実現するための送信器を有するデータ送信装置を有するデータ送信装置にも関する。
【0041】
特定の実施の形態においては、このデータ送信装置は、プロトコルがATM(非同期転送モード)プロトコルであるようなものである。
【0042】
別の実施形態では、プロトコルはインターネットプロトコル(IP)である。
【0043】
更に一般的には、本発明は、先に簡単に開示したような装置を有することを特徴とする電話機、写真装置、プリンタ、スキャナ、カメラ、コンピュータ、ファクシミリ装置、テレビ受像機及びオーディオ/ビデオ再生装置に関する。
【0044】
また、本発明は、一部又は全体が着脱自在であり、先に簡潔に開示した方法を実現させるコンピュータプログラムの命令を格納するコンピュータ又はマイクロプロセッサにより読み取り可能である情報記憶手段にも関する。
【0045】
以下の説明及び添付の図面を参照することにより、本発明の目的及び利点を更に明確に理解することが可能になる。以下の説明が単なる例であり、本発明を限定する性質のものではないことは明白である。
【0046】
【発明の実施の形態】
本発明の特定の一実施例を説明する前に、例を挙げながら、本発明の機能を数学的に提示する。
1.一般定義
比が1/3であるターボ符号器は、g(x)及びg*(x)(フィードバック多項式という)、f1(x)及びf2(x)という4つの多項式、フレーム長n及びインタリーバを特徴としている。図1は、比1/3のターボ符号器を示す。
【0047】
入力情報項目u(x)は次の3つの系列で符号化される。
【0048】
−第1の系列a(x)。フィードバック多項式g(x)により補足される系列が割り切れることを保証するために、パディングビットにより補足(いわゆるパディング操作)された初期系列u(x)である。
【0049】
−第2の系列b(x)=a(x)・f1(x)/g(x)。これら第1及び第2の系列は第1の基本符号器102の出力で得られる系列である。
【0050】
−第3の系列c(x)=a*(x)・f2(x)/g*(x)。式中、a*(x)はa(x)のインタリーブバージョンを多項式で表したものであり、この場合、g*(x)は、前述のような分解条件を満たしていなければならない。
【0051】
第1の基本符号器102により符号化される第2の系列b(x)は、f1で乗算し且つターボ符号で使用される第1のフィードバック多項式gで除算するシフトレジスタにおいて求められる。十分に単純な符号化及び復号化を維持するため、f1及びgは通常、多くとも4次の次数で選択される。
【0052】
第2の基本符号器103の出力で得られる第3の系列c(x)の計算は、まず第一に、インタリーブ系列a*を生成するために系列aの係数を混合するインタリーバ101と、f2で乗算し且つ第2のフィードバック多項式g*により除算するシフトレジスタとを使用する。第2の基本符号器103の出力では、系列c=a*・f2/g*が得られる。f1及びgの場合と同様、通常、f2及びg*についても、十分に単純な符号化及び復号化を保持するために、次数は多くとも4であることが望ましい。c(x)の長さが有限になるように、先に定義した通り、0に復帰するように保証されたインタリーバを使用する。
【0053】
前述のように、g(x)で割り切れるどのような多項式a(x)に対しても、対応するインタリーブ多項式a*(x)は同様にg*(x)により割り切れるように保証するインタリーバは、RZ(ゼロ復帰)インタリーバとして知られている。
【0054】
本発明は、良好な最小距離を有するターボ符号を生成するRZインタリーバを提案する。それらのインタリーバを指定する方法を以下に説明する。まず、g(x)=g*(x)であると仮定する。
【0055】
ここでは、まず、インタリーブ後に系列a(x)を多項式g(x)で割り切れるように維持する種類のインタリーバについて説明する。次に、本発明によるインタリーバを構成することに伴う条件を提示する。最後に、それらの要素を組み合わせて有効なインタリーバを作成する。
【0056】
1つのフレームの中にある全ての情報ビットについて、復号後に等しい又はほぼ等しい確率で誤りが生じると考えるためには、RZインタリーバを構成することがとりわけ選択されるであろう。
【0057】
次のように条件を表すことができれば、インタリーバは、g(x)により割り切れるどのような多項式a(x)も、対応するインタリーブ多項式a*(x)が同様にg(x)で割り切れることを保証すると論証できる。
【0058】
1.作用を及ぼす2進文字の数nは、多項式g(x)で多項式(1+xm(g))を除算できるような最小の整数であるm(g)(単にmと示される場合も多い)の倍数である。これを実行するため、系列a(x)を0で補足して、許容しうる長さnを実現する。m-1≧s≧1を満たす数をsとするとき、系列a(x)の自然長が(r-1)m+sと等しければ、例えば、系列a(x)の最後の(m−s)個の位置で(m−s)個の0により系列を補足することが可能である。
【0059】
2.そこで、n=r・mと仮定すると、各系列a(x)=Σi=0 n-1iiと関連して、サイズがr・mである行列A(r行、m列)が存在する。尚、0≦j≦r-1及び0≦k≦m-1とするとき、位置(j,k)にある要素はajm kである。0≦j≦r-1及び0≦k≦m-1とするとき,位置(j,k)にある要素がjm+kであるような大きさr・mの行列S(r=8、m=7の場合については図10を参照)も、フィードバック多項式g(x)により割り切れる全ての系列a(x)と関連している。
【0060】
3.Sから、下記の2つの型の置換の何らかの組み合わせをSに適用することにより、行列S*を構成する。
【0061】
−行列Sのm個の列のいずれか1つに作用する置換、
−列相互の置換。この置換は長さm、生成多項式gの線形巡回符号の自己同形写像である。
【0062】
そのような行列S*を図11に示す。
【0063】
4.そのようにして得られた行列S*の位置(j,k)にある要素をS*j kとする。jm+kは行列Sの位置(j,k)にある要素であることはわかっている。(S,S*)により指定されるインタリーバは系列:
a(x)=Σ0 j r-1Σ0 k m-1j,kjm+kから、系列:
a*(x)=Σ0 j r-1Σ0 k m-1jm+kS* j,kへの変化により定義付けられる。
【0064】
ここで、系列a*(x)ごとに、サイズがr・mである行列A*(r行、m列)が存在し、0≦j≦r-1及び0≦k≦m-1とするとき、位置(j,k)にある要素はa*(x)におけるxjm kの係数a*j kである。
【0065】
説明を簡単にするため、ここでは、SからS*を生成するときに列相互の置換を使用しない場合に限って考える。このため、S及びS*の同じ列に現れる全ての数は同一である。しかし、一般的なケースも同様にして取り扱うことができる。
【0066】
インタリーバがRZ型であるための上記の条件は、行列S*の特性に照らして次のように表されることになる。
【0067】
−S*のどの列の要素のモジュロmによる剰余も一定である。
【0068】
−これらの剰余のmタプルを(r0,…,rm 1)とする。このmタプルはmタプル(0,1,…,m-1)から、長さm、生成多項式g(x)の2進巡回符号の自己同形写像群にある置換の作用によって求められなければならない。
【0069】
−S*の列の要素の次数に対する制限はない。
【0070】
更に一般的には、先に述べた通り、g*(x)がg(x)と両立性を持つ場合、インタリーバはg(x)の倍数であるどのようなa(x)も、g*(x)の倍数であるa*(x)に変換することができる。そのようなインタリーバの行列S*による表現は先に示した表現に類似しているが、S*により満たされるべき条件はわずかに異なる。すなわち、今回は、mタプル(r0,…,rm 1)をmタプル(0,…,m−1)から、長さm、生成多項式g(x)の2進巡回符号を長さm、生成多項式g*(x)の2進巡回符号に変換する置換の作用によって求めなければならないのである。
【0071】
これ以降の説明は、g(x)=g*(x)であるという仮定に基づいてなされるが、2つの多項式が先に説明したようにフィールド自己同形写像の作用により相互に求められるようなケースにも適用できることは言うまでもない。従って、g(x)=g*(x)である場合、g(x)により生成される長さmの巡回符号の自己同形写像である置換であるとすれば、S*の列が現れる順序の置換を適用することも可能である。
【0072】
多項式のスパン並びにフルスパンの概念をここで導入する。
【0073】
0でない係数を偶数個有する多項式a(x),すなわち、a(x)=Σi Ii I={i1,i2,…,i2s},ir<ir 1を与えると、スパンsp(a)はrが偶数である整数irの和からrが奇数である整数irの和を減算した値として定義される。すなわち、sp(a)=(i2−i1)+(i4−i3)+ … +(i2s−i2s-1)。
【0074】
前述の第2の方法により、この多項式a(x)を多項式a*(x)に変換して、スパンsp(a*)を同様に計算する。
【0075】
そこで、フルスパンfsp(a)は、aのスパンとa*のスパンとの和として定義される。
【0076】
次に、行列S*により定義されるゼロ復帰型のインタリーバを仮定し、且つ0でない要素が行列Aの同じ列kにすべてあるような系列a(x)=Σi Iiを考える(全てのiは、行列Aの列の数mで除算したときに同じ余りkを有する)。
【0077】
この場合、このような系列a(x)を同次であるといい、ゼロでない要素が奇数個ある場合に限り、g(x)で割り切れる。
【0078】
そこで、集合{0,…,m-1}には、a(x)がxkで割り切れるようなkが存在し、且つa(x)/xkは、v(xm)=a(x)/xkとなるxmの多項式であることが容易に理解されるであろう。多項式v(x)をa(x)の簡単化バージョンという。同様に、集合{0,...,m-1}には、a*(x)がxk で割り切れるようなk*が存在し、且つa*(x)/xk*は、v*(xm)=a*(x)/xk*となるxmの多項式である。多項式v*(x)をa*(x)の簡単化バージョンという。
【0079】
系列a(x)が同次ではない場合には、これを同次系列の和として書き表すことができる。これは、和の各項が同次系列であるとき、どのような系列a(x)も、a(x)=Σi=0 m-1ii(xm)と表せるからである。項xii(xm)は、系列a(x)のi番目の同次要素であるといえる。
【0080】
そこで、a(x)が同次系列であるならば、対応する簡単化系列のフルスパンfsp(v)がわかると、g(x)の次数をtとするとき、mが2t−1に等しい場合、系列aから求められる符号化系列(a,b,c)の重みを求めることが可能になると立証できる。
【0081】
例えば、重み2の同次系列a(x)に対して、g(x)=1+x2+x3(m=7であることを示している)、f1(x)=1+x+x2+x3、f2(x)=1+x+x3であるとき、符号化系列(a(x),b(x),c(x))の重みは依然として4.fsp(v)+6である。
【0082】
更に一般的には、a(x)が0でない要素をwに等しい偶数個含む同次系列であり、且つv(x)が先に定義したようなf1(x)、f2(x)及びg(x)を伴う関連する簡単化多項式である場合、対応する符号化系列の重みは4.fsp(v).+3.wに等しい。
【0083】
更に、フルスパンfsp(v)について下限が存在することは明白である。これは、多項式v(x)のハミング重みに等しい(a(x)の重みに等しい)。
【0084】
そこで、これらの注釈から、同次系列aの様々なハミング重み(WH(a)という)に対して、フルスパンfsp(v)の関数として符号化系列(abc)のハミング重みWH(a,b,c)を与えるための表を作成することが可能である(図2を参照)。
【0085】
その一例を挙げると、図2からわかるように、WH(a)が2に等しく且つ少なくとも34に等しい最小距離が必要である場合、対応する簡単化系列vは、少なくとも7に等しいフルスパンfsp(v)を有していることが不可欠である。これに対し、系列aのハミング重みWH(a)が6である場合には、少なくとも34に等しい最小距離を有していなければならないという条件はフルスパンに対して追加条件を全くもたらさず、従って、この距離条件は常に満たされている。
【0086】
2.解の原理 ( λ>1 )
次に、λが1より大きい一般的な場合に焦点を絞って説明を進める。それ自体興味深いλ=1のケースについては、更に後で説明する。
【0087】
現時点における我々の目標は、関連するターボ符号が非常に低いビット誤り率を示すように、インタリーバに高い効率を与えるという妥当な条件に基づいて、インタリーバを定義するパラメータをいかに選択するかということである。
【0088】
m+1の除数多項式g(x)の倍数として選択される系列a(x)と関連する(r,m)型の行列aから始めて、行列Aの各列をAλ 1 λ 2と表されるλ個の部分列に分割し(図3を参照)、それらを「列部分系列」と呼ぶ。
【0089】
このようにして決定された部分列ごとに、先に定義した通りにホィールインタリーバを使用するためには、値r/λは素数でないことが必要である(素数であると、この系列を少なくとも2つの行と、2つの列とを有する行列の形態で表現することが不可能になる)。従って、M≧2であるとき、r/λ=R・Mと書き表すことができる。更に、これに続いて、本発明によるインタリーバを構成する方法においては、R≧Mである必要があることがわかるであろう。
【0090】
本来、部分列Aλ 1 λ 2の係数aiは、i0=λ1(mr/λ)+λ2とするとき、指標として、i0,i0+m,i0+2m,…,i0+m(r−I)/λを有する。
表記の妥当性を保持するために、このような列部分系列はy(x)=Σi=0 RM-1iiにより表現されるか、又はyi=ai0 miと置いて、r/λ=RMのとき、y(x)=Σi=0 r/ λ -1i0+miiと表現される。
【0091】
そこで、そのような全ての系列y(x)の集合と関連して、「微視的」インタリーバに対して、「巨視的」インタリーバに対し行列Sが果たすのと同じ役割を果たすR行、M列の行列Uが存在する。系列y(x)の集合に対し微視的インタリーバが与える作用は、R行,M列の別の行列U*により表現される。この行列U*は、微視的インタリーバに対し、行列S*が巨視的インタリーバに対して果たすのと同じ役割を果たす。
【0092】
割り切れるという条件は巨視的インタリーバのレベルで実証されるべきであるので、これらの微視的インタリーバは「ゼロ復帰」を全く保証する必要がないことに注意すべきである。しかし、U→U*への置換をUの各列において巡回置換を実行することにより得られる置換に制限することが選択されている。そのような巨視的インタリーバをこの説明の以下の部分においてはホィールインタリーバ(並列して番号づけられたホィールからの類推による)と呼ぶ。
【0093】
巡回置換の性質上、そのような行列U*(従って、U及びU*と関連するホィールインタリーバを含む)は、各列で実行される置換の振幅を知ることにより、完全に定義付けられる。従って、ホィールインタリーバを、U*を得るためにUの各列で実行される下降方向への巡回置換の振幅値から成るMタプルh=(h0,…,hM-1)により定義付けることができる。
【0094】
以下の説明に関して、この種のホィールインタリーバは、Aの1つの列部分系列の要素をインタリーブ(置換)するために使用されるということを述べておくべきであろう。Aの列の数が選択された経過が分かれば、その結果としての巨視的インタリーバのゼロ復帰(RZ)の特性も与えられるであろう。先に述べた通り、Aの列が現れる順序の修正として、長さm、生成多項式g(x)の巡回符号の自己同形写像である修正を適用した場合、このRZ特性は保証されたままである。
【0095】
この技法は、有効なインタリーバを生成するための先に挙げた3つの技法のうち、第1の技法である。
【0096】
例えば、長さ49(49の要素を有する)列部分系列に相当するR=M=7の場合、ターボ符号が34に等しい最小距離を生成できるようにするためには、各微視的インタリーバU→U*は、2に等しいハミング重みの簡単化系列yごとに、fsp(y)が7以上になり、且つ4に等しいハミング重みを有する簡単化系列ごとにフルスパンfsp(y)が6以上になるように保証することが必要である。
【0097】
R≧M≧2であるとき、先に定義したようなMタプルhにより記述されるサイズRMのどのようなホィールインタリーバU→U*も、hのM個の要素が異なる値であるとすれば、2に等しいハミング重みを有する全ての簡単化系列y(x)が値M以上のフルスパンfsp(y)を有するような特性を持つ(すなわち、値が異なるときの巡回置換は列部分系列の行列表現の全ての列に適用されなければならないということになる)。
【0098】
そこで、R=M=7のケースに戻ると、7つの列について可能である巡回置換の組み合わせはアプリオリには77通りあるが、実際には、7!のみ、すなわち、5040通りでも、重み2の簡単化系列y(x)ごとにfsp(y)が7以上になるという条件は満たされる。
【0099】
M×M型の2つの「循環」行列(ノッチ1つ分下方へシフト(回転)させることにより、先の列から各列が取り出されるような行列)をT1及びT2とすると、T1の第1の列は[1,−2,1,0,…,0]’となり、T2の第1の列は[2,−2,0,…,0]’となるが、この場合、次のような特性を実証することが可能である。R≧M≧6のとき、hT1及びhT2の余りモジュロRがヌル成分を含んでいないとするならば、先に定義したようにMタプルhにより記述されるサイズRMのどのようなホィールインタリーバU→U*も、4に等しいハミング重みを有する全ての簡単化系列y(x)が値6以上のフルスパンfsp(y)を有する。
【0100】
再びR=M=7のケースに戻ると、上記の2つの特性を共に実証するセプタプルhを判定することが可能である。例えば、ナルである第1の成分(第1の列の巡回置換はない)に対しては、これらの特性を満たすセプタプルは厳密には168存在する。
【0101】
更に、h1=1(1に等しい振幅を持つ第2の列の巡回置換)のとき、2つの特性を満たすそのようなセプタプルは28ある(図4の表を参照)。
【0102】
例えば、以下に示すセプタプルは前記の条件を満たすことがわかる。
【0103】
h(1)=(0643125),h(2)=(0516243),h(3)=(0452361)
h(4)=(0325416),h(5)=(0261534),h(6)=(0134652)
最後に挙げたセプタプルは図4の最終要素である。
【0104】
別の例(M=5)では、最小距離が42のターボ符号を得ることが望まれる場合に、それに伴って、重み2の系列yについて、フルスパンfsp(y)は9以上であり、重み4の系列では、フルスパンfsp(y)は8以上になることが図2の表から見て取れる。また、重みが6以上の系列に対しては条件fsp(y)≧42が常に実証されることにも注意すべきである。
【0105】
次に、U及びU*がR行、5列の行列である場合にU→U*インタリーバを構成することを考える。従って、重み2のどの簡単化系列y(x)のフルスパンfsp(y)も9以上であり且つ重み4のどの簡単化系列y(x)のフルスパンfsp(y)も8以上であるように、0からR-1(デリミタを含む)の数hiの5タプルh=[h0,h1,h2,h3,h4]によりホィールインタリーバを指定することが必要である。
【0106】
これは、重み2の全ての系列y(x)について、hのいずれか2つの成分hi、hjの差モジュロRが厳密に1より大きい絶対値(0でもなく、−1でも、1でもない)を有する場合に限って実現されることを実証できる。
【0107】
重み4の全ての系列についてこの条件を満たすために、重み2の系列に関わる条件を既に満たしているmタプルhが満たす必要のあるいくつかの条件を示すことができる。これは、第1の成分h0が0であるような場合(U*の第1の列を得るためにUの第1の列の巡回置換は行われない)に限定される。
【0108】
それぞれが第1の列として、T1については[1,-2,1,0,0]’、T2については[2,-2,0,0,0]’、T3については[2,-1,-1,0,0]’、T4については[1,-1,-1,1,0]’、T5については[1,1,-2,0,0]’、T6については[1,0,-2,1,0]’、T7については[1,-2,0,1,0]’を含むM×M型の7つの循環行列をT1,T2,…,T7とする。
【0109】
第1の必要条件は、i=1から7のとき、hTiのモジュロRによる余りが0、1又は−1に等しい成分を有していないことである。
【0110】
第1の列[1,1,−1,−1,0]’の循環行列5×5T8を導入すると、第2の必要条件はhT8のモジュロRによる余りが1又は−1に等しい成分を有していないことである。
【0111】
第1の列[1,−1,1,−1,0]’の循環行列5×5T9を導入すると、第3の必要条件はhT9のモジュロRによる余りが0又は1に等しい成分を有していないことである。
【0112】
そこで、R=26であるとき、これらの(必要)条件は同様に満たされ、また、Rが25以下である場合、これらの条件は決して満たされないと実証される。
【0113】
R=26の場合、上記の条件を見たすクィンタプルは120ある。それらのクィンタプルは、全て、次の10個のクィンタプルのモジュロ26における0でない倍数である。
【0114】
0 2 6 22 8
0 2 8 20 16
0 2 10 16 12
0 2 10 22 6
0 2 12 8 20
0 2 16 12 18
0 2 18 14 6
0 2 20 6 22
0 2 22 6 18
0 2 22 14 10
先の説明においては、関連する巨視的インタリーバにより生成されるターボ符号の最小距離を所定の値より大きくすることができる必要条件を満たす微視的インタリーバを構成する方法を説明した。
【0115】
次に、先に部分列Aλ 1 λ 2について定義したホィールインタリーバに基づいて、全ての部分列に対して同一のインタリーバU→U*を使用することを想定する。この場合、グローバルインタリーバは、対応するターボ符号が相当に大きな数のときに非常に小さい重みを持つ系列を含むようなものである。これは、先に考慮したようにg(x)=1+x2+x3、f1(x)=1+x+x2+x3及びf2(x)=1+x+x3である場合に、a(x)=x7i.g(x)の形態をとる多項式が任意のjについてa*(x)=x7j.g(x)を満たすからである。従って、符号化系列(a,b,c)に対応するハミング重みはかなり小さい値である10となる。
【0116】
この場合、スパンsp(a)及びフルスパンfsp(a)の概念は、i<j<kである三項式a(x)=xi+xj+xkについて、値sp(a)=k−i及びfsp(a)=sp(a)+sp(a*)により定義される。
【0117】
部分列Aλ 1 λ 2の各々に対するホィールインタリーバの作用に続いて、行列A*が得られる。ホィールインタリーバにより置換される各部分列Aλ 1 λ 2は現時点でA*においてもAにおけるのと同じ相対位置を保持するので、この行列A*も行列Aと同じアレイ、例えば、図5に示すアレイにより表現されることになる。
【0118】
先に述べた重み10の符号化系列のように、重みの小さいいくつかの符号化系列を回避することを目的として、この時点までに得られた行列A*も、同じ列の部分列を互いに置換することによって修正する。
【0119】
そこで、各列の部分列を互いに置換する全ての置換が、得られるターボ符号の最小距離に関して等価ではないということを例で示すことができる。
【0120】
すなわち、対応する符号化系列の重みは30に等しく、従って、必要な最小距離である34より完全に小さいので、先に挙げた状況a(x)=x7i.g(x)、a*(x)=x7j.g(x)に加えて、a(x)=(xi+xj+xk).g(x)及びa*(x)=(xi*+xj*+xk*).g(x)の型の状況をも回避することが望ましいことが認められる。
【0121】
以上のべた好ましくない状況のうち第1の状況を回避するA*の部分列の置換を図6に示す。図5では(k1,k2)の対が占めていた位置を図6では(λ1,λ2)の対が占めていることは、部分列(A*)k1 k2が先に部分列(A*)λ 1 λ 2が占めていた位置へ移動したことを表している。すなわち、ここで挙げた例では、部分列(A*)0 1は(A*)5 1の初期位置へ移動し、部分列(A*)0 2は(A*)3 2の初期位置へ移動し、部分列(A*)0 3は、(A*)3 1の初期位置へ移動し、部分列(A*)1 0は元の位置にとどまり、部分列(A*)6 6は、(A*)1 6の初期位置へ移動している。
【0122】
残念なことに、この置換は先に挙げた第2の好ましくない状況を回避できないという欠点を有している。これは、前述のようなq=r/I、g(x)、f1(x)及びf2(x)であるとき、系列a(x)=(x3.q 2+x5.q 3+x6.q).g(x)はa*(x)=(x3+x2.q 2+x6.q).g(x)を生成し、対応する符号化系列が30の重みを有することが実証されるためである。
【0123】
これに対し、図7に示す、A*の部分列の相互置換を考えてみる。この場合、先に挙げた第2の好ましくない状況も回避される。その結果、図7によるグローバルインタリーバは符号から30以下の重みの多数の系列を排除し、それらを34以上の重みの系列と置き換える。
【0124】
ここで、この効果を有する置換を見出す方法を若干詳細に説明しておく。そこで、便宜上、図5、図6及び図7の表現を簡単にし、一般化してある。各対I1、I2における第2の数I2は考慮すべき置換によっては修正されないため、この第2の数I2を省略する。一般化として、qは列の数より完全に大きい値をとれることを容認する。これら2つの規則を伴い且つq=8であるとき、所望の効果を有する部分列の相互置換を図8に示す。
【0125】
そこで、次のような特性を実証することができる。
【0126】
先に挙げた第2の好ましくない状況は、tが1から3の間にあるときに9つの対(it,jt)、(it,jt 2)、(it,jt 3)を見出すことが不可能である場合に回避される。尚、成分it及びjtは、0≦it≦q−1及び0≦jt≦6を満たす整数であり、加算はモジュロ7で実行されるので、それらの対が図8に示される行列の要素の行指標及び列指標であると考えた場合、そのようにして得られる9つの位置のうち3つにそれぞれ現れる厳密に3つの異なる整数が存在する。図8に示す行列は、付録に提示したMATLAB言語のプログラムによっても実証できるように、この好ましくない状況を適切に回避する。
【0127】
ターボ符号を更に改善することに関して、Aの列ごとに異なるホィールインタリーバを使用することが選択される。
【0128】
各部分列aλ 1 λ 2が49の要素を含み、Aは7列を含み且つ各列は7つの部分列を含むケースを考える。従って、対応する系列a(x)の長さは49×7×7=2401に等しい。
【0129】
図7に示す規則に従って各列の部分列を置換することにより、行列A*を構成することが選択される。次に、λ2の固定値を有する49の要素から成る各列aλ 1 λ 2について、それに関連して、セプタプルh=[h0,h1,h2,h3,h4,h5,h6]により指定されるまったく同じホィールインタリーバ7×7が存在する。
【0130】
各部分列と関連するホィールインタリーバの選択は、次のようにして行われる。
【0131】
A及びA*の列に0から6までの番号を付し、次のセプタプルを使用する。
【0132】
h(1)=(0643125),h(2)=(0516243),h(3)=(0452361)
h(4)=(0325416),h(5)=(0261534),h(6)=(0134652)
これらのセプタプルの各々は1つのホィールインタリーバを指定し、h(i)により指定されるホィールインタリーバは、Aの列i(i=1,…,6)の全ての部分列を置換するために使用される。
【0133】
指標0の列において、部分列は定義された6つのセプタプルのうち1つ、例えば、h(1)を使用して置換される。
【0134】
これらのセプタプルは、系列a(x)のハミング重みが2に等しい場合は、同次系列a(x)に対応する簡単化系列y(x)のフルスパンが7以上でなければならず、a(x)のハミング重みが4に等しい場合には6以上でなければならないという必要条件を満たすことが既に示されている。
【0135】
Aの各列で異なるホィールインタリーバを選択する理由は次の通りである。そのようにしなければ、iが固定されているとき、図7に示す種類のインタリーバによって、系列a(x)=xi(I+x7)(I+x7j+2+x7j+3)を、a*(x)=xi*(I+x7j*)(I+x2+x3)としてインタリーブするように数jを選択することは不可能になるであろう。この場合、対応する符号化系列の重みは34より完全に小さくなってしまうであろう。
【0136】
別の例では、部分列は117要素の「長さ」を有し、13×9個の行列に配列されているので、13×9のホィールインタリーバによりインタリーブされなければならない。そこで、グローバルインタリーバは117×49、すなわち5733ビットの情報を置換することになる。
【0137】
この場合、全ての値がモジュロ13で計算される場合、iが1から12の間であるとき、次の9タプルをh(i)とする。
【0138】
h(i)=(0 i 5i 7i 12i 8i 11i 9i 3i)
そのような各9タプルは、重み2の全ての系列aに対してフルスパン条件fsp(y)≧9を満たし、重み4の系列aに対してはfsp(y)≧8を満たすホィールインタリーバを完全に定義する(その成分の各々により、9列の行列の各列の回転の振幅が与えられることを述べておくべきであろう)。それにより、42に等しい最小距離を望むことが可能になる(図2を参照)。このために、例えば、行列Aの7列で異なるh(i)を使用し、図8により記述される種類の列の相互置換を適用する。
【0139】
このように、長さ5733の2進系列を符号化するのに適合し、先に挙げたように、g(x)=1+x2+x3、f1(x)=1+x+x2+x3及びf2(x)=1+x+x3により指定されるターボ符号が得られる。
【0140】
長さ2401のインタリーバを使用するケース(先の第1の例)でシミュレーションを実施した。それらのシミュレーションは図9に示されており、図9は、4つの異なる復号反復回数に対して、ビット誤り率(BER)をビット当たりの信号対雑音比(Eb/NoはdB単位で表されている)の関数として示す。既に非常に低くなっている信号対雑音比に対して利得は非常に重大であり、且つその利得の主要な部分は8回の反復の後に得られることがわかった。
【0141】
通常使用されるインタリーバと比較して、本発明において提案されるインタリーバは、良好な符号距離分布を保証しつつ、2つの基本符号器の同時ゼロ復帰を保証するという大きな利点を提供することは明白であり、これは、ビット当たりの信号対雑音比Eb/Noが高い場合に有利な要因である。
3.解の原理 ( λ=1 )
ここでは、再度、関連するターボ符号に非常に低いビット誤り率を与えるようにインタリーバのパラメータを設定するという目標をもって、λ=1により定義される本発明の好ましい実施形態を検討してみる。
【0142】
この目標を達成するため、r=RMである全ての2進系列の集合z(x)=Σi=0 r-1iiに、R行、M列を有し、jが0からR-1(区切り記号を含む)にあり且つkは0からM-1(区切り記号を含む)にあるとき、位置(j,k)の要素として数jM+kを有するような行列Uを関連付ける。
【0143】
例えば、R=7、M=5、r=RM=35である場合、Uは、
【0144】
【数1】
Figure 0004497706
【0145】
次に、Mタプル=[h0,…,hM-1]から、Uのj番目の列の振幅hjの巡回置換を行列Uの列に対して実行する。
【0146】
得られた行列をU*と表す。このように、Uを先に示した通りに定義し且つMタプルが[02513]に等しい場合、行列U*は次のように表される。
【0147】
【数2】
Figure 0004497706
【0148】
対(U,U*)の場合、又はこれと等価であるMタプルの場合、いずれかの系列z(x)=z0+z1x+...+z3434から、インタリーブ系列z*(x)=z0+z126+z212+...+z3419(これは、z*(x)=z0+z11x+z272+...+z1434と書き表すこともできる)を生成するインタリーバが関連付けられる。
【0149】
Mタプル=[h0,…,hM-1]により定義されるサイズRMのホィールインタリーバは、系列z(x)=ΣK=0 M-1K(K)(xM)から生成される。式中、z(K)(x)は次数がR-1の多項式である。インタリーブ系列z*(x)=ΣK=0 M-1K-hKM(K)(xM),モジュロxRM−1.
巡回置換の性質上、このような行列U*(従って、U及びU*と関連するホィールインタリーバ)は、各列で実行される置換の振幅を知ることによって完璧に定義される。
【0150】
ここで、説明を明確にするため、行列S及びS*における列の数は多項式g(x)によって決まること、S*を生成するためのSの列における置換は任意の置換であること、及びSのS*への変換は列の相互置換を含んでいても良いことに注意すべきである。
【0151】
これに対し、U及びU*の列の数は多項式g(x)によっては左右されず、U*を得るためのUの列における置換は巡回置換でなければならず、UのU*への変換は列の相互置換を含まない。
【0152】
同様に、説明を明確にするため、対(S,S*)と(U,U*)は置換を定義するが、A及びA*は単に2進系列a(x)及びa*(x)それぞれの行列形態の表現であるにすぎないことにも注意すべきである。
【0153】
ホィールインタリーバのいくつかの用途を考えることができる。その1つにおいては、本発明の有利な実現形態に対応して、行列Aの各列をホィールインタリーバによりインタリーブし、その後、巡回置換を実行する。
【0154】
一例として、g(x)=1+x2+x3(これは、m(g)=7であることを示している)、f1(x)=1+x+x3及びf2(x)=1+x+x2+x3を有する種類のターボ符号器を考える。また、R≧Mを満たす素数をRとするとき、nを
n=RMm(g)
と書き表すことができる。
【0155】
これらの数R及びMは、ターボ符号インタリーバを構成するために構成要素として使用されるホィールインタリーバの大きさである。m(g)=7であるとき、R=23及びM=15を選択すると、nは23×15×7=2415に等しく、R=17及びM=8を選択すると、nは952に等しくなる。先に述べた通り、RZインタリーバはr・m型の行列S*により表現できる。従って、これら二組のパラメータに対して、n=2415である場合、r=RM=345となり、n=952の場合には、r=136となる
Sの一列のどの置換がS*の対応する列を生成するかを指定するために、3つの過程から成る手続きを使用する。
【0156】
第1の過程は、先に定義したように、フルスパンに関して効率の良いサイズR・Mのホィールインタリーバを選択する。
【0157】
第2の過程は、この効率の良いホィールインタリーバを、i=0,...,m-1に対して、Aのi番目の列で、diを適切に選択して、di回使用することから成る。
【0158】
第3の過程は、適切に選択した振幅eiの巡回置換をAのi番目の列に適用することから成る。
【0159】
従って、g(x)、f1(x)、f2(x)、n、R及びMを与えれば、インタリーバは次のように指定される。
【0160】
(a)Mタプル=[h0,…,hM-1]
(b)mタプル=[d0,…,dm-1]
(c)mタプル=[e0,…,em-1]
の選択は、0でない同次成分を唯一つ有する情報項目a(x)に対して有効であるように行われ、が与えられれば、mタプル及びは、いくつかの0でない同次成分を有する情報項目a(x)に対して有効となるために選択される。
4.(λ=1)の選択
g(x)、f1(x)及びf2(x)を第2章で定義した通りとし、a(x)=xk(k)(xm)、0≦k≦m−1を同次情報の系列とし、且つv=[a,b,c]をRZインタリーバを使用してターボ符号器によってa(x)から生成される符号化系列のトリプレットとする。vのハミング重みWH(v)が
4fsp(a(k)(x))+3WH(a(k)(x))
と等しいことを理解するのは難しくない。
【0161】
更に一般的に言えば、g(x)は次数pの素数多項式であり、i=1、2のとき、fi(x)は、1+Σj=1 p-1i,jj+xp,fi,j∈{0,1}
の形態を有し、mは2p-1に等しく、同次情報系列a(x)=xk(k)(xm)により生成される符号化系列vのハミング重みは、
p-1fsp(a(k)(x))+3WH(a(k)(x))
に等しい。
【0162】
表1には、WH(a(k)(x))及びfsp(a(k)(x))のいくつかの値に対してvの重みを示す。例えば、最小重み34を生成するためには、RZインタリーバは(どのようなkに対しても)、WH(a(k)(x))=2であればfsp(a(k)(x))≧7を得なければならず、WH(a(k)(x))=4であれば、fsp(a(k)(x))≧6を得なければならない。WH(a(k)(x))≧6である場合には、fsp(a(k)(x))に課される条件はない。
【0163】
表1:同次符号化系列の重み(表1は、符号化同次系列(a b c)の重みを簡単化系列vのフルスパンの関数として示す表である)
【0164】
【表1】
Figure 0004497706
【0165】
ここで、S*のk番目の列S*kを生成するために、Sのk番目の列Skに適用すべき置換を指定できることになる。実際、Skは、
k=[k,k+m,k−2m,…,k+(RM−1)m]Tの形態をとる。尚、Tは転置を表す。行列U*により指定される(又は対応するにより同様に指定される)ホィールインタリーバR×Mが与えられれば、U*の要素を行ごとに読み取ったときに得られるRM個の整数0,1...,RM−1の再スケジューリングをu=[u0,...,uRM 1]とする。このホィールを使用して、Skと新たな列
S'k=[k+u0m,k+u1m,...,k+uRM 1m]Tとが関連付けられる。
【0166】
例えば、k=3、R=7、M=5であり且つ行列U*が先に考慮した行列であれば、
S'3=[3,3+26m,3+12m,…,3+24m,3+5m,3+31m,…,3+19m]Tが得られる。
【0167】
S'は、0≦k≦m-1であるとき、k番目の列がS'kとなるような行列を表す。以下の章では、S*を得るためにS'の列にどの巡回置換を適用することが必要であるかを論じる。ここでは、先に挙げたようなg、f1及びf2を伴うa(x)=xk(k)(xm)を適用するときに、どのようにU*を選択すれば、又はそれと同様にU*を定義するMタプルを選択すれば有効であるかを論じる。
【0168】
(k)(xm)の簡単化バージョンをz(x)により示し、対応する符号化系列をvとする。この場合(ここではRは素数であると仮定することを述べておくべきである)、以下の特性を実証することができる。
【0169】
特性P 1 :R≧M≧2であると仮定する。2に等しいハミング重みを有し且つMタプルにより指定されるサイズR×Mのホィールインタリーバによってインタリーブされるどのような系列z(x)も、の成分のモジュロRによる全ての剰余が異なる場合、fsp(z)≧Mを満たす。
【0170】
特性P 2 :R≧M≧6と仮定する。第1の列が[1 −2 1 0...0]Tであるような循環行列M×MをTとする。4に等しいハミング重みを有し且つMタプルにより指定されるサイズR×Mのホィールインタリーバによってインタリーブされるどのような系列z(x)も、が特性P1を満たし且つTの成分のモジュロRによる剰余が0でない場合に、fsp(z)≧6を満たす。
【0171】
特性P 3 :R≧M≧8と仮定する。この場合、M×M型であり、循環行列であり且つ第1の列が、それぞれ、
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であるような行列Ti、i=1,...,6を考える。
【0172】
4に等しいハミング重みを有し且つMタプルにより指定されるサイズR×Mのホィールインタリーバによってインタリーブされるどのような系列z(x)も、が特性P1及びP2を満たし且つどのようなi、i=1,…,6に対しても、iの成分の剰余モジュロRが0でない場合に、fsp(z)≧8を満たす。
【0173】
特性P 4 :R≧M≧10と仮定する。この場合、M×M型であり、第1の列が、それぞれ、
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であるような12の循環行列Ti、i=1,...,12を考える。
【0174】
4に等しいハミング重みを有し且つMタプルにより指定されるサイズR×Mのホィールインタリーバによってインタリーブされるどのような系列z(x)も、が特性P1からP3を満たし且つどのようなi、i=1,…,12に対しても、iの成分の剰余モジュロRが0でない場合に、fsp(z)≧10を満たす。
【0175】
fsp(z)≧12を保証するために同様の特性を確定することができ、fsp(z)の更に高い値も可能である。
【0176】
特性P 5 :R≧M≧6と仮定する。この場合、M×M型であり、第1の列が、それぞれ、
1の場合、[1 −3 2 0,...,0]T
2の場合、[2 −3 1 0 0,...,0]T
3の場合、[1 −2 2 −1 0,...,0]Tであるような3つの循環行列Ti、i=1,…,3を考える。
【0177】
6に等しいハミング重みを有し且つMタプルにより指定されるサイズR×Mのホィールインタリーバによってインタリーブされるどのような系列z(x)も、が特性P1を満たし且つどのようなi、i=1,…,3に対しても、iの成分の剰余モジュロRが0でない場合に、fsp(z)≧8を満たす。
【0178】
また、R及びMがどのような値であろうとも、ハミング重み6を有する全てのzに対して、fsp(z)≧9を満たすホィールインタリーバは存在しないことを実証することも可能である。
【0179】
Mが特性P2からP5で要求される値より小さいとき、条件は更に複雑になる。すなわち、M=7である場合、特性P3で挙げた条件のうちいくつかは、「成分のモジュロRによる剰余が0でもなく、1でもなく、−1でもない」に似ている。
【0180】
ここで2つの例を挙げる。R=23及びM=15であるとき、15タプル=[0 1 19 8 17 21 18 16 10 3 15 6 5 11 9]
は、特性P1からP5を満たすh0=0及びh1=1の{0,…,22}についての1850の15タプルの中の1つである。表1を使用すると、先に説明したように、により指定されるホィールインタリーバ23×15によってインタリーブされたどの同次系列も、重み≧50の符号化系列を生成すると結論づけられる。
【0181】
同様に、R=17及びM=8の場合には、8タプル
=[0 1 4 9 5 2 7 11]
は特性P1、P2、P3及びP5を満たす。表1を使用すると、先に説明したようににより指定されるホィールインタリーバ17×8によってインタリーブされたどの同次系列も、重み≧38の符号化系列を生成すると結論づけられる。この最小値は重み2の同次系列により生成される。
【0182】
所定のMと、素数R≧Mに対して、特性P1からP5のうちいくつかを満たすMタプルが何であるかを見出すために、GOODH.Mと呼ばれるMATLABプログラムを付録に記載した。所定のR及びMに対して、0でない同次系列のできる限り小さい最良の重みを実現するというのが原則であった。符号によって実現された最小距離は、多くの場合、この最小重みより完全に小さいが、この方式は、ある意味で、重みの小さい符号語の数を最小限に抑えようと試みるものである。これは、符号の総重みの分布に好都合な影響を及ぼすはずである。
【0183】
更に、ここで仮定するRが素数である場合、モジュロRによる加算及び乗算により構成される集合{0,…,R−1}は、ガロア体GF(R)の構造を有する。この場合、どのようなd∈{1,…,R−1}に対しても、MタプルdTは、Tに対して同じ特性が真である場合に限り、モジュロRにおける非0成分を含まない。この後、この特性は非常に有用である。
【0184】
5.距離行列の構成 ( λ=1 )
適切なを見出した後、Sのi番目の列に、di により定義されるホィール型の置換を適用し、次に、振幅最小値eiに向かって巡回置換を適用することにより、S*のi番目の列を得る。
【0185】
Sのこのi番目の列の対応する置換と、関連するAのi番目の列の記号の置換とを対(di,ei)により表す。
【0186】
これらのm個の対(di,ei)の選択は、情報系列a(x)の、互いに近接する2つの記号がいずれもインタリーブ後に妥当な距離をおいた状態となるように行われる。
【0187】
は、この基準を最適化するように選択されているため、これはAの同じ列の記号については既に実現されているので、ここで、Aの異なる列の記号の対に集中することにする。
【0188】
a(x)の記号as(又はat)を位置sから位置s*へ(又は位置tから位置t*へ)インタリーバにより移動させると、この対(s,t)にC(s,t)=|s−t|+|s*−t*|により与えられるコスト関数を付随させることが可能になる。
【0189】
しかし、より実際的なアルゴリズムを獲得するために、次の手続きに従う。
【0190】
インタリーブ前に2つの記号を考慮し、それらの記号が先に導入した行列Aの2つの異なる列(例えば、i番目の列と、j番目の列)の行s及びtに現れるものと仮定する。(di,ei)により指定される置換の作用の下で、行sにある、それらの記号のうち第1の記号は行s*へ移動され、また、置換(dj,ej)の作用の下で、列tにある、それらの記号のうち第2の記号は行t*へ移動される。
【0191】
そのような一対の記号に対する本発明によるコスト関数は、
C(s,t)=|s−t|+|s*−t*|
であるように選択されており、(di,ei)及び(dj,ej)が与えられれば、s*及びt*は、s及びtによってのみ決まる。実際には、行列(R−1)2×RMが構成され、これをFで表す。Fの(R−1)2の列は、(R−1)2対の(d,d')により指標づけられ、要素d及びd’は1≦d,d'≦R−1を満たし、一方、FのRM個の列は、RM個の整数ε=1,…,RMにより指標づけられる。
【0192】
使用するインタリーバが(d,e)及び(d',e')であり且つε=e'−eであるならば、位置((d,d'),ε)において、Fの要素は全てのs及びtに対してC(s,t)の最小値となる。
【0193】
従って、それぞれがAの異なる列にあるa(x)の一対の記号のうち第1の記号の列が(d,e)によりインタリーブされ、第2の記号の列が(d',e')によりインタリーブされ、且つε=e'−eが一定であるならば、Fの要素はそれらの記号に対して最小の(すなわち、最も好ましくない)散布効果を及ぼすと解釈できる。
【0194】
DISTM.Mと呼ばれるMATLABプログラムは、この行列Fを構成するために書かれている。付録には、R=13及びM=9の特定の場合が記載されている。
【0195】
6.適切なターボ符号を獲得する方法 ( λ=1 )
R×M型の適切なホィールインタリーバを指定したので、今度は、対応するターボ符号が適切なものになるように、適切なMタプル及びを選択する。
【0196】
ここで、この選択の全般的概念を示す。
【0197】
及びは、任意のi、j、0≦i≦j≦M-1に対しても、Fの位置((di,dj),ej−ei)にある要素が妥当な大きさとなるように選択される。Fを先に述べたように解釈すると、これは、どの対の情報記号も妥当な効率で散布されるということになる。
【0198】
これに対応する最適化の問題を幾分困難にしているのは、例えば、の初めの2つの成分d0及びd1と、の初めの2つの成分e0及びe1を有効に選択したとすると、及びの第3の成分d2及びe2も同時に、(d0,e0)及び(d1,e1)に対して有効でなければならないという点である。
【0199】
系統的探索を実行するために、miniと呼ばれる値を選択し、0≦i≦j≦M-1である対(di,ei)及び(dj,ej)の全てに対して、位置((di,dj),ej−ei)>miniであれば、(d,e)により定義されるインタリーバは受け入れられる。
【0200】
実際に、が与えられれば、まず第1に(d0,e0)=(1,0)が選択される。次に、位置((d0,d1),e1−e0)において、Fの要素がminiより大きくなるように、何らかの対(d1,e1)を見出そうとする試みがなされる。
【0201】
その要素が存在しなければ、それはminiを実現できないことを意味している。そのような対(d1,e1)が見つかれば、位置((d0,d2),e2−e0)及び((d1,d2),e2−e1)において、Fの要素がminiより大きくなるような対(d2,e2)を探索する。アルゴリズムは同様にして続き、i=3,4,5及び6について(di,ei)を見出す試みがなされる。
【0202】
この探索は、異なる対(i,j)について満たされなければならないminiの様々に異なる値をとることにより改善できる。すなわち、j−iが一定の値であるような全ての対(i,j)について、miniを同一の値に設定することが可能である。m=7及びi<jであるとき、j−iは6つの値をとれるので、6つのパラメータmini(1),…,mini(6)を選択し、適切に系統的探索を修正することが可能である。
【0203】
検査を実行すべき場合には、その都度、i及びjの指定値に適合するパラメータmini(j-i)を使用する。この探索を実行するための、SELEC.Mと呼ばれるMATLABプログラムが作成されており、付録に記載されている。
7. ( λ=1 )
R=23及びM=15(n=2415であることを示唆している)であり、且つが先に挙げたように[0 1 19 8 17 21 18 16 10 3 15 6 5 11 9]であるとき、Fで表される484×345の行列を得るために第4章で説明した構成方法を適用し、この行列を第5章で述べた概要に沿って使用した。数回の試行の後に、下記のようなパラメータmini(i)の値についてターボ符号器を得た。
mini(1)=6, mini(2)=4, mini(3)=5
mini(4)=4, mini(5)=6, mini(6)=5
ターボ符号器は、
=[1,3,8,11,15,9,22]
=[0,7,269,291,194,337,120]
により指定される。
【0204】
対応するターボ符号の性能を付加的白色ガウス雑音チャネルでシミュレートし、このシミュレーションの結果を図14及び図15に示す。いずれの場合にも、8回及び195回の復号の反復の後に得られた結果が示されている。実験によれば、30回の繰り返しの後に既に最良の性能がほぼ得られることがわかった。
【0205】
シミュレーション結果の分析によって、この符号には、ハミング重みが34に等しい非ゼロ系列が存在することが明らかになった。これより低いハミング重みの系列は見つからなかった。
【0206】
そこで、34が符号の最小距離であると考えるのが妥当である。
【0207】
同様に、R=17及びM=8(n=952であることを示唆している)であり且つが先に挙げたように[0 1 4 9 5 2 7 11]であるとき、Fで表される256×136の行列を得るために第4章で説明した構成方法を適用し、この行列Fを第5章で述べた概要に沿って使用した。
【0208】
数回の試行の後に、下記のようなパラメータmini(i)の値をもってターボ符号器を得た。
mini(1)=5, mini(2)=3, mini(3)=3
mini(4)=3, mini(5)=3, mini(6)=5
ターボ符号器は、
=[1,7,10,2,15,12,16]
=[0,130,58,116,76,6,148]
により指定される。
【0209】
ターボ符号の性能を付加的白色ガウス雑音チャネルでシミュレートし、このシミュレーションの結果を図12及び図13に示す。
【0210】
シミュレーション結果の分析によって、この符号には、ハミング重みが34に等しい非ゼロ系列が存在し、これより低いハミング重みの系列はないことが明らかになった。これが符号の最小距離であると考えるのが妥当である。
【0211】
8.その後の改良 ( λ= 1)
この章では、先に説明したような方法の変形として導入できるいくつかの改良を説明する。
【0212】
を先のように選択したとき、及びをここまで説明したものより一層有効に選択できる場合が多い。
【0213】
これを説明するために、R=23、M=15、=[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]で構成された、先に既に述べた2415サイズのインタリーバを考える。シミュレーションの結果、対応するターボ符号には、34に等しいハミング重みの系列が存在することが明らかになった。この最終値も、この符号の非ゼロ系列の最小重みに等しいと思われる。次に、このような系列を少し厳密に見てみる。
【0214】
これは、例えば、集合IがI={1067,1076,1077,2329,2330,2334}により与えられるような系列a(x)=Σi Iiの符号化に相当する。
【0215】
1つの記号の位置iに対するインタリーバの効果をi1→Π(i)とする。そこで、集合J={Π(i):i∈I}は、J={1760,292,1077,285,1070,1767}により与えられる。集合Jにおいて、記号Π(i)はiの値が増加する順に現れる。
【0216】
言い換えれば、インタリーバは位置1067を位置1760へ移動させ、位置1076を位置292へ移動させ、位置2329を位置285へ移動させ、位置2330を位置1070へ移動させ、且つ位置2334を位置1767へ移動させる。位置1077はインタリーバによって修正されない。
【0217】
系列a(x)は、共にg(x)により割り切れる2つの部分系列a1(x)=x1067+x1076+x1077及びa2(x)=x2329+x2330+x2334の連続としてみなせるということがわかる。同様に、系列a*(x)は、3つの部分系列a1*(x)=x285+x292、a2*(x)=x1070+x1077及びa3*(x)=x1760+x1767の連続としてみなせるということがわかる。
【0218】
そこで、b1=a11/g、b2=a21/g、c1=a1*f2/g、c2=a2*f2/g、c3=a3*f2/gを定義することができる。これらの系列の重みW(.)は、W(b1)=7、W(b2)=3、W(c1)=W(c2)=W(c3)=6であることが実証される。W(a)=6であるとき、これは実際には6+7+3+6+6+6=34に等しい重みを生成する。
【0219】
R及びMが先のインタリーバと同じ値であり、も同じであるが、及びの選択が異なるような2415サイズの別のインタリーバに関しては、先に説明した状況とは逆の状況が起こりうる。集合IがI={r,r+7,s,s+7,t,t+7}であるような重み6の系列a(x)=Σi Iiは、インタリーブ後、a*(x)=a1*(x)+a2*(x)の型の系列になりうる。尚、これら2つの多項式a1*(x)及びa2*(x)はg(x)で割り切れ、共に、nの累乗を乗算した同時の三項式である。
【0220】
その結果、a1*f2/g及びa2*f2/gの重みは、それ自体、かなり小さくなるであろう。そこで、対応する符号化系列の総重みが再度34に等しくなるということも起こりうる。
【0221】
36以上の最小距離を有するターボ符号を得ることが望まれる場合には、以上述べた2つの状況が起こらないような対()を選択することが必要になる。
【0222】
まず、これらの状況のうち第1の状況を考える。これを防止するためには、a*(x)=(1+x7)(xi+xj+xk)の形態のa*(x)を生成するa(x)=a1(x)+a2(x)の形態の全てのa(x)が下記の特性を有するように対()を選択することが必要である。
【0223】
特性7.1: a1(x)で現れるxの最小累乗をpとし、a1(x)=xpα1(x)と置く。a2(x)で現れるxの最小累乗をqとし、a2(x)=xqα2(x)と置く。α1及びα2の次数の和は、b1=a11/g及びb2=a21/gの重みの和が少なくとも12に等しくなるように十分に大きい。
【0224】
次に、前述の状況のうち第2の状況を考える。従って、これを回避するためには、a*(x)=a*1(x)+a*2(x)の形態のa*(x)を生成するa(x)=(1+x7)(xi+xj+xk)の形態のa(x)が下記の特性を有するように対()を選択することが必要である。尚、a*1(x)及びa*2(x)はg(x)により割り切れる三項式である。
【0225】
特性7.2: a*1(x)で現れるxの最小累乗をp*とし、a*1(x)=xp*α*1(x)と置く。a*2(x)で現れるxの最小累乗をq*とし、a*2(x)=xq*α*2(x)と置く。α*1及びα*2の次数の和は、c1=a*12/g及び、c2=a*22/gの重みの和が少なくとも12に等しくなるように十分に大きい。
【0226】
特性7.1及び7.2を考慮する結果により得られた、以上説明した方式と並行して、第5章で導入され、第6章で使用した値mini(i)に課された条件が、36以上の最小距離を得るという、追求されていた目的と比較して過剰なものとなりかねないということに注意する必要がある。
【0227】
従って、特性7.1及び7.2を満たすが、第5章で導入された6つのmini(i)パラメータに関してそれほど煩雑な制約を受けることのない対()を求めて探索を行った。実際には、i≧2であるとき、mini(1)=5及びmini(i)=4が選択された。ここで、この方法により次の2つの対()が見出された。
(1)=[1 2 3 21 19 6 17]及び=[0 6 224 246 209 112 142]。このように及びを選択した場合、ターボ符号は、シミュレーションの間に見出される復号後の誤り系列の重みが0.9dBまでの範囲の信号対雑音比に対して決して36未満にならないようなものである。先の章で説明したケースと比較して、性能の改善が見られた(図16及び図17に示す)。
(2)=[1 6 10 15 8 7 22]及び=[0 6 323 194 269 157 120]。このように及びを選択した場合、ターボ符号は、シミュレーションの間に見出される復号後の誤り系列の重みが0.8dBまでの範囲の信号対雑音比に対して決して38未満にならないようなものである。
【0228】
このように、以上説明したようにパラメータ()を選択する方法により、誤りの確率が信号対雑音比の関数としてはそれ以上改善されない場合に、信号対雑音比のレベルを増加させることが可能になる。
次に、一般的な場合(r/λが素数でないことを除いて、λは任意である)に目を転じる。
【0229】
9.本発明によるインタリーバを使用する符号器及び復号器の説明
先に説明したような良いインタリーバの決定は符号器及び復号器それ自体で瞬時に実行できるが、あらかじめ決定しておくのが好ましいということに注意すべきである。予め決定する場合、インタリーバをすべてROMに格納するか、又は経済的な利点を考えてインタリーバを生成するために必要なパラメータのみを格納することが可能である。その後、先に説明した構成アルゴリズムを適用して、インタリーバを生成し、それをRAMに格納することができる。
【0230】
次に、図18から図22を参照して、本発明を実現する装置の特定の一実施例を説明する。
【0231】
図18は、ネットワークステーション又はコンピュータ符号化ステーションの構成をブロック線図の形で概略的に示す。このステーションは、キーボード911と、画面909と、外部情報源910と、無線送信器906とを有し、これらは共に処理カード901の入出力ポート903に接続している。
処理カード901は、
−中央処理装置900と、
−ランダムアクセスメモリRAM904と、
−不揮発性メモリ905と、
−入出力ポート903とを有し、
これらは共にアドレス/データバス902に接続している。
【0232】
図18に示す構成要素はマイクロコンピュータ及び送信システム、特に情報処理システムの分野の当業者にはそれぞれ良く知られている。従って、これらの一般的な構成要素についてはここでは説明しない。しかし、
−情報源910は、例えば、インタフェース周辺装置、センサ、復調器、外部メモリ又はその他の情報処理システム(図示せず)であり、特にIP又はATM型の音声、サービスメッセージ又はマルチメディアデータを2進データの系列の形態で表現する信号の系列を供給するのが好ましいこと、及び
−無線送信器906はケーブルなしチャネルでパケット送信プロトコルを使用し、且つそれらのパケットをそのようなチャネルを介して送信することに注意すべきである。
【0233】
また、説明中で使用される用語「レジスタ」は、メモリ904及び905のそれぞれにおいて、容量の小さなメモリ領域(若干の2進データ)と、容量の大きなメモリ領域(プログラム全体の格納を可能にする)の双方を表していることにも注意すべきである。
【0234】
ランダムアクセスメモリ904はデータ、変数及び中間処理結果を、この説明では、値を格納しているデータと同じ名前を付したメモリレジスタに格納する。ランダムアクセスメモリ904は、レジスタとして、
−符号化すべきデータ系列の長さを格納するレジスタ「N0_data」と、
−入力系列uと、系列aがgで割り切れるように保証するパディングビットとを含む、符号化すべきデータの系列aを格納するレジスタ「a」(入力系列uは必ずしもgで割り切れるとは限らず、第1の符号器は、系列aをgで割り切れるようにするために、入力系列uにgの次数に等しい数のビットを加算して、系列aを形成する)と、
−インタリーブ系列a*を格納するレジスタ「a*」と、
−ターボ符号化a,b及びcの結果得られた系列を格納するレジスタ「a,b,c」と、
−送信すべき無線フレーム全体を格納するレジスタ「radio_frame」とを含む。
【0235】
不揮発性メモリ905は、便宜上、格納するデータと同じ名前を付したレジスタにデータを格納する。すなわち、
−中央処理装置900のオペレーティングプログラムをレジスタ「program」に格納し、
−系列gをレジスタ「g」に格納し、
−系列f1をレジスタ「f1」に格納し、
−系列f2をレジスタ「f2」に格納し、
−インタリーバのサイズnをレジスタ「n」に格納し、
−nの値の関数としてインタリーバを定義するテーブルをレジスタ「interleaver」に格納し、
−gの周期の値mをレジスタ「m」に格納する。
【0236】
中央処理装置900は図21に示す流れ図を実現する。
【0237】
図19では、復号装置は本質的には、
−符号化系列の評価系列である系列a,b及びcの3つのソフト入力1001、1002及び1003と、
−第1の基本符号器102(図1)に対応し、系列a及びbと、系列aに関連し且つ0に初期設定されるアプリオリ情報系列w4とを受信し、系列aの外因性評価系列w1を供給する第1の復号器1004と、
−符号器で使用されていたインタリーバと同一であり、一方では系列aを受信して、それを系列a*としてインタリーブし、他方では系列w1を受信して、系列a*に関連するアプリオリ情報の新たな系列w2を生成するためにそれをインタリーブするインタリーバ1005と、
−第2の基本符号器103に対応し、系列w2、a*及びcを受信し、一方では、系列a*の外因性評価系列w3を供給し、他方では系列a*の評価系列a*'を供給する第2の復号器1006と、
−インタリーバ1005の逆であり、系列a*'を受信し、aの評価系列a'を供給するデインタリーバ1008と、
−インタリーバ1005の逆であり、系列w3を受信し、系列w4を供給するデインタリーバ1007とから構成されていることがわかる。
【0238】
評価系列a'は、所定の回数の反復の後に初めて考慮に入れられる(先に引用した論文「Near Shannon limit error−correcting coding and decoding:turbocodes」を参照)。
【0239】
本発明によれば、復号器1004及び1006を初期設定するとき、基本符号器102及び103はそれぞれヌル初期状態と、ヌル最終状態とを有するということを考慮する。
【0240】
図20は、ネットワークステーション又はコンピュータ復号ステーションの構成をブロック線図の形で概略的に示す。このステーションはキーボード1111と、画面1109と、外部情報宛先1110と、無線受信器1106とを有し、これらは共に処理カード1101の入出力ポート1103に接続している。
処理カード1101は、
−中央処理装置1100と、
−ランダムアクセスメモリRAM1104と、
−不揮発性メモリ1105と、
−入出力ポート1103とを有し、
これらは共にアドレス/データバス1102に接続している。
【0241】
図20に示す構成要素はマイクロコンピュータ及び送信システム、特に情報処理システムの分野の当業者にはそれぞれ良く知られている。従って、これらの一般的な構成要素についてはここでは説明しない。しかし、
−情報源1110は、例えば、インタフェース周辺装置、センサ、復調器、外部メモリ又はその他の情報処理システム(図示せず)であり、特にIP又はATM型の音声、サービスメッセージ又はマルチメディアデータを2進データの系列の形態で表現する信号の系列を供給するのが好ましいこと、及び
−無線送信器1106はケーブルなしチャネルでパケット送信プロトコルを使用し、且つそれらのパケットをそのようなチャネルを介して送信することに注意すべきである。
【0242】
また、説明中で使用される用語「レジスタ」は、メモリ1104及び1105のそれぞれにおいて、容量の小さなメモリ領域(若干の2進データ)と、容量の大きなメモリ領域(プログラム全体の格納を可能にする)の双方を表していることにも注意すべきである。
【0243】
ランダムアクセスメモリ1104はデータ、変数及び中間処理結果を、この説明では、値を格納しているデータと同じ名前を付したメモリレジスタに格納する。ランダムアクセスメモリ1104は、レジスタとして、
−受信した系列(a,b,et c)と、インタリーブ系列a*とをそれぞれ格納するレジスタ「received_data」と、
−中間復号系列をそれぞれ格納するレジスタ「extrinsic_inf」(図19を参照)と、
−復号系列a*'及びa'を格納するレジスタ「estimated_data」と、
−ターボ復号器により実行される反復の回数の値を格納するレジスタ「N0_iterations」と、
−復号すべき系列の長さを格納するレジスタ「N0_data」と、
−受信した無線フレーム全体を格納するレジスタ「radio_frame」とを含んでいる。
【0244】
不揮発性メモリ1105は、便宜上、格納するデータと同じ名前を付したレジスタにデータを格納する。すなわち、
−中央処理装置1100のオペレーティングプログラムをレジスタ「program」に格納し、
−系列gをレジスタ「g」に格納し、
−系列f1をレジスタ「f1」に格納し、
−系列f2をレジスタ「f2」に格納し、
−インタリーバのサイズnをレジスタ「n」に格納し、
−nの値の関数としてインタリーバを定義するテーブルをレジスタ「interleavers」に格納し、
−gの周期の値mをレジスタ「m」に格納し、
−最大反復回数をレジスタ「max_N0_iteration」に格納する。
【0245】
中央処理装置1100は図22に示す流れ図を実現する。
【0246】
図21では、中央装置を含むシステムの技術分野の当業者には知られている型の初期設定動作1201に続いて、動作1202の間、中央装置900は、符号化すべき符号の系列が情報源910から送信されて来るまで待機する。ここで、この系列の終わりは、別の符号が送信される前のかなり長い時間の遅延、又は系列が終了したことを報知する特定の値を有する情報によってマークされることは理解できるであろう。
【0247】
次に、動作1203の間、中央装置900は、系列の中の送信すべき記号の数をn'を判定し、周知の手続きに従って、送信すべきでない記号を取り出す。
【0248】
次に、動作1204の間、中央装置はパディング動作を実行し、この間、送信すべき記号の系列の終わりに、系列の多項式表現が多項式g(x)で割り切れるように、除数多項式g(x)の次数に等しい数の2進記号が追加される。
【0249】
次に、以下の動作を並行して実行する。
【0250】
−いわゆるスタッフィング動作1205を実行する。この間、値0の2進記号をパディング動作から得られた系列の終わりに追加する。その結果、最終系列の2進記号の数nは、先に述べたように多項式xm+1が多項式g(x)で割り切れるような最小の数である数mの許容しうる倍数になる。
【0251】
−インタリーバ選択動作1206をその長さnの関数として実行する。
【0252】
次に、ターボ符号化動作1207の間に、スタッフィング動作1205から得られた系列を、動作1206の間に選択されたインタリーバと、除数多項式g(x)と、乗数多項式f1(x)及びf2(x)とを使用してターボ符号化する。
【0253】
次に、スタッフィングビット除去動作1208の間に、
−系統系列及び第1のパリティ系列の終わりでスタッフィングビットを除去して、系列a及びbをそれぞれ形成する。
【0254】
最後に、動作1209の間に、系列a,b及びcを無線フレームに挿入し、それらは電磁信号を変調し、無線チャネルを介して送信される。
【0255】
次に、動作1202を再び繰り返す。
【0256】
図22では、中央装置を含むシステムの技術分野の当業者には知られている型の初期設定動作1301に続いて、動作1302の間、中央装置1100は、符号化/送信装置により無線フレームが送信されて来るまで待機する。ここで、この無線フレームの終わりは特定の値を有する情報によってマークされていることに注意する。
【0257】
次に、動作1303の間、中央装置1100は、無線フレームの中の復号すべき記号の数nと、スタッフィングビットの数とを判定する。
次に、以下の動作を並行して実行する。
【0258】
−動作1304の間、中央装置1100は復号すべき初めの2つの系列に対して、得られる系列の長さがnに等しくなるように、スタッフィングビット及びゼロハードビットに相当するできるだけ高い信頼性値を有する対応するパリティビットを追加することにより、スタッフィング動作を実行する。
【0259】
−動作1305の間、中央装置1100は、不揮発性メモリ1105において、nの値を考慮に入れて、インタリーバ及びその逆インタリーバの選択を実行する。
【0260】
次に、動作1306の間、スタッフィング動作1304から得られた初めの2つと、動作1303から得られた第3の系列の合わせて3つの系列を当業者には良く知られているターボ復号手続きに従って復号する。この場合、ターボ復号手続きは動作1305の間に選択されたインタリーバと、除数多項式g(x)と、乗数多項式f1(x)及びf2(x)と、認可された最大反復回数以下の反復回数と、符号器の初期状態と最終状態が0であることを考慮に入れた基本復号器の初期設定とを使用する。
【0261】
次に、動作1307の間に、スタッフィング動作1304の間に追加された記号と、符号化のときに実行されたパディング動作(動作1204を参照)により追加された、除数多項式g(x)の次数に等しい数である記号とを系列a'から除去して、送信時の系列を形成する。最後に、系列を情報宛先1310へ送信し、動作1302を再び繰り返す。
【0262】
変形例の1つによれば、ランダムアクセスメモリ904(又は1104)は一部又は全体が着脱自在であり、例えば、磁気テープ、ディスケット又は再書き込み可能なコンパクトディスクを有する。
【0263】
尚、概して、先に説明したインタリーブ方法においては、データはインタリーブの前後で(行列Aの)行ごとに読み取られることに注意すべきである。
【0264】
また、インタリーブ(又は逆インタリーブ)方法を実際に実施する間、入力データを行列形態にする過程を必ずしも経なくて良いことは明白である。インタリーバの(置換後に出力位置を各入力位置と関連付ける)置換テーブルを使用して、入力データが到着した時点でデータに直接働きかけることは可能である。しかし、方法の原理自体に変化はない。
【0265】
言うまでもなく、本発明がここで例として説明した実施例の詳細に限定されることはなく、当業者の能力の範囲内にあるあらゆる変形に拡張される。
【0266】
すなわち、本発明は、ターボ符号の定義の基礎となっているアルファベットが素数の累乗であるq個の文字を含む場合にも拡張される。この場合、アルファベットはq元ガロア体の構造を受け取ることができる。
【0267】
同様に本発明は、ここでは2つのインタリーバを使用するものとして説明されているが、より一般的には、説明に従ってフィードバック多項式を伴ういくつかのインタリーバを有する符号の場合にも適用されることは明白である。
【0268】
また本発明は、特に直列ターボ符号又はハイブリッドターボ符号を含むどのような種類のターボ符号にも適用される。
【0269】
更に本発明は、先に簡単に開示したような装置を有する電話機、写真装置、プリンタ、スキャナ、カメラ、コンピュータ、ファクシミリ装置、テレビ受像機又はオーディオ/ビデオ再生装置にも適用される。
【0270】
同様に本発明は、一部又は全体が着脱自在であり、コンピュータプログラムの命令を格納するコンピュータ又はマイクロプロセッサにより読み取り可能であり、先に簡単に開示した方法を実現することを可能にするような情報格納装置及び情報格納手段にも適用される。
【0271】
[付録]
初めに、一般的なλ>1のケースを枠組みとして先に述べた第2の不都合な状況を回避するためのMATLABプログラムを提示する。
【0272】
このプログラムは、図8に示すような行列aを試験する。プログラムはfiltとして知られている行列と、zeroと呼ばれるベクトルとを使用する。
【0273】
Figure 0004497706
これは、まず第一に、aをそれ自体と並置することにより行列mを構成し、
Figure 0004497706
且つパラメータyを0に初期設定する。
【0274】
y=0;
次に、9対の指標のステップを構成し、
(i,ii),(i,ii+2),(i,ii+3)(j,jj),(j,jj+2),(j,jj+3)(k,kk),(k,kk+2),(k,kk+3)
且つ上記の9つの位置(i,ii)から(k,kk+3)までの各々における行列mの要素を要素とするdの9タプルを構成する。
【0275】
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];
dの9つの要素を増加順に記録し、
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
且つ、dの等しい連続する要素の対の数が6に等しくないかどうかを検査する。そうであれば、y=y+1とする。
【0276】
qq=filt*d’;q=[111111]*(qq==zero);
if q==6,y=y+1;end;
end;end;end;end;end;end;
計算の終了時に、yがまだ0であれば、試験の結果は肯定であり、プログラムはm=aとする。
【0277】
Figure 0004497706
Figure 0004497706
Figure 0004497706
Figure 0004497706
Figure 0004497706
Figure 0004497706

【図面の簡単な説明】
【図1】RZ特性を有することができるインタリーバを使用するターボ符号器の機能図である。
【図2】簡単化系列vのフルスパンの関数として符号化同次系列(a,b,c)の重みを示すテーブル例を示す図である。
【図3】行列Aの49の部分列aI1 I2への分割を示す図である。
【図4】h0=0及びh1=1である28のセプタプルhのテーブル例を示す図である。
【図5】行列aの一例図である。
【図6】行列aの部分列の置換を示す図である。
【図7】行列aの部分列のより有効な置換を示す図である。
【図8】別の行列aの部分列の置換の簡単化表現を示す図である。
【図9】本発明による長さ2401のインタリーバについて、デシベル単位の信号対雑音比(eb/No)の関数として、4つの異なる復号反復回数における復号後のビット誤り率(BER)曲線を示す図である。
【図10】本発明のλ=1の実施形態で使用される行列Sを示す図である。
【図11】RZインタリーブ後の図10の行列Sから得られた行列S*を示す図である。
【図12】、
【図13】本発明のλ=1の実施形態による長さ952のインタリーバについて、デシベル単位の信号対雑音比(eb/No)の関数として、2つの異なる復号反復回数(8回及び195回)における復号後のビット誤り率(BER)及びフレーム誤り率(FER)曲線を示す図である。
【図14】、
【図15】本発明のλ=1の実施例による長さ2415のインタリーバについて、デシベル単位の信号対雑音比(eb/No)の関数として、2つの異なる復号反復回数(8回及び195回)における復号後のビット誤り率(BER)及びフレーム誤り率(FER)曲線を示す図である。
【図16】、
【図17】本発明のλ=1の実施の形態において、第7章で述べた内容に従って改善された長さ2415インタリーバについて、デシベル単位の信号対雑音比(eb/No)の関数として、2つの異なる復号反復回数(8回及び195回)における復号後のビット誤り率(BER)及びフレーム誤り率(FER)曲線を示す図である。
【図18】本発明の好ましい実施形態を実現するのに適する符号化装置を概略的に示す図である。
【図19】ターボ符号器の機能図である。
【図20】本発明の好ましい実施例を実現するのに適する復号装置を概略的に示す図である。
【図21】図18に示す符号化装置の動作流れ図である。
【図22】図20に示す復号装置の動作流れ図である。

Claims (36)

  1. 2進係数を含む第1の除数多項式g(x)=1+Σ i=1 t-1 i i +x t により割り切れる、2進係数を含む多項式a(x)=Σ j,k j,k jm+k により表現される物理的量を表す2進データの系列における記号を置換して、第2の除数多項式g*(x)=1+Σ i=1 t-1 g* i i +x t により割り切れる多項式a*(x)=Σ j,k j,k S* j,k により表現される2進記号の新たな系列を供給する置換方法において、S* j,k は、
    行ごとに0からr・m−1までの連続する数により埋められたr行、m列の行列Sを考えるE1過程と、
    前記行列Sの各列を、r/λが素数とならないような所定の数λの部分列に分割するE2過程と、
    λ 1 λ 2が現れるSの列をλ2とし、指標λ2の列の部分列Sλ 1 λ 2の位置をλ1とするとき、λ・mに等しい数のSの部分列は0≦λ1≦λ−1及び0≦λ2≦m-1の条件下で、Sλ 1 λ 2として指示されるE3過程と、
    次に、各部分列Sλ 1 λ 2をR行、M列(r/λ=RM)の行列の形態に書き表し、この形態で、R行、M列の前記行列の各列の巡回置換により定義される「ホィール」型の、恒等式ではないインタリーバによりインタリーブするE4過程と、
    R行、M列の前記行列を列における前記巡回置換の後に、行列S*において行列SでSλ 1 λ 2が占める位置と同じ位置を占める部分列S*λ 1 λ 2に再変換するE5過程と、
    それぞれが行列Sの1つの要素と、行列S*で同じ位置を占める要素とにより形成される複数の対から構成される置換テーブルを生成するE6過程と、
    を含む置換方法に従って得られた行列S*における位置(j,k)の要素であり、mは第1の除数多項式g(x)がx m' +1を割り切るような最小の整数m'の整数倍であることを特徴とする置換方法。
  2. 行列S*の少なくとも1つの列λ2(0≦λ2≦m-1)で、部分列S*λ 1 λ 2の出現の順序を変更する過程を更に含むことを特徴とする請求項1に記載の置換方法。
  3. 行列S*の所定の列λのλ個の部分列の各々S*λ 1 λ 2を生成するために同じホィールインタリーバを使用することを特徴とする請求項1及び2のいずれか1項に記載の置換方法。
  4. 行列S*の少なくとも2つの列を有する部分列は異なるホィールインタリーバにより生成されることを特徴とする請求項3に記載の置換方法。
  5. 行列S*の各列の部分列をインタリーブするために使用されるm個のホィールインタリーバは異なることを特徴とする請求項4に記載の置換方法。
  6. 2進係数を含む第1の除数多項式g(x)=1+Σ i=1 t-1 i i +x t により割り切れる、2進係数を含む多項式a(x)=Σ j,k j,k jm+k により表現される物理的量を表す2進データの系列における記号を置換して、第2の除数多項式g*(x)=1+Σ i=1 t-1 g* i i +x t により割り切れる多項式a*(x)=Σ j,k j,k S* j,k により表現される2進記号の新たな系列を供給する置換方法において、S* j,k は、
    行ごとに0からr・m−1までの連続する数により埋められたr行、m列の行列Sを考えるE1過程と、
    0≦I≦m-1の条件下で、行列Sのm個の列をSIと指示するE2過程と、
    次に、各列SIをRM=rを満たすR行、M列の行列の形態に書き表し、この形態で、R行、M列の前記行列の各列の巡回置換により定義される「ホィール」型の、恒等式ではないインタリーバによりインタリーブするE3過程と、
    列の前記巡回置換の後に、R行、M列の前記行列を行列S*において行列SでSIが占める位置と同じ位置を占める列S*Iに再変換するE4過程と、
    行列S*の各列S*Iを巡回置換により置換するE5過程と、
    それぞれが行列Sの1つの要素と、行列S*で同じ位置を占める要素とにより形成される複数の対から構成される置換テーブルを生成するE6過程とを含む置換方法に従って得られた行列S*における位置(j,k)の要素であり、mは第1の除数多項式g(x)がx m' +1を割り切るような最小の整数m'の整数倍であることを特徴とする置換方法。
  7. 行列S*の少なくとも2つの列は異なるホィールインタリーバを使用して得られることを特徴とする請求項6に記載の置換方法。
  8. 行列S*のm個の列を生成するために使用されるm個のホィールインタリーバは全て異なることを特徴とする請求項7に記載の置換方法。
  9. E5過程中、行列S*の少なくとも1つの列S*Iは恒等式とは異なる巡回置換によって置換されることを特徴とする請求項6から8のいずれか1項に記載の置換方法。
  10. S*の列を相互に置換する過程を更に含むことを特徴とする請求項1から9のいずれか1項に記載の置換方法。
  11. 2進係数を含む第1の除数多項式g(x)=1+Σi=1 t-1ii+xtにより割り切れる、2進係数を含む多項式a(x)=Σj,kj,kjm+kにより表現される物理的量を表す2進データの系列における記号を置換して、第2の除数多項式g*(x)=1+Σi=1 t-1g*ii+xtにより割り切れる多項式a*(x)=Σj,kS* j,kjm+kにより表現される2進記号の新たな系列を供給する置換方法において、S*j,k
    行ごとに0からr・m−1までの連続する数により埋められたr行、m列の行列Sを考えるE1過程と、
    前記行列Sの各列を、r/λが素数とならないような所定の数λの部分列に分割するE2過程と、
    λ 1 λ 2 が現れるSの列をλ 2 とし、指標λ 2 の列の部分列S λ 1 λ 2 の位置をλ 1 とするとき、λ・mに等しい数のSの部分列は0≦λ 1 ≦λ−1及び0≦λ 2 ≦m-1の条件下で、S λ 1 λ 2 として指示されるE3過程と、
    次に、各部分列S λ 1 λ 2 をR行、M列(r/λ=RM)の行列の形態に書き表し、この形態で、R行、M列の前記行列の各列の巡回置換により定義される「ホィール」型の、恒等式ではないインタリーバによりインタリーブするE4過程と、
    R行、M列の前記行列を列における前記巡回置換の後に、行列S*において行列SでS λ 1 λ 2 が占める位置と同じ位置を占める部分列S* λ 1 λ 2 に再変換するE5過程と、
    それぞれが行列Sの1つの要素と、行列S*で同じ位置を占める要素とにより形成される複数の対から構成される置換テーブルを生成するE6過程と、
    を含む置換方法に従って得られた行列S*における位置(j,k)の要素であり、mは第1の除数多項式g(x)がxm'+1を割り切るような最小の整数m'の倍数であることを特徴とする置換方法。
  12. 第2の除数多項式g*(x)は第1の除数多項式g(x)と等しいことを特徴とする請求項11乃至11のいずれか1項に記載の置換方法。
  13. 系列a*を判定する動作を含み、その動作の間、請求項1乃至12のいずれか1項に記載の少なくとも1つの置換方法が実現されることを特徴とする符号化方法。
  14. 第1の除数多項式g(x)=1+Σi=1 t-1ii+xtと、g(x)と両立性を有する第2の除数多項式g*(x)と、第1の乗数多項式f1(x)と、第2の乗数多項式f2(x)と、整数r≧1とを考慮に入れて、情報を表現する2進データの系列uに対し作用する請求項13に記載の符号化方法において、
    前記方法は、
    − 増加順の最初のr・m−t個の係数は符号化すべき2進データであり、最後のt個の係数は多項式g(x)が多項式a(x)を割り切るように選択されている、「第1の多項式」と呼ばれる多項式a(x)により表現される「系列a」と呼ばれる「第1の」系列を形成する動作と、
    − 全体が第1の除数多項式g(x)により割り切れ且つ第1の多項式a(x)と第1の乗数多項式f1(x)との積と等しい多項式b(x)により表現される「系列b」として知られる第2の系列を形成する動作と、
    − 増加順の係数が置換系列a*の2進データであり且つ第2の除数多項式g*(x)により割り切れるような置換」多項式a*(x)により表現される「置換」系列a*を形成するために、第1の系列の2進データに作用する置換動作と、
    − 全体が第2の除数多項式g*(x)により割り切れ且つ置換多項式a*(x)と第2の乗数多項式f2(x)との積と等しい多項式c(x)により表現される「系列c」として知られる第3の系列を形成する動作とを含む符号化方法。
  15. 請求項から12のいずれか1項に記載の少なくとも1つの置換方法を実現することを特徴とする復号方法。
  16. 請求項から12のいずれか1項に記載の少なくとも1つの置換方法を実現することを特徴とするターボ符号化方法。
  17. 請求項13又は14に記載の符号化方法により符号化された後に受信される系列を復号するための方法。
  18. ターボ符号を定義する基礎となるアルファベットが素数の累乗であるq個の文字を含み、アルファベットはq個の要素を有するガロア域の構造を受け取ることを特徴とする請求項1乃至17のいずれか1項に記載の方法。
  19. 第1の除数多項式g(x)がx m' +1を割り切るような最小の整数m'の倍数をmとするとき、整数rと整数mとの積に等しい多数の2進データを有する系列をaとし、第1の除数多項式g(x)により割り切れ、増加順の係数が系列aの2進データであるような多項式a(x)=Σ j,k j,k jm+k により表わされ、物理的量を表す2進データの系列aから、第1の除数多項式g(x)と両立性を有する第2の除数多項式g*(x)により割り切れるべきであり且つ増加順の係数が系列a*の2進データであるような多項式a*(x)と関連する置換系列a*を供給して、2進データの系列cを形成するための置換装置において、
    0からr・m−1までの出力ランクを0からr・m−1までの各入力ランクに対応させる手段を具備し、特に、
    行ごとに0からr・m−1までの連続する数により埋められたr行及びm列を含む行列Sを考える手段E1と、
    0≦I≦m-1の条件下で、行列Sのm個の列をSIと指示する手段E2と、
    各列SIをRM=rを満たすR行、M列の行列の形態に書き表し、この形態で、R行、M列の前記行列の各列の巡回置換により定義される「ホィール」型の、恒等式ではないインタリーバによりインタリーブする手段E3と、
    列の前記巡回置換の後に、R行、M列の前記行列を行列S*において行列SでSIが占める位置と同じ位置を占める列S*Iに再変換する手段E4と、
    行列S*の各列S*Iを巡回置換により置換する手段E5と、
    それぞれが行列Sの1つの要素と、行列S*で同じ位置を占める要素とにより形成される複数の対から構成される置換テーブルを生成する手段E6と、を具備することにより、
    S* j,k を有する行列S*が生成されているとき、置換系列a*はΣ j,k j,k S* jm+k により与えられることを特徴とする置換装置。
  20. 行列S*の少なくとも2つの列は異なるホィールインタリーバを使用して得られることを特徴とする請求項19に記載の置換装置。
  21. 行列S*のm個の列を生成するために使用されるm個のインタリーバは全て異なることを特徴とする請求項20に記載の置換装置。
  22. S*の列を相互に置換する手段を更に有することを特徴とする請求項19から21のいずれか1項に記載の置換装置。
  23. 行列S*の少なくとも1つの列S*Iを恒等式とは異なる巡回置換によって置換する手段を更に有することを特徴とする請求項19から22のいずれか1項に記載の置換装置。
  24. 第1の除数多項式g(x)がxm'+1を割り切るような最小の整数m'の倍数をmとするとき、整数rと整数mとの積に等しい数の2進データを有する系列をaとし、第1の除数多項式g(x)により割り切れ、増加順の係数が系列aの2進データであるような多項式a(x)=Σj,kj,kjm+kにより表わされ、物理的量を表す2進データの系列aから、第1の除数多項式g(x)と両立性を有する第2の除数多項式g*(x)により割り切れるべきであり、増加順の係数が系列a*の2進データであるような多項式a*(x)と関連する置換系列a*を供給して、2進データの系列cを形成するための置換装置において、
    0からr・m−1までの出力ランクを0からr・m−1までの各入力ランクに対応させる手段を具備し、特に、
    行ごとに0からr・m−1までの連続する数により埋められたr行及びm列を含む行列Sを考える手段E1と、
    0≦I≦m-1の条件下で、行列Sのm個の列をS I と指示する手段E2と、
    各列S I をRM=rを満たすR行、M列の行列の形態に書き表し、この形態で、R行、M列の前記行列の各列の巡回置換により定義される「ホィール」型の、恒等式ではないインタリーバによりインタリーブする手段E3と、
    列の前記巡回置換の後に、R行、M列の前記行列を行列S*において行列SでS I が占める位置と同じ位置を占める列S* I に再変換する手段E4と、
    行列S*の各列S* I を巡回置換により置換する手段E5と、
    それぞれが行列Sの1つの要素と、行列S*で同じ位置を占める要素とにより形成される複数の対から構成される置換テーブルを生成する手段E6と、を具備し、
    要素S*j,kを有する行列S*が生成されているとき、置換系列a*はΣj,kS* j,kjm+kにより与えられることを特徴とする置換装置。
  25. 請求項19から24のいずれか1項に記載の装置を含むことを特徴とする符号化装置。
  26. 第1の除数多項式g(x)=1+Σi=1 t-1ii+xtと、g(x)と両立性を有する第2の除数多項式g*(x)と、第1の乗数多項式f1(x)と、第2の乗数多項式f2(x)と、整数r≧1と、第1の除数多項式g(x)がxm'+1を割り切るような最小の整数m'の倍数mとを考慮に入れて、情報を表現する2進データの系列uに対し作用する請求項25に記載の符号化装置において、前記装置は、
    −増加順の最初のr・m−t個の係数は符号化すべき2進データであり、最後のt個の係数は多項式g(x)が多項式a(x)を割り切るように選択されている、「第1の多項式」と呼ばれる多項式a(x)により表現される「系列a」と呼ばれる「第1の」系列を形成する手段と、
    −全体が第1の除数多項式g(x)により割り切れ且つ第1の多項式a(x)と第1の乗数多項式f1(x)との積と等しい多項式b(x)により表現される「系列b」として知られる第2の系列を形成する手段と、
    −増加順の係数が置換系列a*の2進データであり且つ第2の除数多項式g*(x)により割り切れるような置換」多項式a*(x)により表現される「置換」系列a*を形成するために、第1の系列の2進データに作用する置換手段と、
    −全体が第2の除数多項式g*(x)により割り切れ且つ置換多項式a*(x)と第2の乗数多項式f2(x)との積と等しい多項式c(x)により表現される「系列c」として知られる第3の系列を形成する手段とを含むことを特徴とする符号化装置。
  27. 請求項19から24のいずれか1項に記載の少なくとも1つの装置及び/又はそのインタリーバに対応するデインタリーバを使用することを特徴とする復号装置。
  28. 請求項19から24のいずれか1項に記載の少なくとも1つの装置及び/又はそのインタリーバに対応するデインタリーバを使用することを特徴とするターボ復号装置。
  29. 請求項25又は26に記載の符号化装置による符号化の後に受信される系列を復号するための装置。
  30. 一方では系列aを送信し、他方では、符号器により生成された系列のデータの部分集合を送信する送信手段を有することを特徴とする請求項24から29のいずれか1項に記載の装置。
  31. 音声を表現する信号を処理する装置において、請求項19から30のいずれか1項に記載の装置を有することを特徴とする装置。
  32. パケット送信プロトコルを実現するための送信器を有するデータ送信装置において、請求項19から31のいずれか1項に記載の装置を有することを特徴とするデータ送信装置。
  33. 前記プロトコルはATM(非同期転送モード)プロトコルであることを特徴とする請求項32に記載のデータ送信装置。
  34. 前記プロトコルはインターネットプロトコル(IP)であることを特徴とする請求項32に記載のデータ送信装置。
  35. 非ケーブルチャネルを介して送信する送信器を有するデータ送信装置において、請求項19から34のいずれか1項に記載の装置を有することを特徴とするデータ送信装置。
  36. 請求項19から35のいずれか1項に記載の装置を有することを特徴とするネットワークステーション。
JP2000337950A 1999-11-04 2000-11-06 データのターボコーディングのためのインターリーブ方法 Expired - Fee Related JP4497706B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR9913835A FR2800950A1 (fr) 1999-11-04 1999-11-04 Procede d'entrelacement pour turbo-codage convolutif de donnees
FR9913835 1999-11-04
FR0001659A FR2805103A1 (fr) 2000-02-10 2000-02-10 Procede de permutation pour turbo-codage convolutif de donnees
FR0001659 2000-02-10

Publications (2)

Publication Number Publication Date
JP2001244822A JP2001244822A (ja) 2001-09-07
JP4497706B2 true JP4497706B2 (ja) 2010-07-07

Family

ID=26212163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000337950A Expired - Fee Related JP4497706B2 (ja) 1999-11-04 2000-11-06 データのターボコーディングのためのインターリーブ方法

Country Status (4)

Country Link
US (1) US6404360B1 (ja)
EP (1) EP1098445B1 (ja)
JP (1) JP4497706B2 (ja)
DE (1) DE60045630D1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2807895B1 (fr) * 2000-04-18 2002-06-07 Canon Kk Procedes et dispositifs de codage et de decodage et systemes les mettant en oeuvre
US6996133B2 (en) * 2000-04-18 2006-02-07 Zenith Electronics Corporation Digital communication system for transmitting and receiving robustly encoded data
US7187698B2 (en) * 2001-03-13 2007-03-06 Zenith Electronics Corporation Robust digital communication system
FR2829329B1 (fr) * 2001-09-05 2003-11-28 Canon Kk Procedes de turbocodage a entrelaceurs verrous, et systemes pour leur mise en oeuvre
EP1337045A1 (en) * 2002-02-18 2003-08-20 Siemens Aktiengesellschaft Method for interleaving and deinterleaving a digital signal and application of these methods
FR2837331B1 (fr) * 2002-03-13 2004-06-18 Canon Kk Procede d'entrelacement d'une sequence binaire
US7091889B2 (en) * 2002-09-09 2006-08-15 Telefonaktiebolaget Lm Ericsson (Publ) Speed and memory optimized interleaving
DE10243786A1 (de) * 2002-09-20 2004-04-01 Siemens Ag Verfahren zur mehrfachen Codierung einer Datenbitfolge, zur Decodierung dieser Datenfolge und Anordnung zur Decodierung
CN100440739C (zh) * 2004-03-15 2008-12-03 华为技术有限公司 一种获取交织表的方法
US7667628B2 (en) * 2008-06-23 2010-02-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Interleaver for scrambling and information word
JP5531513B2 (ja) * 2009-09-01 2014-06-25 富士通株式会社 デスタッフ回路および伝送装置
CN103430472B (zh) * 2010-10-08 2017-05-24 黑莓有限公司 用于获得改进的码性能的消息重新排布
US8769365B2 (en) 2010-10-08 2014-07-01 Blackberry Limited Message rearrangement for improved wireless code performance
US9043667B2 (en) 2011-11-04 2015-05-26 Blackberry Limited Method and system for up-link HARQ-ACK and CSI transmission
WO2013169330A1 (en) 2012-05-11 2013-11-14 Research In Motion Limited Method and system for uplink harq and csi multiplexing for carrier aggregation
EP3895323A4 (en) * 2019-01-11 2022-01-05 Huawei Technologies Co., Ltd. DATA RETURN ON A WIRELESS NETWORK
CN115225203B (zh) * 2022-06-08 2024-04-12 芯翼信息科技(上海)有限公司 一种数据的解交织方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000353965A (ja) * 1999-02-19 2000-12-19 Ntt Docomo Inc インターリービング方法、インターリービング装置、ターボ符号化方法及びターボ符号化装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394642A (en) * 1981-09-21 1983-07-19 Sperry Corporation Apparatus for interleaving and de-interleaving data
US5940863A (en) * 1996-07-26 1999-08-17 Zenith Electronics Corporation Apparatus for de-rotating and de-interleaving data including plural memory devices and plural modulo memory address generators
US5936559A (en) * 1997-06-09 1999-08-10 At&T Corporation Method for optimizing data compression and throughput
US6631491B1 (en) * 1997-11-10 2003-10-07 Ntt Mobile Communications Network, Inc. Interleaving method, interleaving apparatus, and recording medium in which interleave pattern generating program is recorded
EP0928071B8 (en) * 1997-12-30 2007-04-25 Canon Kabushiki Kaisha Interleaver for turbo encoder

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000353965A (ja) * 1999-02-19 2000-12-19 Ntt Docomo Inc インターリービング方法、インターリービング装置、ターボ符号化方法及びターボ符号化装置

Also Published As

Publication number Publication date
US6404360B1 (en) 2002-06-11
JP2001244822A (ja) 2001-09-07
EP1098445A1 (en) 2001-05-09
EP1098445B1 (en) 2011-02-16
DE60045630D1 (de) 2011-03-31

Similar Documents

Publication Publication Date Title
JP4497706B2 (ja) データのターボコーディングのためのインターリーブ方法
US6766489B1 (en) Device and method of adapting turbocoders and the associated decoders to sequences of variable length
JP4723089B2 (ja) 線形合同シーケンスを使用するターボコードインタリーバ
CN107026709B (zh) 一种数据包编码处理方法及装置、基站及用户设备
JP3610329B2 (ja) 大最小距離を用いたターボ符号化方法及びそれを実現するシステム
US7069492B2 (en) Method of interleaving a binary sequence
JP3575606B2 (ja) データの低密度パリティ検査符号化方法および装置
US8782499B2 (en) Apparatus and method for transmitting and receiving data in communication/broadcasting system
JP4392924B2 (ja) 符号化装置及び方法、記憶媒体
JP3359913B1 (ja) 移動通信システムの直列鎖状コンボルーション符号化器に使用するためのインタリーバ及びそのインタリービング方法
JP5506878B2 (ja) 低密度パリティ検査符号のパリティ検査行列生成方法
EP2365639A2 (en) Method and system for providing low density parity check (LDPC) encoding and decoding
JP4124893B2 (ja) インターレーサ、符号化装置、置換方法、符号化方法、復号化装置およびその方法、これらを使ったシステム
JP2008219892A (ja) データを符号化および復号化する方法および装置
US6625762B1 (en) Interleaving device and method for turbocoding and turbodecoding
US6560362B1 (en) Encoding and interleaving device and method for serial or hybrid turbocodes
KR20080067650A (ko) 낮은 프레임 에러 레이트를 위한 개선된 터보 코드인터리버
JP2021502767A (ja) 階段コードの復号化方法、装置および記憶媒体
JP4508407B2 (ja) 符号化方法及び装置、及び、復号化方法及び装置、並びにそれらを用いたシステム
JP2009201084A (ja) 符号化器及び送信装置
KR20000001483A (ko) 다중테일을 갖는 터보코드 및 그의 부호화/복호화방법 및 그를이용한 부호기/복호기
KR20040037624A (ko) 인터리빙된 데이터 열의 디인터리빙 방법 및 장치
KR100645730B1 (ko) 매직 매트릭스를 이용한 인터리빙 방법
JP6771184B2 (ja) 符号化装置、符号化方法及びプログラム
FR2801446A1 (fr) Procede et dispositif de codage, procede et dispositif de decodage, et systemes les mettant en oeuvre

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071106

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071106

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100317

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100413

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees