INTERLEAVERS FOR PUNCTURED TURBO CODES. Institute for Telecommunications Research. University of South Australia. SPRI Building, Warrendi Road

Similar documents
Super Codes: A Flexible Multi Rate Coding System

BER AND FER PERFORMANCE WITH LARGE BLOCK SIZE OF TURBO CODING IN DIFFERENT INTERLEAVER PARAMETER

Non-Binary Turbo Codes Interleavers

TURBO codes, [1], [2], have attracted much interest due

Comparison of Decoding Algorithms for Concatenated Turbo Codes

Weight distribution of turbo codes with convolutional interleavers

VHDL Implementation of different Turbo Encoder using Log-MAP Decoder

A Modified Medium Access Control Algorithm for Systems with Iterative Decoding

THERE has been great interest in recent years in coding

Semi-Random Interleaver Design Criteria

Optimal M-BCJR Turbo Decoding: The Z-MAP Algorithm

/$ IEEE

On the performance of turbo codes with convolutional interleavers

Implementation of a Turbo Encoder and Turbo Decoder on DSP Processor-TMS320C6713

A Review on Analysis on Codes using Different Algorithms

Analysis of Circular Buffer Rate Matching for LTE Turbo Code

A Method for Determining the Distance Profile of Turbo Codes

6.962 Graduate Seminar in Communications Turbo-Like Codes: Structure, Design Criteria, and Variations

< Irregular Repeat-Accumulate LDPC Code Proposal Technology Overview

Design of Convolutional Codes for varying Constraint Lengths

EFFICIENT RECURSIVE IMPLEMENTATION OF A QUADRATIC PERMUTATION POLYNOMIAL INTERLEAVER FOR LONG TERM EVOLUTION SYSTEMS

A Hybrid ARQ Scheme for Resilient Packet Header Compression

Method for hardware implementation of a convolutional turbo code interleaver and a sub-block interleaver

A Route Selection Scheme for Multi-Route Coding in Multihop Cellular Networks

ISSCC 2003 / SESSION 8 / COMMUNICATIONS SIGNAL PROCESSING / PAPER 8.7

Multimedia Data Transmission over Mobile Internet using Packet-Loss Punctured (PaLoP) Codes

THE turbo code is one of the most attractive forward error

Capacity-approaching Codes for Solid State Storages

Low Complexity Architecture for Max* Operator of Log-MAP Turbo Decoder

Interleavers for Turbo Codes

Quasi-Cyclic Low-Density Parity-Check (QC-LDPC) Codes for Deep Space and High Data Rate Applications

TECHNICAL RESEARCH REPORT

OPTIMIZED MAP TURBO DECODER

Hybrid ARQ schemes for future wireless systems based on MC-CDMA

Bit vs. Symbol Interleaving for Parallel Concatenated Trellis Coded Modulation

EXIT Charts. JASS05 Course 4: The Turbo Principle in Communications Prof. Dr.-Ing. Joachim Hagenauer

CSC 310, Fall 2011 Solutions to Theory Assignment #1

TSG-RAN Working Group 2 (Radio layer 2 and Radio layer 3) TSGR2#2(99)085 Stockholm 8th to 11th March 1999

PROPOSED DETERMINISTIC INTERLEAVERS FOR CCSDS TURBO CODE STANDARD

Contents. List of Figures. List of Tables. Chapter 1 Introduction and Overview

PCE03D DVB RCS/ WiMAX Turbo Encoder. Small World Communications. PCE03D Features. Introduction. Signal Descriptions

Error Control Coding for MLC Flash Memories

Hard Decision Based Low SNR Early Termination for LTE Turbo Decoding

Memory-Reduced Turbo Decoding Architecture Using NII Metric Compression

Cooperative Communications

Quantized Iterative Message Passing Decoders with Low Error Floor for LDPC Codes

Discontinued IP. 3GPP2 Turbo Decoder v1.0. Features. Applications. General Description

Overlapped Scheduling for Folded LDPC Decoding Based on Matrix Permutation

Parallel and Serial Concatenated Single Parity Check Product Codes

Combined Copyright Protection and Error Detection Scheme for H.264/AVC

Project 1. Implementation. Massachusetts Institute of Technology : Error Correcting Codes Laboratory March 4, 2004 Professor Daniel A.

The performance of xed block size fractal coding schemes for this model were investigated by calculating the distortion for each member of an ensemble

EFFICIENT PARALLEL MEMORY ORGANIZATION FOR TURBO DECODERS

FUZZY LOGIC BASED CONVOLUTIONAL DECODER FOR USE IN MOBILE TELEPHONE SYSTEMS

