ITC - Mod 5 - Ktunotes - in
ITC - Mod 5 - Ktunotes - in
2 jj 10/25/2018
3 jj 10/25/2018
Perfect codes, Hamming codes, encoding
and decoding
Cyclic codes, polynomial and matrix
descriptions,
generation of cyclic codes, decoding of
cyclic codes
BCH codes, Construction and decoding,
Reed Solomon codes
4 jj 10/25/2018
Perfect codes & Hamming Bound
5 jj 10/25/2018
Perfect codes & Hamming Bound
6 jj 10/25/2018
Perfect codes & Hamming Bound
7 jj 10/25/2018
Perfect codes & Hamming Bound
8 jj 10/25/2018
Hamming Codes
Hamming codes constitute a class of
single-error correcting linear block
codes (n,k) defined as:
n = 2m-1, k = n-m, m>2
The minimum distance of the code dmin = 3
Hamming codes are perfect codes.
Example : m = 3, yielding the (7, 4)
Hamming code with n = 7 and k = 4.
9 jj 10/25/2018
Hamming Codes
10 jj 10/25/2018
Hamming Codes
11 jj 10/25/2018
Hamming Codes
12 jj 10/25/2018
Hamming Codes
13 jj 10/25/2018
Motivation & Properties of cyclic
code
Cyclic code is a linear code that any cyclic
shift of a codeword is still a codeword.
Makes encoding/decoding much simpler, no
need of matrix multiplication.
14 jj 10/25/2018
Cyclic codes
An (n,k) linear code C is cyclic if every
cyclic shift of a codeword in C is also a
codeword in C.
If c0 c1 c2 …. cn-2 cn-1 is a codeword, then
cn-1 c0 c1 …. cn-3 cn-2
cn-2 cn-1 c0 …. cn-4 cn-3
: : : : :
c1 c2 c3 …. cn-1 c0 are all codewords.
15 jj 10/25/2018
Definition
16 jj 10/25/2018
Example: (6,2) repetition code
jj 10/25/2018
Example2: (5,2) linear block code
1 0 1 1 1
G
0 1 1 0 1
is a single error correcting code, the set of
codeword are:
0 0 0 0 0 Thus, it is not a cyclic
1 0 1 1 1 code since, for example,
C the cyclic shift of
0 1 1 0 1
[10111]C is [11011]
1 1 0 1 0
jj 10/25/2018
Example 3
The (7,4) Hamming code discussed before
is cyclic:
1010001 111001000000001111111
1101000 0111001
0110100 1011100
0011010 0101110
0001101 0010111
1000110 1001011
0100011 1100101
19 jj 10/25/2018
Generator matrix of a non-systematic
(n,k) cyclic codes
The generator matrix will be in this form:
g0 g1 gnk 1 gnk 0 0 0
0 g0 g1 gnk 1 gnk 0 0
G 0 0 g0 g1 gnk 1 gnk 0 0
0 0 0 0 g0 gnk 1 gnk
r n
jj 10/25/2018
Cyclic codes
jj 10/25/2018
Cyclic codes
jj 10/25/2018
Cyclic codes
jj 10/25/2018
Cyclic codes
jj 10/25/2018
Cyclic codes
jj 10/25/2018
Cyclic codes
jj 10/25/2018
Cyclic codes
jj 10/25/2018
Cyclic codes
jj 10/25/2018
Cyclic codes
jj 10/25/2018
Cyclic codes
jj 10/25/2018
Systematic Form of Generator Matrix
jj 10/25/2018
Cyclic codes
jj 10/25/2018
jj 10/25/2018
jj 10/25/2018
Encoder for Cyclic codes
jj 10/25/2018
Encoder for Cyclic codes
jj 10/25/2018
Encoder for Cyclic codes
jj 10/25/2018
Cyclic codes
jj 10/25/2018
Syndrome Decoding for Cyclic codes
jj 10/25/2018
Syndrome Decoding for Cyclic codes
jj 10/25/2018
jj 10/25/2018
Cyclic Codes
Some Standard Cyclic BCH Codes
Block Codes Linear
Hamming
Codes
Codes
44 jj 10/25/2018
Table of Some BCH Codes
45 jj 10/25/2018
Burst Correcting Codes
good burst-correcting codes have been
found mainly by computer search.
The length of an error burst, b, is the total
number of bits in error from the first error to
the last error, inclusive.
The minimum possible number of parity-
r 2b
check bits required to correct a burst of
length b or less is given by the Rieger
bound.
The best understood codes for correcting
jjburst errors are cyclic codes. 10/25/2018
Table of Good Burst-Correcting
Codes
47 jj 10/25/2018
Cyclic Redundancy Check
Codes
Shortened cyclic codes
Error-detecting codes
used in automatic repeat request (ARQ)
systems.
Usually concatenated with error correcting
codes
CRC CRC
Error Error
To
Syndro To
Encod Correction Correction
Transmitter me Info Sink
er Encoder Decoder
Checke
r
48 jj 10/25/2018
Performance of CRC Codes
CRC are typically evaluated in terms of their
error pattern coverage
Burst error detection capability
Probability of undetected error
For a (n,k) CRC the coverage, λ, is the ratio of the number
of invalid blocks of length n to the total number of blocks of
length n.
This ratio is a measure of the probability that a randomly
chosen block is not a valid code block. By definition,
Code Coverage
1 2 r
CRC-12
where r is the number of check bits 0.999756
For some near-optima CRC codes, CRC-ANSI 0.999985
see table 5.6.5 CRC-32A 0.99999999977
jj 10/25/2018