APP下载

一种基于喷泉码的异构网络发包算法*

2022-02-16刘建航董轩江李世宝

计算机与数字工程 2022年1期
关键词:接收端增益数据包

袁 静 刘建航 董轩江 李世宝

(中国石油大学(华东)海洋与空间信息学院 青岛 266580)

1 引言

在物联网时代中,所有智能设备互联已成为必然趋势。在网络空间中,由于不同的无线设备使用不同的无线通信标准,所以异构无线设备上是相互隔离、无法直接通信的。若需要各个系统的数据在服务器进行数据交换,需要共同访问Internet[1,3~4,6]。为了实现异构无线设备之间直接通信[5],提出了Cross-Technology Communication(CTC)。CTC 改变了传统无线技术之间间接通信的情况。以往这类通信方式往往需要通过带有多个无线电接口的网关实现,而这类通信方法需要增加进出网关的流量开销,并且为了满足不同用户相互通信,经常需要购买网关等硬件实现复杂的网络部署。

现有的CTC 不仅可以使不同的物联网应用程序共存,还能够共享介质以及物理空间中部署异构设备[1](例如:WiFi、ZigBee、蓝牙等)。然而在已有的CTC中,进行文件传输时所依据的TCP协议的重传机制存在自身局限性:在传输协议的编码中,需要将传输的文件分成K 个数据包进行传输。若在传输过程中发生了丢包则需要通知源节点哪些数据包需要重传进行再一次传输。直至所有数据包都被无差错的被接收端接收完成译码后停止发送。这种传统的传输方式虽然可以以高概率完成译码,但是由于较低的传输效率使得传输时间过长,在一些多播场景中并不适用。特别是在已有的CTC 中(WiFi To ZigBee),当ZigBee 接收全部数据包并完成译码后需要向WiFi 发送端发送确认消息进行反馈。由于ZigBee技术自身的传播距离短、周期性数据、间歇性数据等特征,需要多跳才能完成反馈,所以若存在较大的丢包率则会造成巨大时延导致系统传输效率较低。

综上,本文在CTC的基础上提出了通过使用喷泉编码实现异构网络传输,利用喷泉码其丢包不敏感的特点减小重传机会,与此同时,本文根据分析实验数据得到数据传输的丢包情况与发送条件有关。为减小丢包率,本文提出了在不同场景下实现丢包率最小的条件与发包算法。

2 相关工作

2.1 CTC研究成果

为了解决物联网设备呈指数增长的数量带来的频谱危机,提出了现有PMC[9]。PMC 发送端的设计目标是利用与WiFi 子载波重合的带宽模拟窄带ZigBee 信号,提高频谱利用率。它是指在单一的WiFi 通道中对异构物联网无线电进行并行多协议通信,从而充分提高频谱利用率。通过WiFi和Zig-Bee 设备之间的重叠通道来模仿ZigBee 的OQPSK调制实现在WiFi信道中发送ZigBee信号,如图1所示:WiFi通道6与四个ZigBee通道(即:16、17、18和19)重合。利用这7 个子载波来模拟ZigBee 的OQPSK 调制,同时保持其余57 个子载波的正常通信,如图1所示。

图1 ZigBee与WiFi信道重叠

根据CSMA 协议,在传输ZigBee 信号时,WiFi的信号传输必须停止,所以造成了频谱浪费。因此,PMC 为实现WiFi与ZigBee 信号同时传输,利用QAM 的特定WiFi 子载波信号模拟ZigBee 的OQPSK 信号,即将所需的ZigBee 时域信号输入FFT,选择相应的QAM 星座点,若没有遇到完全重合的QAM 点则考虑到Parseval stheorem[7]所给出的能量方程,结合傅里叶变换的先行性质,即可得出频域量化引入的误差方程[8]:

其中,u(t)是时域信号,v(t)是经过QAM 量化后的时间时域信号U(k)和v(k)为其相对应的阶。所以将时域内的信号失真最小化等价于QAM 量化后频率分量的总偏差的最小化,即利用QAM 仿真的本质是一个优化过程。此时将没有重合的点选择总欧氏距离的k 个QAM 点与期望信号的k 个FFT 点之间距离最近的QAM点即可。

综上,通过在物理层通过在发送端用WiFi 信号来模拟ZigBee信号,实现混合信号的发送。由图1 可知,WiFi 第6 信道与ZigBee 信道重合,输入的ZigBee 信号利用DSSS 模块生产的LUT 查找表可以实现输出其所匹配的QAM 点[9],根据所输出的QAM 点和WiFi 数据中其他的QAM 进行快速傅里叶逆变换聚合形成混合信号:

最后,在WiFi 接收端不更改硬件的情况下,由于WiFi 和ZigBee 的码率不同,传统的WiFi 接收机无法对混合信号中模拟的ZigBee 信号进行解调。所以,通过周期性地从信号数据流中删除相应Zig-Bee 数据,形成指定的WiFi 数据,得到所需的WiFi数据流。同时,在ZigBee 接收端接收到的模拟Zig-Bee 信号经过带通滤波器得到带内信号,并将该信号送入OQPSK 解调器。该解调器通过将载波发生器的信号相乘,将基带信号与载波信号分离,然后跟踪同相分量和正交分量的相位变化,从而确定ZigBee数据流。

这种利用信道重合改变发送方调制方式进行的数据传输方式的丢包率较大,而较大的丢包率会造成了较大的失败译码率,该机制下的丢包对译码影响很大,所以增大了信道中的确认与重传消息。为实现较高效率的传输及较高的译码率,对CTC系统中新型的编译码方案提出了要求。

2.2 喷泉码算法

喷泉码本身是一种码率不受限制的纠删码[2](rateless erasure codes),即从源符号编码产生的编码符号序列是无限的,未成功完成译码中的中间数据不会对原始数据译码产生影响[11]。喷泉码通过源源不断的产生编码分组流z1,z2…,作为任意长度向量的输入与输出符号。当接收端接收到产生的k 个输入符号(x1,x2,…,xk)后,每个输出符号等于若干个随机独立选取的输入符号的异或和[10],如图2 所示。用此编码方式进行数据收发,可以根据接收情况决定发包数量。

由图2可知,LT码的译码过程是一个低复杂度的迭代译码法。首先任意选取一个度为1 的编码分组,若不存在度为1 的编码分组,则结束译码;若存在,则通过复制就可以解码出与该编码分组相邻的数据。根据Tanner图,将已经恢复的数据分组信息与相邻的数据信息进行模二和运算,若在传输过程发生了数据包丢失,则可以根据接收到的相邻编码分组得到丢失数据,从而更新编码分组的信息,并将相应的Tanner 对应的边删除并且无需关注具体是哪些数据包发生了丢失,如此往复,直到找不到度为1的编码分而技术译码。

图2 LT码的Tanner图

所以针对现有CTC系统丢包率较大,对丢包较为敏感的特点,本文提出了一种基于喷泉码的异构网络发包算法(A fountain code based heterogeneous network packet sending algorithm,FCSA)。在本中通过搭建了PMC 平台作为数据传输的基础,其次本文提出了通过改变发送端的编码方式,在发送端采取喷泉编码方式增大译码率,无需更改现有的硬件设施与译码方式。最后本文通过进行多次数据传输的测试总结出影响丢包率的因素,并通过改变发送端发送策略从而使得丢包率达到最小。与已有算法相比,本文提出的算法可以明显减小丢包率,使得传输系统有较大的的信道利用率与较高的译码率。

3 基于喷泉码的异构网络发包算法

3.1 算法思想

本节主要介绍FCSA 的主要思想,以及在CTC平台进行实验后对实现丢包率达到最小时的总结。首先,通过使用开销较小的LT 码对发送端进行编码,假设接收节点将发送K 个原始数据包,根据度分布式(3)表明,在每个迭代过程中必有一个节点度为1,所以在理想情况下,孤子分布的度函数为

其次,为了保证接收器在接收到足够数据包后进行解码,每个叠戴过程至少应有一个度为1 的数据包[12]。若δ为接收机无法解码原始数据的概率,则S=cloge(K′/δ),有此可知,每次迭代过程中保证度数为1的数量为

根据输出的混合信号可得,当传统的WiFi 接收方接收到PMC 发送端发出的混合信号时,部分子载波包含WiFi 数据流,其余部分包含了ZigBee数据流。所以,我们在WiF端采取了周期性的删除ZigBee 数据流从而提取出WiFi 数据流的方法,形成传统的传统的WiFi接收器指定的WiFi信号:

本文对丢包率的估算是指在传输过程中数据包丢失的数量占所发送的数据组的比率,其本身是用于衡量无线信道性能的重要指标,至今已经进行了许多针对估计丢包概率的相关研究[13~16]。本文根据现有的信道评估技术,利用接收端估计SNR(信噪比)[17]进行信道质量估计,通过式子表达每bit的能量比(Eb/N0):

