A Unified Understanding of the Many Forms of Optical Code Division Multiplexing Eli Yablonovitch Rick Wesel Bahram Jalali Ming Wu Ingrid Verbauwhede Can FPGA’s + Modulator/PhotoDetector Array Mimic any form of OCDMA? Princeton USC UC Davis Telcordia Purdue Univ. Matched Filtering in Time Domain (non-coherent) Matched Filtering in the Spectral Domain (coherent) l1 l3 l4 Time Time Modulators Transmitter Data FPGA DWDM DEMUX Wavelength Code From Network To Network DWDM MUX Multi-wavelength Laser Source l4 l2 Receiver Voltage l3 Wavelength l2 l1 Wavelength Block Diagram Threshold Level (valid data) Time Time Photodetectors FPGA Data FPGA Encryption PLL Input data LVDS Output Switch Matrix Protocol LVDS Input Input clock System clock Output clock Output data Delay Module Code Generator LVDS: Low Voltage Differential Signaling PLL: Phase-Locked Loop Therefore FPGA’s + Modulator/PhotoDetector Array can easily duplicate the performance of Matched Filtering in Time Domain (non-coherent) Therefore Princeton scheme and USC scheme can be emulated by our FPGA approach Equivalence Between Spectral Phase Encoding And Time Sequential Encoding: Frequency Wavelength MUX Spectral Phase Decoder (a) Data threshold detector t time (a) Sequential brief individual pulses, have a broad spectrum as indicated by the colors. The plus and minus signs in (a) indicate various phase shifts induced on the spectral components of one pulse. The phase shifts can be decoded by a matched filter, producing a single big pulse that can be monitored by a threshold detector. Sum Delay Buffer (b) Frequency FPGA t time Photo-receiver array Data (b) With no loss of generality, the pulses can be spectrally filtered, and each spectral component sent to a phase sensitive photo-receiver. The retrieved information can be stored and processed in a Field Programmable Gate Array, which is fully equivalent to direct-sequence radio CDMA. sidebands sidebands + l sidebands + carrier carrier carrier optical electrical l Figure 1: Coherent detection without a local oscillator. The ring is a carrier add/drop separation filter. sidebands l1 EDFA l1l sidebands + carrier add/ drop l2 l3 l + carrier 2 carrier optical electrical 180 hybrid coupler in-phase quadrature signal signal Figure 4: Tandem single side band receiver, not requiring a local oscillator, avoids duplicate side-bands. Direct Sequence Spread Spectrum: carrier wave cos(t) signal(t) code(t) mixer code(t) signal(t) 1 time -1 Transmitter cos(t) code(t) signal(t) time mixer chip time local oscillator cos(t) cos(t) code(t) signal(t) mixer Receiver cos2(t) code(t) signal(t) local code generator code(t) cos2(t) code2(t) signal(t)= time (1/2)signal(t) mixer A Direct Sequence radio CDMA system imposes random phase shifts +1 or –1 on the signals in much the same way as the channelized optical spectral phase decoder/encoder, described in a previous vugraph. Therefore FPGA’s + Modulator/PhotoDetector Array can do Spectral Phase Encoding if Coherent detectors are used Therefore UC Davis scheme and Telcordia scheme and Purdue scheme can be emulated by our FPGA approach The different approaches are all equivalent since, the frequency time rectangular cell changes shape, but its area is preserved, in accordance with the “Uncertainty Principle”. frequency Conventional Wavelength/Time matrix. Frequency and time are treated on an equal footing. time t frequency time between pulses time t Spectral Phase Encoding. Each color of each pulse will be coded with a different phase shift, producing narrow slicing of the spectrum, but relatively long periods between pulses. frequency chip time channel 1 channel 2 time Direct-Sequence Time-Domain Spread-Spectrum CDMA. Each channel occupies a broad frequency spectrum corresponding to the inverse of the chip time. t Successive Decoding • We can decode the first user by treating others as noise, then the first user’s ones become erasures for the other users. Proceed in this way until finish decoding all the users. • This is called successive decoding. For binary OR channel, this process does not lose capacity as compared to joint decoding. Successive Decoding: The Z-Channel • Successive decoding for n users: – User with lowest rate is decoded first – Other users are treated as noise – The decoded data of the first user is used in the decoding of the remaining users • First user sees a “Z-channel” x0 x 1 1 a1 a1 y0 y 1 • Where ai = 1-(1-p)n-i is the probability that at least one of the n-i remaining users transmits a1 Simple codes • In order to have a hardware demo working for the May meeting, some very simple codes were produced. • This demo consists of two transmitter and two receivers • Both receivers decode the information independently Simple Codes for Demo • Short codes have been designed for a simple demo for 2 users • These were chosen to be as simple to encode and decode as possible • Each bit is encoded separately • Bit synchronism is assumed, blocked asynchronism is allowed • Coordination is required • These codes are error free Simple codes for Demo (2) 1 Rate 1/4 0 Receiver 1 looks for position of 0 (which always exists) 0 Source 1 If 1 or 2, decide 1 1 If 3 or 4, decide 0 1 2 3 4 Sum Rate 5/12 Rate 1/6 Receiver 2 looks for FIRST position of 0. If 1, 3 or 5, decide 1 If 2, 4 or 6, decide 0 0 Source 2 1 1 2 3 4 5 6 Worst Case : block i block i+1 FPGA Setup for initial successive decoding Demo Transmitter 1 FPGA Data Generator CW Laser FPGA Receiver 1 Bit Error Rate Tester Decoder Encoder Modulator Wavelength Coupler Transmitter 2 FPGA Data Generator CW Laser Photodetector Photodetector FPGA Decoder Encoder Modulator Receiver 2 Bit Error Rate Tester