Capacity of the Gaussian Two-Way Relay Channel to Within 1/2 Bit

System model

在这里插入图片描述

如上图所示,本文考虑 Gaussian TWRN.

[Signal Flow]

假设 Node i = { 1 , 2 } i=\{1,2\} i={1,2} 的 rate 是 R i R_i Ri (bits/channel use), 那么使用了 n n n 次信道之后,他总共可以传 n R i nR_i nRi 个 bits. 那他的codebook的大小就可以为 2 n R i 2^{nR_i} 2nRi. 我们把 Node i i i 使用 n n n 次信道想传输的 message 记作
W i ∈ { 1 , 2 , 3 , . . . , 2 n R i } W_i \in \left\{1,2,3,..., 2^{nR_i}\right\} Wi{1,2,3,...,2nRi}

且我们假设两个人的信息 W 1 W_1 W1 W 2 W_2 W2 是独立同均匀分布的

在每次使用信道时,node i 实际传输的信息记作
X i = [ X i ( 1 ) , X i ( 2 ) , . . . , X i ( n ) ] ⊤ \bm{X_i}=\left[X^{(1)}_i,X^{(2)}_i,...,X^{(n)}_i\right]^\top Xi=[Xi(1),Xi(2),...,Xi(n)]

每个node i i i 的信号在 relay 处叠加后,我们有
Y R = [ Y R ( 1 ) , Y R ( 2 ) , . . . , Y R ( n ) ] ⊤ \bm{Y_R}=\left[Y^{(1)}_R,Y^{(2)}_R,...,Y^{(n)}_R\right]^\top YR=[YR(1),YR(2),...,YR(n)]

Relay 从接收到的 Y R Y_R YR 中解出信息 X R X_R XR 并把它广播出去
X R = [ X R ( 1 ) , X R ( 2 ) , . . . , X R ( n ) ] ⊤ \bm{X_R}=\left[X^{(1)}_R,X^{(2)}_R,...,X^{(n)}_R\right]^\top XR=[XR(1),XR(2),...,XR(n)]

下行, X R \bm{X_R} XR 经过信道后,在各个node i i i 接收的信号我们记作
Y i = [ Y i ( 1 ) , Y i ( 2 ) , . . . , Y i ( n ) ] ⊤ \bm{Y_i}=\left[Y^{(1)}_i,Y^{(2)}_i,...,Y^{(n)}_i\right]^\top Yi=[Yi(1),Yi(2),...,Yi(n)]

经过 n 次传输,最终两个节点要把对方的信息恢复出来。记恢复的信息为
W ^ i ∈ { 1 , 2 , 3 , . . . , 2 n R i } \hat{W}_i \in \left\{1,2,3,..., 2^{nR_i}\right\} W^i{1,2,3,...,2nRi}

[Channels]

上行信道是同时传输

  1. Y R ( t ) = X 1 ( t ) + X 2 ( t ) + Z R ( t ) Y^{(t)}_R=X^{(t)}_1+X^{(t)}_2+Z^{(t)}_R YR(t)=X1(t)+X2(t)+ZR(t), 其中 Z R ( t ) ∼ C N ( 0 , σ R 2 ) Z^{(t)}_R\sim\mathcal{CN}(0,\sigma^2_R) ZR(t)CN(0,σR2).
  2. X i ( t ) = f i ( t ) ( W i , Y i ( t − 1 ) ) X^{(t)}_i=f^{(t)}_i(W_i,\bm{Y}^{(t-1)}_i) Xi(t)=fi(t)(Wi,Yi(t1)) 即每一时刻传输的信号 X i ( t ) X^{(t)}_i Xi(t) 不仅是整个待传信息 W i W_i Wi 的函数, 而且还是之前所有下行接收信号的函数 ( Y i ( t − 1 ) \bm{Y}^{(t-1)}_i Yi(t1) 是vector)。
  3. 上行每个人都有功率限制 P i P_i Pi: 1 n ∑ t = 1 n ( X i ( t ) ) 2 ≤ P i \frac{1}{n}\sum_{t=1}^{n}\left(X^{(t)}_i \right)^2\leq P_i n1t=1n(Xi(t))2Pi.