BER Guaranteed Optimization and Implementation of Parallel Turbo Decoding on GPU

On combining chase-2 and sum-product algorithms for LDPC codes

Compression of a Binary Source with Side Information Using Parallelly Concatenated Convolutional Codes

Reduced complexity Log-MAP algorithm with Jensen inequality based non-recursive max operator for turbo TCM decoding

Novel Low-Density Signature Structure for Synchronous DS-CDMA Systems

Comparison of Various Concatenated Convolutional Code Ensembles under Spatial Coupling

Evaluation of JSCC for Multi-hop Wireless Channels. Huiyu Luo and Yichen Liu EE206A Spring, 2002

Packet-Level Forward Error Correction in Video Transmission

WEINER FILTER AND SUB-BLOCK DECOMPOSITION BASED IMAGE RESTORATION FOR MEDICAL APPLICATIONS

LOW COMPLEXITY ITERATIVE DECODING OF VARIABLE-LENGTH CODES

Computation of the free distance and low weight distribution of turbo codes with convolutional interleavers

A Novel Multi-Dimensional Mapping of 8-PSK for BICM-ID

INPUT TO (TM/TC) CHANNEL CODING GREEN BOOK(s) AS DISCUSSED AT THE MEETING IN CRYSTAL CITY, VA (USA) on 12 March Frame Error Control Field

Optimization of Turbo Codes by Differential Evolution and Genetic Algorithms

LOW-DENSITY PARITY-CHECK (LDPC) codes [1] can

Comparative Performance Analysis of Block and Convolution Codes

Progressive Coding and Iterative Source-Channel Decoding in Wireless Data Gathering Networks

AN FFT PROCESSOR BASED ON 16-POINT MODULE

Scribe: Virginia Williams, Sam Kim (2016), Mary Wootters (2017) Date: May 22, 2017

A State-Reduction Viterbi Decoder for Convolutional Codes with Large Constraint Lengths

Lowering the Error Floors of Irregular High-Rate LDPC Codes by Graph Conditioning

Performance of the Sum-Product Decoding Algorithm on Factor Graphs With Short Cycles

Exploring Parallel Processing Levels for Convolutional Turbo Decoding

IEEE 802.3ap Codes Comparison for 10G Backplane System

Improved Joint Network-Channel Coding for the Multiple-Access Relay Channel

Implementation Aspects of Turbo-Decoders for Future Radio Applications

Simplified Criteria for Early Iterative Decoding Termination

Performance of Truncated Type-II Hybrid ARQ Schemes with Noisy Feedback over Block Fading Channels

TURBO CODES with performance near the Shannon

The Lekha 3GPP LTE Turbo Decoder IP Core meets 3GPP LTE specification 3GPP TS V Release 10[1].

High Speed Downlink Packet Access efficient turbo decoder architecture: 3GPP Advanced Turbo Decoder

ELG3175 Introduction to Communication Systems. Introduction to Error Control Coding

Adaptive Error Control Module. Quality-Critical Traffic. HTTP, FTP, and HARQ. Time-Critical Traffic AFEC. rt-audtio and rt-video. Data.

Complexity-Optimized Low-Density Parity-Check Codes

Programmable Turbo Decoder Supporting Multiple Third-Generation Wireless Standards

Performance Optimization of HVD: An Error Detection and Correction Code

Incremental Redundancy Deadline Dependent Coding for Efficient Wireless Real-Time Communications

is bad when combined with a LCG with a small multiplier. In section 2 this observation is examined. Section 3 gives portable implementations for LCGs

ADAPTIVE JOINT H.263-CHANNEL CODING FOR MEMORYLESS BINARY CHANNELS

SMALL DISTANCE CODES FOR HEADER ERROR DETECTION IN ATM NETWORKS

Error Floors of LDPC Codes

Convolutional Coding for Resilient Packet Header Compression

Improved Soft-Decision Decoding of RSCC Codes

Exercise 2: Hopeld Networks

BECAUSE of their superior performance capabilities on

H-ARQ Rate-Compatible Structured LDPC Codes

Transcription:

