JP3632206B2 - ターボ復号器及びターボ復号方法 - Google Patents
ターボ復号器及びターボ復号方法 Download PDFInfo
- Publication number
- JP3632206B2 JP3632206B2 JP2001377432A JP2001377432A JP3632206B2 JP 3632206 B2 JP3632206 B2 JP 3632206B2 JP 2001377432 A JP2001377432 A JP 2001377432A JP 2001377432 A JP2001377432 A JP 2001377432A JP 3632206 B2 JP3632206 B2 JP 3632206B2
- Authority
- JP
- Japan
- Prior art keywords
- reliability
- information
- storage means
- reliability information
- crc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Description
【発明の属する技術分野】
本発明は、ターボ復号器及びターボ復号方法に関し、更に詳しくは復号データのビット誤り率を低減するターボ復号器及びターボ復号方法に関する。
【0002】
【従来の技術】
近年、シャノンの限界に近づく復号方式としてターボ符号が脚光をあびており、次世代移動体通信の規格であるW−CDMA及びCDMA−2000にも採用されることが決定している。図5は、一般的なターボ符号の伝送系を示している。伝送系は、ターボ符号器200、変調器210、伝送路220、復調器230、受信データ用メモリ240、ターボ復号器600を有している。ターボ符号器200及び変調器210は、送信側に配置され、変調器230、受信データ用メモリ240、及びターボ符号器600は、受信側に配置される。
【0003】
ターボ符号器200は、たたみこみ符号器201、203、及び、インターリーバ202を有している。入力データINFは、1フレームがnビットの情報データと、これに付加されたkビットのCRC(Cyclic Redundancy Check)ビットとを含む、計bビット(b=n+k)の2進データ(硬データ)からなるデータである。ターボ符号器200は、入力データINFより、3つの硬データINF_T、Parity1_T、及びParity2_Tを生成する。INF_Tは、入力データINFと同じデータであり、Parity1_Tは、入力データINFをたたみこみ符号器201で符号化したデータである。Parity2_Tは、インターリーバ202で予め定められたアルゴリズムでビットの位置を並び替えた入力データINFを、更にたたみこみ符号器203で符号化したデータである。
【0004】
ターボ符号器200によって生成された3つのデータINF、Parity1_T、Parity2_Tは、変調器210で変調され、伝送路220を伝播し、受信側である復調器230へ到達する。伝送路220では、雑音が付加されてしまうため、ビットエラーが生ずる。そこで、復調器230は、送信された3つのデータINF、Parity1_T、Parity2_Tをすぐに硬データとして復調せずに、軟データである軟判定データINF_R、Parity1_R、Parity2_Rとして復調する。ここで、軟データとは、2進数でいうビット値を、アナログ的に多値データにしたデータである。つまり、硬データの‘0’か‘1’かのビット情報を、軟データでは、例えば‘0’〜‘7’の値をとるようにしたものである。
【0005】
復調器230で軟判定された3つの軟判定データINF_R、Parity1_R、及びParity2_Rは、順次受信データ用メモリ240に書き込まれる。1フレーム分の全てのデータが揃うと、ターボ復号器600によって復号が開始され、復号データINF_Dが得られる。
【0006】
図5は、従来のターボ復号器の構成を示している。ターボ復号器600は、第1軟出力復号器601、第2軟出力復号器602、インターリーバ処理部620、621、デインターリーバ処理部630、631、硬判定処理部603、及び、CRC判定器605を備える。ターボ復号器600に適用される軟出力復号アルゴリズムとしては、最大事後確率復号法(Maximum A posterior Probability:以下、MAPと呼ぶ)を用いる方法が現在のところ最良であるといわれている。しかし、装置規模や処理量が格段に大きくなるため、実装に際してはその時点間のパスが‘1’か‘0’かを尤度計算の結果の最大値(MAX)を選択することで簡略化したMax−log−MAPアルゴリズムが、一般的に用いられている。
【0007】
第1軟出力復号器601は、INF_Rと、Parity1_Rと、デインターリーバ処理部631の出力である信頼度情報M1xとを入力し、インターリーバ処理部621に信頼度情報M1を出力する。ここで、デインターリーバ処理部631は、インターリーバ202とは逆のアルゴリズムで、データ系列を元の並び順に並び替える処理を行うものである。インターリーバ処理部621は、信頼度情報M1をインターリーバ202と同じアルゴリズムで並び替え、信頼度情報M2xとして第2軟出力復号器602へ出力する。
【0008】
第2軟出力復号器602は、INF_Rをインターリーバ処理部620で並び替えたINF_Rxと、信頼度情報M2xと、Parity2_Rとを入力し、デインターリーバ処理部631及び硬判定処理部603に信頼度情報M2を出力する。ターボ復号器600では、第1軟出力復号器及び第2軟出力復号器で得られる信頼度情報M1及びM2を更新しながら、所定の回数だけ一連の復号過程を繰り返す。
【0009】
繰り返し処理が終了すると、硬判定処理部603は、信頼度情報M2を2値データに硬判定する。つまり、硬データの各ビットに対応する各時点間のアナログ的な値を、‘0’又は‘1’のいずれかに判定する。得られた硬データはデインターリーバ処理部630で並び替えを行い、CRC判定器605に入力する。CRC判定器605は、入力された硬データをCRC判定し、判定結果が良(OK)であれば、これを復号データINF_Dとして出力する。
【0010】
【発明が解決しようとする課題】
上記の通り、ターボ復号器600では、所定の回数だけ一連の復号過程を繰り返すことによって復号データINF_Dを得る。復号過程の繰り返しの回数の多少によって、入力データINFが正しく復号される確率が定まるので、繰り返しの回数は、伝送路220で付加される雑音の最大値を勘案して設定される。しかし、この場合には、伝送路220で付加される雑音が少ないときには、無駄に復号時間が長くなるという問題があった。
【0011】
繰り返し操作を途中で停止させて、復号時間を短縮する方法が提案されている。この方法では、タ−ボ符号化前にデータ系列に付加されたCRCビットを利用して、CRC判定がOKとなったときに繰り返しを停止させる。これにより、データに付加される雑音の少ないときには、復号時間を短縮できる。しかし、CRC判定がOKにならない限り、繰り返し処理は停止せず、そのまま復号エラ−になってしまうため、復号データINF_Dを得ることができなかった。
【0012】
また、硬判定データの一部のビット値を反転させて、CRC判定をする方法も知られている。この方法では、信頼度情報の低い時点の位置情報を記憶し、その時点に対応する硬判定データのビット(硬判定ビット)の値を反転させる。復号誤りが発生していると予想される硬判定ビットを反転させることで、CRC判定の結果がOKとなる確率を高くすることができる。この方法では、復号誤りを起こしている硬判定ビットをすばやく特定することで、より復号時間を短縮することができる。しかし、復号誤りを起こしていると予想される硬判定ビットを、効率よく特定する方法は従来知られていなかった。
【0013】
本発明は、CRC判定の結果がOKとなる確率を高め、伝送路で付加される雑音が大きい場合であっても、少ない繰り返し回数でビット誤り率を低減させた復号データを得るターボ復号器及びターボ復号方法を提供することを目的とする。
【0014】
【課題を解決するための手段】
上記目的を達成するために、本発明のターボ復号器は、第1の軟出力復号器と第2の軟出力復号器とを備え、第1の軟出力復号器の出力である第1信頼度情報をインターリーバを介して第2の軟出力復号器に入力し、第2の軟出力復号器の出力である第2信頼度情報をデインターリーバを介して第1の軟出力復号器に入力する処理を繰り返し行い、最後の繰り返し処理における第1信頼度情報又は第2信頼度情報のいずれかを硬判定し、該硬判定によって得られる硬判定データをCRC判定し、CRC判定の結果が良となった硬判定データを復号データとして出力するターボ復号器において、最後の繰り返し処理における第1信頼度情報の、信頼度の低い時点の信頼度を記憶する第1低信頼度格納手段と、該第1低信頼度格納手段に記憶される当該信頼度の低い時点の位置情報を記憶する第1位置情報格納手段と、最後の繰り返し処理における第2信頼度情報の、信頼度の低い時点の信頼度を記憶する第2低信頼度格納手段と、該第2低信頼度格納手段に記憶される当該信頼度の低い時点の位置情報を記憶する第2位置情報格納手段とを備え、前記硬判定データのCRC判定結果が良でないときは、前記第1位置情報格納手段に記憶された位置情報と、前記第2位置情報格納手段に記憶された位置情報とが一致する時点に対応する硬判定データのビットの論理を反転操作することを特徴とする。
【0015】
また、本発明のターボ復号方法は、第1の軟出力復号器によって第1の信頼度情報を生成し、該第1の信頼度情報をインターリーバを介して第2の軟出力復号器に入力して第2の信頼度情報を生成し、該第2の信頼度情報をデインターリーバを介して前記第1の軟出力復号器に入力して第1の信頼度情報を生成する繰返し処理によって、復号データを生成するターボ復号方法において、最後の繰り返し処理により得られた前記第1又は第2信頼度情報を硬判定し、第1信頼度情報又は第2信頼度情報のいずれかを硬判定し、該硬判定によって得られた硬判定データをCRC判定し、前記CRC判定結果が良でないときには、最後の繰り返し処理における第1信頼度情報の信頼度の低い時点の信頼度の位置情報と、最後の繰り返し処理における第2信頼度情報の信頼度の低い時点の信頼度の位置情報とを比較し、前記双方の位置情報が一致する時点に対応する硬判定データのビットの論理を反転操作し、該反転した硬判定データをCRC判定することを特徴とする。
【0016】
本発明のターボ復号器及びターボ復号方法では、第1信頼度情報及び第2信頼度情報の信頼度が、同じ時点で低いということは、その時点に対応する硬判定データのビットの論理値が誤っている確率が高いことを意味することから、そのビットの論理値(ビット値)を、0のものは1に、1のものは0に反転する。これにより、より高い確率で硬判定データを訂正することができる。つまり、CRC判定の結果が良となる可能性が高くなり、短時間で復号データを得る確率が高くなる。
【0017】
本発明のターボ復号器では、前記第1低信頼度格納手段及び前記第2低信頼度格納手段は、それぞれ複数の前記信頼度の低い時点の前記信頼度を記憶し、前記第1位置情報格納手段及び第2位置情報格納手段は、該記憶される複数の信頼度に対応する時点の位置情報を記憶することが好ましい。
第1信頼度情報と、第2信頼度情報とが、同じ時点で最小となる確率は高いが、時として、例えば同じ時点の信頼度情報が、第1信頼度情報では2番目に低い、第2信頼度情報では3番目に低いといった場合がある。複数の低い信頼度情報及びその位置情報を記憶することにより、硬判定データの訂正に際して高い確率によってビット反転が可能となる。
【0018】
また、本発明のターボ復号器では、前記第1位置情報格納手段に記憶された位置情報と、前記第2位置情報格納手段に記憶された位置情報とが一致する時点が複数あるときは、CRC判定が良となるまで、該一致する時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせをCRC判定することが好ましい。
一致する時点が複数あるときには、硬判定データの複数のビットで誤りが発生している可能性が高い。このため、一致する時点の全てに対応する硬判定データのビット値について、反転及び非反転のとり得る組み合わせについて順次CRC判定する。CRC判定が良となった時点でビット操作を終了し、復号データを出力する。複数のビットで誤りが発生している場合であっても、正しく訂正できる可能性が高くなる。
【0019】
更に本発明のターボ復号器は、前記第1低信頼度格納手段及び前記第2低信頼度格納手段に記憶されている信頼度情報の一番低い信頼度に対応する位置を第1位置情報格納手段又は第2位置情報格納手段より読み出し、当該位置に対応する硬判定データのビットの論理を反転することを特徴とする。
第1信頼度情報と第2信頼度情報とを合わせた中で、一番信頼度情報の低い時点は、ビット誤りを起こしている可能性が高い。このため、その時点に対応するビットを反転する。これにより、硬判定データを正しく訂正できる確率が高くなる。
【0020】
更に本発明のターボ復号器では、前記第1低信頼度格納手段及び前記第2低信頼度格納手段に記憶されている信頼度情報の低いものから順に、CRC判定が良となるまで、該信頼度の低い時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせをCRC判定することが好ましい。
第1信頼度情報及び第2信頼度情報の低い信頼度情報の一致する時点や、双方の中で一番低い信頼度情報の時点のビット操作を行っても、CRC判定が良とならないときには、第1低信頼度格納手段及び第2低信頼度格納手段に記憶されている全ての信頼度情報について、その信頼度の低いものから順に、ビットの操作を行っていく。ビット操作を行う対象を増やすことで、硬判定データを正しく訂正できる確率が高くなる。
【0021】
本発明のターボ復号方法も、上記好ましいターボ復号器を利用することにより、これらのターボ復号器と同様な利点を得ることができる。
【0022】
【発明の実施の形態】
以下、図面を参照し、本発明の実施形態例に基づいて、本発明を詳細に説明する。図1は、本発明の一実施形態例のタ−ボ復号器の構成を示している。ターボ復号器500は、第1軟出力復号器501、第2軟出力復号器502、信頼度情報用メモリ511、512、インターリーバ処理部520、521、デインターリーバ処理部530、531、判定器541、542、低信頼度情報格納メモリ551、552、位置情報格納メモリ561、562、硬判定処理部503、硬判定メモリ504、及び、CRC判定器505を有する。
【0023】
ここで、ターボ復号器500に至るターボ符号の伝送系は、図5に示す伝送系と同じである。インターリーバ処理部520、521は、図5のターボ符号器200のインターリーバ202と同様なアルゴリズムでインターリーブ処理を行う。また、デインターリーバ処理部531、530は、インターリーバ202で並び替えられたデータ系列を、インターリーバ202とは逆のアルゴリズムで元のデータ系列に戻す処理を行う。
【0024】
図2は、ターボ符号の1フレーム分のデータ系列を示し、(a)はタ−ボ符号化前の、(b)はタ−ボ符号化後のデータ系列をそれぞれ示している。同図(a)に示した入力データINFを、図5のターボ符号器200で符号化すると、3つのデータ系列INF_T、Parity1_T、及び、Parity2_Tが生成される。入力データINFは、1フレームがnビットの情報系列と、これに付加されたkビットのCRCビットとからなるデータ系列を有している。
【0025】
INF_Tの系列は、入力データINFのデータ系列と同一のデータ系列であり、Parity1_Tの系列は、入力データINFを図5のたたみこみ符号器201で符号化したデータ系列である。また、Parity2_Tの系列は、インターリーバ202によって所定のアルゴリズムで入力データINFのビット列の入れ替えを行い、入れ替わったビット列をたたみこみ符号器203で符号化したデータ系列である。INF、Parity1_T及びParity2_Tのデータ系列は、1フレームがbビット(b=n+k)のデータ系列である。これらタ−ボ符号器200の出力は、変調器210によって変調され、伝送路220を介して復調器230に入力される。復調器230は伝送路220で雑音が加わった信号を、INF_R、Parity1_R、Parity2_Rの軟判定データ系列に復調し、受信データ用メモリ240に出力する。
【0026】
図1において、ターボ復号器500は、受信データ用メモリ240から軟判定データであるINF_R、Parity1_R、及び、Parity2_Rの1フレームを読み取って、復号を開始する。第1軟出力復号器501は、軟判定データINF_R、及び、Parity1_Rと、信頼度情報用メモリ511に記憶される信頼度情報M1xと、外部情報(図示せず)とを入力する。ここで、外部情報とは、各時点について事前に与えられる図5の伝送路220における信号対雑音比によって決定される値である。また、信頼度情報M1xの初期値は‘0’である。第1軟出力復号器501は、入力データを演算し、信頼度情報M1を出力する。出力された信頼度情報M1は、インターリーバ処理部521、判定器541、低信頼度情報格納メモリ551、及び、位置情報格納メモリ561にそれぞれ出力される。
【0027】
インターリーバ処理部521は、信頼度情報M1のデータ系列の入れ替えを行い、信頼度情報M2xを生成し、信頼度情報用メモリ512に出力する。信頼度情報用メモリ512は、入力された信頼度情報M2xを記憶する。インターリーバ処理部520は、軟判定データINF_Rを入力し、データ系列を入れ替えたINF_Rxを出力する。第2軟出力復号器502は、INF_Rx及びParity2_Rと、信頼度情報M2xと、外部情報(図示せず)とを入力する。ここで、外部情報とは、第1軟出力復号器501で使用する外部情報と同様の情報である。第2軟出力復号器502は、入力データを演算し、信頼度情報M2を出力する。出力された信頼度情報M2は、デインターリーバ処理部530、531、判定器542、低信頼度情報格納メモリ552、及び硬判定処理部503にそれぞれ出力される。
【0028】
デインターリーバ処理部531は、信頼度情報M2のデータ系列を入れ替えて信頼度情報M1xを生成し、信頼度情報用メモリ511に出力する。信頼度情報用メモリ511は、入力された信頼度情報M1xを記憶する。記憶された信頼度情報M1xは、第1軟出力復号器501から読み出され、再び第1軟出力復号器501の復号作業が開始される。つまり、第1軟出力復号器501で生成された信頼度情報M1は、インターリーブ処理をされて第2軟出力復号器502に入力され、第2軟出力復号器502で生成された信頼度情報M2は、デインターリーブ処理されて第1軟出力復号器501に入力されるというループが形成される。第1軟出力復号器501と第2軟出力復号器502とによるループ処理は、設定された回数だけ反復して行われる。
【0029】
ループ処理の、最後のループにおける信頼度情報M1及びM2は、判定器541、542で判定されて、低信頼度情報格納メモリ551、552に記憶される。信頼度情報M1については、判定器541が低信頼度情報格納メモリ561を参照し、データ系列のある時点の信頼度情報M1が、低信頼度格納メモリ561に記憶されている信頼度情報より低いかどうかを判定する。データ系列の最初の時点では、低信頼度格納メモリ551の内容は空である。比較対象の時点の信頼度情報M1のほうが、低信頼度格納メモリ551に記憶されている信頼度よりも低い場合には、その時点の信頼度情報M1を低信頼度情報格納メモリ551に記憶する。
【0030】
低信頼度情報格納メモリ551には、d個の信頼度情報M1を記憶することができる。また、d個の信頼度情報M1は、信頼度の低い順に並べられて記憶される。新たに信頼度情報を記憶する際に、既にd個の信頼度情報が低信頼度情報格納メモリ551に記憶されている場合には、記憶されているd個の中で、一番高い信頼度情報の情報が削除され、それより低い信頼度の信頼度情報M1が替わりに記憶される。低信頼度情報格納メモリ551に、信頼度情報M1を記憶する際には、その信頼度情報がどの時点での信頼度であるかを対応付けて、位置情報格納メモリ561にその位置情報を記憶する。
【0031】
信頼度情報M2についても同様に、判定器542で判定され、低信頼度格納メモリ552に信頼度情報がd個だけ低い順に並ぶように記憶される。また、低信頼度情報格納メモリ552に記憶する場合には、その時点の位置情報がデインターリーバ処理部530に出力され、デインターリーバ処理部530によって変換された位置情報が位置情報格納メモリ562に記憶される。このとき、低信頼度情報格納メモリ552の記憶順と連動して低い信頼度情報に対応した位置情報順に記憶する。
【0032】
最後の繰り返しのときに第2軟出力復号器502の出力である各時点の信頼度情報M2は、硬判定処理部503において硬判定を行い、得られた硬判定データはデインターリーバ処理部530によってタ−ボ符号化前のデータ系列INFに対応するデータ系列に並びかえられ、硬判定メモリ504に記憶される。位置情報格納メモリ561、信頼度情報格納メモリ551の出力と、硬判定メモリ504、位置情報格納メモリ562、信頼度情報格納メモリ552の出力とは、CRC判定器505に入力される。
【0033】
CRC判定器505は、ループ処理が終了すると、まず硬判定メモリ504から硬判定データを読み出して、CRC判定する。CRC判定結果がOKであった場合には、硬判定データをそのままターボ復号データINF_Dとして出力する。最初のCRC判定が否(NG)であった場合は、CRC判定器505は、再び硬判定メモリ504に記憶されている硬判定データを読み出し、次の手順に従い、硬判定データのビットを反転させる操作を行う。ビット操作のたびにCRC判定を行い、CRC判定がOKとなったときはビット操作を終了し、ターボ復号データINF_Dを出力する。
【0034】
まず、位置情報格納メモリ561及び位置情報格納メモリ562を参照し、同じ時点が存在するかどうかを調べる。存在する場合には、対応する時点の位置の硬判定ビットを反転させ、CRC判定を行う。同じ時点が複数存在する場合には、硬判定ビットの反転及び非反転のとり得る組み合わせについて実行する。例えば、同じ時点がp個存在するときには、CRC判定がOKとなるまで2p通りの組み合わせのそれぞれについてCRC判定をする。
【0035】
同じ時点が存在しない、或いは、上記操作によってもCRC判定がOKとならない場合には、低信頼度情報格納メモリ551及び低信頼度格納メモリ552に記憶されている2d個の信頼度情報の中から、最も低い信頼度情報を検索する。その信頼度情報に対応した時点を、位置情報格納メモリ562又は561を参照して特定する。特定した時点に対応する硬判定データのビットを反転して、CRC判定を行う。
【0036】
CRC判定がNGである場合には、低信頼度情報格納メモリ551及び低信頼度格納メモリ552から、次に低い信頼度情報を検索し、その信頼度情報に対応する時点を調べる。これまでに検索した全ての信頼度情報の低い時点に対応する硬判定データのビットについて、その反転又は非反転のとり得る組み合わせを全てCRC判定する。CRC判定がNGならば、順次に低い信頼度情報を検索し、ビットの操作を行う。いずれかの段階でCRC判定がOKとなったところで、ビットの操作を終了し、そのときの硬判定データをタ−ボ復号デ−タINF_Dとして出力する。全ての信頼度情報についてビット操作を実行しても、CRC判定がOKとならない場合は、硬判定メモリ504に記憶されている硬判定データを、そのままタ−ボ復号デ−タINF_Dとして出力する。
【0037】
上記ターボ復号器の処理を、図3のフローチャートを参照し更に説明する。ターボ復号器は、復号処理を開始すると、第1軟出力復号器が入力データを演算して信頼度情報M1を得る(ステップS1)。信頼度情報M1をインターリーバ521で並び替えて、第2軟出力復号器に入力し、信頼度情報M2を得る(ステップS2)。得られた信頼度情報2は、デインターリーバ531で並び替えられ、第1軟出力復号器に入力される。ステップS1及びステップS2の処理を何回繰り返したかをカウントし、繰り返しが規定回数に達しないときにはステップS1へ戻り、規定回数になると、ステップS4に進む(ステップS3)。
【0038】
繰返し処理が終了すると、信頼度情報M1及び信頼度情報M2の信頼度の低いものをd個だけ記憶する(ステップS4)。その際に、信頼度の低いものがどの時点の信頼度であるかを示す位置情報を、対応して記憶する。なお、信頼度情報M2の位置情報は、デインターリーバ630で並び替えられた際の位置情報である。次いで、信頼度情報M2を硬判定し、デインターリーバ530で並び替えられた硬判定データを硬判定メモリに記憶する(ステップS5)。CRC判定器505は、硬判定データをCRC判定し、判定結果がOKであるか否かを得る(ステップS6)。判定結果がOKであれば、硬判定データを復号データとして出力する(ステップS8)。NGであれば硬判定データのビットの反転処理へと進む(ステップS7)。
【0039】
図4は、ステップS7のビット反転処理の詳細を示している。ステップS4で記憶した双方の位置情報を比較し、一致する位置情報があるか否かを調べる(ステップS701)。一致するものがないときには、ステップS706へ進む。一致するものがあるときには、一致する時点に対応する硬判定ビットを反転して(ステップS702)、CRC判定する(ステップS703)。CRC判定がOKであれば、ビット反転処理を終了して、図3のステップS8へ進む。OKとならないときには、複数の一致する位置情報に関して、その位置情報に対応する時点の硬判定ビットの反転及び非反転の全ての組み合わせを実行したか否かを判断する(ステップS704)。全ての組み合わせが終了していない場合には、全ての組み合わせに付いてCRC判定をするために、ステップS702に戻る。はじめは、反転させるビットが1つなので、ステップS705へ進む。
【0040】
再度、ステップS4で記憶した位置情報を比較し、他に一致する位置情報があるか否かを調べる(ステップS705)。他に一致するものがないときには、ステップS706に進む。他に一致するものがある場合には、ステップS702へ戻り、一致するもの全てについてステップS702〜ステップS705までの処理を繰り返し行う。
【0041】
ステップS701及びステップS706の判定が否の場合には、信頼度情報M1及び信頼度情報M2の記憶された信頼度の低いもののうち、最も信頼度の低いものを選択する(ステップS706)。選択された位置に対応する硬判定ビットを反転して(ステップS708)、CRC判定をする(ステップS709)。複数の選択された硬判定ビットに関し、その反転及び非反転の全ての組み合わせについて実行したか否かを判断する(ステップS709)。全ての組み合わせがすんでいない場合には、全ての組み合わせに付いてCRC判定するために、ステップS707に戻る。はじめは、選択された硬判定ビットは1つなのでステップS710へ進む。
【0042】
これまでに選択された信頼度情報M1及び信頼度情報M2の信頼度の低いものを除いて、最も低い信頼度情報のものを選択する(ステップS710)。選択するものがあるときにはステップS707へ戻り、その信頼度に対応するビットの反転を行う。選択すべき信頼度がないときにはビット反転処理を終了する(ステップS711)。ステップS707〜ステップS711の処理を繰り返し行い、記憶した信頼度の低いもの全てについて、その硬判定ビットの反転及び非反転の組み合わせをCRC判定する。
【0043】
ビット反転処理では、CRC判定が良となった硬判定データをターボ復号器の出力として出力させる。ただし、ステップS711で、CRC判定が良となることなくビット反転処理を終了したときには、図3のステップS5で得られた硬判定データをターボ復号器の出力として出力する。
【0044】
本実施形態例のタ−ボ復号器500は、第1軟出力復号器501の復号過程で得られる各時点での信頼度情報の内、低いものからd個だけ、信頼度情報M1と、その時点を示す位置情報とを記憶する。同様に第2軟出力復号器502の復号過程で得られる各時点での信頼度情報M2の内、低いものからd個だけ、信頼度情報M1と、その時点を示す位置情報とを記憶する。硬判定データが、CRC判定においてNGと判定された場合には、それぞれ記憶したd個のうち、位置情報が一致する時点があるかを調べ、一致する時点が1つ又は複数ある場合には、それらの時点に対応する硬判定データのビットの一部、又は全て反転させる操作を行い、それらをCRC判定する。
【0045】
その操作によっても、CRC判定がOKとならない場合には、低信頼度格納メモリ552、551に記憶された全ての信頼度情報に関して、低い順にその時点に対応する硬判定データのビットを、反転又は非反転のとり得る組み合わせについて行い、それらをCRC判定する。これにより、CRC判定がOKとなる可能性が高くなり、復号データのビット誤り率を低減することができる。
【0046】
以上、本発明をその好適な実施形態例に基づいて説明したが、本発明のターボ復号器は、上記実施形態例にのみ限定されるものでなく、上記実施形態例の構成から種々の修正及び変更を施したターボ復号器も、本発明の範囲に含まれる。例えば、硬判定データのビット反転方法は、最も低い信頼度情報に対応した位置情報から1ビットずつ反転するのに加えて、隣接する2ビット、3ビット反転を組み合わせてもよい。その場合、CRC判定がOKとなる確率が更に高くなる。
【0047】
【発明の効果】
以上説明したように、本発明のターボ復号器及びターボ復号方法は、信頼度情報の低い時点を記憶し、効果的に硬判定データのビットを反転させることで、CRC判定の結果がOKとなる確率を高め、伝送路で付加される雑音が大きい場合であっても、少ない繰り返し回数で正しい復号データを得ることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態例のタ−ボ復号器の全体構成を示すブロック図。
【図2】ターボ符号のデータ系列を示す図で、(a)はターボ符号前、(b)ターボ符号後のデータ系列。
【図3】
本発明のターボ復号方法の処理の流れを示すフローチャート。
【図4】図3のビット反転処理の詳細な処理の流れを示すフローチャート。
【図5】タ−ボ符号の伝送系を示すブロック図。
【図6】従来のターボ復号器の構成を示すブロック図。
【符号の説明】
200:ターボ符号器
201、203:たたみこみ符号器
202:インターリーバ
210:変調器
220:伝送路
230:復調器
240:受信データ用メモリ部
500:ターボ復号器
501:第1軟出力復号器
502:第2軟出力復号器
503:硬判定処理部
504:硬判定メモリ
505:CRC判定器
511、512:信頼度情報用メモリ
520、521:インターリーバ処理部
530、531:デインターリーバ処理部
541、542:判定器
551、552:低信頼度情報格納メモリ
562、561:位置情報格納メモリ
600:ターボ復号器
601:第1軟出力復号器
602:第2軟出力復号器
603:硬判定処理部
605:CRC判定器
620、621:インターリーバ処理部
630、631:デインターリーバ処理部
Claims (13)
- 第1の軟出力復号器と第2の軟出力復号器とを備え、第1の軟出力復号器の出力である第1信頼度情報をインターリーバを介して第2の軟出力復号器に入力し、第2の軟出力復号器の出力である第2信頼度情報をデインターリーバを介して第1の軟出力復号器に入力する処理を繰り返しk回(kは1以上の整数)行い、k回目の繰り返し処理における第1信頼度情報又は第2信頼度情報のいずれかを硬判定し、該硬判定によって得られる硬判定データをCRC判定し、CRC判定の結果が良となった硬判定データを復号データとして出力するターボ復号器において、
k回目の繰り返し処理における第1信頼度情報の信頼度の低い時点の信頼度を記憶する第1低信頼度格納手段と、該第1低信頼度格納手段に記憶される当該信頼度の低い時点の位置情報を記憶する第1位置情報格納手段と、k回目の繰り返し処理における第2信頼度情報の信頼度の低い時点の信頼度を記憶する第2低信頼度格納手段と、該第2低信頼度格納手段に記憶される当該信頼度の低い時点の位置情報を記憶する第2位置情報格納手段とを備え、
前記硬判定データのCRC判定結果が良でないときは、前記第1位置情報格納手段に記憶された位置情報と、前記第2位置情報格納手段に記憶された位置情報とが一致する時点に対応する硬判定データのビットの論理を反転操作し、該反転した硬判定データをCRC判定することを特徴とするターボ復号器。 - 前記第1低信頼度格納手段及び前記第2低信頼度格納手段はそれぞれ、複数の前記信頼度の低い時点の信頼度を記憶し、前記第1位置情報格納手段及び前記第2位置情報格納手段はそれぞれ、記憶される複数の信頼度に対応する時点の位置情報を記憶することを特徴とする、請求項1に記載のターボ復号器。
- 前記第1位置情報格納手段に記憶された位置情報と、前記第2位置情報格納手段に記憶された位置情報とが一致する時点が複数あるときは、CRC判定が良となるまで、該一致する時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせを順次CRC判定することを特徴とする、請求項2に記載のターボ復号器。
- 前記第1位置情報格納手段に記憶された位置情報と、前記第2位置情報格納手段に記憶された位置情報とが一致する時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせを順次CRC判定したときのCRC判定結果が良でないときには、前記第1低信頼度格納手段及び前記第2低信頼度格納手段に記憶されている信頼度情報の最も低い信頼度に対応する位置を第1位置情報格納手段又は第2位置情報格納手段より読み出し、該読み出した位置に対応する硬判定データのビットの論理を反転することを特徴とする、請求項3に記載のターボ復号器。
- 前記第1低信頼度格納手段及び前記第2低信頼度格納手段に記憶されている信頼度情報の低いものから順に、CRC判定が良となるまで、該記憶されている信頼度情報の低い時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせをCRC判定することを特徴とする、請求項4に記載のターボ復号器。
- 第1の軟出力復号器と第2の軟出力復号器とを備え、第1の軟出力復号器の出力である第1信頼度情報をインターリーバを介して第2の軟出力復号器に入力し、第2の軟出力復号器の出力である第2信頼度情報をデインターリーバを介して第1の軟出力復号器に入力する処理を繰り返しk回(kは1以上の整数)行い、k回目の繰り返し処理における第1信頼度情報又は第2信頼度情報のいずれかを硬判定し、該硬判定によって得られる硬判定データをCRC判定し、CRC判定の結果が良となった硬判定データを復号データとして出力するターボ復号器において、
k回目の繰り返し処理における第1信頼度情報の信頼度の低い時点の信頼度を記憶する第1低信頼度格納手段と、該第1低信頼度格納手段に記憶される当該信頼度の低い時点の位置情報を記憶する第1位置情報格納手段と、k回目の繰り返し処理における第2信頼度情報の信頼度の低い時点の信頼度を記憶する第2低信頼度格納手段と、該第2低信頼度格納手段に記憶される当該信頼度の低い時点の位置情報を記憶する第2位置情報格納手段とを備え、
CRC判定が良でないときには、前記第1低信頼度格納手段及び前記第2低信頼度格納手段に記憶されている信頼度情報の最も低い信頼度に対応する位置を第1位置情報格納手段又は第2位置情報格納手段より読み出し、該読み出した位置に対応する硬判定データのビットの論理を反転することを特徴とするターボ復号器。 - 前記第1低信頼度格納手段及び前記第2低信頼度格納手段に記憶されている信頼度情報の低いものから順に、CRC判定が良となるまで、該記憶されている信頼度情報の低い時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせをCRC判定することを特徴とする、請求項6に記載のターボ復号器。
- 第1の軟出力復号器によって第1の信頼度情報を生成し、該第1の信頼度情報をインターリーバを介して第2の軟出力復号器に入力して第2の信頼度情報を生成し、該第2の信頼度情報をデインターリーバを介して前記第1の軟出力復号器に入力して第1の信頼度情報を生成するk回(kは1以上の整数)の繰返し処理によって、復号データを生成するターボ復号方法において、
k回目の繰り返し処理により得られた前記第1又は第2信頼度情報を硬判定し、第1信頼度情報又は第2信頼度情報のいずれかを硬判定し、該硬判定によって得られた硬判定データをCRC判定し、
前記CRC判定結果が良でないときには、k回目の繰り返し処理における第1信頼度情報の信頼度の低い時点の信頼度の位置情報と、k回目の繰り返し処理における第2信頼度情報の信頼度の低い時点の信頼度の位置情報とを比較し、
前記双方の位置情報が一致する時点に対応する硬判定データのビットの論理を反転操作し、該反転した硬判定データをCRC判定することを特徴とするターボ復号方法。 - 前記双方の位置情報が一致する時点が複数あるときには、CRC判定が良となるまで、該一致する時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせを順次CRC判定することを特徴とする、請求項8に記載のターボ復号方法。
- 前記第1低信頼度情報及び前記第2低信頼度情報の双方で最も低い信頼度の時点に対応する硬判定データのビットの論理を反転することを特徴とする、請求項8又は9に記載のターボ復号方法。
- 前記第1低信頼度情報及び前記第2低信頼度情報の双方で信頼度情報の低いものから順に、CRC判定が良となるまで、該低い信頼度情報の時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせをCRC判定することを特徴とする、請求項8〜10の何れかに記載のターボ復号方法。
- 第1の軟出力復号器によって第1の信頼度情報を生成し、該第1の信頼度情報をインターリーバを介して第2の軟出力復号器に入力して第2の信頼度情報を生成し、該第2の信頼度情報をデインターリーバを介して前記第1の軟出力復号器に入力して第1の信頼度情報を生成するk回(kは1以上の整数)の繰返し処理によって、復号データを生成するターボ復号方法において、
k回目の繰り返し処理により得られた前記第1又は第2信頼度情報を硬判定し、第1信頼度情報又は第2信頼度情報のいずれかを硬判定し、該硬判定によって得られた硬判定データをCRC判定し、
前記CRC判定結果が良でないときには、前記第1低信頼度情報及び前記第2低信頼度情報の双方で最も低い信頼度の時点に対応する硬判定データのビットの論理を反転することを特徴とするターボ復号方法。 - 前記第1低信頼度情報及び前記第2低信頼度情報の双方で信頼度情報の低いものから順に、CRC判定が良となるまで、該低い信頼度情報の時点に対応する硬判定データの複数のビットの論理の反転及び非反転のとり得る組み合わせをCRC判定することを特徴とする、請求項12に記載のターボ復号方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001377432A JP3632206B2 (ja) | 2001-12-11 | 2001-12-11 | ターボ復号器及びターボ復号方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001377432A JP3632206B2 (ja) | 2001-12-11 | 2001-12-11 | ターボ復号器及びターボ復号方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003179506A JP2003179506A (ja) | 2003-06-27 |
JP3632206B2 true JP3632206B2 (ja) | 2005-03-23 |
Family
ID=19185394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001377432A Expired - Fee Related JP3632206B2 (ja) | 2001-12-11 | 2001-12-11 | ターボ復号器及びターボ復号方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3632206B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007052991A1 (en) | 2005-11-07 | 2007-05-10 | Samsung Electronics Co., Ltd. | Apparatus and method for stopping iterative decoding in a mobile communication system |
-
2001
- 2001-12-11 JP JP2001377432A patent/JP3632206B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003179506A (ja) | 2003-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2005225107B2 (en) | Method and apparatus for decoding low density parity check code using united node processing | |
KR100761306B1 (ko) | 디코딩 방법 및 장치 | |
US6848069B1 (en) | Iterative decoding process | |
US6477680B2 (en) | Area-efficient convolutional decoder | |
US6950977B2 (en) | Mechanism for turbo decoding when CRC for partial blocks is provided | |
US8122327B2 (en) | Symbol-level soft output viterbi algorithm (SOVA) and a simplification on SOVA | |
JP2000216689A (ja) | 反復式ターボ符号復号装置及び該装置の性能を最適化する方法 | |
JP2002532938A (ja) | 通信システムで直列鎖相構造を有する符号化及び復号化装置 | |
US20090019338A1 (en) | Communications device and wireless communications system | |
US7246298B2 (en) | Unified viterbi/turbo decoder for mobile communication systems | |
JP2004080508A (ja) | 誤り訂正符号の復号方法、そのプログラム及びその装置 | |
US6563890B2 (en) | Maximum a posteriori probability decoding method and apparatus | |
US7020214B2 (en) | Method and apparatus for path metric processing in telecommunications systems | |
US7886209B2 (en) | Decoding device, decoding method, and receiving apparatus | |
US20130007568A1 (en) | Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program | |
JP4837645B2 (ja) | 誤り訂正符号復号回路 | |
JP2004343716A (ja) | 畳み込み符号化信号の伝送形式をブラインド検出する方法および復号器 | |
KR19990081470A (ko) | 터보복호기의 반복복호 종료 방법 및 그 복호기 | |
EP1376879A1 (en) | Turbo decoder and turbo decoding method and storage medium where the method is stored | |
JP2002076921A (ja) | 誤り訂正符号復号方法及び装置 | |
JP3632206B2 (ja) | ターボ復号器及びターボ復号方法 | |
Kim et al. | A new list decoding algorithm for short-length TBCCs with CRC | |
US6801588B1 (en) | Combined channel and entropy decoding | |
JP3823731B2 (ja) | 誤り訂正復号器 | |
Xia et al. | High throughput polar decoding using two-staged adaptive successive cancellation list decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040823 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041019 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041129 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041212 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080107 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100107 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |