1 引 言
无线传感器网络是由大量具有感知能力、计算能力和通信能力的传感器节点组成的面向任务的无线自组织网络, 它综合了传感器技术、嵌入式计算技术、现代网络和无线通信技术、分布式信息处理技术等多项技术 。在军事、医疗、空间探测、环境监测、抢险救灾、安全生产监控等领域都有广泛应用。
差错控制是无线数据传输中保证传输可靠性的一个重要手段, 但差错控制的额外能耗与传感器节点的能量受限形成矛盾。因此,无线传感器网络差错控制的研究重点之一是在数据可靠性和低能耗之间取得折衷。
2 相关工作
差错控制的基本模式主要有两种, 前向纠错( FEC)和自动重发请求( ARQ )。前向纠错协议的额外能耗主要来自译码过程和冗余信息的传输。而自动重发请求的能耗主要来自重传过程。文献定义能效为衡量差错控制优劣的指标, 探讨了低能耗网络的数据包长度优化问题, 并证明了自动重发请求不能提高能效。文献证明了采用BCH 码比卷积码能获得更大的能效提高。文献证明了采用硬件而不是微处理器译码能有效地降低能效。文献在研究差错控制方案时考虑了物理层和路由层因素的影响。在此基础上, 提出利用BCH 码的缩短形式对信息进行编码, 并对具有不同纠错能力的BCH 码的能效进行了比较, 得出了特定情况下的最优编码方案。
3 缩短BCH 码
BCH 码是一类运用广泛的能纠正多个随机错误的前向纠错编码, 其中, 能纠正单个随机错误的码即为汉明码, 汉明码译码简单, 能耗可忽略。
BCH 码由( n, k, t) 表示, n 为码长, k 为信息长度, t为纠错能力。BCH码的码长n = 2m- 1, 在实际应用中, 需要对任意码长的信息进行编码, 从( 2m-1, k )编码中选出前s位为0的码组构成一种缩短形式的BCH 码( 2m- 1- s, k- s), 监督位数不变, 因此纠错能力不变。根据应用中的实际情况, 对整字节长度的信息位构造缩短汉明码。随着信息位的长度增加, 其对应的BCH 码也在改变, 其对应关系如表1所示。
表1 不同码长的缩短BCH 码对应的BCH 码
4 能效分析
4. 1 能效定义
能效定义是在文献中提出的, 这个定义综合了差错控制协议对于能量吞吐率和误包率的影响:
其中ηe 代表能量吞吐率, 为传输过程中消耗的有效能量E effe与总能量Etota l之比, 有效能量是指用来传输有用信息的能量, P 为误包率。
4. 2 无线通讯模型
以C rossbow 公司的M ica2无线传感器节点为无线通信模型。M ica2 节点采用A tmeg128L+CC1000为主要芯片。其参数如表2所示(无线传输频率433MH z)。
表2 M ica2节点的通信参数
非相关FSK调制下, 误比特率ρb 计算如下:
其中, γ为接收端信噪比, BN 为噪声带宽, Rradio为CC1000芯片的数据传输率。信号在空气传播过程中的衰减A ttenuation 按照下式计算:
A ttenuation = 20log ( 4πd /λ) + 10n log (d ) ( 3)其中, d为信号传输距离, λ为信号波长, n为路径损耗系数, 假设n= 3。信噪比!为输出功率减去热噪声, 衰减及接收端噪声系数。
4. 3 数学推导
4. 3. 1 未编码方案的能效
对于未编码系统, 误包率为:
消耗总能量:
其中Etr, E re分别为发送耗能和接受耗能, Tsts为CC1000发动端的启动时间, Itr, Ire 和Vrad io 分别为CC1000发射端电流, 接收端电流和工作电压, 无线传输网络的能量消耗主要由无线通信过程产生, 为了节省能量, 在数据包发送间隙会关掉无线通信设备来节省能耗, 但每次重启时会消耗一部分能量来打开发送端。
有效能量为:
其中k 为信息码长, Ttr为传输1b it数据的时间,Ttr = 1 /Rradio。
由结果可见, 对于未编码系统, 在原始误码率一定的情况下, 其能效仅与包长有关, 并且存在最优值使得能效为最大。
4. 3. 2 缩短BCH 编码的能效
纠错能力为t的前向纠错系统误包率为:
对于纠错能力为1的BCH 码, 也就是汉明码,其译码能耗可以忽略, 缩短BCH 码( n, k, t) ( t> 2)的译码能耗为:
其中, Tadd和Tmu ti分别是微处理器在GF ( 2m)域(m = log2n + 1) 做一次加法和乘法运算的时间,M ica2节点的微处理器为8位的A tmeg128L, 分别在1Tcyc le和2Tcycle的时间内完成8位的加法乘法。
总耗能为:
根据公式( 1), 能效为:
4. 4 仿真结果
图1 比较了输出功率为0dbm 时, 不同信息长度下各编码方式的误包率, 随着信息位数长的增大,未编码系统的误包率急剧增大, 对于125字节的信息码长, 误包率达到了0. 4, 几乎无法通信。纠错能力越强, 误包率越小, 纠错能力大于2的BCH 码效果尤其显着, 其误包率接近0。再增加纠错能力没有明显效果。
图1 不同信息长度下各编码方式的误包率
图2 显示了随着信息位的增加, 各种编码方式的能量吞吐率, 其总趋势是增加的, 也就是说, 虽然随着码长的增加, 译码能量也在增加, 但其增加幅度较有效能量的增加较小。
由图2可知, BCH 缩短编码的能量吞吐率并不是单调增加, 在某些点出现了下降, 这些点出现每次监督码位数( n - k ) 增加, 然后监督码位数不变, 信息位逐渐增大, 能量吞吐率又开始增加。
根据图2对比具有不同纠错能力的编码, 纠错能力越强, 其译码能耗越大, 监督码越长, 其能量吞吐率越低。缩短汉明码的能量吞吐率与未编码时的能量吞吐率极为接近, 这是因为其译码能耗可忽略的缘故。
图2 不同信息长度下各编码方式的能量吞吐率
图3中, 纠错能力越强, 最优信息码长越大, 但其对应的最优能耗也越低。这是因为纠错能力延缓了误包率的增大, 使得在较大范围的包长内, 能量吞吐率的增加占有优势。但多余的译码能耗会降低能效。
由图3可以看出, 最大的能效值出现在缩短汉明码, 接近0. 95, 包长约为400, 对比图一, 此时对应的误包率大约在0. 02左右, 在可靠性要求不是很高的场合, 能取得很好的效果, 平衡了能量吞吐率与误包率的要求。
图3 不同信息长度下各编码方式的能效
5 结束语
根据数学推导和仿真结果可以看出, BCH 码确实能在能量有限的无线传感器网络中显着地提高能效, 但一味追求高纠错能力会取得反效果。在典型的通信环境和设备下, 纠错能力为1 的缩短BCH码, 也即是缩短汉明码, 可取得总体最优的效果, 并且存在最优信息长度使得能效最大。在对可靠性要求很严格的应用中, 可考虑使用纠错能力为2- 3位的缩短BCH 码。