Redundant Residue Number System Based Multiple Error Detection and Correction Using Chinese Remainder Theorem (CRT)

: During the last decade information security and reliable communication is unavoidable in information processing. Residue Number Systems (RNS) are still attracting considerable attention from the research community in digital signal processing. In this paper a new low cost method for multiple error detection and correction based on the Redundant Residue Number System (RRNS) was exhibited. RRNS is obtained by adding some redundant residues which brings in error detection and error correction competence. The proposed multiple error correction scheme exploit the Chinese Remainder Theorem (CRT) together with a novel algorithm that significantly simplifies the error correcting process for integers. The result is slightly different from the current state of the art whereby the error value is estimated using optimization algorithm such as integer programming and the proposed multiple error correction schemes does not require complex iterations in order to correct the errors.


Introduction
Over the centuries, information security has become a major issue [1]. Also Reliable communication and information security has been more important during the last one decade. Because of the carry free propagation of addition between digit in residue number system which can be used in high speed propagation such as addition, subtraction and multiplication. Reliability of these operations can be improved by adding a number of redundant moduli in the original number of the residue system also known as redundant residue number system denoted by ( , , … . . , , … ) were ( , , … . . ) are the information number and ( , … ) are the redundant residue number use to determine error position and to correct error in redundant residue number system. There are several works on error detection and correction using redundant residue number system which varies from single to multiple error detection and correction system. Among the earlier reported work are the work of Yau and Lin [2] presented two error-correcting algorithms for redundant residue number systems, one for single residue-error correction and the other for burst residue-error correction. The two algorithm does not requires table lookup, but their implementation require memory space which is much smaller than that required by existing methods [2], [3] Watson and Hasting also proposed residue arithmetic which was use for general-purpose digital computers to detect and correct their own arithmetic and data-transmission errors. This approach was based on special properties inherent in a suitably chosen redundant residue number system (RRNS). [4] A coding theory approach to error control in redundant residue number systems (RRNSs) was also presented. It uses the concepts of Hamming weight, minimum distance, weight distribution, and error detection and correction capabilities in redundant residue number systems Ramachandran, Etzel and Jenkins, [5] to detect and correct single error in a communication channel using redundant residue number system. Recently [6] Kati presented a residue arithmetic error correction scheme that was based on common factor using a moduli set. The work of [7] Mandelbaum was not left out in the area of error detection and correction using redundant residue number system, he also proposed a code to support other work in that area. The code theory approach of error detection and correction in RRNS was also proposed by (Sun and H. Kirshan) [8]. [9] Beckmann and Musicus design fault-tolerant convolution algorithm that is an extension of residue-number-system, the schemes applied to polynomial rings was described. The algorithm is suitable for implementation on multiprocessor systems and is able to concurrently mask processor failures. A fast algorithm based on long division for detecting and correcting multiple processor failures is presented in is work, a single fault detection and correction is studied, The coding scheme is capable of protecting over 90% of the computation involved in convolution. Goh and siddiqi design a multiple error correction and detection using redundant residue number system [10], [11]  System. Although RSNS has a large redundant range, its detection ability is not optimal due to the Gray code property associated with it. In an attempt to overcome this limitation, we have proposed Inverse Gray coding to be combined with RSNS in increasing its effectiveness in error detection, and the algorithm performs well under all cases of single bit errors.
In this paper, we developed a novel error detection and correction scheme that can detect and correct more than one error (multiple error detection and correction). This scheme adopts the work [13] and [14]. The scheme also use the conventional Chinese Remainder theorem (CRT) to detect and correct error that speed up the processes and simplify the error detection and correction. The algorithm adopted in this scheme is easier and simple to implement which make the scheme more efficient and less computationally prove The rest of his paper is organised as follows section 2 discuss the related review of residue number system and redundant residue number system, the proposed scheme was demonstrated theoretically in section 3, in section 4 performance evaluation of the proposed scheme was discuss and the paper was conclude in section 5

Review of Related Concepts
In this section related concepts in residue number system and redundant residue number system was discussed with some examples demonstrated

Residue Number Systems
Residue number system comprises a set of moduli which are independent of each other. An integer is represented by the residue of each of the modulus and arithmetic operations are based on residues individually {m 0 , m1, mn −1 } [15]. The useful computational range M of such a number system, which is called the legitimate range, is defined by the product of all moduli in the moduli set, i.e. M = _n−1 i−0 mi. A residue number system with legitimate range M is able to uniquely represent unsigned numbers in the range of if M is even. These ranges are known as the dynamic ranges. A number X within the dynamic range can be represented by the list of its residues with respect to the moduli defined in the moduli set.

Redundant Residue Number System
The RRNS is obtained by appending an additional = ( − ) moduli, called redundant moduli +1 , +2 , to the original moduli set of RNS. Thus 1 , 2 , , +1 , is a pair wise relatively prime number set forming the moduli set in RRNS. The integer in the legitimate range [0, ] is represented by an -turple residue vector x=( 1, 2,..., ) with respect to the moduli set 1 , 2 ,..., as ⇔( 1 , 2 ,..., ) which is referred to as an RRNS code word or RRNS code vector. The moduli ( 1 , 2 ,) is the non redundant moduli while the remaining moduli +1 , +2 , are the redundant moduli that allow error detection and correction capability. RRNS can be used for error detection and error correction, self checking in digital computers [16]. The residue vector x can be divided into two parts: the first residues corresponding to the non redundant moduli are the information residues and the remaining residues corresponding to the redundant moduli called the parity residues. Let be the product of redundant moduli, that is =∏ . The total DR of RRNS is [0, ] is divided into two adjacent ranges. The interval [0, ] is the legitimate range (DR), and the interval [ , ] is the illegitimate range (RR). An RRNS ( , ) code can detect up to ( − ) residue errors, or correct up to ⌊ − 2⌋ residue errors where ⌊ ⌋ represents the largest integer not exceeding . Alternatively, an RRNS ( , ) code can correct up to residue errors, and simultaneously detect up to , ( > ) residue errors, provided that + ≤ − [17] Example The RRNS code word for certain integer X, with moduli set (3,5,7,11,13,16) as given as ( , , … . . ) where k = 6 in Table 1. Here the information moduli set (3,5,7) and the redundant moduli set (11,13,16). The dynamic range is 105.  (3,5,7,11,13,16).

Integer
Non

Choice of Moduli
Data conversion and moduli selection are one of the greatest challenges for any RNS hardware design. Moduli choices determine the speed, dynamic range and hardware complexity of any RNS architecture. Hence, efficient moduli sets must be chosen with a sufficient dynamic range [17]. Moduli selection should satisfy the following conditions.
i. N binary bit, the moduli should represent 2 n distinct residue ii. Computation operation of the moduli should be straight forward using binary adder

Chinese Remainder Theorem
Residue number system is a set of pair wise relatively prime moduli ( , , … . . ) and the residue representation ( , , … . . ) that is = % & thus RNS is define in term of relatively prime moduli set ' ( i=1,n such that gcd ( , ) ) =1 for i ≠j, while M=∏ is the dynamic range. The residue of a decimal number X can be derived as = | | + Given a moduli set '( , , … . . ( , the residue ( , , … . . ) can be converted into the corresponding decimal value X using the Chinese remainder theorem, Mixed radix conversion and New Chinese remainder theorem respectively as follows / is the multiplicative inverse

Mixed Radix Conversion
Mixed Radix Conversion is an alternative method which does not involve the large modulo-M calculations. Given an RNS number (x 1 ; x 2 ; x 3 ……..x k ) for the moduli set {m 1 ; m 2 ; m 3 ; ……..m k }.

The New Chinese Remainder Theorem
Given a moduli set ' , , 3 , @ (, its equivalent weighted number X can be converted from it residue representation ( , , 3

Proposed Improved Scheme
This section discuss the propose scheme of the multiple error detection and correction method using redundant residue number system Theorem 1.
A code based on a redundant residue number system has the minimum non zero hamming weight wt min ≥ r + 1and minimum distance d min ≥ r + 1 (Ding, pei 1996) where r is the information moduli length Theorem 2.
A code based on redundant residue number system can correct up to t errors and t ≤M Receiving the vector y, error detection is first performing by determining whether y is a valid vector. This can be accomplished by computing the corresponding integer Y using the proposed generalised scheme formular as follows.