6
480 IEEE TRANSACTIONS ON I N F O R M A ~ O N THEORY, VOL. 34, NO. 3, MAY 1988 Iteratively Maximum Likelihood Decodable Spherical Codes and a Method for Their Construction Absrrucf -We propose a class of spherical codes which can be easily decoded by an efficient iterative maximum likelihood decoding algorithm. A necessary and sufficient condition for a spherical code to be iteratively maximum likelihood decodable (IMLD) is formulated. A systematic con- struction method for such codes based on shrinking of Voronoi corners is analyzed. The base code used for construction is the binary maximal length sequence code. The second-level construction is described. Com- puter simulation results for selected codes constructed by the proposed method are given. I. INTRODUCTION SPHERICAL CODE of dimension n is defined to A be a set of points on a sphere centered at the origin of the n-dimensional Euclidean space E". The radius of the sphere is proportional to the square root of the energy of a transmitted codeword. In this paper we will take the radius equal to 6 and call such a sphere the code sphere. Obviously, a spherical code is an equal-energy code [l] and when it is used for communication over the additive white Gaussian noise channel, the correlation decoder, which is equivalent to a minimum Euclidean distance decoder in this case, performs maximum likelihood decoding. The major parameters of a spherical code are the dimension n, the code size M (Le., the number of codewords), and the maximum normalized dot product between two code words t,, [2]. The minimum Euclidean distance d, for the code and its E,, are related by the formulas (1) (2) 1/2 dmin = ['(I- 1 ' 1 dLn [,,=l- -. and 2n It is well-known that at high signal-to-noise ratios the dmin plays the dominant role in determining the coding perfor- Manuscript received July 17, 1985; revised February 16, 1987. This work was supported in part by the National Science Foundation under Grants ECS-8201761 and ECS-8403776. Some of the results in this paper were presented at the IEEE International Symposium on Information Theory, Brighton, England, June 1985. J. Gao was with the School of Computer and Information Science, Syracuse University, Syracuse, NY 13210. L. D. Rudolph and C. R. P. Hartmann are with the School of Computer and Information Science, 313 Link Hall Syracuse University, Syracuse, NY 13244-1240. IEEE Log Number 8821824. mance. Thus the conventional treatment of the code design problem is to obtain a d, as large as possible for given n and M. The general design problem for spherical codes therefore is equivalent to the geometrical problem of pack- ing points or nonoverlapping spherical caps on a sphere [3], [4]. However, from the practical implementation point of view, the complexity of the decoding algorithm also must be taken into consideration. For the correlation de- coder, the number of correlation operations required is a key factor in its complexity. Since in general each of the codewords has to be correlated with the received word, correlation decoding is known to be NP-hard [5]. To get around this difficulty, we propose a new approach: to solve the code design problem with a constraint on decod- ing complexity. Our goal is to find methods for construct- ing specific spherical codes that can be decoded easily by a simple algorithm which achieves the same performance that a correlation decoder would give. An iterative decoding algorithm is introduced in Section 11. The definition of iteratively maximum likelihood de- codable (IMLD) spherical codes and a necessary and sufficient condition are given in Section 111. Section IV deals with the construction method based on shrinking of Voronoi corners. The second level code constructed is described in Section V. 11. AN ITERATIVE DECODING ALGORITHM Before describing the iterative decoding algorithm, we introduce the concept of nested partition. First, we parti- tion the set of the codewords in a code into subsets. Then we partition each subset into subsets of the subset and iterate the process to make the partition progressively finer. Such a subset, by geometric analogy, will be called a cap. We call the original code the final level code to distinguish it from other intermediate codes which exist only for encoding and decoding purposes. At the ith level of partition we have for each of the newly created caps, called the i th level caps, a representative point on the code sphere, called the center of the cap. The set of all such centers forms a spherical code and is called the ith level center code. Note that a code point of a center code is not necessarily a code point of the final level code, nor of 0018-9448/88/0500-0480$01.00 01988 IEEE

Iteratively maximum likelihood decodable spherical codes and a method for their construction

  • Upload
    crp

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Iteratively maximum likelihood decodable spherical codes and a method for their construction

