Error Control Coding Techniques incomplete - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Error Control Coding Techniques incomplete

Description:

One (more than one) factor(s) may change the shape of transmitted ... Ingenious error correcting decoding methods have been devised for specific cyclic codes. ... – PowerPoint PPT presentation

Number of Views:372
Avg rating:3.0/5.0
Slides: 35
Provided by: stude993
Category:

less

Transcript and Presenter's Notes

Title: Error Control Coding Techniques incomplete


1
Error Control Coding Techniques(incomplete)
  • Summarized by
  • Neetesh Purohit
  • Lecturer, IIIT,
  • Allahabad, UP, India
  • http//profile.iiita.ac.in/np/

2
Source
  • Communication Systems, IV Edition, A. B.
    Carlson and others, McGraw Hills.

3
Why an Error occurs?
  • Noise/ distortion/ interference/ fading.
  • All the above parameters have random
    characteristics.
  • One (more than one) factor(s) may change the
    shape of transmitted signal while it travels thru
    channel.
  • Due to randomness sometimes the received signal
    may fall on the other side of the threshold level
    used for signal detection which introduces an
    error.

4
Commercial advantages of Coding
  • Coding gains can give as much as 10 dB
    performance improvement.
  • VLSI and DSP chips are cheaper than higher power
    transmitters, bigger antennas

5
Types of Channel Coding
  • Waveform
  • M-ary signaling
  • Bipolar signaling
  • Orthogonal
  • Trellis-coded modulation
  • Structured Sequences
  • Block Codes, cyclic codes
  • Convolutional Codes
  • Turbo Codes

6
Concept of redundancy
  • Systematic generation and addition of redundant
    bits to the message bits, at the transmitter,
    such that transmission errors can be minimized by
    performing an inverse operation, at the receiver.
  • Example triple repetition codes
  • Logic 0 - 000
  • Logic 1 - 111
  • It has the ability to correct one bit error and
    detect two bit error.

7
Code vectors, Hamming Distance
  • n-bit codeword can be represented as a code
    vector in a n-dimensional vector space. Each unit
    weight vector represents a unique
    dimension/direction.

001
011
111
101
000
010
100
110
8
  • Only 2k are valid code vectors out of 2n total
    possible unique vectors.
  • The distance between two code vectors is measured
    as the weight of the resultant when mod-2
    addition is done on these vectors.
  • The minimum distance between all possible pairs
    of valid code vectors is called the hamming
    distance (dmin).

9
6-D Code Space
10
Error control capability , Code rate
  • Detect up to t errors
  • dmin gt t1
  • Correct up to t errors
  • dmin gt 2t1
  • Code Rate (Rc)
  • Rc k/n
  • A good code should have
  • High dmin and Rc should be close to 1.

11
Triple repetition codes
  • If probability of transmission error of a
    channel is x per bit and Triple repetition
    codes are used. Calculate the probability that
    the received word will be in error when
  • (a) it is used for error correction
  • (b) It is used for error detection

12
  • Pwe,uncoded x
  • - With triple repetition code
  • Pwe,detection P(3,3) x3
  • Pwe,correction P(2,3) P(3,3) 3x2 -2x3
  • - For any channel with xltlt1
  • Pwe,uncoded gt Pwe,correction gt Pwe,detection
  • - The cost is paid in terms of reduction in bit
    rate.

13
FEC and BEC systems
  • In FEC systems the receiver processes every
    received data packet. (sometimes it may introduce
    more errors instead of correcting an existing
    error).
  • BEC systems uses error detecting codes and
    retransmission of packet is requested for error
    correction. Any one of the following ARQ
    protocols can be used for this purpose
  • (a) Stop and wait (b) Go Back to n (c) Selective
    repeat

14
ARQ Techniques
15
Error Detecting codes
  • Horizontal Redundancy Check (HRC)
  • Vertical Redundancy check (VLR)
  • Cyclic Redundancy Check (CRC)
  • Checksum

16
Classification of codes
  • Error detecting/correcting.
  • Systematic/nonsystematic
  • Binary/nonbinary
  • Block (includes cyclic codes)/convolutional
  • Recursive/nonrecursive

17
Linear Block codes (n,k)
  • Linearity Property
  • All zero vector must be a valid code vector
  • Sum of any two valid code vectors produces
    another valid code vector.
  • Advantage of linearity?

18
  • Requirement for Systematic codes
  • Xkxn Mkxk Ckxq
  • If G be the generator matrix such that
  • XMG
  • then G must be given as Ik P.
  • What should be the dimension of P?

19
  • The contents of P will produce the redundant bits
    for a given message, thus governs the hamming
    distance and error correcting capability of
    generated code.
  • Can we generate a block code for a specified
    hamming distance?
  • Can we generate a block code for a specified
    hamming distance with a constraint on n and k??

