-
在无线通信网络中,一个重要且基础的工作就是文件分发,将文件数据包从源节点经中继节点发送至目的节点。数据包在无线通信网络中进行传输时,可能由于信道噪声、衰落、接入冲突等原因而造成数据丢失现象[1]。
文献[2]提出的数字喷泉码作为一种前向纠错码能很好地解决这一问题。喷泉码是一种发送端可源源不断地发送编码包直至接收端能够成功译码的纠错编码技术。将原始文件划分为
$ k $ 个数据块,随机对这$ k $ 个数据块进行编码,可以得到任意$ n $ 个编码数据包,因此喷泉码是任意码率或无码率的。将喷泉码应用于含中继节点的无线通信网络中,在中继节点采用的是存储转发操作,而该操作并不是中继节点可采用的最优操作。在多播网络中,只有在中继节点应用网络编码才能达到网络最大吞吐率[3]。以两跳的单播删除网络为例,假设每一条链路的删除概率为0.2,如果中继节点对接收数据进行存储转发操作,网络吞吐率最高为每使用一次网络传输0.64包;而如果中继节点允许对接收数据进行网络编码,则吞吐率最高可达到每使用一次网络传输0.80包。BATS码作为一种适用于多跳删除网络的新型网络编码方案[4-7],结合了喷泉码和网络编码算法,将二者分别作为其外码和内码。BATS码的外码是LT码的矩阵形式,因此BATS码也是一种无速率码,由发送端不断向接收端发送编码的批次码,直到接收端译码成功。当批次码的大小$M$ 等于1时,BATS码的外码即为LT码。BATS码的内码采用随机线性网络编码算法,BATS码将二者结合起来能保证数据在无线通信网络中可靠传输,同时渐近最大网络容量。传统的BATS码编译码方案是不依赖于反馈的,但反馈信道在BATS码的应用场景中是可用的,用于接收端在译码成功后反馈一个ACK(acknowledge character)确认信号使发送端不再继续发送编码数据包,且无论使用与否,反馈信道都被占用着,因此应当考虑如何将反馈信道有效利用起来。文献[8]针对LT码提出当接收端译码过程停止时,利用反馈信道反馈所有未译码的原始输入数据包包号,在发送端将它们重新发送以重启接收端译码过程。文献[9]在文献[8]的基础上提出了一种改进方案,接收端反馈未译码输入数据包的包号及译码后更新的生成矩阵,按照未译码数据包的度值从大到小进行重传。然而,这两种方案都需要反馈大量的信息包,频带利用率较低,且会导致反馈拥塞等问题。文献[10]针对LT码提出了一种基于重要信息反馈的编译码方案,接收端只反馈度值最大的未译码输入数据包的包号,发送端接收到后对该数据包进行重传,在中继节点对其采用转发操作。这种方案在有效减少反馈数据量的同时,也能使译码性能得到提升。然而,当网络跳数较多或通信质量较差时,重要数据包在重传过程中丢失的可能性较大,从而将影响接收端数据包的恢复。
基于上述原因,本文方案不仅考虑了如何确保重要信息能够有效传输到接收端,还研究了译码过程中输入数据包较难完全译码成功的主要原因,并据此改进了对重要输入数据包的选择方案,使其能有效增加译码成功次数。在仿真结果中,本文对比了传统BATS码,基于重要信息反馈的BATS码以及本文优化方案,在结果中论证了本方案的优越性。
-
BATS码通常应用于包括中继节点的删除网络中,如图1所示为一个多跳的删除网络,
$s$ 为源节点,$d$ 为目的节点,${a_1},{a_2}, \cdots ,{a_n}$ 为中继节点。BATS码包括内码和外码,在多跳删除信道中应用BATS码,外码在源节点也即发送端完成,内码在中继节点进行。具体编码过程描述如下,发送端对$K$ 个长度为$L$ 的原始数据包进行编码,产生$n$ 个大小为$M$ 的批次码。产生第$i$ 个批次码时,首先根据预先优化的编码度分布$\Psi$ 进行采样得到一个度${d_i}$ ,在$ K $ 个原始数据包中随机选取${d_i}$ 个数据包组成一个$L \times {d_i}$ 维的矩阵${{\boldsymbol{B}}_i}$ ,然后经外码编码产生一个包含$M$ 个编码包的批次码${{\boldsymbol{X}}_i}$ ,其数学表达形式为:$$ {{\boldsymbol{X}}_i} = {{\boldsymbol{B}}_i}{{\boldsymbol{G}}_i} $$ (1) 式中,
${{\boldsymbol{G}}_i}$ 为生成矩阵,是有限域上的一个完全随机矩阵。发送端将批次码一个接一个按顺序发送至中继节点。中继节点对接收到的批次码在同一个批次内进行内码编码,编码方式采用随机线性网络编码。接收端接收到的第$i$ 个批次码${{\boldsymbol{Y}}_i}$ 表示为:$$ {{\boldsymbol{Y}}_i} = {{\boldsymbol{X}}_i}{{\boldsymbol{H}}_i} = {{\boldsymbol{B}}_i}{{\boldsymbol{G}}_i}{{\boldsymbol{H}}_i} $$ (2) 式中,
${{\boldsymbol{H}}_i}$ 为第$i$ 个批次码的转移矩阵,由内码编码过程与信道情况共同决定。由于计算复杂度低,接收端通常采用BP译码算法进行译码。接收到给定数量的批次码后,接收端开始译码,译码时需要计算每一个批次码的度是否等于它的秩,如果第
$i$ 个批次码的度${d_i}$ 等于它的秩${\rm{rk}}({{\boldsymbol{G}}_i}{{\boldsymbol{H}}_i})$ ,则采用高斯消元算法对该批次码进行求解,得到与之关联的${d_i}$ 个原始输入数据包信息,并利用${d_i}$ 个输入包的信息对与之关联的批次码进行替换和更新,去除它们对这些批次码的影响。重复上述过程直至找不到满足度与秩相等条件的批次码,BP译码过程停止。在传统的BATS码编译码方案中,发送端在第一轮编码时首先发送
${N_1}$ 个批次码,接收端接收到后开始译码,如译码成功则反馈一个ACK译码成功确认信号,否则不返回反馈信号。在第$i$ 轮编码前,发送端先确认是否接收到ACK信号,接收到则停止编码传输,未接收到则继续对原始数据包进行编码,产生并发送${N_i}$ 个批次码,固定编码轮数或重复上述编码过程直至发送端接收到译码成功的ACK信号,编译码过程停止。 -
在仿真性能分析中,对传统BATS码、基于重要信息反馈BATS码以及本文算法的译码性能分别进行了仿真和比较。在仿真模型中,假设存在理想反馈信道,反馈距离较短,反馈时延较小,且由于反馈包数较少,为方便分析,可忽略反馈开销对系统性能造成的影响。仿真参数设置如下:在内外码编码中,编码系数在有限域
${\rm{GF}} $ $ (256)$ 中进行选择。为方便分析,批次码内外码编码尺寸统一选择为${M_1} = {M_2} = 8$ ,数据包长度为$L = 2$ 。外码编码度分布按照文献[15]中有限长BATS码度分布设计方法生成。3种方案的译码算法均采用BP译码算法,仿真次数设为100。编码冗余定义为:$$ \varepsilon = \frac{{M({N_1} + f{N_2})}}{K} $$ (3) 式中,
$f$ 为反馈轮数。译码成功率指的是译码完成后,已恢复的包数占所有包数的比例。不同码长下改进方案性能仿真分析如下:在以上仿真参数的设置下,考虑一个两跳的删除信道,每一条链路的删除概率设为
$0.1$ ,信道秩分布为$h = $ $ [0,0,0,0.000\;8,0.009\;2,0.064\;8,$ $0.264\;6,0.476\;0, 0.184\;6]$ ,设置不同的原始数据长度$K = [500,1\;000]$ ,分别对3种方案在不同码长下的译码性能进行仿真,发送的批次码数量设为${N_1} = 125,{N_2} = 7$ ,仿真结果如图5所示。3种编译码方案的译码成功率随着编码冗余的增加都在上升,但改进的基于重要信息反馈BATS码上升的速度相对其他方法更快。另外,码长越长,在相同的编码冗余下译码成功率越高。不同反馈步长下改进方案性能仿真分析如下:固定码长
$K = 500$ ,${N_1} = 125$ ,设置不同的反馈步长${N_2} = 3,7,14$ ,对本文改进的基于重要信息反馈的BATS码编译码方案进行了译码性能的仿真,仿真结果如图6所示,改进算法比传统BATS码的性能更好。通过对比3组不同反馈步长的译码成功率,可以发现随步长的减小,译码成功率快速上升。步长越小,接收端获得的反馈信息越多,对重要信息的编码次数也就越多,译码性能越好。不同信道条件下改进方案性能仿真分析如下:固定码长
$K = 500$ ,发送的批次码数量设为${N_1} = 125, $ $ {N_2} = 7$ ,编码冗余固定为$\varepsilon = 2.12$ ,图7对3种编译码方案在多跳删除信道条件下的译码性能进行了仿真。将每一跳链路的删除概率设为$0.1$ 。仿真结果如图7所示,译码成功率随信道跳数的增加在不断下降,但本文的编译码方案译码成功率随跳数的增加,下降的速度更为缓慢。表1对比了3种方案的译码成功次数,每种方案总的仿真次数为100,由表1可见,本文改进方案能够获得更多的译码成功次数。在本文方案中,每进行一次反馈,编码器不仅将上一轮未参与编码的输入数据包与反馈数据包作为一个子集合进行外码编码,同时在经过中继节点时,还对这部分产生的批次码进行再编码。这样不仅能保证所有数据包都参与编码,同时使重要信息包在传输过程中得到保护,因此本文方案能获得更高的完全译码成功概率且随跳数的增加下降的速度最为缓慢。
表 1 3种编译码方案译码成功次数
跳数/跳 改进方案/次 基于重要
信息反馈/次传统方案/次 2 92 78 43 3 80 69 29 4 59 42 12 5 37 24 0 6 21 17 0
Design of Improved BATS Codes Based on the Important Information Feedback
-
摘要: BATS码是一种结合喷泉码和网络编码技术的新型前向纠删码,能有效保证数据在多跳网络中的可靠传输。在传统BATS码编译码方案中,反馈信息没有得到高效利用,为提高BATS码的译码性能,提出了一种改进的基于重要信息反馈的BATS码编译码算法,其中,重要信息包由接收端和发送端共同选择用于下一轮编码;同时,对重要信息的编码包在中继节点采用网络编码算法进行再编码,以保证重要信息在接收端的可靠恢复。仿真结果表明,该方案相比传统的BATS码以及过去用于喷泉码的基于重要信息反馈的编译码方案,具有更好的译码性能。Abstract: BATS codes combining fountain codes and network coding are a new class of erasure codes which effectively guarantee the reliable transmission of packets in multi-hop network. However, conventional BATS codes do not make use of the feedback information. For improving the decoding performance of BATS codes, we design an improved BATS codes encoding and decoding algorithm based on the important information. And the important information is selected by the source node combined with the destination node for the next coding process. Furthermore, the coded packets from the important information are recoded at the intermediate nodes for the reliable recovery of the important information at the destination node. Simulation results show that the proposed improved scheme achieves better decoding performance compared with the conventional BATS code and the traditional limited feedback used in fountain code.
-
Key words:
- BATS codes /
- BP decoding /
- feedback /
- file distribution
-
表 1 3种编译码方案译码成功次数
跳数/跳 改进方案/次 基于重要
信息反馈/次传统方案/次 2 92 78 43 3 80 69 29 4 59 42 12 5 37 24 0 6 21 17 0 -
[1] DONG X P, ZHANG Y, SONG J. The reliability-enhanced wireless networks through BATS codes[C]//The 18th IEEE International Symposium on Consumer Electronics. Republic of Korea: IEEE, 2014: 1-4. [2] LUBY M. LT codes[C]//The 43rd Annual IEEE Symposium on Foundations of Computer Science. Vancouver: IEEE, 2002: 271-282. [3] YANG S H, YEUNG R W. Coding for a network coded fountain[C]//2011 IEEE International Symposium on Information Theory Proceedings. St Petersburg: IEEE, 2011: 2647-2651. [4] YANG S H, YEUNG R W. Batched sparse codes[J]. IEEE Transactions on Information Theory, 2014, 60(9): 5322-5346. doi: 10.1109/TIT.2014.2334315 [5] YANG J, SHI Z P, XIONG J, et al. An improved BP decoding of BATS codes with iterated incremental Gaussian elimination[J]. IEEE Communications Letters, 2020, 2(24): 321-324. [6] YANG S H, YEUNG R W, SRIKANT R. BATS codes: Theory and practice[M]. [S.l.]: Morgan & Claypool, 2017. [7] YANG S H, ZHOU Q Q. Tree analysis of BATS codes[J]. IEEE Communications Letters, 2016, 1(20): 37-40. [8] 于佳琪. 数字喷泉码及其在广域分集网中的应用研究[D]. 杭州: 浙江大学, 2013. YU J Q. Research on digital fountain codes and its application on wide area diversity network[D]. Hangzhou: Zhejiang University, 2013. [9] 陈美玲. 带反馈LT码的研究与应用[D]. 郑州: 郑州大学, 2015. CHEN M L. Research and application of LT code with feedback[D]. Zhengzhou: Zhengzhou University, 2015. [10] JIA D, FEI Z S, SHANGGUAN C L, et al. LT codes with limited feedback[C]//2014 IEEE International Conference on Computer and Information Technology. Xi'an: IEEE, 2014: 669-673. [11] XIANG M, YI B S, TAN J J. Optimised design and tree analysis of regularised variable-node BATS codes[J]. Electronics Letters, 2020, 56(12): 630-633. doi: 10.1049/el.2020.0030 [12] TANG B, YANG S H, YE B L, et al. Near-optimal one-sided scheduling for coded segmented network coding[J]. IEEE Transactions on Computers, 2016, 65(3): 929-939. doi: 10.1109/TC.2015.2435792 [13] YIN H F, YANG S H, ZHOU Q Q, et al. Adaptive recoding for BATS codes[C]//2016 IEEE International Symposium on Information Theory Proceedings. Barcelona: IEEE, 2016: 2349-2353. [14] ZHOU Z H, LI C D, YANG S H, et al. Practical inner codes for BATS codes in multi-hop wireless networks[J]. IEEE Transactions on Vehicular Technology, 2019, 68(3): 2751-2762. [15] YANG S H, NG T, YEUNG R W. Finite-length analysis of BATS Codes[J]. IEEE Transactions on Information Theory, 2018, 64(1): 322-348. doi: 10.1109/TIT.2017.2769122