电子发烧友网 > 可编程逻辑 > 正文

基于FPGA-DSP平台实现GPS卫星导航接收机的设计

2020年08月14日 17:00 次阅读

1 引言

GPS卫星导航接收机有多种多样的类别,依据不同的分类方法,可以分为: C/A码与 P码,单频与双频,导航与定位,授时与测量,手持、车载、机载、弹载与星载等。根据 GPS接收机硬件架构实现的不同,又可以分为硬件接收机和软件接收机。GPS接收机在设计时会根据不同的使用目标选择不同的设计方案,GPS软件接收机的解决方案具有可配置性,根据不同的应用环境配置不同的解决算法。本文对基于FPGA-DSP平台的C/A码单频GPS软件接收机的算法设计进行研究。

2 GPS软件接收机

传统的GPS接收机的核心部件通常包括天线与相关的前置放大器射频前端(模拟)部分,基带数字(ASIC)处理部分,微处理器及其外围(存储器接口电路)。ASIC完成基带信号处理(捕获和跟踪的相关运算),微处理器从 ASIC输出的相关输出结果译出的导航数据,从而可以得到卫星星历及伪距,星历可用来得到卫星位置,并最终可由卫星位置及伪距解算出用户位置等信息。

软件 GPS接收机如图 2.1所示,其构架主要是 GPS天线接收到的卫星的发射信号,通过射频(RF)前端,输入信号被放大及下变频到合适的频率。而后经模数转换器数字化采样。天线、RF前端及 ADC均有硬件完成,信号被数字化后,所有的处理运算任务均由运行于通用数字信号处理平台的软件来完成。

基于FPGA-DSP平台实现GPS卫星导航接收机的设计

GPS软件接收机的优势在于:软件接收机整个数字部分均采用通用处理芯片,包含了较少的硬件,可编程性及灵活性均强于硬件接收机,而且无需升级硬件仅加载不同的算法软件即可实现 GPS接收机的升级或改型 3 软件 GPS算法与架构设计

3.1 设计思想

GPS接收机必须复现那颗将由接收机捕获的卫星所发射的 PRN码,然后移动这个复现码的相位,直到与卫星的 PRN码发生相关为止。发射的 PRN码和复现码之间的相关过程与给定的 PRN码数学的自相关过程有着相同的特性。当复现码与接收卫星码有相匹配时有最大的相关值,这是 GPS接收机在跟踪或捕获卫星信号时在码相位域内检测卫星信号的方式。信号的捕获算法有多种,主要是基于 FFT算法改进得到,计算量较大。由于多普勒频移的存在,在实际捕获过程中需要多通道同时进行从不同的频移处开始计算相关。对相关结果进行判决,得到当前相关器的偏移,以控制码和载波数控振荡器

GPS接收系统中用于数字中频信号来实现跟踪及解调的典型的专用芯片 GP4020,其主要有 12通道的相关器和 ARM7微处理器内核构成,相关器由片上硬件单元组成,可满足快速并行的计算要求,相关结果通过微处理器编程控制,并根据相关结果配置相关器寄存器

结合 CA码信号的捕获与跟踪的算法特性和 GP4020的特点,实现硬件向软件的转化,设计出符合 FPGA( Xilinx XC2V1000)和 DSP(TI TMS320C6416)的性能特点的,且信号的捕获、跟踪、解调完全有由软件实现的 GPS软件接收系统。

3.2 FPGA与DSP的功能划分

多路同步运算是 FPGA的优势,事件中断响应以及与用户接口的配合更适合于 DSP。 FPGA以中断的方式向 DSP提交相关器运算结果,DSP为 FPGA提供码 NCO偏差和载波辅助。

于是在 FPGA中实现如下功能:

L1采样信号的载波剥离; CA码发生器;L1本地载波发生器( NCO);CA码发生器的 NCO ; CA码相关器;DSP中断信号的产生,向 DSP电路发送相关器相关结果。

在 DSP中实现如下功能:

CA码跟踪误差鉴别器; L1相位误差鉴别器; CA码跟踪环路滤波器;L1相位环路滤

波器;对 FPGA中码 NCO和载波 NCO的控制;宽带功率值和窄带功率值的提取;载波相位的提取;伪距的提取;输出信息的打包以及与用户接口通讯。

3.3 FPGA与DSP的之间的数据信息流

如图 3.1所示, GPS软件接收机中内部信息流主要由运行于 FPGA上的可编程逻辑模块与运行于 DSP上的应用软件模块之间的信息流组成,包括:

1)FPGA向 DSP发送的 I/Q支路相关结果,用于实现载波跟踪与码跟踪。

