📄 cdatams.h
字号:
float m_fPilotStrenHyst; //导频强度门限滞后
int m_iBestSecTimer; //最佳扇区计时器
//b信道状态相关属性
enum SWITCHSTATE{NOSWITCH=0,DCHTODCH=1}; //信道切换变量取值
SWITCHSTATE m_enCHSwitchState; //信道切换状态变量
bool m_bIsBlocked; //DCH移动台在5秒内是否成功接入最佳扇区
int m_iHSDSCHPriority; //移动台的HSDSCH优先级 by zl
bool m_bIsInAdmittedList; //移动台是否已经加入成功接纳DCH移动台队列的标志
//c数据传输相关属性
CTypedPtrList<CPtrList, PACKETARRIVALMESSAGE_TYPE*> m_PacketArrivalMsgList; //HTTP移动台分组到达消息队列
CTypedPtrList<CPtrList, PACKETCALLARRIVALMESSAGE_TYPE*> m_PacketCallArrivalMsgList; //HTTP移动台分组呼叫到达消息队列
long m_lDataQueueSize; //数据队列中数据量
int m_iDataQueueEmptyTimer; //数据队列为空计时器
bool m_bIsTransNow; //移动台是否正在传输
int m_iTTISucfulBLNum; //当前TTI内传对的块数
int m_iTTISucfulBitNum; //当前TTI内传对的比特数
int m_iTTIFailedBLNum; //当前TTI内达到最大重传次数的块数
int m_iTTIFailedBitNum; //当前TTI内达到最大重传次数的错误比特数
int m_iaBLTransNum[MAXBLNUM]; //TTI内传输块的传输次数数组
int m_iSlotNumRemained; //当前TTI剩余时隙数
//by cmy 注意这个变量的定义
float m_fRatePredictC2I; //进行速率预测的C2I
//速率预测C2I = 移动台接收的最大业务信道可用功率 / 总干扰功率
// int m_iRateTimer; //记录当前速率的分配时间
int m_iPowCrtlFailedTimer; //记录当前功制失败的计时器
RATE2CI_TYPE *m_pstRate; //指向速率预测结果
//by cmy 这个变量的定义需要商讨
float m_fSlotC2IindB[MAXTTISLOTNUM]; //DCH TTI每个时隙内的C2I
//分组移动台服务扇区统计所需变量
bool m_bIsCurrentPacketOver; //当前分组是否传输完毕的标志
int m_iCurrentPacketDelay; //当前分组的传输时延
int m_iTransPacketNum; //当前传输分组数
bool m_bIsCurrentPCOver; //当前分组呼叫是否传输完毕的标志
int m_iCurrentPCDelay; //当前分组呼叫的传输时延
int m_iTransPCNum; //当前传输分组呼叫数目
long m_lSucfulPCBitNum; //当前分组呼叫成功传输比特数
long m_lCurrentPCBitNum; //当前分组呼叫的比特数
//分组移动台所需要统计量
int m_iTTISucfulPacketNum; //当前TTI成功传输分组数
int m_iTTIFailedPacketNum; //当前TTI传输失败分组数
//d统计相关属性
int m_iTotalSucfulBLNum; //移动台成功接收的块数
int m_iTotalFailedBLNum; //移动台接收失败,被丢弃的块数
long m_lTotalSucfulBitNum; //移动台成功接收比特数
long m_lTotalFailedBitNum; //移动台接收失败的比特数 20051206
int m_iASTTimer; //移动台AST计时器
float m_fAST; //数据移动台的Active Session Throughput,这个量只是针对http业务模型
float m_fServiceThrput; //下行链路吞吐量
int m_iTotalSucfulPacketNum; //移动台成功接收的分组数
int m_iTotalFailedPacketNum; //移动台接收失败的分组数
float m_fPacketErrorRate; //移动台分组错误率
int m_iTotalPacketDelay; //移动台接收分组的总时延(以时隙数作为单位)
float m_fAveragePacketDelay; //移动台接收分组的平均时延
int m_iPacketCallNum; //HTTP业务分组呼叫数
int m_iPacketCallDelay; //HTTP业务分组呼叫总时延(以时隙数作为单位)
float m_fAveragePCDelay; //HTTP业务平均分组呼叫时延
long m_lTotalSucfulPCBitNum; //HTTP业务分组呼叫总比特数
float m_fPacketCallThrput; //HTTP业务吞吐量
float m_fClosestServingSecDistance; //距离服务扇区的最近距离 km
//统计DCH用户掉话相关属性 add by slj
int m_iDCHDropTimer; //用于统计掉话的DCH数据用户数
bool m_bDCHIsDropped; //判断DCH数据用户是否掉话
int m_iDCHServicedSlot; //已经接纳成功的DCH用户服务时长(以时隙为单位)
//新增变量 by zl:
int m_iFreeSAWProcess; //数据移动台的空闲的子信道数
float m_fCurrentC2I; //当前的C/I,实值
float m_fCurrentC2IindB; //当前的C/I,dB值
float m_fTTIMeanC2IindB; //TTI内的平均C/I,dB值
// int m_iCurrentPacketSize; //当前分组的大小,由MCS得到,在速率预测结构体中
NCHANNELSAW_TYPE m_stSAWChannel[MAXSAWCHANNELNUM]; //子信道数组
int m_iPrevChannelIndex; //前一次被调用的子信道的下标
int m_iCurrChannelIndex; //当前被调用的子信道的下标
// bool m_bIsTTIGood; //传输完毕的TTI是否正确
//速率预测相关处理 by slj 20050408
HSChannel2CI_TYPE *m_pstRatePredictionTable;
//速率预测参数表首地址,存储树状表的顶层的首地址
// CLinkPrediction *m_LinkPredictionPointer; //LinkPrediction对象的指针,在Mobile.cpp中定义过了
int m_iRateNumber;
float m_fHSDataRate;
HSRATE2CI_TYPE *m_HSRate2CI;
int m_iChannelModeNum;
// int m_iMCSOrder;
int m_iCodeNum;
//用于门限调整的变量
THRESHOLDADJUST_ALGORITHM m_fAlgorithm; //门限调整方法
//float m_fMeasuredC2IindB; //这是EV-DV中的一个折算量,相当于HSDPA中的m_fTTIMeanC2IindB
int m_iCurSuccessfulEPNum[MAXRATENUM]; //当前传输EP数
int m_iCurErrorEPNum[MAXRATENUM]; //当前传输错误EP数
bool *m_pSlideWindow; //指向当前传输情况窗口,EP正确传输为true
static const int m_iSlideWindowSize; //表示窗口大小的参数
static const int m_iSlideWindowNum; //统计的滑动窗口数目
static const float m_fAlpha; //滑动窗口加权因子
int m_iEPNuminWindow; //表示当前滑动窗口中EP数
//用于PF调度算法
public:
float m_fAverageRate; //平均速率
float m_fHSDSCHSlotC2IindB[HSDSCHTTISLOTNUM]; //HSDSCH TTI每个时隙内的C2I
SCHEDULE_ALGORITHM m_fScheduleAlgorithm; //调度算法
HSRATE2CI_TYPE* Rate0; //速率为0的结构体
//分段FER统计 20050622
float m_iError[10];
float m_iTotal[10];
float m_fInterError[10]; //总的FER
float m_iMCSError[4][10];
int m_iMCSNum[4][10];
float m_fMCSInterError[4][10]; //MCS FER
int m_ii; //计数
//用于调度算法的变量
//分类调度
float m_fWeightedClassPra; //分类加权参数 20051205
float m_fTargetQos; //QOS目标值 20051206
float m_fCurrentQos; //当前QOS值 20051206
//效用函数 20060111
float m_fBeta;
float m_fTarget;
//by zl 20060302 for Video
CTypedPtrList<CPtrList, FLVIDEOPACKETARRIVALMESSAGE_TYPE*> m_FLVideoPacketArrivalMsgList; //Video移动台分组到达消息队列 20060217
int m_iTotalBitinBuffer; //缓冲器的容量,总的比特数 by zl 20060302
int m_iBitinBuffer; //缓冲器中现有的比特数 by zl 20060302
int m_iEmptyBitinBuffer; //缓冲器空余的比特数 by zl 20060302
int m_iDelayLimitinBuffer; //缓冲器时延限制
int m_iBufferDelay; //缓冲器时延,单位为ms zl 20060302
int m_iVideoDropNum; //掉话数 zl 20060302
int m_iVideoTotalNum; //传输的总数,以缓冲器为单位1 zl 20060302
float m_fDropRatio; //掉话率 zl 20060302
float m_fAlfa;
float m_fW; //控制FTP与Video之间的优先级
int m_iDropTimer; //掉话计数器
//by zl 20060308
bool m_bIsDroped; //判断是否掉话
int m_iTotalDropTime; //掉话时长
//by zl 20060328
int m_iTotalVideoPacketNum; //总的packet数
int m_iVideoPacketDropNum; //丢包数
float m_fVideoPacketDropRatio; //丢包率
int m_iTotalVideoIFrameNum; //总的I Frame数
int m_iVideoIFrameDropNum; //丢I frame数
float m_fVideoIFrameDropRatio; //丢Iframe率
//用于long-range预测 20051214
// bool m_bIsPredict;
double m_dweight[orders]; //加权
float m_fPreC2I[orders+2*DelayedSlot+1]; //保存前面的预测的C2I
float m_fCurC2I[orders+2*DelayedSlot+1]; //保存前面实际的C2I
int m_iPreC2INum; //预存的C2I的个数,用于初始化
float m_fPredictedC2I; //预测得到的C2I
float m_fDelayedC2I; //时延后的C2I,用于与预测比较
float m_fDelC2I[DelayedSlot+1]; //保存当前计算的C2I*
int m_iDelC2INum;
bool m_bIsTTIGood; //传输完毕的TTI是否正确
int m_iMCSOrder;
/* //HARQ in LRP 20051228
int m_iDelNum;
bool m_bDelACK[DelayedSlot]; //保存时延的ACK
int m_iDelMCS[DelayedSlot]; //保存时延的MCS等级
int m_bDelayedACK; //延时的ACK反馈
int m_iDelayedMCS; //延时的MCS等级标志
*/
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -