无线传感器网络节点能耗建模.doc_第1页
无线传感器网络节点能耗建模.doc_第2页
无线传感器网络节点能耗建模.doc_第3页
无线传感器网络节点能耗建模.doc_第4页
无线传感器网络节点能耗建模.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

无线传感器网络节点能耗建模THE MODELING OF ENERGY CONSUMPTION ON WIRELESS SENSOR NETWORK NODE吴文婕 (电子科技大学自动化工程学院 成都 611731)摘要:随着嵌入式系统、无线通信、网络及微电子机械系统等技术的快速发展,无线传感器网络(WSN)引起人们的极大关注。在军事、环境、医疗、家庭和其他商业领域有广发应用。而由于每个传感器节点能量有限又很难补充能量的特点,能耗问题成为WSN的关键技术。目前,很多研究对无线传感器网络的能量消耗进行了分析。本文在此基础上围绕节点能耗建模问题进行了研究,通过个模块运行时的工作状态转换模型,分析了在状态运行以及状态变迁史的能耗情况,揭示了节点各能耗设备的能量变化规律,最后建立起节点整齐的能耗模型。关键词:无线传感器网络;能量建模;ABSTRACT: AS the embed system 0 引言无线传感器网络是由大量具有感知、计算和通信能力的微型传感器,通过无线链路自组织而成的分布式网络。它综合了传感器技术、嵌入式计算机技术、分布式信息处理技术和无线通信技术,能够感知并采集各种检测对象的信息,对其进行处理传送到用户。传感器节点体积微小,能量有限,由于无线传感器网络通常运行在人无法接近的恶劣环境中,一般不能对节点进行充电或更换电池。因此,如何高效地使用能量来最大化网络生存寿命或提高网络能量效率是传感器网络面临的首要挑战之一,也是无线传感器网络的核心问题。在传感器网络中,包括传感器节点、网关、互联网及用户界面等。节点按一定方式不熟在区域内,节点之间以协作的方式实时感知和处理网络中的信息,同时还要维持节点互相之间的网络,形成一个多跳的自组织网络。每个无线传感器网络有一个连接到传输网络的网关,网关通过传输网络把感测数据从传感区域发送到提供数据服务与处理的基站,基站再通过Internet联系到远程数据库。用户可以通过远程计算机进行数据浏览及处理,并能发送想要的命令进行监控和操作。无线传感器网络中的节点与一般传感器不同,除了能够感知被测物理量以外,还要具备远程通信功能,传感器节点由处理模块、通信模块、感知模块、能量供应模块组成。处理模块式节点和功能控制模块和数据处理中心,它由嵌入式系统构成,负责控制传感器,执行通信协议及处理感知数据等算法。通信模块报告基带部分和RF部分,负责节点间数据的接收和发送。能量供应模块由电池和电压转换模块组成,主要任务是为其他模块提供能量。传感模块由传感器及数模转换模块组成,主要任务是采集被测控对象的信息,并转换成相应的数字信息。 图11 处理器能耗模型处理器状态如图2所示,一般具有3个状态:运行状态、空闲状态、睡眠状态。运行状态为处理器的正常状态,正在执行指令,各个模块都在运行。空闲状态时一部分模块处于运行状态,节省了一部分能耗。睡眠状态提供了最低的功耗,处理器的大部分模块都关闭,系统的可用资源最少。图2各状态之间互相转换的条件如下表所示表1序号状态转换条件1电池电量不足,软件选择进入休眠状态2实时时钟匹配中断、按键唤醒3系统T1时间内未捕捉到信息或电量不足,软件选择进入休眠状态4运行状态下T2时间内未捕捉到信息或软件选择进入空闲状态5产生中断信号、捕捉到信息或者按了复位键处理器的能耗为三种状态能耗及状态间切换的能耗之和,即 (1-1)其中,、分别为三个状态运行时的能耗,而为状态转换时的能耗,它可以由下面的公式计算得到。 (1-2)Na-b表示从状态a到b切换次数,ea-b表示完成一次状态从a到b切换所需要的能量。通过上面简要介绍,可以总结出处理器能耗的算法如下:输入:各参数值初始状态输出:处理器能耗While(the state is RUN) If(last state is not IDLE) Record(idle_begin_time); Nrun-idle=Nrun-idle+1; If(not set timer T1) set timer T1; If(timer overtime) Tidle=Tidle+T1; update Ecpu; go to state SLEEP; If(mission is to handle) cancel timer T1; record idle_begin_time; Tsleep=Tsleep+idle_end_time - idle_begin_time; Update Ecpu; go to state RUNWhile(the state is RUN) If(the last state is not RUN) record(run_begin_time); If(the last state is IDLE) Nidle-run=Nidle-run+1; Else if (the last state is SLEEP) Nsleep-run=Nsleep-run+1; If(the energy is out or software select the state SLEEP) record(run_end_time); Trun=Trun+run_end_time - run_begin_time; Update Ecpu; go to the state SLEEP; If (the timer T2 is not set) set T2 ; If (timer overtime) Trun=Trun+run_end_time - run_begin_time; update Ecpu; go to the state IDLE; If(mission is to handle) cancel timer T2; reset timer T2While(the state is SLEEP) If(the last state is not SLEEP) record(sleep_begin_time); If(the last state is IDLE) Nidle-sleep=Nidle-sleep+1; Else if(mission is to handle) record(sleep_end_time); Tsleep=Tsleep+sleep_end_time - sleep_begin_time; Calculate Ecpu; go to the state RUN;2 通信模块能耗模型设计一般情况下通信模块有六个状态:TX(发送状态),RX(接受状态),OFF(关闭状态),Idle(空闲状态),Sleep(睡眠状态),CCA/ED(空闲信道评估与信道能量检测)。各状态之间的转换关系如下:图1-3与处理器能耗模式类似,通信模块能耗Eradio为个状态能耗及状态间切换能耗之和,一般来说可用公式1-3计算。 (1-3)而Eradio-change可以用下面的公式来计算 (1-4)由此,我们可以得到通信模块能耗的具体算法:输入:各参数值初始状态输出:通信模块能耗While(the state is TX) If(the last state is IDLE) NIdle-TX=NIdle-TX+1; ETX=ETX+VtrITXL/R; update Eradio; If(the TX state is over) go to the state IDLE;While (the state is RX) If(the last state is IDLE) NIdle-RX=NIdle-RX+1; ERX=ERX+VtrIRXL/R; update Eradio; If(the RX state is over) go to the state IDLE;While(the state if SLEEP) If(the last state is not IDLE) record (idle_begin_time); If(the last state is TX) NTX-Idle=NTX-Idle+1; Else if (the last state is RX) NRX-Idle=NRX-Idle+1; Else if (the last state is SLEEP) NSleep-Idle=NSleep-Idle+1; Else if (the last state is CCA) NCCA-Idle=NCCA-Idle+1; Else if (the last state is OFF) NOFF-Idle=NOFF-Idle+1; If (the timer isnt set) set the timer; If (timer overtime) TIdle=TIdle+Tsleep; update Eradio; go to the state SLEEP If (a packet is to send) cancel the timer Tsleep; record (idle_end_time);TIdle=TIdle+idle_end_time - idle_begin_time; update Eradio; go to the state TX; If(a packet is to receive) cancel the timer Tsleep; record (idle_end_time); TIdle=TIdle+idle_end_time - idle_begin_time; update Eradio; go to the state TX; If (a channel is to check) cancel the timer Tsleep; record (idle_end_time); TIdle=TIdle+idle_end_time - idle_begin_time; update Eradio; go to the state CCA;3 感知模块能耗模型设计感知模块通过传感器感知各类相关信息,如电压、电流、温度、湿度、光强、压力等,然后交给处理器模块进行信息的融洽和处理,最后由无线通信模块对数据信息进行转发。传感器模块通常只有开启与关闭两个状态,本文以周期性开关的状态为例,介绍传感器模块能耗的建模。它的能耗可用下面的公式得到: (1-5)其中,N为传感器开启的次数,Is为传感器工作的电流,Vs为工作电压,Ts为传感器每次工作的时间。由上面的介绍,可以得到感知模块能耗的算法:输入:各参数值,初始状态输出:感知模块能耗While(the state is OFF) If (the timer isnt set) set the timer; If (the timer overtime) go to the state ON;While(the state is ON) If(the data is all collected) Esensor=Esensor+eon-off+eoff-on+VsIsTs;4 基于事件触发机制的节点整体能耗模型设计前面几章介绍了处理器、通信模块、感知模块的能耗模型,三个模型各自运行,而咋实际的应用中,三个模型之间是存在着联系的,本节将基于事件触发的机制建立起三个模型之间的联系,进而建立节点整体能耗模型。引起个模块运行状态发生变化的事件有来自能耗模型外部的触发事件和来自能耗模型之间的触发事件。能耗模型外部的触发事件有时钟周期事件、需要发送包事件、收发机接收包事件、收发机信道检测事件等;能耗模型之间的触发世家有周期采集数据事件、发送包事件、接收包事件、节点整体能耗模型如图1-6所示。各模块的事件触发清单如下:表2传感器模块的事件触发周期性进入能耗统计ON状态进行能耗统计,完成后回到OFF状态处理器模块的事件触发若处理器模块为IDLE或SLEEP状态则进入RUN状态,若已处在RUN状态则不发生改变通信模块的事件触发发送包事件触发由idle状态进入TX状态接收包事件触发有idle状态进入RX状态信道检测事件触发由idle状态进入CCA/ED状态5 总结本文首先通过处理器模块、通信模块、感知模块运行时工作状态转换模型,分析了各模块在各状态运行以及状态变迁时的能耗情况,设计了处理器模块能耗模型、通信模块能耗模型、感知模块能耗模型,揭示了节点各耗能设备的能量变化规律。然后给予事件触发的机制,明确各个模块能耗模型之间的关联,建立起节点整体的能耗模型。根据本文设计的各模块能耗算法及节点整体能耗模型,在无线传感器网络系统中,只要在运行任务的同时实现节点整体模型,各模块就可以根据任务的情况进入相应的状态,准确的计算出各模块的耗能及节点整体耗能。参考文献 1 高 妍, 杨孝宗.无线传感器网络节点能耗建模与仿真. 哈尔滨:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论