NetSim Source Code Help v14.4
All 13 Components
 
Loading...
Searching...
No Matches
NTN_PropagationModel.h
1#include "NTN.h"
2#include "stdafx.h"
3#include "LTENR_Spectrum.h"
4#include "LTENR_AMCTable.h"
5#include "LTENR_MAC.h"
6#include "LTENR_PHY.h"
7#include "LTENR_Multiplexing.h"
8#include "LTENR_Spectrum.h"
9#include "LTENR_HARQ.h"
10#include <stdarg.h>
11
12//ptrNTN_PROPAGATIONCONFIG getNTN_PropInfo();
13
14// New section starts here
15double calculateSlantRange(double altitude, double elevationAngle_rad);
16
17double calculateNTN_SNR(ptrLTENR_PROPAGATIONINFO propInfo, double beamformingGain);
18
19double calculateFreeSpacePathLoss(ptrLTENR_PROPAGATIONINFO propInfo);
20
21static double NTN_log_normal_distribution(ptrNTN_PROPAGATIONCONFIG info, double std);
22
23void calculateNTN_totalloss(ptrLTENR_PROPAGATIONINFO propInfo);
24
25void calculateNTNAntennaGain(ptrLTENR_PROPAGATIONINFO propInfo);
26
27void allocateInfo(ptrLTENR_PROPAGATIONINFO propInfo);
28
29static void updateNTN_elevationAngle(ptrLTENR_PROPAGATIONINFO propInfo);
30
31void NTN_calculateSINR(ptrLTENR_PROPAGATIONINFO propInfo, UINT CA_ID);
32
33static double Magnitude(NetSim_COORDINATES* p);
34
35static double DotProduct(NetSim_COORDINATES* v1, const NetSim_COORDINATES* v2);
36
37void CalculateTheta(ptrLTENR_PROPAGATIONINFO propInfo);
38
39static void NTN_setLOS_state(ptrLTENR_PROPAGATIONINFO propInfo);
40
41double calculateNTNshadowloss(ptrLTENR_PROPAGATIONINFO propInfo);
42
43double calculateNTNclutterloss(ptrLTENR_PROPAGATIONINFO propInfo);
44
45void updateNTNBandwidth(ptrLTENR_PROPAGATIONINFO propInfo);
46
47double calculateAntennaGain(double theta, double k, double a);
48
49double getDistancefromBeam(ptrLTENR_PROPAGATIONINFO propInfo);
50
51void updateNTN_RxG_T(ptrLTENR_PROPAGATIONINFO propInfo);
52
53void updateNTNRxPower(ptrLTENR_PROPAGATIONINFO propInfo, UINT CA_ID);
54
55void updateNTN_TxPower(ptrLTENR_PROPAGATIONINFO propInfo, UINT CA_ID);
56
57double calculateInterferencePower(ptrLTENR_PROPAGATIONINFO propInfo, UINT CA_ID);
58
59double NTN_calculateCIR_Sinr(double snr, double cir);
60
61NetSim_COORDINATES* getBeamCoordinates(UINT id);
62
63int getBeamChannelId(UINT id);
64
65void updateNoisePower(ptrLTENR_PROPAGATIONINFO propInfo);
66
67double calculate_sinr(double dReceivedPower_dbm, double interferencePower_dBm, double bandwidth_mHz);
68
69double NTNget_LOS_probability(NTN_SCENARIO scenario, double elevationAngle);
70
71double get_shadowingSD(NTN_SCENARIO scenario, NTN_LOS_NLOS_STATE state, NTN_CARRIER_BAND band, double elevationAngle);
72
73double get_clutterloss(NTN_SCENARIO scenario, NTN_LOS_NLOS_STATE state, NTN_CARRIER_BAND band, double elevationAngle);
74
75double quantizeElevationAngle(double elevAngle);
76
77int countDistinctBeamChannels(BeamNode* head);
78
79void updateNTN_EB_by_N0(ptrLTENR_PROPAGATIONINFO propInfo, UINT layerId);
80
81void NTN_plotUeAssociation(ptrLTENR_PROPAGATIONINFO propInfo, int CA_ID, UINT layerId, bool isSelected);