💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

毫米波 V2I 技术是一种用于车辆到基础设施的通信的创新解决方案,它利用毫米波频段的高带宽和低延迟特性,实现了快速而可靠的车辆与城市基础设施之间的通信。本文旨在通过链路层仿真,对毫米波 V2I 网络在具有低层现代建筑的城市环境中的性能进行研究。

为了在仿真中模拟真实的城市环境,我们选择了一个类似于曼哈顿纽约市的网格状街道地理,并基于该地理特征设计了10条车辆路线。然而,由于我们无法获取特定城市某个部分的真实3D模型,我们通过使用 LoadVehRouteData.m 脚本,将这些路线替换到一个平面的虚拟环境中,以便进行仿真研究。这种方法使得我们能够轻松地生成所需数量的路线,例如,我们可以模拟50条不同的车辆路线。

通过进行这些链路层仿真,我们可以评估毫米波 V2I 网络在真实城市环境中的性能表现。我们研究了不同车辆之间的干扰、基础设施之间的信号传输效率以及信道容量等关键指标。通过收集仿真结果,我们可以深入了解毫米波 V2I 网络的潜力和局限,并为将来的优化和改进提供有价值的指导。

此外,通过在具有低层现代建筑的城市环境中进行仿真研究,我们可以获得对毫米波 V2I 网络在实际部署中的性能预期。这对于城市规划者和相关利益相关者来说是非常重要的,因为他们可以基于仿真结果来评估网络布局、频谱规划和基础设施部署的最佳实践。通过结合仿真结果和真实数据,我们可以为毫米波 V2I 技术的发展和推广做出更加可靠和有效的决策。

综上所述,本文的研究通过链路层仿真,对毫米波 V2I 网络在具有低层现代建筑的城市环境中的性能进行了深入的探究。通过模拟多条车辆路线,并评估关键指标,我们为毫米波 V2I 技术的优化和应用提供了有力的支持,并为相关利益相关者提供了宝贵的指导。这项研究对于推动智慧城市和智能交通系统的发展具有重要意义,并为我们更好地了解和利用毫米波 V2I 技术的潜力奠定了基础。

文献:

毫米波(mmWave)通信越来越被视为满足新兴智能交通系统(ITS)应用所要求的通信限制的一种手段。本文设计了一种新型的定向MAC协议,该协议包含城市环境中毫米波车辆到基础设施(V2I)网络特有的资源分配策略。我们特别考虑了一个网络,其中每个基站(BS)配备了混合波束成形天线阵列,同时为多辆车提供服务。使用特定于毫米波车辆通道的相干带宽和相干时间模型,提供了BS用于高效多用户调度的可靠资源分配方案。新颖之处在于多用户场景,即专门为毫米波信道设计的时频资源分配。为了评估网络,MATLAB 中完全内置了一个信道模拟器来执行链路层仿真。

📚2 运行结果

动态运行图:

部分代码:

function visualizePacking(RB, data, NRsbLeftUnpacked, IndRsbLeftUnpacked, TrimLoss)

subplot(211)
r = rectangle('Position',[0 0 RB(1) RB(2)]);
r.FaceColor = [1 1 1];
r.LineWidth = 1.5;
axis([-1 RB(1)+2 -1 RB(2)+2]);

nRectSmall = size(data,1);
for iSmall = 1:nRectSmall
    r = rectangle('Position',data(iSmall,:));
    r.FaceColor = rand(1,3);
    r.LineWidth = 1.5;
end

title('Guillotine Packing','FontSize',25,'FontName','Arial','FontWeight','bold');

subplot(212)
str1 = ['Trim Loss = ' num2str(TrimLoss)];
str2 = ['Total number of RSBs: ' num2str(nRectSmall)];
str3 = [' #RSBs left unpacked = ' num2str(NRsbLeftUnpacked)];
str4 = [' Index of RSBs left unpacked = ' num2str(IndRsbLeftUnpacked)];
text(0.15,0.5,{str1,str2,str3,str4},'Color','red','FontSize',16)

axis off

end

