Open Collections

UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Optical Code Division Multiplexing for sub-wavelength switching systems Khattab, Tamer 2007

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Notice for Google Chrome users:
If you are having trouble viewing or searching the PDF with Google Chrome, please download it here instead.

Item Metadata

Download

Media
831-ubc_2007-267370.pdf [ 10.91MB ]
Metadata
JSON: 831-1.0100524.json
JSON-LD: 831-1.0100524-ld.json
RDF/XML (Pretty): 831-1.0100524-rdf.xml
RDF/JSON: 831-1.0100524-rdf.json
Turtle: 831-1.0100524-turtle.txt
N-Triples: 831-1.0100524-rdf-ntriples.txt
Original Record: 831-1.0100524-source.json
Full Text
831-1.0100524-fulltext.txt
Citation
831-1.0100524.ris

Full Text

Optical Code Division Multiplexing for  Sub-Wavelength Switching Systems by Tamer Khattab B.Sc., Cairo University, 1993 M.Sc., Cairo University, 2000 A THESIS SUBMITTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPY in THE FACULTY OF GRADUATE STUDIES (Electrical and Computer Engineering) THE UNIVERSITY OF BRITISH COLUMBIA April, 2007 © Tamer Khattab, 2007 Abstract Optical Code Division Multiplexing (OCDMA) is a method used to enable simultaneous transmission of  multiple optical data flows  over the same fiber  using the same wavelength. In OCDMA, isolation between different  data flows  is achieved using a set of  uncorrelated, or loosely correlated, spreading codes to encode the transmitted signal and decode it at the receiver side. The process of  encoding and decoding is performed  entirely in the optical domain without the need for  optical-to-electrical-to-optical conversion. This increases the.granularity of  traffic  isolation in the optical domain while maintaining higher speed switching because of  the all-optical encoding/decoding capability. Although code division multiplexing is a well established technique in wireless transmission where all processing of  data and switching are performed  electronically, there are many challenges in applying this scheme in the optical domain mainly due to the different  characteristics of  the medium and the fact  that negative-valued signals are not easy to produce. This thesis has three main objectives: to deploy OCDMA as a switching mechanism at the sub-wavelength level in order to increase the granularity of  traffic  isolation in all-optical core switching, to design new mechanisms that enhance the performance  of OCDMA as a multiplexing method over long-haul optical fiber  transmissions, and to model the performance  of  OCDMA based switching and multiplexing mechanisms. All-optical switching at the core of  the network provides very high speed switching. However, it suffers  from  low utilization or lack of  quality of  service guarantees due to lack of  fine  granularity traffic  isolation. This thesis presents an optical network architecture called Optical Code Labeled Generalized Multi-Protocol Label Switching (OC-GMPLS), which utilizes OCDMA as a switching mechanism in backbone GMPLS networks. OC-GMPLS uses OCDMA as an all-optical labeling space in GMPLS switching in order to achieve finer  granularity switching at the all-optical network core. The deployment of  OC-GMPLS networks mandates performance  modeling to show its advantages and to enable tuning of  the new network parameters so that performance can be optimized. In this thesis we present an analytical model for  the throughput and switching capacity of  OC-GMPLS networks. Using our model, we show how to find optimal operating points for  OC-GMPLS networks based on physical layer and network layer parameters. The performance  of  OC-GMPLS networks depends on the performance  of  OCDMA transmission, which is affected  by the modulation method and the optical spreading codes properties. In order to enhance the performance  of  OC-GMPLS networks, we take two different  approaches. The first  approach is based on proposing a modulation mechanism that enhances the communication reliability while maintaining low bit error rate for OCDMA transmissions. Our Chip-Level Modulated Binary Pulse Position Modulation (CLM-BPPM) scheme provides a simple to implement (in the all-optical domain) yet a very powerful  physical layer method for  sending multiple optical flows  using OCDMA while maintaining the Bit Error Rate (BER) due to Multiple Access Interference  (MAI) effects  between these flows  at a low level of  about 10~12 for  10 simultaneous users. Our method provides a better capability in terms of  clock recovery and user activity detection while achieving error rates in the range of  those provided by On-Off  Keying (OOK). Performance  of  OCDMA transmission depends to a great extent on the efficiency  of the codes used to perform  the multiplexing. In order to tackle this side, we investigate the problem of  Optical Orthogonal Code (OOC) design by proposing a method called Rejected Delays Reuse (RDR) for  constructing OOCs using an element-by-element based greedy algorithm. We show that our method provides a computationally less complex algorithm for  designing OOCs, which makes it more practical. Our analysis and simula-tion results show that OOCs designed using the RDR greedy method are also higher in multiplexing efficiency  than OOCs designed using classical element-by-element construc-tions. This is because RDR designed OOCs possesses smaller code lengths for  the same code cardinality and weight than their counterpart classical element-by-element greedy designed codes. Contents Abstract ii Contents v List of  Figures x ) List of  Abbreviations xiii Acknowledgements xvi Dedication xix 1 Introduction 1 1.1 Motivation 1 1.2 Basic Concepts 3 1.2.1 Photonic Networks 3 1.2.2 Generalized Multi-Protocol Label Switching 7 1.3 The Thesis 8 1.3.1 . Objectives 8 1.3.2 Contributions 9 1.3.3 Road Map 11 2 Overview of  Fiber-Optic CDMA 13 2.1 Introduction 14 2.2 OCDMA Digital Modulation Methods 15 2.2.1 ON-OFF Keying (OOK) OCDMA 16 2.2.2 Pulse Position Modulation (PPM) OCDMA 17 2.3 OCDMA Spreading Methods 18 2.3.1 Time Spreading 18 2.3.2 Spectral Spreading 19 2.3.3 Hybrid Wavelength-Time Spreading 20 2.4 Optical Spreading Codes (OSC) 21 2.4.1 Optical Prime Codes 21 2.4.2 Optical Orthogonal Codes 22 2.5 OCDMA Decoding Methods 23 2.5.1 Correlation Detection 23 2.5.2 Chip-Level Detection 23 2.6 Encoding/Decoding of  Time Spread OCDMA 24 2.7 Concluding Remarks 31 3 OC-GMPLS Core Sub-Wavelength Switching Architecture 33 3.1 Introduction 34 3.2 Code Switch Capable (CSC) Layer 35 3.3 End-to-End Network Architecture 39 3.4 Core Switch Architecture 41 3.5 Edge Switch Architecture 44 3.6 Switching Capacity and Label Space Expansion Ratio 46 3.7 Numerical Results 52 3.8 Concluding Remarks 57 4 Throughput Analysis for  OC-GMPLS Core Switching 59 4.1 Introduction 60 4.2 OC-GMPLS Physical Layer 61 4.3 Bit Error Rate for  OOK OCDMA 63 4.4 Core Switch Throughput 69 4.4.1 Pure DWDM System Throughput . . . 70 4.4.2 OCDMA System Throughput 71 4.5 Numerical Results 72 4.6 Concluding Remarks 89 5 Chip-Level Modulated BPPM Fiber-Optic CDMA 91 5.1 Introduction 92 5.2 Proposed Chip-Level Modulated BPPM (CLM-BPPM) 94 5.2.1 Modulation Method 94 5.2.2 Transceiver Architecture 97 5.2.3 Detection Methods 99 5.2.4 Chip Conflict  Resolution Methods 102 5.3 MAI Channel Model 103 5.4 Performance  Analysis 106 5.4.1 BER Mathematical Analysis Framework 108 5.4.2 BER for  Absolutely Timed Detection with'1'-Value First . . . . 115 5.4.3 Optimal Choice of  Parameters 118 5.5 Numerical Results 119 5.6 Concluding Remarks 130 6 OOC Construction Using Rejected Delays Reuse 133 6.1 Introduction 134 6.2 Definitions  and Mathematical Preliminaries 135 6.3 Classical Element-by-Element Greedy Method for  Constructing OOCs . . 142 6.4 Proposed Greedy Algorithm with Rejected Delays Reuse (RDR) 147 6.5 Sub-Wavelength Switching Capacity and Code Efficiency  Analysis . . . . 152 6.6 Numerical Results 156 6.7 Concluding Remarks 160 7 Conclusions and Future Research 161 7.1 Summary 161 7.2 Major Contributions 164 7.3 Future Work 165 Bibliography 169 A Proof  of  pr < 1 in Equation 4.1 183 B Derivation of  Equation 5.28 185 C Asymptotic Computation Time for  the RDR Algorithm 188 List of  Figures 2.1 High level architecture of  an OCDMA transmission system 15 2.2 Spectral amplitude spreading using diffraction  grating 19 2.3 Spectral wavelength scramble spreading using arrays of  FBGs 20 2.4 Encoding and decoding of  time spread fiber  optic OCDMA signals. . . . 26 3.1 Label mapping layers in OC-GMPLS 37 3.2 OC-GMPLS network architecture and end-to-end operation 39 3.3 Architecture of  OC-GMPLS sub-wavelength core switch 42 3.4 Architecture of  OC-GMPLS sub-wavelength edge switch 45 3.5 Operational regions and load lines for  OCDMA systems 54 3.6 Finding the optimum label space expansion ratio for  code length = 901. . 54 3.7 Optimum label space expansion ratio 55 3.8 3-D plot for  number of  orthogonal codes 55 3.9 3-D plot for  number of  orthogonal codes in error free  region 56 4.1 Encoding and decoding of  optical code labels 61 4.2 3-D plot of  BER of  OOK OCDMA system 77 4.3 BER operational regions for  OOK OCDMA transmission (X = 1024 bits). 78 4.4 3-D plot of  optimum BER 79 4.5 Throughput of  single wavelength OCDMA vs. DWDM system 80 4.6 3-D plot of  OC-GPMLS core switch throughput 81 4.7 Effect  of  the no. of  sub-wavelength flows  on throughput 82 4.8 Effect  of  code weight on the throughput of  OC-GMPLS core switching. . 83 4.9 3-D plot of  throughput with code length at optimum BER 84 4.10 3-D plot of  throughput with packet length at optimum BER 85 4.11 Max. throughput trajectory against no. of  flows  86 4.12 Max. throughput trajectory against code weight 87 4.13 3-D trajectories of  max. throughput 88 5.1 CLM-BPPM modulation method 96 5.2 CLM-BPPM OCDMA transceiver architecture. . . 98 5.3 Illustration of  different  detection methods 98 5.4 Illustration of  different  chip conflict  resolution methods 101 5.5 General CLM-BPPM OCDMA channel model 104 5.6 Ideal CLM-BPPM OCDMA channel model 106 5.7 Comparison of  BER from  mathematical analysis and simulation 122 5.8 Effect  of  changing code length on BER 123 5.9 Effect  of  increasing number of  users on BER 124 5.10 Effect  of  changing code weight on BER 125 5.11 Effect  of  changing the optical threshold on BER (N u = 9) 126 5.12 Effect  of  increasing average user activity Pa on BER (k  = 7) 127 5.13 BER for  a system using OOC with optimum code length 128 5.14 Optimum code length as a function  of  code weight and number of  users. . 129 6.1 Examples of  OOC designs using RDR 152 6.2 Code expansion efficiency  factor  157 6.3 Code expansion efficiency  factor  under error free  conditions 158 6.4 Code length under error free  conditions 159 List of  Abbreviations AWG Arrayed Waveguide Grating BER Bit Error Rate BPPM Binary PPM CAT Containerization with Aggregation-Timeout CCAMP Common Control and Measurement Plane CDMA Code Division Multiple Access CLM-BPPM Chip-Level Modulated BPPM CoS Class of  Service CSC Code Switch Capable DB Data Burst DWDM Dense Wavelength Division Multiplexing E / 0 Electrical to Optical EDFA Erbium Doped Fiber Amplifier ELSR Edge LSR ETE End-to-End ExOCL Explicit Optical Code Labeling FBG Fiber Bragg Grating FEC(s) Forwarding Equivalence Class(es) FO-CDMA Fiber Optic CDMA FSC Fiber Switch Capable FSK Frequency Shift  Keying FTDL(s) Fiber Tapped Delay Line(s) GMPLS Generalized MPLS I/P Input IETF Internet Engineering Task Force ImOCL Implicit Optical Code Labeling IP Internet Protocol ITU International Telecommunication Union L2SC Layer 2 Switch Capable LED Light Emitting Diode LSC Lambda (Wavelength) Switch Capable LSP Label Switched Path LSR Label Switched Router LTI Linear Time Invariant MAI Multiple Access Interference MEMS Micro Electro Mechanical Systems MPLS Multi-Protocol Label Switching List of  Abbreviations l 0 / E Optical to Electrical 0 / P Output OBS Optical Burst Switching OC-GMPLS Optical Code Labeled GMPLS OCDMA Optical CDMA OCL Optical Code Label ODLC Optical Delay Lines Correlator OOC Optical Orthogonal Code OOK On-Off  Keying OPC Optical Prime Code OSC Optical Spreading Code OXC Optical Cross-Connect PPM Pulse Position Modulation PSC Packet Switch Capable PSK Phase Shift  Keying QoS Quality of  Service RDR Rejected Delays Reuse TSC Time-slot Switch Capable VPN Virtual Private Network WDM Wavelength Division Multiplexing Acknowledgements I start by stating that I am obediently thankful  to God, praise and glory be to him alone, for  his countless blessings and mercy. Without his guidance and mercy I can do nothing. I would like to express my deepest gratitude to my supervisor, Prof.  Hussein Al-nuweiri, for  his guidance, technical advice, invaluable feedback,  understanding, generous support, and friendship.  I have passed through many personal and difficult  circumstances during the period of  my Ph.D. program. Without Prof.  Alnuweiri's genuine kindness, I do not think you would be reading these words today. I am very grateful  to Prof.  Fayez Gebali, University of  Victoria for  the valuable time he dedicated for  me to discuss ideas on optical code designs. I would like to thank Prof.  Nicholas Jaeger for  teaching me the fundamentals  of optical devices and for  being always helpful  and supportive. I would like to express my greatest appreciation to my thesis committee for  their valuable comments, which enhanced the presentation of  this thesis. I would like to thank Professors  Will Evans, Nicholas Jaeger, Vikram Krishnamurthy, Robert Schober, Lutz Lampe, Samir Kallel, Zinovy Reichstein, and Vincent Wong for guiding me through the courses I attended with them. I would like to express my gratitude to my friend  Dr. Watheq El-Kharashi for  carefully reviewing my thesis. His valuable comments and suggestions have been very useful  in enhancing the presentation of  this thesis. I also would like to thank my friends  and colleagues Ayman Kaheel, Amr Mohamed, and Maged Elkashlan for  the collaborative work we had at the early years of  my program. I have been blessed to come in contact with many wonderful  people throughout my study period at UBC. This page would not be enough to mention all of  them, but, the least I can say to them is: thank you for  making my stay at UBC such a pleasant experience. Among the many friends  that I had during my study period, the following  friends  had the most positive effect  on my life:  A. Elharbi, A. Ismail, Abdelgader, Abdelhamid, Amr Mohamed, Amr Wassal, Anwar, Awad, Ayman, Hesham, Hossam, Ihab, Junaid, Khaled, M. Allam, M. Halfawy,  M. Rasheed, M. Rehan, M. Senousy, Maged, Mahmoud, Raef, Samer, Tariq, Uthman, Wajeeh, Watheq, Wael, and Yahia. Any words I say will not be enough to describe my feelings  toward my parents. I can only pray to God to reward them for  their constant support, persistent encouragement, and most of  all for  their unwavering and sincere love and care. I would like to express my love and deep appreciation to the person who stood beside me through all times, my wife  Abeer. She sacrificed  a lot to support me throughout our life  together. She was always there for  me with comforting  words, encouraging thoughts and a heart filled  with love and sincerity., I would like to extend my thanks to my sister Taghreed and my brother Hany, for being a source of  inspiration and prayers. I would like also to thank my parents-inlaw for  all their prayers, encouragement, and support. I would like to extend my thanks also to my brothers-inlaw and sisters-inlaw for  their prayers and encouragement. Last, but not least, I would like to thank my dear sons, Hossam and Ziad, for  making my life  full  of  joy and happiness even during the toughest times. Dedication To my beloved mother and father. "O'God bestow your blessings on them for  raising me." To my dearest wife  and lovely children. "O'God protect them." Chapter 1 Introduction In this chapter, we provide motivations for  the work done in this thesis as well as some basic concepts related to optical switching and optical code division multiple access meth-ods. We also provide a list of  the objectives that this thesis tries to achieve and the con-tributions made throughout the thesis to .meet these objectives. The chapter concludes by a section that describes the flow  of  the thesis with a briefing  of  the work done in each chapter. 1.1 Motivation As the demand for  higher bandwidth keeps on increasing from  year to year, it is widely accepted that the network backbone needs to be implemented in all-optical switching to accommodate the tremendous bandwidth requirements [1]. Currently, many carriers have already deployed optical fiber  cables over most of  their backbone networks to allow for  higher data rate transmission. However, the new bottleneck for  all-optical service-provider backbones will be due to the slower  electronic switching in the optical network routers and switches. The use of  electrical devices in optical networks requires performing optical-to-electrical and electrical-to-optical conversions of  packet data at the input and output ports of  the routing/switching device, respectively. The conversion to electrical signal is required to allow electronic processing of  packet data to extract its switching and routing information.  Removing the electronic  bottleneck  requires the use of  all-optical network  devices  called photonic network  devices.  Although photonic devices with primitive fiber  and wavelength switching functionality  [2,3] are being offered  today, the development of  photonic switches or routers with more complex functionality  poses a number of  serious design and performance  challenges. Another major challenge to the photonic networking paradigm is the tradeoff  be-tween traffic  isolation and network optical bandwidth utilization. While optical fiber cables with optical transmitters and receivers allow for  very high data rate point-to-point connections at the physical layer [4,5], the problem remains to be how to utilize this bandwidth efficiently  while providing enough traffic  isolation between different  traf-fic  classes. Traffic  isolation is particularly essential for  Virtual Private Network (VPN) applications, where concerns over data privacy and security prohibit the use of  aggrega-tion at the backbone [6-9]. The solution to this problem is non trivial since photonic switching devices lack the very basic elements of  their electronic counterparts, such as the ability to store packets in local buffers  and process packet headers in the optical domain. The lack of  buffering  and packet header processing ability in photonic devices means that a significant  body of  switching strategies that rely on buffer  management and packet header processing are rendered useless for  photonic networks. Hence, the need for  a fundamentally  different  paradigm for  providing service differentiation  guarantees in photonic networks. 1.2 Basic Concepts This section provides a brief  description for  some of  the basic concepts that are necessary to understand the operation of  optical networks and optical code division multiplexing techniques. 1.2.1 Photonic Networks The setup of  optical networks where links are optical channels with all switching and rout-ing devices are electrical devices is referred  to as First Generation Optical Networks [10]. In such networks, the data exists in the optical domain only while being transmitted from one point to another over the fiber  cables. The use of  electrical devices in optical networks adds the requirement of  performing optical-to-electrical conversion of  data at the input of  the routing/switching device in order to be able to process the data to extract its switching and routing information. At the output of  the routing/switching devices an electrical-to-optical conversion of  the data is needed in order to be able to carry it over the optical link. The process of optical-to-electrical conversion and electrical-to-optical conversion introduces a consider-able bandwidth limitation because the devices used for  this operation cannot keep up with speeds supported by optical Wavelength Division Multiplexing (WDM) links. It also increases the costs of  switching devices, because high speed optoelectronic devices contribute a major factor  to device cost [11]. In order to increase the speed of  routing/switching devices, the devices must be able to process the packet data and relay it to the right path without a need to convert the data into the electrical form.  In other words, these devices must be able to perform optical processing of  the packet header information  and able to perform  optical relaying of  the packet data over the correct path from  its source to its destination. Using these devices, we can build a network where data always remains in the optical format  through its entire path from  the source to the destination. Such networks.are called photonic networks. In order to allow for  data multiplexing (potentially switching) in a photonic manner, packet header processing is replaced by addressing using physical layer properties that can be processed photonically without a need for  optical-to-electrical-to-optical conversion. Three major physical layer properties allow for  this paradigm: fiber  (space) multiplexing, wavelength (frequency)  division multiplexing, and optical code division multiplexing. Fiber Multiplexing In fiber  multiplexing techniques, data are addressed or labeled based on its spacial prop-erties, which are defined  by the fiber  it is transmitted over. Switching devices relay data from  an input fiber  to an output fiber  based only on the input and output fibers  without any data processing. With current technologies, devices called Micro Electro Mechanical Systems (MEMS) can perform  this function  and are used for  switching in some optical core networks. MEMS switching technology is based on tiny mechanically moving mirrors that are used to change the light path direction, thus enabling spacial switching of  an incoming light from  a certain fiber  (source) to a preselected output fiber  (destination). An example of  devices that incorporate this capability and are used at the core of  optical networks are Optical Cross-Connect (OXC) switches [12]. Wavelength Division Multiplexing Wavelength division multiplexing is a well known mature technology in optical networks. In its basic form,  WDM is a technique used to increase the carrying capacity of  optical fiber  cables. This is achieved through multiplexing several optical signals together into one fiber  with each one of  them transmitting over a different  wavelength. Such multiplex-ing is possible in a photonic fashion  using devices called optical wavelength multiplexers. These devices operate using the concept of  optical coupling, where two optical signals are mixed together when the fibers  carrying them are brought very near to each other for  a certain length. Switching using wavelength has been studied extensively in the literature [13] and incorporated in several switching devices. OXC devices mentioned in the previous sub-section are also capable of  performing  wavelength switching. OXC devices are capable of  differentiating  data streams based on the input fiber  (spatial) and the wavelength of the data stream. By having a configuration  table within each device, a cross connection can be setup between a certain wavelength on an input fiber  and an output wavelength (might be different  or the same as the input wavelength) on an output fiber.  The group of  these cross connections between different  fibers  (and wavelengths) form  the light  path that the data can take from  the source to the destination. Optical Code Division Multiple Access The concept of  using Fiber-Optic Code Division Multiple Access (FO-CDMA)1 as a photonic multiple access method started in the mid 80's by the pioneering work of  Pruc-nal et al [14] followed  by the work of  Salehi et al [15]. Around the same time, the development of  a family  of  spreading codes, called Optical Orthogonal Codes (OOC), that can be used for  performing  OCDMA was initiated by the work of  Chung et al [16]. Since then, there have been several publications in the literature addressing different  as-pects of  the subject. It was not till the late 90's when research work in this area started to pick up again, this time with several prototype implementations [17-22]. OCDMA uses spreading codes with high autocorrelation and low crosscorrelation properties to multiplex several optical data streams on the same fiber  and wavelength in a photonic manner. The multiplexing is performed  by spreading different  streams using different  codes then recovering (de-spreading) the streams at the receiver using the same codes. OCDMA has gained a lot of  attention in recent years from  the research community ^ l s o referred  to in this thesis as Optical Code Division Multiple Access (OCDMA) because of  its ability to perform  photonic multiplexing at the sub-wavelength level, which enables higher multiplexing (and potentially switching) capacity and finer  granularity of flow  isolation. Analysis and design of  OCDMA sub-wavelength switched systems will be the focus  of  this thesis. 1.2.2 Generalized Multi-Protocol Label Switching Multi-Protocol Label Switching (MPLS) is a technique for  associating labels to packets to identify  their path across the network. Theses paths are called Label Switched Paths (LSPs). LSPs essentially form  end-to-end virtual  tunnels  between edge routers. A single network link normally carries labeled packets from  multiple LSPs. However, because of the MPLS labels, packets transmitted over a shared link are always distinguishable. By using packet classifiers  or filters,  packets can be routed, queued, and treated differently based on their label (or LSP number). Essentially, MPLS requires recognition of  the packet boundaries in order to extract the label information  before  switching the packet. GMPLS is a multipurpose control-plane paradigm that was proposed by the Common Control and Measurement Plane (CCAMP) working group of  the Internet Engineering Task Force (IETF) to allow MPLS switching without need to recognize packet boundaries or header information.  One of  the main differences  between MPLS and GMPLS is in the way labels are represented. In MPLS, the label is generally a small header added to the data unit (packet) in a predefined  location. In GMPLS, the labeling concept is extended to include the use of  physical layer properties. The application of  GMPLS in optical networks can affect  the future  of  IP-over-WDM networks resulting in reducing the number of  layers, which can also reduce cost, com-plexity, and processing overhead in optical backbones [23,24]. In this thesis, we exploit the generalized switching architecture of  GMPLS to introduce a framework  for  sub-wavelength switching using OCDMA techniques. 1.3 The Thesis In this section, we discuss the objectives of  this thesis, the contributions made in order to achieve the objectives, and a road map for  the flow  of  the thesis work chapters. 1.3.1 Objectives This thesis has three main objectives: 1. The first  objective is to enhance the switching capacity (granularity) at the sub-wavelength level in all-optical (photonic) networks using OCDMA techniques. The unique features  of  the OCDMA technique, such as the ability to perform  multiplex-ing and demultiplexing entirely in the optical domain and the ability to work at the sub-wavelength level makes it a potential candidate for  the objective. At the same time, the properties of  optical transmission such as the lack of  bipolar signalling and the use of  power as information  carrier pose challenges to applying previously developed electrical based CDMA methods to optical networks. 2. The second objective of  this thesis is to enhance the multiplexing capacity and transmission properties of  OCDMA through designing new spreading codes con-struction methods and new OCDMA modulation methods that maintain low bit error rates. The existence of  multiple access interference  in OCDMA methods poses a challenge on developing methods that minimize this effect  while maintaining good bandwidth utilization. 3. The third objective is to develop mathematical models for  analyzing the perfor-mance of  OCDMA as a multiplexing technique as well as the performance  of  optical code based sub-wavelength switching mechanisms. The trade-off  between increas-ing switching capacity in terms of  number of  multiplexed flows  and the increase in packet error rates due to increased multiple access interference  makes performance modeling an essential tool for  tuning the network performance. 1.3.2 Contributions The major contributions of  this work can be highlighted as follows: • The proposal of  a new OCDMA-based sub-wavelength switching architecture in all-optical networks called Optical Code Labelled GMPLS (OC-GMPLS). The pro-posed architecture enhances the all-optical switching granularity of  core optical GMPLS switches by a large factor.  The results for  this appear in [25,26]. • The derivation of  an analytical model for  calculating the OC-GMPLS switch through-put. The developed analytical model takes into consideration the effect  of  both the network parameters as well as the physical layer parameters. This work appears in [26,27]. • The proposal of  a new transmission method based on binary pulse position mod-ulation for  OCDMA. The proposed method enables the receiver to differentiate between idle and zero data transmissions within one bit duration while maintain-ing an error rate within the range of  On-Off  Keying (OOK) systems. This work appears in [28]. • The establishment of  a general mathematical framework  for  calculating the bit error rate due to multiple access interference  in OCDMA systems based on time domain spreading with optical orthogonal codes and correlator receivers. This work appears in [28], • The development of  a new algorithm to construct optical orthogonal codes for sub-wavelength switching. The developed algorithm has lower computational com-plexity and provides shorter code lengths under the same code constraints, which increases the label space utilization. This work appears in [29,30] Some of  the other minor contributions are: • A survey of  OCDMA communication systems. This survey provides a discussion on the state-of-the-art  methods used to modulate, spread, and detect OCDMA signals. It also provides a discussion on the different  spreading codes used for OCDMA transmissions. This survey appears in [31]. • A mathematical design for  optical delay lines correlator encoders/decoders used for  spreading and de-spreading OCDMA signals in the time domain. This work appears also in [31] • Introducing the concept of  label  space expansion ratio as a measure for  the change in flow  isolation granularity due to sub-wavelength switching and code  expansion efficiency  factor  as a measure for  the closeness of  a non-optimal OOC to an optimal OOC in terms of  label space expansion capabilities. This work appears in [25,26. 29,30], • The derivation of  an optimal operating point for  achieving maximum label space expansion ratio for  OC-GMPLS core switches and the demonstration through nu-merical results that there is an optimal operating point (not necessarily the same as the former)  for  maximizing the switch throughput. This work appears in [26]. 1.3.3 Road Map Chapter 2 gives an overview of  OCDMA communication systems. It describes the high level transceiver architecture, with discussions on the different  modulation, spreading and detection methods as well as spreading code families  deployed in the system. The chapter then provides a detailed description of  the operation as well as a mathematical-based design of  time spread passive correlator encoder/decoder devices. Chapter 3 proposes an optical sub-wavelenth switching architecture based on intro-ducing a code switch capable layer in GMPLS architecture that uses OCDMA for  labeling. The architecture is called Optical Code Labeled GMPLS (OC-GMPLS). Chapter 4 presents an analytical model for  calculating the throughput and switching capacity of  OC-GMPLS core switches. Chapter 5 proposes a new OCDMA modulation scheme based on PPM called Chip-Level Modulated Binary PPM (CLM-BPPM). A general BER framework  is established to analyze the BER of  the scheme. Chapter 6 presents a new less complex algorithm for  constructing shorter optical orthogonal codes. The algorithm is called Greedy Algorithm with Rejected Delays Reuses (RDR). Chapter 7 concludes this thesis and outlines some future  research ideas. Chapter 2 Overview of  Fiber-Optic CDMA In this chapter, we provide a background on the necessary components and methods used to enable OCDMA system compilation. We will also provide a detailed mathematical design for  the Optical Delay Line Correlator (ODLC), which is a device used to enable all optical spreading in the time domain. The flow  of  the rest of  this chapter is as follows.  A brief  introduction is provided in Section 2.1. In Section 2.2, we discuss the digital modulation methods used for  OCDMA. Following that, Section 2.3 discusses the different  optical spreading methods with an emphasis on time domain spreading, which will be the method used in the rest of  this thesis due to its simplicity and practicality of implementation. In Section 2.4, we introduce the different  spreading code families  used in OCDMA with more details on Optical Orthogonal Codes (OOC) given in Chapter 6. Section 2.5 focuses  on the optical decoding methods used to de-spread the optical signal. Following that, in Section 2.6, we provide a detailed mathematical design for  ODLC encoders and decoders used in this thesis as spreading and de-spreading devices. We finish  the chapter by concluding remarks in Section 2.7. 2.1 Introduction Since its start, OCDMA has been considered for  use in optical fiber  communications as a multiple access (multiplexing) technique, especially in all-optical Local Area Net-works (LAN) [32-34] due to its flexibility  and feasible  implementation in the all-optical (photonic) domain. Recently, the use of  this multiplexing technique has been proposed at the Wide Area Networking level [35], particularly in Multi Protocol Label Switching (MPLS) [36] and Generalized MPLS (GMPLS) networks [25]. A FO-CDMA system uses a set of  spreading codes called Optical Spreading Codes (OSC) with certain autocorrelation and crosscorrelation properties to multiplex several users at the same time on the same wavelength over a fiber-optic  communication channel. A high level block diagram of  an OCDMA system is shown in Figure 2.1. The transmitter generally requires a digital modulator to convert data from  its digital format  into some analog format  that can be carried over the lightwave. The output of  the modulator controls a light source (or laser source) that carries the data over lightwave carriers. The modulated lightwaves are then fed  into a photonic OCDMA encoder, which performs  the optical spreading of  the signal. The spread optical signal is sent over the fiber  channel. It must be noted that the order of  these blocks can change if  spreading is performed in the electrical domain, in which case modulation and spreading will be performed  in the electrical domain followed  by the light source, which will be controlled by the spread signal. At the receiver side, the reverse is performed.  De-spreading of  the optical signal is Data Digital Light OCDMA source modulator source encoder 1 Transmitter Receiver O s - 1 g 0 s — — g! Data Digital Photo OCDMA , 1 processor demodulator detector decoder Figure 2.1: High level architecture of  an OCDMA transmission system. performed.  The output signal is fed  to an optical detector (photodetector) that converts the signal to the electrical domain where it is demodulated and processed by the receiver. 2.2 OCDMA Digital Modulation Methods With current technologies, it is practically infeasible  to devise light sources (transmitters) such as lasers and light emitting diodes (LEDs) that produce a monochromatic (single carrier frequency  or wavelength) signals [37]. It is also very hard to control the phase of  the light carrier as well as its polarization while it travels through long distances of  fibers  due to the geometrical and material imperfections  of  optical fibers  [2,38,39]. Moreover, integrated light detectors (photo detectors) are generally capable of  detecting the power of  the incident light signal rather than its frequency  or polarization [40]. Due to these limitations, it is more practical to carry the information  over the power of  the optical signal (corresponding to modifying  the amplitude) instead of  its phase, frequency, or polarization. Although optical transmission systems that use Phase Shift  Keying (PSK) [41,42] and Frequency Shift  Keying (FSK) [3,43] modulations have been studied in the literature, amplitude modulation is still the scheme of  choice for  optical transmission systems due to its ease of  implementation at the integrated optoelectronics level. For this reason, we will focus  our discussion in this section on modulation schemes that are based on carrying the information  using the signal amplitude. 2.2.1 ON-OFF Keying (OOK) OCDMA Most optical transmission systems use the power of  the optical signal rather than its frequency  or phase to carry information.  This is why OOK was the first  candidate for digital optical modulation. OOK is based on carrying the '0' and '1' information  bits on the lightwave by switching the light source OFF and ON respectively. This means that a '1' is represented by an optical pulse (light), and a '0' is represented by no pulse (dark). To spread the signal in the time domain, the bit duration Tb is divided into n chip locations (time slots) each with duration T c = Tb/n,  where n is the length of the spreading code. A '1' is represented by the transmission of  k  pulses (chips) at chip locations defined  by the spreading code within a one bit duration TJ,. On the other hand, a '0' causes nothing to be sent (dark). This scheme is easy to implement and has less requirements in terms of  synchronization between transmitter and receiver. However, clock recovery and differentiation  between active sending  'O'-bit  and idle  source states is very difficult  to perform  at the receiver side. 2.2.2 Pulse Position Modulation (PPM) OCDMA To overcome some of  the problems of  OOK, PPM was used as a modulation scheme [44-52]. Classical PPM systems divide the bit duration T b into M  symbol slots, each with duration T s — Tb/M.  A pulse at symbol position number i represents the transmission of  a symbol with value i out of  the M-valued possible symbols. In order to spread this signal in the time domain, each symbol slot is divided into n-chip slots each with duration T c = T s/n  = Tb/(Mn).  Symbol % is represented by a series of  k  pulses at chip locations defined  by the spreading code within symbol slot i. This means that the PPM modulation is applied at the bit level, then the transmitted encoded pulse is spread using the optical time spreading code. This maintains the correlation properties of  the spreading code within one symbol duration T s only while it is violated outside the symbol duration. The disadvantages of  bit level PPM are: (i) More strict requirements on chip synchronization (accuracy less than T c/2)  and (ii) The possibility of  interference  between different  symbols, because they are similar at the chip level (i.e. if  we don't consider the symbol position within the bit). In order to maintain the correlation over the entire bit duration, we propose in Chapter 5 a scheme that uses the bit value to perform  PPM of  the spreading pulses (at the chip pulse level) rather than at the bit duration level. Maintaining the correlation properties means that we can treat a stream of  bits as a cyclic repetition of  the spreading code, which is what OOC is designed for. 2.3 OCDMA Spreading Methods Code multiplexing in fiber-optic  communications can be performed  using either time domain spreading [53] or spectral (frequency/wavelength)  domain spreading [54], In addition hybrid schemes that use time domain spreading and frequency  (wavelength) domain hopping were also discussed in the literature [55,56]. 2.3.1 Time Spreading In time spreading methods, light sources generate pulses that represent the transmitted data. The pulse duration (called here the chip duration T c) is usually very small compared to the data bit duration Tb- Replicas of  the pulse with reduced energy are repeated at pseudo randomly selected locations (slots) within the bit duration causing a spread of the pulse energy. It is the function  of  the receiver, which knows the pseudo random spreading pattern (spreading code), to recombine the energy of  the pulse replicas so that their energies add and a detection of  the original data is performed.  This recombination can be performed  using either active devices such as a light source at the receiver that correlates only with time slots corresponding to the pseudo random code or passive devices such as an Optical Delay Line Correlator ODLC. ODLCs [15] are devices based on optical fiber  tapped delay lines to function  as optical correlation filters.  ODLCs are utilized by optical transmitters and receivers to encode (spread) and decode (de-spread) the optical signal. ODLC detailed design and functionality  will be described in Section 2.6. Encoding Figure 2.2: Spectral amplitude spreading using diffraction  grating. 2.3.2 Spectral Spreading In spectral spreading methods, a pulse from  a light source is spread in the frequency domain by passing it through a device that separates its wavelength components and scales the spectral amplitude of  each wavelength component differently  or rearranges (scrambles) their order in time according to a pseudo random spreading code. Spectral amplitude encoding [57,58] is performed  using diffraction  gratings as shown in Figure 2.2. Light which is incident on the diffraction  grating is separated into its wavelength components. These components pass through a mask that scales the different wavelength components differently  according to the spreading pseudo random code. The resulting scaled wavelengths are recombined again to form  the encoded signal, which is sent to the receiver. The receiver reverses the scaling operation to recover the original signal. Wavelength scrambling [59] is performed  using an equally spaced array of  fiber  Bragg FBG • " W v Input signal PSD Spread signal PSD Figure 2.3: Spectral wavelength scramble spreading using arrays of  FBGs. gratings as shown in Figure 2.3 or arrayed waveguide gratings. The gratings are designed so that each one of  them reflects  a certain wavelength. The pattern of  the grating array is chosen according to the spreading code. When light falls  on these gratings, different wavelength components are reflected  by the grating array at different  times according to the arrangement of  the grating elements causing the wavelength components of  the light pulse to be scrambled in time. The receiver restores the original signal using the same setup with an array of  gratings that has the reverse pattern to that of  the transmitter side. 2.3.3 Hybrid Wavelength-Time Spreading In this method the same setup used in Section 2.3 can be used with a modification  to define  the distances between the different  grating cells in the FBG according to pseudo-random spreading code [35]. This produces time spreading between the different  wave-length components as well as the spectral spreading resulting from  scrambling the wave-lengths. This spreading method requires a 2-D spreading code [60], which uses one dimension for  wavelength spreading and the other dimension for  time spreading. 2.4 Optical Spreading Codes (OSC) Since optical transmission is based on carrying the information  using the signal power, many of  the coding methods used in electrical-based CDMA systems (such as wireless RF systems) are not suitable for  OCDMA since their properties are based on the assumption that signal amplitudes can be considered positive or negative (phase change is used). This is not practical in optical transmission systems. Hence, spreading codes such as Walsh codes, maximal length sequences, and Gold sequences, which have desired properties suitable for  wireless CDMA, are not usable in optical transmission. New families  of  spreading codes that are suitable for  optical signals have been inves-tigated in the literature. The most common two families  of  optical spreading codes are: Optical Prime Codes (OPC) (see [61,62] and citations within) and Optical Orthogonal Codes (OOC) (see [63,64] and citations within). 2.4.1 Optical Prime Codes Optical Prime Codes (OPC) are designed using linear congruence theory [58]. A prime codeword Cj from  the family  C of  p codewords constructed over the Galois field  (GF(p)) of  a prime number p is given by: Cj = {cij  : Cij = (i-  j mod p), i,j €  GF(p)}  . Prime codes have codewords with code length n = p2 and code weight k = p. They have a crosscorrelation value that is at most equal to 2 and high autocorrelation value. 2.4.2 Optical Orthogonal Codes In Optical Orthogonal Codes (OOC) [65], the circular2 autocorrelation with time shift r ^ 0 for  a codeword and the circular crosscorrelation between any two code words are minimized (or limited) while the zero-shift  circular autocorrelation for  a codeword is maximized. In general, and throughout this thesis, when we refer  to Optical Orthogonal Code (OOC) we are referring  to the case where the non-zero shift  autocorrelation and the crosscorrelation are limited by a maximum value of  1. These codes posses the unique property that there is a maximum of  a single 'l'-chip (pulse) overlap between any two different  codewords belonging to the same family  with arbitrary circular time shifts  and a maximum of  a single 'l'-chip overlap between a code and a circular time shifted  version of  itself. Detailed definition  and construction methods for  OOCs are provided in Chapter 6. 2Circular here refers  to the fact  that the codewords are correlated'using a circular bit rotation instead of  a shift  in one end direction with zero insertions from  the other end 2.5 OCDMA Decoding Methods Techniques used for  decoding OCDMA signals at the receiver side have a significant impact on the overall optical system performance  and complexity. In the literature, two main techniques are used to decode OCDMA signals; namely, correlation detection and chip-level detection. 2.5.1 Correlation Detection In correlation detection [66,67], decoding the signal is performed  by counting the total number of  photons at marked chip positions (i.e., chip positions for  1-chips according to the spreading code) over the entire bit duration. Determining marked chip positions is done either using a passive decoder composed of  fiber  tapped delay lines followed  by a timed optical gate (to open for  one chip duration at the end of  the bit duration), or an active decoder using a timed optical source that only produces pulses at the marked chip positions to be correlated with the received signal [67]. The total count is compared to a certain threshold. If  it is higher than the threshold it is considered a '1' bit, otherwise it is a '0' bit. 2.5.2 Chip-Level Detection Chip-level detection [68,69] is performed  by counting-the photons over every marked chip individually and comparing that number with a threshold. If  the number in all marked chips is higher than the threshold a '1' bit is detected, otherwise it is a '0' bit. Each technique has its advantages and disadvantages. While the chip-level detection is less complex in implementation, it is a technique that cannot1 be performed  using optical passive devices and it has lower performance  [68] relative to correlation detection. In contrast, correlation detection achieves higher performance  and can be implemented using passive optical devices but it requires higher system complexity [68]. 2.6 Encoding/Decoding of  Time Spread OCDMA The principles of  time domain spreading of  optical signals using optical correlation en-coding and decoding are illustrated in Figure 2.4. As shown in the figure,  the ODLC based encoder takes as an input a very short optical pulse with duration T c that rep-resents either a logical '1' or a logical '0'. The pulse then goes through several parallel tapped delay lines using an optical splitter, thus experiencing different  delays over these lines. The pattern of  the delay across the delay lines specifies  the spreading code. The delay values for  the delay lines of  the ODLC encoder are chosen to produce an encoded signal that is spread using Optical Orthogonal Codes (OOC). The outputs of  these delay lines are combined together using an optical coupler and then amplified  to overcome the attenuation caused by both the splitter and the coupler. The ODLC based decoder has the same structure as the encoder with the delay pattern chosen so that they can reverse the encoder effect  and restore the original intended signal from  a mix of  multiplexed signals using different  orthogonal codes. This is achieved using a matched filter  design at the decoder side as will be explained later in this section. The receiver has an associated threshold  detector  (see Figure 2.4), which only passes light if  its total energy is above a certain value. If  we assume that the energy per spread chip pulse is Q, then the total energy of  the de-spread pulse is k  x Q, where k  is the spreading code weight. The threshold device will pass light only if  its total energy is greater than or equal to h x Q, where 0 < h < k  is the energy threshold factor,  k  is the code weight of  the spreading code and its code length is n. The use of  the threshold detection device ensures that the low amplitude pulses that are uncorrelated with the decoder delay pattern are blocked from  causing background noise to the correlated pulse. The device also helps against dark current effects,  which are inherent in any optical detection system [70]. To complete the functional  specification  of  the ODLC unit, it remains to show how to select the delay patterns at the transmitter OOC encoder to realize the required OOC spreading and at the receiver OOC decoder to recover (despread) the original signal. Lemma 2.1. Let time be measured  in increments ofT c and  let  the input to the ODLC encoder  be given by the optical chip pulse p(t)  with duration  T c. Assuming that the ODLC encoder  is a Linear Time  Invariant  (LTI)  system, the impulse response hi(t)  for  an ideal ODLC encoder  used  for  encoding  p(t)  into encoded  signal yi(t)  using code  number i, is given by: (2.1) I I I I JL M. It, I I I I I I I I It, I I I I Input pulse Output of tapped delay lines encoder (a) Encoding of  optical OCDMA signal / 1 v (fflj  t, \ (WD  t,+tj > (ML) t.+tj+tj ODLC encoder EDFA t> n n i 2| OH Oj • Input encoded pulses Output of  first  delay line 1 in tapped delay lines decoder • Output of  second delay line • Output of  third delay line ' Output of  fourth delay line •Output of  threshold detector H5) / ii (IT!) \ / V, mm l ) + t ) \ ) \ t4+t,+t, / t,+t)+t;+t. / ODLC decoder (b) Decoding of  optical OCDMA signal Threshold detector / - T Figure 2.4: Encoding and decoding of  time spread fiber  optic OCDMA signals. where M  = m = 1 m—1 E kj 2 <m<k j=i (2.2) and  S(-)  is the Dirac-Delta  function.  The  desired  encoded  output yi{t)  is defined  as: = (2.3) m=1 Proof.  Since the encoder is assumed to be a LTI system, we can write: yi{t)  =p(t)*hi(t)  . (2.4) Rewriting (2.3) as k 771=1 which can be written as k i 771=1 Comparing this with (2.4) we get k 771=1 Theorem 2.2. Let time be measured  in increments ofT c and  let  the input to the ODLC decoder  be given by yi(t)  defined  in (2.3). Assuming that the ODLC decoder  is a Linear Time  Invariant  (LTI)  system, the impulse response qi(t)  for  an ideal  matched  filter  ODLC decoder  used  for  decoding  yi(t)  into the original  transmitted  chip pulse (p(t))  is given by: = , (2.5) m—1 where J =771 Proof.  A matched filter  to hi(t),  deduced in Lemma 2.1, is given by k h*(nT c - i) = £ E S(nT c - t - e«Tc) 771=1 k = ^ E + [n - e«]Tc) 771=1 k 771=1 = £ £ *(« - < e r c ) , 771=1 where = n — ef . Our next step is to find  an expression for  dm- Using (2.2), we can write: dSS n — e. (0 k 0 m = = 1 3 = 1 m—1 2 < m < k I j = l / k TO = 1 3 = 1 fc m— 1 2 < m < k U=1 j = l k m = 1 k E tij 2 < m < k <3=™ k j=m Finally, we find  the correct amplitude scaling factor  so that the decoder can retrieve the original signal p(t).  Since hi(t)  has a factor  of  the decoder should counter this effect by having a factor  k  multiplied by the response of  the filter  matched to the transmitter. Therefore, Qi (t)  = kh;(nT c-t) = Y t6(t-d®T c) m— 1 • Equations (2.1) and (2.2) describe the design of  an ideal ODLC encoder, while (2.5) and (2.6) describe an ideal ODLC decoder. When applying these equations to the de-sign of  ODLC encoders and decoders, we find  that an encoder for  code i with k  delay lines will have the delay value e^T c at optical delay line j 6 {1,2,..., k}.  While d^T c is the delay value at optical delay line j of  the ODLC decoder for  code i. If  the com-ponents of  the encoder/decoder are not ideal (i.e., there are fiber  losses proportional to length or asymmetry in the splitters/combiners) appropriate optical amplification  and splitting/combining ratios can be used to design the ODLC so that the same equations can be obtained again. Example 2.3. To  illustrate  the use of  the set of  inter-delays  representation  in designing the ODLC, consider  the encoding/decoding  example shown in Figure  2.4• Let k  = 4 and N  — 1 (a  trivial  code  matrix is used  for  illustration  purposes), then the set T = {^ 11; tu, tn, t u } is the set of  inter-delays  between the symbols. Forming  the extended  set of  inter-delays T ext by, taking  into consideration  the sum of.I  adjacent  delays  up to I  = k — 1 for  every delay  element in T, one gets Text  ={^11)^12^131^14,^11  + tl2,  t\2 + ^13)^13  + ^14, 1^4 + 1^1, 1^1 + t\2 + ti3,t\2 + ti3 + tu, tl3  + t\4 + in, tu + ill + 1^2} ; which must have unique elements. Referring  to Figure  2.4-(a),  the encoder  delays  in steps of  chip duration  T c are {0,  tu, tn + tn,tn + tu + £13}- At the receiver, to de-spread  the signal the decoder  delays  in steps of T c must be {t u, t u + ti3, t u + h3 + ti2, t u + tX 3 -f  h2 + in} as shown in Figure  2.4-(b). It can be seen from  Theorem 2.2 and from  the example above that the decoding ODLC produces k  shifted  versions of  the received sequence such that at the output of each delay tap the location of  one of  the k  pulses of  the spreading code coincides with the chip location right after  the last chip of  the bit duration TJ,. Accordingly, if  at the output there is an optical timed gate (a sampling device) that only opens at this chip location allowing light to pass through an optical threshold device and to be detected by a photodetector, it is effectively  as if  this receiver is counting the sum of  photons over chip locations corresponding to pulse locations in the spreading code and comparing that with a threshold value. This is exactly the function  described earlier for  the correlator receiver. 2.7 Concluding Remarks We have provided a brief  introduction to the subject of  using code division multiple access in optical fiber  communication systems. In this introduction, we have discussed the transceiver architecture of  OCDMA systems. We have provided a brief  description of the digital modulation methods commonly used in OCDMA systems while describing the cons and pros of  each method. We followed  by discussing the methods used for  spreading optical signal in time and wavelength domains.- Two major families  of  optical spreading codes were introduced and their properties as well as primary construction methods were explained. The main categories of  optical detection methods were discussed explaining briefly  the advantages and disadvantages of  each. The chapter also provided a detailed description for  a class of  OCDMA encoder/decoder devices called Optical Delay Lines Correlators (ODLC), which is used for  optical time spreading. The architecture of  ODLC using all-optical components as well as its oper-ation as a spreading device were explained in detail. Following that, a mathematically derived design of  these devices was provided. Using the mathematical design model, it was shown that these devices belong to the category of  optical decoders called correlator detectors. In the next chapter, we will propose a modification  to the architecture of  General-ized Multi Protocol Label Switching GMPLS in order to utilize OCDMA as a switching mechanism in all-optical (photonic) switching networks. Chapter 3 OC-GMPLS Core Sub-Wavelength Switching Architecture In Chapter 2, an overview of  the technologies and methodologies that enable the use of OCDMA has been provided. In this chapter, we propose the use of  OCDMA to expand the available label space in GMPLS based all-optical networks. Our proposal provides an efficient  solution for  finer  granularity "sub-wavelength"  all-optical switching in the core of  the network, which significantly  enhances the utilization and the traffic  isolation capability of  optical GMPLS networks. The rest of  this chapter is organized as follows.  We start by a brief  introduction in Section 3.1. We introduce the code switch capable layer as a new label switching layer for  GMPLS networks in Section 3.2. Section 3.3 describes the end-to-end architec-ture of  the Optical Code Labeled GMPLS (OC-GMPLS) network and the label stacking mechanism. In Section 3.4, we propose a high level architecture for  a core OC-GMPLS switch. Following that, we introduce the architecture for  the edge OC-GMPLS switch in Section 3.5. The performance  of  the proposed core switch architecture in terms of  the number of  isolated traffic  flows  that can be switched at the network core is analyzed in Section 3.6. Numerical results for  our analytical model are discussed in Section 3.7. We conclude the chapter in Section 3.8. 3.1 Introduction Code Division Multiple Access (CDMA) [71] is a physical layer multiplexing technique that can be utilized in optical networks as a means for  switching several distinct data flows  over the same fiber  and the same wavelength entirely in the all-optical domain. The concept of  using optical code as a labeling mechanism in MPLS systems has been suggested before  in the literature [36,72-74], Labeling in the case of  MPLS is performed by using the optical code as a method to encode addresses into the packet header only. This is what is referred  to as Explicit  Optical Code  Labeling  (ExOCL) method [25]. Another application of  ExOCL is the use of  CDMA techniques in Optical Burst Switching (OBS) [75,76]. The current standard for  GMPLS [77] defines  five  label  mapping spaces namely: Packet Switch Capable (PSC), Layer 2 Switch Capable (L2SC), Time-slot Switch Capa-ble (TSC), Wavelength Switch Capable (LSC), and Fiber Switch Capable (FSC). Only the last two layers (LSC and FSC) can be utilized in an all-optical switching device. The remaining label mapping spaces require optical-to-electrical conversion, which negatively impacts the switching speed. We propose a new GMPLS label mapping layer called the Code Switch Capable (CSC) layer, which can perform  labeling and switching entirely in the optical domain using optical spread codes. It should be noted that the TSC, L2SC, and PSC layers provide sub-wavelength switching in GMPLS networks. However, they suffer  from  the serious limitation of  requiring optical-to-electrical-to-optical conversion. This means that these switching layers are more suitable for  optical edge switching devices, where a higher level of  traffic  isolation is more important than switching speed and capacity. The proposed CSC layer provides the main capability for  achieving all-optical sub-wavelength switching in GMPLS core networks. A capability which proves useful  in in-creasing the granularity of  traffic  isolation in the network core, where all-optical switching is needed the most. Enhancing the GMPLS architecture (by allowing the use of  the new label mapping space) will have significant  impact on advancing the QoS and traffic  engineering capabili-ties of  optical networking especially at the network core. Specifically,  providing a seamless combination (or cross product) of  code-space and wavelength-space into a larger single label space increases flow  granularity at the all-optical switching level, and hence, the utilization in all-optical networks without impacting the complexity of  the optical control plane. 3.2 Code Switch Capable (CSC) Layer We propose to modify  the GMPLS label mapping methods by adding the Code Switch Capable (CSC) layer (or interface),  which can perform  labeling and switching based on optical spreading codes. We call this version of  GMPLS Optical Code Labelled GMPLS (OC-GMPLS). Figure 3.1 shows the label mapping space in OC-GMPLS, and how the CSC layer is added in between the TSC layer and the LSC layer. In the following,  we define  the CSC layer in a manner similar to what is done for  the other existing label mapping layers in GMPLS. Definition  3.1. The  CSC  interface  is capable of  forwarding  data  based  on an optical code  that is used  to spread  the data  packet. The CSC layer is placed at a level between the TSC layer and the LSC layer due to the following  reasons: • The CSC interface  switching functionality  can be performed  entirely in the optical domain. This fits  with all the layers below it; namely the LSC and FSC layers. On the other hand, all layers above the CSC, viz. TSC, L2SC, and PSC, require optical to electrical conversion in order to perform  switching functions. • The number of  flows  that can be supported by the CSC interface  is higher than that supported by the LSC (wavelength) layer, but lower than the number of  flows that can be supported by the TSC layer. In order to integrate this, scheme into the GMPLS framework,  we utilize the Implicit Optical Code  Labeling  (ImOCL) method for  deploying OCDMA as a labeling mechanism in GMPLS. In ImOCL the optical spread code is applied to the whole data stream instead of  attaching an OCDMA encoded header to the packet as in the case of  the Figure 3.1: Label mapping layers in OC-GMPLS. ExOCL method [25]. The ImOCL method is simple to implement and fits  within the physical layer labeling mechanisms used in GMPLS. The purpose of  introducing the CSC layer is to further  extend the benefits  of  the label mapping technique in the all-optical domain. In our case one can draw an analogy between the wavelength in the optical network and the shared link in the electrical network. Our goal is to be able to apply different  labels to packets carried over the same wavelength (A) while being able to label, detect, and filter  packets entirely in the all-optical domain. This means that using our technique, even in an all-optical (photonic) network, the bandwidth granularity is no longer limited by the number of  wavelengths, but rather by the number of  optically labelled data within the wavelengths. This, in our view, is useful  for  the deployment of  next generation optical switching nodes with sub-wavelength switching capabilities at the network core. Label space expansion with CSC can be illustrated by considering an example of  an optical A switch, which supports M  = 20 wavelengths. If  the CSC interface  can assign up to N  = 50 labels to optical data, this creates M  x N  = 1000 distinct optical flows,  which can be switched entirely in the optical domain without any optical-to-electrical-to-optical conversion. In order to utilize the capabilities provided by the CSC layer, modifications  are re-quired to existing GMPLS switch architectures as well as overall network architecture and signalling. These modifications  will be the focus  of  the rest of  this chapter. Figure 3.2: OC-GMPLS network architecture and end-to-end operation. 3.3 End-to-End Network Architecture We propose a network architecture for  the OC-GMPLS framework  that utilizes the hier-archical topology using the Core-Edge concept [78]. Our proposal utilizes only three of the OC-GMPLS switching layers in the network core. These layers are the FSC, LSC, and CSC. The reason for  choosing these layers at the network core stems from  the fact that these are the only three layers that can perform  switching in an all-optical man-ner. This allows for  an entirely all-optical core, which is capable of  reasonable traffic isolation at the sub-wavelength level using OCDMA, while maintaining the high speed and high capacity features  of  all-optical switching. At the network edge, however, all the label mapping and switching layers of  the OC-GMPLS architecture are utilized in order to allow for  the highest possible level of  traffic  isolation. It is possible for  the network operators to choose not to use the CSC layer in case of  edge to edge traffic  as in the case of  traffic  between ELSR 5 and ELSR 3 in Figure 3.2 or to use it as in the case of traffic  between ELSR 4 and ELSR 5. The reason for  allowing this option is that with the existence of  TSC, L2SC and PSC switching capability the CSC does not expand the label mapping space. In fact  these three label mapping layers result in much larger label mapping space alone. However, the capability itself  has to exist in the switch in order to allow for  exploiting its benefits  at the core switching level. The edge-to-edge network architecture as well as an example label stacking scenario is shown in Figure 3.2. It can be seen from  the figure  that the core labelled traffic  is identified  only by three levels of  label stacks; namely the fiber  number, the wavelength number and the optical code number. For edge traffic,  however, labeling is performed using up to six levels of  labels, which are the time-slot number, the cell number and the packet number in addition to the three mentioned in the core. It is the function  of  the edge devices, such as ELSR 1, to perform  aggregation of  higher label mapping layers into a single labelled traffic  in the core of  the network. This process treats the aggregated traffic as a single flow  at the core level. Using the CSC capability, the edge device can perform aggregation into core traffic  using different  codes, which enables traffic  isolation at the core level at the sub-wavelength level as shown by the aggregation process performed  by ELSR 3 using two different  codes on the same wavelength and fiber.  The aggregation process can be performed  using our proposed Containerization with Aggregation Timeout (CAT) aggregation method [79]. Exploiting the same capability (i.e., switching at the sub-wavelength optical code level) by the core routers, leads to a significant  increase in the all-optical core switching capacity of  optical GMPLS networks as will be illustrated later in this chapter. In order to allow signalling for  path setup operations and other network control op-erations, a dedicated CSC label or group of  labels are used for  signalling and control operations. These are shown in Figure 3.3 by the lighter grey color arrows at the input and output of  the OXC unit. / 3.4 Core Switch Architecture Implementing OC-GMPLS, with the new CSC layer, requires certain modifications  to current optical switch architectures. The key new capability introduced is optical code processing of  data packets to realize the spreading and de-spreading functions  necessary for  OCDMA. Figure 3.3 shows the model of  the OC-GMPLS core switch, which is capable of  performing  optical label switching using the first  three all-optical switching layers (XX decoder Tunable wavelength converter ODLC encoder Optica) threshold detector ram Switch control Electrical control unit Optical data — — • Electrical control signal • Optical control channel Figure 3.3: Architecture of  OC-GMPLS sub-wavelength core switch. (FSC, LSC, and CSC) of  the GMPLS label mapping model. The switch consists of  four  main parts; the Optical Cross-Connect (OXC) backplane, the all-optical input module, the all-optical output module and the electrical control unit. The all-optical input module consists of  a fiber  de-multiplexer that allows for  separating incoming fibers  into different  ports of  the switch. The output of  each single fiber  is fed  into a wavelength de-multiplexer, which separates different  wavelengths of  the input Dense Wavelength Division Multiplexed (DWDM) signal. Every wavelength is split using an optical splitter through a rack of  N  different  Optical Delay Line Correlator (ODLC) decoders each of  which is matched to one of  the N  different  optical codes. This rack of  ODLC decoders combined with the optical splitter at the input is called the Optical Code Labeling (OCL) decoding unit. To make the switch non-blocking internally, M  x L copies of  OCL decoders are used, where M  is the number of  wavelengths and L is the number of  fibers. The all-optical output module performs  the reverse of  the above operation. It starts with an OCL encoding unit, which has the same structure of  the OCL decoding unit except that it consists of  N  ODLC encoders connected to an optical coupler. Again MxL copies of  the OCL encoders are needed to guarantee that the switch is internally non-blocking. The outputs of  the OCL encoders are fed  into tunable wavelength converters, which modulate it on a wavelength selected by the control unit. The outputs of  the different  wavelength converters are combined using a wavelength multiplexing unit to compose the DWDM signal for  each fiber.  Finally, the DWDM signals are distributed into the different  fibers  using the fiber  multiplexer. The electrical control unit in conjunction with the core OXC function  as the heart of the switch. The control unit performs  the label switching operation by making sure that the OXC is configured  in a manner that it switches incoming flows  belonging to a certain Label Switched Path (LSP) to their corresponding output Forward Equivalent Class (FEC). The control unit also maintains the label lookup table. The control unit receives and sends necessary signalling and control data for  GMPLS network configuration  and maintenance using the dedicated signalling and control labels. The function  of  the ODLC unit is to perform  optical correlation of  the pulse train with the time transfer  function  of  the tapped delay lines system to encode data pulses into spread pulse trains, or to decode spread data pulse trains into data pulses. Each ODLC has a unique pattern of  k  optical delay lines that defines  the spreading/de-spreading code. The function  of  the ODLC as well as the principles of  optical correlation encoding and decoding used to design the ODLC encoders/decoders are explained in Chapter 2. For the purpose of  this chapter, it suffices  to assume that the output of  the ODLC encoder is a train of  pulses with a pattern that produces a time encoded Optical Orthogonal Code (OOC) signal with length n and code weight k.  The output of  the decoder is the restored original signal before  encoding. 3.5 Edge Switch Architecture The edge switch shown in Figure 3.4 consists of  two main units. The first  is the optical core part, which performs  switching of  the three core layers (FSC, LSC, and CSC). It has exactly the same design and functionality  as the core switch described previously. The second unit is added for  the upper three layers (TSC, L2SC, and PSC) switching. This unit operates in the electrical domain. This is why an optical to electrical conversion is needed before  inserting data into this unit, then an electrical to optical conversion is Electrical processing and label switching of  TSC, L2SC, and PSC All-optical I/P ) module All-optical O/P module O/E Switch control Electrical control unit Figure 3.4: Architecture of  OC-GMPLS sub-wavelength edge switch. needed before  inserting the output of  this part into the optical core part. The connection between the two units is established through the OXC unit, which is expanded to allow all data coming through the optical interfaces  to be fed  into the electrical processing unit without any internal blocking. The control unit as well as the label lookup table are also extended to support the new functions. The advantage of  the proposed edge switch design is that it is simplified  by making part of  its structure common with the core switch and in this part the switching operation can still be performed  in an all-optical mechanism. 3.6 Switching Capacity and Label Space Expansion Ratio The performance  of  our proposed system will be analyzed in this section from  the aspect of  the effect  of  the proposed architecture on the all-optical core label space mapping (or the flow  switching capacity) as compared to a system that uses FSC and LSC only. This will be represented by a factor  called the Label Space Expansion Ratio p. Assuming that the energy per spread pulse at the output of  the ODLC encoder (or equivalently the input of  the ODLC decoder) is Q, then the total energy of  the de-spread pulse is k  x Q. The threshold device will pass light only if  its total energy is greater than or equal to h x Q, where 0 < h < k  so that the desired de-spread pulse can be detected. Note, however, that there is always a possibility of  detection errors if  the number of  orthogonal codewords (N)  is greater than the detection optical threshold h. Errors can happen when h or more spread pulses from  h or more flows  other than the intended flow  occur during the same chip time T  at the output of  the decoder correlator. In this case, the energy of  the pulse resulting from  the addition of  the spread pulses will exceed the threshold value and will be incorrectly detected as an intended received pulse. This suggests that an error free  receiver system for  OOC CDMA can be achieved if  the condition N  < h < k (3.1) is satisfied,  i.e., the threshold parameter h must be smaller than k  (the code weight) but larger than N  (the number of  orthogonal codewords or labels within the same wave-length) . The circular autocorrelation and crosscorrelation properties for  OOC spreading codes are summarized as [25]: nxx(T)  = < k T  = 0 < 1 1 < r < n - 1 KXY(T)  < 1 , 0 < r < n - 1 where 7ZXX{T)  is the circular autocorrelation function  for  sequence X  and 7ZXY{T)  is the circular crosscorrelation function  between sequences X  and Y.  A more formal  definition for  OOC and their autocorrelation and crosscorrelation will be given in Chapter 6. Using set theory it was shown in [15,30] that the autocorrelation properties correspond to the condition that for  a non-trivial  OOC3 to exist, we must have k(k  — 1) < n — 1 , (3.2) where n is the code length. Moreover, the number of  orthogonal codewords N,  in a non-trivial  OOC, is limited by N  < n - 1 k{k~  1). (3.3) For a DWDM system that uses M  wavelengths and L fibers  with a typical channel bandwidth of  W  Hz (typically W  = 100 GHz), the maximum number of  optically isolated or identifiable  flows  (F\) is given by: F x — L x M  . (3.4) In order to increase this number, we have to perform  aggregation of  signals in the electrical domain and convert the aggregate signal to the optical domain. This means that we will need faster  electronics to carry out the operation and, at the same time, we will loose flow  identification  at the optical level in intermediate nodes. On the other hand, assuming that the bandwidth of  a flow  is given by B, where 3 A non-trivial OOC is a code that satisfies  the condition: N  > 1. typically B « W  (e.g., B can be in the order of  100 MHz - 1 GHz), we can use a code of  length n = to multiplex N  optically isolated flows  on a single wavelength, where N  is given by (3.3). Then, the maximum number of  flows  (Fc)  that this new system can carry is given by: Fc — LxMxN<LxMx n — 1 k(k-  1)_ (3.5) The maximum value for  the maximum number of  flows  (Fq)  in this case will hold in the equality case. In other words, Fq  is given by: Fq = L x M  x n- 1 k(k  - 1)_ (3.6) Defining  the label space expansion ratio (p) to be the ratio of  the number of  labels using OCDMA for  sub-wavelength labeling (i.e., based on a combination of  OCDMA and A in addition to fiber)  to the number of  labels using DWDM (i.e., based'on A in addition to fiber),  we get P = Fc Fx (3.7) Substituting (3.4) and (3.5) into (3.7) gives p = N  < n- 1 _k(k-  1)_ (3. Consequently, the maximum label space expansion ratio p* is achieved when the equality holds and is given by: P = n - 1 k(k-l) (3.9) For an error free  transmission, we have Pnerr = N  < h < k (3.10) where pnerr is the value of  p for  an error free  system. In order to maximize the label expansion ratio and minimize the MAI error rate, we choose [25] h = k (3.11) Using (3.8), (3.10) and (3.11) we can find  the approximate maximum error free  label expansion ratio p*nerr by formalizing  a continuous approximation to the discrete optimiza-tion problem and rounding the solution to the lowest integer. The continuous counterpart of  the optimization problem is given by: max p k subject to p < n - 1 k{k-l) and p < k , where we consider all the variables k,  p, and n to be continuous when searching for  an optimum solution. The Lagrange multiplier method can be used to formally  solve this optimization problem and deduce p*neT T.  However, the solution can be deduced directly from  the constraints and the cost function  or graphically as shown in Figure 3.6. We give the final  results in (3.12) and (3.13). n - 1 h* (k* i) (3.12) n - 1 ^nerri-Pnerr (3.13) where p*nerr is the optimum (maximum value) for  label space expansion ratio under error free  multiplexing conditions and /c*err is the code weight value that achieves the optimum value for  p. For an efficient  OCDMA system, the values of  p and n must satisfy  p » 1 and n » 1. Accordingly, (3.13) can be approximated by: Pnerr* • (3.14) It can be seen from  (3.13) that the optimum value for  the label space expansion ratio in an error free  system is independent of  the code weight, which means that choosing the value for  the code length n determines the value of  the maximum error free  label space expansion ratio. 3.7 Numerical Results In our numerical results, we use a code length n = 1000. This value is close to actual practical values as the channel in a DWDM system has a bandwidth of  about 100 Gbps for  a binary transmission scheme and a standard traffic  source such as an ethernet work-station produces data rates of  about 100 Mbps, which gives a ratio n = = 1000. We also choose the number of  wavelength channels to be M  = 50, which complies with the ITU-T DWDM standards [80]. In Figure 3.5, the different  regions of  system operation are shown. There are two main regions considered in this system. The first  is the region under which the orthogonality condition is maintained, which is defined  by the inequality in (3.3). This is marked by the line labeled N  in the figure.  The other important region is the region in which the system operates with no MAI errors. This latter region is defined  by the inequality N  < h and is marked by the shaded area in Figure 3.5. In the same figure  we show how the system can be loaded with a certain number of  users while maintaining the orthogonality conditions under different  values for  the code weight k.  This is shown by the thick line. It is worth mentioning here that for  an OCDMA system to operate without errors, the conditions in (3.10) have also to be fulfilled.  A system that fulfills  all the three conditions is illustrated in Figure 3.6. Figure 3.6 shows a plot of  the label space expansion ratio p versus the code weight k  based on (3.8) and (3.10) for  a value of  n = 9014. The shaded area in the figure represents the range of  p over which the system is working under error free  conditions with the orthogonality conditions maintained. The figure  demonstrates the existence of an optimum value for  p, which can be derived by graphically finding  the intersection point that provides the solution to (3.8) and (3.10) simultaneously. For example, for n = 901,-the optimum code length is /c*err = 10 and the optimum label expansion ratio is p*nerr = 10, which means that our method can generate ten times the labels of  a DWDM system without affecting  the error performance  of  the system. The maximum value of  k  depends on the number of  orthogonal codes (desired max-imum number of  flows)  N  as indicated in (3.3). Figure 3.6 verifies  that increasing k reduces the label space expansion ratio p because of  the decrease in the number of  codes N  to fulfill  the orthogonality condition. This was expressed mathematically in (3.8). However, it must be noticed that the optimum label expansion value depends solely on 4 This value is selected to give an integer value for  . Valic load lin . . . V -e \ N >0 • • I P F h = No MA  5 \ region w p i p ? \ 2 4 6 8 10 12 14 k Figure 3.5: Operational regions and load lines for  OCDMA systems. Ji £ 10 k 15 Figure 3.6: Finding the optimum label space expansion ratio for  code length — 901. Figure 3.8: Effect  of  code weight and code length on the number of  orthogonal codes. n Figure 3.9: Effect  of  code weight and code length on the number of  orthogonal codes in the error free  region. the code length n as shown in (3.13) and demonstrated by Figure 3.7. Figure 3.8 shows the effect  of  n and k  on the maximum number of  possible orthogonal codes N.  It can be seen from  the figure  that k  has a more prominent effect  on N  than n, which suggests that tuning k  to the optimum value is more important. In Figure 3.9, we show the same thing with the condition that the system is operating under no MAI error. It can be seen from  the figure  that there is a maximum value for N nerr that occurs at a certain value k = knerT  for  each value of  n. It can also be seen that increasing n increases the maximum (optimum) value of  N nerr. Figure 3.9 can be thought of  as multiples of  Figure 3.6 plotted at different  values of  n, which makes it easier to interpret the figure. 3.8 Concluding Remarks In this chapter, we have proposed an extension to the GMPLS framework  that increases its scalability by expanding the label mapping space at the network core. Increasing the label space in GMPLS is a very important capability since it enables a finer  granular-ity through sub-wavelength switching to be achieved entirely in the all-optical domain. The expansion to the label mapping space was achieved by exploiting a physical layer technique based on optical CDMA. An end-to-end system architecture that involves the hierarchical edge-core architec-ture is proposed in conjunction with an architecture for  both edge switches and core switches. We then propose an implementation of  the architecture using time domain spreading with fiber  tapped delay line correlators and optical orthogonal codes for  spread-ing. Using basic elements of  set theory, we have provided a mathematical analysis for  the proposed technique, which demonstrates that our expansion method of  the core label mapping space is equal to a factor  of  p multiplied by the number of  available wavelength channels multiplied by the number of  fibers.  This factor  depends on the code design used for  optical CDMA and introduces design tradeoffs  to achieve the maximum expansion while maintaining the system operation error free. Using analytical methods, as well as numerical evaluations, we were able to derive the system optimal operating point in order to maximize the label space expansion ratio (sub-wavelength switching capacity) while maintaining the system operation in the error free  MAI region. Our results show that the value of  the optimum label space expansion ratio is dependent only on the length of  the OCDMA spreading code. This means that for  a system that limits this value, due to bandwidth restrictions, the limits on the label expansion ratio can be directly deduced. It was also shown that achieving the optimum value for  label space expansion ratio requires tuning the spreading code weight to a specific  value. In the next chapter, we will establish a mathematical model for  the packet throughput of  OG-GMPLS core switching. The use of  packet throughput as a performance  measure enables us to optimize the system performance  taking into consideration the tradeoff between increasing the number of  multiplexed flows  and the increase in the error rate on the OCDMA communication channel caused by multiplexing a larger number of  flows. Throughput Analysis for OC-GMPLS Core Switching Chapter 3 has provided a detailed architecture, called OC-GMPLS, for  utilizing OCDMA as a switching mechanism in GMPLS networks at the core. The main objective of  this chapter is to present a mathematical model for  the throughput of  OC-GMPLS switching, which provides a quantitative measure for  the performance  taking into consideration the effect  of  the physical layer. The flow  of  this chapter is as follows.  Section 4.1 is a brief  introduction. Section 4.2 provides a description of  the optical transmission physical layer used in our proposed OC-GMPLS architecture as well as the major assumptions used in our analysis. In Section 4.3 we start by deriving the multiple access interference  (MAI) bit error rate (BER) of OCDMA. The resulting BER is used in Section 4.4 to deduce a mathematical framework for  the throughput of  the OC-GMPLS switching architecture proposed in Chapter 3. In Section 4.5 the numerical results are calculated using the derived mathematical model. We conclude the chapter by Section 4.6. 4.1 Introduction The OC-GMPLS switching architecture promises a significant  increase in the core net-work switching capacity by allowing a sub-wavelength all-optical switching capability at the network core. As shown in Chapter 3, OC-GMPLS increases the all-optical switching granularity at the network core. Switching capacity by itself  is not sufficient  to quan-tify  the performance  of  OC-GMPLS systems. An essential and important measure of switching performance  is the switching throughput. We develop a mathematical model for  the switching throughput that incorporates the physical layer effects  on the network layer performance  by expressing the throughput as a function  of  the physical layer bit error rate, as well as the network traffic  parameters such as the number of  users and the packet length. We use our developed analytical model to evaluate the OC-GMPLS system versus prior DWDM systems, while explaining the fundamental  tradeoffs  between performance  and capacity in OC-GMPLS network designs. The developed mathematical model serves as a framework  for  a deeper understanding of  the cross-layer effects  on the overall switching performance.  It provides a tool that can be used to fine-tune  the different  physical layer parameters (such as the number of codes, or the code weight) in conjunction with the network layer parameters (such as the number of  users and the packet length) in order to optimize the network performance. k pulses JOL M. H n time slots Input pulse Output 00C encoded signal (a) Encoding of  optical code label Input OOC signal / \ Ofl i cm cnm Encoder / \ wim >1 um (M G5 J" Output decoded pulse Decoder Time gated threshold detector (b) Decoding of  optical code label Figure 4.1: Encoding and decoding of  optical code labels. 4.2 OC-GMPLS Physical Layer We assume a physical transmission layer that employs OOK digital modulation for  send-ing data over optical carriers. The optical spreading is performed  using time domain OOC. The spreading and de-spreading of  the optical signals are performed  via ODLC encoders and decoders as described in Chapter 2. While the detailed operation and design of  ODLC units is given in Chapter 2, we restate here the properties of  encoding and decoding units that affect  our analysis. The / output of  the ODLC encoder is a train of  On-Off  Keying (OOK) digitally-modulated pulses with a unit energy and with a pattern that produces a time encoded Optical Orthogonal Code (OOC) signal with length n and code weight k  as shown in Figure 4.1(a). The decoder, shown in Figure 4.1(b), has the same structure as the encoder with the delay pattern selected such that the effect  of  the encoder is reversed in order to restore the original signal. The decoder also has an associated optical time gated  threshold  detector, which admits light only at a certain chip location if  the total energy of  the pulse is above a certain value. The use of  the threshold detection device ensures that the low amplitude pulses that are uncorrected with the decoder delay pattern are blocked from  causing background noise to the correlated pulse. The device also helps against dark current effects,  which are inherent in any optical detection system [70]. In order to focus  on the effect  of  multiple access interference  (MAI) due to flow  multi-plexing on the performance  of  the proposed OC-GMPLS method, the analysis presented in this section assumes an ideal channel that has zero dispersion, zero loss, and zero noise. We will also assume that all the optical components are ideal. The splitters are also assumed to divide the power equally among the different  branches without any losses or distortion. Furthermore, the optical lightwaves at. the couplers .are assumed to be in-coherent, hence, they will be recombined through simple addition of  pulse energies (we neglect any electromagnetic interference  effects).  Another important assumption is that the encoding and decoding of  the spread spectrum optical signals are performed  in a chip-synchronous manner. This means that time elapses in steps of  T c, where T c is the duration of  one time chip and the transmitter and receiver clocks are perfectly  synchro-nized at the chip level. This last assumption means that the performance  analysis we give here is the worst case performance,  i.e., a lower bound on the performance.  This is due to the fact  that MAI induced BER is at its maximum value for  a chip-synchronous OCDMA system [66]. 4.3 Bit Error Rate for  OOK OCDMA A key parameter that determines the transmission mechanism quality is the probability of error (Pe). To estimate the optical network overall throughput, we need to first  calculate the probability of  error, then derive the network throughput. A decoding error due to MAI in an appropriately functioning 5 OOK OCDMA system happens if  h or more pulses from  one or more of  the N  — 1 non-intended users occur at one or more of  the marked locations of  the spread pulses for  the intended user while the intended user is not generating spread pulses. Assuming that a given optical source is using the code label Cj, where i €  {1,2,... : Nj, and defining  the spread code length to be n chips, the probability that a pulse exists at time-slot T  in code Cj given that its source is active equals K On the other hand, the probability that this pulse will overlap a marked pulse location from  another code C j^ is equal to the probability that code Cj can have a pulse at time-slot T, which is again equal to K This leads to a probability of  a single chip interference  (overlap) between any two codes at time-slot T  equal to - x - = K. ^ n n n* For a family  of  spreading codes that minimize the cross correlation (such as Optical Orthogonal Codes), a maximum of  a single chip overlap is allowed between two different Appropriate functionality  means that h < k,  which guarantees correct detection for  the intended user if  no interference  happens. codes Ci and Cj where i j. Consequently, the probability (p r) of  an interference  to occur during a period of  n time-slots can be expressed as follows: In Appendix A we show that k2 < n for  a non-trivial  OOC, which is a necessary condition for  the expression ^ to be a valid probability expression. A given source using code Ci can be in one of  two states (since there is no way of distinguishing the idle state from  the zero transmission state) with the following  proba-bilities: • Transmitting a logical '1' with probability p\. • Transmitting a logical '0' with probability po = 1 — p\. In order for  a pulse at time-slot T to exist, its source must be transmitting a logical value of  '1'. Therefore,  the probability of  interference  pi is given by: (4.1) i=1 k2 P i = P l X p r = Pi — n The probability of  no interference  is given by the complementary probability 1 -pi = 1-pi— • (4-2) n From the previous argument, one can deduce that the event /; that a user i out of  the N  — 1 remaining users in the system interferes  with the intended user has a probability P{h)  that can be expressed as P(h)  = (1  - pX)6(h)  + (p^WIi  - 1) , where i € {1., 2 , . . . , AT — 1}. Accordingly, the event I  of  interference  resulting from  all the N  — 1 remaining users in the system is given by: N-1 i=1 which has a probability P(I)  that is given by the convolution of  the probabilities of  the N  — 1 independent and identically distributed (i.i.d.) random variables /j. Hence, ^ - E a - S C V K ^ ) ' i=l i=0 v 7 x ' x ^ l - p A j (4-3) where <5(.) is the dirac-delta function. Assuming a threshold value of  h < k  (the code weight), a detection error happens if the following  combined event occurs: source sending '0' P| number of  interferers  > h, Note that our system cannot have errors caused by mistakenly detecting a logical '0' from  a source sending a logical '1', because a logical '0' has no signal. Therefore,  the probability of  error Pe is given by: Pe = {\- Pl)P{I>h) (oo I  P(I)dI  I • (4.4) Substituting (4.3) into (4.4), we get N-1 P e = ( l - P l ) J 2 ^ , N ) , (4.5) i—h where j) is defined  by: Equation (4.5) can be compared to the optical disk analysis provided in [66] which pro-vides the same performance  equations. On the other hand, if  h > k  the system will not be capable of  detecting the correlated (intended) code, because the threshold will be higher than the combined energy of  the de-spread pulse. This case can be divided into two subcases based on the value of  N. When (N  — 1) + k > h, an error in this case will occur if (source sending '0' P| no. of  interferers  > h) [J (source sending '1' P| no. of  interferers  < h — k) The theoretical probability of  error in this case can be shown to be N-l h-k-1 Pe\(N-l)+k>h>k  — i—h The second case is when (N  — 1) + k < h. In this case the system will always detect a '0' signal and the error in this case is simply the probability of  the source sending '1'. Practically speaking, however, the system in both cases is not functioning  because it can not detect the intended signal. Another observation is that when k > N,  h can be selected such that (3.1) is satisfied. In this case the receiver will reject all Multiple Access Interference  (MAI) effects  and we have Pe\N<h<k  = 0. This, however, comes at the cost of  increasing the code length n in order to maintain the same number of  orthogonal codes N  as can be deduced from  (3.3). The increase in n means higher bandwidth per flow  and the increase in the code weight k  means that each flow  will have to transmit higher energy per bit. Pe\(N-l)+k<h>k  = Pi  • (4.8) Collectively, the combined expression for  Pe is given by: (1 - P i ) £ h < k , h<N N-1 i—h Pe\(N-i)+k>h>k  h > k , h<(N  - l ) + k Pe(N)  = (4.9) h>k , h > (N  — I)  + k 0 h < k , h> N The optimum performance  P* (highest rejection of  MAI) of  the system in the case k < N is achieved by setting h = k,  which guarantees that the system is capable of  detecting the intended signal if  no interference  happens and at the same time minimizes the MAI interference  effect  by rejecting up to k — 1 interfering  users. In this case, we can rewrite (4.5) as follows: Note, however, that even for  an ideal system, transmission will not be error free  in this case. Thus, it becomes a design tradeoff  between how much multiplexing is applied versus the error threshold that must be attained. Equations (3.3) and (4.10) show that increasing /c will enhance the error rate performance  at the expense of  limiting the maximum number of  flows. (4.10) 4.4 Core Switch Throughput Although the bit error rate is a good measure of  the transmission quality, it does not show how the overall network performs.  In order to assess the network performance,  we have to evaluate the switch throughput estimated in packets per second. Following the model used in [81], the throughput S(Nf)  is defined  as the expected number of  successful  packet transmissions per unit time conditioned on the total number of  input flows  (Nf)  offered  to the system. Thus, N f . S(N f)  = E{S\N f}  = J2s  'Pi 8) > (4-11) 5 = 0 where S  is a random variable representing the number of  successful  packet transmissions, p(s)  = Prob{S  = s} is the probability density function  of  the random variable S,  and Nf  is the number of  active input flows  offered  to the system. Let the probability of  a successful  (correct) packet transmission be Pc• If  we assume that packets have a fixed length of  X  bits and that bit errors are independent from  one bit to the other, then the probability of  successful  packet transmission is equal to the probability of  no error in a sequence of  X  bits, which is given by: Pc = (l-P e)X.  (4.12) The probability density function  of  the random variable S (denoted by p(s))  is the prob-ability that exactly s flows  were successfully  transmitted out of  the Nf  flows  offered  to the system. Thus, Nf-s (4.13) Substituting (4.12) and (4.13) into (4.11) gives S(N f)  = N f(l  - Pe)x . (4.14) 4.4.1 Pure D W D M System Throughput For a switch using wavelength DWDM switching with M  wavelengths and fiber  switching with L fibers,  the bit error probability for  channel number i can be expressed as p(WDM)  _ ( 0 i<LxM 1 i> Lx M (4.15) Substituting (4.15) into, (4.14) gives us the throughput expression for  a WDM system §( WD M)(N f) N f  Nf  < L x M Lx M  Nf  > L x M (4.16) 4.4.2 OCDMA System Throughput The throughput expression for  an OCDMA system over a single fiber  single wavelength channel given the number of  flows  F  per wavelength per fiber  can be achieved by substi-tuting (4.9) into (4.14) to get: where N, the number of  orthogonal codes, is bounded according to (3.3) and we choose its maximum value, which holds at the equality case. It must be noted that the throughput expression for  a group of  L fibers  each carrying M  wavelength channels each of  which is capable of  N  OCDMA sub-wavelength labeling depends on the algorithm used to mutually assign the fiber,  the wavelength and the code to the label according to the system total offered  load Nf.  For simplicity and comparison purposes, we assume a system where the total number of  flows  Nf  is equally distributed among the different fibers  and wavelengths. This means that the number of  flows  multiplexed over a single fiber  single wavelength channel using OCDMA is given by F [1  — Pe(F)}  F  < N x S (F)  = (4.17) N  [1  - Pe(N)} x F  > N Consequently, the approximate throughput in this case can be given by the throughput of  a single fiber  single wavelength channel multiplied by the number of  channels. This is given by S(N f)  = L x M  x S (F)  (4.18) 4.5 Numerical Results The same numerical setup and assumptions as those used in deducing the numerical results in Chapter 3 are used in producing the numerical results here for  the bit error rate and the switch throughput. In addition to these assumptions, we also assume that the data source is symmetric producing a '1' or a '0' bit with equal probabilities resulting in pi — | . It must be noted that in the semi-log figures  for  Pe, we use a very small value of  around 10~15 instead of  —oo to represent log(0). This helps overcoming the scaling problems when plotting our results and at the same time illustrates that a MAI-free system still have some errors due to channel and components imperfections. In Figure 4.2, the influence  of  changing the number of  multiplexed flows  and the code weight on the transmission BER is demonstrated. It can be seen from  the figure  that there are several regions over which the BER behaves differently  with changes in F  and k.  Figure 4.3 shows the different  regions of  BER behavior and how they are affected  by the relative relations between different  system parameters. The first  region is the one where the number of  multiplexed flows  is less than the maximum number of  orthogonal codes defined  by (3.3). In this region, increasing F  results in higher probability of  error. It must be noted, however, that in order to maintain the orthogonality condition, F  is not allowed to be larger than N. This is also illustrated by the loading line defined  in Figure 3.5 in Chapter 3. When F  reaches the value of  N,  it is set fixed  to this value. This is the reason of  the saturation seen in Figure 4.2. Changing the code weight, on the other hand, has a different  and more dramatic effect  on the system performance.  This is due to two main reasons. First, the value of  k  relative to the value of  the optical threshold h defines  the operational region of  the system as described in Chapter 3. .Second, the value of  k  affects  N,  which eventually limits the number of  flows  in the system. From Figure 4.3 it can be seen that for  the region k < h, the system has a BER of  about 0.5 due to the fact  that it cannot detect the intended signal. Increasing the code weight moves the system into the appropriate operational region where an increase in k  would increase the system BER due to the increase in the number of  pulses per bit. Further increase in k  results in N  becoming smaller till it starts reducing the number of  flows  in the system. At this point an increase in k  in fact  decreases the BER due to the required reduction in the number of  multiplexed flows.  This continues until the point where N and hence F  becomes lower than the optical threshold, at which point the BER drops to zero and the system is error-free. In Figure 4.4, the optimum value of  BER at h — k  under maximum switching capacity condition given by the equality case in (3.3) is plotted against code weight and code length. It can be seen that increasing k  dramatically reduces the BER. This effect  is due to the increase in h because of  the optimality condition as well as the decrease in N due to the maximum capacity condition. Increasing h combined with reducing N  rapidly reduces the MAI error effect  till the point where it is completely eliminated. On the other hand, increasing n slightly increases the BER due to the increase in N  caused by the maximum capacity condition again. The values of  N  that correspond to the value of Pe (shown in Figure 4.4) are shown in Figure 3.8, while the corresponding throughput values are shown in Figure 4.9. Figure 4.5 demonstrates how a single wavelength channel can be utilized to carry a number of  sub-wavelength multiplexed or labelled flows  that is equal to the number of  DWDM channels carried over a single fiber  standardized by the ITU-T DWDM grids while achieving a throughput (in terms of  the average number of  successful  transmissions) very close to that achieved by the DWDM system. The reason that the throughput is slightly less than the number of  multiplexed flows  is because of  the MAI induced errors. Multiplying the number of  sub-wavelength labels by the number of  wavelength channels that can be multiplexed on a fiber  and multiplying the result by the number of  fibers gives an average estimate for  the size of  the expanded all-optical core label mapping space achieved using our method with marginal loss of  performance. Figure 4.6 in conjunction with Figure 4.7 and Figure 4.8 show how the core switch throughput is affected  by increasing the code weight k  as well as the number of  offered flows  per wavelength per fiber  F  according to (4.17). Figure 4.7 can be thought of  as cross-sections of  Figure 4.6 over planes parallel to the F  — S plane at different  values of k.  Similarly, Figure 4.8 is composed of  cross-sections to Figure 4.6 over planes parallel to the k  — S plane at different  values of  F.  It can be seen from  these figures  that the throughput has the same optimum value whether it is calculated against k  or F.  However, an important difference  between the two calculation approaches is that the value of  F that achieves the maximum throughput depends on the selected value of  k,  while the value of  k  that maximizes § is independent of  the selected number of  flows  F.  This is due to the maximum capacity condition used to define  the loading curve. The behavior of  the throughput shown in Figure 4.7 where it increases up to a maximum value before it starts to decline and settles at a lower value can be attributed to the higher error rate value at the points after  the maximum throughput point. Essentially, the higher error rate overcomes the rise in throughput due to the increase in number of  offered  flows,  and causes the overall achievable throughput to decrease until the point where the system reaches the maximum number of  allowable flows  and further  increase in offered  load is not possible. Figure 4.9 reconfirms  that the throughput conditioned on optimum threshold and maximum capacity , is more sensitive, to changes in the code weight than it is to changes in the code length. This is evident by the fact  that changes in k  cause a non-linear change in S, while changes in n affect  § in a linear manner. It is evident from  Figure 4.10 that the throughput is exponentially decaying with increasing packet length for  small values of  k.  This behavior, however, vanishes when k increases because the BER approaches zero, resulting in a throughput that is independent of  the packet length. The trajectory of  the maximum throughput achievable § m a x measured against the number of  flows  as well as the trajectory of  the corresponding values of  code weight are shown in Figure 4.11. Similarly, the trajectory of  the maximum throughput achievable Smax measured against the code weight as well as the trajectory of  the corresponding number of  multiplexed flows  are shown in Figure 4.12. Observe that there is an optimum value of  about 30 for  the throughput and the corresponding number of  flows  is given by F  = 37 while the corresponding code weight is given by k  = 5. Both values can be achieved through either of  the trajectory with k  or the trajectory with F.  The reason that the maximum achievable throughput is less than the number of  flows  is the fact  that there is a non-zero value for  the probability of  error at the maximum throughput point. Figure 4.13 shows how these two trajectories move on the surface  of  Smax as a function of  F  and k.  It can be seen from  the figure  that the two trajectories start and finish  at different  values for  Smax however they agree at several points around the optimum value and at the optimum value as well. The two trajectories can be thought of  as the path that a search algorithm uses to find  the maximum value in a matrix of  throughput values with rows representing k  and columns representing F.  If  the search algorithm spans rows, it follows  the trajectory against F  (solid line), otherwise it follows  the trajectory against k  (dotted line) and both will lead to the same maximum throughput value. The previously mentioned scenarios show that there is an optimum choice for  the number of  orthogonal codes (maximum number of  flows)  N  that can be multiplexed on a single wavelength channel using OCDMA. With the parameters used in this numerical analysis, up to F  = 37 flows  can be multiplexed over the same wavelength. Figure 4.2: Effect  of  number of  flows  and code weight on BER of  OOK OCDMA trans-mission (h  = 5). \ \ \ 1 \ -• v -h = 5 , F = 20 h = 3 , F = 20 h = 5 , F = 30 \ 2 . 4 6 8 10 12 14 Figure 4.3: BER operational regions for  OOK OCDMA transmission (X  = 1024 bits). * <D a. Figure 4.4: 10'ftoo Optimum BER as a function  of  code length and code weight. Figure 4.5: Throughput of  a single sub-wavelength OCDMA switched channel with 50 orthogonal codes as compared to the throughput of  50 DWDM wavelength switched channels (X = 1024). Figure 4.6: Throughput of  OC-GPMLS core switching as a function  of  the number of sub-wavelength multiplexed flows  and code weight. F Figure 4.7: Effect  of  the number of  sub-wavelength multiplexed flows  on the throughput of  OC-GMPLS core switching. 25 20 15 cn 10 5 0 2 Figure 4.8: 4 6 8 10 12 14 16 k Effect  of  code weight on the throughput of  OC-GMPLS core switching. F = 20 21 22 23 -50 n 40 30 -j V) 2 0 -1 0 -0 1000 5 n Figure 4.9: Effect  of  code weight and code length on the throughput of  OC-GMPLS core switching at optimum optical threshold value (h  = k)  under the maximum switching capacity condition. 20 15 * W 10 5 5000 X 10000 k Figure 4.10: Effect  of  code weight and packet length on the throughput of  OC-GMPLS core switching at optimum optical threshold value (h  = k)  under the maxi-mum switching capacity condition. 10 20 30 40 50 60 70 80 90 Figure 4.11: Trajectory of  maximum throughput of  OC-GMPLS core switching against number of  multiplexed flows  for  code length = 900 chips and packet length = 3000 bits using optimum optical threshold value h — k. Figure 4.12: Trajectory of  maximum throughput of  OC-GMPLS core switching against code weight for  code length = 900 chips and packet length = 3000 bits using optimum optical threshold value h = k. Figure 4.13: 3-D trajectories of  maximum throughput through number of  multiplexed flows  (solid thick line) and code weight (dotted thick line) for  code length = 900 chips and packet length = 3000 bits using optimum optical threshold value h — k. 4.6 Concluding Remarks Using OOK in association with Fiber Tapped Delay Line correlators to implement OC-GMPLS and assuming a uniform  label assignment algorithm, we were able to provide a mathematical analysis for  the core switch performance  of  OC-GMPLS. Our mathematical analysis started by deducing an expression for  the MAI induced BER, which we have used to find  an expression for  the average switch throughput as a function  of  physical layer parameters such as the BER, code length and code weight as well as network layer parameters such as the number of  multiplexed users and the average packet length. Analyzing the switch throughput performance,  we were able to show that there is a design tradeoff  between maximizing the throughput of  the core switch and increasing the maximum number of  multiplexed flows  on the same fiber  and wavelength channel. Our numerical results show that there is an optimum point which maximizes both objectives. We have found  the optimum point using a simple search algorithm that finds  the max-imum value in a matrix of  the throughput values via sequential search either through columns first  or rows first. The mathematical analysis reveals that the system has different  operational regions. Each of  the operational regions has different  characteristics. Some of  these operational regions are not practically useful  and should be avoided such as the case where the optical threshold .is larger than the code weight (h>  k).  Other different  regions fit  particular application requirements. The MAI error free  region is useful  where high transmission reliability is needed. It guarantees zero MAI errors while it does not necessarily achieve the maximum system capacity in terms of  throughput and number of  multiplexed flows. On the contrary, when throughput and capacity are all that matters, reliability can be sacrificed  by multiplexing more users while allowing for  higher BER. Our analysis shows, however, that this trade-off  has a limit after  which adding more users (flows)  to the system would degrade both the BER (reliability) and the average throughput (capacity). Throughout the work in this chapter, we have assumed the use of  On-Off  Keying (OOK) as a digital modulation technique. Although OOK is the most common mod-ulation technique in optical communications, it-introduces several practical challenges. In the next chapter, we address the practical challenges introduced by using OOK and propose a modulation method that can overcome these issues while delivering a BER performance  that asymptotically approaches the BER performance  of  OOK. Chip-Level Modulated B P P M Fiber-Optic CDMA In Chapter 4, we have discussed the throughput of  core switching using OC-GMPLS with OOC time encoded OCDMA and OOK digital modulation. In this chapter, we will focus  on the digital modulation aspect of  OCDMA transmission systems. Our aim is to propose a modulation technique that achieves a BER close to that of  OOK while overcoming the synchronization and source activity detection problems introduced by OOK. Our proposed modulation method is called Chip-Level Modulated Binary Pulse Position Modulation (CLM-BPPM). The rest of  this chapter is organized as follows.  We provide a brief  introduction in Section 5.1. In Section 5.2 we describe the operation of  the proposed CLM-BPPM modulation technique, its different  variations and how it can be implemented using an all-optical system. Section 5.3 provides a channel model for  CLM-BPPM transmission as part of  a framework  for  modeling the system performance  mathematically. In Section 5.4, we derive a generalized expression for  the BER of  the CLM-BPPM due to Multiple Access Interference  (MAI) under ideal channel conditions. We use the generalized BER mathematical framework  to deduce an expression for  the BER of  a variation of  the CLM-BPPM that uses absolutely timed detection and ' 1'-value first  chip conflict  resolution. Finally, Sections 5.5 and 5.6 provide numerical results for  the performance  of  the CLM-BPPM followed  by concluding remarks on the work presented in this chapter. 5.1 Introduction Classical optical transmission systems use the OOK binary modulation scheme to send data over the power of  optical carriers. With OOK it is difficult  for  a receiver to perform clock recovery or to differentiate  between active sending '0' and idle states of  the source. An alternative scheme called Binary Pulse Position Modulation (BPPM) has been pro-posed as a binary modulation scheme for  optical fiber  transmission [45,82]. Pulse Position Modulation (PPM) techniques guarantee a transition at least every bit duration, which simplifies  the clock recovery at the receiver side. PPM also guarantees that an optical signal is transmitted for  any value including a '0' bit value as long as the source is active. This means that the only case where there will be no light detected at the receiver for an entire bit duration is when the source is idle. This simplifies  source activity state detection by the receiver. PPM modulation techniques proposed in the literature are all based on performing  the position modulation at the bit level then spreading the modu-lated signal (M-symbol pulse) using the optical spreading code. This results in disturbing the spreading code correlation properties over the bit duration. This disturbance can be demonstrated by observing the scenario where a ' 1 '-bit spread using OOC and bit level binary PPM is received with a half  bit time-shift.  This time-shifted  bit can be interpreted by another receiver as a 'O'-bit interference,  which means that active users sending both ' l'-bits and 'O'-bits contribute to 'O'-bit detection errors. The same scenario applies to the T-bit detection case. This degrades the system performance  unless strict bit level synchronization between different  users is applied, which is practically difficult. In this chapter, we propose the use of  a modulation mechanism that uses the value of the optical bit to perform  BPPM of  the chip pulses of  the optical spread signal generated using an Optical Orthogonal Code (OOC) for  time spreading. We call this mechanism Chip-Level Modulated Binary Pulse Position Modulation (CLM-BPPM). This mecha-nism preserves all the properties of  the classical bit level PPM with the added advantage of  maintaining the spreading code correlation properties over the entire bit duration. We propose several variations of  the mechanism based on detection and chip conflict resolution methods. In our effort  to analyze the performance  of  the proposed scheme, we derive a general mathematical framework  that can be applied to any optical time spread OCDMA system. Our mathematical framework  takes into consideration for  the first  time the effect  of  the source activity average statistics on the bit error rate of  the system. We apply our mathematical framework  to one variation of  the CLM-BPPM mechanism and show that the performance  of  our proposed system is very close to the OOK system with equal asymptotic BER of  the two systems at full  source activity conditions. 5.2 Proposed Chip-Level Modulated BPPM (CLM-BPPM) Now, we present a novel OCDMA incoherent transmission method using the principles of  BPPM for  the binary modulation case, which can be readily extended to M-ary Pulse Position Modulation (M-PPM) for  the M-ary modulation case. The BPPM can be viewed as a generalized version of  the Manchester coding scheme. Our proposed OCDMA transmission method is called Chip-Level Modulated Binary Pulse Position Modulation (CLM-BPPM) OCDMA. CLM-BPPM OCDMA has several variations (options) depending on the detection methods used by the receiver and the chip conflict  resolution methods (i.e., the methods used to resolve the case where a '0' chip and a '1' chip interfere).  We have three detection methods at the receiver: Absolutely  Timed  Detection, Untimed  Detection,  and Differentially  Timed  Detection.  The chip conflict  resolution can be one of  three methods: 'X'-Value  First,  Majority  with Random  Resolution,  or Majority  with X'-Value  First.  Later in this section, we will describe the functionality  of  each of  these techniques. 5.2.1 Modulation Method The modulation method refers  to how the '1' and '0' bit values are represented at the optical CDMA signal level. CLM-BPPM modulation is described as follows  (see Fig-ure 5.1). Each chip duration T c is divided into two slots. If  a source is generating a binary '1', it will produce a short pulse of  duration T c/2  that occupies the second half of  T c. This pulse will go through the different  fiber  delay lines of  the ODLC encoder to generate the spread signal. The spread signal will consist of  k  pulses each with duration Tc /2 at the second halves of  the marked chip locations determined by the spreading code within the n chip location occupying a full  bit duration TJ,. At the receiver side, after  the de-spreading operation is performed  in the ODLC decoder, the detection device will sense a low-to-high transition in the middle of  the chip duration, which represents a binary '1' in our BPPM scheme. On the other hand, if  the source is generating a binary '0', it will produce a pulse that occupies the first  half  of  the chip duration, which will be seen as a high-to-low transition by the detector. This high-to-low transition represents a binary '0' in the BPPM scheme. If  there is no low-to-high nor high-to-low transition detected by the receiver within a chip duration, the source is assumed to be idle 'IL' during this chip6. For this transmission method we use an OOC spreading code family  composed of N  orthogonal codewords each has a code length n and code weight k.  Accordingly, the relation between T c and T^  is given by: This modulation method is the common base to all variations that we propose in this section. It provides for  an easier clock recovery mechanism, because at least k  transitions 6Note that this is different  from  a source being idle for  a bit duration (i.e., sending no data) in which case it will have 'IL' for  all chips over an entire bit duration. I i I i II I I I I I I i I n : :nn i i i i i i i i i i u a i i i I I ! I I I I I n n i i i / I M i i i i •Data bit Output of •modulated laser source Output of ODLC encoder Figure 5.1: CLM-BPPM modulation method. every bit duration are guaranteed when the source is active whether it is sending a '0' or a '1'. It is also possible for  the receiver to detect idle source states when it detects no transitions within an entire bit duration. The receiver for  this method uses a passive correlator detection architecture utilizing matched filter  optical correlators based on fiber tapped delay lines. The receiver, however, performs  photon counting over individual chip durations in order to detect the bit value (in this case it counts the photons in the signal resulting from  the optical correlator). In this sense our receiver can be considered as a type of  chip-level based detector. 5.2.2 Transceiver Architecture Although we propose several alternative methods for  the receiver operation, our proposed transceiver architecture is not affected  by these variations. The architecture of  the CLM-BPPM OCDMA transceiver is shown in Figure 5.2. As can be seen from  the architecture, in order to be able to modulate the chip with the BPPM data, we use a modulated laser source, which is controlled by the digital data source. The laser produces a pulse that has a duration T cj2 and its timing within the chip duration is controlled by the data source to represent the BPPM scheme described earlier. The laser source is connected to the ODLC encoder, which spreads the signal in the time domain by producing lower energy replicas of  the pulse at the positions marked for  pulse transmissions corresponding to the locations of  l's in the OOC used. The output goes into port 1 and out of  port 2 of  the 3-port circulator C3. It then couples through a 50:50 optical splitter to the fiber  line via port 1 and port 2 of  both circulators; Cl and C2. The receiver part is connected through port 3 of  C3, which has port 2 connected to the optical splitter. The signal on the fiber  follows  the paths shown with grey and dotted arrows through circulators Cl or C2. The signal is reverse coupled into port 2 of  C3 through one of  the splitter's output ports and an Erbium Doped Fiber Amplifier (EDFA). The signal leaves the circulator through port 3 and goes into the ODLC decoder. The ODLC decoder perform  despreading, optical threshold detection and optical timed gating (sampling) of  the correlated received optical signal. It feeds  the resulting optical signal into the optical detector. The detector changes the signal from  the optical format domain 2 domain Figure 5.2: CLM-BPPM OCDMA transceiver architecture. 1 ri 1 r-i n n i I I I ! I i I i 1 II 1 J~L 11 11 11 11 > -I ! I I tin 1 ,\ > + 4 _EL XI r 1 Detected bits Optical threshold Output of ODLC decoder Output of thresold detector Untimed detection . Absolutely timed detection . Differentially timed detection Figure 5.3: Illustration of  different  detection methods. into the electrical format  and feeds  it into an electric CLM-BPPM demodulation circuit. The CLM-BPPM decoder decodes the signal into its original bit format.  The optical detector is also connected to a synchronization block, which extracts clock phase and frequency  from  the received signal. The local clock is used to derive both the CLM-BPPM demodulator and an optical timed gate controller, which controls the timing of the optical timed gating operation in the ODLC decoder. 5.2.3 Detection Methods After  a signal is modulated, spread, and sent by the transmitter, the receiver is required to despread the signal then perform  a detection operation in order to convert the signal from its binary modulated form  into its bit logic values of  '1' or '0' bits. The latter operation is referred  to in our work as the detection  method.  In the following  we introduce three different  detection methods (Figure 5.3) based on the correlator receiver architecture with optical threshold detection. Absolutely Timed Detection is based on allowing detections of  chips only at certain chip locations. For the correlator receiver, the detection is performed  only at the chip next to the last chip of  each bit duration T b. Using this method, any erroneous chip value within T b that exceeds the threshold due to MAI effects  will be masked out by the detection process except if  this situation happens at the intended detected chip. This will greatly reduce the error rate of  the receiver. However, this type of  detection is greatly dependent on continuous synchronization between the transmitter and the receiver. Any drift  or loss of  synchronization will have a large impact on the system performance. Untimed Detection is a detection method where the optical receiver completely relies on the. value of  the chip regardless of  its position within the bit duration. This means that as soon as the photon count over a chip duration exceeds the threshold value, the detector detects a bit value (either '1' or '0' depending on the BPPM demodulation). This happens even if  two chip pulses with energies higher than the detection threshold occur within the same bit duration T b. Accordingly, if  these two pulses occur within the same bit duration the receiver will detect two bits within one bit duration. This will cause an erroneous detection, however, implementing this method is easier since no bit level timing information  needs to be communicated between the transmitter and the receiver. Differentially  Timed Detection requires that two chips exceeding the threshold value can be detected as a '1' or '0' bit if  and only if  they are separated by a time duration greater than or equal to one bit duration T b. This means that if  two chips with energy values greater than the threshold are received with time separation less than T b, the second chip will be ignored. This method is less strict in terms of  synchronization requirements than the absolutely timed method. It is, however, expected to perform better than the untimed method due to the fact  that it omits an erroneous situation that is detected in the untimed method as a legitimate bit. / I I p i 1 I 1 Chips at output of  threshold detector Majority with '1'-value first Majority with 'O'-value first 1'-value first 3. & > *: y a • > w <"B c/i O I Si a 'O'-value first  ) t CL O TJ v> Figure 5.4: Illustration of  different  chip conflict  resolution methods. 5.2.4 Chip Conflict  Resolution Methods Due to the fact  that in our BPPM modulation scheme both '1' and '0' bit values result in an optical signal with equal energy values, situations may happen where the MAI can cause a '1' and a '0' chip pulse to interfere  at the receiver side. The conflict  resolution methods aim at resolving these conflicts  once they happen based on a strategy that will allow a '1' or a '0' chip value to be detected rather than assuming a detection error. This way the bit error rate of  the system can be reduced. We propose here three different methods to resolve chip conflicts  (see Figure 5.4). 'X'-Value First method is based on preassigning a priority to '1' chip value or '0' chip value (the 'X'-value, where X ' £ {T,'0'} ). Meaning that if  a chip conflict  happens, it is always detected as either a '1' or a '0' based on the preassigned priority. This results in a simpler receiver architecture, since no comparison process is required. However, this method is biased towards one of  the chip values (the value that has the priority) and will have different  performance  results depending on the pattern of  the bits generated by the transmitter. Majority with Random Resolution performs  counting of  the photons over the two halves of  the chip duration. If  the majority is in the second half  of  the chip duration, the chip is detected as a '1', otherwise it is detected as a '0'. In case of  equality, a random selection with probability ps is performed  to decide on a '1'. Otherwise, a '0' decision is taken. This method provides a fair  treatment for  '1' and '0' valued chips, but it requires photon counting over each half  of  the chip duration separately then a comparison. Majority with 'X'-Value First is the same as Majority  with Random  Resolution with the difference  that in case of  equality, preference  is given to 'X' chip value (either '1' or c0' depending on the value chosen for  'X' in the scheme). 5.3 MAI Channel Model In order to focus  on the effect  of  user multiplexing on the performance  of  the proposed CLM-BPPM method, we assume an ideal channel that has zero dispersion, zero loss, and zero noise. Generally speaking, a nominal value of  acceptable BER in a MAI interference-free  optical transmission system is in the order of  10 - 1 2 . In our analysis we consider MAI interference  levels that produce higher BER values. This allows us to focus  on the MAI effect  and neglect the optical noise effects.  For noise models in optical communications and their effects  on BER performance  the reader is referred  to [83,84]. We will also assume that all the optical components are ideal. The splitters are assumed to divide the power equally among the different  branches without any losses or distortion. Furthermore, perfect  synchronization between the transmitter and the receiver at the chip duration level is assumed. The optical lightwaves at the couplers are assumed to be incoherent, hence, they will be recombined through simple addition of  pulse energies (we neglect any electromagnetic coupling or interference  effects  between the recombined lightwaves). In our system the optical detector detects the data bit based on photon counting over every chip duration at the output of  the ODLC. In an ideal system that has zero MAI effects,  the output of  the ODLC decoder after  the threshold detector should match Figure 5.5: General CLM-BPPM OCDMA channel model. chip-by-chip to the input from  the laser source to the encoding ODLC with a time shift equal to T b (see Figure 2.4 in Chapter 2). When the optical threshold detector device passes a pulse, the chip detector uses the pulse position within the chip duration T c to decode the bit as explained earlier. If  the receiver does not detect a chip pulse during a chip duration it assumes an idle chip. A chip can have one of  three states: idle ('IL'), carrying a logical one ('1') or carrying a logical zero ('0'). Thus, the channel can be modeled as a tristate channel. Figure 5.5 demonstrates the general channel model. For each of  the transmission technique vari-ations described in Section 5.2, the conditional probabilities of  receiving state j given that state i was transmitted {P(j  | i) : i,j 6 l = {'0','1','IL'}} takes different  values, resulting in a different  probability of  error. The correct decision space C = {{i,j)  • i,j G B} is defined  as the set containing all the ordered pairs (i,j)  of  points connected by horizontal lines in Figure 5.5, where i represents the transmitted value and j represents the received (detected) value . This is given by: C = { (T I T) 1 ( ' 0 ' , { 0 , ) , ( ' IL , ) ' IL ' )} . Hence, the error space E = {(i,j)  : i,j £ B} is defined  as the space containing all the pairs of  points in Figure 5.5 that are not connected by horizontal arrows and is given by: E = ®2 - C , where B2 is the ordered cartesian product of  B by itself. Using the general channel model, the probability of  error can be expressed as: Pe = ^TP(j\i)  . .(5.1) E Due to the assumption of  zero attenuation on the channel and perfect  chip-level synchronization between transmitter and receiver, the probability of  detecting an idle chip given that a chip was sent to represent a '1' or a '0' bit is equal to zero. Accordingly, P('IL' | T ) = P('IL' | '0') = 0 , (5.2) which means that we have E = {C0' , ' l ' ) , ( ' r , '0 ,) )(1IL' ,10') , ( ' IL' , ' l ' )} (5.3) Figure 5.6: Ideal CLM-BPPM OCDMA channel model. Figure 5.6 shows the particular channel model for  an ideal CLM-BPPM scheme satisfying (5.2), where all branches with probability equal to zero are eliminated. Depending on the modulation method, the detection method, and the bit conflict resolution method, the expression in (5.2) can have different  values. The changes in (5.2) can be mainly categorized into two main categories: • Reduction in the cardinality of  the set E due to having P(j  | i) = 0 for  some pairs. This can be caused only by changing the chip conflict  resolution mechanism. • Changing the values of  P(j  | i) for  some elements (i,  j) G E. This can be caused by changing any of  the modulation, detection or chip conflict  resolution methods. 5.4 Performance  Analysis The system performance  is measured in terms of  the bit error rate (or probability of error Pe) due to MAI only. In order for  the analysis to be mathematically tractable, the encoding and decoding of  the spread spectrum optical signals is assumed to be performed in a chip synchronous manner. This means that time elapses in steps of  Tc, where T c is the duration of  one time chip and the transmitter and receiver are perfectly  synchronized at the chip level. This assumption means that the performance  analysis we give here is the worst case performance,  i.e., a lower bound on the performance  similar to that generated by [66]. In the following  analysis, we consider a system of  N u users (optical sources). We assume that a given optical source numbered x (called the intended  source) uses codeword Cx €  C, where C is a family  of  N  orthogonal codes and x £ {1, 2, ...N}.  Each codeword has a code weight (number of  pulses per codeword) k  and code length n chips per codeword. Each of  the remaining N u — 1 users in the system uses a distinct codeword {C y : Cy 6 C,y e {l,2,...N},y^x} The general parameters controlling the system performance  are: 1. The number of  users N u in the system. 2. The threshold value h of  the optical threshold detector. 3. The number of  orthogonal codes N  in the OOC family. 4. The code weight k  of  the OOC. 5. The code length n of  the OOC. In our analysis, we will consider configurations  having the following  parameter con-straints: N u < N (5.4) h < k (5.5) N  > h . (5.6) The condition in (5.4) guarantees that only the effect  of  interference  between orthogonal codes is taken into consideration (i.e., we do not consider code reuse among users). The maximum user capacity (and at the same time highest level of  MAI) for  the system is reached when equality holds [15,25]. What (5.5) ensures is.that the system is within its operational region (i.e., capable of  detecting the intended signal). This can be explained by noticing that for  h > k,  the system will not be able to detect the intended signal at the output of  the decoding ODLC since the threshold value will be larger than the total energy of  the recombined chips [25]. Finally, (5.6) tells that our system is working on the region where MAI can cause detection errors, for  if  the number of  users N u was less than the threshold value, the total MAI energy at a single chip location will be less than the threshold value and will always be eliminated producing an error-free  system [25]. 5.4.1 BER Mathematical Analysis Framework A general model for  the bit error rate (BER) (or probability of  error) of  the system presented in this chapter starts from  (5.1). Our goal is to derive generalized expressions for  each of  the different  conditional probabilities in (5.1). Consider a system that consists of  N u users using spread codes with code length n chips and code weight k  pulses per bit. Assuming that users have independent transmis-sions with uniformly  distributed arbitrary delays between them, there are k2 ways, with probability 1/n each, that a pulse from  an interfering  user y using spread code Cy will interfere  with a pulse location in code Cx used by intended user x. Knowing that for a family  of  optical spreading codes that minimize the cross correlation (such as Optical Orthogonal Codes), a maximum of  a single chip overlap is allowed between any two dif-ferent  codes Cx and Cy where x j- y, the probability (q)  of  an interference  from  user y to occur during a period of  n chips (i.e., a one bit period) given that source y is active can be expressed as follows  [53]: Assuming that a source y is active with probability PA  and transmits '1' bits when active with probability P 1 ; we can find  the two probabilities that source y is interfering with a '1' bit value (qi) or with a '0' bit value (qo) as follows r, „ k2 qi=PAPi- n q0 = PA(l-Pi)-  • (5.8) (5.9) We assume that at any point in time, out of  the N u — 1 possible interfering  sources there are I sending '1' bits and to sending '0' bits while the remaining are either idle 'IL' or active but not interfering  with the intended transmission. I and m satisfy  the following conditions: 0 < / < . / V u - 1 , 0 < t o < . / V u - 1 and I  + m < N u - 1. Therefore,  the joint probability of  having I  ' 1 '-interferes  and m 'O'-interferers  at any of  the k  pulse locations of  the intended source i is given by the multinomial distribution with parameters qi, qo, N u — 1, I  and to (5.10) where (N u - 1\ (N u - l \ ( N u - l - l\ \ l,m j \ i j \ to j ' The number of  interferers  is not the only factor  that governs the occurrence of  errors in an OCDMA system using OOC. The error events are greatly affected  by the pattern of  the interference  (i.e., the number of  interferers  in each of  the k  slots corresponding to the positions of  pulses in the intended source code Cx). We introduce two fc-dimensional vectors to represent the patterns for  '1' and '0' interferences.  These vectors are given by 7?(/) = jai(Z) :<Xi(l)€  {0,1,- •• , /}, i = 1,2, • •• , /c j , (5.11) where oti(l)  is the number of  '1'-interferers  in a slot corresponding to the location of  pulse number i in the intended source code Cx given that there are I  '1'-interferers  and 7?(m) = | f t (m) : f t (m)  € {0,1, • • • , m}, i = 1, 2, • • • , fcj  , (5.12) where Pi(m)  is the number of  'O'-interferers  in a slot corresponding to the location of pulse number i in the intended source code Cx given that there are m 'O'-interferers. By definition,  the following  two conditions for  OOC based time spreading must apply to the interference  pattern vectors k ^£*i(Z) = Z (5.13) i=1 fc ^ f t ( m ) = m .  (5.14) i = l For different  values of  I and m there exists a set F; of  'l'-interference  patterns ~a (I) and another set Gm of  'O'-interference  patterns P (m)  that satisfy  (5.13) and (5.14) respectively. Mathematically, we define  Fi and Gm as follows * = = a t = 0,1, - - • (5.15) G m = | 7S:J^Pi  = m, pi = 0,1 (5.16) Next, we deduce the joint probability P(~a  6 Fi, P e G m j l,m) that interference patterns ~a(l)  and /? (m)  happen given that there are I  '1'-interferers  and m 'O'-interferers in the system. We observe that given I  and m, the events {~a  G F; | 1} and {/? £ Gm \ m} are independent. Hence, P(  a G F,, G G m | I,  m) - P{a  € F, | l)P0 G Gm \ m) . (5.17) The problem now reduces to finding  the probabilities P{~a  G F; | /) and P((3  G Gm \ m) separately. With I  independent users, each sending a '1' bit (with k  chips) and introducing exactly one chip overlap with any other user in the group (due to the use of  OOC as spreading codes), the problem of  finding  the probability of  different  user interference  patterns re-duces to the problem of  choosing I  elements out of  k  elements with replacement, which can happen in k l equally probable ways each with probability 1 jk l. However, what matters in our system is the chip interference  pattern itself  regardless of  the particular pattern of  users producing it. Having said that, we notice that the number of  different user interference  patterns that produces the same chip interference  pattern ~a(l)  is given by the multinomial coefficient  ' (  1 )  =  ( l)( l~ ai)  ( ak)=  11 t=i Consequently, P(^e¥ l\l)  = / k 11 . (5.18) n "i! fc' \i= 1 J Similarly, —• vn) P(P  G Gm | m) = k . . (5.19) Substituting (5.18) and (5.19) into (5.17) we get —> /I m,! P( c? G F ;, 0 € G m | i, m) = — . (5.20) m a<! AM k l + m For each of  these interference  patterns, there is a group of  associated conditional transition probabilities P(j\i,^£  F^eGm)  (5.21) that specifies  the probability of  receiving (detecting) value l j ' given that value 'i'  was transmitted given that we have interference  patterns ~a(l)  and P (m)  on the channel. Using the aforementioned  arguments, we can deduce that a general expression for  the probability of  error is given by PU\i) Nu-1  Nu-i-i  PCct  GF I,  (5  E Gm | I,  m) Pe = Y,pui*)  = £ £ £ £ ^ • e e 1=0 m=0 ^ e G m x P ( j  | i, 0? e F,, e G m ) P(j|i I i,m) (5.22) The terms in (5.22) are defined  in (5.10) and (5.20). The only term that is not defined mathematically is the term given by (5.21). In fact,  this term cannot be defined  in a general manner since it is completely dependent on the methods used for  modulation, detection and chip conflict  resolution described in Section 5.2. Up until here, the assumptions made on the OCDMA system are that it is using time spreading with OOC spreading codes and its receiver is a correlation based receiver. The fact  that we have built our model for  a transmitter that has only three states can be easily relaxed to extend the model to any M-ary system using exactly the same methodology provided in this section. Hence, the framework  provided in this chapter can be used to deduce the BER for  any OCDMA system that fits  the aforementioned  assumptions. 5.4.2 BER for  Absolutely Timed Detection with '1'-Value First As an application to our derived generalized BER (P e) expression we consider the case of  absolutely timed detection and 'l'-value first.  The absolutely timed detection with matched filter  ODLC decoder is equivalent exactly to the optimum matched filter  receiver described in Chapter 2. This means that the detection variable is the sum of  photon counts over all the location of  the pulses within a one bit duration spreading code. On the other hand, the use of  the 'l'-value first  chip conflict  resolution method means that any '0' and '1' chip interference  will be detected as a '1' chip. This means that a pulse with value '1' sent by the transmitter can never be detected in error as a '0' at the receiver; mathematically we have P('0' | '1') = 0 , which produces E = {('0','1'),(TL','0'),(TL','1')} . (5.23) This means that we need to calculate only P(j  \ i) where ( i , j) G E as defined  in (5.23). We will start by deducing an expression for  (5.21) for  different  values of  (i,  j) E E then use that to find  P(j  \ i), hence, the BER for  the scheme. Starting with the case (i,j)  = ( '0 ' ,T), a '0' sent by the transmitter can be detected as a '1' by the receiver if  and  only if  the number of  '1'-interferers  is greater than or equal to the threshold (I  > h) regardless of  the number of £0'-interferers.  Consequently, P ( ' l ' | ' 0 ' , a e¥ l}(3  G G m ) = P('O') < 1 I  > h 0 elsewhere (5.24) where P('O') = PA{ 1 — Pi) is the probability of  intended source active and sending a '0' bit. Similarly, for  the case (i,j)  = ('IL','1') we have P ( T | 'IL',"a G (5  G G m ) = P('IL') 1 I  > h 0 elsewhere (5.25) where P('IL') = (1 — PA)  is the probability that the intended source is idle. Examining the case (i,  j) = ('IL', '0'), we find  that an idle 'IL' source can be detected as sending a '0' by the receiver if  and  only if  (m>  h and I  < h). Hence, P('0' | 'IL', a 6 Fi, /3 G G m ) = P('IL') < 1 m > h, I  < h 0 elsewhere. (5.26) Substituting (5.24), (5.25) and (5.26) into (5.22) results in N u-1 Nu-l-l h-l  Nu-l-l Pe = (l-^i)E E P{l,m)  + (1-P A)J2  E P(l,m)4>(l,m)  , (5.27) where 1 I  + m < N u - 1 4>(l,m)  — < 0 elsewhere. is used to account for  the fact  that the summation in the second term does not contribute any values for  choices of  I  and m that violate the condition I  + m < N u — 1. With some algebraic manipulations (as shown in Appendix B) (5.27) can be reduced to (5.28) which provides an expression for  the probability of  error for  CLM-BPPM OCDMA system with absolutely timed detection using 'l'-value first. Pe = l - PAPI  + E p( l) [(!  - PMl)  - (1 - PAPI)}  - (1 - PA) E E mMZ) (=0 \ 1=0 m=0 (5.28) h-l h-l  h-l where t o - ^ r 1 ) and 1 I  < N u - 1 - h m = 0 elsewhere. 5.4.3 Optimal Choice of  Parameters As discussed in Chapters 3 and 4, there is a tradeoff  between the parameters affecting the BER of  the system. In particular, the choice of  the threshold h and the maximum number of  multiplexed users (number of  orthogonal codewords) N  affects  both the system capacity as well as the BER. The optimum value for  the BER will be a zero value, which is achieved if  and only if However, fulfilling  this condition reduces the system capacity in terms of  the number of multiplexed users to a great extent. Another alternative is to aim at maximizing the system capacity by choosing the value of  N  to be the maximum value supported by the given code design defined  by k  and n. This value is achieved by choosing N  according to N  <h<k. (5.29) k{k-  1) (5.30) which (under the assumption that n is chosen such that k(k  — 1) divides n — 1 as shown in Chapter 6) results in an optimum code length nopt given by nopt = Nk(k  - 1) + 1 . (5.31) Given this as a system constraint, we can maximize the system performance  by choosing the value of  the threshold h to be the optimum threshold hopt given by h = hopt = k  , (5.32) which minimizes the BER for  an OCDMA using OOC and optimal correlator receiver [25]. 5.5 Numerical Results The different  parameters that affect  our system performance  are the code length n, the code weight k,  the number of  users N u, the optical threshold h, the probability of  activity per source PA,  and the probability of  an active source sending a '1' bit Pi. In our results, we assume that Pi = 0.5 and the system is working with optimal threshold value h = k unless otherwise stated. We use simulation as well as the analytical model provided earlier in this chapter in order to derive three main sets of  results. In the first  set of results we compare the analytical model with simulations in order to verify  both under different  system parameters. We then provide a more comprehensive set of  results that shows how the different  system parameters affect  the BER performance.  The last set of results focuses  on the operation of  the system under the optimal parameter values that minimizes the probability of  error subject to using the maximum number of  multiplexed users as stated-in (5.31) and (5.32). It can be seen from  Figure 5.7 that our analytical results closely follow  the results obtained from  simulations for  different  system parameters. This verifies  the accuracy of our analytical approach. Figures 5.8 and 5.9 show that increasing the code length n decreases the BER Pe, which is expected because longer spreading codes with the same code weight means lower probability of  pulse overlap, which means lower probability of  error. It can be also deduced from  these two figures  that increasing the number of  users N u results in higher probability of  error due to the increase in the average number of  pulses overlapping at a single chip spot. This means a higher probability for  an overlap between number of pulses greater than or equal to the optical threshold h, which increases the probability of  detection errors. One thing that is worth noting in Figures 5.8 and 5.9 is that increasing the code weight k  results in decreasing Pe. This phenomena, which is verified  in Figure 5.10, contradicts the intuition that suggests that increasing the number of  pulses per code (code weight k) should result in higher probability of  pulse overlaps, which in turn will result in increasing Pe as can be deduced from  (5.27). However, if  we notice that for  an optimum system operation, we always set the optical threshold h to be equal to the code weight /c, we deduce that it is this assumption that produces the previously mentioned effect.  . In other words, an increase in the code weight is always coupled with an equal increase in the optical detection threshold h. What the results actually show is that an increase in h has more dominant effect  on reducing the Pe than the increase caused by increasing k.  The decoupling between the two parameters is demonstrated in Figure 5.11. Figure 5.11 shows how increasing the optical threshold h results in a significant  en-hancement in the system BER. It must be noted, however, that h is never allowed to be higher than the code weight k  in order for  the system to be working properly. The figure also shows that if  we fix  the value of  h, and increase k,  Pe in fact  increases as explained in the previous paragraph. In Figure 5.12, we investigate the effect  of  the source (user) average activity repre-sented by the probability of  source being active PA  on the BER. It can be deduced from the figure  that increasing the average source activity results in higher BER. Again, this is expected, because an increase in the average source activity means higher number of users sending '1' and '0' data bits, which means higher probability of  overlapped pulses. The same figure  also shows that generally speaking OOK slightly outperforms  BPPM in terms of  BER for  the same system parameters. Both techniques provide identical BER for  the case of  fully  loaded sources (PA — 1). However, OOK provides a slightly better BER, BPPM has the advantages of  easier synchronization (clock recovery) and having the ability to distinguish between an idle and an active source. Finally, Figures 5.13 and 5.14 show the behavior of  the system under the maximum N u Figure 5.7: Comparison of  BER from  mathematical analysis and simulation. : i N =7 i u N =8 I N s . N. \ N - 9 = u ; \ \ s \ \ —> 5 K \ \ \ N \ ' ~ • - • -J " -' — : k = 6 i 300 400 500 600 700 800 900 1000 n Figure 5.8: Effect  of  changing code length on BER. u Figure 5.9: Effect  of  increasing number of  users on BER. k Figure 5.10: Effect  of  changing code weight on BER. 10-3 1 0 " 4 lO"5 © CL-IO-6 10"7 1 0 - 8 h Figure 5.11: Effect  of  changing the optical threshold on BER (N u = 9). \ \ \ n = 611 n = 686 n = 774 " -\ v. v. -V \ S s \ s X v. \ X . ' X ' ' - C^O v x " • k = 6 \ N - "V . ^ \ i \ N ® in"11 Q. 1 0 P A = 0.5 BPPM P A = 0.75 BPPM P A = 1 BPPM - e - P A = 0.5 OOK - o - P A = 0.75 OOK — e — P A ~ 1 OOK 1400 Figure 5.12: Effect  of  increasing average user activity PA  on BER (k  = 7) Figure 5.13: BER for  a system using OOC with optimum code length. Figure 5.14: Optimum code length as a function  of  code weight and number of  users. 10000 8000 6000 g. 4000 2000 0 20 capacity condition given by (5.31) and minimum BER condition given by (5.32). It can be seen from  Figure 5.13 that the system BER has two regions; one with zero MAI errors, which is the region defined  by the condition N u < hopt and the other is a region with MAI errors. In the region with MAI errors the BER of  the system increases with N u and decreases with k  due to the associated increase in h. It must be noted, however, that the effect  of  the coupled change in k  and h on the BER is more prominent than the effect  of N u on the BER. This is demonstrated by the rapid non-linear change in Pe with k  and h as compared to the slower close to linear change in Pe with N u shown in the figure. Figure 5.14 shows the value of  nopt associated with each value of  Pe in Figure 5.13. 5.6 Concluding Remarks We have proposed a modulation method for  optical fiber  CDMA transmission based on encoding the bit level value at the chip level of  the spread signal using binary pulse position modulation, hence, the name Chip-Level Modulated BPPM (CLM-BPPM). Our modulation method maintains the advantages of  PPM modulation over OOK methods by allowing for  easier clock recovery at the receiver side as well as an ability to detect source activity. Moreover, our method surpasses the previously proposed PPM methods based on bit level modulation because it preserves the autocorrelation and crosscorrelation properties of  the optical spreading codes across the entire bit duration. An architecture for  an optical communication system that employs the proposed scheme is provided. We have provide several variations of  the main scheme based on applying different  methods for  detection and bit conflict  resolution. In order to evaluate the performance  of  our proposed scheme based on bit error rate (BER) due to multiple access interference  (MAI), we started by developing a general mathematical framework  to describe the BER in terms of  different  system parameters. Our mathematical model incorporated for  the first  time the average source activity statis-tics into the BER calculations. We have applied the developed framework  on one of  the variations of  our proposed scheme to get an expression for  the BER. Using our developed mathematical model we have numerically evaluated the BER of  CLM-BPPM with absolutely timed detection and '1'-value first  chip conflict  resolution and compared the results with simulation results to verify  the mathematical model. The comparison shows that our mathematical model accurately represents the system performance  under the given assumptions. From the results, we have seen that increasing the number of  users increases the BER due to the higher level of  interference  present in the system. Our results also show that if the optimality conditions are maintained, increasing the code weight enhances the system performance  due to the fact  that it requires increasing the optical detection threshold, which means higher ability to suppress MAI. Separating the changes of  code weight and optical detection threshold, we notice that in fact  increasing the code weight alone while fixing  the threshold results in increasing the BER. We have also examined the effect  of  the average source activity on the BER and have shown that increasing the average source activity increases the BER of  the system. Compared to an OOK system, our CLM-BPPM system has a slightly higher BER, but as the source activity increases (load is increased), both systems show closer BER values. Asymptotically, a fully  loaded system (P A — 1) produces the same BER for  OOK and CLM-BPPM. The results also demonstrate that the BER of  a CLM-BPPM system operating at the optimum BER point (h  = k)  is highly sensitive to changes in the code weight k,  which suggests that network designers should focus  more on choosing the optimum value for the spreading code weight. In this chapter, we have developed the CLM-BPPM modulation scheme for  OCDMA systems. We have also developed a general mathematical framework  for  calculating the BER for  time-spread OCDMA systems. The framework  was used to deduce the BER of our CLM-BPPM modulation technique. In the next chapter, we focus  on developing efficient  construction methods for  OOC spreading codes. Our aim is to develop a low complexity algorithm that can construct bandwidth-efficient  spreading codes. OOC Construction Using Rejected Delays Reuse In Chapter 5, we have proposed CLM-BPPM as a modulation method for  OCDMA systems. We have also developed a general mathematical framework  for  the BER of time-spread OCDMA systems and used our developed model to deduce the BER for CLM-BPPM. In this chapter, we shift  our focus  to the problem of  optical spreading code design. In particular, we focus  on the design of  OOC using greedy algorithms. We introduce a modified  element-by-element greedy algorithm for  constructing OOC with small code length given a certain code weight and number of  codewords. Our modified algorithm is called Greedy Algorithm with Rejected Delays Reuse (RDR). The rest of  this chapter is organized as follows.  Section 6.1 is a brief  introduction. In Section 6.2, we provide mathematical definitions  and representations for  OOCs and their main properties. Following that, in Section 6.3, an overview of  construction methods for OOCs as well as a detailed description of  a computationally efficient  element-by-element greedy algorithm for  constructing OOCs are provided. In Section 6.4, we provide a theo-rem that shows how the greedy algorithm provided in Section 6.3 can be enhanced then we introduce our new RDR construction method. In Section 6.5, we evaluate the effi-ciency of  OOCs generated using RDR as compared to those generated using the existing element-by-element greedy algorithm by introducing an efficiency  factor  that provides a quantitative measure of  the code's ability to expand sub-wavelength switching capacity. We call this factor  the expansion efficiency  factor.  In Section 6.6, we provide numer-ical results that show how our newly designed OOCs outperform  those designed using the original element-by-element greedy construction. Finally, we conclude the chapter in Section 6.7. 6.1 Introduction The use of  OCDMA as a multiplexing (switching) layer at the sub-wavelength level in Generalized Multi-Protocol Label Switching (GMPLS) networks was introduced in Chap-ter 3 by proposing the OC-GMPLS architecture. In order to use OCDMA, the optical signal is spread either in the time domain (temporal spreading) using Fiber Tapped Delay Lines or in the wavelength domain (spectral spreading) using Arrayed Waveguide Grating (AWG) or Fiber Bragg Grating (FBG). In both cases a spreading code is required. Opti-cal Orthogonal Codes (OOC) [66] are widely used as optical spreading codes because they achieve the optimum criteria for  unipolar {0,1} codes in terms of  their autocorrelation and crosscorrelation properties. However, efficient  OOCs are difficult  to construct. . In [85], Argon et al presented an algorithm for  constructing OOCs based on the extended set representation. Being a member of  the class of  greedy algorithms, the algorithm did not reconsider previously rejected delay elements in future  construction steps. In this chapter, we show that rejected elements at one step can in fact  be accepted in later steps. Based on this fact,  we propose a new algorithm called Greedy Algorithm with Rejected Delays Reuse (RDR) to construct OOCs. We show through our numerical results that OOCs designed using RDR are generally shorter than those constructed using the classical element-by-element greedy algorithm. In order to study the effect  of  using shorter codes on switching capacity we define  a switching capacity expansion efficiency factor  and show that shorter codes lead to higher expansion efficiency  factors,  which means higher switching capacity. 6.2 Definitions  and Mathematical Preliminaries In the following,  we provide some mathematical definitions  of  Optical Orthogonal Codes and their set theoretic representations. Then, we provide concrete mathematical formulas that can be used to deduce the interdelay set theoretic representation of  an OOC from its direct classical definition.  Using our mathematical representation, as well as the mathematical properties of  OOCs, we provide new proofs  for  two well known theorems on OOCs. In Chapter 3, we have stated the conditions on the autocorrelation and crosscorre-lation properties of  an OOC. In the following,  we provide a more mathematically solid definition  of  optical orthogonal codes and their different  properties. Definition  6.1. A (n,k,X a,X c) OOC, C with cardinality  \C\ = N,  is defined  as a family of  N  {0,1}-sequences  of  length  n and  weight k with circular  autocorrelation  TZXX(t) for  sequence X  €  C and  circular  crosscorrelation  1ZXY{t)  between any two sequences X,Y  £ C satisfying  the following  properties: where Xj  is element number j in code  X,  yj is element number j in code  Y  and  © represents  addition  modulo-n. In this chapter, we consider the case Aa = Ac = 1. We call this a (n, k, 1) OOC and will refer  to it as OOC for  simplicity. This is the case with the lowest multiuser interference  in an OCDMA system based on OOCs, which enhances the system performance.  To avoid trivial code constructions, we consider only the case where N  > 1 and n > k > 1. OOCs constructed using the above definitions  will constitute sparse matrices. A (n, k,  1) OOC consists of  an N  x n matrix with N  x k  T s (k  in each row) and the remaining elements being 'O's, where k « n. Thus, a direct representation of  an OOC is not convenient. It is more compact and mathematically tractable to represent an OOC by its set of  interdelays T between the locations of  the '1' bits in each codeword. Another representation of  OOC called the set theoretic  representation  uses sets that contain the k  T  = 0 (6.1) < A a r ^ O (6.2) column numbers of  the 'l 's in C. In the rest of  this chapter, we will use the set of interdelays T to represent an OOC. Each row of  T represents a codeword from  the OOC. The number of  rows is the number of  codewords and the number of  columns is the code weight. Definition  6.2. The  set of  interdelays  T for  an OOC C is the set that contains the differences  in column numbers (relative  positions) between any two adjacent  'l's  in each codeword  (row)  of  C, treating  each codeword  as a circularly  connected  subset. Formally, where Uj  is the jth '1'  bit in row (codeword)  number i, Uj  is element in row i and  column j of  T, and  col(cij)  — j is the column number of  element Cij €  C. col(lij+i)  - col(lij)  , 1 < j < k - 1 T — ^ " , 1 < i < N  , col(l u) + n- col(li,fe)  , j = k Definition  6.3. The  extended  set of  interdelays  T ext for  an OOC C is the adjoint  of  the set T with the set that contains the summations of  adjacent  interdelays,  up to (k  - 1) adjacent  interdelays,  in each row of  T, treating  each row as a circularly  connected  subset. Formally, qj+Uj IText  • ^ ti)V p, P~Qj Qj = 1 <i<N,  l<j<k(k-l), j- 1 k- 1 + 1, Uj = ( j - 1) mod (A; - 1), VP  — (P  ~ 1 m ° d A;) + 1}. In order for  a code to satisfy  inequalities (6.1) and (6.2), some conditions have to be satisfied  by T e x t , as stated by the following  theorem. Theorem 6.4. For  a set of  interdelays  T to represent  an OOC C, it must satisfy  two conditions: 1. The  set of  interdelays  T must have no repeated  elements,  i.e., U,j  tiiT ryi,j, l, m such that i ^ I  , j ^ m. 2. The  extended  set of  interdelays  T ext must have no repeated  elements,  i.e., e/ imVz,  j, I,  m such that i ^ I  , j ^ m. Proof.  Since, by definition  T C T ext, it suffices  to prove part 2 of  the theorem. Part 1 will follow  implicitly. From the definition  of  the autocorrelation and crosscorrelation functions,  given in (6.1) and (6.2) and knowing that £j € {0,1} and YI  G {0,1}, it follows  that TZXX(T)  represents the summation of  overlapping '1' bits between a codeword X  and its r-bits rotated version. Also, 7 Z X Y { T )  is the summation of  overlapping '1' bits between a codeword X and a r-bits rotated version of  another codeword Y. For an OOC, we require that Aa = Ac = 1. This means that for  any value of  r ^ 0 we require that there will be a maximum of  a single '1' bit overlap between a codeword and its r-bits rotated version. Similarly, for  any value of  r there will be at most a single '1' bit overlap between a codeword and a r-bits rotated version of  another codeword. Taking the case of  autocorrelation and denoting the r-bits rotated version of  X  by X,  we see that for  the case r = 0 all the '1' bits from  codeword X  will overlap with the '1' bits from  the 0-bits rotated version X. Since, we have k  '1' bits, we get Hxx{0) = ^ which satisfies  the condition for  TZ Xx{0)-  If  r ^ 0, without loss of  generality, we can always rotate X  and X  so that an arbitrary '1' bit from  X  overlaps with an arbitrary '1' bit from  X  at location ri = 1. Another '1' bit from  the sequence X  at location T\  + 5ra overlaps with a '1' bit from  the sequence X  at location T\  +.5rp if  and  only if  5ra = 5T@, where Sr m indicates the distance between the mth '1' bit and the location of  the first overlap Accordingly, a sufficient  and  necessary condition  for  a single overlap is that STQ  ^ 5ra for  all values of  a G [2, k] and /? G [2, k]. However, ST m ^ ^ ti j , j=2 which represents the elements e^ G T ext taking into consideration the arbitrary rotation performed  to make the first  '1' bit overlap at location T\  of  the codeword. Therefore, the sufficient  and  necessary condition  for  a codeword X  at row i of  C to satisfy  the autocorrelation constraint is Cij eiim\/i,  j, m such that j ^ m. Using the same method it can be shown that the sufficient  and  necessary condition for  two codewords X  and Y  at rows i and I  of  C to satisfy  the crosscorrelation constraint is Cij e, imVj, m such that j ^ wNi  ^ I. Combining both conditions we get Cij 7^  e;,mVi, j, I,  m such that i ^ I  , j ^ m, and the theorem follows.  • For a code that satisfies  Theorem 6.4, a Johnson bound [16] can be found  on its cardinality. This bound is given in the following  theorem. Theorem 6.5. For  a (n,k,  1) OOC, C, with cardinality  \C\ = N,  the following  inequality always holds Proof.  Using the set of  interdelays T to represent C, for  every codeword constructed there is a corresponding row T e x t ( r ) in the extended set T ext, where r is the row number, with cardinality |Tex j(r) | = k(k  - 1). From Theorem 6.4, none of  the elements {e rj e T e x t ( r )} can repeat in other extended subsets (rows) {e^ € T e x t ( i )  : i ^ r} for  other codewords in C. Hence, every codeword consists of  unique k(k  — 1) elements from  T ext. For a non-trivial  OOC C with length n > 1 and weight k > 1, we have 1 < eitj < n — 1. Accordingly, we have a pool of  n — 1 elements (integer numbers) out of  which we consume k(k  — 1) elements per constructed codeword. This means that the maximum number of constructed codewords N  is less than or equal to . Since this number must be an integer number, we have • 6.3 Classical Element-by-Element Greedy Method for  Constructing OOCs Designing an OOC can be formulated  as an optimization problem. An OOC design is the construction of  a set of  N  {0, l}-sequences with equal lengths n, and equal weights k that satisfy  the autocorrelation and crosscorrelation properties stated in (6.1) and (6.2) with Aa = Ac = 1, subject to minimizing n for  a given k  and N. The methods of  combinatorial designs are the roots of  many code design methods for OOC [86,87]. An OOC can be constructed using known combinatorial methods (designs) by appropriately mapping the OOC design problem into one of  the solved combinatorial design problems. Then the solution can be used to design the OOC. In [16], Chung et al proposed the greedy  algorithm  for  constructing the code set C as well as several other techniques. The proposed greedy algorithm incorporates an exhaustive search through all the possible (£) codewords in order to find  the codewords that satisfy  (6.1) and (6.2). These codewords constitute C. Later in the same paper, the authors proposed an accelerated greedy algorithm, which constructs C using an iterative method over its set theoretic representation. In [85], Argon et al presented a variation of  the accelerated greedy algorithm (Algo-rithm 6.1). The algorithm reduces the number of  construction steps by using an iterative element-by-element greedy construction method for  building the interdelays set represen-tation T of  an OOC. The algorithm starts with an empty set and uses two nested loops Algorithm 6.1 OOCGreedy Require: N  > 2, k > 2 Ensure: TZ Xx  < \,Uxy  < lVX.y € C such that X  ^Y 1: e «- 1 2: for  all i such that 1 < i < N  do 3: T ( i , l ) * - e 4: e e + 1 5: end for 6: for  j — 2 to k - 1 do 7: for  i = 1 to iV do 8: 0 <- FALSE 9: while ->0 do 10: T ( i , j ) < - e 11: O <— ChecklntermediateOrthogonal(T) 12: e <— e + 1 13: end while 14: end for 15: end for 16: O <- FALSE 17: for  all i such that 1 < i < N  do 18: m ^ ^ E T f u l 19: end for 20: M x <— max{mx(i)} i 21: while ->0 do 22: for  all i such that 1 < i < N  do 23: T(i,k)  *-e + (M x-mx(i)) 24: end for 25: O <- CheckCompleteOrthogonal(T) 26: e <- e + 1 27: end while to construct the set of  interdelays representation of  the designed OOC. At step {i,j), the outer loop points at codeword number i. All the codewords at rows {1, — 1} are of  length j, while the remaining codewords are of  length j — 1. The inner loop tries to find  the smallest possible untested interdelay element dj  at column number j to add to codeword (row) number i such that orthogonality conditions are satisfied. The functions  ChecklntermediateOrthogonal(S)  and CheckCompeleteOrthogonal(S) perform  the orthogonality check (i.e., ensure that Theorem 6.4 is satisfied)  of  the OOC under construction. These functions  are implemented by Algorithms 6.2 and 6.3 respec-tively. The major two steps in these functions  are: 1. construct the extended set T ext 2. ensure that there are no repeated elements in T e 2 ; t The difference  between the first  function  (Algorithm 6.2) and the second function (Algorithm 6.3) is in the first  step (i.e., the construction of  T e x t ) . The check for  repeated elements in a set can be easily achieved using a quick sort followed  by a linear check of every element and its immediate following  neighbor. If  there are no matches, then there are no repeated elements. Algorithm 6.2 ChecklntermediateOrthogonal(S') Require: T ^ <p Ensure: T ext has no repeated elements 1 Text T 2 jmax k 3 ind  <— k + 1 4 for  all i such that 1 < i < N  do 5 for  p — 1 to k — 1 do 6 for  j — p + 1 to jmax do / 7 T ext(i,ind)  <-1— n 8 l—p ind  <— ind  + 1 9 end for 10 end for 11 end for 12 if  T ext has repeated elements then 13 0 FALSE 14 else 15 0 «- TRUE 16 end if 17 return 0 Algorithm 6.3 CheckCompleteOrthogonal(S) Require: T ^ (j) Ensure: T ext has no repeated elements Text <- T ind  <— k + 1 for  all i such that 1 < i < N  do for  p = 1 to k  — 1 do jmax < P + k — 2 for  j = p + 1 to jmax do if  j < k  then 1=3 8: T ext{i,ind)  «- ElUO I=P 9: else ; 10: T e i t ( i , ind)  £ T(i, I)  + £ T(i, I) ll 12 13 14 15 16 17 18 19 20 21 i=P i=i end if ind  ind  + 1 end for end for end for if  T ext has repeated elements then O <- FALSE else O <- TRUE end if return O 6.4 Proposed Greedy Algorithm with Rejected Delays Reuse (RDR) Algorithm 6.1 follows  the classical greedy algorithm argument, which mandates that an interdelay value that has been tested in a previous step and found  to cause loss of orthogonality should never be revisited in later steps of  the solution. This argument might look intuitively correct. However, in the following  we present a theorem that shows that a retest of  such rejected elements might succeed in using them later on. Theorem 6.6. An interdelay  value dij  that has been tested  and  failed  to maintain orthog-onality in step (i,j)  (i.e.,  working  on element j of  codeword  i) of  the greedy  construction for  OOC C given in Algorithm  6.1 can possibly be reused  at another step (l,m)  such that the pair (l,m)  is distinct  from  the pair (i,j). Proof  There are two scenarios for  rejecting an interdelay element dij  in step (i,  j): • The first  scenario, is when before  including dij in T, G ^ext • — d-i  j . In this case, it is obvious that the inclusion of  d i t j did not affect  the rejection condition, hence, dij can never be included in any later steps. • The second scenario is when after  including dij in T, 3eij , 3e;,m € T e x t : e i d = e ; ,m and ^ m with dij used to either construct e,j or e;,m In this case the rejection condition is dependent not only on the value of  dij, but also on the exact step in which it is included in T. The second case happens because the calculation of  the extended set elements depends on the adjacency between interdelay values in T. Consequently, by delaying the inclusion of  dij to a later step, we might be able to avoid the rejection condition. • Another way to prove Theorem 6.6 is by giving a single example that fulfills  what the theorem states, which we provide in Figure 6.1 later in this section. Theorem 6.6 suggests that a retest of  a rejected element might result in using it while constructing an OOC. Since a rejected element in the greedy algorithm will always be smaller than any other elements tested in later steps, a reuse of  a rejected element will locally  minimize the code  length  n, which is desirable in the greedy algorithm in hope that the final  solution will result in a shorter code length. Based on this argument, we have developed a modified  greedy algorithm called Rejected  Delays Reuse (RDR)  Greedy Algorithm  (Algorithm 6.4 below). The algorithm is similar to the classical algorithm (Algorithm 6.1), but with a major modification  that allows for  reusing a previously rejected delay element if  possible. The Algorithm 6.4 OOCRDRGreedy Require: N  >2,k> 2 Ensure: K Xx  < 1,RXY  < 1VX, Y  € C such that X  ^Y e <— 1 , RD <— (j) for  all i such that 1 < i < N  do T(i, 1) <— e , e e + 1 end for for  j = 2 to k — 1 do for  i = 1 to N  do O <- FALSE for  I  = 1 to |RD| do T (i,j)  RD (/) , O f -  ChecklntermediateOrthogonal (T) if  O then , BREAK end if end for while ~>0 do T( i , j )  <— e , O ChecklntermediateOrthogonal(T) if  —>0 then RD RD + {e} end if e*-e + l end while end for end for 0 <- FALSE for  all i such that 1 < i < N  do k-1 o=i end for M x max{m x(i)} for  I  = I  to |RD| do for  all i such that 1 < i < N  do T(i, k) *- RD(0 + (M x - mx{i)) end for 0 <— CheckCompleteOrthogonal(T) if  0 then BREAK end if end for while -i0 do for  all % such that 1 < i < N  do T{i,k)  <r- e+ (M x - mx{i)) end for 0 <— CheckCompleteOrthogonal(T) , e < - e + l end while main modifications  can be described as follows. In step (i,  j), if  element dy has been rejected, it is added to a list of  rejected elements. When we move to step {l,m)  such that (I  > i AND m = j) OR m > j, before  trying a new element, we retest the elements in the rejected list, starting with the smallest in ascending order. If  one of  these elements can be used, we use it and remove it from the rejected list. Otherwise, we test new elements. This process continues until the last element of  T has been found. There are some extra modifications  that can be added to the algorithm in order to increase its efficiency.  One such modification  is to restrict the list of  rejected elements to elements that correspond to the second scenario in the proof  of  Theorem 6.6. This would save both space and computation time, although it would complicate the algorithm description making it more difficult  to understand. i( Since the RDR algorithm is typically used off-line  to calculate the OOC once and then use the same code for  OCDMA communications, calculation efficiency  is not a major factor  at this point and we will sacrifice  the efficiency  for  the sake "of  clarity. The RDR algorithm can be implemented asymptotically in 0(n 2 )  computation time, as proven in Appendix C. This computation time can be achieved in a fraction  of  a second on a GHz processor for  codes of  lengths in the order of  n ~ 1000. This is considerably faster  than the classical element-by-element greedy method given in [85] taking into consideration the fact  that RDR codes produce smaller values for  n  while performing  approximately the same number of  steps. We observed while running the algorithm that the terminating elements of  codewords (i.e., elements at column number k) are always much larger than all the other interde-lay elements of  the codeword. This suggests that testing the rejected elements at the finalization  step can be omitted to save computation time without affecting  the resulting codes. The larger values of  the terminating elements are due to the fact  that orthog-onality conditions applied to these elements are more strict since they include circular adjacency into the calculation as shown in Algorithm 6.3. Another restriction on the values of  these elements is that they have to be selected such that all the codewords have the same length n as shown in Algorithms 6.1 and 6.4. If  this condition is relaxed (i.e., variable codewords are allowed) it would greatly reduce the magnitude of  the terminating interdelays. OOCs designed using Algorithm 6.4 with their corresponding (i.e., having the same parameters) codes derived using Algorithm 6.1 are shown in Figure 6.1. One can notice that once an element is reused by the RDR algorithm (e.g., the value 27 at the 4th location in the last codeword of  the {7,4} code), the elements after  that are generally smaller than those used for  the classical greedy algorithm, which results in a code with smaller length. {k,N} T TRDR {7,4} {1,5,12,24,31,50,144} {2,7,13,25,32,58,130} {3,8,15,28,37,60,116} {4,10,19,30,44,62,98} {1,5,12,24,16,48,139} {2,7,13,25,30,49,119} {3,8,15,28,31,53,107} {4,10,19,27,34,35,116} {6,6} {1,7,17,28,50,174} {2,9,18,31,51,166} {3,10,20,35,57,152} {4,12,22,39,59,141} {5,14,23,43,62,130} {6,15,26,46,67,117} {1,7,17,28,44,150} {2,9,18,31,46,141} {3,10,20,35,48,131} {4,12,22,32,39,138} {5,14,23,36,51,118} {6,15,26,43,56,101} Figure 6.1: Examples of  OOC designs using RDR. 6.5 Sub-Wavelength Switching Capacity and Code Efficiency  Analysis For an optical multiplexing system based on Code Division Multiple Access (OCDMA) at the sub-wavelength level [25], it is desired to be able to multiplex as many users as possible per wavelength channel without affecting  the system error rate under ideal conditions. It was shown in [25] that the condition for  an OCDMA system to operate as an error free  transmission system under ideal conditions is to be able to completely suppress the Multiple Access Interference  (MAI) caused by unwanted users on the intended received signal using an optical threshold (hard limiter) device at the output of  the correlator receiver. This is possible if  and only if  N  < k. In order to maximize the system capacity (maximize the number of  multiplexed users per wavelength) we take N  = k.  (6.3) It was also shown in [25] that the label space expansion ratio p, which measures the increase in the system capacity per wavelength of  a sub-wavelength OCDMA switched system as compared to a pure Wavelength Division Multiplexing (WDM) system, is given by: p = N. (6.4) Using (6.4), p for  an error-free  system is given by: p = k. (6.5) From Theorem 6.5, we get N  < n - 1 k(k-  1)_ (6.6) which yields a maximum number of  sub-wavelength multiplexed users (maximum system capacity per wavelength) given by: N  = n — 1 (6.7) which can be rewritten as N  • k(k  — 1) = n — 1 —'(n — 1 mod k{k  - 1)). (6.8) In order to make the maximum use of  the available system bandwidth, it is desired to have the smallest n that satisfies  (6.8). Inspecting (6.8), the minimum value for  n for given values of  k  and N  is achieved when (n — 1 mod k(k  — 1)) = 0. This happens when k(k  - 1) | n - 1, (6.9) which reads k(k  — 1) divides n — 1. Under this condition, (6.8) can be simplified  to Umin  = N  • k{k  - 1) + 1, (6.10) where nmin is the minimum code length. In order to analyze the optimum error-free  system, we substitute for  N  and k  from (6.4) and (6.5) respectively into (6.7) to get n - l IP(P-  i). (6.11) which can be rewritten as p2(p  — 1)— n — 1 — (n  — 1 mod p(p  — 1)). (6.12) Following the same reasoning used to deduce (6.10), we can write the minimum error-free code length n*min as n*mm = p2{p-l)  + l. (6.13) Since the RDR algorithm is a greedy algorithm, it can only search for  a local optima of  the solution. The optimality in this case is localized to the current construction step only. Accordingly, the RDR does not guarantee that the achieved solution is the global optimum across all the different  construction steps. This means that the codes designed using the RDR greedy algorithm (Algorithm 6.4) are generally suboptimal codes. In order to compare the efficiency  of  OOCs constructed using RDR with the efficiency  of OOCs constructed using Algorithm 6.1 [85], we define  an expansion efficiency  factor  rj as the ratio between the minimum code length nmin and the code length n of  the OOC generated using suboptimal algorithms. IT'min  , V = , (6-14) n which means that for  an optimum code we have 77 = 1, while for  a suboptimal code we have 0 < r] < 1. It must be noted, however, that there are no guarantees that for  a general set of  parameters {n,  k,  N},  an optimal construction method for  a (n, w, A) OOC, which satisfies  the equality condition of  the Johnson's bound on N  as defined  in (6.7), exists. The existence of  optimal constructions have been demonstrated for  only a very small subset of  the set of  different  combinations of  {n, k,  N}  [88]. 6.6 Numerical Results Figure 6.2 shows the code efficiency  for  the RDR algorithm r j R D R as well as the code efficiency  for  the greedy algorithm rj as a function  of  code weight k  and number of codes N  (i.e., code cardinality |C|). Observe from  the figure  that OOCs designed using the RDR algorithm (Algorithm 6.4) have significantly  superior code expansion efficiency over OOCs designed using classical element-by-element greedy algorithm (Algorithm 6.1). Observe also from  the figure  that the code efficiency  is robust against increases in the code cardinality as it does not affect  the code efficiency  significantly.  On the other hand, increasing the code weight rapidly degrades the code efficiency  with the RDR being more robust and maintains a superior efficiency  across different  code weights. Figures 6.3 and 6.4 are plotted for  the case where the system is operating at the maximum capacity under the error free  transmission constraints. Figure 6.3 results demonstrate that codes designed using the RDR algorithm have an asymptotic efficiency  of  about 0.4 as compared to codes designed using the classical element-by-element greedy algorithm, which have an asymptotic efficiency  of  about 0.2. This shows that RDR designed codes are expected to constantly outperform  classical greedy constructed codes even at asymptotically large values of  code weights k. Figure 6.4 shows the code length nRDR for  OOCs designed using the RDR (Algo-rithm 6.4), the code length n for  OOCs designed using Algorithm 6.1, and the minimum • ^RDR T] 0.8 0.75 0.7 'H 0.65 0.6 0.55 0.5 0.45 Figure 6.2: Code expansion efficiency  factor  for  RDR greedy and greedy OOCs. p+1 Figure 6.3: Code expansion efficiency  factor  for  RDR greedy and greedy OOCs under error free  conditions. x 10 Figure 6.4: Code length for  RDR greedy, greedy, and optimal OOCs under error free conditions. code length n*min given by (6.13) for  the same design parameters under the error free maximum capacity condition (6.4). Clearly the RDR achieves around 30% reduction in the code length n over the classical element-by-element greedy algorithm. This difference becomes more significant  as we increase the label space expansion factor  p (i.e., increase the number of  multiplexed users). 6.7 Concluding Remarks In this chapter, we have proposed a new algorithm for  construction of  OOCs called Greedy Algorithm with Rejected Delays Reuse (RDR). The algorithm belongs to the family  of  element-by-element greedy construction algorithms used to generate OOCs. The algorithm incorporates a reuse mechanism for  previously rejected smaller delay elements in order to minimize the code length. The codes generated using the RDR algorithm were shown to be generally shorter (have smaller code length n) than those generated using the classical greedy algorithm. In order to compare the efficiency  of  the codes generated using the two algorithms we compare their code lengths to the optimum code length using a code expansion efficiency factor  r]. Numerical results show that OOCs generated using RDR have significantly higher rj than those using the classical element-by-element greedy algorithm. It was also found  through numerical results that rj is largely affected  by the increase in the code weight k.  However, increasing the number of  codes N  has negligible effects  on rj. Conclusions and Future Research We conclude this thesis with a summary of  our work, highlights of  the major thesis contributions, and some suggestions for  future  work. 7.1 Summary The main objectives of  this thesis were: • The increase of  sub-wavelength switching granularity in all-optical networks using code division multiplexing. • The development of  enhanced optical code division multiple access schemes. • The development of  mathematical performance  models for  sub-wavelength code switched mechanisms. In the following,  we present a summary of  each of  the work chapters. In Chapter 2, we presented an overview of  the major transmission methods used in OCDMA communica-tion systems. The overview spanned the different  modulation and spreading techniques. It also discussed the different  detection methods and the different  coding families  used in OCDMA systems. In addition, a detailed description accompanied by a mathemat-ical design for  a class of  OCDMA encoder/decoder devices called Optical Delay Line Correlators is provided. Results in this chapter also appear in [31]. Chapter 3 proposed an architecture for  optical networks capable of  sub-wavelength switching using OCDMA based on expanding the label space of  the GMPLS architecture. The architecture is called Optical Code Labeled GMPLS and employs a code switch capable layer into the GMPLS network to expand the switching granularity of  all-optical core switches into the sub-wavelength level. .We have evaluated the switching capabilities of  the OC-GMPLS using mathematical modeling to derive a proposed performance  factor called the label space expansion ratio. Further, we derived the optimum value for  the label space expansion ratio under different  system constraints. Results of  this work have been published in [25,26]. In Chapter 4, we presented an analytical model for  calculating the throughput of the OC-GMPLS core switches. The model incorporates both network and physical layer parameters into the throughput calculation. We have used results from  our model to show that there is a set of  optimal parameters that maximizes the throughput. The values of  these parameters as well as the value of  the maximum throughput depend on the provided network and physical layer configurations  as well as the required operational constraints. This work also appears in [26,27]. Chapter 5 proposed a new modulation scheme for  OCDMA transmission. The scheme is based oh using BPPM to modulate the spread signal chip pulses, hence, the name Chip-Level Modulated BPPM. The transceiver architecture for  implementing the pro-posed scheme in an all-optical fashion  is provided. The proposed scheme enables the receiver to distinguish between the idle and zero transmitting sources within one bit du-ration. This was not previously possible using OOK methods. The proposed scheme also provides for  a better clock recovery over OOK due to the guaranteed transitions within each bit duration as long as the source is active. In order to analyze the proposed system, a general mathematical framework  is derived for  calculating the bit error rate of  any time spread, OOC encoded and correlation detection based OCDMA system. The mathemat-ical model incorporates, for  the first  time, the average source traffic  parameters in the BER calculations. The mathematical framework  is applied to the CLM-BPPM to deduce an expression for  its BER. The numerical results and comparison with simulations show the high accuracy of  the developed model. The results reveal that CLM-BPPM has an error rate that is very close to OOK systems with asymptotically equal values at higher load conditions. Results from  this work appear in [28]. Chapter 6 proposed a new method for  constructing OOC based on greedy element-by-element recursive construction methods. The proposed algorithm employs a reuse mechanism for  previously rejected smaller delay elements in order to produce shorter OOC code lengths. The algorithm is called Greedy Algorithm with Rejected Delays Reuse (RDR). The complexity of  the proposed algorithm is analyzed and its resulting code label space expansion efficiency  normalized to optimal codes are calculated. The results show that RDR has less complexity than the classical greedy element-by-element methods. Further, the codes constructed using RDR have an expansion efficiency  factor  that is asymptotically an order of  magnitude higher than that of  the classically constructed codes. This work has been published in [29,30]. 7.2 Major Contributions In conclusion, among the main contributions of  this thesis, we proposed: • An architecture for  OCDMA based all-optical sub-wavelength switching in core GMPLS networks. The proposed architecture achieves higher level of  flow  isola-tion while maintaining all-optical switching speed at the network core. In order to demonstrate the advantages of  our architecture we have derived a switching gran-ularity measure called label space expansion ratio and used it to derive optimal operating parameters under MAI error free  condition. • An analytical model for  calculating the throughput of  OCDMA-enabled core GM-PLS switches. The model incorporates both the physical layer properties through the MAI induced BER as well as network layer parameters such as number of  users and average packet length. The model was used to show that there are two major operating regions for  the system. Optimal operating parameters which maximize the throughput were numerically deduced under each operating region. • A new modulation method for  OCDMA called CLM-BPPM. The method is based on using BPPM deduced from  the bit value to modulate the chip pulses. The method allows for  better clock recovery and ability to detect transmitter activity as compared to OOK. It also provides a BER that is very close to OOK with equal asymptotical values at higher user activity. • A generalized mathematical framework  for  calculating the multiple access BER in OCDMA networks. The framework  can be used to deduce the BER for  any time-spread, OOC encoded OCDMA transmission with correlation detection. The accuracy of  the mathematical model was compared against simulation models and was shown to achieve very close results. • A new efficient  greedy element-by-element algorithm for  constructing shorter opti-cal orthogonal codes. The algorithm was shown to produce smaller code lengths under same design constraints as compared to classical element-by-element greedy methods. The asymptotic computational complexity of  the algorithm was deduced and was shown to be smaller than previously proposed algorithms. 7.3 Future Work We present below a list of  research problems that can be investigated as possible exten-sions for  the research work reported in this thesis. 1. The work in Chapter 6 was based on a set theoretic representation of  OOC code-words as sets of  interdelay elements. The auto and cross correlation properties were mapped into uniqueness properties among one set and across the different  sets. It is worth investigating if  a different  representation of  OOC might lead to better construction methods. An example of  a representation that can be investigated is to represent code families  as matrices of  binary values. Then applying the auto and cross correlation constraints on these matrices one can deduce a set of  construction rules for  these matrices, using this set of  rules in conjunction with a clever matrix search algorithm new construction methods can be established. For this technique to work, it is necessary to find  a matrix representation that is unique per family of  OOC codes and at the same time can exploit the auto and cross correlation in-duced constraints to the maximum resulting in minimizing the number of  iterations during the matrix search operation. 2. Several variations of  the RDR algorithm can be examined in search for  a closer to optimal method. In the RDR algorithm codewords at the top of  the iteration stack are always assigned shorter inter-delays than those below it. This results in producing a densely occupied area at the start of  the code. This in turn will result in higher rejection of  inter-delay values at subsequent codewords resulting in increasing their length. This increase in length reflects  on the codes at the top of  the stack when we reach the terminating stage due to the constraint that all codewords must have the same length. If  a more balanced approach like moving through the iterations in a zig-zag manner so that in one round the assignment of inter-delays starts from  the top codeword moving down. In the next round it goes in the reverse direction. This way a more balanced assignment of  inter-delay values is achieved, which might result in reducing the code lengths. 3. The throughput of  OC-GMPLS derived in Chapter 4 was derived under the as-sumption of  a uniform  fiber-wavelength-code  assignment combination. In other words, the switch fills  up all the fibers  and wavelengths with a single flow  each. Then, it starts rotating across the different  wavelengths over the different  fibers assigning a new flow  to them one by one. This means that the average number of  OCDMA flows  on each wavelength are equal. This is not necessarily optimal in terms of  the overall throughput. It will be a fruitful  point of  research to study the different  permutations of  OCDMA assignment given a certain number of  flows  to come up with the permutation that maximizes the overall system throughput. The next natural step will be to devise online algorithms that can assign the labels to attain, op.timality under different  loading and channel conditions. 4. The analysis provided in Chapter 5 was carried under ideal optical channel assump-tions. It will be interesting to see how the system will perform  when optical channel noise and non-linearities are introduced to the model. In particular it will be of great interest to compare the performance  of  CLM-BPPM with OOK assuming non-ideal optical channel conditions. 5. In optical networks, the error events are very rare events with very low probabilities of  values as small as 10 - 1 2 . In order to directly simulate errors in these networks, simulation time becomes prohibitively large. This problem can be overcome by deriving mathematical models for  the network performance  as was done in this thesis. However, mathematical models are not always possible to attain and they require many assumptions that affects  their accuracy. Which means that simulation remains an essential tool for  analyzing these networks, both to fill  in when mathe-matical modeling is not feasible  and to check the accuracy of  derived mathematical models. Statistical techniques such as importance sampling  promise a solution to simulation of  rare events. Using such techniques, it would be very useful  to try to establish simulation models that can efficiently  model optical networks. Bibliography [1] A, Kaheel, T. Khattab, A. Mohamed, and H. Alnuweiri. Quality-of-service  mecha-nisms in IP-over-WDM networks. IEEE  Communications  Magazine,  40(12):38-44, December 2002. [2] B. E. A. Saleh and M. C. Teich. Fundamentals  of  Photonics. John Wiley & Sons, 1991. [3] K. Iizuka. Elements  of  Photonics, Volume  II,  for  Fiber  and  Integrated  Optics. John Wiley & Sons, 2002. [4] R. Gagliardi and S. Karp. Optical Communications—Second  Edition.  Wiley Inter-science, 1995. [5] G. Keiser. Optical Fiber  Communications—Third  Edition.  McGraw Hill, 2000. [6] T. Takeda, H. Kojima, and I. Inoue. Optical VPN architecture and mechanisms. In Proceedings  of  IEEE  9th Asia-Pacific  Conference  on Communications  APCC'2003, volume 2, pages 751-755, Penang, Malaysia, 21-24 September 2003. [7] T. Takeda, H. Kojima, N. Matsuura, and I. Inoue. Resource allocation method for  optical VPN. In Proceedings  of  IEEE  Optical Fiber  Communication  Conference OFC'2004,  Los Angeles, CA, USA, 22-27 February 2004. [8] Y. Su, X. Tian, W. Hu, L. Yi, P. Hu, Y. Dong, and H. He. Optical VPN in PON using TDM-FDM signal format.  In Proceedings  of  IEEE  Optical Fiber  Communication Conference  and  the National  Fiber  Optic Engineers  Conference  OFC/NFOC'2006, Anaheim, CA, USA, 5-10 March 2006. [9] K. N. Oikonomou and R. K. Sinha. Network design and cost analysis of  optical VPNs. In Proceedings  of  IEEE  Optical Fiber  Communication  Conference  and  the National  Fiber  Optic Engineers  Conference  OFC/NFOC'2006,  Anaheim, CA, USA, 5-10 March 2006. [10] R. Ramaswami and K. N. Sivarajan. Optical Networks:  A Practical  Prespective— Second  Edition.  Morgan Kaufmann  Publications, 2002. [11] G. I. Papadimitriou, C. Papazoglou, and A. S. Pomportsis. Optical switching: Switch fabrics,  techniques, and architectures. Journal  of  Lightwave Technology,  21(2):384-405, February 2003. [12] J. M. Elmirghani and H. T. Mouftah.  Technologies and architectures for  scalable dy-namic dense WDM networks. IEEE  Communications  Magazine,  38(2):58—66, Febru-ary 2000. [13] T. E. Stern and K. Bala. Multiwavelength  Optical Networks:  A Layered  Approach. Prentice Hall PTR, 2000. [14] T. Fan, P. R. Prucnal, and M. Santoro. Spread spectrum fiber-optic  local area network using optical processing. IEEE  Journal  of  Lightwave Technology,  4(5) :547— 554, May 1986. [15] J. A. Salehi. Code division multiple-access techniques in optical fiber  networks—part I: Fundamental principles. IEEE  Transactions  on Communications,  37(8):824-833, August 1989. [16] F. R. K. Chung, J. A. Salehi, and V. K. Wei. Optical orthogonal code: Design, analysis, and application. IEEE  Transaction  on Information  Theory,  35(3):595-604, May 1989. [17] R. M. Gagliardi, A. J. Mendez, M. R. Dale, and E. Park. Fiber-optic digital video multiplexing using optical CDMA. IEEE  Journal  of  Lightwave Technology,  11(1):20-26, January 1993. [18] L. K. Chen J. G. Zhang and W. C. Kwong. Experimental demonstration of  efficient all optical code-division mulltiplexing. IEE  Electronics  Letters,  34(19): 1866—1868, September 1998. [19] Y. H. Lee. Simulation study of  different  code system division multiple access (DCSDMA) for  optical communication. Microwave  and  Optical Technology  Letters, 21 (4):291—295, May 1999. [20] T. Dennis, B. Aazhang, and J. F. Young. Demonstration of  all-optical CDMA with bipolar codes. In Proceedings  of  IEEE  Lasers and  Electro-Optics  Society  10th Annual Meeting  LEOS'97,  volume 2, pages 21-22, San Francisco, CA, USA, 10-13 November 1997. [21] U. N. Griner and S. Arnon. A novel bipolar wavelength-time coding scheme for optical CDMA systems. IEEE  Photonics Technology  Letters,  16(1):332—334, January 2001. [22] L. L. Jau and Y. H. Lee. Optical code-division multiplexing systems using common-zero codes. Microwave  and  Optical Technology  Letters,  39(2): 165—167, October 2003. [23] A. Banerjee, J. Drake, J. P. Lang, and B. Turner. Generalized multiprotocol label switching: An overview of  routing and management enhancements. IEEE  Commu-nications Magazine,  39(1): 144—150, January 2001. [24] D. Awduche and Y. Rekhetert. Mutliprotocol lambda switching: Combining MPLS traffic  engineering control with optical crossconnects. IEEE  Communications  Mag-azine, 39(3):111—116, March 2001. [25] T. Khattab and H. Alnuweiri. Optical GMPLS networks with code switch capa-ble layer for  sub-wavelength switching. In Proceedings  of  Global  Telecommunica-tions Conference  GLOBECOM'04,  volume 3, pages 1786-1792, Dallas, TX, USA, 29 November-3 December 2004. [26] T. Khattab and H. Alnuweiri. Optical CDMA for  all-optical sub-wavelength switch-ing in core GMPLS networks. Accepted  for  publication in IEEE  Journal  on Selected Areas in Communications,  March 2007. [27] T. Khattab and H. Alnuweiri. Cross-layer throughput analysis for  optical code la-belled GMPLS networks. In Proceedings  of  The  IEEE  2nd  International  Conference on Broadband  Networks  BROADNETS'OS,  volume 1, pages 323-326, Boston, MA, USA, 3-7 October 2005. [28] T. Khattab and H. Alnuweiri. Chip-level modulated BPPM fiber-optic  code division multiple access. Submitted  to IEEE  Transactions  on Communications,  November 2006. [29] T. Khattab and H. Alnuweiri. A greedy algorithm for  deriving optical orthogo-nal codes using rejected delays reuse. In Proceedings  of  Global  Telecommunications Conference  GLOBECOM'05,  volume 4, pages 1942-1946, St. Louis, MI, USA, 28 November-2 December 2005. [30] T. Khattab and H. Alnuweiri. Optical orthogonal code construction using rejected delays reuse for  increasing sub-wavelength switching capacity. IEEE  Journal  of Lightwave Technology,  24(9):3280-3287, September 2006. [31] T. Khattab and H. Alnuweiri. Overview of  fiber-optic  CDMA communication sys-tems. Submitted  to IEEE  Communications  Magazine,  December 2006. [32] A. Stok and E. H. Sargent. Lighting the local area: Optical code-division multiple access and quality of  service provisioning. IEEE  Network,  14(6) :42—46, Novem-ber/December 2000. [33] A. Stok and E. H. Sargent. System performance  comparison of  optical CDMA and WDM A in a broadcast local area network. IEEE  Communications  Letters,  6(6):409-411, September 2002. [34] P. Kamath, J. D. Touch, and J. A. Bannister. The need for  media access control in optical CDMA networks. In Proceedings  of  IEEE  Twenty-third  Annual Joint Conference  of  the IEEE  Computer  and  Communications  Societies  INFOCOM'2004, volume 4, pages 2208-2219, Hong Kong, China, 7-11 March 2004. [35] E. Mutafungwa  and S. J. Halme. Analysis of  the blocking performance  of  hy-brid OCDM-WDM transport networks. Microwave  and  Optical Technology  Letters, 34(1):61—68, July 2002. [36] M. Murata and K. Kitayama. Ultrafast  photonic label switch for  asynchronous pack-ets of  variable length. In Proceedings  of  The  Twinty-first  Annual Joint  Conference of  the IEEE  Computer  and  Communications  Societies  INFOCOM'2002,  volume 1, pages 371-380, New York, NY, USA, 23-27 June 2002. [37] A. Yariv. Optical Electronics  in Modern  Communications—Fifth  Edition.  Oxford University Press, 1997. [38] D. K. Cheng. Field  and  Wave  Electromagnetics—Second  Edition.  Addison-Wesley, 1989. [39] D. L. LEE. Electromagnetic  Priciples  of  Integrated  Optics—Second  Edition.  John Wiley & Sons, 1986. [40] A. Yariv and P. Yeh. Photonics: Optical Electronics  in Modern  Communications— Sixth  Edition.  Oxford  University Press, 2007. [41] C. Xu, X. Liu, and X. Wei. Differential  phase-shift  keying for  high spectral efficiency optical transmissions. Journal  of  Selected  Topics  in Quantum Electronics,  10(2):281-293, March/April 2004. [42] D. S. Ly-Gagnon, S. Tsukamoto, K. Katoh, and K. Kikuchi. Coherent detection of optical quadrature phase-shift  keying signals with carrier phase estimation. Journal of  Lightwave Technology,  24(1):12—21, January 2006. [43] T. Kawanishi, T. Sakamoto, S. Shinada, M. Izutsu, T. Fujita, K. Higuma, and J. Ichikawa. 10 Gbit/s FSK transmission over 130 Km SMF using group delay compensated balance detection. In Technical  Digest of  Optical Fiber  Communication Conference  OFC/NFOEC'05,  volume 2, Anaheim, CA, USA, 6-11 March 2005. [44] F. Khansefid,  R. Gagliardi, and H. Taylor. Performance  analysis of  code division multiple access techniques in fiber  optics with On-Off  and PPM pulsed signaling. In Proceedings  of  IEEE  Military  Communications  Conference  MILCOM'90,  volume 3, pages 909-915, Monterey, CA, USA, 30 September-3 October 1990. [45] H. M. H. Shalaby. Performance  analysis of  optical CDMA communication systems with PPM signaling. In Proceedings  of  IEEE  Global  Telecommunications  Conference GLOBECOM'93,  volume 3, pages 1901-1905, Houston, TX, USA, 29 November-2 December 1993. [46] H. M. H. Shalaby. Performance  analysis of  optical synchronous CDMA commu-nication systems with PPM signaling. IEEE  Transactions  on Communications, 43(2/3/4) :624-634, Fibruary/March/April 1995. [47] H. M. H. Shalaby. Maximum achievable number of  users in optical PPM-CDMA. In Proceedings  of  IEEE  International  Symposium on Information  Theory,  page 477, Ulm, Germany, 29 Jun-4 July 1997. [48] H. M. H. Shalaby. A performance  analysis of  optical overlapping PPM-CDMA communication systems. IEEE  Network,  17(3) :426-433, March 1999. [49] H. M. H. Shalaby. Maximum achievable number of  users in optical PPM-CDMA local area networks. IEEE  Journal  of  Lightwave Technology,  18(9): 1187—1196, September 2 0 0 1 . [50] C. Argon and S. W. McLaughlin. Optical OOK-CDMA and PPM-CDMA sys-tems with turbo product codes. Journal  of  Lightwave Technology,  20(9): 1653-1663, September 2002. [51] K. S. Kim, D. M. Marom, L. B. Milstein, and Y. Fainman. Hybrid pulse posi-tion modulation/ultrashort light pulse code-division multiple-access systems—part I: Fundamental analysis. IEEE  Transactions  on Communications,  50(12):2018—2031, December 2002. [52] K. S. Kim, D. M. Marom, L. B. Milstein, and Y. Fainman. Hybrid pulse position modulation/ultrashort light pulse code-division multiple-access systems—part II: Timespace processor and modified  schemes. IEEE  Transactions  on Communications, 51(7): 1135—1148, July 2003. [53] M. Azizoglu, J. A. Salehi, and Y. Li. Opical CDMA via temporal codes. IEEE Transactions  on Communications,  40(7): 1162—1170, July 1992. [54] M. Kavehrad and D. Zaccarh. Optical code-division-multiplexed systems based on spectral encoding of  noncoherent sources. IEEE  Journal  of  Lightwave Technology, 13(3):534-545, March 1995. [55] K. Yu, J. Shin, and N. Park. Wavelength-time spreading optical CDMA system using wavelength multiplexers and mirrored fiber  delay lines. IEEE  Photonics Technology Letters,  12(9):1278-1280, September 2000. [56] B. Ni. The performances  of  optical code-division multiple access communication systems. ProQuest Thesis Online UMI Number: 3185704, August 2005. [57] K. Murugesan and V. C. Ravichandran. Evaluation of  new codes for  spectral-amplitude coding optical code-division multipleaccess communication systems. SPIE Optical Engineering,  43(4):911-917, April 2004. [58] P. R. Prucnal, editor. Optical Code  Division Multiple  Access. CRC Press, 2006. • [59] L. R. Chen, S. D. Benjamin, P. W. E. Smith, and J. E. Sipe. Applications of  ultra-short pulse propagation in bragg gratings for  wavelength-division multiplexing and code-division multiple access. IEEE  Journal  Of  Quantum Electronics,  34(11) :2117— 2129, November 1998. [60] R. M. H. Yim, J. Bajcsy, and L. R. Chen. A new family  of  2-D wavelength-time codes for  optical CDMA with differential  detection. IEEE  Photonics Technology Letters,  15(1):165-167, January 2003. [61] J. G. Zhang, W. C. Kwongz, and A. B. Sharma. Effective  design of  optical fiber code-division multiple access networks using the modified  prime codes and optical processing. In Proceedings  of  International  Conference  on Communication  Tech-nology WCC-ICCT'2000,  volume 1, pages 392-397, Beijin, China, 21-25 January 2000. [62] Y. Shimura, H. Yashima, and J. Suzuki. An analysis of  the cross-correlation prop-erties of  prime code and bit error rate in an optical CDMA system. Electronics  and Communications  in Japan,  Part  3, 83(9):94—103, September 2000. [63] S. Martirosyan and A. J. H. Vinck. A construction for  optical orthogonal codes with correlation 1. IEICE  Transactions  on Fundamentals  of  Electronics,  E85-A(l):269-272, January 2002. [64] A. Keshavarzian and J. A. Salehi. Multiple-shift  code acquisition of  optical or-thogonal codes in optical CDMA systems. IEEE  Transactions  on Communications, 53(4):687-697, April 2005. [65] A. D. Neto and E. Moschim. Some optical orthogonal codes for  asynchronous CDMA systems. In Proceedings  of  IEEE  Global  Telecommunications  Conference  GLOBE-COM'2002,  volume 3, pages 2065-2068, Taipei, Taiwan, China, 17-21 November 2002. [66] J. A. Salehi and C. A. Brackett. Code division multiple-access techniques in optical fiber  networks—part II: Performance  analysis. IEEE  Transactions  on Communica-tions, 37(8):834-842, August 1989. [67] S. Zahedi and J. A. Salehi. Analytical comparison of  various fiber-optic  CDMA receiver structures. IEEE  Journal  of  Lightwave Technology,  18(12):1718—1727, De-cember 2000. [68] H. M. H. Shalaby. Chip-level detection in optical code division multiple access. IEEE Journal  of  Lightwave Technology,  16(6): 1077—1087, June 1998. [69] A. Iwata, K. Kamakura, and I. Sasase. A synchronization method deselecting can-didate positions with chip level detection for  optical CDMA. Electronics  and  Com-munications in Japan,  Part  1, 88(3):21—32, March 2005. [70] G. P. Agrawal. Fiber-Optic  Communication  Systems—Third  Edition.  Wiley Inter-science, 2002. [71] A. J. Viterbi. CDMA  Priciples  of  Spread  Spectrum  Communication.  Addison-Wesley Longman Inc., 1995. [72] L. Zhang and J. Tang. Label-switching architecture for  IP traffic  over WDM net-works. IEE  Proceedings  on Communications,  147(5):269-276, May 2001. [73] Y. G. Wen, Y. Zhang, and L. K. Chen. On architecture and limitation of  opti-cal multiprotocol label switching (MPLS) networks using optical-orthogonal-code (OOC)/wavelength label. Optical Fiber  Technology,  8(l):43-70, January 2002. [74] M. Murata and K. Kitayama. A prespective on photonic multiprotocol label switch-ing. IEEE  Network,  15(4):56-63, July/August 2001. [75] A. Kaheel and H. Alnuweiri. A strict priority scheme for  quality-of-service  provi-sioning in optical burst switching networks. In Proceedings  of  IEEE  Symposium on Computers  and  Communications  ISCC'03,  volume 1, pages 16-21, Kemer, Antalya, Turkey, 30 June-3 July 2003. [76] K. Kamakura, O. Kabranov, D. Makrakis, and I. Sasase. OBS networks using optical code division multiple access techniques. In Proceedings  of  IEEE  Twenty-third  Annual Joint  Conference  of  the IEEE  Computer  and  Communications  Societies INFO  COM  '2004!  volume 3, pages 1725-1729, Paris, France, 20-24 June 2004. [77] E. E. Mannie. Generalized multi-protocol label switching (GMPLS) architecture, available online: "http://www.ietf.org/rfc/rfc3945.txt ", October 2004. [78] A. Mohamed, A. Kaheel, T. Khattab, and H. Alnuweiri. Evaluation of  op-tical packet switch as edge device using OPNET modeler. available online: "http://www.opnet.com/opnetwork2002", August 2002. [79] T. Khattab, A. Mohamed, A. Kaheel, and H. Alnuweiri. Optical packet switching with packet aggregation. In Proceedings  of  International  Conference  on Software, Telecommunications  and  Computer  Networks  SoftCOM'02,  volume 1, pages 741-746, Split, Dubrovnik, Croitia/Ancona, Bari, Italy, 9-12 October 2002. [80] International Telecommunication Union. Spectral grids for  WDM applica-tions: DWDM frequency  grid, available online: "http://www.itu.int/rec/T-REC-G.694.1/en", June 2002. [81] D. Raychaudhuri. Performance  analysis of  random access packet-switched code di-vision multiple access systems. IEEE  Transactions  on Communications,  29(6):895-901, June 1981. [82] R. Gagliardi and S. Karp. Optical Communications.  John Wiley & Sons, 1975. [83] G. Jacobsen. Noise  in Digital  Optical Transmission  Systems.  Artech House, 1994. [84] G. Einarsson. Principles  of  Lightwave Communications.  John Wiley & Sons, 1996. [85] C. Argon and R. Ergl. Optical CDMA via shortened orthogonal codes based on extended sets. Optics Communications,  116(5):326—330, May 1995. [86] Jr. M. Hall. Combinatorial  Theory—Second  Edition.  Wiley Interscience, 1986. [87] I. Anderson. Combinatorial  Designs: Construction  Methods.  Ellis Horwood Limited, 1990. [88] I. B. Djordjevic and B. Vasic. Combinatorial constructions of  optical orthogonal codes for  OCDMA systems. IEEE  Communications  Letters,  8(6):391—393, January 2004. Proof  of  pr < 1 in Equation 4.1 In this Appendix, we provide a mathematical proof  that a non-trivial  OOC, which satisfies the orthogonality condition (3.3) satisfies  also the following  condition: k2 Pr = — <1 • n Proof.  Starting from  the orthogonality condition, we have N  < n - 1 k(k-  1)_ (A.l) Therefore,  we can write N  < n - 1 k(k-  1)_ < n - 1 k(k-  1) (A.2) which can be rearranged to give N-k(k-l)<n-l  . (A.3) For a non-trivial  OOC, N  > 1. However, for  a given n, the largest value of  k  in (A.3) is achieved by choosing the smallest possible value of  N, which is achieved by choosing N  = 2. Hence, 2k(k  - 1) < n - 1 , (A.4) which can be rewritten as k2 + (k-l) 2<n. (A.5) Since (A; — l ) 2 > 0 , (A.5) can be rewritten as k2 < n , (A.6) Substituting (A.6) in (4.1) we get k2 Pr = — < 1 n • Derivation of  Equation 5.28 In Chapter 5, we gave a simplified  mathematical representation of  the BER for  a CLM-BPPM using absolutely timed detection and 'l'-value first  bit conflict  resolution by (5.28). In the following,  we derive this equation in details. Starting from  the right hand side (RHS) of  (5.27), we have RI Nu-lNu-l-l  h-\ N u-\-l RHS = (1 - P a P x ) Y ^ Y , P ( l , m ) + ( 1 - P A ) Y , E P^rn)d>(l,m) . (B.l) l=h m=0 1=0 m=h R2 The first  term (Rl) can be written as * = E V 1 - * ~ E _ i ( Nu ~ 1 ~ >om(i - * - «.)• l=h  ^ '  m = 0 ^ , , \ 1 J  n \ m J  \l-q1-q0 • l=h x m=0 x • \ N u-1 /ar  i\ /  \ Nu-l-l E ( " y V 1 - ^ " - 1 - ' . i=h A 1 J p(D which reduces to h-l RI  = 1-]TP(1)  , 1=0 where P(l)  is the binomial distribution with parameters q\, N u — 1 and I. Considering the second term (R2),  we can rewrite it as (B.2) where and 1=0 I tiil-qi-qo^-'-'SiW)  , (B.3) N u-l-l E m=h N u - 1 - I m Qo 1 - q i I-  qi- qo l-qi-qo N u-l-l  h-l - E m=0 N u-l-l m Qo 1 - <?i - <?o (B.4) <t>{l)  -1 l< K,-l-h 0 otherwise. is cj)(l,m)  rewritten as a function  that depends on I only. Substituting (B.4) in (B.3), we get * = E ( N u , V 1 - n)"-1-1*® - E - ft  -1=0 \ '  m=0 ^ '  ' h-l h-l h-l 1=0 1=0 m=0 Substituting (B.2) and (B.5) in (B.l) results in h-l \ /h-l  h-l h-l RHS - (i - P A P X ) i - ^ p{i) + (i - p A ) E p v w i ) - E E p \ 1=0 J  \l=0 (=0 m=0 / h-l (h-l  h-l N = 1-PaP1 + J 2 P(l)  [(1 - PAW)  - (1 - PAPI))  - (1 - PA)  E E ^ 1=0 \ 1=0 m=0 Asymptotic Computation Time for the RDR Algorithm In this appendix, we provide an asymptotic computational complexity analysis for  the RDR element-by-element greedy construction algorithm described in details in Chapter 6. The RDR algorithm performs  its operations on the set T ext, which is composed of  unique elements 1 < e^ < n. Hence, the algorithm -tests at most n elements (running at most n iterations). For each iteration, a new interdelay element is tested for  addition to code number i at delay element number j in T at step (i,  j), where 1 < i < N  and 1 < j < k. Assuming that the algorithm will perform  equal number of  iterations in each step (i,  j) to reach the accepted interdelay element, the total number of  iterations per step will be n N  xk ' In each iteration, the algorithm performs  linear time operations (comparisons, additions, etc.) on, at most, all the elements of  where T ^ is the partial set of  T ext composed at step (i,  j) of  the algorithm. Taking the worst case scenario when i = N  (an element is tested for  addition to code number N),  the total number of  operations performed  on all the elements of  T ^ per iteration per step is given by: c0 x N  x j(j  - 1) , where c0 is an arbitrary constant. Accordingly, the maximum total number of  operations N 0 performed  by the algorithm is given by: N  k 1=1 j=1 nxN k j=i nxN  (k  - l)k(k  + 1) = °o—; ^ = ^ x n x N{k-l){k  + l) . o This means that the algorithm has 0(n  x N  x k2) computation complexity. However, we know from  Johnson's inequality (proven in Theorem 6.5), that n-l N  < k{k  - 1) Therefore, O(N)  < 0(£) Consequently, the computation complexity of  the algorithm is i 71 0(nx^-x  k2) = 0(n 2) . 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            data-media="{[{embed.selectedMedia}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
https://iiif.library.ubc.ca/presentation/dsp.831.1-0100524/manifest

Comment

Related Items