+ All Categories
Home > Documents > Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network...

Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network...

Date post: 29-Mar-2021
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
81
Information is not oranges Practical network coding Noisy network coding Construction and decoding algorithm Achieving capacity Iterative Coding for Network Coding Andrea Montanari * , Vish Rathi and R¨ udiger Urbanke * Stanford, EPFL March 26, 2008 Montanari, Rathi, Urbanke Iterative Coding for Network Coding
Transcript
Page 1: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Iterative Coding for Network Coding

Andrea Montanari∗, Vish Rathi† and Rudiger Urbanke†

∗Stanford, †EPFL

March 26, 2008

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 2: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Outline

1 Information is not oranges

2 Practical network coding

3 Noisy network coding

4 Construction and decoding algorithm

5 Achieving capacity

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 3: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Outline

1 Information is not oranges

2 Practical network coding

3 Noisy network coding

4 Construction and decoding algorithm

5 Achieving capacity

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 4: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Outline

1 Information is not oranges

2 Practical network coding

3 Noisy network coding

4 Construction and decoding algorithm

5 Achieving capacity

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 5: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Outline

1 Information is not oranges

2 Practical network coding

3 Noisy network coding

4 Construction and decoding algorithm

5 Achieving capacity

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 6: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Outline

1 Information is not oranges

2 Practical network coding

3 Noisy network coding

4 Construction and decoding algorithm

5 Achieving capacity

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 7: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Information is not oranges

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 8: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Current approach to communication networks

sourcedestination

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 9: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Current approach to communication networks

sourcedestination

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 10: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Current approach to communication networks

sourcedestination

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 11: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Current approach to communication networks

sourcedestination

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 12: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

What are we losing? The butterfly example

source

destination 1 destination 2

[Ahlswede,Cai,Li,Yeung, 2000]

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 13: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

The butterfly example: Routing

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 14: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

The butterfly example: Routing

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 15: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

The butterfly example: Routing

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 16: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

The butterfly example: Routing

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 17: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

The butterfly example: Routing

1.5 bits per cycle

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 18: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

The butterfly example: Network Coding

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 19: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

The butterfly example: Network Coding

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 20: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

The butterfly example: Network Coding

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 21: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

The butterfly example: Network Coding

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 22: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

The butterfly example: Network Coding

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 23: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

The butterfly example: Netwok Coding

2 bits per cycle

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 24: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Practical network coding

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 25: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Problem

No one knows the network structure.

Source/destination do not control intermediate nodes.

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 26: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Problem

No one knows the network structure.

Source/destination do not control intermediate nodes.

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 27: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Idea

x1

x2

α x2 + β x2

Forward random combinations

[Chou, Wu, Jain/ Ho, Kotter, Medard, Karger, Effros 2003]

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 28: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

How can that possibly work?

α1 +β1

γ1

α2 +β2

γ2

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 29: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Wait a minute. . .

How am I supposed to figure out α, β, γ?

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 30: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Wait a minute. . .

How am I supposed to figure out α, β, γ?

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 31: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Idea: Header

Input:

= [1 0| · · · · · · x1 · · · · · · ]

= [0 1| · · · · · · x2 · · · · · · ]

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 32: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Idea: Header

Output:

?

??

?

= [α γ| · · ·αx1 + γx2 · · · ]

= [δ β| · · · δx1 + βx2 · · · ]

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 33: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Noisy network coding

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 34: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Rank Metric Channel (Symmetric Network Channel)(Gabidulin, 1985)

RMC

x y

m m

` `

y = x ⊕ z ,

z uniformly random with rank(z) = `ω

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 35: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Asymptotics, Rate, Capacity

` = Nλ, m = N(1− λ), N →∞

R =log2 |Code|

m`,

C (λ, ω) =1− λ− ω + λω2

1− λ.

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 36: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Asymptotics, Rate, Capacity

` = Nλ, m = N(1− λ), N →∞

R =log2 |Code|

m`,

C (λ, ω) =1− λ− ω + λω2

1− λ.

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 37: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Asymptotics, Rate, Capacity

` = Nλ, m = N(1− λ), N →∞

R =log2 |Code|

m`,

C (λ, ω) =1− λ− ω + λω2

1− λ.

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 38: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Matrix channels

C

x y

m m

` `

x = xij ∈ Fm×`2

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 39: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Network coding???

(Kotter, Kschischang, 2007)

1

1

1

1

1

1

1

headers information

≡[

1∣∣∣ x

]`

` m

(Chou, Wu, Jain, 2003)

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 40: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Reliable network

[1

∣∣∣ x] [

G∣∣∣ Gx

] [1

∣∣∣ x]

NET G−1

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 41: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Faulty network

[1

∣∣∣ x] [

G∣∣∣ Gx + z ′

] [1

∣∣∣x + G−1z ′]

NET G−1

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 42: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Binary Erasure Channel

(Elias, 1954)

BEC

x y

m m

` `

yij =

xij with prob. ε,∗ with prob. 1− ε.

independently

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 43: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Asymptotics, Rate, Capacity

` = Nλ, m = N(1− λ), N →∞

R =log2 |Code|

m`,

C (ε) = 1− ε .

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 44: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Asymptotics, Rate, Capacity

` = Nλ, m = N(1− λ), N →∞

R =log2 |Code|

m`,

C (ε) = 1− ε .

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 45: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Asymptotics, Rate, Capacity

` = Nλ, m = N(1− λ), N →∞

R =log2 |Code|

m`,

C (ε) = 1− ε .

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 46: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Construction and decoding algorithm

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 47: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Equivalent descripton of the channel

x

x (1) x (2) x (3) x (m)

=

m

`

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 48: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Equivalent descripton of the channel

x (1) x (2) x (m) x (1) x (2) x (m)

+ + +z(1) z(2) z(m)

Z

Z ≡ uniformly random subspace ⊆ F`2

z(1), . . . , z(m) ∈ Z

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 49: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Code

000000

000000

000000

m − `ω `ω

m − `ω ‘symbols’ → LDPC

`ω ‘symbols’ → learn the error space Z

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 50: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

LDPC: Check nodes

x (1) x (2) x (3)

h1 h2 h3

h1x(1) + h2x

(2) + h3x(3) = 0

‘Edge labels’ hi ∈ F`×`2 : `× ` matrices

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 51: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

LDPC: Check nodes

x (1) x (2) x (3)

h1 h2 h3

h1x(1) + h2x

(2) + h3x(3) = 0

‘Edge labels’ hi ∈ F`×`2 : `× ` matrices

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 52: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

LDPC: Check nodes

x (1) x (2) x (3)

h1 h2 h3

h1x(1) + h2x

(2) + h3x(3) = 0

‘Edge labels’ hi ∈ F`×`2 : `× ` matrices

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 53: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

LDPC: Variable nodes

x (i) ∈ z(i) + Z

Degree = 2 !

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 54: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Message passing decoder

Messages → Affine subspaces Vi→a ⊆ F`2

Operations → Subspace intersections/sums

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 55: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Message passing decoder: Check nodes

V1

V2

V3

h1x(1) + h2x

(2) + h3x(3) = 0

V3 = h−13

(h1V1 + h2V2

)

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 56: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Message passing decoder: Check nodes

V1

V2

V3

h1x(1) + h2x

(2) + h3x(3) = 0

V3 = h−13

(h1V1 + h2V2

)

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 57: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Message passing decoder: Check nodes

V1

V2

V3

h1x(1) + h2x

(2) + h3x(3) = 0

V3 = h−13

(h1V1 + h2V2

)

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 58: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Message passing decoder: Variable nodes

V1 V2

x (i) ∈ z(i) + Z

V2 = V1 ∩ z(i) + X

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 59: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Message passing decoder: Variable nodes

V1 V2

x (i) ∈ z(i) + Z

V2 = V1 ∩ z(i) + X

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 60: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Message passing decoder: Variable nodes

V1 V2

x (i) ∈ z(i) + Z

V2 = V1 ∩ z(i) + X

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 61: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Achieving capacity

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 62: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Capacity achieving ensemble

Variable degree:

2

Check degree:

P(k)i =

2k(k − 1)

i(i − 1)(i − 2).

Not the soliton!

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 63: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Capacity achieving ensemble

Variable degree:

2

Check degree:

P(k)i =

2k(k − 1)

i(i − 1)(i − 2).

Not the soliton!

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 64: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Capacity achieving ensemble

Variable degree:

2

Check degree:

P(k)i =

2k(k − 1)

i(i − 1)(i − 2).

Not the soliton!

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 65: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Capacity achieving ensemble

Variable degree:

2

Check degree:

P(k)i =

2k(k − 1)

i(i − 1)(i − 2).

Not the soliton!

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 66: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Capacity achieving ensemble

Theorem

If ω = 1/k, then the ensemble (2,P(k)) has rate equal to thecapacity of the rank metric channel and achieves vanishing errorprobability under message passing decoding.Further, it achieves vanishing error probability over the erasurechannel.

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 67: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Capacity achieving ensemble

Theorem

If ω = 1/k, then the ensemble (2,P(k)) has rate equal to thecapacity of the rank metric channel and achieves vanishing errorprobability under message passing decoding.Further, it achieves vanishing error probability over the erasurechannel.

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 68: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Encoding complexity O(m`2)

