1 Introduction

Optical orthogonal codes (OOCs) [11] are used in optical code divisible multiple access (OCDMA) system. Each user is assigned a unique zero-one periodic sequence. The time pattern of transmitting the optical pulses is specified by the locations of the ones in the assigned sequence. A user reads out the zeros and ones in the assigned codeword, and transmits an optical pulse in a time slot, also known as a time chip, when the sequence value is equal to \(\sim \)1. One drawback of OOC is that the number of available codewords grows linearly as the period of the OOC increases. This incurs the requirement of large chip rate. One method of increasing the number of supported users is to increase the number of codewords by spreading in both frequency and time domain. The resulting codes are called 2-dimensional (2-D) OOCs. There are many existing constructions on 2-D OOC. We refer the readers to the survey [34] for more details. More recently, polarization techniques are investigated in OCDMA, and another dimension for spreading, called the spatial dimension, is introduced [29]. With the spatial dimension, optical signals can spread in space, wavelength and time. Optical codes with spreading in these three dimensions are called 3-D OOCs. Experiments in [21, 28, 32] confirm that large performance gain can be obtained by 3-D OOC.

We define 3-D OOC formally as follows. The pattern of optical pulses of a user is represented by a 3-D \(S \times W \times T\) matrix \(X = [x_{s,w,t}],\) where S, W, and T are the number of spatial channels, wavelengths, and time slots, respectively. If an optical pulse is transmitted at spatial channel s, wavelength w, and time chip t, then the \((s,\,w,\,t)\)-entry of X is equal to one. Otherwise, the \((s,\,w,\,t)\)-entry is zero. A 3-D matrix is also called a codeword. The total number of ones in a codeword is called the Hamming weight of the codeword. We define the Hamming correlation function of two 3-D matrices \(X=[x_{s,w,t}]\) and \(Y=[y _{s,w,t}]\) by

$$\begin{aligned} H_{X,Y}(\tau ) :=\sum _{s=0}^{S-1}\sum _{w=0}^{W-1}\sum _{t=0}^{T-1}x_{s,w,t}y_{s, w, t\oplus \tau }, \end{aligned}$$
(1)

where “\(\oplus \)” in the subscript denotes modulo-T addition, and \(\tau \) is an integer between 0 and \(T-1.\) We note that \(H_{X,X}(0)\) is simply the Hamming weight of X.

An \((S \times W \times T, \omega ,\,\lambda _a,\,\lambda _c)\) 3-D OOC, denoted by \(\mathcal {C},\) is a collection of \(S \times W \times T\) zero-one matrices of Hamming weight \(\omega ,\) satisfying the following conditions [29]:

  1. (1)

    Auto-correlation. \(H_{X,X}(\tau ) \le \lambda _{a},\) for all \(X\in \mathcal {C}\) and \(1 \le \tau \le T-1,\)

  2. (2)

    Cross-correlation. \(H_{X,Y}(\tau ) \le \lambda _{c},\) for all \(X,\,Y \in \mathcal {C},\,X\ne Y,\) and \( 0 \le \tau \le T-1.\)

A wavelength/time plane is also called a spatial plane. There are several classes of 3-D OOC of interests. A 3-D at-most-one-pulse-per-plane code (AMOPPC) is a 3-D OOC in which each codeword contains at most one optical pulse per spatial plane, i.e.,

$$\begin{aligned} \sum _{w=0}^{W-1}\sum _{t=0}^{T-1} x_{s,w,t} \le 1, \end{aligned}$$

for all codewords X and \(s=0,\,1,\ldots , S-1.\) If we have exactly one “1” in every spatial plane in all codewords, then we have a single-pulse-per-plane code (SPPC). A 3-D at-most-one-pulse-per-time code (AMOPTC) is a 3-D OOC satisfying

$$\begin{aligned} \sum _{s=0}^{S-1}\sum _{w=0}^{W-1} x_{s,w,t} \le 1, \end{aligned}$$

for all codewords X and \(t=0,\,1,\ldots , T-1.\) If equality holds in the above inequality for all codewords and all t, then we have a single-pulse-per-time code (SPTC).

In this paper, we focus on 3-D SPPC and AMOPPC. We observe that the Hamming weight of an SPPC is equal to the number of spatial channels S, and the out-of-phase Hamming auto-correlation of any codeword is zero in both SPPC and AMOPPC. We use the notation \((S \times W \times T,\,\lambda )\)-SPPC for an \((S\times W \times T,\,S,\,0,\,\lambda )\) 3-D SPPC, and \((S \times W \times T,\,\omega ,\,\lambda )\)-AMOPPC for an \((S\times W \times T,\,\omega ,\,0,\,\lambda )\) 3-D AMOPPC. The parameter \(\lambda \) is also called the maximum collision parameter in the literature of OCDMA.

We want to construct 3-D SPPC and AMOPPC with large number of codewords. For \(2\le \omega \le S,\) let

$$\begin{aligned} \varPhi (S,\,W,\,T,\,\omega ,\,\lambda ), \end{aligned}$$

be the maximal number of codewords over the class of all \((S\times W \times T,\,\omega ,\,\lambda )\)-AMOPPC. Let

$$\begin{aligned} \varPhi (S,\,W,\,T,\,\lambda ), \end{aligned}$$

be the maximal number of codewords over the class of all \((S\times W \times T,\, \lambda )\)-SPPC. An \((S\times W \times T,\,\omega ,\,\lambda )\)-AMOPPC is called an optimal AMOPPC if it contains \(\varPhi (S,\,W,\,T,\,\omega ,\,\lambda )\) codewords. Likewise, an \((S\times W \times T,\,\lambda )\)-SPPC with \(\varPhi (S,\,W,\,T,\,\lambda )\) codewords is said to be optimal. Some explicit constructions for 3-D OOC in [29, 30, 35] are summarized in Table 1.

Table 1 Existing constructions for 3-D OOC

Combinatorial designs, such as group divisible designs (GDDs) and cyclic packings for instance, are used in constructing constant-weight codes, constant-composition codes (see e.g. [4, 9, 16, 20, 23, 44]), 1-D OOC (see e.g. [1, 58, 10, 15, 18, 31, 33, 43]), and 2-D OOC (see e.g. [13, 17, 3741]). It is shown in [3840] that a special class of optimal 2-D OOC is equivalent to semi-cyclic GDD (which is sometime called cyclic GDD [19, 27]). Furthermore, the relationship with Bhaskar Rao design (BRD) is pointed out in [40]. A necessary and sufficient condition for the existence of a semi-cyclic GDD of block size three is given in [19].

In this paper, we study the construction of SPPC and AMOPPC from a design-theoretic point of view, and extend the results in [19] to 3-D AMOPPC. An upper bound on code size of 3-D AMOPPC for general Hamming weight is derived, and optimal codes of weight 3 and \(\lambda =1\) are constructed. The parameters of the new existence results are shown in the last two rows of Table 1.

2 Representations of 3-D OOC and an upper bound on code size

We use the notation \(\mathbb {Z}_n = \{0,1,\ldots , n-1\}\) for the ring of integers modulo n. For a finite set \(\mathcal {S},\) the cardinality of \(\mathcal {S}\) is denoted by \(|\mathcal {S}|.\) A set with cardinality \(\omega \) is called a \(\omega \)-set.

In this paper, the indices for spatial channels, wavelengths and time chips are indexed by \(\{0,\,1,\ldots , S-1\},\,\{0,\,1,\ldots , W-1\}\) and \(\{0,\,1,\ldots , T-1\},\) respectively. Furthermore, the indices for time chips are regarded as the ring of integers modulo T. Let \(\mathcal {V}\) denote the cartesian product

$$\begin{aligned} \mathcal {V}:= \mathbb {Z}_S \times \mathbb {Z}_W \times \mathbb {Z}_T. \end{aligned}$$

Given an \(S\times W \times T\) matrix \(X=[x_{s,w,t}],\) define the characteristic set of X by

$$\begin{aligned} \chi (X):= \left\{ (s,\,w,\,t) \in \mathcal {V}:\, x_{s,w,t}=1\right\} . \end{aligned}$$

As the Hamming weight of each codeword is equal to \(\omega ,\) each characteristic set contains exactly \(\omega \) triples. Each triple specifies the spatial channel, wavelength, and time chip of an optical pulse. In design theory terminology, \(\mathcal {V}\) is called the point set, and subsets of \(\mathcal {V}\) are called blocks. We will use “characteristic set” and “block” interchangeably.

Example 1

This example is the smallest non-trivial example. The parameters are \(S=W=T=\omega =2\) and \(\lambda =1.\) The following eight 3-D matrices form a \((2\times 2 \times 2,\,1)\)-SPPC with eight codewords:

$$\begin{aligned} \begin{array}{ccccccccc} s=0:\ \ &{} \left[ \begin{array}{c@{\quad }c} 1&{}0\\ 0&{}0 \end{array} \right] &{} \left[ \begin{array}{c@{\quad }c} 1&{}0\\ 0&{}0 \end{array}\right] &{} \left[ \begin{array}{c@{\quad }c} 1&{}0\\ 0&{}0 \end{array} \right] &{} \left[ \begin{array}{c@{\quad }c} 1&{}0\\ 0&{}0 \end{array}\right] &{} \left[ \begin{array}{c@{\quad }c} 0&{}0\\ 1&{}0 \end{array}\right] &{} \left[ \begin{array}{c@{\quad }c} 0&{}0\\ 1&{}0 \end{array}\right] &{} \left[ \begin{array}{c@{\quad }c} 0&{}0\\ 1&{}0 \end{array}\right] &{} \left[ \begin{array}{c@{\quad }c} 0&{}0\\ 1&{}0 \end{array}\right] ,\\ s=1:\ \ &{}\left[ \begin{array}{c@{\quad }c} 1&{}0\\ 0&{}0\end{array}\right] &{} \left[ \begin{array}{c@{\quad }c} 0&{}0\\ 1&{}0\end{array}\right] &{} \left[ \begin{array}{c@{\quad }c} 0&{}1\\ 0&{}0\end{array}\right] &{} \left[ \begin{array}{c@{\quad }c} 0&{}0\\ 0&{}1\end{array}\right] &{} \left[ \begin{array}{c@{\quad }c} 1&{}0\\ 0&{}0\end{array}\right] &{} \left[ \begin{array}{c@{\quad }c} 0&{}0\\ 1&{}0\end{array}\right] &{} \left[ \begin{array}{c@{\quad }c} 0&{}1\\ 0&{}0\end{array}\right] &{} \left[ \begin{array}{c@{\quad }c} 0&{}0\\ 0&{}1\end{array}\right] . \end{array} \end{aligned}$$

The first (resp. second) row is the first (resp. second) spatial dimension of the 3-D matrices. In each 2-D matrix, the two rows correspond to the two wavelengths, and the two columns correspond to the two time chips. The corresponding characteristic sets are

$$\begin{aligned} \{(0,\,0,\,0),\,(1,\,0,\,0) \},\,\{(0,\,0,\,0),\,(1,\,1,\,0) \},\,\{(0,\,0,\,0),\,(1,\,0,\,1) \},\,\{(0,\,0,\,0),\,(1,\,1,\,1) \}, \\ \{(0,\,1,\,0),\,(1,\,0,\,0) \},\,\{(0,\,1,\,0),\,(1,\,1,\,0) \},\,\{(0,\,1,\,0),\,(1,\,0,\,1) \},\,\{(0,\,1,\,0),\,(1,\,1,\,1) \}. \end{aligned}$$

We can present a 3-D AMOPPC in a tabular form by creating an \(s\times b\) array \(\mathbf {A},\) with the rows indexed by the spatial channels and the columns indexed by the codewords. If \((s,\,w,\,t)\) is a triple contained in the characteristic set of the jth codeword, we put the symbol \(t_w\) in the \((s,\,j)\)-entry of \(\mathbf {A}.\) The symbol t represents the time index and the subscript w represents the wavelength of the optical pulse. We note that there are exactly \(\omega \) nonempty entries in each column. If the 3-D AMOPPC is not an SPPC, then some entries in \(\mathbf {A}\) are empty. We will refer to this as the array presentation or the tabular form of a 3-D AMOPPC.

The following is the tabular form of the 3-D SPPC in Example 1.

\(0_0\)

\(0_0\)

\(0_0\)

\(0_0\)

\(0_1\)

\(0_1\)

\(0_1\)

\(0_1\)

\(0_0\)

\(0_1\)

\(1_0\)

\(1_1\)

\(0_0\)

\(0_1\)

\(1_0\)

\(1_1\)

The first row corresponds to the first spatial channel \(s=0,\) and the second row the second spatial channel \(s=1.\) Each column specifies the two optical pulses in a codeword. For instance, the last column in the above array indicates that the first optical pulse is transmitted at time 0 with wavelength 1 in the first spatial dimension, and the second optical pulse is transmitted at time 1 with wavelength 1 in the second spatial dimension.

It is helpful to express the Hamming correlation function in terms of characteristic sets. For a given integer \(\tau ,\) let \(\sigma ^{(\tau )}\) be a bijective function from \(\mathcal {V}\) to itself defined by

$$\begin{aligned} \sigma ^{(\tau )}(s,\,w,\,t) := (s,\,w,\,t\oplus \tau ). \end{aligned}$$

It models the cyclic shift operation in the time domain by \(\tau \) time chips. When \(\tau =1,\) we simply write \(\sigma (s,\,w,\,t).\) For a subset \(\mathcal {A}\) of triples in \(\mathbb {Z}_S\times \mathbb {Z}_W\times \mathbb {Z}_T,\) we let \(\sigma ^{(\tau )}(\mathcal {A})\) be the image of \(\mathcal {A}\) under \(\sigma ^{(\tau )},\) i.e.,

$$\begin{aligned} \sigma ^{(\tau )}(\mathcal {A}) := \{ (s,\,w,\,t\oplus \tau ):\, (s,\,w,\,t) \in \mathcal {A}\}. \end{aligned}$$

Lemma 1

Let \(X\) and \(Y\) be two distinct codewords in a 3-D OOC, and \(\tau \) be an integer between 0 and \(T-1.\) The followings are equivalent.

  1. (1)

    \(H_{X,Y}(\tau ) > \lambda .\)

  2. (2)

    The intersection \(\sigma ^{(\tau )}(\chi (X)) \cap \chi (Y)\) contains at least \(\lambda +1\) distinct triples in \(\mathcal {V}.\)

Proof

We observe that the Hamming cross-correlation \(H_{X,Y}(\tau )\) is larger than or equal to \(\lambda +1\) if and only if there are at least \(\lambda +1\) non-zero summands in (1). This is equivalent to the existence of \(\lambda +1\) triples \((s_i,\,w_i,\,t_i)\) in \(\mathcal {V},\) for \(i=1,\,2,\ldots , \lambda +1,\) satisfying \(x_{s_i,w_i,t_i} = 1 = y_{s_i,w_i,t_i\oplus \tau }\) for all i. This happens if and only if \((s_i,\,w_i,\,t_i\oplus \tau )\) is in \(\sigma ^{(\tau )}(\chi (X))\cap \chi (Y)\) for all \(i=1,\,2,\ldots , \lambda +1.\) \(\square \)

The next theorem provides a link between combinatorial design and 3-D OOC. The theorem holds for general 3-D OOCs which are not necessarily constant-weight.

Theorem 1

Let \(\mathcal {C}\) be a 3-D OOC with \(S\) spatial channels, \(W\) wavelengths, and \(T\) time chips. The followings are equivalent.

  1. (1)

    \(H_{X,Y}(\tau ) \le \lambda \) for all \(X,\,Y \in \mathcal {C}\) and \(\tau \in \mathbb {Z}_T.\)

  2. (2)

    For each subset \(\mathcal {S}\) of size \(\lambda +1\) in \(\mathcal {V},\) there exists at most one pair \((\nu ,\,X)\in \mathbb {Z}_T\times \mathcal {C}\) such that \(\mathcal {S} \subseteq \sigma ^{(\nu )}(\chi (X)).\)

Proof

Suppose that the first condition in the theorem is false. Then, \(H_{X,Y}(\tau ) > \lambda \) for some \(X,\,Y \in \mathcal {C}\) and \(\tau \in \mathbb {Z}_T.\) By the previous lemma, there exists a set \(\mathcal {S}\) of size \(\lambda +1\) contained in \(\sigma ^{(\tau )}(\chi (X))\) and \(\chi (Y).\) This implies that the second condition is false.

In the other direction, suppose that the second condition in the theorem is false. Let \(\mathcal {S}\) be a subset of \(\mathcal {V}\) of size \(\lambda +1\) which is contained in \(\sigma ^{(\mu )}(\chi (X))\) and \(\sigma ^{(\nu )}(\chi (Y)),\) for \((\mu ,\,X)\) and \((\nu ,\,Y)\) in \(\mathbb {Z}_T\times \mathcal {C}\) and \((\mu ,\,X)\ne (\nu ,\,Y).\) Then the set

$$\begin{aligned} \mathcal {S}-\nu := \{ t-\nu \,\hbox {mod}\,T:\, t \in \mathcal {S} \}, \end{aligned}$$

is contained in \(\sigma ^{(\mu -\nu )}(\chi (X))\) and \(\chi (Y).\) Since \(\mathcal {S}-\nu \) has cardinality \(\lambda +1,\) by the previous lemma, we have \(H_{X,Y}(\mu -\nu ) \ge \lambda +1.\) This implies that the first condition in the theorem is false. \(\square \)

Using similar proof technique as in the Johnson bound from coding theory, an upper bound on the code size for a general 3-D OOC is given in [35]. The following theorem gives an upper bound of code size within the class of 3-D AMOPPC. We note that when \(W=1,\) it reduces to the analogous result for 2-D OOC [34, Proposition 3].

In the followings, we will refer to a subset of size \(\omega \) in \(\mathcal {V}\) as a block.

Theorem 2

Suppose that \(\lambda < \omega .\) The maximal code size among all \((S\times W \times T,\,\omega ,\,\lambda )\)-AMOPPCs is upper bounded by

$$\begin{aligned} \varPhi (S,\,W,\,T,\,\omega ,\,\lambda ) \le \left\lfloor \frac{SW}{\omega }\left\lfloor \frac{(S-1)WT}{\omega -1} \cdots \left\lfloor \frac{(S-\lambda )WT}{\omega -\lambda } \right\rfloor \right\rfloor \cdots \right\rfloor . \end{aligned}$$

In particular, we have

$$\begin{aligned} \varPhi (S,\,W,\,T,\,\lambda ) \le W^{\lambda +1}T^\lambda , \end{aligned}$$

for \((S\times W\times T,\,\lambda )\)-SPPC.

Proof

Let \(\fancyscript{B}\) be the collection of the characteristic sets of the codewords in a maximal \((S\times W \times T,\,\omega ,\,\lambda )\)-AMOPPC. We have \(|\fancyscript{B}| = \varPhi (S,\,W,\,T,\,\omega ,\,\lambda )\) by definition. We consider the development of the characteristic sets under the action of \(\sigma ,\)

$$\begin{aligned} \left\{ \sigma ^{(\tau )}(\mathcal {B}):\, \mathcal {B}\in \fancyscript{B},\, \tau \in \mathbb {Z}_T \right\} . \end{aligned}$$

As there is at most one pulse in each spatial plane, there are exactly \(T\cdot \varPhi (S,\,W,\,T,\,\omega ,\,\lambda )\) blocks in the above collection of blocks.

Let \(\varTheta (S,\,W,\,T,\,\omega ,\,\lambda )\) be the maximal number of blocks in \(\mathcal {V}\) with the first coordinates of the triples in each block distinct, such that no \(\lambda +1\) points in \(\mathcal {V}\) are contained in two distinct blocks. Let \(\fancyscript{A}\) be a collection of \(\varTheta (S,\,W,\,T,\,\omega ,\,\lambda )\) blocks satisfying the above criterion. By Theorem 1, we have

$$\begin{aligned} T\cdot \varPhi (S,\,W,\,T,\,\omega ,\,\lambda ) \le |\fancyscript{A}| = \varTheta (S,\,W,\,T,\,\omega ,\,\lambda ). \end{aligned}$$

We count the number of pairs \((x,\,\mathcal {A})\) satisfying \(x\in \mathcal {A}\in \fancyscript{A}\) in two different ways. First of all, there are \(\omega \cdot \varTheta (S,\,W,\,T,\,\omega ,\,\lambda )\) pairs, as each block in \(\fancyscript{A}\) contains \(\omega \) points. On the other hand, for a fixed point \(x\) in \(\mathcal {V},\) let

$$\begin{aligned} \fancyscript{A}_x := \{ \mathcal {A}\setminus \{x\}:\, x\in \mathcal {A}\in \fancyscript{A}\}. \end{aligned}$$

The sets in \(\fancyscript{A}_x\) can be considered as subsets of size \(\omega -1\) in \(\mathcal {V}^{\prime } = \mathbb {Z}_{S-1}\times \mathbb {Z}_{W} \times \mathbb {Z}_T,\) satisfying the condition that no \(\lambda \) points in \(\mathcal {V}^{\prime }\) are contained in two distinct blocks in \(\fancyscript{A}_x.\) Since there are SWT choices for x, we have

$$\begin{aligned} \varTheta (S,\,W,\,T,\,\omega ,\,\lambda ) \le \frac{SWT}{\omega } \cdot \varTheta (S-1,\,W,\,T,\,\omega -1,\, \lambda -1). \end{aligned}$$

Applying the above argument recursively, and using the fact that

$$\begin{aligned} \varTheta (S-\lambda ,\,W,\,T,\,\omega -\lambda ,\,0) \le \left\lfloor \frac{(S-\lambda )WT}{\omega -\lambda } \right\rfloor , \end{aligned}$$

we get

$$\begin{aligned} \varTheta (S,\,W,\,T,\,\omega ,\,\lambda ) \le \frac{SWT}{\omega }\left\lfloor \frac{(S-1)WT}{\omega -1} \cdots \left\lfloor \frac{(S-\lambda )WT}{\omega -\lambda } \right\rfloor \cdots \right\rfloor . \end{aligned}$$

This proof is completed by noting that \(\varPhi (S,\,W,\,T,\,\omega ,\,\lambda ) \le \varTheta (S,\,W,\,T,\,\omega ,\,\lambda )/T.\) \(\square \)

In the upper bound in Theorem 2, if we remove all the floor operators, we obtain

$$\begin{aligned} |\mathcal {C}| \le \frac{S(S-1)\cdots (S-\lambda )}{\omega (\omega -1)\cdots (\omega -\lambda )}W^{\lambda +1} T^\lambda , \end{aligned}$$
(2)

for all \((S\times W\times T,\,\omega ,\,\lambda )\)-AMOPPC. In view of the above inequality, an \((S\times W \times T,\,\omega ,\,\lambda )\)-AMOPPC is said to be perfect if the number of codewords matches the upper bound in (2). Likewise, an \((S\times W \times T,\,\lambda )\)-SPPC is said to be perfect if it contains \(W^{\lambda +1}T^\lambda \) codewords. Obviously, all perfect AMOPPC and SPPC are optimal. The \((2\times 2\times 2,\,1)\)-SPPC in Example 1 is an example of perfect SPPC.

The next theorem gives a characterization of perfect \((S\times W \times T,\,\omega ,\, \lambda )\)-AMOPPC.

Theorem 3

Let \(\mathcal {C}\) be an AMOPPC of weight \(\omega \) on \(S\) spatial channels, \(W\) wavelengths, and \(T\) time chips, and let \(\fancyscript{B}\) denote the collection of characteristic sets of the codewords in \(\mathcal {C}.\) Let \(\lambda \) be a positive integer strictly smaller than \(\omega .\) Then the followings are equivalent.

  1. (1)

    \(\mathcal {C}\) is a perfect \((S\times W\times T,\,\omega ,\,\lambda )\)-AMOPPC.

  2. (2)

    For any \(\lambda +1\) distinct indices \(s_1,\,s_2,\ldots , s_{\lambda +1}\) of spatial channels and any \(\lambda +1\) indices \(\omega _1,\,\omega _2,\ldots ,\omega _{\lambda +1}\) of wavelengths and any \(\lambda +1\) indices \(t_1,\,t_2,\ldots , t_{\lambda +1}\) of time chips, there exists exactly one pair \((\tau ,\,\mathcal {B}) \in \mathbb {Z}_T\times \fancyscript{B}\) such that \(\sigma ^{(\tau )}(\mathcal {B})\) contains \((s_i,\,w_i,\,t_i)\) for all \(i=1,\,2,\ldots , \lambda +1.\)

Proof

For each \(\mathcal {B}\in \fancyscript{B},\) let \(\mathcal {B}^\sigma \) denote the “closure” of \(\mathcal {B}\) under the action of \(\sigma ,\) i.e.,

$$\begin{aligned} \mathcal {B}^\sigma := \left\{ \sigma ^{(\tau )}(\mathcal {B}):\, \tau \in \mathbb {Z}_{T}\right\} , \end{aligned}$$

and let \(\fancyscript{A}\) be the union of all such closures of the blocks in \(\fancyscript{B},\)

$$\begin{aligned} \fancyscript{A}:= \bigcup _{\mathcal {B}\in \fancyscript{B}} \mathcal {B}^\sigma . \end{aligned}$$

Let \(\fancyscript{Z}\) be the collection of \((\lambda +1)\)-subsets of \(\mathcal {V}=\mathbb {Z}_S \times \mathbb {Z}_W \times \mathbb {Z}_T\) with distinct spatial channel indices, i.e.,

$$\begin{aligned} \fancyscript{Z} := \big \{ \left\{ \left( s_i,\,w_i,\,t_i\right) :\,i=1,\ldots , \lambda +1\right\} \subset \mathcal {V}:\, s_1,\, s_2, \ldots , s_{\lambda +1}\,\text {are distinct}\big \}. \end{aligned}$$

We note that \(|\fancyscript{Z}| =\left( {\begin{array}{c}S\\ \lambda +1\end{array}}\right) W^{\lambda +1} T^{\lambda +1}.\)

(\(1 \Rightarrow 2\)) Suppose that \(\mathcal {C}\) is a perfect \((S\times W \times T,\, \omega ,\,\lambda )\)-AMOPPC. Since \(\lambda < \omega ,\) the sets \(\mathcal {B}^\sigma \) for \(\mathcal {B}\) running over \(\fancyscript{B}\) are mutually disjoint and represent cyclically distinct codewords. Hence, we have \(|\fancyscript{A}| = T |\fancyscript{B}| = T |\mathcal {C}|.\) By Theorem 1, for each set \(\mathcal {S}\) in \(\fancyscript{Z},\) there exists at most one block \(\mathcal {A}\in \fancyscript{A}\) which contains \(\mathcal {S}.\) Hence, the union

$$\begin{aligned} \bigcup _{\mathcal {A} \in \fancyscript{A}} \{ \mathcal {U}:\, \mathcal {U} \subseteq \mathcal {A},\,|\mathcal {U}|=\lambda +1\}, \end{aligned}$$
(3)

is a disjoint union, and is a sub-collection of \(\fancyscript{Z}\) with cardinality \(\left( {\begin{array}{c}\omega \\ \lambda +1\end{array}}\right) |\fancyscript{A}|.\) On the other hand, the perfectness of \(\mathcal {C}\) implies that

$$\begin{aligned} |\fancyscript{A}| = \frac{\left( {\begin{array}{c}S\\ \lambda +1\end{array}}\right) }{\left( {\begin{array}{c}\omega \\ \lambda +1\end{array}}\right) } W^{\lambda +1} T^{\lambda +1}=\frac{|\fancyscript{Z}|}{\left( {\begin{array}{c}\omega \\ \lambda +1\end{array}}\right) }. \end{aligned}$$