下行信道是简单的广播信道

  1. Y i ( t ) = X R ( t ) + Z i ( t ) Y^{(t)}_i=X^{(t)}_R+Z^{(t)}_i Yi(t)=XR(t)+Zi(t), 其中 Z i ( t ) ∼ C N ( 0 , σ i 2 ) Z^{(t)}_i\sim\mathcal{CN}(0,\sigma^2_i) Zi(t)CN(0,σi2).
  2. X R ( t ) = f R ( t ) ( Y R ( t − 1 ) ) X^{(t)}_R=f^{(t)}_R\left(\bm{Y}^{(t-1)}_R\right) XR(t)=fR(t)(YR(t1)), 即relay 没有自己想传输的信息, X R ( t ) X^{(t)}_R XR(t) 由它过去收到的所有信息决定。
  3. Relay的功率限制: 1 n ∑ t = 1 n ( X R ( t ) ) 2 ≤ P R \frac{1}{n}\sum_{t=1}^{n}\left(X^{(t)}_R \right)^2\leq P_R n1t=1n(XR(t))2PR.

[Decoding]

每个node用自己接收到的信息和自己的side information来解对方发送的信息,即
W ^ 2 = g 1 ( W 1 , Y 1 ) \hat{W}_2=g_1(W_1,\bm{Y}_1) W^2=g1(W1,Y1)

W ^ 1 = g 2 ( W 2 , Y 2 ) \hat{W}_1=g_2(W_2,\bm{Y}_2) W^1=g2(W2,Y2)

Average probability of error:
P e = Pr { W ^ 1 ≠ W 1  or  W ^ 2 ≠ W 2 } P_e=\text{Pr}\{\hat{W}_1\neq {W}_1~\text{or}~\hat{W}_2\neq {W}_2\} Pe=Pr{W^1=W1 or W^2=W2}

A rate pair ( R 1 , R 2 ) (R_1,R_2) (R1,R2) is achievable if 存在一组编码解码函数 f f f and g g g 使得 n → ∞ n\to\infty n P e → 0 P_e\to 0 Pe0.

Capacity region 是所有可达的 rate pair 的闭集。

Cut-set Bound

我们关心的一个核心问题就是,TWRN的 capacity region 是怎样的。这个问题是 open problem。早期的研究给出一个简单的 cut-set upper bound.


Cut – 我们考虑一个有向图,其中有很多的 vertices 和 directed edges,而且每一条边都有一个数值,这个数值决定这条边能承载的流量。现在我们考虑从一个node A 流水到 node B,那么 A 的闸门一旦放开,水流就从所有有向边往 B 流。我们的问题是,我们慢慢增加A的水流量,这个图所能允许的最大水流量是多少?

直观上就能感觉到,这个水流量最大是受限于一些bottleneck边的。对于任意一条路径,只要某一条边把你的流量卡住,那不管其他边允许的水流量有多大都是于事无补的。由于这里我们考虑的不是一条路径,而是从所有路径一起流水,所以我们需要考虑的不是某一条边作为bottleneck,而是整个图的某一个cut作为一个bottleneck。而这个bottleneck cut也就是这张图的minimum cut。为了找这个cut,我们需要遍历图的所有cut,而每个cut都把图分成了两个set。


