Integer-Forcing: An Algebraic Approach to Interference Management - - PowerPoint PPT Presentation

integer forcing an algebraic approach to interference
SMART_READER_LITE
LIVE PREVIEW

Integer-Forcing: An Algebraic Approach to Interference Management - - PowerPoint PPT Presentation

Integer-Forcing: An Algebraic Approach to Interference Management Bobak Nazer Boston University Thanks to Wenbo He, Engin Tunali, and Krishna Narayanan for help with the plots. Communications Theory Workshop Interference Management Session


slide-1
SLIDE 1

Integer-Forcing: An Algebraic Approach to Interference Management

Bobak Nazer Boston University Thanks to Wenbo He, Engin Tunali, and Krishna Narayanan for help with the plots. Communications Theory Workshop Interference Management Session May 27, 2014 Supported by NSF grants CCF-1253918 and CCF-1302600.

slide-2
SLIDE 2

Motivation

slide-3
SLIDE 3

Motivation

slide-4
SLIDE 4

Motivation

slide-5
SLIDE 5

MIMO Uplink Channel

w1

SISO Enc. x1

w2

SISO Enc. x2

wM

SISO Enc. xM

. . . . . . . . .

H

z1 z2 zM y1 y2

. . .

yM

MIMO Decoder

ˆ w1 ˆ w2 ˆ wM

. . .

Usual Assumptions:

  • Each antenna carries an independent data stream xℓ ∈ Cn of rate R

(e.g., V-BLAST setting, cellular uplink). X = [x1 · · · xM]T.

  • Usual power constraint: xℓ2 ≤ nSNR.
  • Channel model: Y = HX + Z
  • Z is elementwise i.i.d. CN(0, 1).
  • CSIR: Only the receiver knows channel realization H ∈ CM×M.
slide-6
SLIDE 6

Outage Rates and Probabilities

  • Throughout the talk, we will assume that H is elementwise

i.i.d. Rayleigh, remains fixed throughout the block, and is

  • nly known at the receiver.
  • Say that we have a scheme that achieves rate Rscheme(H) under

channel realization H. For a target rate R, the outage probability is pout(R) = P

  • Rscheme(H) < R
  • and the outage rate is

Rout(ρ) = sup

  • R : pout(R) ≤ ρ
  • .
slide-7
SLIDE 7

MIMO Uplink Channel: Joint ML Decoding

w1

SISO Enc. x1

w2

SISO Enc. x2

wM

SISO Enc. xM

. . . . . . . . .

H

z1 z2 zM y1 y2

. . .

yM

Joint ML Decoder

ˆ w1 ˆ w2 ˆ wM

. . .

Joint Maximum Likelihood Decoding: Rjoint(H) = min

S⊆{1,...,M}

1 |S| log det

  • I + SNR HSH∗

S

  • Corresponds to the (symmetric) outage capacity.
  • Naive implementation has prohibitively high complexity.
  • Of course, there are many clever ways to reduce the complexity!
slide-8
SLIDE 8

MIMO Uplink Channel: Zero-Forcing and Linear MMSE

w1

SISO Enc. x1

w2

SISO Enc. x2

wM

SISO Enc. xM

. . . . . . . . .

H

z1 z2 zM y1 y2

. . .

yM

B

˜ y1

SISO Dec.

ˆ w1 ˜ y2

SISO Dec.

ˆ w2 ˜ yM SISO Dec. ˆ wM

. . . . . . . . .

Zero-Forcing and Linear MMSE Receivers:

  • Project the received signal, ˜

Y = BY to eliminate interference between data streams.

  • After projection, single-user decoders attempt to recover the

individual data streams.

  • Optimal B is the MMSE projection.
slide-9
SLIDE 9

MIMO Uplink Channel: Zero-Forcing and Linear MMSE

x1 x2 xM

. . .

H

z1 z2 zM y1 y2

. . .

yM

B

˜ y1

SISO Dec.

x1 ˜ y2

SISO Dec.

x2 ˜ yM SISO Dec. xM

. . . . . . . . .

Zero-Forcing and Linear MMSE Receivers:

  • The mth SISO decoder tries to recover xm from bT

