《基于MATLAB的SPIN协议仿真.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的SPIN协议仿真.docx(36页珍藏版)》请在优知文库上搜索。
1、摘要SPlN协议,全称SenSorprotocolforinformationvianegotiation1,译文为信息协商的传感器协议,这是一种自适应通信路由协议,该协议把数据作为中心,他的存在是为了解决传统路由协议所存在的弊端,如信息内爆和信息重叠问题。为了使高新技术更好服务于人类,人们开发了许多软件进行模拟仿真,极大地缩短了涉及协议的周期也降低了难度。MATLAB仿真器作为目前已知的三大数学软件之一能够极大地方便我们的研究,也在一定程度上验证了协议的可用性。本文将利用MATLAB仿真软件对SPIN协议(信息协商的传感器协议)进行仿真,进一步验证协议的可用性、正确性以及优缺点。关键词:路由
2、协议SPIN仿真MATLABoAbstractTheSPINprotocol,alsoknownasthesensorprotocolforinformationvianegotiation1,istranslatedasthesensorprotocolforinformationnegotiation.Itisanadaptivecommunicationroutingprotocolthatplacesdataatthecenter,anditsexistenceistoaddressthedrawbacksoftraditionalroutingprotocols,suchasinfo
3、rmationimplosionandinformationoverlap.Inordertobetterservehumanitywithhigh-tech,peoplehavedevelopedmanysoftwareforsimulation,greatlyshorteningthecycleinvolvingprotocolsandreducingdifficulty.TheMATLABsimulator,asoneofthethreeknownmathematicalsoftware,cangreatlyfacilitateourresearchandtosomeextentveri
4、fytheusabilityoftheprotocol.ThisarticlewilluseMATLABsimulationsoftwaretosimulatetheSPINprotocol(sensorprotocolforinformationnegotiation),furtherverifyingtheusability,correctness,andadvantagesanddisadvantagesoftheprotocol.Keywords:routingprotocolSPINSimulationMATLAB。无线传感器网络的应用前景十分广阔,其中的关键技术众多,路由协议因其应
5、用的广泛性、实用性成为了热点话题,研究者众。由于无线传感器网络的应用环境和传感器节点的能量有限,路由协议设计主要围绕寿命以及能源展开,使用周期长且能源充足的协议无疑更加优秀2。因为FIoOding(洪泛路由)协议存在的“重叠”和“内爆”等问题,提高网络生命周期和节点能量效率是必要的。SPIN路由协议为解决上述传统路由协议出现的缺陷,采用了资源自适应机制和协商的方法,也是首个以数据作为核心的协议。出于节省能量的考虑,节点间采用发送元数据而非所有原数据这样的方法来进行协商。而且传感器节点能够实时监控各自的能量变化,以便于随时终止低能量的节点,在一定程度上规避了盲目使用资源的问题。这对于无线传感器的
6、研究与探索无疑是一件好事。但在传输新数据时,由于忽略自身能量,当邻居节点能量不足时,直接向邻居节点发送ADV报文,就无法若转发数据,那么就不能将新数据转发给上一节点,这被称为“数据盲点”,并可能影响整个网络中数据包的收集。无线传感器网络是一门新兴技术,电气与电子工程师协会(InstituteofElectricalandElectronicsEngineers)作为一个国际性的电子技术与信息科学工程师的协会,目前暂无与无线传感器相关的研究组3,美国有关于这方面的研究及公开报道最早也要追溯到2000年,我国在无线传感器网络这方面的研究工作才刚刚开始,由此可见,无线传感器的研究处在一个起步阶段,因
7、此与之相关的技术与掌握技术的人才在那时并不对多见,是一项新兴技术,一切都处于空窗状态。而我国的个别高校已经在进行该领域的研究工作,但目前主要工作集中在推新以及了解全球研究进展方面,尚未有新设计的协议问世,所以在这方面国内外的差距并不大。目前,无线传感器技术仍旧处于探索模拟的阶段,想要据此造福人类仍旧有待研究。无线传感器网络的研究方向十分广泛,这也为此专业的探索增加了难度,无处不通也意味着到处不通,但由于目前的研究目的明确,我们也在一定程度上节省了精力与时间,在网络技术方面,主要以节点定位及网络层协议研究为主。而协议的研究与节实现节能的关系优又密不可分,因此本论文所论述的SPlN协议便是基于节能
8、而实现的。MATLAB是作为一款商业数学软件由美国的MathWorks公司出品的,主要用于深度学习、图像处理与计算机视觉、无线通信、建模,仿真和原型设计、算法开发、控制系统、探索和可视化、量化金融与风险管理、应用程序开发、数据分析、机器人、机器学习、信号处理等领域、深度学习等。4MATLAB的MA是指matrix,而LAB则是IabOratory的前缀,顾名思义,MATLAB的功能必然蕴藏在这两个词里,译为矩阵工厂。该软件主要面向的是自动控制、数字信号处理5、科学计算、通讯设计与仿真的高科技计算环境。它将图像处理、高等函数、数值分析、复变函数、初等函数、数据可视化、以及建模等诸多强大功能融为一
9、体,实现一物多用的便捷功能,并且仅仅只在一个可视窗口中就可以操作,为数学、建筑、金融、计算机以及其他涉及到精确测算的众多领域提供了一个最佳的选择,并在很大程度上挣脱了传统非交互式编程语言的模式的束缚。MATLAB作为三大数学软件之一,在有关专业领域内备受欢迎,以矩阵为基本数据单位,因其强大的功能在业内举足轻重。MATLAB大受追捧的原因之一就是用MATLAB来解决问题更加便捷,不仅融合了另外两大数学软件的优点,他的指令也符合数学的常用形式,相同要求的前提下,若是使用其他编程语言,或许要多花费更多的时间与精力,这使MATLAB的功能更加强大,成为首屈一指的数学软件。在新的版本如MATLABR20
10、22aMATLABR2022b和目前的最新版本MATLABR2023a支持其他高级汇编语言。1979年,美国国家工程院院士CleveBarryMoler编写了最早的MATLAB(MatrixLaboratory),那时MATLAB并不是一个真正意义上的编程语言,只是Moler用Fortran语言编辑的一个交互式矩阵计算器,其中仅仅包含71个关键字和内置函数,只能通过Fortran语言来进行扩展。即便是这样,MATLAB在成为Moler的教学工具以后还是受到了学生们的欢迎,即便一些科学家们对此嗤之以鼻,但随着越来越多的学生发现了MATLAB的好处之后,这个软件渐渐被越来越多的科研人员所熟知。19
11、83年,MOler偶然结识了一位名叫JaCkLittle的业内人士,他持有MlT的电子工程和计算机科学学士学位,以及StanfOrd的电子工程硕士学位。二人一见如故,LitUe对于MATLAB的开发很感兴趣,随即二人就合作达成一致。1984年,他们又找到了第三位合伙人SteVeBangert,他们共同创立了MathWorks,在美国推出了MATLABo当MATLAB成为了一种商品时,属于他自己的编程语言也诞生了,随着时间的推移,MATLAB的版本和功能不断推陈出新,又经过了20年的风云变迁,国际控制界已经将MATLAB视为最标准的计算软件,在国际的舞台中大放异彩,被称为“工程师和科学家的语言”
12、。 数值计算功能:提供高水平的数学计算能力,在其他数学软件中脱颖而出。 符号计算功能:高能数学或是工程数学中存在的高级计算符号因其收购了M叩Ie的使用权而被收录进自身的工具箱中,使得相关计算更加方便快捷。数据分析和可视化功能:在科研领域以及工程计算中,仅靠数字的堆积无法探索出其中奥义,将数据转化为图像,二维变为三维,有助于人们高效便捷的展开研究。 文字处理功能:强大的文字处理功能广泛应用于论文、教材、报告、专著等领域,使繁琐复杂的文字编辑“动”起来,实现另一程度的可视化。 SIMULINK动态仿真功能:该功能用于建模或者分析与仿真系统环境,其中具有大量的功能块,供开发者自由使用,拖放自如。 用
13、于构建应用程序的工具 用于高级汇编语言的接口全世界有数百万的开发者与科研人员都在通过MATLAB进行各种项目的分析与调整,同时也将自己的设计理念付诸其上,用自己的才华与软件的强大的功能渐渐的将我们的世界变得发高能,不断推出的新产品也在潜移默化之中改变着我们的生产与生活。经过十数年的发展,当前的MATLAB早己拥有了自己的语言,逻辑清晰易懂,又符合技术者们一贯的习惯,因此能够轻松地实现如可视化数据或是内置图形等操作。MATLAB内置的工具箱与模块集无一不是经过了长期测算精准度量,基于这些严格测试,我们能够放心地利用该软件实现所需的工作和学习6。鉴于计算机有可能会出现的种种故障,为防止因某些突发状
14、况而导致的文件遗失,MATLAB还拥有扩展云的功能,使开发者们的设计不仅能够保存在桌面,还能够即时上传云端。除此之外,MATLAB代码可以与其他高级语言集成,免去了多种高级语言无法通用的麻烦。(1)简单易学:数学化的语言编写程序由C语言开发而来,逻辑清晰易懂,上手简单,操作便捷。(2)图形处理功能强大:不仅能够绘制一维二维等简单图形,还能绘制工程性较强的复杂图形,也可根据自己的需要制作动画,实现可视化效果。(3)可扩展性强:用户可以选择自己编写MATLAB文件,自创工具箱,还可以使用独立的程序从而避免单一语言编程,初学者易于学习并掌握。(4)内部函数丰富:避免了常规的利用具体函数编译,MATL
15、AB的内部函数库里有海量函数存储,随取随用,减少了不必要的精力消耗,将更多的时间投入到创造当中。MaHab是一个基于矩阵的高级语言,于C语言颇有渊源,而C语言的强大之处就在于,无论是系统软件还是应用软件他都可以完成编写,因此,MATLAB的语言环境是非常高效的7,利于开发者们适应并熟练应用。用户既可以在窗口直接编写语句和执行命令,也可以将M文件提前写好再一起运行。此外,由于该语言可携性好、可扩展性强,这也让MATLAB在科学研究等各个领域走的更快更远。MATLAB内部编写成了一个大集合,其中包括了海量的算法以及数学函数8O如对数、线性方程组求解、指数、微分方程求解、三角函数、矩阵运算复变函数、
16、初等数学运算、进制数转换、偏微分方程的组求解、双曲函数、傅里叶变换、极限、稀疏矩阵运算、散点图、直方图、玫瑰花园,极坐标图、导数和建模动态仿真等等,极大地方便了用户的开发与使用。除了上述函数与算法之外,MATLAB中还包括更为复杂的算法公式,这些均为业界最新的研窕成果,并且从问世之初便开始了无限次的优化和改革,使其计算能力与日俱增,可代替C和C+等底层编程语言。若要求相同,使用MATLAB比使用其他语言更方便、快捷。MATLAB由于其被MOIer创造的初中就是减轻学生的课业压力,所以从最初版本的MATLAB开始,就写入了数据可视化功能,也就是将用户所编写的程序、函数或其他功能的数据转换成图形,并在其上进行注释,也可根据不同用户的需要进行打印。不仅如此,MATLAB还能生成动态的画面、三维立体图以及其他高层次作图。新版本的MATLAB中在图形处理这一方面有了极大地进步,不仅优化了原有的功能,对于其他软件未曾开发过的新方向如色度处