(57)【特許請求の範囲】
【請求項１】
ｍを２のべき乗としたとき、
復調後のデータが格納される受信用デ−タ用メモリ部からｍシンボル単位で軟判定受信デ−タをそれぞれ読み出して復号処理を行うターボ復号器であって、
前記軟判定受信デ−タを複数シンボル単位で復号する２つの軟出力復号器と、
前記軟出力復号器から出力される外部情報をｍシンボル単位毎に同時に書き込むためのｍ個の分割メモリ、及びインターリーブまたはデインターリーブにより前記外部情報の並び順が変わることで、同時に書き込むまたは同時に読み出す前記外部情報の組み合わせに、偶数番目と奇数番目の外部情報の個数が等しくない組み合わせが発生したとき、ｍ／２個を越える偶数番目または奇数番目の外部情報を格納するために用いるｍ／２個の補助メモリを備えた２つの外部情報用メモリ部と、
を有し、
前記補助メモリに格納する外部情報の該当する前記分割メモリのアドレスに、前記補助メモリの引数アドレスが格納されるターボ復号器。
【請求項２】
ｍ＝２である請求項１記載のターボ復号器。
【請求項３】
送信対象のデータ列をターボ符号により符号化するターボ符号器、及び前記ターボ符号器から出力されたデータ列を変調する変調器を備えた送信装置と、
前記送信装置から伝送線路を介して受信したデータ列を復調する復調器、及び前記復調器で復調されたデータ列を復号する請求項１または２記載のターボ復号器を備えた受信装置と、
を有する通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はターボ符号により符号化されたデータ列を復号するためのターボ復号器及びそれを備えた通信システムに関する。
【背景技術】
【０００２】
C. Berruo等によって提案されたタ−ボ符号（特許文献１参照）は、シャノン限界に迫る誤り訂正能力をもつ符号として脚光をあび、第三世代の移動通信システムで採用されたＷ−ＣＤＭＡ方式やＣＤＭＡ−２０００方式でも用いられている。
【０００３】
ターボ復号に適用される軟出力復号アルゴリズムとしては、周知の最大事後確率復号（以下、Maximum A posterior Probability：ＭＡＰと称す）法が現在のところ最良であると言われている。しかしながら、ＭＡＰ法をそのまま適用した装置は、その回路規模や処理量が格段に大きくなってしまう。そのため、一般には、ある時点を通る最尤パスとして、その時点のシンボルを“１”と考えたときに最大となるパスの尤度、及び“０”と考えたときに最大となるパスの尤度のみを選択することでＭＡＰ法の処理を簡略化したＭａｘ−ｌｏｇ−ＭＡＰアルゴリズムが用いられる。
【０００４】
Ｍａｘ−ｌｏｇ−ＭＡＰアルゴリズムでは、まず受信デ−タ列のシンボル毎の信頼度情報（外部情報）を導出する。次に、得られた外部情報を使って再度Ｍａｘ−ｌｏｇ−ＭＡＰアルゴリズムを実行し、直前に導出した外部情報を更新する。この復号処理を複数回繰り返すことで誤り訂正能力を高めていく。復号デ−タは、最終的に得られた各シンボルの外部情報を硬判定することで導出できる。
【０００５】
図４はタ−ボ符号を用いる通信システムの一構成例を示すブロック図である。
【０００６】
図４に示すように、ターボ符号を用いる通信システムでは、送信装置１に、ターボ符号器２０及び変調器２１を備え、受信装置２に、復調器２３、受信データ用メモリ部４及びターボ復号器５を備え、送信装置１と受信装置２とが伝送路２２を介して接続される構成である。
【０００７】
ターボ符号器２０は、送信対象となるデータ列ＩＮＦを符号化し、データ列ＩＮＦ＿Ｔ、Ｐａｒｉｔｙ１＿Ｔ及びＰａｒｉｔｙ２＿Ｔをそれぞれ出力する。タ−ボ符号器２０から出力されたデータ列ＩＮＦ＿Ｔ、Ｐａｒｉｔｙ１＿Ｔ及びＰａｒｉｔｙ２＿Ｔは、変調器２１によって変調され、伝送路２２を介して送信される。伝送路２２を介して送信された信号は受信装置２の復調器２３へ入力される。復調器２３は伝送路２２で加わった雑音を含む信号からＩＮＦ＿Ｒ、Ｐａｒｉｔｙ１＿Ｒ及びＰａｒｉｔｙ２＿Ｒの軟判定受信デ−タ列を復調し、復調した軟判定受信デ−タ列を受信デ−タ用メモリ部１０４へ格納する。
【０００８】
ターボ復号器５は、受信デ−タ用メモリ部１０４から軟判定受信デ−タ列ＩＮＦ＿Ｒ、Ｐａｒｉｔｙ１＿Ｒ及びＰａｒｉｔｙ２＿Ｒを読み出し、それらの軟判定受信デ−タ列を基に復号処理を行ってデータ列ＩＮＦ＿Ｄを再生する。
【０００９】
図５は図４に示したターボ符号器の一構成例を示すブロック図である。なお、図５は符号化系列を発生するＫ＝３のタ−ボ符号器の構成例を示している。
【００１０】
図５に示すように、タ−ボ符号器２０は、第１の要素符号器２０１０、第２の要素符号器２０１１、及びインターリーバ２０１２を有する構成である。
【００１１】
インターリーバ２０１２は、符号化対象となるデ−タ列ＩＮＦのビット列の並び替えを行う。
【００１２】
第１の要素符号器２０１０は、第１のレジスタ２００２、第２のレジスタ２００３、第１の排他的論理和回路２００６及び第２の排他的論理和回路２００７を有する構成である。
【００１３】
第２の要素符号器２０１１は、第１のレジスタ２００４、第２のレジスタ２００５、第１の排他的論理和回路２００８及び第２の排他的論理和回路２００９を有する構成である。
【００１４】
第１の要素符号器２０１０及び第２の要素符号器２０１１は、入力ビットと該入力ビットを論理演算することで得られるパリティビットとを入力ビット毎にそれぞれ出力する。但し、第２の要素符号器２０１１では入力ビットを出力しない。
【００１５】
第１の要素符号器２０１０に入力されたデータ列ＩＮＦは、第１の排他的論理和回路２００６によってビット毎に第１のレジスタ２００２の出力値と第２のレジスタ２００３の出力値との排他的論理和が演算され、その演算結果が第１のレジスタ２００２に格納される。また、第２のレジスタ２００３の出力値と第１の排他的論理和回路２００６の出力値とが第２の排他的論理和回路２００７に入力され、その演算結果がパリティビットとして出力される。第２の要素符号器２０１１も第１の要素符号器２０１０と同様の論理演算を実行するため、ここではその説明を省略する。
【００１６】
図６は図５に示したターボ符号器による符号化前のデ−タ列と符号化後のデ−タ列を示す模式図である。
【００１７】
図６に示すように、送信対象となるデ−タ列ＩＮＦは、ｎビットの情報系列（Ｉ１、Ｉ２、…、Ｉｎ）に対して図５に示した第１の要素符号器２０１０及び第２の要素符号器２０１１を状態００に終端させるために用いる４つのＴａｉｌビットＩｎ＋１、Ｉｎ＋２、Ｉｎ＋３、Ｉｎ＋４が付加された構成である。Ｉｎ＋１、Ｉｎ＋２ビットは第１の要素符号器２０１０を状態００に終端させるために使用され、Ｉｎ＋３、Ｉｎ＋４ビットは第２の要素符号器２０１１を状態００に終端させるために使用される。
【００１８】
デ−タ列ＩＮＦがタ−ボ符号器２０へ入力されると、最初に第１の要素符号器２０１０で符号化され、データ系列ＩＮＦ＿Ｔ及びＰａｒｉｔｙ１＿Ｔがそれぞれ出力される。また、データ系列ＩＮＦは、インターリーバ２０１２によってビット列が並び替えられ、第２の要素符号器２０１１へ供給される。第２の要素符号器２０１１はインターリーバ２０１２から出力されたデータ列を符号化し、データ系列Ｐａｒｉｔｙ２＿Ｔを出力する。結果として、タ−ボ符号器２０からはデータ系列ＩＮＦ＿Ｔ、Ｐａｒｉｔｙ１＿Ｔ及びＰａｒｉｔｙ２＿Ｔがそれぞれ出力される。なお、第１の要素符号器２０１０、第２の要素符号器２０１１の符号化開始前の初期状態は状態００である。
【００１９】
図７は図５に示したターボ符号器のα演算処理を示すトレリス遷移図である。
【００２０】
図７は入力ビットに対する第１の要素符号器２０１０が備える第１のレジスタ２００２及び第２のレジスタ２００３、並びに第２の要素符号器２０１１が備える第１のレジスタ２００４及び第２のレジスタ２００５の格納ビットと符号器出力ビットを表現したα演算用トレリス遷移図である。
【００２１】
図７に示す丸内の数字のうち、左側が第１のレジスタ２００２（または第１のレジスタ２００４）の格納ビット、右側が第２のレジスタ２００３（または第２のレジスタ２００５）の格納ビットを示している。以下、丸内の数字を状態００、状態０１、状態１０、状態１１と呼ぶことにする。また、図７の丸どうしを結ぶ線は、実線が入力ビット“０”を表し、点線が“１”を表している。さらに、丸どうしを結ぶ線の近傍に配置した２つの数字は、第１の要素符号器の２０１０（または第２の要素符号器２０１１）の出力ビットを表し、左側は第１の要素符号器の２０１０の入力がそのまま出力されたビットを表し、左側はパリティビットを表している。例えば、第１の要素符号器の２０１０が状態１１にあるとき、第１の要素符号器の２０１０に“１”が入力されると、状態１１から状態１１へ遷移し、出力ビットが“１０”となることが、このα演算用トレリス遷移図から容易に読み取ることができる。図７に示すα演算用トレリス遷移図は、タ−ボ符号化前のデ−タ列を順次入力した場合のタ−ボ符号器の状態遷移及び出力値をそれぞれ表している。すなわち、タ−ボ符号化前のデ−タ列の始点から終点までの状態遷移及び出力値を示している。
【００２２】
図８は図５に示したターボ符号器のβ演算処理を示すトレリス遷移図である。
【００２３】
図８に示すβ演算用トレリス遷移図は、タ−ボ符号化前のデ−タ列の終点から始点までの状態遷移及び出力値をそれぞれ表している。
【００２４】
図９は、図５に示したターボ符号器による処理結果を示す、ｔ＝ｋ、ｔ＝ｋ＋１時刻のシンボル選択時に尤度が最大となるパスを示すトレリス線図である。図９では、ｔ＝ｋ時点でシンボル“０”、ｋ＋１時点でシンボル“０”を通るパス中で、最も尤度が高いパス（太線）を示している。同様に、ｔ＝ｋ時点でシンボル“０”、ｋ＋１時点でシンボル“１”を通るパス、t＝ｋ時点でシンボル"１"、ｋ＋１時点でシンボル"０"を通るパス、ｔ＝ｋ時点でシンボル"１"、ｔ＋１時点でシンボル"１"を通るパスの中で最も尤度が高いパス（太線）を示している。
【００２５】
図１０は従来のターボ復号器の構成を示すブロック図である。
【００２６】
図１０に示すように、従来のターボ復号器１０５は、第１の軟出力復号器１０５１、第２の軟出力復号器１０５３、第１のインターリーバ処理部１０５２、第２のインターリーバ処理部１０５８、デインターリーバ処理部１０５４、第１の外部情報用メモリ部１０５５、第２の外部情報用メモリ部１０５６及び硬判定処理部１０５７を有する構成である。
【００２７】
図１０に示すターボ復号器１０５は、受信用デ−タ用メモリ部４から軟判定受信デ−タＬ１＿ｕ（Ｔ）、Ｌ１＿ｐ（Ｔ）及びＬ２＿ｐ（ｔ）をそれぞれ読み出して復号処理を行う。Ｌ１＿ｕ（Ｔ）は時点ｔにおけるＩＮＦ＿Ｒに対応する軟判定受信デ−タであり、Ｌ１＿ｐ（ｔ）は時点ｔにおけるＰａｒｉｔｙ１＿Ｒに対応する軟判定受信デ−タである。また、Ｌ２＿ｐ（ｔ）は、時点ｔにおけるＰａｒｉｔｙ２＿Ｒに対応する軟判定受信デ−タであり、第２のインターリーバ処理部１０５８によるインターリーブ処理後に対応する軟判定受信デ−タとなるように読み出される。
【００２８】
第１の軟出力復号器１０５１は、受信デ−タ用メモリ部４から読み出した時点ｔにおける軟判定受信データＬ１＿ｕ（ｔ）及びＬ１＿ｐ（ｔ）（ｔ＝１、…、ｎ＋４）と、第１の外部情報用メモリ部１０５５から読み出した外部情報Ｌ１Ｅ＿ｕ（ｔ）とを用いて復号処理を行い、その結果を外部情報Ｌ１ＥＥ＿ｕ（ｔ）として出力する。なお、第１の外部情報用メモリ部１０５５の初期値は全て"０"である。
【００２９】
第１のインターリーバ処理部１０５２は、第１の軟出力復号器１０５１で導出された外部情報Ｌ１ＥＥ＿ｕ（ｔ）のビット列を並び替え、その結果を外部情報Ｌ２Ｅ＿ｕ（ｊ）として第２の外部情報用メモリ部１０５６へ格納する。
【００３０】
第２のインターリーバ処理部１０５８は、受信データ用メモリ部４から読み出した軟判定受信データＬ１＿ｕ（ｔ）のビット列を並び替え、情報信号Ｌ２＿ｕ（ｔ）として出力する。
【００３１】
第１の軟出力復号器１０５１で全てのシンボルの外部情報Ｌ１ＥＥ＿ｕ（ｔ）が導出されると、次に第２の軟出力復号器１０５２が復号処理を開始する。
【００３２】
第２の軟出力復号器１０５３は、第１の軟出力復号器１０５１と同様に、第２のインターリーバ処理部１０５８から出力される、時点ｔにおける情報信号Ｌ２＿ｕ（ｔ）（ｔ＝１、…、ｎ＋４）と、第２の外部情報用メモリ部１０５６から読み出した外部情報Ｌ２Ｅ＿ｕ（ｔ）と、受信データ用メモリ部４から読み出した情報信号Ｌ２＿ｐ（ｔ）とを用いて復号を行い、その結果を外部情報Ｌ２ＥＥ＿ｕ（ｔ）として出力する。
【００３３】
デインターリーバ処理部１０５４は、第２の軟出力復号器１０５３で導出された外部情報Ｌ２ＥＥ＿ｕ（ｔ）のビット列の並び順を元に戻し、その結果を外部情報Ｌ１Ｅ＿ｕ（ｊ）として第１の外部情報用メモリ部１０５５へ格納する。ここまでの処理で１回目の復号処理が完了したことになる。以上説明した復号処理を複数回繰り返した後、第１の外部情報用メモリ部１０５５から順次読み出された外部情報Ｌ１Ｅ＿ｕ（ｔ）を硬判定処理部１０５７で硬判定することで再生デ−タ列ＩＮＦ＿Ｄを得ることができる。
【００３４】
次に、図１０に示した第１の軟出力復号器１０５１及び第２の軟出力復号器１０５３の動作について説明する。
【００３５】
図１１は図１０に示したタ−ボ復号器が備える軟出力復号器の構成を示すブロック図である。
【００３６】
図１１に示すように、第１の軟出力復号器１０５１及び第２の軟出力復号器１０５３は、Γ演算器１３０、外部情報演算器１３２、α演算器１３１、β演算器１３３及びβ累積メトリックメモリ１３４を備えている。なお、図１１に示す構成が第１の軟出力復号器１０５１の場合は、図中の“＊”を“１”とし、第２の軟出力復号器１０５３の場合は、図中の“＊”を“２”とすればよい。
【００３７】
以下では、第１の軟出力復号器１０５１を例に軟出力復号器の動作を説明する。第２の軟出力復号器１０５３も第１の軟出力復号器１０５１と同様の処理を実行するため、ここではその説明を省略する。
【００３８】
なお、時点ｋ−１までの累積メトリックα００＿ｋ−１、α０１＿ｋ−１、α１０＿ｋ−１、α１１＿ｋ−１、及び時点ｎから時点ｋまでの累積メトリックβ００＿ｋ、β０１＿ｋ、β１０＿ｋ、β１１＿ｋは既に導出され、第１の外部情報用メモリ部１０５５には外部情報Ｌ１Ｅ＿ｕ(ｋ)が既に格納されているものとする。
【００３９】
まず、第１の軟出力復号器１０５１は、Γ演算器１３０により受信デ−タ用メモリ部４から読み出したＬ１＿ｕ（ｋ）及びＬ１＿ｐ（ｋ）と、第１の外部情報用メモリ部１０５５から読み出したＬ１Ｅ＿ｕ（ｋ）を用いて、時点ｋにおける枝メトリックΓ００＿ｋ、Γ０１＿ｋ、Γ１０＿ｋ、Γ１１＿ｋをそれぞれ求める。
【００４０】
具体的には、受信デ−タＬ１＿ｕ（ｋ）、Ｌ１＿ｐ（ｋ）が、図７に示したα演算用トレリス遷移図の遷移間での各出力値であると仮定したときの確からしさを数値化したものと、各遷移間の入力ビットと仮定したときの外部情報Ｌ１Ｅ＿ｕ（ｋ）との確からしさを加算したものとなる。例えば、出力値が"００"（このときの入力ビットは"０"）の時点ｋはΓ００#ｋと表している。α演算器１３１は、
α００＿００＿ｋ＝α００＿ｋ−１＋Γ００＿ｋ
α００＿１１＿ｋ＝α００＿ｋ−１＋Γ１１＿ｋ
α０１＿１０＿ｋ＝α０１＿ｋ−１＋Γ１０＿ｋ
α０１＿０１＿ｋ＝α０１＿ｋ−１＋Γ０１＿ｋ
α１０＿１１＿ｋ＝α１０＿ｋ−１＋Γ１１＿ｋ
α１０＿００＿ｋ＝α１０＿ｋ−１＋Γ００＿ｋ
α１１＿０１＿ｋ＝α１１＿ｋ−１＋Γ０１＿ｋ
α１１＿１０＿ｋ＝α１１＿ｋ−１＋Γ１０＿ｋ
を導出し、外部情報演算器１３２に出力するとともに、次のｋ＋１時点におけるα演算のために、
α００＿ｋ←Ｍａｘ｛α００＿ｋ−１＋Γ００＿ｋ、α００＿ｋ−１＋Γ１１＿ｋ｝
α０１＿ｋ←Ｍａｘ｛α０１＿ｋ−１＋Γ１０＿ｋ、α０１＿ｋ−１＋Γ０１＿ｋ｝
α１０＿ｋ←Ｍａｘ｛α１０＿ｋ−１＋Γ１１＿ｋ、α１０＿ｋ−１＋Γ００＿ｋ｝
α１１＿ｋ←Ｍａｘ｛α１１＿ｋ−１＋Γ０１＿ｋ、α１１＿ｋ−１＋Γ１０＿ｋ｝
の演算を実行する。ここで、ａ←Ｍａｘ[ｂ、ｃ]は、ｂ、ｃのうち、尤度の高い方をａに格納することを示している。
【００４１】
β演算器１３３は、事前にα演算と同様な処理によりｎ時点から第１時点までのβ演算を実行し、全時点におけるβ００＿ｔ、β０１＿ｔ、β１０＿ｔ、β１１＿ｔをβ累積メトリックメモリ１３４へ格納しておく。
【００４２】
外部情報演算器１３２は、β累積メトリックメモリ１３４から所望のβ００＿ｋ、β０１＿ｋ、β１０＿ｋ、β１１＿ｋを読み出し、α演算器１３１の演算結果を用いて、以下に示す演算を実行する。
１．ｋ時点においてシンボル“０”を通るパスの中から尤度が最も高い始点から終点までの累積メトリックを導出する。
【００４３】
Ｌ１＿０＿ｋ←Ｍａｘ｛α００＿００＿ｋ＋β００＿ｋ、α０１＿０１＿ｋ＋β１１＿ｋ、α１０＿００＿ｋ＋β０１＿ｋ、α１１＿０１＿ｔ＋β１０＿ｋ｝
２．ｋ時点においてシンボル“１”を通るパスの中から尤度が最も高い始点から終点までの累積メトリックを導出する。
【００４４】
Ｌ１＿１＿ｋ←Ｍａｘ｛α００＿１１＿ｋ＋β０１＿ｋ、α０１＿１０＿ｋ＋β１０＿ｋ、α１０＿１１＿ｋ＋β１１＿ｋ、α１１＿１０＿ｔ＋β１１＿ｋ｝
３．外部情報Ｌ１ＥＥ＿ｕ(ｋ)を求める。
【００４５】
Ｌ１ＥＥ＿ｕ(ｋ)＝（Ｌ１＿０#ｋ−Ｌ１＿１＿ｋ）−Ｌ１＿ｕ(ｋ)−Ｌ１Ｅ＿ｕ(ｋ)
導出したＬ１ＥＥ＿ｕ(ｋ)は、第１のインターリーバ処理部１０５２によって処理され、その結果であるＬ２Ｅ＿ｕ(ｊ)（ｊ＝１、…、ｎ）が第２の外部情報用メモリ部１０５６に格納される。
【００４６】
上述したように、ターボ復号器では、Ｍａｘ−ｌｏｇ−ＭＡＰアルゴリズムの処理を繰り返し実行するため、復号処理に時間を要し、高速なデ−タ伝送システムへ適用することに不向きであった。
【００４７】
そこで、ターボ復号を高速に処理するための手法が従来から検討され、例えば特許文献２には、軟出力復号器により外部情報Ｌ１ＥＥ＿ｕ(ｋ)及びＬ１ＥＥ＿ｕ(ｋ＋１)を同時に導出することで処理速度を向上させる技術が記載されている。
【００４８】
すなわち、特許文献２では、軟出力復号器が有するα演算器により、時点ｋにおけるα００＿００＿ｋ、α００＿１１＿ｋ、α０１＿１０＿ｋ、α０１＿０１＿ｋ、α１０＿１１＿ｋ、α１０＿００＿ｋ、α１１＿０１＿ｋ、α１１＿１０＿ｋを導出するだけでなく、時点ｋ＋１におけるα００＿００＿ｋ＋１、α００＿１１＿ｋ＋１、α０１＿１０＿ｋ＋１、α０１＿０１＿ｋ＋１、α１０＿１１＿ｋ＋１、α１０＿００＿ｋ＋１、α１１＿０１＿ｋ＋１、α１１＿１０＿ｋ＋１も同時に導出している。
【００４９】
そして、外部情報演算器は、β累積メトリックメモリ１３４から所望のβ００＿ｋ、β０１＿ｋ、β１０＿ｋ、β１１＿ｋと共に、β００＿ｋ＋１、β０１＿ｋ＋１、β１０＿ｋ＋１、β１１＿ｋ＋１も同時に読み出している。
【００５０】
さらに、外部情報演算器は、
Ｌ１＿０＿ｋ←Ｍａｘ｛α００＿００＿ｋ＋β００＿ｋ、α０１＿０１＿ｋ＋β１１＿ｋ、α１０＿００＿ｋ＋β０１＿ｋ、α１１＿０１＿ｔ＋β１０＿ｋ｝
Ｌ１＿１＿ｋ←Ｍａｘ｛α００＿１１＿ｋ＋β０１＿ｋ、α０１＿１０＿ｋ＋β１０＿ｋ、α１０＿１１＿ｋ＋β１１＿ｋ、α１１＿１０#ｋ＋β１１＿ｋ｝
の演算と共に、
Ｌ１＿０＿Ｋ＋１←Ｍａｘ｛α００＿００＿ｋ＋１＋β００＿ｋ＋１、α０１＿０１＿ｋ＋１＋β１１＿ｋ＋１、α１０＿００＿ｋ＋１＋β０１＿ｋ＋１、α１１＿０１＿ｋ＋１＋β１０＿ｋ＋１｝
Ｌ１＿１＿ｋ＋1←Ｍａｘ｛α００＿１１＿ｋ＋１＋β０１＿ｋ＋１、α０１＿１０＿ｋ＋１＋β１０＿ｋ＋１、α１０＿１１＿ｋ＋１＋β１１＿ｋ＋１、α１１＿１０＿ｋ＋１＋β１１＿ｋ＋１｝
の演算を同時に実行することで、最終的にＬ１ＥＥ＿ｕ(ｋ)及びＬ１ＥＥ＿ｕ(ｋ＋１)それぞれを導出している。
【００５１】
また、ターボ復号を高速に処理するための他の技術が特許文献３で提案されている。
【００５２】
特許文献３では、受信デ−タ用メモリ部４からＬ１＿ｕ（ｋ）及びＬ１＿ｐ（ｋ）と、Ｌ１＿ｕ（ｋ＋１）及びＬ１＿ｐ（ｋ＋１）とを同時に読み出し、２シンボル単位で復号することでターボ復号処理を高速に実行することが記載されている。
【特許文献１】米国特許第５４０６５７０号明細書
【特許文献２】米国特許出願公開２００４／００４４９４６号明細書
【特許文献３】特開２００４−２２２０３８号公報
【発明の開示】
【発明が解決しようとする課題】
【００５３】
しかしながら上記したような従来のターボ復号器のうち、特許文献２に記載されたターボ復号器では、軟出力復号器から出力される外部情報量が増大するため、外部情報用メモリとの伝送帯域の増加を抑制する目的で外部情報を圧縮してビット数を削減している。そのため、ビットエラーレートが悪化する問題がある。
【００５４】
一方、特許文献３に記載されたターボ復号器では、デインターリーブ処理によってＬ１Ｅ＿ｕ（ｋ）及びＬ１Ｅ＿ｕ（ｋ＋１）を同時に読み出すことができるように、Ｌ２ＥＥ＿ｕ（ｊ）及びＬ２ＥＥ＿ｕ（ｊ＋１）を外部情報用メモリ部へ同時に書き込むことが難しく、インターリーブ処理によってＬ２Ｅ＿ｕ（ｋ）及びＬ２Ｅ＿ｕ（ｋ＋１）を同時に読み出すことができるように、Ｌ１ＥＥ＿ｕ（ｊ）及びＬ１ＥＥ＿ｕ（ｊ＋１）を外部情報用メモリ部へ同時に書き込むことが難しいという問題がある。
【００５５】
そのため、外部情報用メモリ部に対する外部情報の書き込み処理及び読み出し処理が複雑になり、外部情報用メモリ部に対するアクセスに長い時間を要し、２シンボル単位で復号することによる処理の高速化の効果が低減してしまう。
【００５６】
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、複数シンボル毎に外部情報を導出する場合でも、ビットエラーレートが劣化することなく高速に復号できるターボ復号器及びそれを備えた通信システムを提供することを目的とする。
【課題を解決するための手段】
【００５７】
上記目的を達成するため本発明のターボ復号器は、ｍを２のべき乗としたとき、
復調後のデータが格納される受信用デ−タ用メモリ部からｍシンボル単位で軟判定受信デ−タをそれぞれ読み出して復号処理を行うターボ復号器であって、
前記軟判定受信デ−タを複数シンボル単位で復号する２つの軟出力復号器と、
前記軟出力復号器から出力される外部情報をｍシンボル単位毎に同時に書き込むためのｍ個の分割メモリ、及びインターリーブまたはデインターリーブにより前記外部情報の並び順が変わることで、同時に書き込むまたは同時に読み出す前記外部情報の組み合わせに、偶数番目と奇数番目の外部情報の個数が等しくない組み合わせが発生したとき、ｍ／２個を越える偶数番目または奇数番目の外部情報を格納するために用いるｍ／２個の補助メモリを備えた２つの外部情報用メモリ部と、
を有し、
前記補助メモリに格納する外部情報の該当する前記分割メモリのアドレスに、前記補助メモリの引数アドレスが格納される構成である。
【００５８】
一方、本発明の通信システムは、送信対象のデータ列をターボ符号により符号化するターボ符号器、及び前記ターボ符号器から出力されたデータ列を変調する変調器を備えた送信装置と、
前記送信装置から伝送線路を介して受信したデータ列を復調する復調器、及び前記復調器で復調されたデータ列を復号する上記ターボ復号器を備えた受信装置と、
を有する。
【００５９】
上記のように構成されたターボ復号器及び通信システムでは、ｍシンボル単位の外部情報を同時に格納するために、２つの外部情報用メモリ部にそれぞれｍ個の分割メモリを有し、さらにｍ／２個の補助メモリを有することで、軟出力復号器と外部情報用メモリ部間の伝送帯域が増加する。
【発明の効果】
【００６０】
本発明によれば、ｍシンボル単位の外部情報を同時に格納するために、２つの外部情報用メモリ部にそれぞれｍ個の分割メモリを有し、さらにｍ／２個の補助メモリを有することで、軟出力復号器と外部情報用メモリ部間の伝送帯域が増加するため、ｍシンボル毎に外部情報を導出するターボ復号器でも、ビットエラーレートが劣化することなく高速に復号できる。
【発明を実施するための最良の形態】
【００６１】
次に本発明について図面を参照して説明する。
【００６２】
図１は本発明のターボ復号器の一構成例を示すブロック図であり、図２は図１に示したタ−ボ復号器が備える外部情報用メモリ部の構成を示すブロック図である。
【００６３】
図１に示すように、本発明のターボ復号器５は、第１の軟出力復号器５１、第２の軟出力復号器５３、第１のインターリーバ処理部５２、第２のインターリーバ処理部５８、デインターリーバ処理部５４、第１の外部情報用メモリ部５５、第２の外部情報用メモリ部５６及び硬判定処理部５７を有する構成である。
【００６４】
本発明のターボ復号器５は、上記特許文献３と同様に、受信用デ−タ用メモリ部４から２シンボル単位で軟判定受信デ−タをそれぞれ読み出して復号処理を行う。すなわち、｛（Ｌ１＿ｕ（ｔ）、Ｌ１＿ｕ（ｔ＋１））、（Ｌ１＿ｐ（ｔ）、Ｌ１＿ｐ（ｔ＋１））｝、または｛（Ｌ２＿ｕ（ｔ）、Ｌ２＿ｕ（ｔ＋１））、（Ｌ２＿ｐ（ｔ）、Ｌ２＿ｐ（ｔ＋１））｝の組み合わせで軟判定受信デ−タを取得して復号処理を行う。
【００６５】
ここで、Ｌ１＿ｕ（ｔ）は時点ｔにおけるＩＮＦ＿Ｒに対応する軟判定受信デ−タであり、Ｌ１＿ｕ（ｔ＋１）は時点ｔ＋１におけるＩＮＦ＿Ｒに対応する軟判定受信デ−タである。Ｌ１＿ｐ（ｔ）は時点ｔにおけるＰａｒｉｔｙ１＿Ｒに対応する軟判定受信デ−タであり、Ｌ１＿ｐ（ｔ＋１）は時点ｔ＋１におけるＰａｒｉｔｙ１＿Ｒに対応する軟判定受信デ−タである。また、Ｌ２＿ｐ（ｔ）は時点ｔにおけるＰａｒｉｔｙ２＿Ｒに対応する軟判定受信デ−タであり、Ｌ２＿ｐ（ｔ＋１）は時点ｔ＋１におけるＰａｒｉｔｙ２＿Ｒに対応する軟判定受信デ−タである。Ｌ２＿ｐ（ｔ）及びＬ２＿ｐ（ｔ＋１）は、第２のインターリーバ処理部５８によるインターリーブ処理後に対応する軟判定受信デ−タとなるように受信データ用メモリ部４から読み出される。
【００６６】
第１の軟出力復号器５１は、受信デ−タ用メモリ部４から読み出した２シンボル分の軟判定データＬ１＿ｕ（ｔ）、Ｌ１＿ｕ（ｔ＋１）、Ｌ１＿ｐ（ｔ）及びＬ１＿ｐ（ｔ＋１）（ｔ＝１、…、ｎ＋４）と、第１の外部情報用メモリ部５５から読み出した外部情報Ｌ１Ｅ＿ｕ（ｔ）及びＬ１Ｅ＿ｕ（ｔ＋１）とを用いて復号を行い、その結果を外部情報Ｌ１ＥＥ＿ｕ（ｔ）及びＬ１ＥＥ＿ｕ（ｔ＋１）として出力する。なお、第１の外部情報用メモリ部５５の初期値は全て"０"である。
【００６７】
第１のインターリーバ処理部５２は、第１の軟出力復号器５１で導出された外部情報Ｌ１ＥＥ＿ｕ（ｔ）及びＬ１ＥＥ＿ｕ（ｔ＋１）のビット列を並び替え、その結果を外部情報Ｌ２Ｅ＿ｕ（ｊ）及びＬ２Ｅ＿ｕ（ｊ＋１）として第２の外部情報用メモリ部５６へ格納する。
【００６８】
第２のインターリーバ処理部５８は、受信データ用メモリ部４から読み出した軟判定受信データＬ１＿ｕ（ｔ）及びＬ１＿ｕ（ｔ＋１）のビット列を並び替え、情報信号Ｌ２＿ｕ（ｔ）及びＬ２＿ｕ（ｔ＋１）として出力する。
【００６９】
第１の軟出力復号器５１で全てのシンボルの外部情報Ｌ１ＥＥ＿ｕ（ｔ）及びＬ１ＥＥ＿ｕ（ｔ＋１）が導出されると、次に第２の軟出力復号器５３が復号処理を開始する。
【００７０】
第２の軟出力復号器５３は、２シンボル分の軟判定データＬ２＿ｕ（ｔ）、Ｌ２＿ｕ（ｔ＋１）、Ｌ１＿ｐ（ｔ）及びＬ１＿ｐ（ｔ＋１）（ｔ＝１、…、ｎ＋４）と、第２の外部情報用メモリ部５６から読み出した外部情報Ｌ２Ｅ＿ｕ（ｔ）、Ｌ２Ｅ＿ｕ（ｔ＋１）と、受信データ用メモリ部４から読み出した情報信号Ｌ２＿ｐ（ｔ）及びＬ２＿ｐ（ｔ＋１）とを用いて復号処理を実行し、その復号結果を外部情報Ｌ２ＥＥ＿ｕ（ｔ）及びＬ２ＥＥ＿ｕ（ｔ＋１）として出力する。
【００７１】
デインターリーバ処理部５４は、第２の軟出力復号器５３で導出された外部情報Ｌ２ＥＥ＿ｕ（ｔ）、Ｌ２ＥＥ＿ｕ（ｔ＋１）のビット列の並び順を元に戻し、その結果を外部情報Ｌ１Ｅ＿ｕ（ｊ）、Ｌ１Ｅ＿ｕ（ｊ＋１）として第１の外部情報用メモリ部５５へ格納する。ここまでの処理で１回目の復号処理が完了したことになる。以上説明した復号処理を複数回繰り返した後、第１の外部情報用メモリ部５５から順次読み出された外部情報Ｌ１Ｅ＿ｕ（ｔ）を硬判定処理部５７で硬判定することで再生デ−タ列ＩＮＦ＿Ｄが得られる。
【００７２】
ところで、本発明のターボ復号器５では、上述したように受信用デ−タ用メモリ部４から２シンボル単位で軟判定受信デ−タをそれぞれ読み出して復号処理を行うため、デインターリーブ処理によってＬ１Ｅ＿ｕ（ｋ）及びＬ１Ｅ＿ｕ（ｋ＋１）を同時に読み出すことができるように、Ｌ２ＥＥ＿ｕ（ｊ）及びＬ２ＥＥ＿ｕ（ｊ＋１）を外部情報用メモリ部へ同時に書き込むことが難しく、インターリーブ処理によってＬ２Ｅ＿ｕ（ｋ）及びＬ２Ｅ＿ｕ（ｋ＋１）を同時に読み出すことができるように、Ｌ１ＥＥ＿ｕ（ｊ）及びＬ１ＥＥ＿ｕ（ｊ＋１）を外部情報用メモリ部へ同時に書き込むことが難しいという問題がある。
【００７３】
そこで、本発明のターボ復号器では、第１の軟出力復号器５１及び第２の軟出力復号器５３から２シンボル単位で出力される外部情報をそれぞれ第１の外部情報用メモリ部５５及び第２の外部情報用メモリ部５６に同時に格納するために、第１の外部情報用メモリ部５５及び第２の外部情報用メモリ部５６にそれぞれｎ／２ワードのメモリ領域を持つ２つの分割メモリ５５１、５５２を備える。但し、インターリーバ及びデインターリーバ処理によりデータ列の並び順が変更されるため、第１の外部情報用メモリ部５５及び第２の外部情報用メモリ部５６にそれぞれ２つの分割メモリを備えるだけでは、２シンボル分の外部情報を同時に書き込み／読み込むことができない場合がある。そのため、本発明では、図２に示すように、第１の外部情報用メモリ部５５及び第２の外部情報用メモリ部５６に、ｎ／２ワードのメモリ領域をもつ補助メモリ５５３をさらに備える構成とする。なお、図２に示す構成が第１の外部情報用メモリ部５５の場合は、図中の"＊"を"１"とし、第２の外部情報用メモリ部５６の場合は、図中の"＊"を"２"とすればよい。
【００７４】
図２において、例えば、デインターリーブまたはインターリーブ処理後の偶数番目（２ｋ）の外部情報を分割メモリ５５１のアドレスｋ番地に格納し、奇数番目（２ｋ＋１）の外部情報を分割メモリ５５２のアドレスｋ番地に格納する例を考える。ここで、格納する２つの外部情報が（偶数番目、偶数番目）または（奇数番目、奇数番目）となった場合、分割メモリ５５１と分割メモリ５５２に同時に書き込むことはできない。このような場合、本発明では、デインターリーブまたはインターリーブ処理前の並び順に対して後順の外部情報を（偶数番目、偶数番目）または（奇数番目、奇数番目）の順に補助メモリ５５３のアドレスの０番地から順に格納し、残りの外部情報は分割メモリ５５１または分割メモリ５５２の該当するアドレスに格納する。
【００７５】
ここで、分割メモリ５５１と分割メモリ５５２のアドレスｋ番地から外部情報を同時に読み出すとき、（偶数番目、偶数番目）または（奇数番目、奇数番目）の組で外部情報を読み出す場合は、外部情報が書き込まれていない。
【００７６】
そこで、予めターボ復号を開始する前に、この外部情報が書き込まれていないアドレスに、本来書き込まれるべき外部情報が補助メモリ５５３のどのアドレスに書き込まれているかを示す情報を格納する。例えば、インターリーブ処理（ｎ＝１０）によって外部情報の並びが、
インターリーブ前→インターリーブ後
０→４
１→７
２→６
３→１
４→３
５→９
６→８
７→５
８→２
９→０
に変更された場合、４番目、５番目の外部情報がインターリーブによって３番目、９番目（（奇数番目、奇数番目）の組）へ移行し、８番目、９番目の外部情報がインターリーブ後に２番目、０番目（（偶数番目、偶数番目）の組）へ移行している。
【００７７】
この場合、インターリーブ前の５番目の外部情報は、補助メモリ５５３のアドレス０番地へ書き込まれているため、ターボ復号を開始する前に分割メモリ５５２のアドレス４番地（９＝２×４＋１）に"０"（補助メモリ５５３のアドレス０番地を指す）を書き込む。
【００７８】
また、インターリーブ前の９番目の外部情報は、補助メモリ５５３の１番地に書き込まれているため、ターボ復号を開始する前に分割メモリ５５１のアドレス０番地（０＝２×０）に"１"（補助メモリ５５３のアドレス１番地）を書き込む。さらに、分割メモリ５５１、分割メモリ５５２には、予め外部情報の書き込みを表すビットを付加しておき（書き込み「未」のときは"１"）、分割メモリ５５１のアドレス０番地、分割メモリ５５２のアドレス４番地に、このビットを"１"に設定する。
【００７９】
したがって、分割メモリ５５１と分割メモリ５５２のアドレス０番地から外部情報を同時に読み出す場合は、分割メモリ５５１のアドレス０番地には外部情報の書き込みを表すビットが“１”になっているため、分割メモリ５５１のアドレス０番地に格納されている値“１”を引数にして、補助メモリ５５３のアドレス１番地から外部情報を読み出し、インターリーブ後の０番地、１番地の外部情報を同時に読み出す。
【００８０】
次に、分割メモリ５５１及び分割メモリ５５２のアドレス１番地に格納された外部情報を読み出す場合は、外部情報書き込みを表すビットが“０”であるため、分割メモリ５５１と分割メモリ５５２からそのままインターリーブ後の２番目、３番目の外部情報を同時に読み出せばよい。
【００８１】
以上は、インターリーブ後の外部情報に関して、第１の外部情報用メモリ部５６の書き込み読み出しに関して説明したが、第２の外部情報用メモリ部５６についてもターボ復号開始前に同様な処理を行えばよい。
【００８２】
このように、本発明のターボ復号器では、２シンボル単位の外部情報を同時に格納するために第１外部情報用メモリ部５５及び第２の外部情報用メモリ部５６にそれぞれ２つの分割メモリ５５１、５５２を有し、さらに補助メモリ５５３を有することで、各軟出力復号器と外部情報用メモリ部間の伝送帯域が増加するため、本発明のように２シンボル毎に外部情報を導出するターボ復号器でも、ビットエラーレートが劣化することなく高速に復号できる。
【００８３】
次に、図１に示した第１の軟出力復号器５１及び第２の軟出力復号器５３の動作について説明する。
【００８４】
図３は図１に示したタ−ボ復号器が備える軟出力復号器の構成を示すブロック図である。
【００８５】
図３に示すように、第１の軟出力復号器５１及び第２の軟出力復号器５３は、Γ演算器３０、外部情報演算器３２、α演算器３１、β演算器３３及びβ累積メトリックメモリ３４をそれぞれ備えている。なお、図３に示す構成が第１の軟出力復号器５１の場合は、図中の“＊”を“１”とし、第２の軟出力復号器５３の場合は、図中の“＊”を“２”とすればよい。
【００８６】
以下では、第１の軟出力復号器５１を例にして軟出力復号器の動作を説明する。第２の軟出力復号器５３も第１の軟出力復号器５１と同様の処理を実行するため、ここではその説明を省略する。
【００８７】
なお、時点ｋ−１までの累積メトリックα００＿ｋ−１、α０１＿ｋ−１、α１０＿ｋ−１、α１１＿ｋ−１、時点ｎから時点ｋ＋１までの累積メトリックβ００＿ｋ＋１、β０１＿ｋ＋１、β１０＿ｋ＋１、β１１＿ｋ＋１、並びに時点ｎから時点ｋまでの累積メトリックβ００＿ｋ、β０１＿ｋ、β１０＿ｋ、β１１＿ｋは既に導出され、第１の外部情報用メモリ部５５には外部情報Ｌ１Ｅ＿ｕ(ｋ)及びＬ１Ｅ＿ｕ(ｋ＋１)が既に格納されているものとする。
【００８８】
まず、第１の軟出力復号器５１は、Γ演算器３０により、受信デ−タ用メモリ部４から読み出したＬ１＿ｕ（ｋ）、Ｌ１＿ｕ（ｋ＋１）、Ｌ１＿ｐ（ｋ）、Ｌ１＿ｐ（ｋ＋１）と第１の外部情報用メモリ部５５から読み出したＬ１Ｅ＿ｕ（ｋ）、Ｌ１Ｅ＿ｕ（ｋ＋１）とを用いて、時点ｋ及び時点ｋ＋１における枝メトリックΓ００＿ｋ、Γ０１＿ｋ、Γ１０＿ｋ、Γ１１＿ｋとΓ００＿ｋ＋１、Γ０１＿ｋ＋１、Γ１０＿ｋ＋１、Γ１１＿ｋ＋１とをそれぞれ求める。
【００８９】
具体的には、受信デ−タＬ１＿ｕ（ｋ）、Ｌ１＿ｐ（ｋ）が、図７に示したα演算用トレリス遷移図の遷移間での各出力値であったと仮定したときの確からしさを数値化したものと、各遷移間の入力ビットと仮定したときの外部情報Ｌ１Ｅ＿ｕ（ｋ）との確からしさを加算したものとなる。
【００９０】
α演算器３１は、
α００＿００＿ｋ＝α００＿ｋ−１＋Γ００＿ｋ
α００＿１１＿ｋ＝α００＿ｋ−１＋Γ１１＿ｋ
α０１＿１０＿ｋ＝α０１＿ｋ−１＋Γ１０＿ｋ
α０１＿０１＿ｋ＝α０１＿ｋ−１＋Γ０１＿ｋ
α１０＿１１＿ｋ＝α１０＿ｋ−１＋Γ１１＿ｋ
α１０＿００＿ｋ＝α１０＿ｋ−１＋Γ００＿ｋ
α１１＿０１＿ｋ＝α１１＿ｋ−１＋Γ０１＿ｋ
α１１＿１０＿ｋ＝α１１＿ｋ−１＋Γ１０＿ｋ
を導出して外部情報演算器３２に出力すると共に、ｋ＋１時点におけるα演算のために、
α００＿ｋ←Ｍａｘ｛α００＿ｋ−１＋Γ００＿ｋ、α００＿ｋ−１＋Γ１１＿ｋ｝
α０１＿ｋ←Ｍａｘ｛α０１＿ｋ−１＋Γ１０＿ｋ、α０１＿ｋ−１＋Γ０１＿ｋ｝
α１０＿ｋ←Ｍａｘ｛α１０＿ｋ−１＋Γ１１＿ｋ、α１０＿ｋ−１＋Γ００＿ｋ｝
α１１＿ｋ←Ｍａｘ｛α１１＿ｋ−１＋Γ０１＿ｋ、α１１＿ｋ−１＋Γ１０＿ｋ｝
の演算を実行する。
【００９１】
また、
α００＿００＿ｋ＋１＝α００＿ｋ＋Γ００＿ｋ＋１
α００＿１１＿ｋ＋１＝α００＿ｋ＋Γ１１＿ｋ＋１
α０１＿１０＿ｋ＋１＝α０１＿ｋ＋Γ１０＿ｋ＋１
α０１＿０１＿ｋ＋１＝α０１＿ｋ＋Γ０１＿ｋ＋１
α１０＿１１＿ｋ＋１＝α１０＿ｋ＋Γ１１＿ｋ＋１
α１０＿００＿ｋ＋１＝α１０＿ｋ＋Γ００＿ｋ＋１
α１１＿０１＿ｋ＋１＝α１１＿ｋ＋Γ０１＿ｋ＋１
α１１＿１０＿ｋ＋１＝α１１＿ｋ＋Γ１０＿ｋ＋１
を導出して外部情報演算器３２に出力すると共に、ｋ＋２時点でのα演算のために、
α００＿ｋ＋１←Ｍａｘ｛α００＿ｋ＋Γ００＿ｋ＋１、α００＿ｋ＋Γ１１＿ｋ＋１｝
α０１＿ｋ＋１←Ｍａｘ｛α０１＿ｋ＋Γ１０＿ｋ＋１、α０１＿ｋ＋Γ０１＿ｋ＋１｝
α１０＿ｋ＋１←Ｍａｘ｛α１０＿ｋ＋Γ１１＿ｋ＋１、α１０＿ｋ＋Γ００＿ｋ＋１｝
α１１＿ｋ＋１←Ｍａｘ｛α１１＿ｋ＋Γ０１＿ｋ＋１、α１１＿ｋ＋Γ１０＿ｋ＋１｝
の演算を実行する。
【００９２】
β演算器３３は、事前にα演算と同様の処理によりｎ時点から１時点までのβ演算を実行し、全時点のβ００＿ｔ、β０１＿ｔ、β１０＿ｔ、β１１＿ｔ、β００＿ｔ＋１、β０１＿ｔ＋１、β１０＿ｔ＋１、β１１＿ｔ＋１をβ累積メトリックメモリ３４へ格納しておく。
【００９３】
外部情報演算器３２は、β累積メトリックメモリ３４から所望のβ００＿ｋ、β０１＿ｋ、β１０＿ｋ、β１１＿ｋと共に、β００＿ｋ＋１、β０１＿ｋ＋１、β１０＿ｋ＋１、β１１＿ｋ＋１を同時に読み出し、α演算器３１の演算結果を用いて、以下に示す演算を実行する。
【００９４】
１−１．ｋ時点においてシンボル"０"を通るパスの中から尤度が最も高い始点から終点までの累積メトリックを導出する。
【００９５】
Ｌ１＿０＿ｋ←Ｍａｘ｛α００＿００＿ｋ＋β００＿ｋ、α０１＿０１＿ｋ＋β１１＿ｋ、α１０＿００＿ｋ＋β０１＿ｋ、α１１＿０１＿ｔ＋β１０＿ｋ｝
２−１．ｋ時点においてシンボル"１"を通るパスの中から尤度が最も高い始点から終点までの累積メトリックを導出する。
【００９６】
Ｌ１＿１＿ｋ←Ｍａｘ｛α００＿１１＿ｋ＋β０１＿ｋ、α０１＿１０＿ｋ＋β１０＿ｋ、α１０＿１１＿ｋ＋β１１＿ｋ、α１１＿１０＿ｔ＋β１１＿ｋ｝
３−１．外部情報Ｌ１ＥＥ＿ｕ（ｋ）を求める。
【００９７】
Ｌ１ＥＥ＿ｕ（ｋ）＝（Ｌ１＿０＿ｋ−Ｌ１＿１＿ｋ）−Ｌ１＿ｕ（ｋ）−Ｌ１Ｅ＿ｕ（ｋ）
同様に、
１−２．ｋ＋１時点においてシンボル"０"を通るパスの中から尤度が最も高い始点から終点までの累積メトリックを導出する。
【００９８】
Ｌ１＿０＿ｋ＋１←Ｍａｘ｛α００＿００＿ｋ＋１＋β００＿ｋ＋１、α０１＿０１＿ｋ＋１＋β１１＿ｋ＋１、α１０＿００＿ｋ＋１＋β０１＿ｋ＋１、α１１＿０１＿ｋ＋１＋β１０＿ｋ＋１｝
２−２．ｋ＋１時点においてシンボル"１"を通るパスの中から尤度が最も高い始点から終点までの累積メトリックを導出する。
【００９９】
Ｌ１＿１＿ｋ＋１←Ｍａｘ｛α００＿１１＿ｋ＋１＋β０１＿ｋ＋１、α０１＿１０＿ｋ＋１＋β１０＿ｋ＋１、α１０＿１１＿ｋ＋１＋β１１＿ｋ＋１、α１１＿１０＿ｋ＋１＋β１１＿ｋ＋１｝
３−２．外部情報Ｌ１ＥＥ＿ｕ（ｋ＋１）を求める。
【０１００】
Ｌ１ＥＥ＿ｕ（ｋ＋１）＝（Ｌ２＿０＿ｋ＋１−Ｌ２＿１＿ｋ＋１）−Ｌ１＿ｕ（ｋ＋１）−Ｌ１Ｅ＿ｕ（ｋ＋１）
導出したＬ１ＥＥ＿ｕ(ｋ)及びＬ１ＥＥ＿ｕ（ｋ＋１）は、第１のインターリーバ処理部５２によって処理され、その結果であるＬ２Ｅ＿ｕ(ｊ)及びＬ２Ｅ＿ｕ（ｊ＋１）（ｊ＝１、…、ｎ）が第２の外部情報用メモリ部５６に格納される。
【０１０１】
なお、上記説明では、第１の外部情報用メモリ部５５及び第２の外部情報用メモリ部５６から外部情報を２シンボル毎に読み出す例を示したが、第１の外部情報用メモリ部５５及び第２の外部情報用メモリ部５６から外部情報をｍシンボル（ｍは２のべき乗）毎に読み出す構成も可能である。その場合、第１の外部情報用メモリ部５５及び第２の外部情報用メモリ部５６が備える分割メモリの数をｍ、分割メモリのサイズをｎ／ｍ、補助メモリの数をｍ／２、補助メモリのメモリサイズをｎ／ｍとすればよい。
【０１０２】
例えば、ｍ＝４の場合、第１の外部情報用メモリ部５５及び第２の外部情報用メモリ部５６にそれぞれ４つの分割メモリを備え、４つの分割メモリのうち、２つの分割メモリにインターリーブ（デインターリーブ）後の偶数番目の外部情報を格納し、残り２つの分割メモリにインターリーブ（デインターリーブ）後の奇数番目の外部情報を格納する。
【０１０３】
また、２つの補助メモリには、読み出す／書き込む外部情報が（偶数番目、偶数番目、偶数番目、偶数番目）、（奇数番目、偶数番目、偶数番目、偶数番目）、（奇数番目、奇数番目、奇数番目、偶数番目）、（奇数番目、奇数番目、奇数番目、奇数番目）の各組み合わせのいずれかになったときに、４つの分割メモリに同時に書き込むことができない外部情報を格納する。そして、上述したｍ＝２の場合と同様に、ターボ復号開始前に分割メモリに書き込むことができない外部情報の該当するアドレスに補助メモリの引数アドレスを格納する。
【０１０４】
このような構成にすると、各軟出力復号器と外部情報用メモリ部間の伝送帯域がより増加するため、ビットエラーレートが劣化することなくターボ復号処理をさらに高速に実行できる。
【図面の簡単な説明】
【０１０５】
【図１】本発明のターボ復号器の一構成例を示すブロック図である。
【図２】図１に示したタ−ボ復号器が備える外部情報用メモリ部の構成を示すブロック図である。
【図３】図１に示したタ−ボ復号器が備える軟出力復号器の構成を示すブロック図である。
【図４】タ−ボ符号を用いる通信システムの一構成例を示すブロック図である。
【図５】図４に示したターボ符号器の一構成例を示すブロック図である。
【図６】図５に示したターボ符号器による符号化前のデ−タ列と符号化後のデ−タ列を示す模式図である。
【図７】図５に示したターボ符号器のα演算処理を示すトレリス遷移図である。
【図８】図５に示したターボ符号器のβ演算処理を示すトレリス遷移図である。
【図９】図５に示したターボ符号器による処理結果を示す、ｔ＝ｋ、ｔ＝ｋ＋１時刻のシンボル選択時に尤度が最大となるパスを示すトレリス線図である。
【図１０】従来のターボ復号器の構成を示すブロック図である。
【図１１】図１０に示したタ−ボ復号器が備える軟出力復号器の構成を示すブロック図である。
【符号の説明】
【０１０６】
４    受信データ用メモリ部
５    ターボ復号器
３０    Γ演算器
３１    α演算器
３２    外部情報演算器
３３    β演算器
３４    β累積メトリックメモリ
５１    第１の軟出力復号器
５２    第１のインターリーバ処理部
５３    第２の軟出力復号器
５４    デインターリーバ処理部
５５    第１の外部情報用メモリ部
５６    第２の外部情報用メモリ部
５７    硬判定処理部
５８    第２のインターリーバ処理部
５５１、５５２    分割メモリ
５５３    補助メモリ
【図１】
0004692751.tif 000002
【図２】
0004692751.tif 000003
【図３】
0004692751.tif 000004
【図４】
0004692751.tif 000005
【図５】
0004692751.tif 000006
【図６】
0004692751.tif 000007
【図７】
0004692751.tif 000008
【図８】
0004692751.tif 000009
【図９】
0004692751.tif 000010
【図１０】
0004692751.tif 000011
【図１１】
0004692751.tif 000012