Dirty paper coding

Codage avec Information Adjacante
(DPC : Dirty paper coding)
et certaines de ses applications :
Tatouage (Watermarking)
MIMO broadcast channels
Gholam-Reza MOHAMMAD-KHANI
1
Gel’fand and Pinsker’s channel
 Channel definition
Encoder
 Channel capacity (Gel’fand and Pinsker 1980)
2
Gaussian case (DPC)
 Channel description (Dirty paper coding - Costa 1983)
 Coding



3
Gaussian case (DPC)
 Channel description (Dirty paper coding - Costa 1983)
 Coding



S

W
Encoder
U

X
4
DPC Application for Watermarking
 Channel description (Dirty paper coding - Costa 1983)
 Watermarking Application :
 X : Mark (Weak Signal) , S : Host (Strong Signal) , Z : Noise
 Capacity Achieving for Mark Signal
5
Problem statement in MIMO BC
Y H X Z
i
i
r1 antennas
i
Y  HX  Z
Tr E X . X
H
  Tr Σ  P
Y1
Decoder #1
H1
W1
WK
:
Encoder
X
:
:
HK
H
YK
Decoder #K
t antennas
p(y|x,H)
rK antennas
6
Performance Criteria in BC
 Usual Criteria (Information Theory Aspects) :
• Capacity Regions
• Throughput (Sum Capacity)
:
 New Criteria (Practical Aspects) :
• BER Regions
• Number of Satisfied Users (of Rates or of BER)
7
Some Relateds Works
-Sato :
Upperbound for Sum Capacity of BC
- Cover [72] :
Definition of Broadcast Channels
- Weingarten & Shamai [06] :
Capacity Region of Gaussian MIMO BC
:
- Caire & Shamai [03] + Viswanath & Tse [03] +
Vishwanath & Goldsmith [03] + Yu & Cioffi [04]:
Achievable Throughput of Gaussian MIMO BC
DPC scheme :
Achieve Sum Capacity and Capacity Region for MIMO BC
8
DPC and MIMO BC
Y  H X  H X  Z



S
Y H X Z
i
i
i
i
i
j i
i
r1 antennas
i
i
i
j
Y  HX  Z
Tr E X . X
H
  Tr Σ  P
W1
WK
Y1
Decoder #1
H1
:
:
Encoder
:
X
HK
H
YK
Decoder #K
t antennas
p(y|x,H)
rK antennas
9
One Simple Case : Gaussian SISO BC
 Channel model and capacity region
Superposition coding:
10
DPC vs TDMA
Theorique Comparison :
- Jindal & Goldsmith [05] :
-
Best performance of DPC on Sum Capacity
Weingarten & Shamai [06] :
Best Performance of DPC on Capacity Region
Practical Comparison :
- Belfiore [06]
- Mohammad-Khani & Lasaulce [06]
Sensibility to Channel Estimation
BER Comparison
11
Structure of DPC schemes for
Gaussian MIMO BCs
 Encoder structure
W1
WK
:
Outer
Encoder
~
X
Inner
Encoder
X
H
 Outer encoders
Tomlinson Harashima precoder (THP)
Scalar Costa’s scheme (SCS)
Trellis coded quantization (TCQ) + turbo
Nested lattices
 Outer encoders : Linear
Pre-equalizers: MF, ZF, MMSE
ZF-DPC
MMSE-DPC
12
Structure of DPC schemes for
Gaussian MIMO BCs
 Encoder structure
13
Comparison of outer coders
10
10
BER
10
10
10
10
10
0
THP
SCS
NL, A2
Hexagonal
TCQ
-1
-2
-3
-4
-5
-6
0
5
10
15
SNR
14
Inner coding
 Received signal structure
y  H . x  z ; x  B.u , B  B1  BK 
y
HB.u  z
W
K
;
 
E ui  P


i 1
2
pi
xi
K

 x   Bi ui   xi
K
i 1
i 1
; yi  i ,i ui  i , j u j  i , j u j  zi , i  1,, K
j i
j i
 Possible approaches
Linear precoding with successive coding using DPC as outer coding (the outer
coder treats the interference)
2


i ,i pi


Ri  log1 
2

 1   i , j p j 
j i


Linear pre-equalizer with independent outer coder (the outer coder does not treat
the interference)
2


i ,i pi


Ri  log1 
2

 1   i , j p j 
j i


 Comments
Inner coding  space-time coding or beamforming
Inner + outer coding  implements a good multiple access scheme
15
MMSE-DPC
 Main features
Optimum in the sense of the sum-capacity
Two ways of implementing it:
Yu & Cioffi 04 (GDFE precoder)
Viswanath & Tse 03 (duality BC – MAC)
Precoding filters depend on power allocation

C sum  sup log det I  H † PH
PA

 P opt  diag  p1,, pK 

 Bk   I 


1
 †
† 
 p j hj hj  hk
j k 1

K
Numerical technique
,
k  1,, K
Coding order: no effect on sum capacity (not true for the capacity region)
Power allocation: we used the policy proposed by Boche & Jorswieck 04
(corresponding numerical algorithms converge)
16
ZF-DPC
 Main features
Introduced by Caire & Shamai 03 (for single-antenna receivers)
H  G.Q  B  Q †
yi  gi ,i ui   gi , j u j  zi
, i  1,, m
j i
d i  gi ,i
2
; m  rank ( H )
 zfdp m
  logd i 
R

i 1
Waterfilling :  m
   1 d   P
i 

