软件程序按照发射端所掌握的各用户信道状态信息的程度共分为两部分:即完整信道状态信息(CSIT)和部分信道状态信息(CSIP)。其中,每一部分都包括预编码(precoding)和用户调度(scheduling)。
在CSIT中,precoding又按照各用户的数据流数分为单数据流和多数据流两种情况。在每种情况下,首先考察了不同预编码算法的性能表现,包括两种ZF、MMSE、SINR、SLNR。之后又考察了功率分配算法的性能表现(文件名中含有PD表明其含有功率分配的过程)。按照不同指标进行功率分配的,在文件名中进行了区分,如PD_CN代表以信道范数为参考指标进行功率分配。Scheduling部分首先观察了RoundRobin、MaxH和MMSLNR三种算法的性能对比。之后在Kc和Round部分分别观察了不同预选用户数和不同最大替换轮数下MMSLNR算法的表现。
在CSIP中,只对各用户单数据流的情况进行了仿真。采用的预编码算法主要有DSLNR(即直接运用CSIT下的预编码算法)、ESLNR(即对SLNR进行均值计算的,在CSIP中,引入均值计算的与SLNR有关的算法,其文件名中都有modified以示区别)、EMMSE(即陈明老师那边的那篇文章中的预编码算法)。Scheduling中也只是简单的观察了RoundRobin、MaxH、DMMSLNR和EMMSLNR(前者没有均值计算,后者有)的性能对比。
在各部分程序中,main以及mainX(X代表某一数字)是最终的主程序,且各种参数均在主程序的开头部分进行了说明。主程序中,都是按照信号生成,信道生成,调度与预编码,信号接收这样的过程进行的。
1