GPS 接收机硬件开发板、源码以及配套课程
笔者推出的GPS接收机学习套件以来,引发了众多专业人士与爱好者的广泛关注,其中包括意欲拓展研究方向的高校教师、从事相关课题的研究生、经验丰富的行业工程师,以及卫星导航的资深爱好者。
笔者不敢自诩该接收机的性能或设计如何独特,其价值在于提供了一个硬件接收机的学习平台,一方面,它让专注于软件后处理与算法仿真的读者,得以直观窥见硬件接收机的实现细节;另一方面,它更是为渴望掌握从信号处理到PVT解算全流程、且苦于缺乏系统工程实践经验的朋友,铺就了一条从理论迈向工程的实践之路。
GPS接收机学习套件包括:
1、硬件开发板(Zynq7010+ max2769)
该开发板支持GPS L1C/A、北斗B1I、Glonass L1以及Galileo E1等多个卫星导航系统频点。用户只需外接有源天线(套件提供)即可接收卫星信号,并可连接显示屏(套件提供)以直接输出经接收机实时解算得到的时间与定位结果。
目前,笔者已基于该硬件平台成功实现了对GPS L1C/A与北斗B1I信号的接收。

2、GPS接收机源码
(1)Zynq PL端全部Verilog源码(除官方IP外,完全开放,无黑盒)
PL端主要实现了信号捕获与跟踪的相关器通道。其Verilog总代码量仅2K多行,扣除接口逻辑等辅助设计,核心代码约1K行,是一个极为精简的实现。只要具备基本的FPGA设计功底,即可轻松掌握。
(2)Zynq PS端全部C源码(裸机实现,无封装库)
PS端以C语言裸机程序实现了跟踪环路控制、位/帧同步、导航电文解析与PVT解算等核心功能。PVT模块移植自开源项目RTKLIB的单点定位部分,代码结构简单、清晰。
需要说明的是:该代码完全自主开发,笔者拥有完全版权,已获得软件著作权证书,授权学习者使用权
为了让购买者更好的理解捕获跟踪部分,将赠送GPS捕获跟踪MATLAB仿真程序:
3、配套的解析
不仅仅是提供源码,还会通过视频课程或者图文教程的形式进行一系列讲解。笔者秉承着“用爱发电”的一贯作风,对这些视频课程或者图文教程免费开放,即便确实因为预算原因没有购买硬件和源码的读者,也能从视频课程与图文教程了解到很多有用的设计细节,获得实实在在的知识。
当然了,对着源码去理解教程,并且用实际硬件调试才能学习得更加透彻。
4、便携GPS模拟源 (需另购)
专业的GPS模拟器非常的昂贵,笔者基于SDR开发板自行开发的GPS模拟源,实现了时间可改,经纬度位置可改,静态模式和动态模式,功率可调等功能,并且可将设置的场景(时间,经纬度,模式,功率等信息)全部存储在设备内,即可实现离线运行(只需要接电源,不需要接电脑,上电模拟器即工作)
一般情况下,在家里的窗台或者阳台能够实现单GPS定位的概率比较低的,可能会因为卫星少,即便卫星数量够也会可能因为卫星分布在同一个方向导致定位失败。此时,就需要一个GPS模拟源来模拟卫星信号,有了这个就可以在室内进行GPS接收机的调试了。
GPS模拟器可参考下面文章进行了解,后面也会专门发文介绍
(GPS自研模拟器测试)假装在国外旅行系列之三——前往星舰发射场
GPS模拟器发射出来的信号:

花絮
1、测试效果
某读者使用专用模拟器测试的结果,可以看到接收机定位坐标和模拟器设置坐标一致。可见给予大家学习的不仅仅是一个简单的例程,实现效果某些方面已经达到了非常专业的水平,欢迎实测检验。

2、读者的一些问题以及答疑
不得不说,有些读者学的很认真,例如下面是一位没有任何数字信号处理经验的读者,他说他开发过zynq pl端,会PS端访问自己编写的PL端逻辑。以前主要做接口设计,现在想学学信号处理与数字接收机相关知识。
没想到他学起来真的很认真,还整理了一个WORD文档来让笔者来解答问题,条目还分得很清晰。

既然都这么正式了,笔者也得必须认真应对,组织好语言好好回答一下。

刚把解答发给他,结果他说自己已经看明白了。

所以说,不要想着GPS接收机如何难,只要真正沉下心来看下去,就能看懂,就那么几百行关键的代码而已。

夜雨聆风
