⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 systemsim.h

📁 此程序为wcdma系统当中ftp/video业务模型的c++程序仿真 通过此程序 能得到此两种业务在多种条件下的吞吐量和无码率的性能
💻 H
📖 第 1 页 / 共 2 页
字号:
	float fMeanSNR;		//平均SNR
	float fStdSNR;		//SNR的方差
	float fBLER;
}SNR2BLER1_TYPE;

//速率到 BLER 的映射结构体
typedef struct stRate2BLER1
{
	float fEffectiveCodeRate;				//等效编码速率
	SNR2BLER1_TYPE* pstAddrOfSNR2BLER;	//SNR2BLER 表的首地址
	int iSNR2BLER1Length;			//SNR2BLER 表的长度
}RATE2BLER1_TYPE;

//ENCODER PACKET SIZE 到 BLER 的映射结构体
typedef struct stEPS2BLER1
{
	int iEncoderPacketSize;						//编码数据包长度
	RATE2BLER1_TYPE* pstAddrOfRate2BLER;	//Rate2BLER 结构体数组的首地址
	int iRATE2BLER1Length;				//Rate2BLER 结构体数组的长度
}EPS2BLER1_TYPE;

/* BLER 估计数据表(2)*/

//SNR的均值到 BLER 的映射结构体
typedef struct stSNR2BLER2
{
	float fMeanSNR;		//平均SNR
	float fBLER;
}SNR2BLER2_TYPE;

//SNR的方差到 BLER 修正值的映射结构体
typedef struct stStd2BLER
{
	float fStdSNR;			//SNR的方差
	float fAdjustOfBLER;	//BLER 修正值
}STD2BLER_TYPE;

//速率到 BLER 的映射结构体
typedef struct stRate2BLER2
{
	float fEffectiveCodeRate;				//等效编码速率
	SNR2BLER2_TYPE* pstAddrOfSNR2BLER;		//SNR2BLER 表的首地址
	STD2BLER_TYPE* pstAddrOfStd2BLER;	//Std2BLER 表的首地址
}RATE2BLER2_TYPE;

//ENCODER PACKET SIZE 到 BLER 的映射结构体
typedef struct stEPS2BLER2
{
	int iEncoderPacketSize;			//编码数据包长度
	RATE2BLER2_TYPE* pstAddrOfRate2BLER;	//Rate2BLER 结构体数组的首地址
}EPS2BLER_TYPE;

//软切换消息结构体
typedef struct stSoftHandoffMessage
{
	int iMonitorIndex;			//目标扇区在候选集数组中的下标
	SECTORID_TYPE stTargetSector;		//目标扇区的扇区标号
	int iWaitTime;				//需要等待的时间长度,以时隙为单位
	bool bIsAdd;				//是否加入到激活集中,true: add,false: drop
}SOFTHANDOFFMESSAGE_TYPE;

//小区交换消息结构体
typedef struct stCellSwitchMessage
{
	int iCandidateIndex;			//目标扇区在候选集数组中的下标
	SECTORID_TYPE stTargetSector;		//目标扇区的扇区标号
	int iWaitTime;				//需要等待的时间长度,以时隙为单位
}CELLSWITCHMESSAGE_TYPE;


//Packet到达消息结构体
typedef struct stPacketArrivalMessage
{
	int iGeneratedPacketSize;		//生成时的分组大小,固定值生成分组时赋值
	int iTimeOfGeneratePacket;		//此Packet生成的时候的时隙数
	int  iObjectIndicator;                  //分组属于主从对象的标识
	int iPacketSize;			//当前Packet的大小
	int iPacketIndex;			//此Packet是其所属的PC的第几个Packet,暂时没用到
	bool bIsPacketCallEnd;			//表示此Packet是否是其所属的Packet Call的最后一个Packet
	bool bIsSucfulTrans;			//分组是否正确传输的标志,初始值为true
}PACKETARRIVALMESSAGE_TYPE;

//PacketCall到达消息结构体
typedef struct stPacketCallArrivalMessage
{
	int iTimeOfPCArrival;		//此PacketCall生成的时候的时隙数
	int iMainObjectSize;		//分组呼叫中主对象的大小,生成分组呼叫时赋值
    long lDataBitsOfPC;		//分组呼叫包含比特总数
	long lSucfulBitNum;		//记录当前的PC的成功传输的比特数
	bool bIsMOSucfulTrans;		//分组主对象是否正确传输的标志,初始值为true
}PACKETCALLARRIVALMESSAGE_TYPE;

enum OBJECTTYPE{MAINOBJECT,PLAGIN};
const double ProcessGain[4]={17.2,20.2,23.2,23.2};


class CNetworkDrive;
class CServiceArea;
class CMsManager;
class CLinkPrediction;
class CCell;
class CSector;
class CMobile;
class CChannelModel;
class CVoiceMs;
class CDataMs;
class CHttpDataMs;
class CFtpDataMs;
class CVideoDataMs;  //20060116

#define FastFadingValueLength 90000

