NS3-LENA源码阅读报告(2)

  • Post author:
  • Post category:其他


2 LENA源码组成结构

LENA作为NS3的程序模块,采用标准的NS3模块结构内容来对代码进行组织。这种标准结构内容可以通过NS3提供的create-module.py来进行创建,也可以依照惯例进行编写。总体而言,LENA的源码组成结构与NS3一般性模型的创建方式保持一致。

doc/,用于生成程序模块的文档。

examples/,提供程序模块的实例,可以通过waf命令来编译和运行。

helper/,帮助类,提供简易使用本程序模块完成仿真的手段。

model/,程序模块的主要源代码文件,一般每个.h文件对应一个.cc或.cpp文件。

test/,存放程序模块的测试例题,常用于开发阶段的单元测试或回归测试。

utils/,程序模块所使用的一些公共功能模块。

README.md,LENA程序模块的描述和升版历史。

从以上结构组成来看,LENA的源码组成结构较为清晰。以2.1版本LENA程序模块的实现细节作为本源码阅读报告的参照对象,记录其源码编程实现重点和具体实现的协议内容。不考虑LENA复用的CTTC研究人员撰写的LTE模型部分,共计76个模块需要予以关注和深入理解。

3 程序模块阅读

阅读报告将按照如下结构进行内容的整理。

3.1 bandwidth-part-gnb

3.2 bandwidth-part-ue

3.3 beam-conf-id

3.4 beam-id

3.5 sfnsf

3.6 beam-manager

3.7 beamforming-vector

3.8 bwp-manager-algorithm

3.9 bwp-manager-gnb

3.10 bwp-manager-ue

3.11 ideal-beamforming-algorithm

3.12 lena-error-model

3.13 nr-amc

3.14 nr-ch-access-manager

3.15 nr-control-message

3.16 nr-eesm-cc-t1

3.17 nr-eesm-cc-t2

3.18 nr-eesm-cc

3.19 nr-eesm-error-model

3.20 nr-eesm-ir-t1

3.21 nr-eesm-ir-t2

3.22 nr-eesm-ir

3.23 nr-eesm-t1

3.24 nr-eesm-t2

3.25 nr-error-model

3.26 nr-gnb-mac

3.27 nr-gnb-net-device

3.28 nr-gnb-phy

3.29 nr-harq-phy

3.30 nr-interference

3.31 nr-lte-mi-error-model

3.32 nr-mac-csched-sap

3.33 nr-mac-harq-process

3.34 nr-mac-harq-vector

3.35 nr-mac-header-fs-dl

3.36 nr-mac-header-fs-ul

3.37 nr-mac-header-fs

3.38 nr-mac-header-vs-dl

3.39 nr-mac-header-vs-ul

3.40 nr-mac-header-vs

3.41 nr-mac-pdu-info

3.42 nr-mac-sched-sap

3.43 nr-mac-scheduler-cqi-management

3.44 nr-mac-scheduler-harq-rr

3.45 nr-mac-scheduler-lcg

3.46 nr-mac-scheduler-ns3

3.47 nr-mac-scheduler-ofdma-mr

3.48 nr-mac-scheduler-ofdma-pf

3.49 nr-mac-scheduler-ofdma-rr

3.50 nr-mac-scheduler-ofdma

3.51 nr-mac-scheduler-srs-default

3.52 nr-mac-scheduler-srs

3.53 nr-mac-scheduler-tdma-mr

3.54 nr-mac-scheduler-tdma-pf

3.55 nr-mac-scheduler-tdma-rr

3.56 nr-mac-scheduler-tdma

3.57 nr-mac-scheduler-ue-info

3.58 nr-mac-scheduler-ue-info-mr

3.59 nr-mac-scheduler-ue-info-pf

3.60 nr-mac-scheduler-ue-info-rr

3.61 nr-mac-scheduler

3.62 nr-mac-short-bsr-ce

3.63 nr-net-device

3.64 nr-phy-mac-common

3.65 nr-phy-sap

3.66 nr-phy

3.67 nr-radio-bearer-tag

3.68 nr-rrc-protocol-ideal

3.69 nr-spectrum-phy

3,70 nr-spectrum-signal-parameters

3.71 nr-ue-mac

3.72 nr-ue-net-device

3.73 nr-ue-phy

3.74 nr-ue-power-control

3.75 realistic-beamforming-algorithm

3.76 realistic-bf-manager

NS2是博主多年之前使用过的仿真软件,NS3源自于NS2,采用教新的软件技术和整合社区、研究机构的力量重新践行着离散事件仿真的原理,建模和模拟更为复杂的系统。有了这些基础,LENA对于5G端到端的性能仿真便具有较好的基础。从2.1版本的源码来看,约10W LOC的程序代码并不算多,其中也有较多错误和不完备的内容,但已经能够较好地对5G接入网、核心网以及业务开展定量分析。



版权声明:本文为betterlord原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。