2)DSP向 FPGA发送的环路滤波器输出值,用于控制 FPGA内部的载波 NCO与码 NCO。

图 3.1 FPGA与 DSP之间信息流

3.4 FPGA内的数据信息流

FPGA内部的信息流框图如图 3.2所示,L1采样数据以 50MHz/Byte的速率送往FPGA,FPGA通过载波剥离合和码相关器计算,将相关器结果送往DSP,并从 DSP中获取 CA码和载波 NCO偏差,以对信号进行跟踪、捕获。

3.5 DSP内部的数据信息流

DSP内部的信息流和处理如图 3.3所示,1KHzCA码 I/Q支路相关结果来自于FPGA,DSP在内部经过 CA码跟踪环误差鉴别器和 L1载波跟踪环误差鉴别器后,去往FPGA,控制 FPGA中码 NCO和载波 NCO。

图3.3 DSP 内部的信息流

4 实验数据

图 4.1为系统在地面仿真时从用户接口输出的导航数据。

5 总结

本文作者创新点在于采用 FPGA-DSP平台,设计出可以工作于高动态、弱信号的环境下单频 GPS接收机软件。实现GPS的 C/A码伪距、L1载波相位、位置速度以及窄带功率的输出,为后续的应用提供基础。完成单频 GPS接收机软件的工程化。虽然单频 GPS接收机技术在理论上已经非常成熟,但基于 FPGA-DSP平台的性能优良且满足工程化要求的 GPS接收软件并不多见。

责任编辑:gt

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

写好状态机--从2019年全国FPGA竞赛谈Verilog编码技巧

理解Verilog编码技巧掌握FPGA中状态机的写法掌握非重叠序列检测代器Verilog代码编写
发烧友学院发表于 2020-04-21 00:00 21369次阅读
写好状态机--从2019年全国FPGA竞赛谈Verilog编码技巧

采用虚拟仪器技术和DSP器件实现多功能电工测量仪...

电子测量一般主要测量电压、电流、频率、相位等基本参量,同时将这些参量进行分析和处理,以数据图表或图形....
发表于 2020-08-14 16:30 17次阅读
采用虚拟仪器技术和DSP器件实现多功能电工测量仪...

采用DSP器件F2812芯片实现数字频率计的应用...

频率是指某周期现象在单位时间内所重复的次数,它与时间在数学上互为倒数。时间频率的精确测量促进了科学的....
发表于 2020-08-14 15:56 17次阅读
采用DSP器件F2812芯片实现数字频率计的应用...

关于FPGA用于火星探测车细节

虽然人们满怀热情地报道了航天器和漫游车的成功,但很少有人对其内部使用的是什么部件感兴趣。但从2000....
发表于 2020-08-14 15:45 20次阅读
关于FPGA用于火星探测车细节

采用全数字中频技术的DSA1030A频谱分析仪的...

随着模数转换器、高性能微处理器和可编程器件等器件和技术近年来突飞猛进的发展,频谱仪也从模拟中频时代进....
发表于 2020-08-14 15:45 18次阅读
采用全数字中频技术的DSA1030A频谱分析仪的...

一场由FPGA触发的芯片战争

制作ASIC的人们一开始先使用FPGA来仿真ASIC,然后再将它们进行掩码处理并批量制造。英特尔、A....
发表于 2020-08-14 14:29 33次阅读
一场由FPGA触发的芯片战争

10位模数转换器MAX1072/75的性能特点和...

模数转换器(ADC)是计算机控制系统中的重要部分。根据数字信号的输出方式可分为并行和串行两大类。并行....
发表于 2020-08-14 14:18 25次阅读
10位模数转换器MAX1072/75的性能特点和...

FPGA芯片厂积极拥抱开源,有助于推动FPGA领...

日前,eFPGA供应商Quicklogic宣布,将加入致力于推动通用和开放式硬件的脸呢个CHIPS ....
发表于 2020-08-14 11:12 20次阅读
FPGA芯片厂积极拥抱开源,有助于推动FPGA领...

DSP端的程序就不能成功启动是什么原因?

@Tony Tang您好,非常感谢您给我的Boot_DSP_on_SOC_V0.2代码,我已经成功在我的板子上ARM核启动DSP,...
发表于 2020-08-14 10:32 0次阅读
DSP端的程序就不能成功启动是什么原因?

如何在XC7k325t-2 FPGA中实现6G-SDI的参考设计?

嗨, 我正在尝试在XC7k325t-2 FPGA中实现6G-SDI的参考设计。 这基本上是针对XC7k325t-3中的12G-SD...
发表于 2020-08-14 10:05 0次阅读
如何在XC7k325t-2 FPGA中实现6G-SDI的参考设计?