INTERLEAVERS FOR PUNCTURED TURBO CODES. Mark S. C. Ho 1, Steven S. Pietrobon 2 and Tim Giles 1 1 Mobile Communications Research Centre Institute for Telecommunications Research University of South Australia SPRI Building, Warrendi Road Mawson Lakes, SA 595, Australia E-Mail: markh@spri.levels.unisa.edu.au, tim@spri.levels.unisa.edu.au 2 Small World Communications 6 First Avenue, Payneham South SA 57, Australia E-Mail: steven@sworld.com.au Abstract Puncturing is a way of increasing the code rate by deleting one or more parity bits in a code word without an increase in complexity. Puncturing is applied to the Turbo code scheme of Berrou et al. to increase the coding rate from 1/3 to 1/2 or higher rates. Normally, puncturing causes uneven protection due to the process of random interleaving. This problem can be solved with a mod-k interleaver to ensure even protection. We nd that mod-k interleavers can improve the performance of Turbo codes with pseudo random interleavers. We also introduce a symmetric interleaver which can perform both interleaving and deinterleaving. A symmetric interleaver can usually be found that performs slightly better than non-symmetric interleavers at low error rates. 1 Introduction In a mobile communication scenario the channel condition can have rapid changes. To allow quick adaption of channel conditions, puncturing can be used to allow dierent levels of protection. Puncturing was rst applied to convolutional codes [1] as a way of increasing the code rate without increasing the complexity of the decoder. Puncturing has also been applied to Turbo codes [2], a new class of codes that can achieve near capacity performance. However, puncturing can degrade the performance of a Turbo code due to uneven protection of the parity bits caused by the random interleaver. This problem can be solved by using a mod-k interleaver which ensures uniform protection across every bit in the sequence. A normal interleaver maps I to J. A mod-k interleaver ensures that I mod k = J mod k. For Turbo codes, we can usually relax this restriction. For example, for k=3, if I mod k=, then J mod k= and if I mod k 2 f1,2g, then J mod k 2 f1,2g. A mod-2 interleaver has around.2 db improvement over a conventional S-random interleaver at a bit error rate (BER) of 1?5 for a four state rate 1/2 punctured rate 1/3 Turbo code. In this paper we also introduce an interleaver type called the symmetric interleaver. That is, if I! J, then J! I where I, J are addresses of the interleaver and! represent \map to". Thus, a symmetric interleaver has identical interleaving and deinterleaving properties, rather than the uneven properties of non-symmetric interleavers. An advantage of this type of interleaver is that it can simplify interleaver implementation since only one sequence is required to implement both the interleaver and deinterleaver. A symmetric interleaver may reduce the randomness of an interleaver. However by placing a distance constraint on the generation of the interleaver we can reduce the degradation of the interleaver. We found that a symmetric interleaver in most cases can oer better performance over conventional interleavers. This paper is separated into three sections. In Section 2 we will look at the performance of a Turbo code using a symmetric interleaver. We also briey describe an algorithm that generates a symmetric interleaver. In Section 3 we look at the performance of punctured Turbo codes with mod-k interleavers. In Section 4 we will combine the two previous concepts and investigate its performance with Turbo codes. 2 Symmetric Interleaver A disadvantage of most interleavers is that it requires both an interleave and deinterleave sequence. Since an interleave and deinterleave sequence are normally dierent, separate hardware or lookup tables are usually required for both se-

quences. We can solve this problem by using a symmetric interleaver, where the interleave and deinterleave sequences are identical. In other words a single interleaver sequence can perform both interleaving and deinterleaving. A symmetric interleaver basically swaps the positions between two elements in a sequence. Therefore, after two interleave or deinterleave operations we obtain the original sequence; as compared to most random interleavers where only an interleave follow by a deinterleave can get back to the original sequence. is, a symmetric interleaver that is good at interleaving, will also be good at deinterleaving. This eect was rst pointed out in [3] where symmetric interleavers were shown to have identical correlation coecients for the interleave and deinterleave sequences. While it is possible to generate a random interleaver which has good interleave and deinterleave properties, it is easier to generate a good symmetric interleaver since we only need to test the properties of only one sequence. Here we present a way of generating the symmetric interleaver with distance S and interleaver size N. 1. Generate an empty interleaver array of size N. Interleave Deinterleave Interleave 3 2 1 7 9 8 4 6 5 Symmetric Interleaver 2 9 6 7 3 1 8 4 5 2. Generate two random numbers that have not been previously stored in the interleaver array (the two numbers can be identical). 3. If the distance between these two numbers and the previously S generated numbers are at least S distance apart after interleaving, store them in the interleaver array. Otherwise go back to step 2. Deinterleave S-Random Interleaver Figure 1: Interleave and deinterleave pattern for Symmetric and S-Random interleaver. We can illustrate this using a simple nine element symmetric interleaver as presented in Figure 1. As we can see, a symmetric interleaver has identical interleave and deinterleave sequences (e.g., element 1 goes to 3 and 3 goes to 1 during interleave and deinterleave). A conventional pseudo random interleaver requires two sequences that are the inverse of each other (e.g., element 1 goes to 6 and 6 goes to 3 at interleave, during deinterleave 6 goes back to 1 and 3 goes back to 6). Note that for the symmetric interleaver that I! I is a valid interleave pattern for some I. Since we are swapping the positions of two elements in a sequence, we may loose some randomness that is required for Turbo codes to decorrelate information between the rst and second decoder. This may degrade the performance of Turbo codes. We can hope to reduce this degradation by putting a distance constraint during the generation of the interleaver. In fact, we may argue that a symmetric interleaver will perform better than a conventional interleaver due to the fact that both the interleaver and deinterleaver have the same properties. That 4. If there are some remaining numbers go back to step 2, otherwise goto step 5. 5. If the interleaver has been fully generated then stop, otherwise go back to step 1. Using the steps described above we can generate S- symmetric interleavers of various lengths. Figure 2 1 1 1 2 1 3 1 5 RANDOM S SYMMETRIC.5 1 1.5 2 E b /N (db) Figure 2: Interleaver performance comparison for four state rate 1/3 Turbo code, N=124, six iterations. presents the results for a four state rate 1/3 Turbo code with interleaver size 124 and ve iterations.

