Cyclic codes can be realized by the generating matrix, G.
•
The G can constructed from
g
(
x
) by first constructing the parity
submatrix, P, as
1. 1
st
row of P: Rem (
x
n – 1
/
g
(
x
))
2. 2
nd
row of P: Rem (
x
n – 2
/
g
(
x
))
3. :
4. k
th
row of P: Rem (
x
n – k
/
g
(
x
))

ECE 550 Communication Theory –
Channel Coding
Hafiz Malik
Example
Decoding of Cyclic Codes
•
For the cyclic code (7, 4) with
,
assume a received vector
y
= (1 1 0 0 0 0 0)
3
( )
1
g x
x
x
Because
s
(
x
) =
x
, the syndrome vector is
s
=(0 1
0). This corresponds to the error pattern (0 0 0 0 0
1 0) from Table 15.2. The decoded codeword is
therefore
y
= (1 1 0 0 0 0 0) + (0 0 0 0 0 1 0)
= (1 1 0 0 0 1 0)

ECE 550 Communication Theory –
Channel Coding
Hafiz Malik
Cyclic Code Generation: Example
•
Consider Hamming (7,4,3) code with generating polynomial
g
(
x
) = x
3
+ x
2
+ 1
Construct G and H matrixes

ECE 550 Communication Theory –
Channel Coding
Hafiz Malik
Example 15.5

ECE 550 Communication Theory –
Channel Coding
Hafiz Malik
Decoding of Cyclic Block Codes
•
For decoding we exploit that fact that
c
(
x
) is devisable by
g
(
x
), if an
errors during transmission, then the received polynomial
r
(
x
) will not
be multiple of
g
(
x
).
•
If the number of errors in
r
(
x
) are correctable then,
r(
x
) / g(
x
) = m(
x
) + s(
x
)
where syndrome polynomial
s(x) =
Rem (r(x) / g(x) )
has degree n – k – 1 or less.
Let
e
(
x
) be the error polynomial, then,
r(x) =
c(x) + e(x)
s(x) = Rem (e(x)/g(x))

ECE 550 Communication Theory –
Channel Coding
Hafiz Malik
BCH and Reed-Solomon Codes
•
The BCH (Bose-Chaudhuri-Hocqunghen) codes is class of
random cyclic codes.
•
For m > 0 and t (t < 2
m
-1 ),
there exist a t-error correcting code (n, k) with
n = 2
m
-1, n – k <= mt, and
2t+1<= d
min
<= 2t + 2
•
Easy implementation makes them very popular.
•
Hamming code is a special case of BCH codes.
•
Reed-Solomon codes are a special case of
nonbinary
BCH codes
–
Applications: DVD, CD-ROM, HDTV, high speed modems, boardband
wireless systems, etc.

ECE 550 Communication Theory –
Channel Coding
Hafiz Malik
CRC Codes for Error Detection
•
The CRC (Cyclic Redundancy Check) codes are used for error detection
in the received data.
•
The CRC codes are cyclic codes designed to detect errors at the
reviewer.
•
For integrity verification of the transmitted data packet, each packet at
the transmitter is encoded by CRC codes of length
n
<= 2
m
– 1 with
code generating polynomial
g
(
x
) =
(1 –
x
)
g
c
(
x
)
where
g
c
(
x
) is generator polynomial of a cyclic Hamming code
•
The most commonly used
m
= 12, 16, 32
1
:
1
:
16
1
:
12
1
:
8
5
12
16
2
15
16
1
2
3
11
12
2
4
6
7
8
x
x
x
CCITT
CRC
x
x
x
CRC
x
x
x
x
x
CRC
x
x
x
x
x
CRC

ECE 550 Communication Theory –
Channel Coding
Hafiz Malik
Probability of Codeword Error: HD Decoding
•
The probability of codeword error,
P
cw
(
e
), is defined as the
probability that a transmitted codeword is decoded in error
•
Under hard-decision decoding, an (
n
,
k
,
d
min
) block code can
correct
t
or fewer errors if
d
min
2
t
+ 1
•
Thus a received vector may be decoded in error if it contains
more than
t
errors. Therefore,
P
cw
(
e
) can be expressed as
•
By the application of union bound, we can write
1
(
)
1 or more errors in codeword of length
errors in codeword of length
cw
n
j
t
P
e
P t
n
P
j
n


You've reached the end of your free preview.
Want to read all 81 pages?
- Winter '18
- Coding theory, channel coding, Hafiz Malik