APP下载

机械振动WSN大量数据自适应传输控制方法

2023-02-27汤宝平赵春华

振动与冲击 2023年4期
关键词:包率传输速率数据包

舒 帅,汤宝平,黄 艺,赵春华,付 豪

(重庆大学 机械传动国家重点实验室,重庆 400044)

将无线传感器网络(wireless sensor network, WSN)应用于机械设备状态监测中可以弥补传统有线监测系统的某些不足[1-3]。机械振动监测的高采样率将在短时间内产生大量原始数据[4-5],其中采集和传输过程消耗了节点的绝大部分能量。针对传输过程,现有无线传感器网络多采用基于确认帧(acknowledgement,ACK)的丢包检测与重传机制来保证数据的可靠[6],但ACK帧将引起额外的时延和能耗,在传输大量原始数据时更为严重。NACK(negative acknowledgement)方式是一种针对少量丢失包重传通知的丢包反馈方法,可以有效降低ACK帧带来的传输时延与能耗,但是某些情况无法保证数据的可靠传输[7]。因此,如何在保证大量机械振动数据可靠传输的前提下降低传输能耗是亟待解决的难题。

针对可靠传输与能耗优化方法,国内外学者进行了相关的研究[8-10]。Barroca等[11]提出了一种BACK(block acknowledgement)机制来优化信道使用率,可以有效提高网络吞吐量并降低节点能耗,但是发送节点在每个块发送结束后需要请求块反馈信息包,在信道良好情况下将产生不必要的传输能耗。Zhang等[12]提出了一种能源感知混合自动重传请求方法,在以一定窗口大小的数据包传输过程中,通过复制ACK帧来避免ACK帧丢失引起的数据包重传,该方法在一定条件下可以有效降低节点能耗。Liu等[13]提出一种“发送一个数据帧等待多个ACK帧(send and wait automatic repeat-request, SW-ODMA)”协议,通过增加ACK帧数量保证数据传输可靠性,该方法在保证大量数据可靠传输时增加了数据传输能耗。

针对目前无线传感器网络在传输大量数据时ACK帧导致额外的传输能耗,本文提出一种机械振动WSN自适应传输控制方法,结合ACK与NACK传输方法的优点,并通过数据分组检测、低开销丢包状态通知以及根据传输链路质量自适应选择最佳传输模式等方式,在保证数据可靠传输的前提下,降低机械振动无线传感网络传输大量数据时的传输能耗。

1 ACK与NACK传输方式分析

1.1 ACK方式

丢包恢复是无线通信中保证数据可靠传输的一种有效方法,IEEE 802.15.4标准定义了数据帧通过方式进行丢包检测和反馈,即接收节点在接收到数据帧后发送一个ACK帧以确认数据接收完成,发送节点在传输一个数据帧后初始化一个定时器,等待接收节点发送的ACK帧,在定时结束前成功接收到该数据包对应的ACK帧则表示数据传输成功,超时则重传该数据包。

ACK方式能够很大程度地确保数据可靠传输,但这种传输方式会消耗额外的能量和带宽,如图1所示,接收节点在接收到数据帧后经过仲裁帧间间隔(arbitration interframe space,AIFS)后发送ACK帧,发送节点在发送数据帧后打开接收器侦听信道并维护一个定时器,直到侦听到ACK帧或者定时结束。在此过程中,接收节点需要对接收的每一个数据包反馈一个ACK帧,发送节点也需要在传输完一个数据包后侦听ACK帧,收发节点双方都将产生额外能耗,在传输大量数据时由ACK帧带来的累积能耗不容小觑。

图1 ACK方式数据帧时隙Fig.1 Data frame time slot in ACK mode

1.2 NACK方式

NACK是一种只需要针对少量丢失包的丢包恢复机制,发送节点顺序发送数据包,接收节点通过检测包序号连续性判断数据包丢失情况,并在检测到丢包时向源节点发送一个包含丢失包包序号的反馈信息包(NACK包),要求发送节点重新传输丢失的数据包。使用NACK方式可以在信道状态良好的情况下实现数据帧的顺序传输,减少ACK帧的开销。

但是,NACK机制也有不足之处:首先,若首尾数据包丢失,接收节点将无法检测丢包情况并反馈,且信道质量较差时,NACK包数量将不可控增加,加重信道负载并增加节点传输能耗,并且NACK包的丢失将引起传输的不可靠。其次,发送节点需要缓存所有数据以便在数据包丢失时重传,这极大浪费了节点有限的存储资源;最后,发送节点由于无法得知丢包情况,在收到NACK包前将保持发送状态,若此时接收节点发送NACK包则会与发送节点产生冲突,极易发生NACK包丢失的情况,如图2所示。另外,机械振动无线传感器网络常使用簇状网络结构,作为接收节点的网关或路由通常拥有多个子节点,IEEE 802.15.4中使用冲突避免的载波侦听多路访问(carrier sense multiple access with collision avoid, CSMA/CA)机制来协调多节点传输,接收节点发送NACK包时需要和其他节点共同竞争信道,易导致NACK包的传输滞后,进而使得发生丢包的发送节点无法及时重传丢失的数据包。

图2 NACK包与数据包的冲突Fig.2 Conflict between NACK packet and data packet

2 自适应传输控制方法

机械振动无线传感器网络对数据传输具有高可靠性的要求,采用ACK方式传输数据可以很好地保证数据可靠性,但传输大量数据时具有较高能耗,NACK传输方式可以降低传输能耗,但在信道条件较差的情况下难以保证数据传输可靠。本文提出机械振动WSN大量数据自适应传输控制方法,如图3所示。

IEEE 802.15.4标准中定义了链路质量指示(link quality indicator, LQI)来表示通信链路质量,通信链路质量越好则LQI值越大。当网关下发传输原始数据命令后,发送节点检测通信链路质量并根据当前链路条件选择合适的传输方式,若当前信道的链路质量指示值高于本文设定的阈值Lm,采用混合ACK/NACK方式传输原始数据,否则采用ACK方式。ACK方式下,发送节点每次发送数据包均需在规定时间内收到确认帧,否则将重复发送该数据包。混合ACK/NACK方式下,数据包将分组进行传输,接收节点在收到分组最后一个数据包后检测丢包信息并通知发送节点,若存在丢包则立即将包含丢包序号的NACK包下发至发送节点,发送节点采用ACK方式重传丢失的数据包。当前分组中所有数据包均传输成功后进入下一分组传输,直至所有数据传输完成。

图3 自适应传输控制方法流程Fig.3 Adaptive transmission control method flow

2.1 混合ACK/NACK模式下最优数据分组

NACK方式的丢包检测方式是通过判断包序号连续性,在传输链路质量较差时可能会频繁丢包,导致NACK包不可控增加,本文采用数据分组检测的方式来避免该问题。首先,对每次传输的首末数据包均采用ACK方式传输,以保证接收节点根据包序号连续性进行丢包检测的可靠性;其次,将要发送的数据包每N个设为一组,分组的最后一个数据包采用ACK方式传输,以确保该数据包传输成功。接收节点在接收到分组的最后一个数据包时检测该组丢包情况,并在发生丢包时反馈一个NACK包。对于传输过程来说,分组数量越大,ACK帧传输的数量越少,理论能耗优化值越大。但分组数量越大,接收节点需要缓存空间越大,这对拥有多个子节点的中间节点有限的存储资源是一个很大的挑战。因此,分组的数量应选择一个合理的数值。

对于节点数据传输耗能过程,主要可分为侦听耗能以及发送耗能,侦听过程中其功率近似恒定,针对发射功率的优化课题组前期作了相应研究[14],本文设定节点传输数据时传输功率不变。因此,由ACK帧引起的额外能耗可由式(1)得到

EACK=P·TACK

(1)

式中:EACK为发送/侦听ACK帧的能耗;P为节点发射/侦听功率;TACK为因传输ACK帧导致的额外时间。显然,ACK帧传输能耗与传输时间而呈线性关系,对于传输过程而言,减少的ACK帧传输时间与优化的传输能耗呈现线性关系,在发送一定数量的数据包时,传输时间越短,传输速率越高。因此,可通过探究不同分组数量与传输速率的关系来反映数据分组数量对能耗影响。

根据前述分析,采用CC2530传输模块并搭载TIMAC协议栈进行振动数据传输试验:逐渐增加数据分组数量,每个分组数量传输500个大小相同的数据包,根据实验室前期研究,原始振动数据单次传输的最优数据包大小为100 B[15],本文所有试验单次传输的数据包大小均与最优数据包大小保持一致。每个分组数量下的试验重复10次并取平均值,记录不同分组数量下的数据传输速率,得到分组数量N与数据传输速率的关系如图4所示。

