# Fault Tolerant Spectral/Spatial Optical Code Division Multiple Access Passive Optical Network
## 2 Proposed Architecture
The existence of zero cross-correlation between all codes of the matrix facilitates the use of the spectral direct detection (SDD) technique, which is known to yield efficient performance in comparison with the existing counterparts by completely eliminating MAI and associated PINN. Figure 3 demonstrates the architecture of the transmitter section for the proposed 2D DW-ZCC OCDMA-based PON with ring topology. The given architecture is designed for \(M\times N\) subscribers (for demonstration purposes). Here, \(M=N=2\) represents the \(X^{th}\) and \(Y^{th}\) code sequences shown in Table 1. Four broadband laser diodes (LDs), having wavelengths of \(\lambda_{1}\), \(\lambda_{2}\), \(\lambda_{3}\), and \(\lambda_{4}\), are utilized to construct the given architecture. The output of each LD is equally split into two parts using a 1:2 power splitter. LDs provide the required broadband spectrum for carrying the electrical signals over the optical fiber media. Furthermore, the output of the LDs is encoded with the help of the spectral encoder in order to translate the binary 1s and 0s in the \(X^{\text{th}}\) code sequence to their required representation in the spectral domain. Now, for the subscriber \(S_{0,0}\), utilizing the spectral code sequence \(X_{0}=[1\;1\;0\;0]\), the outputs from LD 1 and LD 2 having wavelengths of \(\lambda_{1}\) and \(\lambda_{2}\) are fed to a 2:1 power coupler (\(CP_{SE}\)). Here, CP is used to represent the power coupler, and the subscript SE is used to specify the spectral encoding operation. Thus, \(\text{CP}_{\text{SE}}\) is a spectral encoder that uses the power combiner to encode the intended spectrum from the binary into the spectral domain as per the \(X^{\text{th}}\) code sequence. The end-face of the PC is fed to a Mach-Zehnder modulator (MZM), as shown in Figure 3. The MZM performs the required electrical-to-optical modulation through an on-off keying (OOK) operation. The OOK operation involves the conversion of user data from the electrical to optical domain by combining it with the encoded spectrum of \(\lambda_{1}\) and \(\lambda_{2}\). The next phase of the encoding process includes spatial encoding that is performed by splitting the incoming spectrally encoded signals from the MZM into multiple parallel paths of \(w=2\) using a 1:2 power coupler (\(CP_{SLE_{1}}\)). Here, CP represents the power coupling operation, whereas the subscript SLE is used to specify the spatial encoding operation. Figure 3: Transmitter section for optimized 2D DW-ZCC-based OCDMA architecture. The spatial encoding, unlike the conventional spectral-spatial OCDMA system, consists of two steps. The first step of the encoding process is represented with the subscript SLE\({}_{1}\), followed by the second step components represented with SLE\({}_{2}\), respectively. For the first stage of the spatial encoding, the end-face of the MZM is fed to a 1:2 splitter, which is used to split the incoming signal into equal portions, respectively. The splitting ratio of the \(CP_{SLE_{1}}\) is defined by the weight of the \(Y^{th}\) code sequence. The splitting operation performed by CP\({}_{SLE_{1}}\) essentially splits the spectrally encoded signal into multiple parallel paths as per the requirement of the spatial encoding operation. The next step of the spatial encoding process involves the combination of the encoding signals from the output ports of the 1:2 \(CP_{SLE_{1}}\) to their corresponding power combiners implemented by using a 2:1 power coupler \(\left(CP_{SLE_{2}}\right)\). Here, \(SLE_{2}\) is used to implement the second phase of the spatial encoding process. \(CP_{SLE_{2}}\) is used to collect the multiple parallel paths coming out of \(CP_{SLE_{1}}\) and combine them in order to overcome the problem associated with long-span optical fiber paths in the conventional spectral-spatial OCDMA systems. The choice of the \(CP_{SLE_{2}}\) is determined by the placement of binary 1s on the \(Y^{th}\) code sequence.