您现在的位置:首页 >> 通信 >> 内容

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

时间:2023/1/14 20:18:38 点击:

  核心提示:A235,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Y56Vmpxw

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览



3.算法概述

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

4.部分源码

.................................................................

[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);

A235

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168