JP2011114567A - ターボ復号方法及び復号器 - Google Patents

ターボ復号方法及び復号器 Download PDF

Info

Publication number
JP2011114567A
JP2011114567A JP2009268905A JP2009268905A JP2011114567A JP 2011114567 A JP2011114567 A JP 2011114567A JP 2009268905 A JP2009268905 A JP 2009268905A JP 2009268905 A JP2009268905 A JP 2009268905A JP 2011114567 A JP2011114567 A JP 2011114567A
Authority
JP
Japan
Prior art keywords
path
reverse
calculation
turbo
computation
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.)
Pending
Application number
JP2009268905A
Other languages
English (en)
Inventor
Tadahiro Omi
忠弘 大見
Naoto Miyamoto
直人 宮本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tohoku University NUC
Original Assignee
Tohoku University NUC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tohoku University NUC filed Critical Tohoku University NUC
Priority to JP2009268905A priority Critical patent/JP2011114567A/ja
Publication of JP2011114567A publication Critical patent/JP2011114567A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

【課題】 ターボ符号の復号をパイプライン化して処理する際に、パイプライン段数が増加しても学習による再帰的演算回数の増加を抑え、復号スループット及びエネルギー効率を向上させる。
【解決手段】 ターボ符号の反復的な復号を行うシーケンス長T=K×N(但し、KおよびNは正整数)のターボ復号方法において、シーケンス番号(k−1)×N+1(k=1、2、・・・、K)から前方向に反復的な復号演算を開始する第1前方向演算パスから第K前方向演算パスまでのK個の前方向演算パスを形成する工程と、第(a+1)前方向演算パス(a=1、2、・・・、K−1)の前方向状態メトリック演算結果を第a前方向演算パスの前方向状態メトリック演算結果で上書きする第1前方向上書き処理から第(K−1)前方向上書き処理までのK−1個の前方向上書き処理を具備する。
【選択図】 図3

Description

本発明は、ターボ符号の復号方法に関し、特に再帰的演算回数の少ないターボ符号の復号方法に関する。
一般に、ターボ符号器は2つの再帰的組織畳込み符号化器と、内部インターリーバーとを備え、これら2つの再帰的組織畳込み符号化器と内部インターリーバーにより、並列に連結された再帰的畳込み符号を生成する。この種のターボ符号器を用いた生成されたターボ符号は、移動体通信規格で高伝送率のデータを復号するために適用されると共に、衛星通信のように、極めて微弱な信号を復号するために適用されている。
かかるターボ符号は情報ビットシーケンスをブロック単位で処理しているが、特に大きい情報ビットシーケンスを復号する場合畳み込み符号に対して非常に優れた符号化利得を有しており、受信機側で受信されたビットシーケンスに対する復号を二つの畳み込み復号器を交互に通過するようにして繰り返し行うことによって非常に優れたエラー訂正能力を有することで知られている。
しかしながら、二つの畳み込み復号器を交互に繰り返し通過させるためには畳み込み復号器の出力が“0”または“1”にハード的に決定(Hard decision)される値ではなく“0”であるか“1”であるかの確率割合に当たるソフト的に決定(Soft decision)される値が要求される。
このために、情報ビットの事後(A Posteriori)確率値を計算して、その確率値が最大となるように復号する最大事後確率値(Maximum A Posteriori:以下MAPと略する)復号技法が提案されている。
一般に、ターボ符号の情報源は不連続時間と限定された状態を有する“マルコフ過程(Markov Process)”である。従って、情報源は二進格子(binari matrix)状のトレリス図(Trellis Diagram)で説明できる。
トレリス図でStは時間tにおける符号化器の状態を示しており、Xtは符号化器の出力を示す(Xt={0、1})。ここで、情報源の状態“St=m”は全部でM種類(但し、Mは正整数)の状態を有している(m=0、1、2、、、M−1)。トレリス図上で最も尤度の高い状態を結んだパスのことを最尤パスと呼ぶ。
時間がt−1からtに遷移する時ターボ符号化器の入力ビットdtは符号化器の状態St−1をStに変換させる。状態シーケンスS=(S1、S2、・・・、ST)は時間t=1から開始して時間t=T(但し、Tは正整数)で終了する。ターボ符号は巡回組織符号を利用しているため、符号化器の最終状態STの次の状態は初期状態S1に等しい。ここで、Tはシーケンス長と呼ばれている。
前記ターボ符号化器の出力シーケンスはBPSKまたはQPSKまたはQAMのようなさまざまな多値変調を用い、適切なコンスタレーションマッピングを経て伝送路に伝送される。伝送路では減衰が起こる。それで受信段で受信された受信シーケンスはy=(y1、y2、・・・、yT)となる。
MAPアルゴリズムは前記受信シーケンスyを用いて情報の状態遷移事後確率を推定するためのアルゴリズムであり、情報ビットの事後確率P(dt=0/y)とP(dt=1/y)とを計算する。これによって最終的に希望する対数尤度比(Log Likelihood Ratio)形態の復号化器の出力を求めることができる。
Figure 2011114567
この時情報ビットの状態遷移事後確率“P(St−1=m’、St=m、y)は次の数2のように求められる。
Figure 2011114567
前記数2においてyj<tは最初の時間からt−1までの受信シーケンスyjを示し、ytは時間tの受信シーケンスを示し、yj>tは時間t+1から最後の受信シーケンスまでを示す。
前記数2において“P(St−1=m’、yj<t)”は“αt−1(m’)”として定義され、これから“αt(S)”が定義される。αt(S)は次の数3のように求められる。
Figure 2011114567
また、前記“P(yj<t/St=m)”は“βt(m)”として定義され、これから“βt(S)”が定義される。βt(S)は次の数4のように求められる。
Figure 2011114567
P(St=m、yt/St−1=m’)は時間t−1の状態がm’のときに受信シーケンスytを受信して時間tの状態がmとなる確率であり“γt(m’、m)”として定義され、これからγt(S’、S)が定義される。
以下、前記αt(S)は前方向状態メトリクス、前記βt(S)は逆方向状態メトリクス、前記γt(S’、S)はブランチメトリクスと称する。
前記MAPアルゴリズムは非特許文献1に詳細に記載されている。
MAPアルゴリズムを用いたターボ復号器が特許文献1及び2で提案されている。特許文献1は、ターボ復号器の処理時間及び消費電力を低減するために、入力された事前情報尤度列を構成しているその場所の事前情報尤度を用いて、その場所におけるメトリクス演算の必要があるか否かを判定し、その判定に基づき、メトリクス演算が必要としないと判定した場所についてはブランチメトリクス、前方向状態メトリクス、及び逆方向状態メトリクスの演算をしないようにしている。
一方、特許文献2は、信号対干渉比等に基づいて、逆拡散後の受信データに重み付けを行い、重み付け処理後の受信データに対して、前方向状態メトリクスの上書き処理、逆方向状態メトリクスの上書き処理、及び尤度演算処理におけるACS(Add−Compare−Select)演算を行うと共に、ACS演算の演算過程で生じる差分の値に対応して予め定められた値によりACS演算の結果を補正するターボ復号方法及び受信機を提案している。
特許文献3は、畳込み符号の復号化方法を開示しており、ここでは、プロセッサにより前方向状態メトリクス、逆方向状態メトリクス、及びブランチメトリクスとが同一であるようにして使用する各状態でのデュアルマクシマ計算を行っている。また、プロセッサにおける連続反復動作をパイプライン化することが特許文献3に記載されている。
前記数3に記載の前方向状態メトリックの計算式および前記数4に記載の逆方向状態メトリックの計算式はともに漸化式である。以下、前記数3の演算を前方向演算、前記数4の演算を逆方向演算と称する。
前記前方向演算および前記逆方向演算をパイプライン演算器構成を用いて短時間で計算する方法としてブロックインターリーブパイプライン(以下、BIPと略する)方式が提案されている。
BIP方式は前記受信シーケンスyを第1ブロック=(y0、y1、・・・yT/K−1)から第Kブロック=(y(K−1)×T/K、y(K−1)×T/K+1、・・・、yT)までのK個(但し、Kは正整数)のブロックに分割する。以後、BIP方式におけるブロックサイズをN(但し、Nは正整数)とする。
第1ブロックから第Kブロックまでブロック毎に1シンボルずつMAP復号器に前記受信シーケンスyを入力する。あるブロックが前記受信シーケンスyをMAP復号器に入力する間隔はKクロックであり、1シンボルあたりの状態メトリクスの演算レイテンシーはKクロックである。従って、状態メトリクスを計算する状態メトリクス演算器を適切にレジスタリタイミングすることにより、K段パイプライン構成の状態メトリクス演算器を構成することができる。
このように、BIP方式ではブロック数とパイプライン段数は等しくなる。以後、BIP方式におけるパイプライン段数をK(但し、Kは正整数)とする。
K段パイプライン構成の前記状態メトリクス演算器を用いることにより、K段パイプライン構成のMAP復号器を構築できる。これにより、最大K倍の演算スループットを得ることができる。
前記BIP方式は非特許文献2に詳細に記載されている。
トレリスが終端(Termination)されたターボ符号では、第1ブロック以外のブロックで前記前方向演算を開始するには漸化式の初期値が必要である。また、第Kブロック以外のブロックで前記逆方向演算を開始するには漸化式の初期値が必要である。
トレリスが終端されていないターボ符号では、すべてのブロックで前記前方向演算および前記逆方向演算を開始するには漸化式の初期値が必要である。
漸化式の初期値を導出する方法として「学習(Learning)」がある。
学習の詳細は特許文献3に記載されている。
状態メトリクスは最初小さな値であっても、少しの学習期間の後にはあたかも状態メトリクスの集合はトレリスが終端された初期(或いは最終)トレリスレベルからプロセスが始まったかのような信頼性を有する。
この学習期間の長さをLとする。Lは拘束長の5倍から6倍程度が必要とされている。Lの長さは前記受信シーケンスyの状態によらず常に一定である。学習は漸化式の初期値を必要とするすべてのブロックで必要であり、Kに比例して総学習期間が増加する。そのため、ターボ復号のパイプライン化による高速化を阻害するという問題が生じる。
図1は、従来の学習を用いたBIPにおける前方向演算のトレリス実行順序を示す。ここでは、パイプライン段数K、ブロックサイズN、シーケンス長K×N、学習期間の長さL、トレリスが終端されたターボ符号の場合を示している。前方向演算パス1はトレリスレベル1からトレリスレベルNまでの前方向演算を実行する。前方向演算パスk(k=2、3、・・・、K)はトレリスレベル(k−1)×N−L+1からトレリスレベルk×Nまでの前方向演算を実行する。ここで、前方向演算パスkにおけるトレリスレベル(k−1)×N−L+1からトレリスレベル(k−1)×Nまでの前方向演算11及び13が前記学習期間に相当する。
図2は、従来の学習を用いたBIPにおける逆方向演算のトレリス実行順序を示す。ここでは、パイプライン段数K、ブロックサイズN、シーケンス長K×N、学習期間の長さL、トレリスが終端されたターボ符号の場合を示している。逆方向演算パスk(k=1、2、・・・、K−1)はトレリスレベルk×N+Lからトレリスレベル(k−1)×N+1までの逆方向演算を実行する。逆方向演算パスKはトレリスレベルK×Nからトレリスレベル(K−1)×N+1までの逆方向演算を実行する。ここで、逆方向演算パスkにおけるトレリスレベルk×N+Lからトレリスk×N+1までの逆方向演算20及び22が前記学習期間に相当する。
トレリスが終端されていない場合のターボ復号方法としてTailbiting法がある。Tailbiting法は漸化式の初期値を「学習」を用いて導出しない。そのかわりに、古い演算結果を同一演算パスの新しい演算結果で「上書き」することで、漸化式の初期値が正しく設定されていなくても最終的に正しい復号結果を得ることができる。
前記Tailbiting法は非特許文献3に詳細に記載されている。
前記Tailbiting法の前方向演算では初期状態S1=m(m=0、1、2、、、M−1)である確率を暫定的に1/(M+1)としてトレリスレベル1から最終トレリスレベルTまで前方向演算を実行する。ターボ符号では最終状態STの1トレリスレベル後の状態は初期状態S1と等しいという性質を利用することにより、MAP復号が最終トレリスレベルTに達した後、STとyTからST+1を計算する。そして、ST+1をS1に代入し、再度トレリスレベル1から前方向演算を実行する。その際、新しい前方向演算の演算結果で古い前方向演算の演算結果を「上書き」する。その後、古い前方向演算の演算結果と新しい前方向演算結果とが一致するトレリスレベルで前方向演算が終了する。
前記Tailbiting法の逆方向演算では最終状態ST=m(m=0、1、2、、、M−1)である確率を暫定的に1/(M+1)として最終トレリスレベルTからトレリスレベル1まで逆方向演算を実行する。ターボ符号では初期状態S1の1トレリスレベル前の状態は最終状態STと等しいという性質を利用することにより、MAP復号が初期トレリスレベル1に達した後、S1とy1からS0を計算する。そしてS0をSTに代入し、再度トレリスレベルTから逆方向演算を実行する。その際、新しい逆方向演算の演算結果で古い逆方向演算の演算結果を「上書き」する。その後、古い逆方向演算の演算結果と新しい逆方向演算結果とが一致するトレリスレベルで逆方向演算は終了する。
以後、上書き期間の長さをUとする。非特許文献3に記載された実験結果では、拘束長が7の場合Uは40となることが示されている。ここからUの長さは拘束長の5倍から6倍程度が必要であるとわかる。これは前記学習期間の長さLとほぼ同等の値である。
特開2003−318746号公報 特開2002−16503号公報 特表2001−503588号公報
‘L.R.BAHR、J.COCKE、F.JELINEK、J.RAVIV、"Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate、"IEEE TRANSACTIONS ON INFORMATION THEORY、PP.284−287、MAR.1974.’ ‘Seok−Jun Lee、 Naresh R. Shanbhag、Andrew C. Singer、"Area−Efficient High−Throughput MAP Decoder Architectures、"IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION SYSTEMS、VOL.13、NO.8、PP.921−933、AUG.2005’ ‘John B. Anderson、Stephan M. Hladik、"Tailbiting MAP Decoders、" IEEE JOURNAL OF SELECTED AREAS IN COMMUNICATIONS、VOL.16、NO.2、PP.297−302、FEB.1998’
特許文献1及び2及び非特許文献1及び3は、ターボ符号を高速に復号するためにパイプラインによる演算処理することについて何等考慮されていない。
他方、特許文献3及び非特許文献2は、パイプライン化による高速処理について示唆しているものの、パイプライン段数の増加に伴う前方向状態メトリクス演算及び逆方向状態メトリクス演算を更に高速化することについて、開示していない。
本発明の課題は、深いパイプライン処理をより高速化できるターボ復号方法及び復号器を提供することである。
本発明の第1例によるターボ復号方法は、ターボ符号の反復的な復号を行うシーケンス長T=K×N(但し、KおよびNは正整数)のターボ復号方法において、シーケンス番号(k−1)×N+1(k=1、2、・・・、K)から前方向に反復的な復号演算を開始する第1前方向演算パスから第K前方向演算パスまでのK個の前方向演算パスを形成する工程と、第(a+1)前方向演算パス(a=1、2、・・・、K−1)の前方向状態メトリック演算結果を第a前方向演算パスの前方向状態メトリック演算結果で上書きする第1前方向上書き処理から第(K−1)前方向上書き処理までのK−1個の前方向上書き処理を備えることを特徴とする。
前記ターボ復号方法は、前記第(a+1)前方向演算パスの前方向状態メトリック演算結果と前記第a前方向演算パスの前方向状態メトリック演算結果が一致したときに、前記第a前方向上書き処理を停止することを特徴としてもよい。
本発明の第2例によるターボ復号方法は、ターボ符号の反復的な復号を行うシーケンス長T=K×N(但し、Nは正整数)のターボ復号方法において、シーケンス番号k×N(k=1、2、・・・、K)から逆方向に反復的な復号演算を開始する第1逆方向演算パスから第K逆方向演算パスまでのK個の逆方向演算パスを形成する工程と、第b逆方向演算パス(b=1、2、・・・、K−1)の逆方向状態メトリック演算結果を第(b+1)逆方向演算パスの逆方向状態メトリック演算結果で上書きする第1逆方向上書き処理から第(K−1)逆方向上書き処理までのK−1個の逆方向上書き処理を備えることを特徴とする。
前記ターボ復号方法は、前記第b逆方向演算パスの逆方向状態メトリック演算結果と前記第(b+1)逆方向演算パスの逆方向状態メトリック演算結果が一致したときに、前記第b逆方向上書き処理を停止することを特徴としてもよい。
本発明の第3例によるターボ復号器は、ターボ符号の反復的な復号を行うシーケンス長T=K×N(但し、KおよびNは正整数)のターボ復号器において、シーケンス番号(k−1)×N+1(k=1、2、・・・、K)から前方向に反復的な復号演算を開始する第1前方向演算パスから第K前方向演算パスまでのK個の前方向演算パスを形成する手段と、第(c+1)前方向演算パス(c=1、2、・・・、K−1)の前方向状態メトリック演算結果を第c前方向演算パスの前方向状態メトリック演算結果で上書きする第1前方向上書き処理から第(K−1)前方向上書き処理までのK−1個の前方向上書き処理を実行する手段を備えることを特徴とする。
前記ターボ復号器は、前記第(c+1)前方向演算パスの前方向状態メトリック演算結果と前記第c前方向演算パスの前方向状態メトリック演算結果が一致したときに、前記第c前方向上書き処理を停止する手段を有することを特徴としてもよい。
本発明の第4例によるターボ復号器は、ターボ符号の反復的な復号を行うシーケンス長T=K×N(但し、Nは正整数)のターボ復号器において、シーケンス番号k×N(k=1、2、・・・、K)から逆方向に反復的な復号演算を開始する第1逆方向演算パスから第K逆方向演算パスまでのK個の逆方向演算パスを形成する手段と、第d逆方向演算パス(d=1、2、・・・、K−1)の逆方向状態メトリック演算結果を第(d+1)逆方向演算パスの逆方向状態メトリック演算結果で上書きする第1逆方向上書き処理から第(K−1)逆方向上書き処理までのK−1個の逆方向上書き処理を実行する手段を備えることを特徴とする。
前記ターボ復号器は、前記第d逆方向演算パスの逆方向状態メトリック演算結果と前記第(d+1)逆方向演算パスの逆方向状態メトリック演算結果が一致したときに、前記第d逆方向上書き処理を停止する手段を有することを特徴としてもよい。
以上のように、本発明によるターボ復号方法及び復号装置では、ターボ復号器をパイプライン化した際に、ある前方向状態演算パス乃至逆方向演算パスの状態メトリック演算結果を後から計算する別の前方向状態演算パス乃至逆方向演算パスの状態メトリック演算結果で上書きすることで、従来技術で必要となる学習期間をなくすことができる。
また、本発明によるターボ復号方法及び復号装置では、上書き期間の長さUは状態メトリック演算結果に合わせて最適な長さとなる。上書き期間の長さは従来技術における学習期間の長さの半分以下にできる。
これにより、とりわけ深いパイプライン化を行う場合、前方向演算処理回数および逆方向演算処理回数を削減することができ、復号スループットと復号エネルギー効率を向上することができる。
従来の学習を用いた前方向演算のトレリスの実行順序を示す図である。 従来の学習を用いた逆方向演算のトレリスの実行順序を示す図である。 本発明を用いた前方向演算のトレリスの実行順序を示す図である。 本発明を用いた逆方向演算のトレリスの実行順序を示す図である。 本発明の一実施例による前方向演算を示すトレリス図である。 本発明の一実施例による前方向演算を示すトレリス図である。 本発明の一実施例によるターボ復号器の構成を示すブロック図である。 本発明の一実施例による上書き期間の長さと学習期間の長さの比較図である。
以下に、添付図を参照して、本発明の実施例によるターボ復号方法及び復号装置について詳細に説明する。
図3は、本発明を用いた前方向演算のトレリス実行順序を示す。ここでは、パイプライン段数K、ブロックサイズN、シーケンス長K×N、上書き期間の長さU、トレリスが終端されたターボ符号の場合を示している。前方向演算パスは前方向演算パス1から前方向演算パスKまで全部でK個ある。前方向演算パスk(k=1、2、・・・、K−1)はトレリスレベル(k−1)×N+1からトレリスレベルk×N+Uまで順に前方向演算を実行する。前方向演算パスKはトレリスレベル(K−1)×N+1からトレリスレベルK×Nまで順に前方向演算を実行する。ここで、前方向演算パスkにおけるトレリスレベルk×N+1からトレリスレベルk×N+Uまでの前方向演算31及び33が前記上書き期間に相当する。
それぞれの前方向演算パスの状態メトリック演算はBIP方式の状態メトリック演算器で実行される。状態メトリック演算器に入力される入力シーケンスyの順序は、1、N+1、2×N+1、・・・、(K−1)×N+1、2、N+2、2×N+2、・・・、(K−1)×N+2、3、N+3、・・・、となる。このように、各前方向演算パスから1トレリスレベルずつ処理することで、各前方向演算パスの演算レイテンシーはKクロックとなり、状態メトリック演算器を適切にレジスタリタイミングすることで、K段パイプラン構成の状態メトリックを利用できる。
このように、すべての前方向演算パスを同時にパイプライン処理していくため、同一のトレリスレベルの演算でありながら、異なる前方向演算パスで異なる時間に演算結果が出力される。たとえば、前方向演算パス1のトレリスレベルN+1の演算結果が、前方向演算パス2のトレリスレベルN+1の演算結果よりも後に出力される。
ターボ符号の復号は、「状態メトリクスの初期値が間違っていても、少しの学習期間の後にはあたかも状態メトリクスの集合はトレリスが終端された初期(或いは最終)トレリスレベルからプロセスが始まったかのような信頼性を有する」、という性質がある。
たとえば、前方向演算パス2において、トレリスレベルN+1の状態メトリクスSN+1(m)=1/(M+1)(但し、m=0、1、・・・、M−1)として前方向演算を開始した場合、期間U後の状態メトリクスSN+U(m)はSN+1(m)が終端された場合と同じ演算結果が得られる。したがって、前方向演算パス2において、トレリスレベルN+U以降は正しい復号結果が得られる。
一方、前方向演算パス2において、トレリスレベルN+1からトレリスレベルN+U−1までは間違った復号結果となる。そこで、前方向演算パス1のトレリスレベルN+1からトレリスレベルN+U−1の演算結果を用いて前方向演算パス2のトレリスレベルN+1からトレリスレベルN+U−1の演算結果を上書きする。前方向演算パス1のトレリスレベルN+1からトレリスレベルN+U−1の演算結果は、トレリスが終端された初期レベルからプロセスが始まったかのような信頼性を有しており、これにより正しいトレリスレベルN+1からトレリスレベルN+U−1の復号結果を得ることができる。
学習期間の長さLは拘束長の5倍から6倍以上必要と言われている。また、Lは漸化式の初期トレリスレベルとして決定された固定値であり、最悪の復号条件でも正しく復号結果が出力できるように十分長い期間が必要である。一方、上書き期間の長さUは漸化式の最終トレリスレベルを決める値であり、受信シーケンスyのビットあたりの電力密度対雑音電力密度比(Eb/No)や1イタレーション前の状態メトリック演算結果などに合わせて適応的に変えられる可変値である。したがって、UはLの1/2以下に短縮することができる。このことは、パイプライン段数に比例して学習(或は上書き)期間が必要なBIP方式のターボ復号器において、再帰計算回数を減らし復号スループットとエネルギー効率を向上させるのに役立つ。
図4は、本発明を用いた逆方向演算のトレリス実行順序を示す。ここでは、パイプライン段数K、ブロックサイズN、シーケンス長K×N、上書き期間の長さU、トレリスが終端されたターボ符号の場合を示している。逆方向演算パスは逆方向演算パス1から逆方向演算パスKまで全部でK個ある。逆方向演算パス1はトレリスレベルNからトレリスレベル1まで順に逆方向演算を実行する。逆方向演算パスk(k=2、3、・・・、K)はトレリスレベルk×Nからトレリスレベル(k−1)×N−U+1まで順に逆方向演算を実行する。ここで、逆方向演算パスkにおけるトレリスレベル(k−1)×Nからトレリスレベル(k−1)×N−U+1までの逆方向演算42及び44が前記上書き期間に相当する。
本発明を用いた逆方向演算のトレリス実行順序の特徴は、図3に示した本発明を用いた前方向演算のトレリス実行順序の特徴と比較して、トレリスレベルが逆向きになっている以外は同一である。
図5は、本発明を用いた前方向演算のトレリス図の一例である。ここでは、情報源の状態数M=4、トレリスが終端されたターボ符号の場合を示している。前方向演算パスk+1が再帰的演算を開始するトレリスレベルk×N+1のとき、漸化式の初期値として状態メトリックSk×N+1(m)の値をすべて1/4に初期化している。このため、前方向演算パスk+1の最大メトリックパス100にはトレリスレベルk×N+1から出るパスはない。この例では、前方向演算パスk+1の最大メトリックパス100と前方向演算パスkの最大メトリックパス101が一度でも一致した場合に、前方向演算パスkの上書き処理を停止させている。トレリスレベルk×N+4のとき前方向演算パスk+1の最大メトリックパス100と前方向演算パスkの最大メトリックパス101が一致している。したがって、トレリスレベルk×N+4のとき前方向演算パスkの上書き処理は停止する。この場合、上書き期間の長さU=4である。
上書き処理を停止させる条件は、前方向演算パスk+1の最大メトリックパス100と前方向演算パスkの最大メトリックパス101の一致回数のほかに、前方向演算パスk+1の状態メトリック値と前方向演算パスkの各トレリスレベルにおける状態メトリック値の一致度などでも決定できる。
図6は、本発明を用いた前方向演算を示すトレリス図の一例である。ここでは、情報源の状態数M=4、トレリスが終端されたターボ符号の場合を示している。前方向演算パスk+1が再帰的演算を開始する時間トレリスレベルk×N+1のとき、漸化式の初期値として前方向状態メトリックSk×N+1(m)112の値をすべて1/4に初期化するかわりに、1イタレーション前の前方向状態メトリックの演算結果S’k×N+1(m)をSk×N+1(m)112に代入する。この例ではS’k×N+1(m=3)が最大の前方向状態メトリック値をもつため、前方向演算パスk+1が再帰的演算を開始するトレリスレベルk×N+1において前方向演算パスk+1の最大メトリックパス110はm=3から始まる。同一受信シーケンスyの復号では、ある前方向演算パスの状態メトリック値とその1イタレーション前の前方向演算パスの状態メトリック値との間には強い相関関係があるため、これらの前方向演算パスの最大メトリックパスは高い類似性を持つ。したがって、Sk×N+1(m)112の値をすべて1/4に初期化する場合よりも、S’k×N+1(m)をSk×N+1(m)112に代入する方が、前方向演算パスk+1の最大メトリックパス110と前方向演算パスkの最大メトリックパス111が短い上書き期間で一致する可能性が高い。
本発明を用いた後方向演算を示すトレリス図の特徴は、図6に示した本発明を用いた前方向演算を示すトレリス図の特徴と比較して、トレリスレベルが逆向きになっている以外は同一である。
図7は、本発明の一実施例によるターボ復号器の構成を示すブロック図である。入力RAM120にはターボ符号で符号化された組織符号および検査符号が入力されRAMに記憶される。RAM制御121は入力RAM120のアドレス情報を出力する。インターリーブ系列でターボ復号を行う場合は、インターリーバー128が出力するインターリーブ系列を用いてRAM制御121は入力RAM120のアドレス情報を決定する。前方向計算122は入力RAM120の出力信号をもとに前方向演算を実行する。逆方向計算123は入力RAM120の出力信号をもとに逆方向演算を実行する。前方向状態メトリックRAM124はRAM制御121が出力するアドレス情報を元に前方向計算122が出力する前方向状態メトリック値をRAMに記憶する。逆方向状態メトリックRAM125はRAM制御121が出力するアドレス情報を元に逆方向計算123が出力する逆方向状態メトリック値をRAMに記憶する。外部値計算126は前方向計算122と前方向状態メトリックRAM124と逆方向計算123と逆方向状態メトリックRAM125の出力を用いて外部値を計算する。外部値計算126の出力信号は入力RAM120に送られ、次回のイタレーションにおいて事前値として用いられる。対数尤度比計算127は前方向計算122と前方向状態メトリックRAM124と逆方向計算123と逆方向状態メトリックRAM125と入力RAM120の出力信号を用いて対数尤度比を計算する。対数尤度比計算127の出力信号は硬判定129に送信される。硬判定129はターボ復号の復号情報ビットを出力する。前方向上書き判定130は前方向計算122と前方向状態メトリックRAM124の出力信号から古い前方向演算パスと新しい前方向演算パスが一致するかどうか判定し、上書き処理を停止するか否かの判断結果を出力する。前方向上書き判定130が出力する上書き処理を停止するか否かの判断結果はRAM制御121に送信される。逆方向上書き判定131は逆方向計算123と逆方向状態メトリックRAM125の出力信号から古い逆方向演算パスと新しい逆方向演算パスが一致するかどうか判定し、上書き処理を停止するか否かの判断結果を出力する。逆方向上書き判定131が出力する上書き処理を停止するか否かの判断結果はRAM制御121に送信される。
尚、RAM120、124、125以外の制御、計算等は、ハードウェアによって実行されても良いし、ソフトウェアを用いて実行されても良い。
図8は、本発明の一実施例による上書き期間の長さ150を従来技術の学習期間の長さ151と比較した図を示す。図の横軸はビットあたりの電力密度対電力密度比(Eb/No)であり、通信状態を表す1つのパラメータである。ここでは、WiMAX規格のターボ符号、パイプライン段数K=2、シーケンス長T=24、イタレーション回数=6の場合を示している。この例では、図5の場合と同様、前方向演算パス1の最大メトリックパス100と前方向演算パス2の最大メトリックパス101が一度でも一致した場合に、前方向演算パス1の上書き処理を停止するように設定している。拘束長=3の場合、一般的な学習期間の長さLは16である。本発明による上書き期間の長さ150はビットあたりの電力密度対電力密度比(Eb/No)を0から8dBまで変化させた際に2から6の間となり、学習期間の長さ151の半分以下の長さであることがわかる。この例から、本発明を用いたターボ復号器および復号方法は、通信状態に適応して再帰的演算回数を減少させ、復号スループット及びエネルギー効率を向上させることが可能であることがわかる。
移動体通信規格で高伝送率のデータを復号するために適用されると共に、衛星通信のように、極めて微弱な信号を復号するために適用されている。特に、パイプライン化による復号の高スループット化及び高エネルギー効率化に適する。
10、12、14、30、32、34:通常の前方向演算期間
21、23、24、40、41、43:通常の逆方向演算期間
11、13:前方向の学習期間
20、22:後方向の学習期間
31、33:前方向の上書き期間
42、44:後方向の上書き期間
100、110:前方向演算パスk+1の最大メトリックパス
101、111:前方向演算パスkの最大メトリックパス
112:前方向演算パスk+1の前方向状態メトリックの初期値
120:入力RAM
121:RAM制御
122:前方向計算
123:逆方向計算
124:前方向メトリックRAM
125:逆方向メトリックRAM
126:外部値計算
127:対数尤度比計算
128:インターリーバー
129:硬判定
130:前方向上書き判定
131:逆方向上書き判定
150:上書き期間の長さ
151:学習期間の長さ

