JP4282725B2 - 復号装置、及び復号方法 - Google Patents

復号装置、及び復号方法 Download PDF

Info

Publication number
JP4282725B2
JP4282725B2 JP2007049376A JP2007049376A JP4282725B2 JP 4282725 B2 JP4282725 B2 JP 4282725B2 JP 2007049376 A JP2007049376 A JP 2007049376A JP 2007049376 A JP2007049376 A JP 2007049376A JP 4282725 B2 JP4282725 B2 JP 4282725B2
Authority
JP
Japan
Prior art keywords
external information
unit
exponent
bit
decoding
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
JP2007049376A
Other languages
English (en)
Other versions
JP2008219082A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007049376A priority Critical patent/JP4282725B2/ja
Priority to EP08101922A priority patent/EP1968200A1/en
Priority to US12/071,903 priority patent/US8250446B2/en
Publication of JP2008219082A publication Critical patent/JP2008219082A/ja
Application granted granted Critical
Publication of JP4282725B2 publication Critical patent/JP4282725B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/29Coding, 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/2957Turbo codes and 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
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6588Compression or short representation of variables

Landscapes

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

Description

本発明は、繰り返し復号により復号を行う復号装置、及び復号方法に関する。
データ伝送における誤り訂正符号として、ターボ符号やLDPC(Low density Parity Check)符号がある。例としてターボ符号について説明する。図19はターボ符号化器200の構成例(例えば、以下の非特許文献1)であり、図20はターボ復号器400の構成例(例えば、以下の非特許文献2)を示す図である。
ターボ符号化器200は、図19に示すように、第1及び第2の要素符号器210,230と、インターリーバ220とを備える。ターボ符号器200には、情報ビットが入力され、第1の要素符号器210にて第1のパリティビットが生成される。また、入力された情報ビットは、インターリーバ220により置換され、その置換された情報ビットに対して第2の要素符号器230にて第2のパリティビットが生成される。更に、情報ビットを組織ビットとしてそのまま出力する。例えば、その後、この3つのビットをシリアルに結合して変調され、送信される。
また、ターボ復号器400は、図20に示すように第1及び第2の要素復号器410,420と、インターリーバ411及びデインターリーバ421とを備える。ターボ復号器400には、復調された受信尤度データ(組織ビットに対応するy、2つのパリティビットそれぞれに対応するyp1、yp2)が入力される。第1の要素復号器410には、組織ビットに対応する尤度yと第1のパリティビットに対応する尤度yp1、及び外部情報L’e(2)が入力され、外部情報Le(1)を出力する。その出力Le(1)と、組織ビットに対応する尤度yとがインターリーバ411に入力され、ビットが置換されて夫々出力される。インターリーバ411があるのは、符号化の際にインターリーバ220により第2のパリティビットが置換されており、復号化の際にそれに合わせるためである。第2の要素復号器420には、ビットが置換された組織ビットに対応する尤度yと外部情報L’e(1)、及び第2のパリティビットに対応する尤度yp2とが入力され、外部情報Le(2)を出力する。外部情報Le(2)は、デインターリーバ421により元の配列の尤度に置換されて外部情報L’e(2)として出力される。これを繰り返すことで、デインターリーバ421から復号ビットuが出力される。この繰り返しにより、復号ビットuの誤り率特性が改善される。
図21は、ターボ復号器400の第1及び第2の要素復号器410,420とその周辺部の構成例を示す図である(例えば、以下の非特許文献3)。各要素復号器410,420は、MAP演算部415と、2つの加算部416,417を備える。MAP演算部415では、MAP(Maximum a Posteriori:最大事後確率)演算により事後確率を生成する。回路規模を考慮して、実際の回路では確率からlogを取って求められる尤度を扱うlog−MAP演算を行うのが普通である。加算部417では、生成された事後尤度から事前(確率)尤度(y+L’e)を減算し、外部情報(帰還尤度)を出力する。
一方、MAP演算部415におけるlog−MAP演算は、一般に処理量が多いという問題がある。このため、従来では、log−MAP演算を近似した、Max−log−MAPと呼ばれる演算手法がある。Max−log−MAP演算とは、主要な演算要素である「尤度の指数関数の和」の演算を、和の各項の最大値で近似する方法である。かかる演算手法は、log−MAP演算に対して大幅に処理量を少なくすることができるものの、誤り率特性が劣化するという問題があった。
そこで、従来では、図21に示すように、log−MAP演算後の帰還尤度(外部情報)に対して、係数スケーリング部430により、「1」より小さい係数を乗算する(スケーリングする)手法がある(例えば、以下の特許文献3。以下、この手法を「係数スケーリング」)。これにより、誤り率特性が改善することが知られている。一般に、回路実装を考慮して、「0.75」というスケーリング値が使用される。
また、log−MAP演算に対する誤り率特性を改善する方法として、「指数化」と呼ばれる手法もある(例えば、以下の非特許文献4,5)。図22は、その構成例を示す図である。要素復号器410,420の出力側(log−MAP演算後の帰還尤度(外部情報))に、指数化部440と、メモリ保存部441と、復元部442とが設けられる。
図23は指数化部440から復元部442において実行される処理の例を示す図であり、図24は指数化部440から復元部442までの詳細な構成例を示す図である。この「指数化」は、1データあたりのビット数Nを小さくするために符号ビットと異なるビットが最初に出現するビットの位置(以下、「指数」)を求め、この指数をメモリ保存部441にてメモリに保存する。そして、復元部442はこれを読み出して復元する。
例えば、図23に示すように、10進数で「209」が外部情報(帰還尤度)として出力されたとき、指数化部440にて指数「8」を求める。そして、この値「8」がメモリ保存部441にてメモリに保存される。その後、復元部442は、メモリ保存部441から読み出された保存値から、外部情報(復元値)「0010000000」(10進では「128」)を復元する。このとき、入力「209」に対して出力は「128」であり、入力に対して「0.612」倍の値が出力される。このように、「指数化」による演算は、1データあたりのビット数Nを小さくすることができる。
3GPP Technical Specification TS25.212 C. Berrou, A. Glavieux, and P. Thitimajshima, "Near Shannon limit error-correcting coding and decoding: Turbo-codes (1)," in proc. of the IEEE int. conf. on Communications(ICC'93),Geneva, 1993, pp.1064-1070. J. Vogt and A. Finger, "Improving the max-log-MAP turbo decoder," Electronics Letters 9th November 2000, Vol.36, No. 23, pp. 1937-1939. J. Vogt, J. Ertel and A. Finger, "Reducing bit width of extrinsic memory in turbo decoder realisations," Electronics Letters 28th November 2000, Vol.36, No. 20, pp. 1937-1939. D. Garrett, B. Xu, and C. Nicol, "Energy Efficient Turbo Decoding for 3G Mobile," in Int. Symp. on Low Power Electronics and Design, 2001 pp. 328-333.
MAX−log−MAP演算による帰還尤度(外部情報)に対して、「係数スケーリング」と「指数化」による演算では、以下のような問題がある。
「係数スケーリング」では一定の係数値を乗算しているため、1データあたりにおいて小さくさせる比率は一定であるが、「指数化」では帰還尤度の値によりその比率が異なる値を取り得る。このため、誤り率特性は「係数スケーリング」の方が良くなるものの、帰還尤度を保存するバッファサイズは「指数化」より大きくなってしまう。
また、「係数スケーリング」や「指数化」による係数値は符号化率や変調方式に依存する。例えば、符号化率=1/3で、BPSKやQPSKの変調方式による符号化が行われた場合に、「0.75」の係数値による「係数スケーリング」や「指数化」を、そのまま他の符号化率(特に、0.8等の高符号化率)や変調方式(16QAM等)に適用すると、誤り率特性の劣化が生じる。
更に、「指数化」では、指数に情報が割り当てられず、メモリに無駄が生じる場合がある。例えば、1データあたりのビット数N(上述の例では「10」)に対して、指数を保存するのに必要なビット数nは、n=[log(N)](上述の例では、n=[2.3…]=3)であり、正負それぞれにk=2−m個(上述の例では、k=6)の数値に情報が割り当てられない無駄が生じる。
更に、ターボ復号器400への入力データである事前尤度のビット数が大きいとき、演算に必要な保存バッファのサイズが大きくなる、という問題もある。
更に、「指数化」による指数化の結果、外部情報の値を小さくすることができ誤り特性を改善させることができるものの、その値は近似値のため実際の値とはずれが生じ、平均的な数値レベルを変えたくない場合等、近似による特性劣化を引き起こしてしまう。
そこで、本発明は上記問題点に鑑みてなされたもので、その目的は、誤り率特性の劣化を抑制した復号装置や復号方法を提供することにある。好ましくは、その際にメモリサイズが増大することを回避する。
また、本発明の他の目的は、メモリに無駄を生じさせないようにした復号装置等を提供することにある。
更に、本発明の他の目的は、近似による誤り率特性の劣化を抑えた復号装置等を提供することにある。
上記目的を達成するために、本発明の一実施態様によれば、入力データに対して外部情報を生成する要素復号部を有する復号装置において、前記要素復号部から出力された外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数位置決定部と、 前記外部情報のうち前記指数に隣接した1又は複数ビットの情報を仮数として取得する仮数取得部と、前記指数、前記仮数を記憶する記憶部と、記憶部に記憶された前記指数と前記仮数とを読み出して前記外部情報を復元する復元部とを備え、前記要素復号部は、前記復元された前記外部情報に基づいて繰返しの復号を行うことを特徴とする。
また、上記目的を達成するために、本発明の他の実施態様によれば、入力データに対して外部情報を生成する要素復号部を有する復号装置における復号方法において、前記要素復号部から出力される前記外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定し、前記外部情報のうち前記指数に隣接した1又は複数ビットの情報を仮数として取得し、前記指数と前記仮数とを記憶部に記憶し、前記記憶部に記憶された前記指数と前記仮数とを読み出して前記外部情報を復元し、前記復元された前記外部情報に基づいて繰り返しの復号を行うことを特徴とする。
本発明によれば、誤り率特性の劣化を抑えた復号装置や復号方法を提供することができる。また、メモリサイズが増大してしまうことを抑えることができる。また、メモリにおいて無駄が生ずることを抑制した復号装置等を提供することができる。また、近似による誤り率特性の劣化を抑えた復号装置等を提供することができる。
以下、図面を参照して本発明を実施するための最良の形態を説明する。以下に示す実施例では、符号化及び復号化の例としてターボ符号を例にして説明する。
図19はターボ符号器の全体構成、図20はターボ復号器の全体構成を夫々示す。さらに、図1はターボ復号器400における要素復号器410,420とその周辺部の構成例を示す図である。ターボ符号器とターボ復号器の全体構成は従来技術で説明したため省略する。
図1に示すように、ターボ復号器400は要素復号器410,420の出力段に外部情報処理部10を備える。外部情報処理部10は、外部情報(帰還尤度)に対して種々の演算処理を行い、演算後の外部情報を次段の要素復号器420,410に出力する。
図3は本実施例1における外部情報処理部10の具体的構成例を示し、図2はその処理の例を説明するための図である。
図2を用いて本実施例1における処理の例を説明する。まず、外部情報の例として「209」(10進表現)が入力される。入力された外部情報の符号ビット「0」はそのままメモリに保存される。そして、符号ビットの隣のビットから順に符号ビット「0」と異なるビット「1」が最初に出現するビット位置(以下、「指数」)が特定される。図2の例では、指数は「8」となる。この指数「8」を2進数で表現した値「1000」がメモリに保存される。
更に、本実施例1では、指数のビット位置に隣接する2ビットの情報を仮数として、メモリに保存される。図2の例では、「10」(2進数)が保存される。そして、復元するときは、指数部に対してこの仮数部の値を追加して復元する。図2の例では、指数部「1000」に対して「8」ビット目に「1」をたて、更に、仮数部「10」を7ビット目と6ビット目に追加する。
このように、復元された値は、10進表現では「192」となり、入力に対する出力の比率は「0.919倍」となる。勿論、この比率は入力される外部情報の値により変化するものの、平均的には「0.7」よりやや大きな値となった。
例えば、比率が従来と比較して大きくなるため、その誤り率特性は改善され、符号化率が大きい場合(例えば、符号化率R=1/3より大きい符号化率の場合)には本実施例1による手法は特に有効である。
図3は、本実施例1における外部情報処理部10の具体的構成例を示す図である。外部情報処理部10は、指数位置決定部11と、仮数部取得部12と、メモリ保存部13と、復元部14とを備える。
指数位置決定部11は、符号ビットを除く外部情報に対して符号ビットと異なるビットが最初に出現する位置(指数)を決定する。決定した指数はメモリ保存部13に出力され保存される。
仮数部取得部12は、符号ビットを除く外部情報に対して、指数位置に隣接する2ビットの情報(仮数)を取得する。取得した情報は仮数としてメモリ保存部13に出力されメモリに保存される。
メモリ保存部13は、指数部と仮数部の情報、及び符号ビットをメモリに保存する。
復元部14は、メモリ保存部13から符号ビット、指数、仮数の値を夫々読み出して、外部情報を復元する。復元された外部情報は次の要素復号器420,410において事前尤度として入力される。
図4は、本実施例1における処理を示すフローチャートの例である。重複した説明になるため、簡単に説明する。
本処理が開始されると(S10)、入力される外部情報の符号ビットがメモリ保存部13に保存される(S11)。この符号ビットの取得は例えば指数位置決定部11で行われてもよい。
次いで、指数位置決定部11において指数位置が特定され(S12)、仮数部取得部12において仮数部がmビット(図2の例では、m=2)取得される(S13)。
そして、メモリ保存部13に指数部と仮数部の値が保存され(S14)、メモリ保存までの処理が終了する(S15)。
メモリ読出しの処理が開始されると(S20)、復元部14は符号ビットをメモリ保存部13から読出し(S21)、指数及び仮数の値も読出す(S22)。
次いで、復元部14は、指数をまず復元し(S23)、仮数を指数に追加して復元し(S24)、処理を終了する(S25)。
本実施例1では、仮数部として取得するビット数は「2」として説明したが、勿論「1」ビットでも「3」ビット等でも同様に実施でき同様の作用効果を奏する。
このように、本実施例1では、入力される外部情報に対して指数のみならず仮数の情報をメモリに記憶し復元するようにしているため、従来の指数のみによる場合と比較して、メモリサイズをそれ程増やすことなく、誤り率特性を改善させることができる。
次に実施例2について説明する。図5は、本実施例2における要素復号器410,420周辺の構成例を示す図である。それ以外の構成は、実施例1と同様である。
図5に示すように、要素復号器410,420からの出力(外部情報)に対して、係数スケーリング部15と、指数化部16と、メモリ保存部17と、復元部18とを備える。係数スケーリング部15から復元部18までが、図1の外部情報処理部10に対応する。
係数スケーリング部15は、ある一定の係数値(「1」より小さい値)を外部情報に乗算し、乗算した外部情報を出力する。
指数化部16は乗算した外部情報から指数位置を特定し、その指数をメモリ保存部17に出力する。
メモリ保存部17は、指数の値と符号ビットとをメモリに保存する。符号ビットの取得は指数化部16で行われる。
復元部18は、メモリ保存部17から符号ビットと、指数とを読み出して、外部情報を復元する。復元された外部情報は、次の要素復号器420,410に事前尤度として入力される。
このように本実施例2では、係数スケーリング15の出力に対して、指数化部16により指数化を施している。これにより、「係数スケーリング」による、メモリサイズを大きくしてしまうという問題点を、「指数化」によってメモリサイズを小さくできるため、改善させることができる。また、「指数化」による誤り率特性が劣化するという問題点を、「係数スケーリング」によりその劣化を改善させることもできる。
本実施例2では、指数化部16において、実施例1による「仮数部」を更に追加した指数化の手法を用いても同様に実施でき同様の作用効果を奏する。
次に実施例3について説明する。図6及び図7は、本実施例3における外部情報処理部10の具体的構成例を示す図である。それ以外の構成は実施例1と同様である。
図6に示すように、外部情報処理部10は、右シフト部20と、メモリ保存部21と、係数スケーリング部22とを備える。
右シフト部20は、Nビットの外部情報Leに対して、右側にmビットのシフト演算を行い、メモリ保存部21は(N−m)ビットをメモリに保存する。
係数スケーリング部22では、メモリ保存部21により読み出された(N−m)ビットの外部情報に対して係数値を乗算し、規定のスケール値の外部情報を出力する。
図7は、全体のスケール値が「0.75」の場合の外部情報処理部10の構成例を示す図である。外部情報処理部10は、2ビット右シフト部25と、メモリ保存部26と、1ビット左シフト部27、及び加算部28とを備える。
2ビット右シフト部25は、入力されたNビットの外部情報Leに対して、2ビット右側にシフトさせることで、ビット数を(N−2)ビットに少なくさせる。Nビットの外部情報に対して2ビットシフトさせることで、外部情報Leの1/4(=1/2)倍の情報を得る。そして、これをメモリ保存部26にてメモリに保存させることで、バッファサイズを小さくさせることができる。
そして、1ビット左シフト部27により、保存された外部情報を読み出して、1ビット左側にシフト(2倍)させる。加算部28では、この出力値とメモリ保存部26からの外部情報とを加算する。この1ビット左シフト部27(2倍)と加算部28とにより、メモリに保存された外部情報に対して3倍の係数値を乗算することになる。従って、入力されたNビットの外部情報Leに対して、(1/4)*Le*3=(3/4)*Leと、「0.75」倍と規定のスケール値を実現している。
このように、本実施例による「係数スケーリング」による手法では、入力されるNビットの外部情報に対して、シフト回路と加算器とを組み合わせることで、「係数スケーリング」により誤り率特性の劣化を回避しつつ、メモリサイズを小さくすることができる。また、シフト回路と加算器により回路を構成できるため、実際のインプリメントも容易となる。
本実施例3では、図7に示すように「0.75」倍の係数スケーリングを実現する場合で説明したが、勿論それ以外の係数値の回路も、シフト回路と加算回路の組み合わせにより容易に実現でき、その場合でも本実施例3と同様に実施可能で同様の作用効果を得る。
次に、実施例4について説明する。本実施例4は、符号化率と変調方式とから最適な指数化方法を決定する例である。
図8は、本実施例4における受信機100の構成例を示す図である。受信機100は、例えば、3GPP移動通信システムにおける受信機である。
受信機100は、第1及び第2の復調部101,104と、フォーマット取得部102と、指数化方法決定部103と、通信路データ処理部105と、誤り訂正復号器106とを備える。
本受信機100には、送信側から制御チャネルとデータチャネルとが入力される。第1の復調部101は制御チャネルを復調し、フォーマット取得部102は制御チャネルから符号化フォーマットを取得する。例えば、符号化率と変調方法の情報を取得する。指数化方法決定部103は、取得した符号化フォーマットから指数化方法を決定する。
例えば、指数化方法決定部103は、フォーマット取得部102により、符号化率R=1/3、変調方式がQPSKを取得したとき、係数値「0.75」に近い値となる従来の指数化方法や、後述する「最小誤差指数化法」による指数化方法を選択する。また、符号化率R=4/5、変調方式が「16QAM」のとき、実施例1による指数化方法(指数部及び仮数部ともに1ビット)や、「最小誤差指数化法」による指数化方法を選択する。例えば、指数化方法決定部103のメモリにテーブルが用意され、符号化率と変調方式とにより、指数化方法を読み出して選択するようにしてもよい。選択された情報は誤り訂正復号器106に出力される。
第2の復調部104はデータチャネルを所定の復調方式(16QAMやQPSK等)で復調し、通信路データ処理部105は復調したデータを処理して誤り訂正復号器106に出力する。
誤り訂正復号器106は、図19や図20に示す要素復号器410,420等を有する図18に示すターボ復号器400や、図1に示す要素復号器410,420等を有するターボ復号器400等を備える。誤り訂正復号器106では、選択された情報に基づいて、いずれかのターボ復号器400が実行され復号される。
このように、本実施例4では、符号化率や変調方式に基づいて最適な誤り訂正復号の方式が選択することができる。
次に実施例5について説明する。図9は本実施例5における処理の例を説明するための図であり、図10は外部情報処理部10(図1)の具体的構成例、図11(A)及び同図(B)はフローチャートの例を夫々示す図である。
まず、図9を用いて処理の例について説明する。以下、本実施例における指数化法を「最小誤差指数化法」と称する。
外部情報処理部10には、外部情報の例として「209」(10進数)が入力される。実施例1と同様に、まず指数の位置を求める。図9の例では「8」である。本実施例5では、従来一律に切り捨てていた指数の右側にある残りのビット(端数)に対して、「四捨五入」を行うことで、より精度の高い指数を得るようにしている。実施例1では、仮数としてメモリに保存し復元したが、本実施例5では「四捨五入」する。
この「四捨五入」を実現するために、まず、求めた指数に対してその1つ下の桁のビットを求める。すなわち、求めた指数mに対して、2(m−2)を下位桁として求める。この下位桁は、10進数でいう「0.5」に相当する。そして、この下位桁2(m−2)と、符号ビットを除く外部情報とを加算する。図9の例では、2(8−2)=2(=001000000)を「011010001」に加算する。加算後の指数は「9」(10進数)となる。そして、メモリ保存部33はこの「9」に対応する値をメモリに保存し、復元部34はこの値を読み出すことで復元する。このとき、実施例1と同様に仮数部をメモリ保存部33にてメモリに保存して復元するようにしてもよい。近似の精度を更に改善させることができる。
復元値は、「256」(10進数)で、その入力と出力の比率は「1.225」倍となる。実施例1と同様に符号化率の高いデータに対する復号で特に有効である。
図10は、外部情報処理部10の具体的構成例を示す図である。外部情報処理部10は、指数位置決定部30と、下位桁ビット取得部31と、加算部32と、メモリ保存部33と、復元部34とを備える。
指数位置決定部30では、入力された外部情報の指数位置を決定し、その値を加算部32に出力する。
下位桁ビット取得部31は、指数位置の1つ下の桁を取得し、その桁の値を加算部32に出力する。
加算部32は、指数とその指数の1つ下の桁とを加算し、加算後の指数をメモリ保存部33に出力する。
メモリ保存部33は、加算後の指数と入力された外部情報の符号ビットとをメモリに記憶する。符号ビットは、指数位置決定部30により取得されてもよい。
復元部34では、メモリ保存部33から符号ビットと指数位置とを読み出すことで、外部情報を復元する。復元された外部情報は、次の要素復号器420,410に出力される。
図11(A)及び同図(B)は、処理の動作を示すフローチャートの例である。簡単に説明すると、まず、本処理が開始されると(S30)、外部情報に対して符号ビットが取得されメモリ保存部33にてメモリに保存される(S31)。
次いで、指数位置決定部30において指数位置mが特定され(S32)、加算部32において、「2(m−2)」が加算される(S33)。
次いで、加算部32において、加算後の(m+1)ビット目の値bを検査する(S34)。すなわち、ビットbが「1」のとき、「四捨五入」により1つ桁が繰り上がったため、指数位置を(m+1)とする(S35で(b=1)、S36)。
一方、ビットbが「0」のとき(S35で(b=0))、「四捨五入」による切り捨てと同様に桁上がりは発生せず、求めた指数位置はそのままmとする。
そして、加算部32は指数位置をメモリ保存部33にてメモリに保存し(S37)、メモリ保存までの処理は終了する(S38)。
メモリ読み出しの処理が開始されると(S40)、復元部34において、メモリ保存部33から符号ビットと指数部(もしあれば仮数部)の値とが読み出され(S41,S42)、外部情報が復元される(S43)。そして、処理が終了する(S44)。
このように本実施例5においても、メモリ保存部33に保存されるのは指数のため、Nビットの外部情報そのものを記憶させる場合と比較して、ビット数を削減することができ、メモリ容量を少なくさせることができる。更に、本実施例5では、指数に対して「四捨五入」を行っているため、従来と比較してより精度の高い指数を求めることができる。
次に、実施例6について説明する。図12は本実施例6における処理を説明するための図であり、図13は本実施例6における外部情報処理部10の具体的構成例、図14と図15はテーブルの例、図16(A)及び同図(B)、図17(A)及び同図(B)は本実施例6におけるフローチャートの例を夫々示す図である。
まず、図12を参照して本実施例6における処理について説明する。外部情報処理部10に入力される外部情報の例として実施例1等と同様に「209」(10進数)とする。まず、指数位置「8」を求める。
次に、指数位置の右隣のビット(7ビット目)の値を求める。図12の例では「1」である。この指数位置とその隣のビットの各値の組「0011000000」についてテーブルを参照する。図14に示すテーブルを参照することにより、指数「14」を得る。この指数値を2進数として表わした値(「1110」)を、符号ビットとともにメモリに保存する。
そして復元するときに、再び指数「14」となる値の組をテーブル参照部43から読み出して、それを復元値(「0011000000」)とする。
上述した実施例5において、N(=10)ビットの外部情報に対してn(=4)ビットをメモリ保存部33に保存していた。メモリ保存部33の容量は4ビットのため、16個の値を保存できるものの、実際に使用した指数は「0」から「9」までの10個の種類であり、「10」から「15」までの指数は保存されず、その分メモリ容量に無駄が生じていた。これは、従来の指数化の手法による場合も同様である。
一般には、元のデータのビット数が「N」のとき、指数を保存するビット数nは、n=[log(N)]であり、メモリに保存できる数値は、「0」から「2−1」(≧N−1)である。このため、(N−1)<(2−1)のときの正負夫々に、k=2−N個の数値に情報が割り当てられないという無駄が生じる。実施例5では、N=10、n=4でk=6個の数値が「空き」状態となる。
そこで、本実施例6では、指数部の隣のビットである仮数部において、「1」となる値を追加し、指数化では表現できないいくつかの数値を割り当てるようにしている。図14に示すテーブル参照部43は、指数が「10」から「15」において新たに数値が割り当てられている。
上述したように指数は、符号化ビットと異なるビットの値が最初に現れたビット位置である。図14に示すテーブル431の例では、指数「4」は、4ビット目に初めて「1」が出現されるビット列であり、「0000001000」として表現される。指数に対して1ビットの仮数部とは、実施例1でも説明したように、指数位置の1つ下の桁のビットの値のことである。この仮数部を含む数値をテーブル431内に設けることで、実施例1と同様の1ビット仮数部を追加した方式と同等の構成を実現できる。指数「4」の一つ下の桁が「0」のとき、すなわち仮数部が「0」のとき(値は「0000001000」)、テーブル431を参照すると、そのまま指数「4」がメモリに記憶される。指数「4」の一つ下の桁が「1」のとき(値は「0000001100」)、すなわち仮数部が「1」のとき、テーブル431を参照すると、指数「10」がメモリに記憶される。
図12の例では、指数「14」に対応する2進数値がメモリに記憶される。そして、再び復元部において、指数「14」に対応する数値をテーブル参照部43によりテーブル431から読み出して復元値「192」(10進数)を得る。この場合、入力「209」に対する出力「192」の比率は「0.919」倍となり、実施例1と同様の高符号化率で有効となる復元値を得る。ビットを増加させずに、実施例1における1ビット追加した仮数部による手法と同等の回路を構成できる。
尚、実際にテーブル431としてROM等に記憶させておくのは、テーブル431のうち指数「10」から「15」までである。それ以外の値は、指数の値そのものをメモリに保存し、読み出すだけで外部情報を復元できるからである。
本実施例6における外部情報処理部10は、図13に示すように、指数位置決定部40と、スイッチ41と、仮数部取得部42と、テーブル参照部43と、メモリ44と、復元部45とを備える。
指数位置決定部40は外部情報の指数位置を決定する。スイッチ41は、1ビット仮数部の値が「0」か「1」かにより、指数位置をメモリ44に保存するか(仮数部の値が「0」のとき)、指数位置を仮数部取得部42に出力するか(仮数部は「1」のとき)を切替えるスイッチである。
仮数部取得部42は、入力された外部情報に対して1ビットだけ仮数部の値を取得する。
テーブル431は、図14に示すテーブル431のうち指数「10」から「15」とその対応する数値が格納される。例えば、仮数部取得部42により、取得した指数と仮数の値からテーブル431を参照して指数を得る。取得した指数は、メモリ44に保存される。
復元部45は、メモリ44から符号ビットと指数を読み出して外部情報を復元する。復元された外部情報は、次の要素復号器420,410に出力される。
図15は他の値が割り当てられたテーブル432の例である。テーブル432は、より大きな数値から順番に指数を割り当てるようにしている。桁の大きな数値から指数を割り当てる方が、桁の小さな数値から割り当てるよりも、復元される外部情報の誤差を小さくできるからである。
例えば、「1」から「10」に多くの値を割り当てるよりも、「100」から「1000」に多くの値を割り当てる方が復元値の平均誤差を小さくできる。この例の場合でも、外部情報処理部10の構成は図14の例と同様である。
図16(A)及び同図(B)は、本実施例6におけるフローチャートの例である。但し、テーブル431(図14)を用いた例である。
メモリ保存の処理が開始されると(S50)、指数位置決定部40において符号ビットを取得し、メモリ44に保存する(S51)。
次いで、指数位置決定部40において指数位置mが特定される(S52)。次いで、指数位置決定部40において、指数位置mが(N−1−k)(Nは入力される外部情報のビット数、kはテーブル432において新たに割り当てられた数値の数(図14の例では「6」))より大きいか否かが判断される(S53)。
これは、入力された外部情報のビット数Nに対して、指数の値は「N−1」までの可能性があり、このうち、割り当てられたのはk個であるため、空き状態として割り当てられたのは、(N−1−k)ビット目以上のビットである。図14の例では、空き状態として、(10−1−6)=3ビット目以上のビットに対して数値が割り当てられている。この数値と指数mとを比較して、指数mの方が大きいと、テーブル432の指数「10」以上を参照できる。つまり、本処理はテーブル432に記憶された指数「10」以上の数値を参照するか否かを判断している。
よって、指数mが値(N−1−k)より大きいとき(S53でY)、仮数部取得部42で仮数部ビットbを取得する(S54)。そして、仮数部取得部42において、取得した仮数部が「1」であれば(b=1)、テーブル432を参照してインデックス(テーブル431における「指数」の値)を取得し(S56)、そのインデックスをメモリ44に保存する。
一方、仮数部が「0」であれば(S55でb=0)、そのまま指数mをインデックスとしてメモリ44に保存する(S57)。
また、指数位置mが値(N−1−k)より小さいとき(S53でN)、取得した指数mをそのままインデックスとしてメモリ44に保存する(S59、S57)。
そして、一連のメモリ保存の処理が終了する(S58)。
メモリ読み出しの処理は、まず本処理が開始されると(S60)、復元部45において符号ビットをメモリ44から読み出し(S61)、次いで、インデックスiをメモリ44から読み出す。
次いで、復元部45はインデックスiが(N−1)より大きいか否かを判断する(S63)。つまり、図14の例では指数が「9」より大きな値でテーブル432に値が格納されているため、テーブル432を参照する必要があるか否かを判断している。
従って、インデックスiが(N−1)より大きいとき(S63でY)、復元部45は図14に示すテーブル431を参照し(S64)、数値を復元し(S65)、処理を終了させる(S66)。
一方、インデックスiが(N−1)以下のとき(S63でN)、復元部45はテーブル431を参照する必要がなく、インデックスiをそのまま指数として(S67)、数値を復元する(S65)。
図17(A)及び同図(B)は図15に示すテーブル432を用いた場合のフローチャートの例である。図16(A)と同様の処理は説明を省略する。
指数位置mが特定されると(S72)、指数位置決定部40において指数位置mが値(min_m)より大きいか否かを判断する(S73)。
ここで、値(min_m)は、テーブル432のi>(N−1)に含まれる指数の最小値を示す。図15の例では、指数「10」以上の数値「0110000000」から「0111100000」までのうち、指数「13」として割り当てられた数値「00011000000」の指数位置「7」が指数の最小値(min_m)となる。この最小値と取得した指数とを比較することで、図15に示すテーブル432を参照するか否かを判断している。テーブル432は指数「10」から「15」までの値が格納されているのは、図16(A)の例と同様である。
指数mが値(min_m)より大きいとき(S73でY)、テーブル参照部43では値sに「0」を代入し、(m−1−s)位置の仮数部ビットbを取得する(S75)。値sは「0」のため、(m−1)位置、すなわち指数mの右隣のビットの値を仮数部として取得している。
次いで、取得した仮数部bが「1」であれば(S76で(b=1))、再びテーブル432を参照して該当する数値があるか否かを確認すべく、値sを「1」インクリメントして(S77)、再びS75に移行する。
一方、取得した仮数が「0」であれば(S76でN)、テーブル432において参照すべき数値が特定されるため、テーブル参照部43において、値sが「0」か否かを確認し「0」でないと(S78でN)、テーブル432を参照してインデックス(指数の値)を特定する(S79)。そして、テーブル参照部43はインデックスをメモリ44に保存し(S80)、一連のメモリ保存処理が終了する(S81)。
一方、値sが「0」のとき(S78でY)、テーブル432を参照する必要がなく、取得した指数をそのまま保存して復元できるため、取得した指数をインデックスとして(S82)、そのインデックスをメモリ44に保存する(S80)。
また、指数mが値(min_m)以下のとき(S73でN)、テーブル432には参照すべき数値は格納されていないため、取得した指数をインデックスとしてメモリ44に保存する(S82、S80)。
メモリ44の読み出し処理では、メモリ44から読み出したインデックスiからテーブル432を参照すべきか否か判断し(S93)、必要であれば(S93でY)、テーブル432を参照して数値を復元し(S94,S95)、参照する必要がないとインデックスiをそのまま指数mとして数値を復元する(S97,S95)。図16(B)と略同様である。
このように本実施例6では、4ビットメモリ44に対して「0」から「9」までの指数値のみならず、空き状態の6個の数値に対して指数値(インデックス)を割り当てるようにしたため、メモリ44の無駄を省くことができる。
上述した例において、指数「1」ビットに対して、仮数「1」又は「2」ビットの例で説明したが、勿論、仮数部は「3」、「4」ビット等でもよい。
次に実施例7について説明する。図18は、本実施例8におけるターボ復号器400周辺の構成例を示す図である。ターボ復号器400の構成は、実施例1と同様である。本実施例7では、ターボ復号器400の前段に、各受信尤度データに対して指数化部451,453,455と、メモリ452,454,456を備える。指数化部451,453,455をターボ復号器400の前段に設けることで、メモリ452,454,456の容量を削減することができる。
指数化部451,453,455の指数化の手法は、実施例1に示す仮数部を追加する方法でもよいし、実施例5に示す「最小誤差指数化法」でも良いし、更に、実施例6による指数化の手法でもよい。いずれの場合も近似の精度を向上させることができる。勿論、従来の単純な指数化の手法を用いても、メモリ容量の削減という効果は得ることができる。
上述した実施例1〜7においては、ターボ符号とターボ復号を例にして説明した。勿論、それ以外にもLDPC符号を復号化する復号器でも実施可能で同様の作用効果を奏する。LDPC符号により符号化は、2つの要素符号器210,220とインターリーバ220(図19参照)を合わせた1個の符号器から構成され、復号器側はMAP復号器(Sum−Product演算器)1つにより構成される。このMAP復号器の出力を外部尤度として次のMAP復号器に帰還させて同様に繰り返し復号による復号処理が行われる。
また、実施例1〜7において、符号化は1ビットの組織ビット系列に対して2ビットのパリティビット系列により符号化される例について説明したが、勿論、それ以外のビット系列による場合でも全く同様に適用可能で同様の作用効果を得る。例えば、1ビットの組織ビットに対して、3ビットのパリティビットや1ビットのパリティビットでもよい。また、このような符号化データに対して、要素復号器410,420を3つ4つ、と追加するようにしても実施できる。更に、組織ビットがなくすべてパリティビットの符号化データに対しても全く同様に実施できる。
尚、これら実施例におけるターボ復号器400は、例えば移動通信システムにおける携帯電話やPDA等の情報携帯端末や無線基地局に適用して好適である。
以上まとめると付記のようになる。
(付記1)
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記要素復号部から出力された外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数位置決定部と、
前記外部情報のうち前記指数に隣接した1又は複数ビットの情報を仮数として取得する仮数取得部と、
前記指数、前記仮数を記憶する記憶部と、
前記記憶部に記憶された前記指数と前記仮数とを読み出して前記外部情報を復元する復元部とを備え、
前記要素復号部は、前記復元された前記外部情報に基づいて繰返しの復号を行うことを特徴とする復号装置。
(付記2)
前記復元部は前記指数に対応するビット位置に隣接したビット位置に前記仮数の情報をそのまま追加することで前記外部情報を復元することを特徴する付記1記載の復号装置。
(付記3)
前記復元部は前記指数に対応するビット位置に前記符号ビットと異なる値を立て、前記仮数の情報を前記指数に対応するビット位置に隣接してそのまま追加することで前記外部情報を復元することを特徴とする付記1記載の復号装置。
(付記4)
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記要素復号部から出力された前記外部情報が入力されて、前記外部情報の符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数位置決定部と、
前記外部情報のうち前記指数より下位の桁のビットを取得し、前記取得した下位の桁のビットと前記符号ビットを除く前記外部情報とを加算する加算部と、
前記加算部からの加算値に対する前記指数を記憶する記憶部と、
前記記憶部に記憶された前記指数を読み出して前記外部情報を復元する復元部とを備え、
前記要素復号部は、前記復元された前記外部情報に基づいて繰返しの復号を行うことを特徴とする復号装置。
(付記5)
前記復元部は、前記加算値に対する指数のビット位置に前記符号ビットと異なる値を立てることで前記外部情報を復元することを特徴とする付記4記載の復号装置。
(付記6)
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記要素復号部からの前記外部情報に対して係数値を乗算して出力する係数スケーリング部と、
前記係数スケーリング部から出力された外部情報に対して、前記外部情報のうち符号ビットを除いた情報から、前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数化部と、
前記指数を記憶する記憶部と、
前記記憶部に保存された前記指数を読み出して前記外部情報を復元する復元部とを備え、
前記要素復号部は、前記復元された前記外部情報に基づいて繰り返しの復号を行うことを特徴とする復号装置。
(付記7)
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記要素復号部からの前記外部情報に対して、m(mは1以上の整数)ビット右シフトさせる右シフト部と、
右シフトされた前記外部情報をメモリに保存するメモリ保存部と、
前記メモリから読み出した前記外部情報に対して係数値を乗算する係数スケーリング部とを備え、
前記要素復号部は、前記係数スケーリング部からの前記外部情報に基づいて繰り返しの復号を行うことを特徴とする復号装置。
(付記8)
前記係数スケーリング部は、前記メモリから読み出した前記外部情報に対して、n(nは1以上の整数)ビット左シフトさせる左シフト部と、
前記メモリから読み出された前記外部情報と前記左シフト部からの外部情報とを加算する加算部とにより、前記係数値を乗算することを特徴とする付記7記載の復号装置。
(付記9)
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記要素復号部から出力された前記外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数位置決定部と、
前記外部情報のうち前記指数に隣接した1又は複数ビットの情報を仮数として取得する仮数取得部と、
前記指数に対応する2進数値として表現できない他の2進数値に対してインデックスが割り当てられたテーブルから、前記指数と前記仮数との組に対応する前記インデックスを求めるテーブル参照部と、
求められた前記インデックスを記憶する記憶部と、
前記記憶部に記憶された前記インデックスに基づいて、前記テーブルを参照して前記外部情報を復元する復元部とを備え、
前記要素復号部は、前記復元された前記外部情報に基づいて繰返しの復号を行うことを特徴とする復号装置。
(付記10)
前記テーブルは、前記他の2進数値にうち下位桁から順にインデックスが割り当てられることを特徴とする付記9記載の復号装置。
(付記11)
前記テーブルは、前記他の2進数値のうち上位桁に下位桁より多くのインデックスが割り当てられることを特徴とする付記9記載の復号装置。
(付記12)
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記要素復号部の入力側に、前記各入力データを構成する各ビット系列に対して、符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を各々特定する指数化部と、
前記指数化部から出力される指数を各々メモリに保存するメモリ保存部とを夫々備え、
前記要素復号部は、前記メモリから読み出された前記入力データの前記各ビット系列に基づいて繰り返し復号を行うことを特徴とする復号装置。
(付記13)
入力データに対して外部情報を生成する要素復号部を有する復号装置における復号方法において、
前記要素復号部から出力される前記外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値の最初のビット位置である指数を特定し、
前記外部情報のうち前記指数に隣接した1又は複数ビットの情報を仮数として取得し、
前記指数と前記仮数とを記憶部に保存し、
前記記憶部に保存された前記指数と前記仮数とを読み出して前記外部情報を復元し、
前記要素復号部は、復元された前記外部情報に基づいて繰り返し復号を行うことを特徴とする復号装置。
(付記14)
入力データに対して外部情報を生成する要素復号部を有する復号装置における復号方法おいて、
前記要素復号部から出力された前記外部情報が入力されて、前記外部情報の符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定し、
前記外部情報のうち前記指数より下位の桁のビットを取得し、前記取得した下位の桁のビットと前記符号ビットを除く前記外部情報とを加算し、
加算後の加算値に対する前記指数を記憶部に保存し、
前記記憶部に保存された前記指数を読み出して前記外部情報を復元し、
前記要素復号部は、復元された前記外部情報に基づいて繰り返し復号を行うことを特徴とする復号方法。
(付記15)
入力データに対して外部情報を生成する要素復号部を有する復号装置における復号方法において、
前記要素復号部からの前記外部情報に対して係数値を乗算し、
前記乗算された外部情報に対して、前記外部情報のうち符号ビットを除いた情報から、前記符号ビットと異なる値が最初に出現するビット位置である指数を特定し、
前記指数を記憶部に保存し、
前記記憶部に保存された前記指数を読み出して、前記外部情報を復元し、
前記要素復号部は、復元された前記外部情報に基づいて繰り返しの復号を行うことを特徴とする復号方法。
(付記16)
入力データに対して外部情報を生成する要素復号部を有する復号装置における復号方法において、
前記要素復号部からの前記外部情報に対して、m(mは1以上の整数)ビット右シフトさせ、
前記mビット右シフトされた前記外部情報を記憶部に保存し、
前記記憶部から読み出した前記外部情報に対して係数値を乗算し、
前記要素復号部は乗算された前記外部情報に基づいて繰り返し復号を行うことを特徴とする復号方法。
(付記17)
入力データに対して外部情報を生成する要素復号部を有する復号装置における復号方法において、
前記要素復号部から出力された前記外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値の最初のビット位置である指数を特定し、
前記外部情報のうち前記指数に隣接した1又は複数ビットの情報を仮数として取得し、
前記指数に対応する2進数値として表現できない他の2進数値に対してインデックスが割り当てられたテーブルから、前記指数と前記仮数との組に対応する前記インデックスを取得し、
前記取得したインデックスを記憶部に保存し、
前記記憶部から読み出された前記インデックスから前記テーブルを参照して前記外部情報を復元し、
前記要素復号部は、復元された前記外部情報に基づいて繰り返し復号を行うことを特徴とする復号方法。
(付記18)
入力データに対して外部情報を生成する要素復号部を有する復号装置において、
前記入力データに対する符号化率と変調方式に関するフォーマット情報を取得するフォーマット情報取得部と、
前記取得したフォーマット情報に基づいて誤り訂正復号の方式が選択され、選択された誤り訂正複号の方式により前記入力データに対する誤り訂正復号を行う誤り訂正復号部と
を備えることを特徴とする復号装置。
図1は要素復号器とその周辺部の構成例を示す図である。 図2は処理の例を説明するための図である。 図3は外部情報処理部の構成例を示す図である。 図4(A)はメモリ保存処理、同図(B)はメモリ読み出し処理の各フローチャートである。 図5は要素復号器とその周辺部の他の構成例を示す図である。 図6は外部情報処理部の他の構成例を示す図である。 図7は外部情報処理部の他の構成例を示す図である。 図8は受信機の構成例を示す図である。 図9は処理の例を説明するための図である。 図10は外部情報処理部の他の構成例を示す図である。 図11(A)はメモリ保存処理、同図(B)はメモリ読み出し処理の各フローチャートである。 図12は処理の例を説明するための図である。 図13は外部情報処理部の他の構成例を示す図である。 図14はテーブルの例を示す図である。 図15はテーブルの例を示す図である。 図16(A)はメモリ保存処理、同図(B)はメモリ読み出し処理の各フローチャートである。 図17(A)はメモリ保存処理、同図(B)はメモリ読み出し処理の各フローチャートである。 図18はターボ復号器の周辺部の構成例を示す図である。 図19はターボ符号化器の構成例を示す図である。 図20はターボ復号器の構成例を示す図である。 図21は要素復号器とその周辺部の構成例を示す図である。 図22は要素復号器とその周辺部の構成例を示す図である。 図23は従来における処理の例を説明するための図である。 図24は要素復号器の周辺部の構成例を示す図である。
符号の説明
10 外部情報処理部、 11 指数位置決定部、 12 仮数部取得部、 13 メモリ保存部、 14 復元部、 15 係数スケーリング部、 16 指数化部、 17 メモリ保存部、 18 復元部、 20 右シフト部、 21 メモリ保存部、 22 係数スケーリング部、 25 2ビット右シフト部、 26 メモリ保存部、 27 1ビット左シフト部、 28 加算部、 30 指数位置決定部、 31 下位桁ビット取得部、 32 加算部、 33 メモリ保存部、 34 復元部、 40 指数位置決定部、 41 スイッチ、 42 仮数部取得部、 43 テーブル参照部、 44 メモリ保存部、 45 復元部、 100 受信機、 102 フォーマット取得部、 103 指数化方法決定部、 106 誤り訂正復号器、 200 ターボ符号化器、 400 ターボ復号器、 410 第1の要素復号器、 420 第2の要素復号器

Claims (5)

  1. 入力データに対して外部情報を生成する要素復号部を有する復号装置において、
    前記要素復号部から出力された外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数位置決定部と、
    前記外部情報のうち前記指数に隣接した1又は複数ビットの情報を仮数として取得する仮数取得部と、
    前記指数、前記仮数を記憶する記憶部と、
    前記記憶部に記憶された前記指数と前記仮数とを読み出して前記外部情報を復元する復元部とを備え、
    前記要素復号部は、前記復元された前記外部情報に基づいて繰返しの復号を行うことを特徴とする復号装置。
  2. 前記復元部は前記指数に対応するビット位置に隣接したビット位置に前記仮数の情報をそのまま追加することで前記外部情報を復元することを特徴する請求項1記載の復号装置。
  3. 入力データに対して外部情報を生成する要素復号部を有する復号装置において、
    前記要素復号部から出力された前記外部情報が入力されて、前記外部情報の符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数位置決定部と、
    前記外部情報のうち前記指数より下位の桁のビットを取得し、前記取得した下位の桁のビットと前記符号ビットを除く前記外部情報とを加算する加算部と、
    前記加算部からの加算値に対する前記指数を記憶する記憶部と、
    前記記憶部に記憶された前記指数を読み出して前記外部情報を復元する復元部とを備え、
    前記要素復号部は、前記復元された前記外部情報に基づいて繰返しの復号を行うことを特徴とする復号装置。
  4. 入力データに対して外部情報を生成する要素復号部を有する復号装置において、
    前記要素復号部から出力された前記外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定する指数位置決定部と、
    前記外部情報のうち前記指数に隣接した1又は複数ビットの情報を仮数として取得する仮数取得部と、
    前記指数に対応する2進数値として表現できない他の2進数値に対してインデックスが割り当てられたテーブルから、前記指数と前記仮数との組に対応する前記インデックスを求めるテーブル参照部と、
    求められた前記インデックスを記憶する記憶部と、
    前記記憶部に記憶された前記インデックスに基づいて、前記テーブルを参照して前記外部情報を復元する復元部とを備え、
    前記要素復号部は、前記復元された前記外部情報に基づいて繰返しの復号を行うことを特徴とする復号装置。
  5. 入力データに対して外部情報を生成する要素復号部を有する復号装置における復号方法において、
    前記要素復号部から出力される前記外部情報が入力されて、前記外部情報から符号ビットを除いた情報のうち前記符号ビットと異なる値が最初に出現するビット位置である指数を特定し、
    前記外部情報のうち前記指数に隣接した1又は複数ビットの情報を仮数として取得し、
    前記指数と前記仮数とを記憶部に記憶し、
    前記記憶部に保存された前記指数と前記仮数とを読み出して前記外部情報を復元し、
    前記要素復号部は、前記復元された前記外部情報に基づいて繰り返しの復号を行うことを特徴とする復号方法。
JP2007049376A 2007-02-28 2007-02-28 復号装置、及び復号方法 Expired - Fee Related JP4282725B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007049376A JP4282725B2 (ja) 2007-02-28 2007-02-28 復号装置、及び復号方法
EP08101922A EP1968200A1 (en) 2007-02-28 2008-02-25 Decoder device and decoding method
US12/071,903 US8250446B2 (en) 2007-02-28 2008-02-27 Decoder device and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007049376A JP4282725B2 (ja) 2007-02-28 2007-02-28 復号装置、及び復号方法

Publications (2)

Publication Number Publication Date
JP2008219082A JP2008219082A (ja) 2008-09-18
JP4282725B2 true JP4282725B2 (ja) 2009-06-24

Family

ID=39492979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007049376A Expired - Fee Related JP4282725B2 (ja) 2007-02-28 2007-02-28 復号装置、及び復号方法

Country Status (3)

Country Link
US (1) US8250446B2 (ja)
EP (1) EP1968200A1 (ja)
JP (1) JP4282725B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239745B2 (en) * 2009-06-02 2012-08-07 Freescale Semiconductor, Inc. Parity data encoder for serial communication
CN101777926B (zh) * 2010-01-12 2014-04-16 浙江大学 一种Turbo乘积码的通用译码器及其方法
JP5696604B2 (ja) * 2011-06-30 2015-04-08 富士通株式会社 誤り訂正符号の復号装置、誤り訂正符号の復号方法及び基地局装置ならびに移動局装置
JP5991580B2 (ja) * 2012-08-01 2016-09-14 Necエンジニアリング株式会社 ターボ復号器、それに用いられる対数尤度比演算装置、ターボ復号方法、対数尤度比演算方法、ターボ復号プログラム及び対数尤度比演算プログラム
WO2019182102A1 (ja) * 2018-03-23 2019-09-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4617641A (en) * 1983-10-19 1986-10-14 Hitachi, Ltd. Operation unit for floating point data having a variable length exponent part
US5222189A (en) * 1989-01-27 1993-06-22 Dolby Laboratories Licensing Corporation Low time-delay transform coder, decoder, and encoder/decoder for high-quality audio
US5233629A (en) * 1991-07-26 1993-08-03 General Instrument Corporation Method and apparatus for communicating digital data using trellis coded qam
JP3341474B2 (ja) * 1994-07-28 2002-11-05 ソニー株式会社 情報符号化方法及び復号化方法、情報符号化装置及び復号化装置、並びに情報記録媒体
US6098192A (en) * 1997-09-17 2000-08-01 Cirrus Logic, Inc. Cost reduced finite field processor for error correction in computer storage devices
US6253311B1 (en) * 1997-11-29 2001-06-26 Jp First Llc Instruction set for bi-directional conversion and transfer of integer and floating point data
FR2785743A1 (fr) * 1998-11-09 2000-05-12 Canon Kk Dispositif et procede d'adaptation des turbocodeurs et des decodeurs associes a des sequences de longueur variable
KR100574144B1 (ko) * 2001-01-31 2006-04-25 마츠시타 덴끼 산교 가부시키가이샤 복호 장치, 기지국 장치, 통신 단말 장치 및 복호 방법
US7065695B2 (en) * 2002-05-31 2006-06-20 Broadcom Corporation Metric calculation design for variable code rate decoding of broadband trellis, TCM, or TTCM
JP4690141B2 (ja) 2005-08-09 2011-06-01 住友電気工業株式会社 光加入者線端局装置および下り帯域制御方法
KR100929079B1 (ko) * 2005-10-31 2009-11-30 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템의 복호 장치 및 방법
KR100984289B1 (ko) * 2005-12-07 2010-09-30 포항공과대학교 산학협력단 통신 시스템에서 가변 부호화율을 지원하는 신호 송수신장치 및 방법
KR100933139B1 (ko) * 2006-02-22 2009-12-21 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
KR100834650B1 (ko) * 2006-09-04 2008-06-02 삼성전자주식회사 통신 시스템에서 신호 송수신 장치 및 방법

Also Published As

Publication number Publication date
US8250446B2 (en) 2012-08-21
JP2008219082A (ja) 2008-09-18
EP1968200A1 (en) 2008-09-10
US20080208939A1 (en) 2008-08-28

Similar Documents

Publication Publication Date Title
US20190190544A1 (en) Method and apparatus for generating a code word
US7814393B2 (en) Apparatus and method for coding/decoding block low density parity check code with variable block length
US7600174B2 (en) Apparatus and method for encoding and decoding a block low density parity check code
US7962828B2 (en) Apparatus and method for coding/decoding block low density parity check code in a mobile communication system
JP3923618B2 (ja) 誤り訂正符号を有する情報ビットの変換方法およびこの方法を実行する符号化器と復号化器
EP0973268B1 (en) Method and device for coding and transmission using a sub-code of a product code
US8880973B1 (en) Detector-decoder interface for GF(q) iterative decoding
CN107919874B (zh) 校验子计算基本校验节点处理单元、方法及其计算机程序
CN110999095B (zh) 用于极化码的按块并行冻结位生成
WO2003021440A1 (en) Decoding architecture for low density parity check codes
JP4282725B2 (ja) 復号装置、及び復号方法
WO2018229073A1 (en) Polar decoder with llr-domain computation of f-function and g-function
US6868518B2 (en) Look-up table addressing scheme
KR20060016059A (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
US20030091129A1 (en) Look-up table index value generation in a turbo decoder
US7913153B2 (en) Arithmetic circuit
KR20090012189A (ko) Ldpc 부호의 성능 개선을 위한 스케일링 기반의 개선된min-sum 반복복호알고리즘을 이용한 복호 장치 및그 방법
US20030023919A1 (en) Stop iteration criterion for turbo decoding
US6886127B2 (en) Implementation of a turbo decoder
CN112737600A (zh) 译码方法和译码器
Urman et al. Efficient maximum likelihood decoding of polar codes over the binary erasure channel
KR101562220B1 (ko) 비이진 저밀도 패리티 검사 부호를 위한 복호 방법 및 장치
Mohr et al. Implementation-Efficient Finite Alphabet Decoding of Polar Codes
Velumani Design and implementation of improved decoding algorithms for LDPC convolutional codes
KR20060016061A (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090108

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140327

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees