(57)【特許請求の範囲】
【請求項１】
受信データを復号する復号装置を構成して、前記受信データを軟判定復号する軟出力復号器であって、
情報尤度に基づいて、ブランチメトリックス演算及びステートマトリックス演算のメトリックス演算を行うか否かを判定する演算判定手段と、
前記演算判定手段の判定結果に応じて、前記受信データと前記情報尤度とに基づく前記ブランチメトリックス演算を行うか否かが制御されるブランチメトリックス演算手段と、
前記メトリックス演算を行わない場合に、前回の軟判定復号時において最も存在確率が高かったステートを検出する検出器と、前記メトリックス演算を行わない場合に、前記検出器の検出結果に応じて、ステートメトリックスのとり得る値の最大値若しくはステートメトリックスのとり得る最小値を選択し出力するステートメトリックス生成器とを有し、前記メトリックス演算を行うことを示す前記判定結果に応じて、前記ブランチメトリックス演算手段の演算結果に基づく前記ステートメトリックス演算を行うステートメトリックス演算手段と、
前記ブランチメトリックス演算手段の前記演算結果と前記ステートメトリックス演算手段の演算結果とに基づいて軟判定演算を行う軟判定演算手段とを有することを特徴とする軟出力復号器。
【請求項２】
前記ステートメトリックス生成器は、前記メトリックス演算を行わない前記受信データのステートが前回の軟判定復号時において最も存在確率が高かったステートである場合に前記最大値を選択し、前記メトリックス演算を行わない前記受信データのステートが前回の軟判定復号時において最も存在確率が高かったステートでない場合に前記最小値を選択することを特徴とする請求項１記載の軟出力復号器。
【請求項３】
受信データを復号し、複数の軟出力復号器を備えた復号装置を構成し、前記受信データを軟判定復号する軟出力復号器であって、
情報尤度に基づいて、ブランチメトリックス演算及びステートメトリックス演算のメトリックス演算を行うか否かを判定する演算判定手段と、
前記演算判定手段の判定結果に応じて、前記受信データと前記情報尤度とに基づく前記ブランチメトリックス演算を行うか否かが制御されるブランチメトリックス演算手段と、
前記メトリックス演算を行わない場合に、前回の軟判定復号時に求められた前記ステートメトリックス演算結果における前記ステートを比較する第１の比較器と、前記メトリックス演算を行わない場合に、前記第１の比較器の比較結果に応じて、他の軟出力復号器から出力されたステートメトリックス演算結果を比較する第２の比較器と、前記メトリックス演算を行わない場合に、前記第２の比較器の比較結果に応じて、前記他の軟出力復号器から出力された前記ステートメトリックス演算結果を出力するステートメトリックス生成器とを有し、前記メトリックス演算を行うことを示す前記判定結果に応じて、前記ブランチメトリックス演算手段の演算結果に基づく前記ステートメトリックス演算を行うステートメトリックス演算手段と、
前記ブランチメトリックス演算手段の前記演算結果と前記ステートメトリックス演算手段の演算結果とに基づいて軟判定演算を行う軟判定演算手段とを有することを特徴とする軟出力復号器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、受信データ列から送信データ列をターボ復号するターボ復号装置を構成して、上記送信データ列を軟判定復号する軟出力復号器に関するものである。
【０００２】
【従来の技術】
図１９はターボ符号通信システムの構成図である。図１９のターボ符号通信システムは、ターボ符号装置１００と、変調器２００と、通信路３００と、復調器４００と、ターボ復号装置５００とによって構成されている。
【０００３】
ターボ符号装置１００は、第１の再帰的組織畳込み符号器１０１ａと、第２の再帰的組織畳込み符号器１０１ｂと、インターリーバ１０２とを備えている。このターボ符号装置１００の入力データＤｉｎは２値のデータであり、ターボ符号装置１００の符号化レートは１／３、拘束長は４である。
【０００４】
データ列Ｄｉｎが入力されると、ターボ符号装置１００は、符号化レートが１／３であるので、３つのデータ列Ｘ１，Ｙ１，Ｙ２を出力する。出力データ列Ｘ１は、入力データ列Ｄｉｎをそのまま出力したものである。また、出力データ列Ｙ１は、入力データ列Ｄｉｎを第１の再帰的組織畳込み符号器１０１ａに入力し、この第１の再帰的組織畳込み符号器１０１ａから出力されたデータ列である。また、出力データ列Ｙ２は、入力データ列Ｄｉｎをインターリーバ１０２に入力し、ある手順に従って入力データ列Ｄｉｎのデータの順序を変換し、この順序変換された入力データ列Ｄｉｎを第２の再帰的組織畳込み符号器１０１ｂに入力し、この第２の再帰的組織畳込み符号器１０１ｂから出力されたデータ列である。
【０００５】
第１の再帰的組織畳込み符号器１０１ａと第２の再帰的組織畳込み符号器１０１ｂは、同じ構成である。図２０は再帰的組織畳込み符号器１０１（図１９の第１の再帰的組織畳込み符号器１０１ａまたは第２の再帰的組織畳込み符号器１０１ｂ）の構成図である。
【０００６】
再帰的組織畳込み符号器１０１は、拘束長が４であるので、３つのレジスタ１１１，１１２，１１３で構成されたシフトレジスタと、４つの排他的論理和回路１１４，１１５，１１６，１１７とを備えている。
【０００７】
初期条件では、レジスタ１１１，１１２，１１３は、全てクリアされている。そこに、データ列Ｄｉｎが入力端子ＩＮから入力されると、レジスタ１１２と１１３の出力の排他的論理和演算が排他的論理和回路１１７においてなされ、この排他的論理和回路１１７の出力と、入力データ列Ｄｉｎのデータの排他的論理和演算が排他的論理和回路１１４においてなされる。
【０００８】
排他的論理和回路１１４の出力は、レジスタ１１１に入力されると同時に、排他的論理和回路１１５にレジスタ１１１の出力とともに入力され、排他的論理和回路１１４の出力とレジスタ１１１の出力の排他的論理和演算が排他的論理和回路１１５においてなされる。
【０００９】
排他的論理和回路１１５の出力は、排他的論理和回路１１６にレジスタ１１３の出力とともに入力され、排他的論理和回路１１５の出力とレジスタ１１３の出力の排他的論理和演算が排他的論理和回路１１６においてなされる。
【００１０】
そして、排他的論理和回路１１６の出力が、再帰的組織畳込み符号器１０１の出力（ターボ符号装置の出力データ列Ｙ１またはＹ２）として、出力端子ＯＵＴから出力される。
【００１１】
再帰的組織畳込み符号器１０１は、データ列Ｄｉｎのビットが入力されるごとに、上記の動作を繰り返す。３つのレジスタ１１１，１１２，１１３によって構成されるシフトレジスタのステートは、それぞれのレジスタの出力が０または１であるから８つ存在し、それぞれのステートから次の入力データに従って遷移できるステートは必ず２つしか存在しない。
【００１２】
図１９において、変調器２００は、ターボ符号装置１００の３つの出力データ列（送信データ列）Ｘ１，Ｙ１，Ｙ２を変調し、通信路３００に送出する。変調器２００では、例えばＱＰＳＫ（Ｑｕａｄｒａｔｕｒｅ  Ｐｈａｓｅ  Ｓｈｉｆｔ  Ｋｅｙｉｎｇ）変調がなされる。
【００１３】
変調器２００からの送信信号には通信路３００において雑音が付加され、この雑音が付加された信号が復調器４００で受信される。
【００１４】
復調器４００は、変調器２００とは逆の処理によって上記の受信信号を復調し、送信データ列Ｘ１に雑音が付加された受信データ列Ｘ１’、送信データ列Ｙ１に雑音が付加された受信データ列Ｙ１’、送信データ列Ｙ２に雑音が付加された受信データ列Ｙ２’をターボ復号装置５００に出力する。なお、受信データ列Ｘ１’，Ｙ１’，Ｙ２’を構成するそれぞれのデータは、３値以上のデータである。
【００１５】
図２１は従来のターボ復号装置のブロック構成図である。図２１の従来のターボ復号装置は、従来の軟出力復号器である第１の軟出力復号器５０１ａおよび第２の軟出力復号器５０１ｂと、インターリーバ５１，５２と、デインターリーバ５３，５４と、選択器５５と、硬判定器５６とを備えている。
【００１６】
なお、図１９のターボ符号通信システムおよび図２１の従来のターボ復号装置は、例えば日経エレクトロニクス（１９９８．７．１３，ＮＯ．７２１）のｐ．１６３−ｐ．１７７に記載がある。
【００１７】
図２１の従来のターボ復号装置において、雑音を含む受信データ列Ｘ１’は第１の軟出力復号器５０１ａおよびインターリーバ５１に入力され、雑音を含む受信データ列Ｙ１’は第１の軟出力復号器５０１ａに入力され、雑音を含む受信データ列Ｙ２’は第２の軟出力復号器５０１ｂに入力される。
【００１８】
第１の軟出力復号器５０１ａの出力である外部情報尤度列Ｌｅｏｕｔ−ａは、インターリーバ５２に入力され、第２の軟出力復号器５０１ｂの出力である外部情報尤度列Ｌｅｏｕｔ−ｂは、デインターリーバ５３に入力される。また、インターリーバ５１の出力である順序変換された受信データ列Ｘ１’およびインターリーバ５２の出力である事前情報尤度列Ｌｉｎ−ｂ（外部情報尤度列Ｌｅｏｕｔ−ａの順序変換されたもの）は、第２の軟出力復号器５０１ｂに入力され、デインターリーバ５３の出力である事前情報尤度列Ｌｉｎ−ａ（外部情報尤度列Ｌｅｏｕｔ−ｂの順序逆変換されたもの）は、第１の軟出力復号器５０１ａに入力される。
【００１９】
第１の軟出力復号器５０１ａのもう１つの出力である軟判定データ列Ｌｏｕｔ−ａは、選択器５５に入力され、第２の軟出力復号器５０１ｂのもう１つの出力である軟判定データ列Ｌｏｕｔ−ｂは、デインターリーバ５４に入力される。デインターリーバ５４の出力（軟判定データ列Ｌｏｕｔ−ｂの順序逆変換されたもの）も、選択器５５に入力される。選択器５５の出力は、硬判定器５６に入力される。そして、硬判定器５６の出力が、送信データ列Ｄｉｎ（図１９参照）のターボ復号されたデータ列Ｄｏｕｔとなる。
【００２０】
図２１の従来のターボ復号装置の動作について以下に説明する。インターリーバ５１は、図１９のターボ符号装置１００のインターリーバ１０２と同じ構成であり、ある手順に従ってデータ列Ｘ１’のデータの順序を変換して、第２の軟出力復号器５０１ｂに出力する。また、インターリーバ５２は、インターリーバ５１と同じ構成であり、上記の手順に従って外部情報尤度列Ｌｅｏｕｔ−ａのデータの順序を変換し、この外部情報尤度列Ｌｅｏｕｔ−ａを順序変換した事前情報尤度列Ｌｉｎ−ｂを、第２の軟出力復号器５０１ｂに出力する。
【００２１】
デインターリーバ５３は、インターリーバ５１，５２と逆の手順に従って外部情報尤度列Ｌｅｏｕｔ−ｂのデータの順序を逆変換し、この外部情報尤度列Ｌｅｏｕｔ−ｂを順序逆変換した事前情報尤度列Ｌｉｎ−ａを、第１の軟出力復号器５０１ａに出力する。また、デインターリーバ５４は、デインターリーバ５３と同じ構成であり、上記逆の手順に従って軟判定データ列Ｌｏｕｔ−ｂのデータの順序を逆変換し、選択器５４に出力する。デインターリーバは、インターリーバで変換されたデータ順序をもとの順序に戻すものである。
【００２２】
まず、第１の軟出力復号器５０１ａは、雑音を含むデータ列Ｘ１’および雑音を含むデータ列Ｙ１’用いて、送信データ列Ｘ１（Ｄｉｎ）を推定する演算をして、その演算によって得られた軟判定データ列Ｌｏｕｔ−ａおよび外部情報尤度列Ｌｅｏｕｔ−ａを出力する。なお、第１の軟出力復号器５０１ａには、事前情報尤度列Ｌｉｎ−ａも入力されるが、この第１の軟出力復号器５０１ａでの最初の軟判定復号では、事前情報尤度列Ｌｉｎ−ａの初期値は全て０であり、事前情報尤度列Ｌｉｎ−ａは用いられない。
【００２３】
次に、第２の軟出力復号器５０１ｂは、順序変換された雑音を含むデータ列Ｘ１’、雑音を含むデータ列Ｙ２’、および上記外部情報尤度列Ｌｅｏｕｔ−ａを順序変換した事前情報尤度列Ｌｉｎ−ｂを用いて、順序変換された送信データ列Ｘ１（Ｄｉｎ）を推定する演算をして、その演算によって得られた軟判定データ列Ｌｏｕｔ−ｂおよび外部情報尤度列Ｌｅｏｕｔ−ｂを出力する。
【００２４】
次に、第１の軟出力復号器５０１ａは、上記雑音を含むデータ列Ｘ１’，Ｙ１’および上記外部情報尤度列Ｌｅｏｕｔ−ｂを順序逆変換した事前情報尤度列Ｌｉｎ−ａを用いて、送信データ列Ｘ１（Ｄｉｎ）を推定する軟判定復号を再びして、その再度の軟判定復号によって得られた軟判定データ列Ｌｏｕｔ−ａおよび外部情報尤度列Ｌｅｏｕｔ−ａを出力する。
【００２５】
次に、第２の軟出力復号器５０１ｂは、上記順序変換されたデータ列Ｘ１’、上記データ列Ｙ２’、および上記再度の演算によって第１の軟出力復号器５０１ａから出力された外部情報尤度列Ｌｅｏｕｔ−ａを順序変換した事前情報尤度列Ｌｉｎ−ｂを用いて、順序変換された送信データＸ１（Ｄｉｎ）を推定する軟判定復号を再びして、その再度の軟判定復号によって得られた軟判定データ列Ｌｏｕｔ−ｂおよび外部情報尤度列Ｌｅｏｕｔ−ｂを出力する。
【００２６】
このようにして、第１の軟出力復号器５０１ａおよび第２の軟出力復号器５０１ｂにおいて、上記のような軟判定復号の演算があらかじめ設定された回数だけ繰り返される。
【００２７】
選択器５５は、第１の軟出力復号器５０１ａおよび第２の軟出力復号器５０１ｂにおいて上記軟判定復号の繰り返し演算が終了したら、第１の軟出力復号器５０１ａから出力された軟判定データ列Ｌｏｕｔ−ａ、または第２の軟出力復号器５０１ｂから出力されて順序逆変換された軟判定データ列Ｌｏｕｔ−ｂのいずれかを選択し、その選択した軟判定データ列を硬判定器５６に出力する。
【００２８】
硬判定器５６は、上記の軟判定データ列を用いて、送信データ列Ｘ１（Ｄｉｎ）のそれぞれの場所について硬判定演算（０または１の２値判定演算）をして、得られた硬判定データ列を復号データ列（ターボ復号装置の出力）Ｄｏｕｔとして出力する。
【００２９】
図２２はターボ符号通信システムにおいての送受信データ列のデータ配列を説明する図である。図２２において、（ａ）は送信データ列Ｘ１（第１の再帰的組織畳込み符号器１０１ａの入力）、（ｂ）は送信データ列Ｘ１のインターリーバ１０２出力（第２の再帰的組織畳込み符号器１０１ｂの入力）、（ｃ）は送信データ列Ｙ１（第１の再帰的組織畳込み符号器１０１ａの出力）、（ｄ）は送信データ列Ｙ２（第２の再帰的組織畳込み符号器１０１ｂの出力）、（ｅ）は受信データ列Ｘ１’（第１の軟出力復号器５０１ａの入力）、（ｆ）は受信データ列Ｘ１’のインターリーバ５１出力、（ｇ）は受信データ列Ｙ１’（第１の軟出力復号器５０１ａの入力）、（ｈ）は受信データ列Ｙ１’のインターリーバ出力（ただし、受信データ列Ｙ１’はインターリーバには入力されないので、仮想的なものである）、（ｉ）は受信データ列Ｙ２’（第２の軟出力復号器５０１ｂの入力）、（ｊ）は受信データ列Ｙ２’のデインターリーバ出力（ただし、受信データ列Ｙ２’はデインターリーバには入力されないので、仮想的なものである）である。また、ｋ１，ｋ２，ｋ３，ｋ４は、上記（ａ）〜（ｊ）のデータ列においての場所（受信データ列においては復号の場所）である。また、ｘ１，ｘ２，ｘ３，ｘ４は送信データ列Ｘ１を構成するデータ、ｙ１，ｙ２，ｙ３，ｙ４は送信データ列Ｙ１を構成するデータ、ｚ３，ｚ１，ｚ４，ｚ２は送信データ列Ｙ２を構成するデータ、ｘ１’，ｘ２’，ｘ３’，ｘ４’は受信データ列Ｘ１’を構成するデータ、ｙ１’，ｙ２’，ｙ３’，ｙ４’は受信データ列Ｙ１’を構成するデータ、ｚ３’，ｚ１’，ｚ４’，ｚ２’は送信データ列Ｙ２’を構成するデータである。なお、図２２では、説明を簡単にするために、それぞれのデータ列を４つのデータで構成している。
【００３０】
まず、図２２（ａ）のように、送信データ列であるとともに第１の再帰的組織畳込み符号器１０１ａの入力データ列であるデータ列Ｘ１の場所ｋ１，ｋ２，ｋ３，ｋ４には、それぞれデータｘ１，ｘ２，ｘ３，ｘ４が配列されている。このデータ列Ｘ１は、データｘ１，ｘ２，ｘ３，ｘ４の順に第１の再帰的組織畳込み符号器１０１ａに入力され、送信データ列であるとともに第１の再帰的組織畳込み符号器１０１ａの出力データ列であるデータ列Ｙ１は、図２２（ｃ）のように、場所ｋ１，ｋ２，ｋ３，ｋ４にそれぞれデータｙ１，ｙ２，ｙ３，ｙ４が配列されたものとなっている。
【００３１】
また、データ列Ｘ１のインターリーバ１０２出力は、構成データの順序が変換され、図２２（ｂ）のように、場所ｋ１，ｋ２，ｋ３，ｋ４にそれぞれデータｘ３，ｘ１，ｘ４，ｘ２が配列されたものとなる。なお、この順序変換手順は一例に過ぎない。このデータ列Ｘ１のインターリーバ出力は、データｘ３，ｘ１，ｘ４，ｘ２の順に第２の再帰的組織畳込み符号器１０１ｂに入力され、送信データ列であるとともに第２の再帰的組織畳込み符号器１０１ｂの出力データ列であるデータ列Ｙ２は、図２２（ｄ）のように、場所ｋ１，ｋ２，ｋ３，ｋ４にそれぞれデータｚ３，ｚ１，ｚ４，ｚ２が配列されたものとなっている。
【００３２】
次に、図２２（ｅ）のように、送信データ列Ｘ１の受信データ列であるとともに、第１の軟出力復号器５０１ａの入力データ列であるデータ列Ｘ１’の場所ｋ１，ｋ２，ｋ３，ｋ４には、それぞれデータｘ１’，ｘ２’，ｘ３’，ｘ４’（送信データｘ１，ｘ２，ｘ３，ｘ４の受信データ）が配列されている。同様に、図２２（ｇ）のように、送信データ列Ｙ１の受信データ列であるとともに、第１の軟出力復号器５０１ａの入力データ列であるデータ列Ｙ１’の場所ｋ１，ｋ２，ｋ３，ｋ４には、それぞれデータｙ１’，ｙ２’，ｙ３’，ｙ４’（送信データｙ１，ｙ２，ｙ３，ｙ４の受信データ）が配列されている。
【００３３】
また、受信データ列Ｘ１’のインターリーバ５１出力（第２の軟出力復号器５０１ｂの入力データ列）は、構成データの順序が変換され、図２２（ｆ）のように、場所ｋ１，ｋ２，ｋ３，ｋ４にそれぞれデータｘ３’，ｘ１’，ｘ４’，ｘ２’が配列されたものとなる。なお、このインターリーバ５１での順序変換手順は、インターリーバ１０２での順序変換手順と同じではあるが、一例に過ぎない。同様に、受信データ列Ｙ１’をインターリーバ５１に入力したときには、そのインターリーバ出力は、構成データの順序が変換され、図２２（ｈ）のように、場所ｋ１，ｋ２，ｋ３，ｋ４にそれぞれデータｙ３’，ｙ１’，ｙ４’，ｙ２’が配列されたものとなる。
【００３４】
さらに、図２２（ｉ）のように、送信データ列Ｙ２の受信データ列であるとともに第２の軟出力復号器５０１ｂの入力データ列であるデータ列Ｙ２’の場所ｋ１，ｋ２，ｋ３，ｋ４には、それぞれデータｚ３’，ｚ１’，ｚ４’，ｚ２’（送信データｚ３，ｚ１，ｚ４，ｚ２の受信データ）が配列されている。
【００３５】
この受信データ列Ｙ２’をデインターリーバ５３に入力したときには、そのデインターリーバ出力は、構成データの順序が逆変換され、図２２（ｊ）のように、場所ｋ１，ｋ２，ｋ３，ｋ４にそれぞれデータｚ１’，ｚ２’，ｚ３’，ｚ４’が配列されたものとなる。
【００３６】
第１の軟出力復号器５０１ａの他の入出力データ列Ｌｉｎ−ａ，Ｌｏｕｔ−ａ，Ｌｅｏｕｔ−ａのデータ配列は、図２２（ｅ），（ｇ），（ｊ）のデータ配列に準ずる。
例えば、事前情報尤度列Ｌｉｎ−ａの場所ｋ１には、受信データｘ１’，ｙ１’，ｚ１’についての事前情報尤度が配列されている。
【００３７】
また、第２の軟出力復号器５０１ｂの他の入出力データ列Ｌｉｎ−ｂ，Ｌｏｕｔ−ｂ，Ｌｅｏｕｔ−ｂのデータ配列は、図２２（ｆ），（ｈ），（ｉ）のデータ配列に準ずる。例えば、事前情報尤度列Ｌｉｎ−ｂの場所ｋ１には、受信データｘ３’，ｙ３’，ｚ３’についての事前情報尤度が配列されている。
【００３８】
図２３は軟判定復号の演算アルゴリズムを説明するフローチャートである。この図２３の演算アルゴリズムは、ＭＡＰ（ｍａｘｉｍｕｍ  ａ  ｐｏｓｔｅｒｉｏｒｉ  ｐｒｏｂａｂｉｌｉｔｙ  ｄｅｃｏｄｉｎｇ）復号と称されるものである。
【００３９】
まず、ステップＳ２において、受信データ列Ｘｉｎ（図２１においてはＸ１’または順序変換されたＸ１’）および受信データ列Ｙｉｎ（図２１においてはＹ１’またはＹ２’）、ならびに事前情報尤度列Ｌｉｎ（図２１においてはＬｉｎ−ａまたはＬｉｎ−ｂ）を用いて、ブランチメトリックスを演算する。ただし、初回の軟判定復号では、受信データ列ＸｉｎおよびＹｉｎを用いてブランチメトリックスを演算する。ブランチメトリックスは、データ列のそれぞれの場所について順次演算される。
【００４０】
このブランチメトリックスは、ターボ符号装置側においてデータ入力によって推移するステート間のパスの存在確率である。
【００４１】
次、ステップＳ３において、上記ステップＳ２で求められたブランチメトリックスを用いて順方向再帰ステートメトリックスを演算する。順方向再帰ステートメトリックスは、データ列のそれぞれの場所について順次演算される。
【００４２】
この順方向再帰ステートメトリックスは、ブランチメトリックスをもとに時間的にパスを逆方向にトレースしたときのそれぞれのステートの存在確率である。
【００４３】
次、ステップＳ４において、上記ステップＳ２で求められたブランチメトリックスを用いて逆方向再帰ステートメトリックスを演算する。逆方向再帰ステートメトリックスも、データ列のそれぞれの場所について順次演算される。
【００４４】
この逆方向再帰ステートメトリックスは、ブランチメトリックスをもとに時間的にパスを逆方向にトレースしたときのそれぞれのステートの存在確率である。
【００４５】
そして、ステップＳ５において、上記ステップＳ２で求められたブランチメトリックス、上記ステップＳ３で求められた順方向再帰ステートメトリックス、および上記ステップＳ４で求められた逆方向再帰ステートメトリックスを用いて、送信データ列Ｘ１（Ｄｉｎ、図１９参照）のそれぞれの復号の場所について軟判定演算をして、得られた軟判定データ列を出力する。
【００４６】
なお、図２３では、便宜上、順方向再帰ステートメトリックスの演算と、逆方向再帰ステートメトリックスとをこの順で演算するようになっているが、ＭＡＰ復号の演算アルゴリズムでは、逆方向再帰ステートメトリックスと順方向再帰ステートメトリックスとを同時並列に演算することや、逆方向再帰ステートメトリックス、順方向再帰ステートメトリックスの順に演算することも可能である。
【００４７】
図２４は従来の軟出力復号器５０１（図２１の第１の軟出力復号器５０１ａまたは第２の軟出力復号器５０１ｂ）のブロック構成図である。図２４において、入力データ列Ｘｉｎは図２１のＸ１’または順序変換されたＸ１’、入力データ列Ｙｉｎは図２１のＹ１’またはＹ２’、事前情報尤度列Ｌｉｎは図２１のＬｉｎ−ａまたはＬｉｎ−ｂ、外部情報尤度列Ｌｅｏｕｔは図２１のＬｅｏｕｔ−ａまたはＬｅｏｕｔ−ｂ、軟判定データ列Ｌｏｕｔは図２１のＬｏｕｔ−ａまたはＬｏｕｔ−ｂである。
【００４８】
従来の軟出力復号器５０１は、ブランチメトリックス演算手段５１１と、情報尤度値ＲＡＭ１２と、ブランチメトリックス値ＲＡＭ１３と、順方向再帰ステートメトリックス演算手段５１６ｆと、逆方向再帰ステートメトリックス演算手段５１６ｒ、順方向再帰ステートメトリックス値ＲＡＭ１７ｆと、逆方向再帰ステートメトリックス値ＲＡＭ１７ｒと、軟判定演算手段１８と、差分演算手段１９とを備えている。
【００４９】
図２４の従来の軟出力復号器５０１の動作について以下に説明する。この従来の軟出力復号器５０１は、データ長ｎ（ｎは正の整数）のデータ列を処理単位として軟判定復号動作をする。上記のデータ列は、第１の場所のデータから第ｎの場所のデータまでによって構成されている。
【００５０】
まず、ブランチメトリックス演算手段５１１は、入力された受信データ列Ｘｉｎ，Ｙｉｎおよび事前情報尤度列Ｌｉｎ（初回の軟判定復号では受信データ列Ｘｉｎ，Ｙｉｎ）を用いて、データ列のそれぞれの場所についてブランチメトリックスを順次演算し（図２３のステップＳ２に相当する演算）、得られたブランチメトリックス値をブランチメトリックス値ＲＡＭ１３に書き込む。これと同時に、ブランチメトリックス演算手段１１は、データ列のそれぞれの場所について事前情報尤度に通信路値を加算して情報尤度を求め、得られた情報尤度を情報尤度値ＲＡＭ１２に書き込む。
【００５１】
順方向再帰ステートメトリックス演算手段５１６ｆは、必要とされるブランチメトリックスをブランチメトリックス値ＲＡＭ１３から読み出し、読み出したブランチメトリックスを用いて、データ列のそれぞれの場所について順方向再帰ステートメトリックスを順次演算し（図２３のステップＳ３に相当する演算）、得られた順方向再帰ステートメトリックス値を順方向再帰ステートメトリックス値ＲＡＭ１７ｆに書き込む。
【００５２】
同様に、逆方向再帰ステートメトリックス演算手段５１６ｒは、必要とされるブランチメトリックスをブランチメトリックス値ＲＡＭ１３から読み出し、読み出したブランチメトリックスを用いて、データ列のそれぞれの場所について逆方向再帰ステートメトリックスを順次演算し（図２３のステップＳ４に相当する演算）、得られた逆方向再帰ステートメトリックス値を逆方向再帰ステートメトリックス値ＲＡＭ１７ｒに書き込む。
【００５３】
軟判定演算手段１８は、必要とされるブランチメトリックスをブランチメトリックス値ＲＡＭ１３から読み出し、必要とされる順方向再帰ステートメトリックスを順方向再帰ステートメトリックス値ＲＡＭ１７ｆから読み出し、必要とされる逆方向再帰ステートメトリックスを逆方向再帰ステートメトリックス値ＲＡＭ１７ｒから読み出し、読み出したこれらのメトリックス値を用いて、データ列のそれぞれの場所について軟判定演算をして、得られた軟判定データ列Ｌｏｕｔを差分演算手段１９に出力する。なお、この軟判定データ列Ｌｏｕｔは、軟出力復号器の出力として、図２１の選択器５５またはデインターリーバ５４にも出力され、硬判定演算に用いられる。
【００５４】
差分演算手段１９は、情報尤度値ＲＡＭ１２から必要な情報尤度を読み出し、データ列のそれぞれの場所について、軟判定演算手段１８から入力された軟判定データと上記読み出した情報尤度との差分を演算して外部情報尤度を生成し、得られた外部情報尤度列Ｌｅｏｕｔを出力する。この外部情報尤度列Ｌｅｏｕｔは、図１９のインターリーバ５２またはデインターリーバ５３に入力され、インターリーバ５２またはデインターリーバ５３の出力が、次段の軟出力復号器（他方の軟出力復号器）に入力される事前情報尤度列Ｌｉｎとなる。
【００５５】
【発明が解決しようとする課題】
しかしながら、ターボ復号装置を構成する従来の軟出力復号器では、それぞれのステートの存在確率を計算する演算量が非常に多くなるという問題があった。また、ターボ復号装置は、原理として、前回の軟出力復号の情報をもとに今回の軟出力復号の演算をする手順を繰り返すものであり、この繰り返し演算の回数は、伝送信号に対する雑音比を考慮して、あらかじめ設定されている。このように軟出力復号の繰り返し演算の回数があらかじめ設定された従来の軟出力復号器では、雑音比が良好である伝送ブロックについては、過剰な繰り返し演算が過剰になされ、余分な演算が繰り返されるという問題があった。これらの軟出力復号器においての問題によって、従来のターボ復号装置には、ターボ復号の処理時間が長くなり、消費電力が増大するという問題があった。
【００５６】
本発明は、このような従来の問題を解決するためになされたものであり、ターボ復号装置においての全体の処理時間および消費電力を低減できる軟出力復号器を提供することを目的とするものである。
【００５７】
【課題を解決するための手段】
この発明に係る軟出力復号器は、前述の課題を解決するためになされたものであり、その代表的なものは、演算判定手段と、ブランチマトリックス演算手段と、ステートメトリックス演算手段と、軟判定演算手段とを有する。演算判定手段は、情報尤度に基づいて、ブランチメトリックス演算及びステートマトリックス演算のメトリックス演算を行うか否かを判定する。ブランチメトリックス演算手段は、演算判定手段の判定結果に応じて、受信データと情報尤度とに基づくブランチメトリックス演算を行うか否かが制御される。ステートメトリックス演算手段は、メトリックス演算を行わない場合に、前回の軟判定復号時において最も存在確率が高かったステートを検出する検出器と、メトリックス演算を行わない場合に、検出器の検出結果に応じて、ステートメトリックスのとり得る値の最大値若しくはステートメトリックスのとり得る最小値を選択し出力するステートメトリックス生成器とを有する。そして、ステートメトリックス演算手段は、メトリックス演算を行うことを示す判定結果に応じて、ブランチメトリックス演算手段の演算結果に基づくステートメトリックス演算を行う。軟判定演算手段は、ブランチメトリックス演算手段の演算結果とステートメトリックス演算手段の演算結果とに基づいて軟判定演算を行う。
【００５９】
【発明の実施の形態】
実施の形態１
図１は本発明の実施の形態１の軟出力復号器を設けたターボ復号装置のブロック構成図である。図１において、図２１と同じものには同じ符号を付してある。
【００６０】
図１のターボ復号装置は、実施の形態１の軟出力復号器である第１の軟出力復号器１ａおよび第２の軟出力復号器１ｂと、インターリーバ５１，５２と、デインターリーバ５３，５４と、選択器５５と、硬判定器５６とを備えている。
【００６１】
つまり、図１の実施の形態１のターボ復号装置は、上記従来のターボ復号装置（図２１参照）において、従来の軟出力復号器５０１ａ，５０１ｂを、それぞれ実施の形態１の軟出力復号器１ａ，１ｂに変更したものである。
【００６２】
図１のターボ復号装置において、第１の軟出力復号器１ａは、軟判定データ列Ｌｏｕｔ−ａおよび外部情報尤度列Ｌｅｏｕｔ−ａの他に、終了判定フラグＥｉｎ−ａを出力し、第２の軟出力復号器１ｂは、軟判定データ列Ｌｏｕｔ−ｂおよび外部情報尤度列Ｌｅｏｕｔ−ｂの他に、終了判定フラグＥｉｎ−ｂを出力する。
【００６３】
なお、第１の軟出力復号器１ａの入出力データ列のデータ配列は、図２２において説明した従来の軟出力復号器５０１ａと同様であり、第２の軟出力復号器１ｂの入出力データ列のデータ配列は、図２２において説明した従来の軟出力復号器５０１ｂと同様である。
【００６４】
図１のターボ復号装置の動作について以下に説明する。なお、図２１の従来のターボ復号装置と同じ動作についてはその説明を割愛する。
【００６５】
第１の軟出力復号器１ａは、雑音を含む受信データ列Ｘ１’、雑音を含む受信データ列Ｙ１’、および事前情報尤度列Ｌｉｎ−ａ（ただし、初回の軟判定復号ではデータ列Ｘ１’およびＹ１’）用いて、送信データ列Ｘ１（Ｄｉｎ）を推定する演算をして、その演算によって得られた軟判定データ列Ｌｏｕｔ−ａおよび外部情報尤度列Ｌｅｏｕｔ−ａを出力する。さらに、第１の軟出力復号器１ａは、軟判定復号を終了できるか否かを判定し、この終了判定の結果を示す終了判定フラグＥｉｎ−ａを出力する。
【００６６】
同様に、第２の軟出力復号器１ｂは、順序変換された雑音を含む受信データ列Ｘ１’、雑音を含む受信データ列Ｙ２’、および事前情報尤度列Ｌｉｎ−ｂを用いて、順序変換された送信データ列Ｘ１（Ｄｉｎ）を推定する演算をして、その演算によって得られた軟判定データ列Ｌｏｕｔ−ｂおよび外部情報尤度列Ｌｅｏｕｔ−ｂを出力する。さらに、第２の軟出力復号器１ｂは、軟判定復号を終了できるか否かを判定し、この終了判定の結果を示す終了判定フラグＥｉｎ−ｂを出力する。
【００６７】
図２は本発明の実施の形態１の軟出力復号器１（図１の第１の軟出力復号器１ａまたは第２の軟出力復号器１ｂ）のブロック構成図である。図２において、図２４と同じものには同じ符号を付してあり、Ｊｉｎは演算判定フラグ列、Ｅｉｎは図１の終了判定フラグＥｉｎ−ａまたはＥｉｎ−ｂである。
【００６８】
実施の形態１の軟出力復号器１は、ブランチメトリックス演算手段１１と、情報尤度値ＲＡＭ１２と、ブランチメトリックス値ＲＡＭ１３と、演算判定手段１４と、演算判定フラグＲＡＭ１５と、順方向再帰ステートメトリックス演算手段１６ｆと、逆方向再帰ステートメトリックス演算手段１６ｒ、順方向再帰ステートメトリックス値ＲＡＭ１７ｆと、逆方向再帰ステートメトリックス値ＲＡＭ１７ｒと、軟判定演算手段１８と、差分演算手段１９と、終了判定手段２０とを備えている。
【００６９】
つまり、実施の形態１の軟出力復号器１は、上記従来の軟出力復号器５０１（図２４参照）において、演算判定手段１４、演算判定フラグＲＡＭ１５、終了判定手段２０を設け、ブランチメトリックス演算手段５１１、順方向再帰ステートメトリックス演算手段５１６ｆ、逆方向再帰ステートメトリックス演算手段５１６ｒを、それぞれブランチメトリックス演算手段１１、順方向再帰ステートメトリックス演算手段１６ｆ、逆方向再帰ステートメトリックス演算手段１６ｒに変更したものである。
【００７０】
図３は軟出力復号器１においてのステートメトリックス演算手段１６（順方向再帰ステートメトリックス演算手段１６ｆまたは逆方向再帰ステートメトリックス演算手段１６ｒ）の構成図である。図３において、実施の形態１のステートメトリックス演算手段１６は、ステートメトリックス演算器２５と、選択器２６と、レジスタ２７とを備えている。
【００７１】
図４は軟出力復号器１においての演算判定手段１４の構成図である。図４において、演算判定手段１４は、比較器３５からなる。比較器３５の第１の入力には、事前情報尤度列Ｌｉｎを構成する事前情報尤度（データ列のそれぞれの場所についての事前情報尤度）が順次入力され、比較器３５の第２の入力には、あらかじめ設定された判定しきい値が入力される。比較器３５の出力は、それぞれの場所についての演算判定フラグから構成される演算判定フラグ列Ｊｉｎである。
【００７２】
図５は軟出力復号器１においての終了判定手段２０の構成図である。図５において、終了判定手段２０は、論理積回路４１と、レジスタ４２とを備えている。論理積回路４１の第１の入力には、演算判定フラグ列Ｊｉｎを構成している演算判定フラグ（データ列のそれぞれの場所についての演算判定フラグ）が順次入力され、論理積回路４１の第２の入力には、レジスタ４２の出力が順次入力される。論理積回路４１の出力は、レジスタ４２に入力され、演算判定フラグ列Ｊｉｎの演算判定フラグ列が全て論理積回路４１に入力されたときのレジスタ４２の出力は、終了判定フラグＥｉｎである。
【００７３】
実施の形態１の軟出力復号器１の動作について以下に説明する。なお、上記従来の軟出力復号器５０１（図２４参照）と同じ動作については、その説明を割愛する。
【００７４】
この実施の形態１の軟出力復号器１も、上記従来の軟出力復号器５０１（図２４参照）と同様に、データ長ｎ（ｎは正の整数）のデータ列を処理単位として軟判定復号動作をする。
【００７５】
軟出力復号器１に入力される事前情報尤度列Ｌｉｎは、データ長ｎのデータ列においてのそれぞれの復号の場所の事前情報尤度から構成されている。
【００７６】
［演算判定手段１４］
演算判定手段１４は、上記の事前情報尤度をもとに、その場所のメトリックス演算（ブランチメトリックス演算、順方方向再帰ステートメトリックス演算、および逆方方向再帰ステートメトリックス演算）をする必要があるか否かを順次判定して、演算判定の結果を示す演算判定フラグを順次生成し、これらそれぞれの場所の演算判定フラグから構成される演算判定フラグ列Ｊｉｎを、演算判定フラグＲＡＭ１５に書き込むとともに、ブランチメトリックス演算手段１１および終了判定手段２０に出力する。
【００７７】
ここでは、演算の必要があると判定した場所の演算判定フラグの値を０とし、演算の必要がないと判定した場所の演算判定フラグの値を１とする。
【００７８】
図４の演算判定手段１４の構成例においては、比較器３５において、事前情報尤度とあらかじめ設定された判定しきい値と比較して、その事前情報尤度が判定しきい値よりも小さい（あるいは逆に大きい）ときに、値が０の演算判定フラグを出力し、その事前情報尤度が判定しきい値よりも大きい（あるいは逆に小さい）ときに、値が１の演算判定フラグを出力する。
【００７９】
つまり、図４の演算判定手段１４では、事前情報尤度とあらかじめ設定された判定しきい値と比較して、その事前情報尤度が判定しきい値よりも小さい（あるいは逆に大きい）ときに、その場所のメトリックス演算の必要があると判定し、その事前情報尤度が判定しきい値よりも大きい（あるいは逆に小さい）ときに、その場所のメトリックス演算の必要がないと判定する。
【００８０】
なお、軟出力復号器１が図１の第１の軟出力復号器１ａであるときの初回の軟判定復号では、前段の軟出力復号器（他方の軟出力復号器）から外部情報尤度列Ｌｅｏｕｔが出力されないので、事前情報尤度列Ｌｉｎの全ての事前情報尤度の値は０である。このため、上記初回の軟判定復号では、演算判定手段１４は、演算判定フラグ列Ｊｉｎの全ての演算判定フラグを０とする。あるいは、上記初回の軟判定復号では、演算判定手段１４を動作させない。
【００８１】
［ブランチメトリックス演算手段１１］
ブランチメトリックス演算手段１１は、演算判定フラグＲＡＭ１５から演算判定フラグを読み出し、読み出した演算判定フラグの値に従って、以下のように動作する。
【００８２】
演算判定フラグが０である場所については、上記従来のブランチメトリックス演算手段５１１（図２４参照）と同様にして、ブランチメトリックスおよび情報尤度を演算し、得られたブランチメトリックスをブランチメトリックス値ＲＡＭ１３に書き込み、得られた情報尤度を情報尤度値ＲＡＭ１２に書き込む。
【００８３】
また、演算判定フラグが１である場所については、ブランチメトリックスおよび情報尤度の演算をせず、ブランチメトリックス値ＲＡＭ１３および情報尤度値ＲＡＭ１２に書き込みをしない。従って、ブランチメトリックス値ＲＡＭ１３および情報尤度値ＲＡＭ１２には、前回の軟判定復号時に求められたブランチメトリックスおよび情報尤度が更新されずに保持される。
【００８４】
なお、上記初回の軟判定復号では、ブランチメトリックス演算手段１１は、上記従来のブランチメトリックス演算手段５１１（図２４参照）と同様にして、全ての場所についてブランチメトリックスおよび情報尤度を順次演算する。
【００８５】
［順方向再帰ステートメトリックス演算手段１６ｆ］
順方向再帰ステートメトリックス演算手段１６ｆは、演算判定フラグＲＡＭ１５から演算判定フラグを読み出し、読み出した演算判定フラグの値に従って、以下のように動作する。
【００８６】
演算判定フラグが０である場所については、上記従来の順方向再帰ステートメトリックス演算手段５１６ｆ（図２４）と同様にして、その場所の順方向再帰ステートメトリックス演算に必要とされるブランチメトリックスをブランチメトリックス値ＲＡＭ１３から読み出し、読み出したブランチメトリックスを用いて、その場所の順方向再帰ステートメトリックスを演算し（図２３のステップＳ３に相当する演算）、得られた順方向再帰ステートメトリックス値を順方向再帰ステートメトリックス値ＲＡＭ１７ｆに書き込む。
【００８７】
また、演算判定フラグが１である場所については、順方向再帰ステートメトリックスを演算をせず、順方向再帰ステートメトリックス値ＲＡＭ１７ｆに書き込みをしない。従って、順方向再帰ステートメトリックス値ＲＡＭ１７ｆには、前回の軟判定復号時に求められたその場所の順方向再帰ステートメトリックスが更新されずに保持される。
【００８８】
［逆方向再帰ステートメトリックス演算手段１６ｒ］
同様に、逆方向再帰ステートメトリックス演算手段１６ｒは、演算判定フラグＲＡＭ１５から演算判定フラグを読み出し、読み出した演算判定フラグの値に従って、以下のように動作する。
【００８９】
演算判定フラグが０である場所については、上記従来の逆方向再帰ステートメトリックス演算手段５１６ｒ（図２４）と同様にして、その場所の逆方向再帰ステートメトリックス演算に必要とされるブランチメトリックスをブランチメトリックス値ＲＡＭ１３から読み出し、読み出したブランチメトリックスを用いて、その場所の逆方向再帰ステートメトリックスを演算し、得られた逆方向再帰ステートメトリックス値を逆方向再帰ステートメトリックス値ＲＡＭ１７ｒに書き込む。
【００９０】
また、演算判定フラグが１である場所については、逆方向再帰ステートメトリックスの演算をせず、逆方向再帰ステートメトリックス値ＲＡＭ１７ｒに書き込みをしない。従って、逆方向再帰ステートメトリックス値ＲＡＭ１７ｒには、前回の軟判定復号時に求められたその場所の逆方向再帰ステートメトリックスが更新されずに保持される。
【００９１】
なお、上記初回の軟判定復号では、順方向再帰ステートメトリックス演算手段１６ｆおよび逆方向再帰ステートメトリックス演算手段１６ｒは、上記従来の順方向再帰ステートメトリックス演算手段５１６ｆおよび逆方向再帰ステートメトリックス演算手段５１６ｒ（図２４参照）と同様にして、全ての場所の順方向再帰ステートメトリックスおよび逆方向再帰ステートメトリックスを順次演算する。
【００９２】
第ｋ（ｋは１からｎまでのいずれかの整数）の場所の順方向再帰ステートメトリックスの演算では、必要なブランチメトリックスの他に、第（ｋ−１）の場所の順方向再帰ステートメトリックスが用いられる。このため、順方向再帰ステートメトリックス演算手段１６ｆは、第ｋの場所の演算判定フラグが１であって第ｋの場所の順方向再帰ステートメトリックス演算をしなかったときには、前回の軟判定復号時に求めた第ｋの場所の順方向再帰ステートメトリックスを順方向再帰ステートメトリックス値ＲＡＭ１７ｆから読み出し、第（ｋ＋１）の場所の順方向再帰ステートメトリックスの演算に用いる。
【００９３】
同様に、第ｋの場所の逆方向再帰ステートメトリックスの演算では、必要なブランチメトリックスの他に、第（ｋ＋１）の場所の逆方向再帰ステートメトリックスが用いられる。このため、逆方向再帰ステートメトリックス演算手段１６ｒは、第ｋの場所の演算判定フラグが１であって第ｋの場所の逆方向再帰ステートメトリックスを演算をしなかったときには、前回の軟判定復号時に求めた第ｋの場所の逆方向再帰ステートメトリックスを逆方向再帰ステートメトリックス値ＲＡＭ１７ｒから読み出し、第（ｋ−１）の場所の逆方向再帰ステートメトリックスの演算に用いる。
【００９４】
図３のステートメトリックス演算手段１６（順方向再帰ステートメトリックス演算手段１６ｆまたは逆方向再帰ステートメトリックス演算手段１６ｒ）において、想定されるステートは４つであるとする。選択器２６に第ｋの場所の演算判定フラグが入力され、この演算フラグに従ってステートメトリックス演算手段１６が動作するとき、レジスタ２７には、第（ｋ−１）または第（ｋ＋１）の場所の第ｍ（ｍは１から４までのいずれかの整数）のステートのステートメトリックス値が保持されている。
【００９５】
第ｋの場所の演算判定フラグが０であるときには、ステートメトリックス演算器２５は、レジスタ２７に保持されている第（ｋ−１）または第（ｋ＋１）の場所の第ｍのステートのステートメトリックスと、ブランチメトリックス値ＲＡＭ１３（図２参照）から読み出した必要なブランチメトリックスとを用いて、第ｋの場所の第ｍのステートのステートメトリックスを演算する。
【００９６】
そして、選択器２６は、ステートメトレクス演算器２５で得られた第ｋの場所の第ｍのステートのステートメトリックス値を選択し、このステートメトリックス値を、レジスタ２７に書き込むとともに、ステートメトリックス値ＲＡＭ（順方向再帰ステートメトリックス値ＲＡＭ１７ｆまたは逆方向再帰ステートメトリックス値ＲＡＭ１７ｒ）に書き込む。
【００９７】
レジスタ２７に書き込まれた第ｋの場所の第ｍのステートのステートメトリックス値は、次の第（ｋ＋１）または第（ｋ−１）の場所の第ｍのステートのステートメトリックスの演算に用いられる。
【００９８】
また、第ｋの場所の演算判定フラグが１であるときには、ステートメトリックス演算器２５は、ステートメトリックスの演算をせず、選択器２６は、前回の軟判定復号時に求めた第ｋの場所の第ｍのステートのステートメトリックス値を上記のステートメトリックス値ＲＡＭから読み出してこれらを選択し、レジスタ２７に書き込む。このとき、上記ステートメトリックス値ＲＡＭから読み出した値をステートメトリックス値ＲＡＭの同じアドレスに書き戻すことになるので、ステートメトリックス値ＲＡＭには書き込みをしない。
【００９９】
レジスタ２７に書き込まれた前回の軟判定復号時の第ｋの場所の第ｍのステートのステートメトリックス値は、次の第（ｋ＋１）または第（ｋ−１）の場所の第ｍのステートのステートメトリックスの演算に用いられる。
【０１００】
［軟判定演算手段１８］
軟判定演算手段１８は、ブランチメトリックス、順方向再帰ステートメトリックス、逆方向再帰ステートメトリックスを用いて、送信データ列Ｘ１（Ｄｉｎ、図１９参照）のそれぞれの場所について軟判定演算をするが、演算判定フラグが１である場所については、軟判定演算に用いるメトリックスがいずれも前回の軟判定復号時の値から更新されていないので、前回の軟判定復号時と同じ値の軟判定データを出力することになる。従って、軟判定演算手段１８から出力される軟判定データ列Ｌｏｕｔにおいて、演算判定フラグが０である場所の軟判定データは、今回の軟判定復号で求めた値であるが、演算判定フラグが１である場所の軟判定データは、前回の軟判定復号時と同じ値である。
【０１０１】
［差分演算手段１９］
同様に、差分演算手段１９は、軟判定データおよび情報尤度を用いて外部情報尤度を生成するが、演算判定フラグが１である場所については、外部情報尤度の生成に用いる軟判定データおよび情報尤度がいずれも前回の軟判定復号時の値から更新されていないので、前回の軟判定復号時と同じ値の外部情報尤度を出力することになる。従って、差分演算手段１９から出力される外部情報尤度列Ｌｅｏｕｔにおいて、演算判定フラグが０である場所の外部情報尤度は、今回の軟判定復号で求めた値であるが、演算判定フラグが１である場所の外部情報尤度は、前回の軟判定復号時と同じ値である。
【０１０２】
［終了判定手段２０］
終了判定手段２０は、演算判定手段１４から入力された演算判定フラグ列Ｊｉｎをもとに、軟判定復号を終了することが可能か否かを判定し、この終了判定の結果を示す終了判定フラグＥｉｎを出力する。
【０１０３】
ここでは、軟判定復号を終了することが可能でないと判定したときに、終了判定フラグＥｉｎの値を０とし、軟判定復号を終了することが可能であると判定したときに、終了判定フラグＥｉｎの値を１とする。
【０１０４】
図５の終了判定手段２０の構成例においては、レジスタ４２の初期値を１として、入力されたいずれかの演算判定フラグが０であれば、全ての演算判定フラグが入力されたときに、レジスタ４２から出力される終了判定フラグＥｉｎは０となり、入力された全ての演算判定フラグが１であれば、これら全ての演算判定フラグが入力されたときに、レジスタ４２から出力される終了判定フラグＥｉｎは１となる。
【０１０５】
つまり、図５の終了判定手段２０では、データ列のいずれかの場所の演算判定フラグが０であれば、さらに軟判定復号をする必要があると判定して、終了判定フラグＥｉｎ＝０を出力し、データ列の全ての場所の演算判定フラグが１であれば、それ以上軟判定復号をする必要がないと判定して、終了判定フラグＥｉｎ＝１を出力する。
【０１０６】
以上のように実施の形態１によれば、事前情報尤度を用いてデータ列においての復号の場所についてさらにメトリックス演算をする必要があるか否かを判定し、必要がないと判定した場合については演算しないことにより、演算回路が余計に動作するのを回避できる。また、従来のように雑音比によってあらかじめ設定された回数だけ軟判定復号を繰り返すのでなく、受信データ列に依存したメトリックス演算の収束度合に応じて軟判定復号の繰り返し回数を決定できるので、ターボ復号装置においての全体の処理時間および回路で発生する消費電力を低減できる。
【０１０７】
実施の形態２
図６は本発明の実施の形態２の軟出力復号器を設けたターボ復号装置のブロック構成図である。図６において、図１と同じものには同じ符号を付してある。
【０１０８】
図６のターボ復号装置は、実施の形態２の軟出力復号器である第１の軟出力復号器２ａおよび第２の軟出力復号器２ｂと、インターリーバ５１，５２と、デインターリーバ５３，５４と、選択器５５と、硬判定器５６とを備えている。
【０１０９】
つまり、図６の実施の形態２のターボ復号装置は、上記実施の形態１のターボ復号装置（図１参照）において、軟出力復号器１ａ，１ｂを、それぞれ実施の形態２の軟出力復号器２ａ，２ｂに変更したものである。
【０１１０】
図６のターボ復号装置において、第１の軟出力復号器２ａは、軟判定データ列Ｌｏｕｔ−ａ、外部情報尤度列Ｌｅｏｕｔ−ａ、および終了判定フラグＥｉｎ−ａの他に、次段演算判定フラグ列Ｊｏｕｔ−ａを出力し、第２の軟出力復号器２ｂは、軟判定データ列Ｌｏｕｔ−ｂ、外部情報尤度列Ｌｅｏｕｔ−ｂ、および終了判定フラグＥｉｎ−ｂの他に、次段演算判定フラグ列Ｊｏｕｔ−ｂを出力する。
【０１１１】
また、第１の軟出力復号器２ａには、雑音を含む受信データ列Ｘ１’，Ｙ１’および事前情報尤度列Ｌｉｎ−ａの他に、デインターリーバ５３で順序逆変換された次段演算判定フラグ列Ｊｏｕｔ−ｂである事前演算判定フラグ列Ｊｉｎ−ａが入力され、第２の軟出力復号器２ｂには、インターリーバ５１で順序変換された雑音を含む受信データ列Ｘ１’、雑音を含む受信データ列Ｙ２’、および事前情報尤度列Ｌｉｎ−ｂの他に、インターリーバ５２で順序逆変換された次段演算判定フラグ列Ｊｏｕｔ−ａである事前演算判定フラグ列Ｊｉｎ−ｂが入力される。
【０１１２】
なお、第１の軟出力復号器２ａの入出力データ列のデータ配列は、図２２において説明した従来の軟出力復号器５０１ａと同様であり、第２の軟出力復号器２ｂの入出力データ列のデータ配列は、図２２において説明した従来の軟出力復号器５０１ｂと同様である。
【０１１３】
図７は本発明の実施の形態２の軟出力復号器２（図６の第１の軟出力復号器２ａまたは第２の軟出力復号器２ｂ）のブロック構成図である。図７において、図２と同じものには同じ符号を付してあり、Ｊｉｎは図６の事前演算判定フラグＪｉｎ−ａまたはＪｉｎ−ｂである。
【０１１４】
実施の形態２の軟出力復号器２は、ブランチメトリックス演算手段１１Ｂと、情報尤度値ＲＡＭ１２と、ブランチメトリックス値ＲＡＭ１３と、演算判定フラグＲＡＭ１５と、順方向再帰ステートメトリックス演算手段１６ｆと、逆方向再帰ステートメトリックス演算手段１６ｒと、順方向再帰ステートメトリックス値ＲＡＭ１７ｆと、逆方向再帰ステートメトリックス値ＲＡＭ１７ｒと、軟判定演算手段１８と、差分演算手段１９と、次段演算判定手段２１と、次段終了判定手段２２とを備えている。
【０１１５】
つまり、実施の形態２の軟出力復号器２は、上記実施の形態１の軟出力復号器（図１参照）において、演算判定手段１４および終了判定手段２０を削除して次段演算判定手段２１および次段終了判定手段２２を設け、ブランチメトリックス演算手段１１をブランチメトリックス演算手段１１Ｂに変更したものである。
【０１１６】
図８は軟出力復号器２においての次段演算判定手段２１の構成図である。図８において、次段演算判定手段２１は、軟判定演算器３６と、絶対値演算器３７と、比較器３８とを備えている。軟判定演算器３６の構成は、軟判定演算手段１８（図７参照）と同様である。絶対値演算器３７には、軟判定演算器３６から出力された軟判定データ列Ｌｏｕｔを構成する軟判定データ（送信データ列のそれぞれの場所の軟判定データ）が順次入力される。比較器３８の第１の入力には、絶対値演算器３７の出力が順次入力され、比較器３８の第２の入力には、あらかじめ設定された判定しきい値が入力される。比較器３８の出力は、それぞれの場所についての次段演算判定フラグから構成される次段演算判定フラグ列Ｊｏｕｔである。
【０１１７】
実施の形態２の軟出力復号器２の動作について以下に説明する。なお、上記実施の形態１の軟出力復号器１（図２参照）と同じ動作については、その説明を割愛する。
【０１１８】
軟出力復号器２に入力される事前演算判定フラグ列Ｊｉｎは、上記実施の形態１の演算判定フラグ列Ｊｉｎと同様の構成であり、データ長ｎのデータ列においてのそれぞれの復号の場所についてのメトリックス演算が必要であるか否かを示す事前演算判定フラグから構成されている。
【０１１９】
［ブランチメトリックス演算手段１１Ｂ］
ブランチメトリックス演算手段１１Ｂは、上記実施の形態１のブランチメトリックス演算手段１１（図２参照）において、事前演算判定フラグが１である場所（ブランチメトリックスの演算をしない場所）について、メトリックス演算が必要ないことを示す演算停止情報をブランチメトリックス値ＲＡＭ１３に書き込むようにしたものである。
【０１２０】
［次段演算判定手段２１］
次段演算判定手段２１は、全てのステートメトリックス演算（順方向再帰ステートメトリックス演算および逆方向再帰ステートメトリックス演算）が終了したあとに、ブランチメトリックス値ＲＡＭ１３に書き込まれた演算停止情報に従って、以下のように動作する。
【０１２１】
演算停止情報が検出されなかった場所（事前演算判定フラグが０であってメトリックス演算がなされた場所）については、次段演算判定手段２１は、ブランチメトリックス値ＲＡＭ１３、順方向再帰ステートメトリックス値ＲＡＭ１７ｆ、および逆方向再帰ステートメトリックス値ＲＡＭ１７ｒから、それぞれ必要なブランチメトリックス、ならびにその場所の順方向再帰ステートメトリックスおよび逆方向再帰ステートメトリックスを読み出し、これら読み出したメトリックスを用いて、次段の軟出力復号器においてメトリックス演算が必要か否かを判定し、この次段演算判定の結果を示す次段演算判定フラグを出力する。
【０１２２】
例えば、上記読み出したメトリックスを用いて、それぞれのブランチメトリックスの存在確率を計算し、これらブランチメトリックスの存在確率を用いて、次段の軟出力復号器においてその場所のメトリックス演算が必要か否かを判定する。それぞれのブランチメトリックスの存在確率を計算することによって、第ｋの場所のステートと次の第（ｋ＋１）または第（ｋ−１）の場所のステートとを結ぶブランチが決まり、その場所の復号データ列の硬判定出力（０または１）を決定できるので、その場所の演算はそれ以降する必要がないと判定できる。
【０１２３】
また、演算停止情報が検出された場所（事前演算判定フラグが１であってメトリックス演算がなされなかった場所）については、次段演算判定手段２１は、次段の軟出力復号器においてメトリックス演算の必要はないと判定し、この次段判定結果を示す次段演算判定フラグを出力する。
【０１２４】
ここでは、次段のメトリックス演算が必要であると判定したとき、次段演算判定フラグの値を０とし、次段のメトリックス演算が必要でないと判定したとき、次段演算判定フラグの値を１とする。
【０１２５】
このようにして、次段演算判定手段２１は、次段の軟出力復号器においてその場所のメトリックス演算をする必要があるか否かを順次判定して、次演算判定の結果を示す演算判定フラグを順次生成し、これらそれぞれの場所の次段演算判定フラグから構成される次段演算判定フラグ列Ｊｏｕｔを出力する。
【０１２６】
図８の演算判定手段２１の構成例においては、軟判定演算器３６において、軟判定演算手段１８と同様にして軟復号データを演算し、絶対値演算器３７において、上記軟復号データの絶対値を演算する。そして、比較器３８において、上記軟復号データの絶対値とあらかじめ設定された判定しきい値と比較して、その軟復号データの絶対値が判定しきい値よりも小さい（あるいは逆に大きい）ときに、値が０の演算判定フラグを出力し、その軟復号データの絶対値が判定しきい値よりも大きい（あるいは逆に小さい）ときに、値が１の演算判定フラグを出力する。なお、図８は演算停止情報が検出されなかった場所の演算判定についての構成例である。
【０１２７】
つまり、次段演算判定手段２１は、演算停止情報が検出されなかった場所については、軟判定データの絶対値とあらかじめ設定された判定しきい値と比較して、その軟判定データの絶対値が判定しきい値よりも小さい（あるいは逆に大きい）ときに、メトリックス演算の必要があると判定し、その軟判定データの絶対値が判定しきい値よりも大きい（あるいは逆に小さい）ときに、メトリックス演算の必要がないと判定する。
【０１２８】
［次段終了判定手段２２］
次段終了判定手段２２は、次段演算判定手段２１から入力された次段演算判定フラグ列Ｊｏｕｔをもとに、次段の軟出力復号器において軟判定復号を終了することが可能であるか否かを判定し、この次段終了判定の結果を示す次段終了判定フラグＥｏｕｔを出力する。
【０１２９】
ここでは、次段の軟判定復号を終了することが可能でないと判定したときに、次段終了判定フラグＥｏｕｔの値を０とし、次段の軟判定復号を終了することが可能であると判定したときに、次段終了判定フラグＥｏｕｔの値を１とする。
【０１３０】
例えば、次段終了判定手段２２は、データ列のいずれかの場所の次段演算判定フラグが０であれば（次段演算判定フラグ列Ｊｏｕｔのいずれかの演算判定フラグが０であれば）、次段でさらに軟判定復号をする必要があると判定して、次段終了判定フラグＥｏｕｔ＝０を出力し、データ列の全ての場所の演算判定フラグが１であれば（次段演算判定フラグ列Ｊｏｕｔの全ての演算判定フラグが１であれば）、次段でそれ以上軟判定復号をする必要がないと判定して、次段終了判定フラグＥｏｕｔ＝１を出力する。なお、この次段終了判定手段２２の構成例は、上記実施の形態１の終了判定手段２０の構成例（図４参照）において、論理積回路４１の入力を次段演算判定フラグ列Ｊｏｕｔとし、レジスタ４２の出力を次段終了判定フラグＥｏｕｔとしたものである。
【０１３１】
以上のように実施の形態２によれば、上記実施の形態１と同様の効果が得られる。さらに、次段演算判定をして、次段演算判定フラグ列Ｊｏｕｔを次段の軟出力復号器に出力することにより、次段の軟出力復号器では、演算判定をすることなくメトリックス演算が必要か否かを認識できるので、ターボ復号装置全体の処理時間および消費電力を低減できる。
【０１３２】
実施の形態３
図９は本発明の実施の形態３の軟出力復号器を設けたターボ復号装置のブロック構成図である。図９において、図１と同じものには同じ符号を付してある。
【０１３３】
図９のターボ復号装置は、実施の形態３の軟出力復号器である第１の軟出力復号器３ａおよび第２の軟出力復号器３ｂと、インターリーバ５１，５２と、デインターリーバ５３，５４と、選択器５５と、硬判定器５６とを備えている。
【０１３４】
つまり、図９の実施の形態３のターボ復号装置は、上記実施の形態１のターボ復号装置（図１参照）において、軟出力復号器１ａ，１ｂを、それぞれ実施の形態３の軟出力復号器３ａ，３ｂに変更したものである。
【０１３５】
図９のターボ復号装置において、第１の軟出力復号器３ａは、軟判定データ列Ｌｏｕｔ−ａおよび次段終了判定フラグＥｏｕｔ−ａを出力する他に、外部情報尤度列Ｌｅｏｕｔ−ａに代えて外部情報尤度列ＬＣｅｏｕｔ−ａを出力し、第２の軟出力復号器２ｂは、軟判定データ列Ｌｏｕｔ−ｂおよび次段終了判定フラグＥｏｕｔ−ｂを出力する他に、外部情報尤度列Ｌｅｏｕｔ−ｂに代えて外部情報尤度列ＬＣｅｏｕｔ−ｂを出力する。
【０１３６】
また、第１の軟出力復号器３ａには、雑音を含む受信データ列Ｘ１’，Ｙ１’が入力される他に、事前情報尤度列Ｌｉｎ−ａに代えて事前情報尤度列ＬＣｉｎ−ａが入力され、第２の軟出力復号器３ｂには、インターリーバ５１で順序変換された雑音を含む受信データ列Ｘ１’および雑音を含む受信データ列Ｙ２’が入力される他に、事前情報尤度列Ｌｉｎ−ｂに代えて事前情報尤度列ＬＣｉｎ−ｂが入力される。
【０１３７】
なお、第１の軟出力復号器３ａの入出力データ列のデータ配列は、図２２において説明した従来の軟出力復号器５０１ａと同様であり、第２の軟出力復号器３ｂの入出力データ列のデータ配列は、図２２において説明した従来の軟出力復号器５０１ｂと同様である。
【０１３８】
図１０は本発明の実施の形態３の軟出力復号器３（図９の第１の軟出力復号器３ａまたは第２の軟出力復号器３ｂ）のブロック構成図である。図１０において、図７と同じものには同じ符号を付してあり、ＬＣｉｎは図９の事前情報尤度列ＬＣｉｎ−ａまたはＬＣｉｎ−ｂである。
【０１３９】
実施の形態３の軟出力復号器３は、ブランチメトリックス演算手段１１Ｃと、情報尤度値ＲＡＭ１２と、ブランチメトリックス値ＲＡＭ１３と、演算判定フラグＲＡＭ１５と、順方向再帰ステートメトリックス演算手段１６Ｃｆと、逆方向再帰ステートメトリックス演算手段１６Ｃｒと、順方向再帰ステートメトリックス値ＲＡＭ１７ｆと、逆方向再帰ステートメトリックス値ＲＡＭ１７ｒと、軟判定演算手段１８と、差分演算手段１９Ｃと、次段演算判定手段２１と、次段終了判定手段２２とを備えている。
【０１４０】
つまり、実施の形態３の軟出力復号器３は、上記実施の形態２の軟出力復号器２（図７参照）において、ブランチメトリックス演算手段１１Ｂ、順方向再帰ステートメトリックス演算手段１６ｆ、逆方向再帰ステートメトリックス演算手段１６ｒ、差分演算手段１９を、それぞれブランチメトリックス演算手段１１Ｃ、順方向再帰ステートメトリックス演算手段１６Ｃｆ、逆方向再帰ステートメトリックス演算手段１６Ｃｒ、差分演算手段１９Ｃに変更し、演算判定フラグＲＡＭ１５を削除したものである。
【０１４１】
実施の形態３の軟出力復号器３の動作について以下に説明する。なお、上記実施の形態２の軟出力復号器２（図７参照）と同じ動作については、その説明を割愛する。
【０１４２】
実施の形態３の軟出力復号器３は、上記実施の形態２の軟出力復号器２（図７参照）において、次段演算判定フラグを埋め込んだ外部情報尤度列ＬＣｅｏｕｔを次段の軟出力復号器（他方の軟出力復号器）に出力するようにしたものである。軟出力復号器３には、前段の軟出力復号器（他方の軟出力復号器）から事前演算判定フラグが埋め込まれた事前情報尤度列ＬＣｉｎが入力される。
【０１４３】
［差分演算手段１９Ｃ］
差分演算手段１９Ｃは、上記実施の形態１の差分演算手段１９（図２参照）において、次段演算判定フラグが０である場所についてのみ外部情報尤度を差分演算し、次段演算判定フラグが０である場所については、この値が０の次段演算判定フラグおよび上記外部情報尤度を出力し、次段演算判定フラグが１である場所については、この値が１の次段演算判定フラグを出力するようにしたものである。
【０１４４】
このようにして、次段演算判定フラグが外部情報尤度列ＬＣｏｕｔに埋め込まれ、外部情報尤度列ＬＣｏｕｔは、次段演算判定フラグが０である場所については、この値が０の次段演算判定フラグおよびその場所の外部情報尤度によって構成され、次段演算判定フラグが１である場所については、この値が１の次段演算判定フラグによって構成される。この外部情報尤度列ＬＣｏｕｔは、順序変換または順序逆変換され、事前情報尤度列ＬＣｉｎとして（次段演算判定フラグは事前演算判定フラグとして）、次段の軟出力復号器（他方の軟出力復号器）に入力される。
【０１４５】
［ブランチメトリックス演算手段１１Ｃ］
ブランチメトリックス演算手段１１Ｃは、上記実施の形態２のブランチメトリックス演算手段１１Ｂ（図７参照）において、入力された事前情報尤度列ＬｉｎＣから事前演算判定フラグを検出するようにしたものである。
【０１４６】
この実施の形態３の軟出力復号器３では、事前演算判定フラグが１である場所については、ブランチメトリックス演算手段１１Ｃによって、上記実施の形態２と同様に演算停止情報がブランチメトリックス値ＲＡＭ１３に書き込まれるが、事前演算判定フラグが事前情報尤度列ＬｉｎＣに埋め込まれて入力されるので、演算判定フラグＲＡＭ１５は設けられていない。
【０１４７】
［順方向再帰ステートメトリックス演算手段１６Ｃｆ］
順方向再帰ステートメトリックス演算手段１６Ｃｆは、上記実施の形態１の順方向再帰ステートメトリックス演算手段１６ｆ（図２参照）において、ブランチメトリックス値ＲＡＭ１３に書き込まれた演算停止情報に従って動作するようにしたものである。
【０１４８】
順方向再帰ステートメトリックス演算手段１６Ｃｆは、演算停止情報が検出されなかった場所（事前演算判定フラグが０である場所）については、順方向再帰ステートメトリックスを演算して順方向再帰ステートメトリックス値ＲＡＭ１７ｆに書き込み、演算停止情報が検出された場所（事前演算判定フラグが１である場所）については、前回の軟判定復号時に求めた順方向再帰ステートメトリックスを順方向再帰ステートメトリックス値ＲＡＭ１７ｆから読み出す。
【０１４９】
［逆方向再帰ステートメトリックス演算手段１６Ｃｒ］
同様に、逆方向再帰ステートメトリックス演算手段１６Ｃｒは、上記実施の形態１の逆方向再帰ステートメトリックス演算手段１６ｒ（図２参照）において、ブランチメトリックス値ＲＡＭ１３に書き込まれた演算停止情報に従って動作するようにしたものである。
【０１５０】
逆方向再帰ステートメトリックス演算手段１６Ｃｒは、演算停止情報が検出されなかった場所（事前演算判定フラグが０である場所）については、逆方向再帰ステートメトリックスを演算して逆方向再帰ステートメトリックス値ＲＡＭ１７ｒに書き込み、演算停止情報が検出された場所（事前演算判定フラグが１である場所）については、前回の軟判定復号時に求めた逆方向再帰ステートメトリックスを逆方向再帰ステートメトリックス値ＲＡＭ１７ｒから読み出す。
【０１５１】
以上のように実施の形態３によれば、上記実施の形態２と同様の効果が得られる。さらに、次段演算判定フラグを外部情報尤度列に埋め込んで次段の軟出力復号器に出力することにより、次段演算判定フラグを伝送するための専用の信号線、入力された事前演算判定フラグを格納するための専用のＲＡＭ（演算判定フラグＲＡＭ１５）、および上記専用のＲＡＭから事前演算判定フラグを読み出すための回路、などが必要なくなるので、回路規模および消費電力を低減できる。
【０１５２】
実施の形態４
図１１は本発明の実施の形態４の軟出力復号器のブロック構成図である。図１１において、図２と同じものには同じ符号を付してある。なお、実施の形態４のターボ復号装置の構成は、図１の実施の形態１のターボ復号装置において、第１の軟出力復号器１ａおよび第２の軟出力復号器１ｂを、図１１の実施の形態４の軟出力復号器４に変更したものである。
【０１５３】
実施の形態４の軟出力復号器４は、ブランチメトリックス演算手段１１と、情報尤度値ＲＡＭ１２と、ブランチメトリックス値ＲＡＭ１３と、演算判定手段１４と、演算判定フラグＲＡＭ１５と、順方向再帰ステートメトリックス演算手段１６Ｄｆと、逆方向再帰ステートメトリックス演算手段１６Ｄｒと、順方向再帰ステートメトリックス値ＲＡＭ１７ｆと、逆方向再帰ステートメトリックス値ＲＡＭ１７ｒと、軟判定演算手段１８と、差分演算手段１９と、終了判定手段２０とを備えている。
【０１５４】
つまり、実施の形態４の軟出力復号器４は、上記実施の形態１の軟出力復号器１（図２参照）において、順方向再帰ステートメトリックス演算手段１６ｆ、逆方向再帰ステートメトリックス演算手段１６ｒを、それぞれ順方向再帰ステートメトリックス演算手段１６Ｄｆ、逆方向再帰ステートメトリックス演算手段１６Ｄｒに変更したものである。
【０１５５】
図１２は軟出力復号器４のステートメトリックス演算手段１６Ｄ（順方向再帰ステートメトリックス演算手段１６Ｄｆまたは逆方向再帰ステートメトリックス演算手段１６Ｄｒ）の構成図である。図１２において、図３と同じものには同じ符号を付してある。
【０１５６】
この実施の形態４のステートメトリックス演算手段１６Ｄは、ステートメトリックス演算器２５と、選択器２６と、レジスタ２７，２８ａ，２８ｂ，２８ｃ，２８ｄと、最大値検出器２９と、ステートメトリックス生成器３０とを備えている。
【０１５７】
つまり、実施の形態４ステートメトリックス演算手段１６Ｄは、上記実施の形態１のステートメトリックス演算手段１６（図３参照）において、レジスタ２８ａ，２８ｂ，２８ｃ，２８ｄ、最大値検出器２９、およびステートメトリックス生成器３０を設けたものである。
【０１５８】
［ステートメトリックス演算手段１６Ｄ］
図１２の実施の形態４のステートメトリックス演算手段１６Ｄの動作について以下に説明する。図１２においても、図３と同様に、想定されるステートは４つであるとする。
【０１５９】
第ｋの場所の演算判定フラグが０であるときには、ステートメトリックス演算手段１６Ｄの動作は、上記実施の形態１のステートメトリックス演算手段１６（図３参照）と同じであり、選択器２６は、ステートメトリックス演算器２５から出力された第ｋの場所の第ｍのステートのステートメトリックス値を選択し、レジスタ２７およびステートメトリックス値ＲＡＭ（順方向ステートメトリックス値ＲＡＭ１７ｆまたは逆方向ステートメトリックス値ＲＡＭ１７ｒ）に書き込む。
【０１６０】
第ｋの場所の演算判定フラグが１であるときには、選択器２６は、ステートメトリックス生成器３０から出力された第ｋの場所の第ｍのステートのステートメトリックス値を選択し、レジスタ２７に書き込む。なお、このとき、上記ステートメトリックス値ＲＡＭには書き込みをしない。
【０１６１】
第ｋの場所の演算判定フラグが１であるときには、レジスタ２８ａ〜２８ｄには、上記ステートメトリックス値ＲＡＭから読み出された前回の軟判定復号時に求められた第ｋの場所のそれぞれのステートのステートメトリックス値が保持される。なお、図１２では、想定されるステートを４つとしているので、前回の軟判定復号時のステートメトリックス値を保持するレジスタが４つ設けられている。
【０１６２】
第ｋの場所の演算判定フラグが１であるとき、最大値検出器２９は、レジスタ２８ａ〜２８ｄにそれぞれ保持されている前回の軟判定復号時のそれぞれのステートのステートメトリックス値を比較して、前回の軟判定復号時において最も存在確率が高かったステートを検出し、その結果をステートメトリックス生成器３０に出力する。
【０１６３】
第ｋの場所の演算判定フラグが１であるとき、ステートメトリックス生成器３０は、今回演算をしなかった第ｋの場所の第ｍのステートが前回の軟判定復号時において最も存在確率が高かったステートであれば、今回演算をしなかった第ｋの場所の第ｍのステートのステートメトリックス値としてステートメトリックスのとり得る値の最大値を選択し、選択器２６に出力する。また、今回演算をしなかった第ｋの場所の第ｍのステートが前回の軟判定復号時において最も存在確率が高かったステートでなければ、今回演算をしなかった第ｋの場所の第ｍのステートのステートメトリックス値としてステートメトリックスのとり得る値の最小値を選択し、選択器２６に出力する。
【０１６４】
これによって、第ｋの場所の演算判定フラグが１であるとき、レジスタ２７には、今回演算しなかった第ｋの場所の第ｍのステートのステートメトリックス値として、前回の軟判定復号時において最も存在確率が高かったステートについては上記最大値が書き込まれ、その他のステートについては上記最小値が書き込まれることになる。
【０１６５】
以上のように実施の形態４によれば、上記実施の形態１と同様の効果が得られる。さらに、演算判定フラグが１である場所のそれぞれのステートのステートメトリックス値を、前回の軟判定復号時においての存在確率に従ってステートメトリックスのとり得る値の最大値または最小値とし、この最大値または最小値からなるステートメトリックスを次の場所のステートメトリックスの演算に用いることにより、他の場所のステートおよびブランチの収束を早めることができ、軟判定復号の繰り返し演算回数を減らすことができる。
【０１６６】
なお、上記実施の形態４は、ステートメトリックス演算手段１６Ｄを上記実施の形態１に適用したものであるが、このステートメトリックス演算手段１６Ｄを上記実施の形態２または３に適用することも可能である。
【０１６７】
実施の形態５
図１３は本発明の実施の形態５の軟出力復号器のブロック構成図である。図１３において、図１と同じものには同じ符号を付してあり、９１ｆは他方の軟出力復号器の順方向再帰ステートメトリックス値ＲＡＭ、９１ｒは他方の軟出力復号器の逆方向再帰ステートメトリックス値ＲＡＭである。なお、実施の形態５のターボ復号装置の構成は、図１の実施の形態１のターボ復号装置において、第１の軟出力復号器１ａおよび第２の軟出力復号器１ｂを、図１３の実施の形態５の軟出力復号器５に変更したものである。
【０１６８】
実施の形態５の軟出力復号器５は、ブランチメトリックス演算手段１１と、情報尤度値ＲＡＭ１２と、ブランチメトリックス値ＲＡＭ１３と、演算判定手段１４と、演算判定フラグＲＡＭ１５と、順方向再帰ステートメトリックス演算手段１６Ｅｆと、逆方向再帰ステートメトリックス演算手段１６Ｅｒと、順方向再帰ステートメトリックス値ＲＡＭ１７ｆと、逆方向再帰ステートメトリックス値格納ＲＡＭ１７ｒと、軟判定演算手段１８と、差分演算手段１９とを備えている。
【０１６９】
つまり、実施の形態５の軟出力復号器５は、上記実施の形態１の軟出力復号器１（図２参照）において、順方向再帰ステートメトリックス演算手段１６ｆ、逆方向再帰ステートメトリックス演算手段１６ｒを、それぞれ順方向再帰ステートメトリックス演算手段１６Ｅｆ、逆方向再帰ステートメトリックス演算手段１６Ｅｒに変更したものである。
【０１７０】
図１４は軟出力復号器５のステートメトリックス演算手段１６Ｅ（順方向再帰ステートメトリックス演算手段１６Ｅｆまたは逆方向再帰ステートメトリックス演算手段１６Ｅｒ）の構成図である。図１４において、図１２と同じものには同じ符号を付してある。
【０１７１】
この実施の形態５のステートメトリックス演算手段１６Ｅは、ステートメトリックス演算器２５と、選択器２６と、レジスタ２７，２８ａ，２８ｂ，２８ｃ，２８ｄ，３１ａ，３１ｂ，３１ｃ，３１ｄと、ステートメトリックス生成器３０Ｅと、比較器３２，３３とを備えている。
【０１７２】
つまり、実施の形態５のステートメトリックス演算手段１６Ｅは、上記実施の形態２のステートメトリックス演算手段１６Ｄ（図１２参照）において、最大値検出器２９を削除して、レジスタ３１ａ〜３１ｄおよび比較器３２，３３を設け、ステートメトリックス生成器３０をステートメトリックス生成器３０Ｅに変更したものである。
【０１７３】
［ステートメトリックス演算手段１６Ｅ］
図１４の実施の形態５のステートメトリックス演算手段１６Ｅの動作について以下に説明する。図１４においても、図１２と同様に、想定されるステートは４つであるとする。
【０１７４】
第ｋの場所の演算判定フラグが０であるときには、ステートメトリックス演算手段１６Ｅの動作は、上記実施の形態２のステートメトリックス演算手段１６Ｄ（図１２参照）と同じであり、選択器２６は、ステートメトリックス演算器２５から出力された第ｋの場所の第ｍのステートのステートメトリックス値を選択し、レジスタ２７およびステートメトリックス値ＲＡＭ（順方向ステートメトリックス値ＲＡＭ１７ｆまたは逆方向ステートメトリックス値ＲＡＭ１７ｒ）に書き込む。
【０１７５】
第ｋの場所の演算判定フラグが１であるときには、選択器２６は、ステートメトリックス生成器３０Ｅから出力された第ｋの場所の第ｍのステートのステートメトリックス値を選択し、レジスタ２７に書き込む。なお、このとき、上記ステートメトリックス値ＲＡＭには書き込みをしない。
【０１７６】
レジスタ３１ａ〜３１ｄには、他方の軟出力復号器のステートメトリックス値ＲＡＭ（順方向再帰ステートメトリックス値ＲＡＭ９１ｆまたは逆方向再帰ステートメトリックス値ＲＡＭ９１ｒ）から読み出されたそれぞれのステートのステートメトリックスが保持される。なお、図１４では、想定されるステートを４つとしているので、他方の軟出力復号器のステートメトリックス値を保持するレジスタが４つ設けられている。
【０１７７】
第ｋの場所の演算判定フラグが１であるとき、比較器３２は、レジスタ２８ａ〜２８ｄに保持されている前回の軟判定復号時のそれぞれのステートのステートメトリックス値を比較して、今回演算しなかった第ｋの場所の第ｍのステートの前回の軟判定復号時においての存在確率の順位（存在確率が何番目に高かったか）を検出し、その結果を比較器３３に出力する。
【０１７８】
第ｋの場所の演算判定フラグが１であるとき、比較器３２は、レジスタ３１ａ〜３１ｄに保持されている他方の軟出力復号器のステートメトリックス値を比較して、比較器３２で検出された存在確率順位（今回演算しなかった第ｍのステートの前回の軟判定復号時においての存在確率順位）と他方の軟出力復号器において同じ存在確率順位だったステートを検出し、その結果をステートメトリックス生成器３０Ｅに出力する。
【０１７９】
第ｋの場所の演算判定フラグが１であるとき、ステートメトリックス生成器３０Ｅは、比較器３３で検出されたステートのステートメトリックス値（レジスタ３１ａ〜３１ｄのいずれかのレジスタ値）を、今回演算をしなかった第ｋの場所の第ｍのステートのステートメトリックス値として選択し、選択器２６に出力する。
【０１８０】
これによって、第ｋの場所の演算判定フラグが１であるとき、レジスタ２７には、今回演算しなかった第ｋの場所の第ｍのステートのステートメトリックス値として、この第ｋの場所の第ｍのステートの前回の軟判定復号時においての存在確率順位と他方の軟出力復号器において同じ順位だったステートの他方の軟出力復号器においてのステートメトリックス値が書き込まれることになる。
【０１８１】
例えば、第１，第２，第３，第４のステートのステートメトリックス値が、それぞれレジスタ２８ａおよび３１ａ，２８ｂおよび３１ｂ，２８ｃおよび３１ｃ，２８ｄおよび３１ｄに書き込まれるものとし、今回演算をしなかったステートが第２のステートであるとすれば、第２のステートの前回の軟判定復号時の存在確率であるレジスタ２８ｂのレジスタ値が、レジスタ２８ａ〜２８ｄのレジスタ値の内で何番値に高いかを比較器３２で検出し、レジスタ２８ａ〜２８ｄのレジスタ値の内で、その存在確率順位と同じ順位のものが比較器３３で検出され、そのレジスタ値が、今回演算をしなかった第２のステートのステートメトリックス値としてステートメトリックス生成器３０Ｅで選択される。
【０１８２】
例えば、レジスタ２８ａ，２８ｂ，２８ｃ，２８ｄのレジスタ値がそれぞれ１００，１５０，２５０，３５０であり、レジスタ３１ａ，３１ｂ，３１ｃ，３１ｄのレジスタ値がそれぞれ１００，２００，３００，４００であれば、レジスタ２８ｂのレジスタ値である前回の軟判定復号時の第２のステートの存在確率は、３番目に高く、それぞれレジスタ３１ａ〜３１ｄのレジスタ値である他方の軟出力復号器においての第１〜第４のステートの存在確率の内で、同じく３番目に高いのは、レジスタ３１ｂのレジスタ値２００（他方の軟出力復号器においての第２のステートの存在確率）なので、このレジスタ値２００が、今回演算をしなかった第２のステートのステートメトリックス値としてステートメトリックス生成器３０Ｅで選択され、レジスタ２７に書き込まれる。
【０１８３】
以上のように実施の形態５によれば、上記実施の形態１と同様の効果が得られる。さらに、演算判定フラグが１である場所のそれぞれのステートのステートメトリックス値を、前回の軟判定復号時の存在確率に従って他方の軟出力復号器のいずれかのステートのステートメトリックス値とし、この他方の軟出力復号器のステートメトリックスを次の場所のステートメトリックスの演算に用いることにより、事前情報尤度と同様に事前のステートメトリックス値を用いることができるので、他の場所のステートおよびブランチの収束を早めることができ、軟判定復号の繰り返し演算回数を減らすことができる。
【０１８４】
なお、上記実施の形態５は、ステートメトリックス演算手段１６Ｅを上記実施の形態１に適用したものであるが、このステートメトリックス演算手段１６Ｅを上記実施の形態２または３に適用することも可能である。
【０１８５】
実施の形態６
図１５は本発明の実施の形態６の軟出力復号器のブロック構成図である。図１５において、図７または図１３と同じものには同じ符号を付してある。なお、実施の形態６のターボ復号装置の構成は、図６の実施の形態２のターボ復号装置において、第１の軟出力復号器２ａおよび第２の軟出力復号器２ｂを、図１５の実施の形態６の軟出力復号器６に変更したものである。
【０１８６】
実施の形態６の軟出力復号器６は、ブランチメトリックス演算手段１１Ｂと、情報尤度値ＲＡＭ１２と、ブランチメトリックス値ＲＡＭ１３と、演算判定フラグＲＡＭ１５と、順方向再帰ステートメトリックス演算手段１６Ｅｆと、逆方向再帰ステートメトリックス演算手段１６Ｅｒと、順方向再帰ステートメトリックス値ＲＡＭ１７ｆと、逆方向再帰ステートメトリックス値格納ＲＡＭ１７ｒと、軟判定演算手段１８と、差分演算手段１９と、次段演算判定手段２１Ｆと、次段終了判定手段２２とを備えている。
【０１８７】
つまり、実施の形態６の軟出力復号器６は、上記実施の形態２の軟出力復号器２（図７参照）において、順方向再帰ステートメトリックス演算手段１６ｆ、逆方向再帰ステートメトリックス演算手段１６ｒを、それぞれ上記実施の形態５の順方向再帰ステートメトリックス演算手段１６Ｅｆ、逆方向再帰ステートメトリックス演算手段１６Ｅｒに変更し、次段演算判定手段２１を次段演算判定手段２１Ｆに変更したものである。
【０１８８】
図１６は軟出力復号器６においての次段演算判定手段２１Ｆの構成図である。図１６において、図８と同じものには同じ符号を付してある。
【０１８９】
図１６の次段演算判定手段２１Ｆは、軟判定演算器３６，３９と、絶対値演算器３７と、比較器３８と、加算器４０とを備えている。つまり、図１６の次段演算判定手段２１Ｆは、図８の実施の形態２の次段演算判定手段２１において、軟判定演算器３９および加算器４０をさらに設けたものである。
【０１９０】
図１６において、軟判定演算器３６および３９の構成は、軟判定演算手段１８（図１５参照）と同様である。軟判定演算器３６には、実施の形態６の軟出力復号器６において求められたブランチメトリックス、順方向再帰ステートメトリックス、および逆方向再帰ステートメトリックスが入力される。また、軟判定演算器３９には、他方の軟出力復号器において求められた順方向再帰ステートメトリックスおよび逆方向再帰ステートメトリックスが入力される。軟判定演算器３６の出力および軟判定演算器３９の出力は、加算器４０に入力され、加算器４０の出力は、絶対値演算器に入力される。
【０１９１】
［次段演算判定手段２１Ｆ］
実施の形態６の次段演算判定手段２１Ｆの動作について以下に説明する。次段演算判定手段２１Ｆは、上記実施の形態２の次段演算判定手段２１（図７参照）において、演算停止情報が検出されなかった場所（事前演算判定フラグが０であってメトリックス演算がなされた場所）については、次段演算判定手段２１は、ブランチメトリックス値ＲＡＭ１３、順方向再帰ステートメトリックス値ＲＡＭ１７ｆ、および逆方向再帰ステートメトリックス値ＲＡＭ１７ｒから、それぞれ必要なブランチメトリックス、ならびにその場所の順方向再帰ステートメトリックスおよび逆方向再帰ステートメトリックスを読み出すとともに、他方の軟出力復号器の順方向再帰ステートメトリックス値ＲＡＭ９１ｆおよび逆方向再帰ステートメトリックス値ＲＡＭ９１ｒから、他方の軟出力復号器においてのその場所の順方向再帰ステートメトリックスおよび逆方向再帰ステートメトリックスを読み出し、これら読み出したステートメトリックス値を用いて、次段の軟出力復号器においてメトリックス演算が必要か否かを判定し、この次段演算判定の結果を示す次段演算判定フラグを出力するようにしたものである。
【０１９２】
図１６の演算判定手段２１Ｆの構成例においては、軟判定演算器３６において、軟判定演算手段１８と同様にして軟復号データを演算し、絶対値演算器３７において、上記軟復号データの絶対値を演算する。また、軟判定演算器３９において、他方の軟出力演算器の順方向再帰ステートメトリックスおよび逆方向再帰ステートメトリックスを用いて、他方の軟出力復号器においての軟復号データを演算する。なお、軟判定演算器３９では、ブランチメトリックスの値は０とする。
【０１９３】
さらに、加算器４０において、軟判定演算器３６から出力された軟復号データ列Ｌｏｕｔを構成するそれぞれの場所の軟復号データと、軟判定演算器３９から出力された他方の軟出力復号器の軟復号データ列Ｌｏｕｔ’を構成するそれぞれの場所の軟復号データとを加算し、絶対値演算器３７において、上記軟復号データの加算値の絶対値を演算する。
【０１９４】
そして、比較器３８において、上記軟復号データの絶対値とあらかじめ設定された判定しきい値と比較して、その軟復号データの絶対値が判定しきい値よりも小さい（あるいは逆に大きい）ときに、値が０の演算判定フラグを出力し、その軟復号データの絶対値が判定しきい値よりも大きい（あるいは逆に小さい）ときに、値が１の演算判定フラグを出力する。なお、図１６は演算停止情報が検出されなかった場所の演算判定についての構成例である。
【０１９５】
つまり、次段演算判定手段２１Ｆは、演算停止情報が検出されなかった場所については軟出力復号器６の軟判定データと他方の軟出力復号器の軟判定データの加算値のの絶対値と、あらかじめ設定された判定しきい値と比較して、その軟判定データの絶対値が判定しきい値よりも小さい（あるいは逆に大きい）ときに、メトリックス演算の必要があると判定し、その軟判定データの絶対値が判定しきい値よりも大きい（あるいは逆に小さい）ときに、メトリックス演算の必要がないと判定する。
【０１９６】
以上のように実施の形態６によれば、上記実施の形態２および５と同様の効果が得られる。さらに、他方の軟出力復号器のステートメトリックス値を用いて次段演算判定をすることにより、次段演算判定の精度を上げることができるので、他方の軟出力復号器においてのステートおよびブランチの収束を早めることができ、軟判定復号の繰り返し演算回数を減らすことができる。
【０１９７】
実施の形態７
図１７は本発明の実施の形態７の軟出力復号器のブロック構成図である。図１７において、図１０と同じものには同じ符号を付してある。なお、実施の形態７のターボ復号装置の構成は、図９の実施の形態３のターボ復号装置において、第１の軟出力復号器３ａおよび第２の軟出力復号器３ｂを、図１７の実施の形態７の軟出力復号器７に変更したものである。この実施の形態７のターボ復号装置では、外部情報尤度列ＬＣｅｏｕｔ−ａ，ＬＣｅｏｕｔ−ｂは、それぞれ外部情報尤度列ＬＧｅｏｕｔ−ａ，ＬＧｅｏｕｔ−ｂに変更され、事前情報尤度列ＬＣｉｎ−ａ，ＬＣｉｎ−ｂは、それぞれ事前情報尤度列ＬＧｉｎ−ａ，ＬＧｉｎ−ｂに変更される。
【０１９８】
実施の形態７の軟出力復号器７は、ブランチメトリックス演算手段１１Ｇと、情報尤度値ＲＡＭ１２と、ブランチメトリックス値ＲＡＭ１３と、順方向再帰ステートメトリックス演算手段１６Ｇｆと、逆方向再帰ステートメトリックス演算手段１６Ｇｒと、順方向再帰ステートメトリックス値ＲＡＭ１７ｆと、逆方向再帰ステートメトリックス値ＲＡＭ１７ｒと、軟判定演算手段１８と、差分演算手段１９Ｇと、次段演算判定手段２１Ｇと、次段終了判定手段２２とを備えている。
【０１９９】
つまり、実施の形態７の軟出力復号器７は、上記実施の形態３の軟出力復号器３（図１０参照）において、ブランチメトリックス演算手段１１Ｃ、順方向再帰ステートメトリックス演算手段１６Ｃｆ、逆方向再帰ステートメトリックス演算手段１６Ｃｒ、差分演算手段１９Ｃ、次段演算判定手段２１を、それぞれブランチメトリックス演算手段１１Ｇ、順方向再帰ステートメトリックス演算手段１６Ｇｆ、逆方向再帰ステートメトリックス演算手段１６Ｇｒ、差分演算手段１９Ｇ、次段演算判定手段２１Ｇに変更したものである。
【０２００】
実施の形態７の軟出力復号器７の動作について以下に説明する。なお、上記実施の形態３の軟出力復号器３（図１０参照）と同じ動作については、その説明を割愛する。
【０２０１】
実施の形態７の軟出力復号器７は、上記実施の形態３の軟出力復号器３（図１０参照）において、次段演算判定フラグならびに順方向再帰ステートメトリックスおよび逆方向再帰ステートメトリックスを埋め込んだ外部情報尤度データＬＧｅｏｕｔを、次段の軟出力復号器（他方の軟出力復号器）に出力するようにしたものである。軟出力復号器７には、前段の軟出力復号器（他方の軟出力復号器）から事前演算判定フラグならびに前段の軟出力復号器の順方向再帰ステートメトリックスおよび逆方向再帰ステートメトリックスが埋め込まれた事前情報尤度列ＬＧｉｎが入力される。
【０２０２】
［次段演算判定手段２１Ｇ］
次段演算判定手段２１Ｇは、上記実施の形態２の次段演算判定手段２１（図７参照）において、次段演算判定フラグの値が１である場所については、この値が１の次段演算判定フラグを出力するとともに、その場所の順方向再帰ステートメトリックスおよび逆方向再帰ステートメトリックスを差分演算手段１９Ｇに出力するようにしたものである。
【０２０３】
［差分演算手段１９Ｇ］
差分演算手段１９Ｇは、上記実施の形態３の差分演算手段１９Ｃ（図１０参照）において、次段演算判定フラグが１である場所については、この値が１の次段演算判定フラグならびにその場所の順方向再帰ステートメトリックスおよび逆方向再帰ステートメトリックスを出力するようにしたものである。
【０２０４】
このようにして、次段演算判定フラグが外部情報尤度列ＬＧｏｕｔに埋め込まれるともに、次段演算判定フラグが１である場所については順方向再帰ステートメトリックスおよび逆方向再帰ステートメトリックスが埋め込まれ、外部情報尤度列ＬＧｏｕｔは、次段演算判定フラグが０である場所については、この値が０の次段演算判定フラグおよびその場所の外部情報尤度によって構成され、次段演算判定フラグが１である場所については、この値が１の次段演算判定フラグならびのその場所の順方向再帰ステートメトリックスおよび逆方向再帰ステートメトリックスによって構成される。この外部情報尤度列ＬＧｏｕｔは、順序変換または順序逆変換され、事前情報尤度列ＬＧｉｎとして（次段演算判定フラグは事前演算判定フラグとして）、次段の軟出力復号器（他方の軟出力復号器）に入力される。
【０２０５】
［ブランチメトリックス演算手段１１Ｇ］
ブランチメトリックス演算手段１１Ｇは、上記実施の形態３のブランチメトリックス演算手段１１Ｃ（図１０参照）において、入力された事前情報尤度ＬＧｉｎから他方の軟出力復号器の順方向再帰ステートメトリックスおよび逆方向再帰ステートメトリックスを検出し、これら他方の軟出力復号器のステートメトリックスをブランチメトリックス値ＲＡＭ１３に書き込むようにしたものである。
【０２０６】
［順方向再帰ステートメトリックス演算手段１６Ｇｆ］
順方向再帰ステートメトリックス演算手段１６Ｇｆは、上記実施の形態３の順方向再帰ステートメトリックス演算手段１６Ｃｆ（図９参照）同様に、ブランチメトリックス値ＲＡＭ１３に書き込まれた演算停止情報に従って動作する。
【０２０７】
また、順方向再帰ステートメトリックス演算手段１６Ｇｆは、演算停止情報が検出された場所（事前演算判定フラグが１である場所）については、ブランチメトリックス値ＲＡＭ１３から他方の軟出力復号器の順方向再帰ステートメトリックスを読み出し、上記実施の形態５の順方向再帰ステートメトリックス演算手段１６Ｅｆ（図１３参照）と同様の動作をする。
【０２０８】
［逆方向再帰ステートメトリックス演算手段１６Ｇｒ］
同様に、逆方向再帰ステートメトリックス演算手段１６Ｇｒは、上記実施の形態３の逆方向再帰ステートメトリックス演算手段１６Ｃｒ（図９参照）同様に、ブランチメトリックス値ＲＡＭ１３に書き込まれた演算停止情報に従って動作する。
【０２０９】
また、逆方向再帰ステートメトリックス演算手段１６Ｇｒは、演算停止情報が検出された場所（事前演算判定フラグが１である場所）については、ブランチメトリックス値ＲＡＭ１３から他方の軟出力復号器の逆方向再帰ステートメトリックスを読み出し、上記実施の形態５の逆方向再帰ステートメトリックス演算手段１６Ｅｒ（図１３参照）と同様の動作をする。
【０２１０】
この実施の形態７のステートメトリックス演算手段１６Ｇ（順方向再帰ステートメトリックス演算手段１６Ｇｆまたは逆方向再帰ステートメトリックス演算手段１６Ｇｒ）の構成は、上記実施の形態５のステートメトリックス演算手段１６Ｅ（図１４参照）において、他方の軟出力復号器のステートメトリックスをブランチメトリックス値ＲＡＭ１３から読み出し、さらに選択器２６がブランチメトリックス値ＲＡＭ１３に書き込まれた演算停止情報に従って動作するようにしたものである。
【０２１１】
以上のように実施の形態７によれば、上記実施の形態３および６と同様の効果が得られる。さらに、次段演算判定フラグおよびステートメトリックスを事前情報尤度列に埋め込んで次段の軟出力復号器に出力することにより、次段演算判定フラグを伝送するための専用の信号線、入力された事前演算判定フラグを格納するための専用のＲＡＭ（演算判定フラグＲＡＭ１５）、および上記専用のＲＡＭから事前演算判定フラグを読み出すための回路、他方の軟出力復号器からステートメトリックスを読み出すための専用の信号線および回路、などが必要なくなるので、回路規模および消費電力を低減できる。
【０２１２】
実施の形態８
図１８は本発明の実施の形態８の軟出力復号器のブロック構成図である。図１８において、図７と同じものには同じ符号を付してある。なお、実施の形態８のターボ復号装置の構成は、図６の実施の形態２のターボ復号装置において、第１の軟出力復号器２ａおよび第２の軟出力復号器２ｂを、図１８の実施の形態８の軟出力復号器８に変更したものである。
【０２１３】
実施の形態８の軟出力復号器８は、第１の演算群１０ａと、第２の演算群１０ｂと、第３の演算群１０ｃと、ブランチメトリックス演算手段１１Ｂと、情報尤度値ＲＡＭ１２と、差分演算手段１９と、軟判定値ＲＡＭ２３と、次段演算判定フラグＲＡＭ２４とを備えている。
【０２１４】
演算群１０（第１の演算群１０ａ、第２の演算群１０ｂ、第３の演算群１０ｃ）のそれぞれは、同じ構成であり、ブランチメトリックス値ＲＡＭ１３と、演算判定フラグＲＡＭ１５と、順方向再帰ステートメトリックス演算手段１６ｆと、逆方向再帰ステートメトリックス演算手段１６ｒと、順方向再帰ステートメトリックス値ＲＡＭ１７ｆと、逆方向再帰ステートメトリックス値ＲＡＭ１７ｒと、軟判定演算手段１８とを備えている。
【０２１５】
つまり、実施の形態８の軟出力復号器８は、上記実施の形態２の軟出力復号器（図７参照）において、順方向再帰ステートメトリックス演算手段１６ｆ、逆方向再帰ステートメトリックス演算手段１６ｒ、および軟判定演算手段１８を含む演算群１０を３つ並列に設け、さらに軟判定値ＲＡＭ２３および次段演算判定フラグＲＡＭ２４を設けたものである。
【０２１６】
［軟判定値ＲＡＭ２３］
軟判定値ＲＡＭ２３は、３つの演算群１０ａ，１０ｂ，１０ｃから出力された軟判定データを保持し、これらの軟判定データによって構成した軟判定データ列Ｌｏｕｔを差分演算手段１９他に出力する。
【０２１７】
［次段演算判定フラグＲＡＭ２４］
次段演算判定フラグＲＡＭ２４は、３つの演算群１０ａ，１０ｂ，１０ｃから出力された次段演算判定フラグを保持し、これらの次段演算判定フラグによって構成した次段演算判定フラグ列Ｊｏｕｔを次段終了判定手段２２他に出力する。
【０２１８】
実施の形態８の軟出力復号器８の動作について以下に説明する。上記実施の形態２と同様の動作については説明を割愛する。
【０２１９】
２回目以降の軟判定復号においては、例えば、データ列の第１の場所から第（ｋ−１）の場所までの事前演算判定フラグがいずれも０であり、第ｋの場所の事前演算判定フラグが１であるときに、第ｋの場所のステートメトリックスを演算せずに、前回の軟判定復号時に求められた第ｋの場所のステートメトリックスを次の第（ｋ＋１）の場所のステートメトリックスの演算に用いることにより、第１の場所から第ｋの場所までの演算（ステートメトリックス演算、軟判定演算、および次段演算判定）と並列に、第（ｋ＋１）の場所以降についての演算をすることが可能である。
【０２２０】
そこで、この実施の形態８の軟出力復号器８では、事前演算判定フラグが１である場所でデータ列を分割し、分割したそれぞれの区間をそれぞれの演算群１０に割り振って並列に演算ができるようにしている。ただし、それぞれの演算群１０の順方向再帰ステートメトリックス値ＲＡＭ１７ｆおよび逆方向再帰ステートメトリックス値ＲＡＭ１７ｒの内容は、軟判定復号ごとに最新のデータに更新されるものとする。
【０２２１】
まず、初回の軟判定復号においては、事前演算判定フラグ列Ｊｉｎの全ての事前演算判定フラグが０であるので、例えば、第１の演算群１０ａで全ての場所についてのステートメトリックスを演算し、第２の演算群１０ｂおよび第３の演算群１０ｃは動作させない。なお、初回の軟判定復においての第１の演算群１０ａの順方向再帰ステートメトリックス値ＲＡＭ１７ｆおよび逆方向再帰ステートメトリックス値ＲＡＭ１７ｒの内容は、第２の演算群１０ｂおよび第３の演算群１０ｃの順方向再帰ステートメトリックス値ＲＡＭ１７ｆおよび逆方向再帰ステートメトリックス値ＲＡＭ１７ｒにコピーしておく。
【０２２２】
第１の演算群１０ａの軟判定演算手段１８から出力された全ての場所の軟判定データは、軟判定値ＲＡＭ２３に保持され、軟判定値ＲＡＭ２３から軟判定データ列Ｌｏｕｔとして出力される。
【０２２３】
また、第１の演算群１０ａの次段演算演算手段２１から出力された全ての場所の次段演算判定フラグは、次段演算判定フラグＲＡＭ２４に保持され、次段演算判定フラグＲＡＭ２４から次段演算判定フラグＪｏｕｔとして出力される。
【０２２４】
次に、２回目以降の軟判定復号において、データ列の全ての場所について事前演算判定フラグが０（事前演算判定フラグ列Ｊｉｎを構成する全ての事前演算判定フラグが０）であれば、初回の軟判定復号と同じ動作となる。
【０２２５】
また、２回目以降の軟判定復号において、いずれかの場所について事前演算判定フラグが１（事前演算判定フラグ列Ｊｉｎを構成するいずれかの事前演算判定フラグが１）であれば、以下のようにして並列演算をする。
【０２２６】
例えば、第ｋ１および第ｋ２の場所の事前演算判定フラグのみが１であったときには、第１の場所から第ｋ１の場所までの順方向再帰ステートメトリックスおよび第のｋ１の場所から第１の場所までの逆方向再帰ステートメトリックスを、第１の演算群１０ａで演算し、第（ｋ１＋１）の場所から第ｋ２の場所までの順方向再帰ステートメトリックスおよび第ｋ２の場所から第（ｋ１＋１）の場所までの逆方向再帰ステートメトリックスを、第２の演算群１０ｂで第１の演算群１０ａと並列に演算し、第（ｋ２＋１）の場所から第ｎの場所までの順方向再帰ステートメトリックスおよび第ｎの場所から第（ｋ２＋１）の場所までの逆方向再帰ステートメトリックスを、第３の演算群１０ｃで第１の演算群１０ａおよび第２の演算群１０ｂと並列に演算する。
【０２２７】
また、例えば、第ｋ１，第ｋ２，第ｋ３の場所の事前演算判定フラグのみが１であったときには、第１の場所から第ｋ３の場所までの順方向再帰ステートメトリックスおよび第ｋ３の場所から第１の場所までの逆方向再帰ステートメトリックスについては、演算群１０ａ，１０ｂ，１０ｃで上記のように演算し、第（ｋ３＋１）の場所から第ｎの場所までの順方向再帰ステートメトリックスおよび第ｎの場所から第（ｋ３＋１）の場所までの逆方向再帰ステートメトリックスについては、演算群１０ａ，１０ｂ，１０ｃの内、最初に演算を終了した演算群で演算する。
【０２２８】
また、例えば、第ｋ１の場所の事前演算判定フラグのみが１であったときには、第１の場所から第ｋ１の場所までについては、第１の演算群１０ａで演算し、第（ｋ１＋１）の場所から第ｎの場所までについては、第２の演算群１０ｂで第１の演算群１０ａと並列に演算し、第３の演算群１０ｃは動作させない。
【０２２９】
演算群１０ａ，１０ｂ，１０ｃの３つの軟判定演算手段１８から出力された軟判定データはいずれも軟判定値ＲＡＭ２３に書き込まれ、演算群１０ａ，１０ｂ，１０ｃの３つの次段演算判定手段２１から出力された次段演算判定フラグはいずれも次段演算判定フラグＲＡＭ２４に書き込まれる。
【０２３０】
従って、演算群１０ａ，１０ｂ，１０ｃにおいて全ての場所についての演算が終了したときには、軟判定値ＲＡＭ２３には全ての場所の軟判定データが書き込まれており、次段終了判定フラグＲＡＭ２４には全ての場所の次段終了判定フラグが書き込まれていることになる。
【０２３１】
軟判定値ＲＡＭ２３は、上記全ての場所の軟判定データを軟判定データ列Ｌｏｕｔとして差分演算手段１９他に出力し、次段終了判定フラグＲＡＭ２４は、上記全ての場所の次段終了判定フラグを次段終了判定フラグ列Ｊｏｕｔとして次段終了判定手段２２他に出力する。
【０２３２】
以上のように実施の形態８によれば、上記実施の形態２と同様の効果が得られる。さらに、演算群を複数設けることにより、並列演算が可能になるので、高速に演算ができ、演算時間を短縮することができる。
【０２３３】
なお、上記実施の形態８において、２つの演算群を設けた構成とすることも可能であるし、４つ以上の演算群を設けた構成とすることも可能である。
【０２３４】
また、上記実施の形態８は、上記実施の形態２において、演算群を複数設けたものであるが、上記実施の形態１または３などにおいて、演算群を複数設けた構成とすることも可能である。上記実施の形態１に適用する場合には、それぞれの演算群を、ブランチメトリックス値ＲＡＭ１３と、演算判定フラグＲＡＭ１５と、順方向再帰ステートメトリックス演算手段１６ｆと、逆方向再帰ステートメトリックス演算手段１６ｒ、順方向再帰ステートメトリックス値ＲＡＭ１７ｆと、逆方向再帰ステートメトリックス値ＲＡＭ１７ｒと、軟判定演算手段１８とによって構成する。また、上記実施の形態３に適用する場合には、それぞれの演算群を、ブランチメトリックス値ＲＡＭ１３と、演算判定フラグＲＡＭ１５と、順方向再帰ステートメトリックス演算手段１６Ｃｆと、逆方向再帰ステートメトリックス演算手段１６Ｃｒと、順方向再帰ステートメトリックス値ＲＡＭ１７ｆと、逆方向再帰ステートメトリックス値ＲＡＭ１７ｒと、軟判定演算手段１８と、次段演算判定手段２１とによって構成する。
【０２３５】
また、上記実施の形態１から８までにおいては、説明を判りやすくするために主にハードウェアによる構成および動作を説明したが、それぞれの実施の形態の軟出力復号器を、ＣＰＵまたはＤＳＰなどのソフトウェアによって実現すること、あるいはハードウェアとソフトウェアの組合せによって実現することも可能である。
【０２３６】
【発明の効果】
以上説明したように本発明の軟出力復号器によれば、ターボ復号装置においての全体の処理時間および消費電力を低減できるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態１の軟出力復号器を設けたターボ復号装置のブロック構成図である。
【図２】本発明の実施の形態１の軟出力復号器のブロック構成図である。
【図３】本発明の実施の形態１の軟出力復号器においてのステートメトリックス演算手段の構成図である。
【図４】本発明の実施の形態１の軟出力復号器においての演算判定手段の構成図である。
【図５】本発明の実施の形態１の軟出力復号器においての終了判定手段の構成図である。
【図６】本発明の実施の形態２の軟出力復号器を設けたターボ復号装置のブロック構成図である。
【図７】本発明の実施の形態２の軟出力復号器のブロック構成図である。
【図８】本発明の実施の形態２の軟出力復号器においての次段演算判定手段の構成図である。
【図９】本発明の実施の形態３の軟出力復号器を設けたターボ復号装置のブロック構成図である。
【図１０】本発明の実施の形態３の軟出力復号器のブロック構成図である。
【図１１】本発明の実施の形態４の軟出力復号器のブロック構成図である。
【図１２】本発明の実施の形態４の軟出力復号器においてのステートメトリックス演算手段の構成図である。
【図１３】本発明の実施の形態５の軟出力復号器のブロック構成図である。
【図１４】本発明の実施の形態５の軟出力復号器においてのステートメトリックス演算手段の構成図である。
【図１５】本発明の実施の形態６の軟出力復号器のブロック構成図である。
【図１６】本発明の実施の形態６の軟出力復号器においての次段演算判定手段の構成図である。
【図１７】本発明の実施の形態７の軟出力復号器のブロック構成図である。
【図１８】本発明の実施の形態８の軟出力復号器のブロック構成図である。
【図１９】ターボ符号通信システムの構成図およびそれを構成するターボ符号装置の構成図である。
【図２０】ターボ符号装置においての再帰的組織畳込み符号化器の構成である。
【図２１】従来のターボ復号装置のブロック構成図である。
【図２２】ターボ符号通信システムにおいての送受信データ列のデータ配列を説明する図である。
【図２３】軟出力復号器においての演算アルゴリズムを説明するフローチャートである。
【図２４】従来の軟出力復号器のブロック構成図である。
【符号の説明】
１，２，３，４、５，６，７，８  軟出力復号器、  １ａ，２ａ，３ａ  第１の軟出力復号器、  １ｂ，２ｂ，３ｂ  第２の軟出力復号器、  １０ａ  第１の演算群、  １０ｂ  第２の演算群、  １０ｃ  第３の演算群、  １１，１１Ｂ，１１Ｃ，１１Ｇ  ブランチメトリックス演算手段、  １２  情報尤度値ＲＡＭ、１３  ブランチメトリックス値ＲＡＭ、  １４  演算判定手段、  １５  演算判定フラグＲＡＭ、  １６，１６Ｄ，１６Ｅ  ステートメトリックス演算手段、１６ｆ，１６Ｃｆ，１６Ｄｆ，１６Ｅｆ，１６Ｇｆ  順方向再帰ステートメトリックス演算手段、  １６ｒ，１６Ｃｆ，１６Ｄｒ，１６Ｅｒ，１６Ｇｒ  逆方向再帰ステートメトリックス演算手段、  １７ｆ  順方向再帰ステートメトリックス値ＲＡＭ、  １７ｒ  逆方向再帰ステートメトリックス値ＲＡＭ、  １８  軟判定演算手段、  １９，１９Ｃ，１９Ｇ  差分演算手段、  ２０  終了判定手段、  ２１，２１Ｆ，２１Ｇ  次段演算判定手段、  ２２  次段終了判定手段、２３  軟判定値ＲＡＭ、  ２４  次段演算判定フラグＲＡＭ、  ２５  ステートメトリックス演算器、  ２６  選択器、  ２７  レジスタ、  ２８ａ，２８ｂ，２８ｃ，２８ｄ  レジスタ、  ２９  最大値検出器、  ３０，３０Ｅ  ステートメトリックス生成器、  ３１ａ，３１ｂ，３１ｃ，３１ｄ  レジスタ、  ３２，３３  比較器、  ３５  比較器、  ３６  軟判定演算器、  ３７  絶対値演算器、  ３８  比較器、  ３９  軟判定演算器、  ４０  加算器、  ４１  論理積回路、  ４２  レジスタ、  ５１，５２  インターリーバ、  ５３，５４  デインターリーバ、  ５５  選択器、  ５６  硬判定器、  ９１ｆ  他方の軟出力復号器の順方向再帰ステートメトリックス値ＲＡＭ、  ９１ｒ  他方の軟出力復号器の逆方向再帰ステートメトリックス値ＲＡＭ、  １００  ターボ符号装置、  １０１  再帰的畳込み符号器、  １０１ａ  第１の再帰的畳込み符号器、  １０１ａ  第２の再帰的畳込み符号器、  １１１，１１２，１１３  レジスタ、  １１４，１１５，１１６，１１７  排他的論理和回路、  ２００  変調器、  ３００  通信路、  ４００  復調器、  ５００  ターボ復号装置。
【図１】
0003549519.tif 000002
【図２】
0003549519.tif 000003
【図３】
0003549519.tif 000004
【図４】
0003549519.tif 000005
【図５】
0003549519.tif 000006
【図６】
0003549519.tif 000007
【図７】
0003549519.tif 000008
【図８】
0003549519.tif 000009
【図９】
0003549519.tif 000010
【図１０】
0003549519.tif 000011
【図１１】
0003549519.tif 000012
【図１２】
0003549519.tif 000013
【図１３】
0003549519.tif 000014
【図１４】
0003549519.tif 000015
【図１５】
0003549519.tif 000016
【図１６】
0003549519.tif 000017
【図１７】
0003549519.tif 000018
【図１８】
0003549519.tif 000019
【図１９】
0003549519.tif 000020
【図２０】
0003549519.tif 000021
【図２１】
0003549519.tif 000022
【図２２】
0003549519.tif 000023
【図２３】
0003549519.tif 000024
【図２４】
0003549519.tif 000025