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

✅作者简介:热爱科研的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度转化为2pix=(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 endXk(:,i)=X_hat+[0;0;5.43];% Xk(i+1,:)=Xk(i,:)+((inv(H'*H))*H'*(Fd(:,i)-Fd0))';enddt=(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 onplot3(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)');

⛄ 运行结果

⛄ 参考文献

[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.元胞自动机交通流 人群疏散 病毒扩散 晶体生长

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值