《基于fpga的gnss软件接收机算法设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
意}分类号:型窆鱼Z:!UDC:39密级:公珏学号:QZ2兰2坌东南大学硕士学位论文基于FPGA的GNSS软件接收机算法设计与实现研究生姓名:汤堑堡导师姓名:匿盟速申请学位级别王堂亟±论文提交日期至Q!Q生鱼旦学位授予单位丕壶太堂答辩委员会主席戆匿盘学科专业名称戗墨型堂皇撞丕论文答辩日期至Q!Q生曼旦至墨旦学位授予日期至Q!Q生旦旦评阅人畔2010年6月 111111111111111111111Illl111111111111IIII\1760799TheDesignandRealizationofGNSSoftwareReceiverAlgorithmBasedonFPGAAThesisSubmittedtoSoutheastUniversityFortheAcademicDegreeofMasterofEngineeringBYTangXin--huaSupervisedbyProefssorChenXi—yuanSchoolofInstrumentScienceandEngineeringSoutheastUniversity,Nanjing,P.R.ChinaJune2010 创性声明研究生签名:盥蠢峄日期:坐>东南大学学位论文使用授权声明东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布(包括刊登)论文的全部或部分内容。论文的公布(包括刊登)授权东南大学研究生院办理。研究生签名:』蔓亟鞋导师签名:期:伽,d,6,岁 摘要在美国GPS的现代化、欧洲Galileo系统的出现、俄罗斯GLONASS的复兴和中国“北斗二代”部署的大背景下,软件接收机的研究已经称为一个必然的趋势。本文以GPS为对象,阐述了PRN(伪随机码)生成、GPS信号调制过程、接收机前端的下变频、采样等基本原理,同时详细分析了GPS信号捕获、跟踪过程。在GPS信号捕获环节中,为了能使算法适用于实际的硬件开发,改进了GPS捕获算法包括补零计算、循环相关改进、降采样。实验结果显示,补零计算可以弥补算法中采样点不基于2Ⅳ的不足,循环相关改进可以减少卷积的计算量,降采样可以减少整体计算数据量。三种改进算法的误差都在理论范围之内,不影响捕获的最终结果。在GPS信号跟踪环节中,主要推导了锁相环(PLL)、延迟锁定环(DLL)、锁频环(FLL)的模型,而且同时改进了跟踪环路,采用了FLL辅助PLL完成跟踪的方法,前期FLL与PLL共同工作,后期PLL独立工作。实验结果显示了该辅助方法的可行性与优越性(FLL能够辅助PLL快速跟踪上目标卫星以防失锁)。最后提出了各环路编程实现过程中的要点问题。最后探讨了Virtex2pFPGA开发板原理,详细说明了SystemGenerator中的XILINX模块的结构及参数配置。为了能在FPGA(可编程门阵列)上实现GPS信号并行捕获算法,采用了前面补零计算来弥补算法中采样点不基于2Ⅳ的不足,降采样来减少整体数据量,并且在Simulink环境下运用基于FPGA的应用软件SystemGenerator进行了并行捕获算法的FFT模块、虚数乘法模块,平方模块等搭建编程,同时采用了Matlab中的M文件将采样数据仿真成模拟信号导入完成仿真实验,并将仿真结果与Matlab结果进行了相应的比较和分析,得到与Matlab结果同样的捕获频率,虽码相位具有误差,但通过具体分析,该码相位误差由补零计算和降采样引起,证实了SystemGenerator在FPGA实现捕获算法可行性。、本文研究的基于SystemGenerator的FPGA开发,为以后软件接收机的后序硬件开发奠定了基础。关键字:GPS接收机;捕获;跟踪;FLL;FPGA;SystemGenerator 摘要ABSTRACTUnderthebackgroundofthemodemizationoftheGPS.thepresentofEuropeanGalileosystem.therevivalofRussianGLONASSandtheconstructionoftheChinesesecond.generationBeidousystem,thestudyofsoftwarereceiverhasbecomeatrend.Inthispaper,GPSistookasstudyobject.thebasicknowledgeofpseudorandomnoise(P剐叼,themodulationofGPSsignal,thetechnologyinvolvedinsignalconditioningincludingfrequencydownconversionandsamplingarestudied,meanwhile,theprocessesofGPSsignalacquisitionandtrackingareanalyzed.111GPSsignalacquisition,inordertoadaptthealgorithmtotheimplementationinhardware,thealgorithmisimprovedbythemethodsofzeropadding,modifiedacquisitionbycircularcorrelation,reducingsamplingrate.Throughthecorrespondingexperiments,itshowsthatzeropaddingcailsolvethelimitationofdatawhichiSnotbasedon2州.modifiedacquisitionbycircularcorrelationcanreducethenumbersinvolvedinconvolution.reducingsamplingrateCanlightenthewholeloanofprogramcomputation.Andtheerrorsfromthethreeadvancedalgorithmareacceptableintheorywhichwon’tinfluencethefinalresult.InGPStracking,themodelsofPLL,DLL,FLLareproved.AtthesametimethePLLisimprovedusingFLLtoassistPLLintracking.Atbeginning,FLLandPLLworktogether,afterawhile.PLLworkssingly、)IrithoutFLL.nleresultshowsthefeasibilityandadvantageofthismodifiedmethod(FLLCanassistPLLtotrackthesatellitequicklytoavoidthecasenotinalockstate).Later,thekeypointsinprogrammingarediscussed.Atlast.theprincipleofVirtex2pisdiscussed.ThestructureandtheparameterconfigurationofXINLINXmodelsinSystemGeneratorarestudied.InordertoimplementtheGPSparallelacquisitionalgorithminFPGA.themethodofzeropaddingisusedtosolvethelimitationofdatawhichisnotbasedon2一.andreducingsamplingrateisusedtodecreasethetotalnumberofdata.basedontheSimulinkenvironment,thesoftwareSystemGeneratorisusedtosetup也eFFTmodule,multiplierofimaginarynumber,squaremoduleoftheimprovedacquisitionalgorithm,theinputsignaliSgeneratedbyMfilefromthesampledata,thetworesultsfromMatlabandfieldprogrammablegatearray(FPGA)arecomparedandanalyzed,itshowsthatthesameacquisitionfrequencyCanbegotinSystemGenerator,Thoughthecodephasedeviatesalittle,itisdemonstratedthattheerroriscausedbyzeroaddingandreducingsamplingrate,inall,algorithmrealizationfeasibilitybasedonFPGAisverified.Keywords:GPSreceiver;aequisition;tracking;FLL;FPGA;SystemGeneratorⅡ 目录摘要⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一IABSTRACT⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯II目录⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一III第一章绪论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11.1研究背景与意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..11.2国内外发展现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.21.3本文主要内容与结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3第二章GPS接收机原理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯52.1GPS信号⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..52.1.1C,A码⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯52.1.2GPS载波信号与调制⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.102.2GPS接收机前端⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..j⋯⋯...⋯⋯⋯⋯⋯122.2.1下变频⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.122.2.2采样⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..132.3GPS信号捕获与跟踪⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一132.3.1GPS信号捕获⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..142.3.2GPS信号跟踪⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯152.4_、结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。15第三章GPS信号捕获算法及改进⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.163.1GPS捕获算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一163.1.1中频采样器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..163.1.2二维捕获⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.163.1.3串行捕获⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。173.1.4并行捕获⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..183.1.5模型理论推导⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.193.2精细频率估计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一203.3捕获算法编程实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.223.4捕获算法的改进及实验结果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..233.4.1补零计算⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯233.4.2循环相关改进⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.243.4.3降采样⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯273.5,J、结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯27第四章GPS信号跟踪算法研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯,..⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯294.1GPS信号跟踪⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯294.1.1线性模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.294.2锁相环(PLL)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯304.2.1PLL系统模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.304.2.2等效噪声宽度(NoiseEquivalentBandwidth)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯344.2.3PLL鉴相器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.354.2.4PLL编程实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.364.3延迟锁定环(DLL)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯374.3.1DLL鉴相器的选择⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.37III 目录4.3.2DLL编程实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯384.4锁频环(FLL)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯384.4.1FLL鉴相器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.394.4.2FLL编程实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..394.4.2FLL与PLL结合⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯394.5实验结果分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..404.5.1纯PLL跟踪卫星结果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯404.5.2等效噪声带宽、阻尼比对跟踪结果影响⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯414.5.3FLL辅助PLL跟踪实验分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯434.6卅、结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..46第五章捕获算法的FPGA仿真实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.485.1FPGA开发平台⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯485.2基于SystemGenerator的FPGA开发⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯505.2.1FPGA开发优点⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.505.2.2SystemGenerator开发⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯515.2.3SystemGenerator模块介绍⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一5l5.3实验测试⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.545.3.1FFT模块测试⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.545.3.2捕获算法仿真⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.575.4卅、结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..59第六章结论与展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯606,1本文工作总结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯606.2工作展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯60致谢⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.62参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯63攻读硕士期间发表论文⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯65IV 第一章绪论1.1研究背景与意义第一章绪论1901年无线电信号以莫尔斯码方式成功发送字母“S”跨越大西洋(从英格兰到达纽芬兰),预示着无线电世纪的到来,1903年美国怀特兄弟实现了航空飞行,航空也慢慢发展起来,如何应用无线电导航成为了一个热点研究方向【l】。GPS系统是基于美国在60年代研制使用的“子午仪(transit)卫星导航系统”和“时间导航(Timation)系统”,于70年代初投入开发的。从GPS计划的提出到该系统的建成使用,历经20余年,耗资数百亿美元【2】。截至2004年7月23日,在过去的近30年时间里,美国已经发射了50多颗GPS导航卫星,形成了目前为止世界上最为完善、应用最广泛的全球卫星导航系统,并且在海湾战争等一系列局部战争中发挥了重要的作用,使全世界重新开始认识卫星导航系统的战略意义【列。近几年,美国GPS的现代化,俄罗斯GLONASS的复兴和欧洲Galileo系统的出现即将带来下一代全球导航卫星定位系统(GNSS)。同样中国的北斗系统(BNTS)也正在慢慢发展中,BUTS覆盖范围有限,只能够为中国国内及周边地区的用户提供服务,以后也会通过更多的卫星组成区域性或者全球性的导航系统141。如今,国内导航领域对北斗系统(BNTS)的全面发展已经开始准备,为了能顺利设计、掌握本国自己的导航系统,接收机的研发已经义不容辞,现在国内高校、公司等开始慢慢研究接收机技术并努力将技术将用于实际的实践开发。自从1992年5月,在美国电信系统会议上,来自Mitre公司的JoeMitola首先提出了“SoftwareRadios”概念以来,软件接收机就被受到广泛的关注151。软件无线电的基本概念就是在一个通用硬件平台上,通过软件加载的方式用软件来实现所有无线电系统的通信功能。软件无线电的基本思想是将宽带模数变换器(A/D)及数模变换器(D/A)尽可能地靠近射频天线,建立一个具有“A/D—DSP-D/A”模型的通用的、开放的硬件平台,在这个硬件平台上尽量利用软件技术来实现电台的各种功能模块。目前GPS接收机由射频前端,用于信号处理的专用集成电路(ASIC)和进行位置解算的CPU组成。软件可以下载到CPU改变接收机的性能参数,然而预先设计的跟踪通道,相关器和控制环路参数已固化到ASIC中,其灵活性不强。相反,GNSS软件接收机通过软件实现其信号捕获和跟踪处理而不是硬件,由于软件接收机的开放性、全面可编程性、和灵活性的特点,在不需要更改硬件的前提下,通过对软件模块的调整和升级就可以满足不同用户的需要,因此,在整合GNSS各频段卫星导航数据中,有深远的意义[6-101。FPGA(FieldProgrammableGateArray)是一类高集成度的可编程逻辑器件,1985年起源于美国的XILINX公司,它是一种采用单元型结构的新型PLD器件,采用CMOS、SRAM工艺制作,在结构上与简单的阵列型PLD不同,它的内部由许多独立的可编程逻辑单元构成,各逻辑单元之间可以灵活地相互连接,具有密度高、速度高、编程灵活、可重新配置等优点。 第一章绪论在这二十几年的发展过程中,FPGA硬件系统和软件开发工具不断完善且日趋成熟。从最初的1200个可用门到现在的数百万至上千万的单片FPGA芯片。FPGA技术结合了微电子技术、电路技术、EDA技术,与专用的集成电路ASIC相比,FPGA具有灵活性高、设计周期短、成本低、风险小等优势,因而得到了广泛的应用111】,而且用FPGA替代一般的ASIC芯片进行设计已经成为一种发展趋势。一方面FPGA可以通过编写代码来实现复杂逻辑电路,另一方面其内部是由规则的逻辑阵列所组成,这样就可以开发出适应的专用芯片。最近几年里,FPGA已近成为数字信号处理系统的核心器件,尤其在数字通信、网络、视频和图像应用领域中112】。如今的FPGA不仅包含查表法、寄存器、多路复用器、分布式块存储器,而且嵌入了专用的快速加法器、乘法器和输入/输出设备。更重要的一点是FPGA具有实现高速并行运算的能力,这就使得FPGA成为高性能的数字信号处理方面的理想器件,如在数字滤波、快速傅立叶变换等方面,FPGA具有可重新编程的优点,比ASIC更实用f13】。传统的数字信号处理系统核心器件较多使用DSP处理器,因此数字信号处理系统的设计者和底层技术人员通常对C语言和汇编语言很熟悉,但是对硬件描述语言VHDL或Verilog并不熟悉,而且硬件描述语言最终要转换成硬件实现,这就要求工程师对硬件有一定的了解,使用XILlNUXSystemGeneratorforDSP可以使上述问题迎刃而解,SystemGenerator是一款理想的FPGA开发软件【141。本文主要以GPS为对象,详细研究了GPS信号捕获、跟踪以及基于软件SystemGenerator的FPGA开发,其思想可以贯通于其余导航系统,包括中国自制的北斗系统,与传统的接收机相比,软件接收机的优点主要有一下几点【15】:1、实时功率谱分析。可用于监视天线信号的频谱,检测窄带连续波干扰。2、中频数据重演。用户可以经常重复使用采集的原始射频信号,以优化算法和分析结果。3、多传感器组合。在软件层面上组合传感器数据;例如,允许用户利用惯性测量器件等的所有信息,获得“超紧耦合”的GPS/INS组合导航解。4、多相关器输出。允许用户采用先进的鉴相器与滤波器组合跟踪环路;在相关器层面对反射信号与多径干扰进行分析。总而言之,软件接收机为以后其他导航系统提供了方便的平台,将研究成本最低化,并显示出巨大的灵活性和商业潜力。而且为创新提供了一个极好的通道,同时为普通研究者一个理想的用于教学与研究的平台,能让更多的学者认知并投入其中,使之具有一个美好的未来。1.2国内外发展现状第一批GPS接收机研制于20世纪70年代,供DoD(美国国防部)验证GPS的可行性。1982年,为精密测量大地而设计的两款GPS接收机进入市场。麻省理工学院CharlesC.CounselmanxIII设计、Steinbrecher公司制造。1989年DoD开始发射数量足以布满星座的BlockII卫星,并发布了宣布系统运行的计划。从此,注意力开始向信号处理转移,专用集成电路(ASIC)被采用,最终实现了微型化发展Il】o经过多年的发展,基于AsIc硬件接收机技术早已成熟,近几年众多国内外学者开始研究软2 第一章绪论件接收机,并同时也取得了一系列明显的成就。理论知识已经慢慢趋于成熟,具有代表性的是PratapMisra(Lincolntaboratory)和PerEnge(StanfordUniversity)的GlobalPositioningSystem(Signals,Measurements,andPerformance),对GPS的基础、信号、接收机等做了详细的解释和理论推掣151。KaiBorre、DennisM.Akos等所著的ASoftware-DefinedGPSandGalileoReceive从信号处理的基本知识到在软件接收机的具体应用都描述的非常仔细【16l,国内也开始紧跟国外的理论发展。在基础知识之上,国外开始研究算法改进和及其理论分析。1997年8月,Ohio大学的DennisM.Akos在他的博士论文中讨论了GNSS软件接收机前端模拟信号的接收和模数转化(Front.End)的两种设计方案,并且事后处理并验正了卫星信号捕获的FFT算法的可行性和跟踪环路的稳定性。JAMESBAO-YENTSUI在FundamentalsofGlobalPositioningSystemReceiversASottwareApproach结合了matlab分析了软件接收机。并且提出了一种新的信号跟踪方法——_BASS(BlockAdjustmentofSynchronizingSignal)。基于理论知识的研究的深入,对算法的具体实现的研究也开始慢慢热起来,2005年在美国LongBeach,California的界国际卫星导航会议中Hun-SooChoSung-HyuckImGyu-InJee提出了基于SystemGenerator的软件接收机实现,提出软件在pc机中无法达到实时性,并对FPGA中实现理论分析。同样在最近的2007年的国际全球卫星导航会议中TaoHuangBinGuoMatthewTrinkle(澳大利亚)也类似的发了基于SystemGenerator的软件接收机实现问题的文章,主要做了跟踪环路的系统搭建并把它用于教学中。算法的移植和实时性技术仍待提高和改进【17】。在国内,对软件接收机的研究也开始慢慢增多,我国电子集团54所、航天704所、北京航空航天大学、国防科技大学、武汉大学、中科院等高校以及多家从事卫星导航设备开发的公司,都在GPS接收机的研制方面投入了较大的人力物力,并相继尝试开发GPS接收机,其中北航的软件接收机在pc机上的软件实现技术已经成熟。同样国内将FPGA大多应用于硬件接收机,也就是纯粹的用FPGA来实现ASIC电路,在用FPGA实现具体的软件接收机算法这块研究较少。目前GPS在我国的科研应用主要有如下明显缺点:(1)主要采用进口OEM板作为GPS接收机内核,并非自主研制;(2)主要是进行产品的二次开发,如GPS/GIS地理信息系统。总之而言,国内GNSS软件接收机的研究还处于起步水平【13捌】。1.3本文主要内容与结构本文主要介绍了GPS接收机发展背景、GPS接收机原理、FPGA芯片结构以及开发原理。在此基础上通过具体编程实验进行了进一步分析与改进。其中包括GPS信号捕获算法的改进,GPS信号跟踪环路的改进,加入了FLL来辅助PLL进行跟踪,最后在Simulink平台下用SystemGenerator软件仿真实现了捕获算法。全文共分六章,各部分结构如下:第一章:绪论介绍GNSS软件接收机、FPGA开发的研究背景、意义和国内外研究现状,概述论文主要内容和论文结构。第二章:GPS接收机原理对GPS信号的产生原理做了详细理论推导,包括C/A码发生器结构,GPS信号调制,接收机前端。.并介绍了GPS信号捕获与跟踪,为后面的信号处理打下了基础。 第一荦绪论第三章:GPS信号捕获算法及改进讨论了GPSC/A码信号捕获传统方法,包括串行、并行捕获,并在此基础上提出了三大改进方法,补零计算、循环相关改进、降采样。并用实验进行了验证。第四章:GPS信号跟踪算法研究主要分析了锁相环(PLL)、延迟锁定环(DLL)、锁频环(FLL)结构,详细推导了各自鉴别器理论依据。并改进了跟踪环路,采用了FLL辅助PLL方式。最后用相应实验进行了论证。第五章:捕获算法的FPGA仿真实现主要介绍了FPGA芯片结构原理,并详细论述了XILINX模块的参数配置,最后完成了相应实验。第六章:总结与展望论文完成工作的总结及后续研究的个人意见。4 第二章GPS接收机原理2.1GPS信号GPS卫星在不停的发射着两种波段的无线电波,分别是L1和L2波段,L波段覆盖的频率波段主要在1GHz和2GHz之间,L1和L2波段的中心频率分别是:LI:五l=1575.42MHz,L2:无2=1227.60MHz。其中L1中包含了两种信号,一个是给平面用的,另一个是需DoD(departmentofdefeme)批准的用户,L2上的信号则是专为DoD(departmentofdefense)批准的用户服务。GPS信号主要有3种组成:数据码(D码,或者基带信号)、测距码(C/A码、P码)和载波信号(L1和L2)。用户是用GPS接收机来接收GPS卫星信号,然后经过捕获跟踪等一系列相关处理来测出信号传播的时间延迟,从而得到相应的伪距(因为含有误差),从而完成定位等一系列功能。2.1.1C/A码GPS卫星信号主要有两种伪随机码(pseudo.randomnoise,PRN),他们分别是C/A(coarse/acquisition)码和P码,本文中主要讨论C/A码,C/A码是用于分址、捕获卫星信号和粗测距,具有一定的抗干扰能力,提供给民用。GPSC/A码是属于Gold码的伪随机码,信号是两个1023位的PRN序列Gl和(32产生的,其中,G1和G2都是由10位最大长线性移位寄存器组成,并且又同一个1.023MHz的时钟来驱动。r⋯⋯⋯⋯户K:。℃1发生器⋯~!11奄藿寄离幕—————:!驾巴』藕南爨i⋯⋯⋯⋯..皿.=Q;蕤器⋯⋯;图2.1GPSC/A码发生器两个产生器工作的基本原理一样,由带适当反馈的移位寄存器构成,如果移位寄存器位数为n,则产生的序列长度为2n.1。Gl和G2都是由10位寄存器组成,所以对应产生的序列长度为210.1=1023。反馈电路是由模2加法实现的。两个移位寄存器G1和G2的初值是全“l”且预先置入寄存器。卫星表示号(ID)是根据G2发生器的两个输出位置来决定的(图2.1)。总共有37个不同的输出序列,其中32个序列可为32颗卫星的C/A码所利用,且目前只有24颗卫星在运作,另外5个C/A码保留作为其他用途。 第二章GPS接收机原理表2.1C/A码相位分配规定卫星C/A码卫星C,A码卫星CIA码卫星C/A码PRN抽头PRN抽头PItN抽头PRN抽头号选择号选择号选择号选择l2o6113o42l5o83l30823o7125o6226o9324o93408136o723lo3335o1045o9147o8244o6344o105lo915809255o7351o7620616901026608362国87108171o4277o937401082o918205288olO930lO193o62910610203204o7302o7这组C/A码的码长、周期和数码率均相同。即:·码长:N=21001--1023bit周期:T=lms数码率:1.023Mbit/s由此可以推断出码元宽度为:to2斋嘉ms=0·97752ps,这样一个码元对应的距离为:3×10s×0.97752×10_6:293.3m。由于C/A码相对于P码比较短,所以易于捕获。在GPS定位中,为了捕获C/A码,以测定卫星信号的传播延迟,需要对所有的C/A码逐个搜索,通过C/A码捕获卫星后,获得导航电文后,便可以很容易地捕获P码(也是利用P码进行定位的思路)。C/A码的码元宽度较大,一个码元误差对应的测距误差为293.3m,由于精度较低,故C/A码也称为粗码。在用C语言或者Matlab进行C/A码发生器编程的时候,用两个长度为10的一维数组代替G1和G2且IJ可,然后根据具体的C/A码发生器结构进行具体的反馈操作,模2加法采用除2取余算法即可,如图2.1所示。6 第二章GPS接收机原理霄舌已铸零褥蠢图2.2C/AM的频谱图(将1023位扩h茈16367位后的C/A码)GPS信号采用C/A码是利用了其相关特性,该特性类似于数学中的三角函数的正交性,所谓的三角函数系【22J:l,COSX,sinx,cos2x,sin2x⋯,cosnx,sinnx,⋯在区间[一万,万】上正交,就是在三角函数系中任何不同的两个函数的乘积在区间【一万,万】上的积分等于零,即:ICOS/ocsinnx=O(k≠胛,k,刀=1,2,3,...)(2-1)其中区间卜刀,万】可以改成任何长度为2,r的区间。前面提过在对GPS信号进行捕获的时候,需要对所有的C/A码逐个搜索,这样做的目的是为了能搜索到可见星,因为不同的C/A码对应着不同的卫星,相当于一个对号入座的过程,恰恰类似与三角函数正交性的C/A码的相关特性提供了基础。如果码是正交的,则互相关的值就是零,Gold码虽然不是正交,但是接近于正交,这意味其互相关值不为零,但是非常小。从第K颗卫星得到的码的时间平均时问相关函数x∞(t)如下:'_Ro)=:Le础石‘。’o弦‘‘’o—f)西(2.2)1code”下面根据时间偏移和码元周期的关系来进行讨论【17】:首先,来看下时间偏移是码元周期的整数倍的情况,即f=ZZ:7 一.第二章GPS接收机原理—————————————————————————————————————————————————————————一一_尺p=f疋)=‘:声.c“x伪’(fh似’o—z乏)衍=}∑矗‰1巾code”o(2.3)巾、一。,=}(#agrePments一#disagrePments)上code2N(#agrePments一#disagree,咒ents).。.寸导结果只是简单的计数过程,即偏移后的波形和原波形极性相同的次数与极性不同的次数之差。很明显可以得到:R(r)≤尺(o)=1r广z2(f)沈1code=专@秽ements-#disagreements)(2-4)=1当f≠:iTc时,即时间延迟f落在f乏和(f+1)乏之间:R(r)=产f-x(f冷(卜r)衍2瓦1篇N-I山f£n+1)T‘xo)x(h)衍=瓦1篇N-IⅥfn+帅蚓枷(,一f)舢.(:nn+1)T—c—X(咖一f)衍)(2.5)=彳一1∑(%%+,幸(Tc—o—f互))+毛%+“。幸p—f乃))=R(iTc)(i+1一{})+R(o+1)乏)(若-一f)1C』C可见,相关函数尺(f乏
此文档下载收益归作者所有