Fast illgorithms for Multiple Errors Detection and Correction in Redundant
Residue Number Systems
JennDong
Sun
Hari Krishna
Department of Electrical and Computer Engineering Syracuse University Syracuse, N.Y ., 13244 1240
Abstract
In this work, we study and extend the coding theory approach to error control in redundant residue number systems (RRNS). We derive new computationally emcient algorithms for correcting and detecting multiple errors. These algorithms reduce the computational complexity of the previously known algorithm by an order of magni tude. Also, it is worthwhile to mention here that all the literature published thus far deals almost exclusively with single error correction.
1 Introduction
During the last few years there has been much investigation concerning the use of redundant residue number systems (RRNS) for residueerror correc tion. However, most of the previous works focus on singleresidue error correction because of the considerations of large memory space requirement [2,8] or computational inefficiency [1,371. In our previous paper[9], we de veloped a coding thoery approach to error control in RRNS. The concepts of Hamming weight, minimum distance, weight distribution, and error de
tection and correction capabilities in RRNS have been introduced.
The nec
essary and sufficient conditions for the desired error control capability are derived from the minimum distance point of view. _{A} special case generates the maximum distance separable (MDS) RRNS. Computationally efficient procedures are described for correcting single error. In this paper, we will extend the above procedures for simultaneously correcting single error and detecting multiple errors and correcting double errors. This paper consists of seven sections. In section _{2}_{,} we cover the defi nitions and basic coding theory for RRNS. _{I}_{n} section 3, we generalize the property of consistency checking for RRNS. Two computationally efficient procedures, one for simutaneously correcting single error and detecting mnl tiple errors and the other for correcting double errors, are presented in sec tion 4 and 5, respectively. In section 6, we extend the previous algorithms [7] for multipleerror correction and detection. Finally, we discuss and compare the various results in section 7.
2 Definitions and Basic Coding Theory for RRNS
A residue number system (RNS) is defined by a set of k relatively prime
X in the range [0, M), called legitimate range, where M = nf,, m,, can be
. .
integers, m1, mz,
., mk, called nonredundant moduli. A positive integer
uniquely represented by the ktuple [XI,zz, ,
. .
,211 of its residues modulo
m, (2,
X mod m,).
RRNS is defined by
adjoining r
(T
= n 
k) addi
tional moduli, mk+l, m*+2,
. .
., m,,
called redundant moduli, to form n
relatively prime moduli. The integer X in the range [O, M) is represented as
the ntuple
[z1.z2,. . .
, xk, zk+l,
. . .
,zn].The range
[M,MMR) is called
illegitimate range, where Mn = m; and [O,MA~R)is the total range of RRNS. According to Chinese remainder theory (CRT), given a residue
vector
=
[z,,zZ,. . .
, zn], the corrcsponding iuteger X, 0
can be computed using
5 X
< MMR,
and the integers T, are predetermined using the congruences
T,M,
1
(mod m,)
(0)
From the coding theory poirit of view [9], al! the ntuple residue repre sentations form an ndimensional vector space, and the vectors correspond ing to the numbers in legitimate range constitute the kdimensional code space called RRNS (n,k) code space 0. Every ntuple residue representa tion in the code space is a codevector which can be divided into two pats;
the first k residue digits correspoding to the k nonredundant moduli ,&re called the information digits, and the remaining r residue digits correspond ing to the r redundant moduli are called the parily digits. Some coding
definitions in RRNS [9] will now be given, sufficient to make this paper selfcontained. Definition 1. The Woniming weight of a codevector 2,wt(g), in a RRRJS is defined as the number of nonzero components of g. Definition 2. The Hamming distance between two codevecto:s 3. and
 zI,d&, 3)is the number of places in which
z, and z3 differ.
Definition 3. The minrmum dtstance d of 5, RRm is defined as
d=min{d&,;)
:r
..
3€EI2,%#%}
i4)
For the RRNS code, the minimum distance d is the same as the IIamming weight of the codevector in 0 having the smallest positive Hamming weight,
# 0)
d = min [wt(x): 1 E 0,~
15)
'Theorem 1. The minimum distance of a BRNS code is d if arid only if the product of redundant moduli satisfies the foilowing relation,
d
d1
For maximumdistanceseparable RRNS (MDSRRNS), i.c? if  1 = n  k,
the moduli satisfies that MR = maz[fl;:;
m3,}, where
1 5 j, 5 n.
Theorem 2. The error drtecting capability, I, of a RRNS f2 is d  1.
Theorem 3. The error correcting capability, t. of a RRNS R is I&$],
denote the largest integer less than or equal to a.
where 11.
simutaneously detecting 0 (a > X)
Theorem 4.
A RRNS
is capable of correcting X or
or fewer
ermrs if, d 2
fewer errors and X + /3 + I.
3
Consistency
For MDSRRNS (n, k) code, assume that there are c and g errors (c+g 5 U) in the information and parity digits, respectively, then the received residue vector can be represented as
y.=z,,
y
 g = [Yl, 122
..
. , Yk, Yk+l,.
".1 ?/nl
15i5n,i#ao,ju.
a=1,2 ,
c,
__.
,
v=1,2 ,
g
.__
,
83 1
24ACSSC1219010831 $1.00 G 1990 MAPLE PRESS
Since both X aiid E in eq. (12) are less than M,we consider the following
two cases 

[i). 
for X + fi < M, T = 1,2, 

(ii). for M 5 X + E 
< 212.1, r 

 

Y 
= 

and 
...
=
,n  k, and U = 1,2,
...
,
g.
1,2,.
..
,n
 k, and Y = l,?.
X+EM=X+e&iii
_{.}_{g}_{.}
A fundamental property of the syndrome digits is stated in the following
theorem
Theorem 5. Under the assumption that no more than 4 residues are in
error, for the RRNS with 
d 
= X + 4 + 1 (A < 4) one of the following four 

cases occurs: 

Case 1: If all the syndromes 
, A,k are zero, then no residue is 

in crror. 

Case 2: 
If only 
p(l 
5 p 
5 A) syndromes are nonzero, 
then exactly 
p corresponding parity digits are in error, and all other residue digits are 

correct. 

Case 3: If X + 1 to p syndronies are iioiizero, then more than X residue 

digits are in crror. 

Case 4: If /3 + 1 to all syndromes are nonzero. then at least one of the 
information digits is _{i}_{n} error.
If the case 2 of theorem 5 happens, the new parity digil y:+, is the cor
rect dnc of the eIroneous parity digit ?/it
..
If case 4 of theorem 5 happens,
a procedure to determine error location and error value for singlefdouble er
ror is described in lhe following sections.
_{4} A Procedure for SingleError
Correc
tion and MultipleError
Detection
By theorcm 1, the 
RRKS with d = X + 0 
+ I. 
X = 1, and 
> 
X 
can 

simultaneously correct single residue error and detect $ errors. 
Assume 

that only !he pth information digit is in error, then cq. (1520) 
become 

(i) 
for S + E < .if, 
and 
r 
= 
, n  
k, 

 
.tf 

Y=X+e 
(19) 

mP 

and 
_{M} 

A, 
3 
e 
(mod mt+,) 
(20) 

mP 

(ii). 
for 
d.1 5 S 
+ E 
< ?.If, and T 
= 1.2,. 
. ,n  k, 

and 

A, 
1w (e  mp) 
(mod mr+r) 
(22) 

mP 

_{w}_{h}_{e}_{r}_{e} _{0} _{<} _{e} _{<} _{m}_{p}_{.} _{G}_{i}_{v}_{e}_{n} _{A}_{I}_{,} _{A}_{,}_{,} _{.} 
_{.} . Ank, baed on eq (1922) 
a proce 

dure to determine p (error location) and ep (error value) can be outlined as 

follows: 
For J
= 1. ?, , , , , k, solve the congruences
and 

Jl 

Ar = 
 VI>) m, 