mY:

SINRLMMSE,m(H) = max

bm

SNR bT

mhm2

1 + SNR

ℓ=m bT mhℓ2

  • Rate per user:

RLMMSE(H) = min

m=1,...,M log

  • 1 + SINRLMMSE,m(H)
slide-10
SLIDE 10

MIMO Uplink Channel: Successive Interference Cancellation

x1 x2 xM

. . .

H

z1 z2 zM y1 y2

. . .

yM

B

˜ y1

SISO Dec.

xπ(1) ˜ y2

SISO Dec.

xπ(2) ˜ yM SISO Dec. xπ(M)

. . . . . . . . .

Successive Interference Cancellation Receivers:

  • Decode in order π. Cancel xπ(1), . . . , xπ(m−1) from ˜

ym: SINRSIC,π(m)(H) = max

bm

SNR bT

mhπ(m)2

1 + SNR M

ℓ=m+1 bT mhπ(ℓ)2

  • Rate per user:

RV-BLAST II(H) = max

π

min

m=1,...,M log

  • 1 + SINRSIC,π(m)(H)
slide-11
SLIDE 11

MIMO Uplink Channel: Integer-Forcing

x1 x2 xM

. . .

H

z1 z2 zM y1 y2

. . .

yM

B

˜ y1

SISO Dec.

x1 ˜ y2

SISO Dec.

x2 ˜ yM SISO Dec. xM

. . . . . . . . .

What if we could decode something else?

  • Zero-Forcing / LMMSE: First, eliminate interference.

Then, decode individual data streams.

slide-12
SLIDE 12

MIMO Uplink Channel: Integer-Forcing

x1 x2 xM

. . .

H

z1 z2 zM y1 y2

. . .

yM

B

˜ y1

SISO Dec.

˜ y2

SISO Dec.

˜ yM SISO Dec.

. . . . . .

What if we could decode something else?

  • Zero-Forcing / LMMSE: First, eliminate interference.

Then, decode individual data streams. First, decode

slide-13
SLIDE 13

MIMO Uplink Channel: Integer-Forcing

x1 x2 xM

. . .

H

z1 z2 zM y1 y2

. . .

yM

B

˜ y1

SISO Dec.

  • ℓ a1ℓxℓ

˜ y2

SISO Dec.

  • ℓ a2ℓxℓ

˜ yM SISO Dec.

  • ℓ aMℓxℓ

. . . . . . . . .

What if we could decode something else?

  • Zero-Forcing / LMMSE: First, eliminate interference.

Then, decode individual data streams.

  • Integer-Forcing: First, decode integer-linear combinations.
slide-14
SLIDE 14

MIMO Uplink Channel: Integer-Forcing

x1 x2 xM

. . .

H

z1 z2 zM y1 y2

. . .

yM

B

˜ y1

SISO Dec.

  • ℓ a1ℓxℓ

˜ y2

SISO Dec.

  • ℓ a2ℓxℓ

˜ yM SISO Dec.

  • ℓ aMℓxℓ

. . . . . . . . . . . .

A−1

x1 x2 xM

What if we could decode something else?

  • Zero-Forcing / LMMSE: First, eliminate interference.

Then, decode individual data streams.

  • Integer-Forcing: First, decode integer-linear combinations.

Then, eliminate interference.

slide-15
SLIDE 15

MIMO Uplink Channel: Integer-Forcing

x1 x2 xM

. . .

H

z1 z2 zM y1 y2

. . .

yM

B

˜ y1

SISO Dec.

  • ℓ a1ℓxℓ

˜ y2

SISO Dec.

  • ℓ a2ℓxℓ

˜ yM SISO Dec.

  • ℓ aMℓxℓ

. . . . . . . . . . . .

A−1

x1 x2 xM

What if we could decode something else?

  • Zero-Forcing / LMMSE: First, eliminate interference.

Then, decode individual data streams.

  • Integer-Forcing: First, decode integer-linear combinations.

Then, eliminate interference.

  • If the integer matrix A is full rank, we can successfully recover the

individual data streams.

slide-16
SLIDE 16

MIMO Uplink Channel: Integer-Forcing

Integer-Forcing Linear Receivers:

  • The mth effective channel after projection is

bT

mY = bT mHX + bT mZ

slide-17
SLIDE 17

MIMO Uplink Channel: Integer-Forcing

Integer-Forcing Linear Receivers:

  • The mth effective channel after projection is

bT

mY = bT mHX + bT mZ

= aT

mX + (bT mH − aT m)X + bT mZ

slide-18
SLIDE 18

MIMO Uplink Channel: Integer-Forcing

Integer-Forcing Linear Receivers:

  • The mth effective channel after projection is

bT

mY = bT mHX + bT mZ

= aT

mX + (bT mH − aT m)X + bT mZ

=

M

  • ℓ=1

amℓxT

  • Codeword

+ (bT

mH − aT m)X + bT mZ

  • Effective Noise
slide-19
SLIDE 19

MIMO Uplink Channel: Integer-Forcing

Integer-Forcing Linear Receivers:

  • The mth effective channel after projection is

bT

mY = bT mHX + bT mZ

= aT

mX + (bT mH − aT m)X + bT mZ

=

M

  • ℓ=1

amℓxT

  • Codeword

+ (bT

mH − aT m)X + bT mZ

  • Effective Noise
  • The amℓ ∈ Z[j] are Gaussian integers and the codebook should be

closed under integer-linear combinations.

  • We are free to choose any full-rank integer-valued matrix A.
slide-20
SLIDE 20

MIMO Uplink Channel: Integer-Forcing

x1 x2 xM

. . .

H

z1 z2 zM y1 y2

. . .

yM

B

˜ y1

SISO Dec.

  • ℓ a1ℓxℓ

˜ y2

SISO Dec.

  • ℓ a2ℓxℓ

˜ yM SISO Dec.

  • ℓ aMℓxℓ

. . . . . . . . . . . .

A−1

x1 x2 xM

Integer-Forcing Linear Receivers: (Zhan-Nazer-Erez-Gastpar ’12)

  • The mth SISO decoder tries to recover

ℓ amℓxℓ from bT mY:

SINRIF,m(H, A) = max

bm

SNR bm2 + SNRbT

mH − aT m2

  • Rate per user:

RIF(H) = max

A

min

m=1,...,M log+

SINRIF,m(H, A)

  • Includes linear MMSE as a special case by setting A = I.
slide-21
SLIDE 21

Comparison: Outage Rates

5 10 15 20 1 2 3 4 5 6 7 SNR (dB) 1 % Outage Rate (bits per complex symbol) Capacity Integer−Forcing V−BLAST III V−BLAST II Linear MMSE

2 users, 2 receive antennas, Rayleigh fading, 1% outage.

slide-22
SLIDE 22

Comparison: Outage Rates

10 20 30 40 50 5 10 15 20 SNR (dB) 1% Outage Rate (per User) 4 users symmetric rate case Capacity Integer−Forcing Linear MMSE

4 users, 4 receive antennas, Rayleigh fading, 1% outage.

slide-23
SLIDE 23

Questions

  • How can we efficiently select a good integer matrix A?
  • How does the performance scale with the number of users?
  • How sensitive is the performance to imperfect CSIR?
  • What types of SISO encoders and decoders can we use?
  • What about the downlink?
  • Can we move beyond this idealized problem setting?
slide-24
SLIDE 24

Finding a Good Integer Matrix

SINRIF,m(H, A) = max

bm

SNR bm2 + SNRHTbm − am2

  • Optimal bm is the MMSE projection.
  • Plugging in and applying the Matrix Inversion Lemma, we get that

SINRIF,m(H, A) = 1

  • I + SNR H∗H

−1/2am

  • 2
  • Finding the optimal A corresponds to finding a good lattice basis.
  • This is a hard problem in general but good approximation algorithms

are known, such as the LLL algorithm.

  • We are currently using a slight twist: We run LLL to get a lattice
  • basis. Then, we turn to the dual lattice and run LLL again,

initializing with the first basis.

slide-25
SLIDE 25

Finding a Good Integer Matrix

5 10 15 20 25 30 35 40 5 10 15 SNR (dB) 1% Outage Rate Per User 10 user symmetric rate case Capacity Upper Bound Primal−dual LLL LLL Linear MMSE

Rayleigh fading, 1% outage.

slide-26
SLIDE 26

How does the performance scale with the number of users?

2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 Number of Users 20 dB symmetric rate case 1% Outage Rate (per User) Capacity (Upper Bound) Integer−Forcing Linear MMSE

Rayleigh fading, 1% outage.

slide-27
SLIDE 27

What is the impact of imperfect CSIR?

w1

SISO Enc. x1

w2

SISO Enc. x2

wM

SISO Enc. xM

. . . . . . . . .

H

z1 z2 zM y1 y2

. . .

yM

MIMO Decoder

ˆ w1 ˆ w2 ˆ wM

. . .

H + E

  • Receiver only sees H + E where E is elementwise i.i.d. CN (0, σ2).
  • May result in selecting both a suboptimal integer matrix A and a

suboptimal projection matrix B.

slide-28
SLIDE 28

What is the impact of imperfect CSIR?

0.02 0.04 0.06 0.08 0.1 1 2 3 4 5 6 Noise Variance in CSI 20 dB case, 4 users 1% Outage Rate (per User) Capacity Integer−Forcing Linear MMSE

4 users, 20dB, Rayleigh fading, 1% outage.

slide-29
SLIDE 29

What kinds of SISO coding schemes can be used?

w1 E1 x1 g1 w2 E2 x2 g2 wL EL xL gL . . . z y D ˆ um um =

L

  • ℓ=1

qmℓwℓ

  • Underlying integer-forcing is the compute-and-forward framework,

which is used as a black box to recover linear combinations of the messages over some finite field Fp.

  • Messages are vectors over a prime-sized finite field, wℓ ∈ Fk

p.

slide-30
SLIDE 30

Integer-Forcing Linear Receiver

w1

SISO Encoder

x1 w2

SISO Encoder

x2

. . . . . .

wM

SISO Encoder xM

y1 ˜ y1

SISO Decoder ˆ

u1 ˆ w1 y2 ˜ y2

SISO Decoder ˆ

u2 ˆ w2

. . . . . .

yM ˜ yM SISO Decoder ˆ uM ˆ wM

Decode Equations

um =

qmℓwℓ

Linear Equalizer Solve Linear Equations

  • Architecture is completely digital after SISO decoders.
slide-31
SLIDE 31

What kinds of SISO coding schemes can be used?

t1 g1 t2 g2 tM gM . . . . . . zeff y

Lattice Decoder

ˆ vm vm =

amℓtℓ

  • mod Λ
  • Nazer-Gastpar ’11: Compute-and-forward achievability proofs via

nested lattice codes.

  • High-dimensional nested lattice codes lead to nice log(SINR)

expressions but have high implementation complexity.

  • Remember, all we actually need is that the codebook is

closed under integer-linear combinations.

slide-32
SLIDE 32

What kinds of SISO coding schemes can be used?

+

Binary Linear Code

  • What about QAM combined with a binary linear code?
  • Issue: Real addition does not map well to addition over F2M .

[x1 + x2] mod 2M = x1 ⊕ x2

slide-33
SLIDE 33

What kinds of SISO coding schemes can be used?

+

Fp Linear Code

  • What about p-ary QAM where p is prime combined with a

linear code over Fp?

  • Real addition maps well to addition over Fp.

[x1 + x2] mod p = x1 ⊕ x2

slide-34
SLIDE 34

Uncoded Integer-Forcing

Uncoded Integer-Forcing:

  • Project by bm, take mod p, apply slicer.
  • Correct if we recover [am1x1 + am2x2 + · · · + amMxM] mod p

for all m.

slide-35
SLIDE 35

Uncoded Integer-Forcing

Uncoded Integer-Forcing:

  • Project by bm, take mod p, apply slicer.
  • Correct if we recover [am1x1 + am2x2 + · · · + amMxM] mod p

for all m.

  • Is this lattice-aided reduction?
