BB Channel Coding

download BB Channel Coding

of 17

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