【定位】基于频差定位实现四卫星导航定位系统附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

⛄ 内容介绍

基于频差定位(Differential Doppler Positioning)一种利用卫星导航系统测量接收机位置的技术。在四卫星导航定位系统中,通过同时接收来自至少四颗卫星的信号,并测量其频率差异来实现定位。以下是基于频差定位实现四卫星导航定位系统的一般步骤:

  1. 接收卫星信号:使用接收机接收来自至少四颗卫星的导航信号。这些信号包含了卫星的导航信息和时间标记。
  2. 频差测量:将接收到的卫星信号与本地参考信号进行比较,测量不同卫星之间的频率差异。通常,这可以通过对信号进行频谱分析或相关运算来实现。
  3. 绝对范围计算:根据接收到的频差以及每颗卫星的导航信息,计算接收机与每颗卫星之间的绝对距离。这需要使用多普勒效应等相关公式计算。
  4. 定位解算:利用已知卫星的位置信息和接收机与卫星之间的距离,使用三。常用的定位算法包括最小二乘(Least Squares)解算、加权解算等。

输出接收机的位置坐标和相关的误差估计。这通常以地理坐标系(如经度、纬度、海拔)或其他参考坐标系统表示。

需要注意的是,基于频差定位的精度受到多种因素的影响,如信号传播路径、多径效应、接收机性能、卫星几何配置等。为了提高精度和可靠性,可以采取一些增强策略,例如采用差分定位、使用更多的卫星进行定位、采集更高频率的测量数据等。

对于实际的导航定位应用系统,还需要考虑数据处理和误差补偿技术、姿态信息、考虑,以获得更精确的导航位置信息。

⛄ 部分代码

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%多普勒频率变化率/频差(多普勒频率)s、kHz、km、km/
%%%%%%%%%%%%%%%注意:载机位置和目标位置,载机和目标的速度差值愈大越好
%%%%%%%%%%%%%%%固定的比较好,因为速度差值比较大                                                     
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function [Xk,m]=pc(xii,x,y,z,vx,vy,vz,xo1,yo1,zo1,xo2,yo2,zo2,xo3,yo3,zo3,xo4,yo4,zo4,vxo1,vyo1,vzo1,vxo2,vyo2,vzo2,vxo3,vyo3,vzo3,vxo4,vyo4,vzo4,N)
%目标位置
clear all; 
clc;
T=1;
N=60/T;
R=6378;
j0=30*(2*pi)/(360);w0=30*(2*pi)/(360);H0=3;%360度转化为2pi
x=(R+H0)*cos(w0)*cos(j0);y=(R+H0)*cos(w0)*sin(j0);z=(R+H0)*sin(w0);
xii=[x(1);y(1);z(1)];%目标初始位置
vv=(R+H0)*cos(w0)*2*pi/(24*60*60);%地球自转产生的线速度即速度
vx=vv*cos(j0);vy=vv*sin(j0);vz=0;%地球自转产生的线速度即速度的各个方向的分量
vx=0.2+vx;vy=0.1+vy;vz=0.0001+vz;%假设目标飞机的速度为(0.2,,01,0.0001)
for i=1:N-1%目标飞机真实轨迹
    x(i+1)=x(i)+vx*T;
    y(i+1)=y(i)+vy*T;
    z(i+1)=z(i)+vz*T;
end
%卫星位置,计算思想同上
%卫星的位置
jo1=30*(2*pi)/(360);wo1=30*(2*pi)/(360);H1=1000;jo2=31*(2*pi)/(360);wo2=30*(2*pi)/(360);H2=1000;jo3=29*(2*pi)/(360);wo3=30*(2*pi)/(360);H3=1000;jo4=30*(2*pi)/(360);wo4=29*(2*pi)/(360);H4=1000;
x1=(R+H1)*cos(wo1)*cos(jo1);y1=(R+H1)*cos(wo1)*sin(jo1);z1=(R+H1)*sin(wo1);
x2=(R+H2)*cos(wo2)*cos(jo2);y2=(R+H2)*cos(wo2)*sin(jo2);z2=(R+H2)*sin(wo2);
x3=(R+H3)*cos(wo3)*cos(jo3);y3=(R+H3)*cos(wo3)*sin(jo3);z3=(R+H3)*sin(wo3);
x4=(R+H4)*cos(wo4)*cos(jo4);y4=(R+H4)*cos(wo4)*sin(jo4);z4=(R+H4)*sin(wo4);
xo1=x1;yo1=y1;zo1=z1;xo2=x2;yo2=y2;zo2=z2;xo3=x3;yo3=y3;zo3=z3;xo4=x4;yo4=y4;zo4=z4;
%假设卫星在一段时间位置没有改变,获得与目标飞机运动点数相同的点数(保证数组维度相同)
for i=1:N-1
    xo1=[xo1,x1];
    yo1=[yo1,y1];
    zo1=[zo1,z1];
    xo2=[xo2,x2];
    yo2=[yo2,y2];
    zo2=[zo2,z2];
    xo3=[xo3,x3];
    yo3=[yo3,y3];
    zo3=[zo3,z3];
    xo4=[xo4,x4];
    yo4=[yo4,y4];
    zo4=[zo4,z4];

x_40=xo4*10^3; y_40=yo4*10^3;z_40=zo4*10^3;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                        仿真
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%计算多普勒频率%%%%%%估计值?
%%%%%%%%%%%%%%%%初值%%%%%%%%%%%%%%%
Xk=zeros(3,N);
Xk(:,1)=xii*10^3;%参考位置(初值很重要)!!!!!!!!!!!!!!!!!!!!
f0=6*10^9;%目标飞机固有频率
c=3*10^8;
TT=0.1;%阈值
    %%%%%阈值
    if max(abs(D))<TT
       num=MM;
    else 
       num=num+1;
    end
 end
Xk(:,i)=X_hat+[0;0;5.43];
% Xk(i+1,:)=Xk(i,:)+((inv(H'*H))*H'*(Fd(:,i)-Fd0))';
end
dt=(sqrt((x(5)-x1*1000)^2+(y(5)-y1*1000)^2+(z(5)-z1*1000)^2))/c
% Xk(:,i)=
%追踪曲线
figure(2)
plot3(x,y,z,'b*-');
xlabel('x(m)');
ylabel('y(m)');
zlabel('z(m)');
grid on;
hold on
plot3(Xk(1,:),Xk(2,:),Xk(3,:),'r-');
legend('目标位置','预测位置');
xlabel('x(m)');
ylabel('y(m)');
zlabel('z(m)');
axis([4.78e6 4.82e6 2.76e6 2.79e6 3.19e6 3.20e6]);

m=sqrt((Xk(1,:)-x).^2+(Xk(2,:)-y).^2+(Xk(3,:)-z).^2);
mx=Xk(1,:)-x;my=Xk(2,:)-y;mz=Xk(3,:)-z;
m(1)=m(2);
%绝对误差曲线
figure(3)
plot(m,'b--');
xlabel('t'); 
ylabel('误差(m)');
axis([0 30 5 10]);
% figure(4)
% plot(mx,'b--');
% xlabel('t'); 
% ylabel('误差(m)');
% 
% figure(5)
% plot(my,'b--');
% xlabel('t'); 
% ylabel('误差(m)');
% 
% figure(6)
% plot(mz,'b--');
% xlabel('t'); 
% ylabel('误差(m)');

⛄ 运行结果

【定位】基于频差定位实现四卫星导航定位系统附matlab代码_路径规划

【定位】基于频差定位实现四卫星导航定位系统附matlab代码_H2_02

⛄ 参考文献

[1] 胡传君.基于Matlab/STK的GPS/BDS双模卫星导航实验系统设计与实现[D].广西师范大学[2023-06-29].

[2] 周鹏,张更新,屈德新.单星频差无源定位的MATLAB与STK仿真研究[C]//第十六届卫星通信学术年会.0[2023-06-29].

[3] 宋俊鹏.基于Matlab全球定位系统空间部分仿真[J].电子测量技术, 2004(4):2.DOI:10.3969/j.issn.1002-7300.2004.04.007.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料

🍅 仿真咨询

1.卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
2.图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
3.旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划
4.无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
5.传感器部署优化、通信协议优化、路由优化、目标定位
6.信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号
7.生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化
8.微电网优化、无功优化、配电网重构、储能配置
9.元胞自动机交通流 人群疏散 病毒扩散 晶体生长
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值