基于FPGA的GPS接收机基带处理器:设计、实现与性能优化_第1页
基于FPGA的GPS接收机基带处理器:设计、实现与性能优化_第2页
基于FPGA的GPS接收机基带处理器:设计、实现与性能优化_第3页
基于FPGA的GPS接收机基带处理器:设计、实现与性能优化_第4页
基于FPGA的GPS接收机基带处理器:设计、实现与性能优化_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于FPGA的GPS接收机基带处理器:设计、实现与性能优化一、引言1.1研究背景与意义在当今信息时代,全球定位系统(GlobalPositioningSystem,GPS)作为一种重要的空间信息获取技术,已广泛应用于众多领域。从最初的军事用途,到如今在交通、测绘、农业、航空航天、海洋探测等领域的深度融合,GPS技术为人们的生活和工作带来了极大的便利。在交通领域,车辆导航系统借助GPS实时获取车辆位置信息,结合电子地图和实时交通状况,为驾驶员规划最优行驶路线,有效提高了出行效率,减少了交通拥堵;在测绘领域,GPS技术实现了高精度的地理坐标测量,极大地提高了测绘工作的效率和精度,广泛应用于大地测量、地形测绘、地籍测量等方面;在农业领域,精准农业依托GPS技术对农田信息进行精确定位,实现了变量施肥、精准灌溉等,提高了农业生产效率,降低了资源浪费。在GPS接收机中,基带处理器是核心部件之一,其性能直接影响着GPS接收机的整体性能,包括定位精度、捕获速度、跟踪稳定性以及抗干扰能力等。基带处理器主要负责对射频前端送来的中频信号进行一系列复杂的处理,如信号捕获、跟踪、解调和解码等,以提取出导航电文和伪距、载波相位等关键信息,进而实现定位解算。信号捕获是基带处理的首要环节,其目的是快速确定GPS卫星信号的存在及其大致的码相位和载波频率,为后续的信号跟踪奠定基础;信号跟踪则是在捕获的基础上,精确锁定信号的码相位和载波频率,确保信号解扩和解调的准确性;解调和解码过程负责从已解扩的信号中恢复出导航电文,提取出卫星星历、时钟校正参数、电离层延迟校正参数等重要信息,这些信息对于准确计算接收机的位置、速度和时间至关重要。现场可编程门阵列(FieldProgrammableGateArray,FPGA)作为一种可编程逻辑器件,具有灵活性高、并行处理能力强、开发周期短等显著优势。基于FPGA设计GPS接收机基带处理器,能够充分利用其硬件资源,实现高速、高效的信号处理。通过在FPGA上进行数字电路设计,可以根据具体的应用需求灵活配置和优化基带处理算法,提高系统的适应性和性能。与传统的专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)相比,FPGA具有更高的灵活性和可重构性,能够快速响应市场需求的变化和技术的发展;与数字信号处理器(DigitalSignalProcessor,DSP)相比,FPGA的并行处理能力更强,能够实现更高的数据处理速率,满足GPS信号实时处理的要求。此外,随着我国卫星导航产业的快速发展,对GPS技术的自主可控能力提出了更高的要求。目前,我国在GPS核心技术方面仍存在一定的依赖,研究基于FPGA的GPS接收机基带处理器,对于提升我国在卫星导航领域的自主研发能力和技术水平,保障国家信息安全具有重要的战略意义。它有助于推动我国卫星导航产业的国产化进程,降低对国外技术的依赖,促进相关产业的健康、可持续发展。1.2国内外研究现状国外对基于FPGA的GPS接收机基带处理器的研究起步较早,技术相对成熟。许多知名科研机构和企业在该领域取得了一系列重要成果。美国的一些研究团队在GPS信号处理算法和FPGA实现方面进行了深入研究,提出了多种高效的捕获和跟踪算法,并成功应用于实际的GPS接收机设计中。例如,采用并行码相位搜索法和傅里叶变换法等快速捕获算法,结合先进的跟踪环路技术,提高了GPS接收机的捕获速度和跟踪精度;利用FPGA的高速运算能力和并行处理特性,实现了多通道GPS信号的实时处理,满足了复杂应用场景的需求。欧洲的一些研究机构也在GPS技术研究方面具有深厚的积累,他们注重GPS信号处理技术与其他相关技术的融合,如惯性导航技术、通信技术等,开发出了具有更高性能和可靠性的组合导航系统。国内在基于FPGA的GPS接收机基带处理器研究方面虽然起步较晚,但近年来发展迅速,取得了不少进展。众多高校和科研院所积极开展相关研究工作,在GPS信号特性分析、基带处理算法研究以及FPGA硬件实现等方面取得了一定的成果。一些研究团队对GPS信号的传播特性和干扰特性进行了深入分析,为抗干扰算法的设计提供了理论依据;在基带处理算法方面,研究了多种捕获和跟踪算法,并对其进行了优化和改进,以提高算法的性能和适应性;在FPGA硬件实现方面,利用先进的FPGA开发工具和技术,实现了基带处理器的硬件设计和验证,部分研究成果已达到或接近国际先进水平。然而,当前的研究仍存在一些不足与挑战。在算法方面,虽然已提出了多种捕获和跟踪算法,但在复杂环境下,如高动态、强干扰等场景中,算法的性能仍有待进一步提高,以满足实时、高精度定位的需求。例如,在高动态环境下,卫星信号的多普勒频移较大,传统的捕获和跟踪算法难以快速准确地锁定信号,导致定位精度下降;在强干扰环境下,干扰信号会对GPS信号产生严重的影响,现有的抗干扰算法在抑制干扰的同时,可能会对有用信号造成一定的损伤,影响定位性能。在硬件实现方面,如何进一步提高FPGA的资源利用率,降低功耗,提高系统的集成度和可靠性,仍然是需要解决的关键问题。随着GPS技术应用场景的不断拓展,对基带处理器的小型化、低功耗和高性能要求越来越高,这对FPGA硬件设计提出了更高的挑战。此外,多系统兼容的GPS接收机基带处理器研究还处于发展阶段,如何实现GPS与其他卫星导航系统(如北斗、GLONASS、Galileo等)的融合处理,提高接收机的适应性和可用性,也是未来研究的重要方向之一。1.3研究目标与内容本研究旨在设计一款高效可靠的基于FPGA的GPS接收机基带处理器,以满足不同应用场景下对GPS定位的需求。具体研究内容包括以下几个方面:GPS信号特性分析:深入研究GPS信号的结构、组成和调制方式,分析信号在传播过程中的特性,如电离层延迟、对流层延迟、多径效应等对信号的影响,以及噪声和干扰对信号质量的影响。通过对信号特性的全面了解,为后续的基带处理算法设计提供理论基础。基带处理算法研究:研究GPS信号的捕获和跟踪算法,包括传统的滑动相关捕获算法、基于快速傅里叶变换(FFT)的快速捕获算法,以及码跟踪环和载波跟踪环的设计。分析不同算法的优缺点,结合实际应用需求,选择合适的算法并进行优化,以提高信号捕获的速度和精度,增强信号跟踪的稳定性和抗干扰能力。例如,针对传统滑动相关捕获算法捕获时间长的问题,研究采用并行处理技术或改进的搜索策略,提高捕获效率;针对低信噪比环境下信号跟踪困难的问题,研究采用自适应滤波算法或多径抑制技术,提高跟踪性能。基于FPGA的硬件设计:根据选定的基带处理算法,进行基于FPGA的硬件电路设计。利用硬件描述语言(如VHDL或Verilog)实现基带处理器的各个功能模块,包括数字下变频模块、信号捕获模块、信号跟踪模块、导航电文解调模块等。合理规划FPGA的资源,优化电路结构,提高系统的性能和可靠性。在数字下变频模块设计中,采用高效的混频、滤波和抽取算法,降低信号采样率,减少后续处理的数据量;在信号捕获模块设计中,利用FPGA的并行处理能力,实现多通道信号的并行捕获,提高捕获速度。系统验证与测试:搭建基于FPGA的GPS接收机基带处理器测试平台,对设计的基带处理器进行功能验证和性能测试。通过实际采集GPS信号,对基带处理器的信号捕获、跟踪、解调和解码等功能进行测试,验证其正确性和有效性。测试内容包括定位精度、捕获时间、跟踪误差等性能指标,评估基带处理器在不同环境下的性能表现。根据测试结果,对设计进行优化和改进,确保基带处理器满足设计要求。1.4研究方法与技术路线本研究采用多种研究方法相结合的方式,以确保研究的科学性和有效性。具体研究方法如下:理论分析法:通过查阅相关文献资料,深入研究GPS技术的基本原理、信号特性、基带处理算法等理论知识。建立数学模型,对GPS信号的传播、调制解调、捕获跟踪等过程进行理论分析和推导,为后续的算法设计和硬件实现提供理论依据。例如,利用信号与系统、通信原理等知识,分析GPS信号的频谱特性、相关特性,推导捕获和跟踪算法的数学表达式。数字电路设计法:运用数字电路设计知识和硬件描述语言,将基带处理算法转化为硬件电路实现。在FPGA开发平台上,进行数字电路的设计、仿真和综合。通过合理设计电路结构,优化逻辑资源的使用,实现高效的基带信号处理。例如,利用VHDL语言设计信号捕获模块的状态机,实现对信号的快速搜索和捕获;设计数字滤波器,对信号进行滤波处理,提高信号质量。仿真与实验验证法:利用专业的仿真工具(如Matlab、Modelsim等)对设计的基带处理算法和硬件电路进行仿真验证。通过仿真,分析算法的性能和电路的功能,发现并解决潜在的问题。搭建实际的实验平台,对基于FPGA的GPS接收机基带处理器进行实验测试,验证其在实际环境中的性能表现。将仿真结果与实验结果进行对比分析,进一步优化设计。例如,在Matlab中对捕获和跟踪算法进行仿真,分析不同参数对算法性能的影响;在实验平台上,采集实际的GPS信号,测试基带处理器的定位精度和捕获时间。本研究的技术路线按照从原理研究到算法设计、硬件实现再到测试验证的顺序展开,具体如下:原理研究阶段:深入研究GPS技术的基本原理,包括GPS系统的组成、定位原理、信号结构与特性等。分析基带处理器在GPS接收机中的作用和工作流程,为后续的研究奠定理论基础。算法设计阶段:根据GPS信号特性和应用需求,研究并选择合适的基带处理算法。对捕获和跟踪算法进行详细设计和优化,利用Matlab等工具进行算法仿真,验证算法的可行性和性能。例如,通过仿真比较不同捕获算法的捕获时间和精度,选择最优的捕获算法;对跟踪算法进行参数优化,提高跟踪的稳定性。硬件实现阶段:基于选定的算法,进行基于FPGA的硬件电路设计。利用硬件描述语言实现基带处理器的各个功能模块,进行逻辑综合和布局布线。使用FPGA开发工具对设计进行编译、仿真和下载,将设计实现到FPGA芯片上。例如,在Quartus或ISE等开发工具中,进行VHDL代码的编写、编译和仿真,生成可下载到FPGA芯片的文件。测试验证阶段:搭建测试平台,对基于FPGA的GPS接收机基带处理器进行功能测试和性能评估。通过实际采集GPS信号,测试基带处理器的信号捕获、跟踪、解调和解码等功能,测量定位精度、捕获时间、跟踪误差等性能指标。根据测试结果,对设计进行优化和改进,确保基带处理器满足设计要求。例如,使用GPS信号发生器和频谱分析仪等设备,对基带处理器进行测试;根据测试结果,调整硬件电路参数或优化算法,提高基带处理器的性能。二、GPS信号与接收机基础理论2.1GPS系统概述GPS系统由空间部分、地面控制部分和用户设备部分组成,各部分相互协作,共同实现全球范围内的高精度定位、导航和授时服务。空间部分即GPS卫星星座,由24颗卫星组成,其中21颗为工作卫星,3颗为备用卫星。这些卫星均匀分布在6个轨道平面内,轨道平面的倾角为55°,卫星的平均高度约为20200km,运行周期为11小时58分钟。卫星通过L波段的两个无线电载波(L1:1575.42MHz,L2:1227.60MHz)向用户连续不断地发送导航定位信号,信号中包含卫星的位置信息,使得卫星成为动态的已知点。在地球的任何地点、任何时刻,在高度角15°以上,平均可同时观测到6颗卫星,最多可达到9颗,为用户提供了充足的信号源,确保了定位的可靠性和精度。地面控制部分由1个主控站、5个全球监测站和3个地面控制站组成。监测站配备有精密的铯钟和能够连续测量到所有可见卫星的接收机,其主要职责是对卫星进行持续跟踪测量,自动采集伪距观测量、气象数据和时间标准等,并将这些数据进行初步处理后传送到主控站。主控站负责收集各监测站的跟踪数据,通过复杂的计算得出卫星的轨道和时钟参数,然后将结果传送到3个地面控制站。地面控制站在每颗卫星运行至上空时,将导航数据及主控站指令注入到卫星。这种注入操作对每颗GPS卫星每天进行一次,并在卫星离开注入站作用范围之前完成最后的注入。地面控制部分的存在确保了卫星能够按照预定轨道运行,并且其发送的信号具有高精度和可靠性。用户设备部分主要由GPS接收机、数据处理软件及其终端设备(如计算机)等组成。GPS接收机的作用是捕获按一定卫星高度截止角所选择的待测卫星的信号,跟踪卫星的运行,并对信号进行交换、放大和处理。通过数据处理软件和计算机,对接收的信号进行基线解算、网平差等操作,最终求出GPS接收机中心(测站点)的三维坐标。随着技术的不断发展,GPS接收机的结构越来越紧凑,体积越来越小,重量越来越轻,便于携带和使用,使得GPS技术能够广泛应用于各种领域。GPS系统的定位原理基于三角测量法。用户设备(如GPS接收机)接收至少四颗GPS卫星的信号,卫星不断发送包含时间戳和自身位置的信号。接收机通过比较这些信息,计算出信号传播的时间差,进而确定到每颗卫星的距离。由于卫星的位置是已知的,根据这些距离信息,利用三角测量原理,就可以计算出用户设备在地球上的三维坐标(经度、纬度和高度)。例如,假设已知三颗卫星A、B、C的位置,以及接收机到这三颗卫星的距离d1、d2、d3,通过以三颗卫星为球心,以各自的距离为半径作球面,这三个球面的交点即为接收机的位置。在实际应用中,通常会接收四颗或更多卫星的信号,以提高定位的精度和可靠性。2.2GPS信号特性GPS信号由载波、伪随机码和导航电文组成,其传播特性受多种因素影响,了解这些特性对于GPS接收机的设计和应用至关重要。载波是GPS信号的基础,GPS卫星使用L波段的两种载频,即L1(1575.42MHz)和L2(1227.60MHz)。选择这两个载频主要是为了测量和消除电离层对信号传播时间的延迟误差。在无线电通信中,为了有效地传播信息,需要将频率较低的信号加载到频率较高的载波上,这个过程称为调制。GPS卫星的测距码和数据码采用调相技术调制到载波上。调制码的幅值取0或1,当码值为0时,对应的码状态为+1;当码值为1时,对应的码状态为-1。通过这种方式,实现了载波的相位调制。当载波与码状态+1相乘时,相位不变;与码状态-1相乘时,相位改变180°。因此,码值的变化会导致载波相位的改变,从而完成对载波的调制。伪随机码是GPS信号的重要组成部分,包括粗码(C/A码)和精码(P码)。C/A码是一种用于粗测距和捕获GPS卫星信号的伪随机码,由两个10级反馈移位寄存器构成的G码产生。每个星期日的子夜零时,在置“1”脉冲的作用下,移位寄存器全处于1的状态。从G(t)码中选择32个码,以PRN1~PRN32命名各颗GPS卫星。C/A码的码长较短,容易被捕获,除用于粗测距离外,还作为GPS卫星信号的捕获码,进而过渡到捕获P码。然而,C/A码的码元宽度较大,若两个序列的码元对齐误差为码宽的1/10-1/100,相应的测距误差可达29.3-2.93m。P码是卫星的精测码,码率为10.23MHz,由两个伪随机码PN1(t)和PN2(t)的乘积得出。P码的码元宽度为0.098μs,对应距离29.3m,若码元对齐误差同样取码宽的1/10-1/100,测距误差仅为2.93-0.293m,精度是C/A码的十分之一。根据美国国防部规定,P码专为军用,目前只有极少数高端测地型接收机能够接收P码,且使用费用昂贵。1994年1月31日起,美国国防部实施AS政策,在P码基础上增加极度保密的W码,形成新的Y码,禁止非特许用户使用。导航电文包含了用户定位和导航所需的关键信息,主要内容如下:卫星星历:提供每颗卫星精确的轨道位置,这是计算用户位置的基础。通过卫星星历,接收机可以准确了解卫星在空间中的位置,为后续的定位计算提供重要依据。时钟改正:GPS卫星和接收机都配备原子钟,但存在微小的时间偏差。时钟改正信息用于校准这些偏差,确保时间的准确性,从而提高定位精度。因为在定位过程中,时间的精确测量对于计算信号传播时间和距离至关重要。电离层时延改正:由于电离层会影响GPS信号的传播速度,这部分信息用于补偿因大气条件引起的信号延迟。电离层的状态会随时间、地理位置等因素变化,对信号传播产生不同程度的影响,通过电离层时延改正信息,可以有效消除这种影响,提高定位的准确性。工作状态信息:告知用户卫星的工作状态,如是否正常运行,是否存在故障等。这有助于用户判断接收信号的可靠性,若卫星出现故障,可能会导致信号异常或定位不准确,用户可以及时采取相应措施。C/A码转到捕获P码的信息:C/A码是民用的粗码,P码是军用的精码,转码信息有助于实现更精确的定位。在一些对定位精度要求较高的应用场景中,通过获取转码信息,从C/A码过渡到P码,可以提高定位的精度和可靠性。GPS信号在传播过程中,会受到多种因素的影响,导致信号质量下降和定位误差增大。主要干扰因素包括:电离层延迟:太阳风暴产生的高能粒子与地球大气层相互作用,会导致电离层扰动。这种扰动会改变GPS信号的传播速度,从而产生定位误差。在太阳活动高峰期,电离层的变化可能使GPS定位误差从几米扩大到几十米。对流层延迟:主要由大气中的水汽、温度和气压等因素引起。对流层中的水汽会吸收和散射GPS信号,导致信号传播路径发生弯曲,从而产生延迟误差。这种误差在不同的天气条件和地理位置下有所不同,一般在几厘米到几米之间。多径效应:当GPS信号遇到建筑物、山脉、水面等物体时,会发生反射和散射。这些反射信号与直接信号同时到达接收机,由于传播路径不同,会产生相位差,从而导致信号干扰和定位误差。在城市峡谷、山区等复杂地形环境中,多径效应尤为严重,可能会使定位精度降低数米甚至数十米。噪声干扰:包括自然噪声和人为噪声。自然噪声如宇宙射线、太阳辐射等,人为噪声如电子设备、通信系统等产生的电磁干扰。这些噪声会叠加在GPS信号上,降低信号的信噪比,影响信号的捕获和跟踪,进而影响定位精度。在一些电磁环境复杂的区域,如机场、变电站附近,噪声干扰可能会对GPS信号产生严重影响,导致定位失败或精度大幅下降。2.3GPS接收机基本原理GPS接收机的工作流程包括信号接收、射频前端处理、基带处理以及定位解算等环节,其中基带处理在整个过程中起着关键作用。当GPS接收机的天线接收到卫星发射的L波段信号后,首先经过前置RF放大器进行放大,以增强信号强度,使其能够满足后续处理的要求。放大后的信号通过下变频和模数转换,将模拟信号转化为数字形式,便于进行数字信号处理。下变频过程将高频的射频信号转换为较低频率的中频信号,以便于后续的滤波和采样;模数转换则将连续的模拟信号转换为离散的数字信号,为基带处理提供数据基础。基带处理是GPS接收机的核心环节,主要包括信号捕获、跟踪、解调和解码等步骤。信号捕获的目的是快速确定GPS卫星信号的存在及其大致的码相位和载波频率。由于GPS卫星信号在传播过程中会受到各种干扰和衰减,信号捕获需要在大量的可能参数组合中进行搜索。常用的捕获方法有时间串行捕获、频率域并行捕获和码相位并行捕获等。时间串行捕获在时间域上串行搜索,依次在不同的频率单元搜索码相位,直到找到信号的峰值,确定信号的存在和大致参数,但这种方法捕获时间较长;频率域并行捕获对多个频率域单元进行并行处理,通过傅里叶变换将时域相关结果转换为频域信号,分析频域信号的幅值来确定残余频率值和载波频率值,从而实现信号捕获,可提高捕获速度,但在远离中心频率较远的频带上,检测量会衰减,导致信号捕获灵敏度性能变差;码相位并行捕获则对接收信号进行载波过滤和傅里叶变换,与本地伪码的共轭相乘后进行逆傅里叶变换,再经过检波得到统计量来判断信号是否捕获,该方法在一定程度上提高了捕获效率。一旦捕获到信号,就进入信号跟踪阶段。信号跟踪的任务是精确锁定信号的码相位和载波频率,确保信号解扩和解调的准确性。跟踪过程需要使用码跟踪环和载波跟踪环。码跟踪环通常采用延迟锁定环(DLL),通过生成早码、即时码和延迟码,与接收信号相乘累加,根据相关值计算本地即时码与接收码的码相位差,进而调整本地码,使即时码与接收码的相关性最大。载波跟踪环用于跟踪载波的相位和频率,常见的有锁相环(PLL)和锁频环(FLL)。PLL采用较窄的噪声带宽,能紧密跟踪信号,输出精确的载波相位测量值,解调数据比特错误率较低,但对动态应力的容忍性较差;FLL采用较宽的噪声带宽,动态性能较好,能容忍高动态应力以及射频、多路径和电离层风暴等干扰,能够跟踪信噪比更低的信号,对数据比特跳变不敏感,但对信号的跟踪略欠紧密,环路噪声较高,输出的载波相位测量值欠精确,数据解调过程中比特错误率较高。在实际应用中,常采用FLL/PLL相结合的载波跟踪方式,以兼顾动态跟踪性能和测量精度。经过信号跟踪后,对信号进行解调和解码,以恢复出导航电文。解调是将调制在载波上的信号分离出来,得到原始的测距码和数据码;解码则是从数据码中提取出导航电文的信息,包括卫星星历、时钟改正、电离层延迟修正等。这些信息对于定位解算至关重要,是计算接收机位置、速度和时间的基础。定位解算是GPS接收机的最后一个环节。根据解调和解码得到的导航电文信息,以及测量得到的伪距、载波相位等数据,通过特定的算法计算出接收机的位置、速度和时间。常用的定位算法有最小二乘法、卡尔曼滤波等。最小二乘法通过最小化观测值与计算值之间的误差平方和来求解接收机的位置参数;卡尔曼滤波则是一种基于状态空间模型的最优估计算法,能够有效处理噪声和干扰的影响,实时估计接收机的状态,提高定位精度和可靠性。在实际应用中,通常会结合多种定位算法和辅助信息,如惯性导航数据、地图匹配等,以进一步提高定位性能,满足不同应用场景的需求。三、FPGA在GPS接收机基带处理中的应用优势3.1FPGA技术简介现场可编程门阵列(FPGA)是在可编程逻辑器件(PLD)的基础上发展而来的,作为专用集成电路(ASIC)领域中的一种半定制电路,有效解决了定制电路灵活性不足以及原有可编程器件门电路数有限的问题。其结构主要由可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等部分组成。可编程输入/输出单元(I/O单元)是芯片与外界电路的接口,为满足不同的电气特性需求,大多数FPGA的I/O单元设计为可编程模式,可通过软件灵活配置,以适配不同的电气标准与I/O物理特征,如调整匹配阻抗特性、上下拉电阻以及驱动电流大小等。随着ASIC工艺的飞速发展,可编程I/O支持的最高频率不断提高,一些高端FPGA通过DDR寄存器技术,甚至能够支持高达2Gbit/s的数据速率。基本可编程逻辑单元是FPGA实现逻辑功能的主体,基于SRAM工艺,几乎都由查找表(LUT)和寄存器组成。以Xilinx7系列FPGA为例,其内部查找表为6输入,主要完成纯组合逻辑功能,寄存器结构灵活,可配置为带同步/异步复位或置位、时钟使能的触发器,也能配置成锁存器,常用于同步时序逻辑设计。不同厂商的基本可编程逻辑单元在寄存器与查找表的配置和组合模式上存在差异,且随着器件的发展不断更新,如Altera的可编程逻辑单元(LE)由一个寄存器加一个LUT构成,10个LE组合成逻辑阵列模块(LAB),LAB中还包含进位链、控制信号、互连线资源等;Xilinx7系列FPGA的可编程逻辑单元(CLB)包含两个逻辑片(Slice),每个Slice由4个查找表、8个触发器和其他逻辑组成。嵌入式块RAM(BlockRAM)拓展了FPGA的应用范围和灵活性,不同器件商或器件族的内嵌块RAM结构有所不同。例如,Lattice常用的块RAM大小是9KBIT;Altera的块RAM较为灵活,一些高端器件内部同时含有M512RAM、M4KRAM、M9KRAM三种结构;Zynq-7000里的块RAM和Xilinx7系列FPGA里的块RAM等同,可实现RAM、ROM和先入先出(FIFO)缓冲器功能,每个块RAM最多可存储36KB信息,可配置为一个36KB的RAM或两个独立的18KBRAM,默认字宽为18位,还可根据需求“重塑”存储单元。此外,LUT也可灵活配置成RAM、ROM、FIFO等存储结构,即分布式RAM。丰富的布线资源连通FPGA内部所有单元,依据工艺、长度、宽度和分布位置的不同,可分为四类:全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;长线资源,用于完成芯片Bank间的高速信号和第二全局时钟信号的布线;短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;分布式的布线资源,用于专有时钟、复位等控制信号线。在实际设计中,布局布线器会根据输入逻辑网表的拓扑结构和约束条件自动选择布线资源来连接各个模块单元。底层嵌入功能单元和内嵌专用硬核为FPGA提供了特定的功能支持。例如,底层嵌入功能单元可实现一些基本的数字信号处理功能,如加法、乘法等;内嵌专用硬核则可实现更复杂的功能,如高速串行收发器(SERDES)、数字信号处理(DSP)模块等,这些硬核通常经过优化,能够提供更高的性能和效率。FPGA的工作原理基于其可编程特性,通过向内部静态存储单元加载编程数据来确定逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,从而实现各种自定义设计。用户可根据不同的配置模式,采用不同的编程方式,如通过专用的编程器或在线编程等方式将编程数据下载到FPGA中。加电时,FPGA芯片将外部存储设备(如EPROM)中的数据读入片内编程RAM中,配置完成后进入工作状态;掉电后,片内RAM数据丢失,FPGA恢复成初始状态,内部逻辑关系消失,因此可以反复编程使用。这种可编程特性使得FPGA在数字电路设计中具有极高的灵活性,能够快速响应不同的设计需求,无需像ASIC那样进行复杂的掩模制作和投片生产过程,大大缩短了产品的开发周期。3.2FPGA在GPS基带处理中的优势体现在GPS接收机基带处理中,FPGA凭借其独特的特性展现出多方面的显著优势。并行处理能力是FPGA的一大突出优势。GPS信号处理涉及大量复杂的运算,如信号捕获时需要对多个频率和码相位进行搜索,信号跟踪过程中要实时处理多路信号以保持对卫星信号的锁定。FPGA内部包含大量可并行工作的逻辑单元,能够同时对多个数据进行处理。以信号捕获为例,采用并行码相位搜索法,FPGA可以利用其并行处理能力,在同一时刻对多个码相位进行相关运算,快速确定信号的大致码相位和载波频率,大大缩短捕获时间。相比之下,传统的数字信号处理器(DSP)采用串行处理方式,在处理多任务时需要分时执行,处理速度较慢,难以满足GPS信号实时处理的高要求。据相关研究表明,在相同的信号捕获算法下,采用FPGA实现的捕获时间可比DSP缩短数倍,能够有效提高GPS接收机的响应速度,使其在快速移动或信号频繁变化的环境中也能迅速捕获卫星信号,提升定位的及时性和准确性。灵活性是FPGA在GPS基带处理中的另一重要优势。FPGA的可编程特性使其能够根据不同的应用需求和算法改进,方便地对内部逻辑进行重新配置和修改。在GPS技术不断发展的过程中,新的信号处理算法和功能需求不断涌现,如针对不同环境下的抗干扰算法优化、多系统兼容处理等。利用FPGA,研发人员可以通过修改硬件描述语言代码或下载新的配置文件,快速实现算法的更新和功能的扩展,无需重新设计硬件电路。例如,当需要增强GPS接收机在城市峡谷环境中的抗多径干扰能力时,可以通过在FPGA上实现新的多径抑制算法来优化基带处理功能,而对于采用专用集成电路(ASIC)实现的基带处理器,若要进行类似的功能改进,则需要重新进行芯片设计、流片等复杂过程,成本高且周期长。这种灵活性使得FPGA能够更好地适应GPS技术的发展和变化,满足不同用户和应用场景的多样化需求。实时性对于GPS接收机基带处理至关重要,而FPGA在这方面表现出色。GPS信号是实时传输的,要求基带处理器能够及时对信号进行处理,以提供准确的定位信息。FPGA的硬件并行处理结构和快速的时钟频率,使其能够在极短的时间内完成复杂的信号处理任务。在信号跟踪阶段,FPGA可以实时调整本地码和载波的相位,以紧密跟踪卫星信号的变化,确保信号解扩和解调的准确性。与基于软件实现的基带处理方式相比,FPGA的硬件实现方式避免了软件执行过程中的指令读取、译码和执行等时间开销,大大提高了处理速度,能够满足GPS信号实时处理的严格时间要求。例如,在高动态环境下,卫星信号的多普勒频移变化迅速,FPGA能够快速响应并调整处理参数,保证信号的稳定跟踪,而软件处理方式可能会因为处理速度跟不上信号变化而导致跟踪失锁,影响定位精度。低功耗特性也是FPGA在GPS基带处理中的优势之一。随着GPS技术在移动设备和便携式应用中的广泛应用,对设备的功耗要求越来越严格。FPGA采用先进的CMOS工艺制造,内部逻辑单元在不工作时可以处于低功耗状态,并且通过合理的设计和优化,可以进一步降低功耗。在一些手持GPS设备或卫星导航终端中,使用FPGA实现基带处理功能,能够在保证性能的前提下,有效降低设备的功耗,延长电池续航时间。例如,某些基于FPGA的GPS接收机基带处理器,通过采用动态功耗管理技术,根据信号处理的负载情况动态调整工作频率和电压,使得功耗比传统的基带处理方案降低了30%以上,提高了设备的便携性和使用便利性。3.3基于FPGA的GPS基带处理系统架构基于FPGA的GPS接收机基带处理系统架构主要由数字下变频模块、信号捕获模块、信号跟踪模块、导航电文解调模块以及其他辅助模块组成,各模块之间协同工作,实现对GPS信号的高效处理。数字下变频模块是基带处理系统的前端,其主要作用是将射频前端送来的中频信号转换为适合后续处理的基带信号。该模块通常包括混频器、滤波器和抽取器等组件。混频器将中频信号与本地振荡信号相乘,实现频率搬移,将高频信号转换为低频信号;滤波器用于滤除混频过程中产生的高频杂波和噪声,提高信号的质量;抽取器则通过降低采样率,减少数据量,降低后续处理的复杂度。例如,在一个典型的GPS接收机中,射频前端将接收到的L波段信号下变频到中频(如4.092MHz),数字下变频模块再将其进一步下变频到基带,并将采样率从几十MHz降低到几MHz,为后续的信号捕获和跟踪提供合适的数据。数字下变频模块输出的基带信号包含了GPS信号的载波、伪随机码和导航电文等信息,这些信息将被传输到信号捕获模块进行进一步处理。信号捕获模块的任务是快速确定GPS卫星信号的存在及其大致的码相位和载波频率。在这一模块中,通常采用滑动相关捕获算法或基于快速傅里叶变换(FFT)的快速捕获算法等。滑动相关捕获算法通过将本地生成的伪随机码与接收到的信号进行逐位滑动相关,计算相关值,当相关值超过一定阈值时,认为捕获到信号,并确定信号的大致码相位和载波频率。基于FFT的快速捕获算法则利用傅里叶变换将时域信号转换到频域,通过在频域进行快速相关运算,实现信号的快速捕获,大大提高了捕获速度。信号捕获模块在接收到数字下变频模块输出的基带信号后,会对多个卫星信号进行并行搜索,以尽快捕获到可用的卫星信号。一旦捕获到信号,模块会将捕获到的信号参数(如码相位、载波频率等)传输到信号跟踪模块,为后续的信号跟踪提供初始条件。信号跟踪模块负责精确锁定信号的码相位和载波频率,确保信号解扩和解调的准确性。该模块主要由码跟踪环和载波跟踪环组成。码跟踪环通常采用延迟锁定环(DLL),通过生成早码、即时码和延迟码,与接收信号相乘累加,根据相关值计算本地即时码与接收码的码相位差,进而调整本地码,使即时码与接收码的相关性最大。载波跟踪环常见的有锁相环(PLL)和锁频环(FLL),PLL能紧密跟踪信号,输出精确的载波相位测量值,但对动态应力的容忍性较差;FLL动态性能较好,能容忍高动态应力以及射频、多路径和电离层风暴等干扰,但对信号的跟踪略欠紧密,环路噪声较高。在实际应用中,常采用FLL/PLL相结合的载波跟踪方式。信号跟踪模块根据信号捕获模块提供的初始参数,对捕获到的信号进行实时跟踪,不断调整本地码和载波的相位,以适应卫星信号的变化。同时,模块还会将跟踪过程中得到的信号解扩结果传输到导航电文解调模块。导航电文解调模块的作用是从解扩后的信号中恢复出导航电文。该模块首先对信号进行解调,将调制在载波上的导航电文分离出来,然后进行解码,提取出卫星星历、时钟改正、电离层延迟修正等关键信息。在解调过程中,需要根据GPS信号的调制方式和编码规则,采用相应的解调算法和纠错算法,以确保准确恢复导航电文。例如,对于采用二进制相移键控(BPSK)调制的GPS信号,导航电文解调模块会通过与本地载波相乘,实现信号的相干解调,再经过一系列的解码和纠错处理,得到原始的导航电文。这些导航电文信息将被进一步传输到定位解算模块,用于计算接收机的位置、速度和时间。除了上述主要模块外,基于FPGA的GPS基带处理系统还包括一些辅助模块,如时钟模块、控制模块和数据存储模块等。时钟模块为整个系统提供稳定的时钟信号,确保各模块的同步工作;控制模块负责对系统的工作流程进行控制和管理,协调各模块之间的通信和数据传输;数据存储模块用于存储中间处理结果和导航电文等数据,以便后续处理和分析。这些辅助模块与主要模块相互配合,共同构成了一个完整、高效的GPS基带处理系统。在数据流向方面,GPS信号从天线接收后,经过射频前端处理进入数字下变频模块,然后依次经过信号捕获模块、信号跟踪模块和导航电文解调模块,最终输出导航电文和相关的定位信息,实现对GPS信号的完整处理和定位功能。四、GPS接收机基带处理算法研究4.1信号捕获算法4.1.1滑动相关捕获算法滑动相关捕获算法是一种经典的信号捕获方法,其原理基于伪随机码(PN码)的良好自相关特性。在GPS信号中,C/A码作为一种伪随机码,具有尖锐的自相关峰。当本地生成的C/A码与接收到的卫星信号中的C/A码相位完全对齐时,它们的相关值会达到最大,通过检测这个最大相关值,就可以确定卫星信号的存在以及其大致的码相位和载波频率。该算法的实现步骤如下:首先,在本地生成与GPS卫星信号中C/A码相同的本地码,同时设置一个载波频率搜索范围。然后,将本地码与接收到的信号在不同的码相位和载波频率假设下进行相关运算。具体来说,让本地码在一个码周期内逐位滑动,与接收信号进行相乘并累加,得到一个相关值。接着,改变载波频率,再次进行上述相关运算,直到遍历完整个载波频率搜索范围。在这个过程中,记录下每个相关运算得到的相关值。当某个相关值超过预先设定的阈值时,就认为捕获到了卫星信号,此时对应的码相位和载波频率即为捕获结果。以某实际应用场景为例,假设接收信号的采样率为40MHz,C/A码的码速率为1.023MHz,载波频率范围为1575.42MHz±10kHz。在捕获过程中,本地码以1/2码片的步长在一个码周期(1ms)内滑动,即总共需要进行2046次滑动相关运算。对于每个码相位假设,载波频率以100Hz的步长在1575.42MHz±10kHz范围内变化,共需要进行201次频率搜索。通过这种方式,对每个可能的码相位和载波频率组合进行相关运算,最终捕获到卫星信号。滑动相关捕获算法的性能特点较为突出。它的优点是原理简单,易于理解和实现,不需要复杂的数学运算和硬件资源。在信噪比相对较高的环境下,能够准确地捕获到卫星信号。然而,该算法也存在明显的缺点,其捕获时间较长。由于需要在整个码相位和载波频率范围内进行逐点搜索,当搜索范围较大时,计算量会呈指数级增长,导致捕获时间大幅增加。此外,在低信噪比环境下,噪声的干扰会使相关值的波动增大,容易出现误判,降低了捕获的可靠性。4.1.2基于FFT的快速捕获算法基于快速傅里叶变换(FFT)的快速捕获算法,是利用FFT将时域信号转换到频域,从而实现快速捕获GPS卫星信号的方法。其原理主要基于信号在时域和频域的相关性不变性。在时域中,通过滑动相关计算信号的相关性需要大量的乘法和累加运算,计算量巨大;而在频域中,利用FFT可以快速计算信号的频谱,然后通过频域相关运算来确定信号的存在及其参数,大大提高了计算效率。具体来说,首先对接收信号进行采样,得到离散的时域信号。然后,将接收信号与本地生成的C/A码在时域中相乘,得到混合信号。接着,对混合信号进行FFT变换,将其转换到频域。同时,对本地C/A码也进行FFT变换。在频域中,将混合信号的频谱与本地C/A码的频谱进行共轭相乘,得到相关频谱。最后,对相关频谱进行逆FFT变换,将其转换回时域,得到相关值。通过检测相关值的峰值,判断是否捕获到卫星信号,并确定其码相位和载波频率。与滑动相关捕获算法相比,基于FFT的快速捕获算法在捕获速度和灵敏度上具有显著优势。在捕获速度方面,由于FFT算法的高效性,能够大大减少计算量,从而缩短捕获时间。例如,对于同样的信号参数和搜索范围,采用滑动相关捕获算法可能需要数秒甚至数十秒的捕获时间,而基于FFT的快速捕获算法可以将捕获时间缩短到几十毫秒甚至更短,能够满足实时性要求较高的应用场景。在灵敏度方面,该算法通过频域处理,能够更好地抑制噪声的影响,提高信号的信噪比,从而在低信噪比环境下也能保持较高的捕获成功率。然而,基于FFT的快速捕获算法也存在一些局限性,它对硬件资源的要求较高,需要具备高速的FFT运算单元和较大的内存来存储中间计算结果;并且算法的复杂度相对较高,实现难度较大,对开发人员的技术水平要求也较高。4.1.3算法选择与优化在实际应用中,需要根据GPS接收机的应用场景和性能需求来选择合适的捕获算法。对于一些对实时性要求不高、信号环境较为稳定且信噪比相对较高的应用场景,如静态定位的测绘仪器等,滑动相关捕获算法因其简单可靠的特点,可以作为一种选择。虽然它的捕获时间较长,但在这种场景下,对捕获速度的要求相对较低,而算法的稳定性和准确性更为重要。然而,在大多数实际应用中,尤其是在动态环境下,如车载导航、航空航天等领域,由于卫星信号的多普勒频移变化较大,对捕获速度的要求较高,基于FFT的快速捕获算法则更为适用。它能够快速捕获到卫星信号,满足实时定位的需求。为了进一步提高捕获效率,可以对选定的算法进行优化。对于滑动相关捕获算法,可以采用并行处理技术,利用FPGA的并行特性,同时对多个码相位或载波频率进行相关运算,从而缩短捕获时间。还可以通过优化搜索策略,如采用变步长搜索方法,在搜索初期采用较大的步长快速缩小搜索范围,在接近信号真实参数时采用较小的步长进行精确搜索,以提高搜索效率。对于基于FFT的快速捕获算法,可以通过优化FFT算法的实现,如采用高效的FFT核,减少计算时间和资源消耗;还可以结合其他辅助信息,如历书数据、惯性导航数据等,缩小载波频率和码相位的搜索范围,进一步提高捕获速度和准确性。例如,利用历书数据可以预先估计卫星的大致位置和速度,从而估算出信号的多普勒频移范围,减少载波频率搜索的盲目性,提高捕获效率。4.2信号跟踪算法4.2.1码跟踪环码跟踪环的主要作用是精确跟踪GPS卫星信号中的伪随机码(如C/A码)的相位,确保信号解扩的准确性。其工作原理基于闭环反馈控制,通过不断调整本地生成的伪码相位,使其与接收信号中的伪码相位保持一致。非相干延迟锁定环(DDLL)是码跟踪环中常用的一种结构。它主要由早码相关器、即时码相关器、迟码相关器、码鉴相器、环路滤波器和数控振荡器(NCO)等部分组成。早码相关器和迟码相关器分别产生与接收信号中伪码相位提前和滞后半个码片的本地伪码,即时码相关器产生与接收信号中伪码相位相同的本地伪码。这三个相关器分别将各自的本地伪码与接收信号进行相关运算,得到早码相关值、即时码相关值和迟码相关值。码鉴相器根据早码相关值和迟码相关值计算出本地即时码与接收码的码相位差。具体计算方法通常是将早码相关值减去迟码相关值,得到的差值反映了码相位的偏差情况。例如,当早码相关值大于迟码相关值时,说明本地伪码相位滞后于接收信号中的伪码相位;反之,则说明本地伪码相位超前。环路滤波器对码鉴相器输出的码相位差信号进行滤波处理,去除噪声和高频干扰,得到一个平滑的控制信号。NCO根据环路滤波器输出的控制信号调整本地伪码的生成时钟,从而改变本地伪码的相位,使即时码与接收码的相关性最大,实现码相位的精确跟踪。在低信噪比环境下,DDLL具有一定的优势。由于它采用非相干处理方式,不需要精确的载波相位信息,对载波相位噪声的敏感性较低。在低信噪比情况下,载波相位噪声可能会对相干处理的码跟踪环产生较大影响,导致跟踪性能下降,而DDLL通过非相干处理,能够在一定程度上抑制噪声的干扰,保持相对稳定的跟踪性能。例如,在城市峡谷等复杂环境中,GPS信号容易受到多径效应和噪声的干扰,信噪比较低,DDLL能够较好地适应这种环境,准确跟踪信号的码相位,保证信号解扩的准确性,为后续的定位解算提供可靠的数据基础。4.2.2载波跟踪环载波跟踪环的主要任务是跟踪GPS卫星信号的载波相位和频率,确保信号解调的准确性。其原理是通过一个闭环反馈系统,不断调整本地载波的相位和频率,使其与接收信号的载波相位和频率保持同步。Costas锁相环是载波跟踪环中一种常用的结构,它主要由同相支路(I支路)、正交支路(Q支路)、鉴相器、环路滤波器和压控振荡器(VCO)等部分组成。输入的GPS信号被分成两路,一路与本地载波的余弦信号相乘,得到同相分量;另一路与本地载波的正弦信号相乘,得到正交分量。这两个分量分别经过低通滤波器,滤除高频分量,得到基带信号I和Q。鉴相器根据I和Q信号计算出本地载波与接收信号载波之间的相位差。常见的鉴相方法是通过反正切函数计算I和Q的比值,得到相位差信息。环路滤波器对鉴相器输出的相位差信号进行滤波处理,平滑噪声和干扰,得到一个控制信号。VCO根据环路滤波器输出的控制信号调整本地载波的频率和相位,使本地载波与接收信号载波保持同步。Costas锁相环在处理相位翻转问题上具有一定的能力。在GPS信号传输过程中,由于多径效应、噪声干扰等因素,可能会导致信号的相位发生180°翻转,即信号的极性发生改变。Costas锁相环通过其特殊的结构和鉴相算法,能够检测到这种相位翻转,并进行相应的调整。例如,当检测到相位翻转时,通过调整鉴相器的输出或者对本地载波进行反相处理,使环路重新锁定到正确的相位,保证信号解调的正确性。在载波跟踪中,Costas锁相环能够准确跟踪载波的相位和频率变化,为导航电文的解调提供稳定的载波信号,确保解调过程的准确性和可靠性。在高动态环境下,卫星信号的载波频率变化较快,Costas锁相环能够快速响应这种变化,及时调整本地载波的频率和相位,保持对信号的稳定跟踪。4.2.3跟踪环路的耦合与优化码跟踪环和载波跟踪环在GPS接收机基带处理中并不是孤立工作的,它们之间存在着紧密的耦合关系。这种耦合主要体现在以下几个方面:一方面,码相位的变化会影响载波相位的跟踪。由于伪随机码的调制作用,码相位的偏差会导致载波相位的抖动,从而影响载波跟踪环的性能。例如,当码跟踪环未能准确跟踪码相位时,会使解扩后的信号中残留码间干扰,这种干扰会叠加到载波信号上,导致载波相位测量误差增大,进而影响载波跟踪环的锁定精度。另一方面,载波相位的误差也会对码跟踪环产生影响。如果载波跟踪环不能准确跟踪载波相位,会使解调后的码信号产生相位偏差,影响码跟踪环对码相位的准确测量和调整。为了优化跟踪环路的性能,可以采取以下方法:一是采用联合跟踪策略,将码跟踪环和载波跟踪环进行联合设计和调整。通过共享一些信息,如频率估计值、相位估计值等,使两个跟踪环能够相互协作,提高整体的跟踪性能。例如,在载波跟踪环中得到的精确载波频率估计值,可以用于辅助码跟踪环,调整本地伪码的生成时钟,使其与载波频率更好地匹配,从而提高码跟踪的精度。二是优化环路滤波器的参数。根据不同的应用场景和信号特性,合理选择环路滤波器的带宽、阶数等参数,以平衡跟踪性能和抗干扰能力。在高动态环境下,适当增大环路滤波器的带宽,以提高跟踪环对信号变化的响应速度;在低信噪比环境下,减小环路滤波器的带宽,以抑制噪声干扰,提高跟踪的稳定性。三是采用自适应跟踪算法,根据信号的实时变化情况,动态调整跟踪环的参数和工作模式。例如,在信号受到强干扰时,自动调整跟踪环的增益和滤波参数,增强抗干扰能力;在信号稳定时,优化跟踪环的性能,提高定位精度。通过这些优化方法,可以提高信号跟踪的稳定性和准确性,确保GPS接收机在各种复杂环境下都能可靠地工作。4.3导航电文解调算法导航电文解调的目的是从经过解扩和解调的GPS信号中提取出包含卫星星历、时钟校正、电离层延迟修正等重要信息的导航电文。其原理基于GPS信号的调制方式和编码规则,通过一系列的处理步骤来恢复原始的导航电文。首先,需要进行位同步,即从接收信号中准确找到数据比特的边缘。由于GPS导航电文的数据速率为50bps,伪码的速率是1.023MHz,积分清除时间通常为1ms,与一个伪码同步。而每一个数据比特的时长为20ms,因此需要找到真实数据中每20ms的开始端。考虑到导航电文中相邻数据比特之间可能会发生相位跳变,且每一个宽20ms的数据比特起始沿在时间上必定与伪码周期的第一个码片起始沿重合,理想情况下,相邻两个1ms宽的数据之间如果发生相位跳变,则发生跳变的地方必然是20ms数据比特的起始沿。但实际由于受到真实数据和噪声等因素的干扰,相邻1ms之间的相位跳变次数有一定的范围,所以通常采用直方图判断的方法实现位同步。具体来说,设定一个位同步时间,如1秒钟,设置两个门限N1和N2(例如N1=25,N2=15)。通过统计一定时间内相邻1ms数据之间的相位跳变次数,当计数器结果达到或超过门限N1时,则其对应符号位的起始时刻宣布建立位同步。需要注意的是,由于载波环采用的是二象限反正切鉴相器,所解调出来的数据存在180°相位模糊度的问题,这需要在后续的帧同步过程中进一步解决。完成位同步后,接着进行帧同步,即从接收信号中找到子帧起始边缘。帧同步过程是在取得码相位跟踪、载波频率跟踪和数据位同步之后进行的,其主要目的是将相关器20ms历元计数器的起始位置与子帧起始位置相对应起来,从而将接收机时间与GPS时相对应起来,使得1ms与20ms历元计数器真正表达GPS时的秒内计数。同步过程另一个重要的作用就是对前面各个同步过程的一个总的校验,是数据解调之后的校验,因而也是最为严格的。GPS导航电文一共有5帧,每一帧有10个字,每1个字由30bit组成。每一帧的前两个字为遥测字(TLM)和交接字(HOW),各30比特,其中TLM的前8bit也就是每一帧的前8bit都为固定的“10001011”(0x8b),同时每一个字的最后6bit(24-30)为奇偶校验标志位。因此帧同步不仅需要寻找到“10001011”帧头,同时还要把找到的数据组成完整的帧并通过奇偶校验才能确保后面的运算正确进行。在查找帧头的时候需要考虑180°相位模糊度的问题,由于卫星实际播发的数据中,每一个子帧的最后两位被控制为“00”,所以每一帧的帧头不会受到奇偶校验位的影响,也就是永远都为“10001011”,因而可以通过对帧头的判断来消除180°相位模糊度问题。在完成位同步和帧同步后,就可以从解扩后的信号中提取导航电文。根据GPS导航电文的编码规则,对同步后的信号进行解码处理,去除调制在信号上的伪随机码和载波,恢复出原始的导航电文信息。这些导航电文信息将被进一步用于定位解算,为计算接收机的位置、速度和时间提供关键数据。4.4定位解算算法基于最小二乘法的伪距定位算法是GPS定位解算中常用的一种方法。其原理是通过测量接收机到多个卫星的伪距,利用三角测量原理来确定接收机的位置。在理想情况下,假设卫星的位置已知,通过测量得到接收机到三颗卫星的伪距,就可以通过解方程组来确定接收机在三维空间中的位置(经度、纬度和高度)。然而,由于测量过程中存在各种误差,如卫星钟差、接收机钟差、信号传播延迟等,实际需要测量到四颗或更多卫星的伪距,采用最小二乘法来求解接收机的位置参数,以提高定位精度。具体实现步骤如下:首先,根据卫星的星历数据计算出各个卫星在空间中的坐标(Xi,Yi,Zi),其中i表示卫星编号。然后,通过信号捕获和跟踪得到接收机到各个卫星的伪距ρi。伪距测量值中包含了卫星钟差、接收机钟差以及信号传播延迟等误差,设接收机钟差为Δt,卫星钟差为δti,则实际的距离di与伪距ρi之间的关系为:di=ρi+c(Δt-δti),其中c为光速。根据距离公式,di五、基于FPGA的基带处理器硬件设计5.1FPGA选型与开发环境在基于FPGA的GPS接收机基带处理器设计中,FPGA的选型至关重要,需综合考虑多方面因素以满足系统性能需求。本次设计选用了Xilinx公司的Kintex-7系列FPGA,型号为XC7K325T。该系列FPGA具有丰富的逻辑资源、高速的处理能力以及低功耗等优点,适用于对资源和性能要求较高的GPS基带处理应用。XC7K325T拥有大量的查找表(LUT)和触发器,可满足复杂逻辑功能的实现需求;其内置的高速串行收发器(SERDES)可实现高速数据传输,满足GPS信号高速采样和处理的数据速率要求;同时,该型号FPGA采用了先进的28nm工艺,在保证高性能的同时,有效降低了功耗,适合应用于对功耗有一定限制的便携式GPS设备中。开发环境方面,采用了Xilinx公司的集成开发环境ISE(IntegratedSoftwareEnvironment)。ISE是一款功能强大、全面的FPGA开发工具,为开发者提供了从设计输入、综合、仿真到实现的完整流程支持。在设计输入阶段,ISE支持多种输入方式,包括原理图输入、硬件描述语言(如VHDL和Verilog)输入等,开发者可根据自身需求和习惯选择合适的方式。例如,对于逻辑关系较为复杂、模块复用性较高的部分,采用硬件描述语言进行设计,能够提高代码的可读性和可维护性;而对于一些简单的逻辑模块或接口电路,使用原理图输入方式则更加直观、便捷。在综合环节,ISE的综合工具能够将设计输入转化为门级网表,并进行优化,以提高电路的性能和资源利用率。它会根据用户设置的约束条件,如时序约束、面积约束等,对电路进行合理的优化,确保设计满足性能要求的同时,尽量减少资源消耗。例如,通过优化逻辑结构,减少不必要的逻辑门和寄存器,提高电路的运行速度;通过合理分配逻辑资源,避免资源的浪费和冲突,提高资源利用率。仿真功能是ISE的重要特性之一。它提供了功能仿真和时序仿真两种方式。功能仿真用于验证设计的逻辑功能是否正确,在不考虑电路延时的情况下,对设计进行测试,能够快速发现逻辑错误。时序仿真则考虑了电路的实际延时,包括门延时、线延时等,能够更准确地模拟电路在实际运行中的情况,确保设计在时序上的正确性。通过仿真,开发者可以对设计进行全面的验证,提前发现并解决潜在的问题,减少硬件调试的时间和成本。实现阶段,ISE会将综合后的网表映射到具体的FPGA芯片上,进行布局布线等操作,生成可下载到FPGA芯片的编程文件。在这个过程中,ISE会根据FPGA芯片的特性和用户的约束条件,合理安排逻辑单元的位置,优化布线资源,以确保电路的性能和可靠性。例如,将关键路径上的逻辑单元放置在相邻位置,减少布线延时;合理分配I/O引脚,满足外部接口的电气特性要求。此外,ISE还提供了丰富的IP核资源,如数字信号处理(DSP)IP核、存储器IP核等。这些IP核经过了严格的测试和优化,具有较高的性能和可靠性,开发者可以直接调用,减少开发时间和工作量。在设计数字下变频模块时,可以使用ISE提供的数字滤波器IP核,快速实现高效的滤波功能;在实现信号捕获和跟踪模块时,利用其乘法器IP核,提高运算速度和精度。5.2数字下变频模块设计数字下变频模块是GPS接收机基带处理器的关键组成部分,其主要作用是将射频前端送来的中频信号转换为适合后续处理的基带信号,降低信号采样率,减少数据量,提高处理效率。该模块主要包括混频、滤波和抽取等操作。混频是数字下变频的第一步,其原理是将输入的中频信号与本地振荡信号相乘,实现频率搬移,将高频信号转换为低频信号。设输入的中频信号为x(t)=A\cos(2\pif_{IF}t+\varphi),其中A为信号幅度,f_{IF}为中频频率,\varphi为初始相位。本地振荡信号为y(t)=\cos(2\pif_{LO}t),其中f_{LO}为本地振荡频率。混频后的信号为z(t)=x(t)\cdoty(t)=A\cos(2\pif_{IF}t+\varphi)\cos(2\pif_{LO}t)。通过三角函数的积化和差公式\cos\alpha\cos\beta=\frac{1}{2}[\cos(\alpha+\beta)+\cos(\alpha-\beta)],可得z(t)=\frac{A}{2}[\cos(2\pi(f_{IF}+f_{LO})t+\varphi)+\cos(2\pi(f_{IF}-f_{LO})t+\varphi)]。通常选择f_{LO}=f_{IF},则混频后的信号中包含一个高频分量\cos(2\pi(2f_{IF})t+\varphi)和一个低频分量\cos(2\pi\varphi),通过低通滤波器滤除高频分量,即可得到低频的基带信号。在实际设计中,混频器采用数字乘法器实现,利用FPGA的逻辑资源生成本地振荡信号,并与输入的中频信号进行乘法运算。为了保证混频的准确性和稳定性,需要对本地振荡信号的频率和相位进行精确控制,可采用数控振荡器(NCO)来生成高质量的本地振荡信号。NCO通过对相位累加器的控制,能够产生频率和相位可精确调整的正弦和余弦信号,满足混频的需求。滤波是数字下变频模块的重要环节,其目的是滤除混频过程中产生的高频杂波和噪声,提高信号的质量。本设计采用了多级积分梳状(CIC)滤波器和半带滤波器相结合的方式。CIC滤波器具有结构简单、易于实现、无需乘法器等优点,适合用于大抽取率的滤波。其传递函数为H_{CIC}(z)=\left(\frac{1-z^{-N}}{1-z^{-1}}\right)^M,其中N为积分器的级数,M为梳状滤波器的级数。通过调整N和M的值,可以改变滤波器的频率响应和阻带衰减特性。CIC滤波器的过渡带较宽,阻带衰减相对较小,为了进一步提高滤波性能,在CIC滤波器后级联半带滤波器。半带滤波器的系数几乎一半为零,其滤波时的运算量可减少一半,且抽取因子固定为2。经过N级半带滤波器后,可以使采样率降低2^N倍,同时具有较好的抗混叠效果。通过CIC滤波器和半带滤波器的级联,能够有效滤除高频杂波和噪声,将信号的带宽降低到合适的范围,为后续的抽取操作提供高质量的信号。抽取是数字下变频的最后一步,其作用是通过降低采样率,减少数据量,降低后续处理的复杂度。在经过混频和滤波后,信号的带宽已经降低,此时可以进行抽取操作。抽取因子D根据后续处理的需求确定,通常选择合适的抽取因子,使得采样率满足奈奎斯特采样定理,同时尽量减少数据量。例如,若后续信号捕获和跟踪模块的处理能力有限,可适当增大抽取因子,降低数据速率;若对信号的细节要求较高,可减小抽取因子,保留更多的信号信息。在实际实现中,抽取操作通过对滤波后的信号进行隔点采样实现,例如,当抽取因子D=4时,每隔3个采样点取一个点,即可将采样率降低为原来的\frac{1}{4}。5.3信号捕获与跟踪模块设计信号捕获与跟踪模块是GPS接收机基带处理器的核心模块之一,其性能直接影响着接收机的定位精度和响应速度。本模块基于前面研究的捕获和跟踪算法,进行了相应的硬件设计。信号捕获模块的硬件结构主要包括本地码发生器、载波NCO、相关器和峰值检测电路等部分。本地码发生器用于生成与GPS卫星信号中伪随机码(如C/A码)相同的本地码,其码相位可通过控制信号进行调整。载波NCO则产生与卫星信号载波频率和相位相匹配的本地载波信号,同样可通过控制信号进行频率和相位的调整。相关器将本地码和本地载波与接收信号进行相关运算,计算相关值。峰值检测电路用于检测相关值的峰值,当相关值超过预先设定的阈值时,认为捕获到卫星信号,并输出捕获标志和对应的码相位、载波频率等参数。在接口设计方面,信号捕获模块的输入接口接收数字下变频模块输出的基带信号,以及系统时钟和复位信号等。输出接口则将捕获到的卫星信号参数(如码相位、载波频率、卫星ID等)传输给信号跟踪模块,同时输出捕获标志信号,通知后续模块已成功捕获到信号。为了确保数据传输的准确性和稳定性,接口设计遵循一定的通信协议,如采用同步传输方式,通过时钟信号同步数据的发送和接收;设置数据校验位,对传输的数据进行校验,确保数据的完整性。在资源利用方面,本地码发生器和载波NCO主要占用FPGA的逻辑资源,通过合理设计逻辑结构,可减少资源消耗。相关器通常需要多个乘法器和累加器,占用较多的逻辑资源和乘法资源。为了提高资源利用率,可采用并行处理技术,将多个相关器并行工作,同时对多个卫星信号进行捕获,在提高捕获速度的同时,充分利用FPGA的资源。峰值检测电路相对简单,主要占用少量的逻辑资源和比较器资源。通过对各部分资源的合理分配和优化设计,使信号捕获模块在满足性能要求的前提下,尽量减少对FPGA资源的占用。信号跟踪模块的硬件结构基于码跟踪环和载波跟踪环进行设计。码跟踪环采用非相干延迟锁定环(DDLL),主要包括早码相关器、即时码相关器、迟码相关器、码鉴相器、环路滤波器和数控振荡器(NCO)等部分。早码相关器和迟码相关器分别产生与接收信号中伪码相位提前和滞后半个码片的本地伪码,即时码相关器产生与接收信号中伪码相位相同的本地伪码。这三个相关器分别将各自的本地伪码与接收信号进行相关运算,得到早码相关值、即时码相关值和迟码相关值。码鉴相器根据早码相关值和迟码相关值计算出本地即时码与接收码的码相位差,环路滤波器对码鉴相器输出的码相位差信号进行滤波处理,得到一个平滑的控制信号。NCO根据环路滤波器输出的控制信号调整本地伪码的生成时钟,从而改变本地伪码的相位,使即时码与接收码的相关性最大,实现码相位的精确跟踪。载波跟踪环采用Costas锁相环,主要由同相支路(I支路)、正交支路(Q支路)、鉴相器、环路滤波器和压控振荡器(VCO)等部分组成。输入的GPS信号被分成两路,一路与本地载波的余弦信号相乘,得到同相分量;另一路与本地载波的正弦信号相乘,得到正交分量。这两个分量分别经过低通滤波器,滤除高频分量,得到基带信号I和Q。鉴相器根据I和Q信号计算出本地载波与接收信号载波之间的相位差,环路滤波器对鉴相器输出的相位差信号进行滤波处理,得到一个控制信号。VCO根据环路滤波器输出的控制信号调整本地载波的频率和相位,使本地载波与接收信号载波保持同步。信号跟踪模块的接口设计,输入接口接收信号捕获模块输出的捕获参数,作为跟踪的初始条件,同时接收数字下变频模块输出的基带信号和系统时钟信号等。输出接口将跟踪得到的码相位、载波相位和频率等参数传输给导航电文解调模块,用于解调导航电文。在资源利用方面,码跟踪环和载波跟踪环中的相关器、鉴相器、滤波器等部分占用较多的逻辑资源和乘法资源。通过优化电路结构,采用流水线技术和复用技术等,可提高资源利用率。例如,在相关器设计中,采用流水线结构,将乘法和累加操作分成多个阶段进行,提高运算速度的同时,减少资源的占用;在滤波器设计中,复用部分逻辑资源,实现多个滤波器的功能,降低资源消耗。5.4导航电文解调与定位解算模块设计导航电文解调与定位解算模块是GPS接收机基带处理器的重要组成部分,其硬件实现方案对于准确获取导航信息和实现高精度定位至关重要。导航电文解调模块的硬件实现主要包括位同步、帧同步和数据解码等功能单元。位同步单元采用直方图判断的方法实现,通过统计一定时间内相邻1ms数据之间的相位跳变次数,当计数器结果达到或超过设定的门限(如N1=25,N2=15)时,则其对应符号位的起始时刻宣布建立位同步。由于载波环采用的是二象限反正切鉴相器,所解调出来的数据存在180°相位模糊度的问题,这需要在后续的帧同步过程中进一步解决。帧同步单元利用GPS导航电文的帧结构特点进行设计,每一帧的前8bit都为固定的“10001011”(0x8b),且每一个字的最后6bit(24-30)为奇偶校验标志位。通过查找“10001011”帧头,并对找到的数据组成完整的帧进行奇偶校验,确保帧同步的准确性,同时消除180°相位模糊度问题。数据解码单元根据GPS导航电文的编码规则,对同步后的信号进行解码处理,去除调制在信号上的伪随机码和载波,恢复出原始的导航电文信息。在数据处理流程上,导航电文解调模块首先接收信号跟踪模块输出的解扩信号,经过位同步和帧同步处理后,确定导航电文的起始位置和数据边界。然后,对同步后的信号进行解码,提取出卫星星历、时钟校正、电离层延迟修正等关键信息。这些信息将被存储在相应的寄存器或存储器中,以便后续定位解算模块使用。在实际应用中,为了提高解调的准确性和可靠性,还可采用一些纠错编码和校验技术,如循环冗余校验(CRC)等,对解码后的数据进行校验,确保数据的完整性和正确性。定位解算模块基于最小二乘法的伪距定位算法进行硬件实现。该模块首先接收导航电文解调模块输出的导航电文信息,以及信号捕获和跟踪模块得到的伪距测量值。根据卫星的星历数据,计算出各个卫星在空间中的坐标(Xi,Yi,Zi),其中i表示卫星编号。然后,利用最小二乘法求解接收机的位置参数。设接收机钟差为Δt,卫星钟差为δti,则实际的距离di与伪距ρi之间的关系为:di=ρi+c(Δt-δti),其中c为光速。通过构建方程组,并利用最小二乘法求解该方程组,得到接收机的三维坐标(经度、纬度和高度)以及时间信息。在硬件实现中,定位解算模块主要包括坐标计算单元、方程组求解单元和时间校正单元等。坐标计算单元根据导航电文中的卫星星历数据,计算卫星的坐标;方程组求解单元采用硬件乘法器和加法器等逻辑单元,实现最小二乘法的运算,求解接收机的位置参数;时间校正单元根据卫星钟差和接收机钟差信息,对时间进行校正,提高定位的准确性。为了提高定位解算的速度和精度,可采用并行计算技术和优化的算法实现,如采用并行乘法器和流水线结构,加快计算速度;对最小二乘法算法进行优化,减少计算量和误差积累。导航电文解调模块和定位解算模块之间存在紧密的协同工作机制。导航电文解调模块为定位解算模块提供必要的导航信息和伪距测量值,定位解算模块则根据这些信息进行定位计算,并将计算结果反馈给其他模块,如显示模块或数据存储模块。在协同工作过程中,通过合理的接口设计和数据传输协议,确保数据的准确传输和处理。例如,采用同步传输方式,通过时钟信号同步两个模块之间的数据传输;设置数据缓冲区,避免数据丢失和冲突;对传输的数据进行校验和纠错,确保数据的可靠性。5.5硬件电路的综合与优化对设计的硬件电路进行综合是确保其能够在FPGA上正确实现的关键步骤。综合过程使用XilinxISE开发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论