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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? newtxrx.c

?? 基于TMS320F2812的AMR+RS編解碼+OFDM調(diào)制解調(diào)源程序。是stand alone運行版本
?? C
字號:

#include <stdio.h>
//#include <stdlib.h>
#include <math.h>
#include "Setting.H"
#include "RS.H"
#include "Function.H"
#include "FrameOfdm.H"

WordType TxSymbolMark;                  /* Indicates the symbol index in
											 * SrcToChan()
											 */
WordType TxBitMark;                     /* Indicates the bit index of a
											 * symbol in SrcToChan()
											 */
WordType RxPosMark;                     /* Indicates the received bit
											 * index in ChanToSrc()
											 */
WordType FrameTx;                    /* Indicates transmitted subframe
											 * number
											 */
WordType FrameRx;                    /* Indicates received subframe
											 * number
											 */

int DataBuffer[NullSampleSize / 2 + NullSampleSize + SymbolSize * 3];
                                            /* Processed data buffer in
											 * FindFrame()
											 */

DType  OriInforTx[52];                      /* Data buffer for the input of
											 * channel encoder;
											 * Data is converted from source
											 * coded information by SrcToChan()
											 */
WordType OriInforRx[3 * SrcVector];         /* Data buffer for the output of
											 * channel decoder;
											 * Data is converted from demodulated
											 * information by ChanToSrc()
											 */

DType  RefPhaseTx[UsedCarrier];             /* Buffer for transmit reference
											 * phase
											 */
long int  RefPhaseRx[UsedCarrier];             /* Buffer for received reference
											 * phase
											 */

unsigned long int Seed;                /* Initial seed of Random() */
short LastStartPnt;                         /* Jump-off position of last frame */
short OFDMFrameNum;                     /* Used in FindFrame */


//extern long asin_tab[];
int *point_FinalData;
long int *point_TmpDataR;
long int *point_TmpDataI;
DType *point_ChannelData;
static WordType i, k;


