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

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

?? ogsencdec.c

?? C寫的用軟件無線電實現的GPS模擬程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
        else  
          msg[j] = -1;

        scale = scale >> 1;
        j++;
      }
    }
  }

  return;
}

//
//  convert from ASCII to binary
//
static void conv_ASCII_to_binary( char *infile)
{
  int len;
  char *tmpfile;
  FILE *fp;
  
  fp = fopen( infile, "r");
  if ( !fp)
  {
    printf( "Error opening file %s.\n", infile);
    exit(-1);
  }
  else
    printf( "Reading file %s.\n", infile);
  
//  getchar();

  read_sf1to3( &Nav, fp);
  read_sf4( &Nav, fp);
  read_sf5( &Nav, fp);

  fclose( fp);

  encode_navmsg( &Nav, SubFrame);

  copy_subframe_to_msg( SubFrame, NavBit);

  len = strlen( infile);
  tmpfile = conmalloc( len+1);
  strcpy( tmpfile, infile);
  tmpfile[len-4] = '\0';

//  printf( ">%s<\n", tmpfile);
//  getchar();

  fp = fopen( tmpfile, "wb");
  if ( !fp)
  {
    printf( "Error opening file %s.\n", tmpfile);
    exit( -1);
  }
  fwrite( NavBit, NAVMSGLEN, 1, fp);
  fclose( fp);

  printf( "Finished writing file '%s'.\n", tmpfile);

  return;
}

//
//  convert from binary to ASCII
//
static void conv_binary_to_ASCII( char *infile)
{
  int nof;
  char *tmpfile;
  FILE *fp;

  tmpfile = infile;

  fp = fopen( tmpfile, "rb");
  if ( !fp)
  {
    printf( "Error opening file '%s'.\n", tmpfile);
    exit(-1);
  }
  else
    printf( "Reading file '%s'.\n", tmpfile);

  nof = fread( NavBit, sizeof( char), NAVMSGLEN, fp);
  if ( nof != NAVMSGLEN)
  {
    printf( "Could only read %d bytes from file %s (expected 1500 bytes).\n", 
      nof, tmpfile);
    exit(-1);
  }
  fclose( fp);

  copy_msg_to_subframe( NavBit, 0, 0, SubFrame);
  decode_navmsg( SubFrame, &Nav);

  tmpfile = conmalloc( strlen( infile) + 5);

  strcpy( tmpfile, infile);
  strcat( tmpfile, ".txt");

  fp = fopen( tmpfile, "w");
  if ( !fp)
  {
    printf( "Error opening file %s.\n", tmpfile);
    exit(-1);
  }

  write_sf1to3( &Nav, fp);
  write_sf4( &Nav, fp);
  write_sf5( &Nav, fp);

  fclose( fp);

  printf( "Finished writing file '%s'.\n", tmpfile);

  return;
}

//
//  find preamble
//
static void find_preamble( char message[], int *idx, int *invert)
{
  int i;
  int idxinv, pattern = 0, maxhist, maxhistinv;
  short int hist[SUBFRAMELEN]; 
  short int hist_inv[SUBFRAMELEN]; 

//  init to zero
  for ( i=0; i<SUBFRAMELEN; i++)
  {
    hist[i] = 0; 
    hist_inv[i] = 0; 
  }
  
  for ( i=0; i<NAVFRAMELEN; i++)
  {
    pattern = (pattern << 1);
    if ( message[i] == 1)
      pattern += 1;
    pattern &= 0xff;

    if ( i >= 7)
    {
      if ( pattern == 0x8b)
        hist[(i-7)%SUBFRAMELEN]     += 1; 
      else if ( pattern == 0x74)
        hist_inv[(i-7)%SUBFRAMELEN] += 1; 
    }    
  }

  *idx    = analyze_databit_histogram( &maxhist, hist);
  idxinv  = analyze_databit_histogram( &maxhistinv, hist_inv);

  if ( maxhistinv > maxhist)
  {
    *idx = idxinv;
    *invert = 1;
  }
  else
    *invert = 0;

//  printf("find_preamble(): maxhistinv = %d, maxhist = %d\n", maxhistinv, maxhist);

  return;
}

