Paper Menu >>
Journal Menu >>
Communications and Network, 2009, 20-24 doi:10.4236/cn.2009.11003 Published Online August 2009 (http://www.scirp.org/journal/cn) Copyright © 2009 SciRes CN Comparison and Design of Decoder in B3G Mobile Communication System Mingxiang GUAN1, Mingchuan YANG2 1Department of Electronic Communication Technology, Shenzhen Institute of Information Technology, Shenzhen, China 2School of Electronic and Information Technology, Harbin Institute of Technology, Harbin, China Email: 1gmx2020@126.com; 2yangmingchuan@hit.edu.cn Abstract: Turbo code has been shown to have ability to achieve performance that is close to Shannon limit. It has been adopted by various commercial communication systems. Both universal mobile telecommunications system (UMTS) TDD and FDD have also employed turbo code as the error correction coding scheme. It out- performs convolutional code in large block size, but because of its time delay, it is often only used in the non-real-time service. In this paper, we discuss the encoder and decoder structure of turbo code in B3G mo- bile communication System. In addition, various decoding techniques, such as the Log-MAP, Max-log-MAP and SOVA algorithm for non-real-time service are deduced and compared. The performance results of de- coder and algorithms in different configurations are also shown. Keywords: decoder, beyond 3G mobile communication system, decoding algorithm 1. Introduction A turbo code can be thought as a refinement of the con- catenated encoding structure and an iterative algorithm for decoding the associated code sequence [1]. The codes are constructed by applying two or more component codes to different interleaved versions of the same in- formation sequence [2][3]. In literature [4], for any single traditional code, the final step at the decoder yields hard-decision decoded bits (or, more generally, decoded symbols). In order for a concatenated scheme such as a turbo code to work properly, the decoding algorithm should not limit itself to pass hard decisions among the decoders [5]. To best exploit the information learned from each decoder, the decoding algorithm must effect an exchange of soft rather than hard decisions [6]. For a system with two component codes, the concept behind turbo decoding is to pass soft decisions from the output of one decoder to the input of the other, and to iterate this process several times to produce better decisions [7]. 2. Principle of Iterative Decoding For the first decoding iteration of the soft input/soft out- put decoder in Figure 1, one generally assumes the bi- nary data to be equally likely, yielding an initial a priori LLR value of L(d) =0 for the third term in [8]. The channel pre-detection LLR value, Lc(x) , is measured by forming the logarithm of the ratio o1 f and 2 , seen in Figure l. The outputˆ) of the Figure 2 decoder is made up of the LLR from the detector, , and the extrinsic LLR output. , representing knowledge gleaned from the decoding process. As illustrated in Fig- ure 2, for iterative decoding the extrinsic likelihood is fed back to the decoder input, to serve as a refinement of the a priori value for the next iteration. Consider the two-dimensional code (product code) de- picted in Figure 2. The configuration can be described as Figure 1. Soft input/soft output decoder (Ld ˆ ( e Ld ˆ '( )Ld ) This paper supported by the 3rd natural science foundation of institute (No. LG-08010). Figure 2. Two-dimensional product code COMPARISON AND DESIGN OF DECODER IN B3G MOBILE COMMUNICATION SYSTEM 21 a data array made up of k1 rows and k2 columns. Each of the k1 rows contains a code vector made up of k2 data bits and n2-k2 parity bits. Similarly, each of the k 2 columns contains a code vector made up of k1 data bits and n1-k1 parity bits. The various portions of the structure are la- beled d for data, ph for horizontal parity (along the rows), and pv for vertical parity (along the columns). Addition- ally, there are blocks labeled Leh and L ev , which house the extrinsic LLR values learned from the horizontal and vertical decoding steps, respectively. Notice that this product code is a simple example of a concatenated code. Its structure encompasses two separate encoding steps, horizontal and vertical. The iterative decoding algorithm for this product code proceeds as follows: 1) Set the a priori information L(d)=0 (1) 2) Decode horizontally, obtain the horizontal extrinsic information as shown below: ˆˆ ()()() () eh c LdLdLx Ld (2) 3) Set ˆ () () eh LdL d (3) 4) Decode vertically, obtain the vertical extrinsic in- formation as shown below: ˆˆ ()()() () ev c LdLdLxLd (4) 5) Set ˆ ()() ev LdL d (5 ) 6) If there have been enough iterations to yield a reli- able 7 decision, go to step 7; otherwise, go to step 2; 7) The soft output is: ˆˆ () ()()() ceh ev LdL xLdLd ˆ (6) 3. B3G Mobile System Decoder Design The algorithms for decoders can be divided into two categories: (1) Log-MAP: Log-Maximum A Posteriori, (2) SOVA: Soft Output Viterbi Algorithm. 3.1. Log-MAP Algorithm Before explaining the MAP decoding algorithm, we as- sume some notations: () S k s e starting stage of the edge e. () E k s e ending stage of the edge e. dk(e) the information word containing k0 bits. ui stands for individual information bits. xk(e) codeword containing n0 bits. We assume here that the received signal is yk=xk+n (transmitted symbols + noise). The metric at time k is ()((),|()) (()|())(| ())(|) k EE kkkk ES S kk kkkk x Mepsey xe psesepxsepyx (7) (() E k pse |() S k s e) a priori information of the informa- tion bit. (|()) S kk pxs e k indicating the existence of connection between edges() S s e,() E k s e (|) kk pyx probability of receiving yk if xk was trans- mitted. Ak(.) and Bk(.) is forward and backward path metrics. 1 1 :() ()( (),) (( ))( ),1,...,1 E k Ek kk S kk k es e s Asps esy AseMek N (8) 11 11 1 :() ()(|()) (())( ),,...,1 E k kS kk S kk k es e s Bspy ses BseMekN (9) Suppose the decoder starts and ends with known states 0 0 1, 1, ()() 0, 0, N N sS sS AsB s otherwise otherwise , (10) If the final state of the trellis is unknown: 1 () , 2 Nm Bs s (11) The joint probability at time k is: 11 ()(,)( ()).(). (()) NS E kkkk epeyAseMeBse kk (12) 3.2. Output Viterbi Algorithm (SOVA) There are two modifications compared to the classical Viterbi algorithm. One is the path metric modified to account the extrinsic information. This is similar to the metric calculation in Log-MAP algorithm. The other is the algorithm modified to calculate the soft bit. For each state in the trellis the metric () S k M s is calculated for both merging paths, the path with the highest metric is selected to be the survivor, and for the state (at this stage) a pointer to the previous state along the surviving path is stored. The information to give L(uk|y) is stored, the dif- ference i s k between the discarded and surviving path. The binary vector containingδ+1 bits, indicating last δ+1 bits that generated the discarded path. After ML path is found the update sequences and metric differences are used to calculate L(uk|y). For each bit M L k u in the ML path, we try to find the path merging with ML path that had compared to the M L k u in ML different bit value uk at state k and this path should have minimal distance with ML path. We go trough δ+1 merging paths that follow C opyright © 2009 SciRes CN 22 COMPARISON AND DESIGN OF DECODER IN B3G MOBILE COMMUNICATION SYSTEM Copyright © 2009 SciRes CN stage k i.e. the i s k i = k,…, (k +δ), for each merging path in that set we calculate back to find out which value of the bit uk generated this path. If the bit uk in this path is not M L k u and i s k is less than current , we set =. min k min k i s k ... (|y)min i ML i kk S kk i ik k uu u Lu ( 13) 4. Comparison of the Decoding Algorithms SOVA the ML path is found. The recursion used is iden- tical to the one used for calculating of α in Log-MAP algorithm. Along the ML path hard decision on the bit uk is made. L(uk|y) is the minimum metric difference be- tween the ML path and the path that merges with ML path and is generated with different bit value uk. In L(uk|y) calculations accordingly to Log-MAP one path is ML path and other is the most likely path that gives the dif- ferent uk. In SOVA the difference is calculated between the ML and the most likely path that merges with ML path and gives different uk. This path but the other may not be the most likely one for giving different uk. Com- pared to Log-MAP output (SOVA does not have bias), the output of SOVA is just much noisier. The SOVA and Log-MAP have the same output. The magnitude of the soft decisions of SOVA will either be identical of higher than those of Log-MAP. If the most likely path that gives the different hard decision for u k, has survived and merges with ML path the two algorithms are identical. If that path does not survive the path on what different uk is made is less likely than the path which should have been used. The forward recursion in Log-MAP and SOVA is identical but the trace-back depth in SOVA is either less than or equal to the backward recursion depth. Log-MAP is the slowest of the three algorithms, but has the best performance among these three algorithms. In our TD-CDMA simulation, we implemented the Log-MAP and SOVA decoder to get best performance (with Log- MAP) or fastest speed (with SOVA). Figure 3 gives the performance comparison between Log-MAP and SOVA and it shows that Log-MAP is 1.2dB better than SOVA at the BER of 10-2, with the code block size of 260 bits and 7 iterations. The code block size or interleaver size is also affect the decoding performance, the BER performance com- parison of various code block size is shown in Figure 4. The longer is the code block, the better is the perform- ance, but the big code block size makes more computing time, and the computing complexity increases by expo- nential. Table 1. Comparison of complexity of different decoding algorithms Operations MAP Log-MAP SOVA additions 4×2M+6 12×2M+6 4×2M+9 max-ops 4×2M-2 2×2M-1 multiplications 10×2M+8 8 4 look-ups 4(exp) 4×2M-2 Figure 3. BER performance of Log-MAP algorithm VS SOVA algorithm Log-MAP SOVA BER Eb/N0 1.5 1 0.5 10-4 0 10-3 10-2 10-1 100 COMPARISON AND DESIGN OF DECODER IN B3G MOBILE COMMUNICATION SYSTEM 23 10-1 260 bits 600 bits 1296 bits 10-2 10-3 BER 10-4 10-5 10-6 10-7 0 1.5 1 0.5 Eb/No Figure 4. Measured BER performance of the Log-MAP algorithm for various block sizes 100 10-1 10-2 BER 1 iter(260bits) 2 iters(260bits) 3 iters(260bits) 5 iters(260bits) 7 iters(260bits) 10-3 10-4 9 iters(260bits) 15 iters ( 260bits ) 10-5 1.4 1.2 11.6 0.4 0.6 0.2 0 0.8 Eb/N0 Figure 5. Measured BER performance of Log-MAP algorithm with increasing iteration count Turbo decoder is the iterative decoder, and decoding performance is also impacted by the number of iteration. Figure 5 shows that the BER performance improves as the number of turbo iteration increased. However, the required computation also increases. It is shown that no significant performance improvement is observed after the sixth iteration. 5. Conclusions We illustrate the turbo decoder principle, and the deriva- tion of Log-MAP, and SOVA algorithms. Log-MAP al- gorithm is shown to achieve the best performance with good complexity tradeoff. SOVA algorithm has less computation complexity with about 1.2dB performance C opyright © 2009 SciRes CN 24 COMPARISON AND DESIGN OF DECODER IN B3G MOBILE COMMUNICATION SYSTEM degradation compared with Log-MAP at the BER of 10-2. We also demonstrate that the performance of turbo code is directly proportional to the interleaver size and number of iteration in the turbo decoder. Finally, it is also shown that the performance is affected by the scale of the input soft bits power but the effect is negligible when the scal- ing factor is larger than 0.8. 6. Acknowledgments The author would like to thank Dr. Li Lu to help to de- sign simulation platform, and Prof. Gu Xuemai for his revision of the text, and the editor and the anonymous reviewers for their contributions that enriched the final paper. REFERENCES [1] PIETROBON S S. Implementation and performance of a turbo/ MAP decoder. Int. J. Satellite Communication, 1998, 16: 23-46. [2] KAZA J, CHAKRABARTI C. Design and implementation of low-energy turbo decoders. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2004, 12(9): 968-977. [3] HAGH M, SALEHI M, ET AL. Implementation issues in turbo decoding for 3GPP FDD receiver. Wireless Personal Communi- cations, 2006, 39(2): 165-182. [4] LEE D-S, PARK I.-C. Low-power log-MAP decoding based on reduced metric memory access. IEEE Transactions on Circuits and Systems, 2006, 53(6): 1244-1253. [5] BOUTILLON E, GROSS W J, GULAK P G. VLSI architectures for the MAP algorithm. IEEE Transactions on Communications, 2003, 51(2): 175-185. [6] ANANTHARAM V E Y. Iterative decoder architectures. IEEE Communications Magazine, 2003, 41(8): 132-140. [7] KWON T-W, CHOI J-R. Implementation of a two-step SOVA decoder with a fixed scaling factor. IEICE Transactions on Communications, E86-B(6): Jun. 2003, 1893-1900. [8] CHEN Y, PARHI K K. On the performance and imple- mentation issues of interleaved single parity check turbo product codes. Journal of VLSI Signal Processing Systems for Signal, Image, and Video Technology, 2005, 39(1): 35-47. Copyright © 2009 SciRes CN |