ERROR CONTROL CODING From Theory to Practice

Similar documents
ERROR CONTROL CODING From Theory to Practice

ECE 6640 Digital Communications

A Survey of Advanced FEC Systems

ECE 6640 Digital Communications

Turbo coding (CH 16)

ECE 8771, Information Theory & Coding for Digital Communications Summer 2010 Syllabus & Outline (Draft 1 - May 12, 2010)

Robust Reed Solomon Coded MPSK Modulation

Course Developer: Ranjan Bose, IIT Delhi

Decoding of Block Turbo Codes

Physical Layer: Modulation, FEC. Wireless Networks: Guevara Noubir. S2001, COM3525 Wireless Networks Lecture 3, 1

Implementation of Reed-Solomon RS(255,239) Code

Advanced channel coding : a good basis. Alexandre Giulietti, on behalf of the team

Coding Theory. Algorithms, Architectures, and Applications. André Neubauer Münster University of Applied Sciences, Germany

Chapter 1 Coding for Reliable Digital Transmission and Storage

Turbo Codes for Pulse Position Modulation: Applying BCJR algorithm on PPM signals

Performance comparison of convolutional and block turbo codes

FOR applications requiring high spectral efficiency, there

Contents Chapter 1: Introduction... 2

Simulink Modelling of Reed-Solomon (Rs) Code for Error Detection and Correction

6. FUNDAMENTALS OF CHANNEL CODER

Outline. Communications Engineering 1

High-Rate Non-Binary Product Codes

Multilevel RS/Convolutional Concatenated Coded QAM for Hybrid IBOC-AM Broadcasting

Revision of Lecture Eleven

Improved concatenated (RS-CC) for OFDM systems

TABLE OF CONTENTS CHAPTER TITLE PAGE

Hybrid ARQ Using Serially Concatenated Block Codes for Real-Time Communication - An Iterative Decoding Approach

Chapter 3 Convolutional Codes and Trellis Coded Modulation

Digital Television Lecture 5

MODULATION AND CODING TECHNIQUES IN WIRELESS COMMUNICATIONS

AN INTRODUCTION TO ERROR CORRECTING CODES Part 2

CDMA Systems Engineering Handbook

Single Error Correcting Codes (SECC) 6.02 Spring 2011 Lecture #9. Checking the parity. Using the Syndrome to Correct Errors

Digital Communications I: Modulation and Coding Course. Term Catharina Logothetis Lecture 12

Syllabus. osmania university UNIT - I UNIT - II UNIT - III CHAPTER - 1 : INTRODUCTION TO DIGITAL COMMUNICATION CHAPTER - 3 : INFORMATION THEORY

Design of Reed Solomon Encoder and Decoder

Journal of Babylon University/Engineering Sciences/ No.(5)/ Vol.(25): 2017

Digital Transmission using SECC Spring 2010 Lecture #7. (n,k,d) Systematic Block Codes. How many parity bits to use?

Notes 15: Concatenated Codes, Turbo Codes and Iterative Processing

Department of Electronics and Communication Engineering 1

Design High speed Reed Solomon Decoder on FPGA

Error Control Coding. Aaron Gulliver Dept. of Electrical and Computer Engineering University of Victoria

Table of Contents. Acknowledgments... XVII Prologue... 1

Simulink Modeling of Convolutional Encoders

EDI042 Error Control Coding (Kodningsteknik)

Error Control Codes. Tarmo Anttalainen

Basics of Error Correcting Codes

Study of turbo codes across space time spreading channel

Study of Turbo Coded OFDM over Fading Channel

TURBO CODES Principles and Applications

UNIT I Source Coding Systems

M4B-4. Concatenated RS-Convolutional Codes for Ultrawideband Multiband-OFDM. Nyembezi Nyirongo, Wasim Q. Malik, and David. J.

Lecture 17 Components Principles of Error Control Borivoje Nikolic March 16, 2004.

KINGS DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING DIGITAL COMMUNICATION TECHNIQUES YEAR/SEM: III / VI BRANCH : ECE PULSE MODULATION

designing the inner codes Turbo decoding performance of the spectrally efficient RSCC codes is further evaluated in both the additive white Gaussian n

