NetSim Source Code Help
Loading...
Searching...
No Matches
802_22.h File Reference
#include "ErrorModel.h"
#include "DSx.h"
Include dependency graph for 802_22.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  stru_802_22_Super_Frame_Control_Header
 
struct  stru_802_22_Frame_Control_Header
 
struct  stru_802_22_General_MAC_Header
 
struct  stru_802_22_FragmentSubHeader
 
struct  stru_802_22_UplinkAlloctioninfo
 
struct  stru_NetSim_CR_BS_Metrics
 
struct  stru_NetSim_CR_Incumbent_Metrics
 Incumbent Metrics. More...
 
struct  stru_NetSim_CR_Channel_Metrics
 Channel Metrics. More...
 
struct  stru_NetSim_CR_CPE_Metrics
 CPE Metrics. More...
 
struct  stru_802_22_BS_MAC
 
struct  stru_802_22_DSBurst
 
struct  stru_802_22_BS_Phy
 
struct  stru_802_22_CPE_BWRequestInfo
 
struct  stru_802_22_CPE_MAC
 CPE structure for IEEE 802.22 MAC. More...
 
struct  stru_802_22_CPE_PHY
 CPE structure for CPE PHY. More...
 
struct  stru_802_22_Channel
 
struct  stru_802_22_Phy_Mode
 
struct  stru_802_22_SymbolParameter
 
struct  stru_802_22_FrameParameter
 
struct  stru_802_22_Incumbent
 Structure for incumbent. More...
 
struct  stru_802_22_DSMAP_IE
 
struct  stru_802_22_DSMAP
 
struct  stru_802_22_UCD_IE
 
struct  stru_802_22_UCD_Message_Format
 
struct  stru_802_22_Upstream_Burst_profile_IE
 
struct  stru_802_22_Upstream_Burst_profile_Format
 
struct  stru_802_22_DCD_Channel_Information_Element
 
struct  stru_802_22_DCD_Channel_Information_Element::stru_802_22_BackupChannelList
 
struct  stru_802_22_DCD_Message_Format
 
struct  stru_802_22_DownStreamBurstProfileFormat
 
struct  stru_802_22_DownStreamBurstProfileFormat::stru_802_22_DBPIE
 
struct  stru_802_22_USMAP_MessageFormat
 
struct  stru_802_22_USMAPIE
 
struct  stru_802_22_USMAPIE::struUIUC_0_1
 
struct  stru_802_22_USMAPIE::struUIUC_0_1::struUIUC_0
 
struct  stru_802_22_USMAPIE::struUIUC_0_1::struUIUC_1
 
struct  stru_802_22_USMAPIE::struUIUC_2_3
 
struct  stru_802_22_USMAPIE::struUIUC_4_6
 
struct  stru_802_22_USMAPIE::struUIUC_7
 
struct  stru_802_22_USMAPIE::struUIUC_8
 
struct  stru_802_22_USMAPIE::struUIUC_9
 
struct  stru_802_22_USMAPIE::struUIUC_62
 
struct  stru_802_22_USMAPIE::struUIUC
 
struct  stru_BWRequestSubHeader
 

Macros

#define CHANNEL_LOSS   -1.7
 
#define B2_00   0
 
#define B2_01   1
 
#define B2_10   2
 
#define B2_11   3
 
#define B3_000   0
 
#define B3_001   1
 
#define B3_010   2
 
#define B3_011   3
 
#define B3_100   4
 
#define B3_101   5
 
#define B3_110   6
 
#define B3_111   7
 
#define B4_0000   0
 
#define B4_0001   1
 
#define B4_0010   2
 
#define B4_0011   3
 
#define B4_0100   4
 
#define B4_0101   5
 
#define B4_0110   6
 
#define B4_0111   7
 
#define B4_1000   8
 
#define B4_1001   9
 
#define B4_1010   10
 
#define B4_1011   11
 
#define B4_1100   12
 
#define B4_1101   13
 
#define B4_1110   14
 
#define B4_1111   15
 
#define B16_1111111111111111   65535
 
#define UPSTREAM_GRANT_MANAGEMENT_BIT   0
 
#define FRAGMANET_BIT   1
 
#define EXTENDED_BIT   2
 
#define ARQ_FEEDBACK_BIT   3
 
#define BW_REQUEST_BIT   4
 
#define MAX_FID   8
 
#define MAX_SID   512
 
#define SCH_SIZE   45
 SCH Size is 45 Bytes. More...
 
#define FCH_SIZE   3
 FCH Size is 3 Bytes. More...
 
#define GMH_SIZE   4
 GMH Size is 4 Bytes. More...
 
#define CRC   4
 CRC Size is 4 Bytes. More...
 
#define FRAGMENT_SIZE   3
 Fragment size is 3 Bytes. More...
 
#define MAX_SDU_SIZE   255
 SDU Size is 255 Bytes. More...
 
#define SCH_DURATION   160000
 SCH Duration is 160 milli seconds. More...
 
#define SCH_PHY_MODE   2
 
#define FCH_PHY_MODE   4
 
#define MAX_PHY_MODE   17
 
#define DUPLEX_TDD   1
 
#define MULTIPLEACCESS_OFDMA   1
 
#define CR_CONTROL_PACKET(MMM)   MAC_PROTOCOL_IEEE802_22*100+MMM
 
#define GET_RX_POWER_dbm(tx, rx)   (propagation_get_received_power_dbm(propagationHandle, tx, 1, rx, 1, pstruEventDetails->dEventTime))
 
#define GET_RX_POWER_mw(tx, rx)   (DBM_TO_MW(GET_RX_POWER_dbm(tx,rx)))
 

Typedefs

typedef struct stru_802_22_Super_Frame_Control_Header SCH
 
typedef struct stru_802_22_Frame_Control_Header FCH
 
typedef struct stru_802_22_General_MAC_Header GMH
 
typedef struct stru_802_22_FragmentSubHeader FRAGMENT_SUB_HEADER
 
typedef struct stru_802_22_BS_MAC BS_MAC
 
typedef struct stru_802_22_BS_Phy BS_PHY
 
typedef struct stru_802_22_CPE_MAC CPE_MAC
 
typedef struct stru_802_22_CPE_PHY CPE_PHY
 
typedef struct stru_802_22_Incumbent INCUMBENT
 
typedef struct stru_802_22_SymbolParameter SYMBOL_PARAMETER
 
typedef struct stru_802_22_DSMAP DSMAP
 
typedef struct stru_802_22_DSMAP_IE DSMAP_IE
 
typedef struct stru_802_22_UCD_Message_Format UCD
 
typedef struct stru_802_22_DCD_Message_Format DCD
 
typedef struct stru_802_22_DownStreamBurstProfileFormat DBPF
 
typedef struct stru_802_22_USMAP_MessageFormat USMAP
 
typedef struct stru_802_22_DSBurst DS_BURST
 
typedef struct stru_802_22_USMAPIE USMAP_IE
 
typedef struct stru_802_22_Service CR_SERVICE
 
typedef struct stru_DSx_IE DSX_IE
 
typedef struct stru_DSA_REQ DSA_REQ
 
typedef struct stru_DSA_RSP DSA_RSP
 
typedef struct stru_DSD_REQ DSD_REQ
 
typedef struct stru_DSD_RSP DSD_RSP
 
typedef struct stru_BWRequestSubHeader BW_REQUEST
 
