I. Introduction
Optical-Code-Division multiple access (O-CDMA) is getting a lot of attention recently. It is a suitable technique for optical fiber transmission due to the inherent large bandwidth of fiber. It is also a good candidate for optical access networks, such as Ethernet passive optical networks (EPONs) [1], [2]. In the transmitter, a laser diode and an on–off-keying (OOK) modulator are employed. Because of nonnegative power for optical signals, optical orthogonal codes (OOCs) are a family of (0,1) sequences that are different from that in electrical transmission using (+1,−1) sequences. The -OOCs are a code family with code length and code weight [3]. The off-peak autocorrelation and cross correlation should be minimized for the sake of synchronization and less multiple-user interference (MUI). Meanwhile, the code weight is required to be large in order to distinguish the desired signal from MUI and noise. If , the -OOCs are simply denoted as -OOCs. The -OOCs can be constructed from the projective geometry , where is a positive integer and is a prime power. The forms a cyclic difference set with parameters , , and [4]. It is also called the Singer difference set with classical parameters [5]. Any pair of the elements in the set of integers modulo has exactly representations of the difference for any residue . Packing the elements of into subsets of blocks yields that every set of distinct elements in occurs in at most one block. Then, a family of blocks can be obtained, and each block has elements. Each element in a block represents the mark position of the codeword, and therefore a family of OOCs can be generated. The packing design guarantees that the cross correlation of any two OOCs is . On the other hand, the property of the cyclic difference set makes the off-peak autocorrelation of the OOCs to be and therefore satisfies the correlation constraint of the -OOC's.