李宗娜
(青海建筑职业技术学院,青海 西宁 810012)
由于物联网的广泛应用,到2020年,我国无线网络设备的数目将达到2×1010以上。但是大量无线技术的并存会造成不同网络之间的信号干扰,从而影响通信质量与用户体验。目前,大多数的跨网络通信技术多采用调制方式来实现信息和数据交换的目的,当出现信号干扰情况时,亟需一种有效的编码方式,以解决信号传输过程中误码率高及传输效率低下的问题[1]。
早期的跨网络通信技术要求传输虚拟数据包,但由于传输虚拟数据包会占用网络资源,造成传输效率下降。跨网络通信技术中,包级调制方式可实现数据包的传输,然后由接收机来接收和译码,但当网络情况较复杂时,单次发送帧接收率往往无法满足需求[2]。国内研究人员利用低功耗ZigBee的无线信号来激活WiFi AP设备,在实现跨网通信的同时,大大降低了装置的待机能耗。国外研究者Kim等提出了一种叫做FreeBee的跨网式通信技术,这种技术可以通过调节WiFi帧间隔来实现传输数据的高质量传输。另有国外研究者Z Yin利用一组不同长度的WiFi数据包分组构成Morse码,然后利用接收信号强度指示(Received Signal Strength Indication,RSSI)感应译码在接收机上实现了跨网络通信。
WeBee是首个在物理层面上实现的跨网络通信技术,它可以在网络环境噪声较大的情况下,通过重新传输,使WiFi与ZigBee之间的通信安全与数据完整性达到99%,从而满足复杂网络间的跨网络通信。尽管WeBee可以实现WiFi与ZigBee的直接通信,但它仍然有一些缺点,即单次发送下帧率低、数据包错误率高等。对此,可以根据现有网络的具体情况,通过优化编码算法来解决误码率高的问题[3]。
介绍一种跨网络通信的交叉译码方法,对WeBee的缺点进行了分析,给出了一个基于WeBee的优化系统及其工作流程,并给出了基于循环前缀的代码分解优化算法。试验结果表明,该方案在单次传输时可以达到65帧的接收速率,单次发送的码元误差率为2.2%。
本文在以下几个方面进行阐述。首先,对WeBee技术进行了概要性说明,对其优缺点进行了着重分析,并对其不足之处给出了解决思路。其次,根据ZigBee的数据特性对编码方式的优化方案进行阐述,结合循环前缀的特性,介绍一种基于循环前缀的编码拆分算法。与原算法进行比较,优化后的系统能有效地改善帧接收率、吞吐量以及码元误差率。最后,对实验结果进行分析,采用装有Atheros AR2425无线网卡的工作站设备,通过在通道内改变各种参数进行比较试验,从不同的角度来检验优化后的系统性能。
WeBee系统可以实现与ZigBee无线网络的直接通信,但存在着一定的局限性。它所生成的模拟ZigBee数据有两种主要的错误模式,即正交振幅调制(Quadrature Amplitude Modulation,QAM)模拟误差问题以及循环前缀不正确。
在构建ZigBee的仿真数据时,必须把ZigBee的时域信号与QAM的星座点进行一一对应。然而,由于QAM的预设位置是有限和离散的,ZigBee的时域信号不能很好地与预先设定的QAM星座点准确映射。在对模拟信号进行解调时,ZigBee接收机会产生一定的量化错误,从而影响了数据解码性能。
WiFi通信要求有一个循环的前缀,而ZigBee通信则不需要。采用循环前缀会造成模拟信号前端的冗余,因为信号是预先设定的,且WiFi传送是固定的,故上述错误不可避免。针对循环前缀的缺点,可以采用一种基于循环前缀的代码分解算法,以提高系统的运行效率,后文将给出具体优化措施。
该优化方案采用WiFi信号,利用模拟ZigBee的时域波形,将传输数据通过WiFi传输给ZigBee网络接收端,再由ZigBee将其解码,从而获得正确的网络数据。按照以下步骤来构建WiFi数据,其中WiFi数据具有模拟ZigBee信号[3]。
(1)将ZigBee数据包装为时域波形,该波形可由ZigBee装置识别;(2)利用基于循环前缀的分解优化方法获得最佳的同步编码序列时域波形;(3)通过快速傅里叶逆变换(Inverse Fast Fourier Transform,IFFT)对时域波形进行量化,将时域波形映射成一组星座点;(4)将IFFT处理后的星位点与预先设定的星位点进行对比和筛选,选取欧几里得距离最短的星座点,以获得对应的ZigBee数据;(5)利用星座点生成对应的编码比特位,通过对比特位映射进行相应的编码操作,随即可以获得对应的WiFi数据,该数据具有模拟ZigBee信号。
在ZigBee通信中,必须先用前导码来持续监测ZigBee的数据。前导码往往是一组0 bit、6 bit的同步码,为了提高检测准确率,必须采用ZigBee同步码的方式。如果ZigBee的同步码序列为001111,则利用循环前缀使该序列变为111111,从而存在两个误差码。
本文介绍一种基于ZigBee网络的编码拆分算法。假定该同步代码的初始序列是001111,则其可以分为两个组成部分,即0011和11,被重组为序列110011。当执行循环前缀运算时,这个序列的前缀和后缀是一样的,所以这个错误可以被原序列001111完全避免[3]。
尽管并非所有的同步码都能找出合适的组合序列来消除循环前缀错误,但可以在有限的同步代码拆分组合中寻找出最好的组合。利用贪婪算法,搜索出最优的一种序列组合,该组合的选取原则是在最小误差和最大功率的情况下进行优化,具体如下。
首先,将ZigBee数据包装为时域波形,该时间域波形可由ZigBee装置进行识别。通过对ZigBee数据的前置码进行检测,以获得相应的同步编码[4,5]。其次,分解所得的数据同步代码,通过枚举方式记录所有可能发生的序列形式。再次,对由全部序列构成的有限同步代码进行编码,利用贪婪算法对所有组合中的最佳序列进行筛选[6]。先将各序列执行CP处理,以获得处理序列和相应功率。然后与起始同步代码相比较,得到处理后的顺序CP误差序列和功率差序列,选择最小的序列,以尽量少的序列进行传输。最后,基于编码表,ZigBee接收机对同步代码进行恢复,并对其进行译码,以获得原ZigBee数据帧[7]。
在前文优化算法基础上,采用带有Atheros AR2425无线网卡的工作站设备和RF-CC2430节点为网络数据接收端,应用优化算法,通过实验验证了该优化系统的可行性及性能。为确保试验的正确进行,选取12个试验的平均数作为试验结果,每一次试验总共传送200个数据,并将其与FreeBee的跨网络通信技术进行综合比较。试验中,主要测试了错误拒绝率(False Rejection Rate,FRR)和误符号率(Symbol Error Ratio,SER),并且对相应的测试结果进行了分析,具体如下[8]。
在同一情况下,优化后的系统比WEBee系统具有更好的性能,单次传输时,FRR比在WeBee系统中增加了9%,SER降低了8.4%。通过试验结果还可以看出,该优化方案的性能相比FreeBee有了很大的改善。
对于单次信道的数据传输而言,在不同的传输距离下,本次试验测量了FRR和SER,并给出了相应的试验结果,分别如图1和图2所示。可以看出,在2~10 m的传输范围内,最优的系统可以达到57以上,FRR小于2.7%,SER值为6%,相比WeBee和FreeBee在同等情况下都有明显的提高[9]。
图2 单次传输系统SER
在上述试验中,所有的试验环境都是静态的情况。为确保试验精度与可靠性,本文采用固定接收端位置,即不改变收发端间距,改变发送端运动速率等方法,实现了在动态环境下对系统单路传输FRR的测量。从图3中可以看出,在不同的位移速度变化情况下,FRR值几乎没有明显变化。
图3 不同速率下单次传输系统FRR对比
由于跨网对通信的影响,在不改变传输距离的前提下,利用发送端和接收端的位移次数来衡量多路径效应的强度,并对单次传输条件下通道环境中的FRR和SER进行了测试。在同样的情况下,通过试验验证了该系统在更多路径的情况下仍然可以很好地工作,并且性能也在一定程度上有所提高[10]。
本文对WeBee系统中存在的问题进行了具体分析,介绍了一种基于循环前缀的代码拆分算法,对该算法进行了详细阐述,并进行了有效性验证。试验结果表明,优化方案能有效地改善码元接收速率,有效降低码元误码率。与WeBee网络系统及FreeBee系统相比,该系统的单帧接收速率提升效果明显,单次发送的码元误差率有所降低。在不同的传输距离和多径情况下,对动态传输进行模拟测试,优化后的系统比WeBee系统具有更好的性能,符合实验预期。