资源简介
卡尔曼滤波方法的GPS精密单点定位程序,包括各项改正
代码片段和文件信息
%定义计算相对应的卫星位置函数,根据卫星号,最小时刻差来匹配出导航文件中对应卫星所在历元num
function [x y z delt]=Getsatellite(yearmonthdayhourminutesecondprn)
global SD
global n
Time=hour*3600+minute*60+second;
for i=1:n %搜索某一历元下观测文件的卫星在导航文件中对应的卫星
if SD(i).prn==prn&&SD(i).year==year&& SD(i).month==month&& SD(i).day==day
num=i;
time=SD(i).hour*3600+SD(i).minute+SD(i).second;
dt=abs(time-Time); %某历元下观测文件中的时间与导航文件的时刻差
for j=i+1:n
time=SD(j).hour*3600+SD(j).minute*60+SD(j).second;
DT=abs(time-Time);
if SD(j).prn==prn&&SD(j).day==day&&DT num=j; %导航文件中j历元离观测文件的某历元时间更近,所以替换掉
dt=DT;
end
end
break %找到了导航文件中的历元号(num),退出循环
else
continue
end
end
%开始计算卫星位置,num为卫星此刻所在的历元号
%1计算卫星运行的平均角速度N
U=398600441800000;
n0=sqrt(U/SD(num).a^3);
N=n0+SD(num).deltaN;
%2计算规划时间tk
[tkdelt]=gettk(numTime);%调用gettk函数中计算出tk
%3计算观测时刻卫星平近点角Mk
Mk=SD(num).M0+N*tk;
%4计算偏近点角Ek
e=SD(num).e; %e 已经在此赋值了,下面就可一直用e表示了
Ek=Mk;
for i=1:2 %可能这边不太准确
Ek=Mk+e*sin(Ek);
end
%5计算真近点角Vk
% cvk=cos(Ek)-e;
% svk=sqrt(1-e^2)*sin(Ek);
% Vk=atan(svk/cvk);
% if cvk<0
% Vk=Vk+pi;
% else
% if svk<0
% Vk=Vk+pi*2;
% end
% end
Vk=atan2(sqrt(1-e^2)*sin(Ek)cos(Ek)-e);
%6计算升交距角Ukw为近地点角
Uk=Vk+SD(num).w;
%7计算摄动改正项
du=SD(num).cuc*cos(2*Uk)+SD(num).cus*sin(2*Uk);
dr=SD(num).crc*cos(2*Uk)+SD(num).crs*sin(2*Uk);
di=SD(num).cic*cos(2*Uk)+SD(num).cis*sin(2*Uk);
%8计算经过摄动改正的升交距角uk、卫星半径rk和轨道倾角ik
uk=Uk+du;
rk=SD(num).a*(1-e*cos(Ek))+dr; %rk为卫星矢径
ik=SD(num).i0+di+SD(num).idot*tk; %ik为轨道倾角
%9计算卫星在轨道平面坐标系的坐标
xk=rk*cos(uk);
yk=rk*sin(uk);
%10计算观测时刻升交点精度omg
We=0.0000729211567;
omg=SD(num).omg0+(SD(num).omgdot-We)*tk-We*SD(num).toe;
%11计算卫星在地心固定坐标系中的直角坐标系
x=xk*cos(omg)-yk*cos(ik)*sin(omg);
y=xk*sin(omg)+yk*cos(ik)*cos(omg);
z=yk*sin(ik);
return
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2332 2010-04-14 15:22 GPS 单点定位各项改正和卡尔曼滤波\Getsatellite.asv
文件 2361 2010-04-14 15:27 GPS 单点定位各项改正和卡尔曼滤波\Getsatellite.m
文件 703 2010-04-14 12:57 GPS 单点定位各项改正和卡尔曼滤波\gettk.asv
文件 539 2010-04-14 12:59 GPS 单点定位各项改正和卡尔曼滤波\gettk.m
文件 321 2010-04-11 14:28 GPS 单点定位各项改正和卡尔曼滤波\GetTs.m
文件 5426 2010-06-20 22:14 GPS 单点定位各项改正和卡尔曼滤波\read.asv
文件 5427 2010-06-20 22:14 GPS 单点定位各项改正和卡尔曼滤波\read.m
文件 2502 2010-06-20 20:59 GPS 单点定位各项改正和卡尔曼滤波\Read_N_Rinex.m
文件 101327 2009-10-04 13:12 GPS 单点定位各项改正和卡尔曼滤波\shao2010.09n
文件 3177412 2010-04-23 17:18 GPS 单点定位各项改正和卡尔曼滤波\shao2010.09o
文件 101910 2009-10-04 13:15 GPS 单点定位各项改正和卡尔曼滤波\shao2030.09n
文件 3193436 2009-10-09 21:12 GPS 单点定位各项改正和卡尔曼滤波\shao2030.09o
文件 804 2010-06-04 16:57 GPS 单点定位各项改正和卡尔曼滤波\tansformation.m
文件 6876 2010-06-20 22:15 GPS 单点定位各项改正和卡尔曼滤波\temp.txt
文件 153646 2010-05-29 16:34 GPS 单点定位各项改正和卡尔曼滤波\test1.09o
文件 432 2010-06-20 18:03 GPS 单点定位各项改正和卡尔曼滤波\XYZ2BLH.m
文件 251 2010-06-20 18:00 GPS 单点定位各项改正和卡尔曼滤波\XYZ2NEU.m
文件 155520 2010-05-29 20:44 GPS 单点定位各项改正和卡尔曼滤波\卡尔曼滤波后的坐标与真值偏差.txt
目录 0 2010-08-15 22:16 GPS 单点定位各项改正和卡尔曼滤波
----------- --------- ---------- ----- ----
6911225 19
- 上一篇:noise_estimate 非平稳噪声估计
- 下一篇:交流电机spwm调速
相关资源
-
扩展卡尔曼滤波SOC算法Simuli
nk模型 - 容积卡尔曼滤波
- 用α-β滤波器结合卡尔曼滤波器对相位
- 超宽带TOA定位卡尔曼滤波定位算法m
- 卡尔曼滤波组合导航程序
- matlab采用卡尔曼滤波法进行运动轨迹
- 卡尔曼滤波数据用于处理GPS信号
- 姿态确定的扩展卡尔曼滤波Matlab
- 永磁同步电机扩展卡尔曼滤波器.rar
- [网盘]卡尔曼滤波原理及应用MATLAB仿真
- 卡尔曼滤波原理及应用MATLAB仿真 pdf
- 卡尔曼滤波器MATLAB编程实现
- 在matlab中实现二维卡尔曼滤波
- 《卡尔曼滤波理论与实践matlab版的笔
- kalman_filter2 北航研究生课程卡尔曼滤
- 卡尔曼滤波目标轨迹跟踪预测 (kal
-
simuli
nk卡尔曼滤波模型 -
实用的卡尔曼滤波器的Simuli
nk仿真 - BP神经网络辅助组合导航卡尔曼滤波
- EKF算法扩展卡尔曼滤波
- GPS-PPP 精密单点定位的研究
- Kalman 用卡尔曼滤波跟踪目标实例
- PF-EKF 粒子滤波和扩展卡尔曼滤波的对
- 1111 卡尔曼滤波、无迹卡尔曼滤波、扩
- EKF 扩展卡尔曼滤波的基础代码
- Adaptive_Filtering
- gps_kalman GPS接收机中的卡尔曼滤波
- Fifth_degree_CKF 高阶容积卡尔曼滤波程序
- SCKF 基于matlab的平方根容积卡尔曼滤波
- matlab-kalamn
评论
共有 条评论