2013《Near-Capacity Adaptive Analog Fountain Codes for Wireless Channels》笔记
分析AFC的error probability并设计使其最小化的权重集。仿真结果:和固定速率码相比,论文方案AFC在较大信噪比范围内逼近了高斯信道的信道容量。
目录
1. 问题和解决思路
现有不依赖获取CSI的基于无速率码的自适应系统,要么码率没有逼近信道容量,要么解码复杂度高(指数级复杂度,块尺寸大时编解码时间指数级上升)。
一种新的编解码方式,实现线性复杂度的AFC:调制信号以无速率方式映射到信息位。
为了避免large overheads时的error floor,进一步使用高速LDPC码对整个数据进行预编码。
如果encoder随机选择VNs,假设decoder在 t t t时刻正确接受的编码bit数为 N t d N_{t}^{\mathrm{d}} Ntd,instantaneous decoder overhead 定义为 γ = N t d / K \gamma=N_{t}^{\mathrm{d}} / K γ=Ntd/K,其中 N t d = 总 的 发 送 b i t 数 − 接 受 失 败 的 发 送 b i t 数 = N t e − ϵ N t e = ( 1 − ϵ ) N t e N_{t}^{\mathrm{d}}=总的发送bit数-接受失败的发送bit数=N_{t}^{\mathrm{e}}-\epsilon N_{t}^{\mathrm{e}}=(1-\epsilon) N_{t}^{\mathrm{e}} Ntd=总的发送bit数−接受失败的发送bit数=Nte−ϵNte=(1−ϵ)Nte。
2. 编码过程
VNs,Bit位 ⟶ F \stackrel{F}{\longrightarrow} ⟶FCNs,符号位
对于VNs,每个VN都是一个bit,一共有 K K K位, b = { b 1 , b 2 , … , b K } T \boldsymbol{b}=\left\{b_{1}, b_{2}, \ldots, b_{K}\right\}^{T} b={b1,b2,…,bK}T,每个VNs记为信息符号,且 b i ∈ { − 1 , 1 } b_{i} \in\{-1,1\} bi∈{−1,1}
对于CNs,每个CN都是AFC编码符号,一共生成 N N N个, c = { c 1 , c 2 , … , c N } T \boldsymbol{c}=\left\{c_{1}, c_{2}, \ldots, c_{N}\right\}^{T} c={c1,c2,…,cN}T
编码式: c i = ∑ j = 1 k g i j b j c_{i}=\sum_{j=1}^{k} g_{i j} b_{j} ci=∑j=1kgijbj,即 c N ∗ 1 = G N ∗ K b K ∗ 1 \mathbf{c}_{N*1}=\mathbf{G} _{N*K}\mathbf{b}_{K*1} cN∗1=GN∗KbK∗1
对于每个CN,首先根据度分布函数抽取出一个度值 d e g r e e < K degree<K degree<K,然后抽取 d e g r e e degree degree 个VNs用于生成该CN,这一过程相当于确定了G的第i行元素(对应生成 c i c_{i} ci)的 d e g r e e degree degree 个列位置为非零元素。其次,对于选中的 g i j g_{ij} gij,根据权重分布函数抽取出一个weight,然后根据weight冲权重系数集合 W s = { a 1 , a 2 , … , a f } , a i ∈ R > 0 , i = 1 , 2 , … , f \mathcal{W}_{s}=\left\{a_{1}, a_{2}, \ldots, a_{f}\right\}, \quad a_{i} \in \mathbb{R}^{>0}, i=1,2, \ldots, f Ws={a1,a2,…,af},ai∈R>0,i=1,2,…,f中抽取一个值作为 g i j g_{ij} gij的值。
ToDo1:
根据论文:Iqbal Hussain .etc, “Regularized Variable-Node LT Codes with Improved Erasure Floor Performance”, Information Theory and Applications Workshop, 2013. 有VNs的度关系理论分析。
入门四有个VNs的度分布趋近泊松分布的结论,解码器误差下限 e − α e^{-\alpha} e−α,同时在sec 3.2中记录了LT编码流程的改变
本文为了确保所有信息符号都是连接的,并且最大化平均可变节点度,类似于ToDo1,修改了AFC的编码器结构:为了生成d度的编码符号,在具有最小度的符号中随机选择d个信息符号。因此,每个变量节点都有度数dv或dv− 1,其中dv是大于或等于α的最小整数 ,
3. belief propagation decoder及CS-BP解码算法
3.1 error probability
ToDo2:
根据论文:Hao Cui .etc, “Seamless Rate Adaptation for Wireless Networking”, MSWiM’11, 2011.完成CS-BP解码过程整理。
接受序列 u = G b + n \mathbf{u}=\mathbf{G} \mathbf{b}+\mathbf{n} u=Gb+n, n = { n 1 , n 2 , … , n N } , n i ∈ R , i = 1 , 2 , … , N \mathbf{n}=\left\{n_{1}, n_{2}, \ldots, n_{N}\right\}, n_{i} \in \mathbb{R}, i=1,2, \ldots, N n={n1,n2,…,nN},ni∈R,i=1,2,…,N是零均值高斯白噪声向量,方差为 σ 2 I \sigma^{2} \mathbf{I} σ2I
ToDo2:接受器如何知道G
解码器的任务是在给定接受序列 u = { u 1 , u 2 , … , u N } T \boldsymbol{u}=\left\{u_{1}, u_{2}, \ldots, u_{N}\right\}^{T} u={u1,u2,…,uN}T时计算 p ( b ∣ u , G ) p(\mathbf{b} \mid \mathbf{u}, \mathbf{G}) p(b∣u,G)最大时的 b \mathbf{b} b,
由Bayes Rule: p ( b ∣ u , G ) = p ( u ∣ b , G ) p ( b ) p ( u ∣ G ) p(\mathbf{b} \mid \mathbf{u}, \mathbf{G})=\frac{p(\mathbf{u} \mid \mathbf{b}, \mathbf{G}) p(\mathbf{b})}{p(\mathbf{u} \mid \mathbf{G})} p(b∣u,G)=p(u∣G)p(u∣b,G)p(b),其中 p ( u ∣ G ) = ∑ b ∈ { − 1 , 1 } k p ( u ∣ b , G ) p ( b ) p(\mathbf{u} \mid \mathbf{G})=\sum_{\mathbf{b} \in\{-1,1\}^{k}} p(\mathbf{u} \mid \mathbf{b}, \mathbf{G}) p(\mathbf{b}) p(u∣G)=∑b∈{−1,1}kp(u∣b,G)p(b),对于任何一种取值 b , p ( b ) = 1 2 k \mathbf{b},p(\mathbf{b})=\frac{1}{2^{k}} b,p(b)=2k1
推导得到 p ( u ∣ b , G ) = ∏ i = 1 m ( 1 2 π σ 2 ) e − ( u i − ∑ j = 1 k b j g i j ) 2 2 σ 2 p(\mathbf{u} \mid \mathbf{b}, \mathbf{G})=\prod_{i=1}^{m}\left(\frac{1}{\sqrt{2 \pi \sigma^{2}}}\right) e^{-\frac{\left(u_{i}-\sum_{j=1}^{k} b_{j} g_{i j}\right)^{2}}{2 \sigma^{2}}} p(u∣b,G)=∏i=1m(2πσ21)e−2σ2(ui−∑j=1kbjgij)2,其中 M = 2 k M={2^k} M=2k,因此最大化 ln p ( u ∣ b , G ) = − M 2 ln ( 2 π σ 2 ) − 1 2 σ 2 ∑ i = 1 M ( u i − ∑ j = 1 k b j g i j ) 2 \ln p(\mathbf{u} \mid \mathbf{b}, \mathbf{G})=-\frac{M}{2} \ln \left(2 \pi \sigma^{2}\right)-\frac{1}{2 \sigma^{2}} \sum_{i=1}^{M}\left(u_{i}-\sum_{j=1}^{k} b_{j} g_{i j}\right)^{2} lnp(u∣b,G)=−2Mln(2πσ2)−2σ21∑i=1M(ui−∑j=1kbjgij)2,问题转化为最小化 b ^ = arg min b ∑ i = 1 m ( u i − ∑ j = 1 k b j g i j ) 2 = arg min b ∥ u − G b ∥ 2 2 \hat{\mathbf{b}}=\underset{\mathbf{b}}{\arg \min } \sum_{i=1}^{m}\left(u_{i}-\sum_{j=1}^{k} b_{j} g_{i j}\right)^{2}=\underset{\mathbf{b}}{\arg \min }\|\mathbf{u}-\mathbf{G} \mathbf{b}\|_{2}^{2} b^=bargmin∑i=1m(ui−∑j=1kbjgij)2=bargmin∥u−Gb∥22
先假设VNs b \mathbf{b} b已被传输,而 b l \mathbf{b}_l bl前 l l l 位不同于 b \mathbf{b} b。 定义一个bit错误的概率并推导得出: p l ∣ G = p ( ∥ u − G b ′ ) ∥ 2 < ∥ u − G b ) ∥ 2 ∣ G ) = p ( ∑ i = 1 m ( ∑ j = 1 l 2 b j g i j ) 2 < 2 ∑ i = 1 m n i ∑ j = 1 l 2 b j g i j ∣ G ) = Q ( 1 σ n ∑ i = 1 m ( ∑ j = 1 l b j g i j ) 2 ) \left.\left.p_{l \mid \mathbf{G}}=p\left(\| \mathbf{u}-\mathbf{G} \mathbf{b}^{\prime}\right)\left\|^{2}<\right\| \mathbf{u}-\mathbf{G} \mathbf{b}\right) \|^{2} \mid \mathbf{G}\right)=p\left(\sum_{i=1}^{m}\left(\sum_{j=1}^{l} 2 b_{j} g_{i j}\right)^{2}<2 \sum_{i=1}^{m} n_{i} \sum_{j=1}^{l} 2 b_{j} g_{i j} \mid \mathbf{G}\right)=Q\left(\frac{1}{\sigma_{n}} \sqrt{\sum_{i=1}^{m}\left(\sum_{j=1}^{l} b_{j} g_{i j}\right)^{2}}\right) pl∣G=p(∥u−Gb′)∥∥2<∥∥u−Gb)∥2∣G)=p(∑i=1m(∑j=1l2bjgij)2<2∑i=1mni∑j=1l2bjgij∣G)=Q(σn1∑i=1m(∑j=1lbjgij)2)
ToDo3:定义解码错误率为前l位解码错误的概率的依据是什么?
由 p l ∣ G = p ( ∥ u − G b ′ ) ∥ 2 < ∥ u − G b ) ∥ 2 ∣ G ) = p ( ∑ i = 1 m ( n i − ∑ j = 1 k g i j ( b j − b j ′ ) ) 2 < ∑ i = 1 m n i 2 ∣ G ) = p ( ∑ i = 1 m ( n i − ∑ j = 1 l 2 b j g i j ) 2 < ∑ i = 1 m n i 2 ∣ G ) = p ( ∑ i = 1 m ( ∑ j = 1 l 2 b j g i j ) 2 < 2 ∑ i = 1 m n i ∑ j = 1 l 2 b j g i j ∣ G ) \begin{aligned} p_{l \mid \mathbf{G}} &\left.\left.=p\left(\| \mathbf{u}-\mathbf{G} \mathbf{b}^{\prime}\right)\left\|^{2}<\right\| \mathbf{u}-\mathbf{G} \mathbf{b}\right) \|^{2} \mid \mathbf{G}\right) \\ &=p\left(\sum_{i=1}^{m}\left(n_{i}-\sum_{j=1}^{k} g_{i j}\left(b_{j}-b_{j}^{\prime}\right)\right)^{2}<\sum_{i=1}^{m} n_{i}^{2} \mid \mathbf{G}\right) \\ &=p\left(\sum_{i=1}^{m}\left(n_{i}-\sum_{j=1}^{l} 2 b_{j} g_{i j}\right)^{2}<\sum_{i=1}^{m} n_{i}^{2} \mid \mathbf{G}\right) \\ &=p\left(\sum_{i=1}^{m}\left(\sum_{j=1}^{l} 2 b_{j} g_{i j}\right)^{2}<2 \sum_{i=1}^{m} n_{i} \sum_{j=1}^{l} 2 b_{j} g_{i j} \mid \mathbf{G}\right) \end{aligned} pl∣G=p(∥u−Gb′)∥∥2<∥∥u−Gb)∥2∣G)=p⎝⎛i=1∑m(ni−j=1∑kgij(bj−bj′))2<i=1∑mni2∣G⎠⎞=p⎝⎛i=1∑m(ni−j=1∑l2bjgij)2<i=1∑mni2∣G⎠⎞=p⎝⎛i=1∑m(j=1∑l2bjgij)2<2i=1∑mnij=1∑l2bjgij∣G⎠⎞推导过程可知,即使取任意l位,变化的只有求和时对应的行索引,取前l位可能是为了方便公式描述。
3.2 权重集优化
在ToDo1引用的Seamless codes论文中, b i ∈ { 0 , 1 } b_{i} \in\{0,1\} bi∈{0,1},K=8,每个编码符号的度数固定为8, W s = { − 4 , − 2 , − 1 , 1 , 2 , 4 } \mathcal{W}_{s}=\{-4,-2,-1,1,2,4\} Ws={−4,−2,−1,1,2,4},其生成矩阵 G G G每一行有8个非零元素,其中2个等于-4,2个等于4,另外4个为-1,-2,1和2,这样G的行元素和为0。因此Seamless codes有 min b { ( ∑ j = 1 D b j g i j ) 2 } = 0 \min _{\mathbf{b}}\left\{\left(\sum_{j=1}^{D} b_{j} g_{i j}\right)^{2}\right\}=0 minb{(∑j=1Dbjgij)2}=0, p l ∣ G = 0.5 p_{l \mid \mathbf{G}}=0.5 pl∣G=0.5:无噪声情况下,与一些信息符号相关联的编码符号也可能无法恢复其相邻的信息符号(性能差)。
文中的D是编码节点可能存在的最大度,注意:在较高信噪比情况下,为获得更高的吞吐量,每个编码符号能用于恢复其所有相邻的信息位
针对这一问题提出了使error probability最小化的权重集选择方案:
∑
i
=
1
d
(
−
1
)
n
i
I
i
w
i
≠
0
(A)
\sum_{i=1}^{d}(-1)^{n_{i}} I_{i} w_{i} \neq 0 \tag{A}
i=1∑d(−1)niIiwi=0(A)其中
n
i
∈
{
0
,
1
}
n_{i} \in\{0,1\}
ni∈{0,1},
I
i
∈
{
0
,
1
}
I_{i} \in\{0,1\}
Ii∈{0,1},此时式
{
(
∑
j
=
1
D
I
j
a
j
)
2
}
\left\{\left(\sum_{j=1}^{D} I_{j} a_{j}\right)^{2}\right\}
{(∑j=1DIjaj)2}>0。当m增大时,
p
l
∣
G
p_{l \mid \mathbf{G}}
pl∣G减少。
ToDo4: 关于上式对方程唯一解的证明,见论文Mahyar Shirvanimoghaddam .etc, “Adaptive Analog Fountain for Wireless Channels”, WCNC, 2013.
见入门三
在该方案下,解码器任务可以看作求解一个二进制线性方程组,当(A)式满足时,线性方程组具有唯一解,每个编码符号都能帮助恢复其所有相邻的信息位。
4. AFC理论分析及其误差下界
对于度为
d
d
d 的 CN,将
g
i
j
g_{ij}
gij表示为权重形式:
c
i
=
∑
l
=
1
d
w
i
l
b
i
l
c_i=\sum_{l=1}^{d}w_{i l} b_{i l}
ci=∑l=1dwilbil,{
b
i
l
b_{i l}
bil}表示第
l
l
l 个包中的信息位:
p
(
c
i
=
u
)
=
p
(
∑
l
=
1
d
w
i
l
b
i
l
=
u
)
p\left(c_{i}=u\right)=p\left(\sum_{l=1}^{d} w_{i_{l}} b_{i_{l}}=u\right)
p(ci=u)=p(l=1∑dwilbil=u)由于
b
i
l
b_{i l}
bil等概率取值{±1},
w
i
l
w_{i l}
wil随机且均匀的取值于
W
s
\mathcal{W}_{s}
Ws,那么
s
i
,
l
≜
w
i
l
b
i
l
s_{i, l} \triangleq w_{i_{l}} b_{i_{l}}
si,l≜wilbil服从均匀分布:
p
(
s
i
,
l
=
v
)
=
1
2
f
,
v
∈
{
−
a
f
,
…
,
−
a
1
,
a
1
,
…
,
a
f
}
p\left(s_{i, l}=v\right)=\frac{1}{2 f}, v \in\left\{-a_{f}, \ldots,-a_{1}, a_{1}, \ldots, a_{f}\right\}
p(si,l=v)=2f1,v∈{−af,…,−a1,a1,…,af}。进一步得到
s
i
,
l
s_{i, l}
si,l均值0方差
σ
s
2
=
1
f
∑
i
=
1
f
(
a
i
2
)
\sigma_{s}^{2}=\frac{1}{f} \sum_{i=1}^{f}\left(a_{i}^{2}\right)
σs2=f1∑i=1f(ai2)。再进一步得到
c
i
c_i
ci的均值0方差
d
σ
s
2
d \sigma_{s}^{2}
dσs2。
如果
d
d
d较小,为使信号分布接近高斯分布,需要选取最佳权重集。通过式(B)保证输出接近高斯分布:
∣
p
δ
(
i
)
−
q
δ
(
i
)
∣
2
≤
ϵ
,
for
i
=
1
,
2
,
…
(B)
\left|p_{\delta}^{(i)}-q_{\delta}^{(i)}\right|^{2} \leq \epsilon, \quad \text { for } i=1,2, \ldots \tag{B}
∣∣∣pδ(i)−qδ(i)∣∣∣2≤ϵ, for i=1,2,…(B)其中
p
δ
(
i
)
=
p
(
(
i
−
1
)
δ
≤
∑
j
=
1
d
b
j
w
j
<
i
δ
)
p_{\delta}^{(i)}=p\left((i-1) \delta \leq \sum_{j=1}^{d} b_{j} w_{j}<i \delta\right)
pδ(i)=p((i−1)δ≤∑j=1dbjwj<iδ),
q
δ
(
i
)
=
Q
(
(
i
−
1
)
δ
)
−
Q
(
i
δ
)
q_{\delta}^{(i)}=Q((i-1) \delta)-Q(i \delta)
qδ(i)=Q((i−1)δ)−Q(iδ),
Q
(
x
)
=
1
2
π
∫
x
∞
e
−
x
2
2
d
x
Q(x)=\frac{1}{\sqrt{2 \pi}} \int_{x}^{\infty} e^{-\frac{x^{2}}{2}} d x
Q(x)=2π1∫x∞e−2x2dx。
对于D=8, δ = 0.2 \delta=0.2 δ=0.2, ϵ = 1 0 − 4 \epsilon=10^{-4} ϵ=10−4,(A)、(B)两式的数值解结果 { 1 2 , 1 3 , 1 5 , 1 7 , 1 11 , 1 13 , 1 17 , 1 19 } \left\{\frac{1}{2}, \frac{1}{3}, \frac{1}{5}, \frac{1}{7}, \frac{1}{11}, \frac{1}{13}, \frac{1}{17}, \frac{1}{19}\right\} {21,31,51,71,111,131,171,191}即最佳权重集(数值解不一定唯一)
inverse rate 应该是码率的相反面——间隔,间隔越肖,码率越大,BER越大。具有最大最小可变节点度和预编码器的AFC码的error floor很低。
随着信噪比的提高,误码率以曲线的形式稳定下降。对于 LDPC 码和 turbo 码,存在一个曲线下降速度不像之前那么快的点,换句话说,存在一个性能平坦的区域。这个区域称为error floor区域。
5. 仿真注意事项
信道:加性高斯白噪信道
调制:每两个连续符号正交调制
s
i
+
−
1
s
i
+
1
s_{i}+\sqrt{-1} s_{i+1}
si+−1si+1利用星座平面
预编码:0.95
L
D
P
C
\mathrm{LDPC}
LDPC code
ToDo5:A. Shokrollahi, “Raptor codes,” IEEE Trans. Inf. Theory, vol. 52, no. 6,pp. 2551–2567, June 2006中的预编码细节
LDPC码可参考网站,但码率对不上,需要更改。
CNs度数:8
权重集:
{
1
2
,
1
3
,
1
5
,
1
7
,
1
11
,
1
13
,
1
17
,
1
19
}
\left\{\frac{1}{2}, \frac{1}{3}, \frac{1}{5}, \frac{1}{7}, \frac{1}{11}, \frac{1}{13}, \frac{1}{17}, \frac{1}{19}\right\}
{21,31,51,71,111,131,171,191}