Decoding complexity O(m`2)

Error probability exp[−Ω(γiter)], exp(−Ω(m, `))

Realistic example (from Chou et al.):

` ≈ 50 , m ≈ 1700 (over F28)

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 69: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Encoding complexity O(m`2)

Decoding complexity O(m`2)

Error probability exp[−Ω(γiter)], exp(−Ω(m, `))

Realistic example (from Chou et al.):

` ≈ 50 , m ≈ 1700 (over F28)

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 70: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

The magic

1. Fix number of iterations.

2. For large m, message Vi uniformly random conditional ondimension.

3. For large `, output dimension determined by input dimension.

4. For ω = 1/k, only dimension `ω or 0 is possible.

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 71: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

The magic

1. Fix number of iterations.

2. For large m, message Vi uniformly random conditional ondimension.

3. For large `, output dimension determined by input dimension.

4. For ω = 1/k, only dimension `ω or 0 is possible.

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 72: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

The magic

1. Fix number of iterations.

2. For large m, message Vi uniformly random conditional ondimension.

3. For large `, output dimension determined by input dimension.

4. For ω = 1/k, only dimension `ω or 0 is possible.

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 73: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

The magic

1. Fix number of iterations.

2. For large m, message Vi uniformly random conditional ondimension.

3. For large `, output dimension determined by input dimension.

4. For ω = 1/k, only dimension `ω or 0 is possible.

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 74: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

“For large `, output dimension determined by inputdimension”

d1∩2 ≈ max(d1 + d2 − damb, 0) .

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 75: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

“For large `, output dimension determined by inputdimension”

d1∩2 ≈ max(d1 + d2 − damb, 0) .

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 76: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Simulations at small packet sizes

m = 42, ` = 136 (LP optimized degree sequence)

0

0.1

0.2

0.3

0.4

0.5

0.6

20 21 22 23 24 25 26 27

PB

threshold

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 77: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Conclusion 1

q-ary LDPC’s (Davey, MacKay/ Burshtein, Miller/ Rathi, Urbanke)Mixed outcomes

Exact density evolution for large q

Capacity achieving ensembles

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 78: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Conclusion 1

q-ary LDPC’s (Davey, MacKay/ Burshtein, Miller/ Rathi, Urbanke)Mixed outcomes

Exact density evolution for large q

Capacity achieving ensembles

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 79: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Conclusion 2

LDPC codes achieve capacity (under message passing decoding)over the erasure channel (Luby et al. 97) . . .

. . . and the rank metric channel

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 80: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Conclusion 2

LDPC codes achieve capacity (under message passing decoding)over the erasure channel (Luby et al. 97) . . .

. . . and the rank metric channel

Montanari, Rathi, Urbanke Iterative Coding for Network Coding

Page 81: Iterative Coding for Network Coding · Montanari, Rathi, Urbanke Iterative Coding for Network Coding. Information is not oranges Practical network coding Noisy network coding Construction

Information is not orangesPractical network coding

Noisy network codingConstruction and decoding algorithm

Achieving capacity

Conclusion 2

LDPC codes achieve capacity (under message passing decoding)over the erasure channel (Luby et al. 97) . . .

. . . and the rank metric channel

Montanari, Rathi, Urbanke Iterative Coding for Network Coding


Recommended