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

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

?? cvoicems.cpp

?? 此程序為wcdma系統當中ftp/video業務模型的c++程序仿真 通過此程序 能得到此兩種業務在多種條件下的吞吐量和無碼率的性能
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
//////////////////////////////////////////////////////////////////////////
void CVoiceMs::UpdateActiveSetPower()
{                           
	POSITION posTemp;       //位置變量
	ACTIVESECTOR_TYPE* pTempActiveSector=NULL;//臨時激活扇區結構體
	CSector* pSector=NULL;  //扇區指針
	float fTempPower;       //臨時功率,單位:mw

	posTemp=m_ActiveSetList.GetHeadPosition();//獲得激活集鏈表頭指針
	while(posTemp!=NULL)                      //到達鏈表尾則結束循環
	{
		pTempActiveSector=m_ActiveSetList.GetNext(posTemp);
		//獲得當前激活扇區
		fTempPower=pTempActiveSector->fTrafficPower;//獲得功率值(此激活扇區對此Ms的發射功率)
		pSector=
			m_pServiceArea->GetSector(pTempActiveSector->stSectorID);
		//得到扇區指針
		
		pSector->VoicePowerCumulate(fTempPower);  //累加各個Sector的話音業務總功率
	}
}



//////////////////////////////////////////////////////////////////////////
//TITLE:      Clean(通話結束清除鏈表函數)				        
//
//PARAMETERS:NULL              
//
//PURPOSE AND ALGORITHMS:
//            通話結束后,釋放VoiceMs的激活集鏈表和軟切換消息鏈表   
//                                               
//AUTHOR:     Li Jing
//
//CALLING FUNCTIONS:
//
//NOTES:      1.這個函數還是放在話音移動臺中實現,而不放在基類中。因為是滿
//            buffer業務,數據鏈表中的用戶不需要釋放,當當前包傳完后,直
//            接又產生新的包就行了。
//            數據移動臺只有在5秒鐘內都接納失敗時,才可能要進行重撒。而這種
//            情況下,數據移動臺的激活集鏈表、軟切換消息鏈表都還是空的,
//            也就是說不需要調用這個clean函數。
//
//            2.在釋放激活鏈表前先要將話音用戶激活集中的話音功率從相應的激活
//            扇區中釋放
//                                                                
//////////////////////////////////////////////////////////////////////////
void CVoiceMs::Clean()  
{
	CSector* pTempSector=NULL;                      //臨時扇區指針
	POSITION posTemp;                               //臨時位置指針
	float fTempTrafficPower;
	
	posTemp=m_ActiveSetList.GetHeadPosition();      //取得鏈表的頭指針
	while(posTemp!=NULL)                            //到鏈表尾則結束循環
	{
		pTempSector=
			m_pServiceArea->GetSector(m_ActiveSetList.GetAt(posTemp)->stSectorID);
		    //獲得激活扇區的指針
		fTempTrafficPower=
			(float)((m_ActiveSetList.GetAt(posTemp)->fTrafficPower));
		fTempTrafficPower*=(-1);

		//delete the voice power from the active sectors
		pTempSector->VoicePowerCumulate(fTempTrafficPower);
        //update the total power of the sector
		pTempSector->TxPowerUpdate();
		
		delete m_ActiveSetList.GetNext(posTemp);    //釋放內存
	}
	m_ActiveSetList.RemoveAll();                    //移去指針

	posTemp=m_SoftHandoffMessageList.GetHeadPosition(); //取得鏈表的頭指針
	while(posTemp!=NULL)                            //到鏈表尾則結束循環
	{
		delete m_SoftHandoffMessageList.GetNext(posTemp);//釋放內存
	}
	m_SoftHandoffMessageList.RemoveAll();           //移去指針	
}