Claims (10)

  1. ターボ符号の反復的な復号を行うシーケンス長T=K×N(但し、KおよびNは正整数)のターボ復号方法において、
    シーケンス番号(k−1)×N+1(但し、k=1、2、・・・、K)から前方向に反復的な復号演算を開始する第1前方向演算パスから第K前方向演算パスまでのK個の前方向演算パスを形成する工程と、
    第(a+1)前方向演算パス(但し、a=1、2、・・・、K−1)の前方向状態メトリック演算結果を第a前方向演算パスの前方向状態メトリック演算結果で上書きする第1前方向上書き処理から第(K−1)前方向上書き処理までのK−1個の前方向上書き処理を備えることを特徴とするターボ復号方法。
  2. 前記第(a+1)前方向演算パスの前方向状態メトリック演算結果と前記第a前方向演算パスの前方向状態メトリック演算結果が一致したときに、前記第a前方向上書き処理を停止することを特徴とする請求項1に記載のターボ復号方法。
  3. ターボ符号の反復的な復号を行うシーケンス長T=K×N(但し、Nは正整数)のターボ復号方法において、
    シーケンス番号k×N(但し、k=1、2、・・・、K)から逆方向に反復的な復号演算を開始する第1逆方向演算パスから第K逆方向演算パスまでのK個の逆方向演算パスを形成する工程と、
    第b逆方向演算パス(但し、b=1、2、・・・、K−1)の逆方向状態メトリック演算結果を第(b+1)逆方向演算パスの逆方向状態メトリック演算結果で上書きする第1逆方向上書き処理から第(K−1)逆方向上書き処理までのK−1個の逆方向上書き処理を備えることを特徴とするターボ復号方法。
  4. 前記第b逆方向演算パスの逆方向状態メトリック演算結果と前記第(b+1)逆方向演算パスの逆方向状態メトリック演算結果が一致したときに、前記第b逆方向上書き処理を停止することを特徴とする請求項3に記載のターボ復号方法。
  5. ターボ符号の反復的な復号を行うシーケンス長T=K×N(但し、KおよびNは正整数)のターボ復号器において、
    シーケンス番号(k−1)×N+1(但し、k=1、2、・・・、K)から前方向に反復的な復号演算を開始する第1前方向演算パスから第K前方向演算パスまでのK個の前方向演算パスを形成する手段と、
    第(c+1)前方向演算パス(但し、c=1、2、・・・、K−1)の前方向状態メトリック演算結果を第c前方向演算パスの前方向状態メトリック演算結果で上書きする第1前方向上書き処理から第(K−1)前方向上書き処理までのK−1個の前方向上書き処理を実行する手段を備えることを特徴とするターボ復号器。
  6. 前記第(c+1)前方向演算パスの前方向状態メトリック演算結果と前記第c前方向演算パスの前方向状態メトリック演算結果が一致したときに、前記第c前方向上書き処理を停止する手段を有することを特徴とする請求項5に記載のターボ復号器。
  7. ターボ符号の反復的な復号を行うシーケンス長T=K×N(但し、Nは正整数)のターボ復号器において、
    シーケンス番号k×N(但し、k=1、2、・・・、K)から逆方向に反復的な復号演算を開始する第1逆方向演算パスから第K逆方向演算パスまでのK個の逆方向演算パスを形成する手段と、
    第d逆方向演算パス(但し、d=1、2、・・・、K−1)の逆方向状態メトリック演算結果を第(d+1)逆方向演算パスの逆方向状態メトリック演算結果で上書きする第1逆方向上書き処理から第(K−1)逆方向上書き処理までのK−1個の逆方向上書き処理を実行する手段を備えることを特徴とするターボ復号器。
  8. 前記第d逆方向演算パスの逆方向状態メトリック演算結果と前記第(d+1)逆方向演算パスの逆方向状態メトリック演算結果が一致したときに、前記第d逆方向上書き処理を停止する手段を有することを特徴とする請求項7に記載のターボ復号器。
  9. 前記上書き処理の期間は、可変長であることを特徴とする請求項1〜4のいずれか一項に記載のターボ復号方法。
  10. 前記上書き処理の期間は、可変長であることを特徴とする請求項5〜8のいずれか一項に記載のターボ復号器。
