LTE用户文档

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

6 仿真输出

ns-3 LTE 模型当前支持输出 PHY, MAC, RLC 和 PDCP 级别的 Key Performance Indicators (KPIs,关键性能指标)文件。可以使用以下方式使能输出: 
Ptr<LteHelper> lteHelper = CreateObject<LteHelper> ();
// 这里配置所有的仿真场景...
lteHelper->EnablePhyTraces ();
lteHelper->EnableMacTraces ();
lteHelper->EnableRlcTraces ();
lteHelper->EnablePdcpTraces (); Simulator::Run ();
 
其中,RLC 和 PDCP KPIs 是以一段时间间隔统计的,并以 ASCII 文件存储, 有两种 RLC KPIs 和两种 PDCP KPIs ,一种对应上行,一种对应下行。时间间隔持续时间可以使用属性 ns3::RadioBearerStatsCalculator::EpochDuration 来控制。

RLC KPI 文件包含下列内容 (上行和下行是相同的):

  1. start :仿真开始时,测量间隔的开始时间,单位为秒。
  2. end : 仿真开始时,测量间隔的结束时间,单位为秒。
  3. Cell ID
  4. IMSI:唯一的用户 ID
  5. RNTI : cell-specific UE ID
  6. Logical Channel ID:逻辑信道 ID
  7. nTxPDUs:传输的 RLC PDUs 的数目
  8. TxByte:传输的总字节数
  9. nRxPDUs:接收的 RLC PDUs 的数目
  10. RxBytes:接收的总字节数
  11. delay: RLC PDU 平均时延(s)
  12. stdDev: RLC PDU 时延的标准差
  13. min: RLC PDU 时延的最小值
  14. max: RLC PDU 时延的最大值
  15. PduSize:平均 RLC PDU 大小(bytes)
  16. stdDev: RLC PDU 大小的标准差
  17. min :RLC PDU 大小的最小值
  18. max :RLC PDU 大小的最大值
 
 
 
相似地,  PDCP KPI 文件的包含下列内容(上行和下行相同):
  1. start :仿真开始时,测量间隔的开始时间,单位为秒。
  2. end : 仿真开始时,测量间隔的结束时间,单位为秒。
  3. Cell ID
  4. IMSI:唯一的用户 ID
  5. RNTI :cell-specific UE ID
  6. Logical Channel ID:逻辑信道 ID
  7. nTxPDUs:传输的 PDCP PDUs 的数目
  8. TxByte:传输的总字节数
  9. nRxPDUs:接收的 PDCP PDUs 的数目
  10. RxBytes:接收的总字节数
  11. delay: RPDCP C PDU 平均时延(s)
  12. stdDev: PDCP PDU 时延的标准差
  13. min:  PDCP  PDU 时延的最小值
  14. max: PDCP PDU 时延的最大值
  15. PduSize:平均 PDCP PDU 大小(bytes)
  16. stdDev:  PDCP  PDU 大小的标准差
  17. min :PDCP PDU 大小的最小值
  18. max :PDCP PDU 大小的最大值
 
 
(注意:正如前文中描述的,由于使用的仿真程序 “lte-sim-with-input.cc” 是 LTE only 程序,没有 EPC,所以 DlPdcpStats.txt 和 UlPdcpStats.txt 内容为空。)
 
 
MAC KPIs 主要是调度器在每个子帧开始时上报的资源分配的 trace 。它们以 ASCII 文件存储。
下行 MAC KPIs 包含以下内容:
 
  1. time:由调度器指示配置的仿真时间(s)
  2. Cell ID
  3. IMSI :唯一的用户 ID
  4. frame:帧编号
  5. sframe:子帧编号
  6. RNTI:cell-specific UE ID
  7. mcsTb1:TB 1 的 MCS(调制编码方式)
  8. sizeTb1: TB 1 的大小
  9. mcsTb2:TB 2 的 MCS (不存在的话为0)
  10. sizeTb2:TB 2 的大小(不存在的话为0)
 
 
 
上行 MAC KPIs 包含以下内容:
  1. time:由调度器指示配置的仿真时间(s)
  2. Cell ID
  3. IMSI :唯一的用户 ID
  4. frame:帧编号
  5. sframe:子帧编号
  6. RNTI :cell-specific UE ID
  7. mcs :TB 的 MCS
  8. size :TB 的大小
 
 
MAC KPI 输出的文件名可以通过 ns-3 属性 ns3::MacStatsCalculator::DlOutputFilename 和 ns3::MacStatsCalculator::UlOutputFilename 自定义。
 
 
PHY KPIs 分布在7个不同的文件中,通过下列属性配置:
  1. ns3::PhyStatsCalculator::DlRsrpSinrFilename
  2. ns3::PhyStatsCalculator::UlSinrFilename(文档中写的是 UeSinrFilename ,有误!)
  3. ns3::PhyStatsCalculator::InterferenceFilename
  4. ns3::PhyStatsCalculator::DlTxOutputFilename
  5. ns3::PhyStatsCalculator::UlTxOutputFilename
  6. ns3::PhyStatsCalculator::DlRxOutputFilename
  7. ns3::PhyStatsCalculator::UlRxOutputFilename
 
在 RSRP/SINR 文件中,下列内容可用:
  1. time:由调度器指示配置的仿真时间(s)
  2. Cell ID
  3. IMSI :唯一的用户 ID
  4. rsrp:参考信号接收功率
  5. sinr:所有 RBs 在线性单元上的下行 SINR 的线性平均
 
 
 
