欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

LTE Module User Documentation(翻译5)——Mobility Model with Buildings

发布时间:2024/4/14 编程问答 84 豆豆
生活随笔 收集整理的这篇文章主要介绍了 LTE Module User Documentation(翻译5)——Mobility Model with Buildings 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

LTE用户文档

(如有不当的地方,欢迎指正!)

8 Mobility Model with Buildings

我们现在通过例子解释如何在 ns-3 仿真程序中使用 buildings 模型(特别是 MobilityBuildingInfo  和 BuildingPropagationModel 类) 来设置 LTE 仿真场景(包括建筑物和室内节点)。

1. 包含的头文件:

#include <ns3/mobility-building-info.h> #include <ns3/buildings-propagation-loss-model.h> #include <ns3/building.h>

2. 路径损耗模型选择:

Ptr<LteHelper> lteHelper = CreateObject<LteHelper> (); lteHelper->SetAttribute ("PathlossModel", StringValue ("ns3::BuildingsPropagationLossModel"));

3. EUTRA 频带选择:

传播模型的工作频段选择必须通过相关章节(“配置LTE模型参数”)描述的标准 ns-3  属性系统来实现,例如,通过设置 DlEarfcn 和 UlEarfcn 参数:   lteHelper->SetEnbDeviceAttribute ("DlEarfcn", UintegerValue (100)); lteHelper->SetEnbDeviceAttribute ("UlEarfcn", UintegerValue (18100));   注意,使用其他方式配置传播模型使用的频段(例如,直接配置相关的 BuildingsPropagationLossModel 属性),可能会在仿真期间对模块中频率的定义造成冲突,因此不提倡这样做。  

1. 移动性模型选择:

MobilityHelper mobility; mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");

2. 创建建筑物:

double x_min = 0.0; double x_max = 10.0; double y_min = 0.0; double y_max = 20.0; double z_min = 0.0; double z_max = 10.0; Ptr<Building> b = CreateObject <Building> (); b->SetBoundaries (Box (x_min, x_max, y_min, y_max, z_min, z_max)); b->SetBuildingType (Building::Residential); b->SetExtWallsType (Building::ConcreteWithWindows); b->SetNFloors (3); b->SetNRoomsX (3); b->SetNRoomsY (2); 上述代码会实例化一个住宅区建筑物,底部为 10 x 20 米,高为10 米,外墙是混凝土的窗户;建筑物有三层和 3 x 2 个同样大小的内部网格房间。

3. 节点创建和位置:

ueNodes.Create (2); mobility.Install (ueNodes); BuildingsHelper::Install (ueNodes); NetDeviceContainer ueDevs; ueDevs = lteHelper->InstallUeDevice (ueNodes); Ptr<ConstantPositionMobilityModel> mm0 = enbNodes.Get (0)->GetObject<ConstantPositionMobilityModel> (); Ptr<ConstantPositionMobilityModel> mm1 = enbNodes.Get (1)->GetObject<ConstantPositionMobilityModel> (); mm0->SetPosition (Vector (5.0, 5.0, 1.5)); mm1->SetPosition (Vector (30.0, 40.0, 1.5));

4. 完成建筑物和移动性模型的配置:

BuildingsHelper::MakeMobilityModelConsistent (); 详情见 buildings 模块文档。  

参考文献

https://www.nsnam.org/docs/models/html/lte-user.html

转载于:https://www.cnblogs.com/alice123/p/5500516.html

总结

以上是生活随笔为你收集整理的LTE Module User Documentation(翻译5)——Mobility Model with Buildings的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。