30#pragma region SATELLITE_DEFAULT_CONFIG
32#define SATELLITE_DEVICE_TYPE_DEFAULT _strdup("USER_TERMINAL")
33#define SATELLITE_GATEWAY_DEFAULT NULL
34#define SATELLITE_BUFFER_SIZE_DEFAULT (1024*1024*8)
37#define SATELLITE_ROLLOFF_FACTOR_DEFAULT 1
38#define SATELLITE_SPACING_FACTOR_DEFAULT 1
39#define SATELLITE_CARRIER_BANDWIDTH_HZ_DEFAULT 1000000
40#define SATELLITE_BER_MODEL_DEFAULT _strdup("FIXED")
41#define SATELLITE_BER_DEFAULT 1e-7
42#define SATELLITE_BER_FILE_DEFAULT _strdup("")
45#define SATELLITE_CODING_RATE_DEFAULT _strdup("1/2")
46#define SATELLITE_MODULATION_DEFAULT _strdup("QPSK")
47#define SATELLITE_SYMBOL_PER_SLOT_DEFAULT 90
50#define SATELLITE_SLOT_COUNT_IN_FRAME_DEFAULT 10
51#define SATELLITE_FRAME_BANDWIDTH_HZ_DEFAULT 1000000
52#define SATELLITE_PILOT_BLOCK_SIZE_symbols_DEFAULT 36
53#define SATELLITE_PILOT_BLOCK_INTERVAL_slots_DEFAULT 16
54#define SATELLITE_PLHEARDER_slots_DEFAULT 1
55#define SATELLITE_BB_FRAME_HEADER_LEN_bytes_DEFAULT 1
56#define SATELLITE_BB_FRAME_USAGE_MODE_DEFAULT _strdup("Normal")
57#define SATELLITE_FRAME_COUNT_IN_SUPERFRAME_DEFAULT 10
60#define SATELLITE_FRAME_COUNT_IN_SUPERFRAME_DEFAULT 10
61#define SATELLITE_BAND_DEFAULT _strdup("KA")
62#define SATELLITE_ACCESS_PROTOCOL_DEFAULT _strdup("TDMA")
63#define SATELLITE_BASE_FREQUENCY_HZ_DEFAULT 12000000000
66#define SATELLITE_TX_ANTENNA_GAIN_DB_DEFAULT 48
67#define SATELLITE_RX_ANTENNA_GAIN_DB_DEFAULT 48
68#define SATELLITE_TX_POWER_DBM_DEFAULT -23
69#define SATELLITE_ANTENNA_GAIN_TO_NOISE_TEMPERATURE_DBK_DEFAULT 28.4
72#pragma region SATELLITE_MAC_CONFIG
104 fnNetSimError(
"Unknown satellite device type %d in function %s\n",
111#pragma region SATELLITE_PHY_CONFIG
126 if (!
_stricmp(s,
"1/3"))
return 1.0 / 3.0;
127 else if (!
_stricmp(s,
"1/2"))
return 1.0 / 2.0;
128 else if (!
_stricmp(s,
"3/5"))
return 3.0 / 5.0;
129 else if (!
_stricmp(s,
"2/3"))
return 2.0 / 3.0;
130 else if (!
_stricmp(s,
"3/4"))
return 3.0 / 4.0;
131 else if (!
_stricmp(s,
"4/5"))
return 4.0 / 5.0;
132 else if (!
_stricmp(s,
"5/6"))
return 5.0 / 6.0;
133 else if (!
_stricmp(s,
"8/9"))
return 8.0 / 9.0;
134 else if (!
_stricmp(s,
"9/10"))
return 9.0 / 10.0;
311 xmlNetSimNode = var[2];
312 if (!strcmp(tag,
"PROTOCOL_PROPERTY"))
enum enum_802_22_CodingRate CODING_RATE
ptrBER read_ber_file(char *file, size_t *len)
#define fnNetSimError(x,...)
@ SATELLITE_DEVICETYPE_SATELLITE_GATEWAY
@ SATELLITE_DEVICETYPE_USER_TERMINAL
@ SATELLITE_DEVICETYPE_SATELLITE
SATELLITE_DEVICETYPE SATELLITE_DEVICETYPE_FROM_STR(const char *type)
ptrSATELLITE_PROTODATA SATELLITE_PROTOCOLDATA_ALLOC(NETSIM_ID d, NETSIM_ID in)
static void satellite_configure_phy(ptrSATELLITE_PROTODATA pd, void *xmlNetSimNode)
static void SATELLITE_ConfigurePhyLayer(ptrSATELLITE_PROTODATA pd, void *xmlNetSimNode)
static void SATELLITE_ConfigureMacLayer(ptrSATELLITE_PROTODATA pd, void *xmlNetSimNode)
#define SATELLITE_FRAME_BANDWIDTH_HZ_DEFAULT
static void satellite_configure_frame(ptrFRAMECONF frConf, void *xmlNetSimNode)
#define SATELLITE_BASE_FREQUENCY_HZ_DEFAULT
static double getCodingRate(char *s)
static BERMODEL get_ber_model_from_str(char *s)
static void SATELLITE_ConfigureSatelliteMacLayer(ptrSATELLITE_PROTODATA pd, void *xmlNetSimNode)
#define SATELLITE_BUFFER_SIZE_DEFAULT
static void SATELLITE_ConfigureUTMacLayer(ptrSATELLITE_PROTODATA pd, void *xmlNetSimNode)
static void satellite_configure_forward_link(ptrSATELLITE_PHY phy, void *xmlNetSimNode)
#define SATELLITE_CARRIER_BANDWIDTH_HZ_DEFAULT
static void satellite_configure_carrier(ptrCARRIERCONF cf, void *xmlNetSimNode)
static void satellite_configure_slot(ptrSLOTCONF sc, void *xmlNetSimNode)
static void satellite_configure_ut_phy(ptrSATELLITE_PROTODATA pd, void *xmlNetSimNode)
#define SATELLITE_TX_POWER_DBM_DEFAULT
void fn_NetSim_SATELLITE_Configure_F(void **var)
static void satellite_configure_gw_phy(ptrSATELLITE_PROTODATA pd, void *xmlNetSimNode)
static void SATELLITE_ConfigureGatewayMacLayer(ptrSATELLITE_PROTODATA pd, void *xmlNetSimNode)
static void satellite_configure_return_link(ptrSATELLITE_PHY phy, void *xmlNetSimNode)
enum enum_ber_model BERMODEL
ptrSUPERFRAME superframe_alloc(LINKTYPE linkType, NETSIM_ID d, NETSIM_ID in)
ptrSATELLITE_GW_MAC satellite_gw_mac_alloc(ptrSATELLITE_PROTODATA pd)
ptrSATELLITE_UT_MAC satellite_ut_mac_alloc(ptrSATELLITE_PROTODATA pd)
ptrSATELLITE_MAC satellite_mac_alloc(ptrSATELLITE_PROTODATA pd)
ptrSATELLITE_PHY satellite_phy_alloc(NETSIM_ID d, NETSIM_ID in)
ptrSATELLITE_UT_PHY satellite_ut_phy_alloc(NETSIM_ID d, NETSIM_ID in)
ptrSATELLITE_GW_PHY satellite_gw_phy_alloc(NETSIM_ID d, NETSIM_ID in)
double fn_NetSim_Config_read_Frequency(void *xmlNetSimNode, const char *name, double defaultval, const char *returnUnit)
#define getXmlVar(var, name, xmlNode, flag, type, protocol)
#define DEVICE_TYPE(DeviceId)
double fn_NetSim_Config_read_txPower(void *xmlNetSimNode, const char *name, double defaultTxPower, const char *returnUnit)
EXPORTED struct stru_NetSim_Network * NETWORK
double fn_NetSim_Config_read_dataLen(void *xmlNetSimNode, const char *name, double defaultDataLen, const char *returnUnit)
#define ConfigReadEnum(xmlNode, attriName, enumName, isErrorMsg)
void * fn_NetSim_xmlGetChildElement(void *xmlNetSimNode, const char *childName, int count)
enum enum_Modulation PHY_MODULATION
enum enum_LayerType LAYER_TYPE
SATELLITE_DEVICETYPE deviceType
double antennaGainToNoiseTemp_dBk
double antennaGainToNoiseTemp_dBk
double antennaGainToNoiseTemp_dBk
double effectiveBandwidth_Hz
PHY_MODULATION modulation
double occupiedBandwidth_Hz
double allocatedBandwidth_Hz
UINT pilotBlockSize_inSymbols
UINT pilotBlockInterval_inSlots
UINT frameHdrLength_inBytes
ptrCARRIERCONF carrierConfig