网络通信系统的voronoi图显示与能耗分析matlab仿真

news/2024/10/6 2:10:21/文章来源:https://www.cnblogs.com/softcodes/p/18288684

1.程序功能描述

        两层基站(BS)组成整个通讯网络,第 1 层为 Macro 基站记为 ,第 2 层为 Micro 基站记为 ,均服从泊松分布,相互独立,在坐标为 10×10km 的面积内、按照泊松分布随机生成若干个点(随机抛洒两遍 nodes,两层叠加起来)。然后画成 voronoi 图: 也就是在相邻两个点(同种类的点)之间距离的二分之一处画一条线。同时分析网络系统的能耗。

 

2.测试软件版本以及运行结果展示

MATLAB2022a版本运行

 

 

 

3.核心程序

 

            %计算每个用户的信号的强度for i = 1:Nu%针对Macro%选择最近的一个基站,计算对应的距离for j1 = 1:N1dist_tmp1(j1) = sqrt((xu(i)-x1(j1))^2 + (yu(i)-y1(j1))^2);enddist1 = min(dist_tmp1);P1(i) = Pt1*h*DeltaB1*dist1^(-alpha1);%针对Micro%选择最近的一个基站,计算对应的距离for j2 = 1:N2dist_tmp2(j2) = sqrt((xu(i)-x2(j2))^2 + (yu(i)-y2(j2))^2);enddist2 = min(dist_tmp2);P2(i) = Pt2*h*DeltaB2*dist2^(-alpha2);%选择较大的一个联结[V,I] = max([P1(i),P2(i)]);J(i)  = I; end%计算得到的J为每个用户对应选择的基站标号J;%根据如下规则计算SINR%定义与 Macro层BS连接的用户集合U1 = find(J==1);%定义与 Micro层BS连接的用户集合U2 = find(J==2);%计算SINR1和RATE1%计算SINR2和RATE2SINR1   = zeros(1,Nu);SINR2   = zeros(1,Nu);RATE1   = zeros(1,Nu);RATE2   = zeros(1,Nu);DeltaT1 = zeros(1,Nu);DeltaT2 = zeros(1,Nu);for i = 1:Nu%计算SINR1和RATE1if J(i) == 1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for j1 = 1:N1dist_tmp1(j1) = sqrt((xu(i)-x1(j1))^2 + (yu(i)-y1(j1))^2);endfor j2 = 1:N2dist_tmp2(j2) = sqrt((xu(i)-x2(j2))^2 + (yu(i)-y2(j2))^2);end       [V1,I1]= min(dist_tmp1);dist1  = V1;FZ     = Pt1*h*dist1^(-alpha1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ind1   = 0;tmps   = [];for j1 = 1:N1if (j1 < I1) | (j1 >I1)ind1 = ind1 + 1;tmps(ind1) = Pt1*h*dist_tmp1(j1)^(-alpha1); endendFM1   = sum(tmps); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%tmps  = [];for j1 = 1:N2tmps(j1) = Pt2*h*dist_tmp2(j1)^(-alpha2); endFM2   = sum(tmps); SINR1(i)   = FZ/(FM1+FM2+10^(delta2/20)/1000);RATE1(i)   = B*log2(1+SINR1(i));DeltaT1(i) = epsl/RATE1(i);elseSINR1(i)   = 0;RATE1(i)   = 0;DeltaT1(i) = 0; end%计算SINR2和RATE2if J(i) == 2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for j1 = 1:N1dist_tmp1(j1) = sqrt((xu(i)-x1(j1))^2 + (yu(i)-y1(j1))^2);endfor j2 = 1:N2dist_tmp2(j2) = sqrt((xu(i)-x2(j2))^2 + (yu(i)-y2(j2))^2);end       [V2,I2]= min(dist_tmp2);dist2  = V2;FZ     = Pt2*DeltaB2*h*dist2^(-alpha2); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%tmps   = [];for j1 = 1:N1tmps(j1) = Pt1*h*dist_tmp1(j1)^(-alpha1); endFM1   = sum(tmps); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%tmps  = [];ind2  = 0;for j1 = 1:N2if (j1 < I2) | (j1 >I2)ind2 = ind2 + 1;tmps(ind2) = Pt2*h*dist_tmp2(j1)^(-alpha2); endendFM2   = sum(tmps); SINR2(i)   = FZ/(FM1+FM2+10^(delta2/20)/1000);RATE2(i)   = B*log2(1+SINR2(i));DeltaT2(i) = epsl/RATE2(i); elseSINR2(i)   = 0;RATE2(i)   = 0;DeltaT2(i) = 0; end    end%计算EPbs1 = zeros(1,Nu);Pm1  = zeros(1,Nu);Pbs2 = zeros(1,Nu);Pm2  = zeros(1,Nu); 
12_011m

  

 

4.本算法原理

       网络通信系统的Voronoi图显示与能耗分析是一种结合网络通信和图形学的方法,用于研究网络中各个节点之间的连接关系和能量消耗情况。通过Voronoi图,我们可以直观地展示网络中各个节点的可达性和连接关系,同时分析网络的能耗分布和优化方法。

 

       Voronoi图,也称为泰森多边形,是一种基于点集的分割图形。在这个图中,每个点被表示为一个顶点,每个顶点周围区域内的其他点都距离该点最近。通过Voronoi图,我们可以将一个连续的平面分割为若干个不重叠的区域,使得每个区域都包含一个顶点。

 

       在网络通信系统中,我们可以将网络中的各个节点作为Voronoi图的顶点,节点之间的连接关系作为边。通过这种方式,我们可以将网络拓扑结构转化为图形结构,从而更直观地展示网络的连接关系。

 

       Voronoi图的生成主要依赖于计算几何中的一些基本算法。以下是生成Voronoi图的基本步骤:

 

确定顶点集:在网络通信系统中,顶点集可以由网络中的各个节点构成。

确定距离函数:距离函数用于计算任意两个节点之间的距离。在Voronoi图中,距离函数通常采用欧几里得距离或曼哈顿距离。

计算最小生成树:最小生成树是一种包含所有顶点且边权值最小的树形结构。在网络通信系统中,最小生成树可以用于表示网络中各个节点之间的连接关系。常用的最小生成树算法有Prim算法和Kruskal算法。

生成Voronoi图:根据最小生成树和距离函数,我们可以生成Voronoi图。在生成过程中,对于每个顶点,我们计算其周围区域内的其他顶点距离该点的距离,并将这些顶点连接起来形成边。最终得到的图形就是Voronoi图。

       在网络通信系统中,能耗是一个重要的性能指标。能耗分析旨在研究网络中各个节点的能量消耗情况,以便进行优化和节能。在进行能耗分析时,我们可以考虑以下几个方面:

 

传输能耗:节点在传输数据时需要消耗能量。传输能耗与传输距离、传输速率以及传输功率等因素有关。一般来说,传输距离越远,传输速率越高,传输功率越大,则传输能耗也越大。

接收能耗:节点在接收数据时也需要消耗能量。接收能耗与接收速率、接收功率等因素有关。一般来说,接收速率越高,接收功率越大,则接收能耗也越大。

处理能耗:节点在处理数据时需要消耗能量。处理能耗与处理器的时钟频率、指令执行能耗等因素有关。一般来说,处理器的时钟频率越高,指令执行能耗越大,则处理能耗也越大。

空闲能耗:节点在空闲状态下也需要消耗能量。空闲能耗与节点的待机功耗等因素有关。一般来说,节点的待机功耗越大,则空闲能耗也越大。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/739835.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django详细笔记

django 学习 特点快速开发 安全性高 可伸缩性强URL 组成部分 URL: 同意资源定位符 一个URL由以下几部分组成 scheme://host:port/path/?query-string=xxx#anchorscheme: 代表的是访问的协议,一般为http或https协议 host: 主机名,域名 port: 端口 http 默认:80端口 …

关于虚拟机的使用

1、从网上下载了Centos7 2024年CentOS镜像下载地址,包括CentOS官网、国内镜像下载,超详细教学,小白也能学会。-CSDN博客 2、通过VMware添加了该iso文件,打开虚拟机之后安装该系统就可以了 3、进入之后我们需要进行软件安装、安装位置、KDUMP、网络和主机名的修改操作其中,…

LSTUR论文阅读笔记

Neural News Recommendation with Long- and Short-term User Representations论文阅读笔记 这个同样是一篇很老但是比较经典的文章,这里来读一下 Abstract 存在的问题: ​ 用户通常既有长期偏好,也有短期兴趣。然而,现有的新闻推荐方法通常只学习用户的单一表征,这可能是…

实战篇——文件包含漏洞一

实战篇——文件包含漏洞(1) 本地文件包含 本地文件包含一般需要依赖文件上传漏洞。如果文件上传漏洞限制上传文件的后缀必须为.jpg,那么配合本地文件包含,就可以通过上传图片木马获得服务器权限。 上传图片木马:利用本地文件包含,成功连接一句话木马:可见本地文件包含最大…

XShell连接失败解决

实现:宿主机的 Windows 和虚拟机的 Linux 能够进行网络连接,同时虚拟机的 Linux 可 以通过宿主机的 Windows 进入互联网简而言之:Windows 和虚拟机的 Linux能够互相ping成功解决的问题:XShell连接不成功第一步:编辑 VMware 的网络配置然后全部点击确定,VMware 的网络配置…

基于负相关误差函数的4集成BP神经网络matlab建模与仿真

1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 MATLAB2022a3.部分核心程序while(Index<=Max_iteration) Indexjj=1; error2 = zeros(Len,KER);while(jj<=Len) for k=1:No;d(k)=T(jj); endfor i=1:NI;x(i)=P(jj,i);end%集成多个BP神经…

9、flask-会话-cookie

Cookie 客户端的会话技术: - cookie本身由浏览器保存,通过response将cookie写道浏览器上、下一次访问时、浏览器会根据不同的规则携带cookie过来特点: - 客户端的会话技术、浏览器的会话技术 - 数据全都是存储在客户端中 - 存储使用的键值对结构进行的存储 - 特性:- 支持过…

# Day02

1. #盘符转换 2. #查看当前目录下的所有文件 dir 3. #切换目录 cd change directory 4. #返回上一级 cd.. 5. #进入目录下的一级文件 先用第二步查看目录下的文件 然后cd+空格+一级文件名称 6 .#进入一级文件下的二级文件 方法同第五步 7. #清理屏幕 cls (简记clear screen) 8.…

dotnet WinUI3 Win2D 翻转图片

本文将告诉大家如何在 WinUI3 里面使用 Win2D 进行图片的翻转,本文的方法也适用于 UWP 框架图片的翻转在 Win2D 里面,可以使用 Transform2DEffect 特效来辅助实现,核心逻辑就是通过缩放矩阵当成2D翻转矩阵,将缩放的 X 和 Y 传入负数即可分别实现对应方向的翻转。比如左右水…

UWP WinUI 制作一个路径矢量图标按钮样式入门

本文将告诉大家如何在 UWP 或 WinUI3 或 UNO 里,如何制作一个路径按钮。路径按钮就是使用几何路径轮廓表示内容的按钮,常见于各种图标按钮,或 svg 系贴图矢量图按钮在网上有非常多矢量图库,其中免费的图库也非常多,比如 https://www.iconfont.cn/ 等等。在咱的应用程序里面…

【攻防技术系列+代理转发】工具--netcat

【需求】现在想要实现两个不同网段的私网之间相互通信,我们该如何做呢?🔴实验环境:【kali(攻击端)】:192.168.10.131 【centos7(跳板机)】:192.168.10.39;172.16.80.130 【win7】:172.16.80.131 工具:netcat【kali】: 开启监听【centos7】:【kali】: 获得对方的…