模拟喷泉码(入门二):Seamless Rate Adaptation for Wireless Networking

2011《Seamless Rate Adaptation for Wireless Networking》论文学习笔记

设计了能在动态信道条件下实现平滑的速率调整的Seamless Rate Adaptation:重点在于增量符号生成过程中的比特能量分配

1. Rate Adaptation

  速率自适应能够利用动态带宽提高无线网络系统性能。目前的802.11标准中,物理层强制规定了一组速率候选集,并通过组合不同的调制方式和信道编码方案来实现速率变换。
  执行速率选择的位置将速率自适应分为发送端速率自适应接收端速率自适应

常见方案的缺陷:

  1. 现有的速率自适应方案多采用发送端速率自适应(接收机观察信道状况并向发送方发送反馈以进行速率变换),即AMC(adaptive modulation and coding)。时变无线网络中,即时信道估计很难确保准确度。
  2. 物理层提供的速率集是离散的,阶梯速率调整无法充分利用CSI信息

信道估计的常见度量: 信噪比(SNR)、帧丢失率( frame loss rate)、无干扰误码率( interference-free bit error rate)和符号级色散( symbol-level dispersions)。

针对一些常见HARQ方案的优劣势分析:
  大多数方案通过HARQ (Hybrid Automatic Repeat Request), 一种信道编码形式的发送方速率自适应实现,并通过引入速率兼容的编码方式实现incremental redundancy:

  1. punctured Turbo code: 2002-On the performance of hybrid fec/arq systems using rate compatible punctured turbo (rcpt) codes.
    屏蔽Turbo码的问题是,低速率的mother code会遇到吞吐量损失at high end
  2. Raptor code: 2006-Punctured vs rateless codes for hybrid arq.
    Raptor码,在高斯信道的内部LT码之前,需要一个0.9的外部LDPC码。外部编码速率和更大的开销使其在比屏蔽Turbo码更低的传输速率下饱和。
  3. Raptor code:2006-Adaptive demodulation using rateless erasure codes.
    源比特由Raptor码编码,然后每四个无速率比特形成一个符号,并用格雷码映射到16QAM星座。在接收到符号时,接收器通过调整用于解调的判决区域来收集可靠比特。这些无速率比特随后被累积用于解码。所以饱和速率为4bit/Hz,嘈杂信道中,不可靠的比特也包含一定量的信息。简单丢弃会显著降低信道吞吐量。
  4. 2010-Automatic rate adaptation.
    在现有编码和调制之后添加了最小距离变换器(MDT,minimum distance transformer),以对调制符号执行线性组合。需要采用Universal lattice decoding: principle and recent advances中的解码方式,复杂度为 O ( N 3 ) O\left(N^{3}\right) O(N3)

论文提出:

  1. 接收端速率自适应→以便在信道度量的典型范围内平滑调整速率

  生成的符号直接放置在星座的每个维度上以调制信号,从而使符号位于与信道噪声相同的域中。文中23 × 23 QAM,密集星座包含大量信息,无需做出调制选择的决定

  1. 系统性能应该对信道估计误差不敏感
  2. 发送方连续生成并发送数据块的编码符号。接收器收集符号,直到数据块可以正确解码,并为下一个块的传输返回ACK。

  在正交频分复用(OFDM)物理层上设计了seamless rate adaptation system

2. 速率兼容调制

信道编码为什么是N>K

R = N K = N K 0 + i ⋅ K c i = 0 , 1 , … R=\frac{N}{K}=\frac{N}{K_{0}+i \cdot K_{c}} i=0,1, \ldots R=KN=K0+iKcNi=0,1,N为bit块的bit位数,K为调制的符号个数,故码率为R bit/symbol。由信道编码定理可知:对于任意码率 R < C R<C RC,存在一个 ( [ 2 n R ] , n ) \left(\left[2^{n R}\right], n\right) ([2nR],n) 码序列,使得最大误差概率为 λ ( n ) → 0 , n → ∞ \lambda^{(n)} \rightarrow 0, \quad \mathrm{n} \rightarrow \infty λ(n)0,n

通过步长 K c K_{c} Kc改变码率,当 i = 0 i=0 i=0时,R达到最大,当 i i i 增大时,R减小。

  在传统调制中,相同的噪声下,误码率(bit error rate,BER)随着相邻星座点之间的最小欧氏距离的增加而指数下降。传输功率固定时,通过切换调制速率,改变相邻星座点之间的最小欧氏距离,进而抵抗信道噪声。平均比特能量 E b ≜ E s / N E_{b} \triangleq E_{s} / N EbEs/N正比于最小欧式距离,其中 E s 、 N E_{s} 、 N EsN分别为星座的平均符号能量、N为每个符号中包含的bit数。所以可以通过改变传输符号的数量K来调整平均符号能量。但问题是,传统调制中比特能量在高速调制的符号中分配不均。 即使在相同的平均比特能量下,高速率调制的误码率也高于低速率调制。所以智能切换调制方案。
在这里插入图片描述

[0000 0000,...|...,1001 0000,1011 0000,1010 0000,1000 0000]
[0000 0001,...|...,                             ,1000 0001]
[0000 0011,...|...,                             ,1000 0011]
[0000 0010,...|...,                             ,1000 0010]
[0000 0110,...|...,                             ,1000 0110]
[0000 0100,...|...,                             ,1000 0100]
[0000 0101,...|...,                             ,1000 0101]
[0000 0111,...|...,                             ,1000 0111]
--------------|----------------------------------------------(实轴)
[0000 1111,...|...,                             ,1000 1111]
[0000 1110,...|...,                             ,1000 1110]
[0000 1100,...|...,                             ,1000 1100]
[0000 1101,...|...,                             ,1000 1101]
[0000 1001,...|...,                             ,1000 1001]
[0000 1011,...|...,                             ,1000 1011]
[0000 1010,...|...,                             ,1000 1010]
[0000 1000,...|...,                             ,1000 1000]
              |
             (虚轴)
                          gray码的256QAM调制

  针对上述问题,采用新的比特能量分配方式(新的bit到symbol的映射方式):
在这里插入图片描述

3. 映射矩阵G及调制解调

将符号熵的阈值设置为4bit/dimension,相当于256QAM调制的速率。

  权重集 { ± 1 , ± 2 , ± 4 , ± 4 } \{\pm 1, \pm 2, \pm 4, \pm 4\} {±1,±2,±4,±4}

3.1 映射矩阵 u M × 1 = G M × N ⋅ b N × 1 \mathbf{u}_{M×1}=\mathbf{G} _{M×N}\cdot \mathbf{b}_{N×1} uM×1=GM×NbN×1满足三个约束条件

(1)G的每行元素包含相同数量的非零元素——正则行

  每列中有L个非零元素(L=8), W s = { w 1 , w 2 , … w L } \mathcal{W}_{s}=\left\{w_{1}, w_{2}, \ldots w_{L}\right\} Ws={w1,w2,wL},第m个编码符号 u m u_m um由下式计算:
u ( m ) = ∑ l = 1 L w l b ( m l ) u(m)=\sum_{l=1}^{L} w_{l} b\left(m_{l}\right) u(m)=l=1Lwlb(ml)其中 b ( ⋅ ) b(\cdot) b()为对应的bit块, m l m_l ml为第 m t h m^{th} mth行中权重 w l w_l wl对饮的bit索引(权重值已经被打乱了放在G的第 l l l 行)。

(2)G的每一列应该尽可能包含相同数量的各个非零元素——正则列

  列中的权重与bit对应,反应该bit参与了几次symbol生成过程,权重值能反应贡献大小。如果每一列的各个非零元素数量相同,说明bit能量充分地平均分配了出去:
E b ( n ) = C ⋅ ∑ r = 1 R n w n r 2 E_{b(n)}=C \cdot \sum_{r=1}^{R_{n}} w_{n_{r}}^{2} Eb(n)=Cr=1Rnwnr2其中n为第n个bit位在所有symbol生成过程中的能量,G的每一列正则后,无论 b \mathbf{b} b是什么样的,对于每一位来说,其贡献的能量是相同的。

M = N / 2 M=N/2 M=N/2时,正则列还是能满足的

(3)权重集 W s \mathcal{W}_{s} Ws应该创建不同的符号值

即不同的bit序列,应该有 u m u_m um各不相同

3.2 G的3步生成法:

N一般为 2 n 2^n 2n,比如128
(1)构造三个初等矩阵 A 1 、 A 2 、 A 4 A_1 、A_2 、A_4 A1A2A4,维度为 N / 8 × N / 4 N / 8 \times N / 4 N/8×N/4
A 1 = [ + 1 − 1 + 1 − 1 ⋱ + 1 − 1 ] A_{1}=\left[\begin{array}{cccccc}+1-1 & & & & & \\ & & +1-1 & & & \\ & & & & \ddots & & \\ & & & & & +1 & -1\end{array}\right] A1=+11+11+11 A 2 、 A 4 A_2 、A_4 A2A4将1换成2和4
(2)叠加三个基本矩阵的随机排列得到 G 0 N / 2 × N G_{0_{N/2×N}} G0N/2×N
G 0 = [ π ( A 4 ) π ( A 4 ) π ( A 2 ) π ( A 1 ) π ( A 2 ) π ( A 1 ) π ( A 4 ) π ( A 4 ) π ( A 4 ) π ( A 4 ) π ( A 1 ) π ( A 2 ) π ( A 1 ) π ( A 2 ) π ( A 4 ) π ( A 4 ) ] \mathbf{G}_{0}=\left[\begin{array}{llll}\pi\left(A_{4}\right) & \pi\left(A_{4}\right) & \pi\left(A_{2}\right) & \pi\left(A_{1}\right) \\ \pi\left(A_{2}\right) & \pi\left(A_{1}\right) & \pi\left(A_{4}\right) & \pi\left(A_{4}\right) \\ \pi\left(A_{4}\right) & \pi\left(A_{4}\right) & \pi\left(A_{1}\right) & \pi\left(A_{2}\right) \\ \pi\left(A_{1}\right) & \pi\left(A_{2}\right) & \pi\left(A_{4}\right) & \pi\left(A_{4}\right)\end{array}\right] G0=π(A4)π(A2)π(A4)π(A1)π(A4)π(A1)π(A4)π(A2)π(A2)π(A4)π(A1)π(A4)π(A1)π(A4)π(A2)π(A4),π(·)表示矩阵中随机排列的列。
(3)拼接两个 G 0 G_0 G0

