ucla progress report ocdma channel coding jun shi andres i. vila casado miguel griot richard d....

36
UCLA Progress Report OCDMA Channel Coding Jun Shi Andres I. Vila Casado Miguel Griot Richard D. Wesel UCLA Electrical Engineering Department-Communication Systems Laboratory UCLA Electrical Engineering Department-Communication Systems Laboratory

Post on 19-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

UCLA Progress Report OCDMA Channel Coding

Jun Shi

Andres I. Vila Casado

Miguel Griot

Richard D. Wesel

UCLA Electrical Engineering Department-Communication Systems LaboratoryUCLA 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

OutputUser 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

1

11 0x

1x

0y

1y

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

Xi Yi0

1

0

e

1

1 - 1

i

i (1-

i )

i

i

Successive Decoding The last user sees a BEC channel

X n Yn

0

1

0

e

1

1 - 1

1

1

1 - 1

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

X2 Y2

0

1

0

e

1

p(BER1 )

p(1-BER1)

1 - p

p(1-BER 1)+(1-p)BER 1

(1-p)(1-BER1) + p(BER1)

A 3-user example

1321 RRR

R1

R2R3

1

1

1

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ?

0 1 1 1 1 0 1 1

1

0

1

0

User 1

User 2

User 3

Receiver

User 1

User 2

User 3

A 3-user example

1321 RRR

R1

R2R3

1

1

1

User 1

User 2

User 3

0 1 0 0 1 0 0 1

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ?

0 e 1 1 e 0 0 e

1

0

1

0

e

User 1

User 2

User 3

Receiver

A 3-user example

1321 RRR

R1

R2R3

1

1

1

User 1

User 2

User 3

0 1 0 0 1 0 0 1

0 0 0 1 0 0 1 0

? ? ? ? ? ? ? ?

0 e 1 e e 0 e e

1

0

1

0

e

User 1

User 2

User 3

Receiver

A 3-user example

1321 RRR

R1

R2R3

1

1

1

User 1

User 2

User 3

0 1 0 0 1 0 0 1

0 0 0 1 0 0 1 0

0 1 1 0 0 0 0 0

0 1 1 1 1 0 1 1

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

0.3719890.3808720.3890730.3966460.4036690.4101800.4162360.4218620.4271060.4319980.4365650.4408340.4448280.4485660.4520700.4553570.4584420.4613420.4640620.4666250.4690320.4712990.4734360.4754480.4773450.4791320.4808200.4824120.483915

0.4853330.4866750.4879410.4891390.4902710.4913420.4923540.4933110.4942170.4950760.4958910.4966620.4973930.4980860.4987430.4993660.4999570.5005160.5010470.5015500.502027

Capacity0.532439

RatesTarget alpha = 0.2731

x) = 0.27571047 x + 0.15042832 x2 + 0.18575028 x3 + 0.38811080 x11

0 10 20 30 40 50 60 70 80 90 1000

0.02

0.04

0.06

0.08

0.1

0.12

0.14

alpha

Pro

ba

bili

ty o

f e

rro

r o

f v

2c

me

ss

ag

es

Code Characteristics

Max variable node degree

Total number of edges

MD 12 12 7289MD 13 13 7305

MD 12 v2 12 7413Wang 12 7316RCEV 10 7182

Simulation of Codes on the Z Channel

0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.2610

-7

10-6

10-5

10-4

10-3

10-2

10-1

100

BE

R/F

ER

alpha

100 it, Rate 1/2, N = 1944

RCEVMD 13MD 12WangMD 12 v2RCEV dist

0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.2610

-6

10-5

10-4

10-3

10-2

10-1

100

BE

R/F

ER

alpha

40 it, Rate 1/2, N = 1944

RCEVMD 13MD 12WangWang RandomMD 12 v2RCEV dist

Simulation of Codes on the Z Channel

0 10 20 30 40 50 60 70 80 90 1000

0.05

0.1

0.15

0.2

0.25

iterations

Pro

babi

lity

of e

rror o

f v2c

mes

sage

s

-0.051744-0.026240-0.0031070.0179410.0371580.0547510.0708720.0856860.0993260.1119260.1235880.1344060.1444490.1537850.1624730.1705580.1781030.1851630.1917610.1979370.2037170.2091340.2142180.2189960.2234780.2276950.2316630.2353970.2389120.2422250.2453480.2480850.2508820.253517

0.2560000.2583480.2605590.2626570.2646370.2665040.2682780.2699510.2715360.2730360.2744530.2757970.2770720.2782780.2794220.2805060.2815330.2825070.2834310.2843060.2851370.2859250.2866730.2873840.2880590.2887030.2893210.2899100.2904610.2909860.2914860.291964

Capacity0.321928

Rates Target alpha = 0.5

Degree Distribution Design for Z-channels

Simulation of Rate-0.291964 LDPC code

0.36 0.38 0.4 0.42 0.44 0.46 0.4810

-6

10-5

10-4

10-3

10-2

10-1

100

alpha

BE

R/F

ER

40 it100 it

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

User Information Bit Codeword

User 1, Rate-1/4 0 1100

User 1, Rate-1/4 1 0011

User 2, Rate-1/6 0 101010

User 2, Rate-1/6 1 010100

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 1

1 2 3 4

0

1

Rate 1/4

Source 2

1 2 3 4 5 6

1

0Rate 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 1

1 2 3 4

0

1

Rate 1/4

Source 2

1 2 3 4 5 6

1

0Rate 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 1

1 2 3 4

0

1

Rate 1/4

Source 2

1 2 3 4 5 6

1

0Rate 1/6

0

1

Receiver 2 looks forFIRST position of 0.If 1, 3 or 5, decide 1If 2, 4 or 6, decide 0

Worst Case :

block i block 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 1

1 2 3 4

0

1

Rate 1/4

Source 2

1 2 3 4 5 6

1

0Rate 1/6

0

1

Receiver 2 looks forFIRST position of 0.If 1, 3 or 5, decide 1If 2, 4 or 6, decide 0

Worst Case :

block i block 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