typedef struct stru_802_22_UplinkAlloctioninfo UPLINKALLOCINFO
 
typedef struct stru_802_22_UCD_IE UCD_IE
 
typedef struct stru_802_22_SSFOutput SSF_OUTPUT
 
typedef struct stru_802_22_SSFInput SSF_INPUT
 
typedef struct stru_NetSim_CR_BS_Metrics BS_METRICS
 
typedef struct stru_NetSim_CR_Incumbent_Metrics INCUMBENT_METRICS
 
typedef struct stru_NetSim_CR_Channel_Metrics CHANNEL_METRICES
 
typedef struct stru_NetSim_CR_CPE_Metrics CPE_METRICS
 
typedef enum enum_802_22_MAC_Management_Message MANAGEMENT_MESSAGE
 
typedef enum enum_802_22_Modulation MODULATION_TECHNIQUE
 
typedef enum enum_802_22_CodingRate CODING_RATE
 
typedef enum enum_802_22_ChannelState CHANNEL_STATE
 
typedef enum enum_802_22_IncumbentStatus INCUMBENT_STATUS
 
typedef enum enum_802_22_SubEvent SUBEVENT
 

Enumerations

enum  enum_802_22_ChannelState {
  ChannelState_DISALLOWED , ChannelState_OPERATING , ChannelState_BACKUP , ChannelState_CANDIDATE ,
  ChannelState_PROTECTED , ChannelState_UNCLASSIFIED
}
 
enum  enum_802_22_SubEvent {
  INCUMBENT_OPERATION_START =MAC_PROTOCOL_IEEE802_22*100+1 , INCUMBENT_OPERATION_END , TRANSMIT_SCH , FORM_DS_BURST ,
  TRANSMIT_DS_BURST , FORM_US_BURST , DSA_RSP_TIMEOUT , DSA_RVD_TIMEOUT ,
  TRANSMIT_US_BURST , TRANSMIT_US_BURST_CONTROL , QUIET_PERIOD , SM_DBS ,
  SM_SignalDetected , SM_Geolocation , SM_UPDATECHANNEL
}
 
enum  enum_802_22_MAC_Management_Message {
  MMM_DCD =0 , MMM_DS_MAP , MMM_UCD , MMM_US_MAP ,
  MMM_RNG_REQ , MMM_RNG_CMD , MMM_REG_REQ , MMM_REG_RSP ,
  MMM_DSA_REQ , MMM_DSA_RSP , MMM_DSA_ACK , MMM_DSC_REQ ,
  MMM_DSC_REP , MMM_DSC_ACK , MMM_DSD_REQ , MMM_DSD_REP ,
  MMM_DSX_RVD , MMM_MCA_REQ , MMM_MCA_RSP , MMM_CBC_REQ ,
  MMM_CBC_RSP , MMM_DREG_CMD , MMM_DREG_REQ , MMM_ARQFeedback ,
  MMM_ARQ_Discard , MMM_ARQ_Reset , MMM_CHS_REQ , MMM_CHS_REP ,
  MMM_CHQ_REQ , MMM_CHQ_REP , MMM_IPC_UPD , MMM_BLM_REQ ,
  MMM_BLM_RSP , MMM_BLM_REP , MMM_BLM_ACK , MMM_TFTP_CPLT ,
  MMM_TFTP_RSP , MMM_SCM_REQ , MMM_SCM_RSP , MMM_FRM_UPD ,
  MMM_CBP_RLY , MMM_FCH , MMM_SCH , MMM_BW_REQUEST ,
  MMM_UCS_NOTIFICATION
}
 
enum  enum_802_22_CodingRate {
  Coding_UNCODED , Coding_1_2_REP4 , Coding_1_2_REP3 , Coding_1_2_REP2 ,
  Coding_1_2 , Coding_2_3 , Coding_3_4 , Coding_5_6
}
 
enum  enum_802_22_IncumbentStatus { IncumbentStatus_NONOPERATIONAL , IncumbentStatus_OPERATIOAL }
 

Functions

int fn_NetSim_CR_CopyPacket_F (const NetSim_PACKET *pstruDestPacket, const NetSim_PACKET *pstruSrcPacket)
 
int fn_NetSim_CR_TransmitP2PPacket (NetSim_PACKET *pstruPacket, NETSIM_ID nDevId, NETSIM_ID nInterface)
 
int fn_NetSim_CR_Configure_F (void **var)
 
int fn_NetSim_CR_Init_F (struct stru_NetSim_Network *NETWORK_Formal, NetSim_EVENTDETAILS *pstruEventDetails_Formal, char *pszAppPath_Formal, char *pszWritePath_Formal, int nVersion_Type, void **fnPointer)
 
int fn_NetSim_CR_FreePacket_F (const NetSim_PACKET *pstruPacket)
 
int fn_NetSim_CR_Metrics_F (PMETRICSWRITER metricsWriter)
 
int fn_NetSim_CR_Finish_F ()
 
int fn_NetSim_CR_PacketArrive ()
 
int fn_NetSim_CR_GetFID (QUALITY_OF_SERVICE nQOS)
 
QUALITY_OF_SERVICE fnGetQOS (char *Qos)
 
int fn_NetSim_CR_AllocBandwidth (NETSIM_ID nSID, QUALITY_OF_SERVICE nQos, UPLINKALLOCINFO **ppstruInfo, unsigned int nSlotRequired, unsigned int nTotalSlot)
 
int fn_NetSim_Check_Interference (unsigned int nChannelNumber, struct stru_802_22_Channel *pstruChannelList, unsigned int nLowerFrequency, unsigned int nHigherFrequency)
 
int fn_NetSim_CR_UpdateInfo (BS_MAC *pstruBSMAC, BS_PHY *pstruBSPHY)
 
int fn_NetSim_AddPacketToList (NetSim_PACKET **list, NetSim_PACKET *packet)
 
long long int fn_NetSim_CR_TransmitPacket (NetSim_PACKET *pstruPacket, int nDevId, int nInterfaceId, int nConDevId, int nConInterface)
 
double fn_NetSim_CR_CalculateTransmissionTime (double dPacketSize, SYMBOL_PARAMETER *pstruSymbolParameter)
 
char * fn_NetSim_CR_Trace_F (int nSubEvent)
 
int fn_NetSim_CR_InitIncumbent (BS_MAC *pstruBSMAC, NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
 
int fn_NetSim_CR_IniScanChannel (BS_MAC *pstruBSMAC, BS_PHY *pstruBSPhy)
 
int fn_NetSim_CR_UpdateOperatingChannel (BS_PHY *pstruBSPhy)
 
int fn_NetSim_CR_StartSCH (int nBTSId, int nInterfaceId)
 
int fnIsinRange (double l1, double u1, double l2, double u2)
 
int fn_NetSim_CR_ConfigIncumbent (void *xmlNetSimNode, BS_MAC *pstruBSMAC)
 
int fn_NetSim_CR_BroadCastPacket (NetSim_PACKET *pstruPacket, NETSIM_ID nDevId, NETSIM_ID nInterface)
 
int fn_NetSim_CR_MulticastPacket (NetSim_PACKET *pstruPacket, NETSIM_ID nDevId, NETSIM_ID nInterface)
 
NetSim_PACKETfn_NetSim_CR_GenerateBroadcastCtrlPacket (int nDeviceId, int nInterfaceId, MANAGEMENT_MESSAGE nMessageType)
 
int fn_NetSim_CR_FillDSFrame (unsigned int size, DS_BURST **pstruDSBurst, SYMBOL_PARAMETER *pstruSymbolParameter, int nFlag, unsigned int *nSlotRequire)
 
int fn_NetSim_CR_AddPacketToDSBurst (DS_BURST *pstruDSBurst, NetSim_PACKET *pstruPacket)
 
NetSim_PACKETfn_NetSim_CR_UNFillSlot (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, unsigned int nBurstId)
 
int fn_NetSim_CR_UpdateIncumbentMetrics (BS_MAC *pstruBSMAC, BS_PHY *pstruBSPHY, double dTime)
 
int fn_NetSim_CR_BS_MACIN ()
 
int fn_NetSim_CR_CPE_PhysicalOut ()
 
char * fn_NetSim_CR_Trace (int nSubEvent)
 
int fn_NetSim_CR_BS_AllocateBandwidth ()
 
int fn_NetSim_CR_ScanChannel (BS_MAC *pstruBSMAC, BS_PHY *pstruBSPhy)
 
int fn_NetSim_CR_FormUSBurst ()
 
int fn_NetSim_CR_FormChannelSet (BS_PHY *pstruBSPhy)
 
int fn_NetSim_Init_OFDMA (BS_PHY *pstruBSPhy)
 
int fn_NetSim_CR_SSA_Initialization (BS_MAC *pstruBSMAC, BS_PHY *pstruBSPHY)
 
int fn_NetSim_CR_AssociateCPE (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
 
int fn_NetSim_CR_FragmentPacket (NetSim_PACKET *pstruPacket, double dSDUSize)
 
int fn_NetSim_CR_CreateServiceFlow (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, int nId, NetSim_PACKET *packet, double dTime)
 
int fn_NetSim_CR_IncumbentStart ()
 
int fn_NetSim_CR_IncumbentEnd ()
 
int fn_NetSim_CR_TransmitSCH ()
 
int fn_NetSim_CR_TransmitFCH ()
 
int fn_NetSim_CR_TransmitDSBurst ()
 
int fn_NetSim_CR_TransmitUSBurst ()
 
int fn_NetSim_CR_QuietPeriod ()
 
int fn_NetSim_CR_UpdateChannel ()
 
int fn_NetSim_CR_CPE_ProcessSCH (NetSim_PACKET *pstruPacket)
 
int fn_NetSim_CR_CPE_ProcessFCH (NetSim_PACKET *pstruPacket)
 
int fn_NetSim_CR_CPE_ProcessDSMAP ()
 
int fn_NetSim_CR_CPE_ProcessUSMAP ()
 
int fn_NetSim_CR_CPE_ProcessDSA_RSP ()
 
int fn_NetSim_CR_CPE_ProcessDSD_REP ()
 
int fn_NetSim_CR_CPE_SwitchChannel ()
 
int fn_NetSim_CR_CPE_PackPacket ()
 
int fn_NetSim_CR_BS_ForwardDataPacket ()
 
int fn_NetSim_CR_BS_ProcessDSAReq ()
 
int fn_NetSim_CR_BS_ProcessDSDReq ()
 
int fn_NetSim_CR_BS_UCS ()
 
NetSim_PACKETfn_NetSim_CR_FormDSMAP (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
 
NetSim_PACKETfn_NetSim_CR_FormUSMAP (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
 
NetSim_PACKETfn_NetSim_CR_FormUCD (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
 
NetSim_PACKETfn_NetSim_CR_FormDCD (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
 
int fn_NetSim_CR_FormDSFrame (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, double dTime)
 
NetSim_PACKETfn_NetSim_CR_BS_PackPacket (BS_MAC *pstruBSMac, NetSim_PACKET *pstruPacket)
 
int fn_Netsim_CR_SM_ScheduleQuietPeriod (BS_PHY *pstruBSPhy, SCH *pstruSCH)
 
struct stru_802_22_SSFOutputfn_NetSim_CR_CPE_SSF (struct stru_802_22_SSFInput *input, NETSIM_ID nDevId, NETSIM_ID nInterfaceId)
 
int fn_NetSim_TerminateServiceFlow (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NetSim_PACKET *pstruPacket)
 
int fn_NetSim_CR_CalulateReceivedPower ()
 

Variables

static unsigned long ulIncumbentSeed1 = 12345678
 
static unsigned long ulIncumbentSeed2 = 23456789
 
unsigned int g_FragmentId
 
struct stru_802_22_Phy_Mode struPhyMode [MAX_PHY_MODE]
 
PROPAGATION_HANDLE propagationHandle
 

Macro Definition Documentation

◆ ARQ_FEEDBACK_BIT

#define ARQ_FEEDBACK_BIT   3

Definition at line 67 of file 802_22.h.

◆ B16_1111111111111111

#define B16_1111111111111111   65535

16 bit Binary number

Definition at line 59 of file 802_22.h.

◆ B2_00

#define B2_00   0

Definition at line 25 of file 802_22.h.

◆ B2_01

#define B2_01   1

Definition at line 26 of file 802_22.h.

◆ B2_10

#define B2_10   2

Definition at line 27 of file 802_22.h.

◆ B2_11

#define B2_11   3

Definition at line 28 of file 802_22.h.

◆ B3_000

#define B3_000   0

Definition at line 31 of file 802_22.h.

◆ B3_001

#define B3_001   1

Definition at line 32 of file 802_22.h.

◆ B3_010

#define B3_010   2

Definition at line 33 of file 802_22.h.

◆ B3_011

#define B3_011   3

Definition at line 34 of file 802_22.h.

◆ B3_100

#define B3_100   4

Definition at line 35 of file 802_22.h.

◆ B3_101

#define B3_101   5

Definition at line 36 of file 802_22.h.

◆ B3_110

#define B3_110   6

Definition at line 37 of file 802_22.h.

◆ B3_111

#define B3_111   7

Definition at line 38 of file 802_22.h.

◆ B4_0000

#define B4_0000   0

Definition at line 41 of file 802_22.h.

◆ B4_0001

#define B4_0001   1

Definition at line 42 of file 802_22.h.

◆ B4_0010

#define B4_0010   2

Definition at line 43 of file 802_22.h.

◆ B4_0011

#define B4_0011   3

Definition at line 44 of file 802_22.h.

◆ B4_0100

#define B4_0100   4

Definition at line 45 of file 802_22.h.

◆ B4_0101

#define B4_0101   5

Definition at line 46 of file 802_22.h.

◆ B4_0110

#define B4_0110   6

Definition at line 47 of file 802_22.h.

◆ B4_0111

#define B4_0111   7

Definition at line 48 of file 802_22.h.

◆ B4_1000

#define B4_1000   8

Definition at line 49 of file 802_22.h.

◆ B4_1001

#define B4_1001   9

Definition at line 50 of file 802_22.h.

◆ B4_1010

#define B4_1010   10

Definition at line 51 of file 802_22.h.

◆ B4_1011

#define B4_1011   11

Definition at line 52 of file 802_22.h.

◆ B4_1100

#define B4_1100   12

Definition at line 53 of file 802_22.h.

◆ B4_1101

#define B4_1101   13

Definition at line 54 of file 802_22.h.

◆ B4_1110

#define B4_1110   14

Definition at line 55 of file 802_22.h.

◆ B4_1111

#define B4_1111   15

Definition at line 56 of file 802_22.h.

◆ BW_REQUEST_BIT

#define BW_REQUEST_BIT   4

Definition at line 68 of file 802_22.h.

◆ CHANNEL_LOSS

#define CHANNEL_LOSS   -1.7

Definition at line 23 of file 802_22.h.

◆ CR_CONTROL_PACKET

#define CR_CONTROL_PACKET (   MMM)    MAC_PROTOCOL_IEEE802_22*100+MMM

Definition at line 235 of file 802_22.h.

◆ CRC

#define CRC   4

CRC Size is 4 Bytes.

Definition at line 122 of file 802_22.h.

◆ DUPLEX_TDD

#define DUPLEX_TDD   1

Definition at line 129 of file 802_22.h.

◆ EXTENDED_BIT

#define EXTENDED_BIT   2

Definition at line 66 of file 802_22.h.

◆ FCH_PHY_MODE

#define FCH_PHY_MODE   4

Definition at line 127 of file 802_22.h.

◆ FCH_SIZE

#define FCH_SIZE   3

FCH Size is 3 Bytes.

Definition at line 120 of file 802_22.h.

◆ FRAGMANET_BIT

#define FRAGMANET_BIT   1

Definition at line 65 of file 802_22.h.

◆ FRAGMENT_SIZE

#define FRAGMENT_SIZE   3

Fragment size is 3 Bytes.

Definition at line 123 of file 802_22.h.

◆ GET_RX_POWER_dbm

#define GET_RX_POWER_dbm (   tx,
  rx 
)    (propagation_get_received_power_dbm(propagationHandle, tx, 1, rx, 1, pstruEventDetails->dEventTime))

Definition at line 1226 of file 802_22.h.

◆ GET_RX_POWER_mw

#define GET_RX_POWER_mw (   tx,
  rx 
)    (DBM_TO_MW(GET_RX_POWER_dbm(tx,rx)))

Definition at line 1227 of file 802_22.h.

◆ GMH_SIZE

#define GMH_SIZE   4

GMH Size is 4 Bytes.

Definition at line 121 of file 802_22.h.

◆ MAX_FID

#define MAX_FID   8

Definition at line 74 of file 802_22.h.

◆ MAX_PHY_MODE

#define MAX_PHY_MODE   17

Definition at line 128 of file 802_22.h.

◆ MAX_SDU_SIZE

#define MAX_SDU_SIZE   255

SDU Size is 255 Bytes.

Definition at line 124 of file 802_22.h.

◆ MAX_SID

#define MAX_SID   512

Definition at line 75 of file 802_22.h.

◆ MULTIPLEACCESS_OFDMA

#define MULTIPLEACCESS_OFDMA   1

Definition at line 130 of file 802_22.h.

◆ SCH_DURATION

#define SCH_DURATION   160000

SCH Duration is 160 milli seconds.

Definition at line 125 of file 802_22.h.

◆ SCH_PHY_MODE

#define SCH_PHY_MODE   2

Definition at line 126 of file 802_22.h.

◆ SCH_SIZE

#define SCH_SIZE   45

SCH Size is 45 Bytes.

Definition at line 119 of file 802_22.h.

◆ UPSTREAM_GRANT_MANAGEMENT_BIT

#define UPSTREAM_GRANT_MANAGEMENT_BIT   0

Mac Subheader bit Table 4, IEEE802.22-2011-page 36

Definition at line 64 of file 802_22.h.

Typedef Documentation

◆ BS_MAC

typedef struct stru_802_22_BS_MAC BS_MAC

Definition at line 81 of file 802_22.h.

◆ BS_METRICS

Definition at line 106 of file 802_22.h.

◆ BS_PHY

typedef struct stru_802_22_BS_Phy BS_PHY

Definition at line 82 of file 802_22.h.

◆ BW_REQUEST

Definition at line 101 of file 802_22.h.

◆ CHANNEL_METRICES

Definition at line 108 of file 802_22.h.

◆ CHANNEL_STATE

Definition at line 115 of file 802_22.h.

◆ CODING_RATE

Definition at line 114 of file 802_22.h.

◆ CPE_MAC

typedef struct stru_802_22_CPE_MAC CPE_MAC

Definition at line 83 of file 802_22.h.

◆ CPE_METRICS

Definition at line 109 of file 802_22.h.

◆ CPE_PHY

typedef struct stru_802_22_CPE_PHY CPE_PHY

Definition at line 84 of file 802_22.h.

◆ CR_SERVICE

Definition at line 95 of file 802_22.h.

◆ DBPF

Definition at line 91 of file 802_22.h.

◆ DCD

Definition at line 90 of file 802_22.h.

◆ DS_BURST

typedef struct stru_802_22_DSBurst DS_BURST

Definition at line 93 of file 802_22.h.

◆ DSA_REQ

typedef struct stru_DSA_REQ DSA_REQ

Definition at line 97 of file 802_22.h.

◆ DSA_RSP

typedef struct stru_DSA_RSP DSA_RSP

Definition at line 98 of file 802_22.h.

◆ DSD_REQ

typedef struct stru_DSD_REQ DSD_REQ

Definition at line 99 of file 802_22.h.

◆ DSD_RSP

typedef struct stru_DSD_RSP DSD_RSP

Definition at line 100 of file 802_22.h.

◆ DSMAP

typedef struct stru_802_22_DSMAP DSMAP

Definition at line 87 of file 802_22.h.

◆ DSMAP_IE

Definition at line 88 of file 802_22.h.

◆ DSX_IE

typedef struct stru_DSx_IE DSX_IE

Definition at line 96 of file 802_22.h.

◆ FCH

Definition at line 78 of file 802_22.h.

◆ FRAGMENT_SUB_HEADER

Definition at line 80 of file 802_22.h.

◆ GMH

Definition at line 79 of file 802_22.h.

◆ INCUMBENT

Definition at line 85 of file 802_22.h.

◆ INCUMBENT_METRICS

Definition at line 107 of file 802_22.h.

◆ INCUMBENT_STATUS

Definition at line 116 of file 802_22.h.

◆ MANAGEMENT_MESSAGE

Definition at line 112 of file 802_22.h.

◆ MODULATION_TECHNIQUE

typedef enum enum_802_22_Modulation MODULATION_TECHNIQUE

Definition at line 113 of file 802_22.h.

◆ SCH

Definition at line 77 of file 802_22.h.

◆ SSF_INPUT

Definition at line 105 of file 802_22.h.

◆ SSF_OUTPUT

Definition at line 104 of file 802_22.h.

◆ SUBEVENT

Definition at line 117 of file 802_22.h.

◆ SYMBOL_PARAMETER

Definition at line 86 of file 802_22.h.

◆ UCD

Definition at line 89 of file 802_22.h.

◆ UCD_IE

typedef struct stru_802_22_UCD_IE UCD_IE

Definition at line 103 of file 802_22.h.

◆ UPLINKALLOCINFO

Definition at line 102 of file 802_22.h.

◆ USMAP

Definition at line 92 of file 802_22.h.

◆ USMAP_IE

typedef struct stru_802_22_USMAPIE USMAP_IE

Definition at line 94 of file 802_22.h.

Enumeration Type Documentation

◆ enum_802_22_ChannelState

Enumeration for channel set

Enumerator
ChannelState_DISALLOWED 
ChannelState_OPERATING 
ChannelState_BACKUP 
ChannelState_CANDIDATE 
ChannelState_PROTECTED 
ChannelState_UNCLASSIFIED 

Definition at line 135 of file 802_22.h.

◆ enum_802_22_CodingRate

Enumeration for coding rate

Enumerator
Coding_UNCODED 
Coding_1_2_REP4 
Coding_1_2_REP3 
Coding_1_2_REP2 
Coding_1_2 
Coding_2_3 
Coding_3_4 
Coding_5_6 

Definition at line 238 of file 802_22.h.

◆ enum_802_22_IncumbentStatus

Enumeration for Incumbent operational status

Enumerator
IncumbentStatus_NONOPERATIONAL 
IncumbentStatus_OPERATIOAL 

Definition at line 252 of file 802_22.h.

◆ enum_802_22_MAC_Management_Message

Enumeration for MAC MANAGEMENT MESSAGE Source: IEEE802.22-2011, table 19, page 46-47

Enumerator
MMM_DCD 

Downstream channel descriptor, defines the characteristics of downstream physical channel. Transmitted by BS at periodic interval.

MMM_DS_MAP 

Downstream access definition, defines the access to the downstream information.

MMM_UCD 

Upstream channel descriptor, defines the characteristics of upstream physical channel. Transmitted by BS at periodic interval.

MMM_US_MAP 

Upstream access definition, defines the access to the upstream information.

MMM_RNG_REQ 

Not implemented.

MMM_RNG_CMD 

Not implemented.

MMM_REG_REQ 

Not implemented.

MMM_REG_RSP 

Not implemented.

MMM_DSA_REQ 

Dynamic service addition request, This message is sent by BS or CPE to create new service request.

MMM_DSA_RSP 

This message is generated in response to DSA-REQ message.

MMM_DSA_ACK 

Dynamic service addition acknowledgement.

MMM_DSC_REQ 

Dynamic service change request

MMM_DSC_REP 

Dynamic service change reply.

MMM_DSC_ACK 

Dynamic service change Acknowledgement.

MMM_DSD_REQ 

Dynamic service deletion request.

MMM_DSD_REP 
MMM_DSX_RVD 
MMM_MCA_REQ 

Not implemented.

MMM_MCA_RSP 

Not implemented.

MMM_CBC_REQ 

Not implemented.

MMM_CBC_RSP 

Not implemented.

MMM_DREG_CMD 

Not implemented.

MMM_DREG_REQ 

Not implemented.

MMM_ARQFeedback 

Not implemented.

MMM_ARQ_Discard 

Not implemented.

MMM_ARQ_Reset 

Not implemented.

MMM_CHS_REQ 

Channel switch request, Sent by BS in order to switch the entire cell operation to new channel.

MMM_CHS_REP 
MMM_CHQ_REQ 

Channel quiet request.

MMM_CHQ_REP 
MMM_IPC_UPD 

Not implemented.

MMM_BLM_REQ 

Bulk measurement request.

MMM_BLM_RSP 
MMM_BLM_REP 

Bulk measurement report.

MMM_BLM_ACK 
MMM_TFTP_CPLT 

Not implemented.

MMM_TFTP_RSP 

Not implemented.

MMM_SCM_REQ 

Not implemented.

MMM_SCM_RSP 

Not implemented.

MMM_FRM_UPD 

Not implemented.

MMM_CBP_RLY 

Not implemented.

MMM_FCH 

NOT IN STANDARD. Included here for commonality

MMM_SCH 
MMM_BW_REQUEST 
MMM_UCS_NOTIFICATION 

Definition at line 170 of file 802_22.h.

◆ enum_802_22_SubEvent

Enumeration for 802.22 Subevent

Enumerator
INCUMBENT_OPERATION_START 
INCUMBENT_OPERATION_END 
TRANSMIT_SCH 
FORM_DS_BURST 
TRANSMIT_DS_BURST 
FORM_US_BURST 
DSA_RSP_TIMEOUT 
DSA_RVD_TIMEOUT 
TRANSMIT_US_BURST 
TRANSMIT_US_BURST_CONTROL 
QUIET_PERIOD 
SM_DBS 
SM_SignalDetected 
SM_Geolocation 
SM_UPDATECHANNEL 

Definition at line 145 of file 802_22.h.

Function Documentation

◆ fn_NetSim_AddPacketToList()

int fn_NetSim_AddPacketToList ( NetSim_PACKET **  list,
NetSim_PACKET packet 
)
Here is the caller graph for this function:

◆ fn_NetSim_Check_Interference()

int fn_NetSim_Check_Interference ( unsigned int  nChannelNumber,
struct stru_802_22_Channel pstruChannelList,
unsigned int  nLowerFrequency,
unsigned int  nHigherFrequency 
)
Here is the caller graph for this function:

◆ fn_NetSim_CR_AddPacketToDSBurst()

int fn_NetSim_CR_AddPacketToDSBurst ( DS_BURST pstruDSBurst,
NetSim_PACKET pstruPacket 
)
Here is the caller graph for this function:

◆ fn_NetSim_CR_AllocBandwidth()

int fn_NetSim_CR_AllocBandwidth ( NETSIM_ID  nSID,
QUALITY_OF_SERVICE  nQos,
UPLINKALLOCINFO **  ppstruInfo,
unsigned int  nSlotRequired,
unsigned int  nTotalSlot 
)
Here is the caller graph for this function:

◆ fn_NetSim_CR_AssociateCPE()

int fn_NetSim_CR_AssociateCPE ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId 
)

This function is used to perform CPE network entry & initialization process

Definition at line 44 of file SpectrumManager.c.

Here is the caller graph for this function:

◆ fn_NetSim_CR_BroadCastPacket()

int fn_NetSim_CR_BroadCastPacket ( NetSim_PACKET pstruPacket,
NETSIM_ID  nDevId,
NETSIM_ID  nInterface 
)
Here is the caller graph for this function:

◆ fn_NetSim_CR_BS_AllocateBandwidth()

int fn_NetSim_CR_BS_AllocateBandwidth ( )

The function is used to allocate the bandwidtrh for the CR base-station

Definition at line 501 of file 802_22.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_BS_ForwardDataPacket()

int fn_NetSim_CR_BS_ForwardDataPacket ( )

This function is used to check whether the destination is present or not. If it presents,it broadcast the data packet

Definition at line 5 of file PacketForward.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_BS_MACIN()

int fn_NetSim_CR_BS_MACIN ( )

This function checks the forwarded packet is Data packet or Control packet and call the appropriate functions

Definition at line 435 of file 802_22.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_BS_PackPacket()

NetSim_PACKET * fn_NetSim_CR_BS_PackPacket ( BS_MAC pstruBSMac,
NetSim_PACKET pstruPacket 
)

In the MAC, the transmitting side has full discretion whether or not to pack a group of MAC SDUs into a single MAC PDU. BSs and CPEs shall both have the capability of unpacking. If packing is turned on for a connection, the MAC may pack multiple MAC SDUs into a single MAC PDU. Also, packing makes use of the connection attribute indicating whether the connection carries fixed-length or variable-length packets.

Definition at line 8 of file Fragmentation.c.

Here is the caller graph for this function:

◆ fn_NetSim_CR_BS_ProcessDSAReq()

int fn_NetSim_CR_BS_ProcessDSAReq ( )

To manage the various traffic flows between CPEs and the BS, the MAC protocol shall have the capability to dynamically manage the addition, deletion, and change of service flows. The format of a Dynamic Service Addition Request (DSA-REQ) message is shown in Table.

This message is sent either by a CPE or BS and is to create a new service flow,and shall not contain parameters for more than one service flow.The FID field carried in the MAC header of the PDU where this message is transmitted shall be the primary management FID of the CPE.

Definition at line 111 of file DSx.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_BS_ProcessDSDReq()

int fn_NetSim_CR_BS_ProcessDSDReq ( )

A Dynamic Service Deletion Request (DSD-REQ) is sent by a CPE or BS to delete an existing service flow.

Definition at line 278 of file DSx.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_BS_UCS()

int fn_NetSim_CR_BS_UCS ( )

Urgent Coexistence Situation Used by the CPE to alert the BS about an UCS with incumbents in the channel currently being used by the BS or either of its adjacent channels:

0: no incumbent (default) 
1: incumbent detected  

Definition at line 326 of file SpectrumManager.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_CalculateTransmissionTime()

double fn_NetSim_CR_CalculateTransmissionTime ( double  dPacketSize,
SYMBOL_PARAMETER pstruSymbolParameter 
)
Here is the caller graph for this function:

◆ fn_NetSim_CR_CalulateReceivedPower()

int fn_NetSim_CR_CalulateReceivedPower ( )

Definition at line 29 of file Component 7/CognitiveRadio/PropagationModel.c.

Here is the call graph for this function:

◆ fn_NetSim_CR_ConfigIncumbent()

int fn_NetSim_CR_ConfigIncumbent ( void *  xmlNetSimNode,
BS_MAC pstruBSMAC 
)

◆ fn_NetSim_CR_Configure_F()

int fn_NetSim_CR_Configure_F ( void **  var)
Here is the caller graph for this function:

◆ fn_NetSim_CR_CopyPacket_F()

int fn_NetSim_CR_CopyPacket_F ( const NetSim_PACKET pstruDestPacket,
const NetSim_PACKET pstruSrcPacket 
)
Here is the caller graph for this function:

◆ fn_NetSim_CR_CPE_PackPacket()

int fn_NetSim_CR_CPE_PackPacket ( )

In the MAC, the transmitting side has full discretion whether or not to pack a group of MAC SDUs into a single MAC PDU. BSs and CPEs shall both have the capability of unpacking. If packing is turned on for a connection, the MAC may pack multiple MAC SDUs into a single MAC PDU. Also, packing makes use of the connection attribute indicating whether the connection carries fixed-length or variable-length packets.

Definition at line 81 of file Fragmentation.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_CPE_PhysicalOut()

int fn_NetSim_CR_CPE_PhysicalOut ( )

This function is used to initialize the Physical layer parameters of CR CPE

Definition at line 393 of file 802_22.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_CPE_ProcessDSA_RSP()

int fn_NetSim_CR_CPE_ProcessDSA_RSP ( )

A DSA-RSP message shall be generated in response to a received DSA-REQ message. If the transaction is successful, the DSA-RSP message may contain the following:

Service Flow parameters (the completespecification of the service flow shall be included in the DSA-RSP if it includes a newly assigned FID or an expanded service class name) and CS parameter encodings (specification of the service flow’s CS-specific parameters).

Definition at line 173 of file DSx.c.

Here is the caller graph for this function:

◆ fn_NetSim_CR_CPE_ProcessDSD_REP()

int fn_NetSim_CR_CPE_ProcessDSD_REP ( )

A DSD-REP shall be generated in response to a received DSD-REQ.

Definition at line 340 of file DSx.c.

Here is the caller graph for this function:

◆ fn_NetSim_CR_CPE_ProcessDSMAP()

int fn_NetSim_CR_CPE_ProcessDSMAP ( )

Definition at line 105 of file DSMAP.c.

Here is the caller graph for this function:

◆ fn_NetSim_CR_CPE_ProcessFCH()

int fn_NetSim_CR_CPE_ProcessFCH ( NetSim_PACKET pstruPacket)

The FCH shall be encoded using the binary convolutional channel coding .The FCH shall be transmitted using the PHY mode 5. The 15-bit randomizer is initialized using the 15 LSBs of the BS ID. The BS ID is transmitted as part of the SCH and is thus available to the CPEs for decoding. The 24 FCH bits are encoded and mapped onto 24 data subcarriers. In order to increase the robustness of the FCH, as signaled in the SCH, the encoded and mapped FCH data may be transmitted using the PHY mode 4. The FCH then occupies the first two OFDM slots.

Definition at line 66 of file FCH.c.

Here is the caller graph for this function:

◆ fn_NetSim_CR_CPE_ProcessSCH()

int fn_NetSim_CR_CPE_ProcessSCH ( NetSim_PACKET pstruPacket)

The Superframe Control header decoding is critical, so the SCH shall be transmitted using the modulation technique. The length of SCH shall be one OFDM symbol. The SCH shall be decoded by all the CPEs associated with that BS . The SCH provides information about the IEEE 802.22 cell, in order to protect incumbents, support self-coexistence mechanisms, and support the intra-frame and inter-frame mechanisms for management of quiet periods for sensing. Transmission of a SCH indicates that the WRAN cell is operating in one of the two possible modes: normal mode or self-coexistence mode.

Definition at line 106 of file SCH.c.

Here is the caller graph for this function:

◆ fn_NetSim_CR_CPE_ProcessUSMAP()

int fn_NetSim_CR_CPE_ProcessUSMAP ( )

The US-MAP message defines the access to the upstream channel using US-MAP IEs

Definition at line 55 of file USMAP.c.

Here is the caller graph for this function:

◆ fn_NetSim_CR_CPE_SSF()

struct stru_802_22_SSFOutput * fn_NetSim_CR_CPE_SSF ( struct stru_802_22_SSFInput input,
NETSIM_ID  nDevId,
NETSIM_ID  nInterfaceId 
)

Definition at line 278 of file SpectrumManager.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_CPE_SwitchChannel()

int fn_NetSim_CR_CPE_SwitchChannel ( )

When the BS decides to switch channels during normal operation, it shall execute the following procedure to determine when to schedule the channel switching operation. The BS selects the first backup channel from its backup/candidate channel list, it shall select a waiting time T46 to make sure that all its CPEs are prepared for the channel switch. The value of T46 is a configuration parameter that could be set by the management interface. The first requirement is the value of T46 shall be smaller or equal to the maximum allowed channel moving time and the second requirement is that is long enough for the CPEs to recover from an incumbent detection.

Note: For further details, please Refer IEEE 802.22-2011 Document Section 7.22.2

Definition at line 389 of file SpectrumManager.c.

Here is the caller graph for this function:

◆ fn_NetSim_CR_CreateServiceFlow()

int fn_NetSim_CR_CreateServiceFlow ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId,
int  nId,
NetSim_PACKET packet,
double  dTime 
)

A service flow is a MAC transport service that provides unidirectional transport of packets either to upstream packets transmitted by the CPE or to downstream packets transmitted by the BS. A service flow is characterized by a set of QoS parameters such as latency, jitter, and throughput assurances. In order to standardize operation between the CPE and BS, these attributes include details of how the CPE requests upstream bandwidth allocations and the expected behavior of the BS upstream scheduler.

Definition at line 12 of file DSx.c.

Here is the call graph for this function:

◆ fn_NetSim_CR_FillDSFrame()

int fn_NetSim_CR_FillDSFrame ( unsigned int  size,
DS_BURST **  pstruDSBurst,
SYMBOL_PARAMETER pstruSymbolParameter,
int  nFlag,
unsigned int *  nSlotRequire 
)
Here is the caller graph for this function:

◆ fn_NetSim_CR_Finish_F()

int fn_NetSim_CR_Finish_F ( )
Here is the caller graph for this function:

◆ fn_NetSim_CR_FormChannelSet()

int fn_NetSim_CR_FormChannelSet ( BS_PHY pstruBSPhy)

This function is used set the channel number and assign the channel characteristics for all channels

Definition at line 5 of file SpectrumManager.c.

◆ fn_NetSim_CR_FormDCD()

NetSim_PACKET * fn_NetSim_CR_FormDCD ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId 
)

DCD (Downstream Channel Descriptor) message shall be transmitted by the BS at a periodic interval to define the characteristics of a downstream physical channel.

Definition at line 5 of file DCD.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_FormDSFrame()

int fn_NetSim_CR_FormDSFrame ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId,
double  dTime 
)

The DS-MAP message defines the access to the downstream information. The length of the DS-MAP shall be an integer number of bytes. This function is used to generate the FCH frame,DS-MAP packet,US-MAP packet,DCD,UCD etc.

Definition at line 6 of file DSFrame.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_FormDSMAP()

NetSim_PACKET * fn_NetSim_CR_FormDSMAP ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId 
)

The DS-MAP message defines the access to the downstream information. The length of the DS-MAP shall be an integer number of bytes.

Definition at line 10 of file DSMAP.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_FormUCD()

NetSim_PACKET * fn_NetSim_CR_FormUCD ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId 
)

This message shall be transmitted by the BS at a periodic interval to define the characteristics of an upstream physical channel.

Definition at line 5 of file UCD.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_FormUSBurst()

int fn_NetSim_CR_FormUSBurst ( )

The MAC data elements that are contained in upstream bursts shall be mapped to the US sub frame in a different order. They are first mapped horizontally, OFDM symbol by OFDM symbol, in the same logical sub channel.

Once a logical sub channel has been filled to the end of the upstream sub frame, the balance of the MAC data elements shall be mapped to the next logical sub channel, in an increasing sub channel order. This process continues until all of the sub channels and symbols allocated to the burst are filled. If the quantity of MAC data elements is insufficient to fill an upstream burst so that an integer number of OFDMA slots is occupied once encoded, zero padding shall be inserted at the end.

