资源简介
主要利用卫星,即GPS来计算用户位置,是利用matlab来编程的
代码片段和文件信息
%模拟运动的卫星
function moni
clear;clc;close all;
DtoR=2*pi/360;
JiaoStep=360/24*DtoR;
for time=0:11
figure(time+1);
a=26560;%卫星轨道的长半轴
e=0.02;
E=[0:0.1:2*pi];
x=a*cos(E);
y=a*sqrt((1-e^2))*sin(E);
z=0*E;
DrawEarth(time);
hold on;
A1=[32.8 92.8 152.8 212.6 272.8 332.8];
for k=1:6
A=A1(k)*DtoR;
B=55*DtoR;
C=pi/100;
R3=[cos(A) -sin(A) 0;
sin(A) cos(A) 0;
0 0 1];
R1=[1 0 0 ;
0 cos(B) -sin(B);
0 sin(B) cos(B)];
R2=[cos(C) -sin(C) 0;
sin(C) cos(C) 0;
0 0 1];
L1=length(E);
R312=R3*R1*R2;
Ans=R312*[x;y;z;];
x1=Ans(1:);
y1=Ans(2:);
z1=Ans(3:);
plot3c(x1y1z1k);
hold on;
axis equal;
axis off;
grid on;
end
Ctable=[10 50 160 260;
80 180 220 320;
10 130 250 340;
50 150 170 300;
100 210 310 340;
140 150 240 350;];
Wx=ones(11); Wy=ones(11);Wz=ones(11);
for k=1:6
A=A1(k)*DtoR;
B=55*DtoR;
for m=1:4
C=Ctable(km)*DtoR+JiaoStep*time;%近地点幅角
x=a*cos(C);
y=a*sqrt((1-e^2))*sin(C);
z=0*C;
R3=[cos(A) -sin(A) 0;
sin(A) cos(A) 0;
0 0 1];
R1=[1 0 0 ;
0 cos(B) -sin(B);
0 sin(B) cos(B)];
R2=[cos(C) -sin(C) 0;
sin(C) cos(C) 0;
0 0 1];
L1=length(E);
R312=R3*R1*R2;
Ans=R312*[x;y;z;];
Wx=[Wx Ans(1:)];
Wy=[Wy Ans(2:)];
Wz=[Wz Ans(3:)];
x1=Ans(1:);
y1=Ans(2:);
z1=Ans(3:);
DrawSatellite(x1y1z1k);
hold on;
end
end
drawnow;%刷新屏幕
M(time+1)=getframe;
end
figure(111);
axis equal;
axis off;
movie(M122);%播放12次影像动画,每秒显示两帧
DrawSatelliteOribt
%真近点角、平近点角与偏近点角的关系
function relation
DToR=2*pi/360;
Ms=0:1:359;
es=0.01;
Ms=DToR*Ms;
Es=zeros(1360);
for i=1:360
dEs=1;
TempMs=Ms(i);
TempEs=TempMs;
while (abs(dEs)>0.0001)
TempEsNext=TempMs+es*sin(TempEs);
dEs=TempEs-TempEsNext;
TempEs=TempEsNext;
end
Es(i)=TempEs;
end
Fs=zeros(1360);
v1=sqrt((1+es)/(1-es));
for i=1:360
v2=v1*tan(Es(i)/2);
Fs(i)=mod((2*atan(v2)+2*pi)2*pi);
end
Es=Es/DToR;
Ms=Ms/DToR;
Fs=Fs/DToR;
disp(Es);
disp(Ms);
disp(Fs);
%模拟用户可见卫星
function visitable
clear;clc;close all;
a=26560;%卫星轨道的长半轴
e=0.02;
E=[0:0.1:2*pi];
x=a*(cos(E)-e);
y=a*sqrt((1-e^2))*sin(E);
z=0*E;
TimeNow=0;
global SatellitePosition %定义全局变量
SatellitePosition=ones(244);
figure(1);
DrawEarth(0);
hold on;
DtoR=2*pi/360;
A1=[32.8 92.8 152.8 212.6 272.8 332.8];
DrawSatelliteOribt;
Ctable=[10 50 160 260;
80 180 220 320;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9514 2012-03-28 22:49 gps.m
相关资源
- 精密单点定位的Matlab code
- 基于GPS_IMU组合定位的kalman滤波
- GPSC/A码程序
- GPS信号产生及捕获
- 论文研究-GPS系统C/A码的产生与捕获算
- GPS接受机中的卡尔曼滤波MATLAB代码
- GPS信号产生、捕获、追踪全套程序
- INS/GPS组合导航MATLAB处理库
- INS+GPS组合导航matlab程序
- gps捕获程序
- 基于matlab的GPS数据读取
- 生成GPS信号
- 基于matlab读取GPS中GPGGA信息(包含经纬
- GPS_INS位置组合Matlab仿真源码
- GPS中CA码产生方法
- GPS周跳检测程序
- 基于MATLAB的GPS网平差
- GPS卫星坐标计算的简单matlab程序自己
- 基线解算的matlab源码
- matlab编写的GPS和惯导的组合程序
- gps最小二乘定位
- MATLAB实现GPS单点定位
- GPS抗干扰天线仿真
- GPS精密单点定位
- gps信号生成
- Matlab analyse traffic jam status 根据深圳市
- 《gps基本原理及其matlab仿真》程序源
- 高动态 GPS 自适应抗干扰算法研究
- 卡尔曼滤波数据用于处理GPS信号
- matlab读取GPS的o文件
评论
共有 条评论