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.
Motivation
Motivation
Motivation
MIMO Uplink Channel z 1 SISO Enc. x 1 y 1 w 1 w 1 ˆ z 2 SISO Enc. x 2 y 2 MIMO w 2 H w 2 ˆ Decoder . . . . . . . . . . . . . . . z M y M SISO Enc. x M w M w M ˆ Usual Assumptions: • Each antenna carries an independent data stream x ℓ ∈ C n of rate R (e.g., V-BLAST setting, cellular uplink). X = [ x 1 · · · x M ] T . • Usual power constraint: � x ℓ � 2 ≤ n SNR. • Channel model: Y = HX + Z • Z is elementwise i.i.d. CN (0 , 1) . • CSIR: Only the receiver knows channel realization H ∈ C M × M .
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 only known at the receiver. • Say that we have a scheme that achieves rate R scheme ( H ) under channel realization H . For a target rate R , the outage probability is � � p out ( R ) = P R scheme ( H ) < R and the outage rate is � � R out ( ρ ) = sup R : p out ( R ) ≤ ρ .
MIMO Uplink Channel: Joint ML Decoding z 1 SISO Enc. x 1 y 1 w 1 w 1 ˆ z 2 SISO Enc. x 2 y 2 Joint ML w 2 H w 2 ˆ Decoder . . . . . . . . . . . . . . . z M y M SISO Enc. x M w M w M ˆ Joint Maximum Likelihood Decoding: 1 � � I + SNR H S H ∗ R joint ( H ) = min |S| log det S S⊆{ 1 ,...,M } • Corresponds to the (symmetric) outage capacity. • Naive implementation has prohibitively high complexity. • Of course, there are many clever ways to reduce the complexity!
MIMO Uplink Channel: Zero-Forcing and Linear MMSE z 1 SISO Enc. x 1 y 1 y 1 ˜ w 1 w 1 ˆ SISO Dec. z 2 SISO Enc. x 2 y 2 y 2 ˜ w 2 H B w 2 ˆ SISO Dec. . . . . . . . . . . . . . . . . . . . . . z M y M SISO Enc. x M y M SISO Dec. ˜ w M w M ˆ 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.
MIMO Uplink Channel: Zero-Forcing and Linear MMSE z 1 y 1 y 1 ˜ x 1 x 1 SISO Dec. z 2 y 2 y 2 ˜ x 2 x 2 H B SISO Dec. . . . . . . . . . . . . . . . z M y M y M SISO Dec. ˜ x M x M Zero-Forcing and Linear MMSE Receivers: • The m th SISO decoder tries to recover x m from b T m Y : SNR � b T m h m � 2 SINR LMMSE ,m ( H ) = max 1 + SNR � m h ℓ � 2 ℓ � = m � b T b m • Rate per user: � � R LMMSE ( H ) = m =1 ,...,M log min 1 + SINR LMMSE ,m ( H )
MIMO Uplink Channel: Successive Interference Cancellation z 1 y 1 y 1 ˜ x 1 x π (1) SISO Dec. z 2 y 2 y 2 ˜ x 2 H B x π (2) SISO Dec. . . . . . . . . . . . . . . . z M y M ˜ y M SISO Dec. x M x π ( M ) Successive Interference Cancellation Receivers: • Decode in order π . Cancel x π (1) , . . . , x π ( m − 1) from ˜ y m : m h π ( m ) � 2 SNR � b T SINR SIC ,π ( m ) ( H ) = max 1 + SNR � M ℓ = m +1 � b T m h π ( ℓ ) � 2 b m • Rate per user: � � R V-BLAST II ( H ) = max m =1 ,...,M log min 1 + SINR SIC ,π ( m ) ( H ) π
MIMO Uplink Channel: Integer-Forcing z 1 y 1 y 1 ˜ x 1 x 1 SISO Dec. z 2 y 2 y 2 ˜ x 2 x 2 H B SISO Dec. . . . . . . . . . . . . . . . z M y M y M SISO Dec. ˜ x M x M What if we could decode something else? • Zero-Forcing / LMMSE: First, eliminate interference. Then, decode individual data streams.
MIMO Uplink Channel: Integer-Forcing z 1 y 1 y 1 ˜ x 1 SISO Dec. z 2 y 2 y 2 ˜ x 2 H B SISO Dec. . . . . . . . . . . . . z M y M ˜ y M SISO Dec. x M What if we could decode something else? • Zero-Forcing / LMMSE: First, eliminate interference. Then, decode individual data streams. First, decode
MIMO Uplink Channel: Integer-Forcing z 1 y 1 y 1 ˜ � x 1 ℓ a 1 ℓ x ℓ SISO Dec. z 2 y 2 y 2 ˜ � x 2 H B ℓ a 2 ℓ x ℓ SISO Dec. . . . . . . . . . . . . . . . z M y M y M SISO Dec. ˜ � x M ℓ a Mℓ 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.
MIMO Uplink Channel: Integer-Forcing z 1 y 1 ˜ y 1 � x 1 ℓ a 1 ℓ x ℓ x 1 SISO Dec. z 2 y 2 y 2 ˜ � A − 1 x 2 x 2 H B ℓ a 2 ℓ x ℓ SISO Dec. . . . . . . . . . . . . . . . . . . z M y M y M SISO Dec. ˜ � x M ℓ a Mℓ x ℓ x M 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.
MIMO Uplink Channel: Integer-Forcing z 1 y 1 ˜ y 1 � x 1 ℓ a 1 ℓ x ℓ x 1 SISO Dec. z 2 y 2 y 2 ˜ � A − 1 x 2 x 2 H B ℓ a 2 ℓ x ℓ SISO Dec. . . . . . . . . . . . . . . . . . . z M y M y M SISO Dec. ˜ � x M ℓ a Mℓ x ℓ x M 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.
MIMO Uplink Channel: Integer-Forcing Integer-Forcing Linear Receivers: • The m th effective channel after projection is b T m Y = b T m HX + b T m Z
MIMO Uplink Channel: Integer-Forcing Integer-Forcing Linear Receivers: • The m th effective channel after projection is b T m Y = b T m HX + b T m Z = a T m X + ( b T m H − a T m ) X + b T m Z
MIMO Uplink Channel: Integer-Forcing Integer-Forcing Linear Receivers: • The m th effective channel after projection is b T m Y = b T m HX + b T m Z = a T m X + ( b T m H − a T m ) X + b T m Z M � a mℓ x T + ( b T m H − a T m ) X + b T = m Z ℓ � �� � ℓ =1 Effective Noise � �� � Codeword
MIMO Uplink Channel: Integer-Forcing Integer-Forcing Linear Receivers: • The m th effective channel after projection is b T m Y = b T m HX + b T m Z = a T m X + ( b T m H − a T m ) X + b T m Z M � a mℓ x T + ( b T m H − a T m ) X + b T = m Z ℓ � �� � ℓ =1 Effective Noise � �� � Codeword • The a mℓ ∈ 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 .
MIMO Uplink Channel: Integer-Forcing z 1 y 1 y 1 ˜ � x 1 ℓ a 1 ℓ x ℓ x 1 SISO Dec. z 2 y 2 y 2 ˜ � A − 1 x 2 x 2 H B ℓ a 2 ℓ x ℓ SISO Dec. . . . . . . . . . . . . . . . . . . z M y M y M SISO Dec. ˜ � x M ℓ a Mℓ x ℓ x M Integer-Forcing Linear Receivers: ( Zhan-Nazer-Erez-Gastpar ’12 ) • The m th SISO decoder tries to recover � ℓ a mℓ x ℓ from b T m Y : SNR SINR IF ,m ( H , A ) = max � b m � 2 + SNR � b T m H − a T m � 2 b m • Rate per user: m =1 ,...,M log + � � R IF ( H ) = max min SINR IF ,m ( H , A ) A • Includes linear MMSE as a special case by setting A = I .
Comparison: Outage Rates 7 Capacity 1 % Outage Rate (bits per complex symbol) 6 Integer−Forcing V−BLAST III V−BLAST II 5 Linear MMSE 4 3 2 1 0 0 5 10 15 20 SNR (dB) 2 users, 2 receive antennas, Rayleigh fading, 1% outage.
Comparison: Outage Rates 4 users symmetric rate case 20 Capacity Integer−Forcing 1% Outage Rate (per User) Linear MMSE 15 10 5 0 0 10 20 30 40 50 SNR (dB) 4 users, 4 receive antennas, Rayleigh fading, 1% outage.
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?
Finding a Good Integer Matrix SNR SINR IF ,m ( H , A ) = max � b m � 2 + SNR � H T b m − a m � 2 b m • Optimal b m is the MMSE projection. • Plugging in and applying the Matrix Inversion Lemma, we get that 1 SINR IF ,m ( H , A ) = � � �� � − 1 / 2 a m � 2 I + SNR H ∗ H • 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.
Finding a Good Integer Matrix 10 user symmetric rate case 15 Capacity Upper Bound Primal−dual LLL LLL Linear MMSE 1% Outage Rate Per User 10 5 0 0 5 10 15 20 25 30 35 40 SNR (dB) Rayleigh fading, 1% outage.
How does the performance scale with the number of users? 20 dB symmetric rate case 9 Capacity (Upper Bound) Integer−Forcing 8 Linear MMSE 1% Outage Rate (per User) 7 6 5 4 3 2 1 0 2 3 4 5 6 7 8 9 10 Number of Users Rayleigh fading, 1% outage.
Recommend
More recommend