69
June 23, 2015 On Fountain Codes Under ML decoding Francisco L´ azaro Institute for Communications and Navigation German Aerospace Center, DLR

On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

June 23, 2015

On Fountain Codes Under ML decodingFrancisco Lazaro

Institute for Communications and NavigationGerman Aerospace Center, DLR

Page 2: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Outline

1 Introduction

2 LT & Raptor Codes

3 ML decoding of Fountain Codes

4 Distance properties

5 Conclusions

Page 3: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Outline

1 Introduction

2 LT & Raptor Codes

3 ML decoding of Fountain Codes

4 Distance properties

5 Conclusions

Page 4: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 1/55 F. Lazaro · Fountain Codes · Introduction June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Introduction - Motivation

• Objective: transmit information from one sender to multiplereceivers

• Challenges:I Different receivers suffer independent lossesI Mechanisms based on retransmissions are known to be

inefficient

Page 5: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 2/55 F. Lazaro · Fountain Codes · Introduction June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Introduction - Channel Model

• Binary Erasure Channel (BEC)I PrErasure = λI Capacity C = 1− λ

Page 6: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 3/55 F. Lazaro · Fountain Codes · Introduction June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Introduction - Digital Fountain

• The encoder acts like a fountainI Each water drop is a packet

• Receiver: after receiving enough drops the glass if full anddecoding is successful

[Byers98] Byers, John W., et al. A digital fountain approach to reliable distribution of bulk data, ACM SIGCOMM

Computer Communication Review. Vol. 28. No. 4. ACM, 1998.

Page 7: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 4/55 F. Lazaro · Fountain Codes · Introduction June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Introduction - Fountain codes

• Fountain Codes are rateless erasure codes• Encoding

I k input symbolsI n output symbols, where n = k , . . . ,∞I rate r = k

n

• DecodingI Decoding is possible when m = k + δ symbols are receivedI δ small

Page 8: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Outline

1 Introduction

2 LT & Raptor Codes

3 ML decoding of Fountain Codes

4 Distance properties

5 Conclusions

Page 9: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 5/55 F. Lazaro · Fountain Codes · LT & Raptor Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

LT codes - Definition

• First class of practical fountain codes• Defined by an output degree distribution Ω

I Ω = Ω1,Ω2,Ω3, ...,ΩdmaxI Ωi = prob. of output degree i .I Ω is a probability mass function

• Encoding:I 1. Select output degree d according to ΩI 2. Select d input symbols and xor them to generate one

output symbol

[Luby02] Luby, M., LT codes, Proc. of the 43rd Annual IEEE Symp. on Foundations of Computer Science, nov 2002.

Page 10: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 6/55 F. Lazaro · Fountain Codes · LT & Raptor Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

LT codes - Bipartite Graph

• Potentially an infinite amount of output symbols can begenerated

Page 11: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 7/55 F. Lazaro · Fountain Codes · LT & Raptor Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

LT codes - Properties

• LT codes were designed for iterative decoding.• The average output degree Ω needs to be O (log(k))

• Encoding / Decoding complexity is O (k log(k))

• Encoding / Decoding cost per symbol is O (log(k))

Page 12: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 8/55 F. Lazaro · Fountain Codes · LT & Raptor Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Raptor codes - Definition

• Raptor codes are a serial concatenation of:I A precode as outer codeI An LT code as inner code

[Shokrollahi06] Shokrollahi, M., Raptor codes, IEEE Transactions on Inf. Theory, jun 2006

Page 13: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 9/55 F. Lazaro · Fountain Codes · LT & Raptor Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Raptor codes - Introduction

• Why should this help?I Light LT code

F Constant average output degreeF recovers fraction 1− γ of intermediate symbols

I Pre-codeF recovers all input symbols from this fraction (1− γ)

Page 14: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 10/55 F. Lazaro · Fountain Codes · LT & Raptor Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Raptor codes - Properties

• Encoding cost is constant if a linear time encodableprecode is used

• Decoding cost is constant if BP decoding is used• Raptor codes are universally capacity achieving on the

binary erasure channel with constant encoding / decodingcost

Page 15: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 11/55 F. Lazaro · Fountain Codes · LT & Raptor Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Raptor codes - Practice

• BP decoding requires large block lengths (k 10000)• In practice:

I Due to memory limitations k ∼ 1000 is usedI ML decoding is usedI Sometimes Raptor codes are used as fixed-rate codes

[3GPP-MBMS] 3GPP TS 26.346 V11.1.0: Technical Specification Group Services and System Aspects; Multimedia