i 1
We generalized this scheme to multi-antenna receivers
Simpler than MMSE-DPC but suboptimum in terms of sum-capacity
Quasi-optimal in terms of sum-capacity, when H is full row rank
Number of served users limited to rank of H
Sensitive to coding order
17
Influence of the coding order: example
Influence of coding order on Sum Capacity
Influence of coding order on sum rate
12
3.5
5 0 0
H  3 2 0 


1 1 2
10
3
Sum Capacity (bits)
Sum Rate (bits)
2.5
2
TDMA
Sato Upper Bound
MIMO
order (1,2,3)
order (1,3,2)
order (2,1,3)
order (2,3,1)
order (3,1,2)
ZF-DPC : order (3,2,1)
1.5
1
0.5
0
0
0.2
0.4
0.6
SNR
0.8
8
TDMA
MIMO
Sato Bound
Achieved by MMSE-DPC
ZF-DPC : best order, (1,3,2)
ZF-DPC : worst order , (3,2,1)
6
4
2
1
0
-10
-5
0
5
SNR(dB)
10
15
20
 Conclusions
Coding order has no effect on sum rate for MMSE-DPC
Sum rate of ZF-DPC strongly depends on coding order
Coding order can be optimized by a greedy algorithm [Tu & Blum03]
If the coding order is not well chosen: TDMA can perform better than DPC
(especially for low SNRs)
18
Conventional pre-equalizers
 Definitions


 H I  H † . HH †
 ZF : B   I

 H ( )
 MMSE :
 MF :


1
B  I  H † .P.H
BH
†
, si t  r  m
yi  ui  zi
, si r  m
m  rank ( H )

1
, i  1,, m
Water-Filling
H†
Numerical Method to compute Sum Rate
 Comments
The outer coder does not help to the interference cancellation task (separate
coding)
No successive coding = no coding order
Most simple schemes when the CSI is known
19
Comparison of inner coders (1/2)
Sum Capacity Comparison of BC-MIMO
Sum Capacity Comparison of BC-MIMO
35
5
4.5
ZF-DPC
Sato Upper Bound
MMSE-DPC
Sato : DP-Opt
ZF-DPC
MMSE
MF
ZF
TDMA
30
25
3.5
Capacity (bits)
Sum Capacity (bits)
4
  3  2 0
H    1 1 2


2 1
 0
Sum Rate Comparison
 3 1
H   1 2


  2 1
3
2.5
2
1.5
20
15
10
1
5
0.5
0
-25
-20
-15
-10
-5
SNR(dB)
0
5
10
0
-5
0
5
10
15
SNR(dB)
20
25
30
20
Comparison of inner coders (2/2)
Region of achieved Rate Comparison
3 2 
H 

1 1
K rt 2
1.8
Region of Capacity
TDMA
1.6
ZF-DP : order 1,2
ZF-DP : order 2,1
K rt 2
 1 0.4
H 

0.4 1 
1.4
ZF
MF
P=10dB
MMSE-DP : 1,2
1.2
P=7dB
MMSE-DP : 2,1
MMSE
data10
R2
1
2.5
0.8
Region of Capacity
0.6
TDMA
ZF-DPC
2
0.4
ZF
0.2
MMSE
MF
0
MMSE-DPC : 1,2
1.5
MMSE-DPC : 2,1
0
0.5
1
1.5
2
2.5
4
Sum Capacity
R2
3
3.5
R1
Region of Capacity
TDMA
3.5
ZF-DP : 1,2
ZF-DP : 2,1
1
ZF
3
MF
MMSE-DP : 1,2
P=20dB
MMSE-DP : 2,1
2.5
MMSE
R2
Sum Capacity
0.5
2
1.5
0
1
0
0.5
1
1.5
R1
2
2.5
0.5
0
0
1
2
3
R1
4
5
6
21
Overall performance (1/2)
Degraded channel (No need to inner coder)
Y1  X  Z1  X 1  X 2  Z1

Y2  X  Z 2  X 1  X 2  Z 2
Application de TCQ pour un BC scalaire dégradé 2 utilisateurs
 
 
 
E X 2  P , E Z12  N1 , E Z 22  N 2
P1  P ; P 2  1   .P ; 0    1
10
0
P=1
10
0
w2
P=20
BER
10
10
10
10
10
z2
-1
TCQ
u2
-2
1
N1=0dB
N2=N1+5dB
-3
-4
-5
-6
0
P=20
P=1
P=20
P=1
mean :
mean :
user1 :
user2 :
P=20
P=1
P=20, SCS
P=20, SCS
0.2
0.6
0.8
ŵ2
x
TCQ
u1
x1
1  P1 P1  N1 
0.4
Viterbi
Decoder
z1
w1
user1 :
user1 :
user2 :
user2 :
y2
x2
y1
Viterbi
Decoder
ŵ1
1
beta
22
Overall performance (2/2)
K  r  t  2, P  10dB
BER
10
10
P=10dB
0
10
-1
10
Pe2
10
 1 0. 4 
H 

 0. 4 1 
-2
10
0
-1
-2
ZF-DPC : user 1
ZF-DPC : user 2
ZF : user 1
ZF : user 2
10
MMSE : user 1
-3
10
MMSE : user 2
MF
MMSE-DP
MMSE
ZF
ZF-DP
-3
MF : user 1
MF : user 2
MMSE-DP : user 1
MMSE-DP : user 2
THP: user1
THP :user2
10
10
-4
0
2
4
6
p1
8
10
-4
10
-4
10
-3
-2
10
Pe1
10
-1
10
0
23