WordType Transmit(int SourceCode[], int FinalData[])
{
	DType ChannelData[RSTotalSym];
	DType ConvData[UsedCarrier * SymPerFrame];
	long int TmpDataR[FFTSize], TmpDataI[FFTSize];
	
	//point_FinalData=FinalData;
    point_TmpDataR=TmpDataR;
    point_TmpDataI=TmpDataI;
    point_ChannelData=ChannelData;
        
    /* Convert SrcVector bits to required data mode (RSInforBit bits per symbol) */
	SrcToChan(SourceCode, OriInforTx, &TxSymbolMark, &TxBitMark);

	/* Proceed RS coding and OFDM when all information symbols arrive */
	/* Get the available data */
	if (TxSymbolMark > (RSInforSym - 2))
	{
		/* First part of 5 source coded frames */
		if (TxSymbolMark > (RSInforSym - 1))
		{
	
			asm (" push xar0");
            asm (" push xar3");
			asm (" push xar4");
			asm (" movl xar4,@_point_ChannelData");
            asm (" movl xar3,#_OriInforTx");
			for (i = 0; i < RSInforSym; i++)
		    {
			  // ChannelData[i] = OriInforTx[i];
               asm (" movz ar0,@_i");
               asm (" mov  ah, *+xar3[ar0]");
               asm (" mov  *+xar4[ar0], ah");
            }
            asm (" pop  xar4");
            asm (" pop  xar3");
            asm (" pop  xar0");
			for (i = RSInforSym; i <= TxSymbolMark; i++)
			{
				OriInforTx[i - RSInforSym] = OriInforTx[i];
			}
			TxSymbolMark -= RSInforSym;
		}
		/* Second part of 5 source coded frames */
		else
		{
			asm (" push xar0");
			asm (" push xar3");
            asm (" push xar4");
            asm (" movl xar4,@_point_ChannelData");
            asm (" movl xar3,#_OriInforTx");
			for (i = 0; i < RSInforSym; i++)
			{
			    asm (" movz ar0,@_i");
                asm (" mov ah, *+xar3[ar0]");
                asm (" mov *+xar4[ar0], ah");
                //ChannelData[i] = OriInforTx[i];
			}
			asm (" pop  xar4");
			asm (" pop  xar3");
            asm (" pop  xar0");
			TxSymbolMark = 0;
			TxBitMark = 0;
		}

		/* RS encoding */
		Encode_RS(&ChannelData[0], &ChannelData[RSInforSym]);
		
		point_FinalData=FinalData;
		asm(" movl xar4,@_point_FinalData ");
		/* Proceed OFDM below */
		if (FrameTx == TotalFrame)          /* First subframe of OFDM        */
		{
			FrameTx = 1;
			/* Add NullSampleSize padded zero */
			asm(" push xar0");
            asm(" movl xar0,#0");
			for (i = 0; i < NullSampleSize; i++)
			{
				asm(" mov *+xar4[ar0],#0");
                asm(" inc ar0");  
				//FinalData[i] = 0;
			}
			asm(" pop xar0");
			k = NullSampleSize;
			/* Two additive lines for frame synchronization & reference phase */
			/* Add frame synchronization below in time waveform */
			for (i = 0; i < UsedCarrier; i++)
			{
				RefPhaseTx[i] = (DType) Random(&Seed, 3);
			}
			
					
			for (i = 0; i < FFTSize; i++)
			{
				if ((i > CarrierJumpPos - 2) && (i < CarrierJumpPos + UsedCarrier - 1))
				{
					switch (RefPhaseTx[i + 1 - CarrierJumpPos])
					{
					case 0: TmpDataR[i] = 16384;   TmpDataI[i] = 0;  break;       //2^14
					case 1: TmpDataR[i] = 0;   TmpDataI[i] = 16384;  break;
					case 2: TmpDataR[i] = -16384;  TmpDataI[i] = 0;  break;
					case 3: TmpDataR[i] = 0;   TmpDataI[i] = -16384;
					}
				}
				else
				{
					TmpDataR[i] = 0;
					TmpDataI[i] = 0;
				}
			}
			asm(" push p");
            asm(" push xar3");
            asm(" push xar0");
            asm(" push xar4");
            asm(" mov ph ,#0");
            asm(" mov pl, #0");
            asm(" movl xar0,#2");
            asm(" movl xar3,@_point_TmpDataR");
            asm(" movl xar4,@_point_TmpDataI");
			for (i = 1; i < FFTSize; i += 2)
			{
				asm(" movl *+xar3[ar0],p");
                asm(" movl *+xar4[ar0],p");
                asm(" addb xar0,#4 "); 
				//TmpDataR[i] = 0;
				//TmpDataI[i] = 0;
			}
			asm(" pop xar4");
			asm(" pop xar0");
            asm(" pop xar3");
            asm(" pop p");
			
			FFT(TmpDataR, TmpDataI, -1);
			for (i = GuardTimeSize; i > 0; i--)
			{
				FinalData[k] = (int)(TmpDataR[FFTSize - i]);    //2^14
				k++;
			}
			for (i = 0; i < FFTSize; i++)
			{
				FinalData[k] = (int)(TmpDataR[i]);
				k++;
			}

			/* Add reference phase below in time waveform */
			for (i = 0; i < UsedCarrier; i++)
			{
				RefPhaseTx[i] = (DType) Random(&Seed, 3);
			}
			
				
			for (i = 0; i < FFTSize; i++)
			{
				if ((i > CarrierJumpPos - 2) && (i < CarrierJumpPos + UsedCarrier - 1))
				{
					switch (RefPhaseTx[i + 1 - CarrierJumpPos])
					{
					case 0: TmpDataR[i] = 16384;   TmpDataI[i] = 0;  break;       //2^14
					case 1: TmpDataR[i] = 0;   TmpDataI[i] = 16384;  break;
					case 2: TmpDataR[i] = -16384;  TmpDataI[i] = 0;  break;
					case 3: TmpDataR[i] = 0;   TmpDataI[i] = -16384;
					}
				}
				else
				{
					TmpDataR[i] = 0;
					TmpDataI[i] = 0;
				}
			}
			
						
			FFT(TmpDataR, TmpDataI, -1);
			for (i = GuardTimeSize; i > 0; i--)
			{
				FinalData[k] = (int)(TmpDataR[FFTSize - i]);
				k++;
			}
			for (i = 0; i < FFTSize; i++)
			{
				FinalData[k] = (int)(TmpDataR[i]);
				k++;
			}
			/* Adjust amplitude of frame synchronization & reference phase */
	/*		j = 0;
			for (i = k - 2 * SymbolSize; i < k; i++)
			{
				h =(float)fabs(FinalData[i]);
				if (j < h)
		        {
			 	    j = h;
			    }
				if (j < (float)fabs(FinalData[i]))
				{
					j = (float)fabs(FinalData[i]);
				}*/
		/*	}
			h =(float) (0.95/j);
			for (i = k - 2 * SymbolSize; i < k; i++)
			{
				FinalData[i] *=h;
				//FinalData[i] *= (float) (0.95 / j);
			}*/
		}
		else
		{
			FrameTx++;
			k = 0;
		}

		/* Convert the data base to CodewordBit */
		ConvBase(ChannelData, ConvData, RSTotalSym, 1);
		ConvData[UsedCarrier * SymPerFrame -1] = 0;
		/* Change to Gray code */
		Gray2(ConvData, RSTotalSym * RSInforBit / CodewordBit);

		/* OFDM modulation */
		OFDMModu(ConvData, &FinalData[k], RefPhaseTx);

		/* Adjust amplitude of transmit data */
	/*	j = 0;
		for (i = k; i < k + SymbolSize * SymPerFrame; i++)
		{
			h =(float)fabs(FinalData[i]);
			if (j < h)
			{
				j = h;
			}
			if (j < (float)fabs(FinalData[i]))
			{
				j = (float)fabs(FinalData[i]);
			}*/
	//	}
	/*	h = (float) (0.95 / j);
		for (i = k; i < k + SymbolSize * SymPerFrame; i++)
		{
			FinalData[i] *= h;
			//FinalData[i] *= (float) (0.95 / j);
		}*/
		
		return (k + SymbolSize * SymPerFrame);
    }
	else
	{
		return 0;
	}
}