The collection of sets in (3) is thus equal to \(\fancyscript{Z},\) and this implies that each set in \(\fancyscript{Z}\) is contained in a unique block in \(\fancyscript{A}.\)

(\(2 \Rightarrow 1\)) For any two distinct blocks \(\mathcal {B}\) and \(\mathcal {B}^{\prime }\) in \(\fancyscript{B},\) we have \(|\sigma ^{(\tau )}(\mathcal {B}) \cap \mathcal {B}'| \le \lambda < \omega \) for all \(\tau .\) The blocks in \(\fancyscript{B}\) represent cyclically distinct codewords, and the Hamming cross-correlation of any two distinct codewords is less than or equal to \(\lambda \) by Theorem 1.

It remains to show that the 3-D AMOPPC \(\mathcal {C}\) is perfect. Since the collection of sets \(\fancyscript{A}\) as defined in (3) is a disjoint union and is equal to \(\fancyscript{Z},\) we obtain

$$\begin{aligned} |\mathcal {C}| = \frac{|\fancyscript{A}|}{T} = \frac{|\fancyscript{Z}| }{T\left( {\begin{array}{c}\omega \\ \lambda +1\end{array}}\right) } = \frac{\left( {\begin{array}{c}S\\ \lambda +1\end{array}}\right) W^{\lambda +1} T^\lambda }{\left( {\begin{array}{c}\omega \\ \lambda +1\end{array}}\right) }. \end{aligned}$$

Thus, \(\mathcal {C}\) is a perfect \((S\times W \times T,\,\omega ,\,\lambda )\)-AMOPPC. \(\square \)

We will give another characterization of perfect AMOPPC with \(\lambda =1\) after reviewing some definitions in GDDs and generalized Bhaskar Rao designs (GBRDs) in the next section.

3 Review of GDDs and GBRDs

Let v and \(\lambda \) positive integers, t an integer larger than or equal to 2, and \(\mathcal {K}\) be a set of positive integers. A group divisible t-design (GDD) of order v and block sizes from \(\mathcal {K}\) is a triple \((\mathcal {V},\,\fancyscript{G},\,\fancyscript{A}),\) where \(\mathcal {V}\) is a set consisting of v points, \(\fancyscript{G}\) is a partition of \(\mathcal {V}\) into disjoint sets, called groups, and \(\fancyscript{A}\) is a collection of subsets in \(\mathcal {V},\) called blocks, each of cardinality from \(\mathcal {K},\) such that

  1. (1)

    each block intersects any given group in at most one point, and

  2. (2)

    any t distinct points from t distinct groups belong to exactly \(\lambda \) blocks in \(\fancyscript{A}.\)

We use the notation \(\mathsf{GDD}_t(\mathcal {K},\,\lambda ,\,v)\) for a group divisible t-design. The type of the multiset \(\{|\mathcal {G}|: \mathcal {G}\in \fancyscript{G}\}\) is usually written in an “exponential” notation \(1^{i_1}2^{i_2} 3^{i_3}\cdots ,\) which means that there are \(i_j\) groups in \(\fancyscript{G}\) with size j, for \(j=1,\,2,\,3,\ldots \) When all blocks in a GDD have the same size k, we write \(\mathsf{GDD}_t(k,\,\lambda ,\,v)\) instead. If every block intersects every group, a \(\mathsf{GDD}_t(k,\,\lambda ,\,v)\) is called a transversal t-design, denoted by \(\mathsf{TD}_t(k,\,\lambda ,\,v).\) When every group is a singleton and \(t=2,\) a \(\mathsf{GDD}_t(\mathcal {K},\,\lambda ,\,v)\) is called a pairwise balanced design (PBD). We use the notation \(\mathsf{PBD}(\mathcal {K},\,\lambda ,\,v)\) for PBD with block sizes in \(\mathcal {K}.\) If all blocks in a \(\mathsf{PBD}(\mathcal {K},\,\lambda ,\,v)\) have the same size k, we have a balanced incomplete block design, denoted by \(\mathsf {BIBD}(k,\,\lambda ,\,v).\)

Example 2

Let \(\mathcal {V}= \{1,\,2,\,3,\,4,\,5\}\) be the point set, \(\fancyscript{G}= \{ \{1\},\, \{2,\,3\},\,\{4,\,5\}\}\) be the group set, and let \(\fancyscript{A}\) be the collection

$$\begin{aligned} \fancyscript{A}= \{ \{1,\,2,\,4\},\,\{1,\,3,\,5\},\,\{2,\,5\},\, \{3,\,4\}\}. \end{aligned}$$

Then \((\mathcal {V},\,\fancyscript{G},\,\fancyscript{A})\) is a \(\mathsf{GDD}_2(\{2,\,3\},\,1,\,5)\) of type \(1^1 2^2.\)

Example 3

The following is an example of \(\mathsf{PBD}(\{3,\,4\},\,10)\) from [3, Example I.6.7]. The point set \(\mathcal {V}=\{0,\,1,\ldots , 9\}\) has cardinality 10. There are nine blocks of size 3 and three blocks of size 4:

$$\begin{aligned}&\{1,\,4,\,9\},\,\{1,\,5,\,8\},\,\{1,\,6,\,7\},\,\{2,\,4,\,7\},\,\{2,\,5,\,9\},\,\{2,\,6,\,8\},\,\{3,\,4,\,8\},\,\{3,\,5,\,7\}, \\&\quad \{3,\,6,\,9\},\{0,\,1,\,2,\,3\},\,\{0,\,4,\,5,\,6\},\,\{0,\,7,\,8,\,9\} . \end{aligned}$$

When all groups have the same size, the GDD is called uniform. A uniform GDD has type \(m^s\) if there are s groups of size m. The existence of uniform GDD of block size 3 was settled completely by Hanani.

Theorem 4

[26] For \(S\ge 3,\) a \(\mathsf{GDD}_2(3,\,1,\,WS)\) of type \(W^S\) exists if and only if

  1. (1)

    \((S-1)W \equiv 0\,\hbox {mod}\,2,\) and

  2. (2)

    \(S(S-1)W \equiv 0\,\hbox {mod}\,3.\)

A proof of Theorem 4 can be found in [12, Theorem 3.4].

The next theorem on the existence of PBDs is due to Wilson.

Theorem 5

[42] \(\mathsf{PBD}(\{3,\,4,\,5,\,8\},\,v)\) exists for all \(v\ge 3\) except \(v=6.\)

A proof of Theorem 5 can be found in [3, Proposition IX.4.2].

Next, we review the notion of GBRD. It is shown in [40] that GBRD is closely related to 2-D OOCs. In this paper, we will construct 3-D OOC from GBRD.

Let G be a finite abelian group, and let “\(\infty \)” be a special symbol not in G. A GBRD [14], denoted by \((n,\,k,\,\mu ;\,G)\)-GBRD, is an \(n \times b\) array with entries in \(G \cup \{\infty \},\) such that

  1. (1)

    each column contains exactly k entries in G, and

  2. (2)

    for each pair of distinct rows \((x_1,\,x_2,\ldots , x_b)\) and \((y_1,\,y_2, \ldots , y_b),\) the list

    $$\begin{aligned} x_i - y_i:\,i=1,\,2,\ldots , b,\quad x_i\ne \infty \ne y_i, \end{aligned}$$

    contains exactly \(\mu /|G|\) copies of each element in G.

In general, GBRD is defined over a group which is not necessarily abelian. However, in this paper we are only interested in the case when G is abelian. If we replace the special symbol \(\infty \) by 0 and elements in G by 1, then we obtain the incidence matrix of a \(\mathsf {BIBD}(k,\,\mu ,\,n),\) with the rows indexed by the point set and the columns indexed by the blocks. A GBRD can thus be regarded as signing the incidence matrix of a BIBD by elements in group G. A BRD is a special case of GBRD when \(|G|=2.\) When \(n=k\) and \(\mu =|G|,\) the GBRD is also known as an \(n\times |G|\) difference matrix over G. It follows from the basic properties of BIBD that the number of columns in a GBRD is equal to \(\mu \frac{n(n-1)}{k(k-1)},\) and each row contains exactly \(\mu \frac{n-1}{k-1}\) non-special symbols.

Example 4

The following is a \((4,\,3,\,6;\,\mathbb {Z}_6)\)-GBRD from [27, Lemma 1.2]

0

0

0

\(\infty \)

\(\infty \)

\(\infty \)

1

3

5

3

4

5

0

1

2

0

0

0

\(\infty \)

\(\infty \)

\(\infty \)

0

2

4

0

2

4

3

4

5

0

0

0

\(\infty \)

\(\infty \)

\(\infty \)

\(\infty \)

\(\infty \)

\(\infty \)

1

3

5

1

2

3

0

0

0

This is a \(4\times 12\) array, with the non-special entries drawn from \(\mathbb {Z}_6.\)

Example 5

For \(n=3\) and odd integer \(T\ge 3,\) we have a difference matrix over \(\mathbb {Z}_T\) [19, Lemma 2.2].

$$\begin{aligned} \left[ \begin{array}{l@{\quad }l@{\quad }l@{\quad }l@{\quad }l@{\quad }l@{\quad }l@{\quad }l} 0&{}0&{}0&{}0&{}0&{}\cdots &{}0 &{} 0\\ 0&{}1&{}2&{}3&{}4&{}\cdots &{}T-2 &{} T-1 \\ 0&{}2&{}4&{}6&{}8&{}\cdots &{}2(T-2) &{} 2(T-1) \end{array}\right] . \end{aligned}$$

This is a \((3,\,3,\,T;\,\mathbb {Z}_T)\)-GBRD.

We will need the following existence results of \((S,\,3,\,|G|;\,G)\)-GBRD given in [25].

Theorem 6

[25] Let G be a finite abelian group. The necessary and sufficient conditions for the existence of an \((S,\,3,\,|G|;\,G)\)-GBRD for \(S > 3\) are

$$\begin{aligned} |G|(S-1)&\equiv 0\,\hbox {mod}\,2 \end{aligned}$$
(4)
$$\begin{aligned} |G|S(S-1)&\equiv \left\{ \begin{array}{l@{\quad }l} 0\,\hbox {mod}\,6 &{} \text {if}\;|G| \equiv 1\,\hbox {mod}\,2, \\ 0\,\hbox {mod}\,24 &{} \text {if}\;|G| \equiv 0\,\hbox {mod}\,2. \end{array}\right. \end{aligned}$$
(5)

When \(S=3,\,(3,\,3,\,|G|;\,G)\)-GBRD exists if the Sylow two-subgroup of G is either trivial or non-cyclic.

(By the Sylow theorem, a finite abelian group G of order \(2^e m,\) where m is not divisible by 2, has a unique subgroup of order \(2^e\) [36, Corollary 4.38]. This subgroup of order \(2^e\) is called the Sylow two-subgroup of G.)

Given positive integers k, \(\mu ,\) W and S, a GBRGDD [24] signed over a finite abelian group G is an \(SW \times b\) array, whose entries are either a group element in G or a special symbol \(\infty .\) The rows of the array is partitioned into S batches, with each batch containing W consecutive rows. A GBRGDD, denoted by \((SW,\,k,\,\mu ;\,G)\)-GBRGDD of type \(W^S,\) is defined as an \(SW\times b\) array satisfying the following conditions:

  1. (1)

    each column contains exactly k entries in G,

  2. (2)

    in each column, there is at most one non-special symbol in each batch,

  3. (3)

    for each pair of distinct rows \((x_1,\,x_2,\ldots , x_b)\) and \((y_1,\,y_2, \ldots , y_b)\) in two different batches, the list

    $$\begin{aligned} x_i - y_i:\,i=1,\,2,\ldots , b,\quad x_i\ne \infty \ne y_i, \end{aligned}$$

    contains exactly \(\mu /|G|\) copies of each element in G.

If we replace the special symbol \(\infty \) in a GBRGDD by 0, and the elements in G by 1, then what we obtain is the incidence matrix of a group divisible two-design. Hence, using the properties of GDD, we see that there are \(b=\mu W^2 \frac{S(S-1)}{k(k-1)}\) columns in a GBRGDD, and each row contains exactly \(\mu W \frac{S-1}{k-1}\) entries in G.

Example 6

The following is a \((4,\,2,\,2;\,\mathbb {Z}_2)\)-GBRGDD of type \(2^2.\)

0

0

0

0

\(\infty \)

\(\infty \)

\(\infty \)

\(\infty \)

\(\infty \)

\(\infty \)

\(\infty \)

\(\infty \)

0

0

0

0

0

\(\infty \)

1

\(\infty \)

0

\(\infty \)

1

\(\infty \)

\(\infty \)

0

\(\infty \)

1

\(\infty \)

0

\(\infty \)

1

Rows 1 and 2 form the first batch, while rows 3 and 4 form the second batch. If we look at rows 1 and 3, there are two columns, namely columns 1 and 3, which are both not equal to the special symbol \(\infty ,\) and the differences between the two pairs are precisely 0 and 1.

4 Constructions of perfect 3-D AMOPPC with \(\lambda =1\)

In this section, we focus on the construction of perfect 3-D AMOPPC with \(\lambda =1.\) We first give a characterization of perfect \((S\times W\times T,\,\omega ,\,1)\)-AMOPPC in terms of GBRGDD.

Theorem 7

The followings are equivalent:

  1. (1)

    there exists a perfect \((S\times W \times T,\,\omega ,\,1)\)-AMOPPC,

  2. (2)

    there exists an \((SW,\,\omega ,\,T;\,\mathbb {Z}_T)\)-GBRGDD of type \(W^S.\)

Proof

Suppose \(\mathcal {C}\) is a perfect \((S\times W \times T,\,\omega ,\,1)\)-AMOPPC. By definition, there are \(\frac{S(S-1)}{\omega (\omega -1)}W^2T\) codewords in a perfect \((S\times W\times T,\,\omega ,\,1)\)-AMOPPC. We represent each codeword by a column vector of length \(SW,\) and divide the column vector into S parts, each of length W. For a codeword X with characteristic set

$$\begin{aligned} \chi (X)=\left\{ \left( s_j,\,w_j,\,t_j\right) :\,j=1,\,2,\ldots , \omega \right\} , \end{aligned}$$

the ith component of the corresponding vector, for \(i=0,\,1,\ldots , SW-1,\) is defined as

$$\begin{aligned} \left\{ \begin{array}{l@{\quad }l} t &{} \text { if }\;i=sW+w\;\text { and }\;(s,\,w,\,t)\in \chi (X), \\ \infty &{} \text {otherwise}. \end{array}\right. \end{aligned}$$

Let M be the \(SW \times \frac{S(S-1)}{\omega (\omega -1)}W^2T\) matrix obtained by putting together all of the resulting column vectors. It is clear that each column contains \(\omega \) entries which are elements in \(\mathbb {Z}_T,\) and in each column, there are at most one non-special symbol in rows \((j-1)W\) to \(jW-1,\) for \(j=1,\,2,\ldots , S.\) This shows that the first two defining properties of GBRGDD hold. The third property can be proved by invoking Theorem 3. We have thus obtained an \((SW,\,\omega ,\,T;\,\mathbb {Z}_T)\)-GBRGDD of type \(W^S.\)

Conversely, from an \((SW,\,\omega ,\,T;\,\mathbb {Z}_T)\)-GBRGDD of type \(W^S,\) we can construct a perfect \((S\times W \times T,\,\omega ,\,1)\)-AMOPPC. The argument is similar to the previous paragraph, and is omitted. \(\square \)

The next definition facilitates the verification that a collection of codewords form an AMOPPC with \(\lambda =1.\) Let \(\mathcal {C}\) be a set of \(S\times W \times T\) matrices of Hamming weight \(\omega .\) For \(s_1,\,s_2\in \mathbb {Z}_S\) with \(s_1\ne s_2,\,w_1,\,w_2\in \mathbb {Z}_W,\) and \(\tau \in \mathbb {Z}_T,\) let

$$\begin{aligned} \fancyscript{D}_{\mathcal {C}}\left( s_1,\,s_2,\,w_1,\,w_2,\,\tau \right) := \left\{ X\in \mathcal {C}:\,\exists t,\,\left( s_1,\,w_1,\,t\right) ,\,\left( s_2,\,w_2,\,t\oplus \tau \right) \in \chi (X) \right\} . \end{aligned}$$

When \(\lambda =1,\) Theorems 1 and 3 can be re-formulated as follows.

Theorem 8

Suppose that \(S \ge \omega \ge 2,\,W\ge 1,\,T \ge 1,\) and \(\lambda =1.\) A set of codewords \(\mathcal {C}\) is an \((S\times W\times T,\,\omega ,\,1)\)-AMOPPC if and only if \(\fancyscript{D}_{\mathcal {C}}(s_1,\,s_2,\,w_1,\,w_2,\,\tau )\) is either empty or a singleton for all \(s_1,\,s_2\in \mathbb {Z}_S\) with \(s_1< s_2,\,w_1,\,w_2\in \mathbb {Z}_W,\) and \(\tau \in \mathbb {Z}_T.\) Furthermore, if \(\fancyscript{D}_{\mathcal {C}}(s_1,\,s_2,\,w_1,\,w_2,\,\tau )\) is a singleton for all \(s_1,\,s_2\in \mathbb {Z}_S\) with \(s_1< s_2,\,w_1,\,w_2\in \mathbb {Z}_W,\) and \(\tau \in \mathbb {Z}_T,\) then \(\mathcal {C}\) is a perfect \((S\times W\times T,\,\omega ,\,1)\)-AMOPPC.

By Theorem 8, we obtain the maximal number of codewords in an AMOPPC with Hamming weight \(\omega =2.\)

Theorem 9

For \(S,\,W \ge 2,\) we have \(\varPhi (S,\,W,\,T,\,2,\,1) = \frac{1}{2}S(S-1)W^2T.\)

Proof

For each pair of \((s_1,\,s_2) \in \mathbb {Z}_S^2\) with \(s_1<s_2,\) and each pair of \((w_1,\,w_2)\in \mathbb {Z}_W^2,\) and each \(\tau \in \mathbb {Z}_T,\) let

$$\begin{aligned} \mathcal {B}_{s_1,s_2,w_1,w_2,\tau }= \left\{ \left( s_1,\,w_1,\,0\right) ,\,\left( s_2,\,w_2,\,\tau \right) \right\} . \end{aligned}$$

We treat \(\mathcal {B}_{s_1,\,s_2,\,w_1,\,w_2,\,\tau }\) as the characteristic set of a 3-D matrix of Hamming weight 2, and let \(\mathcal {C}\) be the collection of codewords whose characteristic sets are \(\mathcal {B}_{s_1,s_2,w_1,w_2,\tau },\) for \((s_1,\,s_2) \in \mathbb {Z}_S^2\) with \(s_1<s_2,\,(w_1,\,w_2)\in \mathbb {Z}_W^2,\) and \(\tau \in \mathbb {Z}_T.\) The fact that this is a perfect \((S\times W \times T,\,2,\,1)\)-AMOPPC follows from Theorem 8. \(\square \)

The next theorem gives a conversion from an \((S,\,\omega ,\,WT;\,\mathbb {Z}_W\oplus \mathbb {Z}_T)\)-GBRD to a perfect \((S\times W \times T,\,\omega ,\,1)\)-AMOPPC.

Theorem 10

Let \(\mathbb {Z}_W\oplus \mathbb {Z}_T\) denote the direct sum of \(\mathbb {Z}_W\) and \(\mathbb {Z}_T.\) If there exists an \((S,\,\omega ,\,WT;\,\mathbb {Z}_W\oplus \mathbb {Z}_T)\)-GBRD, then we can construct a perfect \((S\times W \times T,\,\omega ,\,1)\)-AMOPPC.

A proof of Theorem 10 can be found in [2, Theorem 7]. For the sake of completeness, we sketch the construction as follows. We denote each element in \(\mathbb {Z}_W\oplus \mathbb {Z}_T\) as a pair \((w,\,t),\) and let \(\beta :\,\mathbb {Z}_W\oplus \mathbb {Z}_T\rightarrow \mathbb {Z}_W\) and \(\gamma :\,\mathbb {Z}_W\oplus \mathbb {Z}_T\rightarrow \mathbb {Z}_T\) be the projection functions on the first and second coordinates, respectively, i.e., for \(g=(w,\,t),\) we have \(\beta (g) = w\) and \(\gamma (g)=t.\) Let M be an \((S,\,\omega ,\,WT;\,\mathbb {Z}_W\oplus \mathbb {Z}_T)\)-GBRD. The array M has \(b = WTS(S-1)/(\omega (\omega -1))\) columns. For the column of M indexed by \(j,\) where \(j\in \{1,\,2,\ldots , b\},\) let the entries which are not the special symbol “\(\infty \)” be located at rows \(s_i^j,\) for \(i=1,\,2,\ldots , \omega ,\) and let the contents of these \(\omega \) entries be \(z_i^j.\) For \(y\in \mathbb {Z}_W\) and \(j=1,\,2,\ldots , b,\) let \(\mathcal {B}_{y,j}\) be the set

$$\begin{aligned} \mathcal {B}_{y,j} := \left\{ \left( s_i^j,\,\beta (z_i^j)+y,\,\gamma (z_i^j)\right) :\, i=1,\,2,\ldots , \omega \right\} , \end{aligned}$$
(6)

with the addition \(\beta (z_i^j)+y\) performed in \(\mathbb {Z}_W.\) The resulting blocks are the characteristic sets of a perfect \((S\times W \times T,\,\omega ,\,1)\)-AMOPPC.

Example 7

We illustrate Theorem 10 by converting the example of \((4,\,3,\,6;\,\mathbb {Z}_6)\)-GBRD in Example 4 to a \((4\times 2 \times 3,\,3,\,1)\)-AMOPPC. We first write the GBRD over \(\mathbb {Z}_6\) as a GBRD over \(\mathbb {Z}_3 \oplus \mathbb {Z}_2\) by mapping \(g\in \mathbb {Z}_6\) to \((g\,\hbox {mod}\,3,\,g\,\hbox {mod}\,2).\) The first component is the index for time chip and the second the index for wavelength. We write the second components as subscripts. The resulting GBRD over \(\mathbb {Z}_2 \oplus \mathbb {Z}_3\) is

\(0_0\)

\(0_0\)

\(0_0\)

\(\infty \)

\(\infty \)

\(\infty \)

\(1_1\)

\(0_1\)

\(2_1\)

\(0_1\)

\(1_0\)

\(2_1\)

\(0_0\)

\(1_1\)

\(2_0\)

\(0_0\)

\(0_0\)

\(0_0\)

\(\infty \)

\(\infty \)

\(\infty \)

\(0_0\)

\(2_0\)

\(1_0\)

\(0_0\)

\(2_0\)

\(1_0\)

\(0_1\)

\(1_0\)

\(2_1\)

\(0_0\)

\(0_0\)

\(0_0\)

\(\infty \)

\(\infty \)

\(\infty \)

\(\infty \)

\(\infty \)

\(\infty \)

\(1_1\)

\(0_1\)

\(2_1\)

\(1_1\)

\(2_0\)

\(0_1\)

\(0_0\)

\(0_0\)

\(0_0\)

By the construction in Theorem 10, we have a perfect \((4\times 2 \times 3,\,3,\,1)\)-AMOPPC. The codewords are shown in tabular form below.

\(0_0\)

\(0_1\)

\(0_0\)

\(0_1\)

\(0_0\)

\(0_1\)

      

\(1_1\)

\(1_0\)

\(0_1\)

\(0_0\)

\(2_1\)

\(2_2\)

\(0_1\)

\(0_0\)

\(1_0\)

\(1_1\)

\(2_1\)

\(2_0\)

\(0_0\)

\(0_1\)

\(1_1\)

\(1_0\)

\(2_0\)

\(2_1\)

\(0_0\)

\(0_1\)

\(0_0\)

\(0_1\)

\(0_0\)

\(0_1\)

      

\(0_0\)

\(0_1\)

\(2_0\)

\(2_1\)

\(1_0\)

\(1_1\)

\(0_0\)

\(0_1\)

\(2_0\)

\(2_1\)

\(1_0\)

\(1_1\)

\(0_1\)

\(0_0\)

\(1_0\)

\(1_1\)

\(2_1\)

\(2_2\)

\(0_0\)

\(0_1\)

\(0_0\)

\(0_1\)

\(0_0\)

\(0_1\)

      
      

\(1_1\)

\(1_0\)

\(0_1\)

\(0_0\)

\(2_1\)

\(2_0\)

\(1_1\)

\(1_0\)

\(2_0\)

\(2_1\)

\(0_1\)

\(0_0\)

\(0_0\)

\(0_1\)

\(0_0\)

\(0_1\)

\(0_0\)

\(0_1\)

The next construction of 3-D AMOPPC is an adaptation of Wilson’s fundamental composition method for the construction of PBD [42]. Similar methods are used in [39, Constuction 15] for the construction of 2-D OOC and in [24, Theorem 5.2] for the construction of GBRGDD.

Theorem 11

Let \(\mathcal {K}\) be a set of positive integers. If there exists a \(\mathsf{GDD}_2(\mathcal {K},\,SW_1)\) of type \(W_1^S,\) and a \((k\times W_2\times T,\,\omega ,\,1)\)-AMOPPC for each \(k \in \mathcal {K},\) then there exists an \((S\times (W_1W_2) \times T,\,\omega ,\,1)\)-AMOPPC. Furthermore, if the \((k\times W_2\times T,\,\omega ,\,1)\)-AMOPPC used in the construction is perfect for all \(k\in \mathcal {K},\) then the constructed \((S\times (W_1W_2) \times T,\,\omega ,\,1)\)-AMOPPC is also perfect.

Proof

Let the point set of the \(\mathsf{GDD}_2(\mathcal {K},\,SW_1)\) be \(\mathcal {V}_1 =\mathbb {Z}_S \times \mathbb {Z}_{W_1},\) and the collection of blocks be denoted by \(\fancyscript{B}.\) Each block in \(\fancyscript{B}\) is a k-set \(\{(x_i,\,y_i):\,i=0,\,1,\ldots , k-1\}\) in \(\mathcal {V}_1\) for some \(k\in \mathcal {K},\) and the first coordinates \(s_i\) are distinct.

For each \(k\in \mathcal {K}\) let \(\fancyscript{B}_k\) be the set of characteristic sets of a \((k\times W_2 \times T,\,\omega ,\,1)\)-AMOPPC. Let \(\alpha \) be a bijective function from \(\mathbb {Z}_{W_1}\times \mathbb {Z}_{W_2}\) to \(\mathbb {Z}_{W_1W_2}.\) The function \(\alpha \) can be chosen arbitrarily, as long as it is bijective. For each block \(\mathcal {B}=\{(x_i,\,y_i):\,i=0,\,1,\ldots , k-1\}\) of size k in \(\fancyscript{B},\) and for each characteristic set \(\mathcal {B}^{\prime } = \{(s_j,\,w_j,\,t_j):\,j=1,\,2,\ldots , \omega \}\) in \(\fancyscript{B}_k,\) define

$$\begin{aligned} \vartheta (\mathcal {B},\,\mathcal {B}^{\prime }) :=\left\{ \left( x_{s_j},\,\alpha \left( y_{s_j},\,w_j\right) ,\,t_j\right) :\,j=1,\,2,\ldots , \omega \right\} . \end{aligned}$$

We can check by Theorem 8 that the collection of blocks \(\vartheta (\mathcal {B},\,\mathcal {B}^{\prime }),\) for \(k\in \mathcal {K},\,\mathcal {B}\in \fancyscript{B}\) of size k and \(\mathcal {B}^{\prime }\in \fancyscript{B}_k,\) induces an \((S\times (W_1W_2) \times T,\,\omega ,\,1)\)-AMOPPC, which is perfect if all the constituent \((k\times W_2 \times T,\,\omega ,\,1)\)-AMOPPCs are perfect. \(\square \)

If the group size \(W_1\) in \(\mathsf{GDD}_2(SW_1)\) of type \(W_1^S\) is equal to 1, then it reduces to a PBD \(\mathsf{PBD}(\mathcal {K},\,S).\) By taking the mapping \(\alpha \) to be the natural bijective map from \(\mathbb {Z}_1\times \mathbb {Z}_{W_2}\) to \(\mathbb {Z}_{W_2},\) we have the following corollary.

Corollary 1

If there exists a \(\mathsf{PBD}(\mathcal {K},\,S)\) and a perfect \((k\times W\times T,\,\omega ,\,1)\)-AMOPPC for any \(k \in \mathcal {K},\) then there exists a perfect \((S\times W\times T,\,\omega ,\,1)\)-AMOPPC.

On the other hand, if \(W_2=1\) and \(k=\omega ,\) then a \((k\times 1 \times T,\,\omega ,\,1)\)-AMOPPC is equivalent to an \(\omega \times T\) difference matrix over \(\mathbb {Z}_T.\) By taking \(\alpha \) to be the natural bijective map from \(\mathbb {Z}_{W_1} \times \mathbb {Z}_{1}\) to \(\mathbb {Z}_{W_1},\) we have

Corollary 2

If there exists a \(\mathsf{GDD}_2(\omega ,\,WS)\) of type \(W^S\) and an \(\omega \times T\) difference matrix over \(\mathbb {Z}_T,\) then there exists a perfect \((S\times W \times T,\, \omega ,\,1)\)-AMOPPC.

Moreover, if we take a transversal design \(\mathsf{TD}_2(S,\,SW)\) as the input GDD in Corollary 2, then we recover the construction of 3-D SPPC in [30] when specialized to \(\lambda =1.\)

Corollary 3

[30] If there exists a \(\mathsf{TD}_2(S,\,SW)\) and an \(S \times T\) difference matrix over \(\mathbb {Z}_T,\) then there exists a perfect \((S\times W \times T,\,\omega ,\,1)\)-SPPC.

Example 8

From a transversal design \(\mathsf{TD}_2(3,\,6)\) (which can be obtained from a \(2\times 2\) Latin square) and a \(3\times 3\) difference matrix, we can construct a perfect \((3\times 2\times 3,\,3,\,1)\)-SPPC by Corollary 3.

Example 9

Using the \(\mathsf{PBD}(\{3,\,4\},\,10)\) in Example 2 and the two 3-D OOCs in Examples 7 and 8, we can construct a perfect \((10\times 2 \times 3,\,3,\,1)\)-AMOPPC by Corollary 1. Recall that there are 24 codewords in the \((4\times 2 \times 3,\,3,\,1)\)-AMOPPC in Example 7 and 12 codewords in the \((3\times 2 \times 3,\,3,\,1)\)-SPPC in Example 8. The \((10\times 2 \times 3,\,3,\,1)\)-AMOPPC by the construction in Corollary 1 has \(4\cdot 24 + 9\cdot 12 = 180\) codewords. This matches the upper bound \(\frac{10\cdot 9}{3\cdot 2} \cdot 2^2\cdot 3 = 180\) in (2).

5 Perfect 3-D SPPC and AMOPPC of weight 3 and \(\lambda =1\)

In this section we determine the necessary and sufficient conditions for the existence of perfect 3-D SPPC and AMOPPC of weight 3 and \(\lambda =1.\)

5.1 Existence of perfect \((3\times W \times T,\,1)\)-SPPC

Theorem 12

For \(S=3,\) a perfect \((3 \times W \times T,\,1)\)-SPPC exists if and only if either

  1. (1)

    \(T\) is odd, or

  2. (2)

    \(T\) is even and \(W\) is even.

We first show that the conditions in Theorem 12 are necessary.

Lemma 2

A perfect \((3\times W \times T,\,1)\)-SPPC with even \(T\) exists only if \(W\) is even.

Proof

The proof is based on an argument similar to that in [27, Lemma 3.2] or [22, Lemma 3.1]. Let \(\fancyscript{B}\) be the collection of characteristic sets of the codewords in a perfect \((3\times W \times T,\,1)\)-SPPC. There are \(W^2T\) characteristic sets in \(\fancyscript{B},\) and each of them is in the form \(\{(1,\,w_1,\,t_1),\,(2,\,w_2,\,t_2),\,(3,\,w_3,\,t_3)\}.\) For \(i=1,\,2,\,3,\) and \(\mathcal {B}\in \mathcal {V},\) let \(f_i(\mathcal {B})\) denote the time index of the time slot associated with the optical pulse in spatial channel i, i.e., \(f_i(\mathcal {B}) = t_i,\) for \(i=1,\,2,\,3.\) For any two distinct \(s\) and \(s^{\prime }\) in \(\mathbb {Z}_3,\) consider the summation

$$\begin{aligned} \Sigma _{s, s^{\prime }} := \sum _{\mathcal {B}\in \fancyscript{B}} \left( f_{s}(\mathcal {B}) - f_{s^{\prime }}(\mathcal {B})\right) . \end{aligned}$$
(7)

By Theorem 3, the value of \(f_{s}(\mathcal {B}) - f_{s^{\prime }}(\mathcal {B})\) runs through the elements in \(\mathbb {Z}_T\) for a total of \(W^2\) times as \(\mathcal {B}\) runs through \(\fancyscript{B}.\) The summation in (7) is thus equal to

$$\begin{aligned} W^2 (0+1+2+\cdots + (T-1))\,\hbox {mod}\,T, \end{aligned}$$

for all pairs of \((s,\,s^{\prime })\in \mathbb {Z}_S^2\) with \(s\ne s^{\prime }.\) With the use of the hypothesis that T is even, we can make some re-arrangement of terms,

$$\begin{aligned} \Sigma _{s,s^{\prime }}&\equiv W^2 (0+ 1+2+\cdots +(T-2)+(T-1)) \\&\equiv W^2 ( 0+ [1+(T-1)]+[2+(T-2)] + \cdots [(T/2-1)+(T/2+1)] + T/2) \\&\equiv W^2 (T/2)\,\hbox {mod}\,T. \end{aligned}$$

On the other hand, we have \(\Sigma _{3,1} = \Sigma _{3,2} + \Sigma _{2,1} \equiv 0\,\hbox {mod}\,T.\) Thus, \(W^2(T/2) \equiv 0\,\hbox {mod}\,T.\) This is possible only when W is even. \(\square \)

Proof

[of Theorem 12] For odd T, we can construct a perfect \((3\times W\times T,\,1)\)-SPPC by Corollary 3, using the \(3\times T\) difference matrix over \(\mathbb {Z}_T\) in Example 5 and a \(\mathsf{TD}_2(3,\,3W)\) (obtained from a \(W\times W\) Latin square for example). This proves the first part of the theorem.

For the second part, suppose that both T and W are even. Since the Sylow two-subgroup of \(\mathbb {Z}_W \oplus \mathbb {Z}_T\) is non-cyclic, we can construct a \((3,\,3,\,WT;\,\mathbb {Z}_W \oplus \mathbb {Z}_T)\)-GBRD by Theorem 6. This yields a perfect \((3\times W\times T,\,1)\)-SPPC by Theorem 10. \(\square \)

We note that the 3-D SPPC in Example 8 has odd T, while the 3-D SPPC in Example 7 has even T and even W.

5.2 Existence of perfect \((S\times W \times T,\,3,\,1)\)-AMOPPC

The necessary and sufficient conditions for the existence of an \((S\times W\times T)\)-AMOPPC are listed in the next theorem.

Theorem 13

Let \(S > 3.\) A perfect \((S\times W \times T,\,3,\,1)\)-AMOPPC exists if and only if the following three conditions hold simultaneously:

$$\begin{aligned} (S-1)WT&\equiv 0\,\hbox {mod}\,2, \end{aligned}$$
(8)
$$\begin{aligned} S(S-1)W T&\equiv 0\,\hbox {mod}\,3,\,\text { and} \end{aligned}$$
(9)
$$\begin{aligned} S \equiv 0,\,1\,\hbox {mod}\,4\,\text { when } T&\equiv 2\,\hbox {mod}\,4\,\text { and }\,W \equiv 1\,\hbox {mod}\,2. \end{aligned}$$
(10)

By Theorem 7, the conditions in Theorem 13 are necessary and sufficient conditions for the existence of an \((SW,\,3,\,T;\,\mathbb {Z}_T)\)-GBRGDD of type \(W^S.\)

Lemma 3

If a perfect \((S\times W \times T,\,3,\,1)\)-AMOPPC exists for \(S>3,\) then the three conditions in Theorem 13 are necessary.

Proof

Recall that the number of codewords in a general \((S\times W \times T,\,\omega ,\,1)\)-AMOPPC is upper bounded by

$$\begin{aligned} \left\lfloor \frac{SW}{\omega } \left\lfloor \frac{(S-1)WT}{\omega -1} \right\rfloor \right\rfloor . \end{aligned}$$

Suppose that \(\mathcal {C}\) is a perfect \((S\times W \times T,\,3,\,1)\)-AMOPPC with \(S > 3.\) Because \(\mathcal {C}\) has \(S(S-1)W^2T/6\) codewords by the definition of perfectness, we have

$$\begin{aligned} \frac{S(S-1)}{6} W^2T \le \left\lfloor \frac{SW}{3} \left\lfloor \frac{(S-1)WT}{2} \right\rfloor \right\rfloor . \end{aligned}$$

This is possible only if

$$\begin{aligned} (S-1)WT\,\text { is divisible by }\,2, \end{aligned}$$

and

$$\begin{aligned} \frac{S(S-1)}{2}W^2T\,\text { is divisible by }\,3. \end{aligned}$$

The first condition is exactly the same as (8), and since three is prime, the second condition is equivalent to (9). This proves that (8) and (9) are necessary.

The proof of the necessity of (10) is similar to [27, Lemma 3.1]. Let \(\fancyscript{B}\) be the collection of characteristic sets of \(\mathcal {C}.\) For each characteristic set we sort the indices of the spatial channels in ascending order, i.e., \(\mathcal {B}= \{(s_1,\,w_1,\,t_1),\,(s_2,\,w_2,\,t_2),\,(s_3,\,w_3,\,t_3)\}\) with \(s_1 < s_2 < s_3,\) and let \(g_1(\mathcal {B}) = t_1,\,g_2(\mathcal {B})=t_2\) and \(g_3(\mathcal {B})=t_3.\) Let

$$\begin{aligned} \Sigma _{i,j}&:= \sum _{\mathcal {B}\in \fancyscript{B}} \left( g_i(\mathcal {B})-g_j(\mathcal {B})\right) , \end{aligned}$$

where \(i\) and \(j\) are distinct integers between 1 and 3. For any two distinct indices of spatial channels \(s_1,\,s_2 \in \mathbb {Z}_S,\) two (not necessarily distinct) indices of wavelength \(w_1,\,w_2 \in \mathbb {Z}_W,\) and \(\tau \in \mathbb {Z}_T,\) by Theorem 8, there is a unique block \(\mathcal {B}\) in \(\fancyscript{B}\) which contains \((s_1,\,w_1,\,t)\) and \((s_2,\,w_2,\,t\oplus \tau )\) for some \(t\in \mathbb {Z}_T.\) Using the argument as in Lemma 2, we get

$$\begin{aligned} \Sigma _{2,1}\!+\!\Sigma _{3,2}\!+\!\Sigma _{3,1} \equiv \frac{S(S-1)}{2} W^2 (0\!+\!1\!+\!2\!+\!\cdots +T-1) \equiv \frac{S(S-1)}{2} W^2 (T/2)\,\hbox {mod}\,T. \end{aligned}$$

We note that T is even and

$$\begin{aligned} \Sigma _{2,1}+\Sigma _{3,2}+\Sigma _{3,1} = \sum _{\mathcal {B}\in \fancyscript{B}} \left( 2f_3(\mathcal {B})-2f_1(\mathcal {B})\right) = 2 \Sigma _{3,1}, \end{aligned}$$

is also even. This implies that \(\frac{S(S-1)}{2} W^2 \frac{T}{2}\) is an even integer. By the hypothesis that W and \(T/2\) are odd integers, the value of \(S(S-1)/2\) must be divisible by 2. Therefore, \(S\) is congruent to either 0 or 1 mod 4. \(\square \)

Proof

[of Theorem 13] From the three conditions (8)–(10), we deduce that one of the following holds:

  1. (1)

    \(T \equiv 0\,\hbox {mod}\,12,\)

  2. (2)

    \(T \equiv 6\,\hbox {mod}\,{12}\)

    1. (a)

      \(W \equiv 0\,\hbox {mod}\,2,\)

    2. (b)

      \(W \equiv 1\,\hbox {mod}\,2\) and \(S\equiv 0,\,1\,\hbox {mod}\,4,\)

  3. (3)

    \(T \equiv \pm 4\,\hbox {mod}\,12\)

    1. (a)

      \(W\equiv 0\,\hbox {mod}\,3,\)

    2. (b)

      \(W \equiv \pm 1\,\hbox {mod}\,3\) and \(S \equiv 0,\,1\,\hbox {mod}\,3,\)

  4. (4)

    \(T \equiv \pm 2\,\hbox {mod}\,12\)

    1. (a)

      \(W \equiv 0\,\hbox {mod}\,6,\)

    2. (b)

      \(W \equiv 3\,\hbox {mod}\,6\) and \(S \equiv 0,\,1\,\hbox {mod}\,4,\)

    3. (c)

      \(W \equiv \pm 2\,\hbox {mod}\,6\) and \(S \equiv 0,\,1\,\hbox {mod}\,3,\)

    4. (d)

      \(W \equiv \pm 1\,\hbox {mod}\,6\) and \(S \equiv 0,\,1,\,4,\,9\,\hbox {mod}\,12,\)

  5. (5)

    \(T \equiv \pm 3\,\hbox {mod}\,12\)

    1. (a)

      \(W\equiv 0\,\hbox {mod}\,2,\)

    2. (b)

      \(W \equiv 1\,\hbox {mod}\,2\) and \(S \equiv 1\,\hbox {mod}\,2,\)

  6. (6)

    \(T \equiv \pm 1, \pm 5\,\hbox {mod}\,12\)

    1. (a)

      \(W \equiv 0\,\hbox {mod}\,6,\)

    2. (b)

      \(W \equiv 3\,\hbox {mod}\,6\) and \(S \equiv 1\,\hbox {mod}\,2,\)

    3. (c)

      \(W \equiv \pm 2\,\hbox {mod}\,6\) and \(S \equiv 0,\,1\,\hbox {mod}\,3,\)

    4. (d)

      \(W \equiv \pm 1\,\hbox {mod}\,6\) and \(S \equiv 1,\,3\,\hbox {mod}\,6.\)

To prove Theorem 13, it suffices to show that we can construct a perfect \((S\times W \times T,\,3,\,1)\)-AMOPPC for each of the above cases. We first consider case 1. In this case, T is divisible by 12, and hence it is divisible by 2. Since \(S(S-1)\) is even, \(TS(S-1)\) is divisible by 24. Hence for all W, the conditions in (4) and (5) are satisfied with \(|G|=WT.\) By Theorem 6, we have an \((S,\,3,\,WT;\,\mathbb {Z}_W\oplus \mathbb {Z}_T)\)-GBRD. The required 3-D AMOPPC can be constructed by Theorem 10.

For all the above cases except 5a, 6a and c, the existence is established likewise by first verifying the conditions in (4) and (5), and then invoking Theorems 6 and 10. We omit the details of the calculations. In the remaining of this proof, we only consider the existence proof in cases 5a, 6a and c.

Case 5a. Let \(T \equiv \pm 3\,\hbox {mod}\,12\) and W be even. There exists an \((S,\,3,\,WT;\,\mathbb {Z}_W \oplus \mathbb {Z}_T)\)-GBRD for \(S\in \{4,\,5,\,8\}\) by Theorem 6, because WT is even and \(WTS(S-1)\) is divisible by 24. This GBRD induces a perfect \((S\times W\times T,\,3,\,1)\)-AMOPPC by Theorem 10. Since T is odd in this case, by Theorem 12, we can construct a perfect \((3\times W \times T,\,1)\)-SPPC. Hence we can construct a perfect \((S\times W \times T,\,3,\,1)\)-AMOPPC for \(S\in \{3,\,4,\,5,\,8\}.\) On the other hand, by Theorem 5, there exists a \(\mathsf{PBD}(\{3,\,4,\,5,\,8\},\,S)\) for all \(S\ge 3\) except \(S = 6.\) By the construction in Corollary 1, we have a perfect \((S\times W \times T,\,3,\,1)\)-AMOPPC for all \(S\ge 3\) except \(S = 6.\)

We next apply Corollary 2 to prove the existence of perfect 3-D AMOPPC in the exceptional case \(S=6.\) When W is even and \(S=6,\) the two conditions in Theorem 4 are satisfied. We thus obtain a \(\mathsf{GDD}_2(3,\,6W)\) of type \(W^6\) by Theorem 4, and a \(3\times T\) difference matrix over \(\mathbb {Z}_T.\) By Corollary 2, we have a perfect \((6\times W\times T,\,3,\,1)\)-AMOPPC.

Cases 6a and c Suppose \(T \equiv \pm 1,\,\pm 5\,\hbox {mod}\,12.\) If \(W \equiv 0\,\hbox {mod}\,6,\) we can apply Theorem 4 and obain a \(\mathsf{GDD}_2(3,\,WS)\) of type \(W^S.\) If \(W \equiv \pm 2\,\hbox {mod}\,6\) and \(S\equiv 0,\,1\,\hbox {mod}\,3,\) we also have a \(\mathsf{GDD}_2(3,\,WS)\) of type \(W^S\) by Theorem 4. After combining with a \(3 \times T\) difference matrix as in Example 5, which exists because T is odd, we have a perfect \((S\times W\times T,\,3,\,1)\)-AMOPPC by Corollary 2.

This completes the proof of Theorem 13. \(\square \)