《GPS卫星的导航定位信号课件.ppt》由会员分享,可在线阅读,更多相关《GPS卫星的导航定位信号课件.ppt(80页珍藏版)》请在三一办公上搜索。
1、第4章 GPS卫星的导航定位信号,4.1 概述 4.2 GPS卫星的测距码信号4.3 GPS卫星的导航电文 4.4 Matlab仿真C/A码的产生及调制,第4章 GPS卫星的导航定位信号 4.1 概述,4.1 概 述,GPS卫星发送的GPS卫星信号采用L波段的两种载频作载波, 分别被称作L1的主频率和L2的次频率。这些载波频率由扩频码(每一颗卫星均有专门的伪随机序列)和导航电文所调制。所有卫星均在这两个相同的载波频率上发射,但由于伪随机码调制不同,因此无明显的相互干扰。GPS使用L频段的两种载频为(其中f0是卫星信号发生器的基准频率): L1载波:fL1=154f0=1575.42 MHz,波
2、长1=19.032 cm; L2载波:fL2=120f0 =1227.6MHz,波长2=24.42 cm。,4.1 概 述 GPS卫星发送的GPS卫星信号采用L波,选择L波段的好处是: (1) 减少拥挤,避免“撞车”。目前L波段的频率占用率低于其他波段,与其他工作频率不易发生“撞车”现象,有利于全球性的导航定位测量。 (2) 适应扩频,传送宽带信号。GPS卫星采用扩频技术发送卫星导航电文,其频带高达20 MHz左右,在占用率较低的L波段上, 易于传送扩频后的宽带信号。,选择L波段的好处是: ,(3) 大气衰减小,有利于研制用户设备。GPS卫星采用L波段,避开了大气的谐振吸收,衰减较小,且电离层
3、延迟的影响小,有利于用较经济的接收设备测量GPS信号。而采用两个载频,目的在于测量出或消除掉由于电离层效应而引起的延迟误差。 GPS信号是一种调制波,它不仅采用L波段的载波,而且采用扩频技术传送卫星导航电文。所谓“扩频”,是将原来打算发送的几十比特速率的电文变换成发送几兆甚至几十兆比特速率的由电文和伪随机噪声码组成的组合码。采用扩频技术时, 若信号功率仅为噪声功率的1/10,那么信号将深深地淹没在噪声之中而不易被他人捕获,从而使得信号具有极强的保密性。,(3) 大气衰减小,有利于研制用户设备。GPS卫星采,GPS信号的调制波,是卫星导航电文和伪随机噪声码(PseudoRandom Noise
4、Code,简称PRN码,或称伪噪声码)的组合码。卫星导航电文是一种不归零二进制码组成的编码脉冲串,称之为数据码,记作D(t),其码率为50 b/s。对于距离地面20 000 km之遥的GPS卫星,扩频技术能有效地将很低码率的导航电文发送给用户。其方法是用很低码率的数据码作二级调制(扩频)。 第一级,用50 Hz的D码调制一个伪噪声码, 例如调制一个被叫做P码的伪噪声码,它的码率高达10.23 MHz。 D码调制P码的结果,便形成了一个组合码P(t)D(t),使得D码信号的频带宽度从50 Hz扩展到10.23 MHz,也就是说, GPS卫星从原来要发送50 b/s的D码,转变为发送10 230
5、b/s的组合码P(t)D(t)。,GPS信号的调制波,是卫星导航电文和伪随机噪声,在D码调制伪噪声码以后,再用它们的组合码去调制L波段的载波,实现D码的第二级调制,而形成向广大用户发送的已调波。如图4-1所示,D码的数据首先同伪噪声码C/A码和P(Y)码模二相加后,形成组合码C/A(t)D(t)和P(t)D(t),然后才调制L1载波。需要注意的是,组合码C/A(t)D(t)和P(t)D(t)是通过相移键控(BPSK)调制到L1载波上的。在L1载波上,C/A(t)D(t)调制和P(t)D(t)调制在相位上是正交的。 因此在这两个合并的L1载波频率上的C/A(t)D(t)调制和P(t)D(t)调制
6、之间有90的相移。L2载波上的调制过程与L1载波大致相同, 不同的是L2载波可以用C/A(t)D(t)码、P(t)D(t)码或者P(Y)码来调制。 最后, 卫星向地面发射这两种已调波L1和L2。,在D码调制伪噪声码以后,再用它们的组合码去调制L波段,图4-1 GPS卫星信号的产生,图4-1 GPS卫星信号的产生,需要注意的是,GPS信号虽然有几种分量(C/A易捕码、 P精确码和D导航数据码), 但是它们均来源于一个公共的10.23 MHz的基准频率(见图4-1)。它们的频率不仅与基准频率有一定的比例关系,而且相互之间也存在一定的比例关系, 详细如表4-1所示。这既有利于GPS卫星发送信号,又便
7、于广大用户接收和测量GPS信号。从表4-1中可以看出,在D码的一个码元内,将有20 460个C/A码码元,204 600个P码码元,31 508 400个L1周期和24 552 000个L2周期。,需要注意的是,GPS信号虽然有几种分量(C/A易捕码,表4-1 GPS信号的频率关系,表4-1 GPS信号的频率关系,4.2 GPS卫星的测距码信号,4.2.1 码的基本概念 码是一种表达信息的二进制数及其组合, 是一组二进制的数码序列。例如,对0,1,2,3取两位二进制数的不同组合表示为:00,01,10,11。这些二进制数的组合形式称之为码。 其中每一位二进制数称为1个码元或1比特(bit);每
8、个码均含有两个二进制数,即两个码元或两个比特。比特是码的度量单位,也是信息量的度量单位。如果将各种信息,例如声音、 图像以及文字等,按某种预定的规则表示为二进制数的组合形式,则这一过程就称为编码,也就是信息的数字化。,4.2 GPS卫星的测距码信号 4.2.1 码的基本概念,图4-2 码序列以0和1为幅度的时间函数,图4-2 码序列以0和1为幅度的时间函数,在二进制的数字化信息传输中,每秒所传输的比特数称为数码率,用以表示数字化信息的传输速度,其单位为bit/s(简写为b/s)。码可以看做是以0和1为幅度的时间函数(如图4-2所示),用u(t)表示。因此,一组码序列u(t) , 对于某个时刻t
9、而言,码元是0或1完全是随机的,但其出现的概率均为1/2。这种码元幅值是完全无规律的码序列,称为随机噪声码序列。它是一种非周期序列,无法复制。但是, 随机噪声序列却有良好的自相关性,GPS测距码就是利用了其自身良好的自相关性才获得成功的。,在二进制的数字化信息传输中,每秒所传输的比特,这里,自相关性是指两个结构相同的码序列的相关程度, 它由自相关函数描述。为了说明这一问题,可将随机噪声码序列u(t)平移k个码元,获得具有相同结构的新的码序列u(t)。 比较这两个码序列,假定它们的对应码元中,码值(0或1)相同的码元个数为Su,而码元相异的码元个数为Du,那么两者之差Su-Du与两者之和Su+D
10、u(即码元总数)的比值,即定义为随机噪声码序列的自相关函数,用符号R(t)表示:,(4-1),这里,自相关性是指两个结构相同的码序列的相关,在实际应用中,可通过自相关函数R(t)的取值判断两个随机噪声码序列的相关性。显然,当平移的码元个数k=0时, 两个结构相同的码序列其对应码元完全相同,这时Du=0,而自相关函数R(t)=1;相反,当k0时,且假定码序列中的码元总数特别大,那么由于码序列的随机性,将有SuDu,这时自相关函数R(t) 0。因此,根据自相关函数R(t)的取值, 即可确定两个随机噪声码序列是否已经“相关”,或者说,两个码序列的对应码元是否已完全“对齐”。,在实际应用中,可通过自相
11、关函数R(t)的取值,假设GPS卫星发射一个随机序列u(t),而GPS信号接收,4.2.2 伪随机噪声码及其产生 伪随机噪声码简称PRN码,是一个具有一定周期的取值0和1的离散符号串。它不仅具有高斯噪声所有的良好的自相关特征,而且具有某种确定的编码规则。它是周期性的、可人工复制的码序列。GPS信号中使用了伪随机码编码技术,识别和分离各颗卫星信号,并提供无模糊度的测距数据。GPS信号中的C/A码和P码,都是由最长线性移位寄存器序列(简称m序列)产生的伪随机测距码。,4.2.2 伪随机噪声码及其产生,伪随机码由多级反馈移位寄存器产生。这种移位寄存器由一组连接在一起的存储单元组成,每个存储单元只有“
12、0”或“1”两种状态,并接收时钟脉冲和置“1”脉冲的驱动及控制。下面以一个四级反馈移位寄存器组成的m序列为例来说明,如图4-3所示。在时钟脉冲的驱动下,每个存储单元的内容,都按次序由上一级单元转移到下一单元,而最后一个存储单元的内容便为输出。同时,其中某两个存储单元,例如单元3和单元4的内容进行模二相加后,再反馈输入给第一个存储单元。,伪随机码由多级反馈移位寄存器产生。这种移位寄存器由一,图4-3 四级反馈移位寄存器示意图,图4-3 四级反馈移位寄存器示意图,所谓模二相加,是二进制数的一种加法运算,常用符号表示, 其运算规则如下:,所谓模二相加,是二进制数的一种加法运算,常用符号表示,当移位寄
13、存器开始工作时,置“1”脉冲使各级存储单元处于全“1”状态,此后在时钟脉冲的驱动下,移位寄存器经历15种不同的状态,然后再返回到“1”状态,从而完成一个周期(见表4-2)。在四级反馈移位寄存器经历了上述15种状态的同时,其最末级存储单元输出了一个具有15个码元,且周期为15tu的二进制数码序列,称为m序列。tu表示时钟脉冲的时间间隔, 即码元的宽度。,当移位寄存器开始工作时,置“1”脉冲使各级存,表4-2 四级反馈移位寄存器状态序列,表4-2 四级反馈移位寄存器状态序列,由此可见,四级反馈移位寄存器所产生的m序列,其一个周期可能包含的最大码元个数恰好等于24-1个。因此,一般来说,一个r级移位
14、寄存器所产生的m序列,在一个周期内其码元的最大个数,(4-2),与此相对应,这时m序列的最大周期为:,(4-3),式中,Nu也称为码长。,由此可见,四级反馈移位寄存器所产生的m序列,其,由于移位寄存器不容许出现全“0”状态,因此2r-1码元中,“1”的个数总比“0”的个数多一个。这样,当两个周期相同的m序列其对应码元完全对齐时,自相关系数R(t)=1,而在其他情况则有,(4-4),当r足够大时,就有R(t)0。所以,伪随机噪声码与随机噪声码一样,具有良好的自相关性,而且是一种结构确定、 可以复制的周期性序列。GPS信号接收机就是利用这一特征使所接收的伪随机噪声码和机内产生的伪随机噪声码达到对齐
15、同步, 进而捕获和识别来自不同GPS卫星的伪随机噪声序列。,由于移位寄存器不容许出现全“0”状态,因此2r-1码,由于受GPS卫星至用户GPS接收机的路径信号传播延迟的影响,被接收的伪随机码和复制的伪随机码之间产生了平移; 如果通过一个时间延迟器来对复制的伪随机码进行移动,使两者的相关函数值为1,则可以从时间延迟器中测出对齐码元所用的时间,从而可以较准确地确定由卫星到接收机的距离。 由此可知,伪随机序列的良好的自相关特性,对于利用GPS卫星的测距码进行精密测距是非常重要的。,由于受GPS卫星至用户GPS接收机的路径信号传播延迟,m序列有下列特性: (1) 均衡性:在一个周期中,“1”与“0”的
16、数目基本相等, “1”比“0”的数目多一个。它不允许存在全“0”状态。 (2) 游程分布:在序列中,相同的码元连在一起称为一个游程。一般来说,长度为1的游程占总数的1/2,长度为2的游程占总数的1/4,依此类推。连“1”的游程和连“0”的游程各占一半。,m序列有下列特性:,(3) 移位相加特性:一个m序列mP与其经过任意次延迟移位产生的另一个序列mr模二相加,得到的mS仍是m序列,即,(4-5),(m序列),(4) 伪噪声特性:如果对随机噪声取样,并将每次取样按次序排成序列,可以发现其功率谱为正态分布。由此形成的随机码具有噪声码的特性。m序列在出现概率、游程分布和自相关函数等特性上与随机噪声码
17、十分相似。正因为如此,我们将m序列称为伪随机码,或人工复制出来的噪声码。,(3) 移位相加特性:一个m序列mP与其经过任意次延迟,4.2.3 GPS的测距码信号 1. 直接序列PRN的产生 图4-4给出了在GPS中用于实现码分多址技术的产生直接序列PRN码的高层方框图。每个合成的PRN码由前面两个另外的码发生器导出。在每种情况下,第二个码发生器的输出在其与第一个的输出由异或电路合并之前要相对于第一个进行延时, 延时的量是可变的。卫星的PRN码与延时的量是相关联的。在P码的情况下,延时的基码整数与PRN码相同。对于C/A码来说, 对每颗卫星都有特别的延时。表4-3列出了这些延时。C/A码延时可以
18、由一种简单而有效的技术来实现,这种技术不需要使用延时寄存器(参见C/A码的产生)。,4.2.3 GPS的测距码信号,图4-4 GPS码发生器,图4-4 GPS码发生器,表4-3 C/A码和P码的码相位分配和码序列初始段,表4-3 C/A码和P码的码相位分配和码序列初始段,表4-3 C/A码和P码的码相位分配和码序列初始段,表4-3 C/A码和P码的码相位分配和码序列初始段,2. 易捕码C/A码 C/A码(Coarse Acquisition Code)是用于粗测距和捕获GPS卫星信号的伪随机码。它是由两个10级反馈移位寄存器组合产生的,其产生原理如图4-5所示。,2. 易捕码C/A码,图4-5
19、 C/A码发生器,图4-5 C/A码发生器,两个移位寄存器于每星期日子夜零时,在置“1”脉冲作用下处于全“1”状态,同时在频率为f1=f0/10=1.023MHz时钟脉冲驱动下,两个移位寄存器分别产生码长为N=210-1=1023、周期为1ms的两个m序列G1(t)和G2(t)。这时G2(t)序列的输出不是在该移位寄存器的最后一个存储单元,而是选择其中两个存储单元进行二进制相加后输出,由此得到一个与G2(t)平移等价的m序列G21(即与延时等价)。再将其与G1(t)进行模二相加,将可能产生1023种不同结构的C/A码。C/A码不是简单的m序列, 而是由两个具有相同码长及数码率,但结构不同的m序
20、列相乘所得到的组合码,称为戈尔德(Gold)序列。,(4-6),两个移位寄存器于每星期日子夜零时,在置“1”脉冲作用,采用不同的it0值,可能产生1023个G2(t),再加上G1(t)和G2(t)本身,共可能产生1025种结构不同的C/A码供选用。 这些C/A码具有相同的码长N=210-1=1023bit,相同的码元宽tu=1/f1=0.98 s(相当于293.1 m)和相同的周期Tu=Ntu=1 ms。,采用不同的it0值,可能产生1023个G2(,从这些G(t)码中选择32个码以PRN1,PRN2,PRN32命名各种GPS卫星。由于C/A码长很短,只有1023比特, 易于捕获。 在GPS定
21、位中,为了捕获C/A码,以测定卫星信号的传播延时, 通常需要对C/A码逐个进行搜索。若以50个码元每秒的速度搜索,对于只有1023个码元的C/A码,搜索时间只要20.5 s。通过C/A码捕获卫星后,即可获得导航电文,通过导航电文提供的信息,便可以很容易地捕获GPS的P码。所以,C/A码除了作为粗测码外,还可作为GPS卫星信号P码的捕获码。,从这些G(t)码中选择32个码以PRN1,PRN2,,C/A码的码元宽度较大。假设两个序列的码元对齐误差为码宽的1/101/100,则此时相应的测距误差为29.32.93 m。 随着现代科学技术的发展,使得测距分辨力大大提高。一般最简单的导航接收机的伪距测量
22、分辨力可达0.1m。C/A码的码长、 码元宽度、周期和数码率分别为:码长Nu=210-1=1023bit;码元宽度tu0.977 52s,相应的长度为293.1m;周期Tu=Nutu=1 ms;数码率为1.023 Mb/s。不同的GPS卫星所使用的C/A码的上述四项指标相同,但编码规则不同,这样既便于复制又便于区分。,C/A码的码元宽度较大。假设两个序列的码元对齐,C/A码具有以下特点: (1)由于C/A码的码长较短,易于捕获,而通过捕获C/A码所得到的信息,又可以方便地捕获P码,因此,通常称C/A码为捕获码。在GPS导航和定位中,为了捕获C/A码以测定卫星信号传播的时间延迟,通常对C/A码进
23、行逐个搜索,而C/A码总共只有1023个码元,若以50码元每秒的速度搜索,仅需20.5 s便可完成。 (2)C/A码的码元宽度较大。若两个序列的码元相关误差为码元宽度的1/101/100, 则此时所对应的测距误差可达29.32.9 m。 由于其精度较低,所以称C/A码为粗捕获码。,C/A码具有以下特点: ,3. 精码P码 P码(Precise Code)是卫星的精测码,码速率为10.23 MHz,它是由两组各有两个12级反馈移位寄存器结合产生的, 其基本原理与C/A 码相似,但其线路设计细节远比C/A 码复杂,且严格保密。12级反馈移位寄存器产生的m序列的码元总数为212-1=4095,采用截
24、短法将两个12级m序列截短为一周期中码元数互为素数的截短码,如X1a码元数为4092,X1b码元数为4093。在将X1a和X1b通过模二相加或波形相乘,得到周期为40924093的长周期码。再对乘积码截短,截出周期为1.5 s、 码元数N1=15.345106的X1。同样的方法,在另外一组中,两个12级移位寄存器产生X2,只是X2码比X1码周期略长一些。,3. 精码P码,总之,两个子码N1和N2均是由两个12级移位寄存器产生的截短码。其码速率均为10.23 Mb/s, N2的码长比N1的多37个码元。 两个子码的码长分别为:,(4-7),(4-8),因此P码的码元数为:,(4-9),相应的周期
25、为:,(4-10),总之,两个子码N1和N2均是由两个12级移位,在乘积PN1(t)PN2(t+ni),ni可取0,1,2,36。这样可得到37种P码。在实际应用中,P码采用7天的周期,即在PN1(t)PN2(t+ni)中截取一段周期为7天的P码,并规定每星期六午夜零点使P码置“1”状态作为起始点。在这37个P码中,32个供GPS卫星使用,5个供地面站使用。这样,每颗卫星所使用的P码便具有不同的结构,但码长和周期相同。 P码的特征是:码长Nu=2.351014bit;码元宽度tu0.097 752s,相应长度为29.3m;周期Tu=Nutu267天; 数码率为10.23 Mb/s。,在乘积PN
26、1(t)PN2(t+ni),n,因为P码的码长约为6.191012bit,所以如果仍采用搜索C/A码的办法来捕获P码,即逐个码元依次进行搜索,当搜索的速度仍为50码元每秒时,那将是无法实现的(约需14105天)。因此,一般都是先捕获C/A码,然后根据导航电文中给出的有关信息,便可捕获P码。 另外,由于P码的码元宽度为C/A码的1/10,这时若取码元的相关精度仍为码元宽度的1/101/100, 则由此引起的距离误差约为2.930.29 m,仅为C/A码的1/10。 所以P码可用于较精密的导航和定位,称为精码。目前美国政府对P码保密,不提供民用,因此一般GPS用户实际只能接收到C/A码。,因为P码
27、的码长约为6.191012bit,所以如果,4.3 GPS卫星的导航电文,4.3.1 导航电文格式 导航电文的基本单位是一个主帧,每个主帧长度为1500 bit,由5个子帧组成(见图4-6)。每个子帧分别含有10个字, 每个字含30 bit电文,故每一子帧共含300 bit电文。电文的传输速率是50 b/s,所以播发一帧电文需要30 s,而一子帧电文的持续播发时间为6 s。,4.3 GPS卫星的导航电文 4.3.1 导航电文格式,图4-6 导航电文的组成格式,图4-6 导航电文的组成格式,为了记载多达25颗GPS卫星的星历,规定4、5子帧各有25个页面。子帧1、2、3与子帧4、5的每一页均构成
28、一帧电文。 每25帧导航电文组成一个主帧。 在每一帧电文中,1、2、3子帧的内容每30 s重复一次,每小时更新一次,而子帧4、5的内容仅在给卫星注入新的导航数据后才得以更新。,为了记载多达25颗GPS卫星的星历,规定4、5子帧各,4.3.2 导航电文的内容 GPS卫星的导航电文是卫星以二进制码的形式发送给用户的导航定位数据,故又称为数据码或D码,是用户用来定位和导航的数据基础。它主要包括:卫星星历、时钟改正、电离层时延改正、 工作状态信息及C/A码转换到捕获P码的信息、全部卫星的概略星历, 如图4-7所示。,4.3.2 导航电文的内容,图4-7 各帧导航电文的内容,图4-7 各帧导航电文的内容
29、,1. 遥测码(Telemetry Word, TLW) 遥测码位于各子帧的开头,它用来表明卫星注入数据的状态,其30比特中,第18比特是同步码, 为各子帧编码脉冲提供一个同步起点, 使用户便于解释导航电文;第922比特为遥测电文, 包括地面监控系统注入数据时的状态信息、 诊断信息和其他信息; 第23和第24比特是连接码;第2530比特为奇偶校验码, 它用于发现和纠正错误。,1. 遥测码(Telemetry Word, TLW,2. 转换码(Hand Over Word, HOW) 转换码位于每个子帧的第2个字码,其作用是提供帮助用户从所捕获的C/A码转换到捕获P码的Z计数。Z计数实际上是一个
30、时间计数, 它以从每星期起始时刻开始播放的D码子帧数为单位,给出了一个子帧开始瞬间的GPS时间。 由于每一个子帧持续时间为6 s,所以下一子帧开始的时间为6Z s。用户可以据此将接收机时钟精确对准GPS时钟,并快速捕获P码。 转换码的第18比特表明卫星注入电文后是否发生滚动动量矩阵缺载现象;第19比特指示数据帧的时间是否同步;第2022比特为子帧识别标志;第2324比特为连接码;第2530比特为奇偶校验码。,2. 转换码(Hand Over Word,,3. 第1数据块 第1子帧的第310字码称为第1数据块,它的主要内容包括: 标识码、时延差改正、星期序号、数据龄期、卫星的健康状况、卫星时钟改
31、正系数等。 (1) 星期序号(WN)。第3字码的第110比特,表示从1980年1月6日子夜零点(UTC)起算的星期数,也称GPS星期数。 ( 2)第1112比特表示L2载波是采用P码还是C/A码调制, “01”为P码调制, “10”为C/A码调制。,3. 第1数据块,(3) 第17比特表示导航数据是否正常,“0”表示所有导航数据都正确,“1”表示有错误。 第1822比特表示信号编码的正确性。 (4)数据龄期(AODC)。第3字码的第23、24比特以及第8字码的第18比特,均表示卫星时钟的AODC。AODC是时钟改正数的外推时间间隔,它指明卫星时钟改正数的置信度。 AODC=t0c-t1 (4-
32、11)式中,t0c表示第1数据块的参考时刻;t1表示计算时钟改正参数所用数据的最后观测时间。,(3) 第17比特表示导航数据是否正常,“0”表示所有,(5) 时延差改正Tgd。时延差改正Tgd表示信号在卫星内部的时延差(TP1-TP2),即P1(y1)、P2(y2)码从产生到卫星发射天线所经历时间的差异。 (6) 时钟改正。GPS系统时间是以地面主控站的主原子钟为基准。由于主控站时钟的不稳定性,使得GPS时间和UTC时间之间存在着差值。地面监控系统通过监测确定出这种差值, 并用导航电文播发给广大用户。,(5) 时延差改正Tgd。时延差改正Tgd表示信号在,每一颗GPS卫星的时钟相对GPS系统时
33、间存在着差值,需加以改正,这便是卫星时钟改正, 即,(4-12),式中,t0c是第1数据块的参考时刻,在第8字码的第924比特;a0是卫星钟差(s)时间偏差,在第9字码的第18比特; a1是卫星钟速(s/s)频率偏差系数,在第9字码的第925比特;a2是卫星钟速变率(s/s2)漂移系数,在第10字码的第122比特。,每一颗GPS卫星的时钟相对GPS系统时间存在着差值,,4. 第2数据块 第2和第3子帧组成第2数据块,其内容为GPS卫星星历, 它是GPS卫星为导航、定位播发的主要电文,可向用户提供有关计算卫星运行位置的信息。由卫星每30 s发送一次,每1 h更新一次。 描述卫星的运行及其轨道的参
34、数包括下列三类,如图4-8所示。 (1) 开普勒轨道6系数: 为轨道长半轴的平方根;e为轨道偏心率;M0为按参考历元t0e计算的平近点角;i0为按参考历元t0e计算的轨道倾角;0为按参考历元t0e计算的升交点赤经;为近地点角距。,4. 第2数据块,图4-8描述卫星的运行及其轨道的参数,图4-8描述卫星的运行及其轨道的参数,(2)轨道摄动9参数:n为平近地点角改正值; 为升交点赤经变化率; 为轨道平面倾角变化率; Cus、Cuc为纬度幅角的正、余弦调和改正项振幅;Cis、Cic为轨道正面倾角的正、余弦调和改正项振幅; Crs、Crc为轨道半径的正、 余弦调和改正项振幅。 (3)时间参数:t0e为
35、从星期日子夜零点开始度量的星历参考时刻; AODE为星历表的数据龄期。 ,(2)轨道摄动9参数:n为平近地点角改正值; 为升交,5. 第3数据块 第3数据块包括第4子帧和第5子帧,其内容包括所有GPS卫星的历书数据。当接收机捕获到某颗GPS卫星后,根据第3数据块提供的其他卫星的概略星历、时钟改正、卫星工作状态等数据, 用户可以选择工作正常和位置适当的卫星,并且较快地捕获到所选择的卫星。,5. 第3数据块,1) 第4子帧 第25和第710页面提供第2532颗卫星的概略星历; 第17页面提供专用电文,第18页面给出电离层改正模型参数和UTC数据;第25页面提供所有卫星的型号、防电子对抗特征符以及第
36、2532颗卫星的健康状况;第1、6、11、12、16及第1924页面作为备用;第1315页面为空闲页。,1) 第4子帧,2) 第5子帧 第124页面给出第124颗卫星的历书; 第25页面给出第124颗卫星的运行状况和星期编号;在第3数据块中, 第4子帧和第5子帧的每个页面的第3字码,其开始的8比特是识别字符,且分成两种形式: 第1和第2比特为电文识别(DATA ID); 第38 比特为卫星识别(SV ID)。,2) 第5子帧,4.4 Matlab仿真C/A码的产生及调制,1. 最大长度序列(MLS)和G2的输出及其延迟时间的检验 该仿真程序的原理性描述见图4-5, 运行结果见图4-9。 其完整
37、的M程序代码如下: %产生C/A码的方法一%k1=2; k2=6; delay=5; %将10号寄存器的 Reg=-ones(1,10); %定义参数k1、 k2以及延迟%定义寄存器110的初始值都为-1%通过循环产生长度为1024的MLS序列以及G2序列for j=1:1023;MLS(j)=Reg(10); %将10号寄存器的输出作为 MLS 输出,4.4 Matlab仿真C/A码的产生及调制 1.,modulo=Reg(2)*Reg(3)*Reg(6)*Reg(8)*Reg(9)*Reg(10);Reg(2:10)=Reg(1:9);Reg(1)=modulo;g2(j)=Reg(k1)
38、*Reg(k2); %将参数k1和k2所代表的寄存器模二相加后作为G2 输出end%将G2与MLS进行延迟检验if MLSg2(delay:1023 1:delay-1) disp(OK)elsedisp(not match)end%在G2序列中找出-1并转换为0, 找出1并转换为1,modulo=Reg(2)*Reg(3)*Reg(6)*Re,ind1=find(g2-1);ind2=find(g21);g2(ind1)=ones(1,length(ind1);g2(ind2)=zeros(1,length(ind2);temp=g2(1:120);x(1)=0;Show(1)=temp(1
39、);P=2;%下面的循环是为了将结果显示成方波形式for i=2:length(temp) if (temp(i)=temp(i-1) x(P)=i-1; Show(P)=temp(i-1);,ind1=find(g2-1);,x(P+1)=i-1+0.01; Show(P+1)=temp(i); P=P+2; else Show(P)=temp(i); x(P)=i; P=P+1; endend%画出仿真结果图plot(x,Show);axis(0 length(x)-60 -0.1 1.1); grid;,x(P+1)=i-1+0.01;,图4-9 最大长度序列(MLS)和G2的输出,图4
40、-9 最大长度序列(MLS)和G2的输出,2. C/A码的产生 该程序对C/A码的产生进行了仿真,运行结果显示了第4颗卫星产生的C/A码,如图4-10所示。仿真程序完整的M程序代码如下: %产生C/A码的方法二%本程序要求输入卫星的编号, 在图4-10中显示的是第4颗卫星产生的C/A码, 即输入为4svnum=input(enter the satellite number = );g2s = 5;6;7;8;17;18;139;140;141;251;252;254;255;256;257;258;469;470;471; .472;473;474;509;512;513;514;515;5
41、16;859;860;861;862;g2shift=g2s(svnum,1);,2. C/A码的产生,reg =-1*ones(1,10); %将110号寄存器的初始值设为-1%将10号寄存器的输出作为G1码%并将10号寄存器与3号寄存器输出模二相加后反馈给1号寄存器for i = 1:1023,g1(i) = reg(10);slave1 = reg(3)*reg(10);reg(1,2:10) = reg(1:1:9);reg(1) = slave1;end,reg =-1*ones(1,10); %将110号寄,reg = -1*ones(1,10); %将110号寄存器的初始值设为-
42、1%将10号寄存器的输出作为G2码%并将10、 9、 8、 6、 3、 2寄存器输出模二相加后反馈给1号寄存器for i = 1:1023,g2(i) = reg(10);save2 = reg(2)*reg(3)*reg(6)*reg(8)*reg(9)*reg(10);reg(1,2:10) = reg(1:1:9);reg(1) = save2;endg2tmp(1,1:g2shift)=g2(1,1023-g2shift+1:1023);g2tmp(1,g2shift+1:1023)=g2(1,1:1023-g2shift);g2 = g2tmp; %G1和G2卷积后得到C/A码ss-
43、ca = g1.*g2;,reg = -1*ones(1,10); %将110号,ca = ss-ca;%在C/A码的序列中找出-1并转换为0, 找出1并转换为1ind1=find(ca=-1);ind2=find(ca=1);ca(ind1)=ones(1,length(ind1);ca(ind2)=zeros(1,length(ind2);temp=ca(1:102) ;%下面的循环是为了将结果显示成方波形式x(1)=0;Show(1)=temp(1);P=2;for i=2:length(temp) if (temp(i)=temp(i-1) x(P)=i; Show(P)=temp(i
44、-1);,ca = ss-ca;,x(P+1)=i+0.01; Show(P+1)=temp(i); P=P+2; else Show(P)=temp(i); x(P)=i; P=P+1; endend%画出仿真结果图plot(x,Show);axis(0 length(x)+5 -1 1.5); grid;,x(P+1)=i+0.01;,图4-10 第4颗卫星产生的C/A码,图4-10 第4颗卫星产生的C/A码,3. 卫星数据GPSsignal 假设每个导航数据包含32位,每个导航数据包含20个C/A码组(1023位),每组C/A 码的周期为1 ms, 载频为154F(L1载波)和120F(
45、L2载波)两种,则每位包含1200或1540个载波。 当每个载波按8个采样点计算时,每个导航数据的仿真数据为:,32201023120086 285 312 000,由于数据量太大,导致仿真速度太慢,从而无法仿真。若假设每个导航数据包含32位,而每个导航数据只包含5个C/A码组, 每个C/A码组仅包含10个载波,当每个载波按8个采样点计算时, 每个导航数据的仿真数据为:,325102310813 M,3. 卫星数据GPSsignal3220102,可以看出数据量大大减少了。 下面给出仿真程序完整的M文件代码。 %x1=10.23;y1=6.24;z1=17.8; %假设的卫星位置参数%Code
46、1的产生通过调用子函数fGenerateNavigationData实现%该子函数将在下面进行介绍Code1=fGenerateNavigationData(x1,y1,z1); %将产生的Code1中的0找出并转换为-1index1=find(Code1=0); Code1(index1)=-ones(1,length(index1);SvNum=12; %设定卫星编号为12Code2=zeros(1,1); %定义Code2的初值为0%将编号为SvNum的卫星通过调用子函数fGenerateCAcode3生成C/A码 ,可以看出数据量大大减少了。 下面给出仿真程序完整的M文件代码,%该子函
47、数将在下面进行介绍Temp=fGenerateCAcode3(SvNum);%将Temp中的0找出并转换为-1index1=find(Temp=0);Temp(index1)=-ones(1,length(index1);Temp=Temp Temp Temp Temp Temp;%生成Code2for i=1:length(Code1) Code2=Code2 Code1(1,i)*Temp;endCode2=Code2(2:length(Code2);%每位数据通过正弦波来调制,%该子函数将在下面进行介绍,SinWave=sin(0:2*pi/8:2*pi*7/8);SinWave=sin
48、gle(SinWave);GPSsignal=zeros(1,1);SinWave=SinWave SinWave SinWave SinWave SinWave; for i=1:length(Code2) GPSsignal=GPSsignal Code2(1,i)*SinWave; endGPSsignal=GPSsignal(2:length(GPSsignal);%将卫星数据GPSsignal存入GPSsignal.mat文件中save GPSsignal.mat GPSsignal,SinWave=sin(0:2*pi/8:2*pi*7/8,下面介绍两个调用的子函数fGenerat
49、eCAcode3和fGenerateNavigationData。 %子函数fGenerateCAcode3function y=fGenerateCAcode3(svnum)%将程序2改为子函数的形式, 输入为卫星编号, 输出为相应的C/A码g2s = 5;6;7;8;17;18;139;140;141;251;252;254;255;256;257;258;469;470;471; .472;473;474;509;512;513;514;515;516;859;860;861;862;g2shift=g2s(svnum,1);reg =-1*ones(1,10);for i = 1:10
50、0g1(i) = reg(10);,下面介绍两个调用的子函数fGenerateCAc,slave1 = reg(3)*reg(10);reg(1,2:10) = reg(1:1:9);reg(1) = slave1;endreg = -1*ones(1,10);Table1= 2 6; 3 7; 4 8; 5 9; 1 9; 2 10; 1 8; 2 9; 3 10;,slave1 = reg(3)*reg(10);,2 3; 3 4; 5 6; 6 7; 7 8; 8 9; 9 10; 1 4; 2 5; 3 6; 4 7; 5 8; 6 9; 1 3; 4 6;for i = 1:100,