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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算转换

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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值