Error Correction Code Design (Electrical and Electronic engineering Design Series) (Volume 6)

Nicholas L Pappas Ph.D.

  • 出版商: CreateSpace Independ
  • 出版日期: 2015-05-27
  • 售價: $950
  • 貴賓價: 9.5$903
  • 語言: 英文
  • 頁數: 164
  • 裝訂: Paperback
  • ISBN: 1511813865
  • ISBN-13: 9781511813860
  • 無法訂購
    無現貨庫存(No stock available)


Error Correction Code Design This text is different from all other ECC texts, because the focus is on how to actually design G and H matrices that implement Hamming, Cyclic, BCH, & Reed Solomon codes. The focus includes showing how to design serial & parallel circuits implementing the G encoders and H decoders that including timing. We have not found this design information anywhere. The text is readable, because the language of abstract algebra has been delegated to the background. On the other hand we only explain Turbo code basics, because Turbo takes code design to another level where explaining the complexity of Turbo G and H requires another complete text. There are two basically different types of codes. One type is a tree code, which processes a continuous sequence of information digits continuously without breaking it up into blocks of k digits. The other type is a block code, which processes a continuous sequence of information digits in blocks of k digits. This text is about binary block codes. Error bits Consider a binary channel which can transmit bit values 0 and 1. The presence of noise may cause a transmitted 0 to be received as 1, and a transmitted 1 to be received as 0. When this happens to a bit the bit is referred to as an error bit. Code design is about detecting and correcting error bits. Code design is a very complex subject using very complex mathematics. However the mathematics is applied in a straightforward and clear way so that the complexity does not interfere with learning the design processes. A code design produces encoding G and decoding H matrices, and the electronic circuits implementing the design. The design process producing a code’s encoding G and decoding H matrices is presented in a straightforward way that does not involve the language of abstract algebra. Furthermore, a straightforward simplified method generates the G and H matrices. The concepts of distance and weight provide the necessary and sufficient conditions for a binary code to have t error correcting capability. R. W. Hamming’s ingenious invention of codes informs us why parity is required, and how a Hamming code is encoded and decoded by G and H matrices. Hamming shows us what the output of the code design task ought to be. An overview describes the role of algebraic coding theory that implements the required mathematical structure. Galois finite fields provide the algebraic structure for block code design. The language of abstract algebra is avoided in the presentation of Galois fields without dumbing down the presentation. Binary cyclic codes are an important subset of block codes. Cyclic codes have significant algebraic structure that facilitates creating the encoding G and decoding H matrices. BCH codes can correct more than one error thereby overcoming the one-error Hamming limitation. Related Reed-Solomon codes are used to perform a specific type of correction called burst correction. A decoder tells you there are errors, but not how many. Equations process the decoder output so that the bits in error are discovered. The traditional software solutions to the very complex BCH decoder equations are avoided, because straightforward hardware solutions are available. Encoder and decoder circuit design uses shift registers, LFSR registers, ROM memory, clocks, and glue logic. There are serial and parallel formats. Bits in a word are transmitted sequentially (serially) in a communication channel. The bits in a word are transmitted simultaneously (in parallel) in a system with multiple channels such as a memory. Turbo codes use a concatenated coding scheme, which combines two block codes and an interleaver to produce codes with superior performance. We only begin to explain turbo codes, because explaining their complexity in full requires a separate text. Code designers will find the Galois field information listed here a great convenience when they sit down to design codes.