单频实时GPS软件接收机导航解算的C++实现
1 引言
GPS是目前最先进、应用最广的卫星导航定位系统,具有全球性、全天候、高精度、三维定位等优点,可用于导航、精密定位、测速、授时等,是世界上发展最快的三大信息产业之一。目前,我国已成为GPS导航应用大国,但在技术水平以及成熟度方面,仍处于初级发展阶段,自主知识产权GPS接收机产品的研发任务显得尤为迫切[1]。
近年来,软件接收机正在成为GPS接收机活跃的技术发展方向。其融入了“软件无线电(soft-ware radio)”的概念[2]:在接收机中除保留最基本的硬件外,其余部件尽可能采用软件通过高性能计算机实现,以获得系统最大的灵活性和可扩展性[3]。
GPS软件接收机的导航解算以距离作为基本观测量,通过空间三球交于一点(3R定位法)来确定未知点在空间的位置。一般有两种方法,一种是伪随机码定位,一种是载波相位定位。
伪随机码定位,是利用卫星发播的测距码信号(C/A码或P码)与接收机产生的复制码(本地信号)进行相关运算,通过测量相关函数最大值的位置,来测定卫星信号传播时间,从而测定卫星至接收机的距离。伪随机码测距具有抗干扰能力强、保密性能好、所需信号功率小、无模糊度等优点。
载波相位定位,是测定GPS载波信号在传播路程上的相位变化值,以确定传播的距离。由于载波频率高,波长短,载波相位测量的精度可以达到很高。但载波信号是一种周期性的正弦信号,只能测定相位不足一个波长的部分,存在整周不确定性问题[4]。另外,由于接收机故障和外界干扰等因素,经常会引起跟踪的暂时中断,导致不能连续跟踪载波而产生周跳问题。
由于整周不确定性和周跳会使数据处理变得复杂,并直接影响到测量的精度,载波相位定位并不适合扩展性强,通用性高的软件接收机使用。因此,本文选择了伪随机码定位这个方法。
本文实现了GPS软件接收机导航解算部分在C++中的编译仿真并与MATLAB中的结果进行了比较分析。在此基础上,基于中频采样器GPS210A的前端进行了验证。
2 伪随机码定位原理
为了测量码信号的时间延迟,需要在接收机内复制与测距码结构完全相同的码信号,并通过接收机的时间延迟器进行相移,来进行相关处理。在卫星钟与接收机钟完全同步的情况下,忽略大气对无线电信号折射的影响,所得到的时间延迟量乘以光速即为所测卫星至接收机之间的几何距离。
GPS的卫星钟和接收机时钟与原子时均不同步,在GPS标准时t时刻,由卫星钟控制的伪随机码S(t+Δts)经延迟τ到达接收机,接收的卫星信号为S(t+Δts-τ)。由本地码发生器产生本地码S(t+Δtr),经码移位电路延迟τ′得S(t+Δts-τ′),
相关文章
- 2022-05-09GPRS技术在配电自动化中的应用设计
- 2024-06-2660K单级高频同轴脉冲管制冷机性能研究
- 2023-10-20相位偏移干涉测量波面的一种新算法
- 2024-09-11等温淬火对连铸球铁型材组织和硬度的影响
- 2018-12-03试验用流速测试技术的新发展
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。