Sei sulla pagina 1di 9

J. Appl. Math. & Computing Vol. 21(2006), No. 1 - 2, pp.

545 - 553

DESIGN OF DOUBLE ERROR CORRECTING CODES BASED ON CELLULAR AUTOMATA


SUNG-JIN CHO, UN-SOOK CHOI AND SEONG-HUN HEO

Abstract. Error correcting codes are essential to digital communication system design required exchange and processing of large volumes of data. In this paper, we give an improved encoding and decoding scheme for cellular automata based double error correcting code.

AMS Mathematics Subject Classication : 68Q80 Key words and phrases : Cellular Automata, error correcting code, characteristic matrix, syndrome, PBCA.

1. Introduction The theory of error detecting and correcting codes is that branch of engineering and mathematics which deals with the reliable transmission and storage of data. The coding theory has wide applications not only the elds of study such as physics, chemistry, biology, engineering, etc but also the newest industry elds such as a weather or communications satellite, computer, DVD, etc. In many cases there are transmission errors caused by noise on the channel. Thus we assume that the information and check bits are transmitted from a source to a destination and that a few of the bits may become erroneous in transit. Error correcting code has become an essential means of ensuring data integrity in a variety of applications. The system reliability largely depends on the error-free transfer and error correcting ability of data. For detection of bit errors, parity-checking circuits are usually employed([1], [2]). In 1994, Chowdhury et al.[2] proposed the code which is faster decoding than Hsiao code by using the parity bit generated by Null Boundary Cellular Automata(NBCA). Cho et al.([4]) designed a single error correcting code based on Periodic Boundary CA(PBCA). They reduced check
Received July 28, 2005.

This work was supported by Pukyong National University Research Fund in 2004. c 2006 Journal of Applied Mathematics & Computing and Korean SIGCAM.
545

546

S.J. Cho, U.S. Choi and S.H. Heo

bits more than Chowdhurys result. In this paper, we will give an improved encoding and decoding scheme for cellular automata based double error correcting code.

2. Cellular automata CA are mathematical idealizations of physical systems in which space and time are discrete, and each cells can assume either the value 0 or 1. The cells evolve in discrete time steps according to some deterministic rule that depends only on logical neighborhood. In the simplest case, Wolfram([8]) suggested the use of a simple two-state, 3-neighborhood one-dimensional CA(1-D CA) with cells arranged linearly in one dimension. Each cell is essentially comprised of a memory element and a combinatorial logic that generates the next-state of the cell from the present-state of its neighboring cells-left, right and self. If the next-state generating logic employs only XOR logic, then the CA is called a linear CA([1]). So the global transition function of an n-cell linear CA can be represented in terms of an n n square matrix referred to as the characteristic matrix of the CA. The rules used in a linear CA are shown in Table 1. A uniform CA, where the rules of all the cells are identical, can be characterized by a single rule. In contrast, a hybrid CA, where the rules of the dierent cells vary, can be characterized by a rule vector. rule 60 : rule 90 : rule 102 : rule 150 : rule 170 : rule 204 : rule 240 : qi (t + 1) = qi1 (t) qi (t) qi (t + 1) = qi1 (t) qi+1 (t) qi (t + 1) = qi (t) qi+1 (t) qi (t + 1) = qi1 (t) qi (t) qi+1 (t) qi (t + 1) = qi+1 (t) qi (t + 1) = qi (t) qi (t + 1) = qi1 (t) Table 1. Linear CA Rules On the basis of the properties of state-transition graphs, CA can be broadly classied into two classes - group CA and nongroup CA. While in the statetransition graph of a group CA all states belong to some disjoint set of cycles, the nongroup CA are characterized by the tree-structured transition behavior of acyclic states in the state-transition graph([5], [6]). If the two end cells of a CA are connected to logic 0-state, it is said to be a null boundary CA(NBCA); on the other hand, if the end cells are connected in an end-around fashion, it is called periodic boundary CA(PBCA)([1]).

Design of double error correcting codes based on cellular automata

547

