简介
源代码
绘制处理结果
文档
感谢
项目作者
版权
其他的开源GPS项目

简介

这个项目实现了一台纯软件中频GPS接收机。其输入是一个GPS中频数据文件,包含了大约60秒的数据长度。数据文件由作者在University of California, Riverside校园内,通过一部Zarlink公司的GP2015射频芯片和Cypress公司的FX2 USB接口芯片采集得到. 60秒的时间长度保证了必然包含一整套的卫星星历数据。 该软件接收机包含了几乎全部必须的功能模块来处理数据文件,包括多通道相关器,伪码和载波跟踪环,控制逻辑,以及PVT解算模块。由于所有代码用C++语言实现,所以相对于Matlab版本的软接收机来说运行速度要提高很多。处理完60秒的中频数据,只需要10到20分钟的时间,具体耗时取决于PC的CPU的速度。

该项目是USBGPS开源项目的后续项目,USBGPS项目通过处理Zarlink的GP2015和GP2021芯片组来完成一部GPS接收机的功能,所以需要一个硬件平台,而该硬件平台对初学者来说不易获得。该项目完全在软件层上实现,没有任何硬件开销。该项目的另一个优势是所以的中间变量和处理结果都可以存在PC机硬盘文件上,这包括从最起始的信号捕获的结果,跟踪环的状态到最终的PVT解算的结果,所以用户可以通过Matlanb等信号处理软件来对接收机工作状态进行分析。我相信该项目对于GPS接收机理论的初学者来说更为适合。

源代码

源代码用C++实现,在Linux操作系统上运行。 我在FedoraCore 9上编译运行没有问题,其他的Linux发行版本没有测试,但应该没有什么问题。 编译源代码需要安装gcc-c++ 编译器, 同时软件的运行还需要ncurses包。 以下命令可以用来验证PC上是否安装了所需的软件包,(命令后面的输出是我的Linux版本的输出):

[root@localhost test]# rpm -qa|grep gcc
gcc-c++-4.3.0-8.i386
libgcc-4.3.0-8.i386
gcc-gfortran-4.3.0-8.i386
gcc-4.3.0-8.i386


[root@localhost test]# rpm -qa|grep ncurses
ncurses-5.6-16.20080301.fc9.i386
ncurses-base-5.6-16.20080301.fc9.i386
ncurses-devel-5.6-16.20080301.fc9.i386
ncurses-libs-5.6-16.20080301.fc9.i386

源代码和中频数据文件可以从Sourceforge的项目主页下载。

编译和运行程序,需要运行如下命令:

[root@localhost test]# tar zxvf sdrGPS.tar.gz

[root@localhost test]# cd sdrGPS

[root@localhost test]# make

[root@localhost test]# ./sdrGPS

程序运行的简要说明和界面截图可以在这里找到。

绘制处理结果

程序将处理结果存储在文件,以便后续分析。每一个文件都会打上唯一的时间戳,这样就很容易将不同时刻运行结果区分开来。用户可以用任何的数据处理软件来分析数据,其中最著名的就是Matlab。数据文件包含了所有必须的中间变量和最终的信号处理结果,包括跟踪环的跟踪状态,以及LS和KalmanFilter的定位解算结果。

数据文件被存储在程序运行的当前目录下的data/子目录下。命名遵循如下规则:

Channel status log: Channeln_timestamp.m
LS fix log: navfix_timestamp.m
KF fix log(PV-model): KF_PV_timestamp.m

表中n是表示通道的序列号,从0到11供12个通道, timestemp 是时间戳,格式为_ddmmyyyy_hhMM

我将一些感兴趣的结果绘制在这一页

文档

文档还未完成。初步打算包括简单的有关GPS的背景知识介绍,和对本项目的源代码的描述

感谢

To Dr. Jay A. Farrell, Clifford Kelly, 和我的妻子和孩子。

项目作者

Yu Lu

任何新的主意,建议和合作机会请联系softwareGNSS@gmail.com.

版权

Copyright © 2008 Yu Lu.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2

 

其他的开源GPS项目

Clifford kelley's OpenSourceGPS site

Takuji Ebinuma's ARMGPS site

Andrew Greenberg's GPL-GPS site

Krzysztof Kamieniecki's kkGPS project