fpga生成lvds iostandard来驱动fpga之外的设备怎么实现?

我正在使用artix xc7a100t,我需要fpga生成lvds iostandard来驱动fpga之外的设备。 我把差分时钟放在15的bank的mrcc中...
发表于 2020-08-14 09:22 0次阅读
fpga生成lvds iostandard来驱动fpga之外的设备怎么实现?

基于采集板ICS554和FPGA器件实现高速实时...

引 言 雷达作为一种特殊的无线电装备,也必然遵循从模拟到数字再到软件化这样的发展道路。数字波束形成技....
发表于 2020-08-14 09:19 63次阅读
基于采集板ICS554和FPGA器件实现高速实时...

所有输入之间的时钟偏差/相位延迟方面会产生什么结果?

嗨,我以前在这里发布过这条消息,但是被标记为“已解决”,我不确定是否有人阅读过它。 另外我想使用7系列FPGA,...
发表于 2020-08-14 09:11 0次阅读
所有输入之间的时钟偏差/相位延迟方面会产生什么结果?

基于FPGA的AGC算法

1、引 言大多数接收机必须处理动态范围很大的信号,这需要进行增益调整,以防止过载或某级产生互调,调整解调器的工作...
发表于 2020-08-14 09:06 101次阅读
基于FPGA的AGC算法

采用DCS集中分散型控制系统实现抽油机数据采集系...

油井的抽油机数据采集传输管理是油田生产关键环节之一,生产计划的决策依赖于大量现场数据的及时正确的采集....
发表于 2020-08-14 09:05 111次阅读
采用DCS集中分散型控制系统实现抽油机数据采集系...

智能温湿度传感器的多种功能

目前传感器应用很广泛,而随着技术的成熟,科学的进步,各种产品也是在向智能化发展,比如说传感器就进行了升级,智能...
发表于 2020-08-14 06:43 0次阅读
智能温湿度传感器的多种功能

基于外部处理器的FPGA加载应用程序的方法研究

FPGA在系统上电时,需要从外部载入所要运行的程序,此过程被称为程序加载。多数情况下,FPGA从外部....
发表于 2020-08-13 17:16 56次阅读
基于外部处理器的FPGA加载应用程序的方法研究

采用新型高性能可编程逻辑器件实现洗片机控制系统的...

洗片机作为一种用于X射线透射胶片和CT胶片的显影、定影、清洗和烘干的仪器,在当今各行业都有着广泛的应....
发表于 2020-08-13 17:03 100次阅读
采用新型高性能可编程逻辑器件实现洗片机控制系统的...

当 AGC 用于 WCDMA 系统时,求指数运算...

在本设计中,前端 TD_SCDMA 的射频信号 RF 输入后,经过 MAX2392 零中频下变频解调....
发表于 2020-08-13 17:02 45次阅读
当 AGC 用于 WCDMA 系统时,求指数运算...

采用可编程逻辑器件实现并行高速数字相关器的应用方...

在数字通信系统中,常用一个特定的序列作为数据开始的标志,称为帧同步字。在数字传输的过程中,发送端要在....
发表于 2020-08-13 16:56 71次阅读
采用可编程逻辑器件实现并行高速数字相关器的应用方...

PCI Express通过结合Nexus FPG...

Nexus 平台的独特之处在于采用了 FD-SOI 工艺。这与之前的 CMOS 工艺相比有很大区别,....
发表于 2020-08-13 16:35 85次阅读
PCI Express通过结合Nexus FPG...

时钟芯片的供电电源包含哪两个部分?

针对单片机的时钟频率电路,工程师依据不同的项目要求去设计与选择匹配的方案,具体的选择方案包含三类。
发表于 2020-08-13 15:49 70次阅读
时钟芯片的供电电源包含哪两个部分?

基于高性能32位定点DSP器件实现对Hough变...

数字图像处理技术广泛应用于机器视觉、自动化检测和视频监控等领域。通用的图像处理系统采用图像采集卡将图....
发表于 2020-08-13 15:05 85次阅读
基于高性能32位定点DSP器件实现对Hough变...

CCS V6/CCS V7及以上添加CCS V5的软件仿真部分的方法及资料

发表于 2020-08-13 13:37 0次阅读
CCS V6/CCS V7及以上添加CCS V5的软件仿真部分的方法及资料

NVIDIA对FPGA 产品解决方案产生强劲的需...

ABI Research 在一份声明中指出,当前,云是 AI 的中心,因为大多数 AI 培训和推理工....
发表于 2020-08-13 11:31 176次阅读
NVIDIA对FPGA 产品解决方案产生强劲的需...