UL SINR 文件包含的内容:
  1. time:由调度器指示配置的仿真时间(s)
  2. Cell ID
  3. IMSI :唯一的用户 ID
  4. sinrLinear:用户线性单元上的上行 SINR
 
 
干扰文件包含的内容:
  1. time:由调度器指示配置的仿真时间(s)
  2. Cell ID
  3. Interference:每个 RB 的干扰值列表
 
 
上行和下行传输文件包含的内容:
  1. time:仿真时间(ms)
  2. Cell ID
  3. IMSI :唯一的用户 ID
  4. RNTI
  5. layer:传输层
  6. mcs:MCS
  7. size: TB的大小
  8. rv:冗余版本
  9. ndi:New Data Indicator flag

上行和下行接收文件包含的参数:

  1. time:仿真时间(ms)
  2. Cell ID
  3. IMSI :唯一的用户 ID
  4. RNTI
  5. txmode:传输模式
  6. layer:传输层
  7. mcs:MCS
  8. size: TB的大小
  9. rv:冗余版本
  10. ndi:New Data Indicator flag
  11. correct:接收 TB 的正确性
 
 
 
 

参考文献

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

LTE Module User Documentation(翻译3)——仿真输出的更多相关文章

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

    LTE用户文档 (如有不当的地方,欢迎指正!)     21 Examples Programs(示例程序)   路径 src/lte/examples/ 包含一些示例仿真程序,这些例子表明如何仿真不 ...

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

    LTE用户文档 (如有不当的地方,欢迎指正!) 18 X2-based handover   正如 3GPP 定义的,切换是改变用户服务小区的连接方式的过程.这一过程中涉及的两个基站通常称为源基站和目 ...

  3. LTE Module User Documentation(翻译9)——Using the EPC with emulation mode

    LTE用户文档 (如有不当的地方,欢迎指正!) 15 Using the EPC with emulation mode(使用仿真方式的 EPC)     在上一节中,我们使用点对点链路连接基站和服务 ...

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

    LTE用户文档 (如有不当的地方,欢迎指正!) 12 Radio Environment Maps   通过使用类 RadioEnvironmentMapHelper  是可能输出文件 Radio E ...

  5. LTE Module User Documentation(翻译1)——背景、使用概述、基本的仿真程序和配置LTE模型参数

    LTE用户文档 (如有不当的地方,欢迎指正!) 1.背景 假定读者已经熟悉 ns-3 simulator ,能运行一般的仿真程序.如果不是的话,强烈推荐读者参考 [ns3tutorial].   2. ...

  6. LTE Module User Documentation(翻译13)——频率复用算法(Frequency Reuse Algorithms)

    LTE用户文档 (如有不当的地方,欢迎指正!)   19 Frequency Reuse Algorithms(频率复用算法)   本节我们将描述如何在 LTE 仿真中使用频率复用(FR)算法.共有两 ...

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

    LTE用户文档 (如有不当的地方,欢迎指正!) 17 Configure UE measurements   仿真中激活的用户测量配置取决于所选的 “consumers”,例如切换算法.用户可能需要添 ...

  8. LTE Module User Documentation(翻译10)——网络连接(Network Attachment)

    LTE用户文档 (如有不当的地方,欢迎指正!) 16 Network Attachment(网络连接)   正如前面章节 Basic simulation program 所述,连接用户到基站时通过调 ...

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

    LTE用户文档 (如有不当的地方,欢迎指正!) 14 Evolved Packet Core (EPC)   我们现在讲解如何编写一个仿真程序——除了 LTE 无线接入网外,还允许仿真 EPC. EP ...

随机推荐

  1. java中的反射机制,以及如何通过反射获取一个类的构造方法 ,成员变量,方法,详细。。

    首先先说一下类的加载,流程.只有明确了类这个对象的存在才可以更好的理解反射的原因,以及反射的机制. 一.  类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三 ...

  2. Java实现批量修改文件名称

    import java.io.File; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; /** ...

  3. [ios][swift]swift 怎么去除 optional

    在转换String时要使用“!”进行拆包,用“?”则会有optional 出现

  4. 每日一九度之 题目1038:Sum of Factorials

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2109 解决:901 题目描述: John von Neumann, b. Dec. 28, 1903, d. Feb. 8, 1957, ...

  5. 减少C++代码编译时间的方法

    c++ 的代码包含头文件和实现文件两部分, 头文件一般是提供给别人(也叫客户)使用的, 但是一旦头文件发生改变,不管多小的变化,所有引用他的文件就必须重新编译,编译就要花时间,假如你做的工程比较大(比 ...

  6. java-资源管理器try-with-resource

    在java编程中会遇到很多关闭资源的问题,但是,往往我们的关闭不能百分百正确,所以java7中出现了新的资源管理器方法try-with-resource,这是一项重要的改进,因为没人能再手动关闭资源时 ...

  7. (4)Redis 资料

    Redis是一种面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景. Redis Home http://redis.io/ MSOpenTech/re ...

  8. 集合、ArrayList 集合。Stack集合。Queue集合。以及Hashtable集合

    arrayList 首先复制Colections加  : 创建arrayList ar =new arrayList(); //ArrayList al=new ArrayList();        ...

  9. shell中sed用法

    简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的 ...

  10. Duilib实现GroupBox控件

    转载:http://blog.csdn.net/asd313346541/article/details/47055113 原作者的源码上说:右边线和下边线显示不出来: 后来经过调试研究测试猜测应该是 ...