A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
three-gpp-channel-model.cc File Reference
#include "three-gpp-channel-model.h"
#include "ns3/double.h"
#include "ns3/geocentric-constant-position-mobility-model.h"
#include "ns3/integer.h"
#include "ns3/log.h"
#include "ns3/mobility-model.h"
#include "ns3/node.h"
#include "ns3/phased-array-model.h"
#include "ns3/pointer.h"
#include "ns3/string.h"
#include <ns3/simulator.h>
#include <algorithm>
#include <map>
#include <random>
+ Include dependency graph for three-gpp-channel-model.cc:

Go to the source code of this file.

Namespaces

namespace  ns3
 Every class exported by the ns3 library is enclosed in the ns3 namespace.
 

Enumerations

enum  ns3::Table3gppParams {
  ns3::uLgDS , ns3::sigLgDS , ns3::uLgASD , ns3::sigLgASD ,
  ns3::uLgASA , ns3::sigLgASA , ns3::uLgZSA , ns3::sigLgZSA ,
  ns3::uLgZSD , ns3::sigLgZSD , ns3::uK , ns3::sigK ,
  ns3::rTau , ns3::uXpr , ns3::sigXpr , ns3::numOfCluster ,
  ns3::raysPerCluster , ns3::cDS , ns3::cASD , ns3::cASA ,
  ns3::cZSA , ns3::perClusterShadowingStd
}
 The enumerator used for code clarity when performing parameter assignment in GetThreeGppTable. More...
 

Variables

static constexpr double ns3::DEG2RAD = M_PI / 180.0
 Conversion factor: degrees to radians.
 
static const std::map< std::string, std::map< int, std::vector< float > > > ns3::NTNDenseUrbanLOS
 The nested map containing the 3GPP value tables for the NTN Dense Urban LOS scenario.
 
static const std::map< std::string, std::map< int, std::vector< float > > > ns3::NTNDenseUrbanNLOS
 The nested map containing the 3GPP value tables for the NTN Dense Urban NLOS scenario.
 
static const std::map< std::string, std::map< int, std::vector< float > > > ns3::NTNRuralLOS
 The nested map containing the 3GPP value tables for the NTN Rural LOS scenario.
 
static const std::map< std::string, std::map< int, std::vector< float > > > ns3::NTNRuralNLOS
 The nested map containing the 3GPP value tables for the NTN Rural NLOS scenario The outer key specifies the band (either "S" or "Ka"), while the inner key represents the quantized elevation angle.
 
static const std::map< std::string, std::map< int, std::vector< float > > > ns3::NTNSuburbanLOS
 The nested map containing the 3GPP value tables for the NTN Suburban LOS scenario.
 
static const std::map< std::string, std::map< int, std::vector< float > > > ns3::NTNSuburbanNLOS
 The nested map containing the 3GPP value tables for the NTN Suburban NLOS scenario.
 
static const std::map< std::string, std::map< int, std::vector< float > > > ns3::NTNUrbanLOS
 The nested map containing the 3GPP value tables for the NTN Urban LOS scenario.
 
static const std::map< std::string, std::map< int, std::vector< float > > > ns3::NTNUrbanNLOS
 The nested map containing the 3GPP value tables for the NTN Urban NLOS scenario.
 
static const double ns3::offSetAlpha [20]
 The ray offset angles within a cluster, given for rms angle spread normalized to 1.
 
static const double ns3::sqrtC_NTN_DenseUrban_LOS [7][7]
 The square root matrix for NTN Dense Urban LOS, which is generated using the Cholesky decomposition according to 3GPP TR 38.811 v15.4.0 table 6.7.2-1 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_NTN_DenseUrban_NLOS [6][6]
 The square root matrix for NTN Dense Urban NLOS, which is generated using the Cholesky decomposition according to 3GPP TR 38.811 v15.4.0 table 6.7.2-2 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_NTN_Rural_LOS [7][7]
 The square root matrix for NTN Rural LOS, which is generated using the Cholesky decomposition according to 3GPP TR 38.811 v15.4.0 table 6.7.2-7 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const std::map< int, std::vector< std::vector< double > > > ns3::sqrtC_NTN_Rural_NLOS_Ka
 The square root matrix for NTN Rural NLOS Ka Band, which is generated using the Cholesky decomposition according to 3GPP TR 38.811 v15.4.0 table 6.7.2-8b and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const std::map< int, std::vector< std::vector< double > > > ns3::sqrtC_NTN_Rural_NLOS_S
 The square root matrix for NTN Rural NLOS S Band, which is generated using the Cholesky decomposition according to 3GPP TR 38.811 v15.4.0 table 6.7.2-8a and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_NTN_Suburban_LOS [7][7]
 The square root matrix for NTN Suburban LOS, which is generated using the Cholesky decomposition according to 3GPP TR 38.811 v15.4.0 table 6.7.2-5 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_NTN_Suburban_NLOS [6][6]
 The square root matrix for NTN Suburban NLOS, which is generated using the Cholesky decomposition according to 3GPP TR 38.811 v15.4.0 table 6.7.2-6 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_NTN_Urban_LOS [7][7]
 The square root matrix for NTN Urban LOS, which is generated using the Cholesky decomposition according to 3GPP TR 38.811 v15.4.0 table 6.7.2-3 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const std::map< int, std::vector< std::vector< double > > > ns3::sqrtC_NTN_Urban_NLOS
 The square root matrix for NTN Urban NLOS, which is generated using the Cholesky decomposition according to 3GPP TR 38.811 v15.4.0 table 6.7.2-4 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_office_LOS [7][7]
 The square root matrix for Indoor-Office LOS, which is generated using the Cholesky decomposition according to table 7.5-6 Part 2 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_office_NLOS [6][6]
 The square root matrix for Indoor-Office NLOS, which is generated using the Cholesky decomposition according to table 7.5-6 Part 2 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_RMa_LOS [7][7]
 The square root matrix for RMa LOS, which is generated using the Cholesky decomposition according to table 7.5-6 Part 2 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_RMa_NLOS [6][6]
 The square root matrix for RMa NLOS, which is generated using the Cholesky decomposition according to table 7.5-6 Part 2 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_RMa_O2I [6][6]
 The square root matrix for RMa O2I, which is generated using the Cholesky decomposition according to table 7.5-6 Part 2 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_UMa_LOS [7][7]
 The square root matrix for UMa LOS, which is generated using the Cholesky decomposition according to table 7.5-6 Part 1 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_UMa_NLOS [6][6]
 The square root matrix for UMa NLOS, which is generated using the Cholesky decomposition according to table 7.5-6 Part 1 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_UMa_O2I [6][6]
 The square root matrix for UMa O2I, which is generated using the Cholesky decomposition according to table 7.5-6 Part 1 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_UMi_LOS [7][7]
 The square root matrix for UMi LOS, which is generated using the Cholesky decomposition according to table 7.5-6 Part 1 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_UMi_NLOS [6][6]
 The square root matrix for UMi NLOS, which is generated using the Cholesky decomposition according to table 7.5-6 Part 1 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].
 
static const double ns3::sqrtC_UMi_O2I [6][6]
 The square root matrix for UMi O2I, which is generated using the Cholesky decomposition according to table 7.5-6 Part 1 and follows the order of [SF, K, DS, ASD, ASA, ZSD, ZSA].