SLIDE 1
Integer-Forcing: An Algebraic Approach to Interference Management - - PowerPoint PPT Presentation
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 2
SLIDE 3
Motivation
SLIDE 4
Motivation
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
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
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
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
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
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
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
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
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
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
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
MIMO Uplink Channel: Integer-Forcing
Integer-Forcing Linear Receivers:
- The mth effective channel after projection is
bT
mY = bT mHX + bT mZ
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Extensions
- What can we prove about the optimality of integer-forcing?
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
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
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
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
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
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?