As we can see from the results, an interleaver p design with the S constraint (where S= N=4) performs better than an ordinary random interleaver. The performance of the interleaver was improved when we impose the symmetric constraint. This indicates that the property of having identical interleaving and deinterleaving does improve the performance. 3 Mod-k Interleaver for Punctured Turbo Codes Puncturing is described as \the systematic deletion of one or more parity coordinates in every code word in a code" [4]. The advantage of puncturing is that the same rate 1/2 decoder can be used to decode higher rate codes. Puncturing was rst applied to convolutional codes in [1] where the code rate of the code can be increased by puncturing individual bits in the codeword. Rate compatible punctured convolutional codes were proposed in [5] where the output of the convolutional encoder is punctured to achieve dierent code rates. Puncturing can also help achieve unequal error protection by using dierent amounts of puncturing on dierent parts of the information [6]. Puncturing was used in the Turbo code scheme of [2] as a way of increasing the code rate from 1/3 to 1/2. Since then, dierent puncturing patterns have been proposed to increase the rate of turbo codes [7]. However, researchers have discovered that turbo codes suer more from puncturing when compared to conventional codes. This can be explained by the uneven protection of information bits when the parity bits are punctured at the output. u p(u) p( Π(u)) p( Π mod-2 (u)) even: 1 2 3 1 2 3 1 3 2 2 3 1 odd: after puncturing puncture: 1 2 3 2 Figure 3: Amount of protection on information bits between random interleaver and mod-2 interleaver. To solve this problem we design an interleaver to make sure that after puncturing, the parity bits are uniformly spread across all the information bits. 1 2 3 3 For example, in Figure 3 we have a rate 1/2 punctured Turbo code with puncturing pattern 1 and 1 for the parity bits from the rst and second encoder. Note that p() are the parity bits of different versions of the information bits, namely u, (u) and mod?2(u). As we can see, puncturing a random interleaver, (u), causes an uneven puncturing of the parity bits. That is, some information bits will have two parity bits, while other information bits will have no parity bits. However, the mod-2 interleaver, mod?2(u), ensures that each parity bit is punctured once and only once, thus ensuring uniform protection across all information bits. The concept of a Mod-2 interleaver was rst applied to Turbo codes in [8] as an \odd-even" interleaver, where improved performance was achieved for punctured rate 1/2 Turbo codes. A mod-2 interleaver ensures that the even parity from the rst constituent code and odd parity from the second constituent code are only interleaved in the even and odd positions, respectively. In other words it is equivalent to generating two separate N/2 interleaver sequences and merging them into one length N sequence with the proper index oset. A pure mod-k interleaver has I mod k = J mod k, where the interleaver maps I!J. As an example, we present a nine element mod-3 interleaver, mod?3(u), in Figure 4. Each shade represent a different remainder of modulus 3. As we can see, each element in the input sequence u is interleaved according to their modulus 3 value. Therefore, after interleaving the element addresses with modulus 3 values stay in the modulus 3 positions. As previously mentioned, we can apply higher amounts of puncturing to increase the code rate. Therefore, we would require a mod-k interleaver to accommodate dierent levels of puncturing. For example, we can puncture the rate 1/2 constituent code to a rate 3/4 code which in turn generates a rate 3/5 Turbo code. The results for three dierent types of interleavers are presented in Figure 5. As we can see, a mod-3 interleaver improves the performance since we ensure that all the parity bits are evenly distributed across all information bits. If we combine this concept with the symmetric interleaver (as in Section 4), we can further improve the performance. We present a way of generating a mod-k interleaver of size N. 1. Generate an empty interleaver array of size N. 2. Generate a random number. If no more numbers can be generated, go back to step 1. 3. If the distance between the generated number