480 IEEE TRANSACTIONS ON I N F O R M A ~ O N THEORY, VOL. 34, NO. 3, MAY 1988

Iteratively Maximum Likelihood Decodable Spherical Codes and a Method

for Their Construction

Absrrucf -We propose a class of spherical codes which can be easily decoded by an efficient iterative maximum likelihood decoding algorithm. A necessary and sufficient condition for a spherical code to be iteratively maximum likelihood decodable (IMLD) is formulated. A systematic con- struction method for such codes based on shrinking of Voronoi corners is analyzed. The base code used for construction is the binary maximal length sequence code. The second-level construction is described. Com- puter simulation results for selected codes constructed by the proposed method are given.

I. INTRODUCTION

SPHERICAL CODE of dimension n is defined to A be a set of points on a sphere centered at the origin of the n-dimensional Euclidean space E". The radius of the sphere is proportional to the square root of the energy of a transmitted codeword. In this paper we will take the radius equal to 6 and call such a sphere the code sphere. Obviously, a spherical code is an equal-energy code [l] and when it is used for communication over the additive white Gaussian noise channel, the correlation decoder, which is equivalent to a minimum Euclidean distance decoder in this case, performs maximum likelihood decoding. The major parameters of a spherical code are the dimension n, the code size M (Le., the number of codewords), and the maximum normalized dot product between two code words t,, [2]. The minimum Euclidean distance d,, for the code and its E,, are related by the formulas

(1)

(2)

1/2 dmin = ['(I- 1'1

dLn [,,=l- -.

and

2n

It is well-known that at high signal-to-noise ratios the dmin plays the dominant role in determining the coding perfor-

Manuscript received July 17, 1985; revised February 16, 1987. This work was supported in part by the National Science Foundation under Grants ECS-8201761 and ECS-8403776. Some of the results in this paper were presented at the IEEE International Symposium on Information Theory, Brighton, England, June 1985.

J. Gao was with the School of Computer and Information Science, Syracuse University, Syracuse, NY 13210.

L. D. Rudolph and C. R. P. Hartmann are with the School of Computer and Information Science, 313 Link Hall Syracuse University, Syracuse, NY 13244-1240.

IEEE Log Number 8821824.

mance. Thus the conventional treatment of the code design problem is to obtain a d,, as large as possible for given n and M. The general design problem for spherical codes therefore is equivalent to the geometrical problem of pack- ing points or nonoverlapping spherical caps on a sphere [3], [4]. However, from the practical implementation point of view, the complexity of the decoding algorithm also must be taken into consideration. For the correlation de- coder, the number of correlation operations required is a key factor in its complexity. Since in general each of the codewords has to be correlated with the received word, correlation decoding is known to be NP-hard [5]. To get around this difficulty, we propose a new approach: to solve the code design problem with a constraint on decod- ing complexity. Our goal is to find methods for construct- ing specific spherical codes that can be decoded easily by a simple algorithm which achieves the same performance that a correlation decoder would give.

An iterative decoding algorithm is introduced in Section 11. The definition of iteratively maximum likelihood de- codable (IMLD) spherical codes and a necessary and sufficient condition are given in Section 111. Section IV deals with the construction method based on shrinking of Voronoi corners. The second level code constructed is described in Section V.

11. AN ITERATIVE DECODING ALGORITHM

Before describing the iterative decoding algorithm, we introduce the concept of nested partition. First, we parti- tion the set of the codewords in a code into subsets. Then we partition each subset into subsets of the subset and iterate the process to make the partition progressively finer. Such a subset, by geometric analogy, will be called a cap. We call the original code the final level code to distinguish it from other intermediate codes which exist only for encoding and decoding purposes. At the ith level of partition we have for each of the newly created caps, called the i th level caps, a representative point on the code sphere, called the center of the cap. The set of all such centers forms a spherical code and is called the ith level center code. Note that a code point of a center code is not necessarily a code point of the final level code, nor of

0018-9448/88/0500-0480$01.00 01988 IEEE

Page 2: Iteratively maximum likelihood decodable spherical codes and a method for their construction

GAO et ul. : ITERATIVELY MAXIMUM LIKELIHOOD DECODABLE SPHERICAL CODES 4x 1

center codes of other levels. Let r be the received vector. Then the L-step ( L > 1) iterative decoding algorithm is as follows.

1. Do correlation decoding for the first level center code. Find the first level center that is closest to r.

2. If L = 2, go to 5); else let i = 2. 3. Do correlation decoding for the I th level centers in

the ( i - 1)th cap of the center chosen at the previous step. If i < L - 1, then let i = i + 1 and go to 3); else go to the next step. Do correlation decoding for the code points of the final level code contained in the ( L - 1)th cap of the center chosen at the previous step. The closest one is the decoder output.

4.

5 .

It is clear that the above algorithm is essentially a tree search procedure, using codewords of center codes as tree nodes and codewords of the final level code as leaves. The complexity of such a search is known to be O(logN), where N is the number of leaves.

111. ITERATIVELY MAXIMUM LIKELIHOOD DECODABLE SPHERICAL CODES

Definition: A spherical code is called an IMLD spheri-

it can be decoded by the iterative decoding al- gorithm; when decoded by the iterative decoding algorithm, i t achieves the same performance that would be obtained by using a maximum likelihood decoder.

An IMLD spherical code that is IMLD in L iterations is called an L-step IMLD spherical code. Let s, and s, be two code points of a spherical code. The separating hyper- plane for s, and sJ, H ( s , , sJ) , is the set of points equidis- tant to them in E”:

H ( s,, s,) = { xIIx - s,I = Ix - s,I for all x E E “ } (3)

~ ( s , , s , ) = {xlx.(s, -s,) = O for all x~ E “ }

cal code if

1)

2)

or, since Is,I = IsJ/,

(4)

where a . b denotes the dot product of a and b. The hyperplane H ( s , , s J ) divides the space E” into two

half-spaces containing s, and s,, respectively. Denote by SIJ the closed half-space created by H ( s , , s,) and contain- ing s,, i.e.,

sIJ = { x ~ x . ( s , - s,) 2 0 for all x E E ” } . ( 5 )

Definition: The Voronoi region for a code point s,, denoted by V ( s , ) , is defined [6] as

‘(’f) = n (6) all / # I

As far as the geometrical form is concerned, a Voronoi region is a convex flat-sided cone with apex at the origin of E” [l]. Since a point in V ( s , ) is closer to s, than any other code point (or at the same distance), the Voronoi regions

for a spherical code are clearly the decision regions for minimum Euclidean distance decoding. The minimal set of code points that contribute to determining the Voronoi region for a code point and which are other than this code point is called the set of nearest neighbors’ for this code point. The separating hyperplane for a code point and one of its nearest neighbors will be called a bounding hyper- plane. So that the iterative decoder may choose as the output the codeword closest to the received word, the center for each of the center codes whose cap contains this codeword must also be closest to the received word. This implies that the final level Voronoi region for this code- word must be completely contained in each of the previous level Voronoi regions for the pertinent centers. Since this must hold for all possible received words, we see that the Voronoi regions must be exactly nested. On the other hand, if this is true, then the iterative decoder will move along the correct search path of the tree leading to the correct output. Thus we have the following necessary and sufficient condition.

Theorem 1: A spherical code is IMLD if and only if, for all levels, each of the Voronoi regions for the center code exactly consists of the Voronoi regions for all next level code points in that Voronoi region.

Proof: Suppose that the condition is not satisfied at some level, say the ith level, and some ith level Voronoi region VI contains some inner part of an ( i + 1)th level Voronoi region of its ith level neighbor. Then when r is inside this “intruded” area, it is closer to an (i + 1)th level point pertaining to the neighbor than to any other. So the correct choice should be the neighbor. However, since r is inside VI, the iterative decoder selects the ith level point of VI and hence makes a wrong decision.

On the other hand, if the condition holds, the Voronoi regions are perfectly nested, so that if r is inside the Voronoi region of an ith level point p, it is also inside the Voronoi region of the (i - 1)th level center that p pertains to. Thus at each step of iterative decoding the center associated with the closest code point of the final level code will be chosen. That guarantees that the closest code point will be produced by the decoder.

IV. THE VORONOI CORNER SHRINKING METHOD OF CONSTRUCTION

The method for constructing IMLD spherical codes considered in this paper is based on applying a “shrinking procedure” to a set of intelligently selected points on the code sphere to create new code points around the center toward which the shrinking process takes place. Let uo and u1 be two points on the code sphere. Shrinking from u1 toward uo can be interpreted as moving along the great circle of the code sphere passing through these points and creating a new point u2 such that

u; = k,uo + k p , (7)

’A nearest neighbor for a code point should not be confused with the nearest neighbor (or one of the nearest neighbors) of a received word.

Page 3: Iteratively maximum likelihood decodable spherical codes and a method for their construction

482 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 34, NO. 3, MAY 1988

for some scalars k , > 0, k , > 0, and where

U0' u1 < U0' u 2 .

Let a be the angle between uo and u,, 0 < a < 180", and 0 the angle between uo and u2, 0 < e < a. Then it is easy to show [7] that

sin(a- e) sine sin a sin a U l = uo + -ul. (8)

The ratio @/a will be called the shrinking depth. The general construction procedure is as follows. Starting with a spherical code, the base code, we take each of its code points as a center, select a set of points around this center as the candidates to be shrunk, and carry out shrinking. As a result, we get a new set of points on the code sphere which are the code points of the second level code. We could accept the centers as code points for the second level code, but because the distance usually changes faster in the direction of shrinking than in the lateral direction [7], we are better off to discard the centers. The reduction in code size is insignificant if the number of new code points around each center is big enough. The same procedure can be applied to the second level code to construct a third level code and iterated further. The selection of candidate points for shrinking is very important. It has been found that Voronoi corners which are common points for the adjacent Voronoi regions are the most favorable choices.

Definition: A Voronoi corner for a code point is the intersection of the code sphere, the Voronoi region for this code point, and the straight line passing through the origin that is an intersection of bounding hyperplanes. In geo- metrical terms a Voronoi corner is a vertex of the spherical polygon that is the intersection of the Voronoi region and the code sphere.

The base code used in this paper is the binary maximal length (m-sequence) code [8] of length n = 2" - 1 extended to the real number field by the transformation (0 -1, 1 + - l}. We will call this code the first-level simplex code. Let c, = (1; . e , 1) be the all-one codeword and co, c,, . , c, - , the other non-all-one codewords. Denote Z , + , = ( 0 , 1 ; ~ ~ , n } and C = { c , , c , ; ~ ~ , c , } . Let a = ( ~ ~ , a , ; ~ ~ , a , ~ , ) and b=(bo,b l , . . . ,b , - l ) be two arbi- trary vectors in E". Denote by a X b the product of componentwise multiplication

a X b = (aobo,a,b,;.. ,a,_,bn_,).

Obviously, C is a group under componentwise multiplica- tion with c, as the identity element. By the properties of the maximal length code [8], we have

n

C r = O = ( O , . . . , O ) (9) r = O

It is known that any n vectors taken from C are linearly independent. Thus we have the following lemma.

Lemma 1: Any n-vector subset of C is a basis for E". Corollary: The set C spans E". Now we are in a position to determine the Voronoi

corners for the first-level simplex code. Let i E Z,+ ,. Since all code points other than c, are at the same distance from c, and none of the hyperplanes H(c, ,c , ) , for all j E Zn+l, j # i , coincide, all of the code points except c, itself are nearest neighbors of c,. Then the equations for the bounding hyperplanes of the Voronoi region V(c , ) are

(c,-c,).x=O, f o r a l l j E Z , + , , j z i . (11)

Note first that this system of n equations has only the trivial solution, as shown below. By the corollary of Lemma 1 we can write

n

x = a k c k (12) k = O

where ao, a,, . . . , a, are scalars. Straightforward substitu- tion of (12) into (11) and taking (10) into account gives

aJ = a,, for all j E Z,+,, j # i .

Then by (9), x = 0. So the one-dimensional solutions should be sought in systems of n - 1 equations.

Let j E Zn+,, j # i . We have

( c i - c , , ) . x = 0 , forall j l ~ Z f l + , , j l # i , j l # j .

Manipulating in the same way, we get

a. Ji = a 1 ' forall j l E Z , + , , j l # i , j l # j

and

x = (a, - U i ) C j .

It is readily seen that this line intersects the code sphere and V(c i ) at the point (- c j ) which is the desired Voronoi corner. Clearly, there can be at most n + 1 distinct Voronoi corners for the first-level simplex code. So each Voronoi corner must be shared by n neighboring Voronoi regions. In summary we have the following result.

Theorem 2: For the first level simplex code of length n , there are n + 1 distinct Voronoi corners whch are anti- podes of the code points. Each code point has n Voronoi corners equidistant from it. Each Voronoi corner is a common point for n neighboring Voronoi regions. The Voronoi corner that is the antipode of a code point does not belong to this code point.

V. A CLASS OF TWO-STEP IMLD SPHERICAL CODES GENERATED FROM THE SIMPLEX CODE

It is clear from Theorem 2 that each code point of the first-level simplex code is surrounded by n Voronoi corners that are equidistant from each other and equidistant from the code point. Therefore, we have good reason to use all of these corners and the same shrinking depth for each of them. Then for all i E Z,,+,, the new code points around c, will be

(13) c,/ = koc, - klc,, for all j E Z,,+,, j # i

Page 4: Iteratively maximum likelihood decodable spherical codes and a method for their construction

GAO et ul.: ITERATIVELY MAXIMUM LIKELIHOOD DECODABLE SPHERICAL CODES

~

4x3

where sin( a - e )

sin a k , = (14)

sin 6' sina

k =-

a is the angle between the center and one of its Voronoi corners. Hence it is equal to

a = arccos(l/n). (16) 8 depends on the shrinlung depth, which is to be opti- mized. By the group properties of C , (13) can be rewritten as

ci/ = ci x ( kocn - k l ~ j , ) for some j , E Z, + ,\ { n } . Renumbering the second index yields

c : / = c , X ( k , c , - k , c / ) , forall j ~ z , + , , j # n .

c:] = C, X ( koc, - k , ~ , ) However,

= koc, - klCI. Finally

= c, x c ; / , for all i E Zn+,, j E Zn+l , j # n . (17)

It is known that the codewords c,, c,; . ., c,-, make up a full cycle, i.e., each of them is a cyclic shft of any other. Since c, is invariant under a cyclic shft, the codewords c ; ~ , j = 0,l; . ., n - 1, also make up a full cycle. More- over, since

cAj can be obtained from cj by the transformation { 1 + k , - k , , - 1 + k , + k l } .

Construction VCS

Construction Voronoi corner shrinkage (VCS) has the following steps.

Select a binary maximal length code of length n and transform it to the simplex code over { + 1, - l} by the mapping ( 0 -, 1, 1 .+ - 1). This will be the base code in the construction. Choose a shrinking depth and calculate k , and k , by (14) and (15). Choose a non-all-one codeword in the base code and apply the mapping (1 -, k , - k,, - 1 -, k , + k , } to it to obtain a seed codeword. Cyclically shft the seed codeword (n - 1) times to generate (n - 1) new codewords which, along with the seed codeword, form a set of n codewords that is the cap whose center is the all-one codeword of the base code. Componentwise multiply the codewords thus ob- tained by each of the non-all-one codewords in the base code to generate a new cap with the multiply- ing codeword as the center.

Obviously, the spherical code generated by construction VCS has n ( n + 1) codewords and that the base code is the first level center code.

Theorem 3: The spherical code generated by construc-

Proof: According to Theorem 1, what we need to

tion VCS is two-step IMLD.

prove is that, for all i E Zn+,,

V ( 4 = u "("I/). (18) all / E z,,,, J f I

We have

V( c , ) = { xlc, . x 2 cJ * x for all j E Zn+,, j # i } (19)

and

V ( c , , ) = x ~ c , / . x ~ ~ , ~ ~ ~ . x f o r a l l i ,EZ,+, i if i , # i

Zn+,, jl# i , j ,# j , if i,= i and all j , E

Since k , > 0 and k , > 0, c,,-x 2 c i l j .x implies that c j . x 2 c I 1 - x for some i, E Z,+,, i , # i , i, # j , and cII ex 2 c,,,.x implies that - c I . x 2 - cj; x for some j , E Z, + ,, j , # i , j l # j . Therefore, c, ,. x 2 ci, ,. x and cII . x 2 c ~ , ~ . x together imply that c i j - x 2 C ~ ~ , ~ - X . In case i , = j , then c - .ex 2 c l l j - x implies that c, . x 2 c,; x, and ci ,. x 2 cIJ1- x implies that c . . x 2 cJ . x, so cia x 2 c/ . x, and hence cil . x 2 c, ljl. x. Thus in all cases we have, for i E Zn+,, that

!I

/I

c . .ax 2 c - ' x , for all j , E Z,+,, j , # i , j , # j I / ,/I

and c :x 2 c - .ax,

together imply that

for all i , E Z,+,, i , # i , i , # j I / I1 /

c I I - x 2 c . :x, forall i lEZn+, , i , # i 11 11

j1#'1, if i , # i

Z,+,, j l # i , j ,# j , if i ,=i ' and all j , E

Then (20) can be simplified to

~ ( c , , ) = ( x / ~ , ; x ~ c , ~ , . x f o r a l l i lEZn+, , i l + i , i , + j

and c,] . x 2 c,/,-x for all j , E Zn+,, j , # i , j , # j ) . (21)

Now since c,] . x 2 c I L I . x is equivalent to c, . x 2 c,,.x and c,/ ex 2 C,/,.X is equivalent to c/,.x 2 c/ 'x , (21) can be rewritten as

