卫星导航接收机ZYNQ实现(十)

张开发
2026/4/6 1:32:53 15 分钟阅读

分享文章

卫星导航接收机ZYNQ实现(十)
GPS捕获上板验证及北斗信号采集并行码相位捕获上板验证捕获策略验证结果信号的确认牵引和跟踪北斗信号的采集总结并行码相位捕获上板验证将近半年没有更新一方面是没有取得太多实质性的进展也可以说是工作繁忙无暇顾及但都是客观理由懒才是原罪。言归正传上一篇介绍了GPS L1并行码相位的仿真验证实际上测试之后才发现FPGA部分的运行没有多大问题一轮搜索下来总能获得几颗卫星的信号。但是控制权交给ARM之后就出现了混乱卫星号根本对不上。捕获策略在串行捕获时所有相关通道是同时运行的也没有专门的捕获通道。只需要ARM控制码片滑动即可控制策略比较简单只需要检查通道是否在工作状态如果没有找一颗没有被正在捕获或者跟踪的卫星分给他去捕获即可。 并行捕获的时候同时只能捕获一颗卫星所以分配卫星之后需要等待结果之后才能再分配下一颗待捕获的卫星以免打断当前的。 这样下来如果频率搜索间隔是500Hz搜索范围±8k的话完成一轮搜索需要33次算上10ms累加最多330ms可以完成一颗卫星的搜索。验证结果修改了捕获策略之后串口打印出来的卫星号能跟手机上对上了。由于清明假期回家图后续补上。信号的确认这一步没有变化十次相关累加结果如果有8次大于阈值则认为信号有效否则关闭通道。需要注意的是由于捕获得到的是1个码片的结果可以在确认阶段调整半个码片。牵引和跟踪频率搜索范围是500Hz误差比较大需要锁频环调整到一个较小的范围内。可以选用一阶锁频环辅助二阶锁相环这样在牵引阶段锁频环发挥作用跟踪阶段锁相环发挥作用。当然也可以对环路系数做一些调整以提高精度。 环路结构如下图输入为频率误差和相位误差T为采样间隔也就是1ms。具体公式我懒得去敲回头有时间在搞。当然为了提高性能工程上通常采用二阶锁频环辅助三阶锁相环计算起来也略复杂一些。北斗信号的采集北斗B1I的频点为1561.098,MHz只需要的MAX2769的中心频率配置成1597即可这样得到的中频信号为4.098MHz滤波器就不用改了。寄存器配置如下case(addr)4d0:dout_reg{28hA2919B3,addr};//A3 :2.5M B3:4.2M4d1:dout_reg{28h0550288,addr};4d2:dout_reg{28hEAFF1DC,addr};4d3:dout_reg{28h9CC0008,addr};//PLL4d4:dout_reg{28h0C2A140,addr};//DIV4d5:dout_reg{28h8000070,addr};//FDIV 28hC5604704d6:dout_reg{28h8000000,addr};//STRM4d7:dout_reg{28h10061B2,addr};//CLK4d8:dout_reg{28h1E0F401,addr};4d9:dout_reg{28h14C0402,addr};endcaseMATLAB处理了一下信号似乎比GPS好得多居然捕获到十几颗卫星。图片回去再贴。总结先简单的记录一下过程等有空了再仔细整理一下。

更多文章