基于MATLAB的GPS信号解调验证(3)

本文介绍了如何使用MATLAB进行GPS信号的解调,包括查找子帧、解码星历表、计算伪距观测量和通过最小二乘法求接收机位置等步骤。最终得出的解调结果显示在北纬40.008度,西经105.2627度,对应美国丹佛市,以及另一组数据对应意大利都灵。
摘要由CSDN通过智能技术生成

计算转换

postNavigation

通过load testfs38.mat, 加载前面的跟踪结果trackResults。

八 查找子帧   findPreambles 寻找遥测字和交接字

     需要navPartyChk 计算奇偶校验位

     需要trackResults的结果status/i_p/   

     通过前导字和子帧帧号找子帧

九 解码星历表 ephemerris  解码星历表和第一子帧的周内时

       需要生成5帧数据

       length(bits)=1500

      需要checkPhase  如果数据流中的相位反相,那么将相位翻转  需要invert

      需要twosComp2dec

     将从子帧1、2、3得到的星历转换成十进制格式

十 求伪距观测量 calculatePseudoranges

    跟踪变量、CA码起点和初值

十一 求卫星位置和卫星钟差 satpos

      求卫星参量、轨道变化、ECEF坐标

      需要check_t

十二 最小二乘法求位置  leastSqoarePos计算接收机位置

    卫星位置、钟差和伪距求位置和时钟误差。

     需要e_r_corr

     需要topocent、需要togeod

     需要tropo

计算的结果是北纬40.008度,西经105.2627度,对应科罗拉多州的丹佛市。

另一个数据计算出来的值为

对应为意大利的都灵

计算的数值结果如下:

</
firstSubframe  4524   4529   4525   4525   4530   4536  4536     4534
track.absoluteSample 51595  82671  150897  173491  217786  257353  272039  339747
travelTime 1.3509  2.1646  3.9510  4.5426  5.7024  6.7384  7.1229  8.8958
travelTime 69.1529 69.9666 71.7530 72.3446 73.5044  74.5404 74.9249  76.6978
pseudoranges 1.0e+007 *

2.0732 2.0975 2.1511  2.1688   2.2036  2.2347  2.2462  2.2993
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值