//
//  copy 1500 bit nav msg to frame buffer sf[][]
//  invert = 1: invert msg bits
//  invert = 0: don't invert msg bits
//
static void copy_msg_to_subframe( char message[], int ofs, int invert,
  unsigned long sf[6][11])
{
  int i, j, sfr, word;
  unsigned long scale;

//  printf( "\n");
  j=0;
  for ( sfr=1; sfr<=5; sfr++)
  {
    for ( word=1; word<=10; word++)
    {
//        scale         = 536870912L;  // 2^29
      scale = 0x1L << 29; 
        
      sf[sfr][word] = 0;

      for ( i=0; i<30; i++)
      {
//        printf( " %d", message[j+ofs]);
        if ( !invert)
        {
          if ( message[(j+ofs)%1500] == 1)
            sf[sfr][word] += scale;
        }
        else
        {
          if ( message[(j+ofs)%1500] != 1)
            sf[sfr][word] += scale;
        }

        scale = scale >> 1;
        j++;
      }
//      printf( " %08x", sf[sfr][word]);
    }
//    printf( "\n");
  }

  return;
}


/*******************************************************************************
FUNCTION analyze_databit_histogram()

RETURNS  
  Start of bit transition (number between 0,...,19) 
  or -1 (too noise, back to acq)

PARAMETERS 
  ch : channel number

PURPOSE
  Find start of bit transition within 20 x 1 msec segments (bit 
  synchronization) using histogram method.
  
REFERENCES
  Krunvieda et al., A complete IF software GPS receiver: a tutorial about
    the detail, Data Fusion Corporation

WRITTEN BY
  G. Beyerle
  
TO DO

NOTES

*******************************************************************************/
static int analyze_databit_histogram( int *maxhist, short int hist[])
{
  int i, maxhistidx; 
//  unsigned int nofentry = 0;
  
  *maxhist = 0;
  
  for ( i=0; i<300; i++)
  {
    
//    nofentry += hist[i];

    if ( *maxhist < hist[i])
    {
      *maxhist = hist[i];
      maxhistidx = i;
    }

// --- clear array ---
    hist[i] = 0;
  }  

  return (maxhistidx);
}

//
//  main routine
//
int main( int argc, char *argv[])
{
  int j, nof, sgn, len;
  long i, nofwritten;
  unsigned long cntMSB;
  double dt;
  char *infile;
  char *tmpfile;
  FILE *fp;
  
//  printf("argc = %d\n", argc);
//  getchar();
  
  if ( argc < 2)
    usage();
  
  set_directories( argv[0]);

//  process options
  getargs( argc, argv);

  check_options();

#if 0
  printf("argc = %d\n", argc);
  printf("optind = %d\n", optind);
  printf("argv[0] = %s\n", argv[0]);
  printf("argv[1] = %s\n", argv[1]);
  printf("argv[2] = %s\n", argv[2]);
  getchar();
#endif

  if ( argc <= optind)
    usage();
  
  infile = argv[optind];

// --- welcome ---
  printf("-------------------------------- OpenGPSSim ---------------------------------\n");
  printf("ogsencdec   version %s\n", Version);
  printf("Copyright (C) 2001-2006 G. Beyerle, A. Tabernero, C. Kelley and others.      \n");
  printf("ogsencdec comes with ABSOLUTELY NO WARRANTY; for details see file 'warranty'.\n");
  printf("This is free software, and you are welcome to redistribute it under          \n");
  printf("certain conditions; see file 'copying' for details.                          \n");
  printf("-----------------------------------------------------------------------------\n");

//  data files are located in sub directory '.../data/'
  len = strlen( OGSDataDir) + strlen( infile);
  tmpfile = conmalloc( len+1);
  strcpy( tmpfile, OGSDataDir);
  strcat( tmpfile, infile);

  len = strlen( tmpfile);

  if ( ReadAsyncOutput)
  {
//  read async files and write as binary and ASCII files
    conv_async_to_binaryASCII( tmpfile);
  }  
  else if ( ReadOGSRcvrOutput)
  {
//  read ogsrcvr files and write as binary and ASCII files
//  printf(">%s<", tmpfile + strlen( tmpfile) - 2);
//  getchar();
//    SatID = atoi( tmpfile + strlen( tmpfile) - 2);
    conv_ogsrcvr_to_ASCII( tmpfile);
  }  
  else if ( !strcmp( tmpfile + len-4, ".txt"))
  {
//    printf(">1:%s<\n", tmpfile);
//    getchar();
//  convert from ASCII to binary
    conv_ASCII_to_binary( tmpfile);
  }
  else
  {
//    printf(">2:%s<\n", tmpfile);
//    getchar();
//  convert from binary to ASCII
    conv_binary_to_ASCII( tmpfile);
  }

  exit( 0);


#if 0
  write_sf1to3( &Nav, FpAsc);
  write_sf4( &Nav, FpAsc);
  write_sf5( &Nav, FpAsc);

  fclose( FpAsc);
  exit(1);

  printf( "Finished writing file.\n");

  getchar();

//  print_nav_data( &Nav);

  char msg[1500];

//  encode_navmsg( i4satid, i5satid, &Nav, msg);

//
//  decode again
//
  find_preamble( msg, &startidx, &invert);    

  copy_msg_to_subframe( NavBit, startidx, invert, SubFrame);

  decode_navmsg( SubFrame, &Nav);

//  print_nav_data( &Nav);
//
//  compare
//
  int k;

  for (k=0;k<1500;k+=70)
  {
    for (j=k;j<k+70;j++)
      printf("%d", NavBit[j%1500]);
    printf("\n");

    for (j=k;j<k+70;j++)
      printf("%d", ((msg[j%1500]>0)?1:0));
    printf("\n");

    getchar();
  }

  exit(0);
#endif  
}