3. PBCA-based double error correcting code 3.1. Encoding First, we propose a very simple scheme for generation of (n, k, 5) double error correcting code using regular structure of CA. The basic idea is to allow the CA to run autonomously for a few cycles with the k information bits(D) loaded as its seed. By using the characteristic matrix of the CA, the k check bits(CB ) are generated. Then the concatenation of k information bits D and k check bits CB is a codeword. By using Corollary 3.2([4]) we can prove the following theorem. Theorem 3.1. A k -cell CA C generate a (n, k, 5) code if the characteristic matrix T of C satises the following two conditions: (a) Every column of T contains at least four 1s. (b) The sum of two (three, four) columns of T is not a zero vector. The following is the algorithm which construct T with the minimum distance 5 by using Theorem 3.1. Algorithm 3.1. Construction-T Step 1. Step 2. Step 3. Construct the characteristic matrix Tk of the given k -cell PBCA with rule < 102, 102, , 102, 150 >. 3 Construct Tk . 3 Change the (1, k )-element of Tk with 1. Add the matrix 1 0 1 0 0 1 0 1 1 0 1 1

Step 4.

Step 5.

to the changed matrix. Let us call this matrix T . Add the rows which dont have 1s at the same positions up to be the matrix with the minimum rows satisfying Theorem 3.1. Let us denote the matrix obtained in Step 4 by T .

The block diagram of the proposed scheme is shown in Figure 1.

548

S.J. Cho, U.S. Choi and S.H. Heo

Figure 1. Generation of codewords with minimum distance 5 Example 3.2. Consider the generation of 5-distance code for 10 information 3 bits (1010101010). Then we obtain T10 and T10 as the following: T = and = 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1

3 T10

By Step 3 we obtain T as the following:

Design of double error correcting codes based on cellular automata

549

T =

1 0 0 0 0 0 0 1 1 0 1 0

1 1 0 0 0 0 0 0 1 1 0 1

1 1 1 0 0 0 0 0 0 1 1 0

1 1 1 1 0 0 0 0 0 0 0 1

0 1 1 1 1 0 0 0 0 0 1 0

0 0 1 1 1 1 0 0 0 0 0 1

0 0 0 1 1 1 1 0 0 0 1 0

0 0 0 0 1 1 1 1 0 0 0 1

0 0 0 0 0 1 1 0 0 0 1 1

1 0 0 0 0 0 1 1 0 0 0 1

By Step 4 we obtain the 9 10 matrix T as the following: 1 0 1 0 1 0 0 1 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1

T =

Therefore the check bit [CB ] = [T ][D] is as the following:

[CB ] = (001011011)T Hence the codeword is (1010101010001011011). Table 2 shows the comparison of the number of check bits obtained by using compression rules on the characteristic matrix T of the PBCA generating a (n, k, 5) code with the number of check bits of the code proposed by Chowdhury et al.([2]). 3.2 Decoding We consider the problem of decoding to correct the erroneous bit positions from the received information word. The rst step in decoding a code is to compute a syndrome. If the received word is w(= (M |CB )), then the syndrome

550

S.J. Cho, U.S. Choi and S.H. Heo

of w can be expressed as S (w) = HwT = H (M |CB )T where H is the parity check matrix formed by concatenating the compressed matrix T with the identity matrix Ik , that is, H = (T |Ik ). Thus we have S (w) = H (M |CB )T = (T |Ik )(M |CB )T = T M Ik CB = T M CB If the syndrome S (w) of a received word w is 0, then the word is assumed to be error free. If S (w) = 0, then errors are detected. Let Me = {e1 , e2 , , ek } and CBe = {ek+1 , ek+2 , , en } denote the error vectors corresponding to the information and check bits in the received word, respectively. Clearly, the received information word M and the received check bits CB can be represented as follows: M = M Me , Now H (M |CB )T H (Me |CBe )T = S
Information bits(k) Check bits(n k) Chowdhury Ours

CB = CB CBe

7 8 9 10 11 12 13 14 15 16 17 18 19 20 32

9 9 9 10 10 11 11 11 11 12 13 13 13 13 17

8 8 9 9 9 9 10 10 10 11 11 12 12 12 16

Table 2. Comparison of check bits of (n, k, 5) code Since H (M |CB )T = 0 , H (Me |CBe )T = S . To convert the parity check matrix H(nk)n into an n n nonsingular square matrix Taug nn , k additional rows are augmented to the H(nk)n . Taug = H(nk)n (Added rows)kn

The following theorem gives an idea for the construction of the augmented matrix for the given compressed matrix.

Design of double error correcting codes based on cellular automata

551

