?? cmsmanager.h
字號(hào):
//需要在CMsManager中定義:int m_iBlockUserOfDCH; float m_fBlockRatioOfDCH;(在DataProcess中統(tǒng)計(jì)用)
//還需要加入數(shù)據(jù)部分的數(shù)據(jù)成員和函數(shù)成員!
///////////////////////////////////////////////////////////////////
// WCDMA TEAM //
// BUPT Radio Research Center //
///////////////////////////////////////////////////////////////////
//
// CMsManager.h
//
///////////////////////////////////////////////////////////////////
//
// 移動(dòng)臺(tái)管理與數(shù)據(jù)統(tǒng)計(jì)類(lèi)的頭文件, 用于聲明類(lèi)CMsManager, 其實(shí)現(xiàn)在
// CMsManager.cpp中。
//
// 增加了DROP結(jié)束時(shí),對(duì)話(huà)音用戶(hù)鏈表上還未結(jié)束通話(huà)的用戶(hù)的處理,以
// 增加統(tǒng)計(jì)的精確性
//
// Written by: 陳美婭 李晶
// Date: 200404
//
///////////////////////////////////////////////////////////////////
/*#if !defined(SYSTEMLEVEL_SIMULATION_CDMATYPE_MANAGER_H)
#define SYSTEMLEVEL_SIMULATION_CDMATYPE_MANAGER_H
*/
#if !defined(SYSTEMLEVEL_SIMULATION_CDMATYPE_MANAGER_H)
#define SYSTEMLEVEL_SIMULATION_CDMATYPE_MANAGER_H
#include "systemsim.h"
#include <afxtempl.h>
#define WindowSize 600
#define TTISize 3
#define OutageThreshold 0.15
#define DropThreshold 0.5
#define DropTimer 5
#define UserOutageThreshold 0.01
#define BEROfPC 0.04
#define PowerControlStep 0.5
#define ActiveSetMaxSize 3
#define InitialDropWindowSize 1500
#define InitialDCHDropThreshold 0.15
#define DCHDropThreshold 0.1
#define MAXDCHPOWER 2000
#define INITIALDCHPOWER 1000 //小于最大可用功率,避免預(yù)測(cè)速率過(guò)高和用戶(hù)接入失敗
#define RATEASSIGNTIMER 1500
#define POWCTRLFAILEDTIMER 750
///////////////////////////////////////////////////////////////
// 移動(dòng)臺(tái)管理與數(shù)據(jù)統(tǒng)計(jì)模塊頭文件 //
///////////////////////////////////////////////////////////////
class CMsManager
{
public:
//attribute
private:
CServiceArea* m_pServiceArea; //指向ServiceArea對(duì)象的指針
CLinkPrediction* m_pLinkPrediction; //指向LinkPrediction對(duì)象的指針
//話(huà)音用戶(hù)鏈表和用戶(hù)數(shù)
CTypedPtrList<CPtrList, CVoiceMs*> m_VoiceList; //話(huà)音業(yè)務(wù)用戶(hù)鏈表
int m_iVoiceNumPerSector; //每扇區(qū)話(huà)音用戶(hù)數(shù)
int m_iVoiceNumInSys; //系統(tǒng)總的話(huà)音用戶(hù)數(shù)
//數(shù)據(jù)用戶(hù)鏈表和用戶(hù)數(shù)
CTypedPtrList<CPtrList, CHttpDataMs*> m_HttpDataList; //http業(yè)務(wù)用戶(hù)鏈表
float m_fFractionHttp; //http用戶(hù)比例
int m_iHttpNum; //http用戶(hù)數(shù)
int m_iDataNumPerSector; //每扇區(qū)數(shù)據(jù)用戶(hù)數(shù)
int m_iDataNumInSys; //系統(tǒng)總的數(shù)據(jù)用戶(hù)數(shù)
CTypedPtrList<CPtrList, CFtpDataMs*> m_FtpDataList; //ftp業(yè)務(wù)用戶(hù)鏈表
float m_fFractionFtp; //FTP用戶(hù)比例
int m_iFtpNum; //ftp用戶(hù)數(shù)
//20060116
CTypedPtrList<CPtrList, CVideoDataMs*> m_VideoDataList; //Video業(yè)務(wù)用戶(hù)鏈表
float m_fFractionVideo; //Video用戶(hù)比例
int m_iVideoNum;
//話(huà)音用戶(hù)相關(guān)統(tǒng)計(jì)屬性
int m_iVoiceUserOfCurrentDrop; //本Drop內(nèi)所有的話(huà)音用戶(hù)
int m_iBlockUserOfVoice; //話(huà)音業(yè)務(wù)接入失敗的用戶(hù)數(shù)
float m_fBlockRatioOfVoice; //話(huà)音用戶(hù)接入失敗率
int m_iOutageUserOfVoice; //話(huà)音業(yè)務(wù)中斷的用戶(hù)數(shù)
float m_fOutageRatioOfVoice; //話(huà)音用戶(hù)中斷率
int m_iDropUserOfVoice; //話(huà)音業(yè)務(wù)掉話(huà)用戶(hù)數(shù)
float m_fDropRatioOfVoice; //話(huà)音用戶(hù)掉話(huà)率
int m_iUnsatisfiedUserOfVoice; //不滿(mǎn)意話(huà)音用戶(hù)數(shù)
float m_fSatisfiedRadioOfVoice; //話(huà)音用戶(hù)滿(mǎn)意率
long m_lTotalVoiceFailedBLNum; //話(huà)音移動(dòng)臺(tái)總的傳輸失敗的傳輸塊數(shù)
long m_lTotalVoiceBLNum; //話(huà)音移動(dòng)臺(tái)總的傳輸塊數(shù)
float m_fMeanVoiceBLER; //話(huà)音移動(dòng)臺(tái)平均誤塊率
//數(shù)據(jù)用戶(hù)相關(guān)統(tǒng)計(jì)屬性
INT64 m_lTotalSucfulBitNum; //成功傳輸比特的總量
long m_lTotalFailedBLNum; //記錄數(shù)據(jù)移動(dòng)臺(tái)傳輸失敗的傳輸塊之和
long m_lTotalSucfulBLNum; //記錄數(shù)據(jù)移動(dòng)臺(tái)成功傳輸?shù)膫鬏攭K之和
float m_fMeanBLER; //一個(gè)drop內(nèi)的平均傳輸塊錯(cuò)誤率
float m_fMeanDataThrput; //一個(gè)drop內(nèi)數(shù)據(jù)平均吞吐量
int m_iBlockedDCHMs; //記錄一個(gè)drop內(nèi)被block的DCH移動(dòng)臺(tái)數(shù)目
float m_fBlockedDCHRatio; //記錄一個(gè)drop內(nèi)被block的DCH移動(dòng)臺(tái)占數(shù)據(jù)移動(dòng)臺(tái)的比例
//業(yè)務(wù)相關(guān)統(tǒng)計(jì)量
long m_lTotalFailedPacketNum; //記錄數(shù)據(jù)移動(dòng)臺(tái)傳輸失敗的分組之和
long m_lTotalSucfulPacketNum; //記錄數(shù)據(jù)移動(dòng)臺(tái)傳輸成功的份組之和
long m_lTotalSucfulPCBit; //記錄數(shù)據(jù)移動(dòng)臺(tái)成功傳輸總比特?cái)?shù)
long m_lTotalPacketDelay; //記錄數(shù)據(jù)移動(dòng)臺(tái)總的分組時(shí)延
long m_lTotalPCDelay; //記錄數(shù)據(jù)移動(dòng)臺(tái)總的分組呼叫時(shí)延
float m_fMeanPER; //一個(gè)drop內(nèi)的平均分組錯(cuò)誤率
//軟切換開(kāi)銷(xiāo)相關(guān)統(tǒng)計(jì)量 add by slj
long m_lSlotOfActiveSetSize[ActiveSetMaxSize]; //記錄激活集內(nèi)不同數(shù)目扇區(qū)所占時(shí)隙
float m_fScaleOfActiveSetSize[ActiveSetMaxSize]; //記錄激活集不同扇區(qū)數(shù)目所占比例
long m_lTotalSlotOfActiveSetSize; //記錄總時(shí)隙
float m_fSpendingOfSHO; //記錄軟切換開(kāi)銷(xiāo)
//相關(guān)統(tǒng)計(jì)量 add by slj 20041020
long m_lTotalSlotOfSHO; //記錄處于軟切換總時(shí)隙
float m_fScaleOfSHO; //記錄軟切換比例
long m_lTotalBLNumInSHO; //記錄軟切換下總的傳輸塊數(shù)
long m_lTotalFailedBLNumInSHO; //記錄軟切換下錯(cuò)誤傳輸塊數(shù)
float m_fBLERInSHO; //記錄軟切換下誤塊率
double m_fTotalMsPowerInSHO; //記錄總發(fā)射功率
long m_lTotalMsSlotInSHO; //記錄處于軟切換所有移動(dòng)臺(tái)所有時(shí)隙
float m_fMeanPowerInSHO; //記錄軟切換下平均功率
//數(shù)據(jù)傳輸相關(guān)變量
CTypedPtrList<CPtrList, CHttpDataMs*> m_AdmittedHttpDataList; //接納控制成功的Http業(yè)務(wù)用戶(hù)鏈表
CTypedPtrList<CPtrList, CFtpDataMs*> m_AdmittedFtpDataList; //接納控制成功的Ftp業(yè)務(wù)用戶(hù)鏈表
//for compile
CTypedPtrList<CPtrList,CDataMs*> m_AdmittedDataList;
TFI_TYPE *m_pstDCHTFI; //數(shù)據(jù)隊(duì)列為空時(shí),指定的DCH信道TFI
//DCH掉線(xiàn)相關(guān)的統(tǒng)計(jì)變量 add by slj
int m_iDCHUserOfCurrentDrop; //本Drop內(nèi)所有的DCH用戶(hù)數(shù)
int m_iDropUserOfDCHMs; //數(shù)據(jù)DCH掉話(huà)用戶(hù)數(shù)
float m_fDropRatioOfDCHMs; //數(shù)據(jù)DCH用戶(hù)掉話(huà)率
int m_iUnsatisfiedUserOfDCHMs; //不滿(mǎn)意DCH用戶(hù)數(shù)
float m_fSatisfiedRadioOfDCHMs; //DCH用戶(hù)不滿(mǎn)意率
int m_iInitDroppedUser; //初始化時(shí)間內(nèi)掉話(huà)DCH用戶(hù)數(shù)
//by zl
float m_fHSDSCHPower; //為扇區(qū)DSCH信道分配的功率
//end of for compile
//統(tǒng)計(jì)文件名參數(shù)
char m_sSystemMeanThroughputFile[40];
//● 系統(tǒng)平均吞吐量的統(tǒng)計(jì)文件,統(tǒng)計(jì)整個(gè)系統(tǒng)內(nèi)每個(gè)扇區(qū)的平均吞吐量,
//每個(gè)drop輸出一個(gè)值
char m_sSystemMeanPERFile[40];
//● 系統(tǒng)平均分組差錯(cuò)概率,整個(gè)系統(tǒng)中的分組差錯(cuò)概率,每個(gè)drop輸出
//一個(gè)值
char m_sMobileC2IFile[40];
//● 移動(dòng)臺(tái)C/I的統(tǒng)計(jì)文件,在指定時(shí)間輸出所有移動(dòng)臺(tái)的C/I數(shù)據(jù),
//點(diǎn)數(shù)為移動(dòng)臺(tái)的個(gè)數(shù)
char m_sMobileThroughputServiceFile[40];
//● 移動(dòng)臺(tái)吞吐量(service)統(tǒng)計(jì)文件,按service統(tǒng)計(jì)用戶(hù)吞吐量,
//點(diǎn)數(shù)為移動(dòng)臺(tái)的個(gè)數(shù)
char m_sVoiceFile[40];
//話(huà)音統(tǒng)計(jì)文件,每個(gè)drop輸出一個(gè)值
char m_sMobileThroughputPacketCallFile[40];
//● 移動(dòng)臺(tái)吞吐量(packet call)統(tǒng)計(jì)文件,按packet call統(tǒng)計(jì)用戶(hù)
//吞吐量,點(diǎn)數(shù)為移動(dòng)臺(tái)的個(gè)數(shù)
public:
int m_iSlotNum; //每drop時(shí)隙數(shù)
float m_fSlotTime; //每時(shí)隙時(shí)長(zhǎng)
float m_fDropTime; //每drop時(shí)長(zhǎng)
int m_iSlotCurrentNum;
int m_iDropCurrentNum;
//以下為各個(gè)移動(dòng)臺(tái)類(lèi)的參數(shù)
float m_fFudgetFactorOf8PSK; //8PSK高階調(diào)制因子
float m_fFudgetFactorOf16QAM; //16QAM高階調(diào)制因子
float m_fVoiceActiveFactor; //話(huà)音激活因子
//for compiling
//the defination of these two variable is not necessary
float m_fC2IThreshold; //門(mén)限C/I
float m_fC2ITarget; //目標(biāo)C/I
float m_fPowerControlStep; //功率控制步長(zhǎng)
float m_fBEROfPC; //功率控制差錯(cuò)概率
float m_fMaxFractionOfTrafficPower; //業(yè)務(wù)信道最大功率比例
float m_fDynamicRangeOfTrafficPower; //業(yè)務(wù)信道功率動(dòng)態(tài)范圍
float m_fMaxFractionOfPacketPower; //分組信道最大功率比例
float m_fDynamicRangeOfPacketPower; //分組信道功率動(dòng)態(tài)范圍
float m_fStdSlowFading; //慢衰標(biāo)準(zhǔn)差
int m_iChannelNumber; //各信道類(lèi)型的數(shù)量
float m_fFractionOfChannel[10]; //各信道對(duì)應(yīng)比例值
//Modified by Li Jing,20040713
//話(huà)音 BLER vs C/I 表
float m_fC2IIndex[26]; //存放著26個(gè)C2I值
float m_fBLER_1[26]; //對(duì)應(yīng)信道類(lèi)型為1的BLER值
float m_fBLER_2[26]; //對(duì)應(yīng)信道類(lèi)型為2的BLER值
float m_fBLER_3[26]; //對(duì)應(yīng)信道類(lèi)型為3的BLER值
float m_fBLER_4[26]; //對(duì)應(yīng)信道類(lèi)型為4的BLER值
float m_fBLER_5[26]; //對(duì)應(yīng)信道類(lèi)型為5的BLER值
//Added by Li Jing,20040713
//數(shù)據(jù)(64K) BLER vs C/I表
float m_fC2IIndex64[4]; //存放著26個(gè)C2I值
float m_fBLER64_1[4]; //對(duì)應(yīng)信道類(lèi)型為1的BLER值
float m_fBLER64_2[4]; //對(duì)應(yīng)信道類(lèi)型為2的BLER值
float m_fBLER64_3[4]; //對(duì)應(yīng)信道類(lèi)型為3的BLER值
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -