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

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

?? cmobile.cpp

?? 這是cdma2000的一個分組調度算法實例
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
//////////////////////////////////////////////////////////////////////////
//                        for Evaluation Project						//
//                          Mobile User Team							//
//                      BUPT Radio Research Center						//
//////////////////////////////////////////////////////////////////////////
//																		//
//                          CMobile.CPP									//
//																		//
//////////////////////////////////////////////////////////////////////////
//																		//
// 移動臺基類CMobile的成員函數的聲明									//
//																		//
//																		//
// Ref. documents:														//
//          "1xEV-DV仿真程序類的初步定義"								//
//																		//
// Written by:    CAI Qi-ming, ZHANG Ding-ye,							//
//                DOU Zhong-zhao, ZHANG Xin								//
// Rev. date:     20010320 (yyyymmdd)									//
//																		//
// What's NEW:															//
//		20010319, include文件"header1.h"變為"systemsim.h",因為文件名	//
//				的可讀性原因. by ZhangXin.								//
//		20020409
//				1  MobileInitialization()增加一個入口參數,放在參數列表	//
//				最后一位,代表信道類型。
//				2  MobileInitialization()中每個扇區放入規定數量的話音移
//				動臺和數據移動臺
//////////////////////////////////////////////////////////////////////////


#include "CMobile.h"
#include "iostream.h"
#include "Newran.h"
#include "sys_random.h" 
#include "CMsManager.h"
//#include "fstream.h"
//#include "iomanip.h"

//////////////////////////////////////////////////////////////////////////
//								初始化函數								//
//	參數有:ID,MsManager和ServiceArea的指針,運動速度,信道類型。		//
//           同時,調用其它函數,完成其它變量的初始化。					//
//////////////////////////////////////////////////////////////////////////
void CMobile::MobileInitialization(
			int           i_inputMsID, 
			CMsManager*   p_inputCMsManager, 
			CServiceArea* p_inputCServiceArea, 
			float         f_inputMsVelocity, 
			int           i_inputChannelType,
			float         f_inputStdSlowFading,
			int           i_inputTrafficType)
{
	bool bFlag=false;                     //越界標記


 	m_iMsID=i_inputMsID;                  //對MS的ID進行初始化
	m_pMsManager=p_inputCMsManager;       //MsManager指針初始化
	m_pServiceArea=p_inputCServiceArea;   //ServiceArea指針初始化
	//...... modified by cqm, Apr.9 ......//
	m_iSlotCount=1;                       //Slot記數器,設為1是因為VoiceProcess()從slot 1開始運行的
	//....................................//
	m_fStdSlowFading=f_inputStdSlowFading;//慢衰標準差
	m_nChannelType=i_inputChannelType;    
	m_fMsVelocity=f_inputMsVelocity;


	while (!bFlag)                     
	{
		LocationGenerator();           //對MS的位置坐標進行初始化     
		LocationSector();              //對MS的歸屬扇區標號進行初始化     
		if ((m_stLocationSector.stCellID.m==3)&&
			(m_stLocationSector.stCellID.n==3))  
		{	
			//......modified by cqm, Apr.9 .......//
			switch(i_inputTrafficType)
			{
			//如果在(3,3)小區
				case Voice : switch(m_stLocationSector.s)//產生話音用戶
							{
								case 1: //m_pMsManager->m_iVoiceNumGenerated[0]++;//記錄生成的話音用戶數
									if(m_pMsManager->m_iVoiceNumGenerated[0]<m_pMsManager->m_iVoiceNumPerSector)//如果話音用戶數目沒有超標
									{
										m_pMsManager->m_iVoiceNumGenerated[0]++;//記錄生成的話音用戶數
										bFlag=true; //該用戶有效,標志位置為真
										(m_pServiceArea->GetSector(m_stLocationSector)->m_iNumOfSector)++;//該扇區總用戶數加一
									}
									break;//中斷循環
								case 2: //m_pMsManager->m_iVoiceNumGenerated[1]++;//記錄生成的話音用戶數
									if(m_pMsManager->m_iVoiceNumGenerated[1]<m_pMsManager->m_iVoiceNumPerSector)//如果話音用戶數目沒有超標
									{
										m_pMsManager->m_iVoiceNumGenerated[1]++;//記錄生成的話音用戶數
										bFlag=true; //該用戶有效,標志位置為真
										(m_pServiceArea->GetSector(m_stLocationSector)->m_iNumOfSector)++;//該扇區總用戶數加一
									}
									break;//中斷循環
								case 3: //m_pMsManager->m_iVoiceNumGenerated[2]++;//記錄生成的話音用戶數
									if(m_pMsManager->m_iVoiceNumGenerated[2]<m_pMsManager->m_iVoiceNumPerSector)//如果話音用戶數目沒有超標
									{
										m_pMsManager->m_iVoiceNumGenerated[2]++;//記錄生成的話音用戶數
										bFlag=true; //該用戶有效,標志位置為真
										(m_pServiceArea->GetSector(m_stLocationSector)->m_iNumOfSector)++;//該扇區總用戶數加一
									}
									break;//中斷循環
								default:
									break;
							}
					break;
				case Data : switch(m_stLocationSector.s)//產生數據用戶
							{
								case 1: m_pMsManager->m_iDataNumGenerated[0]++;//記錄生成的數據用戶數
									if(m_pMsManager->m_iDataNumGenerated[0]<=m_pMsManager->m_iDataNumPerSector)//如果數據用戶數目沒有超標
									{
										bFlag=true; //該用戶有效,標志位置為真
										(m_pServiceArea->GetSector(m_stLocationSector)->m_iNumOfSector)++;//該扇區總用戶數加一
									}
									break;//中斷循環
								case 2: m_pMsManager->m_iDataNumGenerated[1]++;//記錄生成的數據用戶數
									if(m_pMsManager->m_iDataNumGenerated[1]<=m_pMsManager->m_iDataNumPerSector)//如果數據用戶數目沒有超標
									{
										bFlag=true; //該用戶有效,標志位置為真
										(m_pServiceArea->GetSector(m_stLocationSector)->m_iNumOfSector)++;//該扇區總用戶數加一
									}
									break;//中斷循環
								case 3: m_pMsManager->m_iDataNumGenerated[2]++;//記錄生成的數據用戶數
									if(m_pMsManager->m_iDataNumGenerated[2]<=m_pMsManager->m_iDataNumPerSector)//如果數據用戶數目沒有超標
									{
										bFlag=true; //該用戶有效,標志位置為真
										(m_pServiceArea->GetSector(m_stLocationSector)->m_iNumOfSector)++;//該扇區總用戶數加一
									}
									break;//中斷循環
								default:
									break;
							}
					break;
			}
		}
	}

	InitChannelModel(f_inputStdSlowFading,i_inputChannelType);     //對MS的信道模型數據進行初始化
   	InitNeighborSet();                  //根據MS的歸屬扇區對相鄰扇區數組成員數據進行初始化
	InitCadidateSet();                  //根據MS的歸屬扇區以及相鄰扇區數據對候選扇區數組進行初始化
}
//end of MobileInitialization()

	
//////////////////////////////////////////////////////////////////////////
//							坐標生成函數								//
//							隨機產生移動臺的坐標						//
//////////////////////////////////////////////////////////////////////////
void CMobile::LocationGenerator()
{
#ifdef UNIFORMITY
	m_stMsLocation.x
		=xUniform((float)sqrt(3)*m_pServiceArea->GetSiteDistance(),(float)(5*m_pServiceArea->GetSiteDistance()
		/sqrt(3)));     //產生的移動臺的坐標服從均勻分布(只針對(3.3)的小區)
	m_stMsLocation.y
		=xUniform((float)2*m_pServiceArea->GetSiteDistance(),(float)(3*m_pServiceArea->GetSiteDistance()));
#endif


//..............................Modified By hj,  July,11,2003 ...............................//
//移動臺撒在以BS為中心的圓上(只針對(3.3)的小區)
#ifdef  R1
    float m_stMsRadius=(float)0.9*m_pServiceArea->GetSiteDistance()/2;  //半徑R定義為小區間距的一半,移動臺分布半徑分別為0.9R,0.5R,0.1R移動臺分布半徑
	float m_stMsCentreAngle=xUniform((float)0.0,(float)2*PI);           //隨機生成移動臺圓心角,圓心角在0到2PI之間均勻分布
    m_stMsLocation.x=(float)(4*m_pServiceArea->GetSiteDistance()/sqrt(3)+m_stMsRadius*cos(m_stMsCentreAngle));
    m_stMsLocation.y=(float)(2.5*m_pServiceArea->GetSiteDistance()+m_stMsRadius*sin(m_stMsCentreAngle));
#endif

#ifdef  R2
    float m_stMsRadius=(float)0.5*m_pServiceArea->GetSiteDistance()/2;  //半徑R定義為小區間距的一半,移動臺分布半徑分別為0.9R,0.5R,0.1R移動臺分布半徑
	float m_stMsCentreAngle=xUniform((float)0.0,(float)2*PI);           //隨機生成移動臺圓心角,圓心角在0到2PI之間均勻分布
    m_stMsLocation.x=(float)(4*m_pServiceArea->GetSiteDistance()/sqrt(3)+m_stMsRadius*cos(m_stMsCentreAngle));
    m_stMsLocation.y=(float)(2.5*m_pServiceArea->GetSiteDistance()+m_stMsRadius*sin(m_stMsCentreAngle));
#endif

#ifdef  R3
    float m_stMsRadius=(float)0.1*m_pServiceArea->GetSiteDistance()/2;  //半徑R定義為小區間距的一半,移動臺分布半徑分別為0.9R,0.5R,0.1R移動臺分布半徑
	float m_stMsCentreAngle=xUniform((float)0.0,(float)2*PI);           //隨機生成移動臺圓心角,圓心角在0到2PI之間均勻分布
    m_stMsLocation.x=(float)(4*m_pServiceArea->GetSiteDistance()/sqrt(3)+m_stMsRadius*cos(m_stMsCentreAngle));
    m_stMsLocation.y=(float)(2.5*m_pServiceArea->GetSiteDistance()+m_stMsRadius*sin(m_stMsCentreAngle));
#endif
//.............................................................................................//


}
//end of LocationGenerator()