JP2009268905A 2009-11-26 2009-11-26 ターボ復号方法及び復号器 Pending JP2011114567A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009268905A JP2011114567A (ja) 2009-11-26 2009-11-26 ターボ復号方法及び復号器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009268905A JP2011114567A (ja) 2009-11-26 2009-11-26 ターボ復号方法及び復号器

Publications (1)

Publication Number Publication Date
JP2011114567A true JP2011114567A (ja) 2011-06-09

Family

ID=44236587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009268905A Pending JP2011114567A (ja) 2009-11-26 2009-11-26 ターボ復号方法及び復号器

Country Status (1)

Country Link
JP (1) JP2011114567A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004266324A (ja) * 2003-01-23 2004-09-24 Sony Ericsson Mobilecommunications Japan Inc データ受信方法及び装置
JP2005109771A (ja) * 2003-09-30 2005-04-21 Fujitsu Ltd 最大事後確率復号方法及び装置
JP2006041960A (ja) * 2004-07-28 2006-02-09 Nec Corp ターボ復号装置及びターボ復号方法並びにプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004266324A (ja) * 2003-01-23 2004-09-24 Sony Ericsson Mobilecommunications Japan Inc データ受信方法及び装置
JP2005109771A (ja) * 2003-09-30 2005-04-21 Fujitsu Ltd 最大事後確率復号方法及び装置
JP2006041960A (ja) * 2004-07-28 2006-02-09 Nec Corp ターボ復号装置及びターボ復号方法並びにプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN6013055290; Ming Li et al.: 'A Pipeline Sliding Window Max-Log-Map Turbo Decoder' High Density packaging and Microsystem Integration, 2007. HDP '07. International Symposium on , 20070628 *
JPN6013055292; 新井 宏明 外4名: 'Tailbiting BIPを用いたWiMAX用ターボデコーダ' 電子情報通信学会技術研究報告 Vol.109, No.318, 20091125, pp.13-18 *
JPN6013055293; Xizhong Lou et al.: 'Pipelined Parallel Architectures for High Throughput Turbo Decoding' Circuits and Systems, 2006. APCCAS 2006. IEEE Asia Pacific Conference on , 20061207, pp.1116-1119 *
JPN6014000456; Hiroaki Arai et al.: 'A WiMAX turbo decoder with tailbiting BIP architecture' Solid-State Circuits Conference, 2009. A-SSCC 2009. IEEE Asian , 20091118, pp.377-380 *

