BB Channel Coding
Transcript of BB Channel Coding
-
8/13/2019 BB Channel Coding
1/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez1
ESDE505 Digital Communications
Dr. Roberto Ramirez-IniguezM206
[email protected]. 3527
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez2
ESDE505 Digital Communications
Error Control CodingChapter 10 (Glover/Grant)
Pages: 347-375
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez3
Introduction
Hamming Distance and codeword weight
(n,k) Block Codes
Probability of error in n-digit codewords
Linear group codes
Error Control Coding
Lecture contents
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez4
Nearest neighbour decoding of block codes
Syndrome decoding
Cyclic codes
Encoding of convolutional codes
Viterbi decoding of convolutional codes
Summary
Error Control Coding
Lecture contents (contd.)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez5
the resources available to modify the characteristics andquality of the transmission are:
Signal power Time Bandwidth
The quality of transmission is directly related to theprobability of bit error P b at the receiver
Shannon-Hartley law for the capacity of the channel shows: how bandwidth and signal power can be traded
theoretical limit for the transmission rate
Error Control Coding
Introduction
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez6
to achieve the limit indicated by the Shannon-Hartleylaw, an appropriate coding scheme must be found
the objective of the design engineer is to achievethe desired data rate within the bandwidth andpower constraints
error control coding can be used to achieve a requiredBER within the bandwidth and power constraints
Error Control Coding
Introduction (contd.)
-
8/13/2019 BB Channel Coding
2/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez7
Error control coding is used to detect and oftencorrect, symbols which are received in error
Error detection is the initial step prior to errorcorrection
In situations where ARQ techniques are inconvenient,FECC can be used
FECC incorporate extra information (redundandy) intothe transmitted data to avoiding the need ofretransmission
Introduction to Error Control Coding
Introduction (contd.)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez8
Introduction to Error Control Coding
Group
BCH
hamming
FECCARQStop&wait Continuous ARQ
Go-back-NSelectiverepeat
Block codes Convolutionalcodes
Polynomial generated
RS Binary BCH
Others
Others
Golay
ARQ: Auto Repeat RequestFECC: Forward Error Correction CodingBCH: Bose-Chaudhuri-HocquenghemRS: Reed Solomon
Error Control Codes
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez9
Error rate control concepts
Error rate control concepts
the normal measure of error performance is bit errorrate (BER) or the probability of bit error (Pb)
the BER rate is the average rate at which an erroroccurs:
There is a variety of techniques to reduce the error rateof a particular system
bb R P BER =
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez10
1) increasing the transmitter power 2) using diversity3) introducing full duplex
transmission4) using ARQ techniques
5) using FECC
Error rate control concepts
Ways to reduce the BER
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez11
the three main typed of diversity are: space diversity Frequency diversityTime diversity
full-duplex transmission consists in echoing theinformation back to the receiver
Error rate control concepts
Ways to reduce the BER (contd.)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez12
in ARQ a simple error detecting code is used if an error is detected, a request is sent via a feedbackchannel to retransmit the block
the two ARQ techniques are:
Stop and wait (each block of data is positively ornegatively acknowledged beforethe next data block is transmitted)
Continuous (blocks of data continue to be
transmitted without waiting for eachprevious block to be acknowledged)
Error rate control concepts
Ways to reduce the BER (contd.)
-
8/13/2019 BB Channel Coding
3/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez13
The continuous ARQ techniques are:
go-back-N * here data blocks carry a sequencereference number * each acknowledgement signal containsthe reference number of a data block* when a negative acknowledgement is
received, all data blocks starting from thereference number in the lastacknowledgement signal are retransmitted
selective repeat * only the blocks of dataacknowledged negatively areretransmitted
Error rate control concepts
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez14
FECC introduces redundancy through data check bitsinterleaved with the information bits
it relies on the number of errors in a long block of databeing close to the statistical average
it requires no channel return
PB can be reduced at the expense of increasing thetransmission delay, by using FECC with a sufficient longblock or constraint length
Error rate control concepts
Forward Error Correction Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez15
Threshold phenomenon
in FECC, if the SNR is abovea certain value, the error rateis virtually zero
below this value, the systemperformance degrades rapidlyuntil the coded system isactually poorer than thecorresponding uncodedsystem
a coding gain can be definedfor a given P b
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez16
Error Control Coding
Compact disk players Computers data storage and retrieval Digital audio video systems Aerospace applications Mobile GSM cellular telephony
banking Barcode readers
Applications of Error Control
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez17
Error Control Coding
The Hamming distance between two codewords isdefined as the number of places, bits or digits inwhich they differ
it determines how easy it is to alter one validcodeword into another
The weight of a binary codeword is defined as thenumber of ones which it contains
Hamming distance and codeword weight
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez18
Error Control Coding
Calculate the hamming distance between 2codewords 11100 and 11011 and find the mincodeword weight.
Hamming distance and codeword weight (contd.)
-
8/13/2019 BB Channel Coding
4/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez19
Error Control Coding
Calculate the hamming distance between 2codewords 11100 and 11011 and find the mincodeword weight.
Hamming distance and codeword weight (contd.)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez20
the n-digit codeword isthus made up of kinformation digits and(n-k) redundant paritycheck bits
The rate (efficiency) forthis code is given by
(n, k) block codes
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez21
Error Control Coding
The rate (or efficiency) of a code represents the ratioof information digits to the total number of digits in thecodeword
Codes can be systematic or non systematic: systematic codes information digits areexplicitly transmitted together with paritydigits non-systematic codes information bitsare not contained explicitly in the codeword
(n, k) block codes (continued)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez22
Error Control Coding
Definitions of systematic codes:
stricter definition: the k bits must be transmittedcontiguously as a block
less strict definition: the information digits must
be included in the codeword, but not in acontiguous block
(n, k) block codes (continued)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez23
Single parity check codes
Example of a singleparity check code:
Even parity is morecommon than odd parity
The transmission of anall zero codeword isgenerally avoided
(n-k ) block codes
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez24
Single parity check codes (contd.)
(n-k ) block codes
-
8/13/2019 BB Channel Coding
5/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez25
Single parity check codes (contd.)
Another example isthe 10-digit ISBNcodeword used in
libraries andbookshops
It uses a modulo 11,weighted checksum
( ) ( )11mod11119
1 = =i ik iChecksum
( ) ( ) 011mod1110
1
=
=iik i
(n-k ) block codes
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez26
Single parity check codes (contd.)
Single parity check isalso used on rows andcolumns of simple 2-Ddata arrays
Single errors can bedetected and located viathe corresponding rowand columns parity bits
(n-k ) block codes
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez27
(n-k ) block codes
Modulo(2^n 1) checksums are in widespread usefor performing error detection on byte-serial networkconnections
They are usually computed by software during thedata block (or packet construction)
if a message of length w (16 bit) bytes, mw -1 , , m0is to be checksummed, the 1 byte checksum is justthe complement of
Modulo (2^n -1) checksums
=
1
0
)65535(modw
iim
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez28
This code consists offour information digitsand three parity checkdigits
The circles indicate howthe information bits
contribute to thecalculation of each paritycheck bit
(7, 4) Block code
(n-k ) block codes
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez29
the realization of the encoderusing 3-input modulo-2encoders is:
E.g. calculate the parity checkbits for the next informationbits: 1, 0, 1, 1
(7, 4) Block code (contd.)
(7,4) block code hardwaregeneration of three parity check
digits[from Digital Communications ,
Glover/Grantt et al. 1997]
(n-k ) block codes
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez30
(7, 4) Block code (contd.)
The parity checkequations are:
This can beconverted into aparity check matrixH
(n-k ) block codes
-
8/13/2019 BB Channel Coding
6/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez31
Error Control Coding
if there are j errors in n digits with a probability oferror given by P e , the probability of j errors in n digitsis:
Probability of error in n-digit codewords
( ) ( ) ( ) jn jn
e j
e jerrors C P P P = 1
where the last term is a binomial coefficient given by:
( )!!!
jn jn
C jn
=
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez32
Error Control Coding
the probability of having more than a given numberof errors in a codeword can be calculated as:
Probability of error in n-digit codewords (contd.)
Statistical stability controls the usefulness of thisequation
A long block effectively embodies a large number oftrials to determine whether or not an error will occur
( ) =
=>'
0
)(1' R
j
j P errors R P
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez33
Error Control Coding
choosing a code that can correct P en errors in ablock of data will ensure that there are very few casesin which the coding system will fail
This is the rationale for long block codes
The attraction of block codes is that they aresucceptible to precise performance analysis
by far the most important and more suceptible set ofblock codes is the linear group codes
Probability of error in n-digit codewords (contd.)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez34
Error Control Coding
the codewords in a linear group code have a one-to-one correspondence with the elements of amathematical group
Linear group codes contain the all-zeros codewordand have the property referred to as closure
taking any two codewords Cj and Ci then:
Linear group codes
k ji C C C =
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez35
Error Control Coding
Example of a linear group code. The property ofclosure is here demonstrated
Linear group codes (contd.)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez36
Linear Group Codes
Group codes can be divided into two groups cyclic: polynomial generated in simple feedback shiftregisters
non-cyclic: others
The polynomial generated group codes can be furtherdivided into subgroups
binary Bose-Chaudhuri-Hoquenghem (BCH) non-binary Reed-Solomon
Members of the group code family
-
8/13/2019 BB Channel Coding
7/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez37
Linear Group Codes
the minimum Hamming distance between any pair ofcodewords determines the code performance
to determine the overall performance of a block codeall possible codeword pairs would have to be
examined, and their Hamming distances measured
For the case of group codes, however, considerationof each of the codewords with the all-zeros codeword issufficient
Performance prediction
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez38
Linear Group Codes
The weight structure of a set of codewords is just a listof weights of all the codewords
The probability Dij of the i th codeword ( C i ) beingmisinterpreted as the j th codeword ( C j ) depends on the
Hamming distance between these two codewords Since this is a linear group code, the distance Dij isequal to the weight of a third codeword Ck which isusually the modulo2 sum of Ci and Cj
The probability of C k being mistaken by C 0 is equal tothe probability of C 0 being misinterpreted as C k
Performance prediction (contd.)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez39
Linear Group Codes
The maximum possible error correcting power, t , of acode is defined by its ability to correct all patterns of t orless errors
t is related to the codes minimum Hamming distanceby:
Error detection and correction capability
=2
1int min
Dt
and
t e D +=1min
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez40
Linear Group Codes
Longer codes with larger Hamming distances offergreater detection and correction capabilities byselecting different t and e values
(e.g.) Dmin = 7 can offer: t = 1 bit correctionwith e = 5 bit detection
or t = 2 bit correctionwith e = 4
Error detection and correction capability (contd.)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez41
Linear Group Codes
There is a trade-off between rate (efficiency) and errorcorrection power
- An n = 63, k = 57 BCH code gives R = 0.9, with t = 1
- reducing k to 45 gives R = 0.71, with t = 3
- further reducing k to 24 gives R = 0.4, with t = 7
codes with lower rates present higher error correction
power
Error detection and correction capability (contd.)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez42
Error control coding
The two most important strategies for decoding blockcodes are:
Nearest neighbour Maximum likelihood decoding
if the probability of t errors is much greater than theprobability of t +1 errors, both strategies are equivalent
Nearest neighbour decoding is based on nearestneighbour decoding tables
Nearest neighbour decoding of block codes
-
8/13/2019 BB Channel Coding
8/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez43
Error control coding
Nearest neighbour decoding ofblock codes (contd.)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez44
Nearest neighbour decoding of block codes
There is a condition that has to be satisfied for a codeto exist
for a code with codewords of length n, comprising k information digits and having error correcting power t ,the performance upper bound is:
this equation can be derived from the nearestneighbour decoding table for the ( n , k ) code
Hamming bound
t nnn
nk
C C C n +++++
...12
232
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez45
Error control coding
Nearest neighbour decoding ofblock codes (contd.)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez46
Error control coding
The problem with decoding of block codes using thenearest neighbour decoding table is the physical sizeof the table for large n
the syndrome decoding technique provides a solutionto this problem
the rows of the generator matrix G are used to derivethe actual transmitted codewords
Syndrome decoding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez47
Error control coding
The generator matrix G can be used to generate theappropriate n-digit codeword from any given k -digitdata sequence
the H and G matrices for the example (7,4) block codeare:
Syndrome decoding (contd.)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez48
Error control coding
example: if the data sequence is 1 0 0 1- to generate the codeword, the data sequenceis multiplied by G using modulo2 arithmetic
-
8/13/2019 BB Channel Coding
9/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez49
Syndrome decoding
the nearest neighbour decoding table is normally toolarge for practical implementation
a different technique involving a smaller table(called syndrome decoding table) can be used
the syndrome decoding is smaller than the nearestneighbour table by a factor equal to the number ofcodewords in the code set (2^ k )
this is because the syndrome is independent of thetransmitted codeword and only depends on the errorsequence
Syndrome table for error correction
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez50
Syndrome decoding
Example: if d is a message of k digits, G is the k x ngenerator matrix and C is the n-digit codewordcorresponding to the message d, the equation for theprevious example can be written as:
d G = c furthermore
H c = 0 Also
r = c + e
Syndrome table for error correction (contd.)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez51
Syndrome decoding
The product H r is referred to as the syndrome vector s
s = H r = H (c + e )= H c + H e = 0 + H e
s is easy to calculate, and if there are no received
errors, s will be equal to the all zero vector (called 0 ) calculating the vector s provides immediate access tothe vector e and hence to the position of the error
Syndrome table for error correction (contd.)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez52
Syndrome decoding
A syndrome table isconstructed by assumingtransmission of the all-zeros codeword andcalculating the syndromevector associated with
each corresponding errorpattern
Syndrome table for errorcorrection (contd.)
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez53
Syndrome decoding
Example: Assume that the received vector for the (7,4)code is r = 1 0 0 1 1 0 1. Find the correct transmittedcodeword
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez54
Syndrome decoding
Example: For a (6,3) systematic linear block code, thecodeword comprises I1 I2 I3 P1 P2 P3 where the three paritycheck bits P1, P2 and P3 are formed from the information bitsas follows:
Find: a) the parity check matrixb) the generator matrixc) all possible codewordsd) the minimum weighte) the minimum distancef) the error detecting and correcting capability
g) if the received sequence is 1 0 1 0 0 0, calculate thesyndrome and decode the received sequence
211 I I P =312 I I P =323 I I P =
-
8/13/2019 BB Channel Coding
10/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez55
Cyclic codes are a subclass of group codes which do notpossess the all-zeros codeword
the Hamming code is an example of a cyclic code
The properties and advantages of cyclic codes are: their mathematical structure permits higher order correctingcodes
their code structure can be easily implemented in hardware byusing simple shift registers and XOR gates
cyclic code members are a ll lateral, or cyclical, shifts of oneanother
cyclic codes can be represented as, and derived usingpolynomials
Cyclic Codes
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez56
an example of a cyclic code is:
1 0 0 1 0 1 1
0 1 0 1 1 1 0
0 0 1 0 1 1 1
non-systematic codes are obtained by multiplying thedata vector by a generator polynomial with moduloarithmetic
Cyclic Codes (contd.)
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez57
cyclic codes encompass BCH codes and the Reed-Solomon non-binary codes
RS codes operate on the multiple bit symbol principle
An important property of the RS codes is their bursterror correction property
The error correcting power of RS codes is
Reed-Solomon non-binary codes
Error Control Coding
2k n
t =
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez58
systematic Cyclic Redundancy Check (CRCs) are usedfor performing error detection, but not error correction, onbit serial channels
they are combines with ARQ for error correction
if a message of length k bits, m k -1, , m 1, m 0 is to betransmitted over a channel, for coding purposes it may beconsidered to represent a polynomial of order k -1:
Polynomial codeword generation
Error Control Coding
( ) 0111 ... m xm xm x M k k +++=
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez59
the message M ( x ) is modified by the generatorpolynomial P ( x ) as follows:
M ( x ) is multiplied, or bit shifted , by the order of P( x )
the extended (or bit shifted) version of M(x) is thendivided by P ( x )
the remainder is then appended to M ( x ) replacing thezeros which were previously added by the bit shiftingoperation
Polynomial codeword generation (contd.)
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez60
e.g. generate a polynomial codeword from the datasequences a) 1 1 0 0, b) 0 1 0 1 and c) 1 0 1 1, where theleading bit in each codeword represents the first bit toenter the encoder, for the generator polynomial x^3+x+1
Polynomial codeword generation (contd.)
Error Control Coding
-
8/13/2019 BB Channel Coding
11/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez61
e.g. generate a polynomial codeword from the datasequence 1 1 0 0
Sol.1) for M ( x ) = 1 1 0 0 (i.e. x 3 + x 2), the bit shifted
sequence is kM ( x ) = 1 1 0 0 / 0 0 0
Polynomial codeword generation (contd.)
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez62
e.g. generate a polynomial codeword from the datasequence 1 1 0 0
Sol.1) for M ( x ) = 1 1 0 0 (i.e. x 3 + x 2), the bit shiftedsequence is kM ( x ) = 1 1 0 0 / 0 0 0
2) the result is then divided by the polynomialP ( x ) = 1 0 1 1 (i.e. x 3+x+1)
Polynomial codeword generation (contd.)
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez63
e.g. generate a polynomial codeword from the datasequence 1 1 0 0
Sol.
3) The 0s from the shift are replaced by the remainder:the transmitted codeword is 1 1 0 0 0 1 0
Polynomial codeword generation (contd.)
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez64
An encoding circuit, which is equivalent to the longdivision operation from the previous slide is:
Polynomial codeword generation (contd.)
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez65
if the generator polynomial had been x 3 + x 2 + 1,the encoder would have used the next structure:
Polynomial codeword generation (contd.)
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez66
the hardware decoding scheme is the inverse of theencoding scheme
Polynomial codeword generation (contd.)
Error Control Coding
-
8/13/2019 BB Channel Coding
12/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez67
the polynomial generator is chosen so that almost allerrors will be detected
using a generator of degree k allows the detection ofall burst errors affecting up to k consecutive bits
the generator chosen by the IEEE for ATM CRC (usedextensively for LANs) is:
Polynomial codeword generation (contd.)
Error Control Coding
( ) 1245781011121622232632 ++++++++++++++= x x x x x x x x x x x x x x x M
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez68
block codes are widely used in compact disk players.- they employ a powerful concatenated and cross-interleaved RS coding scheme to handle burst errors
burst transmission errors can be minimised by
partitioning data into blocks and then splitting the blocksand interleaving them
using FECC it is possible to correct for a long errorburst (at the expense of the delay required for theinterleaver encoder/decoder function)
Interleaving
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez69
in someapplications bit bybit interleaving isemployed tospread burst errorsacross a datablock prior todecoding
Interleaving (contd.)
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez70
convolutional codes are generated by passing a datasequence through a shift register which has two or moresets of register taps
each set terminates in a modulo-2 adder
the code output is produced by sampling the output ofall modulo-2 adders once per shift register clock period
Encoding of convolutional codes
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez71
the coder output is obtained by the convolution of theinput sequence with the impulse response of the coder
Encoding of convolutional codes (contd.)
Error Control Coding
Example of arate convolutional
encoder
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez72
in this example, the output encoder operation can bedefined by two generator polynomials
the 1 st and 2 nd encoded outputs, P 1( x ) and P 2 ( x ) can bedefined by:
the error correcting power is related to the constraintlength, increasing with longer length or shift registers
Encoding of convolutional codes (contd.)
Error Control Coding
21 1)( x x P +=
x x P +=1)(2
-
8/13/2019 BB Channel Coding
13/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez73
Example: assume the data sequence 1 1 0 1. Calculatethe outputs of the convolutional encoder presented inthe previous slide
Encoding of convolutional codes (contd.)
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez74
The convolutional encoder operation may berepresented by a tree diagram
Tree diagram
Error Control Coding
the tree diagram isconventionally drawn so that
inputting a zero results inexiting the present state bythe upper path while inputtinga one causes it to exit by thelower path
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez75
The Trellis diagram shown here corresponds to theconvolutional encoder of the previous example
Trellis diagram
Error Control Coding
the horizontal linerepresents time, whilethe states are arrangedvertically
on the arrival of eachnew bit, the tree isextended to the right
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez76
In the state transition diagram, the input to theencoder is shown on the appropriate branch, and thecorresponding outputs are shown in brackets outsidethe input
State Transition Diagram
Error Control Coding
a is the startingstate
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez77
There are three main types of decoder: sequential threshold Viterbi
data encoded by modern convolutional coders areusually divided into message blocks for decoding
the convolutional code message ranges between 500
and 10000 bits
Viterbi decoding of convolutional codes
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez78
the Viterbi decoding algorithm is used at every stageof progression through the decoding trellis
it retains only the most likely path to a given node
all other possible paths are rejected as their Hammingdistance is larger
this leads to a linear increase in storage requirementwith block length
Viterbi decoding of convolutional codes (contd.)
Error Control Coding
-
8/13/2019 BB Channel Coding
14/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez79
the Viterbi decoding algorithm implements a nearestneighbour decoding strategy
it picks the path trough the trellis that assumes theminimum number of errors
conceptually, a decoding trellis similar to the encodingone is used
Viterbi decoding of convolutional codes (contd.)
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez80
Example: assume a received data sequence10 10 00 10 10 for the next encoder:
Identify:a) the errorsb) the corresponding transmitted sequence
Viterbi decoding of convolutional codes (contd.)
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez81
Viterbi decoding of convolutional codes (contd.)
Error Control Coding
Received sequence
10 10 00 10 10
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez82
Viterbi decoding of convolutional codes (contd.)
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez83
Viterbi decoding of convolutional codes (contd.)
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez84
there is a practical limitation to the length of datawhich can be retained in the decoder memory whenperforming a Viterbi decoding operation
this limitation is known as the decoding window
in a practical decoder the new distance metrics areadded to the previous path metrics to obtain updatedpath metrics
details of the paths, which correspond to these variousdistances are carried forward in the decoding process
Decoding Window
Error Control Coding
-
8/13/2019 BB Channel Coding
15/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez85
the window lengthshould be longenough to cover allbursts of decodingerrors
however longerlengths involvemore computation
Decoding Window (contd.)
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez86
the memory requirement for long constraint lengths inthe Viterbi algorithms can be reduced by sequentialdecoding
Sequential decoding directly constructs the sequence
of states by performing a distance measure at each step
sequential decoding proceeds forwards until completedecoding is accomplished or the accumulative distanceexceeds a preset threshold
Sequential Decoding
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez87
Viterbi decoding circuit for decoding the trellis of the previous example
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez88
Examples of practical block codes are: the BCH (127,64) => t = 10 the RS(16,8) or (64,32) => t = 4 Golay(23,12)=> t = 3
in general RS codes are attractive for bursty errorchannels where extremely low Pb values (e.g. 10^-10)are required
convolutional codes are favoured for Gaussian noisechannels where more moderate Pb values (10^-6) arerequired
Practical coders
Error Control Coding
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez89
Performance of rate codes for DPSK signals in AWGN with hard decision decoding
Error Control Coding
for a t = 1 BCHcode, the coding gainover the uncodedsystem, at a P b of10^-5 is > 2dB
for the longer t = 3bit BCH (127, 106)code, the coding gainapproaches 4 dB
the t = 4 symbol RScode is inferior to t = 3
bit Golay at high P b
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez90
practical convolutional codes often have constraintlengths of n = 7 with a rate coder, which employs 7delay stages
this requires a decoding window in the trellis of 35 toachieve the theoretical coding gain
Such a coder has a Dmin = 10 and its performance isequivalent to the BCH(127,64) block code
in general, reducing the efficiency, or rate, R of thecoder increases the Hamming distance Dmin between
possible paths and improves the error correcting power
Practical coders (contd.)
Error Control Coding
-
8/13/2019 BB Channel Coding
16/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez91
Summary
Error Control Coding
Error rate control is necessary for many systems toensure that the probability of bit error is acceptably low
Bit error rates may be reduced by: increasing the transmitted power
applying various forms of diversity using echo back and retransmission employing ARQ incorporating FECC
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez92
Summary (contd.)
Error Control Coding
channel codes can be systematic and non systematic
the rate R , of a code, is the ratio of informationtransmitted to total bit transmitted
the Hamming distance between a pair of binarycodewords is a measure of how easily one codewordcan be transformed into another
the weight of a codeword is equal to the number ofbinary ones which it contains
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez93
Summary (contd.)
Error Control Coding
block codes divide the precoded data into k bitlengths and add ( n-k ) parity check bits to create apostcoded block with length n bits
an ( n-k ) block has an efficiency or rate:
single parity check codes are block codes whichappend a single digital one, or zero to each codeword inorder to ensure that all codewords have either an evenor odd weight
nk
R =
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez94
Summary (contd.)
Error Control Coding
data can be arranged in 2-D arrays where parity checkbits are added at the end of the rows and the columns
linear group codes are block codes that contain the allzeros codeword and have the closed set property
the error correcting power, t , of a linear group code isgiven by:
the error detecting power, e, of a linear group code, isgiven by
2
1int min
= Dt
1min = t De
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez95
Summary (contd.)
Error Control Coding
group codes are the most important block codes dueto the ease with which their performance can bepredicted
block codewords can be generated using thegenerator matrix
complete codewords are generated by the product ofthe precoded data vector with the generator matrix
block codes can be easily decoded using the nearestneighbour strategy
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez96
Summary (contd.)
Error Control Coding
the nearest neighbour strategy is equivalent tomaximum likelihood decoding providing thatP (t errors) >> P (t + 1 errors)
nearest neighbour decoding can be implementedusing a nearest neighbour decoding table or asyndrome table
syndrome decoding is advantageous when block sizeis large since the syndrome table for all (single) errorpatterns is much smaller than the nearest neighbourdecoding table
-
8/13/2019 BB Channel Coding
17/17
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez97
Summary (contd.)
Error Control Coding
cyclic codes are linear group codes in which thecodeword set consists of cyclical shifts of any onemember of the codeset
cyclic codes are particularly easily generated usingshift registers with appropriate feedback connections
the syndromes of cyclic codes are also easilycalculated using shift register hardware
CRC codes are systematic cyclic codes which arepotentially capable of error correction, but are oftenused for error detection only
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez98
Summary (contd.)
Error Control Coding
a polynomial representation of a block of informationbits is multiplied by the order of a generator polynomialand then divided by the generator polynomial
the remainder of the division is appended to theblock of information bits to form the completecodeword
convolutional codes are unsystematic and operate onlong data blocks
the encoding of convolutional codes can be describedusing trees, trellis or state diagrams
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez99
Summary (contd.)
Error Control Coding
the Viterbi algorithm is usually used to decodeconvolutional codes
the error correction capability of convolutional codes isnot inherently in excess of that of block codes, but theimplementation of encoders and decoders in the formeris simpler
FECC combinations of block and convolutional codesare widely applied to accommodate random and bursterrors
ESDE505 Digital CommunicationsPresented by Dr. R. Ramirez-Iniguez100
TutorialProblems 10.1, 10.3 10.7Chapter 10, Glover/Grantt
Error Control Coding