(57)【要約】【課題】事前に全てのインタリーブ位置もしくは逆インタリーブ位置を格納するメモリや、複数のインタリーブ位置もしくは逆インタリーブ位置を同時に計算する複雑な回路を実装することなく、畳み込み符号化の処理時間を短縮することができるようにする。【解決手段】連続する２つの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけで算出する逆インタリーブ生成器２と、逆インタリーブ生成器２により算出された逆インタリーブ位置に複数の情報ビットを配置してターボ符号のインタリーブ系列を生成するメモリＩＦ３とを設ける。【選択図】図１
2009077154.tif 000002
【特許請求の範囲】
【請求項１】
情報ビット系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティビットを複数ビットずつ生成する第１の符号化手段と、上記複数の情報ビットの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけで算出する逆インタリーブ位置算出手段と、上記逆インタリーブ位置算出手段により算出された逆インタリーブ位置に上記複数の情報ビットを配置してターボ符号のインタリーブ系列を生成するインタリーブ系列生成手段と、上記インタリーブ系列生成手段により生成されたインタリーブ系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティビットを複数ビットずつ生成する第２の符号化手段とを備えたターボ符号化装置。
【請求項２】
情報ビット系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティビットを複数ビットずつ生成する第１の符号化手段と、上記情報ビット系列を格納する情報ビット系列格納手段と、上記複数の情報ビットのインタリーブ位置を加減算処理と比較計算処理を実施するだけで算出するインタリーブ位置算出手段と、上記情報ビット系列格納手段に格納されている情報ビット系列の中から、上記インタリーブ位置算出手段により算出されたインタリーブ位置にある複数の情報ビットを読み出す情報ビット読出手段と、上記情報ビット読出手段により読み出された複数の情報ビットを順番に入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号のインタリーブ系列のパリティビットを複数ビットずつ生成する第２の符号化手段とを備えたターボ符号化装置。
【請求項３】
ターボ符号として、「３ＧＰＰ  ＴＳ３６．２１２」の規格に規定されているターボ符号を取り扱うことを特徴とする請求項１または請求項２記載のターボ符号化装置。
【請求項４】
ターボ符号のインタリーバとしてＱＰＰ方式を採用していることを特徴とする請求項１から請求項３のうちのいずれか１項記載のターボ符号化装置。
【請求項５】
第１の符号化手段が情報ビット系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティビットを複数ビットずつ生成する第１の符号化ステップと、逆インタリーブ位置算出手段が上記複数の情報ビットの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけで算出する逆インタリーブ位置算出ステップと、インタリーブ系列生成手段が上記逆インタリーブ位置算出手段により算出された逆インタリーブ位置に上記複数の情報ビットを配置してターボ符号のインタリーブ系列を生成するインタリーブ系列生成ステップと、第２の符号化手段が上記インタリーブ系列生成手段により生成されたインタリーブ系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティビットを複数ビットずつ生成する第２の符号化ステップとを備えたターボ符号化方法。
【請求項６】
第１の符号化手段が情報ビット系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティビットを複数ビットずつ生成する第１の符号化ステップと、情報ビット系列格納手段が上記情報ビット系列を格納する情報ビット系列格納ステップと、インタリーブ位置算出手段が複数の情報ビットのインタリーブ位置を加減算処理と比較計算処理を実施するだけで算出するインタリーブ位置算出ステップと、情報ビット読出手段が上記情報ビット系列格納手段に格納されている情報ビット系列の中から、上記インタリーブ位置算出手段により算出されたインタリーブ位置にある複数の情報ビットを読み出す情報ビット読出ステップと、第２の符号化手段が上記情報ビット読出手段により読み出された複数の情報ビットを順番に入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号のインタリーブ系列のパリティビットを複数ビットずつ生成する第２の符号化ステップとを備えたターボ符号化方法。
【請求項７】
情報ビット系列をターボ符号化してターボ符号を生成し、上記ターボ符号を変調して変調波を送信する送信装置と、上記送信装置から送信された変調波を受信し、上記変調波からターボ符号を復調する受信装置とからなる通信システムにおいて、上記送信装置が、上記情報ビット系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティビットを複数ビットずつ生成する第１の符号化手段と、上記複数の情報ビットの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけで算出する逆インタリーブ位置算出手段と、上記逆インタリーブ位置算出手段により算出された逆インタリーブ位置に上記複数の情報ビットを配置してターボ符号のインタリーブ系列を生成するインタリーブ系列生成手段と、上記インタリーブ系列生成手段により生成されたインタリーブ系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティビットを複数ビットずつ生成する第２の符号化手段とを備えたターボ符号化装置を実装していることを特徴とする通信システム。
【請求項８】
情報ビット系列をターボ符号化してターボ符号を生成し、上記ターボ符号を変調して変調波を送信する送信装置と、上記送信装置から送信された変調波を受信し、上記変調波からターボ符号を復調する受信装置とからなる通信システムにおいて、上記送信装置が、上記情報ビット系列の先頭から情報ビットを複数ビットずつ入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティビットを複数ビットずつ生成する第１の符号化手段と、上記情報ビット系列を格納する情報ビット系列格納手段と、上記複数の情報ビットのインタリーブ位置を加減算処理と比較計算処理を実施するだけで算出するインタリーブ位置算出手段と、上記情報ビット系列格納手段に格納されている情報ビット系列の中から、上記インタリーブ位置算出手段により算出されたインタリーブ位置にある複数の情報ビットを読み出す情報ビット読出手段と、上記情報ビット読出手段により読み出された複数の情報ビットを順番に入力し、上記複数の情報ビットに対する畳み込み符号化を実施してターボ符号のインタリーブ系列のパリティビットを複数ビットずつ生成する第２の符号化手段とを備えたターボ符号化装置を実装していることを特徴とする通信システム。
【請求項９】
送信装置が移動体端末であり、受信装置が基地局であることを特徴とする請求項７または請求項８記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ディジタル信号処理における誤り訂正技術に係り、特にターボ符号の符号化を行うターボ符号化装置、ターボ符号化方法及び通信システムに関するものである。
【背景技術】
【０００２】
ターボ符号の符号化は、情報ビットの非インタリーブ系列とインタリーブ系列に対して、所定の畳み込み符号化を実施することにより、夫々のパリティ系列を生成する（例えば、非特許文献１を参照）。
ここで、情報ビットの非インタリーブ系列は、入力される情報ビットのビット列であり、インタリーブ系列は、入力される情報ビットのビット列がターボ符号で規定されているインタリーバにしたがって並び替えられたビット列である。
【０００３】
以下、説明の便宜上、非インタリーブ系列から生成されるパリティビットを“パリティ１ビット”と称し、インタリーブ系列から生成されるパリティビットを“パリティ２ビット”と称する。
また、「３ＧＰＰ  ＴＳ３６．２１２」の規格で規定されているターボ符号の場合、夫々の全ビット列を入力した後、テイルビットと呼ばれるパリティビットを生成する。
したがって、このターボ符号は、情報ビット系列、パリティ１ビット系列、パリティ２ビット系列及びテイルビット系列から構成される。
【０００４】
一般的なターボ符号の符号化処理では、情報ビット系列の情報長（情報ビット数）がＫビット、１つの畳み込み符号化で生成するテイルビット数がＴビットであるとすると、情報ビットを１ビットずつターボ符号化装置の畳み込み符号化器に入力するため、パリティ１ビット系列の生成にはＫ＋Ｔステップの処理が必要になり、インタリーブ系列の生成にはＫ＋Ｔステップの処理が必要となる。
したがって、例えば、Ｋビットの情報ビットを全て符号化するには、２×（Ｋ＋Ｔ）ステップの処理が必要となる。
【０００５】
なお、ターボ符号の符号化において、パリティビット系列を生成する際に実施する畳み込み符号化は、拘束長に依存する数の遅延素子を使用して、１ビットずつ情報ビットを入力することで符号化するのが一般的であるが、ｎビット（ｎ＞１）ずつ情報ビットを入力して、ｎビットずつパリティビットを生成することも可能である。
ｎビットずつパリティビットを生成する場合、１ビットずつ情報ビットを入力して、１ビットずつパリティビットを生成する場合と比べて、畳み込み符号化の処理時間が１／ｎの時間になる。
【０００６】
ただし、ｎビットずつ情報ビットを入力して、ｎビットずつパリティビットを生成する場合、インタリーブ系列の先頭から順番にｎビットずつ情報ビットを入力する必要があり、ｎ個のインタリーブ位置もしくは逆インタリーブ位置を得る必要がある。
ここで、π（ｔ）番目の情報ビットをｔ番目の位置に並び替える操作をインタリーブと称し、インタリーブ前の位置が“ｓ”であれば、インタリーブ位置はｓ＝π（ｔ）で表記される。
また、インタリーブ後にπ-1（ｓ）番目にある情報ビットを元の位置に戻す操作を逆インタリーブと称し、逆インタリーブ位置はｔ＝π-1（ｓ）で表記される。
なお、全てのインタリーブ位置の集合をインタリーバと称する。
【０００７】
メモリに格納された情報ビット系列から、ｎビットの情報ビットを選択して読み出すには、同時にｎ個のインタリーブ位置もしくは逆インタリーブ位置を得て、当該メモリにアクセスする必要がある。
複数のインタリーブ位置もしくは逆インタリーブ位置を得ることができるようにするには、予め、全てのインタリーブ位置もしくは逆インタリーブ位置を算出してメモリに格納しておく必要がある。
【０００８】
【非特許文献１】萩原春生、「ターボ符号の基礎」、トリケップス、p.37-38、１９９９年１０月７日
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来のターボ符号化装置は以上のように構成されているので、事前に全てのインタリーブ位置もしくは逆インタリーブ位置を算出してメモリに格納しておければ、メモリに格納された情報ビット系列から、同時にｎビットの情報ビットを選択して読み出すことができる。しかし、全てのインタリーブ位置もしくは逆インタリーブ位置を格納するメモリが必要になり、メモリ量の増大を招く課題があった。また、符号化処理を開始する以前に、全てのインタリーブ位置もしくは逆インタリーブ位置の算出を終えて、メモリに格納しておく必要があるため、事前に処理を開始するなどのタイミング制御が複雑になる課題もあった。
なお、「３ＧＰＰ  ＴＳ３６．２１２」の規格で規定されているＱＰＰ（Ｑｕａｄｒａｔｉｃ  Ｐｏｌｙｎｏｍｉａｌ  Ｐｅｒｍｕｔａｔｉｏｎ）インタリーバでは、規定の２次多項式を計算することによって、複数のインタリーブ位置もしくは逆インタリーブ位置を同時に得ることが可能であるが、２次多項式を計算することができるようにするには、規模が大きな回路を実装する必要がある。
【００１０】
この発明は上記のような課題を解決するためになされたもので、事前に全てのインタリーブ位置もしくは逆インタリーブ位置を格納するメモリや、複数のインタリーブ位置もしくは逆インタリーブ位置を同時に計算する複雑な回路を実装することなく、畳み込み符号化の処理時間を短縮することができるターボ符号化装置、ターボ符号化方法及び通信システムを得ることを目的とする。
【課題を解決するための手段】
【００１１】
この発明に係るターボ符号化装置は、複数の情報ビットの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけで算出する逆インタリーブ位置算出手段と、逆インタリーブ位置算出手段により算出された逆インタリーブ位置に複数の情報ビットを配置してターボ符号のインタリーブ系列を生成するインタリーブ系列生成手段とを設け、第２の符号化手段がインタリーブ系列生成手段により生成されたインタリーブ系列の先頭から情報ビットを複数ビットずつ入力し、複数の情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティビットを複数ビットずつ生成するようにしたものである。
【発明の効果】
【００１２】
この発明によれば、複数の情報ビットの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけで算出する逆インタリーブ位置算出手段と、逆インタリーブ位置算出手段により算出された逆インタリーブ位置に複数の情報ビットを配置してターボ符号のインタリーブ系列を生成するインタリーブ系列生成手段とを設け、第２の符号化手段がインタリーブ系列生成手段により生成されたインタリーブ系列の先頭から情報ビットを複数ビットずつ入力し、複数の情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティビットを複数ビットずつ生成するように構成したので、事前に全ての逆インタリーブ位置を格納するメモリや、複数の逆インタリーブ位置を同時に計算する複雑な回路を実装することなく、畳み込み符号化の処理時間を短縮することができる効果がある。
【発明を実施するための最良の形態】
【００１３】
実施の形態１．
図１はこの発明の実施の形態１によるターボ符号化装置を示す構成図である。
この実施の形態１では、ターボ符号化装置がパリティ１ビット（ターボ符号の非インタリーブ系列から生成されるパリティビット）とパリティ２ビット（ターボ符号のインタリーブ系列から生成されるパリティビット）をそれぞれ２ビットずつ生成する例を説明し、ｎビット（ｎ≧３）ずつ生成する例は後述する。
図において、成分符号化器１は情報ビット系列の先頭から情報ビットを２ビットずつ入力し、２ビットの情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティ１ビットを２ビットずつ生成する処理を実施する。なお、成分符号化器１は第１の符号化手段を構成している。
【００１４】
逆インタリーブ生成器２は「３ＧＰＰ  ＴＳ３６．２１２」の規格で規定されているターボ符号の逆インタリーバを生成するものである。即ち、偶数番目（２×ｔ）の情報ビットの逆インタリーブ位置π-1（２×ｔ）と、奇数番目（２×ｔ＋１）の情報ビットの逆インタリーブ位置π-1（２×ｔ＋１）とを加減算処理と比較計算処理を実施するだけで算出する処理を実施する。ただし、ｔ＝０，１，２，３，・・・である。
なお、逆インタリーブ生成器２は逆インタリーブ位置算出手段を構成している。
【００１５】
メモリＩＦ３は情報ビット系列の先頭から情報ビットを２ビットずつ入力し、逆インタリーブ生成器２により算出された逆インタリーブ位置に２ビットの情報ビットを配置（逆インタリーブ位置に対応するメモリ４のアドレスに２ビットの情報ビットを記録）してターボ符号のインタリーブ系列を生成する処理のほか、メモリ４に記録されているインタリーブ系列の先頭から情報ビットを２ビットずつ読み出して、その情報ビットを成分符号化器５に出力する処理を実施する。
メモリ４はターボ符号のインタリーブ系列を記録する記憶媒体である。
なお、メモリＩＦ３及びメモリ４からインタリーブ系列生成手段が構成されている。
【００１６】
成分符号化器５はインタリーブ系列の先頭から情報ビットを２ビットずつ入力し、２ビットの情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティ２ビットを２ビットずつ生成する処理を実施する。なお、成分符号化器５は第２の符号化手段を構成している。
【００１７】
図１では、ターボ符号化装置の構成要素である成分符号化器１，５、逆インタリーブ生成器２及びメモリＩＦ３がそれぞれ専用のハードウェア（逆インタリーブ生成器２及びメモリＩＦ３は、例えばＭＰＵを実装している半導体集積回路基板、成分符号化器１，５は、例えば図２の回路）で構成されているものを想定しているが、ターボ符号化装置がコンピュータで構成される場合、成分符号化器１，５、逆インタリーブ生成器２及びメモリＩＦ３の処理内容を記述しているプログラムをコンピュータのメモリに格納し、コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
【００１８】
図２はこの発明の実施の形態１によるターボ符号化装置の成分符号化器１，５を示す構成図であり、図において、加算器２１は入力Ｂ（奇数番目（２×ｔ＋１）の情報ビット：１，３，５，・・・，Ｋ−１番目の情報ビット）と、遅延素子２３により１クロック分遅延された情報ビットと、遅延素子２４により１クロック分遅延された情報ビットとを加算して、加算後の情報ビットを遅延素子２３に出力する。ただし、Ｋは情報ビット系列の情報長（情報ビット数）である。
加算器２２は入力Ａ（偶数番目（２×ｔ）の情報ビット：０，２，４，・・・，Ｋ−２番目の情報ビット）と、遅延素子２４により１クロック分遅延された情報ビットと、遅延素子２５により１クロック分遅延された情報ビットとを加算して、加算後の情報ビットを遅延素子２４に出力する。
【００１９】
遅延素子２３は加算器２１から出力された加算後の情報ビットを１クロック分だけ保持して、その情報ビットを加算器２１，２６及び遅延素子２５に出力する。
遅延素子２４は加算器２２から出力された加算後の情報ビットを１クロック分だけ保持して、その情報ビットを加算器２１，２２，２６に出力する。
遅延素子２５は遅延素子２３から出力された情報ビットを１クロック分だけ保持して、その情報ビットを加算器２２，２７に出力する。
【００２０】
加算器２６は入力Ａ（偶数番目（２×ｔ）の情報ビット：０，２，４，・・・，Ｋ−２番目の情報ビット）と、遅延素子２３により１クロック分遅延された情報ビットと、遅延素子２４により１クロック分遅延された情報ビットとを加算し、加算後の情報ビットをパリティビットＡ（入力Ａに対応するパリティビット）として出力する。
加算器２７は入力Ｂ（奇数番目（２×ｔ＋１）の情報ビット：１，３，５，・・・，Ｋ−１番目の情報ビット）と、加算器２６から出力された加算後の情報ビットと、遅延素子２５により１クロック分遅延された情報ビットとを加算し、加算後の情報ビットをパリティビットＢ（入力Ｂに対応するパリティビット）として出力する。
【００２１】
なお、図２における成分符号化器１，５の構成はあくまでも一例であり、成分符号化器１，５は図２の構成に限るものではない。
図３はこの発明の実施の形態１によるターボ符号化装置の処理内容を示すフローチャートであり、図４はこの発明の実施の形態１によるターボ符号化装置の処理タイミングを示すタイミングチャートである。
【００２２】
次に動作について説明する。
この実施の形態１では、説明の便宜上、情報ビット系列の情報長（情報ビット数）がＫビット、１つの畳み込み符号化で生成するテイルビット数がＴビットであるとする。
成分符号化器１は、情報長Ｋの情報ビット系列の先頭から情報ビットを２ビットずつ入力し（ステップＳＴ１）、２ビットの情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティ１ビットを２ビットずつ生成する（ステップＳＴ２）。
【００２３】
即ち、成分符号化器１の加算器２２，２６が偶数番目（２×ｔ）の情報ビットである０，２，４，・・・，Ｋ−２番目の情報ビットを順次入力し、加算器２１，２７が奇数番目（２×ｔ＋１）の情報ビットである１，３，５，・・・，Ｋ−１番目の情報ビットを順次入力し、各々の加算器２１，２２，２６，２７が情報ビットの加算処理を実施することにより、２ビットの情報ビットに対する畳み込み符号化を実施する。
これにより、畳み込み符号化結果として、パリティ１ビット（ターボ符号の非インタリーブ系列から生成されるパリティビット）が２ビットずつ生成される。
即ち、入力Ａに対応するパリティビットＡ（パリティ１ビット）が加算器２６から出力され、入力Ｂに対応するパリティビットＢ（パリティ１ビット）が加算器２７から出力される。
成分符号化器１は、２ビットの情報ビットに対する畳み込み符号化を実施してパリティ１ビットを生成すると、テイルビットと呼ばれるＴビットのパリティビットを生成して、そのテイルビットを出力する。
【００２４】
なお、情報ビット系列の情報長（情報ビット数）がＫビットである場合、図４に示すように、成分符号化器１がＫビットの情報ビット系列の入力に要するステップ数は、Ｋ／２ステップである。
また、成分符号化器１がＫビットのパリティ１ビットの生成に要するステップ数は、Ｋ／２ステップであり、情報ビット系列の入力と同じタイミングで実施する。
また、成分符号化器１がＴビットのテイルビットの生成に要するステップ数は、Ｔステップであり、パリティ１ビットの生成後に実施する。
【００２５】
逆インタリーブ生成器２は、「３ＧＰＰ  ＴＳ３６．２１２」の規格で規定されているターボ符号の逆インタリーバを生成する（ステップＳＴ３）。
即ち、逆インタリーブ生成器２は、ターボ符号の逆インタリーバとして、「３ＧＰＰ  ＴＳ３６．２１２」の規格で規定されているＱＰＰ（Ｑｕａｄｒａｔｉｃ  Ｐｏｌｙｎｏｍｉａｌ  Ｐｅｒｍｕｔａｔｉｏｎ）方式を用いて、偶数番目（２×ｔ）の情報ビットの逆インタリーブ位置π-1（２×ｔ）と、奇数番目（２×ｔ＋１）の情報ビットの逆インタリーブ位置π-1（２×ｔ＋１）とを算出する。
【００２６】
ＱＰＰインタリーバでは、π（ｔ）番目の情報ビットが、ｔの位置にインタリーブされる。
π（ｔ）＝（ｆ１×ｔ）＋（ｆ２×ｔ×ｔ）  ｍｏｄ  Ｋ            （１）
ただし、ｆ１，ｆ２は、ターボ符号の情報長Ｋに依存して定められている整数値であり、“ｍｏｄ”は、剰余計算を表す記号である。
したがって、連続している偶数番目と奇数番目の情報ビットのインタリーブ位置、即ち、π（０）とπ（１），π（２）とπ（３），π（４）とπ（５），・・・は、式（１）で２つずつ計算してもよいが、式（１）では、複雑で回路規模が大きくなる乗算計算と剰余計算を実行する必要がある。
また、ＱＰＰインタリーバの逆インタリーバは、インタリーバと同様な２次多項式で表現することができる。
π-1（ｓ）＝（ｈ１×ｔ）＋（ｈ２×ｔ×ｔ）  ｍｏｄ  Ｋ          （２）
ただし、ｈ１，ｈ２は、ターボ符号の情報長Ｋ，ｆ１，ｆ２に依存して定められている整数値である。
したがって、連続している偶数番目と奇数番目のインタリーブ位置（π（０）とπ（１），π（２）とπ（３），π（４）とπ（５），・・・）、もしくは、連続している偶数番目と奇数番目の逆インタリーブ位置（π-1（０）とπ-1（１），π-1（２）とπ-1（３），π-1（４）とπ-1（５），・・・）は、式（１）、式（２）を用いて、２つずつ計算してもよいが、式（１）、式（２）では、複雑で回路規模が大きくなる乗算計算と剰余計算を実行する必要がある。
そこで、この実施の形態１では、逆インタリーブ生成器２が、以下の加減算処理と比較計算処理を実施することで、逐次的に逆インタリーブ位置を得るようにしている。
【００２７】
即ち、逆インタリーブ生成器２は、０番目と１番目の情報ビットを入力して、逆インタリーブ位置π-1（０），π-1（１）を計算し、２番目と３番目の情報ビットを入力して、逆インタリーブ位置π-1（２），π-1（３）を計算し、・・・、Ｋ−２番目とＫ−１番目の情報ビットを入力して、逆インタリーブ位置π-1（Ｋ−２），π-1（Ｋ−１）を計算する。
（１）偶数番号の逆インタリーブ位置
偶数番号：π-1（２×（ｔ＋１））＝π-1（２×ｔ）＋ａ（ｔ）
Ｉｆ  π-1（２×（ｔ＋１））  ≧  Ｋ
π-1（２×（ｔ＋１））＝π-1（２×（ｔ＋１））−Ｋ
ａ（ｔ＋１）＝ａ（ｔ）＋８×ｈ２
Ｉｆ  ａ（ｔ＋１）  ≧  Ｋ
ａ（ｔ＋１）＝ａ（ｔ＋１）−Ｋ
ただし、π-1（０）＝０、ａ（０）＝２×ｈ１＋４×ｈ２
（２）奇数番号の逆インタリーブ位置
奇数番号：π-1（２×（ｔ＋１）＋１）＝π-1（２×ｔ＋１）＋ｂ（ｔ）
Ｉｆ  π-1（２×ｔ）  ≧  Ｋ
π-1（２×ｔ）＝π-1（２×ｔ）−Ｋ
ｂ（ｔ＋１）＝ｂ（ｔ）＋８×ｈ２
Ｉｆ  （ｂ（ｔ＋１）  ≧  Ｋ
ｂ（ｔ＋１）＝ｂ（ｔ＋１）−Ｋ
ただし、π（０）＝０、ａ（０）＝２×ｈ１＋８×ｈ２
なお、情報ビット系列の情報長（情報ビット数）がＫビットである場合、図４に示すように、逆インタリーブ生成器２が逆インタリーブ位置の算出に要するステップ数は、Ｋ／２ステップである。
【００２８】
メモリＩＦ３は、成分符号化器１と同じタイミングで、情報ビット系列の先頭から情報ビットを２ビットずつ入力し、逆インタリーブ生成器２が当該情報ビットに対応する逆インタリーブ位置π-1（２×ｔ），π-1（２×ｔ＋１）を算出すると、その逆インタリーブ位置π-1（２×ｔ），π-1（２×ｔ＋１）に２ビットの情報ビットを配置（逆インタリーブ位置π-1（２×ｔ），π-1（２×ｔ＋１）に対応するメモリ４のアドレスに２ビットの情報ビットを記録）してターボ符号のインタリーブ系列を生成する（ステップＳＴ４）。
なお、情報ビット系列の情報長（情報ビット数）がＫビットである場合、図４に示すように、メモリＩＦ３が情報ビットをメモリ４に記録して、Ｋビットのインタリーブ系列の生成に要するステップ数は、Ｋ／２ステップである。
全ての情報ビットの入力が終わると、メモリ４にはインタリーブ系列が格納されており、インタリーブ系列の畳み込み符号化を実施する場合、インタリーブ系列の先頭から順番に、インタリーブされた情報ビットを読み出せばよい。
【００２９】
メモリＩＦ３は、Ｋビットのインタリーブ系列の生成が完了すると、メモリ４に記録されているインタリーブ系列の先頭から情報ビットを２ビットずつ読み出して、その情報ビットを成分符号化器５に出力する。
成分符号化器５は、Ｋビットのインタリーブ系列の先頭から情報ビットを２ビットずつ入力し、２ビットの情報ビットに対する畳み込み符号化を実施してターボ符号のインタリーブ系列のパリティ２ビットを２ビットずつ生成する（ステップＳＴ５）。
即ち、成分符号化器５の加算器２２，２６が偶数番目（２×ｔ）の情報ビットである０，２，４，・・・，Ｋ−２番目の情報ビットを順次入力し、加算器２１，２７が奇数番目（２×ｔ＋１）の情報ビットである１，３，５，・・・，Ｋ−１番目の情報ビットを順次入力し、各々の加算器２１，２２，２６，２７が情報ビットの加算処理を実施することにより、２ビットの情報ビットに対する畳み込み符号化を実施する。
【００３０】
これにより、畳み込み符号化結果として、パリティ２ビット（ターボ符号のインタリーブ系列から生成されるパリティビット）が２ビットずつ生成される。
即ち、入力Ａに対応するパリティビットＡ（パリティ２ビット）が加算器２６から出力され、入力Ｂに対応するパリティビットＢ（パリティ２ビット）が加算器２７から出力される。
成分符号化器５は、２ビットの情報ビットに対する畳み込み符号化を実施してパリティ２ビットを生成すると、テイルビットと呼ばれるＴビットのパリティビットを生成して、そのテイルビットを出力する。
【００３１】
なお、インタリーブ系列の情報長（情報ビット数）がＫビットである場合、図４に示すように、成分符号化器５がＫビットのパリティ２ビットの生成に要するステップ数は、Ｋ／２ステップである。
また、成分符号化器５がＴビットのテイルビットの生成に要するステップ数は、Ｔステップであり、パリティ２ビットの生成後に実施する。
【００３２】
以上で明らかなように、この実施の形態１によれば、連続する２つの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけで算出する逆インタリーブ生成器２と、逆インタリーブ生成器２により算出された逆インタリーブ位置に複数の情報ビットを配置してターボ符号のインタリーブ系列を生成するメモリＩＦ３とを設け、成分符号化器５がメモリＩＦ３により生成されたインタリーブ系列の先頭から情報ビットを２ビットずつ入力し、２ビットの情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティビットを２ビットずつ生成するように構成したので、事前に全ての逆インタリーブ位置を格納するメモリや、複数の逆インタリーブ位置を同時に計算する複雑な回路を実装することなく、畳み込み符号化の処理時間を短縮することができる効果を奏する。
【００３３】
即ち、この実施の形態１によれば、連続する２つの逆インタリーブ位置を加減算処理と比較計算処理を実施するだけの簡易な計算で得られる。このため、２次多項式を計算するような大規模な回路を実装することなく、連続する２つの逆インタリーブ位置を得て、畳み込み符号化の処理を２ビットずつ行うことが可能となる。
なお、インタリーブ系列の情報長（情報ビット数）がＫビットである場合、図４に示すように、Ｋ＋Ｔステップ（＝Ｋ／２＋Ｋ／２＋Ｔステップ）で、符号化処理を完了することができる。
【００３４】
実施の形態２．
図５はこの発明の実施の形態２によるターボ符号化装置を示す構成図である。
この実施の形態２では、ターボ符号化装置がパリティ１ビットとパリティ２ビットをそれぞれ２ビットずつ生成する例を説明し、ｎビット（ｎ≧３）ずつ生成する例は後述する。
図において、成分符号化器１１は情報ビット系列の先頭から情報ビットを２ビットずつ入力し、２ビットの情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティ１ビットを２ビットずつ生成する処理を実施する。なお、成分符号化器１１は第１の符号化手段を構成している。
【００３５】
メモリ１２はメモリＩＦ１４により入力された情報ビット系列を記録する記録媒体である。なお、メモリ１２は情報ビット系列格納手段を構成している。
インタリーブ生成器１３は「３ＧＰＰ  ＴＳ３６．２１２」の規格で規定されているターボ符号のインタリーバを生成するものである。即ち、偶数番目（２×ｔ）の情報ビットのインタリーブ位置π（２×ｔ）と、奇数番目（２×ｔ＋１）の情報ビットのインタリーブ位置π（２×ｔ＋１）とを加減算処理と比較計算処理を実施するだけで算出する処理を実施する。ただし、ｔ＝０，１，２，３，・・・である。
なお、インタリーブ生成器１３はインタリーブ位置算出手段を構成している。
【００３６】
メモリＩＦ１４は情報ビット系列の先頭から情報ビットを２ビットずつ入力し、２ビットの情報ビットを順番にメモリ１２に格納して、その情報ビット系列をメモリ１２に記録する処理のほか、メモリ１２に記録されている情報ビット系列の中から、インタリーブ生成器１３により算出されたインタリーブ位置にある２ビットの情報ビットを読み出して、その情報ビットを成分符号化器１５に出力する処理を実施する。なお、メモリＩＦ１４は情報ビット読出手段を構成している。
成分符号化器１５はメモリＩＦ１４により読み出された２ビットの情報ビットを順番に入力し、２ビットの情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティ２ビットを２ビットずつ生成する処理を実施する。なお、成分符号化器１５は第２の符号化手段を構成している。
【００３７】
図５では、ターボ符号化装置の構成要素である成分符号化器１１，１５、インタリーブ生成器１３及びメモリＩＦ１４がそれぞれ専用のハードウェア（インタリーブ生成器１３及びメモリＩＦ１４は、例えばＭＰＵを実装している半導体集積回路基板、成分符号化器１１，１５は、例えば図２の回路）で構成されているものを想定しているが、ターボ符号化装置がコンピュータで構成される場合、成分符号化器１１，１５、インタリーブ生成器１３及びメモリＩＦ１４の処理内容を記述しているプログラムをコンピュータのメモリに格納し、コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
【００３８】
図６はこの発明の実施の形態２によるターボ符号化装置の処理内容を示すフローチャートであり、図７はこの発明の実施の形態２によるターボ符号化装置の処理タイミングを示すタイミングチャートである。
この実施の形態２では、成分符号化器１１，１５の構成は図２の構成を想定しているが、図２の構成はあくまでも一例であり、成分符号化器１１，１５は図２の構成に限るものではない。
【００３９】
次に動作について説明する。
この実施の形態２では、説明の便宜上、情報ビット系列の情報長（情報ビット数）がＫビット、１つの畳み込み符号化で生成するテイルビット数がＴビットであるとする。
成分符号化器１１は、情報長Ｋの情報ビット系列の先頭から情報ビットを２ビットずつ入力し（ステップＳＴ１１）、２ビットの情報ビットに対する畳み込み符号化を実施してターボ符号の非インタリーブ系列のパリティ１ビットを２ビットずつ生成する（ステップＳＴ１２）。
【００４０】
即ち、成分符号化器１１の加算器２２，２６が偶数番目（２×ｔ）の情報ビットである０，２，４，・・・，Ｋ−２番目の情報ビットを順次入力し、加算器２１，２７が奇数番目（２×ｔ＋１）の情報ビットである１，３，５，・・・，Ｋ−１番目の情報ビットを順次入力し、各々の加算器２１，２２，２６，２７が情報ビットの加算処理を実施することにより、２ビットの情報ビットに対する畳み込み符号化を実施する。
これにより、畳み込み符号化結果として、パリティ１ビット（ターボ符号の非インタリーブ系列から生成されるパリティビット）が２ビットずつ生成される。
即ち、入力Ａに対応するパリティビットＡ（パリティ１ビット）が加算器２６から出力され、入力Ｂに対応するパリティビットＢ（パリティ１ビット）が加算器２７から出力される。
成分符号化器１１は、２ビットの情報ビットに対する畳み込み符号化を実施してパリティ１ビットを生成すると、テイルビットと呼ばれるＴビットのパリティビットを生成して、そのテイルビットを出力する。
【００４１】
なお、情報ビット系列の情報長（情報ビット数）がＫビットである場合、図７に示すように、成分符号化器１１がＫビットの情報ビット系列の入力に要するステップ数は、Ｋ／２ステップである。
また、成分符号化器１１がＫビットのパリティ１ビットの生成に要するステップ数は、Ｋ／２ステップであり、情報ビット系列の入力と同じタイミングで実施する。
また、成分符号化器１１がＴビットのテイルビットの生成に要するステップ数は、Ｔステップであり、パリティ１ビットの生成後に実施する。
【００４２】
メモリＩＦ１４は、成分符号化器１１と同じタイミングで、情報長Ｋの情報ビット系列の先頭から情報ビットを２ビットずつ入力し（ステップＳＴ１１）、２ビットの情報ビットを順番にメモリ１２に格納（情報ビットを並べ替えずに、先頭から順番に格納）して、その情報ビット系列をメモリ１２に記録する（ステップＳＴ１３）。
なお、情報ビット系列の情報長（情報ビット数）がＫビットである場合、図７に示すように、メモリＩＦ１４がＫビットの情報ビット系列の入力及び記録に要するステップ数は、Ｋ／２ステップである。
【００４３】
インタリーブ生成器１３は、「３ＧＰＰ  ＴＳ３６．２１２」の規格で規定されているターボ符号のインタリーバを生成する（ステップＳＴ１４）。
即ち、インタリーブ生成器１３は、ターボ符号のインタリーバとして、「３ＧＰＰ  ＴＳ３６．２１２」の規格で規定されているＱＰＰ方式を用いて、偶数番目（２×ｔ）の情報ビットのインタリーブ位置π（２×ｔ）と、奇数番目（２×ｔ＋１）の情報ビットのインタリーブ位置π（２×ｔ＋１）とを算出する。
【００４４】
ＱＰＰインタリーバでは、π（ｔ）番目の情報ビットが、ｔの位置にインタリーブされる。
π（ｔ）＝（ｆ１×ｔ）＋（ｆ２×ｔ×ｔ）  ｍｏｄ  Ｋ            （１）
ただし、ｆ１，ｆ２は、ターボ符号の情報長Ｋに依存して定められている整数値であり、“ｍｏｄ”は、剰余計算を表す記号である。
したがって、連続している偶数番目と奇数番目の情報ビットのインタリーブ位置、即ち、π（０）とπ（１），π（２）とπ（３），π（４）とπ（５），・・・は、式（１）で２つずつ計算してもよいが、式（１）では、複雑で回路規模が大きくなる乗算計算と剰余計算を実行する必要がある。
そこで、この実施の形態２では、インタリーブ生成器１３が、以下の加減算処理と比較計算処理を実施することで、逐次的にインタリーブ位置を得るようにしている。
【００４５】
即ち、インタリーブ生成器１３は、０番目と１番目の情報ビットを入力して、インタリーブ位置π（０），π（１）を計算し、２番目と３番目の情報ビットを入力して、インタリーブ位置π（２），π（３）を計算し、・・・、Ｋ−２番目とＫ−１番目の情報ビットを入力して、インタリーブ位置π（Ｋ−２），π（Ｋ−１）を計算する。
（１）偶数番号のインタリーブ位置
偶数番号：π（２×（ｔ＋１））＝π（２×ｔ）＋ａ（ｔ）
Ｉｆ  π（２×（ｔ＋１））  ≧  Ｋ
π（２×（ｔ＋１））＝π（２×（ｔ＋１））−Ｋ
ａ（ｔ＋１）＝ａ（ｔ）＋８×ｆ２
Ｉｆ  ａ（ｔ＋１）  ≧  Ｋ
ａ（ｔ＋１）＝ａ（ｔ＋１）−Ｋ
ただし、π（０）＝０、ａ（０）＝２×ｆ１＋４×ｆ２
（２）奇数番目のインタリーブ位置
奇数番号：π（２×（ｔ＋１）＋１）＝π（２×ｔ＋１）＋ｂ（ｔ）
Ｉｆ  π（２×ｔ）  ≧  Ｋ
π（２×ｔ）＝π（２×ｔ）−Ｋ
ｂ（ｔ＋１）＝ｂ（ｔ）＋８×ｆ２
Ｉｆ  （ｂ（ｔ＋１）  ≧  Ｋ
ｂ（ｔ＋１）＝ｂ（ｔ＋１）−Ｋ
ただし、π（０）＝０、ａ（０）＝２×ｆ１＋８×ｆ２
なお、情報ビット系列の情報長（情報ビット数）がＫビットである場合、図７に示すように、インタリーブ生成器１３がインタリーブ位置の算出に要するステップ数は、Ｋ／２ステップである。
【００４６】
メモリＩＦ１４は、インタリーブ生成器１３が偶数番目（２×ｔ）の情報ビットのインタリーブ位置π（２×ｔ）と、奇数番目（２×ｔ＋１）の情報ビットのインタリーブ位置π（２×ｔ＋１）とを算出すると、メモリ１２に記録されている情報ビット系列の中から、インタリーブ位置π（２×ｔ），π（２×ｔ＋１）にある２ビットの情報ビットを読み出して、その情報ビットを成分符号化器１５に出力する。
なお、情報ビット系列の情報長（情報ビット数）がＫビットである場合、図７に示すように、メモリＩＦ１４が２ビットの情報ビットの読み出しに要するステップ数は、Ｋ／２ステップである。
【００４７】
成分符号化器１５は、メモリＩＦ１４により読み出された２ビットの情報ビットを順番に入力し、２ビットの情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティ２ビットを２ビットずつ生成する（ステップＳＴ１５）。
即ち、成分符号化器１５の加算器２２，２６がインタリーブ位置π（２×ｔ）にある情報ビットを順次入力し、加算器２１，２７がインタリーブ位置π（２×ｔ＋１）にある情報ビットを順次入力し、各々の加算器２１，２２，２６，２７が情報ビットの加算処理を実施することにより、２ビットの情報ビットに対する畳み込み符号化を実施する。
【００４８】
これにより、畳み込み符号化結果として、パリティ２ビット（ターボ符号のインタリーブ系列から生成されるパリティビット）が２ビットずつ生成される。
即ち、インタリーブ位置π（２×ｔ）にある情報ビットに対応するパリティビットＡ（パリティ２ビット）が加算器２６から出力され、インタリーブ位置π（２×ｔ＋１）にある情報ビットに対応するパリティビットＢ（パリティ２ビット）が加算器２７から出力される。
成分符号化器１５は、２ビットの情報ビットに対する畳み込み符号化を実施してパリティ２ビットを生成すると、テイルビットと呼ばれるＴビットのパリティビットを生成して、そのテイルビットを出力する。
【００４９】
なお、インタリーブ系列の情報長（情報ビット数）がＫビットである場合、図７に示すように、成分符号化器１５がＫビットのパリティ２ビットの生成に要するステップ数は、Ｋ／２ステップである。
また、成分符号化器１５がＴビットのテイルビットの生成に要するステップ数は、Ｔステップであり、パリティ２ビットの生成後に実施する。
【００５０】
以上で明らかなように、この実施の形態２によれば、２ビットの情報ビットのインタリーブ位置を加減算処理と比較計算処理を実施するだけで算出するインタリーブ生成器１３と、メモリ１２に記録されている情報ビット系列の中から、インタリーブ生成器１３により算出されたインタリーブ位置にある２ビットの情報ビットを読み出すメモリＩＦ１４とを設け、成分符号化器１５がメモリＩＦ１４により読み出された２ビットの情報ビットを順番に入力し、２ビットの情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティ２ビットを２ビットずつ生成するように構成したので、事前に全てのインタリーブ位置を格納するメモリや、複数のインタリーブ位置を同時に計算する複雑な回路を実装することなく、畳み込み符号化の処理時間を短縮することができる効果を奏する。
【００５１】
即ち、この実施の形態２によれば、２ビットの情報ビットのインタリーブ位置を加減算処理と比較計算処理を実施するだけの簡易な計算で得られる。このため、２次多項式を計算するような大規模な回路を実装することなく、２ビットの情報ビットのインタリーブ位置を得て、畳み込み符号化の処理を２ビットずつ行うことが可能となる。
なお、インタリーブ系列の情報長（情報ビット数）がＫビットである場合、図７に示すように、Ｋ＋Ｔステップ（＝Ｋ／２＋Ｋ／２＋Ｔステップ）で、符号化処理を完了することができる。
【００５２】
実施の形態３．
図８はこの発明の実施の形態３によるターボ符号化装置を示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
メモリＩＦ６は情報ビット系列の先頭から情報ビットを２ビットずつ入力し、２ビットの情報ビットを順番にメモリ７に格納して、その情報ビット系列である非インタリーブ系列をメモリ７に記録する処理のほか、メモリ７に記録されている非インタリーブ系列の先頭から情報ビットを２ビットずつ読み出して、その情報ビットを成分符号化器１に出力する処理を実施する。
メモリ７はターボ符号の非インタリーブ系列を記録する記憶媒体である。
【００５３】
図９はこの発明の実施の形態３によるターボ符号化装置の処理内容を示すフローチャートであり、図１０はこの発明の実施の形態３によるターボ符号化装置の処理タイミングを示すタイミングチャートである。
【００５４】
次に動作について説明する。
この実施の形態３では、説明の便宜上、情報ビット系列の情報長（情報ビット数）がＫビット、１つの畳み込み符号化で生成するテイルビット数がＴビットであるとする。
メモリＩＦ６は、情報長Ｋの情報ビット系列の先頭から情報ビットを２ビットずつ入力し（ステップＳＴ２１）、２ビットの情報ビットを順番にメモリ７に格納（情報ビットを並べ替えずに、先頭から順番に格納）して、その情報ビット系列である非インタリーブ系列をメモリ７に記録する（ステップＳＴ２２）。
なお、情報ビット系列の情報長（情報ビット数）がＫビットである場合、図１０に示すように、メモリＩＦ６がＫビットの情報ビット系列の入力及び記録に要するステップ数は、Ｋ／２ステップである。
【００５５】
逆インタリーブ生成器２は、上記実施の形態１と同様に、「３ＧＰＰ  ＴＳ３６．２１２」の規格で規定されているターボ符号の逆インタリーバを生成する（ステップＳＴ２３）。
即ち、逆インタリーブ生成器２は、上記実施の形態１に記述している加減算処理と比較計算処理を実施することで、逐次的に、連続している偶数番目と奇数番目の情報ビットの逆インタリーブ位置π-1（２×ｔ），π-1（２×ｔ＋１）を算出する。
なお、情報ビット系列の情報長（情報ビット数）がＫビットである場合、図１０に示すように、逆インタリーブ生成器２が逆インタリーブ位置の算出に要するステップ数は、Ｋ／２ステップである。
【００５６】
メモリＩＦ３は、メモリＩＦ６と同じタイミングで、情報ビット系列の先頭から情報ビットを２ビットずつ入力し（ステップＳＴ２１）、逆インタリーブ生成器２により算出された逆インタリーブ位置π-1（２×ｔ），π-1（２×ｔ＋１）に２ビットの情報ビットを配置（逆インタリーブ位置π-1（２×ｔ），π-1（２×ｔ＋１）に対応するメモリ４のアドレスに２ビットの情報ビットを記録）してターボ符号のインタリーブ系列を生成する（ステップＳＴ２４）。
なお、情報ビット系列の情報長（情報ビット数）がＫビットである場合、図１０に示すように、メモリＩＦ３が情報ビットをメモリ４に記録して、Ｋビットのインタリーブ系列の生成に要するステップ数は、Ｋ／２ステップである。
全ての情報ビットの入力が終わると、メモリ４にはインタリーブ系列が格納されており、インタリーブ系列の畳み込み符号化を実施する場合、インタリーブ系列の先頭から順番に、インタリーブされた情報ビットを読み出せばよい。
【００５７】
メモリＩＦ６は、メモリ７に対するＫビットの非インタリーブ系列の記録が完了すると、メモリ７に記録されている非インタリーブ系列の先頭から情報ビットを２ビットずつ読み出して、その情報ビットを成分符号化器１に出力する。
成分符号化器１は、メモリＩＦ６から２ビットずつ情報ビットを受けると、上記実施の形態１と同様に、２ビットの情報ビットに対する畳み込み符号化を実施して非インタリーブ系列のパリティ１ビットを２ビットずつ生成する（ステップＳＴ２５）。
成分符号化器１は、２ビットの情報ビットに対する畳み込み符号化を実施してパリティ１ビットを生成すると、テイルビットと呼ばれるＴビットのパリティビットを生成して、そのテイルビットを出力する。
【００５８】
なお、非インタリーブ系列の情報長（情報ビット数）がＫビットである場合、図１０に示すように、成分符号化器１がＫビットのパリティ１ビットの生成に要するステップ数は、Ｋ／２ステップである。
また、成分符号化器１がＴビットのテイルビットの生成に要するステップ数は、Ｔステップであり、パリティ１ビットの生成後に実施する。
【００５９】
メモリＩＦ３は、メモリ４に対するＫビットのインタリーブ系列の記録が完了すると、メモリ４に記録されているインタリーブ系列の先頭から情報ビットを２ビットずつ読み出して、その情報ビットを成分符号化器５に出力する。
成分符号化器５は、メモリＩＦ３から２ビットずつ情報ビットを受けると、上記実施の形態１と同様に、２ビットの情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティ２ビットを２ビットずつ生成する（ステップＳＴ２６）。
成分符号化器５は、２ビットの情報ビットに対する畳み込み符号化を実施してパリティ２ビットを生成すると、テイルビットと呼ばれるＴビットのパリティビットを生成して、そのテイルビットを出力する。
【００６０】
なお、インタリーブ系列の情報長（情報ビット数）がＫビットである場合、図１０に示すように、成分符号化器５がＫビットのパリティ２ビットの生成に要するステップ数は、Ｋ／２ステップである。
また、成分符号化器５がＴビットのテイルビットの生成に要するステップ数は、Ｔステップであり、パリティ２ビットの生成後に実施する。
【００６１】
以上で明らかなように、この実施の形態３によれば、上記実施の形態１と同様に、事前に全ての逆インタリーブ位置を格納するメモリや、複数の逆インタリーブ位置を同時に計算する複雑な回路を実装することなく、畳み込み符号化の処理時間を短縮することができる効果を奏する。
【００６２】
実施の形態４．
図１１はこの発明の実施の形態４によるターボ符号化装置を示す構成図であり、図において、図５と同一符号は同一または相当部分を示すので説明を省略する。
メモリＩＦ１６は情報ビット系列の先頭から情報ビットを２ビットずつ入力し、２ビットの情報ビットを順番にメモリ１７に格納して、その情報ビット系列である非インタリーブ系列をメモリ１７に記録する処理のほか、メモリ１７に記録されている非インタリーブ系列の先頭から情報ビットを２ビットずつ読み出して、その情報ビットを成分符号化器１に出力する処理を実施する。
メモリ１７はターボ符号の非インタリーブ系列を記録する記憶媒体である。
【００６３】
図１２はこの発明の実施の形態４によるターボ符号化装置の処理内容を示すフローチャートであり、図１３はこの発明の実施の形態４によるターボ符号化装置の処理タイミングを示すタイミングチャートである。
【００６４】
次に動作について説明する。
この実施の形態４では、説明の便宜上、情報ビット系列の情報長（情報ビット数）がＫビット、１つの畳み込み符号化で生成するテイルビット数がＴビットであるとする。
メモリＩＦ１６は、情報長Ｋの情報ビット系列の先頭から情報ビットを２ビットずつ入力し（ステップＳＴ３１）、２ビットの情報ビットを順番にメモリ１７に格納（情報ビットを並べ替えずに、先頭から順番に格納）して、その情報ビット系列である非インタリーブ系列をメモリ１７に記録する（ステップＳＴ３２）。
なお、情報ビット系列の情報長（情報ビット数）がＫビットである場合、図１３に示すように、メモリＩＦ１６がＫビットの情報ビット系列の入力及び記録に要するステップ数は、Ｋ／２ステップである。
【００６５】
メモリＩＦ１４は、メモリＩＦ１６と同じタイミングで、情報長Ｋの情報ビット系列の先頭から情報ビットを２ビットずつ入力し（ステップＳＴ３１）、２ビットの情報ビットを順番にメモリ１２に格納（情報ビットを並べ替えずに、先頭から順番に格納）して、その情報ビット系列をメモリ１２に記録する（ステップＳＴ３３）。
なお、情報ビット系列の情報長（情報ビット数）がＫビットである場合、図１３に示すように、メモリＩＦ１４がＫビットの情報ビット系列の入力及び記録に要するステップ数は、Ｋ／２ステップである。
【００６６】
インタリーブ生成器１３は、上記実施の形態２と同様に、「３ＧＰＰ  ＴＳ３６．２１２」の規格で規定されているターボ符号のインタリーバを生成する（ステップＳＴ３４）。
即ち、インタリーブ生成器１３は、上記実施の形態２に記述している加減算処理と比較計算処理を実施することで、逐次的に、偶数番目（２×ｔ）の情報ビットのインタリーブ位置π（２×ｔ）と、奇数番目（２×ｔ＋１）の情報ビットのインタリーブ位置π（２×ｔ＋１）とを算出する。
なお、情報ビット系列の情報長（情報ビット数）がＫビットである場合、図１３に示すように、インタリーブ生成器１３がインタリーブ位置の算出に要するステップ数は、Ｋ／２ステップである。
【００６７】
メモリＩＦ１６は、メモリ１７に対するＫビットの非インタリーブ系列の記録が完了すると、メモリ１７に記録されている非インタリーブ系列の先頭から情報ビットを２ビットずつ読み出して、その情報ビットを成分符号化器１１に出力する。
成分符号化器１１は、メモリＩＦ１６から２ビットずつ情報ビットを受けると、上記実施の形態２と同様に、２ビットの情報ビットに対する畳み込み符号化を実施して非インタリーブ系列のパリティ１ビットを２ビットずつ生成する（ステップＳＴ３５）。
成分符号化器１１は、２ビットの情報ビットに対する畳み込み符号化を実施してパリティ１ビットを生成すると、テイルビットと呼ばれるＴビットのパリティビットを生成して、そのテイルビットを出力する。
【００６８】
なお、非インタリーブ系列の情報長（情報ビット数）がＫビットである場合、図１３に示すように、成分符号化器１１がＫビットのパリティ１ビットの生成に要するステップ数は、Ｋ／２ステップである。
また、成分符号化器１１がＴビットのテイルビットの生成に要するステップ数は、Ｔステップであり、パリティ１ビットの生成後に実施する。
【００６９】
メモリＩＦ１４は、メモリ１２に対するＫビットの情報ビット系列の記録が完了すると、メモリ１２に記録されている情報ビット系列の中から、インタリーブ生成器１３により算出されたインタリーブ位置π（２×ｔ），π（２×ｔ＋１）にある２ビットの情報ビットを読み出して、その情報ビットを成分符号化器１５に出力する。
成分符号化器１５は、メモリＩＦ１４から２ビットずつ情報ビットを受けると、上記実施の形態２と同様に、２ビットの情報ビットに対する畳み込み符号化を実施してインタリーブ系列のパリティ２ビットを２ビットずつ生成する（ステップＳＴ３６）。
成分符号化器１５は、２ビットの情報ビットに対する畳み込み符号化を実施してパリティ２ビットを生成すると、テイルビットと呼ばれるＴビットのパリティビットを生成して、そのテイルビットを出力する。
【００７０】
なお、インタリーブ系列の情報長（情報ビット数）がＫビットである場合、図１３に示すように、成分符号化器１５がＫビットのパリティ２ビットの生成に要するステップ数は、Ｋ／２ステップである。
また、成分符号化器１５がＴビットのテイルビットの生成に要するステップ数は、Ｔステップであり、パリティ２ビットの生成後に実施する。
【００７１】
以上で明らかなように、この実施の形態４によれば、上記実施の形態２と同様に、事前に全てのインタリーブ位置を格納するメモリや、複数のインタリーブ位置を同時に計算する複雑な回路を実装することなく、畳み込み符号化の処理時間を短縮することができる効果を奏する。
【００７２】
実施の形態５．
上記実施の形態１〜４では、ターボ符号化装置がパリティ１ビットとパリティ２ビットをそれぞれ２ビットずつ生成するものについて示したが、情報ビットをｎビット（ｎ≧３）ずつ入力して、ｎビットの情報ビットに対する畳み込み符号化を実施することにより、パリティ１ビットとパリティ２ビットをそれぞれｎビットずつ生成するようにしてもよい。
【００７３】
この実施の形態５では、図５又は図１１のインタリーブ生成器１３がターボ符号のインタリーバを生成する場合、ｎ個のインタリーブ位置を算出する必要がある。
このとき、ｎ個のインタリーブ位置として、π（０）とπ（１）と・・・π（ｎ−１），π（ｎ）とπ（ｎ＋１）と・・・π（２×ｎ−１），・・・を上記の式（１）を用いて、ｎ個ずつ計算してもよいが、式（１）では、複雑で回路規模が大きくなる乗算計算と剰余計算を実行する必要がある。
そこで、この実施の形態５では、インタリーブ生成器１３が、以下の計算式を用いて、逐次的にｎ個のインタリーブ位置を算出する。
【００７４】
ｎ個のインタリーブ位置は、π（ｎ×ｊ＋ｑ）で表現する。ただし、０≦ｑ≦ｎ−１、ｊ＝０，１，・・・，Ｋ／ｎである。
同じｊに対して、０≦ｑ≦ｎ−１となるｎ個のπ（ｎ×ｊ＋ｑ）が、ｎ個のインタリーブ位置となる。
これらのインタリーブ位置は、下記のπ（ｑ）を初期値として算出する。
π（ｑ）＝ｆ１×ｎ＋ｆ２×ｎ×（ｎ＋２×ｑ）、  ０≦ｑ≦ｎ−１
π（ｎ×（ｊ＋ｔ）＋ｑ）＝π（ｎ×ｊ＋ｑ）＋ｃ（ｔ）
Ｉｆ  π（ｎ×（ｔ＋１））  ≧  Ｋ
π（ｎ×（ｔ＋１））＝π（ｎ×（ｔ＋１））−Ｋ
ｃ（ｔ＋１）＝ｃ（ｔ）＋２×ｆ２×ｎ×ｎ
Ｉｆ  ｃ（ｔ＋１）  ≧  Ｋ
ｃ（ｔ＋１）＝ｃ（ｔ）−Ｋ
なお、初期値π（ｑ）とｃ（ｔ）の式に含まれる乗算結果については、あらかじめメモリに格納し、情報長Ｋが決まったとき、メモリから読み出すようにする。
他の計算処理は、加減算処理又は比較計算処理であり、簡易な計算でｎ個のインタリーブ位置を得ることができる。
【００７５】
また、図１又は図８の逆インタリーブ生成器２がターボ符号の逆インタリーバを生成する場合、ｎ個の逆インタリーブ位置を算出する必要がある。
このとき、ｎ個の逆インタリーブ位置として、π-1（０）とπ-1（１）・・・π-1（ｎ−１），π-1（ｎ）とπ-1（ｎ＋１）と・・・π-1（２×ｎ−１），・・・を上記の式（２）を用いて、ｎ個ずつ計算してもよいが、式（２）では、複雑で回路規模が大きくなる乗算計算と剰余計算を実行する必要がある。
そこで、この実施の形態５では、逆インタリーブ生成器２が、以下の計算式を用いて、逐次的にｎ個の逆インタリーブ位置を算出する。
【００７６】
ｎ個の逆インタリーブ位置は、π-1（ｎ×ｊ＋ｑ）で表現する。ただし、０≦ｑ≦ｎ−１、ｊ＝０，１，・・・，Ｋ／ｎである。
同じｊに対して、０≦ｑ≦ｎ−１となるｎ個のπ-1（ｎ×ｊ＋ｑ）が、ｎ個の逆インタリーブ位置となる。
これらの逆インタリーブ位置は、下記のπ-1（ｑ）を初期値として算出する。
π-1（ｑ）＝ｈ１×ｎ＋ｈ２×ｎ×（ｎ＋２×ｑ）、  ０≦ｑ≦ｎ−１
π-1（ｎ×（ｊ＋ｔ）＋ｑ）＝π（ｎ×ｊ＋ｑ）＋ｄ（ｔ）
Ｉｆ  π-1（ｎ×（ｔ＋１））  ≧  Ｋ
π-1（ｎ×（ｔ＋１））＝π-1（ｎ×（ｔ＋１））−Ｋ
ｄ（ｔ＋１）＝ｄ（ｔ）＋２×ｈ２×ｎ×ｎ
Ｉｆ  ｄ（ｔ＋１）  ≧  Ｋ
ｄ（ｔ＋１）＝ｄ（ｔ）−Ｋ
なお、初期値π-1（ｑ）とｄ（ｔ）の式に含まれる乗算結果については、あらかじめメモリに格納し、情報長Ｋが決まったとき、メモリから読み出すようにする。
他の計算処理は、加減算処理又は比較計算処理であり、簡易な計算でｎ個の逆インタリーブ位置を得ることができる。
【００７７】
上記実施の形態１〜４では、成分符号化器１，５，１１，１５の構成が図２の構成である例を示したが、成分符号化器１，５，１１，１５が情報ビットをｎビット（ｎ≧３）ずつ入力して、パリティ１ビット又はパリティ２ビットをｎビットずつ生成する場合、他の構成になる。
例えば、ｎ＝３の場合には、成分符号化器１，５，１１，１５の構成が図１４のような構成となる。ただし、図１４の構成はあくまでも一例であり、成分符号化器１，５，１１，１５は図１４の構成に限るものではない。
【００７８】
図１４において、加算器３１は入力Ａ（０，３，６，・・・，Ｋ−３番目の情報ビット）と、入力Ｃ（２，５，８，・・・，Ｋ−１番目の情報ビット）と、遅延素子３４により１クロック分遅延された情報ビットと、遅延素子３５により１クロック分遅延された情報ビットと、遅延素子３６により１クロック分遅延された情報ビットとを加算して、加算後の情報ビットを遅延素子３４に出力する。
加算器３２は入力Ｂ（１，４，７，・・・，Ｋ−２番目の情報ビット）と、遅延素子３４により１クロック分遅延された情報ビットと、遅延素子３５により１クロック分遅延された情報ビットとを加算して、加算後の情報ビットを遅延素子３５に出力する。
加算器３３は入力Ａ（０，３，６，・・・，Ｋ−３番目の情報ビット）と、遅延素子３５により１クロック分遅延された情報ビットと、遅延素子３６により１クロック分遅延された情報ビットとを加算して、加算後の情報ビットを遅延素子３６に出力する。
【００７９】
遅延素子３４は加算器３１から出力された加算後の情報ビットを１クロック分だけ保持して、その情報ビットを加算器３１，３７，３８，３９に出力する。
遅延素子３５は加算器３２から出力された加算後の情報ビットを１クロック分だけ保持して、その情報ビットを加算器３１，３２，３７，３８に出力する。
遅延素子３６は加算器３３から出力された加算後の情報ビットを１クロック分だけ保持して、その情報ビットを加算器３１，３３，３８，３９に出力する。
【００８０】
加算器３７は入力Ａ（０，３，６，・・・，Ｋ−３番目の情報ビット）と、遅延素子３４により１クロック分遅延された情報ビットと、遅延素子３５により１クロック分遅延された情報ビットとを加算し、加算後の情報ビットをパリティビットＡ（入力Ａに対応するパリティビット）として出力する。
加算器３８は入力Ａ（０，３，６，・・・，Ｋ−３番目の情報ビット）と、入力Ｂ（１，４，７，・・・，Ｋ−２番目の情報ビット）と、遅延素子３４により１クロック分遅延された情報ビットと、遅延素子３５により１クロック分遅延された情報ビットと、遅延素子３６により１クロック分遅延された情報ビットとを加算し、加算後の情報ビットをパリティビットＢ（入力Ｂに対応するパリティビット）として出力する。
加算器３９は入力Ａ（０，３，６，・・・，Ｋ−３番目の情報ビット）と、入力Ｂ（１，４，７，・・・，Ｋ−２番目の情報ビット）と、入力Ｃ（２，５，８，・・・，Ｋ−１番目の情報ビット）と、遅延素子３４により１クロック分遅延された情報ビットと、遅延素子３６により１クロック分遅延された情報ビットとを加算し、加算後の情報ビットをパリティビットＣ（入力Ｃに対応するパリティビット）として出力する。
【００８１】
以上で明らかなように、この実施の形態５によれば、畳み込み符号化の処理時間が１ビットずつパリティビットを生成する場合の約１／ｎの時間となり、上記実施の形態１〜４よりも更に、畳み込み符号化の処理時間を短縮することができる効果を奏する。
【００８２】
実施の形態６．
図１５はこの発明の実施の形態６による通信システムを示す構成図であり、通信システムは送信装置４０と受信装置５０から構成されている。
図において、送信装置４０は上記実施の形態１〜５のいずれかのターボ符号化装置４１を実装しており、そのターボ符号化装置４１を使用して、情報源をターボ符号化してターボ符号を生成し、そのターボ符号を変調して変調波を送信する。
受信装置５０は「３ＧＰＰ  ＴＳ３６．２１２」の規格で規定されたターボ符号のターボ符号復号装置５１を実装しており、送信装置４０から送信された変調波を受信し、その変調波からターボ符号を復調すると、そのターボ符号復号装置５１を使用して、そのターボ符号を復号する。
なお、送信装置４０と受信装置５０の通信路は、無線でも有線でもよく、ターボ符号を利用するディジタル通信システムの全てに適用することができる。
図１６はこの発明の実施の形態６による通信システムの処理内容を示すフローチャートである。
【００８３】
次に動作について説明する。
送信装置４０は、例えば、データ通信対象のパケットデータである情報源を入力すると（ステップＳＴ１０１）、実装しているターボ符号化装置４１を使用して、その情報源をターボ符号化して、ターボ符号（ターボ符号化系列：情報ビット系列、パリティ１ビット系列、パリティ２ビット系列、テイルビット系列）を生成する（ステップＳＴ１０２）。
送信装置４０は、ターボ符号を生成すると、そのターボ符号を変調して変調波を送信する（ステップＳＴ１０３）。
通信路では、伝播環境に応じて変調波に雑音が付加される。
【００８４】
受信装置５０は、送信装置４０から送信された変調波を受信し（ステップＳＴ１０４）、その変調波に対する同期検波処理や復調処理を実施することにより、ターボ符号を復調する。
受信装置５０は、ターボ符号を復調すると、実装しているターボ符号復号装置５１を使用して、そのターボ符号を復号し（ステップＳＴ１０５）、その復号結果を例えば再生装置に出力する。
これにより、再生装置により復号結果の再生処理が実施されて（ステップＳＴ１０６）、情報源の再生が行われる。
【００８５】
この実施の形態６によれば、送信装置４０が、回路規模が小さく、処理速度が高速なターボ符号化装置４１（図１、図５、図８又は図１１のターボ符号化装置）を使用しているので、消費電力と回路規模が小さい高速通信の通信システムを実現することができる効果を奏する。
【００８６】
実施の形態７．
図１７はこの発明の実施の形態７による通信システムを示す構成図であり、通信システムは図１５の送信装置４０に相当する移動体端末６０と、図１５の受信装置５０に相当する基地局７０とから構成されている。
図において、移動体端末６０は上記実施の形態１〜５のいずれかのターボ符号化装置６１を実装しており、そのターボ符号化装置６１を使用して、情報源をターボ符号化してターボ符号を生成し、そのターボ符号を変調して変調波を送信する。
なお、移動体端末６０では、基地局７０に送信するデータのうち、ターボ符号を利用するチャネル（例えば、Ｕｐｌｉｎｋ  Ｓｈａｒｅｄ  Ｃｈａｎｎｅｌ）に割り当てられたデータ系列をターボ符号化し、そのターボ符号を生成して送信する。
基地局７０は「３ＧＰＰ  ＴＳ３６．２１２」の規格で規定されたターボ符号のターボ符号復号装置７１を実装しており、移動体端末６０から送信された変調波を受信し、その変調波からターボ符号を復調すると、そのターボ符号復号装置７１を使用して、そのターボ符号を復号する。
【００８７】
この実施の形態７の場合も、移動体端末６０が、回路規模が小さく、処理速度が高速なターボ符号化装置６１（図１、図５、図８又は図１１のターボ符号化装置）を使用しているので、消費電力と回路規模が小さい高速通信の通信システムを実現することができる効果を奏する。
【００８８】
なお、上記実施の形態１〜７では、無線通信を実施する際に、ターボ符号化装置がターボ符号を符号化するものについて示したが、これに限るものではなく、一般的なディジタル情報処理を実施する際に、ターボ符号化装置がターボ符号を符号化するようにしてもよい。
【図面の簡単な説明】
【００８９】
【図１】この発明の実施の形態１によるターボ符号化装置を示す構成図である。
【図２】この発明の実施の形態１によるターボ符号化装置の成分符号化器１，５を示す構成図である。
【図３】この発明の実施の形態１によるターボ符号化装置の処理内容を示すフローチャートである。
【図４】この発明の実施の形態１によるターボ符号化装置の処理タイミングを示すタイミングチャートである。
【図５】この発明の実施の形態２によるターボ符号化装置を示す構成図である。
【図６】この発明の実施の形態２によるターボ符号化装置の処理内容を示すフローチャートである。
【図７】この発明の実施の形態２によるターボ符号化装置の処理タイミングを示すタイミングチャートである。
【図８】この発明の実施の形態３によるターボ符号化装置を示す構成図である。
【図９】この発明の実施の形態３によるターボ符号化装置の処理内容を示すフローチャートである。
【図１０】この発明の実施の形態３によるターボ符号化装置の処理タイミングを示すタイミングチャートである。
【図１１】この発明の実施の形態４によるターボ符号化装置を示す構成図である。
【図１２】この発明の実施の形態４によるターボ符号化装置の処理内容を示すフローチャートである。
【図１３】この発明の実施の形態４によるターボ符号化装置の処理タイミングを示すタイミングチャートである。
【図１４】この発明の実施の形態５によるターボ符号化装置の成分符号化器１，５，１１，１５を示す構成図である。
【図１５】この発明の実施の形態６による通信システムを示す構成図である。
【図１６】この発明の実施の形態６による通信システムの処理内容を示すフローチャートである。
【図１７】この発明の実施の形態７による通信システムを示す構成図である。
【符号の説明】
【００９０】
１，１１  成分符号化器（第１の符号化手段）、２  逆インタリーブ生成器（逆インタリーブ位置算出手段）、３  メモリＩＦ（インタリーブ系列生成手段）、４  メモリ（インタリーブ系列生成手段）、５，１５  成分符号化器（第２の符号化手段）、６，１６  メモリＩＦ、７，１７  メモリ、１２  メモリ（情報ビット系列格納手段）、１３  インタリーブ生成器（インタリーブ位置算出手段）、１４  メモリＩＦ（情報ビット読出し手段）、２１，２２，２６，２７，３１，３２，３３，３７，３８，３９  加算器、２３，２４，２５，３４，３５，３６  遅延素子、４０  送信装置、４１，６１  ターボ符号化装置、５０  受信装置、５１，７１  ターボ符号復号装置、６０  移動体端末、７０  基地局。
【図１】
2009077154.tif 000003
【図２】
2009077154.tif 000004
【図３】
2009077154.tif 000005
【図４】
2009077154.tif 000006
【図５】
2009077154.tif 000007
【図６】
2009077154.tif 000008
【図７】
2009077154.tif 000009
【図８】
2009077154.tif 000010
【図９】
2009077154.tif 000011
【図１０】
2009077154.tif 000012
【図１１】
2009077154.tif 000013
【図１２】
2009077154.tif 000014
【図１３】
2009077154.tif 000015
【図１４】
2009077154.tif 000016
【図１５】
2009077154.tif 000017
【図１６】
2009077154.tif 000018
【図１７】
2009077154.tif 000019