Alternatively, the horizontal laying of the MAC data elements may fill one sub channel with at least 7 OFDM symbols at a time and continue on the following sub channels. However, when all logical sub channels have been filled, the next MAC data elements shall be placed in the first available logical sub channel in the following burst. The width of the last vertical burst will be between 7 and 13 symbols depending on the total number of symbols in the upstream sub frame.

Definition at line 20 of file USFrame.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_FormUSMAP()

NetSim_PACKET * fn_NetSim_CR_FormUSMAP ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId 
)

The US-MAP message defines the access to the upstream channel using US-MAP IEs

Definition at line 9 of file USMAP.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_FragmentPacket()

int fn_NetSim_CR_FragmentPacket ( NetSim_PACKET pstruPacket,
double  dSDUSize 
)

Fragmentation is the process by which a MAC SDU is divided into one or more MAC PDUs. This process is undertaken to allow efficient use of available bandwidth relative to the QoS requirements of a connection’s service flow. Upon the creation of a connection by the MAC SAP, fragmentation capability is defined. Fragmentation may be initiated by a BS for downstream connections and by a CPE for upstream connections.

Definition at line 171 of file Fragmentation.c.

Here is the caller graph for this function:

◆ fn_NetSim_CR_FreePacket_F()

int fn_NetSim_CR_FreePacket_F ( const NetSim_PACKET pstruPacket)
Here is the caller graph for this function:

◆ fn_NetSim_CR_GenerateBroadcastCtrlPacket()

NetSim_PACKET * fn_NetSim_CR_GenerateBroadcastCtrlPacket ( int  nDeviceId,
int  nInterfaceId,
MANAGEMENT_MESSAGE  nMessageType 
)
Here is the caller graph for this function:

◆ fn_NetSim_CR_GetFID()

int fn_NetSim_CR_GetFID ( QUALITY_OF_SERVICE  nQOS)
Here is the caller graph for this function:

◆ fn_NetSim_CR_IncumbentEnd()

int fn_NetSim_CR_IncumbentEnd ( )

This function is used to end the Incumbent operation and is also used to generate the time for which incumbent is idle.

Definition at line 52 of file Incumbent.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_IncumbentStart()

int fn_NetSim_CR_IncumbentStart ( )

This function is used to start the Incumbent operation and is also used to generate the time for which incumbent operates.

Definition at line 5 of file Incumbent.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_IniScanChannel()

int fn_NetSim_CR_IniScanChannel ( BS_MAC pstruBSMAC,
BS_PHY pstruBSPhy 
)
Here is the caller graph for this function:

◆ fn_NetSim_CR_Init_F()

int fn_NetSim_CR_Init_F ( struct stru_NetSim_Network NETWORK_Formal,
NetSim_EVENTDETAILS pstruEventDetails_Formal,
char *  pszAppPath_Formal,
char *  pszWritePath_Formal,
int  nVersion_Type,
void **  fnPointer 
)
Here is the caller graph for this function:

◆ fn_NetSim_CR_InitIncumbent()

int fn_NetSim_CR_InitIncumbent ( BS_MAC pstruBSMAC,
NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId 
)

◆ fn_NetSim_CR_Metrics_F()

int fn_NetSim_CR_Metrics_F ( PMETRICSWRITER  metricsWriter)
Here is the caller graph for this function:

◆ fn_NetSim_CR_MulticastPacket()

int fn_NetSim_CR_MulticastPacket ( NetSim_PACKET pstruPacket,
NETSIM_ID  nDevId,
NETSIM_ID  nInterface 
)
Here is the caller graph for this function:

◆ fn_NetSim_CR_PacketArrive()

int fn_NetSim_CR_PacketArrive ( )
Here is the caller graph for this function:

◆ fn_NetSim_CR_QuietPeriod()

int fn_NetSim_CR_QuietPeriod ( )

In order to meet the Channel Detection Time for detecting the presence of incumbents in the operating channel, an IEEE 802.22 network shall schedule network-wide quiet periods for sensing. During these quiet periods, all network traffic is suspended and base stations and CPEs shall perform in-band sensing. This process is coordinated by the BS, which is responsible for scheduling the quiet periods.

Note: For further details, please Refer IEEE 802.22-2011 Document Section 7.21

Definition at line 204 of file SpectrumManager.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_ScanChannel()

int fn_NetSim_CR_ScanChannel ( BS_MAC pstruBSMAC,
BS_PHY pstruBSPhy 
)
Here is the caller graph for this function:

◆ fn_Netsim_CR_SM_ScheduleQuietPeriod()

int fn_Netsim_CR_SM_ScheduleQuietPeriod ( BS_PHY pstruBSPhy,
SCH pstruSCH 
)

The mechanism for quiet period management consists of the following two sensing stages, which are realized through the use of network-wide quiet periods, but which have different time scales: a) Intra-frame sensing b) Inter-frame sensing

For more Information,refer IEEE 802.22-2011 Document Section 7.21.1

Definition at line 168 of file SpectrumManager.c.

Here is the caller graph for this function:

◆ fn_NetSim_CR_SSA_Initialization()

int fn_NetSim_CR_SSA_Initialization ( BS_MAC pstruBSMAC,
BS_PHY pstruBSPHY 
)

SSA initialization processes shall exist at the BS and CPE. In the case of the BS SSA initialization, if there is at least one available channel (N0), a selection shall be made and a second round of spectrum sensing shall then take place on the adjacent channels of the selected channel. If a WRAN signal is detected, RF signal sensing and signal classification shall then be carried out on the channel (N0+1 or N0–1 or both) through the sensing path during the identified quiet periods to verify the presence and the identity of the incumbent service underneath the WRAN operation. In such case, a new available channel will need to be selected.

Definition at line 153 of file SpectrumManager.c.

Here is the call graph for this function:

◆ fn_NetSim_CR_StartSCH()

int fn_NetSim_CR_StartSCH ( int  nBTSId,
int  nInterfaceId 
)

◆ fn_NetSim_CR_Trace()

char * fn_NetSim_CR_Trace ( int  nSubEvent)

Definition at line 126 of file 802_22.c.

Here is the call graph for this function:

◆ fn_NetSim_CR_Trace_F()

char * fn_NetSim_CR_Trace_F ( int  nSubEvent)
Here is the caller graph for this function:

◆ fn_NetSim_CR_TransmitDSBurst()

int fn_NetSim_CR_TransmitDSBurst ( )

This function is used to transmit the appropriate DSBurst.

Definition at line 82 of file DSFrame.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_TransmitFCH()

int fn_NetSim_CR_TransmitFCH ( )

The frame control header is transmitted as part of the downstream PDU in the DS subframe. The length of the FCH shall be 3 bytes.The FCH shall be sent in the first subchannel of the symbol immediately following the frame preamble symbol except when it I s the first frame of a superframe belonging to a specific BS where this symbol will follow the SCH.

This second symbol of the frame carrying the FCH shall use a cyclic prefix TCP=1/4 TFFT. The FCH shall be encoded using the binary convolutional channel coding .The FCH shall be transmitted using the PHY mode 5.

Definition at line 11 of file FCH.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_TransmitP2PPacket()

int fn_NetSim_CR_TransmitP2PPacket ( NetSim_PACKET pstruPacket,
NETSIM_ID  nDevId,
NETSIM_ID  nInterface 
)
Here is the caller graph for this function:

◆ fn_NetSim_CR_TransmitPacket()

long long int fn_NetSim_CR_TransmitPacket ( NetSim_PACKET pstruPacket,
int  nDevId,
int  nInterfaceId,
int  nConDevId,
int  nConInterface 
)

◆ fn_NetSim_CR_TransmitSCH()

int fn_NetSim_CR_TransmitSCH ( )

The Superframe Control header decoding is critical, so the SCH shall be transmitted using the modulation technique. The length of SCH shall be one OFDM symbol. The SCH shall be decoded by all the CPEs associated with that BS . The SCH provides information about the IEEE 802.22 cell, in order to protect incumbents, support self-coexistence mechanisms, and support the intra-frame and inter-frame mechanisms for management of quiet periods for sensing. Transmission of a SCH indicates that the WRAN cell is operating in one of the two possible modes: normal mode or self-coexistence mode.

Definition at line 10 of file SCH.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_TransmitUSBurst()

int fn_NetSim_CR_TransmitUSBurst ( )

The MAC data elements that are contained in upstream bursts shall be mapped to the US sub frame in a different order. They are first mapped horizontally, OFDM symbol by OFDM symbol, in the same logical sub channel.

Once a logical sub channel has been filled to the end of the upstream sub frame, the balance of the MAC data elements shall be mapped to the next logical sub channel, in an increasing sub channel order. This process continues until all of the sub channels and symbols allocated to the burst are filled. If the quantity of MAC data elements is insufficient to fill an upstream burst so that an integer number of OFDMA slots is occupied once encoded, zero padding shall be inserted at the end.

Alternatively, the horizontal laying of the MAC data elements may fill one sub channel with at least 7 OFDM symbols at a time and continue on the following sub channels. However, when all logical sub channels have been filled, the next MAC data elements shall be placed in the first available logical sub channel in the following burst. The width of the last vertical burst will be between 7 and 13 symbols depending on the total number of symbols in the upstream sub frame.

Definition at line 162 of file USFrame.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_UNFillSlot()

NetSim_PACKET * fn_NetSim_CR_UNFillSlot ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId,
unsigned int  nBurstId 
)
Here is the caller graph for this function:

◆ fn_NetSim_CR_UpdateChannel()

int fn_NetSim_CR_UpdateChannel ( )

This function is used to update the operating channel as well as to update the event details

Definition at line 401 of file SpectrumManager.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_CR_UpdateIncumbentMetrics()

int fn_NetSim_CR_UpdateIncumbentMetrics ( BS_MAC pstruBSMAC,
BS_PHY pstruBSPHY,
double  dTime 
)
Here is the caller graph for this function:

◆ fn_NetSim_CR_UpdateInfo()

int fn_NetSim_CR_UpdateInfo ( BS_MAC pstruBSMAC,
BS_PHY pstruBSPHY 
)
Here is the caller graph for this function:

◆ fn_NetSim_CR_UpdateOperatingChannel()

int fn_NetSim_CR_UpdateOperatingChannel ( BS_PHY pstruBSPhy)
Here is the caller graph for this function:

◆ fn_NetSim_Init_OFDMA()

int fn_NetSim_Init_OFDMA ( BS_PHY pstruBSPhy)

The PHY specification is based on an orthogonal frequency division multiple access (OFDMA) scheme where information to (downstream) or from (upstream) multiple CPEs are modulated on orthogonal subcarriers using Inverse Fourier Transforms.

Definition at line 32 of file OFDMA.c.

◆ fn_NetSim_TerminateServiceFlow()

int fn_NetSim_TerminateServiceFlow ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId,
NetSim_PACKET pstruPacket 
)

Any service flow can be deleted with the DSD messages. When a service flow is deleted, all resources associated with it are released. If a service flow for a provisioned service is deleted, the ability to reestablish the service flow for that service is network management dependent. However, the deletion of a provisioned service flow shall not cause a CPE to reinitialize.

Definition at line 213 of file DSx.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fnGetQOS()

QUALITY_OF_SERVICE fnGetQOS ( char *  Qos)
Here is the caller graph for this function:

◆ fnIsinRange()

int fnIsinRange ( double  l1,
double  u1,
double  l2,
double  u2 
)
Here is the caller graph for this function:

Variable Documentation

◆ g_FragmentId

unsigned int g_FragmentId

Definition at line 132 of file 802_22.h.

◆ propagationHandle

PROPAGATION_HANDLE propagationHandle

Definition at line 1224 of file 802_22.h.

◆ struPhyMode

struct stru_802_22_Phy_Mode struPhyMode[MAX_PHY_MODE]
extern

Definition at line 9 of file OFDMA.c.

◆ ulIncumbentSeed1

unsigned long ulIncumbentSeed1 = 12345678
static

Definition at line 71 of file 802_22.h.

◆ ulIncumbentSeed2

unsigned long ulIncumbentSeed2 = 23456789
static

Definition at line 72 of file 802_22.h.