const float fConstTc=1000.;  //zx20010813, 
//计算一定时间内数据用户平均速率的时间窗口常量, 单位为slot, 
//具体情况见Proportional Fair调度算法的说明
typedef struct stC2IFeedbackDelay
{
	float fDelayedC2IValue;
	int iDelayTime;
}C2IFEEDBACKDELAY_TYPE;
	

//N信道停等时延 by zl
#define SAWFEEDBACKDELAY 0	//反向链路反馈时延,包括三个部分:
                            //UE处理ack/nack和计算C/I的时延+
                            //反馈信息从UE反馈到到NodeB时延+
                            //NodeB处理反馈信息的时延  by zl

//C/I反馈时延 by zl
#define C2IFEEDBACKDELAY 0  //反向链路反馈时延,3个时隙

//链路预测接口 by slj 20050408
//速率预测表
typedef struct stHSRate2CI
{
	float fOriginalTargetC2I;                //最初的目标值
	int iRateOrder;			//代表当前速率等级
	float fCurEPR;			//代表当前传输块残余错误率
	float fTargetC2I;			//目标C/I(dB)
	float fDataRate;			//数据速率(kbps)
	int iModulationOrder;		//调制阶数
	float fCodeRate;		    //编码速率
    int  iTTISize;          //一个Block的大小,bit
    int iMCSMode;               //MCS类型
    int iCodeNum;               //用于仿多码情况下传输速率的计算
}HSRATE2CI_TYPE;


typedef struct stHSChannel2CI
{
	int iChannelMode;		        //信道类型
	HSRATE2CI_TYPE *pstAddrOfRate2CI;	//Rate2CI 结构体数组的首地址
	int iRATE2CILength;			//Rate2CI 结构体数组的长度
}HSChannel2CI_TYPE;

//FER表
//当前TTI平均C/I到 FER 的映射结构体
typedef struct stHSCI2FER
{
	float fC2I;		//平均C2I,dB
	float fFER;     //对应误帧率
}HSCI2FER_TYPE;

//MCS级别到 FER 的映射结构体
typedef struct stHSMCS2FER
{
	int iMCSMode;				//MCS类型
	HSCI2FER_TYPE *pstAddrOfCI2FER;	//CI2FER 表的首地址
	int iCI2FERLength;			//CI2FER 表的长度
}HSMCS2FER_TYPE;

//信道类型到 FER 的映射结构体
typedef struct stHSChannel2FER
{
	int iChannelMode;			//信道类型
	HSMCS2FER_TYPE *pstAddrOfMCS2FER;	// MCS2FER结构体数组的首地址
	int iMCS2FERLength;			// MCS2FER结构体数组的长度
}HSChannel2FER_TYPE;

//当前系统码字个数到MCS与CI2FER曲线映射结构体
typedef struct stHSCodeNum2FER
{
	int iCodeNum;			                            //码字个数
	HSChannel2FER_TYPE *pstAddrOfChannel2FER;	// Channel2FER结构体数组的首地址
	int iChannel2FERLength;			              // Channel2FER结构体数组的长度
}HSCodeNum2FER_TYPE;

//子信道结构体  by zl
typedef struct stNChannelSAW
{
    //int iSAWProcessNum;     //用数组下标代替
	bool bNewDataIndicator;   //新数据指示符
	bool bIsTTIGood;          //ACK/NACK指示符
	int iFeedbackTimer;       //反馈定时器
	int iTransCounter;        //记录传输次数
	float fChannelC2I;        //合并的C/I
    HSRATE2CI_TYPE* pstRate2CI;  //速率预测结构体,重传与首次传输的相同
}NCHANNELSAW_TYPE;

//long-range prediction 20051214
#define DelayedSlot 0       //单位为TTI
#define mu     0.02
#define orders 50
#define IsPredict false

//for Video
#define  DelayLimit 5  //单位为秒
#define  PacketDropLimit 0.4  //单位为秒zl 20060328
#define  QoSWeight 4.247425  //by huangfan 20060405
			//weight for M_LWDF schedule algorithm 
			//which define the required level of QoS

//前向Video业务packet消息结构体   20060116
typedef struct stFLVideoPacketArrivalMessage
{
	int iPacketSize;				//记录此packet的大小
	int iPacketIndex;				//记录此packet在trace中的序号 zl20060404
	int iTimeOfGeneratePacket;		//记录此packet到达的时隙号
	int iPacketDropLimit;           //记录此packet的最大丢包时延 zl20060328
	bool bIsSucfulTrans;			//分组是否正确传输的标志,初始值为true
}FLVIDEOPACKETARRIVALMESSAGE_TYPE;

//前向Video业务packetcall(即frame)结构体  20060116
typedef struct stFLVideoPacketCallArrivalMessage
{
	int iTimeOfGenerateFrame;		//记录当前帧的到达时刻
	long lDataBitsOfFrame;			//记录当前帧的总比特数
}FLVIDEOPACKETCALLARRIVALMESSAGE_TYPE;

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -