JP4178752B2 - 畳み込み符号の軟出力復号装置及び軟出力復号方法 - Google Patents

畳み込み符号の軟出力復号装置及び軟出力復号方法 Download PDF

Info

Publication number
JP4178752B2
JP4178752B2 JP2000551487A JP2000551487A JP4178752B2 JP 4178752 B2 JP4178752 B2 JP 4178752B2 JP 2000551487 A JP2000551487 A JP 2000551487A JP 2000551487 A JP2000551487 A JP 2000551487A JP 4178752 B2 JP4178752 B2 JP 4178752B2
Authority
JP
Japan
Prior art keywords
probability
output
calculation
soft output
soft
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
Application number
JP2000551487A
Other languages
English (en)
Inventor
俊之 宮内
雅之 服部
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Application granted granted Critical
Publication of JP4178752B2 publication Critical patent/JP4178752B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum 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/3911Correction factor, e.g. approximations of the exp(1+x) function
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum 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/3922Add-Compare-Select [ACS] operation in forward or backward recursions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum 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/3927Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6566Implementations concerning memory access contentions

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Description

【0001】
技術分野
この発明は、例えば、例えば衛星放送受信装置等に適用して好適な畳み込み符号の軟出力復号装置及び軟出力復号方法に関する。詳しくは、記憶媒体に確率情報を打切り長以上記憶し、打切り長内の確率情報の更新と、打切り長外の軟出力の計算とを並列的に実行することによって、高速動作が可能となる軟出力復号装置等に係るものである。
【0002】
背景技術
畳み込み符号の復号後のシンボル誤り率を最小にする復号法として、BCJRアルゴリズムが知られている(Bahl, Cocke, Jelinek and Raviv, “0ptimal decoding of linear codes for minimizing symbol error rate”, IEEE Trans. Inf. Theory, vol. IT-20, pp. 284-287, Mar.1974 )。BCJRアルゴリズムにおいては、復号結果として各シンボルを出力するのではなく、各シンボルの尤度を出力する。このような出力を軟出力(soft-output)と呼ぶ。
【0003】
近年、連接符号の内符号の復号出力や繰り返し復号法の各繰り返しの出力を軟出力とすることで、シンボル誤り確率を小さくする研究がなされており、それに適した復号法としてBCJRアルゴリズムが注目されるようになった。
【0004】
以下、BCJRアルゴリズムの内容を詳細に説明する。
【0005】
BCJRアルゴリズムは、復号結果として各シンボルを出力する代わりに、各シンボルの尤度を出力するものであり、畳み込み符号器によりデジタルの情報を畳み込み符号化し、この畳み込み符号化されたデータ列を雑音のある無記憶通信路を介して観測する場合のアルゴリズムである。
【0006】
ここで、畳み込み符号器のシフトレジスタの内容を表すM個のステート(遷移状態)をm(0,1,・・・,M|1)で表し、時刻tのステートをSt、時刻tでの入力をit、時刻tでの出力をXtとし、出力系列をXtt'=Xt,Xt+1,・・・,Xt'とする。各ステート間の遷移確率pt(m|m')を次の(1)式により表す。
【0007】
【数1】
Figure 0004178752
【0008】
なお、Pr{A|B}は、Bが起こった条件のもとでのAが起こる条件付き確率であり、Pr{A;B}は、AとBが共に起こる確率を表すものとする。また、畳み込み符号器による畳み込み符号は、ステートS0=0から始まり、X1τを出力してSτ=0で終了するものとする。
【0009】
雑音のある無記憶通信路は、出力X1τを入力とし、出力Y1τを出力する。ここで出力系列Ytt'=Yt,Yt+1,・・・,Yt'とする。ここで雑音のある無記憶通信路の遷移確率は、すべてのt(1≦t≦τ)について、次の(2)式を満足する関数R(・|・)により定義することができる。
【0010】
【数2】
Figure 0004178752
【0011】
これにより確率λtを次の(3)式に示すように定義すれば、この確率λtは、Y1τを受信した際の時刻tにおける入力情報の尤度を表し、この確率λtが求めるべき軟出力となる。
【0012】
【数3】
Figure 0004178752
【0013】
BCJRアルゴリズムは、次の(4)式〜(6)式に示すような確率αt,βt,γtを定義する。
【0014】
【数4】
Figure 0004178752
【0015】
αt,βt,γtの内容を、図1を用いて簡単に説明する。図1は、各確率の関係を示した図である。αt-1は、符号化開始ステートS0=0から受信語をもとに時系列順に算出した時刻t−1における各ステートの通過確率に対応する。βtは、符号化終了ステートSτ=0から受信語をもとに時系列の逆順に算出した時刻Tにおける各ステートの通過確率に対応する。γtは、時刻tにおける受信語と入力確率をもとに算出した時刻tにステート間を遷移する各枝の出力の受信確率に対応する。
【0016】
このαt,βt,γtを用いると、軟出力λtは、次の(7)式のように表すことができる。
【0017】
【数5】
Figure 0004178752
【0018】
ところで、t=1,2,・・・,τについて、次の(8)式が成り立つ。
【0019】
【数6】
Figure 0004178752
【0020】
同様に、t=1,2,・・・,τ−1について、次の(9)式が成り立つ。
【0021】
【数7】
Figure 0004178752
【0022】
さらに、γtに関して、次の(10)式が成り立つ。
【0023】
【数8】
Figure 0004178752
【0024】
以上の関係をもとに、BCJRアルゴリズムでは、軟出力λtを、次の(a)〜(c)の手順で求める。
【0025】
(a)Ytを受信する毎に、(8)式、(10)式を使用して、αt(m)、γt(m',m,i)を計算する。
【0026】
(b)系列Y1τの全てを受信した後に、(9)式を使用して、全ての時刻tの各ステートmについて、βt(m)を計算する。
【0027】
(c)(a),(b)で計算したαt,βt,γtを(7)式に代入し、各時刻tの軟出力λtを計算する。
【0028】
ところで、以上説明したBCJRアルゴリズムでは、積演算を含むために演算量が大きいという問題と、符号を終結する必要があるために連続データを受信できないという問題があった。
【0029】
この2つの問題のうち、演算量を削減する手法としてMax−Log−BCJRアルゴリズム及びLog−BCJRアルゴリズム(ただし、下記論文中では、それぞれMax−Log−MAPアルゴリズム及びLog−MAPアルゴリズム)が提案され(Robertson, Villebrun and Hoeher, "A comparison of optimal and sub-optima1 MAP decoding algorithms operating in the domain", IEEE lnt.Conf.on Communications, pp.1009-1013, June 1995)、連続データを受信するための手法として、スライディングウインドウ処理を行うSW−BCJRアルゴリズムが提案されている(Benedetto and Montorsi, "Soft-output decoding algorithms in iterative decoding of turbo codes", TDA progress Report 42-124, Feb, 1996)。
【0030】
以下これらのアルゴリズムの内容を説明する。
【0031】
まず、Max‐Log−BCJRアルゴリズムとLog‐BCJRアルゴリズムの内容を説明する。
【0032】
Max−Log−BCJRアルゴリズムは、確率αt,βt,γt,λtをeを底とする対数(自然対数)で表し、(11)式に示すように確率の積演算を対数の和演算で置き換え、(12)式に示すように確率の和演算を対数の最大値演算で近似する。なお、max(x,y)は、x,yのうち値の大きなものを選択する関数である。
【0033】
【数9】
Figure 0004178752
【0034】
いま、説明を簡略化するため、次の(13)式〜(15)式に示すようにαt,βt,γt,λtの対数をIαt,Iβt,Iγt,Iλtとおく。以下、「I」はeを底とする対数を表すものとする。
【0035】
【数10】
Figure 0004178752
【0036】
Max−Log−BCJRアルゴリズムは、これらIαt,Iβt,Iγtを次の(16)式〜(18)式に示すように近似する。ここで、Iαt(m)とIβt(m)のmax m'は、入力iのときにステートmへの遷移が存在するステートm'の中で求めるものとする。
【0037】
【数11】
Figure 0004178752
【0038】
ただし、Xはm'からmへ遷移したときの符号器の出力である。
【0039】
同様に、Iλtに関しても、次の(19)式に示すように近似する。ここで、右辺第1項のmax m'は、入力=1のときにステートmへの遷移が存在するステートm'の中で求め、第2項のmax m'は、入力=0のときにステートmへの遷移が存在するステートm'の中で求めるものとする。
【0040】
【数12】
Figure 0004178752
【0041】
以上の関係をもとに、Max‐Log‐BCJRアルゴリズムでは、軟出力λtを、次の(a)〜(c)の手順で求める。
【0042】
(a)Ytを受信する毎に、(16)式、(18)式を使用して、Iαt(m)、Iγt(m',m,1)を計算する。
【0043】
(b)系列Y1τの全てを受信した後に、(17)式を使用して、全ての時刻tの各ステートmについて、Iβt(m)を計算する。
【0044】
(c)(a),(b)で計算したIαt,Iβt,Iγtを(19)式に代入し、各時刻もの軟出力Iλtを計算する。
【0045】
上述したように、Max−Log−BCJRアルゴリズムには、積演算が含まれていないため、BCJRアルゴリズムに比べて演算量を大幅に減らすことができる。
【0046】
ところで、確率の和演算を次の(20)式に示すように変形することにより、右辺第2項は、変数|x−y|に対する1次元の関数となるので、これをテーブル化しておくことで和演算の正確な対数値を求めることができる。
【0047】
【数13】
Figure 0004178752
【0048】
Max−Log−BCJRアルゴリズム中の(12)式を、全て(20)式で置き換えて、正確な確率計算を行うのがLog−BCJRアルゴリズムである。Log‐BCJRアルゴリズムは、Max−Log−BCJRアルゴリズムと比較すると演算量は増えるものの積演算は含まれておらず、その出力は、量子化誤差を除けば、BCJRアルゴリズムの軟出力の対数値そのものに他ならない。
【0049】
(20)式における右辺第2項は、変数|x−y|による一次関数となることから、例えばテーブル化等により簡易かつ精度の高い演算結果を得ることかできる。これによりLog−BCJRアルゴリズムは、Max−Log−BCJRアルゴリズムに比して精度の高い軟出力を得ることができるようになされている。
【0050】
次に、SW−BCJRアルゴリズムの内容を説明する。
【0051】
BCJRアルゴリズムでは、βtの計算のために符号が終結されている必要があり、連続したデータを受信することができない。SW−BCJRアルゴリズムは、βtの初期値として全てのステートに対して1/Mを与え、ビタビ(Viterbi)復号の場合と同様に打切り長を導入し、設定した打切り長Dだけ時刻を遡って軟出力を求めるものである(図2参照)。
【0052】
SW‐BCJRアルゴリズムでは、通常のBCJRアルゴリズムと同様にα0 の初期化を行った後、以下の(a)〜(e)の操作を毎時刻行うことで、各時刻の軟出力を求める。
【0053】
(a)時刻tでの受信値と遷移確率をもとにγtを求める。
【0054】
(b)全てのステートmに対してβt(m)=1/Mと初期化する。
【0055】
(c)γt-D+1,・・・,γtをもとにβt-1,・・・,βt-Dを計算する。
【0056】
(d)求まったβt-Dとαt-D-1から時刻t−Dの軟出力γt-Dを次の(21)式で計算する。
【0057】
【数14】
Figure 0004178752
【0058】
(e)αt-D-1,γt-Dよりαt-Dを計算する。
【0059】
なお、前掲のBenedettoらの論文には、このSW−BCJRアルゴリズムとLog−BCJRアルゴリズムを組み合わせたSW−Log−BCJRアルゴリズム、及び、SW‐BCJRアルゴリズムとMax−Log−BCJRアルゴリズムを組み合わせたSW−Max−Log−BCJRアルゴリズム(ただし、論文中ではSWAL−BCJRアルゴリズム)も提案されている。
【0060】
SW−Max−Log−BCJRアルゴリズム又はSW−Log−BCJRアルゴリズムを用いることで、連続データを受信して軟出力を求めることができる。しかし、これらのアルゴリズムでは、終結した符号を復号する場合と異なり、1復号出力を求める際にステート数×打切り長分のβtを求める必要があるために、積演算を含まないとはいえ、実装するには非常に大きな演算量が必要である。
【0061】
上述したように、SW−Max−Log−BCJRアルゴリズム又はSW−Log−BCJRアルゴリズムは、畳み込み符号化されて送信された連続データを受信して軟出力を求めることが可能ではあるが、1符号出力を得る際の演算量が多く高速動作が困難であるという問題点があった。
【0062】
また、SW−BCJRアルゴリズムとLog−BCJRアルゴリズムとを組み合わせたSW−Log−BCJRアルゴリズム、又はSW−BCJRアルゴリズムとMax−Log−BOJRアルゴリズムとを組み合わせたSW−Max−Log−BCJRアルゴリズム(SWAL−MAPアルゴリズムとも呼ぶ)によれば、演算量を低減して連続したデータの軟出力を求めることができる。
【0063】
ところが、これらのアルゴリズムでは、打切り長Dだけ遡って軟出力を得ることにより、1復号出力を求める際にステート数×打切り長D分のβを求める必要がある。これにより積演算を含まないとはいえ、処理に膨大な演算量が必要な問題があった。
【0064】
発明の開示
そこで、本発明の目的は、高速動作が可能な畳み込み符号の軟出力復号装置及び軟出力復号方法を提供することにある。
【0065】
また、本発明の目的は、簡易な構成で、軟出力を復号することができる畳み込み符号の軟出力復号装置及び軟出力復号方法を提供することにある。
【0066】
本発明では、畳み込み符号の各遷移状態での確率情報を求め、上記確率情報を使用して軟出力を計算して出力する際に、上記確率情報を所定の打切り長単位で区切って記憶し、打切り長内の確率情報の更新と打切り長外の軟出力の計算とを並列的に実行する。
【0067】
この発明においては、打切り長内の確率情報の更新と打切り長外の軟出力の計算とが並列的に行うことにより、1クロック当たりの演算量やメモリへのアクセス量が少なくて済み、高速動作が可能になる。
【0068】
すなわち、本発明は、畳み込み符号の各遷移状態での確率情報を求める確率計算手段と、上記確率計算手段で求められる上記確率情報を記憶する確率記憶手段と、上記確率記憶手段に記憶されている上記確率情報を使用して軟出力を求める軟出力計算手段とを備える畳み込み符号の軟出力復号装置であって、上記確率記憶手段は上記確率情報を打切り長以上記憶し、上記確率記憶手段による打切り長内の確率情報の更新と、上記軟出力計算手段による打切り長外の軟出力の計算とを並列的に実行することを特徴とする。
【0069】
また、本発明は、畳み込み符号の各遷移状態での確率情報を求める第1のステップと、この第1のステップで求められる上記確率情報を記憶媒体に打切り長以上記憶する第2のステップと、この第2のステップで記憶媒体に記憶された上記確率情報を使用して軟出力を求める第3のステップとを備える畳み込み符号の軟出力復号方法であって、上記第2のステップにおける打切り長内の確率情報の更新と、上記第3のステップにおける打切り長外の軟出力の計算とを並列的に実行することを特徴とする。
【0070】
さらに、本発明は、受信値毎に、符号の出力パターンと上記受信値によって決まる第1の確率を順次計算する第1の確率計算のステップと、上記第1の確率に基づいて、上記各受信値毎に、時間軸に沿った方向に各ステートに至る第2の確率を計算する第2の確率計算のステップと、上記第1の確率に基づいて、上記各受信値毎に、所定の基準時点より時間軸を遡った方向に各ステートに至る第3の確率を計算する第3の確率計算のステップと、上記第1、第2及び第3の確率に基づいて軟出力を計算する軟出力計算のステップとを有し、上記第3の確率計算のステップにおいて、上記第1の確率を所定の打切り長単位で区切って、上記打切り長よりも時間軸方向に上記基準時点を設定し、少なくとも上記各基準時点より対応する上記打切り長の範囲を単位にして、複数系列により同時並列的に上記第1の確率を処理して複数系列により上記第3の確率を計算し、該計算しだ複数系列の上記第3の確率より、上記打切り長に対応する第3の確率を選択して上記受信値に対応する上記第3の確率を出力し、上記第1の確率計算のステップにおいて、上記第1の確率を確率記憶手段に一時保持し、上記第2及び第3の確率計算のステップ、上記軟出力計算のステップの各処理に対応した順序により順次読み出して出力し、上記第3の確率計算のステップにおいて、上記第3の確率を確率記憶手段に一時保持し、上記軟出力計算のステップにおける処理に対応した順序により順次読み出して出力することを特徴とする。
【0071】
発明を実施するための最良の形態
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【0072】
本発明は、例えば図3に示すような構成の通信モデル1に適用される。この通信モデル1では、畳み込み符号器2によりデジタルの情報D0を畳み込み符号化し、この畳み込み符号化されたデータ列を雑音のある無記憶通信路3を介して復号器4に供給し、復号器4より、畳み込み符号化されたデータ列の軟出力を復号する。
【0073】
この通信モデル1における畳み込み符号器2は、1ビットの入力に対して2ビットを出力する1:2の符号器である。この畳み込み符号器2は、図4に示すように、1ビットの入力itが入力される入力端子21と、2ビットの出力Xtが出力される出力端子22a,22bと、3個のイクスクルーシブ・オア回路(以下、「EX・OR回路」という)23〜25と、2個のレジスタ26,27とから構成されている。
【0074】
入力端子21は、出力端子22aに接続されるとともに、EX・OR回路23の入力側に接続される。EX・OR回路23の出力側は、レジスタ26の入力側に接続されるとともに、EX・OR回路24の入力側に接続される。EX・OR回路24の出力側は出力端子22bに接続される。レジスタ26の出力側は、レジスタ27の入力側に接続されるとともに、EX・OR回路25の入力側に接続される。レジスタ27の出力側は、EX・OR回路24の入力側に接続されるとともに、EX・OR回路25の入力側に接続される。そして、EX・OR回路25の出力側はEX・OR回路23の入力側に接続される。
【0075】
この畳み込み符号器2において、入力端子21に供給された1ビットの入力itは、そのまま出力端子22aから出力されるとともにEX・OR回路23に入力される。EX・OR回路23は、上記入力itとEX・OR回路24の出力との排他的論理和出力をレジスタ26及びレジスタ26,27を介してEX・OR回路25に供給し、上記EX・OR回路24の排他的論理和出力が帰還される。また、このEX・OR回路23は、上記入力itと上記EX・OR回路25の排他的論理和出力との排他的論理和出力を直接及び上記レジスタ26,27を介してEX・OR回路25に供給する。
【0076】
そして、上記EX・OR回路25は、上記EX・OR回路23の排他的論理和出力と上記レジスタ27の出力との排他的論理和出力を他の1ビットとして出力端子22bより出力する。
【0077】
この畳み込み符号器2は、以上のように構成されており、入力端子21に1ビットの入力itが入力されると、出力端子22a,22bより2ビットの出力系列Xtを出力する。図5は、上記畳み込み符号器2のトレリスを示しており、ステート数Mは4となっている。
【0078】
また、この通信モデル1における復号器4は、SW−Max−Log−BCJRアルゴリズムに基づく復号器であり、図4に示した拘束長3の畳み込み符号器2に対応した復号器である。
【0079】
この復号器4は、無記憶通信路3を通して入力される符号器2の受信値Ytを打切り長D=4により処理して、軟出力λtを出力するものである。こ復号器4は、図6に示すように、全体の動作を制御するためのコントローラ41と、受信値Yt、事前確率情報Pr1=log Pr{it=0}、Pr2=log Pr{it=1}が入力される人力端子42y,42p1,42p2と、Iγ計算記憶回路43と、Iα計算記億回路44と、Iβ計算記憶回路45と、軟出力計算回路46と、軟出力Iλtを出力する出力端子47とを有している。
【0080】
この復号器4は、本来のSW‐Max−Log−BCJRアルゴリズムと異なり、1時刻分の復号を行うために、ステート数×打切り長分のIβtを計算するものではない。すなわち、復号器4は、図7に示すように、ステート数×打切り長分のIβ(βt〜βt-D+1で図示)を計算した後、それに続く打切り長外のIβ(βt-D〜βt-2D+1で図示)を計算しながらその打切り長外の軟出力の計算を順次行っていくとともに、次の打切り長分のIβを順次計算していくものである。このように、復号器4は、打切り長内のIβの計算と、打切り長以上遡ったIβの計算とを並列的に行うものであり、1クロックあたりのIβの計算はステート数×2となる。
【0081】
Iγ計算記憶回路43には、コントローラ41よりコントロール信号SCγが供給されるとともに、入力端子42y,42p1,42p2より受信値Yt、事前確率情報Pr1,Pr2が供給される。Iγ計算記憶回路43は、受信値Yt、事前確率情報Pr1,Pr2を使用し、受信値Yt毎に(18)式に従ってIγを計算して記憶し、その後にIα計算記憶回路44、Iβ計算記憶回路45及び軟出力計算回路46にそれぞれの処理に適した順序でIγを供給する。
【0082】
このIγ計算記憶回路43は、受信値Yt毎に、符号パターンと受信値により決まる第1の確率γを計算する第1の計算手段として機能する。なお、Iγ計算記憶回路43よりIα計算記憶回路44に供給されるIγをIγ(α)とし、Iγ計算記憶回路43よりIβ計算記憶回路45に供給されるIγをIγ(β1),Iγ(β2)とし、Iγ計算記憶回路43より軟出力計算回路46に供給されるIγをIγ(λ)とする。
【0083】
Iα計算記憶回路44には、コントローラ41よりコントローラ信号SCαが供給されるとともに、Iγ計算記憶回路43よりIγ(α)が供給される。このIα計算記憶回路44は、Iγ(α)を使用し、(16)式に従ってIαを計算して記憶し、その後に軟出力計算回路46にその処理に適した順序でIαを供給する。このIα計算記憶回路44は、第1の確率Iγに基づいて、各受信値Yt毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率Iαを計算する第2の計算手段として機能する。なお、Iα計算記憶回路44より軟出力計算回路46に供給されるIαをIα(λ)とする。Iα計算記憶回路44に供給されるIγをIγ(α)とする。
【0084】
Iβ計算記憶回路45には、コントローラ41よりコントローラ信号SCβが供給されるとともに、Iγ計算記憶回路43よりIγ(β1),Iγ(β2)が供給される。Iγ(β1),Iγ(β2)の間には、打切り長×2のタイムシフトがある。Iβ計算記憶回路45は、Iγ(β1),Iγ(β2)を使用し、(17)式に従って2系統のIβを並列的に計算して記憶し、その内の1系統のIβを軟出力計算回路46にその処理に適した順序で供給する。このIβ計算記憶回路45は、第1の確率Iγに基づいて、各受信値Yt毎に、打切りステートから時系列順とは逆順に各ステートに至る第3の確率Iβを計算する第3の計算手段を構成している。なお、Iβ計算記憶回路45より軟出力計算回路46に供給されるIβをIβ(λ)とする。
【0085】
軟出力計算回路46には、Iγ計算記憶回路43よりIγ(λ)が供給され、Iα計算記憶回路44よりIα(λ)が供給され、Iβ記憶計算回路45よりIβ(λ)が供給される。この軟出力計算回路46は、Iγ(λ)、Iα(λ)、Iβ(λ)を使用し、(19)式に従ってIλtを計算し、時系列順に並べ替えて出力する。
【0086】
次に、Iγ計算記憶回路43、Iα計算記憶回路44、Iβ計算記憶回路45及び軟出力計算回路46の具体構成について説明する。
【0087】
図8は、Iγ計算記憶回路43の構成を示している。このIγ計算記憶回路43は、受信値Yt、事前確率情報Pr1,Pr2、コントロール信号SCγがそれぞれ入力される人力端子301Y,301P1,301P2,301Sと、入力端子301Yに供給される受信値Ytを読み出しアドレス信号とし、それぞれ各ステートmに対する受信値Ytの確率IR(Yt|00),IR(Yt|01),IR(Yt|10),IR(Yt|11)を出力するテーブルを構成するROM(read only memory)302a〜302dとを有している。
【0088】
また、Iγ計算記憶回路43は、ROM302a,302bより出力される確率IR(Yt|00),IR(Yt|01)に対して、入力端子301P1に供給される事前確率情報Pr1をそれぞれ加算して、トレリス上の出力[00],[01]に対応する各枝の確率Iγ[00],Iγ[01]を得るための加算器303a,303bと、ROM302c,302dより出力される確率IR(Yt|10),IR(Yt|11)に対して、入力端子301P2に供給される事前確率情報Pr2をそれぞれ加算して、トレリス上の出力[10],[11]に対応する各枝の確率Iγ[10],Iγ[11]を得るための加算器303c,303dとを有している。
【0089】
ここで、加算器303a〜303dより出力される各確率Iγ[00]〜Iγ[11]の総ビット数は、符号化率をk/nとする組織的な畳み込み符号ではビット数×2nである。これによりIγ計算記憶回路43では、各確率Iγ[00]〜Iγ[11]を4ビットに設定し、確率Iγ[00],Iγ[01],Iγ[10],Iγ[11]を全体として16ビットで出力する。
【0090】
また、Iγ計算記憶回路43は、加算器303a〜303dより出力される各確率Iγ[00]〜Iγ[11]を、コントロール信号SCγに従って、順次格納し、所定の順序で出力するRAM(random access memory)304a〜304dと、これらRAM30a〜304dより出力されるIγを、コントロール信号SCγに従って、選択的に取り出してIγ(α),Iγ(β1),Iγ(β2),Iγ(λ)とする選択回路308と、これらIγ(α),Iγ(β1),Iγ(β2),Iγ(λ)を出力する出力端子309a〜309dとを有している。
【0091】
図8に示すIγ計算記憶回路43では、受信値Yt毎に、ROM302a〜302dより各ステートmに対する受信値Ytの確率IR(Yt|00),IR(Yt|01),IR(Yt|10),IR(Yt|11)が出力され、加算器303a〜303dよりトレリス上の出力[00],[01],[10],[11]に対応する各枝の確率Iγ[00],Iγ[01],Iγ[10],Iγ[11]が得られる。そして、これら確率Iγ[00]〜Iγ[11]がRAM304a〜304dに順次格納され、所定の順序で読み出され、選択回路308よりIγ(α),Iγ(β1),Iγ(β2),Iγ(λ)として取り出される。
【0092】
図9は、RAM304a〜304dのマネージメントを示すタイミングチャートである。4個のRAM304a〜304dは、それぞれ、打切り長D分、加算器303a〜303dの出力データIγ[00]〜Iγ[11]を格納できるように、16ビット×4ワード分の記憶容量を有するバンク構成により動作し、順次循環的に確率Iγ[00]〜Iγ[11]を格納する(図9のA)。なお、この図9においては、各時刻t=1,2,3,・・・の確率Iγ[00]〜Iγ[11]をγ1,γ2,γ3,・・・で示している。
【0093】
RAM304a〜304dからは、打切り長Dの2倍の長さ2Dに相当する期間だけ遅延して確率Iγ[00]〜Iγ[11]が読み出され、選択回路308からは、この確率Iγ[00]〜Iγ[11]がIα計算記憶回路44に供給すべき確率Iγ(α)として取り出される(図9のB)。
【0094】
また、RAM304a,304bに2D分の確率Iγ[00]〜Iγ[11]が書き込まれた直後から書き込み順とは逆にその確率Iγ[00]〜Iγ[11]を読み出すことと、RAM304c,304dに2D分の長さの確率Iγ[00]〜Iγ[11]が書き込まれた直後から書き込み順とは逆にその確率Iγ[00]〜Iγ[11]を読み出すこととが交互に行われる。選択回路308からは、その読み出された確率Iγ[00]〜Iγ[11]がIβ計算記憶回路45に供給すべき確率Iγ(β1)として取り出される(図9のC)。
【0095】
また、RAM304b,304cに2D分の長さの確率Iγ[00]〜Iγ[11]が書き込まれた直後から書き込み順とは逆にその確率Iγ[00]〜Iγ[11]を読み出すことと、RAM304d,304aに2D分の確率Iγ[00]〜Iγ[11]が書き込まれた直後から書き込み順とは逆にその確率Iγ[00]〜Iγ[11]を読み出すこととが交互に行われる。選択回路308からは、その読み出された確率Iγ[00]〜Iγ[11]がIβ計算記憶回路45に供給すべき確率Iγ(β2)として取り出される(図9のD)。
【0096】
さらに、RAM304a〜304dのそれぞれに打切り長D分の確率Iγ[00]〜Iγ[11]が書き込まれて2Dが経過した後に、書き込み順とは逆にその確率Iγ[00]〜Iγ[11]が読み出さされる。選択回路308からは、この確率Iγ[00]〜Iγ[11]が軟出力計算回路46に供給すべき確率Iγ(λ)として取り出される(図9のE)。
【0097】
図10は、Iα計算記憶回路44の構成を示している。
【0098】
このIα計算記憶回路44は、確率Iγ(α)、コントロール信号SCαがそれぞれ入力される入力端子401,402と、入力端子401に供給される確率Iγ(α)とレジスタ405にセットされた1時刻前のIαとを使用し、(16)式に従ってIαを計算するIα計算回路403と、Iα計算回路403より出力されるIα又は初期値Iα0のいずれかを選択してレジスタ405にセットするセレクタ404とを有している。
【0099】
セレクタ404では、コントロール信号SCαに基づいて、初期化の時点のみ初期値Iα0が選択され、その他の時点ではIα計算回路403の出力データが選択される。初期化は、Iγ計算記憶回路43より確率Iγ(α)の出力が開始される1時刻前の時点で行われる。
【0100】
ここで、初期値Iα0として、符号化の開始点が受信機側でわかっている場合には、ステート0での値としてlog 1(=0)が、その他のステートの値としてはlog 0(=−∞)が与えられる。一方、符号化の開始点が受信機側で分からない場合には、定義通りであればすべてのステートに対してlog 1/M(この例ではlog 1/4)が与えられるが、実際には全てのステートに対して同じ値であればよく、例えば全てのステートに対して0を与えてもよい。
【0101】
図11は、Iα計算回路403の構成を示している。
【0102】
このIα計算回路403は、4個の加算比較選択回路411a〜411dを有して構成されている。Iγt[00]〜Iγt[11]及び1時刻前のIαt-1(0)〜Iαt-1(3)は、トレリス上の遷移に基づいて、加算比較選択回路411a〜411dに振り分けられている。各加算比較選択回路411a〜411dでは、IαとIγを加算した2つの加算結果のうち大きい方が選択され、次時刻の各ステートにおけるIαが求められる。
【0103】
加算比較選択回路411aには、Iγt[00],Iγt[11]が供給されるとともに、Iαt-1(0),Iαt-1(2)が供給され、ステート0の確率Iαt(0)が計算される。加算比較選択回路411bには、Iγt[11],Iγt[00]が供給されるとともに、Iαt-1(2)が供給され、ステート1の確率Iαt(1)が計算される。
【0104】
加算比較選択回路411cには、Iγt[10],Iγt[01]が供給されるとともに、Iαt-1(1),Iαt-1(3)が供給され、ステート2の確率Iαt(2)が計算される。さらに、加算比較選択回路411dには、Iγt[01],Iγt[I0]が供給されるとともに、Iαt-1(1),Iαt-1(3)が供給され、ステート3の確率Iαt(3)が計算される。
【0105】
各加算比較選択回路411a〜411dは、図12に示すように、共通に構成されている。以下、加算比較選択回路411aに関して説明する。Iγt[00],(図3において、ステート0に至る破線による枝の確率)及びIαt-1(0)(図3において、1時刻前のステート0に至る確率)が加算器42Iで加算される。また、Iγt[11](図5において、ステート0に至る実線による枝の確率)及びIαt-1(2)(図5において、1時刻前のステート2までの確率)が加算器422で加算される。そして、加算器421,422の加算結果が比較回路423で比較され、セレクタ424では加算器421,422の加算結果のうち大きい方が確率Iαt(0)として取り出される。説明は省略するが、加算比較選択回路411b〜411dに関しても同様である。
【0106】
また、図10に戻って、Iα計算記憶回路44は、レジスタ405より出力される確率Iα(0)〜Iα(3)を、コントロール信号SCαに従って、順次格納し、所定の順序で出力するRAM406,407と、これらRAM406,407より出力されるIαを、コントロール信号SCαに従って、選択的に取り出してIγ(λ)とする選択回路408と、このIα(λ)を出力する出力端子409とを有している。ここで、Iα計算回路403より出力される確率Iαt(0)〜Iαt(3)のビット数は、Iαのビット数を8ビットとすると、32ビットとなる。RAM406,407には、この32ビットを1ワードとして記録が行われる。
【0107】
図10に示すIα計算記憶回路44では、Iγ計算記憶回路43より確率Iγ(α)(図9のB、図13のA参照)の出力が開始される直前時点で初期化が行われる。初期化では、セレクタ404で初期値Iα0が選択され、レジスタ405に初期値Iα0(Iα0[00]〜Iα0[11])がセットされる(図13のB)。そして、続くクロック周期からは、Iα計算回路403で、Iγ計算記憶回路43より供給される確率Iγ(α)と、レジスタ405より出力される確率Iαt-1とから、次時刻の1αtが順次計算され(図13のB)、そのIαtが改めてレジスタ405に格納される。なお、図13においては、各時刻t=1,2,3,・・・に対応する確率Iα(0)〜Iα(3)を、それぞれα1,α2,α3,・・・で示している。
【0108】
図10のC,Dは、RAM406,407のマネージメントを示している。2個のRAM406,407は、それぞれ、打切り長D分、レジスタ405の出力データすなわち確率Iα(0)〜Iα(3)を格納できるように、32ビット×4ワード分の記憶容量を有するバンク構成により動作し、順次循環的に確率Iα(0)〜Iα(3)が格納される(図13のC)。
【0109】
また、RAM406に打切り長D分の確率Iα(0)〜Iα(3)が書き込まれた直後から書き込み順とは逆にその確率Iα(0)〜Iα(3)を読み出すことと、RAM407に打切り長D分の確率Iα(0)〜Iα(3)が書き込まれた直後から書き込み順とは逆にその確率Iα(0)〜Iα(3)を読み出すこととが交互に行われる。選択回路408からは、その読み出された確率Iα(0)〜Iα(3)が軟出力計算回路46に供給すべき確率Iα(λ)として取り出される(図13のD)。
【0110】
図14は、Iβ計算記憶回路45の構成を示している。
【0111】
このIβ計算記憶回路45は、確率Iγ(β1),Iγ(β2)、コントロール信号SCβがそれぞれ入力される入力端子501,502,503と、入力端子501に供給される確率Iγ(β1)とレジスタ506にセットされている確率Iβとを使用し、(17)式に従ってIβを計算するIβ計算回路504と、Iβ計算回路504より出力されるIβ又は初期値Iβaのいずれかを選択してレジスタ506にセットするセレクタ505とを有している。
【0112】
セレクタ505では、コントロール信号SCβに基づいて、初期化の時点のみ初期値Iβaが選択され、その他の時点ではIβ計算回路504の出力データが選択される。初期化は、Iγ計算記憶回路43より確率Iγ(β1)の出力が開始される直前時点に行われるとともに、その後は2D(Dは打切り長)の周期毎に行われる。ここで、初期値Iβaとして、通常はすべてのステートに対して同じ値、例えば0やlog 1/M(この例ではlog 1/4)が与えられるが、終結された符号を復号する際には、終結するステートでの値としてlog 1(=0)が、その他のステートでの値としてlog 0(=−∞)が与えられる。
【0113】
図15は、Iβ計算回路504の構成を示している。このIβ計算回路504は、4個の加算比較選択回路511a〜511dを有して構成されている。Iγt [00]〜Iγt[11]及びIβt(0)〜Iβαt(3)は、トレリス上の遷移に基づいて、加算比較選択回路511a〜511dに振り分けられている。各加算比較選択回路511a〜511dでは、IβとIγを加算した2つの加算結果のうち大きい方が選択され、前時刻の各ステートにおけるIβが求められる。
【0114】
加算比較選択回路511aには、Iγt[00],Iγt[11]が供給されるとともに、Iβt(0),Iβt(1)が供給され、ステート0の確率Iβt-1(0)が計算される。加算比較選択回路511bには、Iγt[10],Iγt[01]が供給されるとともに、Iβt(2),Iβt(3)が供給され、ステート1の確率Iβt-1(1)が計算される。
【0115】
加算比較選択回路511cには、Iγt[11],Iγt[00]が供給されるとともに、Iβt(0),Iβt(1)が供給され、ステート2の確率Iβt-1(2)が計算される。さらに、加算比較選択回路511dには、Iγt[01],Iγt[10]が供給されるとともに、Iβt(2),Iβt(3)が供給され、ステート3の確率Iβt-1(3)が計算される。
【0116】
各加算比較選択回路511a〜511dは、図16に示すように、共通に構成されている。以下、加算比較選択回路511aに関して説明する。Iγt[00],(図3において、ステート0に至る破線による枝の確率)及びIβt(0)(図5において、打ち切り長の終点から時間軸を遡ってステート0に至る確率)が加算器521で加算される。
【0117】
また、Iγt[11](図5において、ステート0に至る実線による枝の確率)及びIβt(1)(図5において、打ち切り長の終点から時間軸を遡ってステート1に至る確率)が加算器522で加算される。そして、加算器521,522の加算結果が比較回路523で比較され、セレクタ524では加算器521,522の加算結果のうち大きい方が確率Iβt-1(0)として取り出される。説明は省略するが、加算比較選択回路511b〜511dに関しても同様である。
【0118】
また、図14に戻って、Iβ計算記憶回路45は、入力端子502に供給される確率Iγ(β2)とレジスタ509にセットされている確率Iβとを使用し、(17)式に従ってIβを計算するIβ計算回路507と、Iβ計算回路507より出力されるIβ又は初期値Iβbのいずれかを選択してレジスタ509にセットするセレクタ508とを有している。
【0119】
セレクタ508では、コントロール信号SCβに基づいて、初期化の時点のみ初期値Iβbが選択され、その他の時点ではIβ計算回路507の出力データが選択される。初期化は、Iγ計算記憶回路43より確率Iγ(β2)の出力が開始される直前時点で行われるとともに、その後は2D(Dは打切り長)の周期毎に行われる。ここで、初期値Iβbも、上述した初期値Iβaと同様に設定される。なお、詳細説明は省略するが、Iβ計算回路507は、上述したIβ計算回路504(図15、図16参照)と同様に構成されている。
【0120】
また、Iβ計算記憶回路45は、レジスタ506,509より出力される確率Iβ(0)〜Iβ(3)を、コントロール信号SCβに従って、選択的に取り出してIβ(λ)とする選択回路510と、このIβ(λ)を出力する出力端子512とを有している。ここで、Iβ計算回路504,507のそれぞれより出力される確率Iβt-1(0)〜Iβt-1(3)のビット数は、Iβのビット数を8ビットとすると、32ビットとなる。
【0121】
図14に示すIβ計算記憶回路45では、Iγ計算記憶回路43より確率Iγ(β1)(図9のC、図17のA参照)の出力が開始される直前時点及びその後の2Dの周期毎にレジスタ506の初期化が行われる。
【0122】
この初期化では、セレクタ505で初期値Iβaが選択され、レジスタ506に初期値Iβaがセットされる。そして、続くクロック周期からは、Iβ計算回路504で、Iγ計算記憶回路43より供給される確率Iγ(β1)と、レジスタ506より出力されるIβtとから、前時刻のIβt-1が順次計算され、そのIβt-1が改めてレジスタ506に格納されて、次のクロック時点における出力となる(図17のC)。なお、図17においては、各時刻t=1,2,3,・・・に対応する確率Iβ(0)〜Iβ(3)を、それぞれβ1,β2,β3,・・・で示している。
【0123】
また、Iγ計算記憶回路43より確率Iγ(β2)(図9のD、図17のB参照)の出力が開始される直前時点及びその後の2Dの周期毎にレジスタ509の初期化が行われる。この初期化では、セレクタ508で初期値Iβbが選択され、レジスタ509に初期値Iαbがセットされる。そして、続くクロック周期からは、Iβ計算回路507で、Iγ計算記憶回路43より供給される確率Iγ(β2)と、レジスタ509より出力されるIβtとから、前時刻のIβt-1が順次計算され、そのIβt-1が改めてレジスタ509に格納されて、次のクロック時点における出力となる(図17のD)。そして、選択回路510では、図17のEに示すようにレジスタ506,509の出力が選択的に取り出され、軟出力計算回路46に供給すべき確率Iβ(λ)が得られる。
【0124】
図18は、軟出力計算回路46の構成を示している。この軟出力計算回路46は、確率Iα(λ),Iβ(λ),Iγ(λ)がそれぞれ入力される入力端子601,602,603と、これら確率Iα(λ),Iβ(λ),Iγ(λ)を使用して、(19)式の右辺第1項、第2項をそれぞれ計算するIλ1計算回路604、Iλ0計算回路605と、これら計算回路604の出力Iλ1より計算回路605の出力Iλ0を減算して(19)式のIλtを得る減算器606と、この減算器606より出力されるIλtを時系列順に並べ替えて出力するLIFO(Last−in first−out)メモリ607と、この軟出力Iλtを出力する出力端子608とを有している。
【0125】
図19は、Iλ1計算回路604の構成を示している。
【0126】
このIλ1計算回路604は、4個の加算器604a〜604dと、最大値選択回路604eとを備えて構成される。加算器604a〜604dには、トレリス上の状態遷移に基づいて、信号が以下のように振り分けられている。すなわち、加算器604aにはIαt-1(0),Iβt(1),Iγt[11]が供給され、加算器604bにはIαt-1(1),Iβt(2),Iγt[10]が供給され、加算器604cにはIαt-1(2),Iβt(0),Iγt[11]が供給され、さらに加算器604dにはIαt-1(3),Iβt(3),Iγt[10]が供給される。
【0127】
そして、各加算器604a〜604dの加算結果の最大値が最大値選択回路604eで選択され、それがIλ1として出力される。
【0128】
同様に、図20は、Iλ0計算回路605の構成を示している。
【0129】
このIλ0計算回路605は、4個の加算器605a〜605dと、最大値選択回路605eとを備えて構成される。加算器604a〜604dには、トレリス上の状態遷移に基づいて、信号が以下のように振り分けられている。すなわち、加算器605aにはIαt-1(0),Iβt(0),Iγt[00]が供給され、加算器605bにはIαt-1(1),Iβt(3),Iγt[01]が供給され、加算器605cにはIαt-1(2),Iβt(1),Iγt[00]が供給され、さらに加算器605dにはIαt-1(3),Iβt(2),Iγt[01]が供給される。そして、各加算器605a〜605dの加算結果の最大値が最大値選択回路605eで選択され、それがIλ0として出力される。
【0130】
図18に示す軟出力計算回路46では、入力端子601,602,603にそれぞれ確率Iα(λ),Iβ(λ),Iγ(λ)が供給される(図21のA,B,C)。そして、各クロック周期毎に、Iλ1計算回路604では(19)式の右辺第1項の計算が行われてIλ1が得られるとともに、Iλ0計算回路605では(19)式の右辺第2項の計算が行われてIλ0が得られ、減算器606より各時刻tのIλtが出力される(図21のD)。そして、減算器606より順次出力されるIλtがLIFOメモリ607に供給されて並べ替えが行われ、このLIFOメモリ607より時系列順に並べ替えられた軟出力Iλtが出力される。なお、図21においては、各時刻t=1,2,3,・・・に対応する軟出力Iλtを、それぞれλ1,λ2,λ3,・・・で示している。
【0131】
次に、上述した復号器4において、コントローラ41によるメモリマネジメントを、図面を用いてさらに詳細に説明する。図22A,図22B,図22C,図22Dは、RAM304a〜304d、レジスタ405、RAM406,407、レジスタ506,509の記憶内容と出力を時系列順に図示することで、メモリマネジメントの内容を示している。
【0132】
RAM304a〜304d、RAM406,407において、「↓」印は指示するアドレスへの書き込みを意味し、「↑」印は指示するアドレスからの読み出しを意味している。
【0133】
図22A,図22B,図22C,図22Dの中で、例えばt=13においては、以下の(1)〜(6)の操作が同時に行われている。
【0134】
(1)Iγ13をRAM304dに格納する。
【0135】
(2)レジスタ405より出力されるIα4とRAM304bから出力されるIγ5をもとにIα5を求めて、改めてレジスタ405に格納する。
【0136】
(3)レジスタ405から出力される前時刻に求めたIα4をRAM407に格納する。
【0137】
(4)レジスタ506より出力されるIβ4と、RAM304aから出力されるIγ4をもとにIβ3を求めて、改めてレジスタ506に格納する。
【0138】
(5)レジスタ509から出力されるIβ12とRAM304cから出力されるIγ12をもとにIβ11を求めて、改めてレジスタ509に格納する。
【0139】
(6)レジスタ506から出力されるIβ4と、RAM304aから出力されるIγ4と、RAM406から出力されるIα3をもとに、Iλ4を求める。
【0140】
他の時刻についても同様な操作が行われている。これを繰り返すことで、1時刻に1つずつλtを求めることができる。ただし、この方法ではλtが本来の時系列に対して逆順に求まるので、上述したようにLIFOメモリ607を利用して、軟出力λtを本来の時系列順に並べ替えてから出力する。図23は、以上の操作に基づくメモリマネジメントのt=13〜t=20のタイミングチャートを示している。
【0141】
以上説明したように、本実施の形態においては、打切り長内のIβの計算(図14のIβ計算回路507による計算)と、打切り長以上遡ったIβの計算(図14のIβ計算回路504による計算)とを並列的に行うものであり、1クロックあたりのIβの計算はステート数×2となる。そのため、従来のSW−Max−Log−BCJRアルゴリズムに比べて計算量を大幅に削減できる。また、1クロックあたりの各メモリに対するアクセスが1回で済む。したがって、本実施に形態によれば、畳み込み符号の復号動作を高速に行うことが可能となる。
【0142】
なお、上述実施の形態におけるメモリマネジメントは、Iα,Iβ,Iγの計算方法にはよらないので、例えばIγの計算法としてROMテーブル参照以外の方法を用いることもできる。
【0143】
また、図11、図15、図19、図20に示した計算回路に、(20)式に示した補正を組み込むことでSW−Log−BCJRアルゴリズムを実装することも可能である。以下、SW−Log−BCJRアルゴリズムに基づいた軟出力Iλtを求める場合を説明する。
【0144】
例として、図11の回路に(20)式に示した補正を組み込む場合を説明する。
【0145】
(20)式に示した補正を組み込むためには、各加算比較選択回路411a〜411dを、図12に示すような構成から、図24に示すような構成に置き換える必要がある。この図24において、図9と対応する部分には同一符号を付して示している。
【0146】
加算比較選択回路411aに関して説明する。Iγt[00]及びIαt-1(0)が加算器421で加算される。また、Iγt[11]及びIαt-1(2)が加算器422で加算される。そして、減算器426により加算器421,422の加算結果x,yの減算が減算器426で行われ、その減算結果(x−y)が正負判定回路427に供給される。正負判定回路427からは、減算結果(x−y)が0以上であるときは“1”の信号が出力され、0より小さいときは“0”の信号が出力される。
【0147】
正負判定回路427の出力信号がセレクタ424に選択信号SELとして供給される。そして、セレクタ424では、選択信号SELが“1”の信号であるときは加算421の加算結果xが取り出され、一方選択信号SELが“0”の信号であるときは加算422の加算結果yが取り出される。これにより、セレクタ424では、加算器421,422の加算結果x,yのうち大きい方が選択的に取り出されることとなり、(20)式の右辺第1項に相当する演算が行われることとなる。
【0148】
また、減算器426の減算結果(x−y)が絶対値算出回路428に供給されて絶対値|x−y|が算出される。そして、この絶対値|x−y|がテーブルを構成するROM429に読み出しアドレス信号として供給され、ROM429からは、(20)式に右辺第2項であるlog (1+e−|x−y|)が得られる。そして、加算器430によりセレクタ424の出力信号max(x−y)とROM429の出力信号log (1+e−|x−y|)とが加算され、その加算結果が確率Iαt(0)として出力される。この確率Iαt(0)はSW−Log−BCJRアルゴリズムに基づいたものとなる。なお、説明は省略するが、加算比較選択回路411b〜411dに関しても同様である。
【0149】
以上は図11の回路に(20)式に示した補正を組み込む場合を説明したが、図15、図19、図20に示した回路に関しても(20)式に示した補正を同様に行うことができ、これによってSW−Log−BCJRアルゴリズムを実装することが可能になる。
【0150】
なお、上述の実施の形態では、拘束長=3、打切り長=4の場合を例としたが、拘束長、打切り長はこの値に限らず任意の値とすることができる。またメモリの読み書きの内容が同じでも、シングルポートのRAMではなくマルチポートのRAMを用いることによって、例えばRAM304a〜304dを2つのデュアルポートRAMに置き換えたり、RAM406,407を1つのデュアルポートRAMに置き換えたりするなど、RAMの構成には種々の変形が可能である。
【0151】
また、IαではなくIβをRAMで記憶するなど、メモリマネジメントには種々の変形が可能である。さらに以上の例は、SW−Max−Log−BCJRアルゴリズム及びSW−Log−BCJRアルゴリズムを扱ったが、これも他の軟出力復号アルゴリズムへの応用など種々の変形が考えられる。
【0152】
なお、上述実施の形態では、RAM304a〜304dから打切り長Dの2倍の長さ2Dに相当する期間だけ遅延して確率Iγ[00]〜Iγ[11]を読み出して、軟出力を復号するようにしたが、確率情報の遅延期間は打切り長Dの2倍の長さ2Dに限られることなく、打切り長D以上であればよい。
【0153】
例えば、図25に示すように、上述の図8に示したIγ計算記憶回路43にRAM304eを増設して、確率情報を打切り長Dの3倍の長さ3Dに相当する期間だけ遅延するようにしてもよい。
【0154】
この図25に示す構成のIγ計算記憶回路43では、加算器303a〜303dより得られるトレリス上の出力[00],[01],[10],[11]に対応する各枝の確率Iγ[00],Iγ[01],Iγ[10],Iγ[11]をRAM304a〜304eに順次格納し(図26のA)、打切り長Dの3倍の長さ3Dに相当する期間だけ遅延して保持したデータIγ[00]〜Iγ[11]を出力する。そして、選択回路308は、このようにして遅延して出力される確率Iγ[00]〜Iγ[11]をIα計算記憶回路13に対する確率Iγ(α)として出力する(図26のB,C)。
【0155】
また、RAM304a〜304e及び選択回路308は、確率Iγ[00]〜Iγ[11]を打切り長D単位で区切り、各打切り長Dの終端より時間軸方向に打切り長Dだけ経過した時点に基準時点を設定する。RAM304a〜304e及び選択回路308は、これら各基準時点までの打切り長Dの2倍に対応する確率Iγ[00]〜Iγ[11]が蓄積されると、これらの確率Iγ[00]〜Iγ[11]を入力順とは逆の順序により出力する。これによりRAM304a〜304e及び選択回路308は、確率Iγ[00]〜Iγ[11]をIβ計算記憶回路45に対する第1の確率Iγ(β1)として出力し(図26のD,E)、また、この第1の確率Iγ(β1)に対して打切り長Dの分だけ遅延した確率Iγにより構成される確率Iγ[00]〜Iγ[11]を、同様の順序によりIβ計算記憶回路45に対する第2の確率Iγ(β2)として出力する(図26のF,G)。
【0156】
これに対してRAM304a〜304e及び選択回路308は、軟出力計算回路46に対する確率Iγ(λ)にあっては、Iα計算記憶回路44に対する順序により所定時間遅延したタイミングにより保持した確率Iγ[00]〜Iγ[11]を出力する。これらによりIγ計算記憶回路43は、第1の確率IγをIα計算記憶回路44、Iβ計算記憶回路45、軟出力計算回路46の処理に対応した順序により出力する。
【0157】
また、Iβ計算記憶回路45は、図27に示すように、Iβ計算回路504,507により計算した確率βt-1(0)〜βt-1(3)を選択回路510にRAM513,514を介して供給する。
【0158】
この図27に示すIβ計算記憶回路45において、Iβ計算回路504,507、それぞれレジスタ506,509から入力される1クロック周期だけ先行した確率βt(0)〜βt(3)を基準にして、Iγ計算記憶回路43から出力される第1の確率Iγ(β1)及び第2の確率Iγ(β2)より受信値Ytの各ステートまで遡る確率βt-1(0)〜βt-1(3)を計算する。
【0159】
すなわち、このIβ計算記憶回路45において、セレクタ505,508は、コントロール信号SCβにより、それぞれIβ計算回路504,507から出力される1クロック周期だけ先行した確率βt(0)〜βt(3)又は初期値Iβa,Iβbをレジスタ506,509に選択出力する。
【0160】
ここで、初期値Iβa,Iβbは、上述の如く、通常はすべてのステートに対して同じ値、例えば0やlog 1/M(この例ではlog 1/4)が与えられるが、終結された符号を復号する際には、終結するステートでの値としてlog 1(=0)が、その他のステートでの値としてlog 0(=−∞)が与えられる。
【0161】
そして、セレクタ505,508は、図28に示すように、上述した打切り長Dの2倍の長さ2Dを単位にした時系列を遡った第1の確率Iγ(β1)及び第2の確率Iγ(β2)の繰り返しに対応して、それぞれ第1の確率Iγ(β1)及び第2の確率Iγ(β2)の繰り返しがこの長さ2Dを単位にして切り換わる1クロック周期前のタイミングで初期値Iβa,Iβbをレジスタ506,509に選択出力する(図28のA,B,D,E)。また、これ以外のタイミングにおいては、Iβ計算回路504,507から出力される1クロック周期だけ先行した確率βt(0)〜βt(3)を選択出力する。
【0162】
また、RAM513,514は、それぞれ打切り長分だけ確率βt-1(0)〜βt-1(3)を格納できる容量を有するバンク構成により形成され、このようにして打切り長分だけ変位して、かつ打切り長Dの2倍の周期を単位にして得られる確率βt-1(0)〜βt-1(3)から(図28のB〜D)、それぞれ後半の打切り長分の部分で得られる確率βt-1(0)〜βt-1(3)を順次循環的に入力する。これによりRAM513,514は、初期値Iβa,Iβbを基準にして計算した2系統の確率βt-1(0)〜βt-1(3)より充分に信頼性に足る部分を選択的に取り込む。さらに、RAM513,514は、このようにして格納した確率βt-1(0)〜βt-1(3)を時系列順に出力する。
【0163】
このIβ計算記憶回路45は、少なくとも第1の確率Iγについて設定した各基準時点より対応する打切り長の範囲で、複数系列により同時並列的に第1の確率Iγを処理して複数系列により第3の確率Iβを計算し、これら複数系列の確率Iβより打ち切り長の確率Iβを選択出力することになる。なお、この実施の形態では、これら基準時点が各打切り長に続く続く打切り長の終了時点に設定されていることになる。
【0164】
そして、選択回路510は、このような順序によりRAM513,514から打切り長Dを単位にして交互に出力される確率βt-1(0)〜βt-1(3)を軟出力計算回路15に出力する。
【0165】
以上の構成において、入力itは、畳み込み符号器2において拘束長3により畳み込み符号化処理され、ここでステート数mが4の出力系列Xtに変換され、この出力系列Xtが無記憶通信路3を介して復号器4に入力される。この復号器4において、入力信号は、アナログディジタル変換処理により受信値Ytが検出され、この受信値YtがIγ計算記憶回路43に入力される。
【0166】
このIγ計算記憶回路43において、受信値Ytは、各ステートに対応するROM302a〜302dのテーブルにより、各ステートに対応する受信値Ytの確率が計算され((16)式の右辺第1項)、加算器303a〜303dにより初期値log Pr{it=0}、log Pr{it=1}と加算され、これにより時系列により各ステートmに対応する第1の確率Iγが順次計算される(図26のA)。
【0167】
このようにして計算された第1の確率Iγは、打切り長Dを単位にして形成されたバンク構成のRAM304a〜304eに順次格納され、打切り長Dの3倍に対応する期間だけ遅延して、時系列順に、Iα計算記憶回路43に出力される(図26のC)。これによりIα計算記憶回路43に対して、このα計算記憶回路43における処理に適した順序、タイミングにより第1の確率Iγ(α)が出力される。
【0168】
また第1の確率Iγは、打切り長D単位で区切られ、各打切り長Dよりさらに打切り長分だけ時間経過した時点に各基準時点が設定され、各打切り長から対応する基準時点までRAM304a〜304eに蓄積されると、各基準点から時間軸を遡る順序によりIβ計算記憶回路45に出力される(図26のD〜G)。このときこの基準時点が、続く打切り長の終了時点に設定されていることにより、第1の確率Iγは、1の打切り長から対応する基準時点までの分の出力が完了しないうちに、続く1の打切り長から対応する基準時点までの分の出力が開始され、これにより1の打切り長だけ内容及びタイミングかシフトした2系統により、時間軸を遡る順序でIβ計算記憶回路45に出力される(図26のD〜G)。これによりIβ計算記憶回路45に対して、このβ計算記憶回路45における処理に適した順序、タイミングにより2系統の第2の確率Iγ(β1),Iγ(β2)が出力される。
【0169】
また、第1の確率Iγは、Iα計算記憶回路44への出力と同様に、所定期間だけ遅延して、時系列順に、軟出力計算回路46における処理に適した順序及びタイミングで軟出力計算回路46に出力される。
【0170】
そして、Iα計算記憶回路44において、第1の確率Iγから各受信値毎に時間軸に沿った方向に各ステートに至る第2の確率α(λ)が算出されて軟出力計算回路46における処理に適した順序及びタイミングで軟出力計算回路46に出力される。
【0171】
これに対してIβ計算記憶回路45において、時間軸を遡る順序により入力される2系統の確率Iγ(β1),Iγ(β2)は、それぞれIβ計算回路504,507において、1クロック後の対応するステートの確率βtと加算された後、値の大きなものが選択され、これにより各ステート毎に時間軸を遡る方向の確率が計算される。さらに、このようにして順次計算される確率がセレクタ505,508により初期値Iβa,Iβbと選択的にIβ計算回路504,507に帰還されることにより、上述した基準時点より時間軸を遡る方向の確率が同時並列的に計算される(図28のA,B,D,E)。
【0172】
このようにして計算された2系統の確率は、基準点より遠ざかって十分な信頼性による打切り長の確率が選択的に格納されて出力される。このとき、RAM513,514を介した確率の選択出力の際に、これら確率Iβ(λ)は、格納時とは逆の時間軸に沿った順序に並び替えられて、軟出力計算回路46に出力される。これにより、第3の確率Iβ(λ)も、時系列に沿った軟出力計算回路46の処理に対応した順序により出力される。
【0173】
軟出力計算回路46においては、図7に示すように、入力される確率Iα(λ)、Iβ(λ)、Iγ(λ)を並べ直すことなく、また、計算した軟出力Iλを並べ直すことなく、処理することがてき、これらにより簡易な構成で軟出力を得ることができる。
【0174】
また、1のシンボルを復号する際に、拘束長×ステート数の計算に代えて、2系統×ステート数の計算により第3の確率Iβを計算できることにより、その分演算処理量が低減され、全体構成が簡略化される。
【0175】
すなわち、このようにして軟出力計算回路46に入力された確率Iα(λ)、Iβ(λ)、Iγ(λ)は、対応するステート毎に加算され、これらの最大値がそれぞれ値「1」及び値「0」の入力毎に検出された後、減算器606により減算されことにより得られる軟出力Iλtが受信値Ytに対応する時系列順に出力される。
【0176】
このように、第1の確率Iγを打切り長Dで区切って対応する基準時刻を設定し、各基準時刻より打ち切り長の確率Iγを単位にして、時間軸を遡る順序で複数系統により出力して処理するように構成し、このときそれぞれ続く処理に適した順序により第1、第2及び第3の確率Iγ、Iα、Iβを出力することにより、拘束長×ステート数の計算に代えて、2系統×ステート数の計算により各シンボルの軟出力を得ることができる。このとき軟出力計算回路において、入力された確率Iγ、Iα、Iβ又は計算した軟出力Iλを並べ直すことなく、軟出力Iλを計算することができる。これにより簡易な構成で、軟出力を復号することができる。
【0177】
なお、上述の実施の形態においては、打切り長を単位にして基準時刻を設定する場合について述べたが、本発明はこれに限らず、必要に応じて種々の位置に基準時刻を設定することができる。また、このようにして設定する基準時刻により、1の基準時刻から対応する打切り長までの長さが上述の実施の形態より長くなった場合、その分第1の確率Iγを多くの系統により出力し、またIβ計算記憶回路において、このようにして出力される確率Iγに対応する系統により処理することが必要になる。
【0178】
また上述の実施の形態においては、打切り長=4により軟出力を計算する場合について述べたが、本発明はこれに限らず、必要に応じて打切り長を種々の長さに設定することができる。
【0179】
さらに上述の実施の形態においては、拘束長=3により畳み込み符号化処理する場合について述べたが、本発明はこれに限らず、種々の拘束長による畳み込み符号を処理する場合に広く適用することかできる。
【0180】
また、上述の実施の形態においては、SW−Max−Log−BOJRアルゴリズムにより軟出力を計算する場合について述べたが、本発明はこれに限らず、SW−Log−BCJRアルゴリズム等、種々の軟出力復号アルゴリズムにより軟出力を計算する場合に広く適用することができる。
【0181】
以上のように、本発明によれば、確率情報を打切り長D以上記憶し、打切り長D内の確率情報の更新と、打切り長外の軟出力の計算とを並列的に実行することにより、1クロックあたりの計算量及び各メモリに対するアクセス量を大幅に削減でき、畳み込み符号の復号動作を高速に行うことができる。また、打切り長以上の範囲を単位にして時間軸を遡る方向に各ステートに至る確率を複数系列で計算して処理することにより軟出力を計算するようにし、このとき計算した確率を続く計算処理に適した順序により出力することにより、簡易な構成で、軟出力を復号することができる軟出力復号装置及び軟出力の復号方法を得ることができる。
【図面の簡単な説明】
【図1】 BCJRアルゴリズム内のαt,βt,γtの内容を説明するための図である。
【図2】 SW・BCJRアルゴリズムの内容を説明するための図である。
【図3】 この発明を適用した通信モデルを示すブロック図である。
【図4】 上記通信モデルにおける畳み込み符号器の構成を示すブロック図である。
【図5】 上記畳み込み符号器のトレリスを示す図である。
【図6】 上記通信モデルにおける復号器の構成を示すブロック図である。
【図7】 上記通信モデルにおける軟出力計算の手順を説明するための図である。
【図8】 上記復号器におけるIγ計算記憶回路の構成を示すブロック図である。
【図9】 上記Iγ計算記憶回路を構成するRAM等の動作を説明するためのタイムチャートである。
【図10】 上記復号器におけるIα計算記憶回路の構成を示すブロック図である。
【図11】 上記Iα計算記憶回路内のIα計算回路の構成を示すブロック図である。
【図12】 上記Iα計算回路内の加算比較選択回路の構成を示すブロック図である。
【図13】 上記Iα計算記憶回路を構成するレジスタ、RAM等の動作を説明するためのタイムチャートである。
【図14】 上記Iβ計算記憶回路の構成を示すブロック図である。
【図15】 上記Iβ計算記憶回路内のIβ計算回路の構成を示すブロック図である。
【図16】 Iβ計算回路内の加算比較選択回路の構成を示すブロック図である。
【図17】 上記Iβ計算記憶回路を構成するレジスタ等の動作を説明するためのタイムチャートである。
【図18】 上記復号器における軟出力計算回路の構成を示すブロック図である。
【図19】 上記軟出力計算回路内のIλ計算回路の構成を示すブロック図である。
【図20】 上記軟出力計算回路内のIλ計算回路の構成を示すブロック図である。
【図21】 上記軟出力計算回路の動作を説明するためのタイムチャートである。
【図22】 上記Iγ計算記憶回路におけるメモリマネジメントの内容を説明するための図である。
【図23】 上記メモリマネジメントのタイミングチャートである。
【図24】 SW‐Log‐BCJRアルゴリズムに対応した加算比較選択回路の構成を示すブロック図である。
【図25】 上記復号器におけるIγ計算記憶回路の他の構成例を示すブロック図である。
【図26】 上記Iγ計算記憶回路の動作の説明するためのタイムチャートである。
【図27】 上記復号器におけるIβ計算記憶回路の他の構成例を示すブロック図である。
【図28】 上記Iβ計算記憶回路の動作の説明するためのタイムチャートである。

Claims (13)

  1. 畳み込み符号の各遷移状態での確率情報を求める確率計算手段と、
    上記確率計算手段で求められる上記確率情報を記憶媒体に記憶する確率記憶手段と、
    上記記憶媒体に記憶されている上記確率情報を使用して軟出力を求める軟出力計算手段とを備える畳み込み符号の軟出力復号装置であって、
    上記確率記憶手段は上記記憶媒体に上記確率情報を打切り長以上記憶し、
    上記確率記憶手段による打切り長内の確率情報の更新と、上記軟出力計算手段による打切り長外の軟出力の計算とを並列的に実行する
    ことを特徴とする畳み込み符号の軟出力復号装置。
  2. 上記確率計算手段及び軟出力計算手段は、
    上記確率の積演算を対数による和演算により計算し、上記確率の和演算を対数による最大値演算により計算する
    ことを特徴とする請求項1に記載の畳み込み符号の軟出力復号装置。
  3. 上記確率計算手段及び軟出力計算手段は、
    上記確率の積演算を対数による和演算により計算し、上記確率の和演算を対数による最大値演算と一次元の関数演算とにより計算する
    ことを特徴とする請求項1に記載の畳み込み符号の軟出力復号装置。
  4. 上記確率計算手段は、
    受信値毎に、符号の出力パターンと上記受信値によって決まる第1の確率を計算する第1の計算手段と、
    上記第1の確率に基づいて、上記各受信値毎に、符号化開始ステートから時系列順に各ステートに至る第2の確率を計算する第2の計算手段と、
    上記第1の確率に基づいて、上記各受信値毎に、打切りステートから上記時系列順とは逆順に各ステートに至る第3の確率を計算する第3の計算手段とを有してなり、
    上記確率記憶手段の打切り長内で更新される確率情報は、上記第3の確率の情報である
    ことを特徴とする請求項1に記載の畳み込み符号の軟出力復号装置。
  5. 上記第1の確率計算手段は、上記第1の確率を上記確率記憶手段に一時保持し、上記第2及び第3の確率計算手段、上記軟出力計算手段の各処理に対応した順序により順次読み出して出力し、
    上記第3の確率計算手段は、上記第1の確率を所定の打切り長単位で区切って、上記打切り長よりも時間軸方向に上記基準時点を設定し、少なくとも上記各基準時点より対応する上記打切り長の範囲を単位にして、複数系列により同時並列的に上記第1の確率を処理して複数系列により上記第3の確率を計算し、該計算した複数系列の上記第3の確率より上記打切り長に対応する第3の確率を選択して、上記受信値に対応する上記第3の確率を上記確率記憶手段に一時保持し、上記軟出力計算手段の処理に対応した順序により順次読み出して出力する
    ことを特徴とする請求項4に記載の畳み込み符号の軟出力復号装置。
  6. 上記第1の確率計算手段は、
    上記確率記憶手段に一時保持した第1の確率を、時間軸に沿った順序で所定時間遅延して上記第2の確率計算手段に出力し、
    上記確率記憶手段に一時保持した第1の確率を、少なくとも上記各基準時点より対応する上記打切り長の上記第1の確率を含む範囲を単位にして、複数系列により時間軸を遡る順序で同時並列的に上記第3の確率計算手段に出力し、
    上記確率記憶手段に一時保持した上記第1の確率を、時間軸に沿った順序で所定時間遅延して上記軟出力計算手段に出力する
    ことを特徴とする請求項5に記載の畳み込み符号の軟出力復号装置。
  7. 上記基準時点を、続く上記打切り長の終了時点に設定したことを特徴とする請求項5に記載の畳み込み符号の軟出力復号装置。
  8. 畳み込み符号の各遷移状態での確率情報を求める第1のステップと、
    この第1のステップで求められる上記確率情報を記憶媒体に打切り長以上記憶する第2のステップと、
    この第2のステップで記憶媒体に記憶された上記確率情報を使用して軟出力を求める第3のステップとを備える畳み込み符号の軟出力復号方法であって、
    上記第2のステップにおける打切り長内の確率情報の更新と、上記第3のステップにおける打切り長外の軟出力の計算とを並列的に実行する
    ことを特徴とする畳み込み符号の軟出力復号方法。
  9. 受信値毎に、符号の出力パターンと上記受信値によって決まる第1の確率を順次計算する第1の確率計算のステップと、
    上記第1の確率に基づいて、上記各受信値毎に、時間軸に沿った方向に各ステートに至る第2の確率を計算する第2の確率計算のステップと、
    上記第1の確率に基づいて、上記各受信値毎に、所定の基準時点より時間軸を遡った方向に各ステートに至る第3の確率を計算する第3の確率計算のステップと、
    上記第1、第2及び第3の確率に基づいて軟出力を計算する軟出力計算のステップとを有し、
    上記第3の確率計算のステップにおいて、上記第1の確率を所定の打切り長単位で区切って、上記打切り長よりも時間軸方向に上記基準時点を設定し、少なくとも上記各基準時点より対応する上記打切り長の範囲を単位にして、複数系列により同時並列的に上記第1の確率を処理して複数系列により上記第3の確率を計算し、該計算しだ複数系列の上記第3の確率より、上記打切り長に対応する第3の確率を選択して上記受信値に対応する上記第3の確率を出力し、
    上記第1の確率計算のステップにおいて、上記第1の確率を確率記憶手段に一時保持し、上記第2及び第3の確率計算のステップ、上記軟出力計算のステップの各処理に対応した順序により順次読み出して出力し、上記第3の確率計算のステップにおいて、上記第3の確率を確率記憶手段に一時保持し、上記軟出力計算のステップにおける処理に対応した順序により順次読み出して出力する
    ことを特徴とする畳み込み符号の軟出力復号方法。
  10. 上記第1の確率計算のステップにおいて、
    上記確率記憶手段に一時保持した第1の確率を、時間軸に沿った順序で所定時間遅延して上記第2の確率計算のステップに出力し、上記確率記憶手段に一時保持した第1の確率を、少なくとも上記各基準時点より対応する上記打切り長の上記第1の確率を含む範囲を単位にして、複数系列により時間軸を遡る順序て同時並列的に上記第3の確率計算のステップに出力し、上記確率記憶手段に一時保持した第1の確率を、時間軸に沿った順序で所定時間遅延して上記軟出力計算のステップに出力することを特徴とする請求項9に記載の畳み込み符号の軟出力復号方法。
  11. 上記基準時点を、続く上記打切り長の終了時点に設定したことを特徴とする請求項9に記載の軟出力の復号方法。
  12. 上記第1、第2及び第3の確率計算のステップ、上記軟出力計算のステップにおいて、上記確率の積演算を対数による和演算により計算し、上記確率の和演算を対数による最大値演算により計算することを特徴とする請求項9に記載の畳み込み符号の軟出力復号方法。
  13. 上記第1、第2及び第3の確率計算のステップ、上記軟出力計算のステップにおいて、上記確率の積演算を対数による和演算により計算し、上記確率の和演算を対数による最大値演算と一次元の関数演算との和により計算することを特徴とする請求項9に記載の畳み込み符号の軟出力復号方法。
JP2000551487A 1998-05-28 1999-05-17 畳み込み符号の軟出力復号装置及び軟出力復号方法 Expired - Fee Related JP4178752B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP14676298 1998-05-28
JP23898798 1998-08-25
PCT/JP1999/002553 WO1999062183A1 (fr) 1998-05-28 1999-05-17 Decodeur d'image video pour code de convolution et procede de decodage d'image video

Publications (1)

Publication Number Publication Date
JP4178752B2 true JP4178752B2 (ja) 2008-11-12

Family

ID=26477498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000551487A Expired - Fee Related JP4178752B2 (ja) 1998-05-28 1999-05-17 畳み込み符号の軟出力復号装置及び軟出力復号方法

Country Status (6)

Country Link
US (1) US6192084B1 (ja)
EP (2) EP1311069A1 (ja)
JP (1) JP4178752B2 (ja)
KR (1) KR100544555B1 (ja)
CN (1) CN1144378C (ja)
WO (1) WO1999062183A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6563877B1 (en) * 1998-04-01 2003-05-13 L-3 Communications Corporation Simplified block sliding window implementation of a map decoder
US6580769B1 (en) * 2000-02-14 2003-06-17 Motorola, Inc. Method and apparatus for backward recursion next state generation in recursive convolutional decoding
US6516437B1 (en) * 2000-03-07 2003-02-04 General Electric Company Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates
US6757859B1 (en) * 2000-05-01 2004-06-29 Zarlink Semiconductor Inc. Parallel turbo trellis-coded modulation
JP3613134B2 (ja) * 2000-05-12 2005-01-26 日本電気株式会社 高速ターボデコーダ
JP3514217B2 (ja) 2000-06-29 2004-03-31 日本電気株式会社 ターボ復号方法及び受信機
US6865710B2 (en) * 2000-09-18 2005-03-08 Lucent Technologies Inc. Butterfly processor for telecommunications
US7234096B2 (en) * 2001-04-18 2007-06-19 Sharp Kabushiki Kaisha Decoding method and recording-medium reproducing apparatus
EP1207625B1 (en) * 2001-07-05 2005-05-11 Nec Corporation Method of decoding turbo-encoded data and receiver for decoding turbo-encoded data
US7661059B2 (en) * 2001-08-06 2010-02-09 Analog Devices, Inc. High performance turbo and Viterbi channel decoding in digital signal processors
US7260770B2 (en) * 2001-10-22 2007-08-21 Motorola, Inc. Block puncturing for turbo code based incremental redundancy
DE60233252D1 (de) * 2001-10-25 2009-09-17 Nxp Bv In einem turbo dekodersystem
KR100703307B1 (ko) * 2002-08-06 2007-04-03 삼성전자주식회사 터보 복호화 장치 및 방법
US7107509B2 (en) * 2002-08-30 2006-09-12 Lucent Technologies Inc. Higher radix Log MAP processor
US7587004B2 (en) 2002-09-18 2009-09-08 St-Ericsson Sa Method for decoding data using windows of data
US7346833B2 (en) * 2002-11-05 2008-03-18 Analog Devices, Inc. Reduced complexity turbo decoding scheme
KR20070029744A (ko) * 2004-05-18 2007-03-14 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 터보 디코더 입력 재배치
GB2416967B (en) * 2004-07-29 2007-01-31 Toshiba Res Europ Ltd Turbo equalization in a MIMO digital wireless wideband system
JP4840651B2 (ja) * 2006-07-27 2011-12-21 ソニー株式会社 復号装置および復号方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4038251A1 (de) * 1990-11-30 1992-06-04 Philips Patentverwaltung Entzerrer fuer ein digitales uebertragungssystem
IT1279114B1 (it) * 1995-02-17 1997-12-04 Cselt Centro Studi Lab Telecom Procedimento per la ricezione di segnali affetti da interferenza intersimbolica e relativo dispositivo.
JP3674111B2 (ja) * 1995-10-25 2005-07-20 三菱電機株式会社 データ伝送装置
US5721746A (en) * 1996-04-19 1998-02-24 General Electric Company Optimal soft-output decoder for tail-biting trellis codes
US5933462A (en) * 1996-11-06 1999-08-03 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords

Also Published As

Publication number Publication date
CN1272253A (zh) 2000-11-01
US6192084B1 (en) 2001-02-20
KR20010022310A (ko) 2001-03-15
CN1144378C (zh) 2004-03-31
EP1017178A1 (en) 2000-07-05
WO1999062183A1 (fr) 1999-12-02
EP1017178A4 (en) 2001-02-21
KR100544555B1 (ko) 2006-01-24
EP1311069A1 (en) 2003-05-14

Similar Documents

Publication Publication Date Title
JP4178752B2 (ja) 畳み込み符号の軟出力復号装置及び軟出力復号方法
JP3861084B2 (ja) 特に移動無線システム用とした、複合型ターボ符号/畳み込み符号デコーダ
EP1564893B1 (en) Turbo decoder, turbo decoding method, and operating program of same
KR100822463B1 (ko) 연결코드 디코딩을 위한 고속 모듈, 장치 및 방법
JP4054221B2 (ja) ターボ復号方法及びターボ復号装置
JP2001352258A (ja) 復号装置及び復号方法
JP3954071B2 (ja) ターボ復号化装置及び方法
US20050149838A1 (en) Unified viterbi/turbo decoder for mobile communication systems
EP1156588A1 (en) Method and apparatus for decoding maximum posterior probability
JP2003318746A (ja) 軟出力復号器
US20130007568A1 (en) Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program
KR101051933B1 (ko) 트렐리스의 버터플라이 구조를 이용한 맵 디코딩을 위한메트릭 계산
KR100390416B1 (ko) 터보 디코딩 방법
US5257263A (en) Circuit for decoding convolutional codes for executing the survivor path storage and reverse scanning stage of a Viterbi algorithm
JP5116677B2 (ja) 軟出力復号器、反復復号装置、及び軟判定値算出方法
JP3888135B2 (ja) 誤り訂正符号復号装置
JP2005109771A (ja) 最大事後確率復号方法及び装置
KR100838907B1 (ko) 디코더 및 디코딩 방법
JP4191053B2 (ja) トレリス・デコーダ用のメモリ管理アルゴリズム
JP4525658B2 (ja) 誤り訂正符号復号装置
JPH10200419A (ja) ビタビ復号方法および装置
KR100459414B1 (ko) 터보 복호기의 복호 방법
KR20020066556A (ko) 터보 코드 복호화 장치 및 방법
JP2002171174A (ja) インターリーブ装置及びインターリーブ方法、並びに、復号装置及び復号方法
KR20050025829A (ko) 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060216

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: 20080805

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080818

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130905

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees