Title: Interleaver-Division Multiple Access on the OR Channel
1Interleaver-Division Multiple Access on the OR
Channel
UCLA Electrical Engineering Department-Communicati
on Systems Laboratory
- Miguel Griot, Andres Vila Casado, Wen-Yen Weng,
Herwin Chan, Juthika Basak, Eli Yablanovitch,
Ingrid Verbauwhede, Bahram Jalali, Rick Wesel
2The OR Multiple Access Channel (OR-MAC)
0
User 1
0
User 2
0
Receiver
0
User N
- If all users transmit zeros, receiver sees a zero.
3The OR Multiple Access Channel (OR-MAC)
1
User 1
0
User 2
1
Receiver
0
User N
- If any user transmits a one, receiver sees a one.
4OR-MAC Capacity Region
- 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.
5Interleaver Division Multiple Access(IDMA)
Interleaver 1
Encoder
User 1
Interleaver 2
User 2
Same Encoder
Interleaver N
Still Same Encoder
User 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.
6Ways 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, its very practical for gigabit decoding
rates.
7Single-User Decoding produces a Z-Channel
- N users, all transmitting with the same ones
density p - P(X1)p
- P(X0)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
8Theoretical Sum-Rate Comparison
Optimal ones densities
Users Joint Decoding Others as noise
2 0.293 0.286
6 0.109 0.108
12 0.056 0.056
9What can I achieve with a latency of 35 bits?
Interleaver 1
Trellis Encoder
User 1
Interleaver 2
User 2
Trellis Encoder
Viterbi Decoder
Interleaver N
Trellis Encoder
User 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.
10Trellis Code Parameters
State at time (t1)
Input 0
State at time t
Input 1
- Density of ones p.
- Rate-1/n (1 input bit, n output bits).
- S2v states (represented by v bits).
- 2S branches.
11Controlling the ones density
- There are S/2 of these sub-graphs.
- In this subgraph of four branches, assign a
Hamming weight of w1 to i branches, and a
Hamming weight of w to (4-i) branches.
12Example Hamming Weight Assignments
- 6-user Rate-1/20 Trellis Code
- n20, desired p0.125
- Two branches with weight 2
- Two branches with weight 3
- 100-user rate-1/400 Trellis Code
- n400, desired p0.0069
- One branch with weight 2
- Three branches with weight 3
13Directional 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.
14Trellis Code Design
- A trellis branch belongs to many codewords, so we
dont know which direction is the important one. - Code design branch metric chooses the smaller of
the two directional distances
15Ungerboecks Rule
- Maximize distance between all splits and merges.
- All output values have Hamming distance of w or
w1. - There are at least v1 branches in an error event.
16Extending Ungerboecks rule
- One can extend Ungerboecks rule into the trellis.
0
1
Maximize split
17Extending Ungerboecks rule
- One can extend Ungerboecks rule into the trellis.
0
0
1
1
0
1
Maximize
18Extending Ungerboecks rule
- One can extend Ungerboecks 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.
0
0
1
1
Maximize
0
1
19Designing 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
arent used in previous branches - Example 100-user OR-MAC,
20Trellis Code Simulations, Bounds, FPGA Results
21Results 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.
22C-Simulation Performance Results 6-user OR-MAC
23Could do Joint Decoding Results for Rate-1/20
p0.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
24C-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
25Reed-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
26Optical 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
27Demonstration
FPGA with both Transmitter and Receiver (slide
29)
FPGA Transmitters
28Conclusions
- 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 todays
technology. An FPGA implementation has been built
to prove this fact. - Turbo coded single-user implementation (week
supports) 60.
29Future work Capacity achieving codes
- Capacity achieving codes.
- Although they may not be feasible for optical
speeds, with todays technology, Turbo codes and
LDPC codes will be feasible in the near future - Part of my immediate futures 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.
30Non-linear Turbo Like codes
- Serial concatenation CC NL-TCM
- Parallel concatenated NL-TCMs
CC
Interleaver
NL-TCM
NL-TCM
Interleaver
NL-TCM
31Code details
- For all implementations, states were
used. - 6-user OR-MAC
- n20 Sum-rate 0.30
- 2 branches with Hw2, 2 with Hw3 (p1/8).
- h3, g2
- n 18 Sum-rate 1/3
- 3 branches with Hw2, 1 with Hw3 (p1/8).
- h2,g2
- n 17 Sum-rate 0.353
- all with Hw2 (p2/170.118).
- h2,g2
- 100-user OR-MAC,
- n 400 w2, i3 (p 0.006875)
- n 360 w2, i2 (p 0.006944)
- for both cases