Coding Theory : Algorithms, Architectures, And
Total Page:16
File Type:pdf, Size:1020Kb
Coding Theory Coding Theory Algorithms, Architectures, and Applications Andre´ Neubauer M¨unster University of Applied Sciences, Germany Jurgen¨ Freudenberger HTWG Konstanz, University of Applied Sciences, Germany Volker Kuhn¨ University of Rostock, Germany Copyright2007JohnWiley&SonsLtd,TheAtrium,SouthernGate,Chichester, West Sussex PO19 8SQ, England Telephone (+44) 1243 779777 Email (for orders and customer service enquiries): [email protected] Visit our Home Page on www.wileyeurope.com or www.wiley.com All Rights Reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except under the terms of the Copyright, Designs and Patents Act 1988 or under the terms of a licence issued by the Copyright Licensing Agency Ltd, 90 Tottenham Court Road, London W1T 4LP, UK, without the permission in writing of the Publisher. Requests to the Publisher should be addressed to the Permissions Department, John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England, or emailed to [email protected], or faxed to (+44) 1243 770620. Designations used by companies to distinguish their products are often claimed as trademarks. All brand names and product names used in this book are trade names, service marks, trademarks or registered trademarks of their respective owners. The Publisher is not associated with any product or vendor mentioned in this book. All trademarks referred to in the text of this publication are the property of their respective owners. This publication is designed to provide accurate and authoritative information in regard to the subject matter covered. It is sold on the understanding that the Publisher is not engaged in rendering professional services. If professional advice or other expert assistance is required, the services of a competent professional should be sought. Other Wiley Editorial Offices John Wiley & Sons Inc., 111 River Street, Hoboken, NJ 07030, USA Jossey-Bass, 989 Market Street, San Francisco, CA 94103-1741, USA Wiley-VCH Verlag GmbH, Boschstr. 12, D-69469 Weinheim, Germany John Wiley & Sons Australia Ltd, 42 McDougall Street, Milton, Queensland 4064, Australia John Wiley & Sons (Asia) Pte Ltd, 2 Clementi Loop #02-01, Jin Xing Distripark, Singapore 129809 John Wiley & Sons Canada Ltd, 6045 Freemont Blvd, Mississauga, Ontario, L5R 4J3, Canada Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books. Anniversary Logo Design: Richard J. Pacifico Library of Congress Cataloging-in-Publication Data Neubauer, Andre. Coding theory : algorithms, architectures and applications / Andre Neubauer, Jurgen¨ Freudenberger, Volker Kuhn.¨ p. cm. ISBN 978-0-470-02861-2 (cloth) 1. Coding theory. I Freudenberger, Jrgen. II. Kuhn,¨ Volker. III. Title QA268.N48 2007 003.54–dc22 British Library Cataloguing in Publication Data A catalogue record for this book is available from the British Library ISBN 978-0-470-02861-2 (HB) Typeset in 10/12pt Times by Laserwords Private Limited, Chennai, India Printed and bound in Great Britain by Antony Rowe Ltd, Chippenham, Wiltshire This book is printed on acid-free paper responsibly manufactured from sustainable forestry in which at least two trees are planted for each one used for paper production. Contents Preface ix 1 Introduction 1 1.1 Communication Systems . 1 1.2 Information Theory . 3 1.2.1 Entropy . 3 1.2.2 Channel Capacity . 4 1.2.3 Binary Symmetric Channel . 5 1.2.4 AWGN Channel . 6 1.3 A Simple Channel Code . 8 2 Algebraic Coding Theory 13 2.1 Fundamentals of Block Codes . 14 2.1.1 Code Parameters . 16 2.1.2 Maximum Likelihood Decoding . 19 2.1.3 Binary Symmetric Channel . 23 2.1.4 Error Detection and Error Correction . 25 2.2 Linear Block Codes . 27 2.2.1 Definition of Linear Block Codes . 27 2.2.2 Generator Matrix . 27 2.2.3 Parity-Check Matrix . 30 2.2.4 Syndrome and Cosets . 31 2.2.5 Dual Code . 36 2.2.6 Bounds for Linear Block Codes . 37 2.2.7 Code Constructions . 41 2.2.8 Examples of Linear Block Codes . 46 2.3 Cyclic Codes . 62 2.3.1 Definition of Cyclic Codes . 62 2.3.2 Generator Polynomial . 63 2.3.3 Parity-Check Polynomial . 67 2.3.4 Dual Codes . 70 2.3.5 Linear Feedback Shift Registers . 71 2.3.6 BCH Codes . 74 2.3.7 Reed–Solomon Codes . 81 vi CONTENTS 2.3.8 Algebraic Decoding Algorithm . 84 2.4 Summary . 93 3 Convolutional Codes 97 3.1 Encoding of Convolutional Codes . 98 3.1.1 Convolutional Encoder . 98 3.1.2 Generator Matrix in the Time Domain . 101 3.1.3 State Diagram of a Convolutional Encoder . 103 3.1.4 Code Termination . 104 3.1.5 Puncturing . 106 3.1.6 Generator Matrix in the D-Domain . 108 3.1.7 Encoder Properties . 110 3.2 Trellis Diagram and the Viterbi Algorithm . 112 3.2.1 Minimum Distance Decoding . 113 3.2.2 Trellises . 115 3.2.3 Viterbi Algorithm . 116 3.3 Distance Properties and Error Bounds . 121 3.3.1 Free Distance . 121 3.3.2 Active Distances . 122 3.3.3 Weight Enumerators for Terminated Codes . 126 3.3.4 Path Enumerators . 129 3.3.5 Pairwise Error Probability . 131 3.3.6 Viterbi Bound . 134 3.4 Soft-input Decoding . 136 3.4.1 Euclidean Metric . 136 3.4.2 Support of Punctured Codes . 137 3.4.3 Implementation Issues . 138 3.5 Soft-output Decoding . 140 3.5.1 Derivation of APP Decoding . 141 3.5.2 APP Decoding in the Log Domain . 145 3.6 Convolutional Coding in Mobile Communications . 147 3.6.1 Coding of Speech Data . 147 3.6.2 Hybrid ARQ . 150 3.6.3 EGPRS Modulation and Coding . 152 3.6.4 Retransmission Mechanism . 155 3.6.5 Link Adaptation . 156 3.6.6 Incremental Redundancy . 157 3.7 Summary . 160 4 Turbo Codes 163 4.1 LDPC Codes . 165 4.1.1 Codes Based on Sparse Graphs . 165 4.1.2 Decoding for the Binary Erasure Channel . 168 4.1.3 Log-Likelihood Algebra . 169 4.1.4 Belief Propagation . 174 4.2 A First Encounter with Code Concatenation . 177 4.2.1 Product Codes . 177 CONTENTS vii 4.2.2 Iterative Decoding of Product Codes . 180 4.3 Concatenated Convolutional Codes . 182 4.3.1 Parallel Concatenation . 182 4.3.2 The UMTS Turbo Code . 183 4.3.3 Serial Concatenation . 184 4.3.4 Partial Concatenation . 185 4.3.5 Turbo Decoding . 186 4.4 EXIT Charts . 188 4.4.1 Calculating an EXIT Chart . 189 4.4.2 Interpretation . 191 4.5 Weight Distribution . 196 4.5.1 Partial Weights . 196 4.5.2 Expected Weight Distribution . 197 4.6 Woven Convolutional Codes . 198 4.6.1 Encoding Schemes . 200 4.6.2 Distance Properties of Woven Codes . 202 4.6.3 Woven Turbo Codes . 205 4.6.4 Interleaver Design . 208 4.7 Summary . 212 5 Space–Time Codes 215 5.1 Introduction . 215 5.1.1 Digital Modulation Schemes . 216 5.1.2 Diversity . 223 5.2 Spatial Channels . 229 5.2.1 Basic Description . 229 5.2.2 Spatial Channel Models . 234 5.2.3 Channel Estimation . 239 5.3 Performance Measures . 241 5.3.1 Channel Capacity . 241 5.3.2 Outage Probability and Outage Capacity . 250 5.3.3 Ergodic Error Probability . ..