1. Introduction
The main parameters used to measure performance of Optical code division multiple access (OCDMA) system are available bandwidth, signal-to-noise ratio (SNR), and the cross-correlation between coded signature sequences [
1]. Major development in the optical access technology can assure increased bandwidth and improved data rates with higher numbers of supported users [
2]. In OCDMA, a number of coding methods are available: frequency hopping [
3,
4], time spreading [
5,
6,
7], spectral polarization [
8], spatial and spectral amplitude coding (SAC) [
8]. In all of these, SAC has gotten more attention in recent years as codes with fixed in phase cross-correlation (IPCCs) and zero cross-correlation (ZCC) properties are used. Such codes with efficient detection schemes can effectively suppress the multiple user interference (MUI) among codes [
9].
Wavelengths based on user data can be chosen using low cost fiber Bragg grating (FBG) filters for encoding purposes in case of SAC based OCDMA system. Additionally, incoherent optical sources such as white light LEDs make its implementation low-cost when compared to existing data encoding techniques [
10]. However, 1D codes used in SAC systems have some drawbacks such as large code length resulting in complex code construction and restrained code cardinality and bandwidth. This limits its scope only for short distance communication, specifically for fiber to the home (FTTH) and local area network (LAN) applications [
11,
12]. Sun and Yang [
13] presented 2D optical orthogonal codes (OOC), with increased cardinality and good auto and cross-correlation properties for OCDMA systems.
In particular, 1 dimension (1D), 2 dimensions (2D), and 3 dimensions (3D) are the coding dimensions in OCMDA schemes [
14]. 1D codes are bandwidth inefficient due to their large code length because they are governed by optical broadband source (BBS) which also limits the number of supported users [
15]. The code length is inversely proportional to the number of users, therefore, fewer users can be accommodated. In addition, to efficiently encode the optical spectrum, noncoherent optical sources with relatively high chip width and FBGs are used resulting in a large bandwidth. Conventional SAC-OCDMA systems using 1D codes limit the suppression of intensity noise (IN). Therefore, a coding scheme with optimal length and ideal cross correlation code properties is desirable because it can provide enhanced system capacity in terms of data rate and code cardinality. For these reasons, 2D codes have been proposed and designed by combining two different dimensions of CDMA.
2D codes with dimensions (spectral/time, spectral/spatial, and time/spatial) lead to efficient bandwidth utilization with better performance in terms of increased users due to spectral density expansion at the cost of high-speed electronic devices [
16]. Moreover, 2D coding techniques, especially based on wavelength/time (W/T) and spectral/spatial S/S, result in higher transmission capability and more flexibility as compared to 1D and 2D time/spatial (T/S) coding approaches [
17]. Further, reported 2D codes can be divided into two types: conversion of 1D sequences to 2D codes [
17] and hybrid sequences in which one type of code sequence is crossed with another in order to increase the cardinality as well as to improve correlation properties [
18,
19]. Thus, as a trade-off among different performance characteristics, different coding approaches being studied can be used for specific applications. Kandauci et al. [
18] presented construction of 2D W/T hybrid code (optical complementary code and balanced incomplete block design (BIBD) zero cross-correlation codes) which is constructed using BIBD design. The proposed code showed ZCC properties and results indicated an increase in the number of supported users. For SAC based OCDMA systems, novel 2D hybrid code is introduced, and performance is compared with existing 2D M-matrices code in [
19].
Previous studies show that 2D code families constructed using prime numbers show MAI effects due to shorter temporal length and larger correlation. In the OCDMA environment, 2D-BIBD codes performed better than 2D extended set prime code families due to their easy code construction, optimum temporal length, quantity of users, and good auto and cross-correlation properties [
20]. For example, Djebbari et al. [
21] presented a new 1D-BIBD code construction based on zero cross-correlation code (ZCC) properties. The ZCC (
C,
w) code is a family of binary sequences of constant Hamming-weight
w and length
C. The presented ZCC codes have a size of
, where
C refers to any prime number and
N is the number of users. The proposed code construction method is easier compared to the existing ones. These codes are further implemented in a SAC-OCDMA system environment.
Previously, 1D codes showed limited system performance in terms of code cardinality due to the restricted bandwidth of the source. However, 2D spectral/spatial (S/S) codes were able to solve this problem by extending the number of coded sequences in the spatial domain in which every frequency component is divided according to the spatial code of a particular user. So far, to the best of our knowledge, the 2D-BIBD code based on the spectral spatial approach along with conversion of 1D-BIBD to 2D-BIBD and its implementation in SAC environment is not reported in literature.
Further, Yang et al. [
22] proposed a 2D maximal area matrices code (2D MM) constructed from a 1D matrices code family. The system performance was not significant due to high MAI among user codes. Similarly, Kadhim et al. [
23] showed that the 2D multidiagonal (MD) code can be derived from 1D MD code using ZCC code properties. Abdullah et al. [
24] showed that the 2D modified double weight code (MDW) can be derived from 1D MDW using an S/S coding approach.
In another study, 2D spectral/spatial diluted perfect difference (DPD) code showed interference cancellation properties as well as PIIN noise suppression abilities due to its design dependence on perfect difference set and dilution approach [
25]. Moreover, Najjar et al. [
26] discussed the construction of a 2D diagonal eigenvalue unity (DEU) code using an S/S coding approach with minimum cross-correlation and observed that the cardinality was increased when compared to existing 2D-DPD and 1D DEU codes. The advantage of BIBD is that their code families exist for prime and nonprime code weight values. Moreover, they can be designed for any code length (
L), code weight (
w), and cross-correlation (
). Therefore, this study’s objective was to design and develop a novel 2D-BIBD code using a spectral/spatial coding approach, which can support a higher number of users in the OCDMA environment.
The proposed code is constructed using a 1D balanced incomplete block design (BIBD) technique. It is designed and implemented for spectral amplitude coding (SAC) based OCDMA networks and constructed using a 1D-BIBD code matrix. This matrix includes the estimation of the weight values and the number of users, which corresponds to code length. Due to its effective code design approach, the proposed code family yields large cardinality with optimal code length. Further, initial blocks are derived based on primitive elements, and by modulo addition of initial blocks, remaining blocks in the design are obtained. Next, the 1D code matrix is transformed into a 2D code using the cyclic shifting of the 1D-BIBD code set matrix. The 2D-BIBD code development algorithm is presented along with the 2D-BIBD code-based SAC OCDMA. The system performance is analyzed using Gaussian approximation in the presence of various noise sources.
We derived BER performance expressions using Gaussian approximations considering the effects of PIIN, shot, and thermal noises. 2D-BIBD code performance is compared with existing 2D-DPD and 2D-DEU codes. Simulations are carried out by setting different fiber related parameters and activating wavelength-dependent nonlinear effects such as cross-phase modulation, four-wave mixing, and self-phase modulation at different data rates. We expected that the proposed code could provide better cross-correlation properties with increased cardinality. A simple code construction method and a low-cost receiver architecture compared to existing 2D OCDMA codes were introduced within the proposed model.
The contributions of this paper are the following:
Design of novel 2D-BIBD code.
Analytical and simulation validation of the 2D-BIBD numerical model.
Accommodation of many active users with a high bit rate.
2. 2D-BIBD Code for SAC–OCDMA Systems
The construction of a 1D-BIBD code is based on a combinatorial theory that uses cyclic shift method and Galois field for code construction. A BIBD code is represented as (), where L stands for code length or total time chips in a code-word, represents the weight of the code (i.e., time chips having value 1), the autocorrelation value, and is the maximum cross-correlation value.
The fundamental equation which governs the BIBD code is given in Equations (1) and (2) [
13].
B represents the total number of blocks and K is the number of elements in one block, which is equal to the weight of the code (w). V is the number of terms that correspond to code temporal length (L), R is the replication of each entry, is the cross-correlation () among signature sequences in a code family.
The design of a 1D-BIBD code consists of two steps: the first step is to design the initial blocks, followed by modulo addition of the initial blocks to get all of the other blocks in a design that is used to reach the second step.
For a code family of
maximum number of users, the length of code
L is given as
where,
w refers to the code weight, and
represents the maximum number of users in the code family or cardinality.
Therefore, the initial blocks for the BIBD code is given as
Here denotes the primitive element of GF(L).
2.1. Construction of BIBD Code Families
The 2D-BIBD code construction is based on a 1D-BIBD code. A 1D-BIBD has a simple code structure, which is illustrated in the following steps.
2.1.1. 1D-BIBD Code Construction
As mentioned above, the code sequences of the BIBD code family are represented as
. This construction gives the optimal code cardinality i.e.,
For example, when and , . This means that the number of users is limited to 2 (i.e., ), and a total of 26 codewords can be generated.
The primitive element for GF(13) is 2. Therefore, the initial blocks for the codes are given as (,), which corresponds to coded sequences (1, 3, 9) and (2, 6, 5). Using these two codes sets, different users can be assigned, such as the first user (C1 = 1010000010000) and the second user (C2 = 0100110000000). Further, a total of 26 BIBD codewords can be designed by rotating C1 and C2 either left or right.
Table 1 illustrates an example of the code sequence based on two different 1D-BIBD code families. First, 1D-BIBD code is represented by
(
and
), and the second 1D-BIBD code is represented by
(
and
), each having a code length 19 and 13, respectively. Further, a total of 57 and 26 code sequences (i.e., number of users are 57 and 26) can be generated by a cyclic shifting approach.
2.1.2. Proposed 2D Spectral/Spatial BIBD Code
In order for the users to cause minimal interference to other codes, the auto and cross-correlation values must be small so that there will be fewer overlapping chips in the SAC OCDMA system. Optimal OOC codes based on the BIBD construction should have minimum cross-correlation and maximum off-peak auto-correlation.
A cyclic shifting approach can obtain 1D-BIBD code sequences. Further, 2D-BIBD codes are extended or converted from the 1D-BIBD, constructed by using two different code-sets of a 1D-BIBD code family based on previously developed 2D spectral/spatial coding approaches [
25]. In addition, 2D-BIBD code sets are entitled by unitary matrices.
To convert 1D-BIBD into 2D-BIBD, we consider following two 1D code sequences: with , ] and with w2 = 3], respectively, where and are the code lengths which are 19 and 13 for the and code sequences, respectively, and w is the code weight ().
The resulting 2D-BIBD code can be expressed as:
where,
and
are the
and
code sequences of the spectral (
) and spatial (
) code sequence, respectively, whereas
and
.
The resulting code size of the 2D-BIBD code is , where and are the code sizes (number of code matrices/users per code sequence).
An example of a 2D-BIBD code development using two 1D-BIBD code sequences, belonging to two different code families is illustrated in
Table 2.
, and
will be the resulting three blocks of the 2D-BIBD code matrix and
and
will be the resulting two other block codes.
Table 2 states the allocation of wavelengths and optical couplers (CP) for six users (
) using
=
100000
1000
100000000,
=0
110000000000
100000,
= 000
10
100
10000000000 and
=
10
100000
10000,
= 0
100
110000000, respectively.
The construction process of the proposed code is shown as Algorithm 1. The BIBD coding algorithm is derived using two BIBD blocks. The BIBD algorithm has four specified inputs: , and the set numbers of Wi, while the output of the algorithm is the generated codes for users. The proposed design of the 2D-BIBD coding technique includes six steps to determine the codes:
Determining the total code length (line 1–line 2). The proposed 2D-BIBD codes can support a total of × users with code length of × . For example, when (w1,) = (3,3), = resulting in 19 as the code length for the spectral dimension, likewise for .
Selecting two prime numbers over GF() (line 3–line 4). and denote the primitive elements of GF() and GF(), respectively. For GF(), is selected as a prime number for the spectral dimension.
Generating the first spectral and spatial BIBD blocks (C1 and C2) by using Equation (5) (line 5–line 13). For () = (2,19), the first selected 1D-BIBD block C1 = ( resulting in (1, 14, 3) which represents the positions of 1s. Likewise for the spatial dimension.
Generating the matrix for the BIBD spectral codes (line 15–line 18). The 1D-BIBD spectral codes are represented by a set of sequence designed by rotating right C1 by 1. When C1 is represented by (1, 3, 14), the generated code for the second user becomes (2, 4, 15).
Generating the matrix for the BIBD spatial codes (line 20–line 23). The 1D-BIBD spatial codes are represented by a set of sequences designed by rotating right C2 by 1. When C2 is represented by (2, 5, 6),
the generated code for the second user becomes (3, 6, 7).
Resulting 2D-BIBD codes are designed by using Equation (6) (line 25–line 26).
Algorithm 1. Proposed 2D-BIBD Spectral/Spatial code for OCDMA systems. |
//number of served users represents weight of spectral and special generated codes // is matrix CODE 1. // represents spectral code sequence length 2. // represents spatial code sequence length 3. 4. 5. matrix spectral codes 6. matrix spatial codes 7. BIBD blocks generation 8. 9. 10. loop 10.1. 11. End for 12. loop 12.1. ) − 1)=1; 13. End for 14. BIBD spectral codes generation 15. loop 16. 17. ; 18. End for 19. BIBD spatial codes generation 20. loop 21. 22. ; 23. End for 24. 2D-BIBD codes generation 25. loop 25.1. For h = loop 25.1.1. 25.2. End for 26. End for 27. Return |
2.2. 2D-BIBD Code Properties
Four characteristic matrices were introduced to design the transmitter and receiver module through
C(d), where
. They will be used to evaluate the cross-correlation characteristics of the 2D-BIBD code.
where
and
are the complementary of
and
. The 2D-BIBD code
is represented by set of elements
where
and j
.
The cross-correlation for 2D-BIBD coding technique between
and
is represented as:
where
and
are the (
i,
j)
th elements of
C(d) and
Cg,h, respectively.
Based on Equations (7) and (8), 2D-BIBD codes cross-correlation values are listed in
Table 3.
We identified that R
(1)(
g,h), and R
(3)(
g,h) values showed no role in constructing the new correlation function, which resulted in an easier MUI cancellation process. Therefore, a new cross-correlation function can be represented as follows (
Table 3):
3. 2D-BIBD System Description
3.1. Structure of 2D-BIBD System
The transmitter and receiver modules
of the 2D-BIBD system encompasse several encoder and decoder arrangements. For a single user, each transmitter modules is formed by the combination of a light-emitting diode (LED), a Mach–Zehnder Modulator (MZM) and uniform fiber Bragg gratings (FBGs) filters. A LED, with a broad optical spectrum, is used to provide the required optical spectrum for the encoding operation. The spectrum from the LED is modulated with the help of a MZM as per the binary data generated by the pseudo-random bit sequence (PRBS) source, also referred to as an ON-OFF keying scheme. The MZM modulator converts the electrical signals into optical pulses and delivers them to the FBGs based encoder [
14,
22].
Before discussing the structures for the transmitter and receiver modules in detail, it is important to discuss the encoder and decoder design to facilitate the understanding of the proposed 2D-BIBD OCMDA based architecture. The encoder arrangement converts the binary 1s into spectral and spatial representations for every user based on the
Xth and
Yth code sequences of the 2D-BIBD code. The encoder module contains two functions: (i) spectral encoding and (ii) spatial encoding. The arrangement of the FBG filters, as shown in
Figure 1, is used to perform the spatial encoding of impulses as per the
part of the coding scheme. A tree coupler with optical splitters is used to perform the decoding operation. Split parts of the spectrally encoded spectrum are forwarded to the respective star coupler input ports.
The decoder function is used to recuperate the required encoded spectrum with determined auto- and cross-correlation values. The decoder arrangement includes two operations: (i) spatial decoding and (ii) spectral decoding. The spatial decoder is made up of couplers and optical splitters in reverse order to that of the spatial encoder. Each port of the coupler corresponds to the respective spectral decoder, optical combiners, and two balanced detectors (BD1 and BD2).
The receiver module is designed using a double-balanced detection technique, and it produces successive codewords using the required spectrum. This technique also suppresses MAI, generated from different spectral code sequences due to the balanced photodiode configuration [
14,
23]. The system consists of multiple transmitter and receiver sections (
), and each pair uses the
2D-BIBD code sequence.
3.2. Construction of 2D-BIBD Transmitter Architecture
The transmitter module employs a combination of FBG filters and optical splitters with
optical switches to perform the required spectral-spatial encoding operation. For a single user, a LED is used to generate the required spectrum for encoding and transmission of binary data over the optical medium. The end-face of the LED is connected to a MZM, which uses on-off keying (OOK) to modulate the user’s binary data sequence with the LED spectrum (
Figure 1). The output of the MZM is fed to a special arrangement of FBG filters that encodes the modulated spectrum in the spectral domain.
Figure 1 shows a combination of two filters, FBG#1 and FBG#2, an optical splitter, and
star couplers for user 1, to allow the spectrum in accordance with the
coding scheme of the proposed code.
In the process of spectral encoding, optical pulses are initially delivered to FBG#1, which is used to reflect the spectral components according to the position of 1s in the coding scheme. The rest of the spectrum is filtered out by FBG#1. The round trip delays of the matched spectral components are different as the matched spectral components are reflected by different gratings. To compensate for the delay, FBG#2 is used.
This process introduces the spectral encoding to the 1D-BIBD code. FBG#1 and FBG#2 have the same grating characteristics. However, the FBG#1 grating structure is made in the reverse order to that of the FBG#2 to avoid time spreading.
The FBG#2 reflected pulses are sent to an optical splitter that is used to perform a spatial encoding operation and produces the intended 2D-BIBD code sets. In spatial encoding, the optical splitter equally divides each matched spectral component power into portions due to the code weight of the spatial code pattern. Finally, according to the spatial code pattern these split portions of the encoded spectrum are further sent to M2 star couplers, which correspond to the 1s of the spatial code pattern, through optical switches.
3.3. Construction of 2D-BIBD Receiver Architecture
The receiver module of 2D-BIBD OCDMA system consists of multiple star couplers, optical combiners, two balanced detectors followed by a low-pass Bessel filter section, an optical adder, and an integrator to implement the desired decision (
Figure 2). Further, each balanced detector section is composed of two photodiodes (PD0-PD2 and PD1-PD3) connected in a balanced mode. Spatial decoding is performed by the combination of
optical switches and two optical power combiners. FBG filters are used for the spectral decoding operation. Additonnally, the optical combiner combines the optical signals obtained by the star couplers i.e., it connects consistent star couplers with a balanced detector. The selection of the star coupler depends on the location of binary 1s in the
Yth code sequence.
Upper and lower optical combiners receive and combine the signals from the multiple star couplers. The optical combiner at the upper side combines the star couplers’ signals, which are matched to the spatial code pattern (1s of the spatial code pattern). Whereas, the lower optical combiner is used to receive and mix the signals from the consistent star couplers, which are further matched to the complementary spatial code pattern (1s of the spatial code pattern).
There are four sets of FBGs, two attenuators, two PIN diodes, and four circulators. FBG#1 and FBG#8 have equal number of gratings. FBG#2 and FBG#4 which are structured according to the spectral code pattern , are used to extract the spectral components, which are matched with the 1s of the .
FBG#1 and FBG#3 have the same number of gratings as FBG#2 and FBG#4. The configurations of FBG#2 and FBG#4 are set totally reverse to that of FBG#1 and FBG#3 to compensate for the round-trip delay. In the same way, FBG#6 and FBG#8 are constructed consistent with the complementary spectral code sequence
. Their combination is used to extract the spectral components, which correspond to the “1s” of the additional spectral code sequence
. (FBG#5 and FBG#7) and (FBG#6 and FBG#8) have the same gratings, except that the arrangements are totally reverse to compensate for the round-trip delays of signals [
9,
16].
Both balanced detectors operations are similar except for the attenuation values. In this case, the spectral components which are matched with FBG#2 are transmitted to FBG#1 and a delay line. The function of the delay line is to compensate for the delay caused by FBG#5 and FBG#6. After this, optical pulses are sent to photo diode PD0. In the same way, the spectral components matched with FBG#6 are further sent to FBG#5 and an optical attenuator (value set to ) which is derived from the SNR expression analysis of the proposed 2D-BIBD code. Next, optical pulses are sent to PD2.
In the BD2 operation, the spectral components matched to FBG#4 are sent to FBG#3, through an attenuator and a delay line, which compensates for the delay caused by FBG#8 and FBG#7. In this case, the attenuator value is set to . The optical pulses are sent to PD1. Similarly, spectral components which are matched to FBG#8 are further sent to FBG#7 and an optical attenuator (value set to ).
During the whole process, only those signal components which are matched to the spatial and spectral code patterns of the receiver reach PD0. Spectrally decoded data has been converted into electrical output using PD0 and PD2. These two output currents are combined and passed to the integrator and the low pass filtering operation. The difference in outputs of PD0 and PD2 and PD1 and PD3 are and , respectively, and provide complete elimination of multiuser interference (Equation (9)).
4. 2D-BIBD System Performance Analysis
The Gaussian approximation is applied to evaluate the 2D-BIBD code performance of the SAC based OCDMA system. PIIN shot noise and thermal noise were considered in our analysis. We performed the study by referring to BER and with the help of varying different performance parameters such as received power, the number of users, etc. To measure the required signal to noise ratio (SNR), the photocurrent noise can be represented as:
where,
,
, and
represent shot noise, phase induced intensity, and thermal noise originated at the receiving end, respectively. Therefore, Equation (10) can be rewritten as:
where,
and
represent the average of total photocurrents, respectively.
and
represent the coherence time of incident light on the photodiode and the receiver electrical bandwidth, respectively. Further
,
,
, and
represent Boltzmann’s constant, the load resistance, the absolute temperature, and the electron’s charge, respectively. Here,
can be written as
where
denotes the single sideband source power spectral density (PSD) for the receiving end’s optical signals. Thus, PSD can be represented as:
where
represents the effective transmitter power at the photodiode.
and
are the code weights of the 2D-BIBD code, and
K is the number of simultaneous users. The user data bit is denoted by
.
and
, respectively, represent lengths of the spatial and spectral codes.
denotes the
user element code word.
is defined as follows:
where
shows the unit step function and is expressed as:
Optical signals PSDs at PDs 0-1 at the receiving end can be obtained using the cross-correlation between
and
. This can be expressed as:
For worst-case analysis, the first step is to set = 1 and output currents ( obtained using and . This can be expressed as follows.
Second photodiode (PD
1):
where,
represents the photodiode responsivity, which is the gain of the input-output detector
Here, , , and represent the quantum efficiency, electron charge, central frequency of the original broadband optical pulse, and Planck’s constant, respectively.
The expression for the average received photocurrents () is calculated as follows.
PIIN current variance is expressed as
Incident power on photodiodes
was derived from Equations (18) and (19). This can be written as:
The following section explains the single-sideband PSD from source multiplications. For PD
0 and PD
1 of the receiver.
We obtain the variance of the PIIN current after substituting Equations (24)–(26) in the Equation (22)
which is as follows:
For every user, “1” and “0” are transmitted with the same probability. Thus, Equation (27) can be rewritten as follows:
The shot noise current variance is expressed as:
The thermal noise is given as:
Therefore, the
of the 2D-BIBD based OCDMA system can be expressed as:
The Gaussian approximation was used to derive the
BER from the
SNR using the following equation:
where,
.