WordType Receive(int RecData[], int SourceCode[])
{
	WordType i, k;
	DType ChanCodeData[RSTotalSym];
	DType ConvData[UsedCarrier * SymPerFrame];
	long int TmpDataR[FFTSize], TmpDataI[FFTSize];
	//int   index;
   	long int *pTmpDataR, *pTmpDataI,*pRefPhaseRx;//,xI,xR;


	if (FrameRx == TotalFrame)
	{
		FrameRx = 1;
		/* Two additive lines for frame synchronization & reference phase */
		/* Remove NullSampleSize padded zero & frame synchronization below */
		k = SymbolSize;
		/* Get reference phase below */
		for (i = 0; i < FFTSize; i++)
		{
			TmpDataR[i] = RecData[k + GuardTimeSize];
			TmpDataI[i] = 0;
			k++;
		}
		k += GuardTimeSize;                 /* Adjust the address access point */
		FFT(TmpDataR, TmpDataI, 1);
		pTmpDataR = TmpDataR + CarrierJumpPos - 1;
		pTmpDataI = TmpDataI + CarrierJumpPos - 1;
		pRefPhaseRx = RefPhaseRx;
		for (i = 0 ; i < UsedCarrier; i++)
		{
        /*	xR = *pTmpDataR;
			xI = *pTmpDataI;
			index = (float)90 * xI*xI/(xI*xI+xR*xR);
			*pRefPhaseRx = asin_tab[index];
			if(xR>=0 && xI<0)
			{
				*pRefPhaseRx = -(*pRefPhaseRx) + PI2Q15;
			}
			else if(xR<0 && xI<=0)
			{
				*pRefPhaseRx = *pRefPhaseRx + PIQ15;
			}
			else if(xR<0 && xI>0)
			{
				*pRefPhaseRx = -(*pRefPhaseRx) + PIQ15;
			}*/
			*pRefPhaseRx = arctan2(*pTmpDataI, *pTmpDataR);
			pTmpDataR++;
			pTmpDataI++;
			pRefPhaseRx++;
		}
	}
	else
	{
		FrameRx++;
		k = 0;
	}

	/* OFDM modulation */

	OFDMDemo(&RecData[k], ConvData, RefPhaseRx);

	/* Change to Gray code */
	Gray2(ConvData, RSTotalSym * RSInforBit / CodewordBit);
	/* Convert the data base to CodewordBit */
	ConvBase(ConvData, ChanCodeData, RSTotalSym * RSInforBit / CodewordBit, 0);

	/* RS decoding */
 	i = Decode_RS(ChanCodeData);

	/* Convert RS data to required data mode (SrcVector bits per frame) */
	ChanToSrc(ChanCodeData, OriInforRx, &RxPosMark);
	/* Decompress the source data */
	if (RxPosMark < (3 * SrcVector - 1))
	{
		for (i = 0; i < (2 * SrcVector); i++)
		{
			SourceCode[i] = OriInforRx[i];
		}
		for (i = (2 * SrcVector); i < RxPosMark; i++)
		{
			OriInforRx[i - 2 * SrcVector] = OriInforRx[i];
		}
		RxPosMark -= (2 * SrcVector);

		return 2;
	}
	else
	{
		for (i = 0; i < (3 * SrcVector); i++)
		{
			SourceCode[i] = OriInforRx[i];
		}
		RxPosMark = 0;

		return 3;
	}
}

