27#ifndef _NETSIM_LTENR_PROPAGATIONMODEL_H_
28#define _NETSIM_LTENR_PROPAGATIONMODEL_H_
33#pragma region LTENR_LOCATION
41 static const char* strLTENR_SCENARIO[] =
42 {
"RURAL_MACRO",
"URBAN_MACRO",
"URBAN_MICRO",
"INDOOR_OFFICE" };
46 LTENR_LOCATION_OUTDOOR,
47 LTENR_LOCATION_INDOOR,
52 LTENR_INH_MIXED_OFFICE,
53 LTENR_INH_OPEN_OFFICE,
55 static const char* strLTENR_INH_TYPE[] =
56 {
"MIXED_OFFICE",
"OPEN_OFFICE" };
62 }LTENR_LOS_NLOS_STATE;
63 static const char* strLTENR_STATE[] =
68 LTENR_LOS_MODE_TR38_901,
69 LTENR_LOS_MODE_USER_DEFINED,
71 static const char* strLTENR_LOS_MODE[] =
72 {
"3GPPTR38.901-Table7.4.2-1",
"USER_DEFINED" };
75#pragma region LTENR_PROPAGATION_MODEL_ENUM
78 LTENR_PATHLOSS_MODEL_NONE,
79 LTENR_PATHLOSS_MODEL_3GPP38_901_7_4_1,
80 LTENR_PATHLOSS_MODEL_LOG_DISTANCE,
81 LTENR_PATHLOSS_MODEL_MATLAB,
82 LTENR_PATHLOSS_MODEL_FILEBASED,
83 }LTENR_PATHLOSS_MODEL;
84 static const char* strLTENR_PATHLOSS_MODEL[] =
85 {
"NONE",
"3GPPTR38.901-7.4.1",
"LOG_DISTANCE",
"Matlab",
"File"};
89 LTENR_SHADOWFADING_MODEL_NONE,
90 LTENR_SHADOWFADING_MODEL_3GPP38_901_7_4_1,
91 LTENR_SHADOWFADING_MODEL_LOGNORMAL,
92 LTENR_SHADOWFADING_MODEL_MATLAB,
93 LTENR_SHADOWFADING_MODEL_FILEBASED,
94 }LTENR_SHADOWFADING_MODEL;
95 static const char* strLTENR_SHADOWFADING_MODEL[] =
96 {
"NONE",
"3GPPTR38.901-7.4.1",
"LOGNORMAL",
"Matlab",
"File" };
100 LTENR_FASTFADING_MODEL_NONE,
101 LTENR_FASTFADING_MODEL_NO_FADING_MIMO_UNIT_GAIN,
102 LTENR_FASTFADING_MODEL_NO_FADING_MIMO_ARRAY_GAIN,
103 LTENR_FASTFADING_MODEL_AWGN_WITH_RAYLEIGH_FADING,
104 LTENR_FASTFADING_MODEL_AWGN_WITH_RICIAN_FADING,
105 LTENR_FASTFADING_MODEL_MATLAB,
106 LTENR_FASTFADING_MODEL_FILEBASED,
107 }LTENR_FASTFADING_MODEL;
108 static const char* strLTENR_FASTFADING_MODEL[] =
109 {
"NO_FADING",
"NO_FADING_MIMO_UNIT_GAIN",
"NO_FADING_MIMO_ARRAY_GAIN",
"RAYLEIGH_WITH_EIGEN_BEAMFORMING",
"RICIAN_WITH_EIGEN_BEAMFORMING",
"Matlab",
"File" };
113 LTENR_CHANNEL_RANK_MAX_RANK,
114 LTENR_CHANNEL_RANK_MAX_RATE
116 static const char* strLTENR_CHANNEL_RANK[] =
117 {
"MAX RATE",
"MAX RANK"};
122 LTENR_O2IBUILDINGPENETRATION_MODEL_NONE,
123 LTENR_O2IBUILDINGPENETRATION_MODEL_LOW_LOSS,
124 LTENR_O2IBUILDINGPENETRATION_MODEL_HIGH_LOSS,
125 LTENR_O2IBUILDINGPENETRATION_MODEL_MATLAB,
126 LTENR_O2IBUILDINGPENETRATION_MODEL_FILEBASED,
127 }LTENR_O2IBUILDINGPENETRATION_MODEL;
128 static const char* strLTENR_O2IBUILDINGPENETRATION_MODEL[] =
129 {
"NONE",
"LOW_LOSS_MODEL",
"HIGH_LOSS_MODEL",
"MATLAB",
"FILEBAED" };
133 LTENR_ADDITIONAL_LOSS_NONE,
134 LTENR_ADDITIONAL_LOSS_MATLAB,
135 }LTENR_ADDITIONAL_LOSS;
136 static const char* strLTENR_ADDITIONAL_LOSS[] =
141 MATLAB_LOSSMODEL_NONE,
142 MATLAB_LOSSMODEL_RAIN,
143 MATLAB_LOSSMODEL_FOG,
144 MATLAB_LOSSMODEL_GAS,
146 static const char* strMATLAB_LOSSMODEL[] =
147 {
"none",
"rain",
"fog",
"gas"};
150#pragma region NTN_PROPAGATION_MODEL_ENUM
157 static const char* strNTN_STATE[] =
162 NTN_LOS_MODE_TR38_811,
163 NTN_LOS_MODE_USER_DEFINED,
165 static const char* strNTN_LOS_MODE[] =
166 {
"3GPPTR38.811",
"User_defined" };
170 NTN_PATHLOSS_MODEL_NONE,
171 NTN_PATHLOSS_MODEL_FREE_SPACE,
173 static const char* strNTN_PATHLOSS_MODEL[] =
174 {
"None",
"Free_space" };
178 NTN_SHADOWFADING_MODEL_NONE,
179 NTN_SHADOWFADING_MODEL_LOGNORMAL,
180 }NTN_SHADOWFADING_MODEL;
181 static const char* strNTN_SHADOWFADING_MODEL[] =
182 {
"None",
"Log_normal" };
186 NTN_CLUTTERLOSS_MODEL_NONE,
187 NTN_CLUTTERLOSS_MODEL_TR38_811,
188 }NTN_CLUTTERLOSS_MODEL;
189 static const char* strNTN_CLUTTERLOSS_MODEL[] =
190 {
"None",
"TR38_811" };
195 NTN_SD_SELECTION_TR38_811,
196 NTN_SD_SELECTION_USER_DEFINED,
198 static const char* strNTN_SD_SELECTION[] =
199 {
"3GPPTR_38.811",
"USER_DEFINED" };
203 NTN_FREQUENCY_REUSE_FACTOR_1,
204 NTN_FREQUENCY_REUSE_FACTOR_3,
206 }NTN_FREQUENCY_REUSE_FACTOR;
207 static const char* strNTN_FREQUENCY_REUSE_FACTOR[] =
212 NTN_EXACT_GEOMETRIC_MODEL,
214 }NTN_CELL_INTERFERENCEACE_TYPE;
215 static const char* strNTN_CELL_INTERFERENCEACE_TYPE[] = {
"None",
"Exact Geometric Model",
"CIR Based" };
219 NetSim_COORDINATES* beamCoord;
222 } BeamNode, * ptrBeamNode;
226 NTN_SCENARIO_DENSE_URBAN,
230 static const char* strNTN_SCENARIO[] =
231 {
"Dense_urban",
"Urban",
"Rural" };
238 static const char* strNTN_CARRIER_BAND[] =
243#pragma region PROPAGATION_CONFIG
246 bool isPathLossEnabled;
247 bool isShadowFadingEnabled;
248 bool isFastFadingEnabled;
249 bool isO2IBuildingPenetrationLossEnabled;
251 LTENR_PATHLOSS_MODEL pathLossModel;
252 double pathLossExponent;
254 LTENR_SHADOWFADING_MODEL shadowFadingModel;
255 double standardDeviation;
258 LTENR_FASTFADING_MODEL fastFadingModel;
259 LTENR_CHANNEL_RANK channelRank;
260 LTENR_O2IBUILDINGPENETRATION_MODEL o2iBuildingPenetrationModel;
262 LTENR_ADDITIONAL_LOSS additionalLossModel;
263 LTENR_CELL_INTERFERENCEACE_TYPE DownlinkInterferenceModel;
264 LTENR_CELL_INTERFERENCEACE_TYPE UplinkInterferenceModel;
265 double Uplink_IoT_dB;
266 double Downlink_IoT_dB;
272 double elevationAngle;
273 double exceedancePercentageOfRainfall;
281 LTENR_SCENARIO inScenario;
282 LTENR_INH_TYPE indoor_type;
283 LTENR_LOS_MODE los_mode;
284 LTENR_LOS_NLOS_STATE state;
285 double los_probability;
288 double buildings_height;
301 }LTENR_PROPAGATIONCONFIG, * ptrLTENR_PROPAGATIONCONFIG;
308 bool isPathLossEnabled;
309 bool isShadowFadingEnabled;
311 NTN_PATHLOSS_MODEL pathLossModel;
313 NTN_CLUTTERLOSS_MODEL clutterlossModel;
314 double additionalLoss;
315 NTN_SHADOWFADING_MODEL shadowFadingModel;
316 NTN_SD_SELECTION standardDeviationSelection;
317 double standardDeviation;
319 bool isConstructiveShadow;
324 NTN_SCENARIO outScenario;
325 NTN_LOS_MODE los_mode;
326 NTN_LOS_NLOS_STATE state;
327 NTN_CARRIER_BAND carrierBand;
328 double los_probability;
338 NTN_CELL_INTERFERENCEACE_TYPE interferenceModel;
339 double carrier_InterferenceRatio;
341 double thermalNoise_dB;
344 NTN_FREQUENCY_REUSE_FACTOR ntnFR_factor;
345 double guardBand_MHz;
346 double channelBandwidth;
349 double maxAntennaGain;
351 double antennaAperture;
352 ptrBeamNode beamList;
354 }NTN_PROPAGATIONCONFIG, * ptrNTN_PROPAGATIONCONFIG;
MATLAB_LOSSMODEL matlabLossModel
In Case of Matlab model.
char * shadowFadingStdDeviationModel
For Log normal shadowfading model.
LTENR_SCENARIO outScenario
For 3GPP TR38.901-7.4.1 Based Path loss.
double txPower_dbm
Transmitter power.
double coherenceTime
For AWGN-RAYLEIGH/Rician Fading.
double txPower_dbm
Transmitter power.