Interleaver-Division Multiple Access on the OR Channel UCLA Electrical Engineering Department-Communication Systems Laboratory Interleaver-Division Multiple Access on the OR Channel Miguel Griot, Andres Vila Casado, Wen-Yen Weng, Herwin Chan, Juthika Basak, Eli Yablanovitch, Ingrid Verbauwhede, Bahram Jalali, Rick Wesel
The OR Multiple Access Channel (OR-MAC) User 1 User 2 Receiver User N If all users transmit zeros, receiver sees a zero. UCLA Electrical Engineering Communication Systems Laboratory
The OR Multiple Access Channel (OR-MAC) User 1 1 User 2 1 Receiver User N If any user transmits a one, receiver sees a one. UCLA Electrical Engineering Communication Systems Laboratory
OR-MAC Capacity Region 1 Can achieve with joint decoding using random codes. Successive decoding is also optimal if rate-splitting is used at the encoders with jointly optimized ones densities [Grant 01]. Rate of User 2 Rate of User 1 All n-tuples with sum-rate ≤1 form the capacity region. UCLA Electrical Engineering Communication Systems Laboratory
Interleaver Division Multiple Access (IDMA) User 1 Encoder Interleaver 1 User 2 Same Encoder Interleaver 2 User N Still Same Encoder Interleaver N Interleaver-Division Multiple Access [Ping 02] allows a single encoder/decoder pair to work for all users. Introduced for CDMA channels, but easily generalizes to most memoryless MAC channels. UCLA Electrical Engineering Communication Systems Laboratory
Communication Systems Laboratory Ways to use IDMA... IDMA plus an optimal code (or codes if we have various rates) can achieve optimal sum-rate with joint decoding. IDMA plus optimal codes and jointly optimized ones densities can achieve the optimal sum-rate with successive decoding. IDMA plus a short block length code and single-user decoding treating all other users as noise is pretty silly… No, it’s very practical for gigabit decoding rates. UCLA Electrical Engineering Communication Systems Laboratory
Single-User Decoding produces a Z-Channel 1 N users, all transmitting with the same ones density p: P(X=1)=p P(X=0)=1-p Focus on a desired user If desired user transmits a 1, a 1 will be received. A 0 will be received only if all users transmit a 0 UCLA Electrical Engineering Communication Systems Laboratory
Theoretical Sum-Rate Comparison To maximize H(Y) Output should Have 50% ones Optimal ones densities: Users Joint Decoding Others as noise 2 0.293 0.286 6 0.109 0.108 12 0.056 UCLA Electrical Engineering Communication Systems Laboratory
What can I achieve with a latency of 35 bits? User 1 Trellis Encoder Interleaver 1 User 2 Trellis Encoder Interleaver 2 Viterbi Decoder User N Trellis Encoder Interleaver N The required trellis code needs to be nonlinear at the binary level to achieve a very low ones density. A new definition of distance is required. A design approach is needed. UCLA Electrical Engineering Communication Systems Laboratory
Trellis Code Parameters State at time (t+1): Input 0 State at time t: Input 1 Density of ones p. Rate-1/n (1 input bit, n output bits). S=2v states (represented by v bits). 2S branches. UCLA Electrical Engineering Communication Systems Laboratory
Controlling the ones density Input 0 Input 1 1 There are S/2 of these sub-graphs. In this subgraph of four branches, assign a Hamming weight of w+1 to i branches, and a Hamming weight of w to (4-i) branches. UCLA Electrical Engineering Communication Systems Laboratory
Example Hamming Weight Assignments 6-user Rate-1/20 Trellis Code n=20, desired p=0.125 Two branches with weight 2 Two branches with weight 3 100-user rate-1/400 Trellis Code n=400, desired p=0.0069 One branch with weight 2 Three branches with weight 3 UCLA Electrical Engineering Communication Systems Laboratory
Communication Systems Laboratory Directional Distance Define the directional Hamming distance as the number of ones that have to be added to a codeword so that all ones of the other codeword are present in the received word. For two codewords with different Hamming weights, if the received word contains all ones from both codewords, the one with larger Hamming weight will be more likely than the codeword with smaller Hamming weight. UCLA Electrical Engineering Communication Systems Laboratory
Communication Systems Laboratory Trellis Code Design A trellis branch belongs to many codewords, so we don’t know which direction is the important one. Code design branch metric chooses the smaller of the two directional distances: UCLA Electrical Engineering Communication Systems Laboratory
Communication Systems Laboratory Ungerboeck’s Rule split merge Maximize distance between all splits and merges. All output values have Hamming distance of w or w+1. There are at least v+1 branches in an error event. UCLA Electrical Engineering Communication Systems Laboratory
Extending Ungerboeck’s rule One can extend Ungerboeck’s rule into the trellis. 1 Maximize split UCLA Electrical Engineering Communication Systems Laboratory
Extending Ungerboeck’s rule One can extend Ungerboeck’s rule into the trellis. 1 1 1 Maximize UCLA Electrical Engineering Communication Systems Laboratory
Extending Ungerboeck’s rule One can extend Ungerboeck’s rule into the trellis. Note that by maximizing the distance between the 8 branches, coming from a split 2 trellis section before, we are maximizing all groups of 4 branches coming from a split in the previous trellis section, and all splits. 1 1 Maximize 1 UCLA Electrical Engineering Communication Systems Laboratory
Designing for a very low desired ones density For a low enough desired ones density, all the branches can be chosen to have maximum distance. The design becomes straight-forward. It is possible to choose all branches so that there is at most 1 branch that has a 1 in a given position. Straight-forward design: Assign Hamming weights to branches For each branch, add ones in positions that aren’t used in previous branches Example: 100-user OR-MAC, UCLA Electrical Engineering Communication Systems Laboratory
Trellis Code Simulations, Bounds, FPGA Results 6-user BER 10-5 UCLA Electrical Engineering Communication Systems Laboratory
Results: observations An error floor can observed for the FPGA rate-1/20 NL-TCM. This is mainly due to the fact that, while theoretically a 1-to-0 transition means an infinite distance, for implementation constraints those transitions are given a value of 20. Trace-back depth of 35. Additional coding required to lower BER to below 10-9. UCLA Electrical Engineering Communication Systems Laboratory
C-Simulation Performance Results: 6-user OR-MAC 6-user BER 10-5 UCLA Electrical Engineering Communication Systems Laboratory
Could do Joint Decoding… Results for Rate-1/20 p=0.125 code. Number of Users Sum Rate Trellis Code BER 6 0.3 No Errors 8 0.4 2.7e-7 10 0.5 2.0e-5 12 0.6 4.0e-4 UCLA Electrical Engineering Communication Systems Laboratory
C-Simulation Performance Results: NL-TCM only, 100-user OR-MAC Rate Sum-rate p BER 1/360 0.2778 0.006944 0.49837 1/400 0.25 0.006875 0.49489 UCLA Electrical Engineering Communication Systems Laboratory
Reed-Solomon + NL-TCM : Results A concatenation of the rate-1/20 NL-TCM code with (255 bytes,247 bytes) Reed-Solomon code has been tested for the 6-user OR-MAC scenario. This RS-code corrects up to 8 erred bits. The resulting rate for each user is (247/255).(1/20) The results were obtained using a C program to apply the RS-code to the FPGA NL-TCM output. Rate Sum-rate p BER 0.0484 0.29 0.125 0.4652 UCLA Electrical Engineering Communication Systems Laboratory
Optical MAC Coding Architecture 2 Gbps Reed Solomon (255, 237) Trellis Code 1/20 int OR channel 93 Mbps 5 other tx Correct extra errors Separate different transmitters Asychronous Access code UCLA Electrical Engineering Communication Systems Laboratory
Communication Systems Laboratory Demonstration FPGA with both Transmitter and Receiver (slide 29) FPGA Transmitters UCLA Electrical Engineering Communication Systems Laboratory
Communication Systems Laboratory Conclusions We presented an Interleaver Division Multiple Access system for the OR-MAC. A relatively low ones density is essential for the OR-MAC channel. We presented a single-user trellis coded solution. An arbitrary number of users is supported, maintaining relatively the same efficiency (around 30%). Joint decoding for six-users increases efficiency to 50-60%. Although these codes are not capacity achieving,a good part of the capacity is achieved, with a suitable BER for optical needs, and a complexity feasible for optical speeds with today’s technology. An FPGA implementation has been built to prove this fact. Turbo coded single-user implementation (week supports) 60%. UCLA Electrical Engineering Communication Systems Laboratory
Future work: Capacity achieving codes Although they may not be feasible for optical speeds, with today’s technology, Turbo codes and LDPC codes will be feasible in the near future Part of my immediate future’s work will be the design Turbo-Like codes, with an arbitrary ones density. Most common Turbo-like codes are Parallel concatenation of convolutional codes Serially concatenated convolutional codes. The convolutional codes will be replaced by properly designed NL-TCMs. UCLA Electrical Engineering Communication Systems Laboratory
Non-linear Turbo Like codes Serial concatenation CC + NL-TCM: Parallel concatenated NL-TCMs: CC Interleaver NL-TCM NL-TCM Interleaver NL-TCM UCLA Electrical Engineering Communication Systems Laboratory
Communication Systems Laboratory Code details For all implementations, states were used. 6-user OR-MAC n=20 : Sum-rate = 0.30 2 branches with Hw=2, 2 with Hw=3 (p=1/8). h=3, g=2 : n = 18 : Sum-rate = 1/3 3 branches with Hw=2, 1 with Hw=3 (p=1/8). h=2,g=2 : n = 17 : Sum-rate = 0.353 all with Hw=2 (p=2/17=0.118). 100-user OR-MAC, n = 400 : w=2, i=3 (p = 0.006875) n = 360 : w=2, i=2 (p = 0.006944) for both cases UCLA Electrical Engineering Communication Systems Laboratory