slide-36
SLIDE 36

Uncoded Integer-Forcing

Uncoded Integer-Forcing:

  • Project by bm, take mod p, apply slicer.
  • Correct if we recover [am1x1 + am2x2 + · · · + amMxM] mod p

for all m.

  • Is this lattice-aided reduction? Nearly. We add the mod p.
slide-37
SLIDE 37

Uncoded Integer-Forcing

16 18 20 22 24 10

−3

10

−2

10

−1

10 SNR (dB) Symbol Error Rate 2 users, prime = 13 MMSE (uncoded) IF (uncoded) MMSE (IT) IF (IT)

  • Opt. Outage

2 users, 2 receive antennas, Rayleigh fading p = 13, fixed rate 1/2 log(13).

slide-38
SLIDE 38

Coded Integer-Forcing

+

LDPC Code over Fp

Coded Integer-Forcing:

  • Project by bm, take mod p, apply LDPC decoding algorithm.
  • Correct if we recover [am1x1 + am2x2 + · · · + amMxM] mod p

for all m.

slide-39
SLIDE 39

Coded Integer-Forcing

16 18 20 22 24 10

−3

10

−2

10

−1

10 SNR (dB) Symbol Error Rate 2 users, prime = 13 MMSE (uncoded) IF (uncoded) MMSE (IT) IF (LDPC) IF (IT)

  • Opt. Outage

2 users, 2 receive antennas, Rayleigh fading p = 13, fixed rate 1/2 log(13), regular (3, 6) LDPC code.

slide-40
SLIDE 40

Codes for Compute-and-Forward

  • Lots of interesting questions on how to design low-complexity

constellations and linear codes that work well for compute-and-forward.

  • Several recent papers and...
slide-41
SLIDE 41

Codes for Compute-and-Forward

  • Lots of interesting questions on how to design low-complexity

constellations and linear codes that work well for compute-and-forward.

  • Several recent papers and...
  • Krishna’s talk coming up next!
slide-42
SLIDE 42

MIMO Downlink Channel

MIMO Encoder

w1 x1 w2 x2 wM xM

. . . . . .

H

z1 z2 zM y1 y2

. . .

yM ˆ w1 ˆ w2 ˆ wM

. . .

SISO Dec. SISO Dec. SISO Dec.

. . .

  • Capacity region is known. Requires dirty-paper coding.

Caire-Shamai ’03, Vishwanath-Jindal-Goldsmith ’04, Viswanath-Tse ’03, Yu-Cioffi ’04, Weingarten-Steinberg-Shamai ’06.

slide-43
SLIDE 43

MIMO Downlink Channel: Zero-Forcing

w1

SISO Enc. ˜

x1 w2

SISO Enc. ˜

x2 wM

SISO Enc. ˜

xM

B

x1 x2 xM

. . . . . . . . . . . .

H

z1 z2 zM y1 y2

. . .

yM ˆ w1 ˆ w2 ˆ wM

. . .

SISO Dec. SISO Dec. SISO Dec.

. . .

Zero-Forcing Beamforming:

  • Use beamforming matrix B to eliminate interference between data

streams.

slide-44
SLIDE 44

MIMO Downlink Channel: Integer-Forcing

w1 w2 wM

SISO Enc. ˜

x1

SISO Enc. ˜

x2

SISO Enc. ˜

xM

B

x1 x2 xM

. . . . . . . . . . . .

H

z1 z2 zM y1 y2

. . .

yM ˆ u1 ˆ u2 ˆ uM

. . .

um =

qmℓwℓ

SISO Dec. SISO Dec. SISO Dec.

. . .

Integer-Forcing Beamforming: (Hong-Caire ’12,’13)

  • Use beamforming matrix B to create an

integer-valued effective channel A.

  • Decode linear combinations with qmℓ = [amℓ] mod p.
slide-45
SLIDE 45

MIMO Downlink Channel: Integer-Forcing

w1 w2 wM

Q−1

˜ w1 ˜ w2 ˜ wM

SISO Enc. ˜

x1

SISO Enc. ˜

x2

SISO Enc. ˜

xM

B

x1 x2 xM

