?? cmsmanager.h
字號:
float m_fBLER64_4[4]; //對應信道類型為4的BLER值
float m_fBLER64_5[4]; //對應信道類型為5的BLER值
//數據(144K) BLER vs C/I表
float m_fC2IIndex144[4]; //存放著26個C2I值
float m_fBLER144_1[4]; //對應信道類型為1的BLER值
float m_fBLER144_2[4]; //對應信道類型為2的BLER值
float m_fBLER144_3[4]; //對應信道類型為3的BLER值
float m_fBLER144_4[4]; //對應信道類型為4的BLER值
float m_fBLER144_5[4]; //對應信道類型為5的BLER值
//數據(384K) BLER vs C/I表
float m_fC2IIndex384[4]; //存放著26個C2I值
float m_fBLER384_1[4]; //對應信道類型為1的BLER值
float m_fBLER384_2[4]; //對應信道類型為2的BLER值
float m_fBLER384_3[4]; //對應信道類型為3的BLER值
float m_fBLER384_4[4]; //對應信道類型為4的BLER值
float m_fBLER384_5[4]; //對應信道類型為5的BLER值
//以下為軟切換參數
float m_fSHOAs_Th; //軟切換門限值
float m_fSHOAs_Th_Hyst; //軟切換門限滯后
float m_fSHOAs_Rep_Hyst; //軟切換替換滯后
int m_iSHOTimer; //軟切換定時器,即△T
int m_iSoftHandoffDelay; //軟切換事件時延
//slj int m_iActiveSetMaxSize; //激活集最大數量
int m_iSwitchCounter; //記錄數據移動臺在DCH、DSCH信道之間的切換次數
//for compile
char *m_sIntermediateFileName;
char *m_sHighestUserFileName;
//掉話用戶統計變量 by slj
int m_iMsNumbelowWindow;
int m_iMsNumUnAdmitted;
//end of for compile
/*//新增成員變量 by zl
//不同的調度算法:
//#define MAXC2I //最大C/I算法宏
//#define RANDOMR //隨機數算法宏
//#define PROPFAIRNESS //正比公平算法
*/
int m_iScheduleAlgorithm; //調度算法
int m_iDCHDataNumPerSector; //每扇區DCH數據用戶數
int m_iDCHDataNumInSys; //系統總的DCH數據用戶數
int m_iHSDSCHDataNumPerSector; //每扇區HSDSCH數據用戶數
int m_iHSDSCHDataNumInSys; //系統總的HSDSCH數據用戶數
//zl 20050308
int m_iHttpNuminSector; //每扇區Http用戶數
int m_iFtpNuminSector; //每扇區FTP用戶數
int m_iVideoNuminSector; //每扇區Video用戶數
//by cmy
public:
//用于門限調整的變量
float m_fEPTargetErrorRate; //門限調整方法中EP錯誤率的目標值
float m_fTADownStep; //門限調整方法中速率預測門限下調步長
float m_fTARange; //門限調整方法中速率預測門限的調整范圍
float m_fTALocalDownStep;
float m_fTAGlobalDownStep;
int m_iAlgorithm; //指示門限調整方法
//zl 20060308
float m_fVideoEPTargetErrorRate; //門限調整方法中Video的EP錯誤率的目標值
float m_fVideoTADownStep; //門限調整方法中Video速率預測門限下調步長
//Operation
public:
CMsManager(); //構造函數
~CMsManager(); //析構函數,清除用戶鏈表
void Initialization(int,float,float,CLinkPrediction*); //完成類的初始化工作
void MsInitialization(CServiceArea*); //完成移動臺對象的初始化工作
void AddUser(); //產生三種用戶并加入鏈表隊列
void Clean(); //清除用戶鏈表,由析構函數調用
void StatisticsReset();
float DistanceCaculte(LOCATION_TYPE,SECTORID_TYPE); //計算移動臺到最近基站的距離
////語音用戶處理部分 by李晶
void VoiceProcess(); //對所有話音用戶進行循環
void TTIBlockCumulate(CVoiceMs*); //新增函數成員,累加一個TTI內的誤塊數至該用戶的m_iNumOfErrorBlock,
//累加一個TTI內的塊數至該用戶的m_iNumOfTotalBlock中
void OutageAndDropJudgement(CVoiceMs*); //新增函數成員,在每個窗口結束時判斷是否outage或drop
void VoiceStatistics(); //由DataStatics調用,每個Drop結束時執行
void UpdateSectorVoicePower(); //更新各扇區話音功率
void UpdateSetPower(); //更新移動臺的監測集
void Coverage(); //覆蓋性能評估函數
////數據用戶處理部分 by陳美婭
void DCHDataMsListProcess(); //數據移動臺鏈表處理函數:形成接納控制成功的DCH隊列
void DCHMsListProcess(); //處理接納控制成功的DCH移動臺
////數據用戶輸出統計部分 by陳美婭
void DataMsStatisticsCalculate(); //循環處理數據移動臺計算統計量
void SectorStaticsCumulate();
void DataBitAndPacketCumulate(); //累計傳輸比特數和分組數,共統計用
void MeanThroughputStatistics(); //計算扇區平均吞吐量,并輸出至文件中
// void MeanPERStatistics(); //計算平均分組差錯概率,并輸出至文件
void MsThroughputStatistics(); //把各個數據用戶的吞吐量輸出至文件中
void MsDelayStatistics(); //把各個http移動臺的時延數據輸出至文件中
void MsASTStatistics(); //統計數據移動臺的Active Session Throughput
void MsSatisfiedRatio(); //統計數據移動臺用戶滿意率
void CalculateBLER(); //計算實際的誤塊率
void MsLocAndInterference(); //考察移動臺位置和干擾的關系
//相應結果輸出到LocAndInterference.txt
//數據DCH用戶掉線的統計函數 add by 蘇麗君 2004年07月30日 //累加一個TTI內的塊數至該用戶的m_iNumOfTotalBlock中
void DCHMsDropRatio(); //輸出DCH用戶掉話率和滿意率
//----------------以下為接口函數(voice part)------------
int GetVoiceNumPerSector();
void SetVoiceNumPerSector(int);
char* GetVoiceFile();
void SetVoiceFile(char*);
int GetDataNumPerSector();
void SetDataNumPerSector(int);
float GetFractionHttp();
void SetFractionHttp(float);
float GetFractionFtp();
void SetFractionFtp(float);
float GetFractionVideo(); //20060116
void SetFractionVideo(float);
//by cmy
void SetFractionOfPacketPower(float); //設置分組信道最大功率比
float GetFractionOfPacketPowe(void); //返回分組信道最大功率比
char* GetSystemMeanThroughputFile();
void SetSystemMeanThroughputFile(char*);
char* GetSystemMeanPERFile();
void SetSystemMeanPERFile(char*);
char* GetMobileC2IFile();
void SetMobileC2IFile(char*);
char* GetMobileThroughputServiceFile();
void SetMobileThroughputServiceFile(char*);
char* GetMobileThroughputPacketCallFile();
void SetMobileThroughputPacketCallFile(char*);
TFI_TYPE* GetDCHTFIforEmptyDataQueue();
void SetDCHTFIforEmptyDataQueue(TFI_TYPE*);
private:
////數據用戶部分 by陳美婭
void HandleDataMs( CDataMs *pDataMs ); //處理數據移動臺,這里實現對HTTP、FTP移動臺類型的多態
void DataMsReInitialize( CDataMs *pDataMs ); //重新初始化數據移動臺
void HandleAdmittedDCHMs( CDataMs *pDataMs ); //處理接納控制成功的DCH移動臺,進行軟切換、功率控制和數據傳輸
void DCHDropEstimate( CDataMs* ); //判斷當前DCH用戶的掉話情況
void DCHInitialDropEstimate( CDataMs* ); //在初始化時間內對DCH掉話的判斷
public:
//新增HS-DSCH用戶部分函數 by zl
void HSDSCHDataListProcess(); //對HSDSCH用戶調度處理
void HSDataProcess(CDataMs *pDataMs); //高速數據處理
void HSDSCHScheduling( CDataMs *pDataMs ); //HS-DSCH用戶的調度函數
float HSDSCHPriorityCalculate( CDataMs *pDataMs );//計算HS-DSCH用戶的優先級
float MaxC2ICalculate( CDataMs *pDataMs); //最大C/I算法優先級的計算 20051214
float PropFairCalculate( CDataMs *pDataMs); //正比公平算法優先級的計算
float GradePFCalculate( CDataMs *pDataMs); //加權分類優先級計算 20051205
float AdaptiveGPFCalculate( CDataMs *pDataMs); //自適應加權分類優先級計算 20051219
float UtilityCalculate( CDataMs *pDataMs); //效用函數優先級計算 20060111
float M_LWDFCalculate(CDataMs *pDataMs);
//M_LWDF算法優先級的計算 20060405 by huangfan
float EXPCalculate(CDataMs *pDataMs);
//EXP算法優先級的計算 20060405 by huangfan
void FeedbackProcess(); //處理反饋信息
void MeanIor2Ioc(); //輸出平均Ior2Ioc
//新增接口函數 by zl
int GetDCHDataNumPerSector(); //讀取每個扇區的DCH用戶數
void SetDCHDataNumPerSector(int); //設置每個扇區的DCH用戶數
int GetHSDSCHDataNumPerSector(); //讀取每個扇區的HSDSCH用戶數
void SetHSDSCHDataNumPerSector(int);//設置每個扇區的HSDSCH用戶數
int GetDCHDataNumInSys(); //讀取系統中總的DCH用戶數
void SetDCHDataNumInSys(int); //設置系統中總的DCH用戶數
int GetHSDSCHDataNumInSys(); //讀取系統中總的HSDSCH用戶數
void SetHSDSCHDataNumInSys(int);//設置系統中總的HSDSCH用戶數
//by cmy
void OutPutThreshold(); //輸出門限值
//用于調度
void MsFairnessStatistics(); //20051205
void MaxRatioThrStatistics(); //20051205
void UpdateWeightedParameter(CDataMs *pDataMs); //20051206
//for prediction
void UserC2ICalculate(); //20051223
void UserMeanC2ICalculate(); //20051223
void UpdatePredictionQueue(); //20051223
void UpdateDelayedQueue();//20051227
//zl 20060302 for Video
void DelaytoDrop(); //判斷是否掉話
void VideoDropRatioStatistics(); //掉話率統計
void UpdateWFactor(); //更新加權因子W
void DropVideoPacket(); //判斷丟包 zl 20060328
void VideoPacketDropRatioStatistics(); //丟包率統計 zl 20060328
void FillQueue(); //zl 20060404
};
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -