JP2008078839A - Decoder and decoding method thereof - Google Patents

Decoder and decoding method thereof Download PDF

Info

Publication number
JP2008078839A
JP2008078839A JP2006253654A JP2006253654A JP2008078839A JP 2008078839 A JP2008078839 A JP 2008078839A JP 2006253654 A JP2006253654 A JP 2006253654A JP 2006253654 A JP2006253654 A JP 2006253654A JP 2008078839 A JP2008078839 A JP 2008078839A
Authority
JP
Japan
Prior art keywords
decoder
approximate
linear function
acso
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.)
Granted
Application number
JP2006253654A
Other languages
Japanese (ja)
Other versions
JP4765863B2 (en
Inventor
Hana Hayashi
華 林
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006253654A priority Critical patent/JP4765863B2/en
Publication of JP2008078839A publication Critical patent/JP2008078839A/en
Application granted granted Critical
Publication of JP4765863B2 publication Critical patent/JP4765863B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a turbo decoding method by which a correction function of an ACSO (Add-Compare-Select-Offset) operation often used for turbo Log-MAP decoding is easily attained. <P>SOLUTION: A subtractor 11 performs subtraction (x<SB>1</SB>-x<SB>2</SB>) to input x<SB>1</SB>and input x<SB>2</SB>and selects either the input x<SB>1</SB>or the input x<SB>2</SB>for output of a multiplexing circuit 12 according to a result of the subtraction. On the other hand, the subtraction result of the subtractor 11 passes through an absolute value operation circuit 13 to enter a correction processing part via a selection circuit 14. The correction processing part is comprised of units of a plurality of multipliers 15-1 to 15-n and adders 16-1 to 16-n (a<SB>1</SB>and b<SB>1</SB>, a<SB>2</SB>and b<SB>2</SB>, ...), its result is output via a multiplexing circuit 17 and addition between output of a multiplexing circuit 12 and output of the multiplexing circuit 17 is performed by an adder 18. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は復号器及びその復号方法に関し、特にターボ復号器における復号演算の最適化実現方法に関する。   The present invention relates to a decoder and a decoding method thereof, and more particularly to a method for realizing optimization of decoding operation in a turbo decoder.

近年、C.Berrouらによりシャノン限界に近い誤り訂正符号として、いわゆるターボ符号(Turbo codes)が提示され、移動体通信、情報記録システム、ディジタル放送等を含む広範囲の分野において用いられる高性能、高信頼性の符号として研究開発が進められている。   In recent years, C.I. Berrou et al. Presents a so-called turbo code as an error correction code close to the Shannon limit, and is a high-performance, high-reliability code used in a wide range of fields including mobile communication, information recording systems, digital broadcasting, etc. Research and development is underway.

ここで、まず、一般的なターボ符号器及びターボ復号器の動作について説明する。図4は公知のターボ符号器の構成を示すブロック図であり、図5は公知のターボ復号器の構成を示すブロック図である。図4においては符号化率=1/3のターボ符号器を示しており、要素符号器31,33と、インタリーバ(Interleaver)32とを備えている。   Here, first, operations of a general turbo encoder and turbo decoder will be described. FIG. 4 is a block diagram showing the configuration of a known turbo encoder, and FIG. 5 is a block diagram showing the configuration of a known turbo decoder. FIG. 4 shows a turbo encoder with a coding rate = 1/3, and includes element encoders 31 and 33 and an interleaver 32.

被符号化ビット系列(Information Bit to be encoded)101は分岐されて組織ビット(Systematic bit)系列102として送出されると共に、要素符号器31とインタリーバ32とに入力される。   An encoded bit sequence (Information Bit to be encoded) 101 is branched and transmitted as a systematic bit sequence 102 and input to the element encoder 31 and the interleaver 32.

要素符号器31は誤り訂正符号によって被符号化ビット系列101を符号化し、冗長ビット系列(Parity Bit)103を出力する。インタリーバ32は、一般的に、被符号化ビット系列101を一度メモリ(図示せず)に書込み、これを異なる順序で読出すことによってデータの順序を交錯して要素符号器33に送出する。   The element encoder 31 encodes the encoded bit sequence 101 using an error correction code, and outputs a redundant bit sequence (Parity Bit) 103. The interleaver 32 generally writes the encoded bit sequence 101 once in a memory (not shown) and reads it out in a different order, thereby sending the data sequence to the element encoder 33 in a mixed order.

要素符号器33はインタリーブされた被符号化ビット系列を要素符号によって符号化し、冗長ビット系列104を送出する。要素符号器31,33には、通常、再帰的組織畳み込み符号器(RSC:Recursive Systematic Convolutional Encoder)が用いられる。   The element encoder 33 encodes the interleaved encoded bit sequence with the element code, and transmits the redundant bit sequence 104. For the element encoders 31 and 33, a recursive systematic convolutional encoder (RSC) is usually used.

図5に示すターボ復号器は、要素復号器(Decoder)41,43と、インタリーバ42と、デインタリーバ(De−interleaver)44と、硬判定器45とを備えている。要素復号器41には図4の組織ビット系列102に対応する組織情報系列(Systematic Information)201と、図4の冗長ビット系列103に対応する冗長情報系列(Parity Information)D02と、外部情報(Extrinsic Information)209とが入力され、外部情報203を出力する。この出力した外部情報203は次の要素復号器43に利用される。   The turbo decoder shown in FIG. 5 includes element decoders (Decoders) 41 and 43, an interleaver 42, a deinterleaver (De-interleaver) 44, and a hard decision unit 45. The element decoder 41 includes a systematic information sequence (Systematic Information) 201 corresponding to the systematic bit sequence 102 in FIG. 4, a redundant information sequence (Parity Information) D02 corresponding to the redundant bit sequence 103 in FIG. 4, and external information (Extrinsic). Information) 209 is input, and external information 203 is output. The output external information 203 is used for the next element decoder 43.

