⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ogsrcvr.c

📁 C写的用软件无线电实现的GPS模拟程序
💻 C
字号:
/* ************************************************************************ 
   *                                                                      *
   *                          GPS Simulation                              *
   *                                                                      *
   * -------------------------------------------------------------------- *
   *                                                                      *
   *    Module:   ogsrcvr.cpp                                             *
   *                                                                      *
   *   Version:   0.1                                                     *
   *      Date:   17.02.02                                                *
   *                                                                      *
   *    Author:   G. Beyerle                                              *
   *                                                                      *
   * -------------------------------------------------------------------- *
   *                                                                      *
   * Copyright (C) 2002-2006  Georg 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' are modified 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                            *
   *                                                                      *
   * -------------------------------------------------------------------- *
   *                                                                      *
   *                              Procedures                              *
   *                                                                      *
   ************************************************************************ */

/* ******************************* changes ********************************

   dd.mm.yy -

   ************************************************************************ */

// to do:
// - fill struct iono_data und struct UTC_data   / 17.2.02
// - parity bits

/* ------------------------------- includes ------------------------------- */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <assert.h>

#define MAIN

#include "ogsdefine.h"
#include "ogsstructs.h"
#include "ogsextern.h"
#include "ogsprototypes.h"
#include "ogslibrary.h"

#undef MAIN

/* ------------------------------- defines -------------------------------- */

/* ------------------------------- globals -------------------------------- */

char ProgramName[] = "ogsrcvr";
static char Version[] = "0.1.1";

/* -------------------------- prototypen (global) ------------------------- */

void getargs( int argc, char *argv[]);
void close_open_files( void);

/* ------------------------------ procedures ------------------------------ */

void usage( void)
{
  printf( "usage: %s [options]\n", ProgramName);
  printf( "version %s (compiled %s %s) \n", Version, __DATE__, __TIME__);
  printf( " options:\n");
  printf( "   -h        : print this message                       \n");
  printf( "   -v        : verbose                                      \n");
  printf( "   -f        : overwrite existing files                     \n");
  printf( "   -x <file> : read data from 'data/'<file>  ['ogsraw.dat'] \n");
  printf( "   -r        : write carrier frq to file 'carfrq-out-PRN.dat'\n");
  printf( "   -i        : write I,Q to file 'iq-out-PRN.dat'\n");
//  printf( "   -g<n>          : Genauigkeit (nur Octave)     [D:6]       \n");
//  printf( "   -l<n>          : ueberspringe ersten n Zeilen [D:0]       \n");
//  printf( "   -l<n>-<m>      : lies von Zeile n bis m                   \n");
  exit(0);
}

//
//  main - receiver simulation
//
int main( int argc, char *argv[])
{  
  set_directories( argv[0]);

//  process options
  getargs( argc, argv);

//  welcome
  printf("-------------------------------- OpenGPSSim ---------------------------------\n");
  printf("ogsrcvr   version %s\n", Version);
  printf("Copyright (C) 2001-2006 G. Beyerle, A. Tabernero, C. Kelley and others.      \n");
  printf("ogsrcvr 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");

//  printf("sizeof(chan) = %d\n", sizeof(chan));
//  getchar();

//
//  read first n samples from file and store in 'Buffer'
//
  init_inputbuffer();

//  pre-calculate C/A code and store in global CACode[][]
  calc_cacode();

//  init_software_correlator();

  main_gpsrcvr();
  
  close_open_files();

  exit(0);

}

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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -