利用matlab仿真最小发射功率下wsn的连通性和覆盖率.docx
江南大学物联网ZK1/5一题目利用MATLAB仿真最小发射功率下WSN的连通性和覆盖率。二目的(1)在固定节点个数的前提下,仿真求得使网络保持连通的最小通信半径(最低能级)。(2)在上述节点个数和通信半径的前提下,计算随机布撒的节点的覆盖率。三方法描述(1)首先假设通信半径都等于感知半径,并且每个节点发射功率均相同。在1X1的单位矩形中随机部署100个传感器节点,在每一节点通信半径下进行1000次试验,进而模拟出连通率随通信半径增加的变化趋势。得出在1000点下保持网络连通的最小通信半径。00102030405060708091通信半径00102030405060708091网络连接概率X029Y1图1通信半径与网络连通率从图一可以得出,每个节点得最小通信半径为R029。(2)通过一次随机布撒100个节点,并以每个节点为圆心,绘出半径为029的圆。如图2所示0020406081NUMBER100,R02900102030405060708091江南大学物联网ZK2/5图2覆盖统计示意图开始想利用微元的思想,将1X1的区域划分成100个小方格,但之后发现该方法复杂。实验中采用将每个节点的圆(通信覆盖范围)填充为黑色,通过连通图中黑白像素点的比例得到覆盖率。覆盖图如下图3所示002040608100102030405060708091图3节点通信覆盖图算法实现流程图如下开始IMREAD读取填充连通图像素点像素值0M是否遍历所有像素点连通率M/LENLIENYNYRGB2GRAY转化为LEN,LIE二值灰度矩阵江南大学物联网ZK3/5图4覆盖率算法实现流程试验中注意的是在得到网络的覆盖图之后,需要将其尽情处理,仅将1X1的区域截出进行计算,否则实验结果会出现意外错误。截图如下所示图5网络覆盖截图实现重要程序如下PPIMREAD C\USERS\ZHANGKUN\DESKTOP\1PNG PRGB2GRAYPPM0LENSIZEP,1LIESIZEP,2FORI1LENFORJ1LIEIFPI,J0MM1ENDENDENDFUGAILVM/LENLIE09346通过计算得到上图的覆盖率为9346四实验结论在节点个数确定时,存在一个使网络保持连通的最小通信半径(最小能级),可以达到节约能量。本实验中选取100个节点随机布撒,通过1000次仿真得到网络的最小通信半径为029M,在该半径下一次随机布撒的覆盖率为9346。江南大学物联网ZK4/5L1节点布置区域THETA0PI/1002PIN100节点个数NODE_MAX029节点最大通信距离XUNIFRND0,L,1,N生成N个均匀随机数作为横坐标BSQRTL2ABSX2计算每个X对应的Y范围YUNIFRND0,B,1,N对每个横坐标生成均匀随机数作为纵坐标PLOTX,Y, HOLDONAXISEQUALAXIS0101FIGURE1FORI1NHOLDONXNODE_MAXCOSTHETAXIYNODE_MAXSINTHETAYIPLOTX,Y, B FILLX,Y, K ENDFIGURE2AXISEQUALAXIS0101FORI1NHOLDONXNODE_MAXCOSTHETAXIYNODE_MAXSINTHETAYIPLOTX,Y, K FILLX,Y, K ENDPPIMREAD C\USERS\ZHANGKUN\DESKTOP\1PNG PRGB2GRAYPPM0LENSIZEP,1LIESIZEP,2FORI1LENFORJ1LIEIFPI,J0MM1ENDENDEND江南大学物联网ZK5/5FUGAILVM/LENLIE09346