Synchronization of Hamming Codes

Space engineering. Space data links - Telemetry synchronization and channel coding. ECSS-E-ST-50-01C 31 July 2008

Using TCM Techniques to Decrease BER Without Bandwidth Compromise. Using TCM Techniques to Decrease BER Without Bandwidth Compromise. nutaq.

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING QUESTION BANK. Subject Name: Digital Communication Techniques

Spreading Codes and Characteristics. Error Correction Codes

ELEC 7073 Digital Communication III

ETSI TS V1.1.2 ( )

Channel Coding in Communication Networks

Implementation of Reed Solomon Decoder for Area Critical Applications

Digital Communications

TURBO CODING FOR SATELLITE AND WIRELESS COMMUNICATIONS

THE idea behind constellation shaping is that signals with

Performance of Nonuniform M-ary QAM Constellation on Nonlinear Channels

A rate one half code for approaching the Shannon limit by 0.1dB

Digital Communications I: Modulation and Coding Course. Term Catharina Logothetis Lecture 13

Nonlinear Multi-Error Correction Codes for Reliable MLC NAND Flash Memories Zhen Wang, Mark Karpovsky, Fellow, IEEE, and Ajay Joshi, Member, IEEE

SIMULATIONS OF ERROR CORRECTION CODES FOR DATA COMMUNICATION OVER POWER LINES

High-Throughput and Low-Power Architectures for Reed Solomon Decoder

Coding for MIMO Communication Systems

REVIEW OF COOPERATIVE SCHEMES BASED ON DISTRIBUTED CODING STRATEGY

n Based on the decision rule Po- Ning Chapter Po- Ning Chapter

Lecture 4: Wireless Physical Layer: Channel Coding. Mythili Vutukuru CS 653 Spring 2014 Jan 16, Thursday

MULTILEVEL CODING (MLC) with multistage decoding

A PERMUTATION CODING AND OFDM-MFSK MODULATION SCHEME FOR POWER-LINE COMMUNICATION. Mpendulo Mike Comfort Ndlovu

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

PROJECT 5: DESIGNING A VOICE MODEM. Instructor: Amir Asif

MULTILEVEL RS/CONVOLUTIONAL CONCATENATED CODED QAM FOR HYBRID IBOC-AM BROADCASTING

International Journal of Engineering Research in Electronics and Communication Engineering (IJERECE) Vol 1, Issue 5, April 2015

Department of Electronic Engineering FINAL YEAR PROJECT REPORT

Channel Coding for IEEE e Mobile WiMAX

Error Protection: Detection and Correction

Construction of Adaptive Short LDPC Codes for Distributed Transmit Beamforming

Serially Concatenated Coded Continuous Phase Modulation for Aeronautical Telemetry

Improvement Of Block Product Turbo Coding By Using A New Concept Of Soft Hamming Decoder

PERFORMANCE EVALUATION OF WIMAX SYSTEM USING CONVOLUTIONAL PRODUCT CODE (CPC)

ISSN: Page 320

BER Analysis of BPSK for Block Codes and Convolution Codes Over AWGN Channel

The BICM Capacity of Coherent Continuous-Phase Frequency Shift Keying

DIGITAL COMMINICATIONS

Channel Coding and Carrier Recovery for Adaptive Modulation Microwave Radio Links

TURBO codes are an exciting new channel coding scheme

Performance of Parallel Concatenated Convolutional Codes (PCCC) with BPSK in Nakagami Multipath M-Fading Channel

LDPC Decoding: VLSI Architectures and Implementations

Hybrid ARQ Schemes for Non-Orthogonal Space-Time Block Codes

SCHEME OF COURSE WORK. Course Code : 13EC1114 L T P C : ELECTRONICS AND COMMUNICATION ENGINEERING

Transcription:

ERROR CONTROL CODING From Theory to Practice Peter Sweeney University of Surrey, Guildford, UK JOHN WILEY & SONS, LTD

