代码中伪距的计算公式

代码中伪距公式:
pseudorange(svindex) = c * (bSec + diff_of_dat(svindex) * finefreq);
其中:bSec = 75*1e-3; % base second: the distance between sv and usr is between 67 to 86 sec.

sfb1 = for_prest.sfb1(prn); % unit: 20ms, the beginning of subframe 1
nav1 = for_prest.nav1(prn); % unit: ms, the first navigation data point
bca = TckResult(prn).codedelay(msIndex) -1; % unit: finefreq, beginning of the C/A code
% bca = TckResult(svindex) -1; % unit: finefreq, beginning of the C/A code
dat(svindex) = 20fsmssfb1 + fsmsnav1 + bca; % unit: finefreq.
%bca:跟踪结果得到一个伪码周期开头的位置(即有了接收信号开始到第一个伪码周期开头的时间)(单位是采样点数)
%nav1:一个比特是由20个伪码周期组成,nav1是从bca的位置(第一个伪码周期开始的位置)到第一个
%比特开始的位置,单位是伪码周期(即毫秒数)
%sfb1:是从nav1的位置到第一帧的位置,单位是比特数(即20ms).
%因此,从接收到信号到第一帧开始的位置的距离(采样点数)等于bca+nav1
1ms的采样点数+sfb120ms的采样点数
%%%%%%%%%%%%%%%%%%%%%%%%
diff_of_dat(svindex) = dat(svindex) - base;
pseudorange(svindex) = c * (bSec + diff_of_dat(svindex) * finefreq);
% diff_of_dat是采样点数,
finefreq转换成时间。

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值