数字中频GPS信号的MATLAB仿真1杨勇,陈偲,王可东北京航空航天大学宇航学院,北京 (100083)E-mail:wangkd@摘要:文章以INS/GPS紧耦合为应用对象,在分析中频GPS信号结构的基础上,根据实际环境和载体运行状态,给出GPS信号延时、多普勒频移和钟差等参数,并应用中频信号解析表达式实现多颗卫星信号的合成。
最后,基于MATLAB语言进行了仿真计算,仿真结果表明信号符合实际情况,同时经过软件接收机的捕获、跟踪和解调计算,验证了信号的正确性。
关键词:GPS;高动态;紧耦合;中频;信号模拟器中图分类号:TP3911.引言随着固体弹道导弹射程的不断增加和打击精度的要求提高,纯惯性导航早已不能够满足要求。
全球定位系统(GPS)和惯性系统(INS)相结合是复合制导的重要发展方向之一,而对于GPS/INS组合导航来说,为了缩短研制周期,便于新信号开发及测试,软件信号模拟器和接收机的研究成为重要的研究方向之一。
GPS技术成长非常迅速,现在市场上的手持式GPS接收机已相当普遍,但是国内的自主知识产权的GPS技术产品的研发仍然比较薄弱,尤其是核心芯片的知识产权很少被国内所拥有。
国内的“北斗”、“GALILEO”导航定位都处在发展之中,信号模拟器的研究被越来越多的被重视。
信号模拟器具有成本低、可重复性好、数据完整等优点,不仅能用于组合导航技术研究,也能为新信号的验证研究提供支持,还可以为硬件接收机的接收性能测试提供有效的信号环境模拟。
GPS信号模拟器是软件无线电研究的一个方面,为处于设计阶段的GPS接收机提供仿真环境。
常见的GPS信号生成器产生的是射频信号,而目前接收机的设计重点侧重于基带信号处理,也就是本文中提到的数字中频GPS信号。
数字中频GPS信号模拟器目前主要是仿真载体运动、模拟时钟偏差、卫星星钟误差、电离层误差、对流层误差、多路经效应、天线的方向、弹体振动、以及云层、雷雨等实际环境对GPS信号的影响,并对接收机前端的下变频、滤波、采样和自动增益控制进行仿真,直到生成GPS接收机信号处理所需的数字信号。
目前,国外已成功地开发出多种信号模拟器[1];国内对高动态GPS信号的研究也比较深入,完成了星历的生成、动态信号的原理研究、误差建模和信号的仿真验证等研究工作 [2,3]。
但国内研究的重点集中在数字中频GPS信号的生成,即针对环境误差、载体运动以及卫星星历的仿真,从而通过接收机捕获、跟踪、解算获得所需要的载体位置。
国内大部分研究都成功仿真了GPS信号的功率谱,但是对于其信号真正用于导航解算的介绍不多,尤其是信号的实时性问题。
本文主要针对紧耦合导航中对GPS信号生成的要求,分析GPS信号的生成与应用问题,并结合中频GPS信号的解析表达式,通过解算GPS信号的延迟,基于MATLAB语言,对大机动条件下的GPS信号进行仿真,获得紧耦合导航所需中频信号。
1本课题得到高等学校博士学科点专项科研基金(项目编号:20070006006)的资助。
2.GPS 中频信号的MATLAB 实现2.1 GPS 中频信号GPS 信号为了避免受到干扰,采用高频信号作为载波,对伪随机码和数据码进行调制,本文仅考虑使用L1载波(1575.42MHz )的GPS 信号。
由于L1频率很高,直接进行数字仿真在计算速度和精度上都无法保证,所以,这里直接对信号的中频解析表达式进行仿真,如式(1)所示。
}IF tropo iono SV MP 1tropo iono SV MP IF IF 1tropo iono SV MP 0()()cos[()()()]Ni p i i p d L p S t T t t t t C t T t t t t t t t T t t t t δδδδδδδδωωωωδδδδϕ==−−−+−−−−+−+∆+−∆−+−−++∑(1)其中:r P 为信号功率,单位w ; ()i D 为数据码,频率50Hz ; ()i C 为伪随机码,频率1.023MHz ;IF ω为中频信号角频率,单位rad/s ; d ω为多普勒频移角频率,单位rad/s ; 1L ω为L1载波的角频率,单位rad/s ; 0ϕ为初始相位,单位rad ;t 为接收机时刻,单位s ;t ∆是t 的整毫秒的小数部分,单位s (例如t =105.1121ms,t ∆=0.1121ms ); p T 为从卫星发射到接收机接收的传输时间(不考虑误差),单位s ;tropo t δ为对流层延时,单位s ; iono t δ为电离层延时,单位s ; SV t δ为星钟误差,单位s ; MP t δ为多路径效应误差,单位s ;N 表示接收到的卫星数目。
为了获得所需的GPS 中频信号,同时简化问题,假设: (1)接收机钟差为零; (2)星钟误差SV 0t δ=; (3)多路径效应误差MP 0t δ=。
简化之后获得式(2):}IF tropo iono 1tropo iono IF IF 1tropo iono 0()()cos[()()()]Ni p i i p d L p S t T t t C t T t t t t t T t t δδδδωωωωδδϕ==−−−−−−+∆+−∆−+−+∑(2)根据式(2)可得到最基本的载波信号的关系。
在实际应用中,该式也能应用于其他简单模型。
例如考虑了星钟误差之后,可利用式(1)进行仿真;如果考虑因水面折射、建筑物反射等原因引起的多路径效应时,可用式(3)表示。
其中i α表示信号功率增益系数。
}{IF tropo iono 1tropo iono IF IF 1tropo iono 0tropo iono MP 1tropo iono MP IF IF ()()cos[()()()]()()cos[()()Ni p i i p d L p Ni p i i p d S t T t t C t T t t t t t T t t t T t t t C t T t t t t t t δδδδωωωωδδϕαδδδδδδωωω===−−−−−−+∆+−∆−+−++−−−−−−−−+∆+−∆∑∑}1tropo iono MP 0()]L p T t t t ωδδδϕ−+−++ (3)2.2 传输时间p T 计算给定任意接收时刻,都要能够计算出传输起始时刻,从而为位置计算提供基准,这是一个模拟现实的过程[7]。
本文采用迭代方法计算传输时间,更为简明实用。
首先,根据卫星星历和接收时刻计算出卫星在接收时刻的位置rec P ;然后,由rec P 和用户的接收时刻位置user P 计算出迭代初值p T ,见式(4),c 为光速。
rec user /p T P P c =− (4)最后,根据卫星星历和()p t T −计算出发送起始时刻的卫星位置trans P ,再带入(4)式代替rec P 计算p T ,直到p T 收敛到要求值。
3.接收机接收信号的形成在紧耦合导航中,为了防止失锁,由INS 对GPS 计算进行反馈,使得其能够跟踪迅速变化的频率(主要是多普勒频移变化),所以,在信号模拟中有必要对多普勒信号进行比较精细的控制:计算步长太大,使得伪距分辨率降低;计算步长太小,会使得计算变得比较繁琐,同时增大了计算量。
本文对四颗卫星信号进行仿真,采用了1ms 的计算步长,对每毫秒的数据进行计算,即每1ms 就要重新计算卫星、接收机和信道等参数,使得信号能够满足紧耦合导航的需要。
之所以选用1ms 的计算步长,是因为其精度基本满足要求,同时因为伪随机码的周期为1ms ,也便于计算。
选取1ms 作为计算步长,并不是所有时候都能够满足精度要求,文献[1]中要求的计算步长为10µs 。
不过,都以10µs 作为计算步长也不太合适,因为在载体运动机动性较低时,采用过小的计算步长没有必要,反而会大幅度最大计算量,此时,可以采用相对较大的计算步长。
在这里,可以使用一个选择判断,进行计算步长的自适应变化,如果机动性达到一定要求,就会采用更高精度的计算步长,否则,以一般步长进行计算。
例如选取0.05m/s 的伪距变化率精度,有式(5)所表示的关系。
step step step 100m/s t 1ms100m/s 1,000m/s t 100µs 1,000m/s 10,000m/st 10µsv v v ⎧<=⎪<<=⎨⎪<<=⎩径向径向径向 (5) 多颗卫星(本文中选取了四颗)经过叠加之后,再经过数字化和滤波,最后经过接收机的解调后,可以实现数据码的提取、C/A 码的捕获和跟踪,能够计算出正确的多普勒频移,从而为组合导航提供了可用的信号。
尤其对于紧耦合方案,提供了可用的高动态信号。
4.仿真4.1仿真流程在软件信号模拟方面,实时性 关系到系统的应用。
如果无法实时 完成信号的仿真,就不能使用转台 上的INS 系统,因为无法做到实时 修正GPS ,GPS 也无法实时修正 INS 。
这时,可以通过对INS 系统 进行仿真,使整个系统离线运行, 验证组合导航中的紧耦合方案的可 用性。
如果提高卫星、用户之间的 位置和伪距等模拟参数的计算,然 后对图1中的信号调制部分(阴影 模块)进行硬件化,或者采用效率 较高的C 代码来实现,这样就可能 满足实时性的要求。
因此,目前只完成了工作的第一 步:离线数据产生。
下一步工作重点 集中在实时化方面。
4.2 仿真界面为了实现可变参数的方便调节,以及 整个程序的可读性,建立了若干GUI 界 面,加强仿真处理的可视化、可交互性。
主界面如图2所示。
主要功能是设 定若干环境参数、仿真时间和选择误差类型等,并向用户提供仿真所处阶段,综合显示各仿真参数,绘制关键曲线。
图1 信号生成程序流程图Fig1 Graph of the signal generation4.3 仿真结果该仿真程序通过接收机载体的运行模块计算出来的接收机位置和速度,加上一定的选星原则,获得选星结果之后,将伪距、开普勒频移和各项误差计算出来之后,就可以进行调制得到最终的仿真信号结果。
如图3所示为仿真信号的一部分,其中:中频信号3.563MHz ,采样频率11.999MHz 。
由图3可知,仿真的信号与实际信号基本一致,其中(b)显示出GPS 信号的带宽约为2M (2×1.023M ),中频位于大约3.5M (3.563M )处。
另外,经过软件接收机的捕获、跟踪及解算,得到的多普勒频移、卫星星历与仿真参数完全一致,说明了信号的正确性。
(a )四颗卫星信号的时域图形(1ms 数据) (a ) Waves of the four satellites signal in timedomain(1ms)(b ) 四颗卫星信号的功率谱(1ms 数据) (b ) Power spectrum of the four satellites signal (1ms )图3 仿真信号 Fig3 Simulation signal图2 MATLAB 中的信号仿真交互主界面Fig2 Mainframe of the signal simulation using MATLAB经过GPS 软件接收机的捕获、跟踪等,依据所获得伪距、导航电文,解算出的导航误差如图4所示,获得的导航结果满足要求。