GPS信号捕获【时间-频率空间搜索方法】

GNSS接收机(2) 捕获的载波频率和伪码相位只是粗略估计值,由于卫星在轨道上是持续运动的,而地面接收机大多数情况下也处于运动状态,使得卫星和接收终端之间的相对速度也一直在变化,加上本地时钟发生的时钟漂移和随机误差,使得接收终端接收到的卫星信号的载波频率和码相位也一直在抖动,这些原因都使得捕获到的载波频率和伪码相位不能直接用于导航电文的解调算法模块处理,需要在跟踪环节得到稳定的,精度更高的载波频率和码相位值,才能进一步完成导航电文的解调等后续处理。得到实际接收到的信号的码相位和多普勒频移的粗略值,将本地中频频率。 阅读详情

GPS信号捕获 【时间-频率空间搜索方法】

之前的文章介绍了GPS信号C/A码的生成方法,本文介绍实现GPS定位中的一个重要过程——信号捕获(GPS signal acquisition)。

简介

GPS信号的捕获过程主要是通过接收机接收卫星发射的信号,与本地生成的伪随机码 (replica signal) 进行相关操作来完成的。具体步骤包括:
(1)捕获目标:确定信号的存在,并粗略估计信号的多普勒频移 (Doppler shift) 和码延迟 (code delay),为后续的信号跟踪阶段提供初始参数。
(2)多普勒频移和码延迟搜索:通过改变本地复制信号的频率和码相位,与接收到的信号进行相关计算,寻找相关峰值。相关峰值表明找到了可能的多普勒频移和码延迟。
(3)相关计算:GPS信号捕获阶段的核心,基于如下公式:
在这里插入图片描述
补充:GPS信号捕获的基础是GPS信号的特质。具体而言,GPS的C/A 码的彼此之间的几乎没有互相关,只有自己本身和自己只有在没有延迟的情况下,自相关函数才会有极值。

时间-频率空间搜索

本文介绍GPS信号捕获的经典方法,时间-频率空间搜索(Time-Frequency Space Search),使用直接搜索算法(Serial Search)。具体来说,直接搜索法通过调整本地生成的伪随机码的相位和载波频率,逐点或并行地计算相关值,并寻找最优匹配。这种方法最为简单和容易理解,但是计算比较费时。
步骤可以简单分为:
(1)接收来自GPS卫星的信号。
(2)本地生成伪随机码和载波信号(Replica signal)。
(3)设置搜索范围。这里需要设置多普勒频移和码延迟两个参数。多普勒频移范围:由于卫星和接收机的相对运动,多普勒频移通常在 ±10kHz 之间,按固定步长(如 500 Hz或250Hz)划分搜索点。码延迟范围:根据伪随机码周期划分,步长通常为一个码周期的采样间隔,可以设置为0.5 chip。
(4)计算相关值。由接收机先产生特定卫星的伪随机噪声序列和本身的振荡器产生载波信号,所产生的码相位范围是从0~1022,输入的信号在与伪随机噪声(PRN)序列相乘后,再跟载波信号相乘,此处的载波信号分为两个,一个是振荡器所产生的载波信号,另一个则是产生的载波信号加上一个90°的相位差。简言之,就是得到同相信号(In-phase)和正交信号(Quadrature),最后再平方相加得到信号的能量(I^2 + Q^2)。算法流程可参考下图:
在这里插入图片描述
(5)寻找峰值。寻找相关值的峰值,若所得到的能量超过所设定的标准,则认为捕获到了需要找的多普勒频移和码延迟。
核心代码流程如下:

for sv = 1:32
    % generate C/A code
    ca_code = ShiftedSampledCA(sv, 1 / sampling_rate, 0.5); % raw code
    samples_per_chip = sampling_rate / ca_rate;
    current_corr_power=zeros(length(code_delay_range), length(doppler_range));
    for code_idx = 1:length(code_delay_range)
        % code delay
        code_delay=code_delay_range(code_idx);
        shifted_code = circshift(ca_code, round(code_delay * samples_per_chip));
        
        for doppler_idx = 1:length(doppler_range)
            f_D = doppler_range(doppler_idx);
            f_NCO = f_IF + f_D;

            % generate sine and cosine waves
            t = (0:num_samples-1) / sampling_rate;
            sin_wave = sin(2 * pi * f_NCO * t);
            cos_wave = cos(2 * pi * f_NCO * t);

            % compute components I and Q 
            I_t = incoming_1ms_IF .* cos_wave;
            Q_t = incoming_1ms_IF .* sin_wave;

            % compute sum of squarred
            I_corr = sum(shifted_code.*I_t ); 
            Q_corr = sum(shifted_code.*Q_t  ); 
            corr_power = I_corr^2 + Q_corr^2;
            current_corr_power(code_idx,doppler_idx)=corr_power;
            search_result(sv,code_idx,doppler_idx)=corr_power;
        end
    end
end

详细的小项目可以参考链接。这是有课程作业改编的GPS信号捕获方法。

【GPS仿真】matlab实现GPS信号产生、捕获跟踪、比特同步、帧同步仿真研究 全球定位系统(GPS)作为目前全球范围内广泛应用的导航定位系统,其信号的产生、捕获、跟踪、比特同步、帧同步及数据解码过程对于实现高精度定位至关重要。本文详细阐述了GPS信号的产生原理,并通过Matlab仿真,深入探讨了GPS接收机的捕获、跟踪、比特同步和帧同步过程。同时,本文还提供了相应的Matlab源码及运行步骤,展示了仿真结果,验证了仿真方法的有效性。 阅读详情

相关推荐

GPS接收机学习小记(一)

多普勒对接收机的影响 在GPS中,发射机相对接收机运动在L1频段产生的多普勒频移,影响其GPS信号的捕获跟踪,静止为±5KHZ,动态最高为±10KHZ。由于C/A码率低,多普勒频移很小,对于静止和告诉接收机的C/A码多普勒频移分别为3.2HZ和6.4HZ。 -<软件定义的GPS和伽利略接收机> ...

LWN7321的博客 1806

GPS信号的捕获(PMF+FFT方法)

基于PMF+FFT的GPS信号捕获,matlab仿真

qq_32461895的博客 1万+

GPS信号捕获基本原理及Matlab实现

然后生成了参考信号和接收信号,接收信号包含了载波频率偏移和码偏移。接下来进行载波频率偏移估计和码偏移估计,通过计算信号与参考信号的互相关函数的峰值位置来实现。GPS信号捕获是指接收器通过接收并处理GPS卫星发射的信号,从中提取出有用的信息,以确定接收器的位置、速度和时间。通过载波频率偏移估计和码偏移估计,接收器可以获取到GPS信号中的有用信息,实现定位和导航等功能。接收器需要估计接收到的信号的码偏移,以便进行信号的解调和定位。接收器需要估计接收到的信号的载波频率,以便进行后续的处理。

TechO_O的博客 867

GPS信号捕获基本原理

GPS卫星发送的信号一般由3个分量组成:载波、伪码和导航电文,其中伪码和导航电文采用BPSK技术去调制载波。 GPS使用的两个L波段两种载频: 1 GPS搜索捕获原理 为了跟踪和解码GPS信号,首先要捕获到GPS信号。将捕获到的GPS信号的数据传递给跟踪过程,再通过跟踪过程便可得到卫星的导航电文。传统的GPS捕获方法有:串行搜索捕获、滑动相关法、循环相关法、PMF算法。 1.1串行搜索捕获方式 串行搜索在同一搜索时间内仅完成对一个可能区间的搜索。设置本地扩频序列的定时初相,本地生成的序列与输入

FPGA/MATLAB学习教程/源码/项目合作开发 1万+

【GPS仿真】GPS信号捕获跟踪【含Matlab源码 2126期】

GPS信号捕获跟踪 完整的代码,方可运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 1070

基于Matlab的GPS信号捕获仿真

在接收到GPS信号后,接收机需要对信号进行频率同步,频率同步的目的是消除信号传输过程中由于多普勒效应引起的频偏,多普勒效应是指接收器和卫星之间的相对运动会导致信号频率的变化,为了消除多普勒效应引起的频偏,接收机需要将接收到的信号与本地振荡器的信号进行比较,从而计算出频率偏差。C/A码是一种短码,长为1023个码片,其码速率为1.023Mbps,P码是一种长码,长为267天,其码速率为10.23Mbps,P码是加密的,并只对军方开放使用。码相位同步是指接收机需要对接收到的码信号进行同步,并消除其相位偏移,

weixin_50547796的博客 291

【GPS】GPS信号产生+捕获跟踪+比特同步、帧同步Matlab仿真

全球定位系统(GPS)作为一项革命性的导航技术,其精确定位能力依赖于一系列复杂的信号处理过程。从GPS卫星发射的信号产生,到地面接收机对其进行捕获、跟踪、比特同步和帧同步,每一个环节都至关重要。本文将详细阐述GPS信号的产生原理,并结合Matlab仿真,深入探讨GPS接收机的捕获、跟踪、比特同步和帧同步过程。一、 GPS信号产生仿真GPS卫星发射的信号主要包括L1 (1575.42 MHz)和L2 (1227.60 MHz)两个频段,每个频段都包含C/A码和P码两种伪随机噪声(PRN)码。

qq_59747472的博客 1691

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

GPS信号捕获跟踪定位仿真 完整的代码,方可运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 3192

GPS接收机信号捕获与PVT定位解算实战源码解析

在深入探讨捕获流程之前,首先需要理解GPS信号的基本构成,特别是L1频段信号的组成和PRN码的生成方式。第四章详细介绍了GPS信号跟踪阶段的核心内容,包括载波跟踪与码相位跟踪的实现机制。通过PLL与FLL实现载波频率与相位的同步,通过DLL与早-晚期相关器实现码相位的精确对齐。同时,对跟踪过程中的主要误差来源(如多路径效应与接收机动态)进行了分析,并给出了相应的补偿策略。

weixin_42592399的博客 1189

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

GPS信号捕获跟踪 完整的代码,方可运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 1766

GPS信号处理全程教程:生成、捕获与追踪

本章重点介绍了GPS信号捕获和锁定的原理与方法,其中包括了基本步骤、捕获算法实现、关键技术和优化策略。通过深入分析这些技术和方法,我们理解了GPS接收器如何从复杂的背景噪声中识别出微弱的卫星信号,以及如何通过一系列精确的信号处理技术维持对卫星信号的持续跟踪。这些技术是实现精确、稳定GPS定位功能的基石,对于提高GPS接收器的性能至关重要。软件定义无线电(SDR)是一种无线通信技术,它允许通过软件进行无线电系统的定义和操作。

weixin_42298164的博客 1797

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

全球定位系统(Global Positioning System,GPS),是一种以人造地球卫星为基础的高精度无线电导航的定位系统,它在全球任何地方以及近地空间都能够提供准确的地理位置、车行速度及精确的时间信息。GPS是美国从20世纪70年代开始研制,历时20年,耗资200亿美元,于1994年全面建成,具有在海、陆、空进行全方位实时三维导航与定位功能的新一代卫星导航与定位系统。GPS卫星信号是发生在两个L波段频率的载波信号L1和L2,两个载波频率分别是L1的主频率fL1和L2的次频率fL2。

fpga/matlab/simulink算法仿真工程 1384

GPS信号捕获与跟踪技术详解与代码实践

全球定位系统(GPS)作为一种重要的空间技术,它的出现彻底改变了人们的生活和工作方式。GPS跟踪技术利用卫星进行精确的位置和时间信息传递,使得在全球任何位置都能进行实时跟踪和导航。随着技术的不断进步,如今的GPS跟踪技术已经广泛应用于军事、航运、气象、个人定位等多个领域。早期/晚期门限检测法是一种用于检测和同步GPS信号的方法,它基于接收信号与本地复制信号之间的相关性。此方法涉及两个关键阈值:早期门限和晚期门限。

weixin_42433737的博客 1134

FFT技术在GPS信号快速捕获中的应用分析与实践

MATLAB(Matrix Laboratory的缩写)是由MathWorks公司开发的一款高性能的数值计算和可视化软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,广泛应用于工程计算、控制设计、信号处理和通信系统开发等领域。在GPS信号处理领域,MATLAB提供了强大的工具箱,比如信号处理工具箱(Signal Processing Toolbox),用于处理和分析信号,包括滤波、谱分析、信号合成等。MATLAB的一个显著优势是其脚本环境,允许用户快速编写、调试和运行脚本文件,这些文件以。

weixin_42433737的博客 360

GPS信号捕获算法详解:串行、并行码相位与并行频率捕获的MATLAB实现

GPS接收机核心任务之一是在噪声基底之下检测微弱卫星信号。由于C/A码扩频调制,信号功率极低,接收机必须通过二维搜索同时估计码相位和多普勒频移才能完成解扩。传统串行搜索逐点试探,计算量大,难以满足软件接收机实时性需求。基于FFT的并行码相位捕获利用循环相关原理,将码相位维搜索压缩为一次频域乘法运算,大幅提升效率;并行频率捕获则通过解扩后单频信号的频谱分析快速估计残余载波。三种算法在MATLAB中均有简洁实现,适用于教学验证、中频数据离线处理以及高动态场景下的快速捕获。本文以工程实践视角对比其原理、实现与选型

weixin_33585822的博客 236

LDA主题模型简介及Python实现

一、LDA主题模型简介 LDA主题模型主要用于推测文档的主题分布,可以将文档集中每篇文档的主题以概率分布的形式给出根据主题进行主题聚类或文本分类。 LDA主题模型不关心文档中单词的顺序,通常使用词袋特征(bag-of-word feature)来代表文档。词袋模型介绍可以参考这篇文章:文本向量化表示——词袋模型 - 知乎 了解LDA模型,我们需要先了解LDA的生成模型,LDA认为一篇文章是怎么形成的呢? LDA模型认为主题可以由一个词汇...

weixin_41168304的博客 20万+
上一篇: GPS信号生成:C/A码序列生成【MATLAB实现】
Great Bruce Young
博客等级 码龄8年 177粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值