图4 不同分组数量与传输速率的关系Fig.4 The relationship between the number of different packets and the transmission rate

由试验结果可以看出,当分组数量N=1即采用ACK确认机制传输时,其数据传输速率最低;当N<10时,随着分组数量N的增大,数据传输速率明显增大;当N>10后,数据传输速率趋于平缓。即当分组数量超过10后,分组数量的增大对传输过程已无明显的优化效果。因此,本文混合ACK/NACK方式的分组数量设置为10。

2.2 低开销丢包状态通知

NACK方式下NACK包的下发不仅极易与丢包节点产生冲突,在多个节点传输数据时还会引起NACK包传输不及时,致丢包节点侦听NACK包时间过长而引起额外能耗。为解决NACK包下发时易丢失的问题,引入丢包状态通知机制。根据IEEE 802.15.4标准规范,一个完整的MAC帧包含了帧头(MAC header, MHR)、帧负载(MAC payload)与帧尾(MAC footer, MFR),帧控制域(frame control field,FCF) 是MHR中的一个字段,长度为两个字节,其格式如图5所示,帧控制域中的帧挂起位(frame pending)用于标识连续发送多个数据帧,默认值为0。利用该位可以实现丢包状态的低开销通知:接收节点在收到分组的最后一个数据包后检测丢包情况,若该分组丢失了数据包,则将反馈ACK帧中的帧挂起位置1,告知发送节点发生了丢包情况,接下来将传输NACK包至该节点;若该分组数据全部传输成功则该标志位使用默认值0。发送节点在收到ACK帧时检查其帧控制域中的帧挂起位,若该位为1则暂停发送数据,开启侦听等待接收节点发送NACK包;若该位为0,则说明该分组传输成功,发送节点将继续发送下一分组数据。

图5 IEEE 802.15.4—2015标准中的帧控制域格式Fig.5 Frame control field format in IEEE 802.15.4—2015 standard

为避免在多个节点传输数据时NACK包下发延迟过大,需要对NACK包的发送过程进行优化。IEEE 802.15.4—2015[16]标准的信标网络中的CSMA/CA退避算法,流程如图6所示。

图6 信标网络下CSMA/CA算法Fig.6 CSMA/CA algorithm flow under beacon network

数据帧在发送前需初始化相应参数,其中CW为竞争窗口长度,若检测到信道空闲则该值减1,CW从初始值CW0降至0则发送数据帧,期间若检测到信道繁忙则退避一次,CW重置为CW0;退避次数NB表示当前数据帧发送的冲突次数,每退避一次NB值增加1,若NB大于最大退避次数macMAXCsmaBackoffs则该数据帧发送失败;BE为退避指数,用以计算节点单次退避时间,初始值为最小退避指数macMinBe,每次退避该值增加1,最大不超过最大退避指数macMaxBe,退避时间计算公式为

BackoffTime=random(2BE-1)·aUnitBackoffPeriod

(2)

式中:random(x)为产生一个在0~x的随机整数;aUnitBackoffPeriod为单位退避时间。对于NACK包的传输,可将其发送时的退避指数BE初始化为0,即NACK包首次传输时退避时间为0,其他数据包根据退避算法随机退避,则NACK包的传输相较于其他数据包具有更高优先级,从而使NACK包及时下发至丢包节点。丢包节点收到接收节点反馈的NACK包后,采用ACK方式重传丢失的数据包直至发送成功,确保丢失数据包的可靠重传。

综合以上优化方法,混合ACK/NACK方式传输时序如图7所示,为便于描述,在当前图例中将分组数量设为4。其中ACK(0)和ACK(1)分别表示ACK帧帧控制域中帧挂起位为0和1的情况。

图7 混合ACK/NACK方式传输时序Fig.7 Hybrid ACK/NACK method transmission timing

2.3 自适应控制传输模式