20
  • Till date, no such method is proposed by any
    researcher. (surprised?? But there are reasons.)
  • A large number of good block codes have been
    proposed using hit and trial method.
  • Hamming codes have single bit error correction
    capability i.e. dmin 3, qgt3 and n2q-1 (why??
    It will be clear very soon).
  • The parity matrix for generation of Hamming codes
    should contain all q-bit words with two or more
    than two 1s arranged in any order.

21
(7,4) Systematic Hamming code
  • The codewords for P 101 111 110 011

22
Syndrome Decoding
HT P Iq
HT P Iq
  • XiHT (0 0 0 . . . . .0)1xq
  • If there is any error then Yi Xi Ei
  • The operation YiHT will generate a non zero
    (1xq) vector called syndrome (S).

23
  • The Receiver already posses a syndrome table. The
    generated syndrome (from previous operation) is
    searched in it to find the corresponding error
    vector can be obtained.
  • This error vector is added with Yi to get Xi. as
    Yi Ei Xi Ei Ei Xi .
  • How does the receiver already has a syndrome
    table?

24
  • S YHT EHT
  • All possible error patterns E are already known
    (depending upon error correcting capability of
    code) and HT is also a known quantity.
  • Hence, If a code is to correct up to t errors
    per word then
  • 2q 1 gt n nC2 nC3 . . . . . . nCt
  • (Total no. of syndromes - 1) gt (possible error
    patterns)

25
Syndrome table
To accommodate the syndrome table the decoder
needs to store (qn)2q bits. Larger is the table
size more time will be required to find error
vector thus decoding delay will be increased.
26
Cyclic codes
  • 2q 1 gt n nC2 nC3 . . . . . . nCt
  • qLog (2) gt log? nCi 0ltiltt base 2
  • n k n(1-k/n) log ? nCi
  • 1 Rc (1/n)log ? nCi
  • Rc should be close to unity in order to minimize
    overhead but it requires ngtgt1 which in turn
    requires more memory space and decoding time.

27
  • The solution lies in imposing some constraint on
    structure.
  • cyclic codes are a subclass of linear block codes
    with a cyclic structure that leads to more
    practical implementation.
  • Every cyclic shift of a valid code vector will
    produce another valid code vector.
  • (see the table in slide no. 21)

28
  • A n bit codeword X can be represented in
    polynomial form as
  • X(p) xn-1pn-1xn-2pn-2..x1px0
  • Power of p ( i) will denote the position of
    codeword bit presented by its coefficient xi.
  • Xi may be either zero or one. i.e. the code word
    is X (xn-1 xn-2 .. x1 x0)
  • As per cyclic property X (xn-2 .. x1 x0
    xn-1) and all other iterations will also be valid
    codes.

29
  • How the first code should be generated?
  • If a code word has n bits then at the most n
    different codewords can be generated by
    iteration.
  • if the message size is k bits such that 2k gt n
    then how the other codewords should be generated?

30
Generation of cyclic codes
  • Mathematically the cyclic shift may also be
    represented as
  • X(p) pX(p) xn-1(pn1)
  • How? (The answer is mod-2 algebra)
  • Let X(p)M(p)G(p). If G(p) is a factor of
    (pn1) and M(p) is a k-bit message then the
    aforesaid condition for cyclic codes will be
    satisfied.

31
  • If there are more than one factor of (pn1)?
  • Choose any factor. It will generate a valid
    cyclic code but it may not possess optimum error
    correcting capability.
  • How to find value of n or select a factor of
    (pn1) to maximize coding benefits?
  • (my answer is hit and trial method)
  • Hamming codes, BCH codes, Golay codes etc. are
    examples of cyclic codes.

32
Systematic cyclic codes
  • For (n,k) code (qn-k) the requirement is
  • X(p) pqM(p) C(p)
  • Combining with cyclic property
  • M(p)G(p) pqM(p) C(p)
  • M(p) pqM(p)/G(p) C(p)/G(p)
  • pqM(p)/G(p) M(p) C(p)/G(p)

33
  • On performing the division pqM(p)/G(p) the
    q-bit remainder will be the required code bits
    C(p) for the given message M(p).
  • Generate X(p) for a message using the above
    method. Then find other possible codewords by
    iteration.
  • Complete the code table for all possible messages
    by repeating step 2.

34
Advantages of Cyclic codes
  • Simplified encoding.
  • Easy syndrome calculation S(p) remY(p)/G(p)
  • Ingenious error correcting decoding methods have
    been devised for specific cyclic codes. They
    eliminate the storage needed for table lookup.
  • Cyclic Redundancy Codes (CRC), a class of cyclic
    codes, has ability to detect burst errors of
    length q, all single bit errors, any odd number
    of errors if (p1) is a factor of G(p), Double
    errors if G(p) has at least three 1s.
Write a Comment
User Comments (0)
About PowerShow.com