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