Theorem 3.3. Let A= Then A is invertible and A1 = Proof. It is straightforward. The augmented matrix Taug for the compressed matrix T is dened by Taug = T I I 0 0 I I T T I I 0 .

Since Taug is invertible by Theorem 3.3 and Taug E = (S |Saug )T , the error 1 vector E is represented as E = Taug (S |Saug )T . The proposed decoding algorithm is as follows: Algorithm for error correcting Step 1. Step Step Step Step 2. 3. 4. 5. Compute the syndrome S for the received information word. 1 Compute Taug and Taug . Find Saug corresponding to S by using PLA. 1 Find the error vector E such that E = Taug (S |Saug )T . Find C such that C = C E and output the resulting code.

Example 3.4. For a codeword (1010101010001011011), suppose that there are two errors in positions 4 and 13. That is, the received word is C = (M |CB ) = (1011101010000011011). Then
1 Taug =

Ok(nk) Ink

Ik T(nk)k

. Since S = T D CB = (110100001)T and Saug = (000100000)T , E = (0001000000001000000)T . Hence C = (1010101010001011011). A block diagram of the decoding scheme is shown in Figure 2.

552

S.J. Cho, U.S. Choi and S.H. Heo

Figure 2. Decoding scheme 4. Conclusion In this paper, we designed a new (n, k, 5) double error correcting code using a matrix obtained by compressing the characteristic matrix of the PBCA with the special transition rule. The proposed code eciently reduced the number of check bits. Moreover, algebraic technique is used to give the analysis of Taug . Thus, the proposed scheme can be implemented with fast encoding-decoding hardware and software. The proposed algorithm is possible to correct double errors by the easy and fast analysis of syndrome.

References
1. P.P. Chaudhuri, D.R. Chowdhury, S. Nandy and S. Chattopadhyay, Additive Cellular Automata Theory and Applications, 1, IEEE Computer Society Press, California, 1997. 2. D.R. Chowdhury, S. Basu, I.S. Gupta and P.P. Chaudhuri, Design of CAECC - Cellular Automata Based Error Correcting Code, IEEE Trans. Computers, 43, June 1994, pp. 759-764. 3. S.J. Cho, U.S. Choi and H.D. Kim, Linear nongroup one-dimensional cellular automata characterization on GF(2), J. Korea Multimedia Soc., 4, 2001, pp. 91-95. 4. S.J. Cho, U.S. Choi, Y.H. Hwang, H.D. Kim and S.H. Heo, Design of (n, k, 3) Bit Error Correcting Codes based on PBCA, Submitted. 5. S.J. Cho, H.D. Kim and U.S. Choi, Behavior of Complemented CA Whose Complement Vector is Acyclic in a Linear TPMACA, Mathematical and Computer Modeling, 36, 2002, pp. 980-986. 6. S.J. Cho, H.D. Kim and U.S. Choi, Analysis of complemented CA derived from a linear TPMACA, Computers and Mathematics with Applications, 45, 2003, pp. 689-698. 7. S.J. Cho, H.D. Kim, Y.S. Pyo, Y.B. Park, Y.H. Hwang, U.S. Choi and S.H. Heo, Single error correcting code using PBCA, J. Appl. Math. Comput., 14, 2004, pp. 461-471.

Design of double error correcting codes based on cellular automata

553

8. S.Wolfram, Statistical mechanics of cellular automata, Rev. Mod. Phys., 55, July 1983, pp. 601-644. Sung-Jin Cho received his Ph.D at Korea University. Since 1988 he has been at the Pukyong National University. His research interests focus on Cellular Automata, Cryptography and Coding Theory. Division of Mathematical Sciences, Pukyong National University, Busan 608-737, Korea e-mail: sjcho@@pknu.ac.kr Un-Sook Choi received her Ph.D at Pukyong National University. Since 2006 she has been at the Tongmyoung University. Her research interests focus on Cellular Automata, Cryptography and Coding Theory. Department of Multimedia Engineering, Tongmyoung University, Busan 608-737, Korea e-mail: choies@@pknu.ac.kr Seong-Hun Heo received his masters degree at Inje University. Since 2005 he has been at Gimhae College. His research interests focus on Cellular Automata, Information Security and Coding Theory. Department of Computer and Information Science, Gimhae College, Gimhae 621-908, Korea e-mail: security@@gimhae.ac.kr

Potrebbero piacerti anche