//////////////////////////////////////////////////////////////////////////
//						  歸屬扇區確定函數								//
//					 通過調用ServiceArea中的函數獲得					//
//////////////////////////////////////////////////////////////////////////			
void CMobile::LocationSector()
{
	m_stLocationSector=m_pServiceArea->GetUserCell(m_stMsLocation);  //調用ServiceArea的函數GetUserCell()完成歸屬扇區的初始化
}
//end of LocationSector()


//////////////////////////////////////////////////////////////////////////
//						   信道模型初始化函數							//
//			調用CchannelModel的初始化函數,完成信道模型的初始化			//
//////////////////////////////////////////////////////////////////////////
void CMobile::InitChannelModel(float f_inputStdSlowFading,
							   int i_inputChannelType)
{                    //定義必要的變量
	int i,j;         //循環變量


	for(i=0;i<19;i++)
		for(j=0;j<SectorNumber;j++)
		{
			m_aNeighborSector[i*SectorNumber+j].stSectorID.stCellID
				=m_pServiceArea->GetCell(m_stLocationSector.stCellID)
				->m_aNeighborCell[i]->m_stCellID;   
			//相鄰扇區集的小區標號初始化
			m_aNeighborSector[i*SectorNumber+j].stSectorID.s=j+1;              
			//相鄰扇區集的扇區標號初始化,扇區的標號是從1到3
		}
	m_ChannelModel.Initialization(f_inputStdSlowFading,
		i_inputChannelType,m_aNeighborSector);    //信道模型初始化
}
//end of InitChannelModel()


