• No results found

The theory of coding and decoding of binary information and error detection

N/A
N/A
Protected

Academic year: 2020

Share "The theory of coding and decoding of binary information and error detection"

Copied!
16
0
0

Loading.... (view fulltext now)

Full text

(1)

THE THEORY OF CODING AND DECODING OF

BINARY INFORMATION AND ERROR DETECTION

Abstract: A communication process may take place in a variety of ways e.g. by making a telephone call, sending a message by a telegram or a letter , using a sign language etc. In all such cases the process involves the flow of some information carrying commodity which is conveyed from a sender to receiver. The information carrying commodity can vary from music to speech to electricity to water to a sequence of binary digits etc. In this paper we introduce some new coding and decoding functions and minimize the error in a distortion of the commodity being transmitted and correct the error.

Keywords: Code word, encoding functions, decoding functions, weight, and parity check code & distance function.

1. INTRODUCTION

In today’s modern world of communication, data items are constantly being transmitted from point to point. This transmission may result from the simple task of a computer terminal interacting with the mainframe 200 feet away via satellite that is parked in an orbit 20,000 miles from the earth, or from a telephone call or letter to another part of the country. The basic problem in transmission of data is that of receiving the data as sent and not receiving a distorted piece of data. Distortion can be caused by a number of factors. Coding theory has developed techniques for introducing redundant information in transmitted data that help in detecting, and sometimes in correcting, errors. Some of these techniques make use of group theory. Another entirely different problem that arises frequently in the transmission of data is that modifying the data being sent so that only the intended recipient is able to reconstitute the original data. These messages are transmitted in terms of codes. These transmitted messages to be corrupted by the presence of noise. Peripherals equipment associated with such system is by far the most unreliable component of these systems, and both error detection and error correcting codes is important first, it facilitates finding the properties of a code second and more importantly it makes the hardware

Jayesh Tiwari Associate Professor Department of Computer science Shri Vaishnav Institute of Management Devi-Ahilya University, Indore -452009

Madhya Pradesh, India.

Rajendra Tiwari Professor

Department of Mathematics Govt. Madhav Science College

Vikram University

(2)

realization of such codes which have been designed. The first part of this section is concerned with a simple communication models and the basic notion of error correction. The second part of the section deals with the design of codes. The last subsection is concerned with the topic of error recovery in which Lagrange’s theorem and the theory of Cossetsplay an important role.

2. OBJECTIVES

(1) To introduce some new coding and decoding functions. (2) Minimize the error in a distortionof the commodity being transmitted. (3) Correct the error.

Preliminaries:Now we begin with some definitions & basic theorems.

Definition 1.1:Word– A word is sequence of letters (symbols) from alphabets.

Definition 1.2 :Code- A collection of words, used to represent distinct messages is called a code.

Definition 1.3:Codeword’s:- codeword’s is a word in a code.

Definition 1.4 :Block code A block code is a code which consists of the words of same length.

Definition 1.5Sentences:Group of words with proper meaning is called a sentence.

Definition 1.6 Weight of the word: For any word x є Bm the numbers of 1’s in word x is called the

weight of the word x and is denoted by │x│.

Find the weight of each of the following words in B5:

(1) x=01000 (2) x=11100 (3) x=00000 (4) x=11111 .

Here weights of the word x are │x│=1, │x│= 3, │x│=0, │x│=5. Respectively

Definition 1.7 Messages: The basic unit of information, called a message, is a finite sequence of characters from a finite alphabet.

Definition 1.8Encoding Function:A one-to-one function f : Bm→ Bnthe function f is called an (m,n)

encoding function if every word in Bmas a word in Bn.

Definition 1.9Decoding Function: Suppose f : Bm Bn, is an (m,n) encoding function. If we define

onto function f-1: Bn Bmsuch that if f-1(xt)= b’ є Bmand transmission channel has no noise , then

(3)

Definition 2.0 Composition table:wechoose our alphabet the set { 0,1} every character or symbol that we want to transmit is now represented in binary form a word is a sequence of m 0’s and 1’s. The set B is a group under binary operation + whose composition table is shown. Since B is a group Z2 then + is

merely mod 2 addition then Bm = B B B……. B(m factors) is a group under the operation + defined

by

(x1,x2,x3,,,,,,,,,,,,,,,,xm) + (y1,y2,y3,,,,,, ym,) = (x1 +y1, x2+y2,,,,,,,,,,,,,,xm+ym) Its identity is 0=(0,0,0,…..0)

and every element is its own inverse. An element in Bm will be written as (b1,b2,b3,…..bm) observe that

