Error correcting codes from sub-exceeding fonction

11/16/2018
by   Luc Rabefihavanana, et al.
0

In this paper, we present error-correcting codes which are the results of our research on the sub-exceeding functions. For a short and medium distance data transmission (wifi network, bluetooth, cable, ...), we see that these codes mentioned above present many advantages compared with the Hamming code which is a 1 correcting code.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

11/03/2021

A McEliece cryptosystem using permutation codes

This paper is an attempt to build a new public-key cryptosystem; similar...
02/05/2021

Function-Correcting Codes

Motivated by applications in machine learning and archival data storage,...
01/06/2022

Codes from symmetric polynomials

We define and study a class of Reed-Muller type error-correcting codes o...
01/04/2018

Asymptotic bounds for spherical codes

The set of all error-correcting codes C over a fixed finite alphabet F o...
09/18/2021

Ensemble Learning using Error Correcting Output Codes: New Classification Error Bounds

New bounds on classification error rates for the error-correcting output...
01/21/2019

Error-Correcting Neural Sequence Prediction

In this paper we propose a novel neural language modelling (NLM) method ...
02/01/2021

Distance Enumerators for Number-Theoretic Codes

The number-theoretic codes are a class of codes defined by single or mul...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

New information and communication technologies or NICTs require today a norm increasingly strict in terms of quality of service. The diversity and the increasing volumes of data exchanged/processed also require increasingly fast and reliable systems.

In these constraints related to information processing, we need to take into account the increased sensitivity of technologies in front of external disruptive sources. It’s about especially to protect information against environmental damage during transmission.
In seeking to improve this quality of service in terms of communication, the present article lists the results which can be increase the reliability in the data transmission system. These are the fruits of the in-depth study on our two articles entitled: "Part of a set and sub-exceeding function (encoding and Decoding) [15]" in 2017 and "Encoding of Partition Set Using Sub-out Function [14] "in 2018.
Given a finite-dimensional set , the first article discusses the encoding (decoding) of any subset of . For the second, it presents the encoding (decoding) of any partition of the set .
The purpose of this article is to build new error correcting code using the results in the two above-mentioned articles.
Given an integer such that , we can build two error-correcting codes and which are respectively and linear codes.
In the last section of this article, we give the decoding algorithm of these codes using Groebner basis.

2 Preliminaries

Let be a positive integer, denotes the set of positive integers less or equal to and the zero element, i.e.

2.1 The necessary ones on the study of sub-exceeding functions

Definition 2.1.

(see [15]) Let be a positive integer and let be a map from to . This function is said sub-exceeding if for all in , we have

We denote by the set of all sub-exceeding functions on , i.e.

(2.1)
Remark 2.1.

A sub-exceeding function can be represented by the word of alphabet . So, we describe by its images .

Definition 2.2.

(see [15]) Let and be two integers such that . We define by the subset of such that

(2.2)

Here, is the set of all sub-exceeding function of with a quasi-increasing sequence of image formed by all elements of .

Example 2.1.

Take 4 and 3. We find that the function is really in because is a quasi-increasing sequence formed by all the elements of . But if we take , even if the sequence is quasi-increasing, because (without 2 among the ).

Following the definition 2.2, we denote by the set defined as follows:

(2.3)
Theorem 2.2.

( See [15])
Let and be two integers such that .

  1. For , we always find that is a set of singleton:

  2. For , we also find that is a set of singleton:

  3. For any integer such that , we can construct all sub-exceeding functions of as follows:

    1. Take all the elements of and add the integer at the end,

    2. Take all the elements of and add the integer at the end

    To better presentation of this construction, we adopt the following writing:

    Here, means that we add the integer at the end of all element of .

From this theorem, we have the iteration table of the elements of :

0 1 2 3 4
0 0
1 00 01

001
2 000 011 012

0001 0012
3 0000 0011 0112 0123
0111 0122

00001 00012 00123
00011 00112 01123
00000 00111 01112 01223 01234
4 01111 00122 01233
01122
01222
Proposition 2.1.