在机械振动无线传感器网络中,节点与其父节点的通信链路质量与传感器节点部署的位置和环境干扰情况密切相关,为避免节点在链路质量较差的情况下使用混合ACK/NACK方式导致数据包丢失,需要节点根据当前通信链路质量情况选择合适的丢包检测与重传策略。本文节点的通信软件采用TI公司基于IEEE 802.15.4—2015标准开发的TIMAC协议栈,每个帧均可以在接收方直接获取其LQI值。丢包率(packet loss rate,PLR)是指传输过程中丢包数量占传输总数量的比率,数据传输测试中丢包率足够小时可认为传输可靠。

为避免在信道条件差的情况下使用混合ACK/NACK方式传输数据导致丢包,需探究混合ACK/NACK方式下丢包率与链路质量指示之间的关系,确定混合ACK/NACK方式适用的链路质量条件。通过改变采集节点和网关节点之间的距离以及增加阻挡物的方式来改变节点间的通信链路质量,采集节点每次发送200个数据包,固定数据包长度与原始振动数据包长度相同,共发送200次。网关记录下接收到的数据包的LQI值,并取平均值作为该次传输的链路质量指示值。网关还需记录发送200个包的丢包数量并计算丢包率,从而得到链路质量指示LQI和对应丢包率的离散数据,如图8所示。

图8 混合ACK/NACK方式下丢包率与LQI的关系Fig.8 The relationship between the packet loss rate and LQI in the hybrid ACK/NACK mode

由对LQI和丢包率离散数据的分析可得,当LQI>15时,丢包率很小且变化缓慢,当LQI<15时,丢包率随LQI的减小而急剧增大,故可采用指数函数拟合LQI与丢包率的关系

Pr=a·eb·L

(3)

式中:Pr为混合ACK/NACK传输方式下的丢包率;L为LQI;a,b为待拟合参数;e为自然对数,取值2.718。为简化计算,将表达式两边取对数,得到

lnPr=b·L+lna

(4)

将lnPr和L的离散数据代入式(4),采用最小二乘法进行线性拟合,得到a=130,b=-0.3。故可以得到混合ACK/NACK传输方式下丢包率与链路质量指示的关系式为

Pr=130·e-0.3L

(5)

本文认定当丢包率小于万分之一的时候,混合ACK/NACK传输方式可靠,将临界值Pr=10-4代入式(5)计算可得到链路质量指示临界值Lm=46.9,取整得Lm=47。即在链路质量指示高于阈值Lm时,节点将采用混合ACK/NACK方式传输,保证数据可靠传输的同时减少ACK帧导致的额外能耗,当链路质量指示低于Lm时,节点将选择ACK方式传输,且在发生丢包时重复发送该数据包直至成功,以保证数据可靠传输。节点在传输数据前先传输少量数据包确定当前传输链路质量,并根据链路质量自适应选择最佳的传输模式。

3 性能验证与分析

为了验证本文所提出的大量数据自适应传输控制方法的性能,采用课题组自研机械振动无线传感器网络节点WSN-G5进行性能测试。WSN-G5采集节点采用双处理器核心架构,由ARM Cortex M4内核的STM32F405RG和TI公司的无线通信模块CC2530组成,CC2530是节点无线数据传输的控制核心,采集节点采用两节3.7 V、1 200 mAh的可充电锂电池供电,支持IEPE传感器输入并采用24位高精度ADC进行模数转换,最高采用频率可达50 kHz,并配有8 GB大容量Micro SD卡来存储机械设备振动监测中产生的大量振动数据。性能测试试验在动力传动故障诊断综合试验台上进行,如图9所示,将采集节点与网关组成单跳星形网络,采集节点对二级平行齿轮箱的中间轴和输出轴轴承座的振动信号进行采样,并用ACK传输方法、NACK传输方法和本文所提自适应传输控制方法分别将原始数据传输至上位机,对节点的传输速率、可靠性和传输能耗进行性能测试。

图9 性能测试试验平台Fig.9 Picture of the performance test experimental platform

3.1 传输速率

在由单个节点组成单跳网络的传输速率测试中,采用ACK方式的传输速率为101.6 kB/s,本文方法的传输速率为112.4 kB/s,在NACK方式下单点传输速率经试验测试为113.7 kB/s。另外,为测试本文传输方法在多个节点组成的单跳网络中的传输速率,将组成网络的采集节点数量由2个逐渐增加至4个,且为保证所有传输方法均可靠传输相同量的数据,试验在信道条件较好情况下进行,并对比三种传输方式在不同数量网络节点的传输速率,结果如图10所示。