/* ------------------------------ end of file ----------------------------- */


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91网上在线视频| 国产精品美女一区二区在线观看| 日韩欧美国产电影| 国产丝袜在线精品| 一区二区三区四区不卡视频| 精品一区二区免费在线观看| 波多野结衣精品在线| 日韩一区二区电影| 亚洲人成网站在线| 国产精品自在欧美一区| 欧美精品日韩综合在线| 国产精品久久久久国产精品日日| 午夜影院在线观看欧美| 不卡的av在线播放| 欧美精品一区二区三区蜜桃| 亚洲国产一区视频| 色欧美片视频在线观看在线视频| 26uuu亚洲综合色| 日韩av电影一区| 欧美主播一区二区三区| 中文字幕在线一区| 国产精品69毛片高清亚洲| 91精品国产91久久久久久最新毛片| 日韩伦理av电影| 成人小视频在线| 日韩欧美aaaaaa| 午夜电影网一区| 欧美日韩国产综合草草| 夜夜嗨av一区二区三区四季av| 成人a免费在线看| 国产日韩欧美一区二区三区乱码| 久久成人av少妇免费| 欧美一级在线视频| 琪琪久久久久日韩精品| 欧美一区二区三区色| 午夜精品久久久| 制服.丝袜.亚洲.另类.中文| 天天免费综合色| 欧美精品少妇一区二区三区 | 欧美日韩mp4| 亚洲h在线观看| 欧美日韩在线播放三区四区| 一二三区精品视频| 91麻豆精品国产91久久久久| 日韩电影在线一区二区| 日韩一级完整毛片| 久久99精品久久久久久国产越南| 精品日韩欧美在线| 国产一区二区不卡在线| 欧美国产禁国产网站cc| 99re视频精品| 亚洲图片一区二区| 日韩丝袜情趣美女图片| 国产综合久久久久影院| 国产精品女同互慰在线看| 不卡视频在线观看| 一区二区三区波多野结衣在线观看 | 激情综合亚洲精品| 久久久久久9999| 99在线精品视频| 亚洲一区二区三区影院| 555夜色666亚洲国产免| 国产原创一区二区三区| 亚洲视频图片小说| 欧美一区二区三区不卡| 国产精品一区三区| 亚洲午夜久久久久久久久久久| 91精品国产综合久久精品app| 国产在线播精品第三| 综合婷婷亚洲小说| 日韩一级黄色大片| 91在线观看美女| 捆绑变态av一区二区三区| 1024成人网色www| 日韩视频免费观看高清完整版在线观看| 国产在线一区二区综合免费视频| 中文字幕佐山爱一区二区免费| 51精品久久久久久久蜜臀| 成人黄色综合网站| 美女在线一区二区| 亚洲在线一区二区三区| 久久久久久久久99精品| 在线综合亚洲欧美在线视频| 99精品国产热久久91蜜凸| 免费在线观看成人| 国产精品福利av| 精品国产乱码久久久久久久| 91久久一区二区| 国产91色综合久久免费分享| 天天射综合影视| 亚洲免费观看高清完整版在线| 日韩欧美激情在线| 欧美日韩精品二区第二页| 成人福利视频网站| 国产在线观看免费一区| 丝袜美腿成人在线| 亚洲少妇最新在线视频| 国产日韩欧美精品一区| 日韩网站在线看片你懂的| 欧美丝袜丝交足nylons| 99久久免费国产| 国产成人啪免费观看软件 | 激情六月婷婷久久| 三级不卡在线观看| 亚洲制服丝袜一区| 亚洲精品国产无天堂网2021| 国产精品久久夜| 欧美国产日产图区| 国产欧美一区二区精品久导航| 精品少妇一区二区三区在线播放| 欧美色图在线观看| 欧美视频自拍偷拍| 欧美日韩国产首页| 欧美三级资源在线| 欧美午夜精品久久久久久孕妇| 色综合久久综合网97色综合| 99久精品国产| 99久久久久免费精品国产 | 中文字幕在线视频一区| 欧美国产精品久久| 国产精品久久毛片a| 国产精品免费免费| 亚洲日本乱码在线观看| 亚洲人妖av一区二区| 亚洲婷婷在线视频| 亚洲激情校园春色| 天天操天天干天天综合网| 免费人成精品欧美精品| 美腿丝袜在线亚洲一区| 国产一区二区三区在线看麻豆| 国产剧情在线观看一区二区| 国产91丝袜在线播放九色| 99国产欧美久久久精品| 日本久久电影网| 欧美日韩国产一级片| 91精品国产手机| 久久久久亚洲蜜桃| 中文字幕中文字幕在线一区| 亚洲综合男人的天堂| 日韩国产欧美在线观看| 国产一区欧美一区| 99精品久久只有精品| 欧美精品久久天天躁| 欧美成人一级视频| 国产精品理伦片| 日韩精品欧美精品| 国产999精品久久久久久绿帽| 色婷婷久久综合| 日韩欧美中文字幕公布| 国产精品久久久久aaaa樱花| 亚洲成av人片观看| 国产毛片精品国产一区二区三区| av中文字幕在线不卡| 777久久久精品| 国产视频911| 亚洲一级二级三级| 国产乱国产乱300精品| 在线亚洲一区二区| 精品美女一区二区三区| 亚洲欧美日韩在线| 精品亚洲国产成人av制服丝袜| 99久精品国产| 精品国产乱码久久久久久影片| 亚洲欧美一区二区三区久本道91| 麻豆精品久久久| 91久久精品一区二区| 久久免费美女视频| 天天射综合影视| 91蜜桃在线免费视频| 精品人在线二区三区| 亚洲午夜私人影院| 99re免费视频精品全部| 精品国产乱码久久久久久夜甘婷婷 | 免费观看一级特黄欧美大片| av不卡在线播放| 精品国产亚洲在线| 五月综合激情日本mⅴ| av成人免费在线观看| 26uuu久久综合| 日韩国产精品大片| 色94色欧美sute亚洲13| 国产免费观看久久| 久久精品理论片| 欧美日韩在线播| 亚洲一区免费观看| 99精品视频一区| 日本一二三四高清不卡| 激情丁香综合五月| 欧美二区乱c少妇| 亚洲一区二区三区小说| 色先锋aa成人| 一区精品在线播放| 成人精品在线视频观看| 国产日韩欧美在线一区| 国产精品66部| 久久天天做天天爱综合色| 日本aⅴ亚洲精品中文乱码| 欧美巨大另类极品videosbest| 亚洲无线码一区二区三区| 欧美午夜宅男影院|