Capacity – 我们考虑这样一个场景,节点 A 把信息 X 传给 B。那么节点 B 对 X 肯定是有一些不确定性的,不然也就没有必要传输了, 而这种不确定性就是我们需要传输的东西。现在我们把 X 的不确定性用一个分布表示。shannon最早只考虑离散节点因此这个分布就是一个PMF p ( X = x ) p(X=x) p(X=x),那么我们知道它的不确定性就是这个分布的熵 entropy H ( X ) = H ( p ( x ) ) H(X)=H(p(x)) H(X)=H(p(x)). 在没有传输之前,B 对 X 的不确定性是 H ( X ) H(X) H(X), 而传输之后 B 收到了信息 Y,那它对 X 的不确定性变成了 H ( X ∣ Y ) H(X|Y) H(XY), 因此,这一次传输我们总共传递的信息也就是
H ( X ) − H ( X ∣ Y ) H(X)-H(X|Y) H(X)H(XY)

显然,如果我们画一个Venn图的话, H ( X ) − H ( X ∣ Y ) H(X)-H(X|Y) H(X)H(XY) exactly就是 X 和 Y 之间的互信息。所以说,每次传输的最大信息量,也就是channel capacity, 定义为
C = max ⁡ p ( x ) I ( X ; Y ) = max ⁡ p ( x ) [ H ( X ) − H ( X ∣ Y ) ] C=\max_{p(x)} I(X;Y)=\max_{p(x)} \left[H(X)-H(X|Y)\right] C=p(x)maxI(X;Y)=p(x)max[H(X)H(XY)]

一般使得互信息最大的分布 p ( x ) p(x) p(x) 也是最像channel noise 的分布。比如,高斯信道的最优 p ( x ) p(x) p(x) 也就是Gaussian distribution.


Capacity of Gaussian channel – 比如我们来看一下高斯信道的capacity
Y = X + Z Y=X+Z Y=X+Z

p ( x ) ∼ N ( 0 , P ) p(x)\sim\mathcal{N}(0,P) p(x)N(0,P) ,那么capacity可以写为
C = I ( X ; Y ) = H ( X ) − H ( X ∣ Y ) = H ( Y ) − H ( Y ∣ X ) C= I(X;Y)=H(X)-H(X|Y)=H(Y)-H(Y|X) C=I(X;Y)=H(X)H(XY)=H(Y)H(YX)

= 1 2 log ⁡ 2 ( 2 π e ( P + σ 2 ) ) − 1 2 log ⁡ 2 ( 2 π e σ 2 ) = 1 2 log ⁡ 2 ( 1 + P σ 2 ) =\frac{1}{2}\log_2 (2\pi e (P+\sigma^2))-\frac{1}{2}\log_2 (2\pi e \sigma^2) =\frac{1}{2}\log_2 \left(1+\frac{P}{\sigma^2}\right) =21log2(2πe(P+σ2))21log2(2πeσ2)=21log2(1+σ2P)

这也就是我们常见的形式了。另外上式成立因为 Gaussian 的 differential entropy 是 1 2 log ⁡ 2 [ ( 2 π e ) n det Σ ] \frac{1}{2}\log_2 [(2\pi e)^n \text{det} \Sigma] 21log2[(2πe)ndetΣ]。那么考虑一维的情况就是 1 2 log ⁡ 2 ( 2 π e σ 2 ) \frac{1}{2}\log_2 (2\pi e \sigma^2) 21log2(2πeσ2).


Cut-set bound – 好,现在我们可以来看看 cut-set bound 到底是干啥的。根据之前对cut的定义,我们需要找到TWRN这张图中的minimum cut。因此,我们遍历图中所有cut,而这张图的capacity也就是所有cut所允许的最小流量。

