Deconding device and decoding method

Information

  • Patent Application
  • 20080092028
  • Publication Number
    20080092028
  • Date Filed
    October 15, 2007
    17 years ago
  • Date Published
    April 17, 2008
    16 years ago
Abstract
A decoding device includes a BM calculator calculating a branch metric in a Log-MAP algorithm from received data and extrinsic information, an ACS operator calculating a maximum value of a path metric based on the branch metric, a correction term calculator calculating a Jacobian correction value of the path metric, and a correction operator correcting the path metric by adjusting a value of the Jacobian correction value based on a size of the received data and adding the adjusted correction value to the maximum value.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects, advantages and features of the present invention will be more apparent from the following description of certain preferred embodiments taken in conjunction with the accompanying drawings, in which:



FIG. 1 is a block diagram showing a transmission device according to the embodiment of the present invention;



FIG. 2 is a block diagram showing a receiving device according to the embodiment of the present invention;



FIG. 3 is a view showing a decoding device according to the embodiment of the present invention;



FIG. 4 is a view to describe an operation of each block in the decoding device according to the embodiment of the present invention;



FIG. 5 is a view to describe an example of a Log-sum correction according to the embodiment of the present invention;



FIGS. 6A to 6C and FIGS. 7A to 7C are views showing a BLER (block error rate) when a decoding method is applied according to the embodiment of the present invention;



FIG. 8 is a view showing a typical encoding device for generating turbo codes;



FIG. 9 is a view showing a typical decoding device for turbo decoding;



FIG. 10 is a view showing a recursive convolutional encoder for outputting recursive convolutional codes;



FIG. 11 is a schematic view showing the state transition of recursive convolutional codes shown in FIG. 10;



FIG. 12 is a view showing a trellis diagram;



FIG. 13 is a view to describe a way of obtaining a transition probability using a trellis diagram;



FIG. 14 is a view to describe a way of calculating a log likelihood ratio LLR from probabilities α, β, and γ; and



FIG. 15 is a view showing a typical Log-MAP decoder.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The invention will be now described herein with reference to illustrative embodiments. Those skilled in the art will recognize that many alternative embodiments can be accomplished using the teachings of the present invention and that the invention is not limited to the embodiments illustrated for explanatory purposes.


A specific embodiment to which the present invention is applied will be described in detail below with reference to the drawings. The present embodiment is the one in which the present invention is applied to a turbo decoding device employing a Log-MAP algorithm.


As described above, the Log-MAP needs a value of SNR (Eb/No) for operation as shown in the Expressions 6, 16, and 17. However, there are many kinds of noise, and an optimal SNR estimation algorithm varies depending on operational systems. Therefore, estimating the SNR is not easy.


In the present embodiment, a fixed value is used for the SNR. The value of the SNR can be determined based on aBLER (block error rate) which is targeted. For example, in a case of packet data, a transmission power is adjusted so that the BLER is approximately 10−1 to 10−2 when a WCDMA (Wideband Code Division Multiple Access) is performed. This operation is performed to adjust the BLER to meet the target by increasing the transmission power when there are many noises, to thereby keep the SNR within a certain range. In addition, in the present embodiment, punctured codes are employed to adjust a code length. In the present embodiment, explanation is made for the case in which a SNR fixed value and the punctured codes are employed to show a remarkable effect of the present invention. However, the present invention can be applied to a case as well where the SNR estimation is performed or the puncturing is not performed.


First, a puncturing will be explained. FIGS. 1 and 2 are block diagrams showing a transmission device and a receiving device, respectively. A transmission device 20 has a coding device 21, a puncturing section 22, a modulator 23, an RF section 24, an amplifier 25, and a controller 26, and soon. Now we assume the number of information is L and a coding rate R is ⅓. Then the transmitting side performs the puncturing (eliminates the data) so that the number of the data after being coded becomes L/R=M and the number of data decreases from M to N.


