You are on page 1of 5

Fast illgorithms for Multiple Errors Detection and Correction in Redundant

Residue Number Systems

Jenn-Dong

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 residue-error correc- tion. However, most of the previous works focus on single-residue error correction because of the considerations of large memory space requirement [2,8] or computational inefficiency [1,3-71. 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. In 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 multiple-error 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, m-1, mz,

., mk, called nonredundant moduli. A positive integer

uniquely represented by the k-tuple [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 n-tuple

[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 n-tuple residue repre- sentations form an n-dimensional vector space, and the vectors correspond- ing to the numbers in legitimate range constitute the k-dimensional code space called RRNS (n,k) code space 0. Every n-tuple 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 self-contained. Definition 1. The Woniming weight of a codevector 2,wt(g), in a RRRJS is defined as the number of non-zero 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

d--1

For maximum-distance-separable RRNS (MDS-RRNS), 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 MDS-RRNS (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

24ACSSC-1219010831 $1.00 G 1990 MAPLE PRESS

= ,Y, ~,~+-t~, (modm,,),O<e,u<mm,v. k + 15 j, 5 n, v = 1,2, , g (7)
=
,Y,
~,~+-t~, (modm,,),O<e,u<mm,v.
k + 15 j,
5
n,
v =
1,2,
,
g
(7)
where 11,
, tc are the positions of the errors in the information digi!s,
the
corresponding
error values
being
e.,
, e.>,
, e,c;
and
.
11
, l4
are
the positions of errors in the parity, the corresponding error values being
e,,
,
, eJ9. The altered information number 7 can
be represented a
-
- y
,
[Yl,YZ,
ytl
=
[Zi,ZZ, . ,Zk]
..
+
, O,e,,,
, O,e,,,
,0,ebc,
,a]
(8)
whcre
X-
zk]
E
--+
[O ,
...
,
O,e,,,O
,
...
,
O,e,,,O
,
...
,O,e,,,O
,
...
,
01
Since E
0
(mod m,) for
all
# i,,
where a
=
, c,
and
E
#
I
0
mod m, for
t = i,,
a = 1, 2,. , , , c, i.e., the
number E
is a multiple
of all
information
moduli except ml,, mG2,. , and
m,=,then
where
0 < e < m,,m.,
m,c. Therefore,
-
Y
E X + E
(mod
M)
(10)
Based
on [y~,yz, . , , , yk], and by base extension (BEX) operation [2] which
avoids processing large valued integers, the parity digits are recomputed to
get
L
yktT
(mod mttP),r = 1,2
..
.
.
, n
-
k
(11)
We dcfine the test quantities A,
called syndromes a
A, E (y;+r - yktr)
(mod mk+r),
T =
, n - k
(12)

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+E-M=X+e&-iii

n,=,mr,

.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 non-zero,

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 iioii-zero,

then more than X residue

digits are in crror.

 

Case 4: If /3 + 1 to all syndromes are non-zero.

then at least one of the

information digits is in 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 Single-Error

Correc-

tion and Multiple-Error

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. (15-20)

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

where 0 < e < mp. Given

AI, A,,

.

.

. An-k, baed on eq

(19-22)

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:'"'

=

eil.z)

=. , , ~

e;l,n-k)

 

or

e(z21) ~

=

= ej2,rL-k).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--*)

n-k);

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.

 

(19-20)

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

df 5 A ' + E

< 2.V.

 

thm

for

J

= p,

e =

e'

=

e('")

= e(*"'

=

.--

e?

"-')

 

and

I = p

from eq

(21-22) 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..

(27)

 

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

to 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)

are consistent,

 

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%n--k)

 

.

.

>

obtain

I

,

3

This is not possihlc as

,-=I

. The case for M < X+ E < 2M, can he analyzed in an analogous manner.

Case 2): for

+ 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

(28)

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 non-sero, 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 non-zero,

then

go

to step 3.

Step 3:

-

Let 3 = 1.

Step 4:

Perform single-error

consistency-checking 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 Double-Error 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. (13-18)

become

(i).

for S + E < M,

and

(ii). for M

A,

z e-

M

mPmq

5 X + E < 2M

(mod m-k+,) 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. (29-32) 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

(36)

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*tlmL-t2

mk+r

e(2.r)

mktr),

~

,,2

(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 of 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,

- eJ) 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. (29-30)

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. (31-32)

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,>}

(47)

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. (41-42). 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} (51)

Based on the concept developed above and under the assumption that

the moduli of MDS-RRNS satisfy the condition in theorem 7, the algorithm

to correct double errors can be described as 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 non-zero, then only one error in parity. Correct

it and stop.

(3). If two syndromes are non-zero, 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 double-error

-

consistency-checking

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

is 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 non-zero 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 MA-projection 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

 

MA

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

(57)

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 MA-projection 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 MA-projection

. 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 MA-projection 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 MA-projection TAis a legitimate number and Mp-projection Xp is an

illegitimate number, where

and gcd(Mp, MA) f

n:=, m,,

MA = n:=,m ,,,

= 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 MA-projection

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 as 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 present-day 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 of 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 (ADD). The comparison of 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 doublp-error correction

the expression in colomn 2 of Table 1 is obtained by extending Jenkins’

algorithm [7] in which double-rror 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 (fl > A) errors, for an RRNS

having d = I( + X t p t 1. The details of these algorithms are included in

[lo].

References

  • [I] N.

S. Szabo and R. I. Tanaka, Residue Arithmetic and its application

to Computer Technolagy. New York: McGraw-Bill,

1967.

[2] R. W.Watson and 6.W. Hastings, “Self-Checked Computation Using

Residue Arithmetic,”

Proceeding of the IEEE, no.12, pp 1920-1931,

 

Dec. 1966.

 

[3]

U.

Mandelbaum,

hrror

Correction

in

Residue Arithmetic,” IEEE

Trans. on Computers, no.6, pp 538-545, 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. S-S Yau and

Y-C Liu, ”Error Correction in Redundant Residue Num-

ber Systems,” IEEE Trans. on Computers, Vo1.C-22, pp. 5-11, Jan.

1973.

[6] Vijaya Ramachandran, “Single Residue Error Correction in Residue

Number Systema,” IEEE Trans. on Computers, no.5, pp 504-507 May

1983.

[7] W. K. Jenkins and E. J. Altman, “Self-Checking Properties of Residue

 

Number Error Checkers

Based on Mized

Radiz

Conuersion,” IEEE

Trans. on Circuits and Systems, pp, 159-167, Feb. 1988.

[8]

C-C

Su and

H-Y

Lo,

“An Algorithm for Scaling and Stnyle Residue

Error Correction in Residue Number Systems,” [EEE Trans. on Com-

puters, no. 8, pp. 1053-1064, 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] Jenn-Dong

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