ebook img

A practical guide to error-control coding using Matlab PDF

293 Pages·2010·11.149 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview A practical guide to error-control coding using Matlab

A Practical Guide to Error-Control Coding Using MATLAB® DISCLAIMER OF WARRANTY The technical descriptions, procedures, and computer programs in this book have been developed with the greatest of care and they have been useful to the author in a broad range of applications; however, they are provided as is, without warranty of any kind. Artech House, Inc. and the authors and editors of the book titled A Practical Guide to Error-Control Coding Using MATLAB® make no warranties, expressed or implied, that the equations, programs, and procedures in this book or its associated software are free of error, or are consistent with any particular standard of merchantability, or will meet your requirements for any particular application. They should not be relied upon for solving a problem whose incorrect solution could result in injury to a person or loss of property. Any use of the programs or procedures in such a manner is at the user’s own risk. The editors, author, and publisher dis- claim all liability for direct, incidental, or consequent damages resulting from use of the programs or procedures in this book or the associated software. A Practical Guide to Error-Control Coding Using MATLAB® Yuan Jiang artechhouse.com Library of Congress Cataloging-in-Publication Data A catalog record for this book is available from the U.S. Library of Congress. British Library Cataloguing in Publication Data A catalogue record for this book is available from the British Library. ISBN 13: 978-1-60807-088-6 Cover design by Patrick McCarthy © 2010 ARTECH HOUSE 685 Canton Street Norwood, MA 02062 All rights reserved. Printed and bound in the United States of America. No part of this book may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage and retrieval system, without permission in writing from the publisher. All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized. Artech House cannot attest to the ac- curacy of this information. Use of a term in this book should not be regarded as affecting the validity of any trademark or service mark. 10 9 8 7 6 5 4 3 2 1 Contents Preface ix 1 Error Control in Digital Communications and Storage 1 1.1 Error Control Coding at a Glance 1 1.1.1 Codes for Error Control 1 1.1.2 Important Concepts 5 1.2 Channel Capacity and Shannon’s Theorem 14 1.3 Considerations When Selecting Coding Schemes 16 References 17 Selected Bibliography 17 2 Brief Introduction to Abstract Algebra 19 2.1 Elementary Algebraic Structures 19 2.1.1 Group 19 2.1.2 Field 22  i A Practical Guide to Error-Control Coding Using MATLAB® 2.2 Galois Field and Its Arithmetic 25 2.2.1 Galois Field 25 2.2.2 Arithmetic in GF (2m) 33 2.3 Implementation of GF (2m) Arithmetic 36 2.3.1 Arithmetic with Polynomial Representation 36 2.3.2 Arithmetic with Power Representation 39 2.3.3 A Special Case: Inversion 40 Problems 43 References 44 Selected Bibliography 44 3 Binary Block Codes 45 3.1 Linear Block Codes 45 3.1.1 Code Construction and Properties 45 3.1.2 Decoding Methods 51 3.1.3 Performance of Linear Block Codes 60 3.1.4 Encoder and Decoder Designs 65 3.1.5 Hamming Codes 66 3.2 Cyclic Codes 73 3.2.1 Basic Principles 74 3.2.2 Shift Register–Based Encoder and Decoder 81 3.2.3 Shortened Cyclic Codes and CRC 91 3.3 BCH Codes 95 3.3.1 Introduction 97 3.3.2 BCH Bound and Vandermonde Matrix 100 3.3.3 Decoding BCH Codes 101 Problems 110 References 111 Selected Bibliography 112 Contents ii 4 Reed-Solomon Codes 113 4.1 Introduction to RS Codes 113 4.1.1 Prelude: Nonbinary BCH Codes 113 4.1.2 Reed-Solomon Codes 117 4.2 Decoding of RS Codes 123 4.2.1 General Remarks 123 4.2.2 Determining the Error Location Polynomial 124 4.2.3 Frequency-Domain Decoding 135 4.2.4 Error and Erasure Decoding 140 4.3 RS Decoder: From Algorithm to Architecture 143 4.3.1 Syndrome Computation Circuit 143 4.3.2 Architectures for Berlekamp-Massey Algorithm 143 4.3.3 Circuit for Chien Search and Forney’s Algorithm 149 4.4 Standardized RS Codes 149 Problems 150 References 151 5 Convolutional Codes 153 5.1 Fundamentals of Convolutional Codes 153 5.1.1 Code Generation and Representations 153 5.1.2 Additional Matters 161 5.2 Decoding of Convolutional Codes 165 5.2.1 Optimum Convolutional Decoding and Viterbi Algorithm 166 5.2.2 Sequential Decoding 179 iii A Practical Guide to Error-Control Coding Using MATLAB® 5.3 Designing Viterbi Decoders 189 5.3.1 Typical Design Issues 189 5.3.2 Design for High Performance 197 5.4 Good Convolutional Codes 201 5.4.1 Catastrophic Error Propagation 202 5.4.2 Some Known Good Convolutional Codes 202 5.5 Punctured Convolutional Codes 202 Problems 210 References 210 Selected Bibliography 212 6 Modern Codes 213 6.1 Turbo Codes 213 6.1.1 Code Concatenation 213 6.1.2 Concatenating Codes in Parallel: Turbo Code 218 6.1.3 Iterative Decoding of Turbo Codes 228 6.1.4 Implementing MAP 250 6.2 Low-Density Parity-Check Codes 252 6.2.1 Codes with Sparse Parity-Check Matrix 254 6.2.2 Decoding and Encoding Algorithms 259 6.2.3 High-Level Architecture Design for LDPC Decoders 270 Problems 272 References 274 Selected Bibliography 276 About the Author 277 Index 279 Preface This book attempts to provide a comprehensible and practical introduction to error control coding. The targeted readers are practicing engineers and university students who have already set foot in this territory or plan to. To achieve the goal, this book takes an approach that is somewhat different from the approaches used by the many excellent textbooks currently available. First, the book introduces MATLAB as a tool to facilitate the pre- sentation of key concepts. The DVD that accompanies this book provides more than 90 MATLAB programs with which readers can experiment. It is the author’s hope that this fresh attempt does help readers in mastering the subject. Second, the book pays attention to the implementation of various de- coding algorithms. Readers will find that a few practical issues have received in-depth treatment in the book, such as implementation of Galois field arith- metic, Viterbi decoder design, RS decoder design, and MAP architecture, to name a few. The organization of the book is standard. Readers may notice, however, that many mathematical proofs and theorems have been omitted. This is because this book emphasizes concepts and rationales. For those who wish to explore further, a comprehensive list of references is given at the end of each chapter. Note that the MATLAB functions marked with asterisks are provided by the book not by the MATLAB software. ix

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.