For example, we assume that there are transmission data D0 to D9 and that the data D2, D4, D7, and D8 are deleted by puncturing. In such a case, the ultimate transmission data is D0, D1, D3, D5, D6, and D9. The transmission data of which some of the data is punctured is transmitted as N data through the modulator 23, the RF section 24, and the amplifier 25.


In addition to the decoding device 1, a receiving device 30 further includes a de-puncturing section 32, a demodulator 33, an RF section 34, an amplifier 35, and a controller 36 for controlling these elements and so on, as shown in FIG. 2. The receiving device 30 basically performs the process that is opposite to the transmitting side.


In the receiving apparatus 30, the received data received by the antenna is supplied to the amplifier 35. The amplifier 35 amplifies the received data and supplies the amplified data to the RF section 34. The RF section 34 performs high frequency processing such as high frequency conversion and supplies the processed received data to the demodulator 33 for demodulation. For example, each N symbol data that is transmitted has a value range of 8 [bit] after being demodulated. In other words, one symbol data after being received is 8 [bit] and N pieces of 8 [bit] data are received. The received data which is demodulated is then supplied to the de-puncturing section 32. The de-puncturing section 32 performs the de-interleaving which is reverse to the interleaving performed in the transmitting side to thereby restore the original data sequence and further performs the de-puncturing which inserts 0-bit to the position of data which is eliminated upon transmission to thereby restore the original data length. In the above example, 0-bit is inserted to each of the D2, D4, D7, and D8 and de-puncturing is performed to restore the M pieces of 8 [bit] data. The data having the original data length as a result of the de-puncturing is supplied to the decoding device 1 for turbo decoding to obtain 1 [bit] data to thereby obtain a hard decision decoding result. The controller 36 controls the timing to supply data to the decoding device 1, for example.


The decoding device 1 will now be described. FIG. 3 is a view showing a decoding device according to the present embodiment. As shown in FIG. 3, the decoding device 1 according to the present embodiment includes a BM calculator 11, an ACS operator 12, a correction term calculator 13, and a correction operator 14. The decoding device 1 is prepared separately for a forward process and a backward process. In this specification, the decoding device in the forward process section is described.


The BM calculator 11 calculates a branch metric BM (see above Expression 9) from the received data and extrinsic information. As stated above, in the present embodiment, the SNR (Eb/No) used for the operation of the branch metric is calculated as the fixed value that is decided based on the targeted BLER (block error rate) By having such a configuration, a SNR estimation circuit and the normalization circuit section that have been necessary in the related technique is not needed, which makes it possible to reduce the hardware volume.


The BM from the BM calculator 11 and the previous path metric PM from the correction operator 14 which will be described below are input to the ACS operator 12 to thereby calculate the current path metric PM. First, the ACS operator 12 adds the BM to each of the two PM to obtain the added result (hereinafter referred to as path metric candidate) Ai. Then the ACS operator 12 outputs the result that has the larger value (maximum value, see FIG. 4) as the current path metric PM′ (=AM) The ACS operator 12 also has an absolute value circuit to thereby obtain |Ai-AM|, which is the absolute value of the difference between the path metric candidates Ai where the BM is added to each of the two PM, as the path metric value (Path Metric Difference: PMD). Then the ACS operator 12 outputs the PMD to the correction term calculator 13.


The correction term calculator 13 calculates a Jacobian correction term (see FIG. 4) shown in the above Expression 13. The correction term calculator 13 according to the present embodiment performs adjustment of the correction term depending on the amplitude of the received signal, in other words depending on the size of the received data (see FIG. 4). This correction adjustment method will be described below in detail.


The correction operator 14 adds the adjusted correction term to the current path metric PM′ calculated in the ACS operator 12 to thereby calculate the corrected path metric. This path metric is normalized properly to be used in the next ACS operation while it is used to calculate the log likelihood ratio with the BM and the path metric of the backward process.