Bm has 2m elements. That is , the order of the group Bmis 2m.

Table 1:Composition Table

+ 0 1

0 0 1

1 1 0

Methodology (The Process of sending Messages):The basics process of sending a word from one point to another point over a transmission channels an element x є Bmis sent through the transmission channel

as an element xtє Bm.

Figure 1:Process of sending Messages

In the actual practice, the transmission channel may suffer disturbances, which are generally called noise, due to weather inference, electrical problems, and so on, that may cause a 0 to be received as a 1, or vice versa. This erroneous transmission of digits in a word being sent give rise to the situation where the word received is different from the word that was sent that is, x ≠ xt.If an error does occur, then xtcould be any

element of Bm. The basic task in the transmission of information is to reduce the likelihood of receiving a

word that differs from the word that was sent. We define a one-to-one function f : Bm→ Bnthe function f

is called an (m,n) encoding function if every word in Bmas a word in Bn. If b є Bm, then f(b) is called

Word x є B

m

transmitted

Word x

received

t

є B

n

Word x є B

m

transmitted

(4)

the code word representing b. The additional 0’s and 1’s can provide the means to detect or correct errors produce in the transmission channels. We transmit the code words by means of a transmission channel then each code word x= f(b) is received as the word xtin Bn. This situation is illustrated

following figure.

Figure 2: Transmission of encoding function

Observe that we want an encoding function f to be one to one so that different words in Bm will be

assigned different code words. If the transmission channel is noiseless, then xt= x for all x in Bn. in this

case x=f(b) is received for each b є Bmand since f is a known function , b may be identified. In general

errors in transmission do occur. We will say that the code word x=f(b) has been transmitted with k or fewer errors if x and xt is not a code word ( thus xtcould not be x and therefore could not have been

transmitted).

Theorem 1.1: An (m,n) encoding functionf : Bm → Bn can detect k or fewer errors if and only if its

minimum distance is at least k+1.

Proof: Suppose that the minimum distance between any two code word is at least k+1. Let Word b є Bm

and let x=f(b) є Bnbe the code word representing b. Then x is transmitted and is received as xt. If xtwere

a code word different from x, then xt)≥ K+1, so x would transmitted with k+1 or more errors. Thus,

if x is transmitted with k or fewer errors, then

xtcannot be code word. This means that f can detect k or fewer errors.

Conversely, suppose that the minimum distance between code words is r≤k, and let x and y be code words with y)=r. If xt=y, that is,if x is transmitted and mistakenly received as y, then r≤k errors have been

committed and have not been detected. Thus it is not true that f can detect k or fewer errors.

MAIN RESULTS

Here we define encoding functions .i.e( f. : Bm → Bn) and find out the error in a distortion of the

commodity being transmitted.

Encoded Word

x=f(b) є B

n

Word b є B

m

transmitted

Word x

t

є B

(5)

a) Consider the following (m, 4m) encoding function f. : Bm→ Bn.

If b=b1b2b3…….bmє Bm,

Define by f(b) = f(b1b2b3….bm)=b1b2….bmb1b2…bmb1b2..bmb1b2..bm. That is, the encoding

function f repeats each word of Bmfour times.

Let m=4 then following code words are possible.

f(0000)=0000000000000000 f(0001)=0001000100010001 f(0010)=0010001000100010

f(0100)= 0100010001000100 code word f(1000)=1000100010001000

f(0011)=0011001100110011 f(1100)=1100110011001100 f(1010)= 1010101010101010 f(1001)= 1001100110011001 f(0110)= 0110011001100110 f(0101)= 0101010101010101

f(1110)= 1110111011101110 code words f(1101)= 1101110111011101

f(1011)= 1011101110111011 f(0111)= 0111011101110111 f(1111)= 1111111111111111

Suppose now that b=0101. Then f (b) i .e. f(0101)= 0101, 0101, 0101,0101. Assume now that the transmission channel makes an error in darkened number and we receive the word 0111010101010101. This is not a code word, so we have detected the error. It is not hard to see that any single error and any two errors can be detected.

b) Consider the following encoding function f : Bm→ Bm+1is called parity(m, m+1) check code.

(6)

f(b) =f(b1b2…bm)= b1b2….bmbm+1,