. . . . . . . . . . . .

H

z1 z2 zM y1 y2

. . .

yM ˆ w1 ˆ w2 ˆ wM

. . .

SISO Dec. SISO Dec. SISO Dec.

. . .

Integer-Forcing Beamforming: (Hong-Caire ’12,’13)

  • Use beamforming matrix B to create an

integer-valued effective channel A.

  • Decode linear combinations with qmℓ = [amℓ] mod p.

Pre-invert Q = [A] mod p and decode messages.

slide-46
SLIDE 46

MIMO Downlink Channel: Integer-Forcing

w1 w2 wM

Q−1

˜ w1 ˜ w2 ˜ wM

SISO Enc. ˜

x1

SISO Enc. ˜

x2

SISO Enc. ˜

xM

B

x1 x2 xM

. . . . . . . . . . . .

H

z1 z2 zM y1 y2

. . .

yM ˆ w1 ˆ w2 ˆ wM

. . .

SISO Dec. SISO Dec. SISO Dec.

. . .

Integer-Forcing Beamforming: (Hong-Caire ’12,’13)

  • Use beamforming matrix B to create an

integer-valued effective channel A.

  • Decode linear combinations with qmℓ = [amℓ] mod p.

Pre-invert Q = [A] mod p and decode messages.

  • In very recent work, we have shown that uplink-downlink duality

holds for integer-forcing. He-Nazer-Shamai ’14

slide-47
SLIDE 47

Extensions

  • What can we prove about the optimality of integer-forcing?
slide-48
SLIDE 48

Extensions

  • What can we prove about the optimality of integer-forcing?
  • Zhan-Nazer-Erez-Gastpar ’12: Attains the optimal DMT

(for point-to-point MIMO with no space-time coding.)

slide-49
SLIDE 49

Extensions

  • What can we prove about the optimality of integer-forcing?
  • Zhan-Nazer-Erez-Gastpar ’12: Attains the optimal DMT

(for point-to-point MIMO with no space-time coding.)

  • What about space-time coding at the transmitter?
slide-50
SLIDE 50

Extensions

  • What can we prove about the optimality of integer-forcing?
  • Zhan-Nazer-Erez-Gastpar ’12: Attains the optimal DMT

(for point-to-point MIMO with no space-time coding.)

  • What about space-time coding at the transmitter?
  • Ordentlich-Erez ’13: Linear dispersion codes + integer-forcing

achieves the MIMO capacity universally to within a constant gap. Includes the optimal DMT as a special case.

slide-51
SLIDE 51

Extensions

  • What can we prove about the optimality of integer-forcing?
  • Zhan-Nazer-Erez-Gastpar ’12: Attains the optimal DMT

(for point-to-point MIMO with no space-time coding.)

  • What about space-time coding at the transmitter?
  • Ordentlich-Erez ’13: Linear dispersion codes + integer-forcing

achieves the MIMO capacity universally to within a constant gap. Includes the optimal DMT as a special case.

  • What about successive cancellation for integer-forcing?
slide-52
SLIDE 52

Extensions

  • What can we prove about the optimality of integer-forcing?
  • Zhan-Nazer-Erez-Gastpar ’12: Attains the optimal DMT

(for point-to-point MIMO with no space-time coding.)

  • What about space-time coding at the transmitter?
  • Ordentlich-Erez ’13: Linear dispersion codes + integer-forcing

achieves the MIMO capacity universally to within a constant gap. Includes the optimal DMT as a special case.

  • What about successive cancellation for integer-forcing?
  • Ordentlich-Erez-Nazer ’13: Framework for IF-SIC. Exact optimality

if CSIT is available. Rate points tend to lie very close to the symmetric capacity.

slide-53
SLIDE 53

Key Issues Going Forward

  • Low-complexity constellations and codes.
  • New algorithms for finding integer matrix A.
  • Synchronization.
  • What if the channel realization changes over the coding

blocklength? (e.g., OFDM)

  • How should we include rate adaptation?
  • What does this mean for user selection?
  • With Behnaam, Krishna, and students, we are working towards a

WARP implementation.

  • Any others?