v(c,,)= ( x ~ c , ~ ~ x ~ c , , ~ x ~ o r a ~ ~ i , ~ ~ , + , , i , # i , i , # j

and cJ; x 2 cJ . x for all j , E Z, + ,, j , # i , j , # j ) . (22)

It is not hard to see that

u V(C,/) all j E Z,, ,, J # i

= { x I c j . x 2 c i l . x for all i , E Zn+,, i, # i } . (23) Therefore, (18) is true.

Page 5: Iteratively maximum likelihood decodable spherical codes and a method for their construction

484 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 34, NO. 3, MAY 1988

Note the interesting fact that the shape of V ( c l J ) does not depend on the shrinking depth. clJ is equidistant from c , ~ ~ , i, E Zn+,, i, # i , i, # j and is also equidistant from

j , E Zn+, , j , # i, j , # j . These two distances change c l J l ,

in opposite directions with the shrinking depth. So the optimum should equalize them, i.e.,

for any i,, j , E Zn+, , i, # i, i, # j , j , # i, j , # j . The solu- tion is k, = k,, which corresponds to midpoint shrinking with the shrinking depth equal to 1/2.

Then

TABLE I SECOND-LEVEL SIMPLEX/BINARY CODE COMPARISONS

Code M d , Code M d , CodeType Best Binary Code Second-Level Simplex Code

(7 ,6- ) 56 2.646 (7,6) 64 2.828 linear single parity check

(15,8-) 240 3.873 (15,8) 256 4.472 nonlinear N - R c o d e

(31,10-) 992 5.568 (31,lO) 1024 5.657 linearBCH (63,12-) 4032 7.937 (63,12) 4096 9.798 linear BCH

VCS is a group code for the Gaussian channel defined by Slepian [l]. When decoding the second-level (2" - 1,2rn- ) spherical simplex code, we can take advantage of the group property to reduce the number of second-level codewords needed to be stored to the number of code- words in a single cap, which is equal to n. By (17) and the property of dot product, we have

r . ~ ; ~ = r . [ c , ~ c : , ] = [ r ~ c ~ ] - c i ~ = r ' . c i ~ , The code thus generated will be called the second level (2" - 1,2m- where r' 9 r X c, is the modified received vector. There-

fore, at the second decoding step we can always bring the code length = 2" -' correlation procedure to the V , region by multiplying

component by component the received vector r by the cap code size maximum normalized dot product tm= = l l 2 center chosen as the result of the first step of the iterative

d E f i n = h decoding procedure. Then we need to have only n second- minimum Euclidean distance The computer simulation result for the second-level level codewords to correlate with. Furthermore, by (13) (63,12-) spherical simplex code is shown in Fig. 1. For and (25), we can write comparison, the performance for the (63,12) BCH code is

spherical simplex code. Its parameters are

M = n(n +1) = 2m+'og2(*m-1)

also shown. cnJ = [ -q'2(cn 2(n +1) - c J ) .

1 - (63 121 BCH code, ML p h o n c e obtained by canpu(er simulation

2- (6JQ-,)smricd simplex c e,iteratwe decoder

3 (Q12) BCHcode,grodent decoder1 eqr carredian imfamatlon set ['o]

-

\

0 1 2 3 %/NO in dB

Fig. 1. Computer simulation results for (63,21- ) second-level spherical simplex code and (63,12) BCH code.

A comparison of the first few second-level simplex codes to the closest (and best) binary codes is given in Table I. It is easy to check [7] that the code generated by construction

Then maxJ[r'.cnJ] is equivalent to minJ[r'.cJ]. Thus it is enough to store the code set C or its binary equivalent to complete the whole iterative decoding process.

Encoding for these codes can be performed quite simply using a conventional cyclic code encoder modified so that the all-zero codeword is never produced. It turns out that the implementation problem for such a modified encoder has been solved by researchers working on computer net- work protocols [9].

VI. CONCLUSION

We have introduced a new class of spherical codes, the iteratively maximum likelihood decodable spherical codes, which can be decoded easily by using an efficient iterative algorithm to achieve the maximum likelihood decoding performance when such a code is applied to the Gaussian channel. While the general design problem for this new code is still open, we have proposed a systematic construc- tion method, the Voronoi comer shrinking method. From an example of a specific IMCD spherical code constructed by the proposed method, we have been able to show that IMCD spherical codes do exist and can be quite good. An attempt to extend the Voronoi corner shrinking method to the third level construction has been made and the results will be reported in another paper to follow.

Page 6: Iteratively maximum likelihood decodable spherical codes and a method for their construction

GAO et ul.: ITERATIVELY MAXIMUM LIKELIHOOD DECODABLE SPHERKAL CODES 4x5

REFERENCES

[l]

[2]

[3]

D. Slepian, “Group codes for the Gaussian channel,” Bell Syst. Tech. J.. vol. 47, pp. 575-602, 1968. N. J. A. Sloane, “Tables of sphere packings and spherical codes.” IEEE Truns. Inform. Theoty, vol. IT-27, pp. 327-338. May 1981. H. S. M. Coxeter, “The problem of paclung a number of equal nonoverlapping circles on a sphere,” Truns. New York Acud. Sci., Series 11, vol. 24. pp. 320-331, Jan. 1962. R. A. Ranlun, “The closest packing of spherical caps in n dimen- sions,” Proc. Glusgow Muth. Asso., vol. 2, pp. 139-144, 1955. E. R. Berlekamp et ul., “On the inherent intractability of certain coding problems,” IEEE Truns. Inform. Theory, vol. IT-24, pp.

[4]

[5]

384-386, May 1978. [6] C. A. Rogers, Packing und Covering. Cambridge: Univ. Press,

1977. [7] J. Gao, “Iteratively maximum likelihood decodable spherical

codes,” Ph.D. dissertation, Syracuse Univ., Syracuse, NY, 1984. [8] G. C. Clark, Jr., and J. B. Cain, Error-Correction Coding for Digitul

Communimtrons. New York: Plenum, 1981. [9] A. S. Tanenbaum, Computer Nehvorks. Englewood Cliffs, NJ:

Prentice-Hall, 1981. J. P. Gao, L. D. Rudolph, and C. R. P. Hartmann, “Soft decision decoding using a modified gradient method and multiple informa- tion sets,” presented at the IEEE Int. Symp. Information Theory, St. Jovite, Canada, 1983.

[lo]