(57)【特許請求の範囲】
【請求項１】
Ｍ行Ｎ列のバッファ内に入力系列を格納し、長さＮの基本疑似乱数系列を行単位にシフトすることでＭ行Ｎ列のラテン方陣またはラテン長方形のマッピングパターンを形成し、当該マッピングパターンに前記入力系列をマッピングして当該マッピング後の入力系列を列単位に読み出すインタリーバを生成するインタリーバ生成方法であって、
特定の入力系列パターンが前記インタリーバによって特定の出力系列パターンに並び替えられて誤り訂正能力が低下してしまう場合の入力系列パターンの集合を算出する入力系列長算出工程と、
前記入力系列長算出工程で算出した入力系列パターンの集合の差集合に含まれる入力系列パターンに対するインタリーバのパラメータを算出するパラメータ候補算出工程と、
前記パラメータ候補算出工程で算出したパラメータを用いて前記インタリーバを生成するインタリーバ生成工程とを備えたことを特徴とするインタリーバ生成方法。
【請求項２】
Ｍ行Ｎ列のバッファ内に入力系列を格納し、長さＮの基本疑似乱数系列を行単位にシフトすることでＭ行Ｎ列のラテン方陣またはラテン長方形のマッピングパターンを形成し、当該マッピングパターンに前記入力系列をマッピングして当該マッピング後の入力系列を列単位に読み出すインタリーバを生成するインタリーバ生成装置であって、
特定の入力系列パターンが前記インタリーバによって特定の出力系列パターンに並び替えられて誤り訂正能力が低下してしまう場合の入力系列パターンの集合を算出する入力系列長集合算出部と、
前記入力系列長集合算出部で算出した入力系列パターンの集合の差集合に含まれる入力系列パターンに対するインタリーバのパラメータを算出するパラメータ候補算出部と、
前記パラメータ候補算出部で算出したパラメータを用いて前記インタリーバを生成するインタリーバ生成部とを備えたことを特徴とするインタリーバ生成装置。
【請求項３】
Ｍ行Ｎ列のバッファ内に入力系列を格納し、長さ（Ｎ−１）の基本疑似乱数系列を行単位にシフトすることでＭ行（Ｎ−１）列のラテン方陣またはラテン長方形のパターンを形成し、当該Ｍ行（Ｎ−１）列のパターンの最右列に各行の系列の最小値を配置することでＭ行Ｎ列のマッピングパターンを形成し、前記Ｍ行Ｎ列のマッピングパターンに前記入力系列をマッピングして当該マッピング後の入力系列を列単位に読み出すインタリーバを生成するインタリーバ生成方法であって、
特定の入力系列パターンが前記インタリーバによって特定の出力系列パターンに並び替えられて誤り訂正能力が低下してしまう場合の入力系列パターンの集合を算出する入力系列長算出工程と、
前記入力系列長算出工程で算出した入力系列パターンの集合の差集合に含まれる入力系列パターンに対するインタリーバのパラメータを算出するパラメータ候補算出工程と、
前記パラメータ候補算出工程で算出したパラメータを用いて前記インタリーバを生成するインタリーバ生成工程とを備えたことを特徴とするインタリーバ生成方法。
【請求項４】
Ｍ行Ｎ列のバッファ内に入力系列を格納し、長さ（Ｎ−１）の基本疑似乱数系列を行単位にシフトすることでＭ行（Ｎ−１）列のラテン方陣またはラテン長方形のパターンを形成し、当該Ｍ行（Ｎ−１）列のパターンの最右列に各行の系列の最小値を配置することでＭ行Ｎ列のマッピングパターンを形成し、前記Ｍ行Ｎ列のマッピングパターンに前記入力系列をマッピングして当該マッピング後の入力系列を列単位に読み出すインタリーバを生成するインタリーバ生成装置であって、
特定の入力系列パターンが前記インタリーバによって特定の出力系列パターンに並び替えられて誤り訂正能力が低下してしまう場合の入力系列パターンの集合を算出する入力系列長集合算出部と、
前記入力系列長集合算出部で算出した入力系列パターンの集合の差集合に含まれる入力系列パターンに対するインタリーバのパラメータを算出するパラメータ候補算出部と、
前記パラメータ候補算出部で算出したパラメータを用いて前記インタリーバを生成するインタリーバ生成部とを備えたことを特徴とするインタリーバ生成装置。
【請求項５】
前記特定の入力系列パターンと前記特定の出力系列パターンは、自己終端系列であることを特徴とする請求項１または請求項３記載のインタリーバ生成方法。
【請求項６】
前記特定の入力系列パターンと前記特定の出力系列パターンは、自己終端系列であることを特徴とする請求項２または請求項４記載のインタリーバ生成装置。
【請求項７】
前記パラメータ候補算出工程で算出した前記パラメータが複数ある場合、当該複数のパラメータの中からいずれかを選択するパラメータ選択工程を備え、
前記インタリーバ生成工程では、前記パラメータ候補算出工程で算出したパラメータに代えて、前記パラメータ選択工程で選択したパラメータを用いて前記インタリーバを生成することを特徴とする請求項１、請求項３及び請求項５のうちのいずれか１項記載のインタリーバ生成方法。
【請求項８】
前記パラメータ候補算出部で算出した前記パラメータが複数ある場合、当該複数のパラメータの中からいずれかを選択するパラメータ選択部を備え、
前記インタリーバ生成部では、前記パラメータ候補算出部で算出したパラメータに代えて、前記パラメータ選択部で選択したパラメータを用いて前記インタリーバを生成することを特徴とする請求項２、請求項４及び請求項６のうちのいずれか１項記載のインタリーバ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ターボ符号等の誤り訂正符号に用いるインタリーバを生成するインタリーバ生成方法及びインタリーバ生成装置に関する。
【背景技術】
【０００２】
ターボ符号等の誤り訂正符号では、情報系列を並び替えるインタリーバを用いることで、シャノン限界に迫る高い誤り訂正能力を実現している。一般に、インタリーバは基本疑似乱数系列を繰り返しシフトして得られるラテン方陣・長方形構造のマッピングパターンを用いることで、高速処理可能でかつ誤り訂正能力の高い通信装置を実現している（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１６０１６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
インタリーバをターボ符号等の誤り訂正符号に組み込むには、情報系列の並び替えに用いるマッピング行列の列数、基本疑似乱数系列のパターン及び基本疑似乱数系列読み出し時の開始位置シフトパターン（以下、パラメータと称す）を決定する必要がある。
従来のインタリーバは、所望の情報系列長毎にパラメータを様々に変更し、これらパラメータを用いて生成したインタリーバを含む符号の出力重み分布をパラメータ毎に算出し、ユニオンバウンド（ｕｎｉｏｎ  ｂｏｕｎｄ）が最良となるパラメータを発見的に決定しなければならない。ここで、出力重み分布の算出には様々な情報系列パターンを入力してその出力重みを記録する必要があり、また最良なｕｎｉｏｎ  ｂｏｕｎｄの探索は実数値計算する必要があるため、パラメータ決定に要する計算量が大きいという問題があった。特に、８ｂｉｔ毎の細かいビット幅で情報系列長を可変とする等、多数の情報系列長に対応しようとすると、計算量はさらに増大してしまう。
【０００５】
以上のように、従来のインタリーバのパラメータ決定に必要な計算量は膨大であり、誤り訂正能力の高い符号を構成するインタリーバを符号構造に応じて高速に生成することができないという問題点があった。
【０００６】
この発明は上記のような課題を解決するためになされたもので、誤り訂正能力の高い符号を構成するインタリーバを高速に生成することのできるインタリーバ生成方法及びインタリーバ生成装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係るインタリーバ生成方法は、Ｍ行Ｎ列のバッファ内に入力系列を格納し、長さＮの基本疑似乱数系列を行単位にシフトすることでＭ行Ｎ列のラテン方陣またはラテン長方形のマッピングパターンを形成し、マッピングパターンに入力系列をマッピングしてマッピング後の入力系列を列単位に読み出すインタリーバを生成するインタリーバ生成方法であって、特定の入力系列パターンがインタリーバによって特定の出力系列パターンに並び替えられて誤り訂正能力が低下してしまう場合の入力系列パターンの集合を算出する入力系列長算出工程と、入力系列長算出工程で算出した入力系列パターンの集合の差集合に含まれる入力系列パターンに対するインタリーバのパラメータを算出するパラメータ候補算出工程と、パラメータ候補算出工程で算出したパラメータを用いてインタリーバを生成するインタリーバ生成工程とを備えたものである。
【発明の効果】
【０００８】
この発明のインタリーバ生成方法は、特定の入力系列パターンがインタリーバによって特定の出力系列パターンに並び替えられるインタリーバのパラメータ集合を算出し、このパラメータ集合の差集合となるパラメータを算出してインタリーバを生成するようにしたので、誤り訂正能力の高い符号を構成するインタリーバを高速に生成することができる。
【図面の簡単な説明】
【０００９】
【図１】この発明の実施の形態１によるインタリーバ生成方法で生成したインタリーバを用いた通信システムを示す構成図である。
【図２】この発明の実施の形態１による通信システムの他の例を示す構成図である。
【図３】この発明の実施の形態１によるインタリーバ生成方法で生成したインタリーバを含むターボ符号化器の構成図である。
【図４】図３のターボ符号化器の一例を示す構成図である。
【図５】この発明の実施の形態１によるインタリーバ生成方法を示すフローチャートである。
【図６】この発明の実施の形態２によるインタリーバ生成方法で生成したインタリーバを用いた通信システムを示す構成図である。
【図７】この発明の実施の形態２による通信システムの他の例を示す構成図である。
【図８】この発明の実施の形態３によるインタリーバ生成装置を含む通信システムを示す構成図である。
【図９】この発明の実施の形態３によるインタリーバ生成装置を示す構成図である。
【発明を実施するための形態】
【００１０】
実施の形態１．
図１はこの発明の実施の形態１におけるインタリーバ生成方法によって生成したインタリーバを備えた通信システムを示す構成図である。図１において、送信側の通信装置（以下、送信装置１と称す）は、ターボ符号化器１００と変調器１１０を含む構成とし、受信側の通信装置（以下、受信装置２と称す）は、復調器２１０とターボ復号器２００を含む構成とする。ターボ符号化器１００及びターボ復号器２００は、内部に、以下に述べるインタリーバ生成方法によって生成される同一のインタリーバ１０３，２０３を有する。なお、図１及び後述する図２では、ターボ符号化器１００及びターボ復号器２００内のインタリーバ１０３，２０３以外の構成は図示を省略している。
【００１１】
まず、実施の形態１の通信システムにおける符号化及び復号処理の流れを簡単に説明する。
送信装置１内のターボ符号化器１００では、長さＫの情報系列u=(u0,u1,…,uK-1)を受け取り、インタリーバ１０３を用いて符号化した符号語vを生成する。そして、送信装置１内の変調器１１０では、ターボ符号化器１００で生成した符号語vに対して、所定の変調方式に応じてデジタル変調し、その変調信号x=(x0,x1,…,xN-1)を、通信路３を介して受信装置２に送信する。
【００１２】
一方、受信装置２では、復調器２１０が通信路３を介して受け取った変調信号y=(y0,y1,…,yN-1)に対して、上記変調方式に応じてデジタル復調し、さらに、受信装置２内のターボ復号器２００が、復調結果に対してインタリーバ２０３を用いて復号し、その復号結果（元の情報系列uに対応）を出力する。
なお、上記送信装置１と上記受信装置２の双方の構成を搭載した通信装置を複数構成し、当該複数の通信装置間で互いに信号を送受信するようにしても良い。
【００１３】
また、図２に示すように、送信装置１にパンクチャ器１２０、受信装置２にデパンクチャ器２２０を含めても良い。この場合、パンクチャ器１２０では、通信システムの要求に応じた長さWの符号語を、ターボ符号化器１００の出力からパンクチャして生成し、これを変調器１１０に入力する。また、デパンクチャ器２２０では、パンクチャ器１２０でパンクチャされたビットをデパンクチャし、これをターボ復号器２００に入力する。
【００１４】
ターボ符号化器１００は、図３に示すように、第１の再帰的組織畳み込み（以下、ＲＳＣ（Recursive Systematic convolutional）と称す）符号化器１０１と第２のＲＳＣ符号化器１０２とインタリーバ１０３から構成される。図４は、上記ＲＳＣ符号化器の一例であるが、例えばＷ−ＣＤＭＡ規格のＲＳＣ符号化器等、ターボ符号を構成するＲＳＣ符号化器であればどのような構成であっても良い。ターボ復号器２００はターボ符号化器１００に対応して構成されている。
【００１５】
次に、実施の形態１のインタリーバ１０３，２０３の並び替えアルゴリズムを説明する。
＜ステップ１＞
パラメータを設定する。
K：情報系列長
N：マッピング行列の列数
M=ceil(K/N)：マッピング行列の行数
s：基本疑似乱数系列読み出し時の開始位置シフト数
p：基本疑似乱数系列のパターン
Cp(0),Cp(1),…,Cp(N-1)：基本疑似乱数系列
ここで、ceil(x)はx以上の最小の整数である。sはNと素な正の整数または1の値を取る。また、基本疑似乱数系列は長さNの並び替えパターンであり、集合{Cp(0),Cp(1),…,Cp(N-1)}は集合{0,1,…,N-1}と一致する。
【００１６】
＜ステップ２＞
基本疑似乱数系列をs個ずつシフトして、Ｍ種類の長さＮの疑似乱数系列CLj(i)を構成する。
CLj(i)=Cp((i+s×j) mod N)
i=0,1,…,N-1
j=0,1,…,M-1
＜ステップ３＞
M×Nの入力バッファ行列Uj(i)を用意する。
Uj(i)=i+N×j
i=0,1,…,N-1
j=0,1,…,M-1
＜ステップ４＞
M×Nの出力バッファ行列U’j(i)を、CLj(i)を用いて用意する。
U’j(i)=U(M-1-j)(CL(M-1-j)(i))
i=0,1,…,N-1
j=0,1,…,M-1
【００１７】
＜ステップ５＞
情報系列uを、出力バッファ行列U’j(i)を列順に読み出すことで生成する。
u(j+M×i)=U’j(i)
i=0,1,…,N-1
j=0,1,…,M-1
＜ステップ６＞
マッピング行列の要素数と情報系列長に差がある場合、情報系列長Ｋを超える大きさの以下の出力値を削除する（この操作を以下、プルーニングと称する）。
uk≧K
ここで、ステップ１で用いる長さNの基本疑似乱数系列Cp(0),Cp(1),…,Cp(N-1)は、たとえばNとして素数を選択し、g0をNの原始元として以下のように生成する。
Cp(0)=1
Cp(i+1)=(g0×Cp(i)) mod N    i=0,…,N-3
Cp(N-1)=0
この生成は、以下のようにしても同じである。
Cp(i)=g0i mod N        i=0,…,N-2
Cp(N-1)=0
【００１８】
また、（Ｎ＋１）が素数となるようにＮを選択し、ｇ０を（Ｎ＋１）の原始元として、以下のように生成しても良い。
Cp(0)=0
Cp(i+1)=((g0×(Cp(i)+1))mod(N+1))-1    i=0,…,N-2
この生成は、以下のようにしても同じである。
Cp(i)=(g0imod(N+1))-1    i=0,…,N-1
以上のように原始元を用いて基本疑似乱数系列を生成するとき、特に原始元ｇ０＝２の場合には、基本疑似乱数系列を得るための二乗算処理が１ビットシフトで可能であるから、原始元が２の素数だけにＮまたは（Ｎ＋１）を限定することで処理量を軽減することも可能である。
【００１９】
また、Ｐ’をＮと互いに素な整数として、以下のように生成しても良い。
Cp(i)=(P’×i)modN    i=0,…,N-1
この生成は、以下のようにしても同じである。
Cp(0)=0
Cp(i+1)=(Cp(i)+P’)modN    i=0,…,N-2
また、Ｐ’をＮと互いに素な整数として、以下のように生成しても良い。
Cp(i)=(P’×i+Q)modN    i=0,…,N-1
ここでＱは任意の正の整数である。
また、基本疑似乱数系列Cp(0),Cp(1),…,Cp(N-1)は長さNの並び替えパターンであって、集合{Cp(0),Cp(1),…,Cp(N-1)}が集合{0,1,…,N-1}と一致するものであれば、その他いずれであっても良い。
【００２０】
次に、実施の形態１のインタリーバ１０３，２０３のパラメータN、p、sを算出する方法を説明する。
図５にこのアルゴリズムのフローチャートを示す。
先ず、第１のＲＳＣ符号化器１０１の帰還多項式Ｐ（Ｄ）で割り切れる系列１＋Ｄｌのうち、正整数ｌの値が小さいものからｎ個を順にｌ１、ｌ２、…、ｌｎと定義する。第２のＲＳＣ符号化器１０２の帰還多項式Ｐ’（Ｄ）で割り切れる系列１＋Ｄｌ’のうち、正整数ｌ’の値が小さいものからｎ’個を順にｌ’１、ｌ’２、…、ｌ’ｎ’と定義する。
【００２１】
組（Ｎ，ｐ，ｓ）に関するループは、特定の入力系列パターンがインタリーバ１０３，２０３によって特定の出力系列パターンに並び替えられるインタリーバ１０３，２０３のパラメータ集合を算出する入力系列長算出工程と、この入力系列長算出工程で算出したパラメータ集合の差集合となるパラメータを算出するパラメータ候補算出工程とに対応している。
【００２２】
＜ステップＳＴ１＞
組（Ｎ，ｐ，ｓ）に関するループにおいて、マッピング行列の列数Ｎ、基本疑似乱数系列読み出し時の開始位置シフト数ｓ、基本疑似乱数系列のパターンｐに対して、以下が成り立つｉ、ｊの組み合わせを算出する。
abs(i×N+Cp((N+j+i×s+k) mod N))-Cp(k))=l  …（１）
l=l1、l2、…、ln
i=0、1、…、ni
j=-nj、…、-1、0、1、…、nj
k=0、1、…、N-1
ａｂｓ（ｘ）はｘの絶対値である。ｎｉ、ｎｊはそれぞれ、（Ｎ−１）以下の正の整数である。
このステップＳＴ１は特定の入力系列パターンを求める工程であり、数式（１）を満たす組合せとは、入力系列が自己終端系列になるｉ、ｊの組み合わせを算出することである。
【００２３】
＜ステップＳＴ２＞
ステップＳＴ１で算出したｉ、ｊの組み合わせのうち、以下が成り立つＭの値を算出し、順にＭ１、Ｍ２、…、Ｍｎ”とする。
abs(j×M-i)-k=l’  …（２）
k=0、1、…、abs(j)
l’=l’1、l’2、…、l’n’
このステップＳＴ２は特定の出力系列パターンを求める工程であり、数式（２）を満たす組合せとは、入力系列をインタリーバ１０３，２０３によって並び替えた系列が自己終端系列になるＭの値を算出することである。
【００２４】
＜ステップＳＴ３＞
ステップＳＴ２で算出したＭ１、Ｍ２、…、Ｍｎ”を用いて、集合ＳＮ，ｐ，ｓを以下のように決定する。
S0={K|1≦K≦N2}
Sk={K|N×(Mk-1)+1≦K≦N×Mk}      k=1、2、…、n’’
SN,p,s=S0＼(S1∪S2∪…∪Sn’’)  …（３）
＜ステップＳＴ４＞
所望の情報系列長Ｋに対して、Ｋ∈ＳＮ，ｐ，ｓとなるＮ、ｐ、ｓの組み合わせを選び、インタリーバ１０３，２０３のパラメータとする。
【００２５】
すなわち、ステップＳＴ３、ステップＳＴ４は、入力系列長算出工程で算出したパラメータ集合の差集合となるパラメータを算出するパラメータ候補算出工程である。ステップＳＴ１及びステップＳＴ２で求めた自己終端系列とは、図３の第１のＲＳＣ符号化器１０１または第２のＲＳＣ符号化器１０２に入力することで、低重み、すなわち非零のビット数が少ないような符号語が出力される系列である。低重み符号語は誤り訂正能力を低下させる原因となるため、このような自己終端系列を第１のＲＳＣ符号化器１０１と第２のＲＳＣ符号化器１０２に同時に入力することは避けるべきである。従って、ステップＳＴ３で決定する集合ＳＮ，ｐ，ｓは、自己終端系列が第１のＲＳＣ符号化器１０１と第２のＲＳＣ符号化器１０２に同時に入力されないような情報系列長Ｋの集合を示しており、ステップＳＴ４でＫ∈ＳＮ，ｐ，ｓなるＮ，ｐ，ｓの組み合わせを選ぶことで、誤り訂正能力を向上させることが可能である。
【００２６】
＜ステップＳＴ５＞
ステップＳＴ４で、Ｋ∈ＳＮ，ｐ，ｓとなるＮ、ｐ、ｓの組み合わせが複数ある場合、たとえばＮが最小となるものから選ぶ。それでも複数の選択肢がある場合、ｐが最小となるものから選ぶ。それでも複数の選択肢がある場合ｓが最小となるものを選ぶ。その他、疑似乱数を用いて選ぶ等、一つの組合せを確定できる方法であればその選び方はいずれであっても良い。すなわち、一つの組合せを確定する条件としては、
（ａ）実装時の回路規模が削減できるもの
（ｂ）インタリーブのスプレッディング・ファクタの性質が良いもの
（ｃ）インタリーバのランダム性が高いもの
が挙げられる。
ここで、スプレッディング・ファクタとは、入力系列のビット距離を拡散させる効果を示し、小さいビット距離を大きくできる程インタリーバとしての性質が良いとされる。
なお、「Ｎが最小となるものから選ぶ。それでも複数の選択肢がある場合、ｐが最小となるものから選ぶ。それでも複数の選択肢がある場合ｓが最小となるものを選ぶ」という例は、上記（ａ）と（ｂ）に基づく選択方法の一例である。
また、このステップＳＴ５は、パラメータ候補算出工程で算出したパラメータが複数ある場合、これらのパラメータの中からいずれかを選択するパラメータ選択工程に対応するものである。
【００２７】
＜ステップＳＴ６、ステップＳＴ７＞
なお、基本疑似乱数系列が以下のような周期性をもつ場合、
abs(Cp(j+1+floor(N/2))-Cp(j+floor(N/2)))=abs(Cp(j+1)-Cp(j))  …（４）
j=0、1、…、floor(N/2)-2
ステップＳＴ１で算出するｉ、ｊの組み合わせに以下の組み合わせも加える。
i=1、2、…、ni
j=(floor(N/2)+(N-s)×i)modN  …（５）
ここでfloor(x)はx以下の最大の整数である。
【００２８】
以上のように、誤り訂正能力低下の原因となる低重み符号語の大量発生を避けるように、インタリーバ１０３，２０３のパラメータＮ、ｐ、ｓを、整数値の四則演算のみで簡易に確定しているので、誤り訂正能力の高い符号を構成するインタリーバを符号構造に応じて高速に生成することができる。
【００２９】
以上説明したように、実施の形態１のインタリーバ生成方法によれば、Ｍ行Ｎ列のバッファ内に入力系列を格納し、長さＮの基本疑似乱数系列を行単位にシフトすることでＭ行Ｎ列のラテン方陣またはラテン長方形のマッピングパターンを形成し、マッピングパターンに入力系列をマッピングしてマッピング後の入力系列を列単位に読み出すインタリーバを生成するインタリーバ生成方法であって、特定の入力系列パターンがインタリーバによって特定の出力系列パターンに並び替えられるインタリーバのパラメータ集合を算出する入力系列長算出工程と、入力系列長算出工程で算出したパラメータ集合の差集合となるパラメータを算出するパラメータ候補算出工程と、パラメータ候補算出工程で算出したパラメータを用いてインタリーバを生成するインタリーバ生成工程とを備えたので、誤り訂正能力の高い符号を構成するインタリーバを高速に生成することができる。
【００３０】
また、実施の形態１のインタリーバ生成方法によれば、特定の入力系列パターンと特定の出力系列パターンは、自己終端系列としたので、誤り訂正能力低下の原因となる低重み符号語の大量発生を避けることのできるインタリーバのパラメータを簡易かつ高速に求めることができる。
【００３１】
また、実施の形態１のインタリーバ生成方法によれば、パラメータ候補算出工程で算出したパラメータが複数ある場合、複数のパラメータの中からいずれかを選択するパラメータ選択工程を備え、インタリーバ生成工程では、パラメータ候補算出工程で算出したパラメータに代えて、パラメータ選択工程で選択したパラメータを用いてインタリーバを生成するようにしたので、誤り訂正能力の高いパラメータを用いてインタリーバを生成することができる。
【００３２】
実施の形態２．
実施の形態１では、プルーニング処理を含むインタリーバのパラメータを算出したが、次にプルーニング処理を含まない以下のようなインタリーバの場合にパラメータを簡易に算出する例を実施の形態２として示す。
【００３３】
図６は、ターボ符号化器１００ａ及びターボ復号器２００ａを含む実施の形態２の通信システムを示す構成図である。図６において、送信装置１ａは、ビット調整器１３０とターボ符号化器１００ａと変調器１１０を含む構成とし、受信装置２ａは、復調器２１０とターボ復号器２００ａとビット調整器２３０を含む構成とする。ターボ符号化器１００ａ及びターボ復号器２００ａは内部に同一のインタリーバ１０３ａ，２０３ａを有する。なお、図６及び後述する図７においても、ターボ符号化器１００ａ及びターボ復号器２００ａ内のインタリーバ１０３ａ，２０３ａ以外の構成は図示を省略している。
【００３４】
次に、実施の形態２の通信システムにおける符号化及び復号処理の流れを簡単に説明する。
送信装置１ａ内のビット調整器１３０では、長さＫの情報系列u=(u0,u1,…,uK-1)を受け取り、(N-1-((K-1) mod N))ビット分の0または1の既知の信号を挿入して、長さL=K+(N-1-((K-1) mod N))の系列u’=(u’0,u’1,…,u’L-1)を生成し、インタリーバ１０３ａの入力系列とする。挿入位置は情報系列の先頭や末尾など（Ｌ−Ｋ）個の任意の場所とする。送信装置１ａ内のターボ符号化器１００ａでは、ビット調整された長さＬの系列ｕ’を受け取り、インタリーバ１０３ａを用いて符号化した符号語ｖを生成する。そして、送信装置１ａ内の変調器１１０では、ターボ符号化器２で生成した符号語ｖに対して、所定の変調方式に応じてデジタル変調し、その変調信号x=(x0,x1,…,xN-1)を、通信路３を介して受信装置２ａに送信する。
【００３５】
一方、受信装置２ａでは、復調器２１０が通信路３を介して受け取った変調信号y=(y0,y1,…,yN-1)に対して、上記変調方式に応じてデジタル復調し、さらに、受信装置２ａ内のターボ復号器２００ａが、復調結果に対してインタリーバ２０３ａを用いて復号し、その復号結果（元の系列ｕ’に対応）を出力し、ビット調整器２３０が、送信時に挿入した調整ビットを取り除き、その結果（元の情報系列ｕに対応）を出力する。
なお、上記送信装置１ａと上記受信装置２ａの双方の構成を搭載した通信装置を複数構成し、当該複数の通信装置間で互いに信号を送受信するようにしても良い。
【００３６】
また、図７のように、送信装置１ａにパンクチャ器１２０、受信装置２ａにデパンクチャ器２２０を含めても良い。この場合、パンクチャ器１２０では、通信システムの要求に応じた長さＷの符号語を、ターボ符号化器１００ａの出力からパンクチャして生成し、これを変調器１１０に入力する。また、デパンクチャ器２２０では、パンクチャ器１２０でパンクチャされたビットをデパンクチャし、これをターボ復号器２００ａに入力する。
【００３７】
ターボ符号器１００ａは、実施の形態１で説明したように、第１のＲＳＣ符号化器１０１と第２のＲＳＣ符号化器１０２とインタリーバ１０３ａから構成される。また、これらの第１のＲＳＣ符号化器１０１及び第２のＲＳＣ符号化器１０２は図４に示すような構成であるが、これに限定されるものではない。さらに、ターボ復号器２００ａはターボ符号化器１００ａに対応して構成されている。
【００３８】
本実施の形態のインタリーバ１０３ａ，２０３ａの並び替えアルゴリズムは、実施の形態１のインタリーバ１０３，２０３の並び替えアルゴリズムにおいて、情報系列長Ｋをインタリーバ入力系列長Ｌで置き換えて、＜ステップ６＞のプルーニング処理を除いたものである。
また、本実施の形態のインタリーバ１０３ａ，２０３ａのパラメータを算出するアルゴリズムは、実施の形態１の算出アルゴリズムにおいて、ステップＳＴ２でｋ＝０に固定したものである。
【００３９】
以上のように、実施の形態２のインタリーバ生成方法では、実施の形態１で必要だったインタリーバ生成におけるプルーニング処理をなくし、インタリーバ１０３ａ，２０３ａのパラメータ算出アルゴリズムを簡易にしているので、誤り訂正能力の高い符号を構成するインタリーバをさらに高速に生成することができる。
【００４０】
実施の形態３．
実施の形態１及び実施の形態２は、インタリーバ１０３，１０３ａ，２０３，２０３ａのパラメータを算出するインタリーバ生成方法に関するものであったが、次にインタリーバ１０３，１０３ａ，２０３，２０３ａのパラメータを算出するインタリーバ生成装置に関する例を実施の形態３として説明する。
【００４１】
図８はこの発明の実施の形態３におけるインタリーバ生成装置１０を含む通信システムを示す構成図である。図９はインタリーバ生成装置１０内部を示す構成図である。図８において、送信装置１及び受信装置２の構成は実施の形態１と同様である。ターボ符号化器１００及びターボ復号器２００は、内部に、インタリーバ生成装置１０によって生成される同一のインタリーバ１０３，２０３を有する。
【００４２】
図９において、インタリーバ生成装置１０は、入力系列長集合算出部１１とパラメータ候補算出部１２とパラメータ選択部１３を備える。入力系列長集合算出部１１は、特定の入力系列パターンがインタリーバ１０３によって特定の出力系列パターンに並び替えられるインタリーバ１０３のパラメータ集合を算出する処理部である。パラメータ候補算出部１２は、入力系列長集合算出部１１で算出したパラメータ集合の差集合となるパラメータを算出する処理部である。パラメータ選択部１３は、パラメータ候補算出部１２で算出したパラメータの中からいずれかの組合せを選択する処理部である。なお、実施の形態３において、パラメータ候補算出部１２で算出したパラメータを用いてインタリーバを生成するインタリーバ生成部はインタリーバ１０３，２０３で実現されている。
【００４３】
実施の形態３のインタリーバ１０３，２０３の並び替えアルゴリズムは、実施の形態１または実施の形態２のインタリーバ１０３，２０３と同様とする。
次に、実施の形態３のインタリーバ生成装置１０におけるインタリーバ１０３，２０３のパラメータを算出する流れを説明する。
インタリーバ生成装置１０の入力系列長集合算出部１１では、ターボ符号化器１００を構成する第１のＲＳＣ符号化器１０１の帰還多項式Ｐ（Ｄ）と第２のＲＳＣ符号化器１０２の帰還多項式Ｐ’（Ｄ）を用いた、図５のフローチャートに記載のステップＳＴ１からステップＳＴ３のループによって、特定の入力系列パターンがインタリーバ１０３によって特定の出力系列パターンに並び替えられる入力系列長の集合ＳＮ，ｐ，ｓを算出する。パラメータ候補算出部１２では、ＳＮ，ｐ，ｓとインタリーバ１０３の入力系列長を用いた、実施の形態１に記載のアルゴリズムのステップＳＴ４の処理を行い、インタリーバ１０３のパラメータＮ、ｐ、ｓの組み合わせの集合を算出する。パラメータ選択部１３では、パラメータ候補算出部１２で算出した集合を用いた、実施の形態１に記載のアルゴリズムのステップＳＴ５の処理を行い、確定的な方法でインタリーバ１０３のパラメータＮ、ｐ、ｓを選択して出力する。
【００４４】
なお、実施の形態３においても、図２、６，７のように、送信装置１にパンクチャ器１２０やビット調整器１３０、受信装置２にデパンクチャ器２２０やビット調整器２３０を含めても良い。この場合、通信システムにおける符号化及び復号処理の流れは、実施の形態１または実施の形態２の場合と同様とする。
【００４５】
以上説明したように、実施の形態３のインタリーバ生成装置によれば、Ｍ行Ｎ列のバッファ内に入力系列を格納し、長さＮの基本疑似乱数系列を行単位にシフトすることでＭ行Ｎ列のラテン方陣またはラテン長方形のマッピングパターンを形成し、マッピングパターンに入力系列をマッピングしてマッピング後の入力系列を列単位に読み出すインタリーバを生成するインタリーバ生成装置であって、特定の入力系列パターンがインタリーバによって特定の出力系列パターンに並び替えられるインタリーバのパラメータ集合を算出する入力系列長集合算出部と、入力系列長集合算出部で算出したパラメータ集合の差集合となるパラメータを算出するパラメータ候補算出部と、パラメータ候補算出部で算出したパラメータを用いてインタリーバを生成するインタリーバ生成部とを備えたので、実施の形態１または実施の形態２におけるインタリーバ生成方法を装置として構成しているので、誤り訂正能力の高い符号を構成するインタリーバを装置により高速に生成することができる。
【００４６】
また、実施の形態３のインタリーバ生成装置によれば、特定の入力系列パターンと前記特定の出力系列パターンは、自己終端系列としたので、誤り訂正能力低下の原因となる低重み符号語の大量発生を避けることのできるインタリーバのパラメータを簡易かつ高速に求めることができる。
【００４７】
また、実施の形態３のインタリーバ生成装置によれば、パラメータ候補算出部で算出したパラメータが複数ある場合、複数のパラメータの中からいずれかを選択するパラメータ選択部を備え、インタリーバ生成部では、パラメータ候補算出部で算出したパラメータに代えて、パラメータ選択部で選択したパラメータを用いてインタリーバを生成するようにしたので、誤り訂正能力の高いパラメータを用いてインタリーバを生成することができる。
【００４８】
実施の形態４．
実施の形態１では、長さＮの基本疑似乱数系列を用いたインタリーバのパラメータを算出するようにしたものであるが、次に長さ（Ｎ−１）の基本疑似乱数系列を用いた以下のようなインタリーバの場合にパラメータを算出する例を実施の形態４として説明する。
なお、本実施の形態のシステム構成は、前述した実施の形態１と同様であるため、図１〜図４の構成を用いて説明する。以下、実施の形態１とは異なる処理について説明する。
【００４９】
まず、本実施の形態のインタリーバ１０３，２０３の並び替えアルゴリズムを説明する。ここでは、実施の形態１と異なる＜ステップ１＞と＜ステップ２＞の処理についてのみ説明する。
＜ステップ１＞
パラメータを設定する。
K：情報系列長
N：マッピング行列の列数
M=ceil(K/N)：マッピング行列の行数
s：基本疑似乱数系列読み出し時の開始位置シフト数
p：基本疑似乱数系列のパターン
Cp(0),Cp(1),…,Cp(N-2)：基本疑似乱数系列
ここでceil(x)はx以上の最小の整数である。sはNと素な正の整数または1の値を取る。また、基本疑似乱数系列は長さNの並び替えパターンであり、集合{Cp(0),Cp(1),…,Cp(N-2)}は集合{1,2,…,N-1}と一致する。
【００５０】
＜ステップ２＞
基本疑似乱数系列をs個ずつシフトして、M種類の長さNの疑似乱数系列CLj(i)を構成する。
CLj(i)=Cp((i+s×j) mod (N-1))
i=0,1,…,N-2
j=0,1,…,M-1
CLj(N-1)=0
j=0,1,…,M-1
ここで、ステップ１で用いる長さ（Ｎ−１）の基本疑似乱数系列Cp(0),Cp(1),…,Cp(N-2)は、たとえばＮとして素数を選択し、ｇ０をＮの原始元として以下のように生成する。
Cp(0)=1
Cp(i+1)=(g0×Cp(i)) mod N
i=0,…,N-3
この生成は、以下のようにしても同じである。
Cp(i)=g0i mod N
i=0,…, N-2
【００５１】
以上のように原始元を用いて基本疑似乱数系列を生成するとき、特に原始元ｇ０＝２の場合には、基本疑似乱数系列を得るための二乗算処理が１ビットシフトで可能であるから、原始元が２の素数だけにＮを限定することで処理量を軽減することも可能である。
また、Ｐ’を（Ｎ−１）と互いに素な整数として、以下のように生成しても良い。
Cp(i)=((P’×i) mod (N-1))+1
i=0,…,N-2
また、Ｐ’をＮと互いに素な整数として、以下のように生成しても良い。
Cp(i)=((P’×i+Q) mod (N-1))+1
i=0,…,N-2
ここでＱは任意の正の整数である。
また、基本疑似乱数系列Cp(0),Cp(1),…,Cp(N-2)は長さ（Ｎ−１）の並び替えパターンであって、集合{Cp(0),Cp(1),…,Cp(N-2)}が集合{1,…,N-1}と一致するものであれば、その他いずれであっても良い。
【００５２】
このように、実施の形態４のインタリーバ１０３，２０３の並び替えアルゴリズムは、Ｍ行Ｎ列のバッファ内に入力系列を格納し、長さ（Ｎ−１）の基本疑似乱数系列を行単位にシフトすることでＭ行（Ｎ−１）列のラテン方陣またはラテン長方形のパターンを形成し、このＭ行（Ｎ−１）列のパターンの最右列に各行の系列の最小値を配置することでＭ行Ｎ列のマッピングパターンを形成し、Ｍ行Ｎ列のマッピングパターンに入力系列をマッピングしてマッピング後の入力系列を列単位に読み出すものである。
【００５３】
次に、本実施の形態のインタリーバ１０３，２０３のパラメータN、p、sを算出する方法について説明する。ここでは、実施の形態１と異なるステップＳＴ１とステップＳＴ３の処理及びステップＳＴ１の処理の変さらに伴うステップＳＴ６とステップＳＴ７の処理についてのみ説明する。
＜ステップＳＴ１＞
マッピング行列の列数Ｎ、基本疑似乱数系列読み出し時の開始位置シフト数ｓ、基本疑似乱数系列のパターンｐに対して、以下が成り立つｉ、ｊの組み合わせを算出する。
abs(i×N+Cp(((N-1)+j+i×s+k) mod (N-1)))-Cp(k))=l  …（１）
l=l1、l2、…、ln
i=0、1、…、ni
j=-nj、…、-1、0、1、…、nj
k=0、1、…、N-2
ａｂｓ（ｘ）はｘの絶対値である。ｎｉ、ｎｊはそれぞれ、（Ｎ−２）以下の正の整数である。
【００５４】
＜ステップＳＴ３＞
ステップＳＴ２で算出したＭ１、Ｍ２、…、Ｍｎ”を用いて、集合ＳＮ，ｐ，ｓを以下のように決定する。
S0={K|1≦K≦N×(N-1)}
Sk={K|N×(Mk-1)+1≦K≦N×Mk}      k=1、2、…、n”
SN,p,s=S0＼(S1∪S2∪…∪Sn”)
【００５５】
＜ステップＳＴ６、ステップＳＴ７＞
なお、基本疑似乱数系列が数式（４）のような周期性をもつ場合、ステップＳＴ１で算出するｉ、ｊの組み合わせに以下の組み合わせも加える。
i=1、2、…、ni
j=(floor(N/2)+(N-1-s)×i) mod (N-1)
ここでfloor(x)はx以下の最大の整数である。
【００５６】
以上説明したように、実施の形態４のインタリーバ生成方法によれば、Ｍ行Ｎ列のバッファ内に入力系列を格納し、長さ（Ｎ−１）の基本疑似乱数系列を行単位にシフトすることでＭ行（Ｎ−１）列のラテン方陣またはラテン長方形のパターンを形成し、Ｍ行（Ｎ−１）列のパターンの最右列に各行の系列の最小値を配置することでＭ行Ｎ列のマッピングパターンを形成し、Ｍ行Ｎ列のマッピングパターンに入力系列をマッピングしてマッピング後の入力系列を列単位に読み出すインタリーバを生成するインタリーバ生成方法であって、特定の入力系列パターンがインタリーバによって特定の出力系列パターンに並び替えられるインタリーバのパラメータ集合を算出する入力系列長算出工程と、入力系列長算出工程で算出したパラメータ集合の差集合となるパラメータを算出するパラメータ候補算出工程と、パラメータ候補算出工程で算出したパラメータを用いてインタリーバを生成するインタリーバ生成工程とを備えたので、実施の形態１と異なるインタリーバ並び替えアルゴリズムに対するパラメータの算出方法を与えているので、誤り訂正能力の高い符号を構成するインタリーバを高速に生成する際の選択肢を広くとることができる。
【００５７】
実施の形態５．
実施の形態２では、長さNの基本疑似乱数系列を用いたインタリーバのパラメータを算出するようにしたものであるが、次に、長さ（Ｎ−１）の基本疑似乱数系列を用いたインタリーバの場合にパラメータを算出する例を実施の形態５として説明する。
なお、本実施の形態の図面上のシステム構成は、前述した実施の形態２と同様であるため、実施の形態２における図６の構成を用いて説明する。以下、実施の形態２と異なる処理について説明する。
【００５８】
本実施の形態のインタリーバ１０３ａ，２０３ａの並び替えアルゴリズムは、実施の形態４のインタリーバ１０３，２０３の並び替えアルゴリズムにおいて、情報系列長Ｋをインタリーバ入力系列長Ｌで置き換えて、＜ステップ６＞のプルーニング処理を除いたものである。
本実施の形態のインタリーバ１０３ａ，２０３ａのパラメータを算出するアルゴリズムは、実施の形態４の算出アルゴリズムにおいて、ステップＳＴ２でｋ＝０に固定したものである。
【００５９】
以上のように、実施の形態４のインタリーバ生成方法では、実施の形態２と異なるインタリーバ並び替えアルゴリズムに対するパラメータの算出方法を与えているので、誤り訂正能力の高い符号を構成するインタリーバを高速に生成する際の選択肢を広くとることができる。
【００６０】
実施の形態６．
実施の形態４及び実施の形態５は、インタリーバ１０３，１０３ａ，２０３，２０３ａのパラメータを算出するインタリーバ生成方法に関する例であったが、次にインタリーバ１０３，１０３ａ，２０３，２０３ａのパラメータを算出するインタリーバ生成装置に関する例を実施の形態６として説明する。
【００６１】
実施の形態６におけるインタリーバ生成装置を含む通信システムの図面上の構成は図８及び図９と同様であるため、これらの図の構成を用いて説明する。インタリーバ生成装置１０は、入力系列長集合算出部１１とパラメータ候補算出部１２とパラメータ選択部１３を備える。入力系列長集合算出部１１は、特定の入力系列パターンがインタリーバ１０３によって特定の出力系列パターンに並び替えられるインタリーバ１０３のパラメータ集合を算出する処理部である。パラメータ候補算出部１２は、入力系列長集合算出部１１で算出したパラメータ集合の差集合となるパラメータを算出する処理部である。パラメータ選択部１３は、パラメータ候補算出部１２で算出したパラメータの中からいずれかの組合せを選択する処理部である。また、実施の形態６において、パラメータ候補算出部１２で算出したパラメータを用いてインタリーバを生成するインタリーバ生成部はインタリーバ１０３，２０３内で実現されている。
【００６２】
実施の形態６のインタリーバ１０３ａ，２０３ａの並び替えアルゴリズムは、実施の形態４及び実施の形態５のインタリーバ１０３ａ，２０３ａと同様とする。
次に、実施の形態６のインタリーバ生成装置１０におけるインタリーバ１０３，２０３のパラメータを算出する流れを説明する。
入力系列長集合算出部１１では、ターボ符号化器１００を構成する第１のＲＳＣ符号化器１０１の帰還多項式Ｐ（Ｄ）と第２のＲＳＣ符号化器１０２の帰還多項式Ｐ’（Ｄ）を用いた、実施の形態４に記載のアルゴリズムのステップＳＴ１からステップＳＴ３のループによって、特定の入力系列パターンがインタリーバ１０３によって特定の出力系列パターンに並び替えられる入力系列長の集合ＳＮ，ｐ，ｓを算出する。パラメータ候補算出部１２では、ＳＮ，ｐ，ｓとインタリーバ１０３の入力系列長を用いた、実施の形態４に記載のアルゴリズムのステップＳＴ４によって、インタリーバ１０３のパラメータN、p、sの組み合わせの集合を算出する。パラメータ選択部１３では、パラメータ候補算出部１２で算出した集合を用いた、実施の形態４に記載のアルゴリズムのステップＳＴ５の処理を行い、確定的な方法でインタリーバ１０３のパラメータN、p、sを選択して出力する。
【００６３】
なお、実施の形態６においても、図２、６，７のように、送信装置１にパンクチャ器１２０やビット調整器１３０、受信装置２にデパンクチャ器２２０やビット調整器２３０を含めても良い。この場合、通信システムにおける符号化及び復号処理の流れは、実施の形態４または実施の形態５の場合と同様とする。
【００６４】
以上説明したように、実施の形態６のインタリーバ生成装置によれば、Ｍ行Ｎ列のバッファ内に入力系列を格納し、長さ（Ｎ−１）の基本疑似乱数系列を行単位にシフトすることでＭ行（Ｎ−１）列のラテン方陣またはラテン長方形のパターンを形成し、Ｍ行（Ｎ−１）列のパターンの最右列に各行の系列の最小値を配置することでＭ行Ｎ列のマッピングパターンを形成し、Ｍ行Ｎ列のマッピングパターンに入力系列をマッピングしてマッピング後の入力系列を列単位に読み出すインタリーバを生成するインタリーバ生成装置であって、特定の入力系列パターンがインタリーバによって特定の出力系列パターンに並び替えられるインタリーバのパラメータ集合を算出する入力系列長集合算出部と、入力系列長集合算出部で算出したパラメータ集合の差集合となるパラメータを算出するパラメータ候補算出部と、パラメータ候補算出部で算出したパラメータを用いてインタリーバを生成するインタリーバ生成部とを備えたので、実施の形態４または実施の形態５におけるインタリーバ生成方法を装置として構成しているので、誤り訂正能力の高い符号を構成するインタリーバを装置により高速に生成することができる。
【００６５】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００６６】
１、１ａ  送信装置、２，２ａ  受信装置、３  通信路、１０  インタリーバ生成装置、１１  入力系列長集合算出部、１２  パラメータ候補算出部、１３  パラメータ選択部、１００，１００ａ  ターボ符号化器、１０１  第１のＲＳＣ符号化器、１０２  第２のＲＳＣ符号化器、１０３，１０３ａ，２０３，２０３ａ  インタリーバ、１１０  変調器、１２０  パンクチャ器、１３０，２３０  ビット調整器、２００，２００ａ  ターボ復号器、２１０  復調器、２２０  デパンクチャ器。
【図１】
0006381400.tif 000002
【図２】
0006381400.tif 000003
【図３】
0006381400.tif 000004
【図４】
0006381400.tif 000005
【図５】
0006381400.tif 000006
【図６】
0006381400.tif 000007
【図７】
0006381400.tif 000008
【図８】
0006381400.tif 000009
【図９】
0006381400.tif 000010