基于凌华科技与System Generator的GPS快速捕获算法实现与验证:工控机的作用显现
作者:刘恩晓,通信技术研究所博士生,主要研究方向为卫星导航接收机及其抗干扰技术研究。
应用领域:导航接收机关键算法的硬件实现。
挑战:目前在GPS接收机中,对码的捕获一般有两种方法:串行搜索方法和并行搜索方法。串行搜索方法硬件实现简单,但其捕获时间较长,每更改一次本地码相位,就需要花费1ms,完成一个搜索约2min左右时间。导航接收机在很多应用领域要求高的数据更新率,这就要求捕获时间变得更短才行。目前GPS信号捕获电路的主要实现手段是通过使用DSP芯片,DSP可以通过C语言编写程序,属于软件工作,可以在较高的层次进行设计,为设计工作提供了方便。但是此种实现方法不利于知识产权的保护,也不利于生产专门的芯片。因此,本文采用FPGA来实现。而FPGA资源有限,如何通过复用来满足资源占用是一个关键问题。此外,导航信号强度远远低于噪声,接收SNR仅有-20dB,准确采集中频数据对算法的验证至关重要。
解决方案:重点研究了在SDR(Software Defined Radio)平台上实现频域捕获算法,基于SDR平台和FFT来实现并行快速捕获算法。本文使用Xilinx公司的系统级建模工具System Generator完成了对XCVFX60FF1152这款V4 系列FPGA芯片编程,并且利用时分复用技术,使整个设计方案只采用一个FFT核,同时节约了硬件资源。在系统设计调试阶段,我们使用ADLINK公司生产的一款数字化仪PCI-9846H进行卫星信号采集,然后将数据读取到Matlab下的Simulink环境中进行进一步处理,最终生成硬件描述语言下载到FPGA中。
引言
GPS接收机必须复现待捕获卫星所发射PN码,然后移动这个复现码以直至与卫星PN码发生相关为止。当输入代码相匹配,有最大的相关值;当输入代码相位偏移超过1个码片时,有最小相关。这就是GPS接收机二维信号复现过程,如图1所示,其中横坐标为码相位、纵坐标为多普勒频槽表示不同位置间隔搜寻模式。
图1 二维C/A码搜索图案
典型情况下每个增量搜寻以半个代码片为单位,每个频率分格大概Hz,在逗留时间越长时会使得频率分格越小。一个代码分格和多普勒分格合并成一个方格。在二维空间内完成自相关过程首先是希望卫星相位搜索,再调整发送器基波速率补偿视距动态引起之多普勒效应,从而追踪对应状态。一旦目标达到,其瞬时同步保持最大相关值即可成功跟踪目标。
为了避免失去对载波多普勒状态跟踪导致失去所有信息,因此首先要找到望向天体载波多普勒频率后再追踪其状态,以完成载波匹配过程。这涉及两个步骤,一是在距离域内检测是否存在希望天体信号(0),另是在加载域内检测是否存在该望向天体中的特定载波(0)。这些步骤通常称作“发现”或“探测”。
频道高速抓取策略
由于现代通信设备发展迅速,无线电导航、精密定位等都需要实时处理无线电信号,因此引入Fast Fourier Transform (FFT) 算法计算相关值,以缩短抓取时间。在每一单独頻帶同時計算出所有碼相位相關值,使得實時相關處理成为可能,並能有效縮短數據傳輸時間。此外,该策略还能够减少误差,并提高系統性能,使得它对于各种实际应用具有广泛适用性和潜力。