亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cdatams.h

?? 這是cdma2000的一個分組調度算法實例
?? H
字號:
	//////////////////////////////////////////////////////////////////////////////
//
//                    數(shù)據(jù)移動臺類(CMobile的繼承類)
//
/////////////////////////////////////////////////////////////////////////////
//CDataMs.h
//the head file of Data Ms User
//Zhang Dingye
//Vision: SPDCCH(Secondary Packet Data Control Channel)(二次包數(shù)據(jù)控制信道)仿真版本
//         EP生成根據(jù)信道條件由速率預測函數(shù)進行確定
//  
#if !defined(SYSTEMSLEVEL_SIM_CDataMs_H__INCLUDED_)
#define SYSTEMSLEVEL_SIM_CDataMs_H__INCLUDED_

#include "afxtempl.h"
#include "systemsim.h"
#include "CMobile.h"

#define ERRORRATE 0.//0.01//0.05
#define ALPHA 0.0125   // 濾波器參數(shù),單位為s

typedef 	CPacketArrivalMessageList;	//Packet到達消息隊列

class CDataMs:public CMobile
{
//-------------------attribute--------------------------------------------------------------- 
protected:
	int	m_iCurrentPacketSize;				//當前Encoder packet的大小,根據(jù)數(shù)據(jù)量確定
//	int	m_iCurrentSectorIndex;				//當前傳輸扇區(qū)在候選集數(shù)組中的下標,用于小區(qū)交換	
	float	m_fCurrentSlotC2I;				//當前分組數(shù)據(jù)信道的C/I(real value),用于速率估計
	int	m_iTransmissionNum;					//當前Encoder packet的傳輸次數(shù)		
	float m_fC2I[SubslotNumber];			//子時隙的c/i,
	
	SECTORID_TYPE	m_stCurrentSector;		//當前傳輸數(shù)據(jù)分組的扇區(qū),與最佳扇區(qū)可能不同。
	RATE2CI_TYPE*	m_pstRatePrediction;	//當前時隙速率估計的結果,通過LinkPrediction模塊,獲得當前C/I對應的傳輸信息的指針。
	bool	m_bIsTransmitingNow;			//是否正在傳輸?shù)臉酥?
	bool	m_bIsReTransmission;			//是否為重傳的標志	
	int	m_iSlotNumRemained;					//當前sub-packet剩余的時隙數(shù),還有幾個時隙當前分組傳輸完畢

	CList<float, float>	m_EffectiveCodeRateList;		//等效編碼速率鏈表,存儲從開始傳輸?shù)疆斍皊ub-packet的各個sub-packet的等效編碼速率。
    
	float	m_fMeanSNR;						//平均SNR,根據(jù)鏈表中的各個數(shù)據(jù)計算得到
	float	m_fStdOfSNR;					//SNR標準差,根據(jù)鏈表中的各個數(shù)據(jù)計算得到
	float	m_fCurrentEffectiveCodeRate;	//當前等效編碼速率,根據(jù)鏈表中的數(shù)據(jù)計算,計算方法根據(jù)"鏈路預測用數(shù)據(jù)結構的修改"一文。
	float	m_fEPErrorRate;					//EP分組差錯概率,由LinkPrediction對象獲得
	int	m_iSuccessfulEPNum;					//成功傳輸?shù)腅P分組數(shù)		
	int	m_iErrorEPNum;						//出現(xiàn)差錯的EP分組數(shù)		
	float	m_fThroughputOfService;			//數(shù)據(jù)吞吐量	
	float m_fSaveOfC2IValue[MaxTransmissionNum];		//記錄重傳的幾次的c2i的值的數(shù)組
	float m_fFudgetFactorOf8PSK;			//高階調制的修正因子,8PSK ,對應值為-2.4dB
	float m_fFudgetFactorOf16QAM;			//高階調制的修正因子,16QAM ,對應值為-3.2dB
	
	CLinkPrediction*	m_LinkPredictionPointer;		//LinkPrediction對象的指針	
//	CTypedPtrList<CPtrList, CELLSWITCHMESSAGE_TYPE*>	m_CellSwitchMessageList;		//小區(qū)交換消息隊列	
//	int	m_iCSMsgNum;						//軟切換消息隊列長度

	//加入符號Es/Nt的記錄指針和相關數(shù)據(jù)
	float* m_pfSymbolEsNt;			//指向 Symbol_Es/Nt 的數(shù)組的指針
	int m_iSgNumber;					//記錄上面數(shù)組中有效值的長度
	bool m_bIsSGEsNtArrayfull;			//用于指示SGEsNtArray是否已被有效數(shù)據(jù)填滿
	int m_iLengthOfArrayEsNt;			//EsNt數(shù)組的長度

	//關于數(shù)據(jù)業(yè)務新接口的屬性
	int m_iSuccessfulPacketNum;	//記錄成功傳輸過的分組的數(shù)目
	int m_iErrorPacketNum;	    //記錄錯誤傳輸?shù)姆纸M數(shù)目
	unsigned long m_lPacketCallDataBits;	//記錄成功傳輸?shù)腜C的數(shù)據(jù)量
	float m_fPCThroughput;		//數(shù)據(jù)用戶的packet call吞吐量
	float m_fAveragedPacketDelay;		//平均分組時延
	float m_fAveragedPCDelay;			//平均PacketCall時延
	float m_fPacketErrorRate;			//分組的差錯概率

	int m_iLabelOfDataTraffic;			//表明數(shù)據(jù)業(yè)務的類別;0表示尚為確定業(yè)務類型,1表示為HTTP業(yè)務,2表示為FTP業(yè)務,在業(yè)務繼承類里進行初始化
	int m_iSlotCounter;					//用于記錄當前Subpacket傳輸所用的時隙數(shù)

public:

	bool m_bIsEPGood;					//當前的Ep是否傳輸正確的標志
	long m_lDataQueueSize;				//數(shù)據(jù)量	
	float m_fDelayedC2IValue;			//表示每個slot的C/I經過時延以后的值,為實際值
	float m_fLastSlotC2I;				//表示上一個slot濾波器輸出的C/I值
	bool m_bIsSPDCCHSuccess;			//表示SPDCCH信道是否被正確接收
	float m_fSPDCCHC2I;					//記錄SPDCCH所占用的C2I值
	bool m_bIsSPDCCHOverEstimation;		//指示SPDCCH所用C2I值是否超出了當前數(shù)據(jù)用戶可用C2I的標志
	float m_fPDCHPowerScale;			//表示PDCH信道的功率占總功率的比例
	int m_iErrorSPDCCH;					//錯誤的SPDCCH個數(shù)
	int m_iRealTotalSP;					//總的發(fā)送的Subpacket的個數(shù)
	int m_iRealErrorSP;					//總的錯誤的Subpacket的個數(shù)
	float m_fAverageRate;					//平均傳輸速率,用于調度算法
	long	m_lTotalGoodBitsNum;			//成功傳輸?shù)臄?shù)據(jù)量	
	bool m_bIsCurrentPacketOver;	//標識目前傳輸?shù)膒acket是否結束,用于扇區(qū)的平均分組時延的計算
	int m_iCurrentPacketDelay;		//記錄目前傳輸?shù)膒acket的時延,用于扇區(qū)的平均分組時延的計算
	float m_fPacketDelay;			//用于記錄累加的分組時延
	float m_fPacketCallDelay;		//記錄累加的PC的時延
	int m_iPacketCallNum;		//記錄傳輸過的PC的數(shù)目
	CTypedPtrList<CPtrList, PACKETARRIVALMESSAGE_TYPE*> m_PacketArrivalMessageList;
	CTypedPtrList<CPtrList, PACKETCALLARRIVALMESSAGE_TYPE*> m_PacketCallArrivalMessageList;
	CTypedPtrList<CPtrList, C2IFEEDBACKDELAY_TYPE*> m_C2IFeedbackDelayList;

	int m_iDiscardedPacket;			//這個變量是用來統(tǒng)計被丟棄的Packet的。
	float m_fFilterInputC2I;		//濾波器輸入的C2I值
	float m_fFilterOutputC2I;		//濾波器輸出的C2I值	
	
//------------------------operation----------------------------------------------------------------
public:
	CDataMs(){}
	~CDataMs();

	void DataMsInitialization(CLinkPrediction*);			//初始化函數(shù): 初始化參數(shù),從參數(shù)文件的特定位置讀出參數(shù),如;最大重傳次數(shù)、ACK差錯概率、小區(qū)交換時延等。同時,初始化LinkPrediction。
	void SPDCCHTransmission();
	void C2ICalculate();					//當前時隙的C/I計算函數(shù): 計算當前傳輸扇區(qū)的C/I
	void C2IFeedbackDelay();				//對C2I的值通過鏈表進行信道的時延模擬,對m_fDelayedC2IValue進行賦值
	void C2IFeedback();						//Simulate the R-CQICH and the IIR filter at the receiver
	void RatePrediction();					//速率預測函數(shù): 根據(jù)C/I數(shù)據(jù),從LinkPrediction中得到對應的RATE2CI_TYPE指針
	void PacketTransmission();				//分組(EP)傳輸函數(shù): 功能為,設置數(shù)據(jù)傳輸標志,遞減當前sub-packet的時隙數(shù),調用函數(shù)完成C/I的計算,完成SNR的轉換并插入到SNR鏈表中。
	bool IsSubPacketEnd();					//Sub-packet傳輸完畢的判斷函數(shù): 判斷當前sub-packet是否傳輸完畢,若完畢,把當前的編碼速率插入編碼速率鏈表。
	bool IsPacketGood();					//EP分組質量判決:	根據(jù)PER判決當前分組是否正確接收,TRUE為正確。考慮ACK/NAK的差錯。
	void DiscardedProcess();				//丟棄EP后所作的對相關變量的必要處理
	
	//幾個分量較重的函數(shù)
	void PERPrediction();					//質量估計函數(shù)	功能:根據(jù)SNR鏈表計算SNR的均值和標準差,以及平均編碼速率。調用LinkPrediction的差表函數(shù),得到當前的分組差錯概率。
	void ReTransmissionControl();			//重傳控制函數(shù)	首先判斷重傳次數(shù)是否達到門限,若達到門限則從數(shù)據(jù)隊列中減去packet的長度,同時錯誤分組數(shù)加1。若未達到門限,設置重傳標志,重傳次數(shù)加1。
	void NewPacketSetup();					//設置新的傳輸分組  分組成功傳輸后,從數(shù)據(jù)隊列中加區(qū)分組長度,成功分組數(shù)加1,清空SNR和編碼速率鏈表,調用Encoder Packet生成函數(shù),生成新的EP分組。同時,向傳輸扇區(qū)中加入傳輸數(shù)據(jù)量。

//	void CSMsgGenerator();					//小區(qū)交換消息生成函數(shù)  候選集信息更新后,掃描候選集信息數(shù)組,若有扇區(qū)的導頻信噪比高于當前傳輸扇區(qū)一定門限且超過一定時間,則發(fā)出小區(qū)交換消息,加入消息鏈表。
//	bool CSMsgProcess();					//小區(qū)交換消息處理函數(shù)	掃描消息隊列,完成等待時間的遞減,同時判斷是否有消息到時,到時返回TRUE。
//	void CellSwitch();						//小區(qū)交換函數(shù)	更新當前傳輸小區(qū)。
	
	void SGGenerator();						//根據(jù)Ep的大小生成Symbol Group的數(shù)組
	void InsertEffectiveCodeRate();			//Sub-packet傳輸完畢,把當前的編碼速率插入編碼速率鏈表
	void HandlePacket();					//處理Packet鏈表,完成Packet的傳輸,進行Packet和PC的時延和傳輸?shù)膫€數(shù)的統(tǒng)計

	void PCThroughputCalculate();			//用戶的packet call吞吐量的計算
	void AveragedPacketDelayCalculate();	//平均分組時延的計算
	void AveragedPCDelayCalculate();	    //平均PacketCall時延的計算
	void ThroughputCalculate();				//吞吐量計算函數(shù)  計算吞吐量數(shù)據(jù):總的數(shù)據(jù)量/一個drop的時間
	//其他接口函數(shù),完成私有函數(shù)的讀取
	long	GetDataQueueSize();				//返回數(shù)據(jù)量	
	int	GetCurrentPacketSize();				//返回當前Encoder packet的大小,根據(jù)數(shù)據(jù)量確定
	int	GetCurrentSectorIndex();			//返回當前傳輸扇區(qū)在候選集數(shù)組中的下標	
	float	GetCurrentSlotC2I();			//返回當前分組數(shù)據(jù)信道的C/I,用于速率估計
	int	GetTransmissionNum();				//返回當前Encoder packet的傳輸次數(shù)	
	float GetDelayedC2I();
	
	SECTORID_TYPE	GetCurrentSector();		//返回當前傳輸數(shù)據(jù)分組的扇區(qū)(與最佳扇區(qū)可能不同)
	RATE2CI_TYPE*	GetstRatePrediction();	//返回當前時隙速率估計的結果(通過LinkPrediction模塊,獲得當前C/I對應的傳輸信息的指針)
	bool	IsTransmitingNow();			//返回是否正在傳輸?shù)臉酥?
	bool	IsReTransmission();			//返回是否為重傳的標志	
    
	int	GetSquenceNumOfSlot();				//返回當前時隙的傳輸序號(表明當前時隙是整個Encoder packet的第幾個時隙)
	int	GetSlotNumRemained();				//返回當前sub-packet剩余的時隙數(shù)(還有幾個時隙當前EP分組傳輸完畢)
	
	float	GetMeanSNR();					//返回平均SNR,根據(jù)鏈表中的各個數(shù)據(jù)計算得到
	float	GetStdOfSNR();					//返回SNR標準差,根據(jù)鏈表中的各個數(shù)據(jù)計算得到
	float	GetCurrentEffectiveCodeRate();	//返回當前等效編碼速率,根據(jù)鏈表中的數(shù)據(jù)計算,計算方法根據(jù)"鏈路預測用數(shù)據(jù)結構的修改"一文。
	float	GetEPErrorRate();			//返回EP分組差錯概率,有LinkPrediction對象獲得
	int	GetSuccessfulEPNum();			//返回成功傳輸?shù)腅P分組數(shù)		
	int	GetErrorEPNum();				//返回出現(xiàn)差錯的EP分組數(shù)		
	long	GetTotalGoodBitsNum();			//返回成功傳輸?shù)臄?shù)據(jù)量	
	float	GetThroughputOfService();		//返回數(shù)據(jù)吞吐量	
	
	CLinkPrediction*	GetLinkPredictionPointer();		//返回LinkPrediction對象的指針	
//	int	GetCSMsgNum();						//返回軟切換消息隊列長度

///new added GET-Function about new interface
	float GetPacketDelay();			//返回累加的分組時延****未被調用
	int GetSuccessfulPacketNum();	//返回成功傳輸過的分組的數(shù)目
	int GetErrorPacketNum();		//返回錯誤傳輸過的分組的數(shù)目
	float GetPacketCallDelay();		//返回累加的PC的時延****未被調用
	int GetPacketCallNum();			//返回傳輸過的PC的數(shù)目***httpdatams也有一個同名的成員函數(shù)****未被調用

	float GetPCThroughput();		//返回數(shù)據(jù)用戶的packet call吞吐量
	float GetAveragedPacketDelay();		//返回平均分組時延
	float GetAveragedPCDelay();			//返回平均PacketCall時延
	float GetPacketErrorRate();			//返回分組的差錯概率****未被調用
	float GetFilterOutputC2I();         //返回經過濾波器輸出的C/I
	float GetFilterInputC2I();          //返回輸入濾波器輸出的C/I
	int GetCurrentPacketDelay();			//返回當前傳輸?shù)膒acket的時延

////幾個Set函數(shù)
	void SetCurrentPacketSize(int);			//設置當前Encoder packet的大小,根據(jù)數(shù)據(jù)量確定****未被調用
	void SetSlotNumRemained(int);			//設置當前sub-packet剩余的時隙數(shù)
	void SetIsTransmitingNow(bool);			//設置是否正在傳輸?shù)臉酥?	void SetDataQueueSize(long);			//設置數(shù)據(jù)隊列的長度****未被調用
	void SetEPErrorRate(float);			//設置EP分組差錯概率****未被調用
	void SetTransmissionNum(int);			//設置當前Encoder packet的傳輸次數(shù)****未被調用		

	void SetIsCurrentPacketOver(bool);		//設置當前傳輸?shù)膒acket是否傳輸完成
	bool IsCurrentPacketOver();				//確定當前傳輸?shù)膒acket是否傳輸完成
	void SetCurrentPacketDelay(int);		//設置當前傳輸?shù)膒acket的時延

};

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩在线卡一卡二| 午夜伊人狠狠久久| 国产99久久久精品| 国产精品毛片久久久久久久| av成人免费在线观看| 亚洲色图在线播放| 欧美三级韩国三级日本一级| 日韩精品视频网| 精品剧情在线观看| 成人黄色在线网站| 亚洲激情图片一区| 日韩一区二区三区视频在线| 国产91精品一区二区麻豆网站| 中文字幕一区免费在线观看| 欧美日韩在线精品一区二区三区激情 | 久久99精品久久只有精品| 久久久另类综合| 一本在线高清不卡dvd| 日韩影院免费视频| 国产欧美一区二区精品忘忧草| 91免费观看视频在线| 五月激情六月综合| 国产日本亚洲高清| 欧美日韩午夜精品| 国产一区二区电影| 亚洲国产精品久久艾草纯爱| 精品久久久网站| 在线这里只有精品| 国产精品白丝jk白祙喷水网站| 一区二区三区日韩在线观看| 久久精品国产精品亚洲红杏| 免费精品视频在线| 久久久91精品国产一区二区三区| 91免费在线看| 精品一区二区三区香蕉蜜桃 | 国产精品亚洲专一区二区三区| 国产精品乱人伦| 91麻豆精品国产综合久久久久久| 成人深夜在线观看| 男女男精品网站| 综合久久久久综合| 久久综合久久久久88| 欧美三级视频在线观看| 成人教育av在线| 久久99精品网久久| 午夜激情一区二区| 亚洲女人****多毛耸耸8| 久久视频一区二区| 日韩亚洲欧美中文三级| 在线观看国产日韩| 99国产精品一区| 国产揄拍国内精品对白| 99re成人精品视频| 国产乱码精品1区2区3区| 婷婷国产v国产偷v亚洲高清| 综合色中文字幕| 国产性做久久久久久| 日韩欧美不卡在线观看视频| 欧美午夜视频网站| 91麻豆精品在线观看| 国产成人av影院| 国产一区二三区| 黄页视频在线91| 久久99精品国产麻豆不卡| 日韩不卡一区二区三区| 午夜欧美一区二区三区在线播放| 亚洲精品ww久久久久久p站| 亚洲欧洲日韩一区二区三区| 国产精品丝袜黑色高跟| 久久精品综合网| 久久久久99精品国产片| 久久久久综合网| 国产欧美一区二区精品忘忧草| 久久久久一区二区三区四区| 久久久亚洲午夜电影| 久久亚洲综合色| 久久久久久久免费视频了| 久久午夜电影网| 中文字幕欧美日韩一区| 国产精品久久免费看| 中文字幕一区三区| 亚洲精品欧美综合四区| 1024成人网色www| 亚洲综合色区另类av| 亚洲一区二区三区在线播放| 亚洲成在人线免费| 日韩精品91亚洲二区在线观看 | 国产麻豆午夜三级精品| 国产精品99久| 色婷婷综合久色| 欧美日韩一区二区欧美激情| 3d成人动漫网站| 精品久久久久久久人人人人传媒 | 日韩女同互慰一区二区| 精品国产制服丝袜高跟| 国产欧美精品一区二区色综合朱莉| 国产免费观看久久| 亚洲精品高清在线| 免费看黄色91| 成人av电影在线播放| 在线视频你懂得一区| 日韩丝袜美女视频| 国产日产精品一区| 亚洲电影欧美电影有声小说| 久久精品二区亚洲w码| 岛国精品在线播放| 欧美日韩一区成人| 久久久天堂av| 亚洲综合色自拍一区| 精品一区二区综合| 一本大道久久a久久精品综合| 欧美精品色一区二区三区| 久久精品欧美日韩精品| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲综合激情另类小说区| 免费一区二区视频| 91在线看国产| 欧美精品一区二区三区视频| 亚洲色图欧洲色图婷婷| 麻豆精品在线看| 91麻豆国产自产在线观看| 538prom精品视频线放| 国产精品久久久久国产精品日日 | 一区二区三区国产精华| 国模少妇一区二区三区| 欧美日韩综合色| 国产精品久线观看视频| 奇米777欧美一区二区| 91视频免费播放| 国产午夜亚洲精品不卡| 丝袜美腿一区二区三区| 97久久精品人人做人人爽| 精品国产sm最大网站| 亚洲国产精品一区二区久久| 国产成人综合自拍| 69堂成人精品免费视频| 亚洲欧美一区二区三区孕妇| 国产精品亚洲专一区二区三区| 欧美一区二区三区爱爱| 一二三区精品视频| 91在线观看一区二区| 久久久久久97三级| 美女一区二区三区| 欧美久久久久久久久| 一区二区在线观看不卡| 成人av在线看| 国产午夜精品一区二区三区视频| 美国十次了思思久久精品导航| 欧美综合在线视频| 亚洲精品va在线观看| 91亚洲精华国产精华精华液| 亚洲国产精品传媒在线观看| 国产一区在线观看麻豆| 欧美成人在线直播| 蜜乳av一区二区三区| 69堂成人精品免费视频| 亚洲成人先锋电影| 欧美亚一区二区| 亚洲国产另类av| 91成人在线免费观看| 亚洲精品中文字幕乱码三区| 99久久久久久99| 亚洲色图视频免费播放| 91色.com| 日韩视频中午一区| 亚洲永久免费视频| 色一情一乱一乱一91av| 中文字幕一区二区三区在线观看| 国产精品99久久久久久久vr| 国产日韩av一区| av在线这里只有精品| 亚洲日本欧美天堂| 色偷偷久久一区二区三区| 亚洲一线二线三线视频| 欧美午夜不卡在线观看免费| 亚洲国产日韩a在线播放 | 在线亚洲+欧美+日本专区| 亚洲精品美腿丝袜| 欧美视频你懂的| 天涯成人国产亚洲精品一区av| 5566中文字幕一区二区电影| 久久国产免费看| 国产精品视频一区二区三区不卡| a在线播放不卡| 亚洲亚洲精品在线观看| 欧美精品日日鲁夜夜添| 韩国毛片一区二区三区| 国产女人aaa级久久久级| 色综合久久综合网97色综合| 亚洲午夜久久久久久久久久久| 5566中文字幕一区二区电影| 精品对白一区国产伦| 国产专区综合网| 中文字幕第一区二区| 色综合亚洲欧洲| 日韩av中文在线观看| 国产亚洲一区二区三区在线观看| 成人午夜视频在线| 亚洲高清在线视频| 久久久欧美精品sm网站|