430 likes | 616 Views
H. K. L. E. Society ’ s K. L. E. Institute of Technology, Hubli-30 Department of Electronics & Communication Engineering. TURBO CODE FOR 4G WIRELESS CHANNEL 8 th Semester Project - 06EC85 Batch 2. Tejaswini L Itagi Swetha Patil Smitha M Shraddha Upadhyay
E N D
H K. L. E. Society’s K. L. E. Institute of Technology, Hubli-30 Department of Electronics & Communication Engineering. TURBO CODE FOR 4G WIRELESS CHANNEL 8th Semester Project - 06EC85 Batch 2 • Tejaswini L Itagi • SwethaPatil • Smitha M • ShraddhaUpadhyay • Guide: Prof. Manu T. M (H.O.D., E&C)
Introduction • Error Correcting Codes • Turbo Encoder • Turbo Decoder • Results • Conclusions • Scope for future work • References Contents
Introduction • Recent Trends • Multiple-Input Multiple-Output (MIMO) Communications • Cooperative Diversity • Multicarrier CDMA • Cognitive Radio/Software defined Radio
Towards 4G • During the recent years, in parallel with the evolution in cellular mobile communications, a rapid development has been observed in wireless local area networks (WLANs). • WLAN connects various mobile devices (e.g., laptops) within a building or a campus area without using cables. A typical WLAN consists of cabled backbone network with wireless access points connecting the wireless devices to the wired network. • In the recent years, a rapid growth has been noticed in the demand for high data rate services (new services and applications and new multimedia services such as games).
This implies that existing 2.5G or evolving 3G wireless systems will be unable to comply with this emerging demand for broadband wireless services. • The standardization process of the next generation wireless communication systems (namely, fourth generation (4G) or beyond 3G (B3G) systems) has already commenced. • The key feature of 4G (or B3G) systems over existing 2.5 systems and evolving 3G systems is the feasibility of much higher data rate services (up to 100 Mbit/s in outdoor communication environments and up to 1 Gbit/s in indoor communication environments). • The use of multiple transmit and receive antennas to achieve high spectral efficiency will probably be a feature of future wireless systems.
Receiver Transmitter Combiner Receiver Transmitter Receiver Combiner Transmitter • Space Diversity Spatial separation between antennas, so that the diversity branches experience uncorrelated fading. More hardware/ antennas. MIMO COMMUNICATIONS • Receiver Diversity (SIMO) • Antenna separation λ/2 • Transmit Diversity (MISO) • Antenna separation 10λ • The total transmitted power is • split among the antennas • Open loop/ close loop (for 3G)
A new method called co-operative communications has been proposed, in which diversity gains are achieved by the co-operation of mobile users. Each user is responsible for not only transmitting their own data, but also act as a co-operative agent (transmit data for other users). It has been shown, that by using co-operative communications, achievable rate region improves significantly for the same transmit power. Hence, spectral efficiency can be improved significantly. Co-operative Diversity
Multicarrier CDMA is a combination of direct sequence-CDMA and OFDM techniques. The main benefit of combining CDMA with OFDM is that the possibility of losing subcarriers due to severe frequency domain fades is avoided. Multicarrier CDMA Cognitive Radio/Software defined Radio It has been proposed as the means to improve spectrum efficiency by exploiting the unused spectrum in dynamically changing environments. It utilizes the large amount of unused spectrum in an opportunistic and coordinated basis, without causing harm to the existing services. It is built on software defined radio, which allows cognitive radio to dynamically adjust its transmitter parameters based on interaction with the environment in which it operates.
Block diagram of communication system • Representation - binary bits. • Modulation to analog signal waveform. • Noise and interference introduced. • At receiver estimate of original signal.
CHANNEL CODING • Its is mostly accomplished by selectively introducing redundant bits into the transmitted information stream. • The additional bits will allow detection and correction of bit errors in the received data stream and provide more reliable information transmission. The cost of using channel coding to protect the information is a reduction in data rate or an expansion in bandwidth. • There are two main types of channel codes, namely block codes and convolutional codes.
Channel parameters • Shannon Hartley law • Shannon’s Limit
BLOCK AND CONVOLUTIONAL CODES • Block code partitioning the data stream into fixed-size messages for encoding. The code rate, R, for an (n, k) block code is then given by R = k/n • Like block codes, convolutional codes are characterized by encoders that output n bits of encoded data for every k bits of message data they receive, for a code rate R=k/n. However, unlike block codes, there is no need for the data to be partitioned into fixed size messages in convolutional codes; the data streams can be encoded in a semi-infinite stream.
CONVOLUTIONAL TURBO CODES AND BLOCK TURBO CODES • The convolutional turbo encoder consists of a parallel concatenation of RSC encoders separated by a pseudo-random interleaver. The stream of input bits is fed to the encoder without any modifications and is randomly interleaved for the second decoder. • Block turbo codes or turbo product codes is a serial concatenation of Block codes such as Hamming or BCH codes and is decoded iteratively by simple component decoders
BENEFITS OF CONVOLUTIONAL TURBO CODES OVER BLOCK TURBO CODES • Simple implementation. • Compatibility with 802.11 rates. • Reduced memory. • Greater use, more technical literature and more sources for IP
APPLICATIONS • Mobile radio • Digital video • Long-haul terrestrial wireless • Satellite communications and Deep space communication • Military applications • Image processing • WLAN (Wireless LAN) • Oceanographic Data-Link
Convolutional Encoder • Convolutional Encoder k input bits n output bits Table 3.1: Next state table
CONCATENATION OF CODES • Parallel-Concatenated Convolutional Codes (PCCC) • Serial Concatenated Convolutional Codes (SCCC)
TURBO ENCODER • It is an error correcting convolutional code, that consists of 2 identical ½ RSC encoders in parallel and an interleaver.
The input data in a RSC is transmitted to the upper encoder in normal order while it is interleaved before being fed to the lower encoder. • The output of the encoder consists of the systematic information and the parity information from the upper RSC encoder (Parity1 Data) and the parity information from the lower RSC encoder (Parity2 Data). • The overall code rate of the parallel concatenated code is R = 1/3. • The interleaver is a memory matrix depending on the size of the input word size.
Recursive Systematic Convolutional (RSC) Encoder • The recursive systematic convolutional (RSC) encoder is obtained from the nonrecursive nonsystematic convolutional encoder by feeding back one of its encoded outputs to its input.
The recursive systematic convolutional (RSC) encoder is obtained from the nonrecursive nonsystematic convolutional encoder by feeding back one of its encoded outputs to its input. • The RSC encoder consists of shift registers and modulo two adders and a switch.
Trellis Termination • After the input bits have been encoded, the trellis is forced into the all-zeros state by the proper selection of tail bits. This is called trellis termination. • Trellis termination is performed by obtaining the tail bits from the shift register feedback. • The tail bits of a RSC encoder depend on the state of the encoder.
RSC encoder with one and two memory blocks • Encoder with one memory block. • Encoder with two memory blocks
INTERLEAVERS • Interleaving is a process of rearranging the ordering of a data sequence in a one to one deterministic format. Types of interleavers: • Block Interleaver. • Random (Pseudo-Random) Interleaver. • Diagonal Interleaver. • Circular-Shifting interleaver Size and type of the interleaver has a role on the performance of the turbo code.
Block Interleaver • Random (Pseudo-Random) Interleaver
BCJR Algorithm In 1974 Bahl, Cocke, Jelinek and Raviv introduced a MAP decoder called BCJR algorithm, that can be applied to any linear code: block or convolutional. The computational complexity of the BCJR algorithm is greater than that of viterbi algorithm, and thus viterbi decoding is preferred in case of equally likely information bits. When information bits are not equally likely, however better performance is achieved with MAP decoding. Also when iterative decoding is employed and the priori probabilities of the information bits change from iteration to iteration, a MAP decoder gives the best performance. Parameters: • Branch metric Computation • Backward recursion • Forward recursion • Log likelihood computation • Extrinsic computation
TURBO DECODER • BCJR Algorithm • The algorithm calculates the a posteriori L values called the APP L values, of each information bit. • The APP values are • Equation 2 is rewritten by considering a, b and g as • Finally by using the above equations we calculate APP L-values as a function of Max* as
LOG-MAP Algorithm • Initialize forward and backward recursions a0*(s) and bN*(s). • Compute branch metrics {gl*(s’, s)}. • Carry out forward recursion {al+1*(s)} based on {al*(s)}. • Carry out backward recursion {bl-1*(s)} based on {bl*(s)}. • Compute APP L-values. • Compute the hard decision values. • The max* operation is simplified by using max-log-map algorithm • which just finds the • maximum of two values. Thus • Max*(x, y) = ln (ex + ey) ~ max(x, y)
Turbo Decoder • serial concatenation scheme. • A Posteriori Probabilities(APPs) to the second decoder. • Figure 4.1 Block diagram of turbo decoder • This is referred to as iterative decoding which is performed here using BCJR algorithm.
Parameters required in iterative decoding • Branch metric computation - g unit • Forward metric computation – a unit • Backward metric unit - b Unit • Log likelihood ratio llrunit • Extrinsic unit
Trellis for 4 state turbo encoder S0 S1 S2 S3 t0 t1 t2 t3 t4 t5 Time instant Input ‘0’ Input ‘1’
Parameters • Branch Metric Computation. • The branch metrics is computed based on the knowledge of input and output associated with the branch during the transition from one state to another. • gl(s’,s) = {ul* (La(ul))/2} + {(Lc/2) * (ul*rul+ pl * rpl) } • = {(ul/2) *[ La(ul)+ Lcrul]} + {(pl/2)*Lcrpl}
Forward Recursion. It represents the probability of a state at time k, given the probabilities of states at previous time instance. al+1(s) = max [gl(s’, s) +al (s’)] l= 0, 1,……h-1 Initialize forward metrics
Backward Recursion. • It is computed in the backward direction, going from the end to the beginning of the trellis at time instance k-1, given the probabilities at time instance k. • bl(s’) = max [gl(s’ ,s) + bl+1 (s)]l= h-1,h-2,…..0 Initialize backward metrics
Log likelihood computation. Log likelihood ratio llris the output of the turbo decoder. This output llrfor each symbol at time k is calculated as • Extrinsic Computation. • Extrinsic information computation uses the llroutputs, the systematic bits and the a-priori information to compute the extrinsic value. This is the value that is fed back to the other decoder as the apriori information.
Procedure to obtain the results • Procedure for result 5.1, Example16.14 of D J Costelo • Soft Systematic data input are collected. • Soft Systematic first parity input(row bits) are collected. • Soft Systematic second parity input(column bits)are collected • Le10=0; Le11=0; Le12=0; Le13=0; Soft decoder output after first decoder are initialized to zero. • Le20=0; Le21=0; Le22=0; Le23=0; Soft decoder output after second iteration are initialized to zero. • Temporary variables for finding maximum values are initialized. • Compute the alpha values as follows • Procedure for result 5.2 to 5…..
5.1 (a)Example 16.14 of DJ Costelo Received values are: u0=0.8; u1=1; u2=-1.8; u3=1.6; p10=0.1; p11=-0.5; p12=1.1; p13=-1.6; p20=1.2; p21=1.2; p22=0.2;p23=-1.1; Decoding using BCJR algorithm is performed and the values at intermediate stages and the final recovered data are shown below. Results after row decoding -0.9000 -0.9000 1.4000 -0.3000 Results after column decoding -0.8000 -0.8000 1.1000 0.1000 Results after iteration 1 -0.9000 -0.7000 0.7000 1.4000
Results after row decoding • -0.1000 • -0.1000 • 0.6000 • 0.5000 • Results after column decoding • -0.9000 • -0.7000 • 0.3000 • -0.5000 • Results after iteration 2 • -0.2000 • 0.2000 • -0.9000 • 1.6000 • Input • 0 1 0 1 • Output • 0 1 0 1 • bits in error • 0
RESULTS & DISCUSSION • Problem 16.19 of DJ Costelo • Hard Decoding of Two state • Hard Decoding of Two states • Soft Decoding of Two State • Hard Decoding of Four State • Soft Decoding of Four state
Rayleigh and Rician fading channels are useful models of real world phenomena in wireless communication. These phenomena include multipath scattering effects, time dispersion, and doppler shifts that arise from relative motion between the transmitter and receiver.
REFERENCES [1]Shivani Verma and Kumar S (2011) “An FPGA realization of simplified turbo decoder”. [2]Benedetto S, Montorsi G (1996) “Unveiling Turbo Codes: Some results on parrallel concatenated coding schemes”. [3]Yuanfei N, Jianhua G, Yong W (2009) “Iterative\I SNR Estimation using a priori information”. [4]Berrou, Alain Glavieux, and Thitimajashima (1993) “Near Shannon Limit Error-Correcting coding and Decoding: Turbo Codes”.