目录

1.算法概述

2.仿真效果预览

3.MATLAB部分代码预览

4.完整MATLAB程序


1.算法概述

GPS系统的星座部分是由21颗工作卫星和3颗在轨备用卫星组成,其高度为20183km,这24颗卫星均匀分布在6个等间隔的、相对轨道面倾角为55º的近圆轨道上。

GPS卫星的轨道周期为半个恒星日,即11小时58分钟。从地球质心到卫星的额定距离为26600km,即轨道半径。每颗GPS工作卫星都发射用于导航定位的信号,然后GPS用户利用这些信号来进行工作的。这样的空间布局,可以保证在地球上的任意点、任意时刻均可同时观测到至少4颗卫星,最多时可以见到11颗,从而为全球用户提供24小时的导航定位功能。

GPS卫星发送的信号一般由3个分量组成:载波信号、伪码和导航电文。其中伪码和导航电文采用BPSK技术去调制载波。每个卫星数据代码中使用模2加法叠加在C/A和P码上,再调制到L1、L2载波上。正如已经提到的,载波信号涵盖L1载波和L2载波,所以测距码信号包括叠加在L2载波上的P码和L1载波上的P码、C/A。所有信号都是通过同一个基本频率的控制下产生的,如图3所示。

从图3可知,L1载波调制有P码、C/A码和数据码。而在L2载波上当前只有数据码和调制P码。拟议中的L5载波(第二民用频率)将会选择同时加载P码和C/A码,预计它的频率将会达到f5=115*f0=1175.45MHz,波长为=25.48cm。无论数据码还是测距码,是通过相位调制高频载波。也就是说,当代码值(调制信号)从1到0,或从0到1,会使载波相位变化180度。调制以后的卫星信号向用户播放是通过卫星发射天线。接收机的主要工作是重建载波来提取导航电文。信号解调中常用的2种方法:平方解调技术和复制代码相关技术。

GPS卫星所发播的信号包括载波信号(L1和L2)、测距信号(包括C/A码和P码)和导航信号(或称D码元)。其中测距信号是一种伪随机噪声码(PRN) 。

GPS使用的两个L波段两种载频:

选择L波段的好处是:

(1)减少拥挤,防止“撞车“现象发生。目前L波段的频率占用率要低于其他波段,对全球性的导航定位测量非常有利。

(2)自适应扩频,传输宽带信号。卫星扩频传输卫星导航电文,高频率约为20兆赫兹,在占用率较低的带宽。

(3)大气衰减较小,对研制用户设备有利。GPS卫星采用的是L波段,避免了大气的谐振吸收,衰减较小,而且电离层延迟的影响小,有利于接收设备测量GPS信号。

而在接收端,其结构如图1所示,它是利用前段射频硬件的采集模板将 GPS信号采集转化成中频数字信号再进行后续信号处理,从而得到信号定位等相关信息。软件接收机的实现由前段射频模块的质量和性能去决定。

软件接收机主要是由两个模块组成:信号数据处理软件模块和前端信号采集硬件电路模块。软件模块细分为捕获与跟踪,星历解码与PVT估计。软件接收机系统的主线是GPS数据流的处理过程,前端以数据采集为主,在后端的设计集中于信号处理的软件编程与实现,因此,在可以采集准确的GPS数据的前提下,后端设计为软件接收机给予了很大的灵活性,为新算法的验证评估和测试提供一个有效的、便捷的服务平台。硬件模块细分则为天线,A/D转换模块,降频模块,数据采集存贮模块和串并行模块。

通常情况下,由于输入信号的C/A码的起始位置是未知的,所以在进行捕获之前,波形实现产生一个伪随机码,这里假设将接收到的模拟信号数字化为5000个点,然后与输入的信号在数字域进行相乘,将相乘得到的结果进行快速傅里叶变换,从而得到其频率。通过上一节的讨论,FFT之后的频率分量为前半部分的2500个频率分量,将输出的频率分量的幅度与设置的门限值进行比较,如果幅度值大于门限值,那么该频率分量就是所需要的期望值。通过这种算法,就能够得到之前所说的起始点位置。

2.仿真效果预览

matlab2022a仿真

3.MATLAB部分代码预览