采用可编程逻辑器件实现温控电路接口及其与DSP通...

采用光纤陀螺的捷联惯性导航系统是一种极具发展潜力的导航系统,对于其核心部件的光纤陀螺,尤其是中高精度....
发表于 2020-08-13 11:00 232次阅读
采用可编程逻辑器件实现温控电路接口及其与DSP通...

如何估算FPGA的峰值性能?

嗨, 作为博士研究的一部分,我试图估算FPGA的峰值性能,以便与GPU进行比较。 我的计算基于Xilinx共同撰写的...
发表于 2020-08-13 09:56 0次阅读
如何估算FPGA的峰值性能?

fpga从黄金映像启动时fpga准备好之前需要多长时间?

我试图弄清楚在应用程序映像损坏并且fpga从黄金映像启动时fpga准备好之前需要多长时间。 我测量了它,但它比应用程序...
发表于 2020-08-13 09:39 0次阅读
fpga从黄金映像启动时fpga准备好之前需要多长时间?

基于FPGA上实现硬件入侵检测系统的设计

PE内部采用硬件多线程技术,每个 PE中有多个硬件线程,硬件线程是指享有独立的程序计数器、寄存器和存....
发表于 2020-08-12 17:07 119次阅读
基于FPGA上实现硬件入侵检测系统的设计

基于FPGA器件EP1C6Q240C8实现运动控...

传统的运动控制卡多采用单片机作为微处理器, 通过一些大规模集成电路实现对伺服电机的控制。由于其结构较....
发表于 2020-08-12 17:02 84次阅读
基于FPGA器件EP1C6Q240C8实现运动控...

采用可编辑逻辑器件实现MVB总线分析结构的设计

随着高速铁路的迅速发展以及机车车辆的现代化发展趋势,对列车总线的可靠性、安全性、通讯实时性的要求进一....
发表于 2020-08-12 16:58 52次阅读
采用可编辑逻辑器件实现MVB总线分析结构的设计

典型的10/100以太网系统架构

在摩尔定律的指引下,越来越细的硅工艺线宽使得32位嵌入式解决方案的成本不断降低,从而可以满足更多的应....
发表于 2020-08-12 16:53 173次阅读
典型的10/100以太网系统架构

基于Modbus协议栈模块的设计与实现

在SoC系统的设计及使用过程中,对其内部行为的实时监控十分重要,目前普遍通过监控端和目标系统间的监控....
发表于 2020-08-12 16:28 46次阅读
基于Modbus协议栈模块的设计与实现

MB86S02视频图像传感器在FPGA的控制下的...

整个系统以FPGA作为核心控制单元并完成视频信号的中值滤波工作;以DSP作为整个系统的核心处理单元对....
发表于 2020-08-12 16:24 29次阅读
MB86S02视频图像传感器在FPGA的控制下的...

基于FPGA芯片EP1c3T144和开发平台实现...

LabVIEW是一种基于图形程序的虚拟仪器编程语言,与传统仪器相比,虚拟仪器技术以计算机为平台,在程....
发表于 2020-08-12 15:59 52次阅读
基于FPGA芯片EP1c3T144和开发平台实现...

Dsp6747程序无法运行问题

请教下,dsp6747,norflash烧写,需要二次bootloader,bootloader我用AIS工具转换的,可以运行,跳转到hex6x.exe生成...
发表于 2020-08-12 15:50 0次阅读
Dsp6747程序无法运行问题

记忆体处理器比起一般 CPU 和 DSP,能节省...

记忆体处理器(processor-in-memory,PIM)架构一直被视为一种有趣但难以实现的方法....
发表于 2020-08-12 15:27 167次阅读
记忆体处理器比起一般 CPU 和 DSP,能节省...

基于TMS320X2812型DSP芯片实现非接触...

高精度旋转角测量广泛应用于精密加工、航空航天和军事等领域。测量角度和角位移的方法有:水准管式倾角仪,....
发表于 2020-08-12 15:22 74次阅读
基于TMS320X2812型DSP芯片实现非接触...

软件测试的重要性和两大自动化测试工具的比较

实际上,软件测试过程与整个软件开发过程基本上是平行进行的。测试计划早在需求分析阶段即应开始制定,其他....
发表于 2020-08-12 14:39 58次阅读
软件测试的重要性和两大自动化测试工具的比较

MOS 6502 微处理器推动了美国和英国的第一...

毕业后,他有两个目标:想住在加利福尼亚和想制造计算机。因此,他在通用电气工作,在那里他帮助设计了早期....
发表于 2020-08-12 14:30 102次阅读
MOS 6502 微处理器推动了美国和英国的第一...