See [15]
Let and be two integers such that . So, we have the following relations

From this Proposition, we have the cardinal table of as

0 1 2 3 4
0 1
1 1 1
2 1 2 1
3 1 3 3 1
4 1 4 6 4 1

Thus constructed, this table is none other than the Pascal triangle.

2.2 Some notion about error-correcting codes

When sending a message (data) through a transmission channel (by downloading data from Internet for example), errors can occur. Our goal is to be able to detect or correct these errors. The principle of coding is as follows: after cutting our message into blocks of bits, we will apply the same algorithm on each block:

  • by adding check bits at the end of all block

  • or by completely modifying the blocks, but avoiding that two different blocks are transformed into a single block.

Notation 2.3.

A block sequence of

bits will be indifferently called word or vector and will be denoted

.

Definition 2.3.

[A numerical code](see [1])

  • A binary linear code is the image of an injective linear application from to . The parameter is called the dimension and is called the length of this code. So, we say that is a code of parameters or -linear code.

  • The set is called the image of and the elements of are called the codewords(as opposed to the original elements of which are called messages).

Remark 2.2.

A binary linear code of parameters or linear code is a subspace of of dimension .

Definition 2.4.

(see [1])

  • The minimum distance of a code is defined as,

    (2.4)

    Here presents the Hamming distance between and .

  • A linear code with length , dimension and minimum distance is called a -linear code.

Definition 2.5.

(see [1])

  • We define by error detection capacity for the code , the maximum number of errors which we can be detected for a wrong code word. This integer is denoted by .

  • We call by correction capacity of the code the maximum number of errors which we can be corrected for a wrong code word. This integer is denoted by

Theorem 2.4.

(see [13])  For an -linear code, that is to say a code of length and of dimension with a minimal distance , we have:

(2.5)
Theorem 2.5.

(see [13]) Let be a linear code, we have

Here is the weight of the codeword , i.e. the number of non-zero bits of .

Theorem 2.6.

(see [13]) Let be a -linear code. There is a linear application from to such that the image of is . So, we can represent the application by where is the representative matrix of by the canonical bases of .
Here is called the generating matrix of .

Definition 2.6.

(see [13]) A -linear code is called systematic if the encoding consists in adding bits at the end of the message. For a linear code, The generating matrix is of the form , where is the unit matrix with rows and columns and a matrix with rows and columns.

Definition 2.7.

(see [1]) A parity check matrix for a binary -linear code is the matrix such that if and only if .

3 Main result:
error-correcting code from the study on the sub-exceeding function

In this section, we present our linear error-correcting code from sub-exceeding function.

Recall that for a positive integer , a function from to is said to be sub-exceeding if for any integer in , we always have the inequality .

Thus, the sub-exceeding term amounts to saying that the image of an integer by an application is always an integer smaller or equal to this one.

Theorem 3.1.

Let be a positive integer and let be an application from to . Then the application is a sub-exceeding function if and only if .

This theorem tells us that all message of bits on which begins with 0 is a sub-exceeding function.

Proof.

We say that the image of an integer in by the application is always equal to 0 or 1. Thus, by the condition , we have for all . So, is a sub-exceeding function. ∎

Now, let’s examine the subset for the set of sub-exceeding functions in all application from in . That is to say the subset for the set of bits messages on .
Referring to the theorem (2.2), we can have all the elements of (see the table below). Moreover, from the proposition (2.1), we find

(3.1)

The table below shows the elements of for each value of and some integer .

Proposition 3.1.

Let be a positive integer and denote by the matrix of row and column such that

(3.2)

Reminding that is the set of sub-exceeding functions of length such that

Then, the product gives the word such that

(3.3)
Notation 3.2.

Now let’s denote by the matrix

(3.4)
Example 3.3.

For 3, we have:

For , we have:

Theorem 3.4.

(Main theorem: The codes )
Let be a positive integer and let be the linear application from to such that

(3.5)

where is the message of bits such that and is the matrix where is the matrix defined in the equation (3.3).
Thus, the application forms a systematic -linear error-correcting code denoted by . The minimum distance of is 3 and for the minimum distance of is 4.

Proof.

First, since is a matrix of rows and

columns whose rows are linearly independent vectors, so the application

is injective from to . Thus, is a vector space over of dimension . Then forms a systematic linear error-correcting code of dimension and length .
Now, let be the message such as and note by its image by the application .

Since is a systematic code, a codeword of length can be distributed into two vector and . That is to say , . Here, the vector is the original message () and is the vector (control bits) such that .
So, for any integer in , we have

So, two cases are possible:

  • If the weight of is even

    In this case, the code word is: .
    (Ex: for , if we have )

  • If the weight of

    is odd

    In this case, the code word is: where is the opposite of .
    (Ex: for , if we have )

Now,

  1. Take ,

    (3.6)

    Thus, the minimum distance for the code is 3.

  2. for ,

    (3.7)

    Thus, the minimum distance for the code is 4.

Example 3.5.

For , from the main theorem (3.4), we have

Example 3.6.

For ,from the main theorem (3.4), we have

(3.8)
Theorem 3.7.

(The code ).
Let be an integer such that and let’s take the system where (see the equation 3.3). So, we can build a -linear systematic code with generator matrix

(3.9)

witch is denoted by .
The code has minimum distance 5 and for , the code has minimum distance 6. The generating matrix of this code has the form

(3.10)
Proof.

Since is a sub-space over , any linear combination between the code words gives a code in of weight equal to 4.
Then, for a message in , the code word generated by the matrix (ie ) has a weight:

  1. Pour ,

    (3.11)

    So we have a code 2-corrector with a minimal distance .

  2. For ,

    (3.12)

    So we have a code -corrector with a minimal distance .

Example 3.8.

Le code .
Now take the four (4) vectors in which are:

(3.13)

The code is as follows:

(3.14)
Example 3.9.

The code .
Now take the five (5) vectors in which are:

(3.15)

The code is thus as follows:

(3.16)

The code words of are:

(3.17)

4 Study of the Weight of the codes and

Denote respectively by and the set of all elements of the code and who have a weight equal to .

Theorem 4.1.

For , the set of the weight of the words of this code form the set

(4.1)
  • For all weight in ,

  • For the integer such that , The set have cardinality,

  • For the integer such that , the set have cardinality

Proof.

As defined above, a received code word in can be split into two word, ie where is the message sent and which is the control code. Furthermore

So for a such that , we have and

Furthermore, for a such that , we have because . then

For the integer such that , we have,

So, the set have cardinality

Example 4.2.

Take the code , The set is

So, . We have

As , we have

Finally,

Refer to (3.8) to see the code .

Theorem 4.3.

For , the set of the weight of the words of this code form the set

(4.2)
  • For all weight in ,

  • For all weight in ,
    the set have cardinality,

  • For all weight in , the set have cardinality

    where .

Proof.

We know that for a code in , this word have the form where and that

So for a such that , we have and

Furthermore, for a such that , we have because . then

For all weight in , we have,

So, the set have cardinality

Example 4.4.

For , the set is

So,

We have

As , we have

Finally,

Refer to (3.17) to see the code .

5 Decoding for the error correcting codes and

After considering the parameters necessary for the study of these codes, we present here the appropriate decoding algorithms.

5.1 The dual codes of and

Theorem 5.1.

(See [9, 12, 16] )
If is an code over , then the dual code is given by all words such that for each , where denotes the ordinary inner product. The dual code is an code. If is a generator matrix for , then is the generator matrix for .

Example 5.2.

For the code and the generator matrix is respectively

and

So the dual code and have respectively his generator matrix:

and

As the columns of (or ) are linearly independent, so for a codeword that contains exactly one error, the decoding will be easy by looking at the syndrome.

Definition 5.1.

Let be an element of linear code such that where for all . we define the monomial of by