LTE Module User Documentation(翻译7)——无线环境地图(REM)、AMC 模型 和 CQI 计算

LTE用户文档

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

12 Radio Environment Maps

通过使用类 RadioEnvironmentMapHelper  是可能输出文件 Radio Environment Map (REM) 的,例如一个统一的 2D 网格值,表示下行基站(在每个点有最强的信号)的信噪比,可以指定 REM 是否应生成数据或控制信道。 并且,用户可以设置 RbId, 它表示 REM 将生成。 默认情况下,RbId 为 -1 ,表示 REM 将生成来自所有 RBs 的平均信噪比。

为了实现这一点,你只需在你的仿真程序接近尾端时添加下列代码,刚好在调用 Simulator::Run () 前:

Ptr<RadioEnvironmentMapHelper> remHelper = CreateObject<RadioEnvironmentMapHelper> ();
remHelper->SetAttribute ("ChannelPath", StringValue ("/ChannelList/0"));
remHelper->SetAttribute ("OutputFile", StringValue ("rem.out"));
remHelper->SetAttribute ("XMin", DoubleValue (-400.0));
remHelper->SetAttribute ("XMax", DoubleValue (400.0));
remHelper->SetAttribute ("XRes", UintegerValue (100));
remHelper->SetAttribute ("YMin", DoubleValue (-300.0));
remHelper->SetAttribute ("YMax", DoubleValue (300.0));
remHelper->SetAttribute ("YRes", UintegerValue (75));
remHelper->SetAttribute ("Z", DoubleValue (0.0));
remHelper->SetAttribute ("UseDataChannel", BooleanValue (true));
remHelper->SetAttribute ("RbId", IntegerValue (10));
remHelper->Install ();

通过配置  RadioEnvironmentMapHelper  对象的属性,你可以调整生成的 REM 参数。注意,每个  RadioEnvironmentMapHelper  实例只能生成一个 REM ;如果你想生成更多的 REMs,你需要为每个 REM 创建单独的实例。

注意,REM 的生成是非常苛刻的,特别的:

  • 运行时的内存消耗几乎是 5KB 每像素。例如,一个具有 500x500 分辨率的 REM 大概需要 1.25 GB 内存,一个具有 1000x1000 分辨率的 REM 大概需要 5 GB 内存(对于常规的 PC 来说太大了) 。为了克服这一点,REM的生成需要连续的步骤,每一步至多估计的像素数目由属性  RadioEnvironmentMapHelper::MaxPointsPerIteration 的值来确定。
  • 如果你在仿真开始时生成一个REM,执行剩余的仿真就会慢下速度。如果你想生成一个程序的 REM,并使用同一程序获取仿真结果,推荐添加命令行开关,它要么生成 REM,要么运行完整的仿真。为了实现这一点,注意,有一个属性 RadioEnvironmentMapHelper::StopWhenDone(default: true)会在生成 REM 后强制仿真停止。

REM 以下列格式存储在一个 ASCII 文件中:

  • column 1 为 x 坐标
  • column 2 为 y 坐标
  • column 3 为 z 坐标
  • column 4 为 SINR in linear units

绘制 REM 的最小 gnuplot 脚本:

set view map;
set xlabel "X"
set ylabel "Y"
set cblabel "SINR (dB)"
unset key
plot "rem.out" using ($1):($2):(10*log10($4)) with image

例如,这是根据示例程序  lena-dual-stripe 获得的一个 REM ,表示一个3 扇区的 LTE 宏小区以同信道部署,一些住宅家庭小区随机部署在公寓的 2 个街区中。

注意, lena-dual-stripe 示例程序也会生成 gnuplot-compatible 输出文件,包含用户与基站节点以及建筑物的位置信息,分别为文件 ues.txt、 enbs.txt  和 buildings.txt 。使用 gnuplot 时,这些可以很容易包含在内。例如,假定你的 gnuplot 脚本(例如上面描述的最小 gunplot 脚本)保存为  my_plot_script  ,运行下列命令会在 REM 顶端画出用户、 基站和建筑物的位置:

gnuplot -p enbs.txt ues.txt buildings.txt my_plot_script

13 AMC Model and CQI Calculation

对于 MCSs 的选择和相应 CQIs 的生成,仿真器提供两种可能的方法。前者基于 GSoC 模块[Piro2011] ,基于 每个 RB 工作。该模型可以使用 ns3 属性系统激活:

Config::SetDefault ("ns3::LteAmc::AmcModel", EnumValue (LteAmc::PiroEW2010));

与此同时,基于物理误差模型的解决方案可以使用下列代码控制:

Config::SetDefault ("ns3::LteAmc::AmcModel", EnumValue (LteAmc::MiErrorModel));

最后, PiroEW2010 AMC 模块所需的效率可以通过  Ber 属性来调整:

Config::SetDefault ("ns3::LteAmc::Ber", DoubleValue (0.00005));

参考文献

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

时间: 2024-10-27 12:55:49

LTE Module User Documentation(翻译7)——无线环境地图(REM)、AMC 模型 和 CQI 计算的相关文章

LTE Module User Documentation(翻译8)——核心网(EPC)

LTE用户文档 (如有不当的地方,欢迎指正!) 14 Evolved Packet Core (EPC) 我们现在讲解如何编写一个仿真程序——除了 LTE 无线接入网外,还允许仿真 EPC. EPC 允许使用 IPv4 网络与 LTE 设备连接.换句话说,可以在 LTE 上使用常规的 ns-3 应用和 IPv4  sockets ,并且能够把 LTE 网络与仿真中的任何 IPv4 网络相连接. 首先,除了我们已经在 Basic simulation program 中介绍过的 LteHelper

LTE Module User Documentation(翻译15)——示例程序、参考场景以及故障检测和调试技巧

LTE用户文档 (如有不当的地方,欢迎指正!) 21 Examples Programs(示例程序) 路径 src/lte/examples/ 包含一些示例仿真程序,这些例子表明如何仿真不同的LTE场景. 22 Reference scenarios(参考场景) 文献中可以找到大量的参考仿真场景.下面我们列出了其中一部分: [TR36814] 的 A.2 节提到的系统仿真场景. dual stripe model [R4-092042], 在示例程序  src/lte/examples/lena

LTE Module User Documentation(翻译)

LTE用户文档 (如有不当的地方,欢迎指正!) 1.背景 假定读者已经熟悉 ns-3 simulator ,能运行一般的仿真程序.如果不是的话,强烈推荐读者参考 [ns3tutorial]. 2. 使用概述 ns-3 LTE 模块是一个软件库,允许仿真LTE网络,一些情况下还可以仿真核心网 Evolved Packet Core (EPC).仿真过程通常涉及以下几个步骤: 定义仿真场景. 编写程序,重建期望的仿真场景拓扑/架构,通过使用 ns3::LteHelper API(定义在 src/lt

LTE Module User Documentation(翻译11)——配置用户测量

LTE用户文档 (如有不当的地方,欢迎指正!) 17 Configure UE measurements 仿真中激活的用户测量配置取决于所选的 “consumers”,例如切换算法.用户可能需要添加自己的配置,有以下几种方式: 在基站 RRC 实体中直接配置: 配置现有的切换算法:并 开发一种新的切换算法. 本节只讲述第一种方法.第二种方法在章节 Automatic handover trigger 中,第三种方法在设计文档的 Handover algorithm 中有讲. 在基站 RRC 直接

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/bui

LTE Module User Documentation(翻译4)—— 使用 Fading Trace

LTE用户文档 (如有不当的地方,欢迎指正!) 7 使用 Fading Trace 本节描述如何在 LTE 仿真中使用 fading traces . (1)生成 Fading Traces  通过使用专用的 matlab 脚本 (/lte/model/fading-traces/fading-trace-generator.m)提供的代码生成 fading traces .该脚本包含典型的 taps 配置,用于 3 种 3GPP 场景(例如,行人.车辆和城市,定义在 Annex B.2 of 

LTE Module User Documentation(翻译6)——物理误差模型、MIMO模型、天线模型

LTE用户文档 (如有不当的地方,欢迎指正!) 9 PHY Error Model 物理误差模型包含数据误差模型和下行控制误差模型,两者默认为激活.可以使用 ns-3 属性系统去激活,具体为: Config::SetDefault ("ns3::LteSpectrumPhy::CtrlErrorModelEnabled", BooleanValue (false)); Config::SetDefault ("ns3::LteSpectrumPhy::DataErrorMod

LTE Module User Documentation(翻译12)——X2切换(X2-based handover)

LTE用户文档 (如有不当的地方,欢迎指正!) 18 X2-based handover 正如 3GPP 定义的,切换是改变用户服务小区的连接方式的过程.这一过程中涉及的两个基站通常称为源基站和目标基站. 为了使能仿真中 X2 切换的执行,有三个条件必须要满足.首先,仿真中必须使能 EPC(见 Evolved Packet Core (EPC) ). 其次,两个基站之间必须配置 X2 接口,这一点必须在仿真程序中明确交待: lteHelper->AddX2Interface (enbNodes)

LTE Manual ——Logging(翻译)

LTE Manual ——Logging(翻译) (本文为个人学习笔记,如有不当的地方,欢迎指正!) 9 Logging ns-3 日志功能可以用于监测或调试仿真程序的进展.日志输出可以通过 main()  程序中的语句或通过使用 NS_LOG 环境变量来启用. 日志语句并没有编译成 ns-3 的优化版本(Logging statements are not compiled into optimized builds of ns-3).为了使用日志,必须 build  ns-3  的默认调试