//////////////////////////////////////////////////////////////////////////
//TITLE:      BLERPrediction(誤塊率估計函數)				        
//
//PARAMETERS:
//
//PURPOSE AND ALGORITHMS:
//            每個TTI結束后,根據接收到的平均C/I值,查BLER vs C/I表得到
//            當前用戶這個TTI時間內的BLER,從而用于誤塊估計   
//                                               
//AUTHOR:     Li Jing
//
//CALLING FUNCTIONS:
//
//NOTES:      在進行誤塊率估計的時候,要考慮不同激活因子的因素
//                                                                
//////////////////////////////////////////////////////////////////////////
float CVoiceMs::BLERPrediction(float TTIMeanC2I)
{
	float x1,x2,y1,y2,x,y;


	switch(m_iFwdFrameRate)                                //實際上,這里是不是應該要考慮兩幀的激活速率(這一幀和
	{                                                      //前一幀)。因為一個TTI的時間包含兩幀。以后考慮這個問題。
		case HALF_RATE : TTIMeanC2I+=3.0;
			break;
		case QUARTER_RATE : TTIMeanC2I+=6.0;
			break;
		case EIGHTH_RATE : TTIMeanC2I+=9.0;
			break;
		default : break;
	}
	for (int ii=1;ii<26;ii++)
	//查找TTIMeanC2I在BLER vs C/I表中的位置
	{
		if (TTIMeanC2I<m_pfC2IIndex[ii])
			break;
	}
	if (ii==26)
	//TTIMeanC2I大于表中最大的C2I值
	{
		x2=m_pfC2IIndex[25];
		y2=(float)log(m_pfBLER[25]);
		x1=m_pfC2IIndex[24];
		y1=(float)log(m_pfBLER[24]);
	}
	else
	{
		x2=m_pfC2IIndex[ii];
		y2=(float)log(m_pfBLER[ii]);
		x1=m_pfC2IIndex[ii-1];
		y1=(float)log(m_pfBLER[ii-1]);
	}
	
	x=TTIMeanC2I;
	
	y=((x2-x)*y1+(x-x1)*y2)/(x2-x1);
	m_fTTIBLER=(float)exp(y);
	//得到TTI內的誤塊率
	return m_fTTIBLER;
}



//////////////////////////////////////////////////////////////////////////
//TITLE:      OuterLoopPowerControl(外環功控函數)				        
//
//PARAMETERS:當前TTI是否有誤塊
//
//PURPOSE AND ALGORITHMS:
//            每個TTI結束后,根據誤塊情況調整功控目標值
//                                               
//AUTHOR:     Li Jing
//
//CALLING FUNCTIONS:
//
//DATE:       20040921
//
//////////////////////////////////////////////////////////////////////////
void CVoiceMs::OuterLoopPowerControl(bool sign)
{
	float       fMinC2ITarget;//目標C/I下限
	float       fMaxC2ITarget;//目標C/I上限

	fMinC2ITarget=(float)-25;
	fMaxC2ITarget=(float)-19;

	if(sign)
	{
		m_fC2ITarget-=(float)0.00505;       //當前功率控制目標值下調0.00505dB
		if(m_fC2ITarget<fMinC2ITarget)      //如果超過了功率控制目標值的下限
			m_fC2ITarget=fMinC2ITarget;     //則將功率控制目標設為下限
	}
	else
	{
		m_fC2ITarget+=(float)0.5;           //當前功率控制目標值上調0.5dB
		if(m_fC2ITarget>fMaxC2ITarget)      //如果超過了功率控制目標值的上限
			m_fC2ITarget=fMaxC2ITarget;     //則將功率控制目標設為上限
	}
}



//////////////////////////////////////////////////////////////////////////
//TITLE:      UpdateGeometry(Geometry更新函數)				        
//
//PARAMETERS:NULL
//
//PURPOSE AND ALGORITHMS:
//            每次慢衰更新后,更新移動臺的Geometry,并調用功控目標值確定函數
//                                               
//AUTHOR:     Li Jing
//
//CALLING FUNCTIONS:
//
//DATE:       20040921
//
//////////////////////////////////////////////////////////////////////////
/*void CVoiceMs::UpdateGeometry()
{
	float fFastFading;                 //快衰值
	float fOtherChannelPower;          //本扇區其他信道的干擾,單位:mw
	float fOtherSectorInterference;    //從別的扇區來的干擾
	float fIor2Ioc;

	fFastFading=(m_aMonitorSector[m_iBestSectorIndex].fFastFading[0]
                +m_aMonitorSector[m_iBestSectorIndex].fFastFading[1]
	            +m_aMonitorSector[m_iBestSectorIndex].fFastFading[2]
		        +m_aMonitorSector[m_iBestSectorIndex].fFastFading[3])/(float)4;
	fOtherChannelPower=m_pServiceArea->GetSector(m_stBestSector)->
				   GetTxPower()*m_aMonitorSector[m_iBestSectorIndex].fPropagationLoss*fFastFading;
	fOtherSectorInterference=m_aMonitorSector[m_iBestSectorIndex].fInterferenceFromOtherSector;

	fIor2Ioc=fOtherChannelPower/fOtherSectorInterference;
	fIor2Ioc=(float)(10*log10(fIor2Ioc));

	DeterminePowerControlTarget(fIor2Ioc);
}*/



//////////////////////////////////////////////////////////////////////////
//TITLE:      DeterminePowerControlTarget(功控目標值確定函數)				        
//
//PARAMETERS:Ior/Ioc值
//
//PURPOSE AND ALGORITHMS:
//            每次慢衰更新后,更新移動臺的Geometry,并更新功控目標值
//                                               
//AUTHOR:     Li Jing
//
//CALLING FUNCTIONS:
//
//DATE:       20040921
//
//////////////////////////////////////////////////////////////////////////
/*void CVoiceMs::DeterminePowerControlTarget(float Ior2Ioc)
{
	switch(m_iChannelType)
	{
		case 1 :
			if(Ior2Ioc<-3)
			    m_fC2ITarget=(float)-17.3;
	        else if(Ior2Ioc<3)
                m_fC2ITarget=(float)-24.2;
	        else if(Ior2Ioc<9)
				m_fC2ITarget=(float)-24.6;
	        else
			    m_fC2ITarget=(float)-21.6;
			break;
		case 2 :
			if(Ior2Ioc<-3)
			    m_fC2ITarget=(float)-18.1;
	        else if(Ior2Ioc<3)
                m_fC2ITarget=(float)-25.5;
	        else if(Ior2Ioc<9)
				m_fC2ITarget=(float)-22.5;
	        else
			    m_fC2ITarget=(float)-19.0;
			break; 
		case 3 :
			if(Ior2Ioc<-3)
			    m_fC2ITarget=(float)-22.7;
	        else if(Ior2Ioc<3)
                m_fC2ITarget=(float)-24.4;
	        else if(Ior2Ioc<9)
				m_fC2ITarget=(float)-23.2;
	        else
			    m_fC2ITarget=(float)-22.0;
			break;
		case 4 :
			if(Ior2Ioc<-3)
			    m_fC2ITarget=(float)-22.0;
	        else if(Ior2Ioc<3)
                m_fC2ITarget=(float)-24.1;
	        else if(Ior2Ioc<9)
				m_fC2ITarget=(float)-23.5;
	        else
			    m_fC2ITarget=(float)-22.0;
			break;
	    case 5 :           
			if(Ior2Ioc<-3)
			    m_fC2ITarget=(float)-24.6;
	        else if(Ior2Ioc<3)
                m_fC2ITarget=(float)-24.9;
	        else if(Ior2Ioc<9)
				m_fC2ITarget=(float)-24.7;
	        else
			    m_fC2ITarget=(float)-24.1;
			break;			
	}
}*/



//////////////////////////////////////////////////////////////////////////
//			             以下為get(),set()接口函數                     //
//////////////////////////////////////////////////////////////////////////
int CVoiceMs::GetServiceLength()
{
	return m_iServiceLength;
}

void CVoiceMs::SetServiceLength(int i_inputServiceLength)       
{
	m_iServiceLength=i_inputServiceLength;
}

int  CVoiceMs::GetServiceTime()
{
	return m_iServiceTime;
}

void  CVoiceMs::SetServiceTime(int i_inputServiceTime)
{
	m_iServiceTime=i_inputServiceTime;
}

float CVoiceMs::GetVoiceActiveFactor()
{
	return m_fVoiceActiveFactor;
}

void CVoiceMs::SetVoiceActiveFactor(float i_inputVoiceActiveFactor)     
{
	m_fVoiceActiveFactor=i_inputVoiceActiveFactor;
}

int CVoiceMs::GetTotalOutageWindow()         
{
        return m_iTotalOutageWindow;
}                

void CVoiceMs::SetTotalOutageWindow(int i_inputTotalOutageWindow)     
{
        m_iTotalOutageWindow=i_inputTotalOutageWindow;
}

int CVoiceMs::GetTotalWindow()               
{
        return m_iTotalWindow;
}

void CVoiceMs::SetTotalWindow(int i_inputTotalWindow)          
{
        m_iTotalWindow=i_inputTotalWindow;
}

float CVoiceMs::GetOutageRatio()
{
        return m_fOutageRatio;
}        
        
void   CVoiceMs::SetOutageRatio(float f_inputOutageRatio)
{
        m_fOutageRatio=f_inputOutageRatio;
}

bool   CVoiceMs::IsDropped()
{
	    return m_bIsDropped;
}

void   CVoiceMs::SetIsDropped(bool flag)
{
	    m_bIsDropped=flag;
}

int    CVoiceMs::GetDropTimer() 
{
	    return m_iDropTimer;
}
    
void   CVoiceMs::SetDropTimer(int a)
{
	    m_iDropTimer=a;
}
//end of CVoiceMs

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91黄色免费版| 欧美中文一区二区三区| 久久中文娱乐网| 国内不卡的二区三区中文字幕| 欧美大白屁股肥臀xxxxxx| 久久国产精品99久久人人澡| 精品国产伦一区二区三区观看方式| 免费视频一区二区| 国产欧美精品一区aⅴ影院| 91影院在线观看| 亚洲一区免费在线观看| 欧美一级理论性理论a| 国产一区二区视频在线播放| 国产亚洲午夜高清国产拍精品 | 日韩午夜激情视频| 久久99久久久久| 国产精品无圣光一区二区| av成人免费在线| 肉色丝袜一区二区| 久久奇米777| 一本到高清视频免费精品| 免费成人在线视频观看| 亚洲国产精品成人综合| 欧美日韩极品在线观看一区| 精品一区二区三区不卡| 亚洲精品五月天| 亚洲欧美经典视频| 精品久久久久一区| 在线观看一区日韩| 国产精选一区二区三区| 亚洲一区二区四区蜜桃| 久久综合色婷婷| 欧美视频在线不卡| 国产不卡视频在线播放| 亚洲动漫第一页| 亚洲国产岛国毛片在线| 欧美一区二区三区四区五区| av高清不卡在线| 国产原创一区二区三区| 亚洲一区二区三区在线播放| 国产午夜亚洲精品不卡| 欧美精品一卡二卡| 色婷婷久久久亚洲一区二区三区 | 午夜影院久久久| 欧美激情一区二区三区全黄 | 成人午夜激情在线| 日本不卡不码高清免费观看| 亚洲欧洲av在线| 久久色.com| 91麻豆精品国产91久久久久久| 色综合久久久久综合| 国产伦精品一区二区三区免费 | 一区二区三区中文字幕| 久久久99久久| 精品sm在线观看| 91精品一区二区三区久久久久久| 色欧美乱欧美15图片| 国产999精品久久| 激情图区综合网| 日韩精品免费视频人成| 亚洲午夜久久久久久久久电影院 | 亚洲男人的天堂网| 亚洲国产精品精华液ab| 精品久久久久久无| 日韩亚洲欧美在线| 在线成人免费观看| 欧美日韩国产综合草草| 欧洲视频一区二区| 色婷婷激情综合| 色香蕉久久蜜桃| 91蜜桃传媒精品久久久一区二区| 国产乱理伦片在线观看夜一区| 蜜桃一区二区三区在线观看| 日av在线不卡| 美女一区二区在线观看| 美女网站在线免费欧美精品| 肉肉av福利一精品导航| 石原莉奈在线亚洲三区| 性做久久久久久久免费看| 一区二区免费看| 亚洲一级二级三级| 亚洲午夜激情网站| 五月天精品一区二区三区| 亚洲综合色区另类av| 一区二区久久久| 日韩精品午夜视频| 免费在线一区观看| 久久er99热精品一区二区| 久久精品99久久久| 国产91丝袜在线观看| 成人app网站| 日本韩国一区二区三区| 欧美三级中文字| 日韩一卡二卡三卡四卡| 欧美不卡123| 久久久久国产一区二区三区四区| 国产欧美日韩另类视频免费观看| 国产精品麻豆欧美日韩ww| 亚洲日韩欧美一区二区在线| 亚洲国产aⅴ天堂久久| 奇米一区二区三区av| 国产精品一区二区x88av| 99re成人在线| 日韩午夜小视频| 国产精品视频观看| 香港成人在线视频| 国产激情91久久精品导航 | 日韩av网站免费在线| 激情图区综合网| 91免费在线视频观看| 日韩一级片网站| 国产精品美女久久久久久2018| 亚洲主播在线观看| 狠狠色狠狠色综合| 91福利精品第一导航| 精品国产三级电影在线观看| 国产精品国产三级国产三级人妇 | 高清国产一区二区| 欧美日韩夫妻久久| 国产女同互慰高潮91漫画| 午夜在线电影亚洲一区| 成人97人人超碰人人99| 欧美日韩高清不卡| 综合久久久久久久| 九九在线精品视频| 在线国产电影不卡| 欧美经典一区二区三区| 日韩高清不卡在线| 色域天天综合网| 久久精品视频一区二区三区| 视频一区二区三区在线| 91在线无精精品入口| 久久久久九九视频| 美女脱光内衣内裤视频久久网站| 色八戒一区二区三区| 国产欧美一区二区精品性色超碰 | 国产日产精品一区| 蜜臀av性久久久久蜜臀av麻豆| 色综合久久久网| 国产精品天美传媒沈樵| 看电视剧不卡顿的网站| 欧美日韩视频在线一区二区| 一区免费观看视频| 国产剧情一区二区| 日韩免费视频一区二区| 亚洲777理论| 日本道精品一区二区三区| 国产精品久久久久久久久免费丝袜| 老司机精品视频在线| 欧美区在线观看| 亚洲18女电影在线观看| 色猫猫国产区一区二在线视频| 国产精品少妇自拍| 成人做爰69片免费看网站| 久久伊99综合婷婷久久伊| 老司机免费视频一区二区| 制服丝袜av成人在线看| 午夜精品福利一区二区蜜股av| 欧洲av一区二区嗯嗯嗯啊| 亚洲三级电影网站| 色狠狠综合天天综合综合| 亚洲欧美二区三区| 色播五月激情综合网| 一区二区三区免费网站| 91国产免费看| 亚洲高清不卡在线观看| 欧美性猛片xxxx免费看久爱| 一区二区三区精品在线观看| 色久综合一二码| 午夜视黄欧洲亚洲| 欧美一区二区三区思思人| 日本va欧美va精品发布| 日韩精品一区二区三区四区 | 国产成人av电影在线观看| 久久久国产午夜精品| 成人综合在线视频| 国产精品久久久久一区| 91成人国产精品| 日韩精品91亚洲二区在线观看| 7777女厕盗摄久久久| 美女视频黄 久久| 久久久777精品电影网影网 | 精品国产sm最大网站免费看| 国内久久婷婷综合| 中文字幕一区三区| 欧美午夜精品久久久久久超碰 | 国产日韩欧美a| 99re视频精品| 婷婷国产在线综合| 精品国产91洋老外米糕| www.日韩在线| 亚洲成av人片在线| 欧美xxx久久| 99r精品视频| 日韩经典一区二区| 中文字幕免费一区| 欧美日韩一区中文字幕| 国产美女精品人人做人人爽| 中文字幕亚洲综合久久菠萝蜜| 欧美日韩国产综合一区二区三区|