You are on page 1of 11

Optical Orthogonal Codes with Unequal

Auto- and Cross-Correlation Constraints


Guu-Chang Yang, Member, IEEE, and Thomas E. Fuja, Member, IEEE

Abstract- An optical orthogonal code (OOC) is a collection performance are not the same, and so considering only codes
of binary sequences with good auto- and cross-correlation prop- for which the constraints are identical may lead to a suboptimal
erties; they were defined by Salehi and others as a means of code. Bounds on such OOC’s are derived and techniques for
obtaining code-division multiple access on optical networks. Up to
now, all work on OOC’s have assumed that the constraint placed constructing them are described.
on the autocorrelation and that placed on the cross-correlation Finally, OOC’s with unequal auto- and cross-correlation
are the same. In this paper we consider codes for which the two constraints may be viewed as constant-weight unequal error
constraints are not equal. Specifically, we develop bounds on the protection (UEP) codes; therefore, we interpret the bounds and
size of such OOC’s and demonstrate construction techniques for constructions in that context.
building them. The results demonstrate that a significant increase
in the code size is possible by letting the autocorrelation constraint
exceed the cross-correlation constraint. These results suggest that 11. BACKGROUND
AND MOTIVATION
for a given performance requirement the optimal OOC may be
one with unequal constraints. In this section we briefly review previous work on optical
This paper also views OOC’s with unequal auto- and cross- orthogonal codes and indicate why the problem considered in
correlation constraints as constant-weight unequal error pro- this paper is important.
tection (UEP) codes with two levels of protection. The bounds
derived are interpreted from this viewpoint.
A. Definitions and Past Work
Index Terms-Code-division multiple access, optical networks,
constant-weight codes, unequal error protection codes, spread- What follows is the definition of an OOC given by Salehi
spectrum systems. et al. [3].
Definition: An ( n , w, A,, A,) optical orthogonal code C is
a collection of binary n-tuples, each of Hamming weight w ,
I. INTRODUCTION such that the following two properties hold:

T HIS PAPER concerns the use of optical fiber in a mul-


tiuser communication network. Specifically, it considers
the use of code-division multiple-access techniques that permit
(Autocorrelation) For any z = [zo, . ‘ . , xn-l] E C and
any integer r,O < r < n,
n-1
many users to share a single optical channel through the
assignment of unique “signature sequences.”
t=O
This approach has a long history as applied to communi-
cation channels where the modulated signals can have both (Cross-correlation) For any z = [zo, . . . , 5 , - 1 ] E C and
positive and negative components-e.g., binary phase-shift any y = [ y ~ , . . . , y ~ -E~ C] such that z # y and any
keying. However, in optical systems-where incoherent pro- integer r
cessing means that only signal intensity is measured-there n-1
are no negative components, and the effect on code design is CXtYtH,, L A,.
profound. This was noted by Salehi and others in their design t=O
of optical orthogonal codes (OOC’S) [ 1]-[4]
The results in this paper extend previous work on optical Note: OOC’s were defined in terms of periodic corre-
orthogonal codes in that we consider codes for which the lation; thus the addition in the subscripts above-denoted
auto- and cross-correlation constraints are not equal. We “@”-is all modulo-n.
observe that the effects of the two constraints on system The definition of an OOC can be recast in terms of Ham-
ming distance; doing so makes clearer the parallels between
Manuscript received August 28, 1992; revised March I , 1994. T. Fuja OOC’s and constant weight error correcting codes.
was supported in part by the National Science Foundation under Grant
NCR-8957623 and by the NSF Engineering Research Center Program CDR-
Notation: Given a binary n-tuple z,let Dix denote the
8803012. Portions of this work were presented at the 1991 Intemational binary n-tuple obtained by performing i right-cyclic shifts on
Symposium on Communications, Tainan, Taiwan, December 1991, and at 5.
the 1992 Conference on Information Sciences and Systems, Princeton, NJ,
March 1992.
Alternate Definition: An ( n , w, A, A,) optical orthogonal
G.-C. Yang is with the Department of Electrical Engineering, National code C is a collection of binary n-tuples, each of Hamming
Chung-Hsing University, Taichung, Taiwan, ROC. weight w, such that the following two properties hold:
T. Fuja is with the Electrical Engineering Department, Institute for Systems
Research, University of Maryland, College Park, MD 20742 USA. (Autocorrelation) For any z E C,dgin(z)2 2w - 2A,,
IEEE Log Number 9406409. where dgin (z) is the minimum distance between z and
0018-9448/95$04.00 0 1995 IEEE

Authorized licensed use limited to: Politecnico di Torino. Downloaded on May 04,2010 at 15:47:32 UTC from IEEE Xplore. Restrictions apply.
YANG AND FUJA: OPTICAL ORTHOGONAL CODES 91

A estimate its message in the presence of interference from


its cyclic shifts-i.e., d”,;, (2)= min { d ~ ( xP,x ) :7 =
1, 2 , . . . , n - I}. other users. Thus the cross-correlation constraint aids syn-
(Crosscorrelation) For any x E C and any chronization in the presence of multiple users and permits
y E C,dLin(2,y) 2 2w - 2A,, where each receiver to “track” its message after synchronization
A is achieved.
dLln(x,y) = min{dH(x, D‘Y):T = 0 , I , . . . , n - 1).
Consider the partition of binary n-tuples into “clouds,” Thus the autocorrelation constraint contributes only to syn-
where every cloud consists of cyclic shifts of the same n- chronization, while the cross-correlation constraint affects both
tuple. Then constructing an OOC consists of picking at most synchronization and operation.
one n-tuple from every cloud under two constraints; the first A reasonable “figure of merit” for a code is the number
constraint specifies the minimum Hamming distance within of interfering users necessary to cause the code to fail. For
a cloud, while the second specifies the minimum Hamming instance, assume synchronization has been achieved; then
distance between clouds. Thus if the two constraints are the only errors the ith receiver can make in estimating its
equal-i.e, if A, = A, = A-then an OOC, taken together logical sequence are 0 4 1 errors, and they can only occur
with all of the cyclic shifts of each OOC codeword, represents when enough other users interfere to make the correlation at
a constant-weight cyclic error-correcting code with minimum the ith receiver exceed a threshold w. Since each of those
distance 2w - 2A. other users can contribute at most A, to the correlation, the
The use of OOC’s for multiple access is described in performance “figure of merit” is w/A,. In a similar vein,
[I], [2]. We assume that each user may transmit a physical the synchronization “figure of merit” is (w - A,)/& for
optical pulse-a chip-at any time. If we assume incoherent multiple-access synchronization and w - A, for single-user
processing-i.e., only the intensity and not the phase of synchronization.
the signal is available at the receiver-then multiple pulses Taking these as our performance criteria, we see why
transmitted simultaneously by different users sum. “asymmetric” OOC’s-i.e., codes with A, # &-might be
Each user in the network is assigned a codeword from an preferable to “symmetric” codes. If we compare (for instance)
optical orthogonal code. The codeword assigned to a user is an (n, w + m , A+m, A) OOC with either an ( n ,w , A, A) code
that user’s “signature sequence,” and when the user wishes to + + +
or an ( n ,w m, A m, A m) code, we see the asymmetric
convey a logical “1” he transmits the corresponding sequence code is more robust.
of pulses and pauses; when the user wishes to convey a logical + +
So the performance of an ( n ,w m, A m, A) OOC is at
“0” he transmits nothing for n chip durations. At the receiver, least as good as comparable “symmetric” OOC’s. However,
each user computes the correlation of the received sequence we will demonstrate that the cardinality of the (n, w m, A + +
with that user’s signature sequence; because of the low auto- m, A) code can actually exceed that of the less robust codes;
and cross-correlation properties the correlation typically stays thus more users can be provided even better performance. This
low untl a logical “1” is indicated by a correlation of w . In motivates the study of such OOC’s.
this way each user can recover his own logical sequence.
In [I], [ 2 ] Salehi introduced optical orthogonal codes and 111. SOME NEW BOUNDSON OPTICAL ORTHOGONAL CODES
computed the error probability assuming a channel where the
only “noise” is interference from other users. In [3] Chung, Define @(n,w , A, A,) to be the cardinality of an optimal
Salehi, and Wei described constructions of OOC’s for the case optical orthogonal code with the given parameters, i.e.,
A, = A, = 1 and derived bounds on the cardinality on an A
( n ,w, A, A) code. In [4J Chung and Kumar described a con- @(n,w, A, A,) = max{(C(: C is an (n, w, A, A,) OOC}.
struction technique for the case A, = A, = 2 and derived new
upper bounds on the cardinality of an optimal OOC-again for In this section we derive some new bounds on @ ( n w, , A,
the case A, = A, = A. Finally, we note the work of A, Gyorfi, A,). Before this can be done, however, we need to set up the
and Massey [5] on cyclically permutable codes (CPC’s)-i.e., notation and derive some preliminary results.
binary codes whose codewords are cyclically distinct with Dejnition: Let x = [xo,5 1 , . . . , x,-I] be a binary n-tuple
full cyclic order; a constant weight CPC is exactly an optical of weight w ; assume xjo = xjl = ... - - xjw-l = 1. The
orthogonal code. adjacent relative delay vector associated with x is denoted
t , = [ t o , tl,...,tw-l] and is defined by
B. Why Consider A, # Ac?
fori=O, 1 , . . . , w - 2
The two correlation constraints serve two purposes. n + j o - jlu-l,for i = w - 1.
The autocorrelation constraint guarantees that each signa-
ture sequence is unlike cyclic shifts of itself. This property More generally, the relative delay between two 1’s in a binary
enables the receiver to obtain synchronization-to find n-tuple is the number (modulo-n) of cyclic shifts required to
the beginning of its message and locate the codeword “line up” the two 1’s; tz consists of the relative delay between
boundaries. all adjacent 1’s in 2.
The cross-correlation constraint guarantees that each sig- Notation: Let x be a binary n-tuple of weight w and let
nature sequence is unlike cyclic shifts of the other sig- t x = [to, t l , . . . , tw-l] be its adjacent relative delay vector.
nature sequences. This property enables the receiver to Let Rx = [ r Z ( i j, ) ] denote the (w - 1) x w array of integers

Authorized licensed use limited to: Politecnico di Torino. Downloaded on May 04,2010 at 15:47:32 UTC from IEEE Xplore. Restrictions apply.
98 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 41, NO. 1, JANUARY 1995

whose (2, j)th element is given by Proof: The elements of Rz indicate the relative delay
between every pair of 1’s in z. Therefore, Rz contains
+
X 1 repeated elements if and only there exist two sequences
{io, i l , . . . , Z ~ }and {i;, zi,...,zL} such that for all j =
0, l , . . . , X
(Note: The subscript addition above and in the definition of xa3= xal = 1 and i, - i: = I-* # 0.
Mz, below is all modulo-w-denoted “U.”) 3

For any z E (0, 1)“ and any integer X ( 1 5 X 5 w - 1) let But this is true if and only if xtzt+.r* 2 X + 1.
M z , be the set of integer A-tuples given by Q.E.D.
ir io iz
Lemma2: Let z = [ z 0 , ~ l , . . . , x , - 1 ] and y =
[yo, y1, . . . , yn-l] be binary n-tuples. Then the inequality

i,-1 1
t=O

holds for all 0 5 7 5 n - 1 if and only if Mz, and My,


0 5 io < il < ... < ix-1 5 w - 2 , are disjoint.
Prooj Mz, is a collection of integer A-tuples. A vec-
j=0, l,...,W-l

where tz = [to, t l , . . . , t w - l ] .
1 tor m = [ao, a l ; . . , a x - l ]
+
is in Mz,x if and only if
there exists a sequence of X 1 distinct integers--call them
i o ,i l , . . . ,ix-such that

There are at most w(”,’) vectors in M z , x ; there are xaJ= 1 , forj=0, l,-..,X
(“l’) ways to pick the i l ’ s and w ways to pick the j’s. If
and
every such selection yields a different vector then IMz, X I =
w ( ~ ; ’ ) ;otherwise IMz,xl < w(”;’). i3+1-i3=a,, forj=O,l,...,X-l .
Example: Let z = [1001100010000]. Then
Therefore, Mz, nMy, = 0 if and only if it is impossible to
tz = [to, ti, t 2 , t3] = [3, 1, 4, 51. + +
“line up” X 1 binary 1’s in z with X 1 binary 1’s in y with
cyclic shifts-i.e., if and only if xtytB7 5 A. Q.E.D.
Furthermore Lemma 3: Let z = [ZO, 5 1 , . . . , z,-1] be a binary n-tuple.
Then the inequality

t=O

holds for all T = 1, Z,... , n - 1 if and only if IMz,xl =


w(”xl)-i.e., if and only if the vectors defining M z , x are
all distinct.
and Proof: Similar to that of Lemma 2. Each A-tuple in
+
Mz, corresponds to X 1 nonzero components of E such
that the relative delays between the nonzero components are
given by the A-tuple. If lMz, < w ( w;l) then there are
two different sets of X +
1 nonzero components with the
same relative delays between them; thus we can “line up”
+
the X 1 binary ones and obtain an autocorrelation of at least
+
X 1. Conversely, if IMz, XI = w ( “;I) then every set of
+
X 1 nonzero components of z have a different relative delay
structure, so it is impossible to obtain an autocorrelation of
+
X 1 or more. Q.E.D.

A. An Upper Bound
In this section we use the lemmas above to provide an upper
n-1
bound on @(n,w ,A,, Xc).
First consider the case Xa = Xc = A; the bound we derive
C:
I:t
3 :
tCBir is identical to one in [3] derived from the Johnson bound for
t=O
constant weight error-correcting codes; it is rederived here to
holds for all 1 5 T 5 n - 1 if and only if no component of illustrate the approach that will be taken in the proof of the
Rz appears more than X times. new bounds.

Authorized licensed use limited to: Politecnico di Torino. Downloaded on May 04,2010 at 15:47:32 UTC from IEEE Xplore. Restrictions apply.
YANG AND FUJA OPTICAL ORTHOGONAL CODES 99

Theorem 1: [Johnson Bound] The following inequality We note also that Theorem 2 is only a generalization of
holds: the Johnson bound for A = 1; for A 2 2 the bound on
( n - I)(. - 2 ) . . . ( n - A) @(n, w, A, A) obtained by setting m = 0 in Theorem 2 is
@(n,w, A, A) I . weaker than the bound in Theorem 1.
w(w - 1).. . (w - A)
Proof: Let C be an optimal ( n ,w, A, A) OOC-i.e., B. Lower Bounds
IC) = @(n, w, A, A). From Lemma 3 we know that for every
z E C the set Mz, consists of w( ");' distinct integer A- In [3], [6] a lower bound on @(n,w, A, A,) was derived
for odd prime n. Subsequently, Wei [7] derived an alternate
tuples. Furthermore, from Lemma 2 we know that for z,y E
lower bound-again for odd prime n. In what follows we use
C, z # y, the sets Mz, and My, are disjoint. Therefore,
the general approach of Wei [7] to bound @(n,w, A, A,) for
the union of M z , x as z varies over all z E C consists of
A, # A, and any n.
@(n, w, A, A) .w ( w;l) distinct integer A-tuples. However, if
Theorem 3:
[ao,al,...,ax-1] E M z , x t h e n a o + a l + . . . + a x - l 5 n-1.
The number of ways to select A positive ai's that sum to no
more than n - 1 is just the number of compositions of n with
A + 1 positive parts-and that is equal to ( We have
thus shown that where

q n , w, A, A ) . w ('";I) I (y)
which was to be proven. Q.E.D.
Our next goal is to bound @(n,w, A, A,) for A, > A., To
do so we first need a preliminary lemma.
Lemma 4: Let z E C, where C is an ( n , w, A m, A) +
optical orthogonal code. (Assume m 2 0 is an integer.) Then

IMz,xl 2
U("

A+m
.
x ')
Proof: See Appendix I.
if x = 0;
Theorem 2: Let m be a nonnegative integer. Then

@(n,w, A
- 1)(n - 2 ) . . . (n - A)(A + m )
+ m, A) I ( nw(w .
a(x) = { otherwise
1)(w 2 ) . . . (w - A)
- - and
Proofi Let C be an ( n , w, A+m, A) OOC such that (CI=
+
@(n, w, A m, A). By Lemma 4,for any z E C , IMz,xJ2
w( "i')/(m+A). Furthermore, by Lemma 2 Mz, and My, Proof: As in [3], [6], the proof consists of demonstrating
are disjoint for z,y E C and z # y; therefore, IMz, I summed that A is an upper bound on the number of binary n-tuples
up over all hz E C cannot exceed the total number of integer that violate the autocorrelation constraint and B is an upper
A-tuples that are "allowable" as elements of ME,A-a number bo.und on the number of binary n-tuples that violate the cross-
shown in the proof of Theorem 1 to be ( Hence correlation constraint for a given binary n-tuple z.The result
follows from an application of the greedy algorithm. The
validity of B as an upper bound was demonstrated in [31, [61.
Thus the proof consists of demonstrating that there are at most
A binary n-tuples that violate the autocorrelation constraint.

2 @(n,w, A + m, A ) . -(" x l)
A proof of this is given in Appendix 11.

C. Asymptotic Bounds
m+A
which was to be proven. Q.E.D. In this section we examine how the cardinality of an opti-
Examining Theorem 2, we find (for instance) that the upper mal ( n , w, A, A,) optical orthogonal code behaves for large
bound on @(n, w, A, 1) is A times greater than the analogous blocklength. The goal is to see how quickly the parameters w,
bound on @(n,w, 1, 1). Note also that a trivial upper bound A, and A, should grow the blocklength n in an (n, w, A, A,)
on @(n,w, A +
m, A) is given by any upper bound on ooc.
@(n, w, A +m, A +
m ) . For "typical" OOC values-i.e., Lemma 5: Let A, be a positive integer, and let p and q be a
n >> w-an upper bound derived this way will be looser than nonnegative constants such that p > (A, +
q)/(A, +
1).Then
the bound in Theorem 2. For instance, considering (n, w, 2 , 1) lim
n-00 @(n,TanP1, [pnq], A,) =O
OOC's, the bound in Theorem 2 is tighter than the Johnson
bound for ( n ,w, 2, 2) codes provided n > 2w - 2. for any positive real a and p.

Authorized licensed use limited to: Politecnico di Torino. Downloaded on May 04,2010 at 15:47:32 UTC from IEEE Xplore. Restrictions apply.
100 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 41, NO. 1, JANUARY 1995

Dejinition: Given an encoder f : (0, l}k (0, l}”,the


--f

separation vector associated with the encoder is an integer


k-tuple s = [so, S I , .. . , Sk-11 defined by

5
( n - 1).’ . ( n - A,)(pnq 1) + s, = min { d ( f ( z ) , f(y)) : z,Y E (0, and z, # yt}.
c y n p ( c y n p - 1) . . . (cynp - A,)
Note that the separation vector is associated with the en-
coder rather than the code-i.e., the image of the encoder. It
is possible that a code may have multiple separation vectors
associated with it4orresponding to different encoders for the
same code.
Let f ( . ) be an encoder with separation vector s =
Since by assumption A, + q - p(A, +1) < 0 we have the [so, 5 - 1 , . . . , S k - 1 1 . Suppose a message k-tuple z is used to
desired result. Q.E.D. select a codeword f(z) E C which is then transmitted over
Lemma 6: Let A, and A, be positive integers, and let p be a a noisy channel. Minimum-distance decoding will correctly
positive constant such that p < min (A,/(2A, + 3 ) , A,/(2AC+ recover the ith bit of the message provided no more than
3 ) ) . Then t, = [(s, - 1)/1] errors occur during transmission. A code
with an encoder whose separation vector has the property that
lim @ ( n ,[anp],A, A,) = cc t, # t, for some i and j is called an unequal error protection
n-03
(UEP) code.
for any positive real a. There is a substantial body of literature on UEP codes.
Proof: See Appendix 111. (See [8]-[ 111 for references.) However, there has been no
Consider the case A, = A, = 1. Lemma 5 indicates that investigation of constant weight UEP codes.
if the codeword weight grows faster than % /, there are no An (n, w, A,, A,) OOC with A, > A, can be used to
codewords for large n. Lemma 6 suggests if the weight grows construct a constant-weight UEP code. Suppose you have such
slower than n1/5there is no limit to the number of codewords an OOC with cardinality M . Now consider the error control
that can be found. code consisting of all the n-tuples of the OOC and all their
Finally, we demonstrate that when the auto- and cross- cyclic shifts. The resulting code has nM codewords of weight
correlation constraints are growing like nk for a constant k , we w. Furthermore, such a code consists of M “clouds,” where
are guaranteed the existence of codes provided the codeword two codewords belong to the same cloud if and only if they
weight grows no faster than fi. are cyclic shifts of one another. The distance between any
Lemma 7: Let p , q , and r be constants 0 < p , q , r < 1. two codewords within the same cloud is at least 2(w - A,);
Then if p < 1/2 the distance between any two codewords from two different
clouds is at least 2(w - A,).
So, consider the following encoder. Take IC2 = [log, M J
message bits and use them to pick a cloud; then take kl =
for any positive real cy, p, and y. [log, nJ message bits and use them to pick an n-tuple from
Proof: See Appendix 111. within the chosen cloud. Any two messages that differ in the
first k2 bits will have codewords that differ in at least 2(w-A,)
positions; any two messages that differ in the last kl bits will
I v . OOC’S AS CONSTANT-WEIGHT have codewords that differ in at least 2(w - A,) positions.
UNEQUALERRORPROTECTION CODES Therefore, we have described an encoder for an ( n . kl kp) +
In this section we briefly describe the connection between code with separation vector
( n ,w, A,, A,) optical orthogonal codes and unequal error s = (2(w - A,), . ,2(w - A,), 2(w - A,), . . . , 2 ( w - A), .)
‘ ’
protection (UEP) code with two levels of protection. \
+ /

An unequal error protection code is an error control code kz ki


with a “twist”; the code is designed so that different digits This observation means that our lower bound for OOC’s may
in a message have varying levels of reliability. This may be interpreted as an existence result for constant-weight UEP
be convenient when the position of a digit in a message codes with two levels of protection.
determines its importance. The archetypical example is a Notation: Let M ( n , w, A,, A,) denote the lower bound on
message containing a bank balance; if the balance is $1376.62 @(n.w, A, A,) derived in Theorem 3-i.e., M ( n , w, A,.
it is much more important that the “1” be uncorrupted than A,) = ( (
that the “2” be error-free.
z) - A ) / B ,where A and B are given in Theorem
3.
An encoder for an ( n , k ) binary error control code is Theorem 4: Let cy and /3 be positive, even integers. Then
+

-
a mapping f : (0, l}’” + (0, l}”. The message z E there exists a weight-w (n, k1 k 2 ) error control code with
(0, l}‘“is represented by the codeword f(z) E (0, l}”. separation vector
If min ( d ( f ( z ) , f(y)) : z,y E (0, l}k, z # y} 2 2t 1 then+ ,p, PJ‘.,g:
3 = 1% Q , ’ . ’ , c y ,
we say the code is t-error correcting. (Here, d ( c 1 , c2) is the
Hamming distance between the n-tuples c1 and c2.) k2 ki

Authorized licensed use limited to: Politecnico di Torino. Downloaded on May 04,2010 at 15:47:32 UTC from IEEE Xplore. Restrictions apply.
101
YANG AND FUJA: OPTICAL ORTHOGONAL CODES

A. Construction I
70 -
This method is a variation on the technique proposed by
Wilson [13] to construct ( n ,W , 1, 1) codes. We begin with
the case w = 5, and then generalize the technique.
An ( n ,5, 2, 1) OOC: Let n be a prime number such that
60 -
+
n = 12t 1 for integer t. Let Q be a primitive element of
the field G F ( n ) such that a4 = cy3t - 1 and ar = 2, where q
and r are integers that are nonzero modulo-3 and are distinct
50 -
modulo-3.
- Then we can construct an ( n , 5 , 2, 1) OOC C with car-
dinality (CI = t as follows. The ith codeword z, contains
40 -
a “1” in positions 0, a3’, c ~ ~ c~ ~+ ~~ and ~~ +, agt+”
~ ~ ,and
a “0” everywhere else. This holds for i = 0, 1, -
1. (Note: We say that the code consists of the “blocks”
30 - {[o, Q3t+3z, a6t+3z a9t+32 1: 2 = 0 , 1 , . . , t - l}.)
1

To see that this construction yields an ( n , 5 , 2, 1) code


let Rz, denote the array consisting of all the relative delays
20 - between pairs of 1’s in 20.Keeping in mind that alZt= 1 and
@ = -1, simple algebra reveals that (see bottom of page)
Every component of Rz, is of the form Pa3jt where
10 - P E (1, 2, d - l } a n d j E (0, 1. 2, 3}.Therefore,aslongas
the base-cY logarithms of 2 and Q~~- 1 are nonzero modulo-3
and not equivalent to each other modulo-3
0 ~ “ 1 ~ ~ ” ” ” ~ 1 ” ’ 1 1
0 20 40 60 80 100
n (Blocklength) Hence, no element of Rza appears more than twice; this
Fig. 1. Lower bounds on the number of message bits that can be protected
implies the autocorrelation constraint for zo is met. And
against two errors while [log, n ] bits are protected against single errors,
assuming codewords of weight L n / 2 ] .
Rz, = a3’ . Rz0 so the autocorrelation constraint is met for
all 2,.
To check the cross-correlation constraint, we note that
where
M2, is a set whose “vectors” are just the 1-tuples from
kz = [log, M ( n , w ,w - ( P / 2 ) , w - ( Q / 2 ) ) l Rz. Therefore, as long as the components of Rz, and the
and components of RZt, form disjoint sets for i # i’, we will
have proven the cross-correlation constraint is met. But (as
kl = [log, n ] .
mentioned above) RE, is obtained by multiplying R,, by a3’;
Fig. 1 uses this result to bound the number of information thus the components of Rz, are of the form P Q ~ ( J ~ +as’ )long
;
bits that can be protected against two errors while simulta- as 0 5 i 5 t - 1 the components form disjoint sets and so the
neously protecting kl = [log, ( n ) ] information bits against cross-correlation constraint is met.
single errors. This is done as a function of blocklength n , Example: Let n = 37 and t = 3. Choose
assuming the weight of each such codeword is Ln/2]. cy = 2 as the primitive element of GF(37) and so
23t - 1 = 30 = 214 while 2 = 2l-i.e., q = 14
V. CONSTRUCTING AN ( n ,W , 2, 1) OOC
and T = 1. Then the code consists of the blocks
{[0, 1, 6, 31, 361 [0, 8, 11, 26, 291, [0, 10, 14, 23, 27]}
In this section we present two techniques for constructing and so the three codewords are
( n ,w, 2, 1) optical orthogonal codes. Both are derived from
previously published methods for constructing a bounded 2 0 = [1100001000000000000000000000000100001]
incomplete block design (BIBD). A BIBD is a structure equiv- 2 1 = [1000000010010000000000000010010000000]
alent to an ( n ,w, 1, 1 ) OOC; the techniques outlined below 2, = [ 1000000000100010000000010001000000000].
loosen the autocorrelation constraint to two, with a resulting
decrease in blocklength when compared to the associated Note that, using Theorem 2, we know that Q(37, 5 , 2, 1) 5
( n ,w, 1, 1) code. (36. 2 ) / ( 5 . 4) = 3.6 and so this construction is optimal.

Authorized licensed use limited to: Politecnico di Torino. Downloaded on May 04,2010 at 15:47:32 UTC from IEEE Xplore. Restrictions apply.
102 'IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 41, NO. 1, JANUARY 1995

The above construction can be generalized to other values zero modulo-6


of w. The constructions are given below.
An ( n ,w, 2, 1) OCC for Even w : Let w = 2 m and choose
n to be a prime number such that n = w2t/2 1 for an +
integer t . Let cy be a primitive element of G F ( n ) such that Therefore, no element of Rz, is repeated more than once;
{log, [akmt- 11: 1 5 IC 5 m} are all distinct modulo-m and this implies the autocorrelation constraint for zo is met.
nonzero modulo-m. Then the code consisting of the blocks Furthermore, the matrix RZ, is obtained by multiplying Rx0
by a6', so the autocorrelation constraint is met for all z,.
{ [ ( p i ;/ p ( i + t ) a m ( i + 2 t ) . . c y m ( i + ( 2 m - 1 ) t )
,
. l I: The crosscorrelation property is proven as in the construc-
i = 0 , l,...,t-l} tion in Section V-A.
This construction is generalized below.
is an ( n ,w, 2, 1) OOC. An ( n ,w, 2, 1) OOC for w = 4m: Let n = w 2 t / 2 1 be +
+
An ( n . w, 2, 1) OOCfor Odd w: Let w = 2m I and a prime number, where w = 4m. Furthermore, assume that a
+
choose n to be a prime number such that n = (w2 - l ) t / 2 1 is a primitive element of G F ( n )such that all of the following
for an integer t. Let cy be a primitive element of G F ( n ) such hold for some integer y, 1 5 y 5 4 m t - 1:
that {log, - 11: 1 5 IC 5 m ) are all distinct modulo-
cyk4mt+y - 1 = a z k , for IC = 0, 1,.. . , m - 1
+ +
m 1 and nonzero modulo-m 1. Then the code consisting aklmt - a y = c y ~ k , for IC = 1, 2 , . . . , m
of the blocks 0 @mt - 1 = a r k , for IC = 1, 2 , . . . , m
c y ~ ( -a1)~= ~ a s k~
, ~ for IC = 1, 2 . . . . , m .
Here, the integers i o , i l , . . . , L - 1 , jl,. . . ,j,, T I , . . . , T,,
and s l , . . . ,,s are all distinct modulo-4m. Then the blocks
{ [ a 4 m z , ay+4mz
1
a4mt+4mz
, a4mt+y+4ma , . . . >
a4m(2m-l)t+4mz a4m(2m-l)t+y+4mz ] : i = O , l,...,t-l}
B. Construction 2
are the codewords of an ( n ,w, 2, 1) OOC.
We now demonstrate another technique for constructing an
(n, w , 2, 1) optical orthogonal code. This technique is based
An ( n ,w , 2, 1) OCC for w = 4 m 1: Let n = (w2 - +
l ) t / 2 + 1 be a prime number, where w = 4 m + l . Furthermore,
on the approach of Hanani [14]. As before, we first prove
assume that a is a primitive element of G F ( n ) such that all of
the construction works for w = 5 and then present (without
proof) the generalization.
the following hold for some integer y, 1 5 y 5 (4m 2)t - 1: +
0 cyk(4,+2)t+~ - 1 = cyak , for = 0, 1,.. . , m - 1
An ( n , 5 . 2, 1) 0012:Let n be a prime number such that
0 cyk(4m+2)t - ay + c y j k , for IC = 1, 2 , . . . , m
n = 1 2 t + l for an integer t. Let a be a primitive element of the
field G F ( n )such that, for some integer y E { 1, 2, . . . ,6t - 1),
0 ak(4m+2)t - 1= a r k , for IC = 1, 2 , . . . , m
all of the following are nonzero and distinct modulo-6:
0 a y ( c y k ( 4 m f 2 ) t - 1) = a s k , for IC = 1, 2 , . . . , m.
Here, the integers y, i o , 2 1 , . . . , i m - 1 , j i , . . . ,j,, T I , . . . , T m ,
log,[cyY - 11 and SI,. . . . sm are all distinct modulo-4m 2 and nonzero +
log, [a6t - 11
+
modulo-4m 2. Then the blocks
log, [ a 6 t - 11 { [o, x(4m+2)z >
x ~ + ( 4 m + 2 ) z x(4m+2)t+(4m+2)z
, 1
log, [cyY(Q6t - l)].
x(4m+2)t+y+(4m+2)z , ..
Then we can construct an ( n , 5, 2, 1) 1 ,

OOC C with cardinality IC1 = t from the z( 4 m + 2 ) ( 2 m - 1 ) t + ( 4 m + 2 ) z l ,(4m+2)(2m-l)tfy+(4m+2)z


I:
blocks {[o, a62, cyy+621 (r6t+6z. Cy6t+6z+y I : i=o, l,...,t-l)
L = 0. l , . . ' , t - l}.)
As before, let Rz, be the relative delay array for xo.Then are the codewords of an ( n ,w, 2, 1) OOC.
RZ, is (see bottom of page) Example: Let n = 41, w = 4, and t = 5 . Choose
Every component of Rzo is of the form pa6Jt where a = 6 as the primitive element of G F ( 4 1 ) and choose
[j E {I, a y , a y - 1, cyGt - a y , - 1, aY(aGt- 1)) and y = 3 and so 6 Y - 1 = 10 = 68, 6" - 6 y = 29 = 67,
j E (0,1). Therefore, as long as the base-a logarithms of 620 - 1 = 39 = 6 6 , and cy(6'O - 1) = 1 9 = 6g-i.e., i o = 8,
a y , a y - 1, - a y , cy6t - 1, and ay(ast - 1) are not jl = 7, r1 = 6, and s1 = 9. Furthermore, io, j ~T I,, S I
equivalent to each other modulo-6 and are not equivalent to are distinct modulo-4. Then the code consists of the blocks

Authorized licensed use limited to: Politecnico di Torino. Downloaded on May 04,2010 at 15:47:32 UTC from IEEE Xplore. Restrictions apply.
~

YANG AND FUJA: OPTICAL ORTHOGONAL CODES 103

TABLE I
OF ( n , ILL 2 , 1) OOC’s CONSTRUCTED
THECARLHNALITY USINGTHE TECHNIQUE
OF SECTION
V-A

TABLE I1
OF ( 7 1 , ILL 2, 1 ) OOC’s CONSTRUCTED
THECARDINALITY USINGTHE TECHNIQUE
OF SECTION
V-B

{[l,11, 30, 401, [12, 16, 25, 291, [lo, 13, 28, 311, [3, 4, 37, (for even w) as well as ones with 2(n- 1)/(w2- 1)codewords
381, [7, 18, 23, 34]}-i.e., the codewords are (for odd w).
These constructions also illustrate the point made in Section
2 0 = [01000000000100000000000000000010000000001]
11-B that, for some blocklengths, codes with A, # A, may
51 = [00000000000010001000000001000100000000000] be preferable to codes with equal constraints. Comparing
5 2 = [00000000001001000000000000001001000000000] an ( n ,w, 1, 1) code with an ( n ,w + 1, 2, 1) code, recall
5 3 = [OOO 1100000000000000000000000000000000 11001 from Section 11-B that the performance figures of merit for
the ( n ,w + l , 2, 1) code dominate those of the ( n ,w, 1, 1)
2 4 = [00000001000000000010000100000000001000000].
code. Yet we have just shown it is possible to construct an
Note that, from Theorem 2, a(41,4, 2, 1) 5 2 . 40/12 = (71, w + l , 2, 1) code with either Z ( n - l ) / ( ~ + l ) ~codewords
+
6.66, so we cannot say for sure if this code is optimal; there (for even w + 1) or 2(n - l)/w(w 2) codewords (for odd
may be a (41, 4, 2 , 1) code with six codewords. w+l); but Theorem 1 tells us it is impossible to construct an
Tables I and I1 show the parameters of some ( n , w, 2, 1) ( n , w, 1, 1) code with more than (n-l)/(w(wl)) codewords.
OOC’s that can be contructed using the approaches outlined Therefore, for w 2 6 the ( n ,w + 1, 2, 1) codes offer better
above. Also included is the upper bound on @(n,w, 2, 1) performance and more codewords than any ( n ,w, 1, 1) code.
derived in Theorem 2. Theorem 2 tells us it is impossible As a simple example, from Table I1 we see that it is possible
to construct an ( n ,w, 2, 1) OOC with more than 2 ( n - to construct a (1801, 9, 2, 1) OOC with 45 codewords. But
l)/(w(w - 1)) codewords; the methods above tell us how to construct an (1801, 8, 1, 1) code the Johnson bound tells
to construct ( n ,w, 2, 1) OOC’s with 2(n - l ) / w 2 codewords us it is impossible to have more than 32 codewords.

Authorized licensed use limited to: Politecnico di Torino. Downloaded on May 04,2010 at 15:47:32 UTC from IEEE Xplore. Restrictions apply.
VI. SUMMARY APPENDIXI1
In this paper we derived new bounds on the number of users We now prove that the number A in Theorem 4 is an upper
that can be supported on an optical network employing code- bound on the number of binary n-tuples of weight w with
division multiple access with binary signature sequences; in autocorrelation exceeding A,.
addition we presented a number of new methods for designing Associate the w-set S = {sl, s2, . . . , s,} with the biary
codes with good auto- and cross-correlation properties. Unlike n-tuple containing ones in positions s1, s 2 , ’ . . , s, and zeroes
previous work in this area, we considered the possibility everywhere else. We wish to (over) count the number of w-
that the auto- and cross-correlation constraints might not be sets associated with n-tuples that violate the autocorrelation
identical; indeed, the bounds and the constructions suggest constraint.
that it may sometimes be preferable to use such “asymmetric” Fix S to be a positive integer. Then a “chain”
OOC’s. Among the constructions presented, we note that { i o , i l , . . . ,i,} is a set of integers modulo-n where
the ( n , w, 2 , 1) codes are near-optimal; their cardinaltiy is i, = i,-l + 6 for 1 5 j 5 z; the length of this chain
2 ( n - 1)/w2 and we have demonstrated that it is impossible is 1 + z. By convention, a cycle (i.e., io = i, + 6) is
to get more than 2(n - 1)/(w2 - w)codewords. +
considered a chain of length z 1 with an arbitrary starting
We also noted the relationship between OOC’s with unequal point. A maximal chain is one not contained in another chain.
constraints and constant-weight unequal error protection codes Now suppose the w-set S = {SI, s 2 , . . . , s,} can be
with two levels of protection; we noted that the lower bound partitioned into c maximal chains whose lengths are 1+21, 1+
we derived for OOC’s could be interpreted as a lower bound +
5 2 , . .. ,1 z,. Then clearly
on the achievability of such UEP codes.
C

w =c + cza.
APPENDIXI i=l

Lemma 4: Let z E C, where C is an ( n ,w, X m, A)+ Realize that the w-set S is specified exactly by:
optical orthogonal code. (Assume m 2 0 is an integer.) Then
1) The value S upon which the partitioning chains are
based.
2 ) The number c of maximal chains into which it can be
, A I -
partitioned.
X+m . 3) The lengths of the maximal chains-i.e., X I , 5 2 , . . . , x C .
4) The chain “heads”-i.e., the starting point of each chain.
Proof: Let
The autocorrelation of the n-tuple associated with S after S
cyclic shifts is w - c + N , where N is the number of chains that
+
are cycles. This is because a cycle of length 2, 1 adds 2 , 1 +
to the autocorrelation, whereas a noncyclic chain of length
2, + 1 adds only z,. Our approach, therefore, will be to count
Define a function f : Z -+ 2’ by the number of w-sets with the property that w - c N > A,; +
in doing so we will let S vary from 1 to Ln/2].(For 6 > n/2
r in 2,
we shall have already counted the associated w-sets with
6/ = n - 6.)
Once n, w, and S are fixed, the only way a chain can be
a cycle is if Slkn for some integer k . Furthermore, if Slkn
+
but 6 n then there is some other value 6’ such that 6/16 and
S’ln and the cycle associated with S is identical to a cycle
associated with 6’. Therefore, in looking for cycles we need
where tZ = [to, tl,...,t,-l] . only look at values of S that divide n; when S n we will not
So Mz, is exactly the image of f ( . ) ; to prove the lemma find any cycles that have not already been accounted for.
+
it is sufficient to show that f(.) maps at most m X elements So how many cycles can there be? Each cycle “uses up”
of Zto the same element of Mz A; then we will have shown n/S of the w ones; therefore, there can be anywhere from
I M Z , ~ I2 lxl/(m + +
A) = w ( ” f l ) / ( ~ m). zero to Lw6/nJ cycles-i.e., 0 5 N 5 LwS/nJ.
Now define a function f : Z + 2 such that g ( i ) is the sum So, suppose we have fixed n, w, 6,and N . We are now
of the components of f(i)-i.e., if f(i)= [ao, a l , . . . ,ax-I] going to specify the chains. How many ways are there to pick
+ + +
then g ( i ) = a0 a1 . . . ax-1. Obviously, if f(i)= f($) c nonnegative integers 5 1 , 5 2 , . . . , z, such that z1 5 2+ +
then g ( i ) = g ( ” ) so to prove the lemma it is sufficient to + +
. . . 2, = w - c and w - c N > A,. Note that c must be
+
show that g ( . ) maps at most m X elements of Z to the same at least [wS/nl; this is because the smallest number of chains
integer. For each j E Z the integer g ( i ) is a component of Rz, is caused by making each chain as large as possible, and the
and we know no component of RZ can be repeated more than largest chain is a cycle. Thus c is smallest when there are
+
X m times by Lemma 1. Therefore, the function g ( . ) is (at LwS/n] cycles and (possibly) one “leftover” noncyclic chain
+
most) ( m A)-to-one and the Lemma holds. Q.E.D. for a total of [w6/nl chains.

Authorized licensed use limited to: Politecnico di Torino. Downloaded on May 04,2010 at 15:47:32 UTC from IEEE Xplore. Restrictions apply.
YANG AND FUJA: OPTICAL ORTHOGONAL CODES 105

So now suppose we have fixed n, w, 6,N , and c. Then there that


are (G)ways to pick the chains that are cycles. Furthermore,
A < fnp(2Aa+3)-Xa a2Xa+3
once we have picked those N cycles we have fixed exactly N
of the xi’sto be equal to (n/S)- 1; thus it remains to pick the
-
W! 2(A, + l)!,
remaining c - N xi’s to add up to w - c - N ( ( n / S )- 1). For and
c > N there are (c-N-l
w-Nn’h-l)
ways to pick these c - Nxi’s.
Note that the term L ( N - wS/n) is included to count the case
where there are c = N = wS/n chains and they are all cycles.
For the case c = N we must have c = N = w S / n , since all
Since p < A,/(2A, +
3), A is a low-order term compared with
nw/w!.Combining the numerator and denominator, we have
of the 1’s are used up in chains, and in this case the question
of picking the “remaining” xi’s becomes vacuous.
The last terms in the first sum are used to count the number
of ways to pick the heads of the chains. We know that any + (low order terms).
cycle must begin in one of the first S positions; we know
furthermore that the c - N noncyclic chains may begin in any
of the n - Nn/S positions not taken up by cycles. + (low order terms).
The second sum counts the number of w-sets violating the
autocorrelation constraint when S 1 n and so there can be no Since p < A,/(2A, + 3) we obtain the desired result.
);:(
cycles. There are ways to pick these cz,’s to add up Q.E.D.
to w - c and (I)ways to pick c chain heads. Therefore, A
Lemma 7: Let p , q, and r be constants, 0 < p , q, r < 1.
Then if p < l / 2
represents an upper bound on the number of binary n-tuples
that violate an autocorrelation constraint of A., Q.E.D. lim @(n,(anpj, (PnqJ,(7n’J) = 00
n+m

APPENDIXI11 for any positive real a, p, and y.


Pro08 Define A,(n) = [flnqj and A,(n) = Lyz‘J. Then
Lemma 6: Let A, and A, be positive integers, and let p be a

Noting this, the result can be proved using an approach


lim @(n,LanP],A, A,) = cc essentially identical to that used in proving Lemma 6. If p <
n-03

for any positive real cy.


1/2 then-for n sufficiently large p 2
minTAa(n)/(2Aa(n) +
3), A, ( n )/ (2A, ( n )+3)} and the bounds employed in the proof
Proof: We will demonstrate that for n prime the lower
of Lemma 6 can be invoked to obtain the desired result. Q.E.D.
bound in Theorem 3 grows unbounded with increasing- n. For
n prime the bound becomes
ACKNOWLEDGMENT
The authors wish to thank Dr. V. K. Wei for helpful
suggestions regardng the lower bound.

where REFERENCES
[I] J. A. Salehi, “Code division multiple access techniques in optical fiber
networks-part I: Fundamental principles,” ZEEEE Trans. Commun., pp.
824-833, Aug. 1989.
121 J. A. Salehi and C. A. Brackett, “Code division multiple access tech-
and niques in optical fiber networks-paxt 11: Systems performance analysis,”
IEEE Trans. Commun., pp. 834-850, Aug. 1989.
[3] F. R. K. Chung, J. A. Salehi, and V. K. Wei, “Optical orthogonal codes:
Design, analysis, and applications,” IEEE Trans. Inform. Theory, vol.
35, pp. 595-604, May 1989.
[4] H. Chung and P. V. Kumar, “Optical orthogonal codes-new bounds
Let w = LanP]. Then for n sufficiently large-more and an optimal construction,” IEEE Trans. Inform. Theory, vol. 36, pp.
866-873, July 1990.
precisely, for n such that 0 < anp - 1 < n-the following [5] N. Q. A, L. Gyorfi, and J. Massey, “Constructions of binary constant-
inequality holds: weight cyclic codes and cyclically permutable codes,” IEEE Trans.
Inform. Theory, vol. 38, pp. 94G949, May 1992.

1
[6] F. R. K. Chang, J. A. Salehi, and V. K. Wei, “Correction to optical
(:) $[I-
a2n2p
n-anP+l
orthogonal codes: Design, analysis, and applications,” ZEEE Trans.
Znform. Theory, vol. 3 8 , p. 1429, July 1992.
n” [7] V. K. Wei, private communication, Jan. 1992.
= -
W!
+ (low order terms) [8] B. Masnick and J. Wolf, “On linear unequal error protection codes,”
ZEEE Trans. Inform. Theory, vol. IT-13, pp. 6 W 6 0 7 , Oct. 1967.
[9] W. J. V. Gils, “Two topics on linear unequal error protection codes:
where we have made use of the fact that p < 1/2 by Bounds on their length and cyclic code classes,” IEEE Trans. Inform.
assumption. Similarly, for n sufficiently large we can show Theory, vol. IT-29, pp. 866-876, Nov. 1983.

Authorized licensed use limited to: Politecnico di Torino. Downloaded on May 04,2010 at 15:47:32 UTC from IEEE Xplore. Restrictions apply.
I06 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 41, NO. 1, JANUARY 1995

[IO] M. C. Lin and S. Lin, “Cyclic uequal error protection codes constructed messages,” Probl. Pered. Inform., vol. 15, pp. 4 0 4 9 , July-Sept. 1979.
from cyclic codes of composite length,” IEEE Trans. Inform. Theory, [ 131 R. M. Wilson, “Cyclotomy and difference families in elementary abelian
vol. 34, pp. 867-871, July 1988. groups,” J. Number Theory, vol. 4, pp. 1 7 4 7 , 1972.
[ I 11 R. H. Morelos-Zaragoza, “Multi-level error correcting codes,” Ph.D. [ 141 H. Hanani, “The existence and constructions of balanced incomplete
dissertation, Univ. of Hawaii, May 1992. block designs,” Ann. Marh. Sfarisr., vol. 32, pp. 361-386, 1961.
[121 L. A. Bassalygo, V. A. Zinovev, V. V. Zyablov, M. S. Pisker, and G . [15] R. C. Bose, “On the construction of balanced incomplete block design,”
S. Poltyrev, “Bounds for codes with uequal protection of two sets of Ann. Eugenics, vol. 9, pp. 353-399, 1939.

Authorized licensed use limited to: Politecnico di Torino. Downloaded on May 04,2010 at 15:47:32 UTC from IEEE Xplore. Restrictions apply.

You might also like