The correction term adjustment method of the decoding device according to the present embodiment will now be described. As stated above, the Log-MAP is the one that the correction term is added to the MAX-Log-MAP. Therefore, the MAX-Log-MAP means that Jacobian correction is not performed in the Log-MAP. Therefore, the Log-MAP has a higher error correction capability than the Max-Log-MAP. However, under certain conditions, the error correction capability of the MAX-Log-MAP is higher than that of the Log-MAP. The present inventors have found the method for obtaining the optimal error correction result by adjusting a degree of the Jacobian correction depending on the size of the received data (received value) in the Log-MAP.


Many reports of IEEE documents have indicated that the correction capability of the Max-Log-MAP becomes higher than that of the Log-MAP when the SNR estimation error is large. In the present embodiment, the puncturing is performed and the SNR fixed value is employed. Therefore, as described above, the insertion of 0 is necessary at the position of the puncture bit in the receiving side. This is approximately a medium value of the −128 to +127 which is the value range of each data value. The amplitude in the position of the puncture bit becomes minimum, which means it is equivalent to the fact that a large amount of noise is included. In such a case, difference is raised between the SNR fixed value and the apparent noise amount. This difference is regarded as the SNR estimation error, which degrades the correction capability. Therefore, the present inventors have found that the error correction capability can be improved by decreasing the correction degree of the Jacobian correction term in the position of the puncture bit when the SNR fixed value is employed.


Moreover, even in the case of the actual received value, it is also possible to improve the error correction capability by adjusting the correction amount to be small by determining that the data whose amplitude is small has a large amount of noise. In other words, in the present embodiment, the correction value is adjusted in accordance with the size of the received value. More specifically, the correction value is adjusted to be small when the received value is small (when the amplitude is small). In the present embodiment, the adjustment coefficient adjusting the value of the Jacobian correction term is introduced. However, it is also possible to perform adjustment by other methods.



FIG. 5 is a view to describe an example of a Jacobian correction according to the present embodiment. The simplest adjustment method is the one that does not perform the Jacobian correction only at the position where the puncture bit is inserted, as shown in FIG. 5. More specifically, as in the above-described example, when there are received data of D0 to D9 and the punctured position is D2, D4, D7, and D8, the Jacobian correction is turned off at D2, D4, D7, and D8. In this case, the operation result in the MAX-Log-MAP is output to the position of data D2, D4, D7, and D8.



FIGS. 6A to 6C and FIGS. 7A to 7C are views showing a BLER (block error rate) when the SNR at the point at which the data is input to the turbo decoder is made apparently low by puncturing the parity bit by ⅓ and ½ respectively under TrCH (Transport channel) condition of which transport block (TrBK) size is 632 and CRC size is 24. As stated above, the Jacobian correction term is made small when the confidence in the received data is low, and the Jacobian correction term is made large when the confidence in the received data is high. In this example, the Jacobian correction term is adjusted to be +/−0 when the received data is +/−0. The turbo decoding has a condition that the maximum iteration times is eight. Eq (0) shows the result of the Log-MAP when the Jacobian correction term adjustment is not performed, and Eq (1) to Eq (3) show the result of the Log-MAP when the Jacobian correction term adjustment is performed. This adjustment can be expressed below as shown in FIG. 4.










log
(



i





A
i



)

=


A
M

+


log
(

1
+





A
i



A
M







-




A
i

-

A
M








)

×



r



F


(

x
r

)









(
18
)







where

  • π indicates a multiplication,
  • I indicates the number of the branch connected to the 1 state at next time point,
  • Ai indicates the path metric corresponding to the i-th branch,
  • r indicates an inverse number of the coding rate in one codeword sequence, and
  • F(x) indicates an adjustment coefficient calculation function. In FIGS. 6A to 6C and FIGS. 7A to 7C, Eq (1) to (3) each shows the adjustment coefficient calculation function F(x) shown in Expression 19 to 21 below respectively. Eq (0) shows an example when F(x)=1, which means the adjustment is not performed. More specifically, when the ½ puncture shown in FIGS. 7A to 7C is performed, a coding gain of BLER=10−1, which is the adjustment target of HSDPA (High Speed Downlink Packet Access), is improved by around 0.2 dB as can be seen in Eq (1) to Eq (3). When the SNR fixed value is employed and 0 data is inserted in puncturing as in the present embodiment, the prominent effect can be seen because the SNR degrades.










F


(
x
)


=

{



0




if






(

x
=
0

)


,





1



else
.









(
19
)







F


(
x
)


=

{



0




if






(


-
2


x

1

)


,





0.25




else





if






(


-
4


x

3

)


,





0.5




else





if






(


-
8


x

7

)


,





0.75




else





if






(


-
16


x

15

)


,





1



else
.









(
20
)







F


(
x
)


=

{



0




if






(


-
2


x

1

)


,





0.25




else





if






(


-
4


x

3

)


,





1.5




else





if






(


-
96


x

95

)


,





1.25




else





if






(


-
64


x

63

)


,





1



else
.









(
21
)







The adjustment coefficient is set to 0 or 1. Then in the position where the puncture bit is inserted, the adjustment coefficient is set to 0 and the Jacobian correction term is not added as in Eq (1) in the Expression 19. In the position where the puncture bit is inserted, the received data is made to 0 as stated above. Therefore, it is possible to adjust the Jacobian correction term by setting the adjustment coefficient to 0 for not only the position where the puncture bit is inserted but also all the position where the received data is set to 0. In the present embodiment, we assume that 0 is inserted to the puncture bit. However, −1 may be inserted to the puncture bit. In such a case, it is possible not to add the Jacobian correction term by setting the adjustment coefficient to 0 for the data having the puncture bit or the received value of −1.


The value range of the received data is −128 to +127. When the medium value neighborhood, in other words the absolute value of the received data is small, it is considered that the confidence of the received data is low or there are many noise components. Therefore, as shown in Eq (2) and Eq (3), not in Eq (1), it is possible to set the adjustment coefficient to 0 and not to add the Jacobian correction term when the absolute value of the received value is equal to or less than the predetermined value. On the contrary, when the absolute value of the received data is larger than the predetermined value, it is considered that the confidence of the data is quite high. Then the adjustment coefficient is set to 1 and the Jacobian correction term may be directly added. The adjustment coefficient may be less than 1 or larger than 1.


It is also considered that the received value becomes partially 0 neighborhood by the normalization process due to the fading even when the puncturing is not performed. The normalization process means a process to convert the data after being demodulated into a fixed-point data of 8 bit indicating −128 to +127 between the demodulator 33 and the de-puncturing section 32. More specifically, in the normalization process, a part of data whose the order is less than the value of mantissa 8 bit is truncated in accordance with the maximum value of the demodulated data in order to regard the data whose the order is less than the value of mantissa 8 bit as 0, for example. Note that the average value can also be used instead of using the maximum value in this normalization process. In such a case, it is possible to make the Jacobian correction term of the received value at 0 neighborhood small by using the adjustment coefficient calculation function F(x) as shown in the above Eq (2), (3), and in Eq (22) below, for example.










F


(
x
)


=

{



0




if






(

x
=
0

)


,





0.25




if






(

0
<


x



2

)


,





0.5




if






(

2
<


x



4

)


,





0.75




if






(

4
<


x



8

)


,





1



else
.









(
22
)







As stated above, in the present embodiment, it is possible to reduce the degradation of the error correction capability in the Log-MAP by adjusting the Jacobian correction term based on the size of the received value in the Log-MAP. In this case, it is possible to improve the error correction capability while preventing the increase of the amount of operation due to the SNR estimation by employing the SNR fixed value. In addition, the hardware amount is decreased by employing the SNR fixed value, and the process speed can be improved by not employing the overhead of the process that is needed for the SNR estimation. When the SNR fixed value is employed, it is possible to improve the error correction capability in the Log-MAP in a quite simple way by making the value of the Jacobian correction term small or 0 for the data in the puncture bit position.


Note that the present invention is not limited to the above-described embodiment. Needless to say, various changes can be made without departing from the spirit of the present invention. For example, we explained that the ACS operator 12 outputs the maximum value in the above-described embodiment. However, the ACS operator 12 may output the minimum value. In this case, the correction operator 14 adds the adjusted negative Jacobian correction term to the minimum value.


In addition, we explained that the correction term calculator 13 calculates and adjusts the correction term and inputs the adjusted Jacobian correction term to the correction operator 14 in the above-described embodiment. However, needless to say, the correction operator 14 can receive, adjust, and multiply the Jacobian correction term.


In addition, although the above-described embodiment are described as hardware configuration, the present invention may be implemented by executing a computer program on a CPU (Central Processing unit) to thereby perform arbitrary processing. In such a case, a computer program may be stored in a recording medium or may be transmitted through a transmission medium such as the Internet.


It is apparent that the present invention is not limited to the above embodiment, but may be modified and changed without departing from the scope and spirit of the invention.

Claims
  • 1. A decoding device comprising: an ACS operator calculating a path metric value corresponding to received data to be decoded; and a correction unit performing a correction of the path metric value and adjusting degree of the correction based on the received data.
  • 2. The decoding device according to claim 1, wherein the correction unit performs the correction using a correction value and adjusts the degree of the correction by changing the correction value based on the received data.
  • 3. The decoding device according to claim 2, wherein the correction unit changes the correction value by modifying an adjustment coefficient based on the received data, the correction value being multiplied by the adjustment coefficient.
  • 4. The decoding device according to claim 3, wherein the correction unit performs the correction by adding the path metric value to the correction value adjusted in accordance with the adjustment coefficient.
  • 5. The decoding device according to claim 4, wherein the correction value is a Jacobian correction term relative to a Log-Map algorithm.
  • 6. The decoding device according to claim 5, wherein The correction unit includes a correction term calculator calculating the Jacobian correction term and adjusting the Jacobian correction term based on the adjustment coefficient, and a correction operator adding the path metric value to the Jacobian correction term adjusted by the correction term calculator.
  • 7. The decoding device according to claim 6, wherein the correction term calculator adjusting the Jacobian correction term using the adjustment coefficient being proportional to an absolute value of the received data.
  • 8. The decoding device according to claim 6, wherein the correction term calculator adjusts the Jacobian correction term when an absolute value of the received data is equal to or less than a predetermined value.
  • 9. The decoding device according to claim 6, wherein the correction term calculator adjusts the Jacobian correction term when the received data corresponds to a data being punctured at a data transmitting side.
  • 10. The decoding device according to claim 5, wherein the path metric value and the Jacobian correction term includes a signal to noise ratio and the signal to noise ratio is a fixed value regardless of the received data.
  • 11. The decoding device according to claim 1, wherein the correction unit performs the correction based on noise included in the received data.
  • 12. A decoding method comprising: adjusting a path metric value relative to a sate on a trellis diagram, the path metric value being adjusted based on received data corresponding to the path metric value.
  • 13. The decoding method according to claim 12, wherein the path metric value is adjusted based on noise included in the received data.
  • 14. The decoding method according to claim 12, wherein the path metric value includes a Jacobian correction term relative to a Log-Map algorithm.
  • 15. The decoding method according to claim 14, wherein the Jacobian correction term is multiplied by an adjustment coefficient, the adjustment coefficient being modified based on the received data, the path metric value being adjusted by the adjustment coefficient.
  • 16. The decoding method according to claim 15, wherein the path metric value further includes a signal-to-noise ratio and the signal-to-noise ratio is a fixed value regardless of the received data.
  • 17. The decoding method according to claim 16, wherein the path metric value is adjusted when the received data corresponds to a data being punctured at a data transmitting side.
Priority Claims (1)
Number Date Country Kind
2006-279427 Oct 2006 JP national