我们先考虑从node 1 传给node 2. 由于图中只有三个节点,因此我们可以进行两次cut,如上图中虚线所示。

  1. 第一个cut把三个节点分成了两个set: {Node 1}, {Relay, Node 2}. 而这个cut所允许的流量定义为这两个set之间的互信息,也就是 {Node 1} 到 {Relay, Node 2} 的capacity:
    I ( X 1 ; Y R , Y 2 ∣ X 2 , X R ) I(X_1;Y_R,Y_2|X_2,X_R) I(X1;YR,Y2X2,XR)

  2. 第二个cut也把三个节点分成了两个set: {Node 1, Relay}, {Node 2}. 而这个cut所允许的流量
    I ( X 1 , X R ; Y 2 ∣ X 2 ) I(X_1,X_R;Y_2|X_2) I(X1,XR;Y2X2)

  3. 因此,cut-set bound 给出这张图的capacity是这两个cut的最小值
    R 1 ≤ { I ( X 1 ; Y R , Y 2 ∣ X 2 , X R ) , I ( X 1 , X R ; Y 2 ∣ X 2 ) } R_1\leq \left\{I(X_1;Y_R,Y_2|X_2,X_R) ,I(X_1,X_R;Y_2|X_2) \right\} R1{I(X1;YR,Y2X2,XR),I(X1,XR;Y2X2)}

Remark 1 – cut-set bound 只是一个 upper bound。即原理上 capacity 不能再比 minimum cut 的capacity大,但是能不能一定 achieve minimum cut 的capacity 并不能保证。

Remark 2 – node 1使用了 n n n 次信道把 W 1 W_1 W1 传给 node 2,它的目的是在无误码的情况下找到最大的可达rate pair (也就是 codebook size 最大)。但是这里我们只分析一次使用信道各个信号之间的互信息。相当于我们关心的是平均每次使用信道传输的bits。如果把上式两边同乘n那就是n次使用信道总共传输的bits。

同理,如果我们看从 node 2 传给 node 1 的水流,两个cut也能给出一个关于 R 2 R_2 R2 的cut-set bound。最终把它们放在一起有
R 1 ≤ { I ( X 1 ; Y R , Y 2 ∣ X 2 , X R ) , I ( X 1 , X R ; Y 2 ∣ X 2 ) } ( 1 a ) R_1\leq \left\{I(X_1;Y_R,Y_2|X_2,X_R) ,I(X_1,X_R;Y_2|X_2) \right\} (1a) R1{I(X1;YR,Y2X2,XR),I(X1,XR;Y2X2)}(1a)

R 2 ≤ { I ( X 2 ; Y R , Y 1 ∣ X 1 , X R ) , I ( X 2 , X R ; Y 1 ∣ X 1 ) } ( 1 b ) R_2\leq \left\{I(X_2;Y_R,Y_1|X_1,X_R) ,I(X_2,X_R;Y_1|X_1) \right\} (1b) R2{I(X2;YR,Y1X1,XR),I(X2,XR;Y1X1)}(1b)

这两个公式里面的每一项互信息在 p ( x 1 ) ∼ N ( 0 , P 1 ) p(x_1)\sim\mathcal{N}(0,P_1) p(x1)N(0,P1), p ( x 2 ) ∼ N ( 0 , P 2 ) p(x_2)\sim\mathcal{N}(0,P_2) p(x2)N(0,P2), p ( x R ) ∼ N ( 0 , P R ) p(x_R)\sim\mathcal{N}(0,P_R) p(xR)N(0,PR), 且
p ( x 1 , x 2 , x R ) = p ( x 1 ) p ( x 2 ) p ( x R ) p(x_1,x_2,x_R)=p(x_1)p(x_2)p(x_R) p(x1,x2,xR)=p(x1)p(x2)p(xR)

时取到最大。注意, x R x_R xR 是和 x 1 x_1 x1, x 2 x_2 x2 独立的,也就是说从 Y R Y_R YR X R X_R XR 的操作使得他们独立(这里不是很懂,因为一旦改变 x 1 x_1 x1, x 2 x_2 x2 x R x_R xR 不也是会跟着改么?).

Eq. (1a) (1b) 可以进一步被reduce to
R 1 ≤ min ⁡ { 1 2 log ⁡ 2 ( 1 + P 1 σ R 2 ) , 1 2 log ⁡ 2 ( 1 + P R σ R 2 ) } ( 2 a ) R_1\leq \min\left\{\frac{1}{2} \log_2\left(1+\frac{P_1}{\sigma^2_R}\right),\frac{1}{2} \log_2\left(1+\frac{P_R}{\sigma^2_R}\right) \right\} (2a) R1min{21log2(1+σR2P1),21log2(1+σR2PR)}(2a)

R 2 ≤ min ⁡ { 1 2 log ⁡ 2 ( 1 + P 2 σ R 2 ) , 1 2 log ⁡ 2 ( 1 + P R σ R 2 ) } ( 2 b ) R_2\leq \min\left\{\frac{1}{2} \log_2\left(1+\frac{P_2}{\sigma^2_R}\right), \frac{1}{2} \log_2\left(1+\frac{P_R}{\sigma^2_R}\right) \right\} (2b) R2min{21log2(1+σR2P2),21log2(1+σR2PR)}(2b)

Achievable rate region

好,现在终于进入了本文的重点,即,使用 lattice code achieve 的rate region. 注:要读懂以下内容得先了解 lattice code,推荐看一下本博客 math 专栏里面的lattice 基础 那一节。

本文有两个 users 和一个relay,因此选用了三个nested lattices Λ 1 ⊆ Λ 2 ⊆ Λ C \Lambda_1\subseteq\Lambda_2\subseteq\Lambda_C Λ1Λ2ΛC. 假设第一个用户的功率大一点 P 1 ≥ P 2 P_1\geq P_2 P1P2, 因此 Λ 1 \Lambda_1 Λ1 的 Voronoi region 要比 Λ 2 \Lambda_2 Λ2 大,也就能容纳更多的码字, rate 也就更大. 最终在reciever,我们也会把所有的码字都 mod 到 V ( Λ 1 ) \mathcal{V}(\Lambda_1) V(Λ1) 中处理。

我们拿第一个用户举例,把它 Voronoi region 中的所有码字叫做 C 1 \mathcal{C}_1 C1, 那么

  1. 它传输的信息与 C 1 \mathcal{C}_1 C1 中的码字 W 1 \bm{W}_1 W1 是 one-to-one mapping。
  2. 在传递 W 1 \bm{W}_1 W1 之前,用户先加扰,最后传输的码字
    X 1 = ( W 1 + U 1 )  mod  Λ 1 \bm{X}_1=(\bm{W}_1+\bm{U}_1)~\text{mod}~\Lambda_1 X1=(W1+U1) mod Λ1
    其中 U 1 \bm{U}_1 U1 是在 V ( Λ 1 ) \mathcal{V}(\Lambda_1) V(Λ1) 内均匀分布的,因此 X 1 \bm{X}_1 X1 也在 V ( Λ 1 ) \mathcal{V}(\Lambda_1) V(Λ1) 内均匀分布,且与 W 1 \bm{W}_1 W1 独立。

紧接着在接收端,我们收到的是
Y R = X 1 + X 2 + Z R \bm{Y}_R=\bm{X}_1+\bm{X}_2+\bm{Z}_R YR=X1+X2+ZR

Given Y R \bm{Y}_R YR, relay 计算
Y ~ R = ( α Y R − U 1 − U 2 )  mod  Λ 1 \tilde{\bm{Y}}_R=\left(\alpha\bm{Y}_R-\bm{U}_1-\bm{U}_2 \right)~\text{mod}~\Lambda_1 Y~R=(αYRU1U2) mod Λ1

mod Λ 1 \Lambda_1 Λ1 的原因是因为 Λ 1 \Lambda_1 Λ1 的 Voronoi region 最大,我们所有的接收码字都在 V ( Λ 1 ) \mathcal{V}(\Lambda_1) V(Λ1) 中处理。在 compute-and-forward 那篇paper中假设所有人的发送功率一致,因此固定了coarse lattice相当于所有人收发全在同样的 Voronoi region种处理。而这里就相当于把功率最大的第一个用户的lattice当做coarse lattice。我们可以进一步推导 Y ~ R \tilde{\bm{Y}}_R Y~R by

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值