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

📄 cnetworkdrive.h

📁 这是cdma2000的一个分组调度算法实例
💻 H
字号:
///////////////////////////////////////////////////////////////////////////////
//  NetworkDrive.h         CNetworkDrive 类的定义
//  建立日期:2001年3月19日上午
//  建立者:  欧阳晖
///////////////////////////////////////////////////////////////////////////
//	2001年3月20日:
//

#if!defined(NETWORKDRIVE_H__INCLUDE_)
#define NETWORKDRIVE_H__INCLUDE_

#include "systemsim.h"
#include "CServiceArea.h"
#include "CMsManager.h"
#include "CLinkPrediction.h"

//////////////////////////////////////////////////////////////////////////////
//
//	Title:		The defination of the class CNetworkDrive
//
//	Location:	This class is at the top of the whole program
//
//	Structure:	
//		CNetwork---->m_MsManager (class CMsManager)
//				---->m_ServiceArea (class CServiceArea)
//				---->m_LinkPrediction (class CLinkPrediction)
//				---->SimulationRun()
//				---->DropInitialization()
//				---->SystemInitialization()
//				---->SlotRun()
//				---->DataStatics()
//				---->ReadData()
//
//	The relationship between the functions:
//		SimulationRun()--->DropInitialization()
//						-->SystemInitialization()-->ReadData()
//						-->SlotRun()
//						-->DataStatics()
//
///////////////////////////////////////////////////////////////////////////////

class CNetworkDrive
{
//attribute
private:
	int	m_iDropNum;						//仿真drop数,从参数文件得到
	float m_fTimePerDrop;			    //每Drop时间,从参数文件得到
	int	m_iSlotNum;						//每drop的时隙数
			                      //根据每drop时长和时隙长度计算得到
	CServiceArea	m_ServiceArea;		//CServiceArea的实例
	CMsManager	m_MsManager;			//CMsManager的实例
	CLinkPrediction	m_LinkPrediction;	//CLinkPrediction的实例
			                   	//对应5种信道类型
	int	m_iDropCurrentNum;				//当前drop序号
	int	m_iSlotCurrentNum;				//当前时隙序号

	/////////////////////////////////////////////////////////////
	//其它必需的数据,作为程序中间过程中的数据传递使用
	int m_iDataStaticsDropNum;			//数据采集的drop号
	int m_iDataStaticsSlotNum;			//数据采集的时隙号
	int m_iStaticsFileNum;				//数据统计用文件个数


//operation
public:
	CNetworkDrive(){}
	~CNetworkDrive(){}
	void SystemInitialization();		//系统初始化函数
			//初始化本类的各个参数,调用包含的各个类的初
			//始化函数,完成系统初始化。

private:
	void ReadData();					//数据读入函数
			//将会调用以下函数
	void ReadData_Simulation();
	void ReadData_ServiceArea();
	void ReadData_ChannelModel();
	void ReadData_VoiceMs();
	void ReadData_DataMs();
	void ReadData_HttpMs();
	void ReadData_Handoff();
	void ReadData_Statics();
	void ReadData_FastFadingValue();
	void CheckTheInputs();

public:
	void DropInitialization();			//Drop初始化函数
			//完成一个drop内的基站和移动台的初始化。
	void SimulationRun();				//仿真流程主函数
			//包括:调用系统初始化函数,开始drop循环,调用drop初始化函数,
			//开始时间循环,调用时隙仿真函数,调用数据统计函数,等。
	void SlotRun();						//时隙仿真函数
			//包括:调用CmsManager中的函数完成话音用户的循环,调用CserviceArea
			//中的函数完成分组信道功率的计算,调用CmsManager中的函数完成数据用
			//户的处理,调用CserviceArea和CmsManager中的函数完成数据传输和服务
			//质量评估。
	void DataStatics();					//数据统计函数
			//完成所有的数据统计,包括调用CmsManager中的函数统计与移动台有关的
			//数据,调用CserviceArea中的函数

	int		GetDropCurrentNum();			//获取当前drop序号
	void	SetDropCurrentNum(int);			//设置当前drop序号
	int		GetSlotCurrentNum();			//获取当前时隙序号
	void	SetSlotCurrentNum(int);			//设置当前时隙序号
	int		GetDataStaticsDropNum();		//获取数据采集的drop号
	int		GetDataStaticsSlotNum();		//获取数据采集的时隙号
	int		GetStaticsFileNum();			//获取数据统计用文件个数
	void	SetDataStaticsDropNum(int);		//设置数据采集的drop号
	void	SetDataStaticsSlotNum(int);		//设置数据采集的时隙号
	void	SetStaticsFileNum(int);			//设置数据统计用文件个数
};

#endif

⌨️ 快捷键说明

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