UCLA Progress Report OCDMA Channel Coding Jun Shi Andres I. Vila Casado Miguel Griot Richard D. Wesel UCLA Electrical Engineering Department-Communication Systems Laboratory
OCDMA Goals : Security Improve security over assigned-wavelength WDM? UCLA answer: Cryptographically secure wavelength hopping. A special case of “wheat and chaff” where the other users are the chaff. (Ron Rivest 1998) Criticism: Requires Synchronization of all users. Hey, that’s a good point! We’ll spend the rest of our program on that.
OCDMA Goals : Uncoordinated Access Can two users in a large optical network communicate efficiently without coordinating with the other users in the network? There are two types of coordination: Synchronization at the bit or frame level. Assignment (as in wavelength assignment) Note that WDM does not require synchronization, but it does require assignment. If a system requires central assignment of “codes” then it requires coordination.
The OR Channel No multi-level detection (receiver detects only presence of light) This means that the channel can be seen as an OR channel (1+ X = 1; 0 + X = X) With proper thresholding, bit synchronization is the worst case. + User 1 User n Output User 2
Cost of treating other users as noise.
Main results this quarter LDPC design for the Z Channel Density Evolution Design technique : Linear programming based on density evolution Status Simple codes for immediate hardware implementation
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” Where i = 1-(1-p) n-i is the probability that at least one of the n-i remaining users transmits a 1
Successive Decoding: Z with erasures Intermediate users see the following channel assuming perfect previous decoding Where i = 1-(1-p) i-1 is the probability that at least one of the I-1previously decoded users transmitted a 1 XiXi YiYi e 1 ii i (1- i ) ii i
Successive Decoding The last user sees a BEC channel X nX n YnYn e 1 11 11
Successive Decoding For two users User 1 sees a Z-channel User 2 sees the following channel When BER1 is small, the channel can be approximated to a BEC X2X2 Y2Y e 1 p(BER 1 ) p(1-BER 1 ) 1 - p p(1-BER 1 )+(1-p)BER 1 (1-p)(1-BER 1 ) + p(BER 1 )
A 3-user example R1R1 R2R2 R3R ???????? ???????? ???????? User 1 User 2 User 3 Receiver User 1 User 2 User 3
A 3-user example R1R1 R2R2 R3R User 1 User 2 User ???????? ???????? 0e11e00e e User 1 User 2 User 3 Receiver
A 3-user example R1R1 R2R2 R3R User 1 User 2 User ???????? 0e1ee0ee e User 1 User 2 User 3 Receiver
A 3-user example R1R1 R2R2 R3R User 1 User 2 User User 1 User 2 User 3 Receiver
LDPC codes There are essentially two elements that must be designed when building and LDPC code : Degree distributions Edge positioning This group has worked a lot on the edge positioning problem, thus we have all the necessary designing tools Also, the degree distribution design problem for symmetric channels (AWGN, BSC, BEC) has been thoroughly studied by many authors.
LDPC codes for asymmetric channels Density evolution is a concept developed by Richardson et al. that helps predict the LDPC code behavior in symmetric channels This concept can be used in the design of good degree distribution in many different ways Wang et al. recently generalized Richardson’s result for asymmetric channels. We took all these concepts and tried several different linear programming based algorithms, and built a program that efficiently designs degree distributions for any binary memoryless channel. Given a channel, the program tries to maximize the rate while maintaining an acceptable performance.
Degree Distribution Design for Z-channels Capacity Rates Target alpha = x) = x x x x 11
Code Characteristics Max variable node degree Total number of edges MD MD MD 12 v Wang RCEV107182
Simulation of Codes on the Z Channel
Capacity Rates Target alpha = 0.5 Degree Distribution Design for Z-channels
Simulation of Rate LDPC code
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 Two-User Code UserInformation BitCodeword User 1, Rate-1/ User 1, Rate-1/ User 2, Rate-1/ User 2, Rate-1/
Simple codes for Demo (2) Receiver 1 looks for position of 0 (which always exists) If 1 or 2, decide 1 If 3 or 4, decide 0 Source Rate 1/4 Source Rate 1/6 0 1 Sum Rate 5/12
Simple codes for Demo (2) Receiver 1 looks for position of 0 (which always exists) If 1 or 2, decide 1 If 3 or 4, decide 0 Source Rate 1/4 Source Rate 1/6 0 1 Sum Rate 5/12
Simple codes for Demo (2) Receiver 1 looks for position of 0 (which always exists) If 1 or 2, decide 1 If 3 or 4, decide 0 Source Rate 1/4 Source Rate 1/6 0 1 Receiver 2 looks for FIRST position of 0. If 1, 3 or 5, decide 1 If 2, 4 or 6, decide 0 Worst Case : block iblock i+1 Sum Rate 5/12
Simple codes for Demo (2) Receiver 1 looks for position of 0 (which always exists) If 1 or 2, decide 1 If 3 or 4, decide 0 Source Rate 1/4 Source Rate 1/6 0 1 Receiver 2 looks for FIRST position of 0. If 1, 3 or 5, decide 1 If 2, 4 or 6, decide 0 Worst Case : block iblock i+1 Sum Rate 5/12
OR Channel Channel capacity for a two user OR channel
Density Transformer After the density transformer each user transmits a one with probability p First approach
Density Transformer The output bits of a binary linear code (such as LDPC codes) are equally likely 1 or 0 if the information bits are also equally likely Thus we need to change this distribution in order to avoid such a large interference between users 1) Mapper Receiver: Use soft Huffman encoder 2) Huffman Decoder Transmitter: Non-uniform mapper
Design degree distributions that work well for the specific channels that the different users see Develop the distribution transformer Test this successive decoding idea with a simulation. Future work in Successive Decoding
Joint decoding Joint decoding will be done on graphs that look like this one The formulas necessary in this joint decoding have already been found and simplified
Future work on Joint decoding Develop a density evolution based design tool to construct good LDPC codes for joint decoding Test and compare the performance of joint decoding and successive decoding Also evaluate and compare the complexity of both techniques