Digital Communications Villanova University ECE Department ... · PDF fileDigital...

Click here to load reader

  • date post

    18-Mar-2018
  • Category

    Documents

  • view

    218
  • download

    4

Embed Size (px)

Transcript of Digital Communications Villanova University ECE Department ... · PDF fileDigital...

  • Kevin Buckley - 2010 109

    ECE8771Information Theory & Coding for

    Digital Communications

    Villanova UniversityECE Department

    Prof. Kevin M. Buckley

    Lecture Set 2Block Codes

    R R R0

    b1

    bnk1

    b

    g

    GF(2 ) multiplierm

    R

    registerGF(2 ) element

    m

    GF(2 ) adderm

    .....

    .....g g10 2T1

    g

    codeword

    2

    1

    2

    1

    X X X10.....

    m bit vectorsK1

    m(n k) parity bits

    2

    m(n k) parity bits1

    mk systematic bitsmk bit block

    puncturingto channel

    Block Encoder (n ,k)1

    Block Encoder (n ,k)2

  • Kevin Buckley - 2010 110

    Contents

    7 Block Codes 1137.1 Introduction to Block Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147.2 A Galois Field Primer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157.3 Linear Block Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207.4 Initial Comments on Performance and Implementation . . . . . . . . . . . . 125

    7.4.1 Performance Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1257.4.2 From Performance to Implementation Considerations . . . . . . . . . 1277.4.3 Implementation Issues . . . . . . . . . . . . . . . . . . . . . . . . . . 1297.4.4 Code Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

    7.5 Important Binary Linear Block Codes . . . . . . . . . . . . . . . . . . . . . . 1297.5.1 Single Parity Check Codes . . . . . . . . . . . . . . . . . . . . . . . . 1297.5.2 Repetition Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1307.5.3 Hamming Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1307.5.4 Shortened Hamming and SEC-DED Codes . . . . . . . . . . . . . . . 1337.5.5 Reed-Muller codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1337.5.6 The Two Golay Codes . . . . . . . . . . . . . . . . . . . . . . . . . . 1347.5.7 Cyclic Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1357.5.8 BCH Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1407.5.9 Other Linear Block Codes . . . . . . . . . . . . . . . . . . . . . . . . 141

    7.6 Binary Linear Block Code Decoding & Performance Analysis . . . . . . . . . 1427.6.1 Soft-Decision Decoding . . . . . . . . . . . . . . . . . . . . . . . . . . 1437.6.2 Hard-Decision Decoding . . . . . . . . . . . . . . . . . . . . . . . . . 1487.6.3 A Comparison Between Hard-Decision and Soft-Decision Decoding . . 1537.6.4 Bandwidth Considerations . . . . . . . . . . . . . . . . . . . . . . . . 155

    7.7 Nonbinary Block Codes - Reed-Solomon (RS) Codes . . . . . . . . . . . . . . 1567.7.1 A GF(2m) Overview for Reed-Solomon Codes . . . . . . . . . . . . . 1567.7.2 Reed-Solomon (RS) Codes . . . . . . . . . . . . . . . . . . . . . . . . 1587.7.3 Encoding Reed-Solomon (RS) Codes . . . . . . . . . . . . . . . . . . 1627.7.4 Decoding Reed-Solomon (RS) Codes . . . . . . . . . . . . . . . . . . 162

    7.8 Techniques for Constructing More Complex Block Codes . . . . . . . . . . . 1687.8.1 Product Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1687.8.2 Interleaving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1697.8.3 Concatenated Block Codes . . . . . . . . . . . . . . . . . . . . . . . . 170

  • Kevin Buckley - 2010 111

    List of Figures

    51 General channel coding block diagram. . . . . . . . . . . . . . . . . . . . . . 11352 Block code encoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11453 Feedback shift register for binary polynomial division. . . . . . . . . . . . . . 11854 The Binary Symmetric Channel (BSC) used to transmit a block codeword. . 12555 Codewords and received vectors in the code vector space. . . . . . . . . . . . 12656 For a perfect code, codewords and received vectors in the code vector space. 12757 Decoding schemes for block codes. . . . . . . . . . . . . . . . . . . . . . . . . 12858 Shift register encoders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13259 Linear feedback shift register implementation of a systematic binary cyclic

    encoder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14060 Digital communication system with block channel encoding. . . . . . . . . . 14261 ML receiver for an M codeword block code: (a) using filters matched to each

    codeword waveform; (b) practical implementation using a filter matched tothe symbol shape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

    62 The hard-decision block code decoder. . . . . . . . . . . . . . . . . . . . . . 14863 Syndrome calculation for a systematic block code. . . . . . . . . . . . . . . . 15064 Syndrome based error correction decoding. . . . . . . . . . . . . . . . . . . . 15065 An efficient syndrome based decoder for systematic binary cyclic codes. . . . 15266 Performance evaluation of the Hamming (15,11) code with coherent reception

    and both hard & soft decision decoding: (a) BER vs. SNR/bit; (b) codeworderror probability vs. SNR/bit; (c) codeword weight distribution. . . . . . . . 154

    67 An encoder for systematic GF(2m) Reed-Solomon codes. . . . . . . . . . . . 16268 A decoder block diagram for a RS code. . . . . . . . . . . . . . . . . . . . . 16369 (a) an m n block interleaver; (b) its use with a burst error channel; (c) an

    m n block deinterleaver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17070 A serial concatenated block code. . . . . . . . . . . . . . . . . . . . . . . . . 17171 A Serial Concatenated Block Code (SCBC) with interleaving. . . . . . . . . 17172 A Parallel Concatenated Block Code (PCBC) with interleaving. . . . . . . . 172

  • Kevin Buckley - 2010 112

    7 Block Codes

    In the last section of this Course we established that the channel capacity C is the lowerbound for the rate R at which information can be reliably transmitted over a given channel.First we saw that, as the number of orthogonal waveforms increases to infinity, an orthogonalmodulation scheme can provide rates approaching this capacity limit. We then noted thatchannel capacity can be approached with randomly selected codewords, by using codewordswhose lengths goes to infinity. We then stated the noisy channel coding theorem, whichestablishes that reliable communications is possible over any channel as long as the trans-mission information rate R is not greater than the channel capacity C. This is a generalresult applying to any channel. Figure 51 illustrates channel coding for a general channel.At the heart of the coding scheme is the forward error correction (FEC) code, which fa-cilitates the detection and/or correction of information bit transmission errors. Optionally,the channel may include an automatic repeat request (ARQ) capability, whereby receivedinformation bit errors are detected, initiating a request by the receiver for the transmitterto resend the faulty information bits. In this Course we focus on FEC coding. ARQ codingschemes employ FEC codes to detect errors for the ARQ scheme.

    information bits Channel

    Encoder ChannelChannelDecoder Detection/Correction

    Error CC

    Automatic Repeat Request (ARQ)

    Forward Error Correction (FEC)

    Figure 51: General channel coding block diagram.

    We now turn our attention to practical channel coding. First, in this Section, we considerbasic block codes. Next, in Section 8 of the Course, we cover standard convolutional codes.In these Sections we will describe channel coding methods which are commonly used inapplication. We will be concerned mainly with code rate, codeword generation, AWGNchannels, hard and soft decision decoding, and bit error rate performance analysis. In Section9 we will discuss some important recent developments in channel coding. Consideration ofbandwidth requirements is postponed to Section 11 of the Course.

  • Kevin Buckley - 2010 113

    7.1 Introduction to Block Codes

    In a block code, k information bits are represented by a block of N symbols to be transmitted.That is, as illustrated in Figure 52, a vector of k information bits is represented by a vector ofN symbols. The N dimensional representation is called a codeword. Generally, the elementsof a codeword are selected from an alphabet of size q. Since there are M = 2k unique inputinformation vectors, and qN unique codewords, qN 2k is necessary for unique representationof the information. (Note that qN = 2k is not of interest, since without redundancy errorscannot be detected and/or corrected.) If the elements of the codewords are binary, thecode is called a binary block code. For a binary block code, with codeword length n, n > kis required. For nonbinary block codes with alphabet size q = 2b, the codeword length,converted to bits, is n = bN .

    A block code is a linear block code if it adheres to a linearity property which will beidentified below. Because of implementation and performance considerations, essentially allpractical block codes are linear, and we will therefore restrict our discussion to them. Wewill begin by focusing on binary linear block codes. Non-binary linear linear codes can beemployed to generate long codewords. We will close this Section with a description of apopular class of nonbinary linear block codes Reed-Solomon codes.

    Encoder Block

    1 2 k3 .......

    k information bits

    1 ........2 3 N

    N codeword symbols

    Figure 52: Block code encoding.

    A binary block code of k length input vectors and n length codewords is referred to aan (n, k) code. The code rate of an (n, k) code is Rc =

    kn. Note that Rc < 1. The greater

    Rc is, the more efficient the code is. On the other hand, the purpose of channel cod