Similar Documents

Publication Publication Date Title
AU716761B2 (en) An optimal soft-output decoder for tail-biting trellis codes
JP3807484B2 (ja) 確率依存グラフにおいて汎用の符号を復号化するための方法および装置
KR101323444B1 (ko) 반복적 디코더 및 반복적 디코딩 방법
US7657819B2 (en) Method and apparatus for termination of iterative turbo decoding
JP4227481B2 (ja) 復号装置および復号方法
EP1122890A2 (en) MAP decoding with parallelized sliding window processing
JP2004080508A (ja) 誤り訂正符号の復号方法、そのプログラム及びその装置
JP2004343716A (ja) 畳み込み符号化信号の伝送形式をブラインド検出する方法および復号器
US20130007568A1 (en) Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program
KR101051933B1 (ko) 트렐리스의 버터플라이 구조를 이용한 맵 디코딩을 위한메트릭 계산
CN108134612B (zh) 纠正同步与替代错误的级联码的迭代译码方法
EP1376879A1 (en) Turbo decoder and turbo decoding method and storage medium where the method is stored
JP2004349901A (ja) ターボ復号器及びそれに用いるダイナミック復号方法
JP2002076921A (ja) 誤り訂正符号復号方法及び装置
JP3823731B2 (ja) 誤り訂正復号器
CN113644919A (zh) 一种提升DVB-RCS2中Turbo译码性能的方法及译码结构
JP2011114567A (ja) ターボ復号方法及び復号器
JP3892471B2 (ja) 復号方法
Zhu et al. An improved decoding of tail-biting convolutional codes for LTE systems
US10116337B2 (en) Decoding method for convolutionally coded signal
JP2001352256A (ja) 復号装置及び復号方法
US9647798B2 (en) Decoding method using dynamic scaler factor
CN103973319B (zh) 全整数Turbo码迭代译码的方法和系统
JP2006115534A5 (ja)
JP2004266324A (ja) データ受信方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120924

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140521