WordType FindFrame(int SignalIn[])
{
	WordType i, j;
	WordType FrameStart, FineStart;
	long int FilterData[FindFrameDataLen];
    long int tmp;
	long int Sxx[3 * GuardTimeSize + 1];
	long int Syy[3 * GuardTimeSize + 1];
	long int Sxy[3 * GuardTimeSize + 1];
	long int Sumx[3 * GuardTimeSize + 1];
	long int Sumy[3 * GuardTimeSize + 1];
	long int RR[3 * GuardTimeSize + 1];
	long int k1,k2,k3;

	FineStart=0;
	
	
	/* Get the processed signal and change to envelope type */
	for (i = 0; i < FindFrameDataLen; i++)
	{
		DataBuffer[i] = abs(SignalIn[i]);
		FilterData[i] = 0;
	}
	
	for (i = 0; i < 3 * GuardTimeSize + 1; i++)
	{
		Sxx[i] = 0;
		Syy[i] = 0;
		Sxy[i] = 0;
		Sumx[i] = 0;
		Sumy[i] = 0;
	}
		



	/* Filter the signal 
	for (i = 0; i < NullSampleSize / 2 + NullSampleSize + SymbolSize * 3; i++)
	{
		FilterData[i] = 0;
	}

	for (i = NullSampleSize - GuardTimeSize / 2 - 1; i < NullSampleSize / 2 + NullSampleSize + SymbolSize * 3; i++)
	{
		for (j = 0; j < NullSampleSize - GuardTimeSize / 2; j++)
		{
			FilterData[i] += DataBuffer[i - j];
		}
	}*/
	for (i = 0; i <  CoarseSynFilterLen; i++)//CoarseSynFilterLen
	{
		FilterData[CoarseSynFilterLen - 1] += DataBuffer[i];
	}
	for (j = 0; i < FindFrameDataLen; i++,j++)
	{
		FilterData[i] += FilterData[i-1] - DataBuffer[j] + DataBuffer[i];
	}

	/* Primary frame synchronization, find the jump-off point */
	tmp = 0x7FFFFFFF;
	for (i = CoarseSynFilterLen - 1;i < FindFrameDataLen; i++)
	{
		if (tmp > FilterData[i])
		{
			tmp = FilterData[i];
			FrameStart = i;                 /* Already in C index            */
		}
	}

	FrameStart++;
	/* Calculate the correlation coefficient */
	for (i = FrameStart; i < FrameStart + FFTSize / 2; i++)
	{
		k1 = DataBuffer[i - (WordType)(3 * GuardTimeSize / 2)];
		k2 = DataBuffer[i + FFTSize / 2 - (WordType)(3 * GuardTimeSize / 2)];
		Sxx[0] += k1 * k1;
		Syy[0] += k2 * k2;
		Sxy[0] += k1 * k2;
		Sumx[0] += k1;
		Sumy[0] += k2;
	}
	j = FrameStart - (WordType)(3 * GuardTimeSize / 2);
	for (i = 0; i < 3 * GuardTimeSize; i++)
	{
	    asm(" spm 0");
		k1 = DataBuffer[i + j + FFTSize / 2];
		k2 = DataBuffer[i + j]; 
		k3 = DataBuffer[i + j + FFTSize];
		Sxx[i + 1] = Sxx[i] + k1  * k1  - k2  * k2;
		Syy[i + 1] = Syy[i] + k3  * k3  - k1  * k1;
		Sxy[i + 1] = Sxy[i] + k3  * k1  - k1  *	k2;
		Sumx[i + 1] = Sumx[i] + k1 - k2;
		Sumy[i + 1] = Sumy[i] + k3 - k1;
	}

	for (i = 0; i < 3 * GuardTimeSize + 1; i++)
	{
		asm(" spm 0");
		Sxx[i] -= (2 * Sumx[i]  * Sumx[i] / FFTSize) ;
		Syy[i] -= (2 * Sumy[i]  * Sumy[i] / FFTSize) ;
		Sxy[i] -= (2 * Sumx[i]  * Sumy[i] / FFTSize) ;
		RR[i] = Q15* (Sxy[i] / sqrt((double)Sxx[i] * Syy[i]));
	}



	/* Filter the signal again */
	for (i = 0; i < 3 * GuardTimeSize + 1; i++)
	{
		FilterData[i] = 0;
	}
	
	for (i = 0; i < GuardTimeSize; i++)
	{
		FilterData[GuardTimeSize] += RR[GuardTimeSize - i];
	}

	for (j = 1; i < 3 * GuardTimeSize + 1; i++,j++)
	{
		FilterData[i] += FilterData[i-1] + RR[i] - RR[j];
	}

	/* Fine frame synchronization using correlation coefficient */
	tmp = 0x80000000;
	for (i = GuardTimeSize; i < 3 * GuardTimeSize + 1; i++)
	{
		if (tmp < FilterData[i])
		{
			tmp = FilterData[i];
			FineStart = i;                 /* Already in C index            */
		}
	}
	/*FrameStart += Round((float)((FineStart - 1.5 * GuardTimeSize) / 2)) - 1;
	                                        Already in C index            */

	FineStart -= (5 * HalfGuardTimeSize + FineSynFilterLen -1);
										/* 1 GuardTimes is the data from CP
										* is also correlative to the second part
										* 1.5 GuardTimes is for the start point.
										*/
	FrameStart += FineStart;
	if (OFDMFrameNum > 0)
	{
		LastStartPnt = FrameStart;
		OFDMFrameNum--;
	}
	else
	{
		LastStartPnt = Round((float)((LastStartPnt + FrameStart) / 2.0));
	}

	return  LastStartPnt;
}
	

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久福利资源站| 精品1区2区在线观看| 亚洲视频你懂的| 99视频精品免费视频| 最近日韩中文字幕| 色八戒一区二区三区| 亚洲国产精品久久久久秋霞影院| 欧美性猛交xxxxxxxx| 丝袜美腿亚洲一区| 精品美女一区二区三区| 国产精品一线二线三线精华| 国产精品三级在线观看| 91蜜桃免费观看视频| 亚洲成人免费在线| 精品国产91久久久久久久妲己| 国产伦精一区二区三区| 亚洲视频免费在线观看| 欧美裸体一区二区三区| 国产一区二区毛片| 亚洲精选免费视频| 日韩一区二区精品| 99国内精品久久| 日韩成人免费在线| 久久免费视频一区| 精品电影一区二区| 波多野洁衣一区| 污片在线观看一区二区| 久久久久久久综合色一本| 99国产精品久| 免费成人在线播放| 中文字幕视频一区二区三区久| 欧美日韩三级一区二区| 国产裸体歌舞团一区二区| 亚洲精品videosex极品| 精品国产sm最大网站| 91福利视频网站| 国产一区亚洲一区| 偷拍日韩校园综合在线| 国产精品天干天干在观线| 91精品麻豆日日躁夜夜躁| 成人美女视频在线看| 视频一区视频二区中文| ●精品国产综合乱码久久久久| 日韩亚洲欧美一区二区三区| 色综合久久综合| 国产盗摄精品一区二区三区在线 | 首页亚洲欧美制服丝腿| 欧美激情综合在线| 日韩视频免费观看高清完整版 | 久久奇米777| 欧美日韩国产成人在线免费| 成人av网址在线| 激情文学综合丁香| 亚洲午夜免费电影| 国产精品免费aⅴ片在线观看| 777色狠狠一区二区三区| 91丝袜呻吟高潮美腿白嫩在线观看| 黄色日韩网站视频| 日韩av中文字幕一区二区三区| 亚洲欧美日韩在线| 久久久久久久电影| 精品国产一区二区在线观看| 7777精品伊人久久久大香线蕉完整版 | 欧美一区二区三区免费视频| 91国产丝袜在线播放| jlzzjlzz亚洲日本少妇| 国产99久久久国产精品免费看| 美女在线观看视频一区二区| 性久久久久久久| 亚洲午夜三级在线| 亚洲欧洲制服丝袜| 国产精品麻豆网站| 天堂一区二区在线| 亚洲免费大片在线观看| 亚洲精选视频在线| 依依成人精品视频| 一区二区三区成人在线视频| 亚洲欧洲日韩综合一区二区| 亚洲欧洲国产专区| 亚洲另类色综合网站| 1024成人网色www| 亚洲免费在线观看| 亚洲黄色av一区| 亚洲一区二区av在线| 亚洲第一在线综合网站| 丝袜美腿成人在线| 美女尤物国产一区| 国产一区二区导航在线播放| 国产精品1区2区3区在线观看| 国产盗摄一区二区三区| 不卡电影免费在线播放一区| 99久久国产综合精品色伊| 91丨九色丨尤物| 欧美性生交片4| 8x8x8国产精品| 精品1区2区在线观看| 国产精品视频在线看| 亚洲色图欧美在线| 亚洲一区二区三区四区不卡| 日日摸夜夜添夜夜添亚洲女人| 日本女人一区二区三区| 国产乱淫av一区二区三区| www.日本不卡| 欧美在线观看一区| 日韩精品在线网站| 日本一区二区三区电影| 一区二区三区四区国产精品| 午夜精品久久久| 国产乱理伦片在线观看夜一区| 国产成人高清视频| 色综合天天天天做夜夜夜夜做| 欧美日韩中文精品| 精品成人一区二区| 亚洲乱码国产乱码精品精的特点| 日韩影院精彩在线| 成人午夜免费电影| 欧美日韩另类一区| 久久综合久久99| 亚洲综合在线电影| 久久机这里只有精品| 99久久精品情趣| 日韩一区二区在线看片| 中文字幕欧美一| 免费美女久久99| 91免费精品国自产拍在线不卡| 欧美一区二区精品在线| 中文字幕一区免费在线观看| 五月天激情综合| 97久久超碰精品国产| 精品国产3级a| 婷婷成人综合网| 99麻豆久久久国产精品免费| 日韩三级.com| 亚洲一区影音先锋| 丁香婷婷综合色啪| 日韩欧美国产精品一区| 亚洲精品高清视频在线观看| 黄色资源网久久资源365| 欧美性色综合网| 中文字幕一区二区5566日韩| 狠狠色丁香久久婷婷综| 在线91免费看| 一区二区三区色| va亚洲va日韩不卡在线观看| 2020国产精品| 美女网站色91| 欧美精品在线观看一区二区| 亚洲人成精品久久久久久| 国产精品自在在线| 欧美一二三区在线观看| 亚洲成人免费视| 91精品1区2区| 亚洲色图制服丝袜| 成人精品鲁一区一区二区| 精品av久久707| 美女高潮久久久| 91精品国产综合久久久久久久| 洋洋成人永久网站入口| 91在线国产福利| 1024成人网| 91视频国产资源| 国产精品传媒入口麻豆| 成人黄色电影在线 | 亚洲国产日产av| 日韩在线播放一区二区| 成人h动漫精品一区二| 亚洲精品在线免费播放| 日本欧美一区二区| 欧美欧美欧美欧美首页| 五月婷婷激情综合网| 欧美色国产精品| 亚洲成人一区二区在线观看| 欧美伊人精品成人久久综合97 | 91麻豆免费在线观看| 中文字幕在线观看不卡视频| 成人精品一区二区三区四区| 欧美国产欧美亚州国产日韩mv天天看完整| 久色婷婷小香蕉久久| 精品日韩一区二区三区免费视频| 久久精品国产久精国产| 亚洲精品在线电影| 国产传媒日韩欧美成人| 国产精品久久久久aaaa樱花| 99国产精品久久| 亚洲精品大片www| 欧美人妖巨大在线| 久久国产精品99久久人人澡| 国产精品丝袜91| 亚洲欧洲精品成人久久奇米网| 99久久精品国产一区| 亚洲免费观看在线观看| 欧美吻胸吃奶大尺度电影 | 国产精品一级片在线观看| 国产丝袜在线精品| 色综合天天综合给合国产| 污片在线观看一区二区| 久久亚洲二区三区| 不卡的av在线播放| 午夜国产精品一区| 久久亚洲精品小早川怜子|