Broadcast/Multicast Service; Protocols and Codecs June 2012

Page 16: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Outline

1 Introduction

2 LT & Raptor Codes

3 ML decoding of Fountain CodesLT codesRaptor Codes

4 Distance properties

5 Conclusions

Page 17: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 12/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML decoding - Overview

• In the BEC channel ML decoding consists of decoding asystem of linear equations

I decoding complexity is O(k3)

I decoding cost is O(k2)

• For moderate values of k ML decoding is feasible if:I An efficient ML algorithm is used (inactivation decoding).I The code design is tailored to the decoding algorithmI k is not too large.

Page 18: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Outline

1 Introduction

2 LT & Raptor Codes

3 ML decoding of Fountain CodesLT codesRaptor Codes

4 Distance properties

5 Conclusions

Page 19: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 13/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesOverview

• Maximum Likelihood (ML) decoding of LT codes consists ofsolving:

c = uGT

I u = (u1,u2, ...,uk ) are the source symbolsI c = (c1, c2, ..., cm) are the received symbolsI G is a m × k binary matrix

• Inactivation decoding is an efficient algorithm for ML

Page 20: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 14/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Steps

1 Triangularization.2 Zero matrix procedure.3 Gaussian Elimination.4 Back-substitution.

Page 21: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 15/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Triangularization

m

A

B C

k

lr

D

lr lx

m-lr

• Put G in approximate lowertriangular form

• Column and rowpermutations

• All matrices are sparse

Page 22: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 16/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Zero matrix proc.

m

A

B C

k

lr

D

lr lx

m-lr

• Put A i diagonal form.• Zero out B.• Matrices C and D become

dense.

Page 23: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 17/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Gaussian Elimination

m

A

B C

k

lr

D

lr lx

m-lr

• Solve system of equationsc = uCT .

• Complexity O(lx 3)

• This step drives thedecoding complexity.

Page 24: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 18/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Backsubstitution

m

A

B C

k

lr

D

lr lx

m-lr

• Zero out matrix D

Page 25: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 19/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Triangularization I

• Build a bipartite graph with input & output symbols• Mark all input nodes as active• Iterative algorithm:

I Search for active degree 1 output symbol nodeI If it exists:

F Mark its only neighbor as resolvableI If it does not:

F Mark one input symbol as inactiveI move to next step

Page 26: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 20/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Triangularization II

Page 27: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 21/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Triangularization II

Page 28: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 22/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Triangularization II

Page 29: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 23/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Triangularization II

Page 30: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 24/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Triangularization II

Page 31: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 25/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Triangularization II

Page 32: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 26/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Remarks

• Complexity driven by GE• Triangularization is the critical step:

I Determines the size system to be solved by GE• Many possible inactivation techniques

I We use random inactivationF Inactivate one input symbol uniformly at randomF Simple to analyze

Page 33: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 27/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Model

• Objective:I Estimate the expected number of inactivations needed to

decode.• Method:

I Track the node degree distributions of the output symbols inthe reduced graph considering only active input symbols.

I Changes at every decoding step

Page 34: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 28/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Model - Step j

• R(j)i number of output symbol nodes of active degree i at

step j

... ...

k-j j

i

• j input symbols are resolvable or inactive.• k − j input symbols are active

Page 35: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 29/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Model - Assumptions & Initialization

• Assumptions:I R(j)

i has a binomial distribution B(m(j),p(j)i )

F m(j) number of output symbols in the graph at step jF p(j)

i probability that one of the output symbols at step j hasactive degree i

• Initialization:I R(0)

i follows a binomial distribution B(m,Ωi )I m = k ∗ (1 + ε)I ε relative receiver overhead

Page 36: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 30/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Model - Udate rule - I

• Assume a symbol has active degree i , i ≥ 2• What is the probability that its degree gets reduced?

χj+1i =

ik − j

.

... ...

k-j j

i

Page 37: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 31/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Model - Update rule - II

• What happens to degree i = 1 output symbols?I if R j

1 ≥ 1, no inactivationF Expected number of degree 1 output symbols leaving:

N(j+1)1 = E

[1 + (R j

1 − 1)1

k − j

]

... ...

k-j j

Page 38: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 32/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Model - Update rule - III

• What happens to degree i = 1 output symbols?I if R j

1 < 1, inactivationF Expected number of degree 1 output symbols that leave:

N(j+1)1 = 0

• Probability of an inactivation happening:

PrR(j+1)1 = 0

Page 39: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 33/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Model - Example I

0 100 200 300 400 500 600 700 800 900 10000

20

40

60

80

100

120

N(j)

inact\

R(j)

1

j

R(j)1 simulation

R(j)1 prediction

N(j)inact simulation

N(j)inact prediction

• RSD, Ω = 12, k = 1000, ε = 0.2

Page 40: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 34/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - LT CodesInactivation Decoding - Model- Example II

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

100

200

300

400

500

600

ε

N(j)

inact

LRFC predictionRSD predictionOPT simOPT prediction

• LRFC & RSD, Ω = 12, k = 1000

Page 41: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Outline

1 Introduction

2 LT & Raptor Codes

3 ML decoding of Fountain CodesLT codesRaptor Codes

4 Distance properties

5 Conclusions

Page 42: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 35/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - Raptor CodesBasics

• Rate-ro outer codewith parity-checkmatrix Ho

vHTo = 0

• Inner LT code withgenerator matrix Gi

vGi = x

• The output symboldegrees ∼ Ωi

• Set of constraints

v[HT

o |Gi

]= [0 |x]

(h, k) outer code, Co

k source symbols, u

h intermediate symbols, v

n output symbols, x

Page 43: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 36/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - Raptor CodesBasics

• Suppose k + ∆symbols arereceived (noterased)

• y := received vector• New set of

constraints

v[HT

o | Gi

]= [0 |y]

(h, k) outer code, Co

k source symbols, u

h intermediate symbols, v

k + received symbols, y

Page 44: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 37/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - Raptor CodesBasics

• Inactivationdecoding is used tosolve the system ofequations.

v[HT

o | Gi

]= [

h − k

Page 45: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 38/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - Raptor CodesBasics

• Inactivated rows areresolved usingGaussianElimination

v[HT

o | Gi

]= [

p inactivations

Page 46: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 39/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - Raptor CodesBasics

• The same method used for LT codes can be used toestimate the number of inactivations.

• Experimentally demonstrated that the number ofinactivations. is proportional to h − k

• Outer code rate, ro,shall be kept as large as possible• How high can ro be so that decoding succeeds with

probability close to one?

Page 47: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 39/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - Raptor CodesBasics

• The same method used for LT codes can be used toestimate the number of inactivations.

• Experimentally demonstrated that the number ofinactivations. is proportional to h − k

• Outer code rate, ro,shall be kept as large as possible• How high can ro be so that decoding succeeds with

probability close to one?

Page 48: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 39/55 F. Lazaro · Fountain Codes · ML decoding of Fountain Codes June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

ML Decoding - Raptor CodesBasics

• The same method used for LT codes can be used toestimate the number of inactivations.

• Experimentally demonstrated that the number ofinactivations. is proportional to h − k

• Outer code rate, ro,shall be kept as large as possible• How high can ro be so that decoding succeeds with

probability close to one?

Page 49: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Outline

1 Introduction

2 LT & Raptor Codes

3 ML decoding of Fountain Codes

4 Distance properties

5 Conclusions

Page 50: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 40/55 F. Lazaro · Fountain Codes · Distance properties June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Distance Properties

• It is difficult to analyze the decoding error probability ofRaptor codes in a rateless setting.

• However, in a fixed-rate setting one can use standardcoding theory tools

Page 51: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 41/55 F. Lazaro · Fountain Codes · Distance properties June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Distance PropertiesFixed-Rate Setting

• With respect to fountain codes, we simply stop the encoderafter generating n output symbols

(h, k) outercode

(n, h) fixed-rateLT code

k sourcesymbols

h intermediatesymbols

n outputsymbols

u v x

• w := wH(u) input Hamming weight• l := wH(v) intermediate Hamming weight• d := wH(x) output Hamming weight

Page 52: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 42/55 F. Lazaro · Fountain Codes · Distance properties June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Distance PropertiesFixed-Rate Setting

• With respect to fountain codes, we simply stop the encoderafter generating n output symbols

(h, k) outercode

(n, h) fixed-rateLT code

k sourcesymbols

h intermediatesymbols

n outputsymbols

u v x

• Sometimes, we use normalized weights• λ := l/h normalized intermediate Hamming weight• δ := d/n normalized output Hamming weight

Page 53: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 43/55 F. Lazaro · Fountain Codes · Distance properties June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Distance PropertiesFixed-Rate Setting

• With respect to fountain codes, we simply stop the encoderafter generating n output symbols

(h, k) outercode

(n, h) fixed-rateLT code

k sourcesymbols

h intermediatesymbols

n outputsymbols

u v x

• ro := k/h outer code rate• ri := h/n inner code rate• r := riro Raptor code rate

Page 54: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 44/55 F. Lazaro · Fountain Codes · Distance properties June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Distance PropertiesFixed-Rate Setting

• Under ML decoding, block error probability can be upperbounded by

PB ≤∑

d

Adεd (union bound)

I Ad is the multiplicity of codewords with weight dI ε the channel erasure probability

• We study the average weight enumerator Ad for fixedrate Raptor code ensembles C where

(i) Precode from the (h, k) binary linear random ensemble Co

(ii) LT code with output degree distributionΩ = Ω1,Ω2, ...,Ωdmax

Page 55: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 45/55 F. Lazaro · Fountain Codes · Distance properties June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Distance PropertiesWeight Enumerator

TheoremLet Ad be the expected multiplicity of codewords of weight d fora code picked randomly in the ensemble C (Co,Ω, ri, ro,n).

Ad =

(nd

)2−h(1−ro)

h∑

l=1

(hl

)pd

l (1− pl )n−d , d ≥ 1. (1)

where

pl =

dmax∑

j=1

Ωj

min(l,j)∑

i=max(1,l+j−h)i odd

(ji

)(h−jl−i

)(h

l

) . (2)

Page 56: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 46/55 F. Lazaro · Fountain Codes · Distance properties June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Distance PropertiesGrowth Rate - Motivation

• Often, ensembles distance properties can be captured in acompact form by letting n→∞, keeping ri and ro constant.

• In fact, for large n the weight distribution can beapproximated via

Anδ ≈ 2nG(δ)

where G(δ) is referred to as growth rate of the ensemble,

G(δ) := limn→∞

1n

log2 Aδn

• We thus aim at developing simple expressions for G(δ)

Page 57: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 47/55 F. Lazaro · Fountain Codes · Distance properties June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Distance PropertiesGrowth Rate

TheoremThe growth rate of the fixed-rate Raptor code ensemble weightdistribution is

G(δ) = Hb(δ)− ri(1− ro) + fmax(δ).

wherefmax(δ) := max

λf(δ, λ)

and

f(δ, λ) := riHb(λ) + δ log2 pλ + (1− δ) log2 (1− pλ) .

Page 58: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 48/55 F. Lazaro · Fountain Codes · Distance properties June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Distance PropertiesGrowth Rate - Example

• Ensemble C∞(Co,Ω, ri, ro = 0.99) for ri = 0.95, 0.88 and0.8

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

δ

G(δ)

Random Code, r = 0.99

ro = 0.99, ri = 0.95

ro = 0.99, ri = 0.88

ro = 0.99, ri = 0.8

0.5 1 1.5

·10−3

−1

−0.5

0

0.5

1·10−2

1

Degree Ω

1 0.00982 0.45903 0.21104 0.1134

10 0.111311 0.079940 0.0156

Ω 4.6314

Page 59: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 49/55 F. Lazaro · Fountain Codes · Distance properties June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Distance PropertiesTypical Minimum Distance

• The real number

δ? := infδ > 0 : G(δ) > 0

is the typical minimum distance of the ensemble• It can be proved that the expected minimum distance the

Raptor codes of the ensemble is dmin = δ? n

Page 60: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 50/55 F. Lazaro · Fountain Codes · Distance properties June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Distance PropertiesPositive Typical Minimum Distance

Positive typical minimum distance region

We define the positive typical minimum distance region of a Raptor codeensemble as the set P of code rate pairs (ri, ro) for which the ensemblepossesses a positive typical minimum distance.

Theorem

The positive typical minimum distance region is given by

P = (ri, ro) |ri(1− ro) > f∗max(ri)

wheref∗max(ri) := lim

δ→0+fmax(δ).

Page 61: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 51/55 F. Lazaro · Fountain Codes · Distance properties June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Distance PropertiesRate Region Example, distribution from [3GPP-MBMS]

0 0.25 0.5 0.75 10.00

0.25

0.50

0.75

1.00

ri

r o

Boundary P for Ω(1)

Boundary O for Ω(1)

1

Degree Ω

1 0.00982 0.45903 0.21104 0.1134

10 0.111311 0.079940 0.0156

Ω 4.6314

Page 62: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 52/55 F. Lazaro · Fountain Codes · Distance properties June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Distance PropertiesRate Region Example, distribution from [3GPP-MBMS]

0.6 0.8 1 1.2

0.90

0.95

1.00

ri

r o

Boundary P for Ω(1)

Boundary O for Ω(1)

1

Degree Ω

1 0.00982 0.45903 0.21104 0.1134

10 0.111311 0.079940 0.0156

Ω 4.6314

Page 63: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 53/55 F. Lazaro · Fountain Codes · Distance properties June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Distance PropertiesRate Region Example, distribution from [3GPP-MBMS]

0.6 0.8 1 1.2

0.90

0.95

1.00r = 1.0

r = 0.95

r = 0.9

r = 0.8

r = 0.7

ri

r o

Boundary P for Ω(1)

Boundary O for Ω(1)

Isorate curves

1

Degree Ω

1 0.00982 0.45903 0.21104 0.1134

10 0.111311 0.079940 0.0156

Ω 4.6314

Page 64: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Outline

1 Introduction

2 LT & Raptor Codes

3 ML decoding of Fountain Codes

4 Distance properties

5 Conclusions

Page 65: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 54/55 F. Lazaro · Fountain Codes · Conclusions June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Conclusions I

A. The decoding complexity of Raptor and LT codes under MLhas been analyzed

B. We have a characterization of the distance properties ofRaptor ensembles with fixed rate and random outer codes

C. We can analyze the complexity - decoding error probabilitytrade-off of Raptor codes.

D. Many open points: Extension to arbitrary outer codes,stronger results on minimum distance (e.g., via expurgatedensembles), non-binary Raptor codes, calculation ofthresholds under ML decoding, exact finite length analysisof inactivation decoding.

Page 66: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 54/55 F. Lazaro · Fountain Codes · Conclusions June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Conclusions I

A. The decoding complexity of Raptor and LT codes under MLhas been analyzed

B. We have a characterization of the distance properties ofRaptor ensembles with fixed rate and random outer codes

C. We can analyze the complexity - decoding error probabilitytrade-off of Raptor codes.

D. Many open points: Extension to arbitrary outer codes,stronger results on minimum distance (e.g., via expurgatedensembles), non-binary Raptor codes, calculation ofthresholds under ML decoding, exact finite length analysisof inactivation decoding.

Page 67: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 54/55 F. Lazaro · Fountain Codes · Conclusions June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Conclusions I

A. The decoding complexity of Raptor and LT codes under MLhas been analyzed

B. We have a characterization of the distance properties ofRaptor ensembles with fixed rate and random outer codes

C. We can analyze the complexity - decoding error probabilitytrade-off of Raptor codes.

D. Many open points: Extension to arbitrary outer codes,stronger results on minimum distance (e.g., via expurgatedensembles), non-binary Raptor codes, calculation ofthresholds under ML decoding, exact finite length analysisof inactivation decoding.

Page 68: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 54/55 F. Lazaro · Fountain Codes · Conclusions June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

Conclusions I

A. The decoding complexity of Raptor and LT codes under MLhas been analyzed

B. We have a characterization of the distance properties ofRaptor ensembles with fixed rate and random outer codes

C. We can analyze the complexity - decoding error probabilitytrade-off of Raptor codes.

D. Many open points: Extension to arbitrary outer codes,stronger results on minimum distance (e.g., via expurgatedensembles), non-binary Raptor codes, calculation ofthresholds under ML decoding, exact finite length analysisof inactivation decoding.

Page 69: On Fountain Codes Under ML decoding · On Fountain Codes Under ML decoding Francisco Lazaro´ ... Page 19/55 F. Lazaro´ Fountain Codes ML decoding of Fountain Codes June 23, 2015

Page 55/55 F. Lazaro · Fountain Codes · Conclusions June 23, 2015Introduction LT & Raptor Codes ML decoding of Fountain Codes Distance properties Conclusions

THANKS!

The results presented can be found in:[Lazaro14] F. Lazaro, G. Liva, G. Bauch, LT Code Design for Inactivation Decoding, IEEE Information TheoryWorkshop 2014, Hobart, Tasmania, Australia.

[Lazaro15-1] F. Lazaro, E. Paolini, G. Liva, G. Bauch, On The Weight Distribution of Fixed-Rate Raptor Codes, IEEEInternational 2015 Symposium on Information Theory, Hong Kong, China.

[Lazaro15-02] F. Lazaro, E. Paolini, G. Liva, G. Bauch, Distance Spectrum of Fixed-Rate Raptor Codes with LinearRandom Precoders, submitted to IEEE Journal on Selected Areas in Communications.