GPS仿真基于matlab GPS信号捕获跟踪含Matlab源码 2126期

Posted 海神之光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GPS仿真基于matlab GPS信号捕获跟踪含Matlab源码 2126期相关的知识,希望对你有一定的参考价值。

一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【GPS仿真】基于matlab GPS信号捕获跟踪【含Matlab源码 2126期】
点击上面蓝色字体,直接付费下载,即可。

获取代码方式2:
付费专栏信号处理(Matlab)

备注:
点击上面蓝色字体付费专栏图像处理(Matlab),扫描上面二维码,付费299.9元订阅海神之光博客付费专栏,凭支付凭证,私信博主,可免费获得5份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:5份本博客上传CSDN资源代码

二、GPS信号捕获跟踪定位简介

1 GPS信号结构
GPS卫星发送的信号主要由载波信号、扩频序列及导航数据三个方面构成, 其中载波信号是GPS信号传输的两个载波, 由于卫星与接收机处于相对关系, 接收机接收到到的信号会受到多普勒效应的影响, 根据多普勒频移能够确定接收设备三维运动速度, 以此来提高测距精度。扩频序列是伪随机码, 在此作用下, 数据能够拓展导航数据信号频谱, 以此来提高对信号的抗干扰性, 实现对物体的准确定位。

2 GPS卫星信号捕获算法分析
2.1 GPS卫星信号串行捕获

在本文设计中, 应用的捕获方式是CDMA系统中常见的捕获算法, 如图1。主要是建立在接收信号基础之上, 与本地产生伪码序列及本地载波之间的乘积。第一, 接收信号与本地产生伪码序列相乘, 形成之路信号, 然后与本地载波正交形成正交信号, 当两路信号相互交叉后, 能够完成跟踪目标。

对于伪码序列来说, 所有伪码的产生都进行了预先处理, 缺少即时性。首先利用C/A码产生器, 能够形成32个码, 然后将输入信号与所有可能经过码偏移C/A码相乘。

针对载波的形成, 作为捕获的第二步, 载波发生器需要产生相位差为90°两路载波信号, 即余弦与正弦两个信号。串行搜索最后一部分是余弦与正弦信号分别相乘, 并进行积分与平方处理后得出结论。如果本地与接收信号的伪码能够完全吻合, 那么获得的输出值较大。串行搜索捕获算法实现起来更为简单, 但是搜索范围过大, 且需要更多的时间, 无法实现对高动态目标的定位, 仅适用于低速、定位时间要求不高的接收机。而并行频率空间搜索算法, 只需要对C/A码移位即可, 能够在很大程度上缩短捕获时间。相比较来看, 两种算法都能够增加新的运算模块, 主要是在执行中需要重复多次利用原有模块, 且搜索范围较小, 捕获需要的时间更短。

2.2 分段FFT脉冲信号捕获算法
该算法核心思想, 是按照一定长度, 将若干毫秒输入信号进行分段处理, 捕获连续信号, 将各段结果以时间顺序进行排列, 最后得出具体的结果。在具体操作中, 可以从如下几个步骤进行:

(1) 将输入信号划分为10段, 采用点数补零至2n, 进行FFT运算。

(2) 对本地信号补零处理后进行FFT运算, 得出完整的结果。

(3) 将前两个数值进行相乘。

(4) 确定峰值位置后, 计算出两帧跳时数。

按照上述步骤能够找到三个明显的峰值, 可以将其作为码相位捕获结果。。另外, 观察仿真结果来看, 信噪比下降后, 信号只能够在分段1中检测到脉冲, 对应的峰均比为7.9475, 而处于第6、7段之间信号脉冲产生截断现象, 造成相关值有所下降, 并受到噪声干扰, 无法更加全面的呈现出来, 故无法监测到具体的数值, 且无法对其进行修复处理, 造成捕获失败。可见, 如果脉冲截断造成相关值损失, 该方法仅能够在低信噪比条件下极易出现捕获失败的情况, 无法对被测物体位置、速度等进行准确定位。

2.3 二次精频捕获算法
通过算法过程, 能够检测到信号有关峰值, 获得载波频率估计值。由于捕获算法频率分辨率与数据长度存在密切联系, 由1ms数据, 对应的频率分辨率约为1KHz, 对于后续跟踪环路而言过于粗糙。对此, 为了减少闭环时间, 我们需要对频率进行详细地估计。

根据FFT运算特点来看, 输入的数据填零后, 虽然无法提高分辨率, 且难以区分详细的频率信号, 但可以通过此找到单一信号。故直接采用较长数据后运用FFT计算并不恰当。为了减少FFT运算量, 可以利用相位关系算法, 完成二次精频捕获, 获取连续信号。将信号作为基础, 对其进行DFT运算, 求得最高频率分量。根据这一算法, 能够计算得出连续多个相位差值, 对所得相位差求平均值, 以此来提高频率准确性和可靠性。

图1:GPS卫星捕获算法

三、部分源代码

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%程序的主要部分,组装了不同的Matlab函数
clc
format long e
clear
close all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%初始常数
C=299792458;
F=-4.442807633*10^(-10);
T_amb=20;
P_amb=101;
P_vap=.86;
color=[‘r’,‘b’,‘c’,‘g’,‘k’,‘m’];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%加载数据和定义
load project_data.mat
GPS_Time=iono(1);Alpha=iono(2:5);
Beta=iono(6:9);
af=[eph(21,:);eph(20,:);eph(19,:)]';

Toc=[eph(18,:)];
Ttr=GPS_Time-pr./C;

ec=[eph(5,:)];
A=[eph(7,:)].^2;
Tgd=[eph(17,:)];

Rho_0=pr;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%计算卫星位置和修正轨道值
[Pos_xyz_Mat,Orbit_parameter]=SV_Ephemeris_Model(iono(1,1),eph);
Pos_SV=Pos_xyz_Mat;
E=Orbit_parameter(2,:);
A=Orbit_parameter(9,:);
Ec=Orbit_parameter(10,:);
Inc=Orbit_parameter(7,:);
Omega=Orbit_parameter(8,:);
v=Orbit_parameter(3,:);
Dim=size(Pos_SV);
n=Dim(1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%绘制几何图形%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
plot_Orbit(Orbit_parameter,color)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%初始 GPS 位置
Xu=0;Yu=0;Zu=0;Pos_Rcv=[Xu Yu Zu];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%开始迭代
%初始化参数
Iter=1;
Pos_Rcv_NIter=[Pos_Rcv];
%收敛约束
B1=1;
END_LOOP=100;

四、运行结果





五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]刘紫薇.GPS卫星信号的捕获算法[J].电子技术与软件工程. 2017,(12)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

以上是关于GPS仿真基于matlab GPS信号捕获跟踪含Matlab源码 2126期的主要内容,如果未能解决你的问题,请参考以下文章

GPS仿真基于matlab GPS信号捕获跟踪定位仿真含Matlab源码 1960期

GPS载波同步基于MATLAB的GPS载波同步仿真

GPS信号跟踪捕获基于FPGA的GPS系统跟踪捕获算法的Verilog实现

VDLL矢量型GPS信号跟踪算法,矢量延迟锁定环的matlab仿真

运动学基于matlab GPS卫星仿真含Matlab源码 1094期

雷达通信基于matlab联邦滤波算法惯性+GPS+地磁组合导航仿真含Matlab源码 1276期