首页 > 编程语言 >基于matlab的GPS信号相关检测算法仿真

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

时间:2023-04-02 22:47:18浏览次数:47  
标签:仿真 捕获 算法 matlab 信号 freq 卫星 GPS

1.算法描述

       全球定位系统(Global Positioning System,GPS),是一种以人造地球卫星为基础的高精度无线电导航的定位系统,它在全球任何地方以及近地空间都能够提供准确的地理位置、车行速度及精确的时间信息。GPS自问世以来,就以其高精度、全天候、全球覆盖、方便灵活吸引了众多用户。GPS不仅是汽车的守护神,同时也是物流行业管理的智多星。随着物流业的快速发展,GPS有着举足轻重的作用,成为继汽车市场后的第二大主要消费群体。GPS是美国从20世纪70年代开始研制,历时20年,耗资200亿美元,于1994年全面建成,具有在海、陆、空进行全方位实时三维导航与定位功能的新一代卫星导航与定位系统。

 

 

 

 

       卫星信号的捕获算法是卫星定位接收机的关键,传统的捕获算法通常采用基于fft的相干积分和非相干积分相结合的方法,例如在使用gps信号进行定位和导航前首先需要对卫星信号进行捕获,gps卫星信号的传统捕获算法一般为频域并行捕获算法,频域并行捕获算法的原理框图如图3所示,频域并行捕获算法是一种基于fft的捕获算法,搜索覆盖全部搜索频点和全部伪码序列,对于正常功率的gps信号,通常只需要处理lms的导航数据,就能够完成gps信号的捕获,但是对于gps弱信号而言,通常处理lms的导航数据所获得的判决量并不可靠,难以实现捕获,此时就需要通过增加捕获算法所用的数据长度,采用相关积分和非相关积分相结合的方法,来提高捕获灵敏度,但同时导致fft相关运算的计算量将成倍增长,从而造成捕获速度降低。

 

为了跟踪和解码GPS信号,首先要捕获到GPS信号。将捕获到的GPS信号的必要参数立刻传递给跟踪过程,再通过跟踪过程便可得到卫星的导航电文。GPS卫星处于高速运动中,因此,其频率会产生多普勒频移。载波频率与C/A码的多普勒频移将在下面详细讲述。

 

       GPS卫星发送的信号一般由3个分量组成:载波、伪码和导航电文,其中伪码和导航电文采用BPSK技术去调制载波。

 

       为了跟踪和解码GPS信号,首先要捕获到GPS信号。将捕获到的GPS信号的数据传递给跟踪过程,再通过跟踪过程便可得到卫星的导航电文。传统的GPS捕获方法有:串行搜索捕获、滑动相关法、循环相关法、PMF算法。

 

       GPS卫星信号是发生在两个L波段频率的载波信号L1和L2,两个载波频率分别是L1的主频率fL1和L2的次频率fL2。在L波段进行调制可以避免拥挤,因为L波段的频率占据使用比率和其他波段相比要低一些,有助于全球性观测;L波段上更容易进行扩频(将低比特率的电文转换成高比特率的组合码,有利于卫星信号的保密性),发送宽带信号;L波段大气偏差和电离偏差小,接收设备可以更简单、更经济地接收和测量。每一颗卫星均有唯一的扩频码或伪随机序列,由此调制出载波频率。

         GPS卫星星座由24颗卫星组成,其中21颗为工作卫星,3颗为备用卫星。24颗卫星均匀分布在6个轨道平面上,即每个轨道面上有4颗卫星。卫星轨道面相对于地球赤道面的轨道倾角为55°,各轨道平面的升交点的赤经相差60° ,一个轨道平面上的卫星比西边相邻轨道平面上的相应卫星升交角距超前30°。这种布局的目的是保证在全球任何地点、任何时刻至少可以观测到4颗卫星。是由洛克菲尔国际公司空间部研制的,卫星重774kg,使用寿命为7年。卫星采用蜂窝结构,主体呈柱形,直径为1.5m。卫星两侧装有两块双叶对日定向太阳能电池帆板(BLOCK I),全长5.33m接受日光面积为7.2。对日定向系统控制两翼电池帆板旋转,使板面始终对准太阳,为卫星不断提供电力,并给三组15Ah镍镉电池充电,以保证卫星在地球阴影部分能正常工作。在星体底部装有12个单元的多波束定向天线,能发射张角大约为30度的两个L波段(19cm和24cm波)的信号。在星体的两端面上装有全向遥测遥控天线,用于与地面监控网的通信。此外卫星还装有姿态控制系统和轨道控制系统,以便使卫星保持在适当的高度和角度,准确对准卫星的可见地面。由GPS系统的工作原理可知,星载时钟的精确度越高,其定位精度也越高。早期试验型卫星采用由霍普金斯大学研制的石英振荡器,相对频率稳定度为/秒。误差为14m。1974年以后,GPS卫星采用铷原子钟,相对频率稳定度达到/秒,误差8m。1977年,BOKCK II型采用了马斯频率和时间系统公司研制的铯原子钟后相对稳定频率达到/秒,误差则降为2.9m。1981年,休斯公司研制的相对稳定频率为/秒的氢原子钟使BLOCK IIR型卫星误差仅为1m。

 