さらに、要素復号器41で得られた外部情報203及び組織情報系列201は、インタリーバ42を介して(外部情報204及び組織情報系列205)、図4の冗長ビット系列104に対応する冗長情報系列(Parity Information)206と共に、要素復号器43に入力される。要素復号器43にて得られた軟出力情報(Soft Output Information )207及び外部情報208はデインタリーバ44に送出される。   Furthermore, the external information 203 and the organization information sequence 201 obtained by the element decoder 41 are transmitted via the interleaver 42 (external information 204 and organization information sequence 205) to the redundant information sequence (corresponding to the redundant bit sequence 104 in FIG. Together with (Parity Information) 206, it is input to the element decoder 43. Soft output information (Soft Output Information) 207 and external information 208 obtained by the element decoder 43 are sent to the deinterleaver 44.

デインタリーバ44はインタリーバ42によるデータの入れ替え順番とは逆の順番に出力する。すなわち、インタリーブされた軟出力情報207及び外部情報208各々をインタリーブ前の順序に戻し、軟出力情報210及び外部情報209として出力する。さらに、硬判定器45は軟出力情報210を硬判定して最終復号結果を出力する。外部情報209は、次の復号処理のために、要素復号器41にフィードバックされる。   The deinterleaver 44 outputs the data in the reverse order of the data replacement order by the interleaver 42. That is, the interleaved soft output information 207 and the external information 208 are returned to the order before the interleaving, and are output as the soft output information 210 and the external information 209. Further, the hard decision unit 45 makes a hard decision on the soft output information 210 and outputs a final decoding result. The external information 209 is fed back to the element decoder 41 for the next decoding process.

以上のように、図5に示すターボ復号器では、二つの要素復号器の外部情報209,204を更新しながら復号処理が繰り返し行われ、複数回のループの後、軟出力情報210が硬判定される。   As described above, in the turbo decoder shown in FIG. 5, the decoding process is repeatedly performed while updating the external information 209 and 204 of the two element decoders, and after a plurality of loops, the soft output information 210 is a hard decision. Is done.

ターボ復号の要素復号器に適用される軟出力復号アルゴリズムとしてはLog−MAP(Log Maximum A Posteriori Probability:最大対数事後確率復号法)を用いる方法が現在のところ最良であると言われているが、装置規模や処理量が格段に大きくなるので、実装に際しては送られてきたデータが‘1’か‘0’かを尤度の最大値に基づいて決定することで処理を簡略化したMax−Log−MAP(Max Logarithmic Maximum A Posteriori)を使用した方式が一般的に広く用いられている。しかしながら、Max−Log−MAPの方式はLog−MAPの方法よりも復号性能が劣化することになる。   As a soft output decoding algorithm applied to an element decoder of turbo decoding, a method using Log-MAP (Log Maximum A Posteriori Probability) is said to be the best at present. Since the device scale and the processing amount are remarkably increased, Max-Log that simplifies the processing by determining whether the transmitted data is '1' or '0' based on the maximum likelihood value at the time of mounting. -A method using MAP (Max Logical Maximum A Postoriori) is generally widely used. However, the decoding performance of the Max-Log-MAP method is deteriorated as compared with the Log-MAP method.

Log−MAPアルゴリズムは、トレリス線図を利用した最尤復号法アルゴリズムである(例えば、特許文献1参照)。図6(a)はある要素符号器の構成の例である(レジスタ数:3)。トレリス線図とは、図6(b)に示すように、この要素符号器に対して、ある値を入力した時の出力値と、レジスタ状態との関係を表したものである。図6(a)において、要素符号器は加算器51〜54と、レジスタ(D)55〜57とから構成されている。   The Log-MAP algorithm is a maximum likelihood decoding algorithm using a trellis diagram (see, for example, Patent Document 1). FIG. 6A shows an example of the configuration of a certain element encoder (the number of registers: 3). As shown in FIG. 6B, the trellis diagram represents a relationship between an output value when a certain value is input to the element encoder and a register state. In FIG. 6A, the element encoder includes adders 51 to 54 and registers (D) 55 to 57.

MAPアルゴリズムは大きく分けて、
(a)フォワード処理:トレリス線図の先頭から各時点の各状態へ到達する確率(フォワードパスメトリック)を算出する
(b)バックワード処理:トレリス線図の終端から各時点の各状態へ到達する確率(バックワードパスメトリック)を算出する
(c)軟出力生成処理および外部値計算:上記の(a)、(b)の処理結果を用いて各時点における組織ビットの軟出力値を算出し、この軟出力値を用いて、外部値計算を行う
という3種類の処理から構成される。
The MAP algorithm is roughly divided into
(A) Forward processing: calculating the probability (forward path metric) of reaching each state at each time point from the beginning of the trellis diagram (b) Backward processing: reaching each state at each time point from the end of the trellis diagram Calculating the probability (backward path metric) (c) soft output generation processing and external value calculation: using the processing results of (a) and (b) above, calculate the soft output value of the tissue bit at each time point; This soft output value is used to form three types of processing for calculating an external value.

トレリス線図において、時点t、状態sにおけるフォワード処理、バックワード処理で算出されるフォワードパスメトリック及びバックワードパスメトリックをそれぞれAlpha(t,s),Beta(t,s)と表す。また、状態sから状態s’への時点tにおける遷移の確率をGamma(t,s,s’)と表す(Gammaはブランチメトリックと呼ばれる)。Gamma(t,s,s’)は、受信値(組織情報系列、冗長情報系列、外部情報)から求める確率である。   In the trellis diagram, the forward path metric and the backward path metric calculated by the forward process and the backward process at the time point t and the state s are expressed as Alpha (t, s) and Beta (t, s), respectively. Also, the probability of transition from the state s to the state s ′ at the time t is expressed as Gamma (t, s, s ′) (Gamma is called a branch metric). Gamma (t, s, s') is a probability obtained from a received value (organization information series, redundant information series, external information).

復号演算の中に、一番基本的な部分はACSO(Add−Compare−Select−Offset)ユニットから構成されており、

Figure 2008078839
・・・(1)
Figure 2008078839
・・・(2)
という式で表される。 The most basic part of the decoding operation is composed of an ACSO (Add-Compare-Select-Offset) unit,
Figure 2008078839
... (1)
Figure 2008078839
... (2)
It is expressed by the formula.

ここで、

Figure 2008078839
は、実際、LUT(Lookup Table)で実装し、図7に示すように、LUTは基本的にメモリの構造となる。LUTを利用しない場合、Max*=Maxとなるため、Log−MAPアルゴリズムもMax−Log−MAPとなる。また、MMAX*はMAX*の拡張であり、入力が三つ以上の場合、複数のMAX*組み合わせ回路となる。 here,
Figure 2008078839
Is actually implemented by a LUT (Lookup Table), and as shown in FIG. 7, the LUT basically has a memory structure. When LUT is not used, since Max * = Max, the Log-MAP algorithm is also Max-Log-MAP. MMAX * is an extension of MAX *, and when there are three or more inputs, a plurality of MAX * combination circuits are formed.

図8は従来のLog−MAP復号が使うACSOの回路の構成を示している。ACSOの二つ入力に対して、その差値に基づいてLUTにある適切な値を選択し、二つ入力の最大値との加算を行う。図8において、減算器(x1 −x2 )61と、多重回路(MUX:multiplexer)62と、LUT63と、加算器64とから構成されている。 FIG. 8 shows the configuration of an ACSO circuit used by the conventional Log-MAP decoding. For the two inputs of ACSO, an appropriate value in the LUT is selected based on the difference value, and addition with the maximum value of the two inputs is performed. In FIG. 8, a subtracter (x 1 −x 2 ) 61, a multiplexer (MUX) 62, an LUT 63, and an adder 64 are included.

続いて、復号時の実際の例について説明する。フォワード処理、バックワード処理、軟出力生成処理及び外部値計算は以下のように実行される。
(a)フォワード処理は、
Alpha(t,s)
=Max*{Alpha(t−1,s’)
+Gamma(t,s’,s)}
という式にて表される。ここで、Max*関数の定義は(1)式及び(2)式を参照する。Max*処理はすべての状態s’についてとることを意味する。
Next, an actual example at the time of decoding will be described. Forward processing, backward processing, soft output generation processing, and external value calculation are executed as follows.
(A) Forward processing
Alpha (t, s)
= Max * {Alpha (t-1, s')
+ Gamma (t, s ′, s)}
It is expressed by the formula. Here, the definition of the Max * function refers to equations (1) and (2). Max * processing means taking for all states s ′.

図9(a)に示すように、時点tのあるState(S3)に対するAlpha(t,S3)は、次のように計算される。2つの前段Stateの持つパスメトリックAlpha(t−1,S1)、Alpha(t−1,S2)にそれぞれのブランチメトリックGamma(t,S1,S3)、Gamma(t,S2,S3)を加算し、その加算値を比較する。その差値に従ってLUTに保存された対応の値を読出し、計算値の大きいほうと加算を行い、Alpha(t,S3)のAlpha値が得られる(Alpha ACSO演算と呼ぶ)。この処理を、全時間遷移tの全Stateに対して行い、全StateのAlpha値を保持しておく。   As shown in FIG. 9A, Alpha (t, S3) with respect to State (S3) at time t is calculated as follows. The branch metrics Gamma (t, S1, S3) and Gamma (t, S2, S3) are added to the path metrics Alpha (t-1, S1) and Alpha (t-1, S2) of the two previous stages. Compare the added values. The corresponding value stored in the LUT is read according to the difference value, and addition is performed with the larger calculated value to obtain the Alpha value of Alpha (t, S3) (referred to as Alpha ACSO operation). This process is performed on all the states of all time transitions t, and the Alpha values of all the states are held.

(b)バックワード処理は、
Beta(t,s)
=Max*{Beta(t+1,s’)
+Gamma(t+1,s,s’)}
という式にて表される。
(B) Backward processing
Beta (t, s)
= Max * {Beta (t + 1, s')
+ Gamma (t + 1, s, s ′)}
It is expressed by the formula.

図9(b)に示すように、時点tのあるState(S4)に対するBeta(t,S4)は、次のように計算される。2つの後段Stateの持つパスメトリックBeta(t+1,S5)、Beta(t+1,S6)にそれぞれのブランチメトリックGamma(t+1,S4,S5)、Gamma(t+1,S4,S6)を加算し、その加算値を比較する。その差値に従ってLUTに保存された対応の値を読出し、計算値の大きいほうと加算を行い、Beta(t,S4)が得られる(Beta ACSO演算と呼ぶ)。この処理を、全時間遷移tの全Stateに対して、Alphaとは逆方向から(トレリス最終State側から)、Beta算出処理を行う。   As shown in FIG. 9B, Beta (t, S4) for State (S4) at time t is calculated as follows. The branch metrics Gamma (t + 1, S4, S5) and Gamma (t + 1, S4, S6) are added to the path metrics Beta (t + 1, S5) and Beta (t + 1, S6) of the two subsequent stages State, and the added value Compare The corresponding value stored in the LUT is read according to the difference value, and addition is performed with the larger calculated value to obtain Beta (t, S4) (referred to as Beta ACSO operation). In this state, Beta calculation processing is performed for all States of all time transition t from the opposite direction to Alpha (from the trellis final State side).

(c)軟出力生成処理及び外部値計算
すでに算出しておいたAlpha(t−1,s’)の値とBeta(t,s)及びGamma(t,s’,s)とを加算し、時点tにおける全パスメトリック値を求める。この時に、上記の(2)式のMMAX*関数を利用する。そして、‘デコード結果が0となるパスの最大パスメトリック’と‘デコード結果が1となるパスの最大パスメトリック’との差分が時点tの軟出力値となる。
(C) Soft output generation processing and external value calculation The value of Alpha (t-1, s ') that has already been calculated is added to Beta (t, s) and Gamma (t, s', s), All path metric values at time t are obtained. At this time, the MMAX * function of the above equation (2) is used. Then, the difference between the “maximum path metric of the path whose decoding result is 0” and the “maximum path metric of the path whose decoding result is 1” is the soft output value at time t.

また,Log−MAPアルゴリズムでは,上記の処理で求めた軟出力値(事後値)から通信路値(受信値から求める値)と事前値(前段の復号器から与えられる外部情報)とを減算した値が外部情報となる。   In the Log-MAP algorithm, the channel value (value obtained from the received value) and the prior value (external information given from the preceding decoder) are subtracted from the soft output value (post value) obtained in the above processing. The value is external information.

特開2002−215608号公報JP 2002-215608 A

以上のように、Log−MAPアルゴリズムではAlpha、Betaの演算を一度に全復号対象データに対して行う。ACSO演算に使うLUTはメモリの構成であり、より多いほど補正値を保存すると、よりいい精度の演算結果が得られるが、膨大のメモリを使うと、回路規模も増える。復号時のACS演算の精度を保持したうえ、簡単な回路で実現できるような補正関数の実装方法は課題となっている。   As described above, in the Log-MAP algorithm, Alpha and Beta operations are performed on all data to be decoded at once. The LUT used for the ACSO calculation has a memory configuration, and the more correction values are stored, the more accurate calculation results can be obtained. However, the use of a huge memory increases the circuit scale. A method of mounting a correction function that can be realized with a simple circuit while maintaining the accuracy of ACS calculation at the time of decoding is a problem.

そこで、本発明の目的は上記の問題点を解消し、ターボLog−MAP復号によく使われているACSO演算の補正機能を簡単に実現できる復号器及びその復号方法を提供することにある。   Accordingly, an object of the present invention is to solve the above-described problems and provide a decoder and a decoding method thereof that can easily realize a correction function of ACSO calculation that is often used in turbo Log-MAP decoding.

本発明による復号器は、ACSO(Add−Compare−Select−Offset)ユニットにて復号演算を行う復号器であって、
近似分段線形関数を用いて前記ACSOユニットの出力を補正する補正処理回路を備えている。
A decoder according to the present invention is a decoder that performs a decoding operation in an ACSO (Add-Compare-Select-Offset) unit,
A correction processing circuit is provided that corrects the output of the ACSO unit using an approximate branching linear function.

本発明による復号方法は、ACSO(Add−Compare−Select−Offset)ユニットにて復号演算を行う復号器に用いる復号方法であって、
前記復号器が、近似分段線形関数を用いて前記ACSOユニットの出力を補正している。
The decoding method according to the present invention is a decoding method used in a decoder that performs decoding operation in an ACSO (Add-Compare-Select-Offset) unit,
The decoder corrects the output of the ACSO unit using an approximate staged linear function.

すなわち、本発明の復号方法は、ターボ復号器における復号演算の最適化実現方法に関するものであり、ターボLog−MAP(Log Maximum A Posteriori Probability:最大対数事後確率復号法)復号装置にあるACSO(Add−Compare−Select−Offset)演算において、近似分段線形関数で実装することを特徴とする。   That is, the decoding method of the present invention relates to a method for optimizing a decoding operation in a turbo decoder, and is an ACSO (Add Logarithmic A posteriori probability decoding) ACSO (Additional Logarithmic Probabilistic Decoding Method) decoding device. -Compare-Select-Offset) operation is implemented by an approximate stepwise linear function.

この場合、近似分段線形関数は分段乗算と加算で実装し、近似分段線形関数において、適切な勾配を選択すると、乗算の実装はシフト演算及び加算となる。また、近似分段線形関数においては、ある閾値を超えると定数(水平線)となり、適切な勾配が決まると、近似分段線形関数が決まり、各直線の交点で分段関数の適用範囲が決まる。   In this case, the approximate stepwise linear function is implemented by stepwise multiplication and addition, and when an appropriate gradient is selected in the approximate stepwise linear function, the multiplication is implemented by shift operation and addition. Further, in the approximate stepwise linear function, when a certain threshold is exceeded, a constant (horizontal line) is obtained. When an appropriate gradient is determined, the approximate stepwise linear function is determined, and the application range of the stepwise function is determined at the intersection of each straight line.

上記のように、本発明の復号方法では、分段線形誤差補償関数の最適化によって、MAX―LOG−MAP(Max Logarithmic Maximum A Posteriori)のベースで、MAX―LOG−MAPとLOG−MAP(理想)との復号化演算の違いによる系統的誤りを補償する。すなわち、本発明のターボ復号方法では、簡単な回路追加でLOG−MAPに近い性能が得られる。   As described above, in the decoding method of the present invention, MAX-LOG-MAP (MAX Ideal-Maximum A Postoriori) is used as the basis for MAX-LOG-MAP (MAX Ideal) by optimizing the stepwise linear error compensation function. Compensation for systematic errors due to the difference in decoding operation with). That is, in the turbo decoding method of the present invention, performance close to LOG-MAP can be obtained with a simple circuit addition.

これによって、本発明の復号方法では、近似分段線形関数を利用することで、ターボLog−MAP復号によく使われているACSO演算の補正機能を簡単に実現することが可能となる。その場合には、分段段数が多いほど、補正精度も上げられるが、回路の実装もやや複雑になるため、実用上、分段段数と補正精度とのトレードオフを考慮しなければならない。   Thus, in the decoding method of the present invention, it is possible to easily realize the correction function of the ACSO calculation that is often used for turbo Log-MAP decoding by using the approximate stepwise linear function. In such a case, the greater the number of stage stages, the higher the correction accuracy. However, since the circuit implementation becomes somewhat complicated, the trade-off between the number of stage stages and the correction accuracy must be considered in practice.

本発明は、上記のような構成及び動作とすることで、ターボLog−MAP復号によく使われているACSO演算の補正機能を簡単に実現することができるという効果が得られる。   The present invention has the above-described configuration and operation, so that it is possible to easily realize the correction function of the ACSO calculation that is often used for turbo log-MAP decoding.

次に、本発明の実施例について図面を参照して説明する。図1は本発明の一実施例によるACSO(Add−Compare−Select−Offset)回路の構成を示すブロック図である。図1においてはターボ復号に良く使われているACSO部の補正演算回路を示しており、最適な近似分段線形補正関数を設け、復号時のACSO演算の精度を保持しつつ、簡単なかつ小規模の回路(加算、乗算あるいはシフトレジスタ)で実装している。   Next, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the configuration of an ACSO (Add-Compare-Select-Offset) circuit according to an embodiment of the present invention. FIG. 1 shows a correction arithmetic circuit of an ACSO unit often used for turbo decoding, which is provided with an optimal approximate staged linear correction function, which is simple and small-scale while maintaining the accuracy of ACSO calculation at the time of decoding. It is implemented by the circuit (addition, multiplication or shift register).

本発明の一実施例によるACSO回路は、減算器(x1 −x2 )11と、多重回路(Multiplexer)12,17と、絶対値演算[ABS(整数の絶対値を計算する関数)]回路13と、選択回路(SEL:Selector)14と、乗算器15−1〜15−nと、加算器16−1〜16−n,18とから構成されている。 An ACSO circuit according to an embodiment of the present invention includes a subtracter (x 1 −x 2 ) 11, multiple circuits (Multiplexers) 12 and 17, and an absolute value calculation [ABS (function for calculating an absolute value of an integer)] circuit. 13, a selection circuit (SEL: Selector) 14, multipliers 15-1 to 15-n, and adders 16-1 to 16-n and 18.

減算器11は入力x1 と入力x2 とに対して減算(x1 −x2 )を行い、その結果によって、多重回路12の出力を入力x1 か入力x2 かを選択する。一方、減算器11の減算結果は絶対値演算回路13を通って、選択回路14経由で補正処理部分に入る。 Subtractor 11 performs the subtraction (x 1 -x 2) with respect to an input x 1 and the input x 2, resulting by selecting whether the input x 1 whether the input x 2 output of the multiplex circuit 12. On the other hand, the subtraction result of the subtractor 11 passes through the absolute value calculation circuit 13 and enters the correction processing portion via the selection circuit 14.

補正処理部分では複数の乗算器15−1〜15−n及び加算器16−1〜16−n(a1 とb1 ,a2 とb2 ,・・・)のユニットから構成されており、その結果は多重回路17経由で出力され、加算器18にて多重回路12の出力と多重回路17の出力との加算を行う。 The correction processing section plurality of multipliers 151 to 15-n and the adder 16-1~16-n (a 1 and b 1, a 2 and b 2, · · ·) are composed of units of, The result is output via the multiplexing circuit 17 and the adder 18 adds the output of the multiplexing circuit 12 and the output of the multiplexing circuit 17.

上記の補正処理部分では、乗算係数が、

Figure 2008078839
になる場合(Pm の値は0あるいは1、mは整数)、乗算は右シフト演算及び加算となる。この変形処理によって、補正部分の回路は更に小さくなる。図1に示す本発明の一実施例によるACSO回路の変形例を図2に示す。この図2に示す変形例では、a1 =−1/2,a2 =−3/16=−(1/8+1/16)である。 In the above correction processing part, the multiplication coefficient is
Figure 2008078839
(P m is 0 or 1, m is an integer), multiplication is a right shift operation and addition. By this deformation process, the circuit of the correction portion is further reduced. FIG. 2 shows a modification of the ACSO circuit according to the embodiment of the present invention shown in FIG. In the modification shown in FIG. 2, a 1 = −1 / 2 and a 2 = −3 / 16 = − (1/8 + 1/16).

図2において、ACSO回路の変形例では、補正処理部分が、シフトレジスタ(SFT)21〜25と、減算器26,28と、加算器27とのユニットから構成されている。   In FIG. 2, in the modification of the ACSO circuit, the correction processing part is composed of units of shift registers (SFT) 21 to 25, subtractors 26 and 28, and an adder 27.

このACSO回路では、減算器11にて入力x1 と入力x2 とに対して減算(x1 −x2 )を行い、その結果によって、多重回路12の出力を入力x1 か入力x2 かを選択する。一方、減算器11の減算結果は絶対値演算回路13を通って、選択回路14経由で補正処理部分に入る。選択回路14の閾値設定はai の値に依存する。最適な閾値の定義は後述する。 In this ACSO circuit, the subtracter 11 performs subtraction (x 1 -x 2 ) on the input x 1 and the input x 2, and the output of the multiplexing circuit 12 is input x 1 or input x 2 depending on the result. Select. On the other hand, the subtraction result of the subtractor 11 passes through the absolute value calculation circuit 13 and enters the correction processing portion via the selection circuit 14. The threshold setting of the selection circuit 14 depends on the value of a i . The definition of the optimum threshold will be described later.

1 =−1/2,a2 =−3/16に対して、それぞれの乗算は右シフト演算(1/2の場合、シフトレジスタ21による一回右シフト)あるいは右シフト演算及び加算(3/16の場合、シフトレジスタ22〜24による三回右シフトの結果とシフトレジスタ22〜25による四回右シフトの結果との加算器27による加算)となる。これらの演算で得られた結果は、それぞれの定数b1 ,b2 との減算を行う(ai は負値のため)。そして、補正処理の結果は多重回路17経由で出力され、加算器18にて多重回路12の出力と多重回路17の出力との加算を行う。 For a 1 = −1 / 2 and a 2 = −3 / 16, each multiplication is a right shift operation (in the case of 1/2, a single right shift by the shift register 21) or a right shift operation and addition (3 In the case of / 16, the result of the right shift three times by the shift registers 22 to 24 and the result of the right shift four times by the shift registers 22 to 25 are added by the adder 27). The results obtained by these operations are subtracted from the respective constants b 1 and b 2 (since a i is a negative value). The result of the correction process is output via the multiplexing circuit 17 and the adder 18 adds the output of the multiplexing circuit 12 and the output of the multiplexing circuit 17.

次に、本発明の一実施例によるACSO演算の分段線形補正関数の最適な係数(ai 、bi 、分段の閾値)を求める。図3に示すように、補正関数の実装は困難のため、本実施例では近似分段線形関数を補正関数として使用する。 Next, the optimum coefficients (a i , b i , threshold values of the stage) of the staged linear correction function of the ACSO operation according to an embodiment of the present invention are obtained. As shown in FIG. 3, since it is difficult to implement the correction function, an approximate stepwise linear function is used as the correction function in this embodiment.

まず、数学方法で近似線形関数の最適解を推定する。この場合、
ln(1+e-x)−ax−bの最小値を求める。
f(x)=ln(1+e-x)−ax−b
f(x)の最小値を求める時に、まずf’(x)=0で最適なa値を求める。

Figure 2008078839
上記で、
Figure 2008078839
・・・(3)
である。 First, the optimal solution of the approximate linear function is estimated by a mathematical method. in this case,
The minimum value of ln (1 + e −x ) −ax−b is obtained.
f (x) = ln (1 + e −x ) −ax−b
When obtaining the minimum value of f (x), first, an optimum a value is obtained with f ′ (x) = 0.
Figure 2008078839
Above,
Figure 2008078839
... (3)
It is.

a値が分かると、対応点のx値も求められる。また、この直線ax+bはln(1+e-x)の接線となる場合、b値も求められる。異なるa値に従って、図3に示すように、複数の接線が作られる。その交点は分段線形関数の閾値となる。 If the a value is known, the x value of the corresponding point is also obtained. When this straight line ax + b is a tangent of ln (1 + e −x ), the b value is also obtained. According to different a values, a plurality of tangent lines are created as shown in FIG. The intersection is a threshold for the stepwise linear function.

実際の曲線をみると、x値が大きくなる(>3)ほど、y値の変化も少なくなって、接線の勾配も段々水平方向になってくる。実装容易のため、ある閾値を超えたら、近似線形関数は水平線と設定する。   Looking at the actual curve, as the x value increases (> 3), the change in the y value decreases, and the gradient of the tangent gradually becomes horizontal. For easy implementation, when a certain threshold is exceeded, the approximate linear function is set as a horizontal line.

本実施例では、a1 =−1/2,a2 =−1/4,a3 =−1/8,a4 =0の場合について述べており、(3)式で各接点のxi が、
1 =0
2 =1.10
3 =1.95
と求められる。x4 は経験値で選ぶ。ここで、x4 =3.50と仮定する。
In this embodiment, a 1 = -1 / 2, a 2 = -1 / 4, a 3 = -1 / 8, and described for the case of a 4 = 0, (3) the contact of the x i by the formula But,
x 1 = 0
x 2 = 1.10
x 3 = 1.95
Is required. x 4 is selected in the experience value. Here, it is assumed that x 4 = 3.50.

また、ln(1+e-x)を利用して、yi も、
1 =0.693
2 =0.287
3 =0.133
4 =0.030
と求められる。
In addition, using ln (1 + e −x ), y i is
y 1 = 0.693
y 2 = 0.287
y 3 = 0.133
y 4 = 0.030
Is required.

よって、上記の例の4段線形関数が、

Figure 2008078839
と推定することができる。 Therefore, the four-stage linear function in the above example is
Figure 2008078839
Can be estimated.

上記の直線の交点で各直線の適用範囲が、

Figure 2008078839
と決められる。また、上述したように、直線1、直線2、直線3の乗算はそれぞれ一回、二回、三回の右シフト演算で実装することができる。 The application range of each straight line at the intersection of the above straight lines is
Figure 2008078839
It is decided. As described above, the multiplication of the straight line 1, the straight line 2, and the straight line 3 can be implemented by one, two, and three right shift operations, respectively.

このように、本実施例では、近似分段線形関数を利用することで、ターボLog−MAP復号によく使われているACSO演算の補正機能を簡単に実現することができる。この場合、分段段数が多いほど、補正精度も上げられるが、回路の実装もやや複雑になるため、実用上分段段数と補正精度とのトレードオフを考慮しなければならない。   As described above, in the present embodiment, by using the approximate stepwise linear function, it is possible to easily realize the correction function of the ACSO calculation that is often used for turbo Log-MAP decoding. In this case, the greater the number of stage stages, the higher the correction accuracy. However, the circuit implementation becomes somewhat complicated, and therefore, a trade-off between the number of stage stages and the correction precision must be considered in practice.

上記のようなACSO実装方法は、携帯電話機のような小回路規模が厳格に要求される機器にターボ復号装置を搭載した場合に、特に要求されるものである。尚、本発明はターボLog−MAP復号アルゴリズムと想定しているが、実際、ACSO演算を利用する様々な復号アルゴリズムにも適合することができる。   The above-described ACSO mounting method is particularly required when a turbo decoding device is mounted on a device such as a mobile phone that requires a small circuit scale. Although the present invention assumes a turbo Log-MAP decoding algorithm, it can actually be adapted to various decoding algorithms using ACSO arithmetic.

本発明の一実施例によるACSO回路の構成を示すブロック図である。It is a block diagram which shows the structure of the ACSO circuit by one Example of this invention. 本発明の一実施例によるACSO回路の構成の変形例を示すブロック図である。It is a block diagram which shows the modification of a structure of the ACSO circuit by one Example of this invention. 本発明の一実施例におけるLog−MAPの補正関数と近似分段関数との関係を示す図である。It is a figure which shows the relationship between the correction function of Log-MAP in one Example of this invention, and an approximate step function. 従来のターボ符号器の構成例を示すブロック図である。It is a block diagram which shows the structural example of the conventional turbo encoder. 従来のターボ復号器の構成例を示すブロック図である。It is a block diagram which shows the structural example of the conventional turbo decoder. (a)は従来の要素符号器の構成を示すブロック図、(b)はそのトレリス線図である。(A) is a block diagram showing a configuration of a conventional element encoder, and (b) is a trellis diagram thereof. 従来の補正関数のLUTの構成を示す図である。It is a figure which shows the structure of LUT of the conventional correction function. 従来のACSO演算回路の構成を示すブロック図である。It is a block diagram which shows the structure of the conventional ACSO arithmetic circuit. (a),(b)はLog−MAP復号におけるACSO演算の一例を示す図である。(A), (b) is a figure which shows an example of the ACSO calculation in Log-MAP decoding.

符号の説明Explanation of symbols

11 減算器(x1 −x2
12,17 多重回路
13 絶対値演算回路
14 選択回路
15−1〜15−n 乗算器
16−1〜16−n,
18,27 加算器1
21〜25 シフトレジスタ
26,28 減算器
11 Subtractor (x 1 -x 2 )
12, 17 Multiplex circuit
13 Absolute value calculation circuit
14 selection circuit 15-1 to 15-n multiplier 16-1 to 16-n,
18, 27 Adder 1
21-25 Shift register
26, 28 subtractor

Claims (12)

ACSO(Add−Compare−Select−Offset)ユニットにて復号演算を行う復号器であって、
近似分段線形関数を用いて前記ACSOユニットの出力を補正する補正処理回路を有することを特徴とする復号器。
A decoder that performs a decoding operation in an ACSO (Add-Compare-Select-Offset) unit,
A decoder comprising: a correction processing circuit that corrects the output of the ACSO unit using an approximate branching linear function.
前記補正処理回路は、前記近似分段線形関数を分段乗算と加算とで実装することを特徴とする請求項1記載の復号器。   2. The decoder according to claim 1, wherein the correction processing circuit implements the approximate stepwise linear function by stepwise multiplication and addition. 前記近似分段線形関数において、適切な勾配を選択することで、前記分段乗算の実装をシフト演算及び加算にて行うことを特徴とする請求項2記載の復号器。   3. The decoder according to claim 2, wherein the stepwise multiplication is implemented by shift operation and addition by selecting an appropriate gradient in the approximate stepwise linear function. 前記近似分段線形関数において、ある閾値を超えると定数となることを特徴とする請求項1から請求項3のいずれか記載の復号器。   The decoder according to any one of claims 1 to 3, wherein the approximate stepwise linear function becomes a constant when a certain threshold value is exceeded. 前記近似分段線形関数において、各直線の交点で分段関数の適用範囲を決定することを特徴とする請求項1から請求項4のいずれか記載の復号器。   5. The decoder according to claim 1, wherein an application range of the stage function is determined at an intersection of each straight line in the approximate stage linear function. ターボLog−MAP(Log Maximum A Posteriori Probability)復号装置であることを特徴とする請求項1から請求項5のいずれか記載の復号器。   The decoder according to any one of claims 1 to 5, wherein the decoder is a turbo log-MAP (Log Maximum A Postiori Probability) decoding device. ACSO(Add−Compare−Select−Offset)ユニットにて復号演算を行う復号器に用いる復号方法であって、
前記復号器が、近似分段線形関数を用いて前記ACSOユニットの出力を補正することを特徴とする復号方法。
A decoding method used in a decoder that performs a decoding operation in an ACSO (Add-Compare-Select-Offset) unit,
The decoding method, wherein the decoder corrects the output of the ACSO unit using an approximate staged linear function.
前記ACSOユニットの出力を補正する際に、前記近似分段線形関数を分段乗算と加算とで実装することを特徴とする請求項7記載の復号方法。   8. The decoding method according to claim 7, wherein when the output of the ACSO unit is corrected, the approximate stepwise linear function is implemented by stepwise multiplication and addition. 前記近似分段線形関数において、適切な勾配を選択することで、前記分段乗算の実装をシフト演算及び加算にて行うことを特徴とする請求項8記載の復号方法。   9. The decoding method according to claim 8, wherein the stepwise multiplication is implemented by shift operation and addition by selecting an appropriate gradient in the approximate stepwise linear function. 前記近似分段線形関数において、ある閾値を超えると定数となることを特徴とする請求項7から請求項9のいずれか記載の復号方法。   The decoding method according to any one of claims 7 to 9, wherein the approximate stepwise linear function becomes a constant when a certain threshold value is exceeded. 前記近似分段線形関数において、各直線の交点で分段関数の適用範囲を決定することを特徴とする請求項7から請求項10のいずれか記載の復号方法。   The decoding method according to any one of claims 7 to 10, wherein an application range of the stage function is determined at an intersection of each straight line in the approximate stage linear function. 前記復号器が、ターボLog−MAP(Log Maximum A Posteriori Probability)復号装置であることを特徴とする請求項7から請求項11のいずれか記載の復号方法。   The decoding method according to any one of claims 7 to 11, wherein the decoder is a turbo log-MAP (Log Maximum A Positive Probability) decoder.
JP2006253654A 2006-09-20 2006-09-20 Decoder and decoding method thereof Expired - Fee Related JP4765863B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006253654A JP4765863B2 (en) 2006-09-20 2006-09-20 Decoder and decoding method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006253654A JP4765863B2 (en) 2006-09-20 2006-09-20 Decoder and decoding method thereof

Publications (2)

Publication Number Publication Date
JP2008078839A true JP2008078839A (en) 2008-04-03
JP4765863B2 JP4765863B2 (en) 2011-09-07

Family

ID=39350466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006253654A Expired - Fee Related JP4765863B2 (en) 2006-09-20 2006-09-20 Decoder and decoding method thereof

Country Status (1)

Country Link
JP (1) JP4765863B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107025090A (en) * 2016-01-29 2017-08-08 晨星半导体股份有限公司 Has the decoder module of Logarithmic calculation function
JP2018049312A (en) * 2016-09-20 2018-03-29 株式会社東芝 Optimization calculation device, optimization calculation method and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001352258A (en) * 2000-06-08 2001-12-21 Sony Corp Decoder and decoding method
JP2002016503A (en) * 2000-06-29 2002-01-18 Nec Corp Turbo decoding method and receiver
JP2002215608A (en) * 2001-01-23 2002-08-02 Denso Corp Approximate operation device and map decoder
JP2006174437A (en) * 2004-12-10 2006-06-29 Korea Electronics Telecommun Receiver and signal processing method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001352258A (en) * 2000-06-08 2001-12-21 Sony Corp Decoder and decoding method
JP2002016503A (en) * 2000-06-29 2002-01-18 Nec Corp Turbo decoding method and receiver
JP2002215608A (en) * 2001-01-23 2002-08-02 Denso Corp Approximate operation device and map decoder
JP2006174437A (en) * 2004-12-10 2006-06-29 Korea Electronics Telecommun Receiver and signal processing method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107025090A (en) * 2016-01-29 2017-08-08 晨星半导体股份有限公司 Has the decoder module of Logarithmic calculation function
JP2018049312A (en) * 2016-09-20 2018-03-29 株式会社東芝 Optimization calculation device, optimization calculation method and program

Also Published As

Publication number Publication date
JP4765863B2 (en) 2011-09-07

Similar Documents

Publication Publication Date Title
EP1383246B1 (en) Modified Max-LOG-MAP Decoder for Turbo Decoding
US7116732B2 (en) Method and apparatus for decoding a bit sequence
US7636879B2 (en) Error correction decoder
US20040153942A1 (en) Soft input soft output decoder for turbo codes
US7500169B2 (en) Turbo decoder, turbo decoding method, and turbo decoding program
US6999531B2 (en) Soft-decision decoding of convolutionally encoded codeword
US7373582B2 (en) Apparatus and method for turbo decoding using a variable window size
US7343530B2 (en) Turbo decoder and turbo interleaver
US7107509B2 (en) Higher radix Log MAP processor
KR20040013475A (en) Turbo decoding apparatus
JP5075642B2 (en) Metric calculation for MAP decoding using butterfly structure of trellis diagram
JP2005210238A (en) Turbo decoder, its method, and its operation program
JP3540224B2 (en) Turbo decoder, turbo decoding method, and storage medium storing the method
JP4765863B2 (en) Decoder and decoding method thereof
KR100876566B1 (en) Arithmetic circuit
JP4269520B2 (en) Approximation calculation device and MAP decoding device
US7143335B2 (en) Add-compare-select arithmetic unit for Viterbi decoder
JP3987520B2 (en) Simple MAP decoder and decoding method thereof
JP2007514347A (en) Linear approximation of MAX * operation for LOG-MAP decoding
JP4049620B2 (en) Method and apparatus for decoding a bit sequence
JP2006217042A (en) Turbo decoder
KR100355452B1 (en) Turbo decoder using MAP algorithm
KR20010113792A (en) Method and apparatus for decoding recursive convolutional symbols
US8914716B2 (en) Resource sharing in decoder architectures
Jackuline et al. A new architecture for the generation of picture based CAPTCHA: Double binary convolutional turbo decoder using low power memory reduced traceback MAP decoding

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110131

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110530

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140624

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees