+ All Categories
Home > Documents > managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H =...

managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H =...

Date post: 26-Apr-2020
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
154
managing interference in wireless networks behnaam aazhang electrical and computer engineering rice university and department of communication engineering university of oulu
Transcript
Page 1: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

managing interference in wireless networks

behnaam aazhangelectrical and computer engineeringrice university

and

department of communication engineeringuniversity of oulu

Page 2: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

a physical layer perspective on wireless networks

behnaam aazhangelectrical and computer engineeringrice university

and

department of communication engineeringuniversity of oulu

Page 3: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

scope

• targeted for first year graduate students

• a few key topics focused one technology

• insight

• perspective

• salient points--no proofs

Page 4: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

wireless network

• general

Page 5: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

wireless network

• ad hoc

Page 6: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

wireless network

• communication network

Page 7: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

wireless network

• communication network

Page 8: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

wireless network

• communication network

Page 9: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

wireless network

• communication network

Page 10: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

wireless network

• communication network

• power constraint

• interference

Page 11: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

metric

• aggregate throughput

• reliability

• delay

• energy

Page 12: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

scarce resources

• time

• bandwidth

• power

Page 13: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

available resources

• computation

• memory

• flexible radio

Page 14: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

applications

• network with infrastructure

• cellular

• wifi

• femto

• mesh

Page 15: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

applications

• ad hoc (i.e., flat multi-hop)

• rural

• machine to machine (i.e., device to device, peer to peer)

• first responders

• battlefield

• transportation

• medical

• robotics

Page 16: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

wireless network

• communication network layers

transport

network

mac

physical

Page 17: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

wireless network

• borrowed from wired internet

• complete separation of design spaces

• ignores unique features of wireless

• e.g., routing ignores fading

transport

network

mac

physical

Page 18: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

wireless network

• typical questions

• when to break away from off the shelf solutions

• “to multi-hop or not to multi-hop”

• how?

Page 19: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

tools

• physics of electromagnetic propagation

• information theory

• signal processing

• queueing theory

• optimization

• control

Page 20: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

notational challenges

H parity check matrix

H fading

h realization of fading

h index for hop

h(X) di↵erential entropy of XN channel noise variance

N number of nodes in a network

Page 21: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

a step back

• what do we know about just one hop / link?

Page 22: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

single awgn channel

• discrete time channel model

• gaussian noise with differential entropy

• maximum achievable rate

h(Z) =

1

2

log(2⇡eN)

max

pX ,E[X2]PI(X;Y ) = max

pX ,E[X2]Ph(Y )� h(Y |X)

= max

pX ,E[X2]Ph(Y )� h(Z)

=

1

2

log(2⇡e(P + N)� 1

2

log(2⇡eN)

=

1

2

log(1 +

P

N)

Yi = Xi + Zi for i = 1, 2, . . . n

+x

yz

Page 23: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

interpretation

• the worst noise is gaussian

• the best codebook is gaussian

• asymptotic

• codewords with large n

• exploit ergodicity of noise

• unbounded delay

• perfect reliability

radius of noise Z

radius of codeword X

radius of received signal Ypn(P + N)

pnN

Page 24: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

single wireless channel

• fading models

• ergodic?

Page 25: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

single wireless channel

• slow fading

• channel coherence time > symbol period

• frequency nonselective

• channel coherence bandwidth > signal bandwidth

frequency

signalchannel transfer

function

frequency

W < Bcoh

Ts

< Tcoh

or nTs

< Tcoh

Page 26: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

single wireless channel [tse,viswanath-2005]

• discrete time channel model

• known channel at the receiver but not the transmitter (i.e., csir)

• maximum achievable rate

Yi = HXi + Zi for i = 1, 2, . . . n

max

pX ,E[X2]PI(X;Y,H) = max

pX ,E[X2]PI(X;H) + I(X;Y |H)

= max

pX ,E[X2]PI(X;HX + Z|H)

= max

pX ,E[X2]P

Z

g

pH(g)h(gX + Z)dg � 1

2

log(2⇡eN)

=

Z

g

pH(g)

1

2

log(1 +

g2P

N)dg

+x

yz

X

H

Page 27: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

single wireless channel [goldsmith-2005]

• discrete time channel model

• known channel at the receiver and the transmitter (i.e., csitr)

• maximum achievable rate subject to

Yi = HXi + Zi for i = 1, 2, . . . n

max

pX |H,E[X2]PI(H,X;Y,H) =

Z

g

pH(g) max

pX |g,E[X2]PI(X;Y |g)

=

Z

g

pH(g) max

P (g)

1

2

log(1 +

g2P (g)

N)dg

EH [P (g)] P

Page 28: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

single wireless channel [goldsmith-2005]

• discrete time channel model

• known channel at the receiver and the transmitter (i.e., csitr)

• maximum achievable rate subject to

Yi = HXi + Zi for i = 1, 2, . . . n

max

pX |H,E[X2]PI(H,X;Y,H) =

Z

g

pH(g) max

pX |g,E[X2]PI(X;Y |g)

=

Z

g

pH(g) max

P (g)

1

2

log(1 +

g2P (g)

N)dg

EH [P (g)] P

Power Control

Minimum

Channel Quality

Threshold

Better Channels

Allocated Power

Page 29: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

single wireless channel

• slow fading

• frequency nonselective

• require channel state information--necessary evil

• csir:

• gaussian codebook

• receiver training

• csitr:

• water filling gaussian codebook

• receiver training

• feedbackfrequency

Page 30: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

single wireless channel

• faded path-loss channel model

• path-loss dominated

• some essence of the network topology (i.e., distances)

Yi = Hd�↵Xi + Zi for i = 1, 2, . . . , n

Yi = d�↵Xi + Zi for i = 1, 2, . . . , n

Page 31: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

other single wireless channels

• frequency selective

• rich scattering: rayleigh

• strong line of sight: rician

• fast fading

• mimo

• vector channels

Page 32: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

role of information theory

• simple but useful models

• achievable rates and shannon capacity

• ignores

• overhead to acquire network information

• feedback

• delay

• complexity

Page 33: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

managing complexity

• gaussian codebooks with large code-lengths

• encoding is not linear

• maximum likelihood decoder

• prohibitively complex

Page 34: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

managing complexity

• bpsk

• simplest modulation

cos(!ct)

sin(!ct)

01

Page 35: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

managing complexity

• higher oder modulation

• larger dimension

Lattices

• A lattice ! is a discrete subgroup ofRn.

• Can write a lattice as a lineartransformation of the integervectors,

! = BZn ,

for some B ! Rn!n.

Lattice Properties

• Closed under addition:!1,!2 ! ! =" !1 + !2 ! !.

• Symmetric: ! ! ! =" #! ! !Zn is a simple lattice.

cos(!ct)

sin(!ct)

Page 36: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattice codes

• integers on a plane

• lattice is a subgroup of

Lattices

• A lattice ! is a discrete subgroup ofRn.

• Can write a lattice as a lineartransformation of the integervectors,

! = BZn ,

for some B ! Rn!n.

Lattice Properties

• Closed under addition:!1,!2 ! ! =" !1 + !2 ! !.

• Symmetric: ! ! ! =" #! ! !Zn is a simple lattice.

R2

Page 37: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattices

• indifferent

• rotation, translation, scaling,

• example

• imagine

• closed under addition

• symmetric

Lattices

• A lattice ! is a discrete subgroup ofRn.

• Can write a lattice as a lineartransformation of the integervectors,

! = BZn ,

for some B ! Rn!n.

Lattice Properties

• Closed under addition:!1,!2 ! ! =" !1 + !2 ! !.

• Symmetric: ! ! ! =" #! ! !BZn

BZ2 ⇢ R2

BZn ⇢ Rn

�1, �2 2 ⇤ ) �1 + �2 2 ⇤� 2 ⇤ ) �� 2 ⇤

Page 38: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattices

• information mapped to lattice points

• decoding

• nearest lattice point

• hexagonal

Voronoi Regions

• Nearest neighbor quantizer:

Q!(x) = argmin!!!

!x" !!2

• The Voronoi region of a lattice pointis the set of all points that quantizeto that lattice point.

• Fundamental Voronoi region V:points that quantize to the origin,

V = {x : Q!(x) = 0}

• Each Voronoi region is just a shift ofthe fundamental Voronoi region V

Page 39: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattices

• information mapped to lattice points

• decoding

• nearest lattice point

• hexagonal

Voronoi Regions

• Nearest neighbor quantizer:

Q!(x) = argmin!!!

!x" !!2

• The Voronoi region of a lattice pointis the set of all points that quantizeto that lattice point.

• Fundamental Voronoi region V:points that quantize to the origin,

V = {x : Q!(x) = 0}

• Each Voronoi region is just a shift ofthe fundamental Voronoi region V

⇥(w) = �

Page 40: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattices

• sublatticesNested Lattices

• Two lattices ! and !FINE are nestedif ! ! !FINE

• Nested Lattice Code: All latticepoints from !FINE that fall in thefundamental Voronoi region V of !.

• V acts like a power constraint

Rate =1

nlog

!

Vol(V)

Vol(VFINE)

"

Page 41: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattices

• nested latticesNested Lattices

• Two lattices ! and !FINE are nestedif ! ! !FINE

• Nested Lattice Code: All latticepoints from !FINE that fall in thefundamental Voronoi region V of !.

• V acts like a power constraint

Rate =1

nlog

!

Vol(V)

Vol(VFINE)

"

Page 42: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattices

• power constrained

• shaping lattices

Nested Lattices

• Two lattices ! and !FINE are nestedif ! ! !FINE

• Nested Lattice Code: All latticepoints from !FINE that fall in thefundamental Voronoi region V of !.

• V acts like a power constraint

Rate =1

nlog

!

Vol(V)

Vol(VFINE)

"

Page 43: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattice coding [erez,zamir-2004]

• large dimensional coded modulation with power constraint

• fine--coding lattice

• coarse--shaping lattice

coding latticeshaping lattice

⇤s ⇢ ⇤c

Page 44: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattice coding

• voronoi region of a lattice point:

• set of point closest to the lattice point

voronoi region

Page 45: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattice coding

• fundamental voronoi region:

• voronoi region of zero lattice point

fundamental voronoi region

⇤s ⇢ ⇤c

Vol(Vs) > Vol(Vc)

Page 46: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattice coding

• at the system level

Encoder + DecoderModww

x

z

y y

Page 47: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattice coding

• probability of error

• rate achieved

Rate =

1

nlog

�Vol(Vs)

Vol(Vc)

coding latticeshaping lattice

Encoder + DecoderModww

x

z

y y

P{w 6= w}! 0 as n! +1

Page 48: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattice coding

• mapping from information vector to integer points

• coding and shaping

coding latticeshaping lattice

Encoder + DecoderModww

x

z

y y

⇥(w) = �

x = G� mod ⇤s

Page 49: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattice coding

• linear codes

• generator matrix

• parity check matrix

G 2 Rn⇥n

H = G�1 2 Rn⇥n

Page 50: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattice coding [sommer,feder,shalvi-2008]

• sparse non-binary parity check matrix

• a 6x6 example with degree 3 (regular latin square)

H =

0

BBBBBB@

0 �0.8 0 �0.5 1 00.8 0 0 1 0 �0.50 0.5 1 0 0.8 00 0 �0.5 �0.8 0 11 0 0 0 0.5 0.8

0.5 �1 �0.8 0 0 0

1

CCCCCCA

Page 51: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

low density lattice codes

• linear encoding

• iterative decoding with linear complexity

• bipartite graphical decoding

• “checks” are integersSOMMER et al.: LOW-DENSITY LATTICE CODES 1563

Fig. 1. The bipartite graph of an LDLC.

is of the form , where denotes the lo-cations of the nonzero elements at the appropriate row of ,

are the values of at these locations and the integer at theright hand side is unknown. An edge connects check node andvariable node if and only if . This edge is assignedthe value . Fig. 1 illustrates the bipartite graph of a Latinsquare LDLC with degree . In the figure, every variable node

is also associated with its noisy channel observation .Finally, a -loop is defined as a loop in the bipartite graph

that consists of edges. A bipartite graph, in general, can onlycontain loops with even length. Also, a two-loop, which con-sists of two parallel edges that originate from the same variablenode to the same check node, is not possible by the definitionof the graph. However, longer loops are certainly possible. Forexample, a four-loop exists when two variable nodes are bothconnected to the same pair of check nodes.

III. ITERATIVE DECODING FOR THE AWGN CHANNEL

Assume that the codeword was transmitted, whereis a vector of integers. We observe the noisy codeword

, where is a vector of i.i.d Gaussian noise samples withcommon variance , and we need to estimate the integer valuedvector . The maximum likelihood (ML) estimator is then

.

Our decoder will not estimate directly the integer vector .Instead, it will estimate the probability density function (pdf) ofthe codeword vector . Furthermore, instead of estimating the

-dimensional pdf of the whole vector , we shall estimate theone-dimensional marginal pdfs for each of the components

of this vector (conditioned on the whole observation vector ).In Appendix I it is shown that is a weighted sum ofDirac delta functions:

(1)

where is a lattice point (vector), is its th component, is aconstant independent of and is the Euclidean distancebetween and . Direct evaluation of (1) is not practical, so ourdecoder will try to estimate (or at least approximateit) in an iterative manner.

Our decoder will decode to the infinite lattice, thus ignoringthe shaping region boundaries. This approximate decodingmethod is no longer exact maximum likelihood decoding, andis usually denoted “lattice decoding” [12].

The calculation of is involved since the compo-nents are not independent random variables (RVs), becauseis restricted to be a lattice point. Following [5] we use a “trick”– we assume that the ’s are independent, but add a condi-tion that assures that is a lattice point. Specifically, define

. Restricting to be a lattice point is equivalent to re-stricting . Therefore, instead of calculatingunder the assumption that is a lattice point, we can calculate

and assume that the are independent andidentically distributed (i.i.d.) with a continuous pdf (that doesnot include Dirac delta functions). It still remains to set ,the pdf of . Under the i.i.d. assumption, the pdf of the code-word is . As shown in Appendix II,the value of is not important at values of which are notlattice points, but at a lattice point it should be proportional tothe probability of using this lattice point. Since we assume thatall lattice points are used equally likely, must have thesame value at all lattice points. A reasonable choice foris then to use a uniform distribution such that will be uni-formly distributed in an -dimensional cube. For an exact MLdecoder (that takes into account the boundaries of the shapingregion), it is enough to choose the range of such thatthis cube will contain the shaping region. For our decoder, thatperforms lattice decoding, we should set the range oflarge enough such that the resulting cube will include all thelattice points which are likely to be decoded. The derivation ofthe iterative decoder shows that this range can be set as large asneeded without affecting the complexity of the decoder.

The derivation in [5] further imposed the tree assumption. Inorder to understand the tree assumption, it is useful to define thetier diagram (also referred to as “the computation tree” [22]),which is shown in Fig. 2 for a regular LDLC with degree 3.Each vertical line corresponds to a check equation. The tier 1nodes of are all the elements that take place in a checkequation with . The tier 2 nodes of are all the elementsthat take place in check equations with the tier 1 elements of

, and so on. The tree assumption assumes that all the tree el-ements are distinct (i.e., no element appears in different tiers ortwice in the same tier). This assumption simplifies the deriva-tion, but in general, does not hold in practice, so our iterative

Hx = HG�X

k

hkxik = integer

Page 52: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

low density lattice coding

• example degree 5 for n=100, 7 for others

• iterations <200

SOMMER et al.: LOW-DENSITY LATTICE CODES 1575

Fig. 4. Simulation results.

element has magnitude also gave the desired determinantnormalization (see Section V-B). The matrices were gen-erated using the algorithm of Section V-C. The probabilitydensity function (pdf) resolution was set to with atotal range of , i.e., each pdf was represented by a vector of

elements. High resolution was used since our maintarget is to prove the LDLC concept and eliminate degradationdue to implementation considerations. For this reason, thedecoder was used with 200 iterations (though most of the time,a much smaller number was sufficient).

In all simulations the all-zero codeword was used. Ap-proaching channel capacity is equivalent to (seeSection II-A), so performance is measured in symbol errorrate (SER), versus the distance of the noise variance fromcapacity (in dB). The results are shown in Fig. 4. At SER of

, for we can work as closeas 0.6, 0.8, 1.5, and 3.7 dB from capacity, respectively.

Similar results were obtained for with thesecond type of generating sequence of Section V-A, i.e.,

. Results were slightly worsethan for the first generating sequence (by less than 0.1 dB).Increasing did not give any visible improvement.

We shall now compare these results with the LDPC-basedcoding schemes that were described in Section I: LDPC-basedmulti-level coding [19], [29], nonbinary alphabet LDPC coding[18] and LDPC lattice coding [15]. The comparison is summa-rized in Table I. The table shows the simulation results which arereported for each scheme in the appropriate reference, includingcodeword length , distance from channel capacity and errorperformance, measured as either bit error rate (BER), symbolerror rate (SER) or normalized error probability (NEP), as de-fined in [15]. Note that the schemes of [29] and [18] already in-clude an inherent shaping operation, so the simulation results forthese schemes already include practical shaping performance.

It can be seen that compared to the other schemes, LDLC havevery good performance, and they offer an attractive tradeoffbetween performance and codeword length. Regarding com-plexity, all the schemes have linear complexity. As describedabove, the linear coefficient tends to be higher for LDLC, due

TABLE ICOMPARISON OF CODING SCHEMES

to the FFT operations. However, as the number of informationbits per channel use increases, LDLC complexity becomes com-parable to the other schemes. Furthermore, we currently inves-tigate techniques that will reduce the computational complexityof LDLC decoding, as well as design methodologies for theparity check matrix, so we hope that LDLC performance andcomplexity will further improve.

X. CONCLUSION

LDLC are novel lattice codes that can approach capacity andbe decoded efficiently. Good error performance within dBfrom capacity at block length of 100 000 symbols was demon-strated. Convergence analysis was presented for the iterative de-coder, which is not complete, but yields necessary conditionson and significant insight to the convergence process. Codeparameters were chosen from intuitive arguments, so it is rea-sonable to assume that when the code structure will be moreunderstood, better parameters could be found, and channel ca-pacity could be approached even closer.

Multiple-input–multiple-output (MIMO) communicationsystems have become popular in recent years. Lattice codeshave been proposed in this context as space–time codes (LAST)[30]. The concatenation of the lattice encoder and the MIMOchannel generates a lattice. If LDLC are used as lattice codesand the MIMO configuration is small, the inverse generatormatrix of this concatenated lattice can be assumed to be sparse.Therefore, the MIMO channel and the LDLC can be jointlydecoded using an LDLC-like decoder. However, even if a Latinsquare LDLC is used as the lattice code, the concatenated latticeis not guaranteed to be equivalent to a Latin square LDLC, andthe necessary conditions for convergence are not guaranteed tobe fulfilled. Therefore, the usage of LDLC for MIMO systemsis a topic for further research.

APPENDIX IEXACT PDF CALCULATIONS

Given the -dimensional noisy observation ofthe transmitted codeword , we would like to calculatethe probability density function (pdf) . We shall start

by calculating . Denote the shapingregion by ( will be used to denote both the lattice and its

Page 53: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

low density lattice codes

• real valued codes exploiting real channels

• relatively simple encoding and decoding

• linear structure amenable to

• superposition

• decomposition

• side information

Page 54: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

a step toward the network

Page 55: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

bound on throughput

• benchmark performance

• a tool from optimization

Page 56: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

bound on throughput

• maximum flow minimum cut

• graphical model

• a cut

• partitioning source and destination

• cut capacity

• sum of edges leaving the cut toward destination

Page 57: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

bound on throughput

• maximum flow minimum cut

• another cut

Page 58: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

bound on throughput

• maximum flow minimum cut

• min cut problem

• finding the minimum of cuts

Page 59: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

bound on throughput

• maximum flow minimum cut

• a flow

• flow through a link < link capacity

• conservation of flows

• flow leaving a node=flow entering a node

Page 60: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

bound on throughput

• maximum flow minimum cut

• a flow

• flow through a link < link capacity

• conservation of flows

• flow leaving a cut=flow entering a cut

Page 61: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

bound on throughput

• maximum flow minimum cut

• max flow problem

• finding a flow that maximizes net flow into destination

Page 62: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

bound on throughput

• maximum flow minimum cut

• max flow problem

• finding a flow that maximizes net flow into destination

• flow into destination < or = flow through a cut

Page 63: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

bound on throughput [ford,fulkerson-1956,elias,feinstein,shannon-1956]

• maximum flow minimum cut

• in any network,

• the value of maximum flow = the value of minimum cut

Page 64: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

bound on throughput

• max flow min cut yields upper bound on throughput

• wired networks--graphical

• wireless networks

• achieving the upper bound!

Page 65: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

example

• a simple half duplex wireless relay network

Page 66: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

example

• a simple half duplex wireless relay network

• mode m=1 --- broadcast time slot tm

Page 67: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

example

• a simple half duplex wireless relay network

• mode m=2 ---multiple access time slot tm

Page 68: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

example

• a simple half duplex wireless relay network

• a cut to divide the network

Page 69: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

example

• a simple half duplex wireless relay network

• a cut to divide the network

Page 70: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

example

• a simple half duplex wireless relay network

• a cut to divide the network

• not a good cut!

Page 71: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

example

• a simple half duplex wireless relay network

• a cut to divide the network

• mode m = 1

Page 72: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

example

• a simple half duplex wireless relay network

• a cut to divide the network

• mode m = 2

Page 73: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

example

• a simple half duplex wireless relay network

• a cut to divide the network

• mode m = 2

• average of cut value across states

X

i2S,j2Sc

Rij MX

m=1

tmI(X(m)S ;Y (m)

Sc |X(m)Sc )

X(2)S

X(2)Sc

Y (2)Sc

Page 74: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

example

• a simple half duplex wireless relay network

• bound the network throughput

• optimize network parameter

Page 75: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

example

Page 76: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

wireless network

• challenges

• computing upper bounds

• simple modeling of the network while capturing all the salient features

Page 77: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

challenges

• source

• continuous

• bursty

• channel fading

• slow

• fast

• mobility

Page 78: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

a pragmatic approach

• discovery

• routing

• scheduling

• orthogonal

• interference

• power control

• coding and modulation

Page 79: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

a pragmatic approach

• discovery

• routing--network layer

• scheduling--medium access (mac) layer

• avoid interference--orthogonal

• allow interference

• power control--network or mac layer

• coding and modulation--physical layer

Page 80: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

a pragmatic approach

• discovery

• routing

• scheduling

• avoid interference

• allow interference

• power control

• coding and modulation

multi hop routing achieves cut set bound for unicast (single flow

single destination)

Page 81: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

time scales

• routing

• buffering

• retransmission

• user mobility

• fading

• noise

Page 82: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

spatial scales

• path-loss

• resource reuse

• interference

Page 83: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• network of wireless nodes

• reliable transporting of data

more insight

Page 84: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

scaling laws [gupta,kumar-2000,xue,xie,kumar-2005]

• throughput capacity

• bits per second

• perfect reliability

• transport capacity

• bit meters per second

• perfect reliability

Page 85: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• topology

• N wireless nodes in an area of 1x1 meters

• random network

• arbitrary network--carefully chosen!

scaling laws

Page 86: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• protocol model

• based on coverage

• if k and i transmit

• j decodes packet from i if

scaling laws

i j

k

dkj > (1 + �)dij for some � > 0

Page 87: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• protocol model

• physical model

• based on SINR

scaling laws

SINRij =Pid

�↵ij

N +P

k 6=i Pkd�↵kj

> �

i j

k

Page 88: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• protocol model

• physical model

• based on SINR

scaling laws

SINRij =Pid

�↵ij

N +P

k 6=i Pkd�↵kj

> �

i j

k

Rij log(1 + SINRij)

Page 89: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• topology

• random network

• arbitrary network

• protocol model

• physical model

• transport capacity

scaling laws

max

R

X

i,j

Rijdij

Rij

d ijR feasible rate vector

Page 90: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• fixed topology

• simple routing model--decode and forward

• transport capacity grows as

• complete network information

• perfect scheduling to avoid interference

• discouraging results

scaling laws

pN that is ⇥(

pN)

Page 91: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

scaling laws

• geometric proof

• the insight introduces a conflict

• reduce the number of hops

• spatial concurrency

• with simple routing model

• short hops

• ignore delay

Page 92: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

wireless network

• discouraging results

• scaling law suggests adding infrastructure with wired access to the backbone

• short hops

Page 93: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

thought process

• “capacity achieving” coding and modulation

• power control to address large scale fading

• open issues

• discovery

• routing

• scheduling

• interference

Page 94: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

discovery and routing

• acquire network information

• routing

• static--independent of traffic input pattern

• adaptive--adapt to congestion

• centralized

• distributed

Page 95: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

discovery and routing

• long network coherence time--proactive

• clustering

• short network coherence time--reactive

• on demand discovery

Page 96: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• communication links are assigned lengths

• function of transmission capacity and projected load

• shortest path = minimum hop path if lengths are one

• bellman-ford routing

shortest path routing [bertsekas,gallager-1992]

node i

node j

dij

destination

D(h+1)i = min

j[dij + D(h)

j ]

D(h)i shortest h hop distance from destination and dij length of link i, j

Page 97: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• graph theoretical

• bellman-ford yields shortest path route

• proof by induction

• number of iterations no more than the number of nodes, N

• computation cubic in N

• mild conditions

shortest path routing

Page 98: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

shortest path routing

• bellman-ford

• synchronous is prohibitively complicated

• asynchronous

• requires network information

D(h+1)i = min

j2Ni

[dij + D(h)j ] with D(h)

dest = 0 8 h, D(0)i =1

Page 99: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

shortest path routing

• “length” of the path

• distance

• energy

• delay

• throughput

Page 100: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

integrated discovery and routing

• proactive

• reactive

Page 101: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

clustering-proactive

• discovery packets

• 802.11 type cd-csma to resolve collision

• neighborhood of node a:

• nodes that can decode messages from node a at rate R

• absence of interference71

C1

C2

a

b

c w

x

y

Na

Nw

Figure 5.2: An example network and neighbors for terminals a and w. Note thatterminal c is a neighbor of both a and w, but will join the cluster of terminal asince a < w. The resulting clusters are C1 = {a, b, c} shown as solid circles andC2 = {w, x, y}, shown as squares.

3. If a terminal receives more than one invitation, it accepts the broadcast invi-

tation from the terminal with the lowest ID. This acts as a tiebreak, such that

terminals with many neighbors remain in just one cluster. In Fig. 5.2, both a

and w broadcast invitations, and c responds to a after hearing both invitations.

The result is a set of C disjoint clusters of terminals Ci

such thatS

C

i=1 Ci

= N,

as shown in Figure 5.2. Within |Ci

| stages of channel sounding, all terminals in the

cluster are aware of all channels. Clusters are regions of locally complete topological

information, where any terminal can transmit to any other at a rate dictated by (6.1).

We can therefore consider a cluster to be a clique. Within a cluster, it can be shown

that any two terminals are separated by a maximum of two hops at rate R.

Given that rate R defines a radiusDR

, the average number of terminals in a cluster

will be �⇡D2R

, a consequence of the Poisson distribution governing the placement of

our terminals.

One can think of the clustering algorithm as a process of local attraction, where

terminals are attracted to their neighbor with the lowest ID number. From this

intuition it is clear that for a given topology of terminal ID numbers, the algorithm

will always return the same cluster set. However, if the terminal locations remain

Page 102: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

clustering [lin,gerla-1997]

• nodes are assumed to have unique identifiers that can be ordered

• all nodes in every neighborhoods share their unique identifiers

• a node with lowest identifier invites all in its neighborhood to form a cluster

• nodes accept invitation to join a cluster with lowest identifier

C1

C2

a

b

c w

x

y

Na Nw

Fig. 1. An example network and neighbors for terminals a and w. Notethat terminal c is a neighbor of both a and w, but will join the cluster ofterminal 1 since a < w. The resulting clusters are C1 = {a, b, c} shown assolid circles and C2 = {w, x, y}, shown as squares.

{s(k), . . . , d(k)}, while maximizing the throughput Rk

|Lk|�1 ,the size of packet k divided by the number of timeslots itrequired in transit.

A. Locality

The pathloss-based channel model naturally leads to a geo-graphical notion of locality, based upon proximity of terminals.Terminals situated near one another are considered to beneighbors and are aware of each other’s existence based ona simple beacon broadcast. To formalize our definition, wesay that for a terminal x, the set of neighbors Nx are thoseterminals which can receive data at a rate no less than R fromx in the absence of interference. Solving the pathloss modelfor distance D sets a radius around each terminal allowing usto define the set of neighbors as

Nx =

⇤y ⇧ N Dx,y ⇤

�PTx

(No + ⇥o) · (2R � 1)

⇥ 1�

⌅(2)

which will increase with transmit power, and decrease withincreasing rate requirement R or pathloss parameter �. Here⇥o is a (possibly zero) interference margin. Note that for anon-neighboring terminal z /⇧ Nx, a transmission from z attime t will contribute to interference ⇥t(x) at terminal x.

In Figure 1, terminal c neighbors both terminals a and w.In order to deploy NFIC techniques efficiently, we must defineneighborhoods such that they are disjoint sets. These will betermed clusters Ci, and there will be C of them. A terminal isa member of exactly one cluster: x ⇧ Ci ⌅ x /⇧ Cj , ⌥ j ⌃= i.

B. Clustering Algorithm

We will employ a distributed clustering developed in [9].The algorithm is as follows:

1) All terminals identify their neighbor set Nx.2) If a terminal has the lowest ID number in its neighbor