.........................................................................
%% step2:CA码的产生
load gold1.mat;
code=double(code(1,:));
figure;
plot(code,'r-*');
axis([0,length(code),-1.2*max(code),1.2*max(code)]);
title('采样化后的 CA 码');
%相关性
Xcor_code = xcorr(code,code);
figure
plot(Xcor_code,'b-o');
axis([0,length(Xcor_code),0,1.2*max(Xcor_code)]);%% step3:GPS中频信号
load data.mat
x=double(data');
figure;
plot(x,'r-*');
axis([0,length(x),-1.2*max(x),1.2*max(x)]);
x2 = [x x x x x x x x x x];
%发送四段连续的信号;
LENS = length(x2);
s=0:LENS-1;
y=x2.*exp(j*2*pi*(fc+fdelta)/fs*s);y=awgn(y,snr);%% step4:GPS信号的捕获 分成4段捕获
CA_fre = conj(fft(code));
L2     = length(y)/N;y1 = y(1:11999);
y2 = y(12000:23998);
y3 = y(23999:35997);
y4 = y(35998:47996);
y5 = y(47997:59995);
y6 = y(59996:71994);
y7 = y(71995:83993);
y8 = y(83994:95992);
y9 = y(95993:107991);
y10= y(107992:119990);ys1 = y1+y2+y3+y4;
% ys2 = y1+y2+y3+y4+y5+y6+y7+y8+y9-y10;
% ys3 = y1+y2+y3+y4+y5+y6+y7+y8-y9-y10;
% ys4 = y1+y2+y3+y4+y5+y6+y7-y8-y9-y10;
% ys5 = y1+y2+y3+y4+y5+y6-y7-y8-y9-y10;
% ys6 = y1+y2+y3+y4+y5-y6-y7-y8-y9-y10;
% ys7 = y1+y2+y3+y4-y5-y6-y7-y8-y9-y10;
% ys8 = y1+y2+y3-y4-y5-y6-y7-y8-y9-y10;
% ys9 = y1+y2-y3-y4-y5-y6-y7-y8-y9-y10;
% ys10= y1-y2-y3-y4-y5-y6-y7-y8-y9-y10; for i=1:2*Nstep+1fc(i)       = 0.0005e6*(i-Nstep-1); %搜索频率    expfreq     = exp(j*2*pi*fc(i)*ts*nn);Data_sin    = imag(expfreq);      Data_cos    = real(expfreq);I           = Data_sin.*ys1;Q           = Data_cos.*ys1;IQfreq      = fft(I+j*Q);  convIQ      = IQfreq .* CA_fre;peaks(i,:)  = abs(ifft(convIQ)).^2;
end[value_peak codephases]=max(max(peaks));
[value_peak frequencys]=max(max(peaks'));
frequency = fc(frequencys);%中心频率;
codephaseChips = round(1023 - (codephases/11999)*1023);%CA码相位
frequency
codephaseChipsclose all;
figure
plot(peaks(frequencys,:),'r-*');
grid on
xlabel('频率');
ylabel('幅度');
%% step5:三围搜索结构
gold_rate = 1.023e6;
ts=1/fs;
tc=1/gold_rate;
b=[1:n];
c=ceil((ts*b)/tc);
01_036_m

4.完整MATLAB程序

matlab源码说明_我爱C编程的博客-CSDN博客

V

m低信噪比下GPS信号的捕获算法研究,使用matlab算法进行仿真相关推荐

  1. m低信噪比下GPS信号的捕获算法研究,分别使用matlab和FPGA对算法进行仿真和硬件实现

    目录 1.算法概述 2.仿真效果预览 3.MATLAB/FPGA部分代码预览 4.完整MATLAB/FPGA程序 1.算法概述 GPS卫星发送的信号一般由3个分量组成:载波.伪码和导航电文,其中伪码和 ...

  2. 【GPS识别】低信噪比环境下GPS信号识别的MATLAB仿真

    1.软件版本 MATLAB2021a 2.本算法理论知识 如图GPS系统的星座部分是由21颗工作卫星和3颗在轨备用卫星组成,其高度为20183km,这24颗卫星均匀分布在6个等间隔的.相对轨道面倾角为 ...

  3. gps 捕获 matlab,基于FFT的GPS信号快速捕获方法

    基于FFT的GPS信号快速捕获方法 李继忠 李巍 (北京遥感设备研究所,北京100039) 摘要:设计在高动态环境下工作的GPS接收机,其难点之一便在于对卫星伪码的快速捕获. 针对缩短GPS接收机捕获 ...

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

    1.软件版本 2.本算法理论知识 本课题的主要使用verilog实现GPS信号的捕获和跟踪过程.GPS的捕获和跟踪的现有资料非常多,总结来讲,其基本结构为下图所示: 捕获模块如下图所示: 跟踪环路如下 ...

  5. 【信号检测】基于matlab双稳随机共振微弱信号检测(低信噪比下)【含Matlab源码 2307期】

    ⛄一.双稳随机共振微弱信号检测 1 随机共振系统 随机共振理论最初是由Benzi等[3]人在解释地球远古气象中出现的冰期与暖气候期周期交替出现的现象所提出的.当淹没在强噪声背景下的微弱信号通过一个非线 ...

  6. Python下对信号的捕获以及优雅的处理

    代码中常常遇到暴力关闭程序或者当不得不重启系统时 导致当前运行状态无法保存,对于这种情况可以使用signal的信号机制来实现状态的可控制.加上任务队列等工具可以实现系统的解耦合.代码如下: impor ...

  7. GPS信号捕获的MATLAB_FPGA仿真

    由于C/A码长lms,所以至少要用lms的电文来捕获,但在实际中,1ms的电文仍有可能发生导航点相位偏移.因此,使用两组连续的10ms电文来捕获,就保证了在某一组电文中未含有相位偏移. 我们将一个信号 ...

  8. GPS信号捕获基本原理

    GPS卫星发送的信号一般由3个分量组成:载波.伪码和导航电文,其中伪码和导航电文采用BPSK技术去调制载波. GPS使用的两个L波段两种载频: 1 GPS搜索捕获原理 为了跟踪和解码GPS信号,首先要 ...

  9. 基于matlab的GPS信号相关检测算法仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 全球定位系统(Global Positioning System,GPS),是一种以人造地球卫星为基 ...

  10. GPS系统跟踪捕获算法的Verilog实现

    使用verilog实现GPS信号的捕获和跟踪过程.GPS的捕获和跟踪的现有资料非常多,总结来讲,其基本结构为下图所示: 捕获模块如下图所示: 跟踪环路如下图所示: 具体的一些论文的实现方法和上面的结构 ...

最新文章

  1. jenssen不等式的证明
  2. 2018年中国人工智能100强研究报告
  3. linux vg主备机同步,切换VG主备链路(简)
  4. JSONObject toJSONString错误
  5. 【云栖大会】探索云时代下的游戏开发模式
  6. c语言如何随机选择入口,c语言随机排列-----适用于初学者
  7. 坚持探索与落地并重,阿里巴巴云原生之路全景揭秘
  8. html表格中加横线,表格下划线怎么打出来
  9. 两台电脑怎么共享_怎么在电脑上创建共享文件(必须是在同一个网段)
  10. 在Linux下安装LaTeX+CJK+中文字体的方法 [转]
  11. 三轴合并_用两套乐高60107合并成铰接式云梯消防车,看看和60112有什么区别
  12. 思科模拟器交换机路由器常用命令
  13. 慧荣SM2258XT、SM2259XT量产工具开启“忽略区分等级”功能
  14. 计算机网络谢希仁第七版 第五章 答案
  15. 一份Python面试宝典
  16. Unity学习笔记-通过接入百度语音sdk实现语音唤醒功能
  17. 罗永浩和锤子手机:对不起,我被你打动了
  18. 介绍一个全局最优化的方法:随机游走算法(Random Walk)
  19. 企业邮件网关首选:TurboGate反垃圾邮件网关
  20. 解决CSS样式重复定义带来的冲突问题

热门文章

  1. hardfault常见原因_STM32如何查找hardfault原因
  2. 力扣刷题 DAY_82 贪心
  3. Java如何处理参数中带特殊符号的请求?
  4. python黑底白字的车牌_Python+OpenCV实现车牌字符分割和识别
  5. 网站移动端和pc端服务器是分开的,PC端和移动端选择哪种URL路径比较好
  6. 抖音上好看的小姐姐,Python给你都下载了
  7. ThoughtWorks史凯: 数字化转型不是技术变革,而是企业灵魂深处的自我革命
  8. 【YOLO】目标检测第三步——用Pascal voc 2012 数据集训练YOLO网络
  9. 应聘PHP有面试题吗,php应聘面试题
  10. CTGU实验6_2-创建还书存储过程