(mod mi+v), 7 = 
, 
n ~ k 124) 

to obtain the values 
e:' 
aiid 
e/2'", 
whrre r 
= 
1, 
, IL  
k. Compare 

to 
check if the solutions 
to eq. (23) or eq. (24) are consistent, i.e., e:'"' = 

^{e}^{i}^{l}^{.}^{z}^{)} ^{=}^{.} ^{,} ^{,} ~ ^{e}^{;}^{l}^{,}^{n}^{}^{k}^{)} 
^{o}^{r} 
^{e}^{(}^{z}^{2}^{1}^{)} ~ 
= 
= ej2,rLk).1fFitiier of ,lie t,vo 

conditions is satisfied, for J . = I, then the Ith information digit is declared 

to be in error, the value of the error e, 
E 
e'x mod mi. 
whrre e' = e:' 

nit 

if 
1) 
~ 
ejl.2) 
= 
, 
, 
. 
and 
cl 
= 
e(2.11 if e(z 
= 
= . . . = 

e12.n*) 
nk); I I I Th e correct value of the lth resdue digit is (yi  ei) mod mi, and 

y'is 
decoded to the codevector 2,where 

Z;=y,, 
j=1,', 
, n,j#f 
(25) 

G s (yr 
er) 
(mod mi) 
(26) 