set, it sends a broadcast message to all terminals in theneighbor set inviting them to join a cluster.

3) If a terminal receives more than one invitation, it re-sponds to the broadcast message from the lowest ID.For terminals labeled with letters, we use their positionin the alphabet for sequencing (e.g., a < b). In Fig. 1,both a and w broadcast invitations, and c responds to aafter hearing both.

g1,2 g2,1

C1C2

Fig. 2. The result of clustering the network in Figure 1. Terminals c and w

become gateways between the clusters.

The result is a set of C disjoint clusters of terminals Ci suchthat

⇧Ci=1 Ci = N, as shown in Figure 1. Within |Ci| stages of

channel sounding, all terminals in the cluster are aware of allchannels. Clusters are regions of locally complete topologicalinformation, where any terminal can transmit to any other ata rate dictated by (1). Within a cluster, it can be shown thatany two terminals are separated by a maximum of two hopsat rate R.

Given that rate R defines a radius DR, the average numberof terminals in a cluster will be ⇤⌅D2

R, a consequence of the

Poisson distribution governing the placement of our terminals.

C. Gateway Terminals

As mentioned above and illustrated in Fig. 1, some terminalswill neighbor terminals in other clusters. These terminals,being locally aware of the neighbors in other clusters, willbe able to act as gateway terminals. They will transmit andreceive packets across cluster boundaries at a rate of at leastR, but do not have knowledge of the topology beyond theirgateway partner in the neighboring cluster.

Since only one gateway link exists between each pairof clusters, each cluster will have at most C � 1 gatewayterminals. They will be labelled gi,j if they are in cluster ibut can transmit to the corresponding gateway in cluster j. Assuch terminals gi,j and gj,i are endpoints of a gateway link.In selecting gateways from several possible pairs, those withthe best channel are chosen. This is illustrated in Figure 2,showing the clusters arising from the network in Figure 1–terminals c and w are the gateways. While not occurring inthis example, it may be that a terminal acts as a gateway tomore than one cluster.

D. Distance-Vector Routing

To handle inter-cluster packets, those with source and sinkin different clusters, we employ a distance-vector routingscheme [10] so that clusters know where to forward theirpackets into the broader network. Each cluster maintains atable of destination terminals and corresponding forwardingterminals. Initially it is populated with terminals within thecluster, but after a round of table-exchange between neigh-boring clusters, each cluster adds to its list the terminalsin immediately neighboring clusters with the correspondinggateway as the forwarding terminal. Clusters again exchangetables, now adding terminals in other clusters two hops away.In the worst case of clusters arranged linearly, C � 1 rounds

a < b < w < c < x < y

Page 103: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

clustering

• gateways are defined as nodes in one cluster and one hop away from a node in another cluster

• not unique

• existence not guaranteed

C1

C2

a

b

c w

x

y

Na Nw

Fig. 1. An example network and neighbors for terminals a and w. Notethat terminal c is a neighbor of both a and w, but will join the cluster ofterminal 1 since a < w. The resulting clusters are C1 = {a, b, c} shown assolid circles and C2 = {w, x, y}, shown as squares.

{s(k), . . . , d(k)}, while maximizing the throughput Rk

|Lk|�1 ,the size of packet k divided by the number of timeslots itrequired in transit.

A. Locality

The pathloss-based channel model naturally leads to a geo-graphical notion of locality, based upon proximity of terminals.Terminals situated near one another are considered to beneighbors and are aware of each other’s existence based ona simple beacon broadcast. To formalize our definition, wesay that for a terminal x, the set of neighbors Nx are thoseterminals which can receive data at a rate no less than R fromx in the absence of interference. Solving the pathloss modelfor distance D sets a radius around each terminal allowing usto define the set of neighbors as

Nx =

⇤y ⇧ N Dx,y ⇤

�PTx

(No + ⇥o) · (2R � 1)

⇥ 1�

⌅(2)

which will increase with transmit power, and decrease withincreasing rate requirement R or pathloss parameter �. Here⇥o is a (possibly zero) interference margin. Note that for anon-neighboring terminal z /⇧ Nx, a transmission from z attime t will contribute to interference ⇥t(x) at terminal x.

In Figure 1, terminal c neighbors both terminals a and w.In order to deploy NFIC techniques efficiently, we must defineneighborhoods such that they are disjoint sets. These will betermed clusters Ci, and there will be C of them. A terminal isa member of exactly one cluster: x ⇧ Ci ⌅ x /⇧ Cj , ⌥ j ⌃= i.

B. Clustering Algorithm

We will employ a distributed clustering developed in [9].The algorithm is as follows:

1) All terminals identify their neighbor set Nx.2) If a terminal has the lowest ID number in its neighbor

set, it sends a broadcast message to all terminals in theneighbor set inviting them to join a cluster.

3) If a terminal receives more than one invitation, it re-sponds to the broadcast message from the lowest ID.For terminals labeled with letters, we use their positionin the alphabet for sequencing (e.g., a < b). In Fig. 1,both a and w broadcast invitations, and c responds to aafter hearing both.

g1,2 g2,1

C1C2

Fig. 2. The result of clustering the network in Figure 1. Terminals c and w

become gateways between the clusters.

The result is a set of C disjoint clusters of terminals Ci suchthat

⇧Ci=1 Ci = N, as shown in Figure 1. Within |Ci| stages of

channel sounding, all terminals in the cluster are aware of allchannels. Clusters are regions of locally complete topologicalinformation, where any terminal can transmit to any other ata rate dictated by (1). Within a cluster, it can be shown thatany two terminals are separated by a maximum of two hopsat rate R.

Given that rate R defines a radius DR, the average numberof terminals in a cluster will be ⇤⌅D2

R, a consequence of the

Poisson distribution governing the placement of our terminals.

C. Gateway Terminals

As mentioned above and illustrated in Fig. 1, some terminalswill neighbor terminals in other clusters. These terminals,being locally aware of the neighbors in other clusters, willbe able to act as gateway terminals. They will transmit andreceive packets across cluster boundaries at a rate of at leastR, but do not have knowledge of the topology beyond theirgateway partner in the neighboring cluster.