2.仿真效果预览

matlab2022a仿真结果如下:

 

 

 

 

 

 

3.MATLAB核心程序

 

[fdout, freq_axis]= fdcorr(rx_seg,prn_code,frange);
 
%find delay and frequency offset for SV26:
[temp1, temp2]=max(fdout);   %max in each col of fdout
[maxcorr,freq_index]=max(temp1);  
delay=temp2(freq_index)-1;
chip_delay=(delay)/2;   %in chips since sampled at chip2x
freq= freq_axis(freq_index);   % in radians/sample
freqHz= freq*fs/(2*pi); % in Hz
 
 
%run again without a return variable to plot result:
figure(1)
fdcorr(rx_seg,prn_code,frange);
 
%correct course frequency offset:
rotation=[1:length(rx_seg)]'*freq;
rx0= rx_seg.*exp(-j.*rotation);
%align code with signal
codeshift=circshift(prn_code,-delay);
%correlation at aligned frequency and delay:
svcorr= abs(rx0'*codeshift);
 
%plot aligned result:
 
figure(2)
fdcorr(rx0,codeshift,frange);

 

  

 

标签:仿真,捕获,算法,matlab,信号,freq,卫星,GPS
From: https://www.cnblogs.com/51matlab/p/17281622.html

相关文章

  • 基于matlab的CQMFB单带滤波器设计仿真
    1.算法描述QMF         在滤波器的某些附加条件下,与分析滤波器组和合成滤波器组相关联的变换是正交的。正态性意味着样品的能量在转换过程中保持不变。如果满足这些条件,滤波器具有以下显著特性:合成滤波器是分析滤波器的时间反转版本,高通滤波器是低通滤波器的调制版本,......
  • m基于最小生成树算法的无线传感器网络MCDS生成matlab仿真
    1.算法描述       一个有n个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有n个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出。图的所有生成树中具有边上的权值之和最小的树称为图的最小生成树(Minimu......
  • m基于WOA优化的SVM乳腺癌细胞和正常细胞分类识别算法matlab仿真,对比BP网络,SVM,PSO+S
    1.算法描述       SVM是有监督的学习模型,我们需要事先对数据打上分类标签,通过求解最大分类间隔来求解二分类问题。如果要求解多分类问题,可以将多个二分类器组合起来形成一个多分类器。        WOA算法设计的既精妙又富有特色,它源于对自然界中座头鲸群体狩猎行......
  • matlab神经网络训练函数和性能函数
    Theresponseisderivedfromwebsearchresults.Hereisatablethatsummarizessomeoftheadvantages,disadvantagesandapplicationsofdifferenttrainingfunctionsandperformancefunctionsforneuralnetworks.训练函数性能函数优点缺点应用场合......
  • Turtlebot机器人仿真实践
    使用catkin_create_pkg创建一个新的catkin程序包。换到之前创建的catkin工作空间中的src目录下,使用catkin_create_pkg命令来创建一个名为'myPKG'的新程序包,这个程序包依赖于std_msgs和roscpp环境配置在Ubuntu中的操作指令:$source/opt/ros/indigo/setup.bash。    ......
  • 蜂鸟E203 仿真之路
    本文记录自己在学习蜂鸟E203的过程。下面简单介绍一下仿真之路所遇到的困难和走过的坑。1、环境开发:一般选择ubuntu18.04这个版本,安装这个教程很多,可以自行学习。2、在Linux中安装工具:sudoapt-getinstallautoconfautomakeautotools-devcurldevice-tree-compilerlib......
  • ADS "is an instance of undefined model"仿真报错
    前情提要我遇到的问题如下所示:原理图上直接拖了工艺库里的东西来搭,之后报错如下。解决办法我内网外网搜了很多,都说要加一个include的控件。但是他们举的例子几乎都是同一个,而且我用的这个工艺库也没有很明显的带有include字样的元件,而我的工艺是老师发给我的,不是网上可以下载......
  • 下载并安装matlab2018
    欢迎来到我的友链小屋下载链接:链接:https://pan.baidu.com/s/1zo_8g0iqWxEwbNa9-FesFw 提取码:4r1w 百度网盘vip:在拼多多搜索百度网盘一天vip 安装流程:http://www.zhanshaoyi.com/8567.html......
  • MATH 455 matlab问题
    Spring2023,CMPSC/MATH455HomeworkAssignment#4ThehomeworkisdueApril3rd.Allquestionscarryequalweight.Pleasesubmitthecode(.mfiles)forproblems1and2onCanvas.1JoehaddecidedtobuystocksofaparticularlypromisingInternetcompany.......
  • 基于matlab的高精度信号峰值检测算法
    1.算法描述       峰值检验是示波表中数据采集方式之一,这种技术起源于存储深度不能满足捕获毛刺的需要。如果用模拟示波器去观察,只有当毛刺信号是重复性的并且和主信号同步时,才能看到毛刺信号。由于毛刺源于其他电路系统,所以这些毛刺只是偶尔发生,并且和主信号......