Post on 15-Jan-2016
transcript
OCDMA Channel Coding Progress Report
Jun Shi
Andres I. Vila Casado
Miguel Griot
Richard D. Wesel
UCLA Electrical Engineering Department-Communication Systems LaboratoryUCLA Electrical Engineering Department-Communication Systems Laboratory
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
The OR Channel
Bit synchronized 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)
+
User 1
User 2
Output
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
Another code on the Z channel
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 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