u Π mod-3( u) u mod 3 = 1 2 1 2 3 4 5 6 7 8 6 7 2 1 8 3 4 5 and see if they oer an improvement over the previous two interleavers by themselves. We simulated a four state rate 1/2 Turbo code with dierent types of 124 bit interleavers for six decoder iterations. The performance of these interleavers are presented in Figure 6. From Figure 6 we Figure 4: Example of a nine elements mod-3 interleaver. 1 1 1 1 2 1 3 S MOD 3 S SYMMETRIC MOD 3 1 2 BLOCK HELICAL RANDOM S MOD 2 S SYMMETRIC S SYMMETRIC MOD 2.5 1 1.5 2 E /N (db) b 1 5 2 3 4 5 6 E /N (db) b Figure 5: 4 state rate 3/5 Turbo code with dierent interleavers, N=12, six iterations. and the S previous numbers is less than S distance apart after interleaving, reject the number and go back to step 2. 4. Calculate the remainder by dividing the generated number by k, where k is the modulus value. 5. If the remainder is not equal to the remainder of the interleaver index divided by k, go back to step 2. 6. If the interleaver is fully generated then stop, otherwise go back to step 2. 4 Symmetric Mod-k interleaver From the two previous sections we developed two dierent types of interleaver structure where each of them by itself can oer performance improvement when applied to Turbo codes. One intuitive step would be to combine two of these structures Figure 6: 4 state rate 1/2 Turbo code with dierent 124 bit interleaver designs and six iterations. can see that if we combine the symmetric and mod- 2 property we can make use of the improvement from both properties. The improvement achieved from the combination of both types of interleaver is much better than from each one by itself. 5 Conclusion We presented two types of interleaver structure that can either reduce the complexity or improve the performance of Turbo codes. A symmetric interleaver requires only a single sequence to perform both interleaving and deinterleaving. This can reduce the complexity of interleavers and deinterleavers in a Turbo decoder. The identical interleave and deinterleave sequence can also allow performance improvements if proper distance constraints are used when generating the interleaver. A mod-k interleaver allows uniform protection across each bit. This is useful in punctured Turbo codes where we want to ensure that each information bit is uniformly protected by the parity bits. Simulation results show that this type of interleaver can out perform a pseudo random interleaver. We combined the symmetric and Mod-k properties into a single interleaver. From computer simulations, we nd the combined interleaver out performs either a symmetric or Mod-k interleaver.

Future work will involved looking at the performance of mod-k and symmetric interleavers in punctured serial concatenated Turbo codes. References [1] J. B. Cain, G. C. Clark, Jr., and J. M. Geist, \Punctured convolutional codes of rate (n- 1)/n and simplied maximum likelihood decoding," IEEE Trans. Inform. Theory, vol. IT-25, pp. 97{1, Jan. 1979. [2] C. Berrou, A. Glavieux, and P. Thitiumjshima, \Near shannon limit error correcting coding: Turbo codes," IEEE Conference on Communications, pp. 164{17, May 1993. [3] J. Hokfelt, T. Maseng and O. Edfors, \Assessing interleaver suitability for Turbo codes.," To appear in Nordic Radio Symposium 1998, (Saltsjobaden, Sweden), Oct. 1998. [4] S. B. Wicker, Error Control Systems for Digital Communication and Storage. Prentice Hall, 1995. [5] J. Hagenauer, \Rate compatible punctured convolutional codes (RCPC-codes) and their application," IEEE Trans. on Commuications, vol. 36, pp. 389{4, 1988. [6] F. Burkert, G. Caire, J. Hagenauer, T. Hindelang, and G. Lechner, \"Turbo" decoding with unequal error protection applied to GSM speech coding," in Proc. of GLOBECOM '96, pp. 244{248, 1996. [7] O. F. Acikel and W. E. Ryan, \Punctured turbo codes for BPSK/QPSK channels.," Submitted to IEEE Transaction on Communications, 1998. [8] S. A. Barbulescu and S. S. Pietrobon, \Interleaver design for Turbo codes," Electronic Letters, vol. 3, pp. 217{218, Dec. 1994.