(57)【特許請求の範囲】
【請求項１】
第１の軟出力復号器と第２の軟出力復号器とを備え、第１の軟出力復号器の出力である第１信頼度情報をインターリーバを介して第２の軟出力復号器に入力し、第２の軟出力復号器の出力である第２信頼度情報をデインターリーバを介して第１の軟出力復号器に入力する処理を繰り返しｋ回（ｋは１以上の整数）行い、ｋ回目の繰り返し処理における第１信頼度情報又は第２信頼度情報のいずれかを硬判定し、該硬判定によって得られる硬判定データをＣＲＣ判定し、ＣＲＣ判定の結果が良となった硬判定データを復号データとして出力するターボ復号器において、
ｋ回目の繰り返し処理における第１信頼度情報の信頼度の低い時点の信頼度を記憶する第１低信頼度格納手段と、該第１低信頼度格納手段に記憶される当該信頼度の低い時点の位置情報を記憶する第１位置情報格納手段と、ｋ回目の繰り返し処理における第２信頼度情報の信頼度の低い時点の信頼度を記憶する第２低信頼度格納手段と、該第２低信頼度格納手段に記憶される当該信頼度の低い時点の位置情報を記憶する第２位置情報格納手段とを備え、
前記硬判定データのＣＲＣ判定結果が良でないときは、前記第１位置情報格納手段に記憶された位置情報と、前記第２位置情報格納手段に記憶された位置情報とが一致する時点に対応する硬判定データのビットの論理を反転操作し、該反転した硬判定データをＣＲＣ判定することを特徴とするターボ復号器。
【請求項２】
前記第１低信頼度格納手段及び前記第２低信頼度格納手段はそれぞれ、複数の前記信頼度の低い時点の信頼度を記憶し、前記第１位置情報格納手段及び前記第２位置情報格納手段はそれぞれ、記憶される複数の信頼度に対応する時点の位置情報を記憶することを特徴とする、請求項１に記載のターボ復号器。
【請求項３】
前記第１位置情報格納手段に記憶された位置情報と、前記第２位置情報格納手段に記憶された位置情報とが一致する時点が複数あるときは、ＣＲＣ判定が良となるまで、該一致する時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせを順次ＣＲＣ判定することを特徴とする、請求項２に記載のターボ復号器。
【請求項４】
前記第１位置情報格納手段に記憶された位置情報と、前記第２位置情報格納手段に記憶された位置情報とが一致する時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせを順次ＣＲＣ判定したときのＣＲＣ判定結果が良でないときには、前記第１低信頼度格納手段及び前記第２低信頼度格納手段に記憶されている信頼度情報の最も低い信頼度に対応する位置を第１位置情報格納手段又は第２位置情報格納手段より読み出し、該読み出した位置に対応する硬判定データのビットの論理を反転することを特徴とする、請求項３に記載のターボ復号器。
【請求項５】
前記第１低信頼度格納手段及び前記第２低信頼度格納手段に記憶されている信頼度情報の低いものから順に、ＣＲＣ判定が良となるまで、該記憶されている信頼度情報の低い時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせをＣＲＣ判定することを特徴とする、請求項４に記載のターボ復号器。
【請求項６】
第１の軟出力復号器と第２の軟出力復号器とを備え、第１の軟出力復号器の出力である第１信頼度情報をインターリーバを介して第２の軟出力復号器に入力し、第２の軟出力復号器の出力である第２信頼度情報をデインターリーバを介して第１の軟出力復号器に入力する処理を繰り返しｋ回（ｋは１以上の整数）行い、ｋ回目の繰り返し処理における第１信頼度情報又は第２信頼度情報のいずれかを硬判定し、該硬判定によって得られる硬判定データをＣＲＣ判定し、ＣＲＣ判定の結果が良となった硬判定データを復号データとして出力するターボ復号器において、
ｋ回目の繰り返し処理における第１信頼度情報の信頼度の低い時点の信頼度を記憶する第１低信頼度格納手段と、該第１低信頼度格納手段に記憶される当該信頼度の低い時点の位置情報を記憶する第１位置情報格納手段と、ｋ回目の繰り返し処理における第２信頼度情報の信頼度の低い時点の信頼度を記憶する第２低信頼度格納手段と、該第２低信頼度格納手段に記憶される当該信頼度の低い時点の位置情報を記憶する第２位置情報格納手段とを備え、
ＣＲＣ判定が良でないときには、前記第１低信頼度格納手段及び前記第２低信頼度格納手段に記憶されている信頼度情報の最も低い信頼度に対応する位置を第１位置情報格納手段又は第２位置情報格納手段より読み出し、該読み出した位置に対応する硬判定データのビットの論理を反転することを特徴とするターボ復号器。
【請求項７】
前記第１低信頼度格納手段及び前記第２低信頼度格納手段に記憶されている信頼度情報の低いものから順に、ＣＲＣ判定が良となるまで、該記憶されている信頼度情報の低い時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせをＣＲＣ判定することを特徴とする、請求項６に記載のターボ復号器。
【請求項８】
第１の軟出力復号器によって第１の信頼度情報を生成し、該第１の信頼度情報をインターリーバを介して第２の軟出力復号器に入力して第２の信頼度情報を生成し、該第２の信頼度情報をデインターリーバを介して前記第１の軟出力復号器に入力して第１の信頼度情報を生成するｋ回（ｋは１以上の整数）の繰返し処理によって、復号データを生成するターボ復号方法において、
ｋ回目の繰り返し処理により得られた前記第１又は第２信頼度情報を硬判定し、第１信頼度情報又は第２信頼度情報のいずれかを硬判定し、該硬判定によって得られた硬判定データをＣＲＣ判定し、
前記ＣＲＣ判定結果が良でないときには、ｋ回目の繰り返し処理における第１信頼度情報の信頼度の低い時点の信頼度の位置情報と、ｋ回目の繰り返し処理における第２信頼度情報の信頼度の低い時点の信頼度の位置情報とを比較し、
前記双方の位置情報が一致する時点に対応する硬判定データのビットの論理を反転操作し、該反転した硬判定データをＣＲＣ判定することを特徴とするターボ復号方法。
【請求項９】
前記双方の位置情報が一致する時点が複数あるときには、ＣＲＣ判定が良となるまで、該一致する時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせを順次ＣＲＣ判定することを特徴とする、請求項８に記載のターボ復号方法。
【請求項１０】
前記第１低信頼度情報及び前記第２低信頼度情報の双方で最も低い信頼度の時点に対応する硬判定データのビットの論理を反転することを特徴とする、請求項８又は９に記載のターボ復号方法。
【請求項１１】
前記第１低信頼度情報及び前記第２低信頼度情報の双方で信頼度情報の低いものから順に、ＣＲＣ判定が良となるまで、該低い信頼度情報の時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせをＣＲＣ判定することを特徴とする、請求項８〜１０の何れかに記載のターボ復号方法。
【請求項１２】
第１の軟出力復号器によって第１の信頼度情報を生成し、該第１の信頼度情報をインターリーバを介して第２の軟出力復号器に入力して第２の信頼度情報を生成し、該第２の信頼度情報をデインターリーバを介して前記第１の軟出力復号器に入力して第１の信頼度情報を生成するｋ回（ｋは１以上の整数）の繰返し処理によって、復号データを生成するターボ復号方法において、
ｋ回目の繰り返し処理により得られた前記第１又は第２信頼度情報を硬判定し、第１信頼度情報又は第２信頼度情報のいずれかを硬判定し、該硬判定によって得られた硬判定データをＣＲＣ判定し、
前記ＣＲＣ判定結果が良でないときには、前記第１低信頼度情報及び前記第２低信頼度情報の双方で最も低い信頼度の時点に対応する硬判定データのビットの論理を反転することを特徴とするターボ復号方法。
【請求項１３】
前記第１低信頼度情報及び前記第２低信頼度情報の双方で信頼度情報の低いものから順に、ＣＲＣ判定が良となるまで、該低い信頼度情報の時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせをＣＲＣ判定することを特徴とする、請求項１２に記載のターボ復号方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ターボ復号器及びターボ復号方法に関し、更に詳しくは復号データのビット誤り率を低減するターボ復号器及びターボ復号方法に関する。
【０００２】
【従来の技術】
近年、シャノンの限界に近づく復号方式としてターボ符号が脚光をあびており、次世代移動体通信の規格であるＷ−ＣＤＭＡ及びＣＤＭＡ−２０００にも採用されることが決定している。図５は、一般的なターボ符号の伝送系を示している。伝送系は、ターボ符号器２００、変調器２１０、伝送路２２０、復調器２３０、受信データ用メモリ２４０、ターボ復号器６００を有している。ターボ符号器２００及び変調器２１０は、送信側に配置され、変調器２３０、受信データ用メモリ２４０、及びターボ符号器６００は、受信側に配置される。
【０００３】
ターボ符号器２００は、たたみこみ符号器２０１、２０３、及び、インターリーバ２０２を有している。入力データＩＮＦは、１フレームがｎビットの情報データと、これに付加されたｋビットのＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）ビットとを含む、計ｂビット（ｂ＝ｎ＋ｋ）の２進データ（硬データ）からなるデータである。ターボ符号器２００は、入力データＩＮＦより、３つの硬データＩＮＦ＿Ｔ、Ｐａｒｉｔｙ１＿Ｔ、及びＰａｒｉｔｙ２＿Ｔを生成する。ＩＮＦ＿Ｔは、入力データＩＮＦと同じデータであり、Ｐａｒｉｔｙ１＿Ｔは、入力データＩＮＦをたたみこみ符号器２０１で符号化したデータである。Ｐａｒｉｔｙ２＿Ｔは、インターリーバ２０２で予め定められたアルゴリズムでビットの位置を並び替えた入力データＩＮＦを、更にたたみこみ符号器２０３で符号化したデータである。
【０００４】
ターボ符号器２００によって生成された３つのデータＩＮＦ、Ｐａｒｉｔｙ１＿Ｔ、Ｐａｒｉｔｙ２＿Ｔは、変調器２１０で変調され、伝送路２２０を伝播し、受信側である復調器２３０へ到達する。伝送路２２０では、雑音が付加されてしまうため、ビットエラーが生ずる。そこで、復調器２３０は、送信された３つのデータＩＮＦ、Ｐａｒｉｔｙ１＿Ｔ、Ｐａｒｉｔｙ２＿Ｔをすぐに硬データとして復調せずに、軟データである軟判定データＩＮＦ＿Ｒ、Ｐａｒｉｔｙ１＿Ｒ、Ｐａｒｉｔｙ２＿Ｒとして復調する。ここで、軟データとは、２進数でいうビット値を、アナログ的に多値データにしたデータである。つまり、硬データの‘０’か‘１’かのビット情報を、軟データでは、例えば‘０’〜‘７’の値をとるようにしたものである。
【０００５】
復調器２３０で軟判定された３つの軟判定データＩＮＦ＿Ｒ、Ｐａｒｉｔｙ１＿Ｒ、及びＰａｒｉｔｙ２＿Ｒは、順次受信データ用メモリ２４０に書き込まれる。１フレーム分の全てのデータが揃うと、ターボ復号器６００によって復号が開始され、復号データＩＮＦ＿Ｄが得られる。
【０００６】
図５は、従来のターボ復号器の構成を示している。ターボ復号器６００は、第１軟出力復号器６０１、第２軟出力復号器６０２、インターリーバ処理部６２０、６２１、デインターリーバ処理部６３０、６３１、硬判定処理部６０３、及び、ＣＲＣ判定器６０５を備える。ターボ復号器６００に適用される軟出力復号アルゴリズムとしては、最大事後確率復号法（Ｍａｘｉｍｕｍ  Ａ  ｐｏｓｔｅｒｉｏｒ  Ｐｒｏｂａｂｉｌｉｔｙ：以下、ＭＡＰと呼ぶ）を用いる方法が現在のところ最良であるといわれている。しかし、装置規模や処理量が格段に大きくなるため、実装に際してはその時点間のパスが‘１’か‘０’かを尤度計算の結果の最大値（ＭＡＸ）を選択することで簡略化したＭａｘ−ｌｏｇ−ＭＡＰアルゴリズムが、一般的に用いられている。
【０００７】
第１軟出力復号器６０１は、ＩＮＦ＿Ｒと、Ｐａｒｉｔｙ１＿Ｒと、デインターリーバ処理部６３１の出力である信頼度情報Ｍ１ｘとを入力し、インターリーバ処理部６２１に信頼度情報Ｍ１を出力する。ここで、デインターリーバ処理部６３１は、インターリーバ２０２とは逆のアルゴリズムで、データ系列を元の並び順に並び替える処理を行うものである。インターリーバ処理部６２１は、信頼度情報Ｍ１をインターリーバ２０２と同じアルゴリズムで並び替え、信頼度情報Ｍ２ｘとして第２軟出力復号器６０２へ出力する。
【０００８】
第２軟出力復号器６０２は、ＩＮＦ＿Ｒをインターリーバ処理部６２０で並び替えたＩＮＦ＿Ｒｘと、信頼度情報Ｍ２ｘと、Ｐａｒｉｔｙ２＿Ｒとを入力し、デインターリーバ処理部６３１及び硬判定処理部６０３に信頼度情報Ｍ２を出力する。ターボ復号器６００では、第１軟出力復号器及び第２軟出力復号器で得られる信頼度情報Ｍ１及びＭ２を更新しながら、所定の回数だけ一連の復号過程を繰り返す。
【０００９】
繰り返し処理が終了すると、硬判定処理部６０３は、信頼度情報Ｍ２を２値データに硬判定する。つまり、硬データの各ビットに対応する各時点間のアナログ的な値を、‘０’又は‘１’のいずれかに判定する。得られた硬データはデインターリーバ処理部６３０で並び替えを行い、ＣＲＣ判定器６０５に入力する。ＣＲＣ判定器６０５は、入力された硬データをＣＲＣ判定し、判定結果が良（ＯＫ）であれば、これを復号データＩＮＦ＿Ｄとして出力する。
【００１０】
【発明が解決しようとする課題】
上記の通り、ターボ復号器６００では、所定の回数だけ一連の復号過程を繰り返すことによって復号データＩＮＦ＿Ｄを得る。復号過程の繰り返しの回数の多少によって、入力データＩＮＦが正しく復号される確率が定まるので、繰り返しの回数は、伝送路２２０で付加される雑音の最大値を勘案して設定される。しかし、この場合には、伝送路２２０で付加される雑音が少ないときには、無駄に復号時間が長くなるという問題があった。
【００１１】
繰り返し操作を途中で停止させて、復号時間を短縮する方法が提案されている。この方法では、タ−ボ符号化前にデータ系列に付加されたＣＲＣビットを利用して、ＣＲＣ判定がＯＫとなったときに繰り返しを停止させる。これにより、データに付加される雑音の少ないときには、復号時間を短縮できる。しかし、ＣＲＣ判定がＯＫにならない限り、繰り返し処理は停止せず、そのまま復号エラ−になってしまうため、復号データＩＮＦ＿Ｄを得ることができなかった。
【００１２】
また、硬判定データの一部のビット値を反転させて、ＣＲＣ判定をする方法も知られている。この方法では、信頼度情報の低い時点の位置情報を記憶し、その時点に対応する硬判定データのビット（硬判定ビット）の値を反転させる。復号誤りが発生していると予想される硬判定ビットを反転させることで、ＣＲＣ判定の結果がＯＫとなる確率を高くすることができる。この方法では、復号誤りを起こしている硬判定ビットをすばやく特定することで、より復号時間を短縮することができる。しかし、復号誤りを起こしていると予想される硬判定ビットを、効率よく特定する方法は従来知られていなかった。
【００１３】
本発明は、ＣＲＣ判定の結果がＯＫとなる確率を高め、伝送路で付加される雑音が大きい場合であっても、少ない繰り返し回数でビット誤り率を低減させた復号データを得るターボ復号器及びターボ復号方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
上記目的を達成するために、本発明のターボ復号器は、第１の軟出力復号器と第２の軟出力復号器とを備え、第１の軟出力復号器の出力である第１信頼度情報をインターリーバを介して第２の軟出力復号器に入力し、第２の軟出力復号器の出力である第２信頼度情報をデインターリーバを介して第１の軟出力復号器に入力する処理を繰り返し行い、最後の繰り返し処理における第１信頼度情報又は第２信頼度情報のいずれかを硬判定し、該硬判定によって得られる硬判定データをＣＲＣ判定し、ＣＲＣ判定の結果が良となった硬判定データを復号データとして出力するターボ復号器において、最後の繰り返し処理における第１信頼度情報の、信頼度の低い時点の信頼度を記憶する第１低信頼度格納手段と、該第１低信頼度格納手段に記憶される当該信頼度の低い時点の位置情報を記憶する第１位置情報格納手段と、最後の繰り返し処理における第２信頼度情報の、信頼度の低い時点の信頼度を記憶する第２低信頼度格納手段と、該第２低信頼度格納手段に記憶される当該信頼度の低い時点の位置情報を記憶する第２位置情報格納手段とを備え、前記硬判定データのＣＲＣ判定結果が良でないときは、前記第１位置情報格納手段に記憶された位置情報と、前記第２位置情報格納手段に記憶された位置情報とが一致する時点に対応する硬判定データのビットの論理を反転操作することを特徴とする。
【００１５】
また、本発明のターボ復号方法は、第１の軟出力復号器によって第１の信頼度情報を生成し、該第１の信頼度情報をインターリーバを介して第２の軟出力復号器に入力して第２の信頼度情報を生成し、該第２の信頼度情報をデインターリーバを介して前記第１の軟出力復号器に入力して第１の信頼度情報を生成する繰返し処理によって、復号データを生成するターボ復号方法において、最後の繰り返し処理により得られた前記第１又は第２信頼度情報を硬判定し、第１信頼度情報又は第２信頼度情報のいずれかを硬判定し、該硬判定によって得られた硬判定データをＣＲＣ判定し、前記ＣＲＣ判定結果が良でないときには、最後の繰り返し処理における第１信頼度情報の信頼度の低い時点の信頼度の位置情報と、最後の繰り返し処理における第２信頼度情報の信頼度の低い時点の信頼度の位置情報とを比較し、前記双方の位置情報が一致する時点に対応する硬判定データのビットの論理を反転操作し、該反転した硬判定データをＣＲＣ判定することを特徴とする。
【００１６】
本発明のターボ復号器及びターボ復号方法では、第１信頼度情報及び第２信頼度情報の信頼度が、同じ時点で低いということは、その時点に対応する硬判定データのビットの論理値が誤っている確率が高いことを意味することから、そのビットの論理値（ビット値）を、０のものは１に、１のものは０に反転する。これにより、より高い確率で硬判定データを訂正することができる。つまり、ＣＲＣ判定の結果が良となる可能性が高くなり、短時間で復号データを得る確率が高くなる。
【００１７】
本発明のターボ復号器では、前記第１低信頼度格納手段及び前記第２低信頼度格納手段は、それぞれ複数の前記信頼度の低い時点の前記信頼度を記憶し、前記第１位置情報格納手段及び第２位置情報格納手段は、該記憶される複数の信頼度に対応する時点の位置情報を記憶することが好ましい。
第１信頼度情報と、第２信頼度情報とが、同じ時点で最小となる確率は高いが、時として、例えば同じ時点の信頼度情報が、第１信頼度情報では２番目に低い、第２信頼度情報では３番目に低いといった場合がある。複数の低い信頼度情報及びその位置情報を記憶することにより、硬判定データの訂正に際して高い確率によってビット反転が可能となる。
【００１８】
また、本発明のターボ復号器では、前記第１位置情報格納手段に記憶された位置情報と、前記第２位置情報格納手段に記憶された位置情報とが一致する時点が複数あるときは、ＣＲＣ判定が良となるまで、該一致する時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせをＣＲＣ判定することが好ましい。
一致する時点が複数あるときには、硬判定データの複数のビットで誤りが発生している可能性が高い。このため、一致する時点の全てに対応する硬判定データのビット値について、反転及び非反転のとり得る組み合わせについて順次ＣＲＣ判定する。ＣＲＣ判定が良となった時点でビット操作を終了し、復号データを出力する。複数のビットで誤りが発生している場合であっても、正しく訂正できる可能性が高くなる。
【００１９】
更に本発明のターボ復号器は、前記第１低信頼度格納手段及び前記第２低信頼度格納手段に記憶されている信頼度情報の一番低い信頼度に対応する位置を第１位置情報格納手段又は第２位置情報格納手段より読み出し、当該位置に対応する硬判定データのビットの論理を反転することを特徴とする。
第１信頼度情報と第２信頼度情報とを合わせた中で、一番信頼度情報の低い時点は、ビット誤りを起こしている可能性が高い。このため、その時点に対応するビットを反転する。これにより、硬判定データを正しく訂正できる確率が高くなる。
【００２０】
更に本発明のターボ復号器では、前記第１低信頼度格納手段及び前記第２低信頼度格納手段に記憶されている信頼度情報の低いものから順に、ＣＲＣ判定が良となるまで、該信頼度の低い時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせをＣＲＣ判定することが好ましい。
第１信頼度情報及び第２信頼度情報の低い信頼度情報の一致する時点や、双方の中で一番低い信頼度情報の時点のビット操作を行っても、ＣＲＣ判定が良とならないときには、第１低信頼度格納手段及び第２低信頼度格納手段に記憶されている全ての信頼度情報について、その信頼度の低いものから順に、ビットの操作を行っていく。ビット操作を行う対象を増やすことで、硬判定データを正しく訂正できる確率が高くなる。
【００２１】
本発明のターボ復号方法も、上記好ましいターボ復号器を利用することにより、これらのターボ復号器と同様な利点を得ることができる。
【００２２】
【発明の実施の形態】
以下、図面を参照し、本発明の実施形態例に基づいて、本発明を詳細に説明する。図１は、本発明の一実施形態例のタ−ボ復号器の構成を示している。ターボ復号器５００は、第１軟出力復号器５０１、第２軟出力復号器５０２、信頼度情報用メモリ５１１、５１２、インターリーバ処理部５２０、５２１、デインターリーバ処理部５３０、５３１、判定器５４１、５４２、低信頼度情報格納メモリ５５１、５５２、位置情報格納メモリ５６１、５６２、硬判定処理部５０３、硬判定メモリ５０４、及び、ＣＲＣ判定器５０５を有する。
【００２３】
ここで、ターボ復号器５００に至るターボ符号の伝送系は、図５に示す伝送系と同じである。インターリーバ処理部５２０、５２１は、図５のターボ符号器２００のインターリーバ２０２と同様なアルゴリズムでインターリーブ処理を行う。また、デインターリーバ処理部５３１、５３０は、インターリーバ２０２で並び替えられたデータ系列を、インターリーバ２０２とは逆のアルゴリズムで元のデータ系列に戻す処理を行う。
【００２４】
図２は、ターボ符号の１フレーム分のデータ系列を示し、（ａ）はタ−ボ符号化前の、（ｂ）はタ−ボ符号化後のデータ系列をそれぞれ示している。同図（ａ）に示した入力データＩＮＦを、図５のターボ符号器２００で符号化すると、３つのデータ系列ＩＮＦ＿Ｔ、Ｐａｒｉｔｙ１＿Ｔ、及び、Ｐａｒｉｔｙ２＿Ｔが生成される。入力データＩＮＦは、１フレームがｎビットの情報系列と、これに付加されたｋビットのＣＲＣビットとからなるデータ系列を有している。
【００２５】
ＩＮＦ＿Ｔの系列は、入力データＩＮＦのデータ系列と同一のデータ系列であり、Ｐａｒｉｔｙ１＿Ｔの系列は、入力データＩＮＦを図５のたたみこみ符号器２０１で符号化したデータ系列である。また、Ｐａｒｉｔｙ２＿Ｔの系列は、インターリーバ２０２によって所定のアルゴリズムで入力データＩＮＦのビット列の入れ替えを行い、入れ替わったビット列をたたみこみ符号器２０３で符号化したデータ系列である。ＩＮＦ、Ｐａｒｉｔｙ１＿Ｔ及びＰａｒｉｔｙ２＿Ｔのデータ系列は、１フレームがｂビット（ｂ＝ｎ＋ｋ）のデータ系列である。これらタ−ボ符号器２００の出力は、変調器２１０によって変調され、伝送路２２０を介して復調器２３０に入力される。復調器２３０は伝送路２２０で雑音が加わった信号を、ＩＮＦ＿Ｒ、Ｐａｒｉｔｙ１＿Ｒ、Ｐａｒｉｔｙ２＿Ｒの軟判定データ系列に復調し、受信データ用メモリ２４０に出力する。
【００２６】
図１において、ターボ復号器５００は、受信データ用メモリ２４０から軟判定データであるＩＮＦ＿Ｒ、Ｐａｒｉｔｙ１＿Ｒ、及び、Ｐａｒｉｔｙ２＿Ｒの１フレームを読み取って、復号を開始する。第１軟出力復号器５０１は、軟判定データＩＮＦ＿Ｒ、及び、Ｐａｒｉｔｙ１＿Ｒと、信頼度情報用メモリ５１１に記憶される信頼度情報Ｍ１ｘと、外部情報（図示せず）とを入力する。ここで、外部情報とは、各時点について事前に与えられる図５の伝送路２２０における信号対雑音比によって決定される値である。また、信頼度情報Ｍ１ｘの初期値は‘０’である。第１軟出力復号器５０１は、入力データを演算し、信頼度情報Ｍ１を出力する。出力された信頼度情報Ｍ１は、インターリーバ処理部５２１、判定器５４１、低信頼度情報格納メモリ５５１、及び、位置情報格納メモリ５６１にそれぞれ出力される。
【００２７】
インターリーバ処理部５２１は、信頼度情報Ｍ１のデータ系列の入れ替えを行い、信頼度情報Ｍ２ｘを生成し、信頼度情報用メモリ５１２に出力する。信頼度情報用メモリ５１２は、入力された信頼度情報Ｍ２ｘを記憶する。インターリーバ処理部５２０は、軟判定データＩＮＦ＿Ｒを入力し、データ系列を入れ替えたＩＮＦ＿Ｒｘを出力する。第２軟出力復号器５０２は、ＩＮＦ＿Ｒｘ及びＰａｒｉｔｙ２＿Ｒと、信頼度情報Ｍ２ｘと、外部情報（図示せず）とを入力する。ここで、外部情報とは、第１軟出力復号器５０１で使用する外部情報と同様の情報である。第２軟出力復号器５０２は、入力データを演算し、信頼度情報Ｍ２を出力する。出力された信頼度情報Ｍ２は、デインターリーバ処理部５３０、５３１、判定器５４２、低信頼度情報格納メモリ５５２、及び硬判定処理部５０３にそれぞれ出力される。
【００２８】
デインターリーバ処理部５３１は、信頼度情報Ｍ２のデータ系列を入れ替えて信頼度情報Ｍ１ｘを生成し、信頼度情報用メモリ５１１に出力する。信頼度情報用メモリ５１１は、入力された信頼度情報Ｍ１ｘを記憶する。記憶された信頼度情報Ｍ１ｘは、第１軟出力復号器５０１から読み出され、再び第１軟出力復号器５０１の復号作業が開始される。つまり、第１軟出力復号器５０１で生成された信頼度情報Ｍ１は、インターリーブ処理をされて第２軟出力復号器５０２に入力され、第２軟出力復号器５０２で生成された信頼度情報Ｍ２は、デインターリーブ処理されて第１軟出力復号器５０１に入力されるというループが形成される。第１軟出力復号器５０１と第２軟出力復号器５０２とによるループ処理は、設定された回数だけ反復して行われる。
【００２９】
ループ処理の、最後のループにおける信頼度情報Ｍ１及びＭ２は、判定器５４１、５４２で判定されて、低信頼度情報格納メモリ５５１、５５２に記憶される。信頼度情報Ｍ１については、判定器５４１が低信頼度情報格納メモリ５６１を参照し、データ系列のある時点の信頼度情報Ｍ１が、低信頼度格納メモリ５６１に記憶されている信頼度情報より低いかどうかを判定する。データ系列の最初の時点では、低信頼度格納メモリ５５１の内容は空である。比較対象の時点の信頼度情報Ｍ１のほうが、低信頼度格納メモリ５５１に記憶されている信頼度よりも低い場合には、その時点の信頼度情報Ｍ１を低信頼度情報格納メモリ５５１に記憶する。
【００３０】
低信頼度情報格納メモリ５５１には、ｄ個の信頼度情報Ｍ１を記憶することができる。また、ｄ個の信頼度情報Ｍ１は、信頼度の低い順に並べられて記憶される。新たに信頼度情報を記憶する際に、既にｄ個の信頼度情報が低信頼度情報格納メモリ５５１に記憶されている場合には、記憶されているｄ個の中で、一番高い信頼度情報の情報が削除され、それより低い信頼度の信頼度情報Ｍ１が替わりに記憶される。低信頼度情報格納メモリ５５１に、信頼度情報Ｍ１を記憶する際には、その信頼度情報がどの時点での信頼度であるかを対応付けて、位置情報格納メモリ５６１にその位置情報を記憶する。
【００３１】
信頼度情報Ｍ２についても同様に、判定器５４２で判定され、低信頼度格納メモリ５５２に信頼度情報がｄ個だけ低い順に並ぶように記憶される。また、低信頼度情報格納メモリ５５２に記憶する場合には、その時点の位置情報がデインターリーバ処理部５３０に出力され、デインターリーバ処理部５３０によって変換された位置情報が位置情報格納メモリ５６２に記憶される。このとき、低信頼度情報格納メモリ５５２の記憶順と連動して低い信頼度情報に対応した位置情報順に記憶する。
【００３２】
最後の繰り返しのときに第２軟出力復号器５０２の出力である各時点の信頼度情報Ｍ２は、硬判定処理部５０３において硬判定を行い、得られた硬判定データはデインターリーバ処理部５３０によってタ−ボ符号化前のデータ系列ＩＮＦに対応するデータ系列に並びかえられ、硬判定メモリ５０４に記憶される。位置情報格納メモリ５６１、信頼度情報格納メモリ５５１の出力と、硬判定メモリ５０４、位置情報格納メモリ５６２、信頼度情報格納メモリ５５２の出力とは、ＣＲＣ判定器５０５に入力される。
【００３３】
ＣＲＣ判定器５０５は、ループ処理が終了すると、まず硬判定メモリ５０４から硬判定データを読み出して、ＣＲＣ判定する。ＣＲＣ判定結果がＯＫであった場合には、硬判定データをそのままターボ復号データＩＮＦ＿Ｄとして出力する。最初のＣＲＣ判定が否（ＮＧ）であった場合は、ＣＲＣ判定器５０５は、再び硬判定メモリ５０４に記憶されている硬判定データを読み出し、次の手順に従い、硬判定データのビットを反転させる操作を行う。ビット操作のたびにＣＲＣ判定を行い、ＣＲＣ判定がＯＫとなったときはビット操作を終了し、ターボ復号データＩＮＦ＿Ｄを出力する。
【００３４】
まず、位置情報格納メモリ５６１及び位置情報格納メモリ５６２を参照し、同じ時点が存在するかどうかを調べる。存在する場合には、対応する時点の位置の硬判定ビットを反転させ、ＣＲＣ判定を行う。同じ時点が複数存在する場合には、硬判定ビットの反転及び非反転のとり得る組み合わせについて実行する。例えば、同じ時点がｐ個存在するときには、ＣＲＣ判定がＯＫとなるまで２ｐ通りの組み合わせのそれぞれについてＣＲＣ判定をする。
【００３５】
同じ時点が存在しない、或いは、上記操作によってもＣＲＣ判定がＯＫとならない場合には、低信頼度情報格納メモリ５５１及び低信頼度格納メモリ５５２に記憶されている２ｄ個の信頼度情報の中から、最も低い信頼度情報を検索する。その信頼度情報に対応した時点を、位置情報格納メモリ５６２又は５６１を参照して特定する。特定した時点に対応する硬判定データのビットを反転して、ＣＲＣ判定を行う。
【００３６】
ＣＲＣ判定がＮＧである場合には、低信頼度情報格納メモリ５５１及び低信頼度格納メモリ５５２から、次に低い信頼度情報を検索し、その信頼度情報に対応する時点を調べる。これまでに検索した全ての信頼度情報の低い時点に対応する硬判定データのビットについて、その反転又は非反転のとり得る組み合わせを全てＣＲＣ判定する。ＣＲＣ判定がＮＧならば、順次に低い信頼度情報を検索し、ビットの操作を行う。いずれかの段階でＣＲＣ判定がＯＫとなったところで、ビットの操作を終了し、そのときの硬判定データをタ−ボ復号デ−タＩＮＦ＿Ｄとして出力する。全ての信頼度情報についてビット操作を実行しても、ＣＲＣ判定がＯＫとならない場合は、硬判定メモリ５０４に記憶されている硬判定データを、そのままタ−ボ復号デ−タＩＮＦ＿Ｄとして出力する。
【００３７】
上記ターボ復号器の処理を、図３のフローチャートを参照し更に説明する。ターボ復号器は、復号処理を開始すると、第１軟出力復号器が入力データを演算して信頼度情報Ｍ１を得る（ステップＳ１）。信頼度情報Ｍ１をインターリーバ５２１で並び替えて、第２軟出力復号器に入力し、信頼度情報Ｍ２を得る（ステップＳ２）。得られた信頼度情報２は、デインターリーバ５３１で並び替えられ、第１軟出力復号器に入力される。ステップＳ１及びステップＳ２の処理を何回繰り返したかをカウントし、繰り返しが規定回数に達しないときにはステップＳ１へ戻り、規定回数になると、ステップＳ４に進む（ステップＳ３）。
【００３８】
繰返し処理が終了すると、信頼度情報Ｍ１及び信頼度情報Ｍ２の信頼度の低いものをｄ個だけ記憶する（ステップＳ４）。その際に、信頼度の低いものがどの時点の信頼度であるかを示す位置情報を、対応して記憶する。なお、信頼度情報Ｍ２の位置情報は、デインターリーバ６３０で並び替えられた際の位置情報である。次いで、信頼度情報Ｍ２を硬判定し、デインターリーバ５３０で並び替えられた硬判定データを硬判定メモリに記憶する（ステップＳ５）。ＣＲＣ判定器５０５は、硬判定データをＣＲＣ判定し、判定結果がＯＫであるか否かを得る（ステップＳ６）。判定結果がＯＫであれば、硬判定データを復号データとして出力する（ステップＳ８）。ＮＧであれば硬判定データのビットの反転処理へと進む（ステップＳ７）。
【００３９】
図４は、ステップＳ７のビット反転処理の詳細を示している。ステップＳ４で記憶した双方の位置情報を比較し、一致する位置情報があるか否かを調べる（ステップＳ７０１）。一致するものがないときには、ステップＳ７０６へ進む。一致するものがあるときには、一致する時点に対応する硬判定ビットを反転して（ステップＳ７０２）、ＣＲＣ判定する（ステップＳ７０３）。ＣＲＣ判定がＯＫであれば、ビット反転処理を終了して、図３のステップＳ８へ進む。ＯＫとならないときには、複数の一致する位置情報に関して、その位置情報に対応する時点の硬判定ビットの反転及び非反転の全ての組み合わせを実行したか否かを判断する（ステップＳ７０４）。全ての組み合わせが終了していない場合には、全ての組み合わせに付いてＣＲＣ判定をするために、ステップＳ７０２に戻る。はじめは、反転させるビットが１つなので、ステップＳ７０５へ進む。
【００４０】
再度、ステップＳ４で記憶した位置情報を比較し、他に一致する位置情報があるか否かを調べる（ステップＳ７０５）。他に一致するものがないときには、ステップＳ７０６に進む。他に一致するものがある場合には、ステップＳ７０２へ戻り、一致するもの全てについてステップＳ７０２〜ステップＳ７０５までの処理を繰り返し行う。
【００４１】
ステップＳ７０１及びステップＳ７０６の判定が否の場合には、信頼度情報Ｍ１及び信頼度情報Ｍ２の記憶された信頼度の低いもののうち、最も信頼度の低いものを選択する（ステップＳ７０６）。選択された位置に対応する硬判定ビットを反転して（ステップＳ７０８）、ＣＲＣ判定をする（ステップＳ７０９）。複数の選択された硬判定ビットに関し、その反転及び非反転の全ての組み合わせについて実行したか否かを判断する（ステップＳ７０９）。全ての組み合わせがすんでいない場合には、全ての組み合わせに付いてＣＲＣ判定するために、ステップＳ７０７に戻る。はじめは、選択された硬判定ビットは１つなのでステップＳ７１０へ進む。
【００４２】
これまでに選択された信頼度情報Ｍ１及び信頼度情報Ｍ２の信頼度の低いものを除いて、最も低い信頼度情報のものを選択する（ステップＳ７１０）。選択するものがあるときにはステップＳ７０７へ戻り、その信頼度に対応するビットの反転を行う。選択すべき信頼度がないときにはビット反転処理を終了する（ステップＳ７１１）。ステップＳ７０７〜ステップＳ７１１の処理を繰り返し行い、記憶した信頼度の低いもの全てについて、その硬判定ビットの反転及び非反転の組み合わせをＣＲＣ判定する。
【００４３】
ビット反転処理では、ＣＲＣ判定が良となった硬判定データをターボ復号器の出力として出力させる。ただし、ステップＳ７１１で、ＣＲＣ判定が良となることなくビット反転処理を終了したときには、図３のステップＳ５で得られた硬判定データをターボ復号器の出力として出力する。
【００４４】
本実施形態例のタ−ボ復号器５００は、第１軟出力復号器５０１の復号過程で得られる各時点での信頼度情報の内、低いものからｄ個だけ、信頼度情報Ｍ１と、その時点を示す位置情報とを記憶する。同様に第２軟出力復号器５０２の復号過程で得られる各時点での信頼度情報Ｍ２の内、低いものからｄ個だけ、信頼度情報Ｍ１と、その時点を示す位置情報とを記憶する。硬判定データが、ＣＲＣ判定においてＮＧと判定された場合には、それぞれ記憶したｄ個のうち、位置情報が一致する時点があるかを調べ、一致する時点が１つ又は複数ある場合には、それらの時点に対応する硬判定データのビットの一部、又は全て反転させる操作を行い、それらをＣＲＣ判定する。
【００４５】
その操作によっても、ＣＲＣ判定がＯＫとならない場合には、低信頼度格納メモリ５５２、５５１に記憶された全ての信頼度情報に関して、低い順にその時点に対応する硬判定データのビットを、反転又は非反転のとり得る組み合わせについて行い、それらをＣＲＣ判定する。これにより、ＣＲＣ判定がＯＫとなる可能性が高くなり、復号データのビット誤り率を低減することができる。
【００４６】
以上、本発明をその好適な実施形態例に基づいて説明したが、本発明のターボ復号器は、上記実施形態例にのみ限定されるものでなく、上記実施形態例の構成から種々の修正及び変更を施したターボ復号器も、本発明の範囲に含まれる。例えば、硬判定データのビット反転方法は、最も低い信頼度情報に対応した位置情報から１ビットずつ反転するのに加えて、隣接する２ビット、３ビット反転を組み合わせてもよい。その場合、ＣＲＣ判定がＯＫとなる確率が更に高くなる。
【００４７】
【発明の効果】
以上説明したように、本発明のターボ復号器及びターボ復号方法は、信頼度情報の低い時点を記憶し、効果的に硬判定データのビットを反転させることで、ＣＲＣ判定の結果がＯＫとなる確率を高め、伝送路で付加される雑音が大きい場合であっても、少ない繰り返し回数で正しい復号データを得ることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態例のタ−ボ復号器の全体構成を示すブロック図。
【図２】ターボ符号のデータ系列を示す図で、（ａ）はターボ符号前、（ｂ）ターボ符号後のデータ系列。
【図３】
本発明のターボ復号方法の処理の流れを示すフローチャート。
【図４】図３のビット反転処理の詳細な処理の流れを示すフローチャート。
【図５】タ−ボ符号の伝送系を示すブロック図。
【図６】従来のターボ復号器の構成を示すブロック図。
【符号の説明】
２００：ターボ符号器
２０１、２０３：たたみこみ符号器
２０２：インターリーバ
２１０：変調器
２２０：伝送路
２３０：復調器
２４０：受信データ用メモリ部
５００：ターボ復号器
５０１：第１軟出力復号器
５０２：第２軟出力復号器
５０３：硬判定処理部
５０４：硬判定メモリ
５０５：ＣＲＣ判定器
５１１、５１２：信頼度情報用メモリ
５２０、５２１：インターリーバ処理部
５３０、５３１：デインターリーバ処理部
５４１、５４２：判定器
５５１、５５２：低信頼度情報格納メモリ
５６２、５６１：位置情報格納メモリ
６００：ターボ復号器
６０１：第１軟出力復号器
６０２：第２軟出力復号器
６０３：硬判定処理部
６０５：ＣＲＣ判定器
６２０、６２１：インターリーバ処理部
６３０、６３１：デインターリーバ処理部
【図１】
0003632206.tif 000002
【図２】
0003632206.tif 000003
【図３】
0003632206.tif 000004
【図４】
0003632206.tif 000005
【図５】
0003632206.tif 000006
【図６】
0003632206.tif 000007