Digital Communications Villanova University ECE Department ... · PDF fileDigital...
date post
18-Mar-2018Category
Documents
view
218download
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