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

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

?? ogsnavdecode.c

?? C寫的用軟件無線電實現的GPS模擬程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* ************************************************************************    *                                                                      *   *                          GPS Simulation                              *   *                                                                      *   * -------------------------------------------------------------------- *   *                                                                      *   *    Module:   ogsnavdecode.cpp                                        *   *                                                                      *   *   Version:   0.1                                                     *   *                                                                      *   *      Date:   02.03.02                                                *   *                                                                      *   *    Author:   C. Kelley, G. Beyerle                                   *   *                                                                      *   * -------------------------------------------------------------------- *   *                                                                      *   * Copyright (C) 2001,2002  C. Kelley, G. Beyerle                       *   *                                                                      *   * This program is free software; you can redistribute it and/or modify *   * it under the terms of the GNU General Public License as published by *   * the Free Software Foundation; either version 2 of the License, or    *   * (at your option) any later version.                                  *   *                                                                      *   * This program is distributed in the hope that it will be useful,      *   * but WITHOUT ANY WARRANTY; without even the implied warranty of       *   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *   * GNU General Public License for more details.                         *   *                                                                      *   * You should have received a copy of the GNU General Public License    *   * along with this program; if not, write to the Free Software          *   * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.            *   *                                                                      *   * -------------------------------------------------------------------- *   *                                                                      *   * The files 'gpsfuncs.cpp', 'gpsrcvr.cpp' and 'gp2021.cpp' are modi-   *   * fied versions of the files with the same name from Clifford Kelley's *    * OpenSourceGPS distribution. The unmodified files can be obtained     *   * from http://www.home.earthlink.net/~cwkelley                         *   *                                                                      *   * -------------------------------------------------------------------- *   *                                                                      *   *                      Navigation data decoding                        *   *                                                                      *   ************************************************************************ *//* ******************************* changes ********************************   dd.mm.yy -   ************************************************************************ *//* ------------------------------- includes ------------------------------- */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <assert.h>#define OSGLIBRY_H#include "ogsdefine.h"#include "ogsstructs.h"#include "ogsextern.h"#include "ogslibrary.h"/* ------------------------------- defines -------------------------------- *//* ------------------------------- globals -------------------------------- *//* -------------------------- prototypes (global) ------------------------- */static int exor_long( unsigned long x);/* ------------------------------ procedures ------------------------------ */////  printf content of sf[][]//static void print_sf( unsigned long sf[6][11]){  int i, sfr, word;  unsigned long scale;  for ( sfr=1; sfr<=5; sfr++)  {    printf( "--- subframe %d ---\n", sfr);    for ( word=1; word<=10; word++)    {      printf( " %08x", sf[sfr][word]);      if (( word % 5) == 0)        printf( "\n");    }    }  getchar();  return;}////  copy frame buffer sf[][] to 1500 byte nav msg array//static void copy_sf_to_msg( unsigned long sf[6][11], char msg[]){  int i, j, sfr, word;  unsigned long scale;  j=0;  for ( sfr=1; sfr<=5; sfr++)  {    for ( word=1; word<=10; word++)    {      scale = 0x1L << 29;       for ( i=0; i<30; i++)      {//        if ( message[j%1500] == !invert)//          sf[sfr][word] += scale;        if ( sf[sfr][word] & scale)          msg[j%1500] = 1;        else            msg[j%1500] = -1;        scale = scale >> 1;        j++;      }    }  }  return;}////  xor all 32 bits in a long variable (b31^b30^b29^...^b2^b1^b0)//static int exor_long( unsigned long x){  char i;  int res = 0;  for ( i=0; i<32; i++)  {    res = res ^ (x & 0x1);    x = x >> 1;  }  return res;}#if 0inline double frem( double x, double y){  double res;  if ( x >= 0.0)    res = fmod( x, y);  else    res = -fmod( -x, y);      return res;}#endif/*******************************************************************************FUNCTION parity_check()RETURNS  None.PARAMETERS  subrame arrayPURPOSE  check parity and remove parity bits from frame buffer sf[][]WRITTEN BY  Clifford Kelley*******************************************************************************/static void parity_check( unsigned long sf[6][11]){  long pb1 = 0x3b1f3480L,    // just bits 6-29 (GPS bits 1-24)       pb2 = 0x1d8f9a40L,        pb3 = 0x2ec7cd00L,       pb4 = 0x1763e680L,        pb5 = 0x2bb1f340L,        pb6 = 0x0b7a89c0L;  int  parity, m_parity;  int  d29 = 0, d30 = 0, sfm, word,        b_1, b_2, b_3, b_4, b_5, b_6;  int  err_bit;  for ( sfm = 1; sfm <= 5; sfm++)  {    p_error[sfm] = 0;    for ( word=1; word<=10; word++)    {//  transmitted parity      m_parity = (int)( sf[sfm][word] & 0x3f);//  calculate parity      b_1 = parity_exor_7to30( d29,     sf[sfm][word] & pb1) << 5;      b_2 = parity_exor_7to30( d30,     sf[sfm][word] & pb2) << 4;      b_3 = parity_exor_7to30( d29,     sf[sfm][word] & pb3) << 3;      b_4 = parity_exor_7to30( d30,     sf[sfm][word] & pb4) << 2;      b_5 = parity_exor_7to30( 0,       sf[sfm][word] & pb5) << 1;      b_6 = parity_exor_7to30( d29^d30, sf[sfm][word] & pb6);      parity  = b_1+b_2+b_3+b_4+b_5+b_6;//      printf("sf[%d][%d] = %x", sfm, word, sf[sfm][word]);//      printf(", m_parity = %x", m_parity);//      printf(", parity   = %x\n", parity);//      getchar();      if ( parity != m_parity)        err_bit = 1;      else        {        err_bit = 0;//        printf( "parity check passed.\n");      }        p_error[sfm] = (p_error[sfm] << 1) + err_bit;      if ( d30 == 1)         sf[sfm][word] = 0x3fffffc0L & ~sf[sfm][word];//        sf_noparity[sfm][word] = 0x3fffffc0L & ~sf[sfm][word];      sf[sfm][word] = sf[sfm][word] >> 6;   // remove 6 parity bits//      sf_noparity[sfm][word] = sf[sfm][word] >> 6;   // remove 6 parity bits      d29 = (m_parity & 0x2) >> 1;      d30 = m_parity & 0x1;    }  }  return;}/*******************************************************************************FUNCTION decode_navmsg()RETURNS  None.PARAMETERSPURPOSE  This function assembles and decodes the 1500 bit nav message  into almanac and ephemeris messagesWRITTEN BY  Clifford Kelley  Modifications by G. Beyerle*******************************************************************************/void decode_navmsg( unsigned long sf[6][11], NAVDATA *nav){  int i, j, k;  static int i4page, i5page;   // GB: int inserted  int   i4data, i5data, isv;  int   i4p, i5p;  unsigned long tmpulng;  long  tmplng;  char  tmpchr;  int  tmpint;  unsigned int tmpuint;  float d_toe;////    assemble the bits into subframes and words////  d_toe = clock_tow - gps_eph[prn].toe;//  if (d_toe > 302400.0) //    d_toe = d_toe - 604800.0;//  else if ( d_toe < -302400.0)//    d_toe = d_toe + 604800.0;//  if ( gps_eph[prn].valid == 0 || //       (almanac_valid == 0 && almanac_flag == 0) || //       fabs( d_toe) > 7200.0)//  pattern = (int)( (sf[1][1] >> 22) & 0xff);//  printf( "pattern = %x", pattern); //    for (i=0; i<300;i++)//      printf( "%d", Hist[i]); //  getchar();////   EPHEMERIS DECODE subframes 1, 2, 3////  subframe 1////  k = 1;//  while (!((p_error[1]==0 || p_error[1]==0x200) && //       p_error[2]==0 && p_error[3]==0))//  {//    //    copy_msg_to_sf( message, k);//  //    parity_check(); // check the parity of the 1500 bit message////    printf("(%d) perr[1] = 0x%x perr[2] = 0x%x perr[3] = 0x%x\n", //      k, p_error[1], p_error[2], p_error[3]);////    k += 1;//  }// check the parity of the 1500 bit message and strip 6 parity bits  parity_check( sf); //  printf("perr[1] = 0x%x, perr[2] = 0x%x, perr[3] = 0x%x, perr[4] = 0x%x, perr[5] = 0x%x\n", //    p_error[1], p_error[2], p_error[3], p_error[4], p_error[5]);//  printf("*** copy sf_noparity[][] to sf[][] ***\n");//  getchar();  if (( p_error[1] == 0 || p_error[1] == 0x200) &&         p_error[2] == 0 && p_error[3] == 0)  {#if 0    printf( "parity check passed!\n");    printf( "p_error[1] = %x\n", p_error[1]);    printf( "p_error[2] = %x\n", p_error[2]);    printf( "p_error[3] = %x\n", p_error[3]);    getchar();#endif// was://    nav->sf1how       = (long)( (sf[1][2] & 0xffff80) >> 7);    nav->sf1how       = (long)( (sf[1][2] & 0xfffffc) >> 2);    nav->sf2how       = (long)( (sf[2][2] & 0xfffffc) >> 2);    nav->sf3how       = (long)( (sf[3][2] & 0xfffffc) >> 2);    nav->sf4how       = (long)( (sf[4][2] & 0xfffffc) >> 2);    nav->sf5how       = (long)( (sf[5][2] & 0xfffffc) >> 2);    nav->sf4svid      = (int)( (sf[4][3] & 0x3f0000) >> 16);    nav->sf5svid      = (int)( (sf[5][3] & 0x3f0000) >> 16);    if ( nav->sf4svid >= 0 && nav->sf4svid < 64)      nav->sf4pageno  = satid2page[nav->sf4svid];    else        nav->sf4pageno  = -1;    if ( nav->sf5svid >= 0 && nav->sf5svid < 64)      nav->sf5pageno  = satid2page[nav->sf5svid];    else        nav->sf5pageno  = -1;#if 0    printf("\n");    printf("nav->sf4pageno = %d\n", nav->sf4pageno);    printf("nav->sf4svid   = %d\n", nav->sf4svid);    printf("nav->sf5pageno = %d\n", nav->sf5pageno);    printf("nav->sf5svid   = %d\n", nav->sf5svid);//    printf("sf[4][2] = %08x\n", sf[4][2]);//    printf("sf[5][2] = %08x\n", sf[5][2]);    getchar();#endif    nav->eph.valid = 0;//    iodct=iodc & 0xff;//    iode=sf[2][3]  >> 16;//    idoe=sf[3][10] >> 16;//    if ( iodct != iode || iodct!= idoe || iode != idoe || gps_eph[prn].sqra==0.0)//        nav->eph.how       = (long)( sf[1][2] >> 2);    nav->eph.sfid      = (int)( (sf[1][2] & 0x1c) >> 2);    tmplng             = (long)( (sf[1][2] & 0xffff80) >> 7);    nav->eph.tow       = tmplng * 6 - 6;   // z-count/4 -> week seconds    nav->eph.asflag    = (int)( (sf[1][2] & 0x20) >> 5);    nav->eph.alertflag = (int)( (sf[1][2] & 0x40) >> 6);    nav->eph.week   = (int)( sf[1][3] >> 14);//      icapl2              = ( sf[1][3] & 0x3000 ) >> 12;    nav->eph.ura    = (int)(( sf[1][3] & 0xF00 ) >> 8);    nav->eph.health = (int)(( sf[1][3] & 0xFC ) >> 2);    tmpint          = (int)(((sf[1][3] & 0x3) << 8 ) | ((sf[1][8] & 0xFF0000L) >> 16));    nav->eph.iodc   = tmpint;    tmpint          = (int)( sf[1][7] & 0xFF);    nav->eph.tgd    = tmpint * pow( 2.0, -31.0);    tmpuint         = (int)( sf[1][8] & 0xFFFF);    nav->eph.toc    = tmpuint * 16.0;    tmpint          = (int)( sf[1][9] >> 16);    nav->eph.af2    = tmpint * pow( 2.0, -55.0);    tmpint          = (int)( sf[1][9] & 0xFFFF);    nav->eph.af1    = tmpint * pow( 2.0, -43.0);    tmplng          = sf[1][10] >> 2;    if ( bit_test_long( tmplng, 22))       tmplng |= 0xFFC00000L;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩美女在线视频| 国产99久久久精品| 538在线一区二区精品国产| 日韩国产成人精品| 欧美一区二区黄| 狠狠色丁香婷婷综合| 久久久久一区二区三区四区| 高清成人在线观看| 久久久国际精品| av网站免费线看精品| 亚洲免费在线视频| 欧美一区二区三区婷婷月色| 精品一区二区三区免费毛片爱| 久久午夜色播影院免费高清| 成人中文字幕电影| 亚洲一区二区三区国产| 制服.丝袜.亚洲.另类.中文| 国产精品小仙女| 亚洲女与黑人做爰| 91精品国产aⅴ一区二区| 国模无码大尺度一区二区三区| 亚洲国产成人私人影院tom| 欧美在线综合视频| 精品一区二区免费视频| 亚洲婷婷综合色高清在线| 精品视频一区二区不卡| 国产一区二区三区| 亚洲一区二区av在线| 精品嫩草影院久久| 在线观看免费亚洲| 久久国产日韩欧美精品| 亚洲丝袜自拍清纯另类| 精品国产麻豆免费人成网站| 91理论电影在线观看| 久久电影网电视剧免费观看| 中文字幕五月欧美| 欧美大片在线观看一区| 91亚洲精品乱码久久久久久蜜桃| 日本aⅴ免费视频一区二区三区 | 国产成人午夜片在线观看高清观看| 国产精品久久久久影院色老大| 欧美日精品一区视频| 国产精品18久久久久久久久久久久| 亚洲欧美日韩国产综合在线| 精品盗摄一区二区三区| 欧美三级资源在线| 97aⅴ精品视频一二三区| 狠狠色丁香久久婷婷综| 日韩国产高清影视| 亚洲综合色丁香婷婷六月图片| 久久精品在线免费观看| 91精品午夜视频| 色婷婷av一区二区三区软件| 成人在线综合网站| 国产一区二区三区四区五区入口| 亚洲国产精品一区二区久久恐怖片| 欧美极品美女视频| 精品久久久久av影院| 欧美军同video69gay| 日本乱人伦aⅴ精品| 92国产精品观看| 成人中文字幕电影| 国产91富婆露脸刺激对白| 国产自产2019最新不卡| 日本中文在线一区| 日韩中文字幕1| 午夜精品123| 亚洲第一成年网| 亚洲在线成人精品| 亚洲男女一区二区三区| 亚洲黄色免费电影| 中文字幕日韩欧美一区二区三区| 久久久久久久久久久久电影| 2023国产精品自拍| 精品国产免费一区二区三区香蕉| 精品国内片67194| 精品少妇一区二区三区免费观看| 日韩一区二区免费电影| 91精选在线观看| 日韩欧美二区三区| 精品福利在线导航| 久久蜜臀精品av| 国产精品久久久久婷婷| 亚洲国产精品v| 亚洲三级电影网站| 夜夜夜精品看看| 亚洲.国产.中文慕字在线| 秋霞午夜av一区二区三区| 青青草视频一区| 国产精品一区一区| 不卡视频在线看| av影院午夜一区| 色噜噜狠狠色综合中国| 日本韩国欧美一区| 欧美军同video69gay| 精品捆绑美女sm三区| 国产欧美一区二区三区鸳鸯浴 | 国产一区二区三区免费| 国产精品白丝jk白祙喷水网站| 成人夜色视频网站在线观看| 91在线免费看| 91精品欧美福利在线观看| 久久亚洲精品小早川怜子| 国产精品女人毛片| 亚洲综合男人的天堂| 免费在线观看一区二区三区| 狠狠色丁香九九婷婷综合五月| 国产精品99久久久久久有的能看| 99国产精品视频免费观看| 欧美精品丝袜中出| 国产日韩欧美电影| 亚洲蜜桃精久久久久久久| 日韩1区2区日韩1区2区| 成人亚洲精品久久久久软件| 欧美三级韩国三级日本三斤| 精品国产三级电影在线观看| 亚洲男人都懂的| 国内成人自拍视频| 欧美日韩国产另类一区| 久久久久久9999| 亚洲一二三四在线观看| 国产精品18久久久久久vr| 91电影在线观看| 26uuu国产电影一区二区| 亚洲一区在线观看免费 | 午夜电影一区二区| 国产传媒欧美日韩成人| 欧美乱妇一区二区三区不卡视频| 国产亚洲精品aa| 日韩av中文字幕一区二区三区| 成人午夜伦理影院| 欧美第一区第二区| 亚洲成人tv网| 91视频观看免费| 国产午夜亚洲精品理论片色戒| 午夜精品一区二区三区免费视频 | 久久久久一区二区三区四区| 午夜久久久久久| 欧洲生活片亚洲生活在线观看| 国产欧美日韩综合| 国精产品一区一区三区mba视频| 欧美精品电影在线播放| 综合电影一区二区三区| 成人精品一区二区三区四区 | 粉嫩av亚洲一区二区图片| 欧美一二三四区在线| 亚洲一区二区综合| 91老司机福利 在线| 国产精品伦一区二区三级视频| 国内精品伊人久久久久av影院| 欧美一区二区视频网站| 亚洲国产毛片aaaaa无费看| 色狠狠综合天天综合综合| 综合久久一区二区三区| 成人小视频免费在线观看| 欧美精品一区二区三区久久久 | av成人免费在线观看| 国产拍揄自揄精品视频麻豆| 国产一区二区中文字幕| 欧美电影免费观看高清完整版在线| 性欧美疯狂xxxxbbbb| 精品视频1区2区3区| 一级做a爱片久久| 99久久精品国产网站| 中文字幕在线观看一区| 成人va在线观看| 成人免费小视频| 91国产福利在线| 亚洲一区二区在线免费看| 欧美中文字幕一区| 偷拍一区二区三区四区| 91精品免费观看| 理论电影国产精品| 精品国产乱码久久久久久牛牛 | 色婷婷综合久久久中文一区二区| 中文字幕一区二区三区不卡| 9l国产精品久久久久麻豆| 亚洲欧洲综合另类| 欧美系列在线观看| 日韩不卡免费视频| 久久婷婷成人综合色| 高清久久久久久| 亚洲精品大片www| 欧美日本精品一区二区三区| 日韩国产精品久久| 久久先锋影音av鲁色资源| 成人午夜看片网址| 一区二区三区四区五区视频在线观看 | 久久国产成人午夜av影院| 国产亚洲自拍一区| 99久久精品99国产精品| 亚洲va欧美va人人爽午夜| 日韩欧美中文字幕制服| 国产精品66部| 亚洲最色的网站| 精品国产网站在线观看| 91在线观看下载| 全国精品久久少妇| 国产精品成人在线观看| 欧美精品在欧美一区二区少妇|