It 
is clear from eq. 
(1920) and 
(23) that if one error 
takes place in the 

pth 
information digit such that _{X} _{+} _{E} 
_{<} 
_{M}_{,} then 
for 
_{J} 
= p. e = _{e}_{'} _{=} 

e:'"' 
= e:' 
= 
. 
. 
. 
= 
e:',"*) and 1 = 
p. Similarly, if one error takes place 

in the pth information digit such that 
_{d}_{f} _{5} _{A} _{'} _{+} _{E} 
_{<} _{2}_{.}_{V}_{.} 
thm _{f}_{o}_{r} _{J} _{=} _{p}_{,} 

^{e} ^{=} ^{e}^{'} 
^{=} 
^{e}^{(}^{'}^{"}^{)} 
^{=} ^{e}^{(}^{*}^{"}^{'} 
^{=} . 
e? 
"') 
and 
I = p 
from eq 
(2122) and 

(24). However. it remains to be shown that if the following two cases occur: 

I) 
only one error takes place in 
the pth information digit and I # JJ: and 

2) 
more than one but less than 
a + 1 errors take place, !hen 
at least two 

of {e(l.r? , 
1 and at least two of {ej2'r)l ale unequal, w~iere7 = 
, n ~ I;. 

Under 
an additional constraint on the form 
of the moduli. 
the result is 

established in the following theorem. Theorem 6. If the moduli of RRNS 
(Ti, 
k) cod?, are cnrh that there 

donot 
exist integers n,, 
nc; 0 5 n, < ni,, 0 5 nc < .21c 
= n:=, m,, 

1 5 io 
5 k. 
1 5 c 5 
3; that satisfy 

7IJAfC 
+ ncm, = nI.Ctl , I d 
r, 
< n, 
1 < 3 < I.. 
_{(}_{2}_{7}_{)} 

I=' 

then for either 
of two 
cases, that is, 
1). only 
the pth information digit IS 

received in error and J # p; and 7). more than one (< B) residue digit 

are received in error. the solutions 
_{t}_{o} eithei 
of eq. 
(23) and 
(24) are not 

coiisis tent. 

Proof: 
Case 1): for X + E < AI, and J 
f 
p, if the solutions to eq. (23) 

_{a}_{r}_{e} _{c}_{o}_{n}_{s}_{i}_{s}_{t}_{e}_{n}_{t}_{,} 
eyl = &1,2) 
 
e(l,"k) 
e ' , then comparing eq. 

 
~ 

. 
. 
. 

(23) to (20) we obtan 
83 2
is a multiple of n:,;”?nktr.This is not possible as
Similarly, for x + E 
< M, and 3 # 
p, 
if 
= e’, then comparing eq. (24) to 
(20) we 
that 
is, 
elmp  
em, nrzf ?nk+?. 

le’mp  
em,^ 
< 

e(2.1! 
 
e(2,2) 
 
= 
J%nk) 

. . 

> obtain 
I 
, 
3 

This is not possihlc as 
,=I
. The case for M < X+ E < 2M, can he analyzed in an analogous manner.
_{C}_{a}_{s}_{e} _{2}_{)}_{:} _{f}_{o}_{r}
+ E
< M, if
el1,’)
=
comparing cq. (23) to (14) we obtain
=
.
.
.
=
e(””*)
= e’, then
where 
k 
< r, 5 n, r, # jV, U = 
1,2,, , , ,g, This congruence can not hold 

due to /e’ re=,mm  em,\ < m, nz=mm ,< nf:;‘=:‘’m, .. For example, asslime that the pth information digit and the first g parity digits are in 

error, and 
4 = c + g, where c = 
1, thrn the above congruence is 

L(e’m,  em,) 
E 0 (mod m,,m,) 

mP 

This is not 
possible as /elmp  em,l 
c m,im,. In other words, at least 

two of 
r = , n  
k) are unequal. Similarly, for x + E 
< M, 

if 
= e(2.2)  = 
= e’, then comparing eq. 
(24) to (14) we 

3 
3 

obtain 

where 
I; 
< r, 5 n, rt # j,, U = , g. The above congriience can not 

hold due to 
(em, + (m,  e’) n:=,m,*) < ~VZ,n :=,m., 
< n:,:’‘mm,,, 

for c + g 
< p; and eq. (27) 
for c + g = 8. The case for M 
5 X + E < 2M, 
can also he analyzed in an analogous manner. This pIOVC5 the theorern.
Lenirna 1. If the moduli of RRNS satisfy the condition
mrn{m,,ni,,]
> ma~{2m,,m,~
 m,,  mt21
_{(}_{2}_{8}_{)}
where
k < j1,j2_< n
and
1
_<
I], k2
5
k, then for either of two cases, that
is, 1). only the pth information digit is received
in
error and 3 # y; and
2).
more than one residue digit are received in error, the solutions to either of
eq. (23) and (24) are not consistent.

Proof
The condition is sufficient since, if the moduli satisfy eq. (28),
then eq. (27) must he satisfied. This completes the proof.
Based on the concept developed above and under the assumption that
the moduli m.
i =
1,2,. . .
, n, satisfy the condition in theorem 6 or lemma
1, the algorithm to correct a single error and simultaneously detect multiple
errors in RRNS can be described as follows:
Step 1: According to the received vector, we compute the syndromes.
Step 2: Check how many syndromes are zeros:
I_
(1). If all the syndromes are zero, then no error occurs. Stop. (2). If only one syndrome is nonsero, then only one error in parity. Correct
it and stop. 

(3). If d  
3 
to 1 syndromes are zero, then go to step 6. 

(4). If all the syndromes are nonzero, 
then 
go to step 3. 

Step 3:  
Let 3 = 1. 

Step 4: 
Perform singleerror consistencychecking for the nonredundant 

moduli _{m}_{,}_{.} 
Check the consistency of the solutions. 
If 
it 
is consistent, 

then go to 
step 5; if it is not consistent, then 
3 = 3 + 1. 
Go 
to step 4 
for 

j 5 k. For 3 = k + 1, go to step 6. 
Step 5: Only one error in the jth posil,ion. Correct it and stop,
Step 6: Declare more than one error detected and stop.
5 A Procedure for DoubleError Correc tion (d=
5)
By theorem 3, the RRNS with d 5 5 can correct two errors. If case 4 of
theorem 5 happens, for exactly two residue digits are received in error, there
are two possible cases, that is, Case a): both errors in information part; case
b): one error in information part and the other in parity part.
Consider case a): if the pth and qth information digits are received in
error, eq. (1318)
become
(i).
for S + E < M,
and
(ii). for M
A,
z e
M
mPmq
5 X + E < 2M
(mod mk+,) r = I, 2,3.4
(30)
A, I (.  v~,m,)L
mpmy
(mod m*+,) r = I.?, ,3.4
(32)
where 0 < e < mpmq.Similar to the analysis in section 4. given AI. A>, (13.
and A,, based on eq. (2932) a procednre to determine rrror locations and
error values can be outlined as follows:
For
i = 1,2,. , , , k, j = 1,2,, . , , k, and i # j3 solve the congruences
e(’,‘) = (AP(K)’ + m,m,)
m,m,
mod mttr
_{(}_{3}_{6}_{)}
where r = 1,2,3,4. Based on the combination of any two digits of (e‘’,‘); r =
1,2,3,4) and the combination of any two digits of {e(’,‘); r = 1.2, 3. i], say
{e(r,’),e(1,2)] and {e(2,’),e(*,2)) , and by CRT, we get
.(2,‘lm*tlmLt2
mk+r
e(2.r)
mktr),
~
(la)
Now, we check if the following two conditions are satisfied: (I). c!,!’ 
< in m, 