function visualizePacking(RB, data, NRsbLeftUnpacked, IndRsbLeftUnpacked, TrimLoss)

subplot(211)
r = rectangle('Position',[0 0 RB(1) RB(2)]);
r.FaceColor = [1 1 1];
r.LineWidth = 1.5;
axis([-1 RB(1)+2 -1 RB(2)+2]);

nRectSmall = size(data,1);
for iSmall = 1:nRectSmall
    r = rectangle('Position',data(iSmall,:));
    r.FaceColor = rand(1,3);
    r.LineWidth = 1.5;
end

title('Guillotine Packing','FontSize',25,'FontName','Arial','FontWeight','bold');

subplot(212)
str1 = ['Trim Loss = ' num2str(TrimLoss)];
str2 = ['Total number of RSBs: ' num2str(nRectSmall)];
str3 = [' #RSBs left unpacked = ' num2str(NRsbLeftUnpacked)];
str4 = [' Index of RSBs left unpacked = ' num2str(IndRsbLeftUnpacked)];
text(0.15,0.5,{str1,str2,str3,str4},'Color','red','FontSize',16)

axis off

end

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]赵宇,张伟.传感网络数据链路层上碰撞攻击检测模型仿真[J].计算机仿真, 2014(009):031.

[2]王曦爽,孟新.卫星网络仿真系统建模的研究[J].计算机工程与应用, 2004, 40(23):4.DOI:10.3321/j.issn:1002-8331.2004.23.045.

[3]R. Subramanian, "A Resource Allocation Scheme for Multi-User MmWave Vehicle-to-Infrastructure Communication," accepted for publication in the Future Technologies Conference (FTC) 2018, Vancouver, BC, Canada. 13-14 Nov. 2018.

🌈4 Matlab代码实现

相关文章

使用Go Validator在Go应用中有效验证数据

Go Validator是一个开源的包,为Go结构体提供强大且易于使用的数据验证功能。该库允许开发者为其数据结构定义自定义验证规则,并确保传入的数据满足指定的条件。Go Validator支持内置验证器、自定义验证器,甚至允许您链式多个验证规则以满足更复杂的数据验证需求。如果内置验证器无法满足您的需求,您可以通过定义自己的验证函数来创建自定义验证器。这个功能允许您实现特定于应用程序需求的验证逻辑。

C# this关键字的作用

关键字在C#中主要用于引用当前对象,区分字段与局部变量,调用其他构造函数以及传递当前对象给其他方法或构造函数。

C语言中关于#include的一些小知识

如果是你自己编写的头文件,那么如果没加唯一包含标识的话,那么编译器会编译报错的。如果是系统自带的头文件,由于其每个头文件都加了特殊标识,所以即使你包含两遍,也不会有问题。上面的代码片段会首先判断HEADER_FILE_NAME_H是否被定义,若未定义则进行后续操作;#ifndef HEADER_FILE_NAME_H // 定义了一个名为HEADER_FILE_NAME_H的标记符号。#define HEADER_FILE_NAME_H // 当第一次包含该头文件时,将此标记设置为已定义状态。

IP定位技术助力网络安全保护

当网络遭受DDoS攻击时,通过IP定位技术,可以迅速确定攻击源头的地理位置,进而采取相应的防御措施,如屏蔽攻击源IP地址等。随着技术的不断进步和应用场景的不断拓展,IP定位技术将在网络安全保护领域发挥更加重要的作用,为网络空间的安全稳定提供有力保障。例如,网络管理员可以根据IP定位结果,将恶意IP地址列入黑名单,阻止其访问网络,从而避免潜在的安全威胁。IP定位技术是一种基于IP地址的地理位置定位技术,通过分析IP地址的归属地信息,可以精确地确定网络用户的地理位置,从而实现对网络流量的有效监控和管理。

C语言中的作用域与生命周期

但是全局变量被 static 修饰之后,外部链接属性就变成了内部链接属性,只能在自己所在的源文件内部使用了,其他源文件,即使声明了,也是无法正常使用的。结论:static修饰局部变量改变了变量的生命周期,生命周期改变的本质是改变了变量的存储类型,本来一个局部变量是存储在内存的栈区的,但是被 static 修饰后存储到了静态区。extern 是用来声明外部符号的,如果一个全局的符号在A文件中定义的,在B文件中想使用,就可以使用extern进行声明,然后使用。全局变量的生命周期是:整个程序的生命周期。

