Error Correcting Cofe
Error Correcting Cofe
Error Correcting Cofe
Error Modulator
Digital Source Line X(w)
Control (Transmit
Source Encoder Coding
Coding Filter, etc)
Hc(w) Channel
Transmitter
N(w) Noise
+
Error Demod
Digital Source Line
Control (Receive
Sink Decoder Decoding
Decoding Filter, etc) Y(w)
Receiver
BLOCK CODES
Dataword length k = 4
Codeword length n = 7
Source code
Codeword (n
data chopped
101101 1000 bits)
into blocks
Channel
1000 coder
Dataword
(k bits)
Codeword +
Dataword possible errors
(k bits) (n bits)
Channel
Channel
decoder
Error flags
ERROR CONTROL PROCESS
Decoder gives corrected data
May also give error flags to
Indicate reliability of decoded data
Helps with schemes employing multiple layers of
error correction
BASIC DEFINITIONS
Linearity:
If m1 c1 and m 2 c 2
then m1 m 2 c1 c 2
where m is a k-bit information sequence
c is an n-bit codeword.
is a bit-by-bit mod-2 addition without
carry
Linear code: The sum of any two code words is a
codeword.
Observation: The all-zero sequence is a codeword in
every linear block code.
BASIC DEFINITIONS (CONT’D)
Def: The weight of a codeword ci , denoted by
w(ci), is the number of of nonzero elements in the
codeword.
Def: The minimum weight of a code, wmin, is the
smallest weight of the nonzero codewords in the
code.
Theorem: In any linear code, dmin = wmin
1 0 0 0 1 1 0
0 1 0 0 1 0 1
0 0 1 0 0 1 1
0 0 0 1 1 1 1
• So, to obtain the codeword for data word 1011,
the first, third and fourth code words in the list
are added together, giving 1011010
• This process will now be described in more detail
LINEAR BLOCK CODES
An (n,k) block code has code vectors
d=(d1 d2….dk) and
c=(c1 c2……..cn)
The block coding process can be written as c = d G
where G is the Generator Matrix
LINEAR BLOCK CODES – EXAMPLE 1
1 0 1 1 a1 = [1011]
G a2 = [0101]
0 1 0 1
• For d = [1 1], then;
1 0 1 1
0 1 0 1
c
_ _ _ _
1 1 1 0
LINEAR BLOCK CODES – EXAMPLE 2
th
ei 1 if the error has occured in the i location
0 otherwise
The weight of e determines the number of errors.
If the error pattern can be determined, decoding can be
achieved by:
c=r+e
DECODING (CONT’D)
Consider the (7,4) code.
(1) Let 1101000 be transmitted and 1100000 be
received.
Then: e = 0001000 ( an error in the fourth location)
(2) Let r = 1110100. What was transmitted?
c e
#2 0110100 1000000
#1 1101000 0011100
#3 1011100 0101000
The first scenario is the most probable.
SYNDROME DECODING
Decoding Procedure:
1. For the received vector r, compute the syndrome s =
rHT.
2. Using the table, identify the error pattern e.
3. Add e to r to recover the transmitted codeword c.
DECODING (CONT’D)
CYCLIC CODES
x n k d ( x)
c( x) x d ( x) ( x); ( x) Re m
nk
g ( x )
g ( x) x n k g1 x n k 1 ....... g n k 1 x 1