Advances in Electrical Engineering Systems (AEES) Vol. 1, No. 3, 2012, ISSN 2167-633X Copyright © World Science Publisher, United States www.worldsciencepublisher.org 129 Effect of Wireless Channel Parameters on Performance of Turbo Codes 1 Nabeel Arshad, Muhammad Ali Jamal, Dur E Tabish, Saqib Saleem Department of Electrical Engineering, Institute of Space Technology, Islamabad, Pakistan Email: 1nabeel.cse07@gmail.com Abstract -- For large block lengths, turbo codes offer reticent decoding complexity as compared with the other codes. In this paper, performance of turbo codes is evaluated. Two algorithms which have been used are RSC encoder for encoding and Viterbi Algorithm for decoding. Simulations are conducted on MATLAB using BPSK and QPSK modulation schemes. Our main objective is to compare the performance of turbo codes using soft decision and hard decision decoding and also for different code rates in terms of BER. Similarly, it is also shown that with the help of turbo codes, the performance for multipath fading channel can be improved. To check the performance and complexity, channel impulse Response (CIR) and channel taps are used. Keywords -- Recursive Systematic Convolutional Viterbi Algorithm; Soft decision; Hard Decision; Channel Impulse Response; Channel Taps. 1. Introduction Channel coding refers to the class of signal communication designed to improve communication performance by enabling the transmitted signal to better withstand the effect of various channel impairments such as noise, interference & fading. This performance is bounded by the Shannon limit. Turbo codes were the first practical codes to closely approach the channel capacity. Application which integrates the turbo codes into the standard are mobile communication, wireless network, and local radio loops, deep space communication, data storage, cable transmission. Turbo codes are a class of high-performance forward error correction (FEC) codes developed in 1993 by Berrou, Glavieux, and Thitimajshima. Prior to turbo codes the best construction was convolution codes. Convolution codes differ from block in the sense that, they do not break the message stream into fixed-size blocks. Instead, redundancy is added continuously to the whole stream. In convolution codes an m-bit information symbol to be encoded is transferred into an n-bit symbol. The n code digits generated by the encoder depend on the block of ‘m’ message digits and also on the block of data digits within previous span of N-1 units. Turbo codes consist of parallel concatenation of two convolution codes with a random interleaver between the encoders. It uses recursive codes & iterative soft decoder. Recursive coder makes convolution codes with short constraint length appear to be block codes with a large block length, and the iterative soft decoder progressively improves the estimate of the received message. In the designing of turbo code the interleaver is the essential part. The interleaver scrambles the bits in a pseudo-random order. The paper explains the configuration of both turbo encoder & decoder, and how the channel parameters affect its performance. 2. System Model 2.1 Turbo Encoder In turbo encoder, a number of RSC encoders are connected in parallel as shown in the figure 2. After passing through the interleaver, input sequence is fed towards the input of 2nd encoder. So, output from encoder 1 and encoder 2 are time displaced code words generated from the same input. The outputs , and can be multiplexed to give a code rate of 1/3. If we want to raise the code rate say ½ then puncturing can be used. 2.2 Recursive Systematic Convolutional (RSC) Encoder Turbo codes convolutional encoders are encoder and convolutional are designed by using particular types of codes. In Fig.1, two types of convolutional shown. The one on the right side is RSC one on the left side is a non-systematic (NSC) encoder [2].Each encoder has code Nabeel Arshad, et al., AEES, Vol. 1, No. 3, pp. 129-134, 2012 and outputs rate of ½, single input constraint length 3. and 130\ with 2.3 Interleaver As shown in the Fig.1 input sequence is fed to the second encoder after passing through interleaver. For turbo codes, pseudorandom interleaver is preferred. As shown in Fig.1 we will have two code words from two encoders simultaneously. For turbo codes, the free distance between these two code words has to be maximum [3]. Two consecutive code words with low weight should be avoided. To increase the distance between code words interleaver is a good choice. Figure 1. Turbo Encoder Figure 3. Functioning of Interleaver In Fig.3, it is shown that how an interleaver works. Where A is an input sequence and C1 and C2 are corresponding code words. A1 is input sequence after passing through the interleaver. In turbo codes, mostly pseudorandom interleaver is preferred. Table 1. Input and Output Sequences Input Output 1010 1001 1010 1001 Output 1100 1110 Weight of code word 4 5 Figure 2. NSC and RSC Encoders The RSC encoder differs from the convolutional encoder in that the bits which have been encoded before are fed back to the input of the encoder continuously. This type of convolutional encoder has the advantage that apparent length of the message can be increased without changing the constrain length. This type of convolutional code is systematic because input sequence also appears at the output. So, they are known as recursive systematic convolutional coders. It is an infinite impulse response filter. RSC coders provide better error performance at every value of Eb/No. There are two code generators G1= and G2= . Where =0, 1 and =0, 1. Here is calculated by the formula ́ Where, ́ = if = and ́ = 2 if = . From Table 1, it is clear that weight of the code- words increased by employing an interleaver in the system. In this way performance of turbo codes improves significantly. 2.4 Decoding Block 2.4.1 Viterbi Algorithm Shortest path through trellis linked with code is determined by the Viterbi algorithm. This algorithm is applied in many communications problems like in the presence of intersymbol interference maximum likelihood sequence estimation [4]. Encoded bits , , … . . ! are applied at decoders input. Decoder then finds out a guess of the transmitted data " , " , … . . . ! and from thata guess of the input sequence. In this algorithm, an encoded bit stream , , … . !matches to a path through encoder trellis. But because of the Nabeel Arshad, et al., AEES, Vol. 1, No. 3, pp. 129-134, 2012 131\ presence of the noise in channel, there will be some errors in received sequence and its path will differ through trellis. The job of the decoder is to find the path most closely to the received sequence. Here the term “closest” is found out by the likelihood function suitable for channel. For an AWGN channel, the maximum likelihood path is the path through the trellis closest in Euclidean distance to received sequence. While in the presence of a BSC, the maximum likelihood path is the path through the trellis closest in Hamming distance to received sequence. The likelihood function which is to be maximized is # $| , where ‘v’ is the received sequence and ‘u’ is the input sequence. F $| # $& ' | & ' #($&, $ , $ , … … , $' ) & , , ∏', - # $, | , ,……, ' * Since the channel is memoryless and it is assumed to get the last quantity. It is better to use log likelihood functions ' log # $| , - log # $, | , Now consider a sequence , ,……, , ! &, leaving the encoder. This sequence will define the path for code through trellis and we denote it as∏, or ∏, & , and for this sequence loglikelihood function is given by log # $& , | - , , - log # $ | 1, 6 3 - , - log # $ | 2 3 # $, | 3 # $, | , - *And1, 9 ,: log # $ | 1, 2 3 22 , ($, , 9 ,: * Now the basic principle of this algorithm is that “to select the shortest path through trellis”. So, whenever there are two paths, we will select the one having shortest path metric and other one will be eliminated. That is 1, 6 AB C1, 21 , ($, , 9 ,: , ($, , 9 ,: *D *, 1, 22 Path with the minimal path length becomes the path to next state say q, this path is called the survivor path. At time 4 E F, we are not sure about the final path that passes through the trellis. So this algorithm does the followings At time t, a path metric for each state. At time t, a path to each state. Suppose our input symbol consists of G sub carriers and having symbol duration T. The spacing between these sub H carriers will be and denotes the sampling period. If the H I data on the ,J sub carrier is K ,L in the A ,J symbol.Then signal that will be transmitted is given I ∞ $ 4 Where M ,L L - OPQR D(, HT S NC K ,L M ,L 4 HU * = V 4 3 AWX 3 V 4 3 A , Suppose , $, , , # $, | , indicates the negative log likelihood for this particular input. We can equally use , $, , , 783 #($, ) 9,: * 3 "; for any a>0. The term , $, , , is called the branch metric.Since the input has moved from state P to state q so we wrote the expression , $, , , like ,(<= )> ?,@ * . So , ($, , log 1, 1, 6 21 ∞ 3 , 1, 3. Channel Model Suppose 1, 2 3 $& , | & , indicates the path metric through trellis prescribed by the sequence & , and 2 denotes the terminating state. Negative sign indicates that we want to minimize the path metric. Now suppose the sequence & , , … … , , ! is &, obtained by affixing the input & , to & , and also assume that state at time 4 1 is 6. The path metric for this one is given by , So, the path metric at time t is calculated by adding the path metric at time 4 3 1 to the branch metric at time4. But we can encounter a situation in Viterbi algorithm when two paths merge. What we will do then?? Suppose 1, 21 is the path metric of a path for state at time t and similarly1, 22 is the path metric at state 2 at time 4 and both of them are terminating to state 6 at time4 1. The equivalent path metrics to state q are #($, ) 9,: * 1 WX In above equations, WY denotes the guard time interval in order to avoid interference and total Symbol duration is given byWX WY W. In our case, signal has been passed through multipath channel represented by Z 4, [ =∑', - ] ^ 43[ In above expression,] represents time varying gain which have complex Rayleigh distribution. For the A ,J multipath, Nabeel Arshad, et al., AEES, Vol. 1, No. 3, pp. 129-134, 2012 time delay is represented by [ and total number of multipath is denoted by F. Once the signal has been passed through the fast fading multipath channel, received signal will be ' _ 4 , - ] ^ 43[ B 4 if we consider the frequency domain then received signal on the `,J sub carrier of the ,J symbol is given by aX,b KX,b . cX,b 1X,b 132\ 3.1.3 Modified LMMSE channel Estimation When the size of input data X is very large, then complexity of LMMSE increases with the calculation of S matrix. Suppose we have L taps and we consider the taps having significant energy. Then gJJ becomes an L x L matrix resulting in modified LMMSE given below [6] ZfLLmn WoWj kj _ In above expression T denotes the matrix having first L columns of DFT matrix F and o is given by In above expression, c denotes the channel frequency response. c is the DFT of the channel impulse response Z 4, [ . Where gJJ̀ is the left upper F y F matrix ofgJJ . 3.1 Channel Estimation Algorithms 3.1.4 Robust LMMSE Channel Estimation 3.1.1 LMMSE Channel Estimation Due to time varying surrounding conditions, the behavior of the channel also get affected. Channel’s PDP in such conditions is difficult to find out. If it is supposed that all PDP’s have same delay, then a channels co variance matrix with identical PDP’s give improved performance. Suppose we have an AWGN channel having variance de , we passed our signal through this channel. Then estimation vector Z for LMMSE is Zf gJh ghh _ where gJh gJJ ij k j and ghh kigJJ i j k j de lI In above expressions gJh = cross co variance vector between Z and _ and ghh is the auto covariance vector of_. To achieve minimum MSE these co-variances should be positive. In frequency domain, channel estimate is obtained by taking the DFT of Zfgiven by ZfLLmn iZf ioi j k j _ Here F represents the orthonormal DFT matrix and S is given by o gJJ i k ki j j de gJJ i k ki j j 3.1.2 Low Complex LMMSE Channel In LMMSE channel estimation, we require inversion of a large matrix. When input data say X changes and inversion of matrix is required recursively, the complexity of LMMSE increases. If the same modulation is considered for each symbol, then input data’s average is given by K kk j =K p p qr And estimation of low complex LMMSE is given by [2] ZfLLmn = gJJ gJJ s tuv l k _ Where w depends upon modulation technique, that is being used for symbol. o=gJJ kj Wj kW de gJJ́ k j W j kW 3.1.5 LSE channel Estimation In conditions like real time, it is not possible to get prior information about channel and amount of noise embedded by it. To cope up with this situation, we design a filter which is function of input data only. No assumptions are required for this channel. LSE estimation of channel vector h is given by Zz{m Where io{m i j k j _ o{m i j k j ki We can represent Zz{m by Zz{m k _ 3.1.6 Modified LSE Channel Estimation As far as complexity is concerned, we can say that LSE is less complex. But with the addition of channel taps with high energy, we can improve the performance. So the modified LSE estimator is denoted by Zz{m Wo{m Wj| kj _ Where o|{m W j k j kW 3.1.7 Regularized channel Estimation Nabeel Arshad, et al., AEES, Vol. 1, No. 3, pp. 129-134, 2012 By the use of Eigen values, the inversion of matrix can be simplified. To do so, we add a constant term to its diagonal elements. Now the matrix o{m can be written as o}nY,{m ]l 133\ 10 10 i j k j ik 10 BER Value of ] is selected in such a way that the matrix o}nY,{m can be made least perturbed. 10 4. Simulations 10 This section contains the MATLAB simulation results. The performance of the prescribed coding scheme is evaluated in terms of BER/ bits in error. The modulation schemes used in these simulations are PSK and QPSK. The BER plots for soft vs hard decision decoding, different coding rates are discussed. The comparison of coded and un-coded data over Rayleigh fading channel, for different channel lengths and channel taps in relation to performance and computational time is evaluated. In Fig.4, performance of turbo codes is shown for soft decision decoding and hard decision decoding. It is quite apparent from the graph that soft decision decoding provides better error performance as compared with the hard decision decoding. For example for BER of 10 • hard decision decoding € provides • of 8.7 dB while for same BER soft decision u‚ decoding provides €• u‚ of 6.8 dB. So soft decision decoding 10 10 BER vs. Eb/No with code rate 1/3 and 2/3 -2 -4 -6 -8 -10 -12 -14 0 1 2 3 4 5 10 10 BER 10 10 10 10 10 10 9 10 11 u‚ for un-coded data it is >10 . Turbo Codes Vs Uncoded Data Un-Coded Data Turbo Codes Soft Vs. Hard Decison -2 -3 -4 2 -5 BER 10 8 In Fig.6, comparison is made between un-coded data and data which we had passed through turbo encoder and decoder using Rayleigh multipath fading channel. It is clear in the graph that data which has not been coded suffers more errors while the one which has been passed through turbo encoder and decoder experiences less errors. € For • of 9.5 dB turbo codes provide BER near 10- while 10 10 7 Figure 5. Comparison between different Code Rates is providing coding gain of 1.9 dB. 10 6 Eb/No (dB) -6 -7 -8 10 1 -9 -10 -11 0 1 2 3 4 5 SNR(dB) 6 7 8 9 10 -12 0 1 2 3 4 5 6 7 8 9 10 11 Eb/No (dB) Figure 4. Soft Vs. Hard decision Decoding In Fig.5, the performance of turbo codes for code rate 1/3 and 2/3 are shown. It is clear from Fig.5, that performance of turbo codes degrades as we increase the code rate. It is clear that by increasing the rate, SNR is increasing with reduction in BER. Figure 6. Un-coded data Vs coded data over Rayleigh fading channel Fig.7 shows the response of turbo codes for different numbers of channel taps. It is clear from the Fig.7, that by increasing the channel taps, performance of the system degrades. That is BER will increase with increase in number of multipath channel taps. But complexity of the system also increases. 5. Conclusion Nabeel Arshad, et al., AEES, Vol. 1, No. 3, pp. 129-134, 2012 134\ In this paper, performance of turbo codes is evaluated by varying the code rate, using different types of decoding i.e., soft Vs. Hard decision. It has been deduced, that soft decision decoding provides better performance as compared with hard decision decoding. And increasing the code rate will degrade the performance. Secondly performance is also evaluated by varying different parameters of Rayleigh channel like channel taps and channel length. It has also been deduced that by increasing the channel taps the error performance reduces. Turbo codes show remarkable power efficiency in AWGN & flat fading channel for moderately lower BER .But the long latency & poor performance & lower BER leaves room for more improvement in the field of turbo coding. Since turbo codes operate at very low SNR so channel estimation & tracking is a critical issue. Fig.8 shows that by increasing the channel length the performance of turbo codes gets better. Response of Turbo Coddes for Varying Length of Channel 64 samples 30 samples 2.71 10 2.69 10 2.68 10 0 12 channel taps 9 channel taps 2.71 10 1. 2.7 2.69 10 2. 2.68 10 BER 3. 2.67 10 4. 2.66 10 5. 2.65 10 6. 2.64 10 2 3 4 5 SNR(dB) 6 2 3 4 5 SNR(dB) 6 7 8 9 10 References 10 1 1 Figure 8: Performance of Turbo Codes for varying length of Channel BER Vs SNR for diffrenet Number of Channel Taps 2.72 10 0 2.7 BER 10 7 8 9 10 7. Figure 7. Performance of the Turbo Codes with different Channel Taps 8. 9. R.S Bansode, M. Mangrulkar, “ Performance comparison of BER for different Code Rates in Wireless Data Transmission”, International Conference and Workshop on Emerging Trends in Technology (ICWET-2011). Bernard Sklar, “Digital Communications Fundamentals and Applications”. Shuai Shi, “Development of System for Teaching Turbo CodeForward Error Correction Techniques”, June 2007 Todd K. Moon, “Error Correction Coding Mathematical Methods and Algorithms”. Claude Berrou, Alan Gravieux, “Near Optimum Error Correcting Coding and Decoding”, IEEE Transactions on Communications, Vol. 44 No.10, October 1996 Saqib Saleem, Qamar-ul-Islam, “Performance and Complexity Comparison of Channel Estimation Algorithms for OFDM systems”, International Journal of Electric & Computer Sciences IJECS-IJENS Vol. 11 No: 02 Xiao-Jun Yang, “Generalized Local Fractional Taylor’s Formula with Local Fractional Derivative”, Journal of Expert Systems (JES), Vol.1, No.1,pp-26-30, 2012 Xiao-Jun Yang, “The Discrete Yang-Fourier Transforms in Fractal Space”, Advances in Electrical Engineering Systems, Vol.1, No.2, June 2012 S.Hassan, A.Raza, H.Qayyum, S.Saleem, T.Mehmood, “2.4 GHz Transceiver Design using ADS”, Journal of Expert Systems (JES), Vol.1, No.2, pp-37-43, 2012