Professional Documents
Culture Documents
IJECET
IAEME
Dhanush.P2,
Kishor S3,
Geethashree A4
Electronics and Communication Engineering, VVCE, P.B. No.206, Vijayanagar, Mysore, India,
Asst. Prof., Electronics and Communication Engineering, VVCE, P.B. No.206, Vijayanagar,
Mysore, India
ABSTRACT
Information and coding theory has applications in telecommunication, where error detection
and correction techniques enable reliable delivery of data over unreliable communication channels.
Many communication channels are subject to noise. BCH technique is one of the most reliable error
control techniques and the most important advantage of BCH technique is both detection and
correction can be performed. The technique aims at detecting and correcting of two bit errors in a
code-word of length 15 bits. A seven bit message was specifically chosen so that ASCII characters
can be easily transmitted.
Keywords: BCH, codeword, encoder, decoder, syndrome
1. INTRODUCTION
In telecommunication, a communication system is a collection of individual communication
networks, transmission systems, relay stations, tributary stations, and data terminal equipment,
usually capable of interconnection and interoperation to form an integrated whole. The components
of a communication system serve a common purpose, are technically compatible, use common
procedures, respond to controls, and operate in union. Telecommunication is a method of
communication (e.g., for sports broadcasting, mass media, journalism, etc.). A communication
subsystem is a functional unit or operational assembly that is smaller than the larger assembly under
consideration.
86
Proceedings of the 2nd International Conference on Current Trends in Engineering and Management ICCTEM -2014
17 19, July 2014, Mysore, Karnataka, India
Proceedings of the 2nd International Conference on Current Trends in Engineering and Management ICCTEM -2014
17 19, July 2014, Mysore, Karnataka, India
Finite fields are important in number theory, algebraic geometry, Galois Theory,
cryptography, and coding theory. The finite fields are classified by size; there is exactly one finite
field to isomorphism of size pk for each prime p and positive integer k. Each finite field of size q is
the splitting field of the polynomial xq - x, and thus the fixed field of the Frobenius endomorphism
which takes x to xq.
Finite fields appear in the following chain of class inclusions: Commutative rings Integral
domains integrally closed domains unique factorization domains principal ideal domains
Euclidean domains fields finite fields.
2. BCH CODES
The BCH codes form a class of cyclic error-correcting codes that are constructed using finite
fields. BCH codes were invented in 1959 by French mathematician Alexis Hocquenghem, and
independently in 1960 by Raj Bose and D. K. Ray-Chaudhuri. The acronym BCH comprises the
initials of these inventors' names.
One of the key features of BCH codes is that during code design, there is a precise control
over the number of symbol errors correctable by the code. In particular, it is possible to design binary
BCH codes that can correct multiple bit errors. Another advantage of BCH codes is the ease with
which they can be decoded, namely, via an algebraic method known as syndrome decoding. This
simplifies the design of the decoder for these codes, using small low-power electronic hardware.
BCH codes are used in applications such as satellite communication, compact disc players,
DVDs, disk drives, solid-state drives and two-dimensional bar codes.
2.1 Description of BCH Cyclic Codes
BCH codes are a generalization of Hamming codes, and they can be designed to be able to
correct any error pattern of size t or less [1, 2, 4]. In this sense the generalization of the Hamming
codes extends the design of codes for t = 1 (Hamming codes) to codes for any desired higher value of
t (BCH codes). The design method is based on taking an LCM of appropriate minimal polynomials.
For any positive integer m 3 and t < 2m1, there exists a binary BCH code CBCH(n, k) with the
following properties:
Code length
: n = 2m 1
Number of parity bits
: n k mt
Minimum Hamming distance : dmin 2t + 1
Error-correction capability
: t errors
These codes are able to correct any error pattern of size t or less, in a code vector of length
n, n = 2m 1. The generator polynomial of a BCH code is described in terms of its roots, taken
from the Galois field GF(2m). If is a primitive element in GF(2m), the generator polynomial g(X) of
a BCH code for correcting t errors in a code vector of length n = 2m 1 is the minimum-degree
polynomial over GF(2) that has , 2, . . . , 2t as its roots given by Eq. (1).
g(i) = 0, i = 1, 2, . . . , 2t
(1)
It also true that g(X) has i and conjugate as its roots. On the other hand, if i(X) is the
minimal polynomial of i then the LCM of 1(X), 2(X), . . . ,2t(X) is the generator polynomial
g(X) given by Eq. (2).
g(X) = LCM{ 1(X), 2(X), . . . , 2t(X)}
88
(2)
Proceedings of the 2nd International Conference on Current Trends in Engineering and Management ICCTEM -2014
17 19, July 2014, Mysore, Karnataka, India
However, and due to repetition of conjugate roots, it can be shown that the generator
polynomial g(X) can be formed with only the odd index minimal polynomials given by Eq. (3).
g(X) = LCM{ 1(X), 3(X), . . . , 2t1(X)}
(3)
Since the degree of each minimal polynomial is m or less, the degree of g(X) is at most mt.
As BCH codes are cyclic codes, this means that the value of n k can be at most mt. The
Hamming codes are a particular class of BCH codes, for which the generator polynomial is g(X) =
1(X). A BCH code for t = 1 is then a Hamming code. Since is a primitive element of GF(2m), then
1(X) is a polynomial of degree m. [1][2]
3. DESIGN AND ARCHITECTURE
BCH codes are a generalization of Hamming codes, and they can be designed to be able to
correct any error pattern of size t or less.
3.1 Design specifications
In our system design of (15, 7) BCH code,
m=4
Code word length= 15,
Information length = 7,
Parity bits length = 8,
Block length = n = 2m 1 = 24 1 = 15,
Number of parity bits = (n k) mt; nk = 157 = 8; mt = 4*2 = 8,
Therefore (n k) = mt
Minimum distance = dmin 2t +1; dmin 4+1=5
These codes are able to correct any error pattern of size 2 or less, in a code vector of length n, n
= 2 1. The generator polynomial of a BCH code is described in terms of its roots, taken from the
Galois field GF (2m).
m
Proceedings of the 2nd International Conference on Current Trends in Engineering and Management ICCTEM -2014
17 19, July 2014, Mysore, Karnataka, India
The Decoder module will calculate syndrome for the received codeword and then determine
the position of error bits using the same. Here error is corrected by flipping the error bits. Finally,
error free original message is retrieved back as the output of decoder.
3.3 Encoder Design
The 7 bit information is represented by {u0, u1, u2, u3, u4, u5, u6}, then polynomial notation
can be used to show the information such as equation. Here, the bit position n from 0 to 7
corresponds to the power of x such as Xn. The polynomial notation of information is given by
Eq. (4).
U(X) = u0 + u1.x1 + u2.x2+ u3.x3+ u4.x4+ u5.x5+ u6.x6
(4)
The 8-bit parity bits {r0, r1, r2, r3, r4, r5, r6, r7} can be represented by Eq. (5)
R(X) = r0 + r1.x1 + r2.x2+ r3.x3+ r4.x4+ r5.x5+ r6.x6+ r7.x7
(5)
r0, r1, , r7 bits are 8 bits parity bits. These parity coefficients are 0 to 7th power of x. and
Information coefficients are 8 to 14th power of x. Then 15 bits Encoded information can be
represented by Eq. (6).
SB(X) = r0 + r1.x1 + r2.x2+ r3.x3+ r4.x4+ r5.x5+ r6.x6 + r7.x7+ u0.x8 + u1.x9 + u2.x10+ u3.x11
+ u4.x12+ u5.x13+ u6.x14
(6)
In BCH code, R(x) is remainder of U(x)*x8 divided by G(x). U(X).x8 is given by Eq. (7)
U(X).x8 = u0.x8 + u1.x9 + u2.x10+ u3.x11+ u4.x12+u5.x13+ u6.x14
(7)
G(x) = 1+x4+x6+x7+x8
(8)
(9)
However, during this computation, addition and/or subtraction between coefficients shall be
replaced by ex-or computation because of Galois field.
Fig. 3 shows the encoder circuit example. SIN input port receives information bits from u6,
u5down to u0. During this input sequence, the switch is connected to A terminal in order to pass
those u6..u0 signal to the output SB port and to the shift registers. Since the U(x)*x8 mod G(x)
is calculated, Eq. (10) is used to reduce the power of the polynomial of Eq. (7). Therefore,
x8 = 1+x4+x6+x7
(10)
The above equation means that if the coefficients of x8 = 1, coefficients of 0, 4, 6, 7th will be
exored with 1. Consequently, after inputting all u6to u0 to the registers, remainder will be
90
Proceedings of the 2nd International Conference on Current Trends in Engineering and Management ICCTEM -2014
17 19, July 2014, Mysore, Karnataka, India
calculated. Then after, the switch is connected to B terminal, remainder r7.. r0 will be shifted out
to SB terminal. The detail operation is shown in Fig. 4.
(11)
i.e., r7=r6=r4=r0=1.
Since this operation happens in cycle 7 (last cycle of switch A period), the values are just
shift out at the cycles from 8 to 15 as shown in Fig. 5.
Proceedings of the 2nd International Conference on Current Trends in Engineering and Management ICCTEM -2014
17 19, July 2014, Mysore, Karnataka, India
(12)
SB(X) = u0.x8 + u1.x9 + u2.x10+ u3.x11+ u4.x12+u5.x13+ u6.x14 + r0 + r1.x1 + r2.x2+ r3.x3+r4.x4+ r5.x5+
r6.x6+ r7.x7
(13)
SB(x) given by Eq. (13) can be divided by G(x) and if remainder is 0, it can be judge that no
error exists in a code. Actually, BCH(15,7) can correct 2 bit errors in 15 bits codes. The generator
polynomial G(x) is given by Eq. (14).
G1(x) = 1+x+x4
G2(x) = 1+x+x2+x3+x4
G(x) = G1(x).G2(x)
G(x) = (1+x+x4).(1+x+x2+x3+x4)
G(x) = 1+x4+x6+x7+x8
(14)
Then, SB(x) can be divided by either G1(x) or G2(x). If no error in a code, both remainder of
G1(x) and G2(x) are both 0s.
SB(x) is transmitted. Then R(x) is received. If no error happened during transmission, R(x)
can be divided by both G1(x) and G2(x). Here we define Syndrome S1(x) = remainder of R(x) divided
by G1(x), S2(x) = remainder of R(x) divided by G2(x). Since both G1(x) and G2(x) is 4th order
polynomial, syndromes are power of 3 or less polynomials given by Eq. (15) and Eq. (16).
S1(x) = s10 + s11x1 + s12x2+ s13x3
(15)
(16)
92
Proceedings of the 2nd International Conference on Current Trends in Engineering and Management ICCTEM -2014
17 19, July 2014, Mysore, Karnataka, India
According to the coefficients (S10, S11, S12, S13) andS20, S21, S22, S23), error status can be
obtained. Since those coefficients are only 8 bits, then totally only 256 cases exists. Fig. 7 shows the
relation between 8 coefficient bits and error status.
The first cell (in Fig. 7) corresponds to syndrome = 0. This cell indicates no errors in code.
BLUE cells are corresponds to 1 bit error. Totally 15 cells are blue cells. The number in the blue cell
indicated the position of the error. Since the error is bit error, error can be recovered by flip the value
at the error position. The RED cell corresponds to 2 bit error. There are 15*14/2=105 cells. Each cell
indicates two error position values. Other 135 empty cells are more than 3 bit errors. The error
cannot be recovered.
In decoding, the two key functions are syndrome computation and Table access.
Proceedings of the 2nd International Conference on Current Trends in Engineering and Management ICCTEM -2014
17 19, July 2014, Mysore, Karnataka, India
94
Proceedings of the 2nd International Conference on Current Trends in Engineering and Management ICCTEM -2014
17 19, July 2014, Mysore, Karnataka, India
Proceedings of the 2nd International Conference on Current Trends in Engineering and Management ICCTEM -2014
17 19, July 2014, Mysore, Karnataka, India
5. CONCLUSION
A string of ASCII characters were successfully transmitted and received over the noisy
channel. One or two bits of the code-word were randomly flipped during its transmission over the
channel. The performance of the error control system was appreciable in detection and correction of
maximum two bits errors in each codeword of length 15. C model was developed to mimic the
operations of encoder, error introduction module and decoder to verify their performance and
synchronization.
REFERENCES
[1]
[2]
[3]
[4]
S. Lin, and D.J. Costello Jr. - Error Control Coding, Prentice-Hall, New Jersey, 1983.
Claude E. Shannon and Warren Weaver, The Mathematical Theory of Communication,
Chicago: University of Illinois Press, 1963.
LSI Design Contest 2010, Okinawa - http://www.lsi-contest.com/index_e.html
Vera Pless, Introduction to the Theory of Error Correcting Codes, 2nd ed., New York:
John Wiley & Sons, 1989.
96