由试验结果可知,节点的传输速率随着加入网络的节点数量增加而下降,这是因为星形网络使用单信道传输,并采用CSMA/CA机制协调多节点传输,传输数据的节点数量越多,节点传输速率越低。在传输数据的节点数量相同的情况下,NACK传输方法的传输速率高于本文方法与ACK方式,这是由于NACK传输方式相对其他两种方法减少了确认机制带来的额外时间,本文方法的传输速率均高于ACK方式下的传输速率,说明本文提出自适应传输控制方法在传输速率上具有一定的优势。

图10 本文传输方法与ACK、NACK方式传输速率对比Fig.10 Comparison of transmission rate between method of this article and ACK mode,NACK mode

3.2 传输可靠性

在机械振动无线传感器网络中,数据的可靠传输是后续设备状态分析处理准确性的前提,为验证三种传输方法在不同链路条件下的传输可靠性,由1个网关和4个采集节点组成单跳星形网络,分别采用三种传输方式传输10 kB,20 kB和30 kB数据,节点1~节点4通信条件如表1所示,试验结果如表2所示。

表1 节点1~节点4通信条件Tab.1 Communication conditions of nodes 1-4

表2 节点1~节点4在不同方法下的丢包率Tab.2 Packet loss rates of nodes 1-4 under different transmission methods

根据表2的试验结果可以看出,在不同的链路条件下,本文方法与ACK方式传输数据的丢包率均为0,即本文方法与ACK传输方式均具有较高可靠性。NCAK传输方式在链路质量较差时丢包率较大,这对可靠性有着高要求的机械振动无线传感器网络来说不可接受,因此NACK方式并不适合应用于机械振动无线传感器网络,其传输能耗本文也将不作试验探究。

3.3 传输能耗

为验证本文方法对传输能耗优化的效果,采用一个网关和2个WSN-G5采集节点组成星形网络,标记中间轴处采集节点为节点1,输出轴处采集节点为节点2,测试采集节点在数据传输过程中传输能耗的情况,传输能耗测试方法参考朱亮亮等的研究。节点传输数据量从10 kB逐步增加至60 kB,记录节点在ACK方式和本文方法下的传输能耗,节点1传输能耗如表3所示,节点2传输能耗如表4所示。节点1、节点2的传输能耗优化值随长度变化的关系如图11所示。

表3 节点1传输能耗Tab.3 Transmission energy consumption of node 1

表4 节点2传输能耗Tab.4 Transmission energy consumption of node 2

图11 能耗优化值与传输数据长度的关系Fig.11 The relationship between energy consumption optimization value and transmission data length

由传输能耗试验结果可知,在传输的原始数据量相同情况下,节点2的传输能耗均高于节点1,这是由于节点2与网关传输距离较远且有机械设备阻挡,传输信道条件较差,导致有较多丢包重传情况发生,从而有更高的传输能耗;在传输不同长度的原始数据下,节点1、节点2的传输能耗均随着数据长度的增大而增大,但相较于使用ACK传输方法,本文提出的自适应传输控制方法具有更低的传输能耗,且能耗优化值随着数据长度的增加而增加,充分说明了本文提出的自适应传输控制方法在传输能耗优化上的有效性。

4 结 论

针对机械振动无线传感器网络以ACK方式传输大量数据时存在高能耗、低速率的问题,本文提出了一种机械振动WSN大量数据自适应传输控制方法,根据传输链路质量自适应选择最佳传输模式,并通过最优数据分组机制、丢包状态通知与传输参数优化等措施来减少ACK帧导致的额外传输能耗和传输时间。试验结果表明,本文方法能够在保证数据可靠传输前提下,提高了大量振动数据的传输效率,同时降低了机械振动无线传感器网络的传输能耗,且传输能耗优化值随传输数据量的增加而增加,可有效延长能量受限的机械振动无线传感器网络节点寿命。

猜你喜欢

包率传输速率数据包
支持向量机的船舶网络丢包率预测数学模型
二维隐蔽时间信道构建的研究*
一种基于喷泉码的异构网络发包算法*
电磁线叠包率控制工艺研究
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
三星利用5G毫米波 实现创纪录传输速率
SmartSniff
跨山通信中频段选择与传输速率的分析
数据传输速率
TCN 协议分析装置丢包率研究