其中,Rb代表比特率,B 是信道带宽,经过数字调制之后,采用低密度奇偶校验(LDPC)编码进行信道解码,接收机解码失败概率可表示为

最后,根据本文在不同距离下测得的最小丢包率的汇总,找到不同距离下可以实现在该距离下的最小丢包率的对应发送周期、增益,对该周期、增益进行数据汇总、分析、模拟后得出不同距离下实现最小丢包率的发包条件。

3.2 实验设置

我们在TelosB 平台上,利用一个USRP 与三个ZigBee开发板实现了PMC模型,如图3所示。其中,USRP 的型号为NI USRP-2932,通过本型号USRP 生成符合IEEE 802.11 标准下的WiFi 数据包,利用WiFi 与ZigBee 的重叠信道发送数据包至ZigBee 平台。本实验采用WiFi 的第6 信道和ZigBee 网络的第16 信道来构建数据传输通道。本实验通过调整发送周期、增益与距离变量,将其都作为可控开关,并进行测试与对其分别进行说明。实验每次发送1000 个数据,测得每次发送后的接收情况,求得不同因变量下的丢包率,并对其进行分析。由于本设备在设置增益时,会产生接收信号振幅随频段和设备之间的变化而变化,所以本实验全程在2.4GHz与相同的三个接收端进行。

图3 实验场景

3.3 实验结果

3.3.1 距离的影响

本节介绍了当发送端与接收端处于不同距离下时对丢包率的影响。通过图4 可得,随着距离的增加,最大丢包率总体呈现上升趋势,其次,由于ZigBee本身的短距离传输特性,经测量在10m~13m之间会有一次丢包率的突增现象。以12m为例,当发送端与接收端相距12m 时,无论增益如何变化,都会使得丢包率发生增加,所以在实际布置ZigBee节点时可以尽量避免该距离区间。

图4 距离对丢包率的影响

3.3.2 增益的影响

本节介绍了当发送端与接收端增益不同时对最大丢包率的影响,利用USRP 调整发送增益,对比分析得到如下结论:本文选取0dB、16dB 和31dB三种增益进行实验,如图所示。根据图5 可得,随着增益的增加,最大丢包率明显减小,例如当增益为0dB 时,平均丢包率为21.81%,当增益增加到16dB 时,平均丢包率减小至7.59%,可见增加发送增益可以明显减小丢包率,例如,当发送端与接收端相距40m 时,当发送增益为16dB 时,最大丢包率为5.83%,增益增加至31dB 时,最大丢包率仅为2.70%。但是为了减小丢包率一味增加增益不一定会使丢包率减小,例如当发送端与接收端相距1m时,最大丢包率由于增益的增加没有减小反而有所增加。由此可知,在距离一定的情况下,增加一定的增益可以明显减小丢包率,但是不断增加增益不一定会使得丢包率下降,反而有可能会使得丢包率比较小增益时增大。同时,由图5 可知,较大的增益甚至可能会使得丢包率增加,所以为减小丢包率盲目增加增益会使得传输系统很不稳定,无法控制数据传输质量。

图5 增益对丢包率的影响

3.3.3 周期的影响

本节介绍了当发送端与接收端周期不同时对丢包率的影响情况,由于本文中所述实验进行测试次数较多,而对于数据传输过程中所能影响数据丢失的因素也比较多,所以发送周期的影响比较复杂。本节将分为三个部分进项阐述:

1)当发送端与接收端之间采取0dB 增益进行数据传输的时候,如果距离越近发送周期越小,可以减小丢包率,如图6 所示。例如当发送端与接收端相距1m 时,若发送周期仅为25ms则丢包率仅为0.42%,较小发送周期对较远距离并不友好,例如当发送端与接收端相距25m 时,若扔采取25ms 作为发送周期,则丢包率可高达16.27%,较大的数据丢失会严重影响网络质量。所以较大传输距离的情况下应适当增加发送周期从而减小丢包率。

图6 0dB时周期对丢包率的影响

2)当增益增加至16dB 时,距离对丢包率的影响远远小于增益对丢包率的影响。通过实验可得,发送周期变小使得不同距离下的最大丢包率增多,但是并不代表较小的发送周期一定带来大丢包率。例如当发送端月接收端相距25m时,发送周期为25ms 的丢包率仅为0.29%。当发送端与接收端相距12m,发送周期为10ms 时,这在实际应用场景中是一个很小的发送功率,但是此时的丢包率仅为0.38%。增益变大时发送周期越短并不意味着丢包率大,相反有时可以带来更大的收益,使发送速率快并且很系统稳定,使得网络性能大幅提升。尤其是超过12m 之后,丢包率比增益为0dB 时明显减小,所以当距离增大时可以适当增加增益来减小丢包。

