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

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

?? gpsrcvr.c

?? C寫的用軟件無線電實現(xiàn)的GPS模擬程序
?? C
?? 第 1 頁 / 共 5 頁
字號:
  a combination FLL and PLL.  It will attempt to track for xxx ms, the last xxx ms of data will be  gathered to determine if we have both code and carrier lock.  If so we will transition to state 'tracking'.  Determine start of data bit transition (bit synchronization) using   histogram method.      REFERENCES  Tsui, Fundamentals of GPS receivers: A software approach, Wiley  Krunvieda et al., A complete IF software GPS receiver: a tutorial about    the detail, Data Fusion Corporation  Kaplan, Understanding GPS: Principles and ApplicationsWRITTEN BY  Clifford Kelley  Modifications by G. Beyerle  TO DO  02-05-01: Replace floating point with integer arithmeticNOTES  02-03-20:  *******************************************************************************/static void ch_pull_in( char ch){  int i, idx, bitsign;  long Ip, Qp, Id, Qd;  long ddf, ddcar, q_sum, i_sum;  double dsc_car_phs_old,          dsc_car_phs,          car_frq_ofs,         dsc_cod_phs_old,          dsc_cod_phs,          cod_frq_ofs;  double sum_IQd, sum_IQp;   double Ip2, Qp2, IQp2;  double curphs;  if ( chan[ch].ch_time < pull_in_time)  {////  if current phase deviated more than 90 deg from last value//  we probably have a nav bit flip//    curphs = atan2( chan[ch].bitsign*chan[ch].q_prmt,                     chan[ch].bitsign*chan[ch].i_prmt) / (2*M_PI);    if ( fabs( chan[ch].dsc_car_phs - curphs) > 0.25)    {      chan[ch].bitsign *= -1;      chan[ch].databithist[chan[ch].ms_count] += 1;    }  //    printf( "chan[ch].dsc_car_phs = %e, curphs = %e\n", //      chan[ch].dsc_car_phs, curphs);    bitsign = chan[ch].bitsign;        Ip = bitsign * chan[ch].i_prmt;    Qp = bitsign * chan[ch].q_prmt;    Id = bitsign * chan[ch].i_dith;    Qd = bitsign * chan[ch].q_dith;////  for efficiency we implement summation over NOFCOHINT values by //  keeping track of individual additions in arrays 'chan[ch].i/q_prmt/dith_sav[]'//// --- add latest value ...    chan[ch].i_prmt_sum   += Ip;    chan[ch].q_prmt_sum   += Qp;    chan[ch].i_dith_sum   += Id;    chan[ch].q_dith_sum   += Qd;    chan[ch].iq2_prmt_sum += Ip * Ip + Qp * Qp;// ... subtract first value ...    idx = (chan[ch].iq_sav_idx + 1) % NOFCOHINT;    chan[ch].iq_sav_idx = idx;    chan[ch].i_prmt_sum   -= chan[ch].i_prmt_sav[idx];    chan[ch].q_prmt_sum   -= chan[ch].q_prmt_sav[idx];    chan[ch].i_dith_sum   -= chan[ch].i_dith_sav[idx];    chan[ch].q_dith_sum   -= chan[ch].q_dith_sav[idx];    chan[ch].iq2_prmt_sum -= chan[ch].iq2_prmt_sav[idx];// ... and replace by latest value in "store array"    chan[ch].i_prmt_sav[idx]   = Ip;    chan[ch].q_prmt_sav[idx]   = Qp;    chan[ch].i_dith_sav[idx]   = Id;    chan[ch].q_dith_sav[idx]   = Qd;    chan[ch].iq2_prmt_sav[idx] = Ip * Ip + Qp * Qp;// --- carrier tracking loop ---    dsc_car_phs_old      = chan[ch].dsc_car_phs;//    printf( "chan[%d].q_prmt_sum = %d\n", ch, chan[ch].q_prmt_sum);//    printf( "chan[%d].i_prmt_sum = %d\n", ch, chan[ch].i_prmt_sum);    dsc_car_phs          = atan2( chan[ch].q_prmt_sum, chan[ch].i_prmt_sum) / (2*M_PI);  // optimal carrier phase discriminator    chan[ch].dsc_car_phs = dsc_car_phs;    car_frq_ofs = car_PLL_pullin_p1 * dsc_car_phs - car_PLL_pullin_p2 * dsc_car_phs_old;//    if (ch==0)//    {//      printf( "car_PLL_pullin_p1    = %e\n", car_PLL_pullin_p1);//      printf( "car_PLL_pullin_p2    = %e\n", car_PLL_pullin_p2);//      printf( "dsc_car_phs          = %e\n", dsc_car_phs);//      printf( "dsc_car_phs_old      = %e\n", dsc_car_phs_old);//      printf( "chan[ch].dsc_car_phs = %e\n", chan[ch].dsc_car_phs);//      printf( "car_frq_ofs          = %e\n", car_frq_ofs);//    }  //    getchar();    car_frq_ofs /= FRQUNIT;   // INCR counter runs in units of 42 mHz  //  printf( "d codfrq = %.6f Hz, d carfrq = %.6f Hz\n",   //    (chan[ch].code_freq    - 24028328) * 42.57475e-3,   //    (chan[ch].carrier_freq - 33010105) * 42.57475e-3);// --- update INCR register ---    chan[ch].carrier_freq += (long)( car_frq_ofs);    ch_carrier( ch, chan[ch].carrier_freq);// --- code tracking loop ---//    printf("vor sqrt() *** 1 ***\n");//    printf("iDith = %e \n", (double)( chan[ch].i_dith_sum * chan[ch].i_dith_sum));//    printf("qDith = %e \n", (double)( chan[ch].q_dith_sum * chan[ch].q_dith_sum));//    printf("iPrmt = %e \n", (double)( chan[ch].i_prmt_sum * chan[ch].i_prmt_sum));//    printf("qPrmt = %e \n", (double)( chan[ch].q_prmt_sum * chan[ch].q_prmt_sum));    sum_IQd = sqrt( (double)( chan[ch].i_dith_sum) * (double)( chan[ch].i_dith_sum) +                     (double)( chan[ch].q_dith_sum) * (double)( chan[ch].q_dith_sum));    sum_IQp = sqrt( (double)( chan[ch].i_prmt_sum) * (double)( chan[ch].i_prmt_sum) +                     (double)( chan[ch].q_prmt_sum) * (double)( chan[ch].q_prmt_sum));//    printf("nach sqrt() *** 1 ***\n");                      dsc_cod_phs_old = chan[ch].dsc_cod_phs;    if ( sum_IQp)      dsc_cod_phs = (sum_IQd / sum_IQp - 0.5);     else        dsc_cod_phs = 0.0;     chan[ch].dsc_cod_phs = dsc_cod_phs;    cod_frq_ofs = cod_PLL_pullin_p1 * dsc_cod_phs - cod_PLL_pullin_p2 * dsc_cod_phs_old;    cod_frq_ofs /= 2*FRQUNIT;   // INCR counter runs in units of 85 mHz// --- update INCR register ---    chan[ch].code_freq += (long)( cod_frq_ofs);    ch_code( ch, chan[ch].code_freq);// --- carrier and code lock detector ---    Ip2 = (double)( chan[ch].i_prmt_sum) * (double)( chan[ch].i_prmt_sum);    Qp2 = (double)( chan[ch].q_prmt_sum) * (double)( chan[ch].q_prmt_sum);// --- carrier lock detector ---    chan[ch].car_lock_det = (Ip2 - Qp2) / (Ip2 + Qp2);//    if (chan[ch].car_lock_det > 1.0)//    {//      printf("** r/lk = %e, Ip2 = %e, Qp2 = %e\n", chan[ch].car_lock_det, Ip2, Qp2);//      getchar();//    }// --- code lock detector ---    chan[ch].cod_lock_det = (Ip2 + Qp2) / chan[ch].iq2_prmt_sum / NOFCOHINT;// ************** debug *******************//    if ( ch==0)//    {//      extern unsigned long Sample_Counter_Start[], Sample_Counter_End[];////      printf( "pll: (%d-%d) Ip=%4d, Qp=%4d, Id=%4d, Qd=%4d, r/lk:%.2f, d/lk:%.2f", //        Sample_Counter_Start[0], Sample_Counter_End[0], Ip, Qp, Id, Qd, //        chan[ch].car_lock_det, chan[ch].cod_lock_det);//      printf( "pll: Ip=%4d, Qp=%4d, Id=%4d, Qd=%4d, r/lk:%.2f, d/lk:%.2f\n", //        Ip, Qp, Id, Qd, chan[ch].car_lock_det, chan[ch].cod_lock_det);//      getchar();  //    }  // ************** debug *******************    if ( chan[ch].ms_count >= 19)    {      chan[ch].tr_bit_time++;      chan[ch].prompt_mag = rss( chan[ch].i_prmt_sum, chan[ch].q_prmt_sum);      chan[ch].dith_mag   = rss( chan[ch].i_dith_sum, chan[ch].q_dith_sum);      chan[ch].sum        += chan[ch].prompt_mag + chan[ch].dith_mag;      chan[ch].t_count++;      if ( chan[ch].t_count % 5 == 0)      {        chan[ch].avg = chan[ch].sum / 10;        chan[ch].sum = 0;      }    }    if ( chan[ch].ch_time > pull_in_time - phase_test)     {      chan[ch].th_rms += (long)( dsc_car_phs * dsc_car_phs * 268435456);   // (2^14)^2//      printf( "pull_in: chan[ch].th_rms = %d\n", chan[ch].th_rms); //      getchar();       }  //    if ( chan[ch].cod_lock_det > cod_lock_det_thresh)//    {//      i_sum = chan[ch].i_dith + chan[ch].i_prmt;////// --- sign change? if yes mark in histogram ---//      if ( sign( chan[ch].old_i_sum) == -sign( i_sum))//        chan[ch].databithist[chan[ch].ms_count] += 1;//    }    chan[ch].old_i_sum = i_sum;    chan[ch].ch_time++;  } // --- if ( chan[ch].ch_time < pull_in_time) ---  else  {    if ( chan[ch].cod_lock_det < cod_lock_det_thresh)    {// --- go back to square one and start with acq ---      chan[ch].state = acquisition;    }      else    {// --- analyze data bit histogram (bit synchronization)      int ret;          ret = analyze_databit_histogram( ch);//      printf("pll: ret = %d\n", ret);//      getchar();      if ( ret >= 0)      {//        chan[ch].ms_count  = (20-ret+chan[ch].ms_count) % 20;  // reset msec counter        chan[ch].ms_count  = (chan[ch].ms_count-ret+20) % 20;  // reset msec counter//      chan[ch].databit_start = ret;// --- transition to tracking state ---        chan[ch].state     = track;        chan[ch].t_count   = 0;//      chan[ch].avg       = chan[ch].avg * 20;//      chan[ch].sum       = 0;      }        else        chan[ch].state = acquisition;    }    }  // --- if ( chan[ch].ch_time == pull_in_time) ---  // --- if back to acq, reset frq ---  if ( chan[ch].state == acquisition)  {    chan[ch].codes     = 0;    chan[ch].code_freq = code_ref + code_corr;    ch_code( ch, chan[ch].code_freq);        // 1.023 MHz chipping rate  }  chan[ch].ms_count = (++chan[ch].ms_count) % NOFMSECPERDATABIT;  return;}/*******************************************************************************FUNCTION ch_track()RETURNS  None.PARAMETERS None.PURPOSE  Track signal with a combination FLL and PLL.  Identify navigation data frame (frame synchronization).REFERENCES  Kaplan, Understanding GPS: Principles and ApplicationsWRITTEN BY  Clifford Kelley  Modifications by G. BeyerleTO DO  02-05-01: Replace floating point with integer arithmeticNOTES  02-03-20: *******************************************************************************/static void ch_track( char ch){  int i, idx, bitsign;  long Ip, Qp, Id, Qd;  long ddf, ddcar, q_sum, i_sum;  float  dsc_car_phs_old,          dsc_car_phs,          car_frq_ofs,         dsc_cod_phs_old,          dsc_cod_phs,          cod_frq_ofs;  float sum_IQd, sum_IQp;   float Ip2, Qp2, IQp2, curphs;////  if current phase deviated more than 90 deg from last value//  we probably have a nav bit flip//  curphs = atan2( chan[ch].bitsign*chan[ch].q_prmt,                   chan[ch].bitsign*chan[ch].i_prmt) / (2*M_PI);//  if ( fabs( chan[ch].dsc_car_phs - curphs) > 0.25 &&//       chan[ch].ms_count == 0)  if ( fabs( chan[ch].dsc_car_phs - curphs) > 0.25)  {//    printf("trk: chan[%d].ms_count = %d\n", ch, chan[ch].ms_count);//    getchar();    chan[ch].bitsign *= -1;//    printf("trk: chan[%d].ms_count = %d\n", ch, chan[ch].ms_count); //    getchar();//    chan[ch].databithist[chan[ch].ms_count] += 1;  }  ////  implement summation over NOFCOHINT values by keeping track//  of individual additions//  bitsign = chan[ch].bitsign;  Ip = bitsign * chan[ch].i_prmt;  Qp = bitsign * chan[ch].q_prmt;  Id = bitsign * chan[ch].i_dith;  Qd = bitsign * chan[ch].q_dith;  if ( OutputIQ)    write_to_file_IQ( chan[ch].i_prmt, chan[ch].q_prmt, chan[ch].prn);  // with nav msg//    write_to_file_IQ( Ip, Qp, chan[ch].prn);  // nav msg wiped off// add latest value ...  chan[ch].i_prmt_sum   += Ip;  chan[ch].q_prmt_sum   += Qp;  chan[ch].i_dith_sum   += Id;  chan[ch].q_dith_sum   += Qd;  chan[ch].iq2_prmt_sum += Ip * Ip + Qp * Qp;// ... subtract first value ...  idx = (chan[ch].iq_sav_idx + 1) % NOFCOHINT;  chan[ch].iq_sav_idx = idx;  chan[ch].i_prmt_sum   -= chan[ch].i_prmt_sav[idx];  chan[ch].q_prmt_sum   -= chan[ch].q_prmt_sav[idx];  chan[ch].i_dith_sum   -= chan[ch].i_dith_sav[idx];  chan[ch].q_dith_sum   -= chan[ch].q_dith_sav[idx];  chan[ch].iq2_prmt_sum -= chan[ch].iq2_prmt_sav[idx];// ... and replace by latest value in "store array"  chan[ch].i_prmt_sav[idx] = Ip;  chan[ch].q_prmt_sav[idx] = Qp;  chan[ch].i_dith_sav[idx] = Id;  chan[ch].q_dith_sav[idx] = Qd;  chan[ch].iq2_prmt_sav[idx] = Ip * Ip + Qp * Qp;//  carrier tracking loop  dsc_car_phs_old      = chan[ch].dsc_car_phs;  dsc_car_phs          = atan2( chan[ch].q_prmt_sum, chan[ch].i_prmt_sum) / (2*M_PI);  // optimal carrier phase discriminator  chan[ch].dsc_car_phs = dsc_car_phs;  car_frq_ofs = car_PLL_track_p1 * dsc_car_phs - car_PLL_track_p2 * dsc_car_phs_old;  car_frq_ofs /= FRQUNIT;   // INCR counter runs in units of 42.57 mHz//  update INCR register  chan[ch].carrier_freq += (long)( car_frq_ofs);  ch_carrier( ch, chan[ch].carrier_freq);  if ( OutputCarFrq)    write_to_file_carfrq( (long)( car_frq_ofs), chan[ch].prn);//  code tracking loop  sum_IQd = sqrt( (double)( chan[ch].i_dith_sum) * (double)( chan[ch].i_dith_sum) +                   (double)( chan[ch].q_dith_sum) * (double)( chan[ch].q_dith_sum));  sum_IQp = sqrt( (double)( chan[ch].i_prmt_sum) * (double)( chan[ch].i_prmt_sum) +                   (double)( chan[ch].q_prmt_sum) * (double)( chan[ch].q_prmt_sum));                    dsc_cod_phs_old = chan[ch].dsc_cod_phs;  if ( sum_IQp)    dsc_cod_phs = (sum_IQd / sum_IQp - 0.5);   else      dsc_cod_phs = 0.0;   chan[ch].dsc_cod_phs = dsc_cod_phs;  cod_frq_ofs = cod_PLL_track_p1 * dsc_cod_phs - cod_PLL_track_p2 * dsc_cod_phs_old;//  cod_frq_ofs *= NOFCHIPS;  cod_frq_ofs /= 2*FRQUNIT;   // INCR counter runs in units of 85 mHz//  update INCR register  chan[ch].code_freq += (long)( cod_frq_ofs);  ch_code( ch, chan[ch].code_freq);//  carrier and code lock detector  Ip2 = (double)( chan[ch].i_prmt_sum) * (double)( chan[ch].i_prmt_sum);  Qp2 = (double)( chan[ch].q_prmt_sum) * (double)( chan[ch].q_prmt_sum);  chan[ch].car_lock_det = (Ip2 - Qp2) / (Ip2 + Qp2);    chan[ch].cod_lock_det = (Ip2 + Qp2) / chan[ch].iq2_prmt_sum / NOFCOHINT;  if ( chan[ch].cod_lock_det < cod_lock_det_thresh)  {    chan[ch].state = acquisition;//    printf("trk: chan[%d].cod_lock_det = %e, cod_lock_det_thresh = %e\n", //      ch, chan[ch].cod_lock_det, cod_lock_det_thresh);//    getchar();  }// ----------------------//  printf( "Ip=%5d, Qp=%5d, Id=%5d, Qd=%5d, r/lk:%.2f, d/lk:%.2f\n", //    Ip, Qp, Id, Qd, chan[ch].car_lock_det, chan[ch].cod_lock_det);//  getchar();    // ----------------------//  printf( "d codfrq = %.6f Hz, d carfrq = %.6f Hz\n", //    (chan[ch].code_freq    - 24028328) * 42.57475e-3, //    (chan[ch].carrier_freq - 33010105) * 42.57475e-3);//  printf( "DrPhs = %e, DdPhs = %e, drFrq = %e, ddFrq = %e\n", //    dsc_car_phs, dsc_cod_phs, car_frq_ofs, cod_frq_ofs);//  LastSmplIdx = BUFFERPTR;//  if ( abs( chan[ch].i_prmtpt) < abs( chan[ch].q_prmtpt))//    getchar();

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99在线热播精品免费| 欧美丰满美乳xxx高潮www| 狠狠狠色丁香婷婷综合激情| 石原莉奈在线亚洲二区| 一区二区理论电影在线观看| 亚洲男人的天堂在线观看| 日韩毛片视频在线看| 国产精品久久久久一区| 国产精品福利av| 中文字幕一区在线| 亚洲精选免费视频| 亚洲一区二区三区中文字幕 | 欧美一区二区三区喷汁尤物| 欧美猛男超大videosgay| 91精品婷婷国产综合久久| 制服丝袜日韩国产| 日韩天堂在线观看| 精品美女在线观看| 中文字幕av一区 二区| 国产精品福利在线播放| 亚洲人成精品久久久久| 夜夜嗨av一区二区三区网页 | 国内成人精品2018免费看| 国产在线一区二区| 不卡影院免费观看| 欧美在线影院一区二区| 欧美美女直播网站| 久久综合久久久久88| 久久精品一区四区| 一区二区中文视频| 亚洲成人午夜影院| 激情综合网最新| 99精品久久只有精品| 在线观看欧美日本| 日韩精品最新网址| 国产精品成人一区二区三区夜夜夜| 最好看的中文字幕久久| 日韩综合在线视频| 国产盗摄女厕一区二区三区 | 久久蜜桃av一区精品变态类天堂 | 91香蕉国产在线观看软件| 欧美在线视频日韩| 精品免费99久久| 亚洲女人小视频在线观看| 日韩电影网1区2区| 国产69精品久久777的优势| 在线观看日韩一区| 久久久久久久久97黄色工厂| 亚洲色图在线播放| 免费成人结看片| 9l国产精品久久久久麻豆| 欧美放荡的少妇| 国产精品乱码妇女bbbb| 天堂久久久久va久久久久| 国产丶欧美丶日本不卡视频| 欧美人狂配大交3d怪物一区| 国产蜜臀av在线一区二区三区| 亚洲欧美日韩一区二区| 精品一区二区三区久久久| 欧美自拍丝袜亚洲| 欧美国产日韩一二三区| 日精品一区二区| 色综合天天性综合| 精品国产乱码久久久久久久久 | 成人一区二区三区| 欧美一级夜夜爽| 亚洲男人电影天堂| 国产精品一区专区| 欧美高清视频www夜色资源网| 欧美国产日韩一二三区| 久久国产综合精品| 欧美日韩精品福利| 亚洲免费视频成人| 成人自拍视频在线| 久久影院午夜论| 日韩综合一区二区| 欧美色图在线观看| 亚洲图片你懂的| 国产成人av一区二区三区在线| 欧美一区二区三级| 亚洲国产va精品久久久不卡综合 | 国产精品国产三级国产三级人妇| 美女mm1313爽爽久久久蜜臀| 欧美三级韩国三级日本一级| 国产精品传媒在线| 高清不卡一区二区| 久久久久一区二区三区四区| 麻豆91在线播放免费| 在线成人av网站| 亚洲欧美福利一区二区| 成人午夜视频在线观看| 久久精品视频免费| 国内精品久久久久影院色 | 日韩精品成人一区二区三区| 色偷偷久久一区二区三区| 国产精品美女久久久久久久 | 精品国产精品一区二区夜夜嗨 | 亚洲欧洲制服丝袜| 国产精品123| 久久女同互慰一区二区三区| 久久99国产乱子伦精品免费| 91精品欧美综合在线观看最新 | 99视频在线精品| 国产精品国产a| 99国产精品国产精品久久| 国产精品入口麻豆九色| 成人免费福利片| 中文字幕中文字幕在线一区| av在线免费不卡| 亚洲欧美另类综合偷拍| 91蜜桃视频在线| 亚洲一区二区精品3399| 欧美三级在线视频| 免费在线看一区| 精品国偷自产国产一区| 国产在线看一区| 国产精品免费久久久久| 91麻豆免费看片| 性久久久久久久| 日韩视频免费观看高清完整版在线观看 | 国产91丝袜在线18| 国产精品丝袜91| 91麻豆swag| 偷拍一区二区三区四区| 精品国精品自拍自在线| 成人一区二区三区在线观看| 亚洲欧美日韩国产一区二区三区| 欧美性感一类影片在线播放| 日韩经典一区二区| 久久精品视频免费观看| 色偷偷久久人人79超碰人人澡| 亚洲综合色噜噜狠狠| 欧美精品 日韩| 国产精品一区二区x88av| **欧美大码日韩| 欧美日本一道本在线视频| 国产在线精品视频| 亚洲人妖av一区二区| 欧美午夜寂寞影院| 韩国精品免费视频| 亚洲精品一二三区| 日韩免费成人网| 99久久99久久综合| 视频在线观看一区| 国产欧美日韩麻豆91| 色欧美日韩亚洲| 久久99精品久久只有精品| 成人免费小视频| 91精品国产麻豆国产自产在线| 国产一区二区三区高清播放| 一区二区三区加勒比av| 久久噜噜亚洲综合| 色呦呦国产精品| 久久99日本精品| 亚洲精品写真福利| 亚洲精品在线观看网站| 色94色欧美sute亚洲线路二| 国产真实乱对白精彩久久| 亚洲一区二区三区视频在线| 26uuu另类欧美亚洲曰本| 色爱区综合激月婷婷| 久久精品国产第一区二区三区| 成人av资源网站| 日本视频一区二区| 亚洲美女屁股眼交| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美专区在线观看一区| 国产福利一区在线观看| 日韩av在线播放中文字幕| 亚洲视频一区在线| 久久伊99综合婷婷久久伊| 欧美另类一区二区三区| 色呦呦国产精品| 国产一区二区免费视频| 亚洲图片欧美色图| 日韩毛片在线免费观看| 国产日韩综合av| 精品国内片67194| 91精选在线观看| 欧美三级资源在线| 色哟哟欧美精品| 盗摄精品av一区二区三区| 精品一区二区三区不卡| 日本在线不卡视频一二三区| 亚洲精品乱码久久久久久黑人 | 亚洲国产综合在线| 亚洲卡通动漫在线| 国产精品久久久久aaaa| 久久久不卡网国产精品二区| 91精品国产欧美一区二区成人| 色婷婷av一区二区三区软件| fc2成人免费人成在线观看播放| 国产成人免费视频网站 | 7777精品久久久大香线蕉| 欧美天堂一区二区三区| 色婷婷综合久久久久中文一区二区 | 亚洲影视在线播放| 亚洲日本va在线观看| 国产精品对白交换视频| 国产精品久久久久婷婷|