and eq. 
(33) holds by substituting e!:) for e(’,‘!, i.e., the 1;oIiitions to RI. 

(33) are consistent, and the consistent solution is e!:’. (ii). c!:’ 
< m,,,~, 

and eq. (34) holds by substituting el:’ for e(’,‘), i.e 
.. 
the solutions to cg. 

(34) are consistent, and the consistent solution is e!:’ 
Let 
us sa? 
elther of 

the two conditions is satisfied for I = f and 
j 
= h. 
Then the fth 
and hth 

information digits are declared to he in error, the value _{o}_{f} errors 

where 
e’ 
= 
e:;’, 
if 
er:’ 
is the consistent solntion to eq. 
(33): e’ 
= e!:), if 

e(2) is the consistent solution to eq. (34). 
Note that if e’ F 0 
(mod m,) 
or 

e“= 0 (mod mh), then only the hth or fth information digit is in error. 

The correct values of the fth and hth 
residue digits +re _{(}_{y}_{,} 
_{} _{e}_{J}_{)} mod m, 

and (yh  eh) mod mh. respectively, and 2 is decoded to the codevector 2, 

where 

z;=y,, j=1,2, ... 
, 1I,]#f,h 
(43) 

= (y, E,) 
(mod m,) 
(44) 

A 

Zh P (yh eh) 
(mod mh) 
(45) 
833
It is clear from eq. (2930) 
and 
(33) that if two errors take place in the pth 

and qth information digits such that X + E < M, then for z = p and j = q. 

t = 
e' = e!:), f 
= p, 
and h = q. 
Similarly, if two errors take place in the pth 

and 
yth information 
digits such 
that M 5 X + E < 2hl, then for z = p and 

J = q, e = e' z e(2i, 
f = p, and 
h = q from eq. (3132) 
and (34). However. 
it remains to be ihown that if any one of the following cases occurs: 1)
only one error takes place in the pth (p # i,j) information digit, 2). exactly
two errors take place in the pth and qth information digits, where p # <,I
and/or
q #
i,j, 3).
exactly two errors occur: one in the information part
and the other in the parity part, the solutions to either of eq. (33) and (34)
can not be consistent. Under an additional constraint on the form of the
moduli, the result is established in the following theorem and lemma.
Theorem 7. 
If the moduli of RRNS (n,k) code, are such that there 

donot exist integers n,,, nc; 0 5 n,, < m,m,, 0 5 nc < Mc = U:=, m,*, 

1 5 ra 5 k, 1 5 c 5 2; that satisfy 

n,,Mc 
+ ncm.m, 
42 = nm,, , 
k < T~ 5 n, 1 5 t,1 5 k, (46) 
*=1
then for either one of the following two cases: 1). only one error takes place
in the pth (p # i,3) information digit, 2). exactly two errors take place in
the pth and qth digits, where p # i, j and/or q # i,i, the solutions to either
of eq. (33) and (34) are not consistent.
Lemma 2. If the moduli of RRNS satisfy the condition
min{m,,m,,}
> max{2m,,m,,
mal  m,>}
_{(}_{4}_{7}_{)}
where k < jl,j? 5 n and 1 5 il, i2 5 k, then for either one of the following
two cases: 1). only one error takes place in the pth (p # i,j) information
digit, 2). exactly two errors take 
place in 
the pth 
and qth digits, where 

p # 
e, j and/or 
q # i,3, the solutions to either of eq. 
(33) and (34) are not 

consistent. 
Consider case b): assume that one error takes place in the pth informa
tion digit and the other takes
place in the _{(}_{k} +zc)th digit (uth parity digit),
the procedure to determine error locations and error values is the same as
that for case a), except that when no consistent solution is found in caSe
(a), then we check if any 3 congruences in either eq. 
(33) or eq. (34) have a 

consistent solution, say e', which satisfies e' < m,m, 
and e' 
= 0 
(mod m,) 

or (mod m,). Note that this consistent solution may be obtained from 

the combination or 
since one error may occur 

in the (k +I)th or (kt2)th digit Let us say the above condition is satisfied 

for a = f and i = h, and the only inconsistent congruence is correspond 

ing to the (k + s)th residue digit, then the fth 
(if e' 
= 0 
(mod mh))and 

(k + s)th residue digits are declared to be 
in error. The correct value of the 

fth and hth residue digit can be obtained from eq. (4142). and the correct 

value of the (k + s)th residue digit is as follows: 
if 3 congruences in eq. (33) have a consistent solution e'; and
if 3 congruences in eq. 
(34) have a consistent solution e'. 
It 
is clear that 

when f 
or 
h 
= p 
and 
s = U, we have the above result. 
Under the same 
constraint on the form of the moduli as stated in theorem 7, the above result
is established in the following theorem and lemma.
Theorem 8.
If
the moduli of
nc; 0 5 n,,
RRNS (n,k) code, are such that there
< m,m,, 0 5 nC
< Mc =
U:=, mle,
donot exist integers n,,,
1
5 z,, 5 k, 1 5 c 5
2; that satisfy
m,Mc
+ ncmm, = nm.,
I=
1
,
k
<
T,
5 n,
1 5
Z,J
5 k,
(50)
thcn whcn cq. (33) or eq. (34) has exactly 3 Conbiatent solutions whirh are
equivalent to zero 
(mod m,) or 
(mod m,), the ith 01 jth information 
digit and the parity digit corresponding to the only inconsistent solution are 

received in error. 
Lemma 3. If the moduli of RRNS satisfy the condition
mzn{m,,m,,} > mae{zm,,m,, mc1 mea} _{(}_{5}_{1}_{)}
Based on the concept developed above and under the assumption that
the moduli of MDSRRNS satisfy the condition in theorem 7, the algorithm
to correct double errors can be described _{a}_{s} follows:
Step 1: According to the received vector, we compute the syndromes.
Step 2: Check how many syndromes are zero:
(1). If all the syndromes are zero, then no error occurs. Stop.
(2). If only one syndrome is nonzero, then only one error in parity. Correct
it and stop. 

(3). If two syndromes are nonzero, then two errors in parity. Correct them 

and stop. 

(4). If none or one syndrome is zero, then go to step 3. 

Step 3: i = 1.  

Step 4: j = i + 1 

__ 

Sten 5: Perform doubleerror  consistencychecking 
for all the possible com 

bination of the nonredundant moduli m, and m,. 
Check the consistency of 

the solutions. If it is consistent, then 
go 
to step _{6}_{;} 
if 
it 
_{i}_{s} not 
consistent, 

then go to step 7. 

