gps数据解析matlab代码(GPS卫星坐标计算matlab)[20240427更新]
admin 发布:2024-04-27 15:13 175
本篇文章给大家谈谈gps数据解析matlab代码,以及GPS卫星坐标计算matlab对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、GPS伪距测量定位方程如何结算用户位置
- 2、怎么在matlab处理gps的数据
- 3、如何用matlab批量算gps地点间的距离 代码
- 4、用matlab对GPS扩频码作频谱分析的疑问
- 5、gps信号和干扰的matlab仿真代码
GPS伪距测量定位方程如何结算用户位置
如图所示,至少需要4颗卫星的数据,知道这4颗卫星离目标点的距离数值,然后receiver表示用户手持GPS的位置;可得方程组:
以下是matlab代码解上述方程组:
clear all;
clc;
load 'D:\Desktop\local_1\local_Mat\location.txt';
c = 3*10^8;
pointAt = [0;0;0;0];
for u=1:6
lenAt = 1:8;
for k = 1:8
lenAt(k) = sqrt((location(k,2)-pointAt(1))^2 + (location(k,3)-pointAt(2))^2 + (location(k,4)-pointAt(3))^2 ) + c*pointAt(4);
end
lenAt = lenAt';
detlen = location(:,1) - lenAt;
A = zeros(8,4);
for k=1:8
A(k,1) = -(location(k,2)-pointAt(1))/(location(k,1)-c*pointAt(4));
A(k,2) = -(location(k,3)-pointAt(2))/(location(k,1)-c*pointAt(4));
A(k,3) = -(location(k,4)-pointAt(3))/(location(k,1)-c*pointAt(4));
A(k,4) = c;
end
detpoint = (A'*A)\A'*detlen;
pointAt = detpoint + pointAt;
% disp(pointAt);
end
disp('the ans is:');
disp(pointAt);
通过这个方法可以计算不止4颗卫星的数据的GPS位置,多余的几个数据可以减小GPS的测量误差。
怎么在matlab处理gps的数据
怎么在matlab处理gps的数据
你的问题可能是,已知x、y数值求y=f(x)的表达式。如是这样,可以Matlab的lsqcurvefit()函数或nlinfit()函数拟合y=f(x)函数的系数。
如何用matlab批量算gps地点间的距离 代码
如何用matlab批量算gps地点间的距离 代码
可以使用norm来做,比如:% By lyqmath
clc; clear all; close all;
p1 = [0 0];
p2 = [1 1];
norm(p1-p2)结果
ans = 1.4142 就是这两点的欧式距离,三维等情形类似处理。
用matlab对GPS扩频码作频谱分析的疑问
向下的气流沉默无阻
这种协调被称为手眼力,
因为手满足了
贪婪眼睛的任何欲
如果它想要某一点
在这儿,哈哈是微小的裂缝
只在圆木的一端可
gps信号和干扰的matlab仿真代码
x1=10.23;y1=6.24;z1=17.8; %假设的卫星位置参数
Code1=fGenerateNavigationData(x1,y1,z1);%产生导航电文,通过调用子函数fGenerateNavigationData实现
%将产生的Code1中的0找出转换为-1
index1=find(Code1==0);
Code1(index1)=-ones(1,length(index1));
SvNum=12; %设定卫星编号为12
Code2=zeros(1,1); %定义Code2的初值为0
Temp=fGenerateCAcode3(SvNum); %将编号为SvNum的卫星通过调用子函数fGenerateCAcode3生成C/A码
%将Temp中的0找出并转换为-1
index1=find(Temp==0);
Temp(index1)=-ones(1,length(index1));
Temp=[Temp Temp];
%生成Code2
for i=1:length(Code1)
Code2=[Code2 Code1(1,i)*Temp];
end
Code2=Code2(2:length(Code2));
%每位数据通过正弦波来调制
SinWave=sin([0:2*pi/8:2*pi*3/8]);
SinWave=single(SinWave);
GPSsignals=zeros(1,1);
SinWave=[SinWave SinWave];
for i=1:length(Code2)
GPSsignals=[GPSsignals Code2(1,i)*SinWave];
end
whos;
GPSsignals=GPSsignals(2:length(GPSsignals));
figure(2);
plot(GPSsignals);axis([100,4000,-1.5 1.5]);
figure(3);
plot(10*log10(abs(fft(GPSsignals))));
产生C/A码的方法
clc;
clear all;
%产生C/A码的方法一
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%%%
k1=2;k2=6;delay=5; %定义参数k1、k2以及延迟
Reg=-ones(1,10); %定义寄存器1~10的初始值都为-1
%通过循环产生长度为1024的MLS序列以及G2序列
for j=1:1023
MLS(j)=Reg(10); %将士0号寄存器的输出作为MLS输出
modulo=Reg(2)*Reg(3)*Reg(6)*Reg(8)*Reg(9)*Reg(10);
Reg(2:10)=Reg(1:9);
Reg(1)=modulo;
g2(j)=Reg(k1)*Reg(k2); %将参数k1和k2所代表的寄存器模2相加后作为G2输出
%g2即为输出
end
%将G2与MLS进行延迟检验
if MLS == g2([delay:1023 1:delay-1])
disp('OK') ;
else
disp('not match')
end
%在G2序列中找出-1并转换为0,找出1并转换为1
ind1=find(g2==1);
ind2=find(g2==1);
g2(ind1)=ones(1,length(ind1));
g2(ind2)=zeros(1,length(ind2));
temp=g2(1:120);
x(1)=0;
Show(1)=temp(1);
P=2;
%下面的循环是为了将结果显示成方波形式
for i=2:length(temp)
if temp(i)==temp(i-1)
x(P)=i-1;
Show(P)=temp(i-1);
x(P+1)=i-1+0.01;
Show(P+1)=temp(i);
P=P+2;
else
Show(P)=temp(i);
x(P)=i;
P=P+1;
end
end
%画出仿真结果图
plot(x,Show+1);
axis([0 length(x)-60 -0.1 1.1]);
grid on;
子程序:
%子函数fGenerateNavigationData
function y=fGenerateNavigationData(x1,y1,z1);
%将传进的参数转换为十六进制数
%x=x1;
%y=y1;
%z=z1;
x=10.23;
y=6.24;
z=17.8;
str1=num2hex(x);
str2=num2hex(y);
str3=num2hex(z);
Table1=[0 0 0 0;
0 0 0 1;
0 0 1 0;
0 0 1 1;
0 1 0 0;
0 1 0 1;
0 1 1 0;
0 1 1 1;
1 0 0 0;
1 0 0 1;
1 0 1 0;
1 0 1 1;
1 1 0 0;
1 1 0 1;
1 1 1 0;
1 1 1 1;];
TotalStr=[str1 str2 str3];
DataCode=zeros(1,1);
l=length(TotalStr);
%将TotalStr中的数转换为ASCⅡ码表中的数值
for i=1:l
temp=int8(TotalStr(i));
if (temp58)
temp=temp-96+10;
else
temp=temp-47;
end
DataCode=[DataCode Table1(temp,:)];
end
y=DataCode(2:length(DataCode));
figure(1);
subplot(2,1,1);
plot(y);axis([0 195 -0.5 1.5]);title('导航电文数据(0 1)');
%将产生的Code1中的0找出转换为-1
index1=find(y==0);
y(index1)=-ones(1,length(index1));
subplot(2,1,2);plot(y);axis([0 195 -1.5 1.5]);title('导航电文数据(-1 1)');
自己慢慢理解吧
pudn上面有相关资料可以下载,可以参考一下
gps数据解析matlab代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于GPS卫星坐标计算matlab、gps数据解析matlab代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-04软件公司代码管理软件(软件产品代码)[20240504更新]
- 05-04js提示气球代码(js提示气球代码不可用)[20240504更新]
- 05-04电商前台代码(电商前台代码是什么)[20240504更新]
- 05-04项目代码查询(建设项目代码查询)[20240504更新]
- 05-04用户注册关键代码(用户登录注册代码)[20240504更新]
- 05-04jq滑块验证代码(滑块验证怎么操作)[20240504更新]
- 05-03关于html5实例代码的信息[20240503更新]
- 05-03js广告代码对量(js底部悬浮广告代码)[20240503更新]
- 05-03禅道源代码与一键有什么区别(禅道开源版怎么样)[20240503更新]
- 05-03黄金矿工安桌源代码(黄金矿工编程代码)[20240503更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接