where bm+1= { 0 if │b│is even

{ 1 if │b│ is odd.

Observe that bm+1is zero if and only if the numbers of 1’s in b is an even number .It then follows

that every code word f(b) has even weight. A single error in the transmission of a code word will change the received word to a word of odd weight and therefore we can easily detect the error code words. Similarly we can see bm+1is 1 if and only if the number of 1’s in b is an odd number.

It then follows that every code word of f(b) has odd weight. A single error in transmission of a code word will change the received word to a word of even weight and therefore we can easily detect the error code word.

For a concrete illustration of this encoding function, let m=3. Then

f(000) = 0000 f(001) = 0011 f(010) = 0101 f(011) = 0110

f(100) = 1001 Code word f(101) = 1010

f(110) = 1100 f(111) = 1111

Suppose now that b=111. Then the code word x= f(b)=f(111)=1111. If the transmission channel transmits code word x as xt=1101, then │xt│ =3 and we know that an odd number of errors has

occurred. It should be noted that if the received word has even weight, then we cannot conclude that the code word was transmitted correctly, since this encoding function does not detect an even number of errors. Despite this limitation, the parity check code is widely used.

(7)

(a) 0100 (b) 1100 (c) 0010 (d) 1001

Yes No Yes No

2) Consider the (6,7) parity check code. For each of the received words, determine an error will be detected.

(a)1101010 – No (since even weight, so no error will be detected). (b)1010011– No (since even weight, so no error will be detected). (c)0011111 – Yes (since odd weight, so an error will be detected). (d)1001101– No (since even weight, so no error will be detected)

(2 ) Consider x and y be two words in Bm then the hamming distance y) between x and y is

weight, │x+y│ of x+y where distance between x=x1x2….xm and y=y1y2…ym is the number of

values of i such that xi≠yi, that is, the number of positions in which x and y differ. Using the

weight of x+y is a convenient way to count the number of different positions. We can easily check the error between two words.

1) Find the distance between x and y: where

(a) x= 110110, y=000101 (b) x=001100, y=010110

(b) (c) x=1100010, y= 1011100 (d) 1111000, y= 0000111

Solution : (a) x+y = 110110+000101 = 110011, so │x+y│ = 4.

a) x+y = 001100+010110 =011010, so │x+y│ = 3.

b) x+y = 1100010+1011100 =0111110, so │x+y│ = 5.

c) x+y = 1111000+ 0000111 =1111111,so │x+y│ = 7.

(8)

(d) (i) Consider the (2,6) encoding function ( f. : B2→ B6) define by

(a) f(00)= 000000 (b) f(10)=101010

(c ) f(01)=011110 (d) f(11)= 111000

Then find the minimum distance of f & how many errors will f detect?

Solution: (f(00), f(10)) = │(000000)+ (101010)│ = │101010│=3

(f(00), f(01))= │(000000)+ (011110)│ = │011110│=4

(f(00), f(11)) =│(000000)+ (111000)│ = │111000│=3

(f(10), f(01)) =│(101010)+ (011110)│ = │110110│=4

(f(10), f(11)) =│(101010)+ (111000)│ =│010010│=2

(f(01), f(11)) =│(011110)+ (111000)│ =│100110│=3

Hence we observed that minimum distance between all distinct pairs of code words is 2.

By Theorem1.1 we know that a code will detect k or fewer errors if and only if its minimum distance is at least k+1. Since here the minimum distance is 2,so we have,

2≥k+1

k+1≤2

k≤1.

So, the code will detect one or fewer errors.

(9)

f(000) = 00000000 f(001) = 10111000 f(010) = 00101101

f(011) = 10010101 Code words f(100) = 10100100

f(101) = 10001001 f(110) = 00011100 f(111) = 00110001

Then find the minimum distance of f & how many errors will f detect?

Solution: (f(000), f(001)) = │10111000│=4

(f(000), f(010))= │00101101│=4

(f(000), f(011)) = │10010101│=4

(f(000), f(100)) = │10100100│=3

(f(000), f(101)) = │10001001│=3

(f(000), f(110)) = │00011100│=3

: (f(000), f(111)) = │00110001│=3

(f(001), f(010))= │10010101│=4

(f(001), f(011)) = │00101101│=4

(f(001), f(100)) = │00011100│=3

(10)

(f(001), f(110)) = │10100100│=3

(f(001), f(111))= │10001001│=3

(f(010), f(011)) = │10111000│=4

(f(010), f(100)) = │10001001│=3

(f(010), f(101)) = │10100101│=4

(f(010), f(110)) = │00110001│=3

(f(010), f(111))= │00011100│=3

(f(011), f(100)) = │00110001│=3

(f(011), f(101)) = │00011100│=3

(f(011), f(110)) = │10001001│=3

(f(011), f(111)) = │10100100│=3

(f(100), f(101))= │00101101│=4

(f(100), f(110)) = │10111000│=4

(f(100), f(111)) = │10010101│=4

(f(101), f(110)) = │10010101│=4

(11)

(f(110), f(111)) = │00101101│=4

Hence we observed that minimum distance between all distinct pairs of code words is 3.

By Theorem1.1 we know that a code will detect k or fewer errors if and only if its minimum distance is at least k+1. Since here the minimum distance is 3,so we have,

3≥k+1

k+1≤3

k≤2.

So, the code will detect two or fewer errors, as the minimum distance is 3.

(e) An (m,n) encoding function f. : Bm→ Bnis called a group code if the encoding function defined

f(Bm)= { f(b) : b є Bm } = range of f is a subgroup of Bn.

Consider the (2,5) encoding function f. : B2→ B5defined by

f(00)= 00000 f(10)= 10101

f(01)= 01110 code words

f(11)= 11011 is a group code.

Solution: We must show that the set of all code words

(12)

(i) Since 00000 belongs to the set, hence check for the identity is satisfied.

(ii) For closure:

( 00000) + (10101) = (10101) ( 00000) + (01110) = (01110) ( 00000) + (11011) = (11011) ( 10101) + (01110) = (11011)

( 10101) + (11011)= (01110) ( 01110) + (11011) = (10101)

Hence we have observed that if x and y are the elements of in N then x + y is in N. Hence N is a subgroup of B5and therefore given encoding function is a group code.

Decoding and Error correction : Consider an (m,n) encoding function f : Bm → Bn once the encoded

word x= f(b) є Bn, for b є Bmis received as the word xt, we are faced with problem of identifying

the word b that was the original message . If transmission channels has no-noise, then b’=b that is f-1of = 1Bm.

Where 1Bm is the identity function on Bm. The decoding function f-1is required to be onto so that every

received word can be decoded to give a word in Bm. It decodes properly received word correctly,

but the decoding of improperly received words may or may not be correct.

Now we will define some decoding function f-1: Bn→ Bmsuch that if f-1(xt)= b’ є Bmand transmission

channel has no noise, then b’=b then f-1onto function is called an (n,m) decoding function associated with

the encoding function f and correct the error in a distortion of the commodity being received.

a) Consider the parity check code that is defined in example (b) of encoding function. We now define decoding function f-1: Bm+1 Bn. If y= y1y2y3………ymym+1є Bm+1,then f(y) =

f (y1y2y3………ymym+1)= y1y2y3………ymobserve that if b=b1b2b3……bmє Bm, then

(f-1of)(b) = f-1(f(b)) = f-1(f(b1b2b3….bm)= f-1(b1b2b3……bm+1)

= b1b2b3……bm

(13)

For a concrete example, let f-1be the (4,3 ) decoding function we will determine f-1(y) for

the word y in B4

f-1(0000) = 000

f-1(0011) = 001

f-1(0101) = 010

f-1(0110) = 011

f-1(1001) = 100 Decode word

f-1(1010) = 101

f-1(1100) = 110

f-1(111) = 111

b) Consider the following (m,3m) encoding function f. : Bm → B3m.If b=b1b2b3….bm є Bm

define f(b) =f(b1b2b3….bm)= b1b2b3….bm b1b2b3….bm b1b2b3….bm. We now define the

decoding function f-1: B3m→Bm. Let y= y1y2y3…..ymym+1….y2m……y3m.

Then d(y) = z1z2…….zm,

Where zi = { 1 if { yi,yi+m,yi+2m} has at least two 1’s

{ 0 if { yi, yi+m,yi+2m} has less than two 1’s

For a concrete example, let m=3 f-1(000000000) = 000

f-1(001001001) = 001

f-1(010010010) = 010

f-1(011011011) = 011

f-1(100100100) = 100 Decode word

f-1(101101101) = 101

f-1(110110110) = 110

(14)

now suppose that b=011. Then f(011) = 011011011. Assume now that the transmission channel makes an error in the red digit and we receive the word xt= 011111011.Then the first digits in two

out of the three blocks are 0, the first digit is decoded as 0. Similarly, the second digit is decoded as 1, since all three second digits in the three blocks are 1. Finally, the third digit is also decoded as 1, for the analogous reason. Hence d(xt)=011that is the decoded word is 011, which is the word that was sent. Therefore the single error has been corrected.

c) Consider the (3,6) encoding function f. : B3→ B6defined by

f(000) = 000000 f(001) = 001100 f(010) = 010011

f(011) = 011111 Code words f(100) = 100101

f(101) = 101001

f(110) = 110110 Code word f(111) = 111010

Here we obtained (3,6) group code N={000000, 001100, 010011, 011111, 100101, 101001,110110, 111010}. Now implement the decoding procedure for f. For each i, locate the coset leader єi, єi+001100 ,

єi+010011 , єi+011111 …………. єi+111010

The result is shown in Table.

Table 2: Decoding Table

000000 001100 010011 011111 100101 101001 110110 111010

000001 001101 010010 011110 100100 101000 110111 111011

000010 001110 010001 011101 100111 101011 110100 111000

000100 001000 010011 011011 100001 101101 110010 111110

010000 011100 000011 001111 110101 111001 100110 101010

100000 101100 110011 111111 000101 001001 010110 011010

000110 001000 010101 011001 100011 101111 110000 111100

(15)

If we receive the word 110101, we decode it by first locating it in decoding table; it appears in the fifth column where it is in red color. The word at the top of the fifth column is 100101. Since f(100)=100101, we decode 110101 as 100. Similarly, if we receive the word 110011,we first locate in the third column of the decoding table, where it is in red color. The word at the top of the third column is 010011. Since f(010)=010011,we decode 110011 as 010.

In determining the decoding table there was more than one candidate for coset leader of the last two cosets. In row 7 we chose 000110 as coset leader. If we had chosen 001010 instead, row 7 would appear in the rearranged form.

001010 , 001010+ 001100 , 001010+010011………. 001010+111010

Or

001010 , 000110 , 011001 ,010101 ,101111 ,100011 ,111100 , 110000

The new decoding table is shown in Table.

Table 3:Decoding Table

000000 001100 010011 011111 100101 101001 110110 111010

000001 001101 010010 011110 100100 101000 110111 111011

000010 001110 010001 011101 100111 101011 110100 111000

000100 001000 010011 011011 100001 101101 110010 111110

010000 011100 000011 001111 110101 111001 100110 101010

100000 101100 110011 111111 000101 001001 010110 011010

001010 000110 011001 010101 101111 100011 111100 110000

010100 011000 000111 001011 110001 111101 100010 101110

Now, if we receive the word 001011, we first locate it in the forth column of table no.2. The word at the top of the forth column is 011111. Since f(011)=011111, we decode 001011 as 011.

(16)

Conclusion: We have explained various methods for Encoding and Decoding functions for the data during transmission and receive i.e. coding and decoding function and minimize the error in a distortion of the commodity being transmitted and correct the error.

ACKNOWLEDGEMENT

The authors are thankful to Dr. K. N. Rajeshwary Professor & HOD School of Mathematics, DAVV, Indore for her useful and valuable suggestions.

REFERENCES

1) Abboott James C.: “Sets,Lattices,and Boolean Algebra”, Allyn and Bacon,Inc.,Boston,1969. 2) Abramson, N.: “Information Theory and Coding” Mcgraw-Hill Book company, New York,1963 3) Barwise, J. (1985). Model theoretical logics; background and aims. Model Theoretic Logics.

Springer-Verlag.

4) R. Hamming, Coding and Information Theory, Prentice-Hall, 1980.

5) J. Gallian, contempory Abstract Algebra, D.C.Heath and company,Lexington,MA,third ed.,1994. 6) J.H. VAN LINT, Introduction to coding theory, springer-verlag Berlin, third ed., 1999.

7) S.B. Wicker, error control system for digital communication and storage, Prentice-Hall upper saddle River, first ed. 1995.

Figure

Figure 2: Transmission of encoding function
Table 2: Decoding Table
Table 3:Decoding Table

References

Related documents

Page 103 School Age Skills Certificate (removed from catalog; not State approved) Page 104 Television/Video Associate in Arts Degree (title correction). Radio and

The relation between autistic traits and postcentral gyrus activation in response to happy versus angry and dis- appointed emotions in the current paradigm might suggest a

Because we have business process logics represented as DTs, data model in ER and data values filled into the database it is possible the generation of information system (IS)

The present study focuses on the assessment of technical and scale efficiency and efficiency differences among 134 public secondary schools of Multan district of

Meanwhile, in contrast to their study, the basis of analysis of this paper will be several other internal organizational factors that leading to the ICT underdevelopment, such

The hypothesis put forward with respect to the XLPE insulated cables is that degradation of field aged cables can be detected applying chemical analyses and electrical

Videographer to our two sample estate testimonials page dedicated agent would need to quite responsive and energy really good morning i thought they not.. Upfront investment as well

In case of accumulators supplied without pre-loading pressure, or after repair work, it is necessary to precharge the accumulator with nitrogen using equipment type-PC following