//////////////////////////////////////////////////////////////////////////
//					  相鄰扇區信息初始化函數							//
//		從歸屬小區中讀出相鄰扇區的標號,計算路徑損耗和天線增益,		//
//	    并通過CchannelModel獲得快衰和慢衰的初始值,計算出總路徑損耗,	//
//                  獲得扇區到達移動臺的干擾值。						//
//////////////////////////////////////////////////////////////////////////
void CMobile::InitNeighborSet()
{                                               //定義必要的變量
	int i,j,k;
	float fMsBsDistance;                        //基站和MS的距離,單位是米
	float fTempPathLoss;                        //路徑損耗
	float fMsxAngel;                            //MS與x軸的夾角,范圍0到2*PI
	float fSectorMsAngel;                       //MS與扇區的夾角,范圍-PI到PI
	float fTempAngel;
	float fTempAntennaGain;                     //天線增益
	CCell* pCell=NULL;                          //指向相鄰集中一個小區的指針
	LOCATION_TYPE stNeighborCellCor;            //鄰小區基站坐標
	
	m_pFadingValuePointer=m_ChannelModel.GetFadingValues(m_iSlotCount); //獲得衰落數組(初始值)的首地址
	pCell=m_pServiceArea->GetCell(m_stLocationSector.stCellID);           
	//獲得MS所在小區的指針
	for(i=0;i<19;i++)                 //循環19次(相鄰a集小區的個數)
	{
		stNeighborCellCor=pCell->m_aNeighborCellLocation[i];               //第i個鄰小區的坐標(實際上是BS的坐標)
		fMsBsDistance=(float)(sqrt(pow((m_stMsLocation.x
			-stNeighborCellCor.x),2)+pow((m_stMsLocation.y
			-stNeighborCellCor.y),2)));   //計算BS和MS的直線距離

        fTempPathLoss=-(float)(28.6+35*log10(1000*fMsBsDistance));        
			//計算路徑損耗,單位是dB(參考C50-20000918-011, 
			//"Evaluation Methods for High Speed Forward Link Packet Access,"
			//September 20, 2000.)
		if(fTempPathLoss>-82.6)                       //最小路徑損耗是-82.6dB
			fTempPathLoss=(float)-82.6;
		fTempPathLoss=(float)pow(10,(fTempPathLoss/10));               
			//轉換為倍數

		fMsxAngel=(float)(atan2((m_stMsLocation.y-stNeighborCellCor.y),
			(m_stMsLocation.x-stNeighborCellCor.x)));
			//MS與x軸的夾角,范圍-PI到PI
		if(fMsxAngel<0)                                          
			//將角度的范圍轉化到0到2*PI
			fMsxAngel=(float)(fMsxAngel+2*PI); 
		
		for(j=0;j<SectorNumber;j++)                   
		{
			m_aNeighborSector[i*SectorNumber+j].fPathLoss=fTempPathLoss;            //小區的路徑損耗值初始化
			fTempAngel
				=(float)(fMsxAngel-pCell->m_aSectorInCell[j].
				GetSectorOrientation()*2*PI/360);   //轉化為弧度來算

			if(fTempAngel>=PI)               //若差值大于等于PI,則換算
				fSectorMsAngel=(float)(fTempAngel-2*PI);
			else 
				if(fTempAngel<-PI)       //若差值小于-PI,也換算
					fSectorMsAngel=(float)(fTempAngel+2*PI);
				else 
					fSectorMsAngel=fTempAngel;    
						//否則就取差值作為扇區朝向與MS的夾角

			fTempAntennaGain=AntennaGain-20;      //天線增益,單位dB
			if(12*pow((fSectorMsAngel/(70*2*PI/360)),2)<20)        
				//公式參考《關于服務區環境模型的一些初步設想》
				fTempAntennaGain=(float)(AntennaGain
				-12*pow((fSectorMsAngel/(70*2*PI/360)),2));
			fTempAntennaGain=(float)pow(10,(fTempAntennaGain/10));        
				//轉換為倍數

			m_aNeighborSector[i*SectorNumber+j].fAntennaGain
				=fTempAntennaGain;                //天線增益初始化
			m_aNeighborSector[i*SectorNumber+j].fSlowFading
				=m_pFadingValuePointer[i].fSlowFading;          //慢衰值初始化
			for(k=0;k<SubslotNumber;k++)
				m_aNeighborSector[i*SectorNumber+j].fFastFading[k]
					=m_pFadingValuePointer[i].fFastFadingSet[j][k];
			m_aNeighborSector[i*SectorNumber+j].fPropagationLoss
				=m_aNeighborSector[i*SectorNumber+j].fPathLoss
				*m_aNeighborSector[i*SectorNumber+j].fAntennaGain
				*m_aNeighborSector[i*SectorNumber+j].fSlowFading
				*(float)pow(10,(MsAntennaGain-OtherLosses)/10);  
				//總的損耗值
			m_aNeighborSector[i*SectorNumber+j].fPowerFromTheSector
				=m_pServiceArea
				->GetSector(m_aNeighborSector[i*SectorNumber+j].stSectorID)
				->GetTxPower()
				*m_aNeighborSector[i*SectorNumber+j].fPropagationLoss
				*(m_aNeighborSector[i*SectorNumber+j].fFastFading[0]
				+m_aNeighborSector[i*SectorNumber+j].fFastFading[1]
				+m_aNeighborSector[i*SectorNumber+j].fFastFading[2]
				+m_aNeighborSector[i*SectorNumber+j].fFastFading[3])/(float)4;    
				//扇區到達移動臺的總功率為=發射功率*總的損耗
		}
	}
}
//end of InitNeighborSet()


//////////////////////////////////////////////////////////////////////////
//						 候選扇區信息初始化函數							//
//			從歸屬小區讀出候選扇區的標號,確定自己的相鄰扇區在			//
//			相鄰扇區信息數組中的相對位置(數組下標),完成干擾、		//
//			功率、信噪比的初始計算,復位定時器。						//
//////////////////////////////////////////////////////////////////////////
void CMobile::InitCadidateSet()
{                                 //定義必要的變量
	int i,j,k,m;                  //循環變量
	float fOtherChannelPower;     //其他信道的干擾值,單位:mw
	float fOrthogonalFactor;      //正交因子
	float fFastFading;            //快衰(四個子時隙的算術平均)
	CCell* pMsCell=NULL;          //移動臺所在小區指針
	CELLID_TYPE stTempCell;       //臨時小區結構體


	for(i=0;i<6+SectorNumber;i++)                    //第i個候選扇區
	{
		k=0;
		m_aCandidateSector[i].fInterferenceFromOtherSector=0;               
		//初始化從其他扇區來的干擾值
		pMsCell=m_pServiceArea->GetCell(m_stLocationSector.stCellID);       
		//得到MS所在的小區
		m_aCandidateSector[i].stSectorID.stCellID
			=pMsCell->m_aCandidateSector[i]->GetParentCellID();    
		//將屬性中的候選扇區的標號初始化
		m_aCandidateSector[i].stSectorID.s
			=pMsCell->m_aCandidateSector[i]->GetSectorIndex();

		for(j=0;j<19*SectorNumber;j++)
		{
			if((m_aCandidateSector[i].stSectorID.stCellID.m
				==m_aNeighborSector[j].stSectorID.stCellID.m)
				&&(m_aCandidateSector[i].stSectorID.stCellID.n
				==m_aNeighborSector[j].stSectorID.stCellID.n)
				&&(m_aCandidateSector[i].stSectorID.s

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97精品视频在线观看自产线路二| 日韩一区二区三区免费观看| 欧美一区二区三区在线| 久久婷婷久久一区二区三区| 无码av免费一区二区三区试看| 极品美女销魂一区二区三区免费| 在线影院国内精品| 中文字幕精品三区| 国内一区二区视频| 欧美一卡二卡三卡四卡| 亚洲国产一区二区a毛片| 成人午夜精品在线| 国产视频在线观看一区二区三区 | 亚洲男人的天堂一区二区| 精油按摩中文字幕久久| 欧美一区日本一区韩国一区| 一区二区三区国产豹纹内裤在线| av午夜一区麻豆| 中文字幕av一区二区三区免费看| 国产麻豆成人精品| 日韩免费福利电影在线观看| 奇米影视一区二区三区| 69成人精品免费视频| 亚洲图片欧美一区| 欧美亚洲日本国产| 亚洲午夜日本在线观看| 色哟哟一区二区在线观看| 自拍偷拍国产精品| 91影视在线播放| 亚洲精品国产无天堂网2021| 色噜噜狠狠色综合中国 | 精品久久人人做人人爱| 蜜臀av国产精品久久久久| 欧美一区二区三区四区在线观看| 亚洲自拍偷拍网站| 欧美二区乱c少妇| 日韩电影在线观看电影| 67194成人在线观看| 美女一区二区在线观看| 欧美xxxxxxxxx| 国产成人福利片| 1000部国产精品成人观看| 91毛片在线观看| 亚洲一区精品在线| 日韩一级精品视频在线观看| 精品中文字幕一区二区| 欧美国产激情一区二区三区蜜月| 不卡视频一二三| 亚洲韩国精品一区| 欧美成人一区二区三区片免费| 极品少妇xxxx精品少妇| 一区在线中文字幕| 在线观看欧美精品| 精品一区二区三区的国产在线播放| 欧美mv日韩mv国产网站| av中文字幕亚洲| 日韩综合在线视频| 欧美极品另类videosde| 欧美少妇性性性| 国产美女av一区二区三区| 亚洲视频 欧洲视频| 在线观看91精品国产麻豆| 成人免费电影视频| 日韩精品五月天| 国产精品成人网| 欧美一区二区三区影视| 成人精品免费看| 日本aⅴ精品一区二区三区 | 国产亚洲综合色| 欧美视频一区二区三区| 国产精品99久久久久久似苏梦涵| 亚洲人成在线播放网站岛国| 欧美一区二区三区色| 不卡的电影网站| 麻豆精品视频在线观看| 一区二区三国产精华液| 久久无码av三级| 欧美一区二区三区影视| 91视频com| 国产69精品一区二区亚洲孕妇| 午夜精品久久久久久久久久| 国产精品久99| www一区二区| 7777精品伊人久久久大香线蕉经典版下载| 国产福利一区二区三区视频在线 | 国产欧美日韩视频在线观看| 欧美日本高清视频在线观看| jizzjizzjizz欧美| 国产精品一级在线| 久久精品免费观看| 亚洲综合视频在线| 亚洲欧美另类久久久精品2019| 久久久久九九视频| 日韩欧美在线影院| 欧美久久高跟鞋激| 欧美三级在线看| 欧美亚洲国产一卡| 日本韩国欧美三级| 94-欧美-setu| 成人黄色软件下载| 成人av片在线观看| 成人久久视频在线观看| 粉嫩蜜臀av国产精品网站| 精品一区二区免费| 精品午夜久久福利影院| 蜜桃精品视频在线| 捆绑调教美女网站视频一区| 奇米四色…亚洲| 久久66热re国产| 精品一二三四在线| 韩国成人在线视频| 精品一区二区三区免费播放 | 久久无码av三级| 精品剧情v国产在线观看在线| 日韩午夜精品电影| 欧美一区二区精美| 精品剧情v国产在线观看在线| 日韩欧美国产一二三区| 精品福利一区二区三区| 欧美精品一区二区三区四区 | 99视频一区二区三区| 成人一区二区三区中文字幕| 成人18视频日本| 日本丰满少妇一区二区三区| 欧美亚洲禁片免费| 7777精品久久久大香线蕉| 日韩精品在线网站| 欧美韩国一区二区| 亚洲美女偷拍久久| 日韩精品国产欧美| 激情成人综合网| www.日韩精品| 欧美揉bbbbb揉bbbbb| 欧美大片一区二区| 国产农村妇女精品| 亚洲午夜电影在线| 久久国产精品99久久久久久老狼| 国产成人在线影院| 欧美色窝79yyyycom| 日韩免费观看2025年上映的电影 | www.在线成人| 8x福利精品第一导航| 精品乱人伦小说| 亚洲人成在线观看一区二区| 日韩电影在线一区二区三区| 国产精品一区二区视频| 色国产精品一区在线观看| 欧美一级片在线| 中文字幕一区二区5566日韩| 亚洲国产精品人人做人人爽| 久久99国产乱子伦精品免费| 99久久精品国产精品久久| 91麻豆精品国产91久久久久久久久 | 精品精品国产高清一毛片一天堂| 日本一区二区三区电影| 午夜精品一区二区三区电影天堂 | 亚洲一区二区三区爽爽爽爽爽| 久久99热99| 欧美亚洲高清一区| 久久精品欧美一区二区三区不卡 | 中文字幕欧美三区| 日本不卡不码高清免费观看| 99re热这里只有精品免费视频| 欧美精品视频www在线观看| 国产精品乱码一区二区三区软件| 国产一区二区精品久久99| 成人国产精品免费| 欧美一区二区三区免费| 亚洲色图色小说| 国产精品99久久久久久似苏梦涵| 91精品国产综合久久久久久漫画| 国产精品久线在线观看| 国产激情偷乱视频一区二区三区| 亚洲gay无套男同| 蜜臀av一区二区| 欧美视频一区二区三区四区| 国产精品区一区二区三| 久久av老司机精品网站导航| 国产一区二区三区黄视频| 欧美精选在线播放| 免费成人深夜小野草| 久久综合五月天婷婷伊人| 国产99精品在线观看| 亚洲视频狠狠干| 欧美日韩午夜影院| 久色婷婷小香蕉久久| 中文一区一区三区高中清不卡| 色美美综合视频| 天堂va蜜桃一区二区三区| 精品国产一区久久| 成人的网站免费观看| 一区二区成人在线视频| 欧美一区二区三区四区五区| 国产精品18久久久久久vr| 亚洲日本在线天堂| 日韩欧美在线影院| 97久久超碰精品国产| 免费在线欧美视频| 亚洲欧美在线另类| 日韩欧美成人激情|