Field of the Invention
The invention relates in general to a decoding module, and more particularly to a decoding module that implements logarithmic equation calculation by using a plurality of curves.
Description of the Related Art
When a wireless signal is transmitted in a wireless channel of a wireless communication system, the wireless signal may encounter frequency-selective fading and time-selective fading while passing the wireless channel and become distorted. To reduce the effect caused by the wireless channel, a transmitter in the wireless communication system first performs processes such as encoding, modulation and interleaving on transmission data that is then wirelessly transmitted. As such, when a receiver in the wireless communication system receives the wireless signal, the receiver may perform processes such as channel estimation, demodulation and error correction code (ECC) decoding to recover the impaired reception signal.
A stereotypic receiver includes a channel estimator and an ECC decoder. The channel estimator estimates a channel response to recover the distortion in the phase and amplitude of the reception signal. The ECC decoder corrects bits with decision errors in the reception signal according to an ECC. Common ECCs include convolutional code, low-density parity check code (LDPC) and turbo code. As proven to approximate the Shannon Limit of the transmission theory, the turbo code is extensively applied in fields including satellite communication, digital image transmission and 3rd Generation Partnership Project (3GPP) Long-Term Evolution (LTE) in the recently years.
However, when a turbo code decoding process is performed, an ECC decoder may need to implement calculation of logarithmic equations. The calculation of logarithmic equations causes the complexity of the turbo code decoding process to rise significantly in a way that the decoding performance of the receiver is severely degraded. Therefore, there is a need for a simple method for calculating logarithmic equations.
The invention is directed to a decoding module that implements logarithmic equation calculation by using a plurality of curves.
According to an aspect of the present invention, a decoding module for a communication device is provided. The communication device receives an input signal, and generates a first parameter and a second parameter according to a data bit in the data signal as well as a first check bit and a second check bit corresponding to the data bit. The decoding module includes: a first calculation circuit, outputting the larger between the first parameter and the second parameter as a first output parameter; a first arithmetic circuit, calculating a first product of a third parameter and a first slope, and a first difference between a first constant and the first product; a second arithmetic circuit, calculating a second product of the third parameter and a second slope, and a second difference between a second constant and the second product; a second calculation circuit, selecting the largest among a third constant, the first difference and the second difference, and generating a second output parameter, wherein the third constant is zero; and an addition circuit, adding the first output parameter and the second output parameter to generate output information, according to which the communication device determines the data bit.
The present invention further discloses a decoding module for a communication device. The communication device receives an input signal, and generates a first parameter and a second parameter according to a data bit in the input signal as well as a first check bit and a second check bit corresponding to the data bit. The decoding module includes: a first calculation circuit, outputting the larger between the first parameter and the second parameter as a first output parameter; a first arithmetic circuit, calculating a first value obtained from substituting a third parameter into a first curve function; a second arithmetic circuit, calculating a second value obtained from substituting the third parameter into a second curve function; a second calculation circuit, selecting the largest among a constant, the first value and the second value, and generating a second output parameter, wherein the constant is zero; and an addition circuit, adding the first output parameter and the second output parameter to generate output information, according to which the communication device determines the data bit. The first curve function and the second curve function are nth degree polynomial functions, and n is greater than or equal to 1.
The above and other aspects of the invention will become better understood with regard to the following detailed description of the preferred but non-limiting embodiments. The following description is made with reference to the accompanying drawings.
To perform the iterative decoding process, the decoding device 10 may need to support a logarithm calculation function. For example, when the LLR is calculated, the SISO decoding modules SISO1 and SISO2 may need to calculate an equation below:
ln(eA+eB) (1)
In the SISO decoding module SISO1, the parameters A and B may be values generated according to the input information LLR(ui) and LLR(p) and the extrinsic information LLR1(ui). In the SISO decoding module SISO2, the parameters A and B may be values generated according to the input information LLR(p) and LLR(q) and the extrinsic information LLR2(ui). Equation (1) may be simplified as:
ln(eA+eB)=max(A, B)+llrscale*ln(1+e−d) (2)
In equation (2),
and llrscale is a ratio parameter.
In one embodiment, the SISO decoding modules SISO1 and SISO2 may use three straight lines L1 to L3 to approximate the value of ln(1+e−d) to reduce the hardware costs of implementing the logarithm calculation function.
L1: Y=0 (3)
L2: Y=o1−m1*d (4)
L3: Y=o2−m2*d (5)
In the above equations, (−m1) and (−m2) are slopes of the straight lines L2 and L3, respectively, and o1 and o2 are constant terms of the straight lines L2 and L3, respectively. In one embodiment, the constant terms o1 and o2 and the slopes (−m1) and (−m2) may be obtained by using a least square method. As shown in
ln(eA+eB)=max(A, B)+llrscale*max(0,o1−m1*d,o2−m2*d) (6)
It is known from equation (6) that, by approximating the value of ln(1+e−d) using the straight lines L1 to L3, the embodiment of the present invention is able to complete the calculation of a natural logarithm through a simple calculation process, hence significantly reducing the hardware costs of implementing the logarithm calculation function.
According to different applications and design concepts, hardware for implementing the logarithm calculation function may be realized through various methods.
and llrscale is a ratio parameter. Similarly, the arithmetic circuit 304, including a multiplier 316 and an adder 318, calculates a difference of subtracting a product of the parameter d and a slope m2 from a constant term o2, and outputs the difference calculated to the calculation circuit 306. After receiving the differences calculated by the arithmetic circuits 304 and 306, the calculation circuit 310 outputs the larger between the received parameters to the multiplication circuit 308. The multiplication circuit 308 multiplies the output from the calculation circuit 310 by the ratio parameter llrscale, and outputs the product to the addition circuit 310. The addition circuit 310 adds up the received signals to generate a calculation result of equation (6) to realize the logarithm calculation function.
Further, equation (6) may be re-written as:
Wherein C1=llrscale*o1, C2=llrscale*o2, and
In equation (7), the ratio parameter llrscale is integrated into the calculation of max(0,o1−m1*d,o2−m2*d). Known from equation (7), by modifying the constant terms and variables of straight line functions for approximating the parameter of 14 +e d), the logarithm calculation can be further simplified.
According to different applications and design concepts, one person ordinary skilled in the art can make appropriate variations and modifications based on the above embodiments. For example, the decoding modules 30 and 50 may be applied to any operation device needing to implement the logarithm calculation function (e.g., calculating a posterior probability) instead of being applied to only turbo code decoders.
In one embodiment, the straight lines L1 to L3 for approximating ln(1+e−d) may be altered to multiple-power functions (e.g., an nth degree polynomial function, where n is greater or equal to 1). Coefficients of the multiple-power function may be obtained by, for example but not limited to, polynomial fitting calculation. In this embodiment, the arithmetic circuit 302 in
Further, the number of straight lines used for approximating ln(1+e−d) may be appropriately adjusted. In one embodiment, the number of straight lines used for approximating ln(1+e−d) may be changed from 3 to 4 (as the straight lines L1 to L3 in
ln(eA+eB)=max(A, B)+llrscale*max(0,o1−m1*d,o2−m2*d,o3−m3*d) (8)
In equation (8), (−m1), (−m2) and (−m3) are slopes of the straight lines L2 to L4, respective, o1 to o3 are constant terms of the straight lines L2 to L4, respectively, and L1 is a straight line of Y=0.
In conclusion, by approximating a logarithm curve using a plurality of straight lines, the decoding device of the embodiments implements the logarithm calculation function with a simple hardware structure, thereby significantly reducing hardware costs and operation costs.
While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited thereto. On the contrary, it is intended to cover various modifications and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements and procedures.
This application claims the benefit of U.S. Provisional Application Ser. No. 62/288,455, filed Jan. 29, 2016, the subject matter of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62288455 | Jan 2016 | US |