高云半导体的低功耗μSOC FPGA蓝牙模块通过...

基于高云半导体GW1NRF-4的蓝牙模块尺寸为19x20mm,包括GW1NRF-4器件,以及必需的无....
发表于 2020-08-12 14:19 44次阅读
高云半导体的低功耗μSOC FPGA蓝牙模块通过...

基于DSP芯片C5402和音频接口芯片AD50实...

TMS320VC5402(以下简称C5402)是TI(德州仪器)公司1999年10月推出的性价比极高....
发表于 2020-08-12 11:45 115次阅读
基于DSP芯片C5402和音频接口芯片AD50实...

Dialog宣布其EcoXiP™ Octal x...

具有领先嵌入式AI处理功能的业内最低功耗高速Octal闪存器件与瑞萨动态可重配置处理器(DRP)技术....
发表于 2020-08-12 09:12 254次阅读
Dialog宣布其EcoXiP™ Octal x...

基可编程逻辑器件实现滤波器分组级联系统的设计

目前针对数字下变频,除了采用多片DSP组成并行处理模块外,一般都探索采用下变频处理的高效算法。本文针....
发表于 2020-08-11 17:44 75次阅读
基可编程逻辑器件实现滤波器分组级联系统的设计

采用可编程逻辑器件的译码器优化实现方案

由于卷积码优良的性能,被广泛应用于深空通信、卫星通信和2G、3G移动通信中。卷积码有三种译码方法:门....
发表于 2020-08-11 17:41 70次阅读
采用可编程逻辑器件的译码器优化实现方案

基于Flash FPGA器件实现脉冲延迟控制系统...

在科学研究、通信和一些自动控制中,经常需要精确定时的连续脉冲信号,用于产生测试信号或控制用的时序。脉....
发表于 2020-08-11 17:36 115次阅读
基于Flash FPGA器件实现脉冲延迟控制系统...

基于MCU+CPLD双片结构实现新型光电轴角编码...

光电轴角编码器是一种采用光电方法,将机械转角转换成数字电信号输出的数字测角装置。它可以和显示装置或计....
发表于 2020-08-11 17:33 75次阅读
基于MCU+CPLD双片结构实现新型光电轴角编码...

基于FPGA硬件实现数字Costas环的设计

扩频通信系统是将基带信号的频谱扩展到很宽的频带上,然后进行传输,通过增大频带宽度来提高信噪比的一种系....
发表于 2020-08-11 17:18 99次阅读
基于FPGA硬件实现数字Costas环的设计

基于EPF20K300EQC240-1和TMS3...

本文将FPGA技术和DSP单片系统设计技术结合起来,设计了一种新型四通道超声探伤数据采集处理系统,由....
发表于 2020-08-11 17:12 78次阅读
基于EPF20K300EQC240-1和TMS3...

基于XC2V2000和TMS320C6414芯片...

红外热成像技术在军事领域得到广泛的应用。但是通常的热成像系统的瞬时视场都很小,为了扩大视界通常采用光....
发表于 2020-08-11 17:08 48次阅读
基于XC2V2000和TMS320C6414芯片...

基于FPGA器件和VHDL语言实现波形及移相波形...

标准时钟(由晶振电路产生)加于进制可编程的n进制计数器,其溢出脉冲加于可预置初值的地址计数器,生成波....
发表于 2020-08-11 16:57 122次阅读
基于FPGA器件和VHDL语言实现波形及移相波形...

采用FPGA器件APEX20K1500E芯片实现...

网际协议(Internet Protocol) 是互联网进行网际互连的基础。随着互联网服务的快速发展....
发表于 2020-08-11 16:47 53次阅读
采用FPGA器件APEX20K1500E芯片实现...

采用CPLD器件XC95288XL-7TQ144...

对于Flash,项目中选择了Intel公司的Intel StrataFlash系列的256-Mbit....
发表于 2020-08-11 16:45 133次阅读
采用CPLD器件XC95288XL-7TQ144...

基于AD603和AD8320芯片实现数字AGC的...

采用ADI公司的可变增益放大器、数字可控增益放大器和FPGA实现大动态范围的自动增益控制,这两个增益....
发表于 2020-08-11 16:22 66次阅读
基于AD603和AD8320芯片实现数字AGC的...

关于可编程逻辑器件未来的发展趋势

PLD/FPGA是近几年集成电路中发展最快的产品。由于PLD性能的高速发展以及设计人员自身能力的提高....
发表于 2020-08-11 16:19 103次阅读
关于可编程逻辑器件未来的发展趋势