GPS软件接收机中信号跟踪与Matlab仿真【毕业论文】

GPS软件接收机中信号跟踪与Matlab仿真【毕业论文】

ID:463715

大小:704.00 KB

页数:32页

时间:2017-08-05

上传者:U-944
GPS软件接收机中信号跟踪与Matlab仿真【毕业论文】_第1页
GPS软件接收机中信号跟踪与Matlab仿真【毕业论文】_第2页
GPS软件接收机中信号跟踪与Matlab仿真【毕业论文】_第3页
GPS软件接收机中信号跟踪与Matlab仿真【毕业论文】_第4页
GPS软件接收机中信号跟踪与Matlab仿真【毕业论文】_第5页
资源描述:

《GPS软件接收机中信号跟踪与Matlab仿真【毕业论文】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

本科毕业设计(20届)GPS软件接收机中信号跟踪与Matlab仿真摘要 GPS全称为“GlobalPositioningSystem”,即全球定位系统,是由美国国防部主导开发的一套具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航定位系统。随着GPS的升级和新的卫星导航系统的发展,相比较传统GPS接收机,GPS软件接收机具有的成本低、灵活性高等优点越来越突出。文中重点对GPS软件接收机的跟踪部分进行了研究,并在Matlab中进行了仿真。课题介绍了GPS信号包含的主要内容和GPS软件接收机的基本原理。主要任务是熟悉GPS软件接收机中载波跟踪和码跟踪环路的要求和基本原理,研究GPS软件接收机中采用非相干延迟锁定环(DLL)的码跟踪环路和采用COSTAS环的载波跟踪环路工作原理,并利用捕获得到的初始码相位和频率实现信号的跟踪。通过理论分析结合实验方法,最后在Matlab环境下进行仿真实验,完成GPS软件接收机的码相位跟踪设计。课题中采用的C/A码长度为1023,C/A码码片周期为1us,选择的跟踪时间为T≤10us。关键词:GPS软件接收机;非相干延迟锁定环(DLL);COSTAS环;C/A码 AbstractGPS,shortenfor“GlobalPositioningSystem”,isanewgenerationofsatellitenavigationandpositioningsystemresearchedanddevelopedmainlybyUnitedStatesDepartmentofDefense,whichcontainsinstantomnibearingthree-dimensionalnavigatingandpositioningofsea,landandsky.WiththedevelopmentofGPSupgradingandnewsatellitenavigationsystememerging,GPSsoftwarereceiverhasprominentadvantagessuchaslowcost,highflexibilityandsooncomparingtothetraditionalGPSreceiver.ThisarticlefocusesonresearchingtrackingpartofGPSsoftwarereceiverandemulatinginMatlab.ThissubjectintroducesthemaincontentsofGPSsignalandthebasicprinciplesofGPSsoftwarereceiver.Themajortasksareasfollows:tofamiliartherequirementsandbasicprinciplesofcarriertrackingloopandcodetrackingloopintheGPSsoftwarereceiver;tostudytheworkingprinciplesofnon-coherentdelay-lockloop’scodetrackingloopandCOSTASloop’scarriertrackingloop,andtorealizesignaltrackingthroughthecapturedphaseandfrequencyofinitialcode.Combiningtheoreticalanalysiswithempiricalapproach,itisfinallyperformingtheemulatingexperimentinMatlabenvironmentandfurtherfinishestheGPSsoftwarecodephasetrackingloopdesign.Inthesubject,thelengthofC/Acodeis1023,thechiploopcycleofC/Ais1us,andthetrackingtimeisT≤10us.KeyWords:GPSsoftwarereceiver;non-coherentdelay-lockloop;COSTASloop;C/Acode; 目录1 引言12GPS信号构成和软件接收机工作原理22.1GPS信号的结构与内容22.1.1载波信号22.1.2C/A码的生成原理32.1.3GPS导航电文52.2GPS软件接收机工作原理63GPS信号跟踪原理73.1载波跟踪原理73.1.1Costas载波跟踪环工作原理73.1.2Costas环鉴相器的选择93.2码相位跟踪原理103.3完整的跟踪环路114GPS软件接收机中信号跟踪的MATLAB仿真144.1Matlab仿真软件介绍144.2GPS接收信号的Matlab仿真144.3码相位跟踪仿真165 结论21致谢22参考文献23附录GPS信号跟踪仿真程序25 1 引言世界上第一台商业用途的GPS接收机面世至今己有近30年。以前的GPS接收机都是基于模拟信号处理,主要采用微处理器做应用计算工作。由于使用了大量的模拟器件,GPS接收机体积非常庞大。随着科技的进步以及集成电路技术的成熟,现代GPS接收机采用特定用途的ASIC码进行信号处理,并采用高速微处理器进行应用计算,实现了由模拟器件到数字固态器件的转变。这种利用集成电路制造的GPS接收机功能强大而且体积比较小,具有许多优点。上面所提到的GPS接收机均采用了大量模拟器件或集成电路来实现,通常称这种采用硬件来实现的接收机为传统GPS接收机。近几年来,随着数字信号处理技术的不断发展下,GPS卫星信号的接收处理越来越趋向于采用软件的方法来实现。这种方法是在接收机中使用ADC(Analog-to-digitalConverter),将接收到卫星信号在天线部分数字化,然后再使用软件来处理数字信号,实现用户位置的定位。在这种采用软件方法实现的GPS接收机中,硬件和软件方法几乎是独立的,具有很大的灵活性。通常,称这种采用软件方法的接收机为GPS软件接收机。随着全球卫星系统的发展和升级,GPS软件接收机具有的众多优点越来越突出。目前,GPS软件接收机的设计与实现己经成为众多研究机构的研究热点,本文也对GPS软件接收机中的信号跟踪部分进行了研究。GPS软件接收机跟踪环路的设计在环路参数与鉴相器选择上有很大空间。在分析GPS跟踪原理的基础上,对比码环与载波环不同鉴相器的性能,然后在不同环路参数下对跟踪效果进行了仿真比较,最后选择一组鉴相器并设计合适的环路参数,对捕获到的GPS中频信号进行跟踪,跟踪结果验证了设计环路的有效性。 2GPS信号构成和软件接收机工作原理2.1GPS信号的结构与内容GPS卫星发射的信号包含三部分:数据码(D码),测距码(C/A码和P码)和载波(L1和L2)。所有这三种信号分量都是在同一基本时钟频率控制下产生的,其结构如图2-1所示[1-2]。图2-1GPS卫星信号框图2.1.1载波信号GPS卫星使用的载波频率有L1和L2两部分,其中载波L1的中心频率为1575.42MHz,载波L2的中心频率为1227.6MHz。载波L1和L2都是基于卫星中的原子钟所产生的10.23MHz的基准频率形成的:(2-1)(2-2) 其中L1频段同时包含有C/A码和P(Y)码,L2频段只包含P(Y)码。卫星信号中载波的基本作用为传送导航电文和测距码。另外,由于卫星和接收机之间的相对运动,会使载波产生10KHz的多普勒频移。此频移量可以用于精确测定接收机的三维运动速度。在高精度定位中,载波本身也可作为一种测距信号使用,这时可以提高测距精度,本文研究的是低动态的GPS信号,所以对于多普勒频移造成的影响不考虑。2.1.2C/A码的生成原理每个GPS卫星发送的测距码有两种:精密测距码P(Y)码和粗捕获码C/A码,两种均为伪随机码,其中C/A码为粗测距码,它是结构公开的明码,具有一定的抗干扰能力,定位精度约为20-40米,主要是供民用;P码是精码,其结构是不公开的保密码,易于保密,难以捕获,但定位精度可达5-10米。论文主要研究C/A码的跟踪。伪随机码全称伪随机噪声码(PseudoRandomNoiseCode),简称伪码,是一种可以预先确定又可重复产生和复制,具有类似于白噪声随机统计特性的二进制码序列。伪码的产生方式很多,GPS系统中采用的是由m序列[3-4](即最长线性反馈移位寄存器序列)产生的复合码。m序列是由多级反馈移位寄存器产生的,不同级数的反馈寄存器以及不同的反馈抽头都将产生不同的m序列。GPS信号中的C/A码是序列长度为1023位(码片数)的Gold码(G码)。G码是m序列的复合码,由两个码长相等、码时钟速率(1.023MHz)相同的m序列优选对模二和构成。改变产生它的m序列的相对相位,就能得到一个新的G序列。G码有较优良的自相关和互相关特性,构造简单,产生的序列数多,G码主要用于多址通信,这是GPS采用G码作为C/A码的原因[5]。C/A码的产生原理如图2-2所示。C/A码由两个1023位的PRN序列G1和G2产生的,G1和G2都是由十位最大长度线性移位寄存器产生的,由1.023MHz时钟来驱动[6]。用G1和G2的输出作为输入,再用另一个模二加法器产生C/A码。其中,第二个移位寄存器的输出,不是在该移位寄存器的最后一个存储单元,而是选择该移位寄存器中某两个存储单元的输出进行模相加后再输出,由此可以得到一个与G2(t)平移等价的m序列G2(t+diTg),二者的关系为:(2-3)式中,Ni的取值不同,可以得到结构不同的C/A码供卫星使用,Ni 的取值与被选择进行模二相加的两个存储单元的对应关系,即码延迟码片与码相位选择的对应关系可参见表,再将G2(t+diTg)与G1(t)进行模二相加,便可产生结构不同的C/A码,亦称为G码。图2-2C/A码产生原理图由于G2(t)的码元共有1023位,故G2(t)可能有1023种平移等价序列,所以,1023种平移等价序列与G1(t)模二相加后,可能产生1023种m序列,这1023个不同结构的C/A码,被24颗卫星分址足足有余,这组C/A码的码长均为1023bit,周期均为1us,数码率均为1.023Mbit/s[7-8]。卫星编号是根据G2产生器的两个输出位置,即通过码相位选择来决定的。有37个不同的输出序列,卫星编号、码相位选择和码延迟码片三者的对应关系可通过表2-1查得。表2-1卫星编号、码相位选择和码延迟码片三者的对应关系卫星号相位选择C/A码延时(码片)卫星号相位选择C/A码延时(码片)12⊕65204⊕747223⊕76215⊕847334⊕87226⊕947445⊕98231⊕350951⊕917244⊕651262⊕1018255⊕751371⊕8139266⊕851482⊕9140277⊕951593⊕10141288⊕10516102⊕3251291⊕6859113⊕4252302⊕7860 续表2-1125⊕6254313⊕8861136⊕7255324⊕9862147⊕8256335⊕10863158⊕9257344⊕10950169⊕10258351⊕7947171⊕4469362⊕8948182⊕5470374⊕10950193⊕64712.1.3GPS导航电文导航电文即数据码(D(t)或D码),是卫星以二进制的形式发送给用户,是用来定位和导航的数据基础。主要包括卫星星历、卫星星历修正、电离层延迟修正、工作状态信息、C/A码准确信息以及全部卫星的概略星历,用户一般需要利用此导航信息来计算某一时刻GPS卫星在地球轨道上的位置。导航信息亦称广播星历,导航电文被调制在L1载波上,信号频率为50Hz,宽度为20ms。图2-3导航电文的格式图2-3为导航电文的格式[9-10],导航电文按规定格式组成数据帧,按帧向外播送,每帧长度为1500bit,播送速度为50bit/s,传送一帧电文历时30s,完整的导航电文总共占有25帧,共有37500bit/s,需要12.5min才能传送完全部信息量。导航电文的内容可分为遥测码(TLW)、转换码(HOW)、第一数据块、第二数据块和第三数据块5部分。 2.2GPS软件接收机工作原理GPS信号接收机的任务是:能够捕获到按一定卫星高度截止角所选择的待测卫星的信号,并跟踪这些卫星的运行,对所接收到的信号进行变换、放大和处理,以便测量出信号从卫星到接收机天线的传播时间,解译出卫星所发送的导航电文,实时地计算出测站的三维位置,甚至三维速度和时间,其结构如图2-4所示。图2-4GPS软件接收机原理框图GPS软件接收机一般由3部分组成:第一部分是射频前端,主要包括天线、滤波器、放大器以及下变频器件。GPS卫星发射的射频信号(RF)通过天线接收下来,通过一个无源的带通滤波器滤波,以减小带外射频干扰,接着预放大,射频信号下变频到中频(IF),再用模数(A/D)变换器对(IF)信号采样和数字化,得到数字中频信号(或数字基带信号),再送入第二部分处理。第二部分是数字信号的基带处理部分,主要包括信号的捕获和跟踪,信号的捕获主要有串行搜索捕获算法,并行频域搜索捕获算法和并行码相位搜索捕获算法,信号跟踪主要包括码相位的跟踪和载波跟踪,论文主要研究信号跟踪方面的知识。第三个部分是导航电文解调和显示部分。 3GPS信号跟踪原理信号捕获获得了信号载波频率和伪码相位的粗略估计值,跟踪的目的就是利用捕获模块得到的载波频率和C/A码相位作为初始值,得到更精确的载波频率和码相位,以精确地解调出特定卫星的导航数据。GPS信号跟踪分为两部分:一部分是载波跟踪;另一部分称为码相位跟踪。3.1载波跟踪原理载波跟踪的主要作用是对接收机进行高精度解调。要成功的解调出导航数据,必须产生完全同步的本地载波信号和本地C/A码信号。载波跟踪通常由锁相环(PLL,PhaseLockLoop)或者锁频环(FLL,FrequencyLockLoop)完成。FLL是通过测量本地载波频率和输入载波之间的频率差来保持对输入信号频率的跟踪,而PLL是通过测量本地载波相位和输入载波之间的相位差来保持对输入信号相位的跟踪。FLL的主要特色在于它是用来检测频率差的鉴别器,PLL的主要特色在于它是用来检测相位差的鉴别器。在普通的低动态或静态的接收机中,一般采用锁相环PLL。锁相环跟踪载波相位,通过载波相位鉴别器提取并输出的相位估计误差来控制数控振荡器,具有更高的跟踪精度。由于GPS信号采用BPSK调制,解调时存在相位的不确定性,所以不适宜用纯PLL跟踪,采用Costas锁相环可消除相位翻转的影响。Costas环很重要的一个特性就是对的相位转换不敏感,它对I和Q信号的数据调制相位翻转不敏感,并且测量精度高,可以提供差错最少的数据解调,GPS接收机载波跟踪环最希望的稳态跟踪模式[11-13],因此本文所用的GPS接收机的载波相位跟踪环采用Costas锁相环。3.1.1Costas载波跟踪环工作原理科斯塔斯环又称同相正交环,其作用是为了跟踪输入信号的载波,以实现高精度导航数据的正确解调。图3-1是Costas环的基本原理图。 图3-1Costas环基本原理图Costas环内包括两个乘法器。一个是本地载波和与码相乘后的输入信号相乘形成I支路,一个是经过相移的本地载波和与C/A码相乘后的输入信号相乘形成Q支路。Costas环的的主要目的是将能量保持在I支路,这点是通过对载波发生器加一些反馈来实现的。如果上图中本地C/A码是和输入信号中的C/A码完全对齐的,那么I支路的信号可以表示如下:(3-1)上式中,D(n)是数据,C(n)是发送端的C/A码,是输入信号的相位和本地载波的相位之差。Q支路的信号可以表示如下:(3-2)I支路和Q支路的信号通过低通滤波器后,两个式中含有二倍中频的第二项被滤除,得到如下信号:(3-3)(3-4)载波环路鉴别器用于找到反馈给载波相位振荡器的反馈因子。本文在研究GPS软件接收机时,选用本地载波和输入信号的相位差作为反馈项,该相位差计算如下: (3-5)(3-6)由上式可以看出,当支路为零,支路取最大值时,本地载波和输入信号的相位差最小。鉴相因子等于相位差为:(3-7)这种反正切鉴别器是Costas环常用的鉴别器中最精确的,但也相对是最耗时的。当本地载波与输入信号同频同相时,全部相关能量集中在I轴上;当存在相位误差时,相关能量会分别落在I轴和Q轴上;对于角度的相位翻转,落在I轴和Q轴上的相关能量仍然保持不变,即Costas环路对相位翻转不敏感。当输入信号和本地载波的相位差为0或是时,不管选用哪种鉴相器,输出均为零,所以Costas环也就对数据位跳变引起的的相位转换不敏感,也就是在数据位发生跳变的时候,载波跟踪环依然可以保持对信号的跟踪。在本系统中,剥离了C/A码的连续输入信号传送给载波跟踪模块,前面得到的微调后的载波频率为本地载波发生器产生的初始频率。根据鉴相因子来调整本地载波频率,最终稳定输出载波信号,用来剥离输入信号中的载波信号。3.1.2Costas环鉴相器的选择载波环路鉴相器的输出反馈给本地载波发生器,从而调整本地载波的频率和相位与输入信号一致,表3-1列出了载波环路所应用的不同鉴相器的特性[14] 表3-1常用Costas环鉴别器鉴别器算法输出特性在低信噪比时接近最佳,运算量适中。在高信噪比时接近最佳,运算量要求低。为最佳,在高低信噪比时良好,运算量要求高。二象限反正切,在高低信噪比时最佳,斜率和信号幅度无关,运算量要求最高。综合考虑不同鉴相器的特性,最终选择环路的鉴相因子为[8](3-8)载波相位鉴别器输入、输出关系如图3-2所示:图3-2载波相位鉴别器输入、输出关系3.2码相位跟踪原理码相位跟踪通常采用延迟锁定环(DLL)来跟踪C/A码的变化,它利用本地发生器产生相位超前、滞后码信号,再与输入的扩频信号相关,比较两路的结果,获得码相位误差信号,以控制码(NCO)产生与输入码相位一致的本地信号。用DLL作为码跟踪环直接从GPS信号中提取码延迟误差,完成对码的捕获和跟踪。采用超前-滞后非相干跟踪环路的原因有两个:一是通常GPS系统工作在非常低的信噪比环境中,通常意义下是-19dB,二是这种跟踪环路采用的鉴相器是能量鉴相器,对数据的调制和载波相位都不敏感,鉴相器不会产生不确定量[15-16]。 DLL由码相位鉴别器、放大器、环路滤波器和C/A码数字控制晶体振荡器(NCO)组成,基本结构如图3-3所示[15][17]图3-3C/A码跟踪环路原理图其基本工作原理是超前码和延迟码与输入信号的C/A码进行相关累加(1us累加),产生两个输出,通过C/A码环路鉴别因子,产生一个控制信号,反馈给本地C/A码产生器,用于调节本地C/A码相位,使其与输入信号的C/A码相匹配,进而剥离输入信号中的码。输入信号与对准的本地载波相乘得到两路基带信号I和Q,两路基带信号与不同相位的三路C/A码分别相乘,其中这三路C/A码的相位差为码片,对乘积进行1us的累加,累加的结果即为三路C/A码在本相,四分相两路上与输入信号的相关值,分别为IE、IP、IL和QE、QP、QL,将IE,IL和QE,QL输入到延迟锁定环路的鉴相器中,其鉴相因子如式(3-9)所示,由延迟环鉴相器提供一个反馈给本地C/A码生成器,本地C/A码生成器根据鉴相因子的值不断调整码C/A相位,保持与输入信号的码跟踪状态,并最终稳定地输出所需要的P信号。当本地C/A码与输入信号的相位同步时,得到相关峰最大值。3.3完整的跟踪环路在前面的两节中,本文分别对码跟踪环和载波跟踪环作了详细的分析。下面将分析如何将码跟踪环和载波跟踪环组合在一起,以降低跟踪环路的复杂度。 C/A码锁相环有3个输出,一个超前码、一个延迟码和一个即时码,即时码作用于数字化输入信号,把输入信号中的C/A码剥离掉。剥离C/A码就是将C/A码和适当相位的输入信号相乘,如图3-4:图3-4C/A码剥离示意图得到的输出是含有导航数据引起相位跳变的连续信号,把这个信号作为载波环的输入[18-19],载波环的输出信号是频率为输入信号载频的连续信号,这个信号可以用来数字化输入信号中剥离载波信号,也就是用这个信号与输入信号相乘。输出是一个只包含C/A码而没有载波频率的信号,这就是码环的输入。将码环和载波连接在一起,得到完整的跟踪环[20-21]。 图3-5中,码跟踪环路中相关器的输出作为载波跟踪环路中载波环路鉴别器的输入,然后载波环路鉴别器输出一个反馈因子经过环路滤波器后调整本地载波NCO的输出。本地载波NCO产生的载波信号和输入信号相乘产生I支路,经过90°相移的本地载波信号和输入信号相乘产生Q支路。I支路和Q支路然后分别跟本地产生的PRN超前(E)码、即时(P)码、滞后(L)码序列分别进行相关运算。经过相关运算后的结果输入到延迟锁相环的鉴相器,鉴相器根据PRN码的自相关特性,获得码相位误差,该误差经环路滤波器后调整本地PRN码的数控振荡器NCO,控制伪码生成速率。使本地PRN码保持跟踪输入信号中码相位的变化,实现精确同步。图3-5完整的跟踪环 4GPS软件接收机中信号跟踪的Matlab仿真4.1Matlab仿真软件介绍本论文中,我们采用的仿真软件是Matlab软件。Matlab是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平[22]。Matlab的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用Matlab来解算问题要比用C、FORTRAN等语言完成相同的事情简捷得多,并且Matlab也吸收了像Maple等软件的优点,使Matlab成为一个强大的数学软件。在新的版本中也加入了对C、FORTRAN、C++、JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到Matlab函数库中方便自己以后调用,此外许多的Matlab爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用[22]。Matlab软件的优势:(1)友好的工作平台和编程环境。(2)简单易用的程序语言。(3)强大的科学计算机数据处理能力。(4)出色的图形处理功能。(5)应用广泛的模块集合工具箱。(6)实用的程序接口和发布平台。(7)应用软件开发(包括用户界面)。 4.2GPS接收信号的Matlab仿真本课题主要研究GPS信号的跟踪,所以主要考虑GPS中的同步信号。GPS信号由C/A码和D导航数据码构成,根据2.1.2节C/A码的生成原理,假设生成C/A码的两个GOLD序列生成多项式为式4-1所示:(4-1)根据表2-1选择第31颗卫星,即将G2的第3和第8个移位寄存器输出模二加得到G2(t+diTg),再将其与G1的第10个移位寄存器输出模二加,得到第31颗卫星的C/A码。在得到信号的C/A码之后,然后进行数据码扩频调制。仿真中同步数据的速率设为50bit/s,C/A码的速率为1.023MHz,中频调制频率为4.092MHz,每个载波周期采样10个样点,中频采样率为40.93MHz,则每个码片采样点数为40个。论文主要研究GPS信号的跟踪原理及仿真,所以主要考虑同步信号部分,基于软件接收机的GPS信号产生的相应的仿真程序流程图如图4-1所示,仿真结果如图4-2所示: 图4-1GPS信号生成流程图图4-2GPS信号仿真结果如果采用矩形波传输DCA码,频谱范围无限大,为了让信号在带限的信道中传输,需要在发送端把信号经过成形滤波器进行带限,最常用的是升余弦滚降滤波器,所以要对DCA码进行波形成形后再进行调制,然后再进行信号输出。4.3码相位跟踪仿真为了对捕获到的码元进行更精确的同步,需要进行码相位跟踪。论文中采用基于相关峰值的判断实现码相位的跟踪,即将接收信号首先与本地载波信号相乘解调后再与本地C/A码序列相乘解扩后在一个C/A码周期内计算相关值实现的,其原理框图如图3-3所示。接收信号正交解调后分别进行相关解扩得到I路和Q路信号,设接收信号为y(k),则解调解扩后I路输出可以写为:(4-1)解调后Q路输出表达式为: (4-2)在式4-1,4-2中,c(k)表示发送端的C/A码,c(k+m)表示接收端的C/A码,m收发C/A码的相位差,表示本地接收数字中频频率。接下来将I路和Q路所得的输出进行相加,计算一个C/A码周期内的相关峰值,相关峰值可以写为:(4-3)按照式4-1计算、和信号,按照式4-2计算、、信号,再按照式4-3计算出、和相关值,依据鉴相因子改变C/A码相位,实现相位跟踪。在同步码片前后截取10个码片,中频调制频率为4.092MHz,每个载波周期采样10个样点,中频采样率为40.93MHz,则每个码片采样点数为40个,总共得到10*40个样点。通过计算由不同采样点组成的接收信号解调解扩后的相关值,得到如图4-4所示结果。观察相关值情况,我们发现,不同的采样点所对应的相关值各不相同。当实现本地C/A码同步时,在最佳样点两边相关值变化很大,所以我们进行码相位跟踪时,如果按照码元进行移位同步,会出现较大的误差,因此接下来进行精确跟踪时,我们要采取按样点搜索的方法寻找到最佳采样点作为本地C/A码的同步相位。码相位跟踪流程图如图4-5所示,码相位跟踪过程中的最佳码相位搜索子程序流程图如图4-6所示。 图4-4采样点对相关值的影响读取1us数据本地载波与输入信号相乘解调产生超期、即时和滞后码序列由相关结果得码相位误差,更新码相位计算pE、pP、pL相关值结束找到最佳码相位?Y①N②③设定接收载波频率,采样频率,初步捕获位置k和起始样点star开始图4-5码相位跟踪流程图根据图4-5和4-6的流程图编写程序进行仿真。仿真时各频率如前所述不变,仿真时假设初步捕获到同步位置,接收信号在不同C/A初始相位和不同起始样点的相位跟踪实验结果如表4-1所示。 ②Estart<0K=k-1Start=10+estartK=k+1Start=lstart-40①NYMax=pMax=e相关峰值是否增大Start=estart更新相关峰值,更新起始样点Start=lstartLstart>40NNYNYYNY③图4-6最佳码相位搜索流程图表4-1码相位跟踪实验结果码元初始相位起始采样点最佳样点最大峰值1505191023150251910233051019102330535191023378301910233783619102349911910234992019102380051910238001519102390010191023 90020191023由上表可以发现,只要初步捕获到C/A的同步相位,在任意起始样点,都可以搜索到最佳采样点,而且最佳样点都位于同步码片对应的第19个点,最佳样点处的相关峰值为1023,与理论上的数值相一致,表明该程序可以成功实现码相位跟踪。 5 结论本设计方案按照任务书的要求,对GPS信号跟踪进行了研究并通过Matlab软件进行仿真设计。通过本课题的研究,完成了以下工作:(1)介绍了GPS软件接收机的起源及其工作原理。(2)详细介绍了GPS信号的构成及原理。(3)详细说明了GPS信号的生成以及相关的编程,仿真。(4)完成了GPS信号的跟踪过程及仿真设计通过对GPS信号的跟踪的仿真结果分析,本文设计的GPS信号跟踪程序能对信号进行跟踪,但是其中还有不足:(1)本文接收的GPS信号仅仅考虑信号的前8位同步头。而且研究的信号仅仅针对L1信号进行捕获。(2)研究过程中并没有考虑到噪音以及延迟等误差,所以跟踪精度有待于提高。(3)研究局限于Matlab软件的仿真平台,要在实际应用中得到运用还需要把程序代码向DSP,ARM或FPGA移植,使GPS信号捕获功能可以在硬件条件下得到实现。(4)由于水平有限,载波跟踪程序没有实现,有待在以后的工作学习中不断进步。 参考文献[1]黄智伟.GPS接收机电路设计[M].北京:国防工业出版社,2006,3.[2]杨春.GPS卫星导航信号仿真研究[D].北京:国防科学技术大学研究生院,2006.[3]青松,程岱松,武建华.数字通信系统的SystemView仿真与分析[M].北京:北京航空航天大学出版社,2001,1.[4]罗晓莉.GPS模拟信号源设计技术研究[D].北京:中国工程物理研究院硕士论文.2005.[5]王惠南.导航原理与应用[M].北京:科学出版社,2003,4.[6]美JAMESBAO-YENTSUI著.陈军,潘高峰等译.GPS软件接收机基础[M].第2版.北京:电子工业出版社.2007,9.[7]刘基余.GPS卫星导航定位原理与方法[M].北京:科学出版社,2003,8.[8]胡伍生,高成发.GPS测量原理及其应用[M].北京:人民交通出版社,2004,7.[9]ALAQEELIA..GlobalPositionSystemSignalAcquisitionandTrackingUsingFieldProgrammableGateArrays[D].USA,OhioUniversity,2002.[10]杨晓娟.GPS软件接收机信号仿真与捕获跟踪算法验证[D].北京:北京交通大学,2006.[11]张雷,王建宇,戴宁.GPS信号捕获跟踪的仿真分析与研究[J].现代防御技术,2008,4,36(2):107-110.[12]KaplanE.D..UnderstandingGPSPrinciplesandApplications[M].Massachusetts:ArtechHouse,1996,8.[13]陈斌杰,陈敏锋.高动态下信号的捕获和跟踪技术研究[J].现代电子技术,2006,3,3:13-15.[14]董渊文,官洪运,胡辉.GPS接收机码跟踪技术研究及仿真[J],系统仿真学报,2006,11,18(11):3209-3211.[15]董渊文.高动态GPS接收机扩频接收算法研究及总体实现方案[D].上海:东华大学,2007. [16]张厥盛,郑继禹.锁相技术[M].西安:西安电子科技大学出版社,1996,1.[17]朱云龙,柳重堪,张其善等.一种新的GPS接收机C/A码跟踪环鉴别器算法[J].电子与信息学报,2008,11,30(11):2742-2745.[18]唐峻.GPS卫星数字中频信号的捕获、跟踪研究与仿真[D].北京:北京交通大学,2006.[19]美JAMESBAO-YENTSUI著.陈军,潘高峰等译.GPS软件接收机基础[M].第2版.北京:电子工业出版社,007,9.[20]杨俊,武奇生.GPS基本原理及其Matlab仿真[D].西安:西安电子科技大学出版社,2006,8.[21]唐学术.高动态GPS接收机的捕获与跟踪算法研究[D].北京:北京理工大学,2008.[22]LuheHong,JianliCai.TheapplicationguideofmixedprogrammingbetweenMATLABandotherprogramminglanguages[C].Proceedingof2010ICCAE,Singapore,2010,2:185-189. 附录GPS信号跟踪仿真程序clearall%发送数据,即接收数据%同步头为10001011,位于第一子帧的1~8bi%**************************CA码生成*****************%m序列,从a(10)输出%f(x)=x^10+x^3+1n=10;a=[0000000001];mlead1=[a(n)];loop=2^n-1;fori=2:loop;b=[a(1:n-1)];a(1)=mod(a(3)+a(n),2);a=[a(1),b];mlead1=[mlead1,a(n)];end%%Gold序列,从a(3)和a(8)输出,这是第31颗卫星%f(x)=x^10+x^9+x^8+x^6+x^3+x^2+1a=[0000000001];Gmlead1=[a(3)];Gmlead2=[a(8)];fori=2:loop;b=[a(1:n-1)];a(1)=mod(a(2)+a(3)+a(6)+a(8)+a(9)+a(n),2);a=[a(1),b];Gmlead1=[Gmlead1,a(3)];Gmlead2=[Gmlead2,a(8)];end%G1、G2和m序列模2加,输出C/A码CA=mod(Gmlead1+Gmlead2+mlead1,2);%**********************加上数据码********************************D=[00000000];%D=[10001011];%同步头%设中频频率为4.093MHz,每个中频载波周期取10个样点,CA码频率为1.023MH,即每个码片取样40个样点,%每个数据重复20次,每次用1023bi的CA码表示,所以每个数据用1023*40*20个样点表示;%载波序列fc=4.093*10^6;%中频sample_n=10; fs=fc*sample_n;D_number=1023*40;w=2*pi*fc/fs;%载波振幅取1out_sample=zeros(1,D_number*8);D_out=zeros(1,D_number*8);CA_out=zeros(1,D_number*8);DCA_out=zeros(1,D_number*8);%初始化%****************波形成形函数factor=0.25;sample=40;prt=ascendcos(factor,fs,sample);fori=1:length(D)D_sample=[D(i)*ones(1,1023)];%%读入数据,扩展数据样本DCA((i-1)*1023+1:i*1023)=mod(D_sample+CA,2);endDCA=2*DCA-1;%+1-1,fork=1:length(DCA)DCA_sample((k-1)*40+1:k*40)=[zeros(1,19),DCA(k),zeros(1,20)];%波形成形用endR_input1=conv(DCA_sample,prt);%波形成型前asd=D_number*i;DCA_sample1=R_input1(161:asd+160);%后%DCA_sample1=DCA_sample;temp3=1:8*D_number;temp2=exp(j*w*temp3);%仿真用%调制out_sample=DCA_sample1.*temp2;figure(1),gridon,subplot(3,1,1),plot(DCA_sample(1:400)),ylim([-1.1,1.1])subplot(3,1,2),plot(DCA_sample1(1:400)),ylim([-1.5,1.5])subplot(3,1,3),plot(out_sample(1:400)),ylim([-1.2,1.2])%*******************滑动相关搜索******************************%当码相位和载波都同步的时候,输出corr中出现最大的相关峰,由此可以判断信号的捕获%当码相位或载波不同步的时候,输出结果没有最大的相关峰fc1=4.093*10^6;%中频%载波同步%fc1=4.093*10^6-500*2;%载波不同步n=1:D_number*8;w1=2*pi*fc1/fs;%载波振幅取1 %N=1023*40;%1个CA码长度,每个码片40个样点fort=1:1023start=3;%起始样点,??????????????x(t)=out_sample(start+(t-1)*40);Tcos(t)=cos(w1*(start+(t-1)*40));Tsin(t)=sin(w1*(start+(t-1)*40));endfork=1:1023m=k+1023-400;%400为码元初始相位,考虑码元相位不同步ifm>1023m=m-1023;elsem=m;endTCA=[CA(m+1:1023),CA(1:m)];TCA=2*TCA-1;temp=x.*Tcos.*TCA-j*x.*Tsin.*TCA;%%%%%%%%%%%Q和I路合成corr(k)=sum(temp);%积分求和endfigure(2),plot(real(corr)+imag(corr));%I和Q路平方取模后相加,%*********实验,检查不同采样点时的相关值********************fork=395:405;m=k+1023-400;%400为码元初始相位,ifm>1023m=m-1023;elsem=m;endTCA=[CA(m+1:1023),CA(1:m)];TCA=2*TCA-1;forstart=1:40;%起始样点,第二个数据的第一个样点开始fort=1:1023x(t)=out_sample(40*1023+start+(t-1)*40);Tcos(t)=cos(w1*(40*1023+start+(t-1)*40));Tsin(t)=sin(w1*(40*1023+start+(t-1)*40));end temp=x.*Tcos.*TCA-j*x.*Tsin.*TCA;%%%%%%%%%%%%%%%%Q和I路合成temp1=real(temp)+imag(temp);ppp((k-395)*40+start)=sum(temp1);%积分求和,%没有波形成形时temp1为全1,波形成形时不是全1endendfigure(3),plot(ppp)%码元相位同步时,一个码片周期内40个样点,不同样点时相关峰值%*******************************码相位跟踪************************%设初始相位为5,每次步进1个样点start=5;dstart=1;k=400;mincorr=0;forrepeat=1:40%最多寻找40次m=k+1023-400;%400为码元初始相位,ifm>1023m=m-1023;elsem=m;endTCA=[CA(m+1:1023),CA(1:m)];TCA=2*TCA-1;estart=start-20;%从第二个数据开始pstart=start;lstart=start+20;fort=1:1023ex(t)=out_sample(40*1023+estart+(t-1)*40);eTcos(t)=cos(w1*(40*1023+estart+(t-1)*40));eTsin(t)=sin(w1*(40*1023+estart+(t-1)*40));px(t)=out_sample(40*1023+pstart+(t-1)*40);pTcos(t)=cos(w1*(40*1023+pstart+(t-1)*40));pTsin(t)=sin(w1*(40*1023+pstart+(t-1)*40));lx(t)=out_sample(40*1023+lstart+(t-1)*40);lTcos(t)=cos(w1*(40*1023+lstart+(t-1)*40));lTsin(t)=sin(w1*(40*1023+lstart+(t-1)*40));endetemp=ex.*eTcos.*TCA-j*ex.*eTsin.*TCA;%%%%Q和I路合成etemp1=real(etemp)+imag(etemp); eppp=sum(etemp1);%积分求和,%没有波形成形时temp1为全1,波形成形时不是全1ptemp=px.*pTcos.*TCA-j*px.*pTsin.*TCA;ptemp1=real(ptemp)+imag(ptemp);pppp=sum(ptemp1);ltemp=lx.*lTcos.*TCA-j*lx.*lTsin.*TCA;ltemp1=real(ltemp)+imag(ltemp);lppp=sum(ltemp1);%相位选择aaaa=[eppp,pppp,lppp];ifmax(aaaa)==ppppifpppp40k=k+1;start=lstart-40;endendendendmincorr,startformat

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