(57)【要約】符号長Ｎのターボ符号の受信系列から、情報ビット系列、インタリーブのない符号器に対応する検査ビット系列１及びインタリーブのある符号器に対応する検査ビット系列２に分離し、分離した各系列を複数のブロックに分割し、分割した各ブロックに対して逆方向のパスメトリックと順方向のパスメトリックを計算して軟入力軟出力復号処理を行うターボ符号の誤り訂正復号方法において、分離した各系列について先頭からＭシンボルごとに選択を行って１つのブロックを構成してＫ個のブロックに分割し、ブロック１からブロック（Ｋ−１）のブロック長をＭシンボルの構成にし、最後のブロックＫのブロック長を（Ｎ−Ｍ（Ｋ−１））シンボルの構成にするターボ符号の誤り訂正復号方法。【特許請求の範囲】
【請求項１】
符号長Ｎのターボ符号の受信系列から、情報ビット系列、インタリーブのない符号器に対応する検査ビット系列１及びインタリーブのある符号器に対応する検査ビット系列２に分離し、分離した各系列を複数のブロックに分割し、分割した各ブロックに対して逆方向のパスメトリックと順方向のパスメトリックを計算して軟入力軟出力復号処理を行うターボ符号の誤り訂正復号方法において、
分離した各系列について先頭からＭシンボルごとに選択を行って１つのブロックを構成してＫ個のブロックに分割し、ブロック１からブロック（Ｋ−１）のブロック長をＭシンボルの構成にし、最後のブロックＫのブロック長を（Ｎ−Ｍ（Ｋ−１））シンボルの構成にすることを特徴とするターボ符号の誤り訂正復号方法。
【請求項２】
各ブロックの逆方向のパスメトリックを計算する際に、後続のブロックのＭシンボルにおける先頭のＬシンボル分を使用して逆方向のパスメトリック計算の学習を行うことを特徴とする請求の範囲第１項記載のターボ符号の誤り訂正復号方法。
【請求項３】
各ブロックに対する軟入力軟出力復号処理として、インタリーブのない符号器に対応する軟入力軟出力復号処理後に、インタリーブのある符号器に対応する軟入力軟出力復号処理を行うことを特徴とする請求の範囲第１項記載のターボ符号の誤り訂正復号方法。
【請求項４】
各ブロックに対する軟入力軟出力復号処理として、インタリーブのある符号器に対応する軟入力軟出力復号処理後に、インタリーブのない符号器に対応する軟入力軟出力復号処理を行うことを特徴とする請求の範囲第１項記載のターボ符号の誤り訂正復号方法。
【請求項５】
符号長Ｎのターボ符号の受信系列にテイルビットが付加されている場合に、ブロック（Ｋ−１）と最後のブロックＫの逆方向のパスメトリックを計算する際に、上記テイルビットを使用して逆方向のパスメトリック計算の学習を行うことを特徴とする請求の範囲第１項記載のターボ符号の誤り訂正復号方法。
【請求項６】
順方向のパスメトリックを計算する際に、各ブロックの最終時点の順方向のパスメトリックを保持し、次のブロックの順方向のパスメトリックを計算するときの初期値とすることを特徴とする請求の範囲第１項記載のターボ符号の誤り訂正復号方法。
【請求項７】
軟入力軟出力復号処理過程で、計算した各ブロックの逆方向のパスメトリックを逆方向パスメトリック記憶手段に記憶する際に、各ブロックのブロック番号により上記逆方向パスメトリック記憶手段のアドレスを昇順と降順に交互に生成することを特徴とする請求の範囲第１項記載のターボ符号の誤り訂正復号方法。
【請求項８】
符号長Ｎのターボ符号の受信系列から分離された情報ビット系列を記憶する情報ビット系列記憶手段と、上記受信系列から分離されたインタリーブのない符号器に対応する検査ビット系列１を記憶する検査ビット系列１記憶手段と、上記受信系列から分離されたインタリーブのある符号器に対応する検査ビット系列２を記憶する検査ビット系列２記憶手段と、上記情報ビット系列記憶手段、上記検査ビット系列１記憶手段及び上記検査ビット系列２記憶手段に記憶されている各系列について先頭からＭシンボルごとに選択を行って１つのブロックを構成してＫ個のブロックに分割し、ブロック１からブロック（Ｋ−１）のブロック長をＭシンボルの構成にし、最後のブロックＫのブロック長を（Ｎ−Ｍ（Ｋ−１））シンボルの構成にして読み出し、分割した各ブロックに対して逆方向のパスメトリックと順方向のパスメトリックを計算して軟入力軟出力復号処理を行うことにより計算された外部情報系列を受信ビット系列順に記憶する受信ビット系列順外部情報記憶手段と、上記外部情報系列をインタリーブ順に記憶するインタリーブ順外部情報記憶手段とを備え、
逆方向のパスメトリック計算及び順方向のパスメトリック計算のための上記情報ビット系列記憶手段、上記受信ビット系列順外部情報記憶手段及び上記インタリーブ順外部情報記憶手段のリードアドレスを別々に生成し、逆方向のパスメトリック計算及び順方向のパスメトリック計算のための上記検査ビット系列１記憶手段及び上記検査ビット系列２記憶手段のリードアドレスを別々に生成し、上記受信ビット系列順外部情報記憶手段及び上記インタリーブ順外部情報記憶手段に上記外部情報系列を書き込むためのライトアドレスを生成し、上記検査ビット系列１記憶手段又は上記検査ビット系列２記憶手段からの出力を選択し、上記受信ビット系列順外部情報記憶手段又は上記インタリーブ順外部情報記憶手段からの出力を選択し、上記情報ビット系列記憶手段からの出力により、逆方向のパスメトリック計算及び順方向のパスメトリック計算を行うことを特徴とするターボ符号の誤り訂正復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】  この発明は、通信分野で使用されている誤り訂正符号に関し、特にターボ符号の誤り訂正復号方法及びターボ符号の誤り訂正復号装置に関するものである。
【背景技術】
【０００２】  従来のターボ符号の誤り訂正復号方法では、例えば特開２００２−２０４１７３号公報に示すように、受信シーケンスを最大事後アルゴリズムを用いてデコーディングするものにおいて、一定の長さの間、逆方向のプロセッシングによる学習を行い、以後、逆方向のプロセッシングによる第１結果値を計算して格納し、上記学習の時間と同時に順方向プロセッシングによる第２結果値を計算して、この第２結果値と上記第１結果値以前に格納された第１結果値を用いてデコーディングの出力を決定している。【０００３】  ここでは、逆方向又は順方向のプロセッシングの長さをＷとし、学習の長さをＬとし、受信シーケンスの長さをプロセッシングの長さＷで割った余りをＷ０とすると、処理の番号ｎが１以上の定数であるとき、受信シーケンスのナンバ“Ｗ０＋ｎＷ＋Ｌ”から“Ｗ０＋ｎＷ”のシンボルの間で逆方向のプロセッシングによって学習を行い、以後に、“Ｗ０＋ｎＷ”から“Ｗ０＋（ｎ−１）Ｗ”までのシンボルで逆方向のプロセッシングによる第１結果値を格納し、上記演算の後に、“Ｗ０＋（ｎ−１）Ｗ＋Ｌ”から“Ｗ０＋ｎＷ”までのシンボルで順方向のプロセッシングによる第２結果値を計算して、この第２結果値と“Ｗ０＋（ｎ−１）Ｗ”から“Ｗ０＋ｎＷ”まで計算されて格納された第１結果値を用いてデコーディングのビットを決定している。【０００４】  従来のターボ符号の誤り訂正復号方法は以上のようになされているので、受信シーケンスの長さである符号長Ｎに応じて、最初の段のブロック長Ｗ０が他の段のブロック長と異なっているために、最初の段のブロック長を計算する必要が生じ、逆方向のパスメトリックの計算を行う際に一定の学習の長さＬの開始位置を計算すると、符号長Ｎによって値が変化するために、逆方向のパスメトリックの計算の開始位置を容易に定めることができないという課題があった。【０００５】  この発明は上記のような課題を解決するためになされたもので、逆方向のパスメトリックの計算の開始位置を容易に定めることができるターボ符号の誤り訂正復号方法及びターボ符号の誤り訂正復号装置を得ることを目的とする。
【発明の開示】
【０００６】  この発明に係るターボ符号の誤り訂正復号方法は、符号長Ｎのターボ符号の受信系列から、情報ビット系列、インタリーブのない符号器に対応する検査ビット系列１及びインタリーブのある符号器に対応する検査ビット系列２に分離し、分離した各系列を複数のブロックに分割し、分割した各ブロックに対して逆方向のパスメトリックと順方向のパスメトリックを計算して軟入力軟出力復号処理を行うものにおいて、分離した各系列について先頭からＭシンボルごとに選択を行って１つのブロックを構成してＫ個のブロックに分割し、ブロック１からブロック（Ｋ−１）のブロック長をＭシンボルの構成にし、最後のブロックＫのブロック長を（Ｎ−Ｍ（Ｋ−１））シンボルの構成にするものである。
【０００７】  この発明により、分割された各々のブロックに対して軟入力軟出力処理を行う際に、符号長Ｎによらず逆方向のパスメトリックの計算の開始位置を容易に定めることができるという効果が得られる。
【図面の簡単な説明】
【０００８】［図１］この発明の実施の形態１によるターボ符号の誤り訂正復号装置の構成を示すブロック図である。
［図２］この発明の実施の形態１によるターボ符号の誤り訂正復号装置における受信系列の分割方法を説明する図である。
［図３］この発明の実施の形態１によるターボ符号の誤り訂正復号装置のターボ符号の復号手順を示すフローチャートである。
［図４］この発明の実施の形態１によるターボ符号の誤り訂正復号装置のターボ復号におけるパスメトリック計算のタイミングを説明する図である。
［図５］この発明の実施の形態１によるターボ符号の誤り訂正復号装置におけるインタリーブのない符号器に対応する軟入力軟出力復号手順を示すフローチャートである。
［図６］この発明の実施の形態１によるターボ符号の誤り訂正復号装置におけるインタリーブのある符号器に対応する軟入力軟出力復号手順を示すフローチャートである。
［図７］この発明の実施の形態２によるターボ符号の誤り訂正復号装置のターボ符号の復号手順を示すフローチャートである。
［図８］この発明の実施の形態３によるターボ符号の誤り訂正復号装置のターボ復号におけるパスメトリック計算のタイミングを説明する図である。
［図９］この発明の実施の形態５によるターボ符号の誤り訂正復号装置における逆方向パスメトリック計算手段が計算した逆方向のパスメトリックを記憶する逆方向パスメトリック記憶手段のアドレスを示す図である。
［図１０］この発明の実施の形態５によるターボ符号の誤り訂正復号装置における逆方向パスメトリック計算手段が計算した逆方向のパスメトリックを記憶する逆方向パスメトリック記憶手段のアドレスを示す図である。
［図１１］この発明の実施の形態５によるターボ符号の誤り訂正復号装置における逆方向パスメトリック計算手段が計算した逆方向のパスメトリックを記憶する逆方向パスメトリック記憶手段のアドレスを示す図である。
［図１２］この発明の実施の形態６によるターボ符号の誤り訂正復号装置の構成を示すブロック図である。
【発明を実施するための最良の形態】
【０００９】  以下、この発明をより詳細に説明するために、この発明を実施するための最良の形態について、添付の図面に従って説明する。
実施の形態１．
第１図はこの発明の実施の形態１によるターボ符号の誤り訂正復号装置の構成を示すブロック図である。このターボ符号の誤り訂正復号装置は、受信データ記憶手段１、外部情報記憶手段２、逆方向ブランチメトリック計算手段３、逆方向パスメトリック計算手段４、逆方向パスメトリック記憶手段５、順方向ブランチメトリック計算手段６、順方向パスメトリック計算手段７、ＬＬＲ（Ｌｏｎｇ  Ｌｉｋｅｌｉｈｏｏｄ  Ｒａｔｉｏ）計算手段８を備えている。【００１０】  受信データ記憶手段１は受信系列１０１から分離された情報ビット系列、検査ビット系列１及び検査ビット系列２を記憶し、外部情報記憶手段２はＬＬＲ計算手段８が計算した外部情報系列を記憶する。【００１１】  逆方向ブランチメトリック計算手段３は逆方向のブランチメトリックを計算し、逆方向パスメトリック計算手段４は逆方向のパスメトリックを計算し、逆方向パスメトリック記憶手段５は計算された逆方向のパスメトリックを記憶する。【００１２】  順方向ブランチメトリック計算手段６は順方向のブランチメトリックを計算し、順方向パスメトリック計算手段７は順方向のパスメトリックを計算し、ＬＬＲ計算手段８は順方向ブランチメトリック計算手段６により計算された順方向のブランチメトリックと、順方向パスメトリック計算手段７より計算された順方向のパスメトリックと、逆方向パスメトリック記憶手段５に記憶されている逆方向のパスメトリックにより、次の復号を行うために外部情報系列を計算して更新すると共に硬判定復号系列を生成して復号結果１０２として出力する。【００１３】  次に動作について説明する。
ターボ符号の誤り訂正復号装置の前段に設置されている復調器（図示せず）からの受信系列１０１は、符号化側からの符号化データに対応して、情報ビット系列、検査ビット系列１及び検査ビット系列２の３つの系列に分離されて受信データ記憶手段１に記憶される。ここで、検査ビット系列１はインタリーブのない符号器に対応する検査ビット系列であり、検査ビット系列２はインタリーブのある符号器に対応する検査ビット系列である。【００１４】  第２図は受信系列の分割方法を説明する図である。受信データ記憶手段１に記憶される情報ビット系列、検査ビット系列１及び検査ビット系列２の３つの系列は、符号長Ｎ、ブロック長Ｍ、分割されるブロック数Ｋとすると、Ｋ＝＜Ｎ／Ｍ＞に分割されて、逆方向ブランチメトリック計算手段３や順方向ブランチメトリック計算手段６に読み出される。ここで、“＜＞”は割り切れない場合に小数点以下を切り上げる関数である。【００１５】  すなわち、第２図に示すように、受信データ記憶手段１から情報ビット系列を受信ビット系列順及びインタリーブ順に読み出す場合や、検査ビット系列１及び検査ビット系列２を読み出す場合には、先頭からＭシンボルごとに選択を行って１つのブロックを構成してＫ個のブロックに分割し、ブロック１［Ｂｌｏｃｋ＃１］からブロック（Ｋ−１）［Ｂｌｏｃｋ＃（Ｋ−１）］のブロック長をＭシンボルの構成にし、最後のブロックＫ［Ｂｌｏｃｋ＃Ｋ］のブロック長を、残りの（Ｎ−Ｍ（Ｋ−１））シンボルの構成にする。【００１６】  また、第２図では外部情報記憶手段２に記憶される外部情報系列については図示されていないが、情報ビット系列、検査ビット系列１及び検査ビット系列２と同様に、先頭からＭシンボルごとに選択を行って１つのブロックを構成してＫ個のブロックに分割し、ブロック１［Ｂｌｏｃｋ＃１］からブロック（Ｋ−１）［Ｂｌｏｃｋ＃（Ｋ−１）］のブロック長をＭシンボルの構成にし、最後のブロックＫ［Ｂｌｏｃｋ＃Ｋ］のブロック長を、残りの（Ｎ−Ｍ（Ｋ−１））シンボルの構成にする。【００１７】  分割された各々のブロックに対して、以下に示すように軟入力軟出力処理を行うが、軟入力軟出力計算の方法については、ｌｏｇＭＡＰアルゴリズムやＭａｘｌｏｇＭＡＰアルゴリズムを使用して行う。【００１８】  第３図はターボ符号の復号手順を示すフローチャートである。ステップＳＴ１１において、復号繰り返し回数ｊ＝１に設定し、ステップＳＴ１２において、受信データ記憶手段１に記憶されている受信ビット系列順に読み出された情報ビット系列と、受信データ記憶手段１に記憶されている検査ビット系列１と、外部情報記憶手段２に記憶されている外部情報系列（ただし、１回目の復号時は外部情報系列の値はすべて０とする）に基づき、逆方向ブランチメトリック計算手段３、逆方向パスメトリック計算手段４、逆方向パスメトリック記憶手段５、順方向ブランチメトリック計算手段６、順方向パスメトリック計算手段７及びＬＬＲ計算手段８により行われる後述の符号化側のインタリーブのない符号器に対応する軟入力軟出力復号手順により、次の復号を行うために外部情報系列を計算して更新する。【００１９】  ステップＳＴ１３において、更新された外部情報系列はインタリーブ順に並び替えられて外部情報記憶手段２に記憶される。【００２０】  ステップＳＴ１４において、受信データ記憶手段１に記憶されているインタリーブ順に読み出された情報ビット系列と、受信データ記憶手段１に記憶されている検査ビット系列２と、外部情報記憶手段２に記憶されている更新されたインタリーブ順の外部情報系列とに基づき、逆方向ブランチメトリック計算手段３、逆方向パスメトリック計算手段４、逆方向パスメトリック記憶手段５、順方向ブランチメトリック計算手段６、順方向パスメトリック計算手段７及びＬＬＲ計算手段８により行われる後述の符号化側のインタリーブのある符号器に対応する軟入力軟出力復号手順により、次の復号を行うために外部情報系列を計算して更新すると共に硬判定復号系列を生成する。【００２１】  ステップＳＴ１５において、ステップＳＴ１４で更新された外部情報系列はデインタリーブされて受信ビット系列順に順序を並び替えられて外部情報記憶手段２に記憶される。【００２２】  ステップＳＴ１６において、復号繰り返し回数ｊが予め定められた所定の復号繰り返し回数Ｐになったかを確認し、なっていない場合には、ステップＳＴ１７において復号繰り返し回数ｊを更新して、上記ステップＳＴ１２〜ＳＴ１５を繰り返す。【００２３】  復号繰り返し回数ｊが予め定められた所定の復号繰り返し回数Ｐになった場合には、ステップＳＴ１８において、最後の復号における硬判定復号系列を復号結果１０２として出力する。【００２４】  第４図はターボ復号におけるパスメトリック計算のタイミングを説明する図である。ここでは、逆方向パスメトリック計算手段４によるブロック１［Ｂｌｏｃｋ＃１］からブロックＫ［Ｂｌｏｃｋ＃Ｋ］までの逆方向のパスメトリック計算のタイミングと、順方向パスメトリック計算手段７によるブロック１［Ｂｌｏｃｋ＃１］からブロックＫ［Ｂｌｏｃｋ＃Ｋ］までの順方向のパスメトリック計算のタイミングと、ＬＬＲ計算手段８によるブロック１［Ｂｌｏｃｋ＃１］からブロックＫ［Ｂｌｏｃｋ＃Ｋ］までの外部情報系列の計算及び復号結果１０２の出力のタイミングを示している。【００２５】  第４図の逆方向のパスメトリック計算において、ブロック１［Ｂｌｏｃｋ＃１］の前に付加されているＬシンボル２０１は後続のブロック２［Ｂｌｏｃｋ＃２］のＭシンボルにおける先頭のＬシンボル分であり、ブロック１のＭシンボルの逆方向のパスメトリック計算を行う前に、逆方向のパスメトリックの初期値を計算するために、次のブロック２のＭシンボルにおける先頭のＬシンボル分をマージンシンボル数として使用して逆方向パスメトリック計算の学習を行うことを示している。すなわち、ブロック１の逆方向のパスメトリックをブロック２のＬシンボル目から計算することを示している。【００２６】  同様に、各ブロックの前に付加されているＬシンボル２０２，２０３，２０８，２０９は、それぞれ後続のブロックのＭシンボルにおける先頭のＬシンボル分であり、各ブロックのＭシンボルの逆方向のパスメトリック計算を行う前に、後続の各ブロックのＭシンボルにおける先頭のＬシンボル分をマージンシンボル数として使用して逆方向のパスメトリック計算の学習を行うことを���している。ただし、最後のブロックＫ［Ｂｌｏｃｋ＃Ｋ］については、後続のブロックが存在しないので、Ｌシンボル２０９を使用した学習は実際には行われない。【００２７】  第４図の逆方向のパスメトリック計算において、逆方向パスメトリック計算手段４がブロック１の逆方向のパスメトリックをブロック２のＬシンボル目から計算し、計算した逆方向のパスメトリックを逆方向パスメトリック記憶手段５に記憶させる。次に逆方向パスメトリック計算手段４がブロック２の逆方向のパスメトリックをブロック３のＬシンボル目から計算して逆方向パスメトリック記憶手段５に記憶させると同時に、順方向パスメトリック計算手段７がブロック１の順方向のパスメトリックを計算し、その後、ＬＬＲ計算手段８がブロック１の逆方向のパスメトリックと順方向のパスメトリックに対する外部情報系列を計算し、計算した外部情報系列を外部情報記憶手段２に記憶させる。以下のブロックについても同様に行われ、逆方向パスメトリック計算手段４がブロックＫの逆方向のパスメトリックを計算して逆方向パスメトリック記憶手段５に記憶させると同時に、順方向パスメトリック計算手段７がブロック（Ｋ−１）の順方向のパスメトリックを計算し、その後、ブロック（Ｋ−１）の逆方向のパスメトリックと順方向のパスメトリックに対する外部情報系列を計算し、計算した外部情報系列を外部情報記憶手段２に記憶させる。最後に、順方向パスメトリック計算手段７がブロックＫの順方向のパスメトリックを計算し、その後、ＬＬＲ計算手段８がブロックＫの逆方向のパスメトリックと順方向のパスメトリックに対する外部情報系列を計算し、計算した外部情報系列を外部情報記憶手段２に記憶させる。【００２８】  第５図は第３図のステップＳＴ１２におけるインタリーブのない符号器に対応する軟入力軟出力復号手順を示すフローチャートである。ステップＳＴ２１において、受信データ記憶手段１に記憶されている情報ビット系列が受信順にＫ個のブロックに分割されて読み出され、受信データ記憶手段１に記憶されている検査ビット系列１がＫ個のブロックに分割されて読み出され、外部情報記憶手段２に記憶されている外部情報系列（ただし、１回目の復号時は外部情報系列の値はすべて０とする）がそれぞれＫ個のブロックに分割されて読み出される。【００２９】  ステップＳＴ２２において、逆方向ブランチメトリック計算手段３が逆方向のブランチメトリックを計算した後、逆方向パスメトリック計算手段４はブロック１［Ｂｌｏｃｋ＃１］の逆方向のパスメトリックをブロック２［Ｂｌｏｃｋ＃２］のＬ（＜Ｍ）シンボル目から計算し、計算した逆方向のパスメトリックのうちブロック１の逆方向のパスメトリックを逆方向パスメトリック記憶手段５に記憶させる。【００３０】  ステップＳＴ２３において、ブロック番号の変数ｉ＝１に設定し、ステップＳＴ２４において、ブロック番号の変数ｉが最終のブロックＫであるか否かを確認し、ブロック番号の変数ｉが最終のブロックＫでなければステップＳＴ２５に移行する。【００３１】  ステップＳＴ２５において、逆方向パスメトリック計算手段４はブロック２［Ｂｌｏｃｋ＃２］の逆方向のパスメトリックをブロック３［Ｂｌｏｃｋ＃３］のＬ（＜Ｍ）シンボル目から計算し、計算した逆方向のパスメトリックのうちブロック２の逆方向のパスメトリックを逆方向パスメトリック記憶手段５に記憶させる。また、同時に、順方向ブランチメトリック計算手段６が順方向のブランチメトリックを計算した後、順方向パスメトリック計算手段７はブロック１の順方向のパスメトリックを計算する。そして、ＬＬＲ計算手段８は、逆方向パスメトリック記憶手段５に記憶されているブロック１の逆方向のパスメトリックと、順方向ブランチメトリック計算手段６により計算されたブロック１の順方向のブランチメトリックと、順方向パスメトリック計算手段７により計算されたブロック１の順方向のパスメトリックにより、ブロック１の外部情報系列を計算して外部情報系列を外部情報記憶手段２に記憶させると共に硬判定値を計算する。【００３２】  ステップＳＴ２６において、ブロック番号の変数ｉを更新し、上記ステップＳＴ２４，ＳＴ２５の処理を繰り返し、同様にしてブロック（ｉ＋１）［Ｂｌｏｃｋ＃（ｉ＋１）］の逆方向のパスメトリック計算とブロックｉ［Ｂｌｏｃｋ＃ｉ］の順方向のパスメトリック計算を、更新された外部情報系列を使用して同時に行い、ＬＬＲ計算手段８は、逆方向パスメトリック記憶手段５に記憶されているブロックｉの逆方向のパスメトリックと、順方向ブランチメトリック計算手段６により計算されたブロックｉの順方向のブランチメトリックと、順方向パスメトリック計算手段７により計算されたブロックｉの順方向のパスメトリックによりブロックｉの外部情報系列を計算し更新して外部情報記憶手段２に記憶させると共に硬判定値を計算する。【００３３】  上記ステップＳＴ２４でブロック番号の変数ｉが最終のブロックＫになった場合には、ステップＳＴ２７において、順方向パスメトリック計算手段７は更新された外部情報系列を使用してブロックＫの順方向パスメトリックを計算する。そして、ＬＬＲ計算手段８は逆方向パスメトリック記憶手段５に記憶されているブロックＫの逆方向のパスメトリックと、順方向ブランチメトリック計算手段６により計算されたブロックＫの順方向のブランチメトリックと、順方向パスメトリック計算手段７により計算されたブロックＫの順方向のパスメトリックによりブロックＫの外部情報系列を計算し更新して外部情報記憶手段２に記憶させると共に硬判定値を計算する。【００３４】  第６図は第３図のステップＳＴ１４におけるインタリーブのある符号器に対応する軟入力軟出力復号手順を示すフローチャートである。ステップＳＴ３１において、受信データ記憶手段１に記憶されている情報ビット系列がインタリーブ順にＫ個のブロックに分割されて読み出され、受信データ記憶手段１に記憶されている検査ビット系列２がＫ個のブロックに分割されて読み出され、外部情報記憶手段２に記憶されているインタリーブ順に並び替えられた外部情報系列（ただし、１回目の復号時は外部情報系列の値はすべて０とする）がそれぞれＫ個のブロックに分割されて読み出される。【００３５】  ステップＳＴ３２において、逆方向ブランチメトリック計算手段３が逆方向のブランチメトリックを計算した後、逆方向パスメトリック計算手段４はブロック１［Ｂｌｏｃｋ＃１］の逆方���のパスメトリックをブロック２［Ｂｌｏｃｋ＃２］のＬ（＜Ｍ）シンボル目から計算し、計算した逆方向のパスメトリックのうちブロック１の逆方向のパスメトリックを逆方向パスメトリック記憶手段５に記憶させる。【００３６】  ステップＳＴ３３において、ブロック番号の変数ｉ＝１に設定し、ステップＳＴ３４において、ブロック番号の変数ｉが最終のブロックＫであるか否かを確認し、ブロック番号の変数ｉが最終のブロックＫでなければステップＳＴ３５に移行する。【００３７】  ステップＳＴ３５において、逆方向パスメトリック計算手段４はブロック２［Ｂｌｏｃｋ＃２］の逆方向のパスメトリックをブロック３［Ｂｌｏｃｋ＃３］のＬ（＜Ｍ）シンボル目から計算し、計算した逆方向パスメトリックのうちブロック２の逆方向のパスメトリックを逆方向パスメトリック記憶手段５に記憶させる。また、同時に、順方向ブランチメトリック計算手段６がブロック１の順方向のブランチメトリックを計算した後、順方向パスメトリック計算手段７はブロック１の順方向のパスメトリックを計算する。そして、ＬＬＲ計算手段８は、逆方向パスメトリック記憶手段５に記憶されているブロック１の逆方向のパスメトリックと、順方向ブランチメトリック計算手段６により計算されたブロック１の順方向のブランチメトリックと、順方向ブランチメトリック計算手段６により計算されたブロック１の順方向のパスメトリックにより、ブロック１の外部情報系列を計算して外部情報記憶手段２に記憶させると共に硬判定値を計算する。【００３８】  ステップＳＴ３６において、ブロック番号の変数ｉを更新し、上記ステップＳＴ３４，ＳＴ３５の処理を繰り返し、同様にしてブロック（ｉ＋１）［Ｂｌｏｃｋ＃（ｉ＋１）］の逆方向のパスメトリック計算とブロックｉ［Ｂｌｏｃｋ＃ｉ］の順方向のパスメトリック計算を、更新された外部情報系列を使用して同時に行い、ＬＬＲ計算手段８は、逆方向パスメトリック記憶手段５に記憶されているブロックｉの逆方向のパスメトリックと、順方向ブランチメトリック計算手段６により計算されたブロックｉの順方向のブランチメトリックと、順方向パスメトリック計算手段７により計算されたブロックｉの順方向のパスメトリックにより、ブロックｉの外部情報系列を計算し更新して外部情報記憶手段２に記憶させると共に硬判定値を計算する。【００３９】  上記ステップＳＴ３４でブロック番号の変数ｉが最終のブロックＫになった場合には、ステップＳＴ３７において、順方向パスメトリック計算手段７は更新された外部情報系列を使用してブロックＫの順方向のパスメトリックを計算する。そして、ＬＬＲ計算手段８は逆方向パスメトリック記憶手段５に記憶されているブロックＫの逆方向のパスメトリックと、順方向ブランチメトリック計算手段６により計算されたブロックＫの順方向のブランチメトリックと、順方向パスメトリック計算手段７により計算されたブロックＫの順方向のパスメトリックによりブロックＫの外部情報系列を計算すると共に硬判定値を計算する。【００４０】  以上のように、この実施の形態１によれば、情報ビット系列、検査ビット系列１、検査ビット系列２及び外部情報系列について、符号長Ｎシンボルの先頭からＭシンボルごとに１つのブロックを構成してＫ個のブロックに分割し、ブロック１からブロック（Ｋ−１）についてはＭシンボルとし、最後のブロックＫについては残りの（Ｎ−Ｍ（Ｋ−１））シンボルとすることにより、分割された各々のブロックに対して軟入力軟出力処理を行う際に、符号長Ｎによらず逆方向のパスメトリックの計算の開始位置を容易に定めることができるという効果が得られる。【００４１】実施の形態２．
この発明の実施の形態２によるターボ符号の誤り訂正復号装置の構成を示すブロック図は、上記実施の形態１の第１図と同じである。また、この実施の形態２の受信系列の分割方法は上記実施の形態１の第２図と同じであり、この実施の形態２のパスメトリック計算のタイミングは上記実施の形態１の第４図と同じである。上記実施の形態１では、ＬＬＲ計算手段８が情報ビット系列のインタリーブ順に硬判定復号系列を復号結果１０２として出力しているが、この実施の形態２では、ＬＬＲ計算手段８が情報ビット系列の受信ビット系列順、すなわち、情報ビット系列の先頭順に硬判定復号系列を復号結果１０２として出力する。【００４２】  次に動作について説明する。
第７図はこの発明の実施の形態２によるターボ符号の誤り訂正復号装置のターボ符号の復号手順を示すフローチャートである。第７図に示すフローチャートは、上記実施の形態１の第３図のステップＳＴ１２，ＳＴ１３の処理と、ステップＳＴ１４，ＳＴ１５の処理とを入れ替えたものと基本的には同じである。【００４３】  すなわち、第７図のステップＳＴ４２の処理は第３図のステップＳＴ１４の処理は基本的には同じであり、第３図のステップＳＴ１４で行っていた硬判定復号系列の生成処理を、第７図のステップＳＴ４２では実施しない。また、第７図のステップＳＴ４３の処理は第３図のステップＳＴ１５の処理と同じであり、第７図のステップＳＴ４４の処理は第３図のステップＳＴ１２の処理と基本的には同じであり、第３図のステップＳＴ１２で行っていない硬判定復号系列の生成処理を、第７図のステップＳＴ４４では実施している。さらに、第７図のステップＳＴ４５の処理は第３図のステップＳＴ１３の処理と同じであり、第７図のその他のステップＳＴ４１，ＳＴ４６，ＳＴ４７，ＳＴ４８の処理は、第３図のステップＳＴ１１，ＳＴ１６，ＳＴ１７，ＳＴ１８の処理と同じである。【００４４】  このように、最初に、インタリーブ順の情報ビット系列、検査ビット系列２、インタリーブ順の外部情報系列を組み合わせて外部情報系列の更新を行い、次に、更新された外部情報系列にデインタリーブを行って受信ビット系列順に並べ替えを行い、受信ビット系列順の情報ビット系列、検査ビット系列１、外部情報系列を組み合わせて外部情報系列の計算を行う。この演算を繰り返して復号処理を行うことで、ＬＬＲ計算手段８が情報ビット系列の受信ビット系列順、すなわち、情報ビット系列の先頭順に硬判定復号系列を復号結果１０２として出力する。【００４５】  情報ビット系列に例えばＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）等の誤り検出符号が付加されている場合には、上記実施の形態１では情報ビット系列のインタリーブ順に硬判定復号系列を復号結果１０２として出力しているので、復号結果１０２をメモリ（図示せず）に格納して受信ビット系列順に並び替えてからＣＲＣ演算を行う必要があるが、この実施の形態２では情報ビット系列の先頭順に硬判定復号系列を復号結果１０２として出力することにより、メモリへの格納や並び替えを行う必要がなく、ＣＲＣ等の誤り検出操処理を高速に行うことができる。【００４６】  以上のように、この実施の形態２によれば、上記実施の形態１と同様に、符号長Ｎによらず逆方向のパスメトリックの計算の開始位置を容易に定めることができるという効果が得られる。【００４７】  また、この実施の形態２によれば、最初に、インタリーブ順の情報ビット系列、検査ビット系列２、インタリーブ順の外部情報系列を組み合わせて外部情報系列の更新を行い、次に、更新された外部情報系列にデインタリーブを行って受信ビット系列順に並べ替えを行い、受信ビット系列順の情報ビット系列、検査ビット系列１、外部情報系列を組み合わせて外部情報系列の計算を行うことにより、復号結果１０２が情報ビット系列の先頭順に出力され、ＣＲＣ等の誤り検出操処理を高速に行うことができるという効果が得られる。【００���８】実施の形態３．
この発明の実施の形態３によるターボ符号の誤り訂正復号装置の構成を示すブロック図は、上記実施の形態１の第１図と同じである。また、この実施の形態３の受信系列の分割方法は上記実施の形態１の第２図と同じである。この実施の形態３は、ブロック終端での内部状態が固定値（通常は０）となるように、受信系列１０１のブロック終端にテイルビットが挿入されている場合に、逆方向のパスメトリックの計算をテイルビットを利用して行うものである。【００４９】  次に動作について説明する。
この実施の形態３におけるターボ符号の復号手順を示すフローチャートは、上記実施の形態１の第３図に示す処理と同じであり、この実施の形態３におけるインタリーブのない符号器に対応する軟入力軟出力復号手順を示すフローチャート及びインタリーブのある符号器に対応する軟入力軟出力復号手順を示すフローチャートは、それぞれ上記実施の形態１の第５図及び第６図と同じである。【００５０】  第８図はこの実施の形態３のターボ復号におけるパスメトリック計算のタイミングを説明する図であり、上記実施の形態１の第４図と比較して、逆方向のパスメトリック計算におけるブロック（Ｋ−１）の前に付加されているＬシンボル２０８がＬｘシンボル２１８となり、ブロックＫの前に付加されているＬシンボル２０９がテイルビット（Ｔａｉｌ）２１９となっている点が相違している。【００５１】  ここでは、復号手順を示すフローチャートについては、上記実施の形態１において説明したものと同じであり、上記実施の形態１で説明した部分と異なる部分の動作を第８図に基づいて説明する。【００５２】  外部情報系列を計算する過程において、上記実施の形態１では、逆方向パスメトリック計算手段４が逆方向のパスメトリックを計算するときに、マージンとなる学習のためのマージンシンボル数Ｌの値が所定の固定値であり、逆方向のパスメトリック計算を行う際に、受信データ記憶手段１に記憶されている情報ビット系列について、最終のブロックＫのブロック長（Ｎ−Ｍ（Ｋ−１））シンボルが短く、第４図のブロック（Ｋ−１）のＬシンボル２０８が所定の固定値を取れず、ブロック（Ｋ−１）の逆方向のパスメトリック計算を行っている。【００５３】  一方、この実施の形態３では、逆方向パスメトリック計算手段４が逆方向のパスメトリックの計算を行う際に、符号長Ｎ及びマージンシンボル数Ｌの値によって、第８図に示すように、ブロック１［Ｂｌｏｃｋ＃１］からブロック（Ｋ−２）［Ｂｌｏｃｋ＃（Ｋ−２）］（図示せず）については、マージンシンボル数Ｌの値をあらかじめ定められた所定の固定値をとり、ブロック（Ｋ−１）［Ｂｌｏｃｋ＃（Ｋ−１）］については、マージンシンボル数Ｌｘの値を、Ｌｘ＝Ｍｉｎ（Ｌ，Ｎ−Ｍ（Ｋ−１））をとり、すなわち、マージンシンボル数Ｌの値か、ブロックＫ［Ｂｌｏｃｋ＃Ｋ］のブロック長（Ｎ−Ｍ（Ｋ−１））の値の小さい方をとる。そして、ＬＸ＝Ｌの場合は、逆方向のパスメトリックの初期値を各状態がすべて同一の値Ｌから計算を行い、Ｌｘ＝Ｎ−Ｍ（Ｋ−１）の場合は、状態０の値を大きくとり、テイルビットのパスメトリックを計算してから、ブロックＫ［Ｂｌｏｃｋ＃Ｋ］のＬｘシンボル目から逆方向のパスメトリックの計算を行う。ブロックＫについては、逆方向のパスメトリックの初期値として状態０の値を大きくとり、テイルビットのパスメトリックを計算してから、ブロックＫの逆方向のパスメトリックの計算を行うことにより、テイルビットの情報を有効に活用でき、高速に効率良く逆方向のパスメトリックの計算が可能になり、ブロック（Ｋ−１）及びブロックＫの逆方向のパスメトリック計算における学習期間を確保でき全体の復号動作においても性能向上を図ることができる。【００５４】  以上のよう��、この実施の形態３によれば、上記実施の形態１と同様に、符号長Ｎによらず逆方向のパスメトリックの計算の開始位置を容易に定めることができるという効果が得られる。【００５５】  また、この実施の形態３によれば、受信系列のブロック終端にテイルビットが挿入されている場合に、テイルビットを利用して逆方向のパスメトリックを計算することにより、テイルビットの情報を有効に活用でき、高速に効率良く逆方向のパスメトリックの計算が可能になり、全体の復号動作においても性能向上を図ることができるという効果が得られる。【００５６】  なお、この実施の形態３については、上記実施の形態２の復号手順で復号を行っても同様の効果が得られる。【００５７】実施の形態４．
この発明の実施の形態４によるターボ符号の誤り訂正復号装置の構成を示すブロック図は、上記実施の形態１の第１図と同じである。また、この実施の形態４の受信系列の分割方法、ターボ符号の復号手順を示すフローチャート、パスメトリック計算のタイミング、インタリーブのない符号器に対応する軟入力軟出力復号手順及びインタリーブのない符号器に対応する軟入力軟出力復号手順は、それぞれ上記実施の形態１の第２図、第３図、第４図、第５図及び第６図と同じである。【００５８】  次に動作について説明する。
第５図のステップＳＴ２５及び第６図のステップＳＴ３５において、順方向パスメトリック計算手段７が順方向のパスメトリックを計算する際に、ｉ（ｉ＝１，２，・・・，（Ｋ−１））番目のブロックの最終時点の順方向のパスメトリックをメモリ（図示せず）等に一時退避させてやり、次の（ｉ＋１）番目のブロックの順方向のパスメトリックを計算するときの初期値とする。例えば、第４図の順方向のパスメトリック計算におけるブロック１の最終時点の順方向のパスメトリックをメモリに一時退避させ、次のブロック２の順方向のパスメトリックを計算するときの初期値とする。このように、ｉ番目のブロックの最終時点の順方向のパスメトリックをメモリに一時退避させ、次の（ｉ＋１）番目のブロックの順方向のパスメトリックを計算するときの初期値とすることにより、順方向のパスメトリックの精度が向上し、全体の復号動作においても性能向上を図ることができる。【００５９】  以上のように、この実施の形態４によれば、上記実施の形態１と同様に、符号長Ｎによらず逆方向のパスメトリックの計算の開始位置を容易に定めることができるという効果が得られる。【００６０】  また、この実施の形態４によれば、順方向パスメトリック計算手段７が順方向のパスメトリックを計算する際に、各ブロックの最終時点の順方向のパスメトリックを一時退避させてやり、次のブロックの順方向のパスメトリックを計算するときの初期値とすることにより、順方向のパスメトリックの精度が向上し、全体の復号動作においても性能向上を図ることができるという効果が得られる。【００６１】  なお、この実施の形態４については、上記実施の形態２の復号手順で復号を行っても同様の効果が得られる。【００６２】実施の形態５．
この発明の実施の形態５によるターボ符号の誤り訂正復号装置の構成を示すブロック図は、上記実施の形態１の第１図と同じである。また、この実施の形態５の受信系列の分割方法、ターボ符号の復号手順を示すフローチャート、パスメトリック計算のタイミング、インタリーブのない符号器に対応する軟入力軟出力復号手順及びインタリーブのない符号器に対応する軟入力軟出力復号手順は、それぞれ上記実施の形態１の第２図、第３図、第４図、第５図及び第６図と同じである。【００６３】  次に動作について説明する。
逆方向パスメトリック計算手段４が計算したブロック長Ｍシンボルのブロックの逆方向のパスメトリック値を逆方向パスメトリック記憶手段５に記憶する際に、逆方向パスメトリック記憶手段５としてＭワードのメモリ容量が必要になる。逆方向パスメトリック計算手段４が次のブロックの逆方向のパスメトリック値を計算すると、ＬＬＲ計算手段８が逆方向パスメトリック記憶手段５に記憶されている逆方向のパスメトリックを読み出すのと同時に、計算された次のブロックの逆方向のパスメトリックを逆方向パスメトリック記憶手段５に記憶する必要がある。そのため、上記実施の形態１では、逆方向パスメトリック記憶手段５として、書き込み領域Ｍワードと読み出し領域Ｍワードの合計２Ｍワードのメモリ容量が必要になる。【００６４】  第９図は第１図における逆方向パスメトリック計算手段４が計算した逆方向のパスメトリックを記憶する逆方向パスメトリック記憶手段５のアドレスを示す図である。第９図（ａ）はブロック１［Ｂｌｏｃｋ＃１］の逆方向のパスメトリックを書き込む際のライトアドレスを示している。また、第９図（ｂ）はブロック番号の変数ｉが偶数時におけるブロック（ｉ−１）［Ｂｌｏｃｋ＃（ｉ−１）］の逆方向のパスメトリックを読み出す際のリードアドレスとブロックｉ［Ｂｌｏｃｋ＃ｉ］の逆方向のパスメトリックを書き込む際のライトアドレスを示している。さらに、第９図（ｃ）はブロック番号の変数ｉが奇数時におけるブロック（ｉ−１）［Ｂｌｏｃｋ＃（ｉ−１）］の逆方向のパスメトリックを読み出す際のリードアドレスとブロックｉ［Ｂｌｏｃｋ＃ｉ］の逆方向のパスメトリックを書き込む際のライトアドレスを示している。【００６５】  第１０図は第１図における逆方向パスメトリック計算手段４が計算した逆方向のパスメトリックを記憶する逆方向パスメトリック記憶手段５のアドレスを示す図である。第１０図（ａ）は最終のブロック番号Ｋが偶数時におけるブロック（Ｋ−１）［Ｂｌｏｃｋ＃（Ｋ−１）］の逆方向のパスメトリックを読み出す際のリードアドレスとブロックＫ［Ｂｌｏｃｋ＃Ｋ］の逆方向のパスメトリックを書き込む際のライトアドレスを示している。また、第１０図（ｂ）は最終のブロック番号Ｋが偶数時におけるブロックＫ［Ｂｌｏｃｋ＃Ｋ］の逆方向のパスメトリックを読み出す際のリードアドレスを示している。【００６６】  第１１図は第１図における逆方向パスメトリック計算手段４が計算した逆方向のパスメトリックを記憶する逆方向パスメトリック記憶手段５のアドレスを示す図である。第１１図（ａ）は最終のブロック番号Ｋが奇数時におけるブロック（Ｋ−１）［Ｂｌｏｃｋ＃（Ｋ−１）］の逆方向のパスメトリックを読み出す際のリードアドレスとブロックＫ［Ｂｌｏｃｋ＃Ｋ］の逆方向のパスメトリックを書き込む際のライトアドレスを示している。また、第１１図（ｂ）は最終のブロック番号Ｋが奇数時におけるブロックＫ［Ｂｌｏｃｋ＃Ｋ］の逆方向のパスメトリックを読み出す際のリードアドレスを示している。【００６７】  まず、逆方向パスメトリック計算手段４がブロック１の逆方向のパスメトリック計算を行うときに、第９図（ａ）に示すように、ブロック１の逆方向のパスメトリックを逆方向パスメ���リック記憶手段５のアドレス０からアドレス（Ｍ−１）まで昇順に書き込む。【００６８】  次に、逆方向パスメトリック計算手段４がブロック２（ｉが偶数）の逆方向のパスメトリック計算と順方向パスメトリック計算手段７がブロック１の順方向のパスメトリック計算を同時に行うときに、第９図（ｂ）に示すように、ＬＬＲ計算手段８がブロック１の逆方向のパスメトリックを逆方向パスメトリック記憶手段５のアドレス（Ｍ−１）からアドレス０まで降順に読み出していく。また、同時に、逆方向パスメトリック計算手段４がブロック２の逆方向のパスメトリックを逆方向パスメトリック記憶手段５に書き込むが、ＬＬＲ計算手段８がブロック１の逆方向のパスメトリック値を読み出した後に、逆方向パスメトリック記憶手段５のアドレス（Ｍ−１）からアドレス０まで降順に書き込んでいく。このときのブロック１の逆方向のパスメトリックの読み出しとブロック２の逆方向のパスメトリックの書き込みのタイミング差は、ブロック２の逆方向のパスメトリック計算の学習期間となっている。【００６９】  次に、逆方向パスメトリック計算手段４によるブロック３（ｉが奇数）の逆方向のパスメトリック計算と順方向パスメトリック計算手段７によるブロック２の順方向のパスメトリック計算を同時に行うときに、第９図（ｃ）に示すように、ＬＬＲ計算手段８がブロック２の逆方向のパスメトリックを逆方向パスメトリック記憶手段５のアドレス０からアドレス（Ｍ−１）まで昇順に読み出していく。また、同時に、逆方向パスメトリック計算手段４がブロック３の逆方向のパスメトリックを逆方向パスメトリック記憶手段５に書き込むが、ＬＬＲ計算手段８がブロック２の逆方向のパスメトリックを読み出した後に、逆方向パスメトリック記憶手段５のアドレス０からアドレス（Ｍ−１）まで昇順に書き込んでいく。このときのブロック２の逆方向のパスメトリックの読み出しとブロック３の逆方向のパスメトリックの書き込みのタイミング差は、ブロック３の逆方向のパスメトリック計算の学習期間となっている。【００７０】  以下同様に、ブロック４以降についても、第９図（ｂ）及び第９図（ｃ）に示すように、処理するブロックのブロック番号の偶数又は奇数に応じて、逆方向のパスメトリックを書き込む際の逆方向パスメトリック記憶手段５のアドレスを降順又は昇順に入れ替えて生成することにより、逆方向パスメトリック記憶手段５のメモリ容量をＭワードに抑えることができる。【００７１】  次に最終のブロック番号ＫのブロックＫの逆方向のパスメトリック計算とブロック（Ｋ−１）順方向のパスメトリック計算を行うときには、最終のブロック番号Ｋの偶数又は奇数に応じて、第１０図及び第１１図に示すように逆方向パスメトリック記憶手段５のアドレスを生成する。【００７２】  ブロック番号Ｋが偶数の場合には、第１０図（ａ）に示すように、ＬＬＲ計算手段８がブロック（Ｋ−１）の逆方向のパスメトリックを逆方向パスメトリック記憶手段５のアドレス（Ｍ−１）からアドレス０まで降順に読み出していく。このとき、同時に、逆方向パスメトリック計算手段４がブロックＫの逆方向のパスメトリックを逆方向パスメトリック記憶手段５に記憶させるが、ＬＬＲ計算手段８がブロック（Ｋ−１）の逆方向のパスメトリックを読み出した後に、アドレス（Ｍ−１）からアドレス（ＭＫ−Ｎ）まで降順に書き込んでいく。このときのブロック（Ｋ−１）の逆方向のパスメトリックの読み出しとブロックＫの逆方向のパスメトリックの書き込みのタイミング差は、ブロックＫの逆方向のパスメトリック計算の学習期間となっている。最後に、順方向パスメトリック計算手段７によるブロックＫの順方向のパスメトリック計算を行うときに、第１０図（ｂ）に示すように、ＬＬＲ計算手段８がブロックＫの逆方向のパスメトリックを逆方向パスメトリック記憶手段５のアドレス（ＭＫ−Ｎ）からアドレス（Ｍ−１）まで昇順に読み出していく。【００７３】  ブロック番号Ｋが奇数の場合には、第１１図（ａ）に示すように、ＬＬＲ計算手段８がブロック（Ｋ−１）の逆方向のパスメトリックを逆方向パスメトリック記憶手段５のアドレス０からアドレス（Ｍ−１）まで昇順に読み出していく。このとき、同時に、逆方向パスメトリック計算手段４がブロックＫの逆方向のパスメトリックを逆方向パスメトリック記憶手段５に記憶させるが、ＬＬＲ計算手段８がブロック（Ｋ−１）の逆方向のパスメトリックを読み出した後に、アドレス０からアドレス（Ｎ−Ｍ（Ｋ−１）−１）まで昇順に書き込んでいく。このときのブロック（Ｋ−１）の逆方向のパスメトリックの読み出しとブロックＫの逆方向のパスメトリックの書き込みのタイミング差は、ブロックＫの逆方向のパスメトリック計算の学習期間となっている。最後に、順方向パスメトリック計算手段７によるブロックＫの順方向のパスメトリック計算を行うときに、第１１図（ｂ）に示すように、ＬＬＲ計算手段８がブロックＫの逆方向のパスメトリックを逆方向パスメトリック記憶手段５のアドレス（Ｎ−Ｍ（Ｋ−１）−１）からアドレス０まで降順に読み出していく。【００７４】  なお、第９図、第１０図及び第１１図に示すアドレスは、第１図の逆方向パスメトリック記憶手段５に接続されたアドレス生成手段（図示せず）により生成することができる。【００７５】  以上のように、この実施の形態５によれば、上記実施の形態１と同様に、符号長Ｎによらず逆方向のパスメトリックの計算の開始位置を容易に定めることができるという効果が得られる。【００７６】  また、この実施の形態５によれば、処理するブロックのブロック番号の偶数又は奇数に応じて、逆方向のパスメトリックを書き込む際の逆方向パスメトリック記憶手段５のアドレスを降順又は昇順に入れ替えて生成することにより、逆方向パスメトリック記憶手段５のメモリ容量をＭワードに抑えることができ、逆方向パスメトリック記憶手段５のメモリ容量を削減することができるという効果が得られる。【００７７】  なお、この実施の形態５については、上記実施の形態２の復号手順で復号を行っても同様の効果が得られる。【００７８】実施の形態６．
第１２図はこの発明の実施の形態６によるターボ符号の誤り訂正復号装置の構成を示すブロック図である。このターボ符号の誤り訂正復号装置は、上記実施の形態１の第１図に示す構成に、逆方向リードアドレス生成手段３１、順方向リードアドレス生成手段３２、逆方向リードアドレス生成手段３３、順方向リードアドレス生成手段３４、外部情報ライトアドレス生成手段３５、切り換え手段３６、切り換え手段３７、ライトアドレス生成手段３８、リードアドレス生成手段３９及び制御手段４０を追加したものである。【００７９】  また、受信データ記憶手段１には、情報ビット系列記憶手段１１、検査ビット系列１記憶手段１２及び検査ビット系列２記憶手段１３を備えており、外部情報記憶手段２には、受信ビット系列順外部情報記憶手段２１及びインタリーブ順外部情報記憶手段２２を備えている。【００８０】  情報ビット系列記憶手段１１は受信系列１０１（図示せず）から分離された情報ビット系列を記憶し、検査ビット系列１記憶手段１２は受信系列１０１から分離された検査ビット系列１を記憶し、検査ビット系列２記憶手段１３は受信系列１０１から分離された検査ビット系列２を記憶する。受信ビット系列順外部情報記憶手段２１はＬＬＲ計算手段８からの外部情報系列を受信ビット系列順に記憶し、インタリーブ順外部情報記憶手段２２はＬＬＲ計算手段８からの外部情報系列をインタリーブ順に記憶する。【００８１】  逆方向リードアドレス生成手段３１は、逆方向のパスメトリック計算のための情報ビット系列記憶手段１１、受信ビット系列順外部情報記憶手段２１及びインタリーブ順外部情報記憶手段２２のリードアドレスを生成し、順方向リードアドレス生成手段３２は、順方向のパスメトリック計算のための情報ビット系列記憶手段１１、受信ビット系列順外部情報記憶手段２１及びインタリーブ順外部情報記憶手段２２のリードアドレスを生成する。【００８２】  逆方向リードアドレス生成手段３３は逆方向のパスメトリック計算のための検査ビット系列１記憶手段１２及び検査ビット系列２記憶手段１３のリードアドレスを生成し、順方向リードアドレス生成手段３４は順方向のパスメトリック計算のための検査ビット系列１記憶手段１２及び検査ビット系列２記憶手段１３のリードアドレスを生成する。【００８３】  外部情報ライトアドレス生成手段３５は受信ビット系列順外部情報記憶手段２１及びインタリーブ順外部情報記憶手段２２にＬＬＲ計算手段８からの外部情報系列を書き込むためのライトアドレスを生成する。【００８４】  切り換え手段３６は検査ビット系列１記憶手段１２又は検査ビット系列２記憶手段１３からの出力を選択し、切り換え手段３７は受信ビット系列順外部情報記憶手段２１又はインタリーブ順外部情報記憶手段２２からの出力を選択する。【００８５】  ライトアドレス生成手段３８は逆方向のパスメトリックを逆方向パスメトリック記憶手段５に書き込むためのライトアドレスを生成し、リードアドレス生成手段３９は逆方向パスメトリック記憶手段５に記憶されている逆方向のパスメトリックを読み出すためのリードアドレスを生成する。【００８６】  制御手段４０は、符号長Ｎ、ブロック数Ｋ、ブロック長Ｍ、マージンビット数Ｌをあら��じめ計算して保持しており、保持している各数値を各手段に与えて各処理を行うための制御信号を生成する。【００８７】  その他の逆方向ブランチメトリック計算手段３、逆方向パスメトリック計算手段４、逆方向パスメトリック記憶手段５、順方向ブランチメトリック計算手段６、順方向パスメトリック計算手段７及びＬＬＲ計算手段８は実施の形態１と同様である。【００８８】  次に動作について説明する。
この実施の形態６の受信系列の分割方法、ターボ符号の復号手順を示すフローチャート、パスメトリック計算のタイミング、インタリーブのない符号器に対応する軟入力軟出力復号手順及びインタリーブのある符号器に対応する軟入力軟出力復号手順は、それぞれ上記実施の形態１の第２図、第３図、第４図、第５図及び第６図と基本的に同じであるが、ここでは、情報ビット系列記憶手段１１、検査ビット系列１記憶手段１２、検査ビット系列２記憶手段１３、受信ビット系列順外部情報記憶手段２１及びインタリーブ順外部情報記憶手段２２のリードアドレスやライトアドレスの生成について詳細に説明する。【００８９】  復調器（図示せず）によって復調された受信系列１０１は、軟判定情報として、情報ビット系列、検査ビット系列１及び検査ビット系列２に分離されて、それぞれ情報ビット系列記憶手段１１、検査ビット系列１記憶手段１２及び検査ビット系列２記憶手段１３に記憶される。【００９０】  最初にインタリーブのない符号器に対応する復号操作を行う。
まず、ブロック番号の変数ｉ＝１のブロック１に対して以下の操作を行う。【００９１】  逆方向リードアドレス生成手段３１及び逆方向リードアドレスアドレス生成手段３３のアドレスを（Ｍ＋Ｌ−１）に設定する。このアドレス（Ｍ＋Ｌ−１）は第４図の逆方向のパスメトリック計算におけるＬシンボル２０１の先頭のアドレスである。そして、情報ビット系列記憶手段１１、検査ビット系列１記憶手段１２及び受信ビット系列順外部情報記憶手段２１から、それぞれ情報ビット系列、検査ビット系列１及び外部情報系列を読み出す。ただし、１回目の復号時は受信ビット系列順外部情報記憶手段２１から読み出される外部情報系列は０とする。検査ビット系列１記憶手段１２及び受信ビット系列順外部情報記憶手段２１から読み出された値は、切り換え手段３６及び切り換え手段３７によりそれぞれ選択されて逆方向ブランチメトリック計算手段３に入力される。逆方向ブランチメトリック計算手段３は逆方向のブランチメトリックを計算し、逆方向パスメトリック計算手段４は逆方向のパスメトリックを計算する。【００９２】  逆方向リードアドレス生成手段３１及び逆方向リードアドレス生成手段３３の値をカウントダウンして、アドレスが０（第４図の逆方向のパスメトリック計算におけるブロック１の最終のアドレス）になるまで同様の操作を繰り返し、逆方向パスメトリック計算手段４が逆方向パスメトリックを計算する。【００９３】  そして、逆方向リードアドレス生成手段３１及び逆方向リードアドレス生成手段３３のアドレスがＭから１までの逆方向のパスメトリック値を逆方向パスメトリック記憶手段５に記憶させる。このとき、ライトアドレス生成手段３８は例えば実施の形態５で説明した手順で逆方向パスメトリック記憶手段５のライトアドレスを生成する。【００９４】  次に、ブロック番号の変数ｉ（ｉ＝２，３，・・・，Ｋ）の各ブロックに対して以下の操作を繰り返す。
逆方向リードアドレス生成手段３１及び逆方向リードアドレス生成手段３３のアドレスを（ｉＭ＋Ｌ−１（ｉ＝２，３，…，Ｋ））に設定する。このアドレス（ｉＭ＋Ｌ−１）は第４図の逆方向のパスメトリック計算におけるＬシンボル２０２，２０３，・・・，２０８，２０９の先頭のアドレスである。そして、情報ビット系列記憶手段１１、検査ビット系列１記憶手段１２及び受信ビット系列順外部情報記憶手段２１から、それぞれ情報ビット系列、検査ビット系列１及び外部情報系列を読み出す。ただし、１回目の復号時は受信ビット系列順外部情報記憶手段２１から読み出される外部情報系列は０とする。【００９５】  また、同時に、順方向リードアドレス生成手段３２及び順方向リードアドレス生成手段３４のアドレスを（Ｍ（ｉ−２））に設定する。このアドレス（Ｍ（ｉ−２））は第４図の順方向のパスメトリック計算におけるブロック１〜ブロックＫの先頭のアドレスである。そして、情報ビット系列記憶手段１１、検査ビット系列１記憶手段１２及び受信ビット系列順外部情報記憶手段２１から、それぞれ情報ビット系列、検査ビット系列１及び外部情報系列を読み出す。ただし、１回目の復号時は受信ビット系列順外部情報記憶手段２１から読み出される外部情報系列は０とする。【００９６】  逆方向リードアドレス生成手段３１及び逆方向リードアドレス生成手段３３のアドレスで、検査ビット系列１記憶手段１２及び受信ビット系列順外部情報記憶手段２１から読み出された値は、切り換え手段３６及び切り換え手段３７において選択されて逆方向ブランチメトリック計算手段３に入力される。逆方向ブランチメトリック計算手段３は逆方向のブランチメトリックを計算し、逆方向パスメトリック計算手段４は逆方向のパスメトリックを計算する。【００９７】  また、順方向リードアドレス生成手段３２及び順方向リードアドレス生成手段３４のアドレスで、検査ビット系列１記憶手段１２及び受信ビット系列順外部情報記憶手段２１から読み出された値は、切り換え手段３６及び切り換え手段３７において選択されて順方向ブランチメトリック計算手段６に入力される。順方向ブランチメトリック計算手段６は順方向のブランチメトリックを計算し、順方向パスメトリック計算手段７は順方向のパスメトリックを計算する。【００９８】  ＬＬＲ計算手段８は、順方向ブランチメトリック計算手段６により計算された順方向のブランチメトリックと、順方向パスメトリック計算手段７により計算された順方向のパスメトリックと、上記実施の形態５で説明した手順で生成されたリードアドレス生成手段３９のアドレスにより逆方向パスメトリック記憶手段５から読み出された逆方向のパスメトリックから外部情報系列を計算する。外部情報ライトアドレス生成手段３５のアドレスを（Ｍ（ｉ−２））に設定する。このアドレス（Ｍ（ｉ−２））は第４図の外部情報計算におけるブロック１〜ブロックＫの先頭のアドレスである。そして、ＬＬＲ計算手段８により計算された外部情報系列をインタリーブ順外部情報記憶手段２２へ書き込む。【００９９】  以下、逆方向リードアドレス生成手段３１及び逆方向リードアドレス生成手段３３のアドレスを（（Ｍ−１）ｉ）までカウントダウンさせる。この��ドレス（（Ｍ−１）ｉ）は第４図の逆方向のパスメトリック計算におけるブロック２〜ブロックＫの最終のアドレスである。また、順方向リードアドレス生成手段３２及び順方向リードアドレス生成手段３４のアドレスを（Ｍ（ｉ−１）−１）までカウントアップさせる。このアドレス（Ｍ（ｉ−１）−１）は第４図の順方向のパスメトリック計算におけるブロック１〜ブロックＫの最終のアドレスである。さらに、外部情報ライトアドレス生成手段３５のアドレスを（Ｍ（ｉ−１）−１）までカウントアップさせて、外部情報系列を逐次計算してインタリーブ順外部情報記憶手段２２に書き込む。このアドレス（Ｍ（ｉ−１）−１）は第４図の外部情報計算におけるブロック１〜ブロックＫの最終のアドレスである。【０１００】  最後のブロックＫについては、順方向リードアドレス生成手段３２及び順方向リードアドレス生成手段３４のアドレスを（Ｍ（Ｋ−１））に設定する。このアドレス（Ｍ（Ｋ−１））は第４図の順方向のパスメトリック計算におけるブロックＫの先頭のアドレスである。また、外部情報ライトアドレス生成手段３５のアドレスを（Ｍ（Ｋ−１））に設定する。このアドレス（Ｍ（Ｋ−１））は第４図の外部情報計算におけるブロックＫの先頭のアドレスである。そして、情報ビット系列記憶手段１１、検査ビット系列１記憶手段１２及び受信ビット系列順外部情報記憶手段２１から、それぞれ情報ビット系列、検査ビット系列１及び外部情報系列を読み出す。ただし、１回目の復号時は受信ビット系列順外部情報記憶手段２１から読み出される外部情報系列は０とする。【０１０１】  順方向リードアドレス生成手段３２及び順方向リードアドレス生成手段３４のアドレスで、検査ビット系列１記憶手段１２及び受信ビット系列順外部情報記憶手段２１から読み出された値は、切り換え手段３６及び切り換え手段３７において選択されて順方向ブランチメトリック計算手段６に入力される。順方向ブランチメトリック計算手段６は順方向のブランチメトリックを計算し、順方向パスメトリック計算手段７は順方向のパスメトリックを計算する。【０１０２】  ＬＬＲ計算手段８は、順方向ブランチメトリック計算手段６により計算された順方向のブランチメトリックと、順方向パスメトリック計算手段７により計算された順方向のパスメトリックと、上記実施の形態５で説明した手順で生成されたリードアドレス生成手段３９のアドレスにより逆方向パスメトリック記憶手段５から読み出された逆方向のパスメトリックから外部情報系列を計算し、外部情報ライトアドレス生成手段３５により指定されたインタリーブ順外部情報記憶手段２２のアドレスに書き込む。【０１０３】  以下、順方向リードアドレス生成手段３２及び順方向リードアドレス生成手段３４のアドレスを（Ｎ−１）までカウントアップさせる。このアドレス（Ｎ−１）は第４図の順方向のパスメトリック計算におけるブロックＫの最終のアドレスである。また、外部情報ライトアドレス生成手段３５のアドレスを（Ｎ−１）までカウントアップさせる。このアドレス（Ｎ−１）は第４図の外部情報計算におけるブロックＫの最終のアドレスである。【０１０４】  次にインタリーブのある符号器に対応する復号操作を行う。
まず、ブロック番号の変数ｉ＝１のブロック１に対して以下の操作を行う。【０１０５】  逆方向リードアドレス生成手段３１のアドレスをターボインタリーブテーブル（図示せず）で（Ｍ＋Ｌ−１）番目のアドレスに設定し、情報ビット系列記憶手段１１及びインタリーブ順外部情報記憶手段２２から情報ビット系列及び外部情報系列を読み出す。また、逆方向リードアドレス生成手段３３のアドレスを（Ｍ＋Ｌ−１）に設定し、検査ビット系列２記憶手段１３から検査ビット系列２を読み出す。検査ビット系列２記憶手段１３及びインタリーブ順外部情報記憶手段２２から読み出された値は、切り換え手段３６及び切り換え手段３７において選択されて逆方向ブランチメトリック計算手段３に入力される。逆方向ブランチメトリック計算手段３は逆方向のブランチメトリックを計算し、逆方向パスメトリック計算手段４は逆方向のパスメトリックを計算する。【０１０６】  逆方向リードアドレス生成手段３１のアドレスをターボインタリーブテーブルで順次１つ前のアドレスに設定し、逆方向リードアドレス生成手段３３のアドレスをカウントダウンして、アドレスが０になるまで同様の操作を繰り返し、逆方向パスメトリック計算手段４が逆方向のパスメトリックを計算し、逆方向リードアドレス生成手段３３のアドレスがＭから１までの逆方向のパスメトリックを逆方向パスメトリック記憶手段５に記憶させる。このとき、ライトアドレス生成手段３８は例えば実施の形態５で説明した手順で逆方向パスメトリック記憶手段５のライトアドレス（Ｍ−１）からアドレス０を生成する。【０１０７】  次に、ブロック番号の変数ｉ（ｉ＝２，３，・・・，Ｋ）の各ブロックに対して以下の操作を繰り返す。
逆方向リードアドレス生成手段３１のアドレスをターボインタリーブテーブルで（ｉＭ＋Ｌ−１）番目（ｉ＝２，３，・・・，Ｋ）のアドレスに設定し、逆方向リードアドレス生成手段３３のアドレスを（ｉＭ＋Ｌ−１（ｉ＝２，３，・・・，Ｋ））に設定する。そして、情報ビット系列記憶手段１１、検査ビット系列２記憶手段１３及びインタリーブ順外部情報記憶手段２２から、それぞれ情報ビット系列、検査ビット系列２及び外部情報系列を読み出す。【０１０８】  また、同時に、順方向リードアドレス生成手段３２のアドレスをターボインタリーブテーブル（図示せず）で（Ｍ（ｉ−２））番目（ｉ＝２，３，…，Ｋ）のアドレスに設定し、順方向リードアドレス生成手段３４のアドレスを（Ｍ（ｉ−２））に設定する。そして、情報ビット系列記憶手段１１、検査ビット系列２記憶手段１３及びインタリーブ順外部情報記憶手段２２から、それぞれ情報ビット系列、検査ビット系列２及び外部情報系列を読み出す。【０１０９】  逆方向リードアドレス生成手段３１及び逆方向リードアドレス生成手段３３のアドレスで、検査ビット系列２記憶手段１３及びインタリーブ順外部情報記憶手段２２から読み出された値は、切り換え手段３６及び切り換え手段３７において選択されて逆方向ブランチメトリック計算手段３に入力される。逆方向ブランチメトリック計算手段３は逆方向のブランチメトリックを計算し、逆方向パスメトリック計算手段４は逆方向のパスメトリックを計算する。【０１１０】  また、順方向リードアドレス生成手段３２及び順方向リードアドレス生成手段３４のアドレスで、検査ビット系列２記憶手段１３及びインタリーブ順外部情報記憶手段２２から読み出された値は、切り換え手段３６及び切り換え手段３７において選択されて順方向ブランチメトリック計算手段６に入力される。順方向ブランチメトリック計算手段６は順方向のブランチメトリックを計算し、順方向パスメトリック計算手段７は順方向のパスメトリックを計算する。【０１１１】  ＬＬＲ計算手段８は、順方向ブランチメトリック計算手段６により計算された順方向のブランチメトリックと、順方向パスメトリック計算手段７により計算された順方向のパスメトリックと、上記実施の形態５で説明した手順で生成されたリードアドレス生成手段３９のアドレスにより逆方向パスメトリック記憶手段５から読み出された逆方向のパスメトリックから外部情報系列を計算する。外部情報ライトアドレス生成手段３５のアドレスをターボインタリーブテーブル（図示せず）で（Ｍ（ｉ−２））番目のアドレスに設定し、外部情報系列を受信ビット系列順外部情報記憶手段２１へ書き込む。【０１１２】  以下、逆方向リードアドレス生成手段３１のアドレスをターボインタリーブテーブルで順次１つ前のアドレスに設定し、逆方向リードアドレス生成手段３３のアドレスを（（Ｍ−１）ｉ）までカウントダウンさせる。また、順方向リードアドレス生成手段３２のアドレスをターボインタリーブテーブルで順次１つ後のアドレスに設定し、順方向アドレス生成手段３４のアドレスを（Ｍ（ｉ−１）−１）までカウントアップさせる。さらに、外部情報ライトアドレス生成手段３５のアドレスをターボインタリーブテーブルで順次１つ��のアドレスに設定し、外部情報系列を逐次計算して受信ビット系列順外部情報記憶手段２１に書き込む。【０１１３】  最後のブロックＫについては、順方向リードアドレス生成手段３２のアドレスをターボインタリーブテーブルで（Ｍ（Ｋ−１））番目のアドレスに設定し、順方向リードアドレス生成手段３４のアドレスを（Ｍ（Ｋ−１））に設定する。そして、情報ビット系列記憶手段１１、検査ビット系列２記憶手段１３及びインタリーブ順外部情報記憶手段２２から、それぞれ情報ビット系列、検査ビット系列２及び外部情報系列を読み出す。【０１１４】  順方向リードアドレス生成手段３２及び順方向リードアドレス生成手段３４のアドレスで、検査ビット系列２記憶手段１３及びインタリーブ順外部情報記憶手段２２から読み出された値は、切り換え手段３６及び切り換え手段３７において選択されて順方向ブランチメトリック計算手段６に入力される。順方向ブランチメトリック計算手段６は順方向のブランチメトリックを計算し、順方向パスメトリック計算手段７は順方向のパスメトリックを計算する。【０１１５】  ＬＬＲ計算手段８は、順方向ブランチメトリック計算手段６により計算された順方向のブランチメトリックと、順方向パスメトリック計算手段７により計算された順方向のパスメトリックと、上記実施の形態５で説明した手順で生成したリードアドレス生成手段３９のアドレスにより逆方向パスメトリック記憶手段５から読み出された逆方向のパスメトリックから外部情報系列を計算し、外部情報ライトアドレス生成手段３５により指定されたインタリーブ順外部情報記憶手段２２のアドレスに書き込む。【０１１６】  以下、順方向リードアドレス生成手段３２のアドレスをターボインタリーブテーブルで逐次１つ後のアドレスに設定し、順方向リードアドレス生成手段３４のアドレスを（Ｎ−１）までカウントアップさせる。また、外部情報ライトアドレス生成手段３５のアドレスをターボインタリーブテーブルで逐次１つ後のアドレスに設定する。【０１１７】  上記の処理をあらかじめ定められた回数繰り返し行い、ＬＬＲ計算手段８により最終的に出力される硬判定復号系列を復号結果１０２として出力する。【０１１８】  以上のように、この実施の形態６によれば、上記実施の形態１と同様に、符号長Ｎによらず逆方向のパスメトリックの計算の開始位置を容易に定めることができるという効果が得られる。【０１１９】  また、この実施の形態６によれば、逆方向リードアドレス生成手段３１、順方向リードアドレス生成手段３２、逆方向リードアドレス生成手段３３、順方向リードアドレス生成手段３４及び外部情報ライトアドレス生成手段３５が、情報ビット系列記憶手段１１、検査ビット系列１記憶手段１２、検査ビット系列２記憶手段１３、受信ビット系列順外部情報記憶手段２１及びインタリーブ順外部情報記憶手段２２に対するリードアドレスやライトアドレスを上記のように生成することにより、情報ビット系列を、インタリーブのある系列とインタリーブのない系列を別々の記憶手段に記憶させることなく共通の記憶手段で構成でき、記憶容量を削減できるという効果が得られる。【０１２０】  なお、この実施の形態６については、上記実施の形態２の復号手順で���号を行っても同様の効果が得られる。
【産業上の利用可能性】
【０１２１】  以上のように、この発明に係るターボ符号の誤り訂正復号方法は、符号長Ｎによらず逆方向のパスメトリックの計算の開始位置を容易に定めるのに適している。
【図１】
2005125019.tif 000002
【図２】
2005125019.tif 000003
【図３】
2005125019.tif 000004
【図４】
2005125019.tif 000005
【図５】
2005125019.tif 000006
【図６】
2005125019.tif 000007
【図７】
2005125019.tif 000008
【図８】
2005125019.tif 000009
【図９】
2005125019.tif 000010
【図１０】
2005125019.tif 000011
【図１１】
2005125019.tif 000012
【図１２】
2005125019.tif 000013
【国際調査報告】
2005125019.tif 000014
2005125019.tif 000015
2005125019.tif 000016
2005125019.tif 000017