生成矩阵的构造复杂度 O ( R ⋅ N ) O(R \cdot N) O(RN),R和L分别是生成矩阵中每列和每行的非零元素数。

3.3 调制过程 u = G ⋅ b \mathbf{u}=\mathbf{G} \cdot \mathbf{b} u=Gb

   u = { u ( m ) } m = 1 M \mathbf{u}=\{u(m)\}_{m=1}^{M} u={u(m)}m=1M是用于传输的符号块,信号振幅范围为−11d到11d,是伯努利分布的, 其中d是比例因子,也是星座点之间的最小距离。
  再将每两个连续的符号正交调制: u ( 2 k ) + − 1 ⋅ u ( 2 k + 1 ) , ( k = 0 , 1 , … , M / 2 − 1 ) u(2 k)+\sqrt{-1} \cdot u(2 k+1), \quad(k=0,1, \ldots, M / 2-1) u(2k)+1 u(2k+1),(k=0,1,,M/21),就形成了一个23*23的QAM星座。如果传输功率标准化为1,d=0.1644,近似256QAM。

生成M个符号的调制复杂度为O(M)。

3.4 解调过程

BP算法学习见索引

使用置信传播(BP,Belief Propagation)解码执行渐近最优贝叶斯推理(当信号的统计特征可用时,Bayesian inference可以补充基于线性规划或贪婪算法的CS方法),该解码将CS编码矩阵表示为图模型,通过使用稀疏编码矩阵减小图模型的大小,实现快速计算。

   u ′ = G ⋅ b + e \mathbf{u}^{\prime}=\mathbf{G} \cdot \mathbf{b}+\mathbf{e} u=Gb+e,其中 e = { e ( m ) } m = 1 M \mathbf{e}=\{e(m)\}_{m=1}^{M} e={e(m)}m=1M e ( m ) ∼ N ( 0 , σ 2 ) e(m) \sim \mathcal{N}\left(0, \sigma^{2}\right) e(m)N(0,σ2)
解码即求解 b ^ = arg ⁡ max ⁡ b ∈ G F ( 2 N ) P ( b ∣ u ′ ) \hat{\mathbf{b}}=\underset{\mathbf{b} \in G F\left(2^{N}\right)}{\arg \max } P\left(\mathbf{b} \mid \mathbf{u}^{\prime}\right) b^=bGF(2N)argmaxP(bu)。有Bayesian compressive sensing via belief propagation.可知该问题是一个置信传播问题,具体算法如下:
在这里插入图片描述

解码算法的复杂度: O ( W ˉ ⋅ R ⋅ N ) O(\bar{W} \cdot R \cdot N) O(WˉRN),其中 W = 1 + ∑ i = 1 L ∣ w i ∣ W=1+\sum_{i=1}^{L}\left|w_{i}\right| W=1+i=1Lwi,R和L分别是生成矩阵中每列和每行的非零元素数。

4. 仿真指标

  1. 使用goodput作为评估指标,即正确接收比特的速率:
    在这里插入图片描述
  2. 评估RCM解调是否对不准确的SNR输入敏感。复现Rahul等人[2009 Frequency-aware rate adaptation and mac protocols]中提出的SNR估计算法,发现在-6dB到6dB之间误差不大。
    在这里插入图片描述
  3. 在实际系统中,接收器应在接收到最少数量的 M 0 M_0 M0调制信号后开始RCM解调。 M 0 M_0 M0小将增加系统复杂性, M 0 M_0 M0大可能会降低可达速率。对不同信噪比情况进行仿真,以错误累计曲线的10%百分位数作为解调阈值,得到最少数量的 M 0 M_0 M0
    在这里插入图片描述

5. 实施

  实现了一个基于速率兼容调制和OFDM物理层的速率自适应系统-seamless rate adaptation:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值