Since only one gateway link exists between each pairof clusters, each cluster will have at most C � 1 gatewayterminals. They will be labelled gi,j if they are in cluster ibut can transmit to the corresponding gateway in cluster j. Assuch terminals gi,j and gj,i are endpoints of a gateway link.In selecting gateways from several possible pairs, those withthe best channel are chosen. This is illustrated in Figure 2,showing the clusters arising from the network in Figure 1–terminals c and w are the gateways. While not occurring inthis example, it may be that a terminal acts as a gateway tomore than one cluster.

D. Distance-Vector Routing

To handle inter-cluster packets, those with source and sinkin different clusters, we employ a distance-vector routingscheme [10] so that clusters know where to forward theirpackets into the broader network. Each cluster maintains atable of destination terminals and corresponding forwardingterminals. Initially it is populated with terminals within thecluster, but after a round of table-exchange between neigh-boring clusters, each cluster adds to its list the terminalsin immediately neighboring clusters with the correspondinggateway as the forwarding terminal. Clusters again exchangetables, now adding terminals in other clusters two hops away.In the worst case of clusters arranged linearly, C � 1 rounds

Page 104: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

clustering

• easy to show

• nodes within a cluster are two hops away

• clustering is unique

• a fixed and static topology

• a given set of node identifiers

C[

i=1

Ci = N and Ci \ Cj = ; 8 i 6= j

72

Figure 5.3: Di↵erent clustering outcomes as a result of changing terminal ID values.In this example, the clustering is a critical element in the performance of resultingallocation; in the clustering on the left, each flow is handled entirely within a cluster,so the NFIC will route from source to destination. In the clustering on the left, eachframe will be handled by more than one NFIC.

constant but their ID numbers change, the resuling clusters will be quite di↵erent.

An example is shown in Figure 5.3, where the terminals in the same physical network

have been randomly reassigned their ID numbers, resulting in a di↵erent clustering

outcome.

Since we seek a general technique regardless of flow source and destination, we do

not study how to optimize the clustering technique for a particular network topology.

Doing so would require global knowledge of at least endpoint terminals, which we

seek to avoid gathering.

5.1.3 Gateway Terminals

As mentioned above and illustrated in Fig. 5.2, some terminals will neighbor terminals

in other clusters. These terminals, being locally aware of the neighbors in other

clusters, will be able to act as gateway terminals. They will transmit and receive

frames across cluster boundaries at a rate of at least R, but do not have knowledge

Page 105: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

clustering

• a framework to execute routing

• manage overhead

121

1

2

3

4

1

(a) Full Information, P2P

1

2

34

5

6

7

1,2

6,7

1

(b) Full Information, Cooperation

1

2

3

45 6 7

1

2

3

(c) Distributed Information, P2P

1

2

3

4

56

7 8

3,41

2

3

4

1,2

(d) Distributed Information, Cooperation

Figure 7.1: Resource allocation under four di↵erent paradigms: full information (a),full information with cooperation (b), distributed information (c), distributed infor-mation with cooperation (d).

Page 106: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

on demand discovery-reactive

• dynamic source routing

• ad hoc on-demand distance vector (aodv) routing

Page 107: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

dynamic source routing [johnson,maltz-1996]

• route discovery

• route maintenance

Page 108: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

dsr--route discovery

1

24

65

37

98

1211

10

15

1413• transmit route request

2flow ID

Page 109: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• no cycles

dsr--route discovery

1

24

65

37

98

1211

10

15

1413

2,3flow ID

x x

Page 110: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

dsr--route discovery

1

24

65

37

98

1211

10

15

1413

2,4flow ID

x x

Page 111: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

dsr--route discovery

1

24

65

37

98

1211

10

15

1413

2,3,6flow ID

x

x

x x

Page 112: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

dsr--route discovery

1

24

65

37

98

1211

10

15

1413

2,4flow ID

2,3flow ID ?

• cache and select

• number of hops

• data rate

• power

• ...

Page 113: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

dsr--route discovery

1

24

65

37

98

1211

10

15

1413

2,3,6,12flow ID

Page 114: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

dsr--route discovery

1

24

65

37

98

1211

10

15

1413• run away discoveries are timed out

Page 115: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

dsr--route discovery

1

24

65

37

98

1211

10

15

1413

2,3,6,12flow ID

• route record

• nodes in the route

• buffer size

• data rates

• node’s power

• ...

Page 116: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

discovery and routing

• bellman-ford routing

• clustering

• dynamic source routing

Page 117: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

a pragmatic approach

• discovery

• routing

• scheduling

• power control

• coding and modulation

Page 118: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

a pragmatic approach

• discovery

• routing

• scheduling?----a multiaccess issue

• power control

• coding and modulation

Page 119: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

scheduling

• multiaccess scheduling

• avoid interference

• allow interference

• mitigate

• harness

Page 120: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• source

• continuous

• avoid interference

• fixed assignment

• allow interference

• information theory: mitigate and harness

multiaccess scheduling

time

time

blue channel

red channel

Page 121: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• source

• continuous

• bursty

• amenable to sharing

multiaccess network

time

time

Page 122: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• queue

• smooth source burstiness

• avoid bad channels

• execute

• random access

• deterministic schedule

• delay

bursty sources

Page 123: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

bursty sources

• random access

• manages access to common channel

• avoid interference

• exploit burstiness

• “concerned” about delay

• queueing theory

Page 124: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

random access examples

• aloha

• stabilized aloha

• carrier sense multiaccess (csma)

• collision resolution algorithms

Page 125: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

bursty sources

• deterministic schedule

• channel conditions

• source properties

• queue length

• fairness

Page 126: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

multiuser access (continuous and bursty)

• avoid interference

• random access

• orthogonal scheduling

• allow interference

• mitigate

• harness

Page 127: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

a step back

• cut set bounds

• scaling laws with simple models

• network information theory

• scaling laws with an information theoretic model

• network coding

Page 128: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• information theory for various small topologies

network information theory

Page 129: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• two way channels

network information theory

Page 130: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• multiple access

network information theory

Page 131: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• broadcast

network information theory

Page 132: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• interference

network information theory

Page 133: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

network information theory

• relay

Page 134: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

network information theory

• cooperation

Page 135: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• capacity region

• achievable rate region

• degrees of freedom

• diversity and multiplexing gains

• outage

network information theory

Page 136: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• issues

• delay

• source burstiness

• complexity

• overhead

network information theory

Page 137: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

a step back

• cut set bounds

• scaling laws with simple models

• network information theory

• scaling laws with an information theoretic model

• network coding

Page 138: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• topology

• N wireless nodes in an area of 1x1 meters

• nodes have at least a constant distance

• a path-loss and absorption model

• attenuation

scaling laws with an information theoretic model

e��dij d�↵ij

dij � dmin > 0 8 i, j

Page 139: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• a path-loss and absorption model

• attenuation

• strong attenuation regime

• low attenuation regime

scaling laws with an information theoretic model

e��dij d�↵ij

� > 0 and large ↵

� = 0 and small ↵

Page 140: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• feasible rate vector

• fixed total power

• diminishing error

• transport capacity

scaling laws with an information theoretic model

R = {Rij}

max

R

X

ij

Rijdij

Page 141: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• high attenuation scenario

• model

• power constraint

• transport capacity grows not faster than linear in total power

• proof based on max flow min cut

scaling laws

max

R

X

ij

Rij

dij

cPtotal

Yk,i =

X

j

e��djkd�↵jk Xj,i + Zj,i for i = 1, 2, . . . , n

1n

nX

i=1

X

j

X2j,i

Ptotal

Page 142: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

• transport capacity with linear and superlinear increase in N

• coherent combining

• successive interference cancelation

• mimo

• gaussian codebooks

• promising!

• network information

• delay

scaling laws with a physical layer perspective

Page 143: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

a step back

• cut set bounds

• scaling laws with simple models

• network information theory

• scaling laws with an information theoretic model

• network coding

Page 144: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

network coding

• wireline network

• unicast

• simple forwarding is “optimum”

• multicasting

• simple forwarding not “optimum”

• forward functions of received packets

w1 w2

Page 145: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

linear wireline network coding

• source transmits packets

• intermediate nodes

• compute linear combination of packets received

• destination

• decode all combinations

• linear network coding is “optimum”

w1 w2

w1 �w2

w1 �w2

w1

Page 146: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

linear network coding

• linear combination of L messages

• destination can decode if receives

• and if the matrix is rank L

um = am1w1 � am2w2 . . .� amLwL

u1u2 . . . uM

2

6664

a11 a12 . . . a1L

a21 a22 . . . a2L...

.... . .

...aM1 aM2 . . . aML

3

7775

Page 147: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

“wireless” network coding

• natural

• linear model

• broadcast

• superposition

• interference

• issues with addition

• complex versus finite field

• noisy am1w1 � am2w2 � . . . amLwL

Yi =

LX

l=1

HlXl,i + Zi for i = 1, 2, . . . , n

�(wl) = Xl

Page 148: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

compute and forward [nazer, gastpar-2011]

• a key ingredient--lattice codes

• linear structure amenable to

• superposition

• decomposition

• side information

Page 149: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattices

• power constrained

• shaping lattices

Nested Lattices

• Two lattices ! and !FINE are nestedif ! ! !FINE

• Nested Lattice Code: All latticepoints from !FINE that fall in thefundamental Voronoi region V of !.

• V acts like a power constraint

Rate =1

nlog

!

Vol(V)

Vol(VFINE)

"

x = G� mod ⇤s

[x] mod ⇤s = x�Q⇤s(x)

[[x1] mod ⇤s + x2] mod ⇤s = [x1 + x2] mod ⇤s

Page 150: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattices

• power constrained

• shaping lattices

Nested Lattices

• Two lattices ! and !FINE are nestedif ! ! !FINE

• Nested Lattice Code: All latticepoints from !FINE that fall in thefundamental Voronoi region V of !.

• V acts like a power constraint

Rate =1

nlog

!

Vol(V)

Vol(VFINE)

"

⇥(w) = �

x = G� mod ⇤s

[x] mod ⇤s = x�Q⇤s(x)

[[x1] mod ⇤s + x2] mod ⇤s = [x1 + x2] mod ⇤s

Page 151: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

lattice compute and forward

• fading?

for a construction of ! [107]. Mathematically, this pro-perty can be expressed as

Encoding: x‘ ! !"w‘# (79)

Decoding: !$1 a1x1 % a2x2 % & & & % aLxL' (mod !" #! a1w1 ) a2w2 ) & & & ) aLwL: (80)

For the low-complexity case where the coarse lattice is qZn

and the fine lattice is a linear code, ! is just the generatormatrix G of the linear code and !$1 is its inverse.

This mapping is the last piece of the puzzle. With it, thesum of the messages can be recovered directly from themodulo sum of the codewords

!$1 'x1 % x2( mod !" # ! w1 )w2: (81)

Now, we can use this in a two-way communicationscheme by using one time slot to transmit the sum of themessages to the relay and another to send it back to theusers. It follows that the users can exchange messages atany rate up to

RLATTICE !1

2log2

1

2% P

"2

! ": (82)

This rate nearly matches the upper bound in (54) exceptfor a missing 1/2 inside the logarithm.8

This two-way lattice scheme has been extensivelystudied and generalized in the literature. These extensionsinclude unequal channel gains [106], [108], non-Gaussianchannel models [109], secret messages [110], privatemessages [111], direct links [112], as well as more thantwo transmitters [48], [113], [114]. Gupta–Kumar stylescaling laws [115] have also been derived for this latticescheme [116]. We also note that similar lattice-basedschemes can increase achievable rates in interferencechannels [117], [118].

Overall, this nested lattice scheme can be used as adigital framework for physical layer network coding on thewireless channel. It is able to exploit the addition per-formed by the channel while preserving modulo arithmeticand protecting against Gaussian noise. In a larger network,each relay will recover a linear combination of the originalmessages. It can then transmit this linear combination asits own message, just as relays in wireline networks sendout linear combinations of their received messages. InSection VIII, we will generalize the results in this sectionto unequal channel gains. Furthermore, we show that thetransmitters do not even need to know the channel gains,which means that this scheme can be applied to fadingchannels and scenarios with more than one receiver. In thenext section, we plot the performance of each schemediscussed so far for the Gaussian two-way relay channel.

VII. PERFORMANCE COMPARISON

In Fig. 11, we compare the performance for the variousnetwork coding strategies discussed in this paper, for theparticular case of a Gaussian two-way relay channel. Thefigure displays the rate per user in bits per channel use, as afunction of the transmit power per user, while the noise isassumed to be of unit variance. Starting from the top, thefigure shows the simple upper bound given in (54). It is

8Several groups have unsuccessfully tried to find a lattice scheme thatcan attain the upper bound. This remains an open problem.

Fig. 10. Each transmitter maps its finite-field message into an element of the nested lattice code and sends this vector on the channel.

Here, the channel coefficients are taken to be equal h1;h2 ! 1. Therefore, the receiver observes a noisy sum of the transmitted vectors

and determines the closest lattice point. After taking a modulo operation with respect to the coarse lattice, the receiver can invert

the mapping and determine the modulo sum of the original messages.

Nazer and Gastpar: Reliable Physical Layer Network Coding

452 Proceedings of the IEEE | Vol. 99, No. 3, March 2011

Page 152: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

exampleFor ease of analysis, assume that the total power per

channel use is P ! 2, which means that we can allocateone unit of power to the real part and one unit to theimaginary part.4 Let W‘ denote the bit from user ‘. Eachuser maps its bit to a channel input symbol using binaryphase-shift keying (BPSK)

X‘ !1; W‘ ! 1"1; W‘ ! 0.

!(41)

Therefore, if the mod-2 sum of the bits U ! W1 #W2 is 1,then the sum of the transmitted signals X1 $ X2 ! 0. Sim-ilarly, if U is 0, then X1 $ X2 is either 2 or "2, dependingon the original bits. We would like to design a decodingrule for the delay to make an estimate U of the mod-2 sumU from its noisy observed sum Y. For simplicity, we assumethat each user’s bit is generated from a fair coin toss. Themaximum a posteriori (MAP) rule to minimize theprobability that U is in error is given by

UMAP ! arg maxb!0;1

fY%yjU ! b&Pr%U ! b& (42)

where fY%yjU ! b& is the conditional probability distribu-tion of the channel output given the mod-2 sum. Since thenoise is Gaussian, the probability density function is

fYR%yjU ! b&

!

1""""""""""2!"2p e"y2=2"2

; U ! 1

1

2""""""""""2!"2p e"%y"2&2=2"2 $ e"%y$2&2=2"2

# $; U ! 0.

8>><

>>:(43)

Note that for U ! 0, YR follows a Gaussian mixturedistribution since X1 $ X2 can be either 2 or"2 with equalprobability. A bit of calculation reveals that the MAP ruleis just a threshold on the magnitude of the received signal

UMAP !1; jYRj ' 1$ %"2 ln 2&=20; otherwise

!(44)

and the error probabilities can be computed using theQ-function. Applying this strategy to every bit allows therelay to obtain a corrupted version of the modulo-2 sum ofthe bit strings

u ! w1 #w2 # e (45)

where e is the error vector. In Fig. 9, we illustrate how thiscan enable more efficient communication over the two-way relay channel. In one time slot, both transmitters sendtheir messages concurrently, giving the relay the noisymodulo-2 sum. In the next time slot, the relay broadcaststhe modulo-2 sum to the users, which can then solve for acorrupted version of their desired bits. Coupling thisstrategy with an end-to-end error correcting code allowsthe users to successfully exchange messages using just twotime slots. While this coarse analysis seems to favor un-coded transmission, we must account for the level of errorcorrection needed to recover from the errors introduced atthe relay. In Section VII, we compare the performance ofthis strategy to other strategies.

There has been a great deal of interest in the ideabehind this example and many powerful extensions andgeneralizations have been developed for fading channels[55]–[59], asynchronous scenarios [60]–[62], code-division multiple access [63], and practical deployments[64]. See [65] for a survey. As mentioned earlier, the signalobserved at the relay can be treated as the output of a noisymodulo-2 adder so the relay can attempt to denoise themodulo-2 sum if each transmitter employs the same linearcode [45], [54], [66]. In practice, this can be accomplishedusing low-complexity codes such as fountain codes [67],repeat–accumulate codes [68], or low-density parity-check(LDPC) codes [69]. In larger networks, errors can also beleft uncorrected and dealt with using the end-to-endnetwork error correction framework proposed in [70].

B. Analog SignalingInstead of mapping the complex-valued output of the

wireless channel into a finite field, the linear network codingframework can be modified to operate directly in thecomplex field. This can result in significant performance4Note that we can model any SNR by changing the noise variance.

Fig. 9. A physical layer network coding strategy for the two-way relay

channel that requires two time slots. (a) During the first time slot, both

users transmit their messages, which gives the relay access to a noisy

sum of the packets w1 #w2 # e. (b) During the second time slot, the

relay broadcasts this corrupted sum of the messages back to both

users. They use knowledge of their own message to infer a corrupted

version of the other user’s message. With an end-to-end error

correcting code, this scheme can be used for reliably exchanging

information.

Nazer and Gastpar: Reliable Physical Layer Network Coding

Vol. 99, No. 3, March 2011 | Proceedings of the IEEE 447

instructive to consider the behavior at large transmitpower P, characterized by the limit of the ratioR= log!1" P=!2#. For the upper bound, it is clear thatthis limiting slope is 1/2.

The next curve, labeled Blattice,[ is the performance ofreliable physical layer network coding via lattice codes,given in (82). We note that this scheme is close to the upperbound and that it attains the same limiting slope of 1/2.

The following curve, labeled Banalog,[ represents theanalog network coding scheme discussed in Section V-B. Itfollows the upper bound but never meets it. This is becausethe noise observed at the relay is sent along with the de-sired signal, an effect that would be even more detrimentalif there were further stages in the network. In the limit ofhigh transmit power P, this effect becomes negligible andthe optimal limiting slope of 1/2 is attained.

The curve labeled Bnetcod[ is the performance at-tained by the wireless broadcast network coding scheme inSection II-A, depicted in Fig. 4. Each user takes a turnsending its message to the relay and the relay sends themod-2 sum back to the users. This scheme loses out at hightransmit power due to the fact that three channel uses areneeded for each exchange, making for a limiting slopeof 1/3.

The curve labeled Brouting[ is the scheme inSection II-A, depicted in Fig. 3. Each user takes a turnsending its message to the relay and the relay sends theseback to the users. At high transmit power, one can verifythat this leads to a limiting slope of 1/4.

The final curve, labeled BBPSK,[ is the binary schemein Section V-A, according to which each user transmitsits bits uncoded and the relay makes a hard decisionabout the modulo-2 sum. The broadcast phase is ab-stracted as a bit pipe simultaneously to both users with arate corresponding to the capacity of the broadcast chan-nel from the relay to the users (which thus depends on

the transmit power P). Error-correcting codes are thenused end-to-end. Note that due to the fact that BPSK isused, this scheme plateaus at one bit per channel use; ifa larger constellation were used, this plateau effect wouldbe higher (but the performance at low SNR mightsuffer).

As a final caveat, we note that some of the achievableschemes can be slightly improved by optimizing the ratio oftime spent in the different phases. For the present figure, itis assumed that all these phases are of the same length, asin the descriptions provided in Section II-A.

VIII . FADING CHANNELS

If the channel simply outputs a noisy sum of the trans-mitted signals, then it is intuitive that this can be exploitedfor adding up the messages. Yet, in general, the channeloutput will be some linear combination according tocomplex-valued coefficients and it is not immediately clearthat this will be a good match for network coding over afinite field. Here, we demonstrate how to overcome thisobstacle using the compute-and-forward framework weproposed in [107]. First, we show how to reliably computeover real-valued channels and then we use this scheme as abuilding block for complex-valued channels.

A. Real-Valued ChannelsConsider a real-valued channel whose output vector is

just a linear function of the transmitted vectors plus someGaussian noise

y $ h1x1 " h2x2 " % % % " hLxL " z: (83)

Assume that each user selects and transmits a point from anested lattice code. The key idea is that, instead of trying todecode the sum, the receiver should aim to decode aninteger combination of the codewords (modulo the coarselattice)

v $ &a1x1 " a2x2 " % % % " aLxL' mod !: (84)

This integer combination is itself a codeword, due to thelinear structure of the nested lattice code, and is thereforeafforded protection against noise. If these integer coeffi-cients are close enough to the real-valued coefficients ofthe channel, then it seems plausible that the receiver candecode the function successfully. More precisely, thereceiver makes the following estimate of v:

v $ Q!FINE!"y#& ' mod ! (85)

$ Q!FINE &"y' mod !! #& ' mod ! (86)

Fig. 11. A performance comparison of the schemes for the

two-way relay channel discussed in this paper.

Nazer and Gastpar: Reliable Physical Layer Network Coding

Vol. 99, No. 3, March 2011 | Proceedings of the IEEE 453

Page 153: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

final thoughts

• cut set bound on throughput

• scaling laws with several physical layer models

• pragmatic

• discovery, routing, scheduling, and coding

• linear network coding

• lattice

Page 154: managing interference in wireless networks · 2014-10-21 · • parity check matrix G 2 Rn⇥n H = G1 2 Rn⇥n. lattice coding [sommer,feder,shalvi-2008] • sparse non-binary parity

final thoughts

• much left to be done

• multiuser information theory for more general networks

• practical network coding for fading channels

• overhead to acquire network information

• feedback

• scheduling

• delay


Recommended