Contents 1 The Principles of Coding in Digital Communications 1.1 Error Control Schemes 1.2 Elements of Digital Communication Systems 1.3 Source Encoding 1.4 Error Control Coding 1.5 Modulation 1.6 The Channel 1.7 Demodulation 1.7.1 Coherent demodulation 1.7.2 Differential demodulation 1.7.3 Soft-decision demodulation 1.8 Decoding 1.8.1 Encoding and decoding example 1.8.2 Soft-decision decoding 1.8.3 Alternative decoding approaches 1.9 Code Performance and Coding Gain 1.10 Information Theory Limits to Code Performance 1.11 Coding for Multilevel Modulations 1.12 Coding for Burst-Error Channels 1.13 Multistage Coding 1.14 Error Detection Based Methods 1.14.1 ARQ strategies 1.14.2 Error concealment 1.14.3 Error detection and correction capability of block Codes 1.15 Selection of Coding Scheme 1.15.1 General considerations 1.15.2 Data structure 1.15.3 Information type 1.15.4 Data rate 1.15.5 Real time data processing d 1.15.6 Power and bandwidth constraints 1 1 2 2 3 5 7 8 8 9 10 11 12 14 15 16 18 21 22 24 24 24 26 26 27 27 28 29 29 30 30

vi P 1.15.7 Channel error mechanisms 1.15.8 Cost 1.16 Conclusion 1.17 Exercises 1.18 References 2 Convolutional Codes 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.1 1 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 Introduction General Properties of Convolutional Codes Generator Polynomials Terminology Encoder State Diagram Distance Structure of Convolutional Codes Evaluating Distance and Weight Structures Maximum Likelihood Decoding Viterbi Algorithm 2.9.1 General principles 2.9.2 Example of viterbi decoding 2.9.3 Issues arising Practical Implementation of Viterbi Decoding Performance of Convolutional Codes Good Convolutional Codes Punctured Convolutional Codes Applications of Convolutional Codes Codes for Multilevel Modulations Sequential Decoding Conclusion Exercises References 3 Linear Block Codes 3.1 Introduction 3.2 Mathematics of Binary Codes 3.3 Parity Checks 3.4 Systematic Codes 3.5 Minimum Hamming Distance of a Linear Block Code 3.6 How to Encode - Generator Matrix 3.7 Encoding with the Parity Check Matrix 3.8 Decoding with the Parity Check Matrix 3.9 Decoding by Standard Array 3.10 Codec Design for Linear Block Codes 3.11 Modifications to Block Codes 3.12 Dorsch Algorithm Decoding 3.13 Conclusion 3. (4 Exercises 3.15 References 31 31 32 33 34 35 35 35 36 37 38 39 39 41 42 42 42 45 45 51 53 55 56 57 62 64 64 66 67 67 67 68 69 70 70 71 73 75 76 78 81 83 83 85

_~ 4 Cyclic Codes 4.1 Introduction 4.2 Definition of a Cyclic Code 4.3 Example of a Cyclic Code 4.4 Polynomial Representation 4.5 Encoding by Convolution 4.6 Establishing the Cyclic Property 4.7 Deducing the Properties of a Cyclic Code 4.8 Primitive Polynomials 4.9 Systematic Encoding of Cyclic Codes 4.10 Syndrome of a Cyclic Code 4.11 Implementation of Encoding 4.12 Decoding 4.13 Decoder Operation 4.14 Multiple-Error Correction 4.15 Example of Multiple-Error Correction 4.16 Shortened Cyclic Codes 4.17 Expurgated Cyclic Codes 4.18 BCH Codes 4.19 Cyclic Codes for Burst-Error Correction 4.20 Conclusion 4.21 Exercises 4.22 References 5 Finite Field Arithmetic 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 9 5.14 5.15 Introduction Definition of a Finite Field Prime Size Finite Field GF(p) Extensions to the Binary Field - Finite Field GF(2") Polynomial Representation of Finite Field Elements Properties of Polynomials and Finite Field Elements 5.6.1 Roots of a polynomial 5.6.2 Minimum polynomial 5.6.3 Order of an element 5.6.4 Finite field elements as roots of a polynomial 5.6.5 Roots of an irreducible polynomial 5.6.6 Factorization of a polynomial Fourier Transform over a Finite Field Alternative Visualization of Finite Field Fourier Transform Roots and Spectral Components Fast Fourier Transforms Hardware Multipliers using Polynomial Basis Hardware Multiplication using Dual Basis Hardware Multiplication using Normal Basis Software Implementation of Finite Field Arithmetic Conclusion vii 87 87 87 88 88 89 90 91 92 93 94 94 96 100 100 101 103 104 106 107 110 110 112 113 113 113 114 115 117 119 119 121 121 123 124 125 127 129 131 132 134

viii 6 7 8 5.16 Exercises 5.17 References BCH Codes 6.1 Introduction 6.2 Specifying Cyclic Codes by Roots 6.3 Definition of a BCH Code 6.4 Construction of Binary BCH Codes 6.5 Roots and Parity Check Matrices 6.6 Algebraic Decoding 6.7 BCH Decoding and the BCH Bound 6.8 Decoding in the Frequency Domain 6.9 Decoding Examples for Binary BCH Codes 6.10 Polynomial Form of the Key Equation 6.1 1 Euclid's Method 6.12 Berlekamp-Massey Algorithm 6.13 Conclusion 6.14 Exercises 6.15 References Reed Solomon Codes 7.1 Introduction 7.2 Generator Polynomial for a Reed Solomon Code 7.3 Time Domain Encoding for Reed Solomon Codes 7.4 Decoding Reed Solomon Codes 7.5 Reed Solomon Decoding Example 7.6 Frequency Domain Encoded Reed Solomon Codes 7.7 Further Examples of Reed Solomon Decoding 7.8 Erasure Decoding 7.9 Example of Erasure Decoding of Reed Solomon Codes 7.10 Generalized Minimum Distance Decoding 7.11 Welch-Berlekamp Algorithm 7.12 Singly Extended Reed Solomon Codes 7.13 Doubly Extended Reed Solomon Codes 7.14 Conclusion 7.15 Exercises 7.16 References Performance Calculations for Block Codes 8.1 Introduction 8.2 Hamming Bound 8.3 Plotkin Bound 8.4 Griesmer Bound 8.5 Singleton Bound 8.6' Gilbert-Varsharmov Bound 8.7 Error Detection 135 136 137 137 137 138 138 140 143 144 146 147 149 149 151 152 153 154 155 155 155 156 158 159 160 162 164 165 167 168 170 172 175 175 176 177 177 177 178 179 180 180 181

8.8 8.9 8.10 8.1 1 8.12 8.13 8.14 8.15 8.16 8.17 Random-Error Detection Performance of Block Codes Weight Distributions Worst Case Undetected Error Rate Burst-Error Detection Examples of Error Detection Codes Output Error Rates using Block Codes Detected Uncorrectable Errors Application Example - Optical Communications Conclusion Exercises ix 181 182 184 185 185 186 188 190 192 192 9 Multistage Coding 9.1 Introduction 9.2 Serial Concatenation 9.3 Serial Concatenation using Inner Block Code 9.3.1 Maximal length Codes 9.3.2 Orthogonal Codes 9.3.3 Reed Muller Codes 9.3.4 High rate Codes with soft-decision decoding 9.4 9.5 Serial Concatenation using Inner Convolutional Code Product Codes 9.6 Generalized Array Codes 9.7 Applications of Multistage Coding 9.8 Conclusion 9.9 Exercises 9.10 References 10 Iterative Decoding 10.1 Introduction 10.2 The BCJR Algorithm 10.3 BCJR Product Code Example 10.4 Use of Extrinsic Information 10.5 Recursive Systematic Convolutional Codes 10.6 MAP Decoding of RSC Codes 10.7 Interleaving and Trellis Termination 10.8 The Soft-Output Viterbi Algorithm 10.9 Gallager Codes 10.10 Serial Concatenation with Iterative Decoding 10.11 Performance and Complexity Issues 10.12 Application to Mobile Communications 10.13 Turbo Trellis-Coded Modulation 10.14 Conclusion 10.15 Exercises 10.16 References 4 Index 195 195 195 196 196 197 198 198 199 200 203 206 208 208 209 21 1 21 1 21 1 212 214 215 217 220 222 225 23 1 232 233 233 235 235 236 239