_
1312 IET Commun., 2009, Vol. 3, Iss. 8, pp. 13111320
& The Institution of Engineering and Technology 2009 doi: 10.1049/iet-com.2008.0391
www.ietdl.org
The zeros indicate the discarded pairs. The discarded pairs
ensure zero cross-correlation of numbers (wavelengths or
space channels) in all rows of the array. The reason for
discarding some pairs during the sorting process is to make
sure that no number is repeated in each row. A number
repeated in a row would mean the same 1D code being
assigned to two users having a common wavelength. This
would increase the maximum cross-correlation between
such users to K, which is undesirable. Hence, the
cardinality of 2D code families employing this algorithm is
less than
W
C
2
. The efciency of cardinality h
N
max
is a
measure of the efciency of wavelength allocation and is
given by
h
N
max
(%)
N
max
W
C
2
100
Fig. 2 shows the efciency of cardinality for number of
wavelengths employed by the RWOP algorithm as well as
the average value for the range of wavelengths shown. The
average efciency is 88.6% for number of wavelengths
ranging from 6 to 34.
An advantage of the design is the construction of code
families from even numbers greater than 2. A similar
approach can be used for construction of row-wise
orthogonal triples, but the cardinality of code families
reduces. Moreover, there are more efcient ways of
constructing orthogonal triple systems like BIBD, Steiner
Triple Systems, Kirkman Designs among others.
Figure 1 Flowchart depicting the proposed algorithm; UEP represents unrepeated element-pairs, REP represents repeated
element-pairs
Figure 2 Efciency of cardinality of 2D code families
designed using RWOP algorithm, against number of
wavelengths used
IET Commun., 2009, Vol. 3, Iss. 8, pp. 13111320 1313
doi: 10.1049/iet-com.2008.0391 & The Institution of Engineering and Technology 2009
www.ietdl.org
3 MD-OCDMA code design using
RWOP
The RWOPs generated from the algorithm explained in
Section 2 are used in the construction of 2D wavelength-time
or space-time code families and 3D space-wavelength-time
code families. The application of the algorithm to 2D and
3DOCDMAsystems is explained in the following subsections.
3.1 2D wavelength-time OCDMA code
design
Each pair of wavelengths is assigned to a user with an OOC
along both the wavelengths. Pairs from the same row are
assigned a distinct 1D OOC (time spreading), so that code
reuse is possible and still have minimum cross-correlation.
This design ensures that, no two users are assigned the
same code on the same pair of wavelengths or a common
wavelength. Each user is assigned a pair of wavelengths
carrying the same 1D OOC. The weight of the proposed
MPR code families is twice the weight of the 1D OOC
family used. The factor 2 arises due to pair-wise allotment
of wavelengths. The design limits the maximum cross-
correlation between any two users to 1 and has an out of
phase auto-correlation of 0 or 2. Hence, the proposed 2D
code families are represented as (W T, K
0
, 2, 1).
The temporal length of the designed code families is equal
to the temporal length of the 1D OOC employed. Since each
row of the wavelength assignment array carries a 1D code, the
number of rows of the wavelength assignment array decides
the number of 1D codes to be used in the design. Hence,
the optimum temporal length of these 2D code families is
given by T
opt
K(K 1)(W 1) 1. Table 1 shows an
example of the way the proposed algorithm is applied to
2D OCDMA code design for 8 wavelengths. The 1D
OOC shown in the right most column is constructed using
BIBD with K 3,W 2 1 7 and T T
opt
43. In this
2D example, K
0
6, N
max
26, P
0
e
8:703 10
8
,
where P
0
e
is the 2D probability of error due to MAI.
Similarly, a 1D OOC with K 2, W 2 1 7 and
T T
opt
15 can be used as shown in Table 2. The resulting
2D design has K
0
4, N
max
26, P
0
e
2:102 10
4
. If
two different 1D OOCs are to be used along each wavelength
pair,then the out of phase auto-correlation can be reduced to
1. Using two different 1D OOCs for each wavelength pair
would also increase the temporal length of the code family, but
there is no gain in terms of probability of error. These designs
can also beused for 2D space-time OCDMA systems, by
using spatial channels instead of wavelengths.
3.2 3D space-wavelength-time OCDMA
code design
For 3D OCDMA, the algorithm is used for both wavelength
as well as spatial channel allocation. Each pair of spatial
channels is paired with all the wavelength pairs of the
corresponding row. As in the case of 2D, each row is
assigned a distinct 1D OOC spread in the time domain.
This design uses equal number of wavelengths and spatial
channels. The design also ensures a maximum cross-
correlation of 1 between any two users. Each user is
allotted a pair of spatial channels each carrying a pair of
wavelengths. Along both the spatial channels, all
wavelengths of a particular user carry the same 1D OOC
simultaneously. The weight of these MPP code families is
four times the weight of the 1D OOC family employed.
The factor 4 arises due to the simultaneous transmission
of the 1D OOC along four channels (2 spatial channels,
each using 2 wavelengths for a user). Hence, the
proposed 3D code families are represented as
(S W T, K
00
, 4, 1).
Using the design, the temporal length of the code families
is given by T
opt
K(K 1)(W 1) 1. Table 3 shows an
example of 3D OCDMA code design for 8 wavelengths and
Table 2 Example of 2D code design (W 8, K
0
4)
Wavelength pairs 1D OOC
(1,2) (3,4) (5,6) (7,8) [1,15]
(2,3) (4,5) (6,7) (8,1) [2,14]
(1,3) (2,4) (5,7) (6,8) [3,13]
(3,5) (4,6) (7,1) (8,2) [4,12]
(1,4) (2,5) (3,6) [5,11]
(4,7) (5,8) (6,1) [6,10]
(1,5) (2,6) (3,7) (4,8) [7,9]
Table 1 Example of 2D code design (W 8, K
0
6)
Wavelength pairs 1D OOC
(1,2)
User 1
(3,4)
User 2
(5,6)
User 3
(7,8)
User 4
[1,6,36]
(2,3)
User 5
(4,5)
User 6
(6,7)
User 7
(8,1)
User 8
[3,18,22]
(1,3)
User 9
(2,4)
User 10
(5,7)
User 11
(6,8)
User 12
[9,11,23]
(3,5)
User 13
(4,6)
User 14
(7,1)
User 15
(8,2)
User 16
[26,27,33]
(1,4)
User 17
(2,5)
User 18
(3,6)
User 19
[13,35,38]
(4,7)
User 20
(5,8)
User 21
(6,1)
User 22
[19,28,39]
(1,5)
User 23
(2,6)
User 24
(3,7)
User 25
(4,8)
User 26
[14,31,41]
1314 IET Commun., 2009, Vol. 3, Iss. 8, pp. 13111320
& The Institution of Engineering and Technology 2009 doi: 10.1049/iet-com.2008.0391
www.ietdl.org
8 spatial channels. The 1D OOC shown in the right most
column has K 2, W 2 1 7 and T T
opt
15. In this
3D example, K
00
8, N
max
98, P
e
00
1.315 10
28
,
where P
e
00
is the 3D Probability of Error due to MAI.
4 Performance analysis
One of the performance metrics for 2D and 3D code families
is optimum temporal length (T
opt
) against cardinality N
max
.
This optimum temporal length of 2D and 3D code
families is compared with that of 1D code families. Other
2D and 3D metrics that have been taken into account are
P
e
0
against N
a
and P
e
00
against N
a
, respectively. The above
performance metrics are evaluated based on the following
assumptions: Optical bre channel is a positive and
additive system, that is, there is no error in detection when
a 1 is transmitted and the probability of erroneous
detection exists only when a 0 is transmitted [1, 18, 19].
Receiver has the knowledge of the code array of the user.
All channels (wavelength and/or space) are detected
synchronously by the receiver equipped with an optical hard
limiter. Equal probability of transmission of 0 and 1 is
assumed.
4.1 Temporal length against Cardinality
The analysis of the optimum temporal length of the code
families is based on the optimum temporal length of the
1D OOC family being employed. The temporal length of
the 1D OOC family depends on the weight and number of
codes in the 1D OOC family. The number of codes in the
1D OOC family is decided by the proposed algorithm and
is given as (W 2 1). For (W 2 1) codes, temporal length
is found either by BIBD or by the method of extended
sets. The optimum temporal length is T
opt
K(K 1)
(W 1) 1. 1D OOC families of weight K 3 have
been used in this analysis, which give K
0
6 and K
00
12.
K 3 is chosen, assuming these 2D and 3D weights to be
large enough for a low probability of error in detection.
The cardinality of the code families is found by a counting
algorithm applied to the array generated by using the
algorithm. For 2D code families, the counting algorithm
counts the number of non-zero elements in the generated
array and divides the resultant number by two. The result
gives the cardinality of the 2D code families designed by
using the proposed algorithm. For 3D code families, the
non-zero elements of every row are counted and the
resultant number is divided by two. These numbers for
every row are rst squared and then added to get the
cardinality of the 3D code families designed by using the
proposed algorithm.
Fig. 3 shows a semi-log plot of the cardinality of 1D code
families, proposed 2D and 3D code families, as a function of
optimum temporal length. For all temporal lengths, the
cardinality is highest in case of 3D code families followed
by 2D and 1D code families. With increasing temporal
length, the difference in the cardinality between 3D, 2D
and 1D increases. This is because of the larger code
dimension of the 2D and 3D code families in the form of
spatial channels and wavelengths.
4.2 Probability of error due to MAI
against number of users
The probability of error due to MAI in 2D and 3D
OCDMA code families is dependent on the probability of
error due to MAI of 1D OOC families being used. The
temporal length of 1D OOC families is assumed to be
equal to the optimum value for K 3.
The equation of 1D probability of error (P
e
) for a threshold
of detection equal to the weight of the code, is formed on the
basis of the following logic.
The probability of erroneous detection arises only when
the desired user code is not being transmitted, that is, the
user transmits a 0. The probability of the desired user (U
j
)
transmitting a 0 is
Pr(U
j
!0)
1
2
(1)
For N interfering users, the combinations of number of
users who may overlap with only one pulse out of K pulses
Table 3 Example of 3D code design (W 8, K
00
8)
Spatial channel allocation Wavelength allocation OOC
(1,2) (3,4) (5,6) (7,8) (1,2) (3,4) (5,6) (7,8) [1,15]
(2,3) (4,5) (6,7) (8,1) (2,3) (4,5) (6,7) (8,1) [2,14]
(1,3) (2,4) (5,7) (6,8) (1,3) (2,4) (5,7) (6,8) [3,13]
(3,5) (4,6) (7,1) (8,2) (3,5) (4,6) (7,1) (8,2) [4,12]
(1,4) (2,5) (3,6) (1,4) (2,5) (3,6) [5,11]
(4,7) (5,8) (6,1) (4,7) (5,8) (6,1) [6,10]
(1,5) (2,6) (3,7) (4,8) (1,5) (2,6) (3,7) (4,8) [7,9]
IET Commun., 2009, Vol. 3, Iss. 8, pp. 13111320 1315
doi: 10.1049/iet-com.2008.0391 & The Institution of Engineering and Technology 2009
www.ietdl.org
of the desired user is
N
C
N
N
C
N1
N
C
K1
N
C
K
N
jK
N
C
j
The combinations of number of users overlapping with all K
pulses of the desired user is
N
C
N
_ _
N
C
K
_ _
N
C
N1
_ _
N1
C
K
_ _
N
C
K1
_ _
K1
C
K
_ _
N
C
K
_ _
K
C
K
_ _
N
jK
N
C
j
_ _
j
C
K
_ _
The total combinations of N interfering users is 2
N
. The
factor of N interfering users overlapping K pulses of the
desired user is
1
2
N
N
jK
N
C
j
_ _
j
C
K
_ _
(2)
Over the temporal length T, the probability of any one pulse
out of K pulses of an interfering user overlapping with any
one pulse out of K pulses of the desired user is K
.
K/T.
The probability of any one pulse out of K pulses of an
interfering user overlapping with any one pulse out of
the remaining K 21 pulses of the desired user is
K
.
(K 21)/T. Finally, the probability of any one pulse out
of K pulses of an interfering user overlapping with the last
pulse out of K pulses of the desired user is K
.
1/T. The
resultant probability of all K pulses being overlapped by K
different interfering users is
Pr(U
j
: K, K)
K K
T
_ _
K (K 1)
T
_ _
K 1
T
_ _
K
T
_ _
K
(K (K 1) . . . 1)
)Pr(U
j
: K, K)
K
T
_ _
K
K! (3)
Combining (1), (2) and (3), the upper bound of the 1D
probability of error due to MAI is
P
e
1
2
N1
N
jK
N
C
j
_ _
j
C
K
_ _
K
T
_ _
K
K! (4)
Equation (4) is a simplied, explanatory reproduction of the
equation for the hard-limiting receiver, assuming chip
synchronous case for a threshold equal to the weight [1].
Equation (4) has also been veried by simulating the cross-
correlation of 1D OOCs having weight K 3 for 4
interfering codes with T 31, 4 and 5 interfering codes
with T 43 and for K 2, T 15 with 2, 3, 4, 5 and 6
interfering codes.
The upper bound of probability of error due to MAI for
the designed 2D OCDMA code families is
P
0
e
P
(w
i
)
e
_ _
P
(w
j
)
e
_ _
T
(5)
where, P
(w
i
)
e
and P
(w
j
)
e
represent the 1D probability of error
for the pair of wavelengths w
i
and w
j
, respectively, which
are assigned to a user. The wavelength allotment by the
proposed code design is not uniform, due to which the
number of interfering wavelengths for the two wavelengths
assigned to a user differ, that is, N for P
(w
i
)
e
and P
(w
j
)
e
is
different. The number of interfering codes in each
wavelength is determined from the generated array. The
wavelength pairs allotted to all the users are determined.
Wavelengths assigned to each user are compared with the
number of interfering wavelengths to get the different
values of N. The probability of error of all the users is
calculated and averaged. To obtain curves corresponding to
different number of active users, the probability of error is
determined by successively increasing the number of rows
of the generated array.
The upper bound of probability of error due to MAI for
the designed 3D OCDMA code families is
P
00
e
P
(s
i
,w
i
)
e
_ _
P
(s
i
,w
j
)
e
_ _
P
(s
j
,w
i
)
e
_ _
P
(s
j
,w
j
)
e
_ _
T
3
(6)
where, P
(s
i
,w
i
)
e
, P
(s
i
,w
j
)
e
, P
(s
j
,w
i
)
e
and P
(s
j
,w
j
)
e
, represent the 1D
probability of error for the pair of spatial channels s
i
and s
j
carrying the pair of wavelengths w
i
and w
j
, which are
assigned to a user. The spatial channel and wavelength
allotment by the proposed code design is not uniform, due
to which the number of spatial channels and the interfering
wavelengths in each spatial channel for the four channels
assigned to a user differ. Since the same code is used for
both spatial channel allocation and wavelength allocation,
the number of pairs of spatial channels and wavelengths are
equal. These pairs and the number of pairs are determined.
Figure 3 Cardinality of 1D (K 3), 2D (K
0
6) and 3D
(K
00
12) code families having l
c
1, against optimum
temporal length
1316 IET Commun., 2009, Vol. 3, Iss. 8, pp. 13111320
& The Institution of Engineering and Technology 2009 doi: 10.1049/iet-com.2008.0391
www.ietdl.org
For each pair of spatial channels allotted to a user, the
overlapping spatial channels of other users are found. For
each spatial channel of a users spatial channel pair, the
rows of the array, which have overlapping spatial channels
are formed into a sub-array. The number of interfering
wavelengths for each spatial channel pair of a user is
determined. The maximum number of interfering
wavelengths is considered to obtain the probability of error.
The curves of probability of error due to MAI for different
numbers of active users are plotted by successively
increasing the number of rows of the generated array from
1 to W 2 1. The probability of error is zero when less
than 3 rows of the array are used for the 2D and 3D
OCDMA systems.
5 Results and discussion
The graphs displayed here are the analytical results of the
performance analysis described in Section 4. Section 5.1
discusses the performance of the proposed 2D and 3D
OCDMA code families. Section 5.2 shows the comparison
of the proposed codes with those reported earlier for
equivalent code dimensions.
5.1 Results of proposed designs
The probability of error for the 2D OCDMA code families
designed using RWOP for weights K
0
4 and 6 is shown
in Figs. 4 and 5, respectively. The 2D code families with
weights K
0
6 and K
0
4 have probability of error below
2 10
27
and 3 10
24
, respectively. The probability of
error for the 3D OCDMA code families designed using
RWOP for weights K
0
8 and 12 is shown in Figs. 6
and 7, respectively. The design gives probability of error
due to MAI below 10
214
and 1.5 10
28
for code families
with weights K
0
12 and K
0
8, respectively.
The small dip in the curves of Figs. 6 and 7 may be
attributed to uneven allocation in various rows. For
example, the rows in the middle of the generated array have
less number of elements. The curves follow the
conventional increase in probability of error with increasing
number of active users. The lowest points of each
individual curve indicate that the probability of error is zero
for number of active users less than that corresponding to
the lowest points. This shows the probability of error due
to MAI is zero even when the number of active users is
greater than the weight of the code. This is due to zero
cross-correlation among wavelengths and/or spatial
channels of different users in each row.
Validation of the analytical results of the probability of
error of the proposed codes is shown in Fig. 8 by
simulation. Simulation for 2D code family having W 6
was done using Matlab. Simulations validate the analysis
given in (5) as the equations give the upper bound.
Since the same approach is used for 3D code families,
(6) will be the upper bound of probability of error due
to MAI.
Figure 4 Probability of error due to MAI of the 2D OCDMA
codes having K
0
4, l
a
2, l
c
1 for different values of
temporal length, number of wavelengths, spatial channels
and cardinality
Figure 5 Probability of error due to MAI of the 2D OCDMA
codes having K
0
6, l
a
2, l
c
1 for different values of
temporal length, number of wavelengths, spatial channels
and cardinality
Figure 6 Probability of error due to MAI of the 3D OCDMA
codes having K
00
8, l
a
4, l
c
1 for different values of
temporal length, number of wavelengths, spatial channels
and cardinality
IET Commun., 2009, Vol. 3, Iss. 8, pp. 13111320 1317
doi: 10.1049/iet-com.2008.0391 & The Institution of Engineering and Technology 2009
www.ietdl.org
5.2 Comparison of results
Yang et al. [16] shows the construction of MPR codes,
performance analysis and comparison with MWOOCs
[14]. The performance of the MPR codes is similar to
those of MWOOCs. Fig. 9 shows the comparison of
probability of error among (11 61, 6, 1, 1) MWOOC,
(13 156, 12, 0, 1) GMWRSC and the proposed 2D
designs. (12 67, 6, 2, 1), (18 35, 4, 2, 1) and
(18 103, 6, 2, 1) are the proposed 2D examples used for
comparison. The probability of error for (12 67, 6, 2, 1)
2D design is lower by a factor of about 10
24
at 0.25 times
the cardinality when compared with (11 61, 6, 1, 1)
MWOOC. The probability of error for (18 35, 4, 2, 1)
2D design is lower by a factor of about 10
22
, however at
smaller cardinality (about 0.56 times) when compared with
(11 61, 6, 1, 1) MWOOC. The comparison between
(13 156, 12, 0, 1) GMWRSC and (18 103, 6, 2, 1)
2D design shows that the probability of error is lower by
a factor of about 10
24
for our code, but with smaller
cardinality (about 0.8 times). The probability of error of
MWOOCs is slightly lower when compared with
GMWRSCs of equivalent code dimension. The
construction of GMWPCs, GMWRSCs and MWOOCs
are based on primes and product of primes. The design
proposed here is based on even numbers. For an OCDMA
system, when the number of available wavelengths and/or
spatial channels are known, a code family can be
constructed by choosing an even number less than or equal
to the available number.
Fig. 10 shows the probability of error due to MAI for
(16 3 127, 16, 0, 1), (16 4 127, 16, 0, 1) prime-
based SPP 3D code families and the (10 10 55, 12,
4, 1), (14 14 27, 8, 4, 1), (16 16 31, 8, 4, 1)
proposed 3D code families. It can be noted from Fig. 10,
that the probability of error for the (10 10 55, 12, 4,
1) 3D code family is less than that of (16 3 127, 16,
0, 1) SPP code family with 0.45 times the corresponding
cardinality. The probability of error for the proposed
(14 14 27, 8, 4, 1) 3D code family is lower than that
of (16 3 127, 16, 0, 1) SPP code family and has a
higher cardinality of about 1.27 times. The probability of
error for the proposed (16 16 31, 8, 4, 1) 3D code
family is lower than that of (16 4 127, 16, 0, 1) SPP
code family with 1.55 times the corresponding cardinality.
The probability of error characteristics of the3D code
families have a lower slope as compared to those of SPP
code families. Fig. 11 shows a comparison of probability of
Figure 7 Probability of error due to MAI of the 3D OCDMA
codes having K
00
12, l
a
4, l
c
1 for different values of
temporal length, number of wavelengths, spatial channels
and cardinality
Figure 8 Validation of analytical results of probability of
error due to MAI of a 2D OCDMA code family having
W 6, T 11, K
0
4, N
max
13 by simulation
Figure 10 Comparison of (16 3 127, 16, 0, 1) SPP code
against (10 10 55, 12, 4, 1), (14 14 27, 8, 4, 1) 3D
OCDMA codes, the (16 4 127, 16, 0, 1) SPP code
against (16 16 31, 8, 4, 1) 3D OCDMA code
Figure 9 Comparison of (12 67, 6, 2, 1), (18 35, 4, 2, 1)
2D designs against (13 67, 3, 1, 1) MWOOC and
(18 103, 6, 2, 1) 2D design against (13 156, 12, 0, 1)
GMWRSC
1318 IET Commun., 2009, Vol. 3, Iss. 8, pp. 13111320
& The Institution of Engineering and Technology 2009 doi: 10.1049/iet-com.2008.0391
www.ietdl.org
error of the (6 6 11, 8, 4, 1) 3D code family with those
of the (14 27, 4, 2, 1), (8 43, 6, 2, 1) 2D code families.
The probability of error of the 3D code is lower than those of
the 2D codes, but the 2D code with weight K
0
4 has a
higher cardinality.
6 Conclusion
The design algorithm presented here gives probability of
error values lower than those published earlier. The
proposed 2D and 3D codes are better suited for networks,
which are to be deployed with low-error probabilities. The
lower cardinality is compensated by its performance gain to
a large extent. The higher auto-correlation of the proposed
code families suggest that these codes would give better
performance in star network topologies, where interference
due to multipath is absent. In networks where multipath
interference is existing, the performance of these code
families may degrade. The effect of increasing the
cardinality of the 3D code families on the probability of
error is to be investigated. These codes may also be of use
in other multi-dimensional elds where orthogonality is of
major importance.
7 Acknowledgment
The authors are grateful to Prof. C. J. Colbourn for helping
with pertinent references.
8 References
[1] CHUNG F.R.K., SALEHI J.A., WEI V.K.: Optical orthogonal codes:
design, analysis, and applications, IEEE Trans. Inf. Theory,
1989, 35, (3), pp. 595 604
[2] SALEHI J.A.: Code Division Multiple-Access techniques in
optical ber networks part I: fundamental principles,
IEEE Trans. Commun., 1989, 37, (8), pp. 824833
[3] SALEHI J.A., BRACKETT C.A.: Code Division Multiple-Access
techniques in optical ber networks part II: systems
performance analysis, IEEE Trans. Commun., 1989, 37, (8),
pp. 834842
[4] PRUCNAL P.R., SANTORO M.A., FAN T.R.: Spread spectrum
ber-optic local area network using optical processing,
J. Lightwave Technol., 1986, 4, (5), pp. 547554
[5] KWONG W.C., PRUCNAL P.R., PERRIER P.A.: Synchronous, versus
Asynchronous CDMA for Fiber-Optic LANs using Optical
Signal Processing. IEEE Global Telecommunications
Conference, Dallas, TX, USA, 1989
[6] ARGON C., ERGU