GB2431263A - Approximation of the logarithm of the sum of exponentials correction term in log-MAP decoding using Padé approximants or continued fractions - Google Patents

Approximation of the logarithm of the sum of exponentials correction term in log-MAP decoding using Padé approximants or continued fractions Download PDF

Info

Publication number
GB2431263A
GB2431263A GB0624900A GB0624900A GB2431263A GB 2431263 A GB2431263 A GB 2431263A GB 0624900 A GB0624900 A GB 0624900A GB 0624900 A GB0624900 A GB 0624900A GB 2431263 A GB2431263 A GB 2431263A
Authority
GB
United Kingdom
Prior art keywords
log
decoder
approximation
map
sum
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
GB0624900A
Other versions
GB0624900D0 (en
GB2431263B (en
Inventor
Thierry Lestable
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to GB0624900A priority Critical patent/GB2431263B/en
Publication of GB0624900D0 publication Critical patent/GB0624900D0/en
Publication of GB2431263A publication Critical patent/GB2431263A/en
Application granted granted Critical
Publication of GB2431263B publication Critical patent/GB2431263B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0055MAP-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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

In order to reduce the computational complexity of maximum a posteriori processing in a turbo decoder the operation is often switched to the log domain and known as log-MAP decoding. However this still involves the calculation of a log of a sum of exponents which is computationally intensive. The invention uses Pad’ approximants wherein power series derived from received data and coefficients are divided by one another. In one embodiment the Pad’ approximant is convened into the closely related continued fraction form. In this form the approximation can be derived using a series of cascaded computation units (500a-c) each comprising an adder whose output feeds a divider which then feeds the adder of the next unit. This unit can be easily scaled up to provide more accuracy by adding further units.

Description

MAP Decoding This invention relates to decoding. More particularly, this
invention relates to decoding using the maximum a Posteriori (MAP) decoding technique. Particularly but not exclusively, the invention is used for decoding turbo encoded signal, and particularly but not exclusively in mobile telecommunication systems.
Turbo codes are widely used in challenging communications environments such as mobile telephony because they offer a transmission performance which approaches the Shannon limit in noisy conditions. In turbo coding, two recursive systematic convolutional (RSC) coders are provided in parallel, receiving the same information bits but in different orders.
The output of the turbo coder is the systematic information (the original bit stream) which forms the input to one of the RSC coders, together with the parity outputs of each of the RSC coders. This corresponds essentially to two stochastic processes running on the same input data. At the receiver end, a turbo decoder can operate by independently estimating each of the two processes with a decoder, then refining the estimates by iteratively sharing information between the two decoders. In other words, the output of one decoder can be used as a-priori information by the other decoder.
Each decoder therefore produces a soft output indicating the likelihood that the input bit was a one, referred to as a "log likelihood ratio" (LLR).
Each decoder is arranged to accept the received bit stream (comprising systematic imparity information) together with a-priori information (in the form of an LLR or data derived from it) from the other decoder, and generate an output (which can itself be fed to the other decoder).
The calculations which are performed during each iteration are described in, for example, "Implementation of a 3GSP Turbo Decoder on a Programmable DSP Core", James G. Harrison, 3DSP Corporation White Paper, presented at the Communications Design Conference, San Jose, California, October 2, 2001 (www.3dsD.corflindl3dsurbowhitep,erpdj) Briefly, it is not feasible to implement MAP decoding in real time for most commercially desirable data rates at present. Accordingly, simplifications of the MAP algorithm have been sought.
In one, referred to as log-MAP, the simplification is perfonned by eliminating the substantial number of exponentiation and multiplication operations required by operating in the logarithm domain, so that multiplications become additions and exponentiation is not required. A problem with the log-MAP process is that it is necessary to compute the log of the sum of exponentials. The Jacobian formula provides the following alternative: log(eA +e62)=max(,o2)+log(i+i*rI) (1) The first term, the Max (a, b) function, is a single instruction for DSP's (digital signal processors) and is easily performed in any other type of processing device. However, the second term (the correction term) must still be computed. For this, various approaches have been proposed. The simplest approach is to ignore the term altogether. This is referred to as the Maxlog- MAP algorithm. It provides a reasonable approximation where (a) is much larger than (b) or vice versa, but leads to errors where they are of similar magnitudes.
The above-mentioned paper by Harrison proposes to use a lookup table of eight entries to approximate the second term. In the paper "Linearly Approximated Log-MAP Algorithms for Turbo Decoding", Cheng & Ottoson, a linear approximation (i.e. a first order approximation, employing a single coefficient) is used which is stated to be particularly suitable for wide band CDMA (WCDMA).
US 6760390 (Desai et al) takes a different approach: instead of using the Jacobian substitution to replace the logarithm with the sum of the exponents of several numbers, it uses an alternative expression comprising a first term consisting of the average of the numbers, followed by a second term which must be computed This second term, like the one above, involves taking the logarithms of exponents. It is therefore approximated by using a Taylor series (a power series). To make calculation in real time possible, the Taylor series is truncated after a number of terms which, since the exponential function converges slowly, means that it is of limited accuracy.
Although in these three approaches some attempt is made to take account of the second term, there is inevitably some sacrifice of accuracy for computational efficiency to a greater or lesser extent. The present invention is intended to provide an alternative implementation of the logMAP algorithm with good accuracy which can be implemented in real time. Under some circumstances, it will provide a more accurate decoding than the above approaches.
In another aspect, the present invention is intended to provide an approximation which is straightforward to implement, and scalable. These aspects are defined in the claims.
In a first aspect, the invention provides a log-MAP type decoder in which the correction term is computed by using a Padé approximant or continued fraction. In each case, the operation includes at least one division stage, as will be clear from what follows, and in contradistinction to the
above-referenced prior art.
Padé approximants and their relation to continued fractions are discussed in H. Padé, Sur Ia representation approchee d'une fonction par des fractions rationnelles', Annales Scientifiques de PENS, 1892, and F!. Padé, Mémoire sur Zes dCveloppements en fractions continues de Ia fonction exponentielle, pouvant servir d'introduction a Ia théorie des fractions continues algebriques', Annales Scientifiques de I'ENS, 1899.
In general, a Padé approximant based on a given number of coefficients (i. e. given a level of complexity) gives a more accurate result than the equivalent series expansion (e.g. McLaurin or Taylor series expansion).
For a given level of complexity then, the present invention provides more accurate decoding than the solution proposed in US 6760390. It is likewise considerably more accurate than the lookup table or linear approximations
described in the above disclosed prior art.
Padé reveals that the approximants which bear his name are closely related to continued fractions (CF). Continued fractions form another alternative method of approximating functions and can be seen as a special case of Padé approximants. In another aspects, the present invention provides another alternative method of approximating functions by using a repeating continued fraction implementation block (hardware or software).
This aspect of the invention likewise provides good accuracy, and additionally is particularly suited for hardware or DSP software implementation, since it consists of simple repetitive division operations. It therefore enables flexible and scalable implementations. Further, increasing the number of such blocks allows incremental increases of accuracy, so that where there is extra time during decoding, the accuracy can be improved.
The above described aspects may, in a preferred embodiment, be used adaptively; particularly the decoder may test the difference between the two numbers (i.e. vertical line a-b vertical line) and employ the above described aspects only where this difference is relatively small. Where the difference is relatively large, the second term can simply be ignored and, for speed the Max (a, b) term alone can be used.
Preferably, the invention is utilised in a mobile telecommunication system; it may be either at the user terminal end or at the system end, which is particularly useful in the former case where the computation hardware available is more constrained.
Other aspects, embodiments and preferred features will be apparent from the following description and claims. Embodiments of the invention will now be illustrated, by way of example only, with reference to the accompanying drawings in which: Figure 1 is a block diagram showing schematically the elements of a communications system according to an embodiment of the invention; Figure 2 is a block diagram showing schematically the elements of a user equipment mobile terminal forming part of Figure 1; Figure 3 is a diagram schematically illustrating a Parallel Concatenated Convolutional Coder (Turbo Coder); Figure 4 is a diagram schematically illustrating an iterative Turbo- Decoder (MAP decoder); Figure 5 is a flow diagram schematically illustrating the process of iterative Turbo-Decoding; Figure 6 is a plot of analytical function values against approximated function values according to the first embodiment; Figure 7 is a plot of probability density function (PDF) against relative
error for a prior art 1-MAP decoder;
Figure 8 corresponds to Figure 6 and is a plot of probability density function (PDF) against relative error for a prior art MAX Log-MAP decoder; Figure 9 is a plot of probability density function (PDF) against relative error for the analytic values of a MAP decoder according to the first embodiment; Figure 10 is a plot of probability against error for a decoder according to the first embodiment as against a MAX Log-MAP decoder; Figure 11 is a plot of CDF against error for a decoder according to the first embodiment as against a MAX Log-MAP decoder; Figure 12 is a plot of Bit Error Rate (BER) against noise for different numbers of iterations (1-4) for the MAX*LogMAP decoder; Figure 13 is a plot of Bit Error Rate (BER) against noise for different numbers of iterations (1-4) for the MAX-Log-MAP decoder; Figure 14 is a plot of Bit Error Rate (BER) against noise for different numbers of iterations (1-4) for the approximated Log-MAP decoder according to a first embodiment; Figure 15 is a plot of Bit Error Rate (BER) against noise for 4 iterations for the present embodiment against the prior art; Figure 16 is a block diagram of a continuous fraction evaluation unit according to a second embodiment of the invention; and Figure 17 is a block diagram of a cascade of Continuous fraction evaluation units according to the second embodiment Referring to Figure 1, a communication system such as a mobile telephony system comprises a plurality of user equipment (tiE) such as mobile teiminals 300a, 300bb, in radio communication with a base station 100, provided within a cell, and having a fixed link connection to a backbone network (such as an IP network) via a switch computer 200. The IP backbone network will not further be discussed since it is of conventional type.
It will be clear to the skilled person that, other than the modulation and RF components, the blocks making up the embodiment at the base station and the mobile terminals comprise suitably programmed digital signal processor devices (DSPs) or ASICs executing signal processing.
In both the base station and the terminals, in order to receive data transmitted over the communications link, the received data are first demodulated, then processed in error control decoders using the redundancy to correct any errors occurred in transmission, such that the data are then available at the receiver's output port (for example for display or audio reproduction).
Referring to Fig. 2, the mobile terminal 300 comprises a control unit 302 such as a microcontroller, a power supply 304 such as a rechargeable battery, a user interface 306 such as a touch screen. A radio receiver section 312 receives and amplifies radio signals from the network, which are demodulated to base band by demodulator section 314.
Channel decoding is performed by a channel decoder 316, with which the present invention is principally concerned as discussed uIirther below. The decoded data is then passed to an output processing unit 318 in which higher layer processing is performed, for example to remove source coding, reassemble packets and so on, and the output data from the output processing wilt 318 is supplied either to the user interface 306 for display, to the control unit 302, or to an output port assumption by an external device.
For completeness, the transmit side components are also shown, comprising a data input processing device 328 applying source coding and packetising; a channel coder 326 for applying channel coding such as turbo coding; a modulator 324 for applying modulation such as quadrature amplitude modulation and modulating at RF, and an RF transmitter device 322 comprising a power amplifier for transmitting the modulated radio signal.
The channel coding and decoding units 316, 326 may be provided by a suitably programmed digital signal processing devices or by a specially designed hardware chip set. The same is true of the input and output processing devices 318, 328. All of these may be integrated into a single unit, suitably programmed, and comprising a digital signal processor with associated RAM flash memory, storing a control program and scratch calculations performed during the operation of the terminal.
The base station 100 includes components generally equivalent to the components 312 -318, 322 - 328 for performing transmission and reception, and will not be further discussed here.
Turbo-Coding & De-coding Referring to Fig. 3, the channel coder 326 of the user equipment 300, and the equivalent channel coder of the base station 100, comprise a turbo coder consisting of an input port 3262 which accepts an input bit stream; a pair of equivalent recursive systematic convolutional (RSC) encoders 3264a, 3264b fed in parallel from the input port 3262; an interleaver 3266 in the path between the input port and one of the RSC encoders 3264b; a puncturing unit 3268 for varying the coding rate by selectively removing bits from the output stream; and an output port 3270 comprising a multiplexer for multiplexing into a single bit stream the input bit stream from the input port 3262, and the punctured output streams of the encoders 3264a, 3264b via the puncturing unit 3268.
This coffesponds to the parallel concatenation of two recursive systematic convolutional (RSC) encoders. These encoders are separated by one interleaving module r. As these encoders are processing the same input bits stream xS, this scheme is referred to as "parallel concatenated convolutional codes" (PCCC).
Each RSC component is composed of two generator polynomials, namely feedback and feedforward polynomials, respectively g1 (D) and g2 (D). Thus, two parity check sequences are generated, namely 4', and x.
The turbo-decoding process which takes places in the receivers at the base station and the terminals uses the basic iterative scheme. Again two component decoders, called Soft Input Soft Output (SISO) decoders D1 and D2, are serially concatenated via an interleaving process. The major key feature of this iterative process, is that the extrinsic information delivered by one SISO decoder, feeds the following SISO decoder as a priori information for decoding information bits. The feedback loop iteratively improves the performance of this scheme.
Referring to Fig. 4, the decoder 316 comprises an input port 3162 at which the received modulated samples (represented as multibit data) are demultiplexed into a data stream and two separate parity streams. Each parity stream is fed in parallel to a respective soft input soft output (SISO) decoder 31 64a, 31 64b. An interleaver 3166 of depth equivalent to the interleaver 3266 decoder lies in the path from the input port 3162 to the second decoder 31 64b.
Each of the coders 3164 has four ports. A first input port 31642 (shown only on the first decoder 3164a for clarity) accepts the observation samples from the input port 3162 and a second 31644 accepts a- priori information from an extrinsic information output port 31646 of the other decoder. Finally, an a posteriori output port supplies decoded output bits from each decoder 3164 to a combiner and thresholder 3168 at which the decoded bit-stream is made available as a series of binary bits.
In the output path from the second decoder 31 64b to the output port 3168 is an output deinterleaver 3169.
Interconnecting the output port 31646 of the first decoder and the apriori input port 31644 of the second decoder 31 64b is an interleaver 3171.
Conversely, interconnecting the output port 31646 of the second decoder 3164b with the a-priori input port 31644 of the first decoder 3164a is a deinterleaver 3173.
Referring to Fig. 5, an overview of the operation of the decoder of Fig. 4 will be given.
Step 1002, a new demodulated sample (in the form of a 32 bit value from the demodulator) is received at the input port.
In step 1006, each decoder computes and stores the branch metrics (often referred to as gamma values) for all trellis branches. The skilled person is aware that a trellis diagram is a representation of the different slates applied by the modulator over a succession of bit periods (equal in length to the length of the interleaver plus a predetermined number of periods for flushing the encoder back to an initial state). The decoder attempts to trace the path through the trellis taken by the signal by calculating the state transition probability.
The branch metrics (gamma values) are calculated based on the distance between the hard coder values and the received values from the demodulator, taking into account the channel noise variants, multiplied by the a-priori input from the other decoder.
After computing and storing the branch metrics, in step 1008, each decoder performs a forward recursion on the trellis by computing forward (alpha) probabilities for each node on the trellis. The alpha values are the sum of the previous alpha multiplied by the branch metric along each branch from the two previous nodes to the node in question.
In step 1010, each decoder performs backward recursion to calculate backwards (beta) probabilities for each node, similarly to the forward recursion but starting at the end of the trellis and going backward.
In step 1012, the log likelihood ratio (LLR) for each time I is calculated as the sum of the products of the aiphas, betas and gammas at that time for each branch associated with a one value in the encoder, divided by the sum of the products of the aiphas, betas and gammas for each branch associated with a zero.
In step 1016, the decoders determine whether the maximum number of iterations (for example, four iterations), Niter, has been reached. If not, then in step 1018 each decoder calculates extrinsic information to be fed from each coder to the other is calculated as the difference between the LLR and the input probability estimate and in step 1020 outputs the extrinsic information at its output port.
In step 1022, each of the two decoders accepts a new a-priori value from the other decoder.
When afl iterations have been complete (step 1016) the output device thresholds the log likelihood ratio outputs of the two decoders to form the decoded output bit. If the bit rate is sufficiently slow, the test 1016 may determine whether the decoded outputs have converged, rather than applying a limited number of iterations.
Within the forward and backward recursion steps 1008, 1010 in particular, the calculation of the alpha and beta probabilities involves the
S
approximation to the log of the sum of the exponentials of plural numbers, as discussed above. In other respects, the process described in relation to Fig. 4 is entirely conventional and well known to the skilled person. At this stage, therefore the present embodiment uses the approximation based on Padé approximants which will be described below. First, the necessary mathematical relationships will be laid out.
The MAP algorithm, given below, represents the optimal soft-output processing: a,_ (")*: (i',i).p (1) A(c) = log (2) a,_1(l').7, (l',l).p,Q) (IJB? This computation is performed by the forward-backward algorithm.
in step 1018, the extrinsic information to be fed from each coder to the other is calculated as the difference between the LLR and the input probability estimate.
Max-Log-MAP Algorithm To reduce the complexity, the log-domain is used.
(1',!) = log [y; (I', 1)] (3) a, (l)=Jog[a, (1)] (4) (1) = iog[/3 (1)] (5)
I
Then the soft-output expression (i.e. the LLR) becomes: A (c,) log (If)B (6) (I$)R Now, the complexity reduction is obtained by means of the following approximation (the Jacobian relation, with the correction term omitted): log[e4]max{o} (7) This reduces the complexity considerably, as the previous soft-output reduces to: A (c) max [ (1',!) + 5,.., (1') + (1) ] (8) _mrx[0(r,l)+a,_j (/)+,(i)] However, this complexity reduction works only by impacting the performance - the Bit Error Rate (BER) performance falls.
Log-MAP Algorithm This version is an extension of that above.
So the previous approximation is applied, but additionally with a correction function: log(e' +e52)=max(s,a2) 1og(l jl5z) (9) log(e +e52)_ max(o1,52) f (152 -oj) (10) with J(x)= log(l +e). The term (x) corresponds to the absolute difference between the two values.
For some summation with more terms, the following recursive algoritlun can be used: Let's note first, (11) To process lo[e] = 1og[et'* + e]= log[&1 +eu'] (12) So, from the above equations this leads to the following relation: log[i.,J = max(log[i_1],8, )+j (1og[i, }_o,J) (13) log[i,}= max(",s,)+J (I'' -o,() (14) Where ii,, = e', or equivalently 1og[, } = Finally, with this notation: = max (3"', 8,) + j (Js' - 8,j) (15) Padé Approximant Now follow some details about the Padé approximants theory. To approximate the following McLaurin series:
I (16)
One approximation method is the use of special rational functions, called Padé approximants, and defined as the following: J?L/M [LIM}= (17) Where PL(x)=ao+a,x .... aL.x (18) QM(x)=l+bI.x+....+bM.xM (19) It is therefore seen that they correspond to the ratio of two power series, P and Q. These series may contain different numbers of terms (i.e. be of different orders). The order of the Padé approximation is the sum of the orders of the series - for example, if the numerator series is third order and the denominator series is second order, then the Padé approximation is fifth order.
Finally, the approximation reaches the following target: A(x)=[LIM]+Q(X+M) (20) Approximation of Logarithm function The aim in this embodiment is to provide an accurate, and low complexity, approximation to the correction function used within the Log-MAP algorithm
I
above which is in the form J(x) =log(i ej, in order to both reduce the overall complexity of the decoder, whilst maintaining a good performance.
We will thus use the two following Padé Approximants: e.g. for order 3, 6+ 2.x exp, x)= (2!) 12 6-4*x+x2 log211 (1+x) = x.[66t] (22) After some basic manipulations: I 6+2*x 1 16.x2_22.x 421 logil+e ii 1*1 I (23) L6-4x+x2J L6x2-16.x+6OJ The desired correction fbnction (of the absolute difference between the two values) to add to the maximum of the two values is therefore calculated in this embodiment using the above relation, involving simple multiplication/division and addition/subtraction operations and a small number of simple integer coefficients.
As distinct from conventional expansion senes which employ (or are resolvable to) multiplication and addition of coefficients and powers of the absolute difference value, the present embodiment necessarily involves
O
division operations since the approximation involves the ratio of two power series.
It will now be clear that, in the steps in Figure 4 where the alpha, beta and gamma values are calculated, in each case the present embodiment calculates a first term, comprising the maximum of the values, calculates the absolute difference between the two values, and calculates a second, correction, term, from the absolute difference, using Equation (23).
Resulting Performance of first embodiment Figure 6 shows the estimated error introduced when applying the Fade approximation of this embodiment instead of the actual correction function (which, of itself, is time-consuming to calculate). Note from Figure 6 that the accuracy appears adequate, and the error increases only from 2.5.
Estimation of Error in prior art.
When using the full logarithmic correction function of Equation (I), the optimal probability density function (PDF) of Figure 7 would be obtained.
Now, applying the same technique, when estimating log of a sum of exponentials, with random values, the probability density function (PDF) of Figure 8 would be obtained when applying only the prior art max-logMAP algorithm of Equation (7). Clearly, this is much worse than that of Figure 7; it is one-sided, and has a wider band.
I
Estimation of Error with Fade Based Aproximant according to this embodiment.
The same error distribution for the present embodiment is shown in Figure 9.
Obviously, the distribution is considerably better than that of Figure 8. The difference is emphasised by the comparison shown in Figure 10. The related CDF is depicted in Figure 11.
Bit Error Rate (BER) Assessment Log-MAP algorithm (MAX*) Turbo-Decoding Figures 12 to 15 show that the new decoder has a somewhat similar performance to the Log-MAP (MAX*), and considerably better performance than the simple MAP algorithm. Thus, this embodiment offers a good, lowcomplexity (low order) yet high accuracy approximation to the optimal method of applying the log-MAP decoding algorithm.
From the Figure 15 full comparison, it is clear that the complexity reduction obtained by means of the use of rational approximants of Padé, has nonetheless maintained a good performance. That means that this technique could be a good candidate for future 4G receiver implementation of turbo- decoding scheme.
Second Embodiment The above embodiment describes the use of the Padé approximants; for example, the third order approximant described in equation (23). In this
I
embodiment, however, the use of the closely related continued fraction approximation technique is described. Padé's work explain the close relationship between Padé approximants and continued fractions, and shows how to convert between one representation and the other.
In this embodiment, continued fraction are employed firstly to obtain the same level of accuracy as the first embodiment, but secondly for the implementation advantages which will be described below.
By way of an example, the exponential function will be reviewed here in view of its very low convergence when represented as a McLaurin or Taylor series (so that it is poorly modelled by such series unless a large number of coefficients are provided).
It can be found that Padé approximants have an explicit representation given below: L (L M-k)!.L! (24) M (L+M-k)!.M' QM(x)=(L M)' kt.(_i) xk (25) It can be shown that the continued fraction expansion of the exponential function can be described by the sequence of following matrices: (4 B " 1(2h+1)-i-x (2h+1) (26) tc,, D)U[ (2h l) (2/z+1)-x We will thus derive the continued fraction of the following approximant:
S 6+2*x
exp112(x)=2 (27) 0 1 2 0 +1 -2/3 +1/6 1 +1 +1/3 0 2 -1 +1/6 0 3 -1/2 0 0 4 -1/12 0 0 0 0 0 Therefore the decomposition in continued fractions can be straightforwardly re-written as the standardized expression: (28) For the purpose of the new design implementation to be described, this can be written as: 1 (29) 1/2.x 1/12.x - 1/2 Or after basic divisions, and algebraic manipulations:
S
&t7111,21 (x) = (30) 1+ 2 ax 1+ 1+a4x where a2 = -1; a3; a = - Fig. 16 shows a continued fraction evaluation unit according to the present invention. It comprises three input terminals, 502, 504, 506 and an output terminal 508. The lower two input terminals 504, 506 are connected to an adder 510. A divider 512 is provided. The first input terminal is connected to the numerator input of the divider 510 and the output of the adder 508 is connected to the denominator input of the divider 510. The output of the divider 510 is connected to the output port.
Thus, where the values of the input ports are, respectively X,, X, x3 then the value of y at the output port is given by: y = xj/(x2 + X3). Referring to Fig. 17, a respective scalar multiplier 520 is provided with
each of the units shown in Fig. 16. A plurality of units 500 of the type shown in Fig. 16 are provided arranged in cascade. The output port of the first unit is connected to the middle input port (leading to the adder 508) of the next, and so on until the last. The first input port of each (connected to the denominator of the divider 510) is connected to the output of its respective scalar multiplier 520, except for the first (of which the scalar multiplier is connected to the second input terminal brackets leading to the adder).
In all units, the first input terminal (leading to the adder 508) is connected to a constant having the value 1, as is the last input terminal (leading to the denominator of the divider 510) over the last unit SOOc. Each of the multipliers 520 multiplies by a respective coefficient alpha.
In operation, then, it will be clear that the structure described in the Fig. 17 represents a very simple and scalable structure for performing the calculation of equation 29, to calculate approximate exponentials of the number supplied in parallel to the imports of the multipliers 520. Strictly, the adders 508 in this case are merely performing an increment instruction and do not require an external input, but for more general functions, a different scalar could be used.
A more accurate calculation can be provided simply by appending further such units (and changing the values of the coefficients appropriately).
Whilst exponentiation has been described as a particular case where the continued fraction approximation has substantial advantages over conventional series expansions due to the low convergence, any Padé approximant (such as that disclosed in equation 23) can be transformed into a continued fraction representation as mentioned above, and accordingly with appropriate coefficient values the apparatus of Fig. 17 can be used.
Where, as in a signal processing operation such as decoding, multiple different ftmctions must be calculated (e.g. exponentiation, logarithms,
I
trigonometric functions and so on) a single device according to Fig. 17 can be employed with alternative sets of coefficients to calculate different such functions.
Whilst the structure shown in Fig. 17 is particularly suitable for dedicated hardware implementation as a series of simple calculating units, it can also be implemented as an iterative program on, for example, a digital signal processor device. Obviously this represents just a part of the flexibility and scalability brought by the use of such Padé approximations. Indeed, by using the full Pad6 table, and depending on the path followed to reach the final rational approximation, both accuracy and modulai-ity are ensured.
Other Embodiments and variants It will be clear that the above described embodiments are examples only, and that many other embodiments are possible.
For example, rather than providing a correction for the Max-LOG- MAP algorithm, the present embodiments could provide the correction factor for the AVG function described in US 6760390.
Whereas the above described embodiments disclose the calculation of the correction factor, in fact, as mentioned above, the Max approximation is reasonable where the absolute difference between the two values is large and, accordingly, in another embodiment, the decoders test whether the magnitude of the difference between the two numbers is a predetermined threshold and, if so, only the maximum is used without the calculation of the additional
I
correction factors disclosed herein. In other words, the decoder uses the calculation described in the present embodiment only where the absolute difference is less than the predetermined threshold.
Other techniques disclosed in, for example, the Harrison paper, the Cheng and Ottoson paper, or the Vallejo et al paper could be employed.

Claims (8)

  1. I
    Claims I. A signal processing device for iterative processing operations consisting of approximating an analytical function, comprising a cascade of successive identical processing sections each consisting of an adding block and a dividing block connected to the output of the adding block.
  2. 2. A device according to claim 1 further comprises a weighting block.
  3. 3. A method of approximating the generation of a logarithm of a sum of exponents, for use in a log-MAP decoding operation, comprising performing a first operation on the data, calculating a correction term in a second operation, and adding the correction term to the results of the first operation, characterised in that the second operation comprises calculating an approximate correction term by an operation including at least one division stage in which a first result obtained based on said data and at least a first coefficient is divided by a second result obtained based on said data and at least a second coefficient.
  4. 4. A method of log-MAP decoding comprising performing forward and backward recursion, in which the forward and backward probabilities are calculated by using the method of approximating of any preceding claim
    S
  5. 5. A MAP decoder performing the method of any preceding claim.
  6. 6. A radio receiver comprising a MAP decoder according to claim 5.
  7. 7. A mobile tenninal comprising a radio receiver according to claim S.
  8. 8. Use of the Padé approximant or continued fraction technique in a log- MAP decoding process.
GB0624900A 2006-12-13 2006-12-13 MAP Decoding Expired - Fee Related GB2431263B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0624900A GB2431263B (en) 2006-12-13 2006-12-13 MAP Decoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0624900A GB2431263B (en) 2006-12-13 2006-12-13 MAP Decoding

Publications (3)

Publication Number Publication Date
GB0624900D0 GB0624900D0 (en) 2007-01-24
GB2431263A true GB2431263A (en) 2007-04-18
GB2431263B GB2431263B (en) 2007-08-22

Family

ID=37712086

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0624900A Expired - Fee Related GB2431263B (en) 2006-12-13 2006-12-13 MAP Decoding

Country Status (1)

Country Link
GB (1) GB2431263B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2467385C1 (en) * 2011-08-04 2012-11-20 Открытое акционерное общество "Научно-исследовательский институт физических измерений" Method and apparatus for approximating signals

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1647558A1 (en) * 1989-05-11 1991-05-07 Институт Проблем Моделирования В Энергетике Ан Усср Matrix calculator

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1647558A1 (en) * 1989-05-11 1991-05-07 Институт Проблем Моделирования В Энергетике Ан Усср Matrix calculator

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Computers & Mathematics with Applications, 1989, vol.17, pp. 1359-1367, Achuthan et al, "A recursive algorithm for matrix Pade approximants - the divide-and-conquer approach" *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2467385C1 (en) * 2011-08-04 2012-11-20 Открытое акционерное общество "Научно-исследовательский институт физических измерений" Method and apparatus for approximating signals

Also Published As

Publication number Publication date
GB0624900D0 (en) 2007-01-24
GB2431263B (en) 2007-08-22

Similar Documents

Publication Publication Date Title
EP1383246B1 (en) Modified Max-LOG-MAP Decoder for Turbo Decoding
US6145114A (en) Method of enhanced max-log-a posteriori probability processing
JP4929342B2 (en) Calculation method of sum-product decoding method (belief propagation method) based on scaling of input log likelihood ratio by noise variance
JP4520122B2 (en) High radix LOGMAP processor
CN105634508B (en) A kind of implementation method of the Turbo decoder of the nearly performance limit of low complex degree
WO2001082490A1 (en) Method and apparatus for decoding turbo-encoded code sequence
GB2395097A (en) A decoder apparatus and method of decoding therefor
US7594161B2 (en) Map decoding
CN101147327B (en) Method and device for metric calculations for map decoding using the butterfly structure of the trellis
US6868518B2 (en) Look-up table addressing scheme
US20040017857A1 (en) Transmitter, receiver, methods, program and signal adapted to modulations having a large number of states
EP1692770B1 (en) Linear approximation of the max* operation for log-map decoding
GB2431263A (en) Approximation of the logarithm of the sum of exponentials correction term in log-MAP decoding using Padé approximants or continued fractions
US6886127B2 (en) Implementation of a turbo decoder
CN101753261A (en) Coder, decoder and coding and decoding methods
Nickl et al. Approaching Shannon's capacity limit by 0.27 dB using Hamming codes in a'turbo'-decoding scheme
CN101753154A (en) Turbo code encoder, decoder, encoding method and decoding method
CN2884696Y (en) Normalized device for Turbo coder decoder
CN103973319B (en) All-integer turbo code iterative-decoding method and system
CN115085742B (en) Decoding method, decoding device, electronic equipment and storage medium
Seethal et al. A low complex turbo decoding algorithm with early iteration termination
Kim et al. A Memory‐Efficient Block‐wise MAP Decoder Architecture
Broich et al. Optimal data path widths for energy-and area-efficient Max-Log-MAP based LTE Turbo decoders
Jung et al. Design and Architecture of Low‐Latency High‐Speed Turbo Decoders
Salmela et al. Simplified max-log-MAP decoder structure

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20090910