Python和Java的区别(不断更新)

运行效率:一般来说,Java的运行效率要高于Python,这主要是因为Java是编译型语言,其代码在执行前会进行预编译,而Python是解释型语言,边解释边执行。而Python没有类似的强大虚拟机,但它的核心是可以很方便地使用C语言函数或C++库,这使得Python可以轻松地与底层硬件进行交互。**类型系统:**Java是一种静态类型语言,所有变量需要先声明(类型)才能使用,且类型在编译时就已经确定。总的来说,Python和Java各有其优势和特点,选择哪种语言取决于具体的项目需求、开发环境以及个人偏好。

.[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复

这些勒索病毒往往攻击入侵的目标基本是Windows系统的服务器,包括一些市面上常见的业务应用软件,例如:金蝶软件数据库,用友软件数据库,管家婆软件数据库,速达软件数据库,科脉软件数据库,海典软件数据库,思迅软件数据库,OA软件数据库,ERP软件数据库,自建网站的数据库等,均是其攻击加密的常见目标文件,所以有以上这些业务应用软件的服务器更应该注意做好服务器安全加固及数据备份工作。通过采取这些预防措施,您可以最大程度地降低成为[hudsonL@cock.li].mkp勒索病毒等威胁的风险,并保护您的数据安全。

C#中的浅度和深度复制(C#如何复制一个对象)

接着,我们修改了复制得到的对象及其引用类型字段的属性值,最后输出原始对象和复制对象的属性值。这意味着如果一个类包含引用类型成员,在执行深度复制时,不仅复制这些引用,还会递归地复制引用所指向的对象,直到所有的引用都指向全新的对象实例。当进行浅复制时,系统会创建一个新的对象实例,但这个新对象的字段将与原始对象中的值类型字段具有相同的值,而对于引用类型字段,则仅仅是复制了。也就是说,如果一个类中有引用类型的成员变量(比如数组、其他自定义类的对象等),那么浅复制后,新对象和原对象的这些引用类型成员仍然指向。

C++ STL精通之旅:向量、集合与映射等容器详解

STL 作为一个封装良好,性能合格的 C++ 标准库,在算法竞赛中运用极其常见。灵活且正确使用 STL 可以节省非常多解题时间,这一点不仅是由于可以直接调用,还是因为它封装良好,可以让代码的可读性变高,解题思路更清晰,调试过程往往更顺利。

Ubuntu使用Docker部署Nginx并结合内网穿透实现公网远程访问

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://服务器的局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可。如果有长期远程访问本地Nginx服务的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定的二级子域名方式来远程访问。,点击左侧的预留,选择保留二级子域名,地区选择China VIP,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称。

二维平面阵列波束赋形原理和Matlab仿真

阵面左下角天线位于坐标原点,将坐标原点阵元设为参考阵元,计算每个阵元相对于该参考阵元的入射波程差,从而来计算每个阵元接收的回波信号。实现波束赋形的最基本的方法是对各个天线阵元的信号进行适当延迟后相加,使目标方向的信号同相叠加得到增强,而其他方向均有不同程度的削弱,该方法通常用于模拟信号.根据上述理论推导可以仿真任意平面阵列的方向图,这里对两种典型的阵列(矩形平面阵列和圆形阵列)进行Matlab仿真,其余类型的阵列在此基础上修改即可。根据上述圆形阵列公式做仿真,得到下述的三维空间方向图。

解决Linux环境下gdal报错:ERROR 4: `/xxx.hdf‘ not recognized as a supported file format.

题外话:我发现linux系统和Windows系统下面,库的版本是有差异的。比如我的本机Windows上装的是gdal3.2.3和numpy1.19.1,linux服务器上装的却是gdal3.0.2和numpy1.21.5。这个是很常见的回复,网上许多回答都说低版本的 gdal 不支持 hdf5,让你重装高版本的gdal。我之前用pip安装了whl,暴力装上了,但用的时候就会有问题。安装了不冲突的gdal之后,就成功打开文件啦~一开始我是抱着试试的心态,用conda,不用pip,重新安装了一下我的gdal。

C语言常见面试题:什么是枚举,枚举的作用是什么?

首先,枚举是一种特殊的类,它的主要作用是封装一组常量,例如,一周的七天、月份、季节等。枚举在JDK1.5后被引入,相较于之前的常量定义方式,枚举具有更好的安全性和更好的性能。每个枚举常量都是该枚举类的一个实例,因此可以使用构造函数来初始化每个枚举常量的值。综上所述,枚举的常用用法包括常量定义、switch语句、添加新方法、覆盖枚举的方法、实现接口以及使用接口组织枚举等。枚举是一种特殊的数据类型,它是一组具命名的整型常量的集合。枚举是一种特殊的数据类型,它是一组具命名的整型常量的集合。

Web 安全之点击劫持(Clickjacking)攻击详解

点击劫持(Clickjacking)攻击,又称为界面伪装攻击,是一种利用视觉欺骗手段进行攻击的方式。攻击者通过技术手段欺骗用户点击本没有打算点击的位置,当用户在被攻击者攻击的页面上进行操作时,实际点击结果被劫持,从而被攻击者利用。这种攻击方式利用了用户对网站的信任,通过覆盖层(通常是透明的iframe)覆盖在另一个网页之上,使受害者无法察觉。

为什么Java中的String类被设计为final类?

String类作为Java中不可或缺的类之一,被设计成final类带来了不可变性、安全性、可靠性和性能优势。不可变的特性使得String对象在多线程环境下安全共享,提高了应用程序的并发性和性能。此外,String类的设计还符合Java类库的一致性和规范,确保了整个语言的稳定性和可靠性。因此,String类被设计成final类是出于多方面的考虑,以提供最佳的使用体验和编程效率。

Docker网络配置与自定义IP容器通信

互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于 IP地址的寻址操作。

大数据深度学习卷积神经网络CNN:CNN结构、训练与优化一文全解

卷积神经网络是一种前馈神经网络,它的人工神经元可以响应周围单元的局部区域,从而能够识别视觉空间的部分结构特征。卷积层: 通过卷积操作检测图像的局部特征。激活函数: 引入非线性,增加模型的表达能力。池化层: 减少特征维度,增加模型的鲁棒性。全连接层: 在处理空间特征后,全连接层用于进行分类或回归。卷积神经网络的这些组件协同工作,使得CNN能够从原始像素中自动学习有意义的特征层次结构。随着深度增加,这些特征从基本形状和纹理逐渐抽象为复杂的对象和场景表现。

什么是DDOS高防ip?DDOS高防ip是怎么防护攻击的

同时,高防IP设备还支持防御日志的记录和分析功能,可以对攻击流量进行深入分析,进一步了解攻击来源和特点,为后续的防御策略提供数据支持。为了解决这些问题,高防IP作为一种网络安全服务应运而生。高防IP通过实时监测和分析流量,识别和拦截恶意流量,确保正常流量能够安全地转发给目标服务器,从而保护企业的业务正常运行。高防IP设备会对流量进行实时监测和分析,对流量的来源、目的地、协议、数据包大小、数据包速率等进行全面分析和判断。通过对流量的实时监测和分析,可以及时发现异常流量的存在,为后续的防御策略提供依据。

Promise和箭头函数和普通函数的区别

箭头函数与普通函数的区别在于: 1、箭头函数没有this,所以需要通过查找作用域链来确定this的值,这就意味着如果箭头函数被非箭头函数包含,this绑定的就是最近一层非箭头函数的this, 2、箭头函数没有自己的arguments对象,但是可以访问外围函数的arguments对象 3、不能通过new关键字调用,同样也没有new.target值和原型。6、箭头函数没有自己的arguments,可以在箭头函数中使用rest参数代替arguments对象,来访问箭头函数的参数列表。
返回
顶部