提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
上一篇我们去美国白宫玩了一遭,今天开始是时候生活重新进入正轨了。
需要确认的事项
那目前我们已经有作为接收机硬件的开发板了,也有GPS信号模拟源了。那首先的工作自然就是先简单的采集一点数据来分析一下,是否这套硬件真的能够正常接收GPS信号的数据了。因为前面我们对FPGA开发板只是输入了点频,那如果输入是GPS L1频点的信号会是怎么样的呢。然后我们可以把这段数据截取出来在matlab上做一个算法上的捕获处理。看下是不是真的能够在matlab上捕获到卫星,才能进行下一步工作
在正式开始接收机代码开发之前,我们必须确认一些事项
1、 我们需要验证我自己配置的AD9363配置确实能够接收GPS L1 C/A码至少2MHz以上的带宽信号。
2、 必须将GPS模拟器的数据通过FPGA开发板进行短时间的采集,至少能用于matlab算法上的捕获验证,这个采集时间至少要几ms。
3、 通过算法上的捕获,我们要大致确认GPS模拟器和FPGA开发板两个时钟系统的频偏是在可接受的范围。所有卫星的频偏我们要控制在-5KHz ~ 5KHz 以内。
通过第2篇,我们得到了ADC的采样率为25MHz,我们设置了本振频率为1574MHz,那么我们理应得到1.42MHz的中频信号,下面我们通过做实验来确定上述几点是否满足。
注意:
采样率为25MHz,也将作为系统时钟的频率
中频:1.42MHz
这两个参数,后面的设计将是按照这两个参数进行的
采集结果
我们采集了65536个点,差不多2.3ms的样子。
采集到的频谱如下图:
杂散真的是超级多,不过也能明显的看到在1.42MHz有一个鼓包出现,这就是L1 C/A码的频谱的位置了,至少滤波器没有将主带信号给滤掉,应该还能凑合用。(又一次留下了不会硬件的泪水,对此无能为力)
接下来依次对各个PRN码进行捕获验证,这就是上一篇文章用手机收到的卫星号,我们正好来利用一下,我们主要关心有没有峰值,以及多普勒频点的位置。采用的算法是FFT-IFFT方法,频率步进设置为500KHz,码相位为1个采样点1个。相干累加时间为1ms,非相关累加次数为2。
1、PRN5的捕获结果:多普勒频率为-4KHz左右
2、PN13的捕获结果,多普勒频率为1KHz左右
3、PRN16的捕获结果,多普勒频率为2KHz左右
4、PRN18的捕获结果,多普勒频率为-500Hz左右
5、PRN26的捕获结果,多普勒频率为0Hz左右
6、 PRN27的捕获结果,居然没有发现明显的峰值,虽然它的CNR确实是这几颗卫星里面最低的
7、PRN29的捕获结果。多普勒频率为-2KHz左右
8、PRN31的捕获结果,多普勒频率为-3KHz左右,这颗卫星的信号显然也没之前那几颗强了
后记
事情进展到这里,基本确定了整套硬件还是可行的,也就有了继续下去的动力。后面也就要正式开始FPGA和软件开发的工作了