JP2009246474A - ターボデコーダ - Google Patents
ターボデコーダ Download PDFInfo
- Publication number
- JP2009246474A JP2009246474A JP2008087865A JP2008087865A JP2009246474A JP 2009246474 A JP2009246474 A JP 2009246474A JP 2008087865 A JP2008087865 A JP 2008087865A JP 2008087865 A JP2008087865 A JP 2008087865A JP 2009246474 A JP2009246474 A JP 2009246474A
- Authority
- JP
- Japan
- Prior art keywords
- state transition
- metric
- alpha
- unit
- transition probability
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
- H03M13/3916—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding for block codes using a trellis or lattice
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
【課題】αメトリクス及びβメトリクスの計算に要する時間を短縮することが望ましい。
【解決手段】一実施形態によるターボデコーダは、データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算部と、前記状態遷移確率計算部において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算部と、前記状態遷移確率計算部において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算部において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化部とを有し、前記アルファ・ベータメトリクス計算部は時系列における複数回分の処理を同時に計算する。
【選択図】図15
【解決手段】一実施形態によるターボデコーダは、データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算部と、前記状態遷移確率計算部において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算部と、前記状態遷移確率計算部において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算部において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化部とを有し、前記アルファ・ベータメトリクス計算部は時系列における複数回分の処理を同時に計算する。
【選択図】図15
Description
本件はターボ符号の復号に関し、より具体的には、アルファ及びベータ計算の高速化及びメモリ削減を行えるターボデコーダに関する。
シャノン限界に近づく符号化方法として、ターボ符号が注目されている。ターボ符号は、送信側において二つ以上の相互に統計的に無相関の畳み込み符号器により符号化されデータを、受信側において、その無相関性を利用して、繰り返し再帰演算をすることにより誤り率を下げるという「ターボ原理」に基づいている。
まず、ターボ符号のエンコーダの一般的な構成を説明する。図1は、ターボエンコーダの一般的な構成を示すブロック図である。
図1に示したターボエンコーダ10では、分配器11において、送信データを偶数・奇数のデータ列A、Bに分け、畳み込み符号器12において、フラグビットY1、W1を計算して送信する。さらにバーストデータはバースト上に発生するノイズに弱いために、インターリーバー13において、各データ列の並びを変えた後に、畳み込み符号器14において、再びフラグビットY2、W2を計算して送信する。フラグビットY1、W1、Y2、W2は必ずしもすべてを同時に送信するものではなく、その一部を送信して、受信側でエラーが生じた場合に、別の組合せで送信する等の処理が行われる。
畳み込み符号器12、14は基本的に同一のものであり、図1にはその構成を拡大して示した。
なお、本例ではIEEE802.16(WiMAX)で規定されている符号計算を示したが、その他の通信方式(例えば、CDMA)であっても、符号計算式は異なるが、基本的な構成は変わらない。
次に、ターボデコーダにおける処理を説明するが、デコーダの構成を説明する前に、ターボ符号の復号法の1つである、トレリス状態遷移を用いた最大事後確率(MAP)復号アルゴリズムの概要を説明する。
図1に示したエンコーダで生成された畳み込み方式のデータ列を復号するためには、図2に示したように、トレリスを用いて、その遷移確率を計算して、遷移毎にスコアをつけることで、遷移状態からデータ列を推測していく方法が使われている。図2は、トレリス状態遷移の一例を示す図である。
ターボデコーダでは、トレリス遷移の繰り返し処理により遷移確率を上げる様にしている(図3参照)。またターボデコーダでは、最大事後確率復号(MAP復号)と称して、データを前方から遷移させていくトレリスの他に、データを後方から遷移させていくトレリスを用意している(図4参照)。前方方向からの計算がαメトリクス、後方方向からの計算がβメトリクスと呼ばれるものである。そしてこれら2つを考慮することで、より精度の高い推測を行うものである。
αとβの遷移は、図1に示したターボエンコーダ100の畳み込み符号器12、14のレジスタS1、S2、S3の遷移に依存する。これらのαとβは遷移しながら、重み数を増やしていくのだが、それらの重み数がαとβ値としてその次の段の回路へ渡される。表1に、実際のαメトリクスの値の一例を示す。各列は、左からトレリス0、...、7に対応している。
状態遷移確率計算部51は、データA、Bと、フラグY、Wと、前段の事前確率Leとから、状態遷移確率γを求める。前方方向トレリスα53と、後方方向トレリスβ54とは、状態遷移確率計算部51において求めた状態遷移確率γから、それぞれ、前方方向及び後方方向のトレリス計算を行う。λ正規化部52は、状態遷移確率計算部51で求めた状態遷移確率γと、前方方向トレリスα53及び後方方向トレリスβ54において行った前方方向及び後方方向のトレリス計算の結果α、βとから、復号データ及び事前確率Leとを求める。この事前確率Leは次段のターボデコーダ単体に送られる。
トレリスに関しては、トレリスをより確実なものにするために、復号データに対して2倍の長さを実施する。これは入力データ列をA0〜An 、B0〜Bn 、Y0〜Yn 、W0〜Wn として求めたγをγ0〜γnとしてこれが、αとβの入力になるときに、状態は8状態存在するので、トレリスは以下の様に検索していく。ここで最初のγ0〜γn までに関してはトレリス遷移のみ精度を上げていくだけで、λ入力には使用しないようにするのである。
以上は、ターボデコーダ単体の説明であるが、ターボデコーダでは、バーストノイズに対する復号率を高めるためにインターリーブした符号に対しても同様な処理を行うので、ターボデコーダ全体としては、図6に示す様な構成になる。図6は、ターボデコーダ全体の一般的な構成を示すブロック図である。
図6に示したターボデコーダ全体60は、入力したデータ列A、Bと、フラグY1、W1との入力を受けて事前確率Leを求めるターボデコーダ(単体)61(図5に示したターボデコーダ(単体)50に対応するもの)を有する。ターボデコーダ(単体)61で求めた事前確率Leは、インターリーバー62に入力され、インターリーブされる。インターリーバー62でインターリーブされた事前確率Leと、インターリーバー63でインターリーブされた入力データ列A′、B′とは、ターボデコーダ(単体)64(図5に示したターボデコーダ(単体)50に対応するもの)に入力される。ターボデコーダ64は、これらの入力とフラグY2、W2との入力を受けて、事前確率Leを求める。ターボデコーダ(単体)64が求めた事前確率は、デインターリーバー65においてデインターリーブされて、次段のデータとして、ターボデコーダ61に入力される。
デコーダ側では、前方検索と後方検索のトレリスを組み合わせて正規化したものを事前確率Leとして蓄積していく。これを元のデータ列に対して行った後に、インターリーブしたものに対して同様に行い、この結果となる事前確率Leの精度を高めていくのである。
ここで、αメトリクスの計算の詳細を説明する。図7は、αメトリクスの算出方法を示す図である。前段で計算されたγ(2,4)の8個の要素に対して、前回のα値を基に4種類の加算を行う。これがトレリスの候補になるのだが、全ての遷移の可能性を残すことは、メモリ容量と処理容量が莫大となるので、一回毎に最大値のみを選択して、その値を新しいα値として残すのである。例えば、α(0)の計算では、α(0)とγ(0,0)の加算、α(6)とγ(0,1)の加算、α(1)とγ(0,2)の加算、α(7)とγ(0,3)の加算を行い、その最大値のみを選択(MAX選択)して新しいα(0)とする。
図8に示したように、同様に後方遷移によって求められたβ値を、α値と時系列的に加算し、前回のトレリス値より精度の高い値を求める。図8は、λの算出方法(前半)を示す図である。その値を基にもう一度遷移の可能性を計算する。
図9に示したように、図8で求めたλ値から8値ごとの最大値を取得し(最大値選択)、その4つの値から最大値となるλの番号(第2引数)が、デコード結果として出力される。各λoutは可能性を示し、例えばλout(0)は、出力が「00」である確率であり、λout(1)は、出力が「01」である確率であり、λout(2)は、出力が「10」である確率であり、λout(3)は、出力が「11」である確率である。
次に、事前確率Leの計算の詳細を説明する。図10は、Leの算出方法を示す図である。新しいLeは、符号の状態遷移確率(図9で求めたλout)から、A、Bの要素と、前回のLeの値とを取り除いた値であり、フラグY、Wが示す確率値となる。例えばLe(0)は答えが「00」になる確率であり、Le(1)は答えが「01」になる確率であり、Le(2)は答えが「10」になる確率であり、Le(3)は答えが「11」になる確率である。
このLeは、初期値が0であり、図11に示したように、標準処理(非インターリーブ処理)とインターリーブ処理とが繰り返されるごとに更新され、ビット正当性の確率を高めていくのである。言い換えると、繰り返しごとの出力はLeということになる。図11は、Leの更新のタイミングを示す図である。
ターボデコーダの高速化は種々検討されており、例えば、特許文献1には、α及びβメトリクス演算において、パイプライン化された複数段のγメトリクスを供給する手段を有し、該γを入力する複数段の縦続構成のACS演算処理をするターボデコーダが記載されている。また、特許文献2には、加算器の演算結果の極性と、セレクタの選択出力の極性とにより、逆極性を含む加算結果と、逆極性を含む選択結果と、その加算結果と、ゼロとの中から1つを第2のセレクタで選択し、これら第2のセレクタの各出力を元にαメトリクスとベータメトリクスとを演算するターボデコーダが記載されている。さらに、トレリスプロセッサの適切なパスメトリクスアドレス化を計算する装置が特許文献3等に記載されている。
特開2001−320282号公報
特開2001−24521号公報
特開2002−152057号公報
図7に示したように、αメトリクスは、1回前に求めたのαメトリクスの値をフィードバックして計算するので、計算の高速化の点でボトルネックになる。βメトリクスの計算でも同じ問題が生じる。すなわち、時系列nのデータは、時系列n−1を計算してからでないと始められないので、一回あたりの計算に要する時間をtとし、データ数をnとすると、t×n時間が必然的に必要になる。例えば、現在市販されているデバイスの速度と、必要なビット数として18ビットを仮定すると、1回のαメトリクス及びβメトリクスの計算に要する時間として、3クロック(加算、4:1選択、2:1選択)が必要になる。この時間をさらに短縮することが望ましい。
また、計算されるαメトリクスとβメトリクスの値は時系列的に逆向きであるため、図12に示したように、βメトリクスを先に計算して降順にメモリに格納してから、格納したβメトリクスを昇順(時系列的に反対向き)に読み出しつつ、αメトリクスを昇順に計算してλ計算を行わなければならない。そこで、αメトリクスとβメトリクスの時系列的な順序を合わせるために、βメトリクスを格納するメモリが必要になる。
例えば、WiMAXでは、データサイズは可変であり、最大データサイズは2400ワードとなり、1ワードあたり18bitで8ステート分が必要になるので、βメトリクスを格納するメモリのサイズは2400×18bit×8=345,600bitとなる。集積回路を設計する場合、βメトリクスの格納のためにこのように大きなメモリ領域を確保することは現状困難であり、できるだけ削減する必要がある。
上記の少なくとも1つの課題を解決するために、一実施形態によるターボデコーダは、データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算部と、前記状態遷移確率計算部において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算部と、前記状態遷移確率計算部において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算部において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化部とを有し、前記アルファ・ベータメトリクス計算部は時系列における複数回分の処理を同時に計算する。
他の実施形態によるターボデコーダは、データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算部と、前記状態遷移確率計算部において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算部と、前記状態遷移確率計算部において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算部において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化部とを有し、さらに、状態遷移確率の最大値の累積加算値を用いて前記アルファメトリクスまたは前記ベータメトリクスを圧縮する圧縮部と、減算圧縮部により圧縮された前記アルファメトリクスまたは前記ベータメトリクスを記憶する記憶部とを有する。
アルファ・ベータメトリクス計算部は時系列における複数回分の処理を同時に計算することにより、アルファメトリクスまたはベータメトリクスの計算時間を短縮することができる。また、状態遷移確率の最大値の累積加算値を用いて前記アルファメトリクスまたは前記ベータメトリクスを圧縮する圧縮部と、減算圧縮部により圧縮された前記アルファメトリクスまたは前記ベータメトリクスを記憶する記憶部とを有することにより、記憶部の記憶容量を縮小することができる。
以下、図面を参照して本実施形態を詳細に説明する。図面を参照して以下に説明する実施形態は例示であり、本発明を限定するものではない。図面を通して、同じ構成要素には同じ参照符号を付した。
αメトリクス及びβメトリクスの計算時間の短縮化
まずαメトリクス及び/またはβメトリクスの計算において、時系列の2回分の処理を一度に行うことにより、計算時間を短縮することができる。図13は、αメトリクスの計算において2回分の処理を一度に実施する方法を説明するための図である。
αメトリクス及びβメトリクスの計算時間の短縮化
まずαメトリクス及び/またはβメトリクスの計算において、時系列の2回分の処理を一度に行うことにより、計算時間を短縮することができる。図13は、αメトリクスの計算において2回分の処理を一度に実施する方法を説明するための図である。
以下、α(0)に着目して説明する。α(0)以外のαメトリクスについても同様であることは、当業者には明らかである。図13には、時系列nにおけるα(0)、α(6)、α(1)、α(7)の計算と、時系列n+1におけるα(0)の計算とが示されている。
時系列nのα(0)は、時系列n−1のα(0)とγ(0,0)を加算し、時系列n−1のα(6)とγ(0,1)を加算し、時系列n−1のα(1)とγ(0,2)を加算し、時系列n−1のα(7)とγ(0,3)を加算し、これらの加算結果から最大値を選択(MAX選択)することにより求められる。時系列nにおけるα(6)、α(1)、α(7)も同様である。
時系列n+1のα(0)は、時系列nのα(0)とγ(0,0)を加算し、時系列nのα(6)とγ(0,1)を加算し、時系列nのα(1)とγ(0,2)を加算し、時系列nのα(7)とγ(0,3)を加算し、これらの加算結果から最大値を選択(MAX選択)することにより求められる。このように、2回分の処理により、時系列n−1のαメトリクスと状態遷移確率γとから時系列n+1のαメトリクスが求められる。
これを並び替えると、図14に示す通りになる。図14は、図13に示した構成を並び替えた図である。図13に示した構成と図14に示した構成とは等価である。図14は、時系列n−1のαメトリクス及び状態遷移確率γと、時系列nの状態遷移確率γとから時系列n+1のαメトリクス(図14ではα(0))が求められる。
これをさらに並び替えると、図15に示す通りになる。図15は、図14に示した構成をさらに並び替えた図である。図14では、例えば、時系列n−1のα(0)とγ(0,0)とを加算してから、その加算結果に時系列nのγ(0,0)を加算しているが、図15では、時系列n−1のα(0)に、時系列n−1のγ(0,0)と時系列nのγ(0,0)の加算結果を加算している点が異なるが、構成としては等価である。
図15の計算に要するクロック数はαとγの加算に1クロックが必要であり、16:1の最大値選択に4クロックが必要であり、合計5クロックとなる。従来の方法では、1回の処理をするのに3クロックが必要であったから、2回の処理をするには3×2=6クロックが必要である。従って、2回分の処理を一度に実施することにより、1クロックを節約することができる。
図15を表にまとめると、次のようになる。
α(1)乃至α(7)についても同様であるが、参考のため、各場合について加算すべき要素を表にまとめると次の通りである。
図15に示して説明したαメトリクスの計算は、図16のような回路構成で実現することができる。図16は、一実施形態による、αメトリクスの2回分の処理を一度に実施する回路構成を示すブロック図である。
図16に示した回路構成160は、状態遷移確率計算部51と、保持回路162と、加算回路163と、αβ算出部164A乃至164Dとを含む。状態遷移確率計算部51は、図5に示した状態遷移確率計算部51である。図15に示した構成と比較すると分かるように、保持回路162は、時系列n−1において状態遷移確率計算部51が求めた状態遷移確率γ(0,0)乃至γ(1,3)を保持しておき、保持した値を時系列n+1のαメトリクスの計算の再に加算回路163に渡す。また、状態遷移確率計算部51は、時系列nにおいて求めた状態遷移確率γ(0,0)乃至γ(1,3)を、直接、加算回路163に渡す。加算回路163は、時系列n−1のγと時系列nのγとを加算し、加算結果をαβ算出部164A乃至164Dに渡す。αβ算出部164A乃至164Dは、加算回路163から受け取ったγの加算値(例えば、α(0)及びα(3)の計算の場合、γ(0,n)+γ(0,0)、γ(1,n)+γ(0,1)、γ(1,n)+γ(0,2)、γ(0,n)+γ(0,3)の値、ただしn=0〜4)と、時系列n−1のαメトリクス(図示せず)とを加算して、最大値を求めて、時系列n+1のαメトリクスを求める。αβ算出部164A乃至164Dは、求めた時系列n+1のαメトリクスを、λ正規化部(図5参照)に送る。
以上説明したように、α値の計算のクロック数を短縮することにより、ターボ符号の復号処理に要する時間を削減することができる。
なお、以上の説明では、αメトリクスの計算について計算時間の短縮化を例にして説明したが、βメトリクスの計算についても同様の方法を適用できるということは当業者には明らかである。このことをふまえて、図16では、αメトリクスを算出する要素164A乃至164Dを、αβ算出部と呼んだ。
また、αメトリクスの計算について、2回分の処理を一度に行うことを前提として説明したが、回路構成はより複雑になるが、3回分以上の処理を一度に行い、より大きな時間短縮効果を得ることも可能である。
なお、半導体集積回路の設計においては、αメトリクスの計算時間を短縮化できなければ、αメトリクスの計算をするモジュールが余分に必要となるところを、計算時間の短縮化により、その余分なモジュールが必要なくなり、その余分なモジュールを形成したであろう領域を他の用途に使用できるという効果も奏する。
βメモリの縮小
図12を参照して説明したように、ターボデコーダでは、βメトリクスの降順の計算を先に行い、その結果をメモリに格納し、αメトリクスの昇順の計算を行うのと同時にβメトリクスを昇順にメモリから読み出すことにより、同一時系列のαメトリクスとβメトリクスを加算することを実現している。
βメモリの縮小
図12を参照して説明したように、ターボデコーダでは、βメトリクスの降順の計算を先に行い、その結果をメモリに格納し、αメトリクスの昇順の計算を行うのと同時にβメトリクスを昇順にメモリから読み出すことにより、同一時系列のαメトリクスとβメトリクスを加算することを実現している。
ところで、βメトリクスの意味を考えてみると、βメトリクスの8ステートともに、γの示す最大値に収束するような計算が行われている。これは言い換えると、すべてのステートにおいて、トレリスの遷移が繰り返されるたびに、最大値のみが残されて蓄積されていくことを意味する。つまり、βメトリクスは、γ最大値の累積加算値を基準にした場合に、その値に近づこうとするということである。この洞察に基づき、シミュレーションした結果、βメトリクス(β値)と[γ最大値の累積加算値-βメトリクス]を求めてみると、100万回のランダムトライアルで、βメトリクスの最大値が553,796であるのに対し、[γ最大値の累積加算値-βメトリクス]は2,258となった。もちろんこれらの値は入力ビット数と繰り返し回数とに依存するが、少なくとも前者が20ビットの数値であるのに対して、後者が12ビットの数値である。これはメモリの節約の観点から注目すべき点である。
また、例えば時系列の各時点の最大値を基準にする場合は、その最大値を時間分記録する必要があるが、これに対して、γの累積加算値は以下に説明するように、メモリに記録することなく即時計算できるのである。したがって、20ビット必要であったメモリが12ビットで済むことになる。
一実施形態によるβメトリクス用メモリとその周辺回路を説明するために、まず従来のβメトリクス用メモリとその周辺回路を示す。図17は、従来のβメトリクス用メモリとその周辺回路を含むターボデコーダ単体を示す図である。図17に示したターボデコーダ1700は、入力されたデータA、BとフラグW、Yとを記憶するメモリ1710と、事前確率Leを記憶するメモリ1720と、メモリ1710、1720に記憶されたデータに基づき状態遷移確率γを計算する状態遷移確率計算部1730と、状態遷移確率計算部1730が求めた状態遷移確率等に基づきαメトリクス及びβメトリクスを計算するα/β回路1740と、α/β回路1740が求めた降順のβメトリクスを記憶して昇順に読み出させるための20ビットβメモリ1750と、λ正規化部1760とを有する。λ正規化部1760は、状態遷移確率1730が求めた状態遷移確率γと、α/β回路1740が求めたαメトリクスと、βメモリに記憶され昇順に読み出されたβメトリクスとにより、復号データと、事前確率Leとを求める。λ正規化部1760が求めた事前確率Leは、Le用メモリ1720に記憶される。ターボデコーダ1700は、さらに、αβ切り替え制御回路1770を有する。このαβ切り替え制御回路1770は、α/β回路1740に制御信号を送り、α/β回路1740におけるαメトリクスの計算とβメトリクスの計算を切り替える。また、αβ切り替え制御回路1770は、βメモリ1750に書き込みアドレスを送り、α/β回路1740で降順に計算されたβメトリクスをβメモリ1750に記憶させる。また、αβ切り替え制御回路1770は、βメモリ1750に読み出しアドレスを送り、βメモリ1750に記憶されたβメトリクスを昇順に読み出させて、λ正規化部に送らせる。
次に、一実施形態によるβメトリクス用メモリとその周辺回路を含むターボデコーダ単体を説明する。図18は、一実施形態によるβメトリクス用メモリとその周辺回路を含むターボデコーダ単体を示すブロック図である。図18に示したターボデコーダ1800は、入力されたデータA、BとフラグW、Yとを記憶するメモリ1810と、事前確率Leを記憶するメモリ1820と、メモリ1810、1820に記憶されたデータに基づき状態遷移確率γを計算する状態遷移確率計算部1830と、状態遷移確率計算部1830が求めた状態遷移確率等に基づきαメトリクス及びβメトリクスを計算するα/β回路1840とを有する。ターボデコーダ1800は、さらに、状態遷移確率計算部1830が求めたγの値の最大値を求めるγ最大値部1881と、その最大値を累積加算する累積加算部1882と、その累積加算値から、α/β回路1840が求めたβ値を引く減算β圧縮部1883とを有する。この構成により、一実施形態によるターボデコーダ単体1800は、[γ最大値の累積加算値-βメトリクス]の値を求め、その結果を12ビットのβメモリ1850に記憶するのである。図17に示した従来のターボデコーダ1700のβメモリ1750が20ビット幅であるのと比較して、図18に示した一実施形態によるターボデコーダ1800のβメモリ1850は12ビット幅とすることができ、メモリ形成に要する領域を節約することができる。
しかし、λ正規化部1860に入力するのはβ値である。そこで、βメモリ1850に記憶されている[γ最大値の累積加算値-βメトリクス]に、γ最大値部1881で求めたγの最大値を累積減算部1885で累積減算した結果を加えて、加算β復元部1884において、βメトリクスを復元する必要がある。加算β復元部1884は、復元した20ビットのβ値をλ正規化部1860に送る。λ正規化部1860は、状態遷移確率計算部1830が求めた状態遷移確率γと、α/β回路1840が求めたαメトリクスと、加算β復元部1884で復元されたβメトリクスとにより、復号データと、事前確率Leとを求める。λ正規化部1860が求めた事前確率Leは、Le用メモリ1820に記憶される。ターボデコーダ1800は、さらに、αβ切り替え制御回路1870を有する。このαβ切り替え制御回路1870は、α/β回路1840に制御信号を送り、α/β回路1840におけるαメトリクスの計算とβメトリクスの計算を切り替える。また、αβ切り替え制御回路1870は、12ビットのβメモリ1850に書き込みアドレスを送り、減算β圧縮部1883で圧縮した結果([γ最大値の累積加算値-βメトリクス])をβメモリ1850に記憶させる。また、αβ切り替え制御回路1870は、βメモリ1850に読み出しアドレスを送り、加算β復元部1884で復元されたβメトリクスをλ正規化部に送らせる。
β計算の場合、累積加算部1882は、データ数をnとすると、データ番号n−1から0までのγ最大値の累積加算を有している。β計算終了後、α計算開始時に、データ番号0番からのβ値が必要となるので、例えばデータ番号0番の場合は累積加算最終値、1番の場合は累積加算最終値から0番のγ最大値を減算したもの、2番の場合はさらにそこから1番のγ最大値を減算したもの、以下同様、というように累積減算部1885で累積減算していけば、各nについて累積加算値を記憶しなくても、β値を復元できるのである。
以上説明したように、一実施形態によるターボデコーダでは、ターボ符号の復号処理に必要とするメモリ量(βメモリ)を削減することができる。
αメモリの縮小
以上では、βメトリクスの降順計算を先に計算してその結果をメモリに格納して、αメトリクスの計算時に昇順に読み出すことを前提とした。ターボデコーダでは、図19に示したように、αメトリクスの昇順計算を先に計算してその結果をメモリに格納して、βメトリクスの計算時に降順に読み出してもよい。これにより、同一時間のαメトリクスとβメトリクスを加算することができる。
αメモリの縮小
以上では、βメトリクスの降順計算を先に計算してその結果をメモリに格納して、αメトリクスの計算時に昇順に読み出すことを前提とした。ターボデコーダでは、図19に示したように、αメトリクスの昇順計算を先に計算してその結果をメモリに格納して、βメトリクスの計算時に降順に読み出してもよい。これにより、同一時間のαメトリクスとβメトリクスを加算することができる。
この場合でもα値は、γの示す最大値に収束するような計算が行われている。これは言い換えると、すべてのステートにおいて、トレリス遷移の繰り返しのたびに、最大値のみが残されて蓄積されていくということである。
シミュレーションした結果、αメトリクス(α値)と[γ最大値の累積加算値-αメトリクス]、を求めてみると、100万回のランダムトライアルで、α値の最大値が553,796に対して2,258となった。これらの値は入力ビット数と繰り返し回数に依存するのだが、少なくとも前者が20ビットの数値であるのに対して、後者は12ビットの数値である。これもメモリの節約の観点から注目すべき点である。
また、例えば各時間の最大値を基準にした場合は、結局その最大値を時間分記録する必要があるのに対して、γの累積加算値は以下に説明するように、メモリに記録することなく即時計算できるのである。したがって、20ビット必要であったメモリが12ビットで済むことになる。
一実施形態によるαメトリクス用メモリとその周辺回路を説明するために、まず従来のαメトリクス用メモリとその周辺回路を示す。図20は、従来のαメトリクス用メモリとその周辺回路を含むターボデコーダ単体を示す図である。図20に示したターボデコーダ2000は、入力されたデータA、BとフラグW、Yとを記憶するメモリ2010と、事前確率Leを記憶するメモリ2020と、メモリ2010、2020に記憶されたデータに基づき状態遷移確率γを計算する状態遷移確率計算部2030と、状態遷移確率計算部2030が求めた状態遷移確率等に基づきαメトリクス及びβメトリクスを計算するα/β回路2040と、α/β回路2040が求めた昇順のαメトリクスを記憶して降順に読み出させるための20ビットαメモリ2050と、λ正規化部2060とを有する。λ正規化部2060は、状態遷移確率2030が求めた状態遷移確率γと、α/β回路2040が求めたβメトリクスと、αメモリに記憶され降順に読み出されたαメトリクスとにより、復号データと、事前確率Leとを求める。λ正規化部2060が求めた事前確率Leは、Le用メモリ2020に記憶される。ターボデコーダ2000は、さらに、αβ切り替え制御回路2070を有する。このαβ切り替え制御回路2070は、α/β回路2040に制御信号を送り、α/β回路2040におけるαメトリクスの計算とβメトリクスの計算を切り替える。また、αβ切り替え制御回路2070は、αメモリ2050に書き込みアドレスを送り、α/β回路2040で昇順に計算されたαメトリクスをαメモリ2050に記憶させる。また、αβ切り替え制御回路2070は、αメモリ2050に読み出しアドレスを送り、αメモリ2050に記憶されたαメトリクスを降順に読み出させて、λ正規化部2060に送らせる。
次に、一実施形態によるαメトリクス用メモリとその周辺回路を含むターボデコーダ単体を説明する。図21は、一実施形態によるαメトリクス用メモリとその周辺回路を含むターボデコーダ単体を示すブロック図である。図21に示したターボデコーダ2100は、入力されたデータA、BとフラグW、Yとを記憶するメモリ2110と、事前確率Leを記憶するメモリ2120と、メモリ2110、2120に記憶されたデータに基づき状態遷移確率γを計算する状態遷移確率計算部2130と、状態遷移確率計算部2130が求めた状態遷移確率等に基づきαメトリクス及びβメトリクスを計算するα/β回路2140とを有する。ターボデコーダ2100は、さらに、状態遷移確率計算部2130が求めたγの値の最大値を求めるγ最大値部2181と、その最大値を累積加算する累積加算部2182と、その累積加算値から、α/β回路2140が求めたα値を引く減算α圧縮部2183とを有する。この構成により、一実施形態によるターボデコーダ単体2100は、[γ最大値の累積加算値-αメトリクス]の値を求め、その結果を12ビットのαメモリ2150に記憶するのである。図20に示した従来のターボデコーダ2000のαメモリ2050が20ビット幅であるのと比較して、図21に示した一実施形態によるターボデコーダ2100のαメモリ2150は12ビット幅とすることができ、メモリ形成に要するチップ領域を節約することができる。
しかし、λ正規化部2160に入力するのはα値である。そこで、αメモリ2150に記憶されている[γ最大値の累積加算値-αメトリクス]に、γ最大値部1881で求めたγの最大値を累積減算部2185で累積減算した結果を加えて、加算α復元部2184において、αメトリクスを復元する必要がある。加算α復元部2184は、復元した20ビットのα値をλ正規化部2160に送る。λ正規化部2160は、状態遷移確率計算部2130が求めた状態遷移確率γと、α/β回路2140が求めたβメトリクスと、加算α復元部2184で復元されたαメトリクスとにより、復号データと、事前確率Leとを求める。λ正規化部2160が求めた事前確率Leは、Le用メモリ2120に記憶される。ターボデコーダ2100は、さらに、αβ切り替え制御回路2170を有する。このαβ切り替え制御回路2170は、α/β回路2140に制御信号を送り、α/β回路2140におけるαメトリクスの計算とβメトリクスの計算を切り替える。また、αβ切り替え制御回路2170は、12ビットのαメモリ2150に書き込みアドレスを送り、減算α圧縮部2183で圧縮した結果([γ最大値の累積加算値-αメトリクス])をαメモリ2150に記憶させる。また、αβ切り替え制御回路2170は、αメモリ2150に読み出しアドレスを送り、加算α復元部2184で復元されたαメトリクスをλ正規化部に送らせる。
α計算の場合、累積加算部2182は、データ数をnとすると、データ番号n−1から0までのγ最大値の累積加算を有している。α計算終了後、β計算開始時に、データ番号n−1番からのα値が必要となるので、例えばn−1番の場合は累積加算最終値、n−2番の場合は累積加算最終値からn−1番のγ最大値を減算したもの、n−2番の場合はさらにそこからn−2番のγ最大値を減算したもの、以下同様、というように累積減算部2185で累積減算していけば、累積加算値を記憶しなくても、α値を復元できるのである。
以上説明したように、一実施形態によるターボデコーダでは、ターボ符号の復号処理に必要とするメモリ量(αメモリ)を削減することができる。
αβを加算復元しない方法
以上、β値(またはα値)を減算圧縮してメモリに格納し、λ正規化部に渡す時に加算復元する方法について説明したが、α値とβ値を共に減算圧縮して、加算復元せずにλ正規化部に渡すこともできる。この場合、最初にλの最大値選択を実施して、事前確率Leを計算するときに、累積値を加算してもよい。
αβを加算復元しない方法
以上、β値(またはα値)を減算圧縮してメモリに格納し、λ正規化部に渡す時に加算復元する方法について説明したが、α値とβ値を共に減算圧縮して、加算復元せずにλ正規化部に渡すこともできる。この場合、最初にλの最大値選択を実施して、事前確率Leを計算するときに、累積値を加算してもよい。
これは、図8及び図9から分かるように、λは、α値とβ値を加算してから最大値選択されるのだが、最大値を選択するだけなので、α値及びβ値からともに定数値を減算しても同じ結果になることによる。ただし、Leは、その値自体が意味をもち、求める必要があるので、最大値選択された後にそのλoutにその定数値を加算する処理をすればよい。
これは図22に示す回路構成で実施可能である。図22は、一実施形態によるαβ圧縮とβ用メモリとその周辺回路を示すブロック図である。
図22に示した、一実施形態によるαβ圧縮とβ用メモリとその周辺回路を含むターボデコーダ単体2200は、入力されたデータA、BとフラグW、Yとを記憶するメモリ2210と、事前確率Leを記憶するメモリ2220と、メモリ2210、2220に記憶されたデータに基づき状態遷移確率γを計算する状態遷移確率計算部2230と、状態遷移確率計算部2230が求めた状態遷移確率等に基づきαメトリクス及びβメトリクスを計算するα/β回路2240とを有する。ターボデコーダ2200は、さらに、状態遷移確率計算部2230が求めたγの値の最大値を求めるγ最大値部2281と、その最大値を累積加算するβ累積加算部2282と、その累積加算値から、α/β回路1840が求めたβ値を引く減算β圧縮部2283とを有する。この構成により、一実施形態によるターボデコーダ単体2200は、[γ最大値の累積加算値-βメトリクス]の値を求め、その結果を12ビットのβメモリ2250に記憶するのである。図22に示した一実施形態によるターボデコーダ2200のβメモリ2250は12ビット幅とすることができ、メモリ形成に要する領域を節約することができる。βメモリに格納された[γ最大値の累積加算値-βメトリクス]の値は、λ正規化部2260に送られる。
さらに、ターボデコーダ2200は、γ最大値部2281が求めたγの最大値を累積加算するα累積加算部2292と、その累積加算値から、α/β回路2240が求めたα値を引く減算α圧縮部2293とを有する。この構成により、一実施形態によるターボデコーダ単体2200は、[γ最大値の累積加算値-αメトリクス]の値を求め、λ正規化部2260に送る。
ここで、留意すべき点として、図22ではα累積加算部2292とβ累積加算部2282は別々のブロックとして示したが、α計算とβ計算は同時に行う必要はないので、実際には同一の回路を時分割して使用することができる。この時分割は、αβ切り替え制御回路2270からの制御信号(αβ切り替え)に基づき行われる。同様に、図22では減算α圧縮部2293と減算β圧縮部2283は別々のブロックとして示したが、実際には同一の回路を時分割して使用することができる。この時分割は、αβ切り替え制御回路2270からの制御信号(図示せず)に基づき行われる。
また、αβ切り替え制御回路2270は、α/β回路1840に制御信号を送り、α/β回路1840におけるαメトリクスの計算とβメトリクスの計算を切り替える。αβ切り替え制御回路2270は、さらに、βメモリ2250に書き込みアドレスと読み出しアドレスを送り、減算β圧縮2283からのデータの書き込みと、βメモリ2250からのデータの読み出しを制御する。
図23は、一実施形態による、αβ圧縮をした場合の事前確率Leを求める演算回路を説明するための図である。図23の演算回路2300は、図22のλ正規化部2260の一部である。例えば、新しいLe(0)を求める場合を考える。新しいLe(0)は、符号の状態遷移確率λ(0,0)〜λ(7,0)から最大値(λout(0))を選択(最大値選択部2310)して、A、Bの要素(Le(0)の場合A+B)と、前回のLe(0)の値とを取り除いた値である(減算回路2320)。ここまでは、図10に示した事前確率Leを求める演算回路と同様である。しかし、図22には加算β復元部1884(図18)と加算α復元部2184(図21)がない。つまり、λout(0)の値からは、αの累積加算値とβの累積減算値とが抜けている。そこで、この減算回路2320の入力として、α累積加算部2292(図22)からα累積加算値と、β累積減算部2285(図22)からβ累積減算値を入力する必要がある。
以上説明したように、一実施形態によるターボデコーダでは、圧縮したα値及び/またはβ値を加算復元しないことにより、λ演算回路の入力ビット数を減らすことができ、加算回路と最大値選択回路のビット数を減らすことができ、動作の高速化と回路規模の縮小とが可能になる。
以下、より具体的な実施例を説明する。
[実施例1]
実施例1は、IEEE802.16(WiMAX)での使用を想定して、αβ計算の2回分の計算時間を6から5クロックへ縮小し、さらにβメモリを縮小したターボデコーダである。図24は、実施例1のターボデコーダを示すブロック図である。
[実施例1]
実施例1は、IEEE802.16(WiMAX)での使用を想定して、αβ計算の2回分の計算時間を6から5クロックへ縮小し、さらにβメモリを縮小したターボデコーダである。図24は、実施例1のターボデコーダを示すブロック図である。
受信データとして、B、A、Y1、Y2を受信する。受信データB、A、Y1、Y2は、通常はデグループ、デサブブロックされたものが入力される。書き込み制御部2401は、受信データを書き込むための制御信号(アドレス及び書き込みイネーブル信号)を発生する。これらの受信データは受信データ格納メモリ2402に格納される。図25に示したように、受信データの入力が完了すると、書き込み制御部2401から読み出し制御部2403に対して書き込み完了がアサートされ、読み出し制御がスタートする。
読み出し制御部2403は、読み出しアドレスを生成する。読み出しは、図26に示したように、最初にβ計算のためのデータを出力するために、降順に(アドレス47から00への順序で)出力し、さらにその後でα計算のためのデータを昇順に(アドレス00から47への順序で)を出力する。また、その処理がノーマル(インターリーブしていない標準処理)かインターリーブかどうかで、アドレスのインターリーブ変換が行われる。インターリーブはデータサイズによって切り替わり、例えばデータサイズ48ビットの場合には、図27に示したインターリーブ変換表に基づき変換される。インターリーブかどうかの切り替えは、何回目の処理であるかで決められる。何回目の処理であるかはiterationで定義される回数で決定される。例えば、iteration=3の場合は、図28に示したように、合計6回の処理が繰り返される。
γ計算部2404は、エンコーダの構成から決定される計算である。WiMAXではHARQを使用しない場合はW1、W2を使用しないので、γ計算は実質的にA、B、Y1、Y2とLeで決定される。Y1とY2は標準処理かインターリーブ処理かで切り替えられ、標準処理時はY1、インターリーブ処理時はY2が選択される。γ計算部2404は、図29に示したγ計算対応表に示したようにγを計算し、2X4の配列としてγを出力する。
γ最大値取得部2405は、γ計算部2404が出力したγの最大値を計算する。
α/β回路2406は、αメトリクスとβメトリクスを計算する回路である。図30にその詳細を示した。図30に示したα/β回路は、α1回分回路3010と、α2回分回路3011と、β1回分回路3012と、β2回分回路3013とを有する。これらの計算は、下に示す表の組み合わせの加算値から最大値を選択する。これらの回路からの処理結果は、セレクタ3020、3021、3030により、図31のαβ切り替え処理タイムチャートに示したように、時間軸多重されて出力される。αまたはβの2回分処理は、αまたはβの2回分処理回路3011、3013により、5クロックで行われる。これと平行して、αまたはβの1回分処理が、αまたはβ1回分処理回路3010、3012により、3クロックで行われる。そして、セレクタにより、1回分処理の結果と2回分処理の結果とを選択的に出力する。
なお、α処理に関しては、1回分の処理としては、次を計算すればよい。
α(0)=
MAX(α(0)+γ(0,0) , α(6)+γ(0,1) , α(1)+γ(0,2) , α(7)+γ(0,3) )
α(1)=
MAX(α(2)+γ(1,0) , α(4)+γ(1,1) , α(3)+γ(1,2) , α(5)+γ(1,3) )
α(2)=
MAX(α(5)+γ(1,0) , α(3)+γ(1,1) , α(4)+γ(1,2) , α(2)+γ(1,3) )
α(3)=
MAX(α(7)+γ(0,0) , α(1)+γ(0,1) , α(6)+γ(0,2) , α(0)+γ(0,3) )
α(4)=
MAX(α(1)+γ(0,0) , α(7)+γ(0,1) , α(0)+γ(0,2) , α(6)+γ(0,3) )
α(5)=
MAX(α(3)+γ(1,0) , α(5)+γ(1,1) , α(2)+γ(1,2) , α(4)+γ(1,3) )
α(6)=
MAX(α(4)+γ(1,0) , α(2)+γ(1,1) , α(5)+γ(1,2) , α(3)+γ(1,3) )
α(7)=
MAX(α(6)+γ(0,0) , α(0)+γ(0,1) , α(7)+γ(0,2) , α(1)+γ(0,3) )
また、αメトリクスの2回分の処理としては、表2乃至表9を参照して上で説明した入力要素を全て加算した後で、最大値を選択することになる。
α(0)=
MAX(α(0)+γ(0,0) , α(6)+γ(0,1) , α(1)+γ(0,2) , α(7)+γ(0,3) )
α(1)=
MAX(α(2)+γ(1,0) , α(4)+γ(1,1) , α(3)+γ(1,2) , α(5)+γ(1,3) )
α(2)=
MAX(α(5)+γ(1,0) , α(3)+γ(1,1) , α(4)+γ(1,2) , α(2)+γ(1,3) )
α(3)=
MAX(α(7)+γ(0,0) , α(1)+γ(0,1) , α(6)+γ(0,2) , α(0)+γ(0,3) )
α(4)=
MAX(α(1)+γ(0,0) , α(7)+γ(0,1) , α(0)+γ(0,2) , α(6)+γ(0,3) )
α(5)=
MAX(α(3)+γ(1,0) , α(5)+γ(1,1) , α(2)+γ(1,2) , α(4)+γ(1,3) )
α(6)=
MAX(α(4)+γ(1,0) , α(2)+γ(1,1) , α(5)+γ(1,2) , α(3)+γ(1,3) )
α(7)=
MAX(α(6)+γ(0,0) , α(0)+γ(0,1) , α(7)+γ(0,2) , α(1)+γ(0,3) )
また、αメトリクスの2回分の処理としては、表2乃至表9を参照して上で説明した入力要素を全て加算した後で、最大値を選択することになる。
また、β処理に関しては1回分の処理としては、次を計算すればよい。
β(0)=
MAX(β(0)+γ(0,0) , β(7)+γ(0,1) , β(4)+γ(0,2) , β(3)+γ(0,3) )
β(1)=
MAX(β(4)+γ(0,0) , β(3)+γ(0,1) , β(0)+γ(0,2) , β(7)+γ(0,3) )
β(2)=
MAX(β(1)+γ(1,0) , β(6)+γ(1,1) , β(5)+γ(1,2) , β(2)+γ(1,3) )
β(3)=
MAX(β(5)+γ(1,0) , β(2)+γ(1,1) , β(1)+γ(1,2) , β(6)+γ(1,3) )
β(4)=
MAX(β(6)+γ(1,0) , β(1)+γ(1,1) , β(2)+γ(1,2) , β(5)+γ(1,3) )
β(5)=
MAX(β(2)+γ(1,0) , β(5)+γ(1,1) , β(6)+γ(1,2) , β(1)+γ(1,3) )
β(6)=
MAX(β(7)+γ(0,0) , β(0)+γ(0,1) , β(3)+γ(0,2) , β(4)+γ(0,3) )
β(7)=
MAX(β(3)+γ(0,0) , β(4)+γ(0,1) , β(7)+γ(0,2) , β(0)+γ(0,3) )
また、βメトリクスの2回分の処理としては、下表の入力要素を全て加算した後で、最大値を選択することになる。
β(0)=
MAX(β(0)+γ(0,0) , β(7)+γ(0,1) , β(4)+γ(0,2) , β(3)+γ(0,3) )
β(1)=
MAX(β(4)+γ(0,0) , β(3)+γ(0,1) , β(0)+γ(0,2) , β(7)+γ(0,3) )
β(2)=
MAX(β(1)+γ(1,0) , β(6)+γ(1,1) , β(5)+γ(1,2) , β(2)+γ(1,3) )
β(3)=
MAX(β(5)+γ(1,0) , β(2)+γ(1,1) , β(1)+γ(1,2) , β(6)+γ(1,3) )
β(4)=
MAX(β(6)+γ(1,0) , β(1)+γ(1,1) , β(2)+γ(1,2) , β(5)+γ(1,3) )
β(5)=
MAX(β(2)+γ(1,0) , β(5)+γ(1,1) , β(6)+γ(1,2) , β(1)+γ(1,3) )
β(6)=
MAX(β(7)+γ(0,0) , β(0)+γ(0,1) , β(3)+γ(0,2) , β(4)+γ(0,3) )
β(7)=
MAX(β(3)+γ(0,0) , β(4)+γ(0,1) , β(7)+γ(0,2) , β(0)+γ(0,3) )
また、βメトリクスの2回分の処理としては、下表の入力要素を全て加算した後で、最大値を選択することになる。
累積減算部2410は、加算β復元2411の復元時に利用する累積加算値を算出するために、累積加算部2407の最終値から減算していく回路である。加算β復元部2411は、累積減算部2410の値とβメモリ2409の値を加算することで、元のβの値を復元する。λ計算部2412は、従来のターボデコーダのλ計算部である。
デインターリーブ部2413は、λ計算部2412から最終的に得られるデータはインターリーブされたものなので、そのデータを逆インターリーブして並びを戻すための回路である。繰り返し処理の結果として、事前確率Leの値は、Leメモリ2414に記憶され、λ計算部2404に供給される。
[実施例2]
実施例2は、実施例1と同様に、IEEE802.16(WiMAX)での使用を想定して、β圧縮とα圧縮したものをλ計算部のγ入力として、累積加算値をLe計算に使用するターボデコーダである。図32は、実施例2のターボデコーダを示すブロック図である。このうち、参照符号2401乃至2406までの構成要素は、図24に示して上で説明した実施例1のターボデコーダと基本的に同じである。以下、実施例1との相違点のみを説明する。
[実施例2]
実施例2は、実施例1と同様に、IEEE802.16(WiMAX)での使用を想定して、β圧縮とα圧縮したものをλ計算部のγ入力として、累積加算値をLe計算に使用するターボデコーダである。図32は、実施例2のターボデコーダを示すブロック図である。このうち、参照符号2401乃至2406までの構成要素は、図24に示して上で説明した実施例1のターボデコーダと基本的に同じである。以下、実施例1との相違点のみを説明する。
図24の累積加算部2407がβについてのみ累積加算をするのに対し、累積加算3207は、βメトリクスの計算中はβ値を累積加算し、αメトリクスの計算に切り替わると、一旦初期化して、α値を累積加算する。減算αβ圧縮部3208は、α計算とβ計算で共通の回路であり、β計算時はβに対して減算処理をし、α計算時はαに対して減算処理を実施する。λ計算部3211はラムダの演算の方法自体は図8を参照して説明した従来のターボデコーダと変わらないが、入力データの内容が累積値を減算したものになる。従ってLeを演算する際には、図23を参照して説明したように、α累積加算値とβ累積減算値とを考慮する必要が生じる。
図33は、一実施形態によるターボデコーダを用いた基地局を示すブロック図である。図33に示したITS向け基地局装置3300は、ベースバンド部3310と無線ユニット3320とを有する。 ベースバンド部3310は、基地局装置3300のスケジューリングを行うMACスケジューラ(MAC scheduler)3310を有する。
送信されるデータには、FECコーデック3312において、ターボ符号を用いて、FEC(フォワードエラーコレクション)の符号化が行われる。符号化されたデータは、MAP生成用のSDRAM3313に記憶され、並び替え部3314において、論理チャネルを物理チャネルに並び替えられる。次に、パイロット挿入部3315において、パイロット信号が挿入される。パイロット信号が挿入されたデータは、逆高速フーリエ変換部(iFFT)3316で逆フーリエ変換された後、RFユニット3320に高速シリアル転送される。転送されたデータは、RFユニット3320によりRF信号に変換され、アンテナ(図示せず)に送られる。
一方、アンテナが受信したRF信号は、RFユニット3320に入力され、デジタルデータに変換された後、ベースバンド部3310に高速シリアル転送される。転送されたデータは、高速フーリエ変換部3331に入力され、周波数領域に高速フーリエ変換される。パイロット補正部3332において、変換されたデータからパイロットを受信して、そのパイロット信号を元に信号補正を行う。補正されたデータは、並び替え部3333において、物理チャネルから論理チャネルに並び替えられる。並び替えられたデータは、SDRAM3313に記憶され、FECデコーデック3334において、復号される。FECデコーデック3334は、一実施形態によるターボデコーダ3335を含む。このターボデコーダは、例えば、図18に示した実施例1によるターボデコーダや、図24に示した実施例2によるターボデコーダであってもよい。
以上、本実施の形態について詳述したが、本発明は特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形及び変更が可能である。1つの実施形態または実施例に含まれるとして説明した構成要素または工程は、別の実施形態または実施例の構成要素または工程と組み合わせることも可能である。
なお、一部の実施形態を整理すると、以下の通りである。
(付記1)
データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算部と、
前記状態遷移確率計算部において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算部と、
前記状態遷移確率計算部において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算部において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化部とを有するターボデコーダであって、
前記アルファ・ベータメトリクス計算部は時系列における複数回分の処理を同時に計算するターボデコーダ。
(付記2)
前記アルファ・ベータメトリクス計算部は、
時間tにおける状態遷移確率を保持する保持回路と、
前記保持回路が保持している時間tにおける状態遷移確率と、時間t+1における状態遷移確率とを加算する加算回路とを有する、付記1に記載のターボデコーダ。
(付記3)
さらに、状態遷移確率の最大値の累積加算値を用いて前記アルファメトリクスまたは前記ベータメトリクスを圧縮する圧縮部と、
減算圧縮部により圧縮された前記アルファメトリクスまたは前記ベータメトリクスを記憶する記憶部とを有する、付記1または2に記載のターボデコーダ。
(付記4)
データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算部と、
前記状態遷移確率計算部において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算部と、
前記状態遷移確率計算部において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算部において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化部とを有するターボデコーダであって、
さらに、状態遷移確率の最大値の累積加算値を用いて前記アルファメトリクスまたは前記ベータメトリクスを圧縮する圧縮部と、
減算圧縮部により圧縮された前記アルファメトリクスまたは前記ベータメトリクスを記憶する記憶部とを有するターボデコーダ。
(付記5)
さらに、記憶部に格納されていた圧縮された前記アルファメトリクスまたは前記ベータメトリクスから、圧縮される前のアルファメトリクスまたはベータメトリクスを復元する復元部を有する、付記4に記載のターボデコーダ。
(付記6)
さらに、状態遷移確率の最大値を累積加算する累積加算部を有する、付記5に記載のターボデコーダ。
(付記7)
さらに、状態遷移確率の最大値を累積減算する累積減算部を有する、付記5または6に記載のターボデコーダ。
(付記8)
前記アルファ・ベータメトリクス計算部は時系列における複数回分の処理を同時に計算する、付記4乃至7いずれか一項に記載のターボデコーダ。
(付記9)
データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算部と、
前記状態遷移確率計算部において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算部と、
前記状態遷移確率計算部において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算部において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化部とを有するターボデコーダであって、
さらに、状態遷移確率の最大値の累積加算値を用いて前記アルファメトリクスを圧縮するアルファ圧縮部と、
前記状態遷移確率の最大値の累積加算値を用いて前記ベータメトリクスを圧縮するベータ圧縮部と、
前記アルファ圧縮部により圧縮された前記アルファメトリクス、または前記ベータ圧縮部により圧縮された前記ベータメトリクスのいずれかを記憶する記憶部とを有し、
前記正規化部は、前記圧縮されたアルファメトリクス及び前記圧縮されたベータメトリクスに基づき、復号データ及び次段の事前確率とを求めるターボデコーダ。
(付記10)
さらに、状態遷移確率の最大値を累積加算する累積加算部を有する、付記9に記載のターボデコーダ。
(付記11)
さらに、状態遷移確率の最大値を累積減算する累積減算部を有する、付記9または10に記載のターボデコーダ。
(付記12)
前記アルファ・ベータメトリクス計算部は時系列における複数回分の処理を同時に計算する、付記9乃至11いずれか一項に記載のターボデコーダ。
(付記13)
付記1乃至12いずれか一項に記載のターボデコーダを有する復号部を有するベースバンド部と、
前記ベースバンド部からのデジタルデータをRF信号に変換してアンテナに送り、または前記アンテナからのRF信号をデジタルデータに変換して前記ベースバンド部に送るRF部とを有する基地局装置。
(付記14)
データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算工程と、
前記状態遷移確率計算工程において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算工程と、
前記状態遷移確率計算工程において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算工程において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化工程とを有するターボ符号の復号方法であって、
前記アルファ・ベータメトリクス計算工程において、時系列における複数回分の処理を同時に計算する復号方法。
(付記15)
データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算工程と、
前記状態遷移確率計算工程において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算工程と、
前記状態遷移確率計算工程において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算工程において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化工程とを有するターボ符号の復号方法であって、
さらに、状態遷移確率の最大値の累積加算値を用いて前記アルファメトリクスまたは前記ベータメトリクスを圧縮する圧縮工程と、
前記圧縮工程において圧縮された前記アルファメトリクスまたは前記ベータメトリクスをメモリに記憶する記憶工程とを有する復号方法。
(付記16)
データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算工程と、
前記状態遷移確率計算工程において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算工程と、
前記状態遷移確率計算工程において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算工程において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化工程とを有するターボ符号の復号方法であって、
さらに、状態遷移確率の最大値の累積加算値を用いて前記アルファメトリクスを圧縮するアルファ圧縮工程と、
前記状態遷移確率の最大値の累積加算値を用いて前記ベータメトリクスを圧縮するベータ圧縮工程と、
前記アルファ圧縮工程において圧縮された前記アルファメトリクス、または前記ベータ圧縮工程において圧縮された前記ベータメトリクスのいずれかをメモリに記憶する記憶工程とを有し、
前記正規化工程において、前記圧縮されたアルファメトリクス及び前記圧縮されたベータメトリクスに基づき、復号データ及び次段の事前確率とを求める復号方法。
(付記1)
データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算部と、
前記状態遷移確率計算部において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算部と、
前記状態遷移確率計算部において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算部において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化部とを有するターボデコーダであって、
前記アルファ・ベータメトリクス計算部は時系列における複数回分の処理を同時に計算するターボデコーダ。
(付記2)
前記アルファ・ベータメトリクス計算部は、
時間tにおける状態遷移確率を保持する保持回路と、
前記保持回路が保持している時間tにおける状態遷移確率と、時間t+1における状態遷移確率とを加算する加算回路とを有する、付記1に記載のターボデコーダ。
(付記3)
さらに、状態遷移確率の最大値の累積加算値を用いて前記アルファメトリクスまたは前記ベータメトリクスを圧縮する圧縮部と、
減算圧縮部により圧縮された前記アルファメトリクスまたは前記ベータメトリクスを記憶する記憶部とを有する、付記1または2に記載のターボデコーダ。
(付記4)
データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算部と、
前記状態遷移確率計算部において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算部と、
前記状態遷移確率計算部において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算部において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化部とを有するターボデコーダであって、
さらに、状態遷移確率の最大値の累積加算値を用いて前記アルファメトリクスまたは前記ベータメトリクスを圧縮する圧縮部と、
減算圧縮部により圧縮された前記アルファメトリクスまたは前記ベータメトリクスを記憶する記憶部とを有するターボデコーダ。
(付記5)
さらに、記憶部に格納されていた圧縮された前記アルファメトリクスまたは前記ベータメトリクスから、圧縮される前のアルファメトリクスまたはベータメトリクスを復元する復元部を有する、付記4に記載のターボデコーダ。
(付記6)
さらに、状態遷移確率の最大値を累積加算する累積加算部を有する、付記5に記載のターボデコーダ。
(付記7)
さらに、状態遷移確率の最大値を累積減算する累積減算部を有する、付記5または6に記載のターボデコーダ。
(付記8)
前記アルファ・ベータメトリクス計算部は時系列における複数回分の処理を同時に計算する、付記4乃至7いずれか一項に記載のターボデコーダ。
(付記9)
データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算部と、
前記状態遷移確率計算部において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算部と、
前記状態遷移確率計算部において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算部において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化部とを有するターボデコーダであって、
さらに、状態遷移確率の最大値の累積加算値を用いて前記アルファメトリクスを圧縮するアルファ圧縮部と、
前記状態遷移確率の最大値の累積加算値を用いて前記ベータメトリクスを圧縮するベータ圧縮部と、
前記アルファ圧縮部により圧縮された前記アルファメトリクス、または前記ベータ圧縮部により圧縮された前記ベータメトリクスのいずれかを記憶する記憶部とを有し、
前記正規化部は、前記圧縮されたアルファメトリクス及び前記圧縮されたベータメトリクスに基づき、復号データ及び次段の事前確率とを求めるターボデコーダ。
(付記10)
さらに、状態遷移確率の最大値を累積加算する累積加算部を有する、付記9に記載のターボデコーダ。
(付記11)
さらに、状態遷移確率の最大値を累積減算する累積減算部を有する、付記9または10に記載のターボデコーダ。
(付記12)
前記アルファ・ベータメトリクス計算部は時系列における複数回分の処理を同時に計算する、付記9乃至11いずれか一項に記載のターボデコーダ。
(付記13)
付記1乃至12いずれか一項に記載のターボデコーダを有する復号部を有するベースバンド部と、
前記ベースバンド部からのデジタルデータをRF信号に変換してアンテナに送り、または前記アンテナからのRF信号をデジタルデータに変換して前記ベースバンド部に送るRF部とを有する基地局装置。
(付記14)
データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算工程と、
前記状態遷移確率計算工程において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算工程と、
前記状態遷移確率計算工程において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算工程において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化工程とを有するターボ符号の復号方法であって、
前記アルファ・ベータメトリクス計算工程において、時系列における複数回分の処理を同時に計算する復号方法。
(付記15)
データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算工程と、
前記状態遷移確率計算工程において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算工程と、
前記状態遷移確率計算工程において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算工程において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化工程とを有するターボ符号の復号方法であって、
さらに、状態遷移確率の最大値の累積加算値を用いて前記アルファメトリクスまたは前記ベータメトリクスを圧縮する圧縮工程と、
前記圧縮工程において圧縮された前記アルファメトリクスまたは前記ベータメトリクスをメモリに記憶する記憶工程とを有する復号方法。
(付記16)
データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算工程と、
前記状態遷移確率計算工程において求めた状態遷移確率からアルファメトリクス及びベータメトリクスを求めるアルファ・ベータメトリクス計算工程と、
前記状態遷移確率計算工程において求めた状態遷移確率と、前記アルファ・ベータメトリクス計算工程において求めたアルファメトリクス及びベータメトリクスとに基づき、復号データ及び次段の事前確率とを求める正規化工程とを有するターボ符号の復号方法であって、
さらに、状態遷移確率の最大値の累積加算値を用いて前記アルファメトリクスを圧縮するアルファ圧縮工程と、
前記状態遷移確率の最大値の累積加算値を用いて前記ベータメトリクスを圧縮するベータ圧縮工程と、
前記アルファ圧縮工程において圧縮された前記アルファメトリクス、または前記ベータ圧縮工程において圧縮された前記ベータメトリクスのいずれかをメモリに記憶する記憶工程とを有し、
前記正規化工程において、前記圧縮されたアルファメトリクス及び前記圧縮されたベータメトリクスに基づき、復号データ及び次段の事前確率とを求める復号方法。
10 ターボエンコーダ
11 分配機
12、14 畳み込み符号器
13 インターリーバー
50 ターボデコーダ単体
51 状態遷移確率計算部
52 λ正規化部
53 アルファメトリクス計算部
54 ベータメトリクス計算部
60 ターボデコーダ全体
61、64 ターボデコーダ単体
62、63 インターリーバー
65 デインターリーバー
160 回路構成
162 保持回路
163 加算回路
164A〜D αβ算出部
1800、2110、2200 ターボデコーダ
1810、2110、2210 A,B,W,Y用メモリ
1820、2120、2220 Le用メモリ
1830、2130、2230 状態遷移確率計算部
1840、2140、2240 α/β回路
1850、2250 βメモリ
1860、2160、2260 λ正規化部
1870、2170、2270 αβ切り替え制御回路
1881、2181、2281 λ最大値部
1882、2182 累積加算部
1883、2283 減算β圧縮部
1884 加算β復元部
1885、2185 累積減算部
2150 αメモリ
2183、2293 減算α圧縮部
2184 加算α復元部
2282 β累積加算部
2292 α累積加算部
2285 β累積減算部
2300 Le演算回路
2310 最大値選択部
2320 減算回路
11 分配機
12、14 畳み込み符号器
13 インターリーバー
50 ターボデコーダ単体
51 状態遷移確率計算部
52 λ正規化部
53 アルファメトリクス計算部
54 ベータメトリクス計算部
60 ターボデコーダ全体
61、64 ターボデコーダ単体
62、63 インターリーバー
65 デインターリーバー
160 回路構成
162 保持回路
163 加算回路
164A〜D αβ算出部
1800、2110、2200 ターボデコーダ
1810、2110、2210 A,B,W,Y用メモリ
1820、2120、2220 Le用メモリ
1830、2130、2230 状態遷移確率計算部
1840、2140、2240 α/β回路
1850、2250 βメモリ
1860、2160、2260 λ正規化部
1870、2170、2270 αβ切り替え制御回路
1881、2181、2281 λ最大値部
1882、2182 累積加算部
1883、2283 減算β圧縮部
1884 加算β復元部
1885、2185 累積減算部
2150 αメモリ
2183、2293 減算α圧縮部
2184 加算α復元部
2282 β累積加算部
2292 α累積加算部
2285 β累積減算部
2300 Le演算回路
2310 最大値選択部
2320 減算回路
Claims (5)
- データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算部と、
前記状態遷移確率計算部において求めた状態遷移確率からアルファメトリック及びベータメトリックを求めるアルファ・ベータメトリック計算部と、
前記状態遷移確率計算部において求めた状態遷移確率と、前記アルファ・ベータメトリック計算部において求めたアルファメトリック及びベータメトリックとに基づき、復号データ及び次段の事前確率とを求める正規化部とを有するターボデコーダであって、
前記アルファ・ベータメトリック計算部は時系列における複数回分の処理を同時に計算するターボデコーダ。 - 前記アルファ・ベータメトリック計算部は、
時間tにおける状態遷移確率を保持する保持回路と、
前記保持回路が保持している時間tにおける状態遷移確率と、時間t+1における状態遷移確率とを加算する加算回路とを有する、請求項1に記載のターボデコーダ。 - さらに、状態遷移確率の最大値の累積加算値を用いて前記アルファメトリックまたは前記ベータメトリックを圧縮する圧縮部と、
減算圧縮部により圧縮された前記アルファメトリックまたは前記ベータメトリックを記憶する記憶部とを有する、請求項1または2に記載のターボデコーダ。 - データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算部と、
前記状態遷移確率計算部において求めた状態遷移確率からアルファメトリック及びベータメトリックを求めるアルファ・ベータメトリック計算部と、
前記状態遷移確率計算部において求めた状態遷移確率と、前記アルファ・ベータメトリック計算部において求めたアルファメトリック及びベータメトリックとに基づき、復号データ及び次段の事前確率とを求める正規化部とを有するターボデコーダであって、
さらに、状態遷移確率の最大値の累積加算値を用いて前記アルファメトリックまたは前記ベータメトリックを圧縮する圧縮部と、
減算圧縮部により圧縮された前記アルファメトリックまたは前記ベータメトリックを記憶する記憶部とを有するターボデコーダ。 - データとフラグと前段の事前確率とから状態遷移確率を求める状態遷移確率計算部と、
前記状態遷移確率計算部において求めた状態遷移確率からアルファメトリック及びベータメトリックを求めるアルファ・ベータメトリック計算部と、
前記状態遷移確率計算部において求めた状態遷移確率と、前記アルファ・ベータメトリック計算部において求めたアルファメトリック及びベータメトリックとに基づき、復号データ及び次段の事前確率とを求める正規化部とを有するターボデコーダであって、
さらに、状態遷移確率の最大値の累積加算値を用いて前記アルファメトリックを圧縮するアルファ圧縮部と、
前記状態遷移確率の最大値の累積加算値を用いて前記ベータメトリックを圧縮するベータ圧縮部と、
前記アルファ圧縮部により圧縮された前記アルファメトリック、または前記ベータ圧縮部により圧縮された前記ベータメトリックのいずれかを記憶する記憶部とを有し、
前記正規化部は、前記圧縮されたアルファメトリック及び前記圧縮されたベータメトリックに基づき、復号データ及び次段の事前確率とを求めるターボデコーダ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008087865A JP2009246474A (ja) | 2008-03-28 | 2008-03-28 | ターボデコーダ |
US12/412,123 US20090249171A1 (en) | 2008-03-28 | 2009-03-26 | Turbo decoder, base station and decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008087865A JP2009246474A (ja) | 2008-03-28 | 2008-03-28 | ターボデコーダ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009246474A true JP2009246474A (ja) | 2009-10-22 |
Family
ID=41118999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008087865A Withdrawn JP2009246474A (ja) | 2008-03-28 | 2008-03-28 | ターボデコーダ |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090249171A1 (ja) |
JP (1) | JP2009246474A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010239491A (ja) * | 2009-03-31 | 2010-10-21 | Nec Corp | 超高速ターボデコーダ及び超高速ターボ検出器 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7839310B2 (en) * | 2009-02-19 | 2010-11-23 | Nokia Corporation | Extended turbo interleavers for parallel turbo decoding |
WO2011046529A1 (en) * | 2009-10-13 | 2011-04-21 | Thomson Licensing | Map decoder architecture for a digital television trellis code |
CN105790775B (zh) * | 2016-05-19 | 2019-01-29 | 电子科技大学 | 一种基于概率Turbo译码器的概率计算单元 |
CN108449092B (zh) * | 2018-04-03 | 2022-02-08 | 西南大学 | 一种基于循环压缩的Turbo码译码方法及其装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3246484B2 (ja) * | 1999-07-07 | 2002-01-15 | 日本電気株式会社 | ターボデコーダ |
JP3613134B2 (ja) * | 2000-05-12 | 2005-01-26 | 日本電気株式会社 | 高速ターボデコーダ |
US7127664B2 (en) * | 2000-09-18 | 2006-10-24 | Lucent Technologies Inc. | Reconfigurable architecture for decoding telecommunications signals |
US6865710B2 (en) * | 2000-09-18 | 2005-03-08 | Lucent Technologies Inc. | Butterfly processor for telecommunications |
US7020214B2 (en) * | 2000-09-18 | 2006-03-28 | Lucent Technologies Inc. | Method and apparatus for path metric processing in telecommunications systems |
-
2008
- 2008-03-28 JP JP2008087865A patent/JP2009246474A/ja not_active Withdrawn
-
2009
- 2009-03-26 US US12/412,123 patent/US20090249171A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010239491A (ja) * | 2009-03-31 | 2010-10-21 | Nec Corp | 超高速ターボデコーダ及び超高速ターボ検出器 |
Also Published As
Publication number | Publication date |
---|---|
US20090249171A1 (en) | 2009-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3861084B2 (ja) | 特に移動無線システム用とした、複合型ターボ符号/畳み込み符号デコーダ | |
JP5499368B2 (ja) | ベクトル化されたターボ復号器のためのデータ・インターリーブ回路および方法 | |
US7720017B2 (en) | Parallel turbo decoders with multiplexed output | |
US9048877B2 (en) | Turbo code parallel interleaver and parallel interleaving method thereof | |
US8438434B2 (en) | N-way parallel turbo decoder architecture | |
CN1327653A (zh) | 移动通信系统中的分量解码器及其方法 | |
CN104092470B (zh) | 一种Turbo码译码装置及方法 | |
JP2007510337A (ja) | 移動通信システムのビタビ/ターボ統合デコーダ | |
WO2012083714A1 (zh) | Turbo码数据交织处理方法和用于交织turbo码数据的交织器 | |
JP2009246474A (ja) | ターボデコーダ | |
US8448033B2 (en) | Interleaving/de-interleaving method, soft-in/soft-out decoding method and error correction code encoder and decoder utilizing the same | |
US7278088B2 (en) | Configurable architecture and its implementation of viterbi decorder | |
TWI422166B (zh) | Turbo解碼器裝置及解碼turbo編碼信號的方法 | |
US9374109B2 (en) | QPP interleaver/DE-interleaver for turbo codes | |
US20060245526A1 (en) | Apparatus and method for Viterbi decoding | |
US8468410B2 (en) | Address generation apparatus and method for quadratic permutation polynomial interleaver | |
JP2010130271A (ja) | 復号器および復号方法 | |
US9015551B2 (en) | Decoding apparatus with de-interleaving efforts distributed to different decoding phases and related decoding method thereof | |
CN1787386A (zh) | 一种维特比译码器路径度量存储的方法 | |
JP2000278144A (ja) | 誤り訂正復号器 | |
JP2010206570A (ja) | 復号装置、復号方法 | |
CN116318552B (zh) | Turbo码的交织或解交织方法及其器件、通信芯片和装置 | |
JP4507443B2 (ja) | インターリーブ方法及びインターリーブ装置 | |
KR20090030378A (ko) | 이동통신 시스템에서 블럭 인터리빙을 위한 장치 및 방법 | |
WO2011048997A1 (ja) | 軟出力復号器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110607 |