图7 16dB时周期对丢包率的影响

3)通过图8 我们可以对比出,相对于增益为16dB 的情况,当增加增益至31dB 时,整个网络传输较不稳定。由图8 可知,是当发送端的发送周期为50ms 时,发送端与接收端相距12m 的最大丢包率远大于50m时的最大丢包率,所以当收发两端相距很远时,可以通过找到一个适宜的发送周期,使整个传输系统丢包率减小,例如当距离增大至50m时,发送周期提高至150ms 才可以实现最佳发送,剩下其余情况丢包率都高于该种情况。

图8 31dB时周期对丢包率的影响

3.4 最小丢包率走势

通过实验对比我们发现,距离、增益与周期都是可以影响数据传输的重要因素。综上所述,影响丢包的因素是多方面的,在传感器网络中,由于很多节点是无法移动的,所以通过调节增益与发送周期可实现网络快速有效的传播。最后,根据本文通过细化距离,在等差条件下测得的最小丢包率的汇总,如图9所示。

图9 等差距离下的最小丢包率

我们找到对应的发送周期,对该周期进行数据分析后得出不同距离下的最佳发送周期:当距离小于5m,增益小于等于16dB 时,发送端以任意发送周期都可达到0 丢包率;当距离大于5m,增益为31dB时,实现最小丢包率的最佳发送周期为

当发送端大于14m,增益为31dB 时,最佳发送周期为

其中,Pe为周期(单位:ms),d为距离(单位:m)。

4 实验性能分析

在CTC 算法中,常见的性能指标包括吞吐量、误码率、时延和丢包率等。本文通过实际实验,利用usrp发送数据包,普通商用ZigBee开发板进行广播接收,测得喷泉编码下利用本文所提FCSA 每次发送1000 个数据包的丢包率与时延,并与已有PMC平台作为参照进行分析对比。

由图10 可知当发送端与接收端采用增益为0dB 时,最大的丢包率也仅为13.32%,此时两者相距“不稳定距离”12m。其次除了相距50m 时丢包率达到了10.69%以外,通过采用本文所提发包算法均可使丢包率低于2%。当增大发送端增益至16dB 时可以明显减小数据传输过程的丢包率,此时在本文算法下的最大丢包率仅为相距50m 时的6.29%,同时其他情况均不发生丢包现象。当发送端调整增益至31dB 时,最大丢包率不足1%,并且此时发送端与接收端之间的距离为50m。

图10 FCSA不同增益下的丢包率

图11显示了本文所提算法与PMC之间丢包率的对比,可以看出在PMC 平台采用FCSA 算法后可以明显降低丢包率,通过计算可得,发送端采用FCSA 算算法后,丢包率可减小至少66%以上。同时,由于丢包率的减小提升了系统的吞吐量,由图12 可以知,在PMC 的基础上,增加FCSA 算法可明显提高吞吐量。

图11 丢包率对比

图12 吞吐量对比

5 结语

近几年来,随着物联网设备不断呈爆炸式增长,实现异构物联网通信成为了必然趋势。本文基于PMC 平台设计了一种更高效的异构物联网通信技术,通过采用喷泉编码中成熟的LT 技术进行编码,在实验中测得了在所提编码下的实现丢包率最小值的最优解。最后本文在所得数据中进行分析与总结得到FCSA算法相比较CSMA甚至PMC皆可明显减小丢包率,同时很大程度提升了系统吞吐量。本文后续将继续在此基础上进行更多测试与探究,以期进一步提升该系统性能。

猜你喜欢

接收端增益数据包
基于时隙ALOHA与NOMA的通信系统性能分析
“增益”还是“损耗”?挑战性工作要求对工作−家庭增益的“双刃剑”影响*
基于光载波携能的制导武器无线携能通信研究
基于扰动观察法的光通信接收端优化策略
经典仪表放大器(PGIA)的新版本提供更高的设计灵活性
手机无线充电收发设计
C#串口高效可靠的接收方案设计
旦增益西的藏戏梦
宽频带增益放大器的设计与测试
基于盲波束形成的MIMO雷达稳健参数估计