Step 6: If the consistent solution e'  
0 mod m, 
(or 
e' 
G 
0 mod m,), then 
only one error in the 3th (or ith) position; otherwise exactly two errors in
the zth and jth positions. Correct them and stop.
Step 7:
if exactly 3 solutions are consistent and the consistent solution
(mod m.)
(or e'
E
0
(mod m3)),then exactly two errors: one in
the jth (or ath) position and the other in the parity for which the solution
is not consistent. Correct them and stop. Otherwise, go to step 8.
Step 8:
j
= 3 + 1, go to step 5 for j 5 k. For j
for z 5 k  1. For i = k, go to step 9.
__
> k, i = i + 1 go to step 4
Step 9: Declare more than two errors detected and stop.
6 Extensions of Previous Algorithms
In [i,i], the algorithms for locating single residue digit error is fully based
on the properties of modulus projection and MRC. MRC is an operation to
represent the integer X in the form
1=1
r=i
where
0 5
a( < mi,
2 =
1,2,. . .
,n,and n;=,m, = 1. In an RRNS (n,k)
code, the first k mixed radix digits al,
a2,. . .
,ah are called the nonredun
dant mixed radix digits, and the rest ak+l,
ak+2,. . .
, a,
will be called the
redundant mixed radix digits.
It is obvious that if the redundant mixed
radix digits are all zero, the number X
is a legitimate number; Otherwise,
S 1s an illegitimate number. The modulus m,projection
of X in RRNS
(n.k) code, denoted by X,, is defined as
X,= X mod ,
MMR
(53)
m, 

that is, X,can be represented as [zi, 
, z.l, 
, zn]which is the 
residue representation of X
in a reduced RRNS with the ith residue digit
xi deleted. The mixed radix representation of X, is
(54)
where the new first k mixed radix digits are still called the nonredundant
mixed radix digits and the rest are called the redundant mixed radix digits,
e.g., if 
a 5 
k, UI, 
a?, 
. 
. 
., 
a,i, 
,u~,ak+~are the nonredundant 
mixed 
radix digits, and ak+?, 
, a, are the redundant mixed radix 
digits. It is obvious that if X,is a legitimate number, the redundant mixed
radix digits are all zero. However, if the redundant mixed radix digits are
all zero, mathematically X, could still be an illegitimate number. In [7] has
shown that an illegitimate projection resulting from _{a} single error can not be
smaller Than the smallest nonzero number represented by eq. (54) with all
the nonredundant mixed radix digits zero. Therefore, Jenkins' algorithm [7]
for locating single residue digit error is by checking if the redundant mixed
radix digits are all zero for each modulus m,projection,
1 =
1,2,. . .
, n.
In the following analysis will show, from the coding theory point of view,
that their algorithm can be extended for detecting and correcting multiple
residue digit errors. The MAprojection of X,denoted by XA,is defined by
where k < j1,j25 n and 1 5 zl,i2 5 k, then when eq. 
(33) or 
(34) 
MMR XA = X mod  
(55) 

eq. has exactly 3 consistent solutions which are equivalent to zero modm, or 
_{M}_{A} 

modm,, the rth or jth information digit and the parity digit corresponding 
wliere MA 
= n;=, m,,, A = {a,, iz,, , , , 
, iA; i, 
< 
a2 
< 
. 
. 
. 
< 
zc 
< 

to the only inconsistent solution are received in error. 
. 
< ah), 
and X 5 n  
k = d  1. XA can also be represented as a reduced 
834
residue representation of X with the residue digits z,~,z,~,
. . .
Then, the mixed radix representation
of XA is
, x,~deleted.
The legitimate and illegitimate range of the reduced RRNS are [O, M’) and
[M’, w),respectively, where M’ is the product of the first 5 moduli of
the reduhced
RRNS, i.e.,
M‘=
M = n:=,m,
r=l
m,,
i,
il > k
< k + c,
i,+l
> k +c,
_{5} _{E}
^{(}^{5}^{7}^{)}
It is obvious that M’ 2 M. M’ is also the smallest nonzero number rep
resented by eq. (56) with all the nonredundant mixed radix digits zero. It
follows from eq. (55) that the MAprojection of any legitimate number X
in RRNS is still a legitimate number in [0, M), that is, XA = X. The proof
of the following theorem has been given by [4], therefore, is omitted here.
of 7,where MA = n:=, m,, Theorem 9. Let 55 be a 

moduli m,, , m,, , 
, m,, . 
number in RRNS and XA be MAprojection
. If XA# 55, the residue representation of x
and FAuniquely differ in one or more of residue digits corresponding to the
Before considering the range of MAprojection TAof any illegitimate
number x in RRNS, we give the following theorem.
Theorem 10.
In an RRNS with minimum distance d = X + P + 1, then
an illegitimate number is originated from a legitimate number _{X} affected
by X errors corresponding to the moduli m,,,
mlZ,. .
., m,,,
if and

only if
the MAprojection TAis a legitimate number and Mpprojection Xp is an
illegitimate number, where
and gcd(Mp, MA) f
= MA.
Mp = nE=mla,
,
1 5 p 5 p,
The range of the illegitimate projection
X
I
is given in the following theorem.
of any illegitimate number
. Unden the wumption that no more than ,9 residue errors
occnr, for an RRNS with

d = A + 9,
+ 1 and p > A, if the MAprojection
is illegitimate, XAwill be in the range
XA of any illegitimate number
[M’, w),where MA = E:=, m,,, 1 5 i, 5 n, and M‘ is the lower bound
of the ilfegitimate range of the reduced RRNS.
Therefore, by checking only the redundant mixed radix digits, it can be
determined whether or not the projection is legitimate. If all the redundant
mixed radix digits are zero, the projection is legitimate; otherwise, it is il
legitimate. A procedure for correcting double errors and detecting multiple
errors can be outlined _{a}_{s} follows:
 1: Rased on the received residue vector, compute the mixed radix dig
Step
its and check if all the redundant mixed radix digits are zero. If yes, then
declare no error and stop. Otherwise, go to next step.
Step 2: Compute the mixed radix digits of m,m,projection for i =
1,2,. .
.,n,
j =
1,2,. .
.,n, and i # j. Check if all the redundant mixed radix digits are
zero. If yes, then declare the ith and jth residue digits are received in error,
correct them by base extension operation, and stop. Otherwise, go to next
step.
Step 3: Declare moze than two errors detected. Stop.
_I
7
Ex~e~§~o~
and Discussion
The presentday practical algorithms for residueerror correction and d
tection mostly focus on singleerror correction because of the considerations
of large memory space requirement or computational inefficiency for multi
ple error correction. Our algorithms developed above is in no need _{o}_{f} large
memory space required for table lookup, also seems to be much superior to
that in [7] from computational efficiency point of view, i.e., the requirement
of multiplications (MULT) and additions _{(}_{A}_{D}_{D}_{)}_{.} The comparison _{o}_{f} our
algolithm with that in [7] in terms of the requirement of ADD and MULT
is shown in Table 1. We should point out that for doublperror correction
the expression in colomn 2 of Table 1 is obtained by extending Jenkins’
algorithm [7] in which doublerror correction is not considered.
A natural question arised at this stage, “Can the coding theory approach
to RRNS be extened for detecting multiple errors and correcting multiple
errors/erasures ?” The answer to this question is yes.
To be specific, we
have derived computationally efficient algorii,hms for (i) simultaneously cor
recting multiple (I) erasures and detecting multiple (p) errors, for an RRNS
having
d = I + P + 1, and (ii) simultaneously correcting single (A = 1) error
and multiple erasures and detecting multiple _{(}_{f}_{l} _{>} _{A}_{)} errors, for an _{R}_{R}_{N}_{S}
having d = I( + X t p t 1. The details of these algorithms are included in
[lo].
_{R}_{e}_{f}_{e}_{r}_{e}_{n}_{c}_{e}_{s}
[I] N.
S. Szabo and R. I. Tanaka, Residue Arithmetic and its application
to Computer Technolagy. New York: McGrawBill,
1967.
[2] R. W.Watson and 6.W. Hastings, “SelfChecked Computation Using
Residue Arithmetic,”
Proceeding of the IEEE, no.12, pp 19201931,
Dec. 1966. 

[3] 
U. 
Mandelbaum, 
_{“}_{h}_{r}_{r}_{o}_{r} 
_{C}_{o}_{r}_{r}_{e}_{c}_{t}_{i}_{o}_{n} 
in 
Residue Arithmetic,” IEEE 
Trans. on Computers, no.6, pp 538545, June
1972.
[4] F. Barsi and P. Maestrini, “Error Correcting Properties of Redundant
Residue Number Systems,” IEEE Trans. on Computers, 110.3,pp 3C7
315, Mar. 1973. 

[5] 
S. SS Yau and 
YC Liu, ”Error Correction in Redundant Residue Num 
ber Systems,” IEEE Trans. on Computers, Vo1.C22, pp. 511, Jan.
1973.
[6] Vijaya Ramachandran, “Single Residue Error Correction in Residue
Number Systema,” IEEE Trans. on Computers, no.5, pp 504507 May
1983.
[7] W. K. Jenkins and E. J. Altman, “SelfChecking Properties of Residue
Number Error Checkers 
Based on Mized 
Radiz 
Conuersion,” IEEE 

Trans. on Circuits and Systems, pp, 159167, Feb. 1988. 

[8] 
CC 
Su and 
HY 
Lo, “An Algorithm for Scaling and Stnyle Residue 
Error Correction in Residue Number Systems,” [EEE Trans. on Com
puters, no. 8, pp. 10531064, Aug. 1990.
[9] Hari Krishna and KuoYu Lin, “A Coding Theory Approach to Error
Control in Redundant Residue Number Systems, Part _{I}_{:} Theory and Single Error Correction” submitted to IEEE Trans. on Circuit and
Syst ..
[IO] JennDong
Sun and Hari Krishna, “A Coding Theory Apprwch to Er
ror Control in Bedundant Residue Number Systems, Port II: Multiple Eraaures and Single Error Correction and Multiple Errors Detection”
to be submitted to IEEE Tram. on Circuit and Syst ..
I
Table 1: The Requirement of MULT or ADD
t Error
\ Jenkins 171
I
New
I
835