GPS基本原理及其Matlab仿真
基于MATLAB的GPS信号的仿真设计
摘要扩频通信是近几年来迅速发展起来的一种通信技术。
在早期研究这种技术的主要目的是为提高军事通信的和抗干扰性能,因此这种技术的开发和应用一直是处于状态。
扩频技术在军事应用上的最成功例可以以美国和俄国的全球定位系统(GPS和GLONASS)为代表;在民用上GPS和GLONASS也都得到了广泛的应用,这些系统的基础就是扩频技术。
全球定位系统(GPS)用于对全球的民用与军用飞机、舰船、人员、车辆等提供实时导航定位服务。
GPS系统采用典型的CDMA体制,这种扩频调制信号具有低截获概率特性。
该系统主要利用直接序列扩频调制技术,采用的伪码有C/A码和P(Y)码两种。
本文讲述的是直接序列扩频通信技术在全球定位系统(GPS)中的应用。
主要介绍扩频通信中的伪码仿真,简要论述M序列和伪随机噪声码(P码和C/A码)与其产生,并使用MATLAB7.0仿真M序列、P码和C/A码的编码过程和仿真结果,介绍直扩频技术伪码的相关知识,重点介绍P码。
关键字:全球定位系统;直接扩频通信;伪码仿真AbstractSpread spectrum communication is a communications technology developed rapidly in recent years. In early studies the main purpose of this technology is to improve the military communications confidential and anti-jamming performance, therefore the development and application of this technology is always in secret state. Spread spectrum technology in the most successful military application examples are the United States and Russia could the global positioning system (GPS and GLONASS) for representative; In civil GPS and GLONASS also have been widely used,which foundation of system is the spread spectrum technology.Global positioning system (GPS) is used to provide real-time navigation and positioning services for global civil and military aircraft, ships, personnel, vehicles and so on. GPS system adopts the typical CDMA system, which kind of spread spectrummodulation signals have low intercept probability characteristic. This system mainly used the direct sequence spread spectrum modulation technology, using the PRN code including C/A code, P codes and Y codes.This article tells the direct sequence spread spectrum communication technology applied in global positioning system (GPS) .The article mainly introduces the pn code spread spectrum communication simulation, briefly discussing M sequence and pseudo random noise code (P yards and C/A yards) and its produce and use MATLAB7.0 simulate M series, P yards and C/A yards of encoding process and the simulation results, introducing pn code straight spread-spectrum technology knowledge, especially P yards.Key: GPS; DS-SS;Pn code simulation目录引言41GPS理论与其特性51.1GPS系统概述51.2GPS信号构成71.2.1M序列101.2.2C/A码131.2.3P码151.3小结192MATLAB软件192.1MATLAB软件简介202.2MATLAB应用概述212.2.1 MATLAB功能介绍212.2.2 MATLAB使用方法233 GPS卫星导航信号算法与其MATLAB仿真293.1 C/A码仿真代码与其仿真结果293.2 P码的仿真代码与其仿真结果323.3 结果分析与其相关性分析36结论37致38参考文献39附录A 英文原文40附录B 中文翻译41附录C C/A码源代码41附录D P码源代码54引言全球卫星定位系统,简称GPS系统,可在全球围,全天候为用户连续地提供高精度的位置、速度和时间信息。
【精品】用MATLAB计算GPS卫星位置-最新文档资料
用M A T L A B计算G P S 卫星位置-最新文档资料用MATLAB计算GPS卫星位置GPS定位的基本原理简单来说就是在WGS-84空间直角坐标系中,确定未知点与GPS卫星的空间几何关系。
因此利用GPS 进行导航和测量时,卫星是作为位置已知的高空观测目标。
那么如何精确快速的解算出卫星在空间运行的轨迹即其轨道是实现未知点快速定位的关键。
1 标准格式RINEX格式简述在进行GPS数据处理时,由于接收机出自于不同厂家,所以厂家设计的数据格式也是五花八门的,但是在实际中,很多时候需要把来自不同型号的接收机的数据放在一块进行处理,这就需要数据格式的统一,为了解决这种矛盾,RINEX(英文全称为:The Receiver Independent Exchange Format)格式则应运而生,该格式存储数据的类型是文本文件,数据记录格式是独立于接收机的出自厂家和具体型号的。
由此可见,其特点是:由于是通用格式,所以可将不同型号接收机收集的数据进行统一处理,并且大多数大型数据处理软件都能够识别处理,此外也适用于多种型号的接收机联合作业,通用性很强。
RINEX标准文件里不是单一的一个文件,而是包括如下几种类型的文件[1]。
(1)观测数据文件(ssssdddf.yyo),记录的是GPS观测值信息,(OBServation data,简写OBS,为接收机记录的伪距、相位观测值;O文件,如XG012191.10O)。
(2)导航电文文件(ssssdddf.yyn),记录的是GPS卫星星历信息(NAVavigation data,简写NAV,记录实时发布的广播星历;N文件,如XG012191.10N)。
(3)气象数据文件(ssssdddf.yym),主要是在测站处所测定的气象数据(METerological data,简写MET,记录气象仪器观测的温、压、湿度状况;M文件,如XG012191.10M)。
(4)GLONASS导航电文文件(ssssdddf.yyg),记录的是地球同步卫星的导航电文。
GPS基本原理及其matlab仿真第4章
第4章 GPS卫星的导航定位信号 这里,自相关性是指两个结构相同的码序列的相关程度, 它由自相关函数描述。为了说明这一问题,可将随机噪声码序
列u(t)平移k个码元,获得具有相同结构的新的码序列u(t)。 比
较这两个码序列,假定它们的对应码元中,码值(0或1)相同 的码元个数为Su,而码元相异的码元个数为Du,那么两者之差 Su-Du 与两者之和Su+Du (即码元总数)的比值,即定义为随机 噪声码序列的自相关函数,用符号R(t)表示:
用户接收和测量GPS信号。从表4-1中可以看出,在D码的一个
码元内,将有20 460个C/A码码元,204 600个P码码元,31 508 400个L1周期和24 552 000个L2周期。
第4章 GPS卫星的导航定位信号
表4-1 GPS信号的频率关系
相关频率 基准频率 F C/A 码的码频 P 码的码频 D 码的码频 基频 F 10.23MHz
第4章 GPS卫星的导航定位信号 (3) 大气衰减小,有利于研制用户设备。GPS卫星采用L 波段,避开了大气的谐振吸收,衰减较小,且电离层延迟的影 响小,有利于用较经济的接收设备测量GPS信号。而采用两个 载频,目的在于测量出或消除掉由于电离层效应而引起的延迟 误差。 GPS信号是一种调制波,它不仅采用L波段的载波,而且采 用扩频技术传送卫星导航电文。所谓“扩频”,是将原来打算 发送的几十比特速率的电文变换成发送几兆甚至几十兆比特速
0 0 0 1 0 0 1 1 0 1 0 1 1 1 1
末级输出的二进制数 ④ 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0
第4章 GPS卫星的导航定位信号 由此可见,四级反馈移位寄存器所产生的m序列,其一个
GPS卫星运动及定位matlab仿真设计毕业设计
GPS卫星运动及定位matlab仿真设计毕业设计目录第一章前言 (1)1.1课题背景 (1)1.2本课题研究的意义和方法 (2)1.3GPS前景 (2)第二章 GPS测量原理 (4)2.1伪距测量的原理 (4)2.1.1 计算卫星位置 (5)2.1.2 用户位置的计算 (5)2.1.3 最小二乘法介绍 (5)2.2载波相位测量原理 (6)第三章 GPS的坐标、时间系统 (10)3.1坐标系统 (10)3.1.1 天球坐标系 (10)3.1.2 地球坐标系 (12)3.2时间系统 (13)3.2.1 世界时系统 (14)3.2.2 原子时系统 (15)3.2.3动力学时系统 (16)3.2.4协调世界时 (16)3.2.5 GPS时间系统 (16)第四章卫星运动基本定律及其求解 (18)4.1开普勒第一定律 (18)4.2开普勒第二定律 (19)4.3开普勒第三定律 (20)4.4卫星的无摄运动参数 (20)4.5真近点角的概念及其求解 (21)4.6卫星瞬时位置的求解 (22)第五章 GPS的MATLAB仿真 (25)5.1卫星可见性的估算 (25)5.2GPS卫星运动的MATLAB仿真 (26)结论 (38)致谢 (40)参考文献 (41)附录 (42)第一章前言1.1 课题背景GPS系统的前身为美军研制的一种子午仪卫星定位系统(Transit),1958年研制,64年正式投入使用。
该系统用5到6颗卫星组成的星网工作,每天最多绕过地球13次,并且无法给出高度信息,在定位精度方面也不尽如人意。
然而,子午仪系统使得研发部门对卫星定位取得了初步的经验,并验证了由卫星系统进行定位的可行性,为GPS系统的研制埋下了铺垫。
由于卫星定位显示出在导航方面的巨大优越性及子午仪系统存在对潜艇和舰船导航方面的巨大缺陷。
美国海陆空三军及民用部门都感到迫切需要一种新的卫星导航系统[13]。
1973年12月 ,美国国防部批准它的陆海空三军联合研制新的卫星导航系统: NAVSTAR/GPS。
GPS用户位置求解Matlab仿真121118
2、伪距测量模拟函数 CalculatePseudoRange
function Prange=CalculatePseudoRange(SatellitePosition,UserPosition) 算机模拟伪距测量 %计
c=3e5; %光速,单位:km/s; DeltaT=1e-4; %钟差为 1e-4 数量级秒,假设卫星钟间时钟一致,DeltaT=Tu-Ts;钟差不 宜超过 3e-4,否则不收敛; VisSatNum=0; %首先找出可以观测到的卫星数量 SatellitePosNew=[]; for k=1:24 if SatellitePosition(k,4)==1 VisSatNum=VisSatNum+1; SatellitePosNew=[SatellitePosNew; SatellitePosition(k,1:3)];
end %if end %for Prange=ones(1,VisSatNum); %求解用户接收机收到的伪距信息 for n=1:VisSatNum Prange(1,n)=sqrt( (SatellitePosNew(n,:)-UserPosition) (SatellitePosNew(n,:)-UserPosition)' + c*DeltaT ); end
三、实验内容
1、熟悉 Matlab 编程的语法、环境。 2、定位程序是一个迭代运算程序,卫星坐标和用户坐标由上述语句给出,运行程序,
GPS系统仿真
GPS系统仿真实验报告姓名:***学号:**********指导教师:***一、实验目的:分析扩频码的构成原理,基于MATLAB 产生GPS 信号,并进行调制传输,接收解调,最终建立完整的GPS 系统并对接收的结果进行分析。
二、实验原理:扩频通信:扩频通信的基本理论依据是信息论中的香农公式)1(log 2NS W C += 其中,C 是信道容量(bit/s),砰是信道带宽,S 是信号的平均功率,N 是噪声功率,香农公式表明了在给定信噪比的情况下,只要采用某种编码系统就能以任意小的差错概率,以接近于C 的传输速率来传送信息。
扩频序列采用的是伪随机序列,伪随机序列具有尖锐的自相关性,近似为零的互相关性这一特点。
基于这一特性,可以通过检测本地伪随机序列与原伪随机序列的互 相关峰值的大小来捕获伪随机序列。
伪随机序列包括m 序列、Gold 序列、M 序列和组合序列等。
GPS 信号中所使用的是一种组合Gold 序列(C/A 码/P 码)。
三、实验内容:1、GPS 信号产生:GPS 卫星同时发射 L1、L2 两路扩频信号,载频分别为 1575.42Mz 、1227.6MHz ,L1 信号将导航电文分别用 C/A 码和 P 码进行扩频。
GPS 卫星的导航电文(D 码),是一组二进制的数码序列,它与编码脉冲相对应,以数字通讯方式传递给用户。
当数码取“0”时,对应的编码脉冲状态取“+1”而码值取“1”,对应的编码脉冲取“-1”,即反像编码。
L2波段上只传送P 码,P 码是加密码,普通用户无法接受和使用。
C/A 码与P 码采用的也是反像编码方式,因此,当C/A 码或P 码与D 码进行模二和(异或运算)时,表现出来的是码元异或,而波形相乘。
2、C/A 码结构:C/A 码是一种Gold 组合码,由两个10级反馈移位寄存器组合产生,可以表示为)()()(021τi N t G t G t G +⊕=其中0τ为码元对应的时间:1/1023ms ,i N 为相位偏置的码元数。
基于MatLabSimulink的GPS系统仿真
(2) 我
δS = S − S 0 = δS d + δS w
引入的相位延迟为
δφ d =
(6)
们 在 仿 真 中 不 妨 采 用 一 9 位 LFSR
生成多项式为
其中 Tk 为绝对温度 P 为大气压(mbar) e0 为水汽风压(mbar) S 为实际传播路径 S0 为信号在真空中的传播路径 hs 为 90o 20o 15o 10o 5o 时 δS 的典型值分别为 2.51m 7.29 m 9.58 m 14.04 m 25.82 m 无线信道由于多径效应产生时延扩展 若收发信机处
k =1
N
ˆ(t) x
航电文经伪随机序列扩频并调制后的信号
则 L1 和 L2 载
N
波上的 GPS 信号可分别简单的建模为 S L1 (t ) = AP Pi (t )Wi (t )Di (t ) cos(w1t + ϕ1 ) + AC Ci (t )Di (t ) sin(w1t + ϕ1 )
S L 2 (t ) = B P Pi (t )W i (t ) D i (t ) cos( w 2 t + ϕ 2 )
• 1857 •
第 18 卷第 7 期 2006 年 7 月
系 统 仿 真 学 报 其中 hs 为 GPS 卫星相对观测站的高度角
11 12
Vol. 18 No. 7 July, 2006
组成 生成多项式分别为
X 1A ( x) = 1 + x + x + x + x
6 8
δS d = 1.552 × 10 − 5
[1]
ˆ (t ) − rq (t ) x ˆ (t ) 们采用 Jake 移动信道模型[7] y (t ) = ri (t ) x
GPS基本原理及其Matlab仿真第4章GPS卫星的导航定位信号
bit/s(简写为b/s)。码可以看做是以0和1为幅度的时间函数(如
图4-2所示),用u(t)表示。因此,一组码序列u(t) , 对于某个 时刻t而言,码元是0或1完全是随机的,但其出现的概率均为 1/2。这种码元幅值是完全无规律的码序列,称为随机噪声码 序列。它是一种非周期序列,无法复制。但是, 随机噪声序
(3 ) 大气衰减小,有利于研制用户设备。 GPS 卫星采用 L 波段,避开了大气的谐振吸收,衰减较小,且电离层延迟的影 响小,有利于用较经济的接收设备测量 GPS 信号。而采用两个 载频,目的在于测量出或消除掉由于电离层效应而引起的延迟 误差。 GPS信号是一种调制波,它不仅采用L波段的载波,而且采 用扩频技术传送卫星导航电文。所谓“扩频”,是将原来打算 发送的几十比特速率的电文变换成发送几兆甚至几十兆比特速
fg C / A 码 的 码 频 fp P 码 的 码 频
fL 1 5 4 0 1/
fL 2
/ 1 2 0 0 / 1 2 0 / 2 4 5 5 2 0 0 0
fL 1 5 4 1/ fL 3 1 5 0 8 4 0 0 1/
fL 2 fL 2
f D 码 的 码 频 d
4.2 GPS卫星的测距码信号
位,也是信息量的度量单位。如果将各种信息,例如声音、 图 像以及文字等,按某种预定的规则表示为二进制数的组合形式,
则这一过程就称为编码,也就是信息的数字化。
图4-2 码序列——以0和1为幅度的时间函数
在二进制的数字化信息传输中,每秒所传输的比特数称 为数码率,用以表示数字化信息的传输速度,其单位为
率的由电文和伪随机噪声码组成的组合码。采用扩频技术时,
若信号功率仅为噪声功率的1/10,那么信号将深深地淹没在噪 声之中而不易被他人捕获,从而使得信号具有极强的保密性。
GPS基本原理及其Matlab仿真第4章GPS卫星的导航定位信号
第4章 GPS卫星的导航定位信号
这里,自相关性是指两个结构相同的码序列的相关程度, 它由自相关函数描述。为了说明这一问题,可将随机噪声码序 列u(t)平移k个码元,获得具有相同结构的新的码序列u(t)。 比 较这两个码序列,假定它们的对应码元中,码值(0或1)相同 的码元个数为Su,而码元相异的码元个数为Du,那么两者之差 Su-Du与两者之和Su+Du(即码元总数)的比值,即定义为随机 噪声码序列的自相关函数,用符号R(t)表示:
(4-2)
Tu(2r1)tuNutu
(4-3)
式中,Nu也称为码长。
第4章 GPS卫星的导航定位信号
由于移位寄存器不容许出现全“0”状态,因此2r-1码元
中,“1”的个数总比“0”的个数多一个。这样,当两个周期
相同的m序列其对应码元完全对齐时,自相关系数R(t)=1,而
在其他情况则有
R(t)1 1 Nu 2r 1
载 f 频 L2
120F
fL2 /1200 fL2 /120 fL2 /24552000
第4章 GPS卫星的导航定位信号
4.2 GPS卫星的测距码信号
4.2.1 码的基本概念
码是一种表达信息的二进制数及其组合, 是一组二进制的 数码序列。例如,对0,1,2,3取两位二进制数的不同组合表 示为:00,01,10,11。这些二进制数的组合形式称之为码。 其中每一位二进制数称为1个码元或1比特(bit);每个码均含 有两个二进制数,即两个码元或两个比特。比特是码的度量单 位,也是信息量的度量单位。如果将各种信息,例如声音、 图 像以及文字等,按某种预定的规则表示为二进制数的组合形式, 则这一过程就称为编码,也就是信息的数字化。
第4章 GPS卫星的导航定位信号
基于MATLAB平台的GPS仿真的开题报告
基于MATLAB平台的GPS仿真的开题报告一、研究背景和意义随着卫星导航系统技术和应用的不断发展,全球定位系统(GPS)已经成为了现代化社会中不可或缺的一部分。
GPS已广泛应用于空中、陆地、海洋等各个领域,成为了现代化社会中最为重要的技术之一。
因此,GPS仿真技术的研究具有重要的实际意义。
GPS仿真技术可以帮助人们更好地理解GPS系统的工作原理和实际应用中可能遇到的问题,并有助于提高GPS系统的性能和可靠性。
基于MATLAB平台的GPS仿真具有良好的可视化效果和高效的计算能力,在相关领域得到了广泛应用。
二、研究目的和内容本次研究旨在基于MATLAB平台开发一款GPS仿真软件,具体研究内容包括:1. GPS信号发射和接收原理的研究2. GPS信号的建模和仿真技术3. GPS信号接收机算法的研究4. GPS误差源模型的建立及相关校准算法的研究5. GPS仿真算法的优化和性能测试三、研究方法和技术路线本次研究将采用以下研究方法和技术:1. 文献研究法:对GPS信号发射和接收原理、信号建模和仿真技术、接收机算法、误差源模型和校准算法等相关文献进行综合研究和分析。
2. 算法设计法:设计基于MATLAB平台的GPS仿真算法,包括GPS 信号的建模和仿真技术、接收机算法和误差源模型及相关校准算法等。
3. 编程实现法:基于MATLAB平台开发GPS仿真软件,将算法实现为软件的各个功能模块,完成GPS信号发射、接收与处理,以及GPS误差源的建立和校准等功能。
4. 性能测试法:通过对GPS仿真软件的性能测试评估,评估软件的精度、效率、稳定性和可靠性等指标。
四、预期研究结果和意义预期本次研究将获得以下结果:1. 基于MATLAB平台的GPS仿真软件,实现了GPS信号发射和接收模拟、信号处理和误差源模型建立和校准等主要功能。
2. 对GPS系统的信号发射和接收原理、信号建模和仿真技术、接收机算法和误差源模型及相关校准算法等进行研究和分析,进一步提高了人们对GPS系统的认识和理解。
GPS基本原理及其matlab仿真第1章
第1章 绪 论 GLONASS由俄罗斯国防部操作,该计划在20世纪70年代中 期开始执行,目的是为军用。然而情况和GPS类似,许多民用
用途迅速变得十分明显,这种系统现在已是真正的军民两用系
统了。PVT确定也是用PRN测距信号完成的。 然而卫星的发射 信号与GPS不同。GLONASS 使用频分多址(FDMA),其中每颗 卫星在不同的频率上发射。这种技术允许各颗卫星使用相同的 测距码。
机的三维位置时,要求测量接收机到4颗卫星的TOA(信号到达
时间)距离,如果接收机时钟已经是与卫星时钟同步的,便需 要3个距离测量值。因此,为测量用户的纬度、经度、高度和
接收机相对于内在系统时的偏移,需要有4个测量值。如果系
统时或高度已准确获知, 便只需要4颗以下的卫星。
第1章 绪 论 GPS系统除定位服务外,同时也能利用GPS卫星具有的高稳 定性原子时钟为用户提供授时服务,由此用户可以计算出自身 的速度。 这些服务被称为标准的PVT(位置、速度、时间的英
第1章 绪 论
图 1,可以用来对变量进行算术运算、三角运算、 幂运算等。如果没有给出变量名, 运算的结果就会赋给通用的 变 量 名 ans 。 例 如 , 要 计 算 π /3 的 正 弦 值 , 可 以 执 行 命 令 sin(pi/3)。除了上述基本运算之外,Matlab还提供了大量的函 数来完成复杂的计算,同时Matlab也支持用户自定义函数。 如果在命令窗口中反复输入多个表达式,用户会感到很麻 烦。为避免这个问题,Matlab 定义了这样一种文件,它包含一 组命令,文件中每一个命令的执行都和在命令窗口中执行一样,
第1章 绪 论 如果基准台在用户的视距之内,这种技术一般称做局域 差分。然而,随着用户和基准台之间距离的增加,有些距离
基于MATLAB的GPS信号仿真完整源代码123
配套毕业设计论文见百度文库请搜索《基于MATLAB的GPS信号仿真123》附录C 仿真程序代码1、数据码的产生function datacode=data(x)y=rand(1,x);for i=1:xif y(i)<0.5datacode(i)=0;elsedatacode(i)=1;endendy(1)=0;show2(1)=datacode(1);q=2;for i=1:length(datacode)for j=1:100y(q)=i-1+j*0.01;show2(q)=datacode(i);q=q+1;endendplot(y,show2);axis([0 length(datacode) -0.2 1.2]);1、C/A码的产生及扩频调制clc;c=input('请输入数据码的长度:c=');y=rand(1,c);for i=1:cif y(i)<0.5datacode(i)=0;elsedatacode(i)=1;endendx(1)=0;show(1)=datacode(1);p=2;for i=1:cfor j=1:100x(p)=i-1+j*0.01;show(p)=datacode(i);p=p+1;endendsubplot(4,1,1);plot(x,show);title('数据码');axis([0 c -0.2 1.2]);number=input('请输入卫星PRN号码:number=');cacode=CAgenerate(number);temp=cacode(1:100)x(1)=0;show(1)=temp(1);p=2;%下面的循环是为了将结果显示成方波形式 for i=1:length(temp)for j=1:100x(p)=i-1+j*0.01;show(p)=temp(i);p=p+1;endend%画出仿真结果图subplot(4,1,2);plot(x,show);title('C/A码');axis([0 100 -0.2 1.2]);%截取CA码的前十个数据进行扩频,每个数据插入5个CA序列cacode1=cacode(1:10);for i=1:cif datacode(i)==1datacodek((i-1)*50+1:i*50)=ones(1,50);elsedatacodek((i-1)*50+1:i*50)=zeros(1,50);endendfor i=1:cfor j=1:50addr=rem(((i-1)*50+j),10);if addr==0addr=10;endkuopindata((i-1)*50+j)=xor(datacodek((i-1)*50+j),cacode1(addr));endend%下面的循环是为了将结果显示成方波形式x(1)=0;show(1)=kuopindata(1);p=2;for i=1:length(kuopindata)for j=1:100x(p)=i-1+j*0.01;show(p)=kuopindata(i);p=p+1;endendsubplot(4,1,3);plot(x,show);title('扩频数据');axis([0 length(kuopindata) -0.2 1.2]);%每位数据通过正弦波来调制Sinwave=sin([0:2*pi/8:2*pi*7/8]);Sinwave=single(Sinwave);GPSsignal=zeros(1,1);Sinwave=[Sinwave Sinwave Sinwave Sinwave Sinwave];for i=1:length(kuopindata)GPSsignal=[GPSsignal kuopindata(i)*Sinwave];endGPSsignal=GPSsignal(2:length(GPSsignal));subplot(4,1,4);plot(GPSsignal(1:500));title('调制后数据');C/A码产生的子程序CAgenerate:function cacode=CAgenerate(number)if (number<1)|(number>37)disp('输入参数必须在1 ~ 37之间取值');returnendCACode=zeros(1,1023); %生成一个1*1023的零矩阵% 设置寄存器初相Reg1=[1,1,1,1,1,1,1,1,1,1];Reg2=[1,1,1,1,1,1,1,1,1,1];% 设置反馈点,1表示需要反馈gp1=[0,0,1,0,0,0,0,0,0,1];gp2=[0,1,1,0,0,1,0,1,1,1];% 抽头G2Table=[ 2,3,4,5,1,2,1,2,3,2,3,5,6,7,8,9,1,2,3,4,5,6,1,4,5,6,7,8,1,2,3,4,5,4,1,2,4;6,7,8,9,9,10,3,4,6,7,8,9,10,4,5,6,7,8,9,3,6,7,8,9,10,6,7,8,9,10,10,7,8,10;]% 生成一个周期的伪码序列for m=1:1023CACode(m)=mod(Reg1(10)+Reg2(G2Table(1,number))+Reg2(G2Table(2,number)),2); Reg1=[mod(Reg1*gp1',2),Reg1(1:9)];Reg2=[mod(Reg2*gp2',2),Reg2(1:9)];endcacode=CACode;2、C/A码的相关性分析clc;n=input('请输入卫星PRN号码:n=');cacode1=CAgenerate(n);%在G2序列中找出-1并转换为0,找出1并转换为1ind1=find(cacode1==1);ind2=find(cacode1==0);cacode1(ind1)=-ones(1,length(ind1));cacode1(ind2)=ones(1,length(ind2));N=1023;z=zeros(1,1023);for i=0:N-1for k=i+1:N-1z1(k)=cacode1(k)*cacode1(k-i); z(i+1)=z(i+1)+z1(k);endz(i+1)=z(i+1)/N;endsubplot(2,1,1);plot(z);title('自相关特性');axis([-50 1300 -0.5 1.2]);n=input('请输入卫星PRN号码:n='); cacode2=CAgenerate(n);ind1=find(cacode2==1);ind2=find(cacode2==0);cacode2(ind1)=-ones(1,length(ind1)); cacode2(ind2)=ones(1,length(ind2)); N=1023;h=zeros(1,1023);for i=0:N-1for k=i+1:N-1h1(k)=cacode1(k)*cacode2(k-i); h(i+1)=h(i+1)+h1(k);endh(i+1)=h(i+1)/N;endsubplot(2,1,2);plot(h);title('互相关特性');axis([-50 1300 -0.5 1]);4、 P码的产生及扩频调制clc;c=input('请输入数据码的长度:c=');y=rand(1,c);for i=1:cif y(i)<0.5datacode(i)=0;elsedatacode(i)=1;endendx(1)=0;show(1)=datacode(1);p=2;for i=1:cfor j=1:100x(p)=i-1+j*0.01;show(p)=datacode(i);p=p+1;endendsubplot(4,1,1);plot(x,show);title('数据码');axis([0 c -0.2 1.2]);NumberPCode=input('enter the NumberPcode='); NumberShift=input('enter the NumberShift=');a=input('enter a=');pcode=Pcode(a,NumberPCode,NumberShift);x(1)=0;show(1)=pcode(1);p=2;for i=1:length(pcode)for j=1:100x(p)=i-1+j*0.01;show(p)=pcode(i);p=p+1;endendsubplot(4,1,2);plot(x,show);title('P码');axis([0 length(pcode) -0.2 1.2]);pcode=pcode(1:10);for i=1:cif datacode(i)==1datacodek((i-1)*50+1:i*50)=ones(1,50);elsedatacodek((i-1)*50+1:i*50)=zeros(1,50);endendfor i=1:cfor j=1:50addr=rem(((i-1)*50+j),10);if addr==0addr=10;endkuopindata((i-1)*50+j)=xor(datacodek((i-1)*50+j),pcode(addr));endendx(1)=0;show(1)=kuopindata(1);p=2;%下面的循环是为了将结果显示成方波形式for i=1:length(kuopindata)for j=1:100x(p)=i-1+j*0.01;show(p)=kuopindata(i);p=p+1;endendsubplot(4,1,3);plot(x,show);title('扩频数据');axis([0 length(kuopindata) -0.2 1.2]);%每位数据通过正弦波来调制Sinwave=sin([0:2*pi/8:2*pi*7/8]);Sinwave=single(Sinwave);GPSsignal=zeros(1,1);Sinwave=[Sinwave Sinwave Sinwave Sinwave Sinwave]; for i=1:length(kuopindata)GPSsignal=[GPSsignal kuopindata(i)*Sinwave];endGPSsignal=GPSsignal(2:length(GPSsignal));subplot(4,1,4);title('调制后数据');plot(GPSsignal(1:500));以下是P码产生的子程序Pcode:function pcode=Pcode(a,NumberPCode,NumberShift) % P码产生reg1a=[0 0 0 1 0 0 1 0 0 1 0 0];reg1b=[0 0 1 0 1 0 1 0 1 0 1 0];reg2a=[1 0 1 0 0 1 0 0 1 0 0 1];reg2b=[0 0 1 0 1 0 1 0 1 0 1 0];rx1a=0;rx1b=0;rx2a=0;rx2b=0;x1bWork=1;x2aWork=1;x2bWork=1;N=NumberShift;C1=4092*3750;C2=4093*3749;z1a=mod(N,4092);%取余数x1a=mod([(N-z1a)/4092],3750);y1a=(N-z1a-4092*x1a)/C1;if ((N-C1*y1a)>=C2)z1b=4092;x1bWork=0;x1b=3748;elsez1b=mod((N-C1*y1a),4093);x1bWork=1;x1b=(N-z1b-C1*y1a)/4093;endm=mod(N,(C1+37));y2a=(N-m)/(C1+37);if (m>=C1)dv=m-C1;elsedv=0;endz2a=mod((m-dv),4092);x2a=mod((((m-dv)-z2a)/4092),3750);z2b=mod((m-dv),4093);if (m>=C2)x2b=3748;elsex2b=(m-z2b)/4093;end%各移位寄存器的状态for i=1:z1aslave1a=mod(reg1a(6)+reg1a(8)+reg1a(11)+reg1a(12),2);reg1a(2:12)= reg1a(1:11);reg1a(1)=slave1a;endfor i=1:z1bslave1b=mod(reg1b(1)+reg1b(2)+reg1b(5)+reg1b(8)+reg1b(9)+reg1b(10)+reg1b(11)+ reg1b(12),2);reg1b(2:12)=reg1b(1:11);reg1b(1)=slave1b;endfor i=1:z2aslave2a=mod(reg2a(1)+reg2a(3)+reg2a(4)+reg2a(5)+reg2a(7)+reg2a(8)+reg2a(9)+reg2a(10) +reg2a(11+reg2a(12)) ,2);reg2a(2:12)=reg2a(1:11);reg2a(1)=slave2a;endfor i=1:z2bslave2b=mod(reg2b(2)+reg2b(3)+reg2b(4)+reg2b(8)+reg2b(9)+reg2b(12) ,2); reg2b(2:12)=reg2b(1:11);reg2b(1)=slave2b;end%各控制变量的判断if z1a==4091rx1a=1;endif z1b==4092rx1b==1;endif z2a==4091rx2a=1;x2aWork=0;endif z2b==4092rx2b=1;x2bWork=0;end%开始产生P码p=zeros(NumberPCode,1);x1acou=0;x1bcou=0;x2acou=0;x2bcou=0;cou37=dv;x2(1:a)=1;for i=1:(NumberPCode+37)x1(i)=mod( reg1a(12)+reg1b(12),2);x2(i+a)=mod( reg2a(12)+reg2b(12),2);%寄存器x1b的移位函数if x1bWork==1if rx1b==0slave1b=mod(reg1b(1)+reg1b(2)+reg1b(5)+reg1b(8)+reg1b(9)+reg1b(10)+reg1b(11)+reg1b(12),2);reg1b(2:12)=reg1b(1:11);reg1b(1)=slave1b;else if rx1b==1reg1b=[0 0 1 0 1 0 1 0 1 0 1 0];rx1b=0;endendelse if x1bWork==0endendif reg1b==[0 1 0 1 0 1 0 1 0 1 0 0 ]rx1b=1;x1bcou=x1bcou+1;if x1bcou==3749x1bwork=0;x1bcou=0;endend%寄存器x1a的移位函数if rx1a==0slave1a=mod(reg1a(6)+reg1a(8)+reg1a(11)+reg1a(12),2);reg1a(2:12)=reg1a(1:11);reg1a(1)=slave1a;else if rx1a==1reg1a=[0 0 0 1 0 0 1 0 0 1 0 0];rx1a=0;endendif reg1a==[0 0 1 0 0 1 0 0 1 0 0 0]rx1a=1;x1acou=x1acou+1;if x1acou==3750x1bwork=1;x1acou=0;endend%寄存器x2b的移位函数if x2bWork==1if rx2b==0slave2b=mod(reg2b(2)+reg2b(3)+reg2b(4)+reg2b(8)+reg2b(9)+reg2b(12) ,2); reg2b(2:12)=reg2b(1:11);reg2b(1)=slave2b;else if rx2b==1x2bout=reg2b(11);reg2b=[0 0 1 0 1 0 1 0 1 0 1 0];rx2b=0;endendelse if x2bWork==0reg2b=[0 0 1 0 1 0 1 0 1 0 1 0];x2bWork=1;rx2b=0;endendif reg2b==[0 1 0 1 0 1 0 1 0 1 0 0]rx2b=1;x2bcou=x2bcou+1;if x2bcou==3749x2bWork=0;x2bcou=0;endend%寄存器x2a的移位函数if x2aWork==1if rx2a==0slave2a=mod(reg2a(1)+reg2a(3)+reg2a(4)+reg2a(5)+reg2a(7)+reg2a(8)+reg2a(9)+reg2a(10)+reg2a(11)+reg2a(12) ,2); reg2a(2:12)=reg2a(1:11);reg2a(1)=slave2a;else if rx2a==1reg2a=[1 0 1 0 0 1 0 0 1 0 0 1];rx2a=0;endendelse if x2aWork==0if rx2a==1cou37=cou37+1;if cou37==37rx2a=0;x2awork=1;cou37=0;endendendendif reg2a==[0 1 0 0 1 0 0 1 0 0 1 1]rx2a=1;x2acou=x2acou+1;if x2acou==3750x2awork=0;x2acou=0;endendendfor i=1:NumberPCodep(i)= mod( x1(i)+x2(i),2);endp=p';pcode=p';5、 P码的相关性分析clc;NumberPCode=input('enter the number Pcode='); NumberShift=input('enter the numbershift=');a=input('enter a=');pcode=Pcode(a,NumberPCode,NumberShift); ind1=find(pcode==1);ind2=find(pcode==0);pcode(ind1)=-ones(1,length(ind1));pcode(ind2)=ones(1,length(ind2));M=NumberPCode;z=zeros(1,M);for i=0:M-1for k=i+1:M-1z1(k)=pcode(k)*pcode(k-i);z(i+1)=z(i+1)+z1(k);endz(i+1)=z(i+1)/M;endsubplot(2,1,1);plot(z);title('自相关特性');axis([-50 M -0.5 1.2]);a=input('enter a=');NumberShift=input('enter the numbershift='); pcode2=Pcode(a,NumberPCode,NumberShift); h=zeros(1,M);for i=0:M-1for k=i+1:M-1h1(k)=pcode(k)*pcode2(k-i);h(i+1)=h(i+1)+h1(k);endh(i+1)=h(i+1)/M;endsubplot(2,1,2);plot(h);title('互相关特性');axis([-50 M -0.5 1]);。
基于MATLAB的GPS信号仿真123
配套的完整源程序代码见百度文库请搜索《基于MATLAB的GPS信号仿真完整源代码123》摘要全球定位定位系统(GPS)是新一代的精密卫星导航定位系统,近年来在民用和军用领域发挥着精确制导的作用。
随着科学技术的发展,GPS导航和定位技术已向高精度、高动态的方向发展。
GPS系统的广泛应用,促使各国政府大力提高发展本国导航定位系统,这就要求我们全面透彻地研究GPS定位系统,为我国的定位导航应用作出贡献。
本文主要研究GPS信号的生成,而在GPS信号的生成过程中,伪码的算法很重要。
m序列是伪码生成的基础,本文首先详细阐述了m序列的生成原理,并进行了相应的自相关性和互相关性分析。
在m序列的基础上,再对C/A码的生成原理进行了详细的介绍。
P码的生成相对来说比较复杂,是伪码的一个重点,本文对其进行了详细的分析。
在MATLAB仿真软件的平台下,本文成功的完成了GPS信号的生成,并且形象的展示了伪码的相关特性,很好的对本文的相关内容进行了仿真。
关键词:全球定位系统;伪码;MATLAB仿真;相关性AbstractAs the new generation of the satellite navigation systems, Global Positioning System (GPS) is more and more important in military and civil fields in recent years. Though the development of science and technology, the technology of navigation and orientation has been progressed to the direction of great precision and dynamic.With the wide application of GPS locating, every country develop our best to make contribution to the positioning and navigation industry of our country.This paper mainly studies the generation of GPS signal, and the algorithm of PN code is very important in GPS signal generation. As m sequence is the basis of PN code generation, this paper firstly explains the m sequence’s generative principle in detail and the characteristics of autocorrelation and cross correlation. On the basis of m series, then this paper introduced C/A code generation principle in detail.As P code is one of the focuses of PN code, and the generation of P code is relatively complex, this paper makes detailed analysis about it.In the platform of MATLAB software simulation, this paper successfully completes the GPS signal generation, and demonstrates the correlation characteristics of PN code visually.It has done a good simulation of the content about this paper.Keywords:Global Positioning System; PN code; MATLAB simulation; correlation characte-ristics目录1 绪论 (1)1.1GPS的应用 (1)1.2本文研究的主要内容 (2)1.3本文研究的目的和意义 (3)2 GPS信号理论及MATLAB软件简介 (4)2.1GPS系统简介 (4)2.2GPS信号结构 (5)2.2.1 载波 (7)2.2.2 伪码 (9)2.2.3 导航电文 (10)2.3伪码 (12)2.3.1 m序列 (12)2.3.2 易捕码C/A码 (16)2.3.3 精码P码 (20)2.4扩频与调制 (24)2.4.1 扩频通信 (24)2.4.2 GPS信号的调制 (25)2.5MATLAB软件简介 (26)2.5.1 MATLAB简介 (26)2.5.2 M文件简介 (27)3 GPS信号仿真程序设计 (33)3.1数据码 (33)3.2C/A码 (34)3.2.1 C/A码的生成及扩频调制 (34)3.2.2 C/A码的相关性分析 (35)3.3P码 (36)3.3.1 P码产生及扩频调制 (36)3.3.2 P码的相关性分析 (39)4 结果分析 (40)4.1C/A码 (40)4.1.1 C/A码的产生及扩频调制 (40)4.1.2 C/A码的相关性分析 (40)4.2P码 (41)4.2.1 P码的产生及扩频调制 (41)4.2.2 P码相关性分析 (43)结论 (45)致谢 (46)参考文献 (47)附录A 英文原文 (48)附录B 汉语翻译 (57)附录C 部分仿真程序代码 (64)1 绪论1.1 GPS的应用全球定位系统(Global Positioning System -GPS)是美国从本世纪70年代开始研制,历时20年,耗资200亿美元,于1994年全面建成,具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。
基于MATLABSimulink的GPS卫星导航仿真器设计
基于MATLABSimulink的GPS卫星导航仿真器设计摘要:本文首先介绍了GPS卫星定位的原理和算法,然后给出了GPS仿真器的Simulink建模实现方法,并对其定位精度进行了误差分析,仿真结果表明该仿真器定位精度与实际接收机相当,可以用来模拟真实的卫星定位,为综合导航系统的研制工作带来了便利。
关键词:GPS卫星导航Simulink建模动态仿真1 引言现代飞行器对导航系统有着越来越高的要求,尤其是长航时飞机对导航设备的精度、可靠性以及连续性都提出了全面的要求。
每种导航系统都有其固有的局限性,因此仅靠单一系统的导航设备独立使用难以完全满足这些要求。
于是,使用多种导航技术的综合导航系统逐渐进入人们的视线,并受到广泛关注。
由于飞行实验费用大,对于综合导航系统最初的算法验证和实验测试,往往无法进行飞行器搭载实验,因此国内外均采用实验室半物理仿真系统进行初期实验研究。
Simulink是一种针对动态系统进行建模、仿真和分析的工具,它被广泛应用于线性系统、非线性系统的建模和仿真,支持连续系统、离散系统或者两种混合的系统和多速率系统。
本文介绍了“大飞机”综合导航仿真系统中,基于MATLAB/Simulink开发的GPS仿真器的原理和设计过程。
2 仿真器的应用环境如图1所示,综合导航仿真系统由飞行、惯导、卫星导航、天文导航、大气数据仿真、无线电高度表、地形匹配导航等分系统仿真器加上显控系统构成。
本文述及的工作主要集中于综合导航仿真系统中卫星导航仿真器的设计及其Simulink建模实现。
飞行仿真器有手动操作和自动飞行两种控制模式,自动飞行模式下仿真器根据预设航线输出飞机实时位置、速度、加速度、姿态等参数;手动模式下通过外置手柄来模拟操作飞机完成起飞、爬升、平飞、姿态改变和降落等全过程,飞行仿真器根据手柄传感器的输出信息仿真计算输出飞机的飞行数据。
卫星导航仿真器接收来自飞行仿真器的输出作为飞机当前实际位置,进行定位解算。
基于MATLAB的GPS信号的仿真研究
基于MATLAB的GPS信号的仿真研究一、本文概述随着全球定位系统(GPS)技术的广泛应用,其在导航、定位、授时等领域的重要性日益凸显。
为了更好地理解GPS信号的特性,提高GPS接收机的设计水平和性能,对GPS信号进行仿真研究显得尤为重要。
本文旨在探讨基于MATLAB的GPS信号仿真方法,分析GPS信号的特点,以及如何利用MATLAB这一强大的数值计算环境和图形化编程工具,对GPS信号进行高效、精确的仿真。
文章首先介绍了GPS系统的发展历程、基本原理和信号特性,为后续的信号仿真提供了理论基础。
随后,详细阐述了GPS信号仿真的一般流程,包括信号生成、传播模型、噪声添加等关键环节。
在此基础上,重点介绍了如何利用MATLAB编写GPS信号仿真程序,包括信号生成、传播模型建立、噪声模拟等方面的具体实现方法。
文章还通过实际案例,展示了基于MATLAB的GPS信号仿真在接收机设计、性能评估等方面的应用。
通过仿真实验,可以深入了解GPS信号在不同环境下的传播特性,为接收机算法优化和性能提升提供有力支持。
本文的研究不仅有助于加深对GPS信号特性和仿真方法的理解,也为GPS接收机的研究和开发提供了一种有效的技术手段。
通过MATLAB的仿真研究,可以更加直观地揭示GPS信号的本质规律,为实际应用提供有力指导。
二、GPS信号原理及特性全球定位系统(GPS)是一种基于卫星的无线电导航系统,它利用一组在地球轨道上运行的卫星来提供全球范围内的定位和时间服务。
每个GPS卫星都不断地向地球表面发射射频信号,这些信号被地面上的接收器接收并处理,从而确定接收器的三维位置和速度,以及精确的时间信息。
GPS卫星发射的信号是L波段的射频信号,分为两个频段:L1(142 MHz)和L2(160 MHz)。
每个频段都包含两种类型的信号:C/A码(粗捕获码)和P码(精密码)。
C/A码是对公众开放的,用于民用和商业应用,而P码则用于军事和特定的高精度应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章 GPS卫星信号的捕获 因 此 , 它 移 动 100ns 的 数 据 长 度 , 近 似 花 费 16 ms(100×156.3/977.5)。在高速导航器中,需每16 ms选择一
批数据,以保证输入信号与本地生成码更好地匹配。 但是由
于输入信号中有噪声,用1 ms的数据可能不能非常精确地匹 配, 因而可以拓宽输入信号的调整时间,每20 ms选择一批 输入信号。 对一个低速导航器来说,这个时间可拓宽到 40 ms。
第5章 GPS卫星信号的捕获
第5章 GPS卫星信号的捕获
5.1 概述 5.2 GPS卫星信号的多普勒效应 5.3 GPS卫星信号捕获的考虑
5.4 GPS卫星信号的捕获方法
5.5 Matlab与Simulink仿真简介 5.6 GPS卫星信号捕获的例子 5.7 关于捕获的一些子程序
第5章 GPS卫星信号的捕获
捕获方法。
第5章 GPS卫星信号的捕获
5.4 GPS卫星信号的捕获方法
5.4.1 传统捕获方法
捕获的基本思想就是展开输入信号,找到载波频率。如果
相位正确的C/A码与输入信号相乘,输入信号将如图5-2中所示
变成一个连续信号。图5-2中最上端是输入信号,这个信号是 C/A码编码的射频信号相位,注意到射频信号与C/A码是任意选
常 小 的 。 C/A 码 的 频 率 是 1.023 MHz , 比 载 波 频 率 低 1540(1575.42/1.023)倍。 C/A码的多普勒频率为:
f c vh 1.023 106 929 f dc 3.2 Hz 8 c 3 10
(5-5)
如果接收机高速移动,这个值就得取双倍,为6.4 Hz,得到的
第5章 GPS卫星信号的捕获
针对某个特定的卫星信号, 捕获过程就是要找到C/A码的
起始点,并利用找到的起始点展开C/A码频谱,一旦复现了ontinuous Wave ,
CW),于是便得到其载波频率。也就是说,捕获过程就是要获
捕获算法。
第5章 GPS卫星信号的捕获
5.2 GPS卫星信号的多普勒效应
GPS卫星绕地球旋转一周的时间是 11 h 58 min 2.05 s , 从卫星轨道的近似半径可以求得卫星的角速度dθ /dt和运动速 度vs:
d 2 1.458 104 rad / s dt 11 3600 58 60 2.05
5.1 概 述
为了跟踪和解码GPS信号, 首先要捕获到GPS信号。将捕获
到的GPS信号的必要参数立刻传递给跟踪过程,再通过跟踪过
程便可得到卫星的导航电文。GPS卫星处于高速运动中,因此, 其频率会产生多普勒频移。载波频率与C/A码的多普勒频移将
在下面详细讲述。为覆盖高速卫星预期中的所有多普勒频率范
围,捕获方法覆盖的频率范围必须在±10 kHz之内。一旦捕获 到GPS信号,立刻去测量两个重要参数: C/A码的起始点和载 波频率(因为多普勒频移而变化)。接收机接收到的一系列数 据往往包含多个卫星信号,每个信号具有不同的 C/A码的不同 起始点和不同的多普勒频率。
得输入信号的 C/A码的起始点和载波频率,然后传递给跟踪过 程。 捕获与跟踪过程所用到的数据都是从原始的卫星信号经过 下变频器(即与中频混频)之后收集到的,其中频( IF )为
21.25 MHz, 采样频率为 5 MHz , 信号的中心频率为 1.25 MHz。
这组数据来源于我们设计的卫星信号接收装置,但是用模拟仿 真算法也可以产生类似的数据,以验证本章介绍的卫星信号的
第5章 GPS卫星信号的捕获
由于输入信号中 C/A 码的起始点还未知,因此,必须先找 到这个点。为了找到这个点,我们产生本地的一个 C/A 码,将 其数字化为5000个点,且与输入信号点对点相乘,对此乘积的 结果进行FFT或DFT,可以找到其频率。为了搜索1 ms的电文, 输入电文与本地产生数字化的 C/A 码必须彼此相对移动 5000 次。 如果使用 FFT ,需操作 5000 次,每次操作包含 5000 个点对点的 乘积和一个 5000 点的 FFT 。由于只有 2500 个频率分量提供信息, 其余2500个分量提供的是多余的信息,因此,输出的5000点数 据 每 个 含 有 2500 个 频 率 分 量 , 这 样 , 在 频 域 共 有 1.25×107(5000×2500)个输出。 在这1.25×107个输出中最高 幅值如果大于预先设定的门限值,则该分量就是期望值。在如 此多的数据中寻找最高频率分量也是非常费时的。由于在期望 的 20 kHz 的 FFT 输出中,只有 21 个频率分量是我们感兴趣的, 总输出可以降低到 105 000(5000×21) 个。通过这种方法,可 200 ns(1/5 MHz)和1 kHz的频率分辨率找出 C/A码的起始点。
rs d vs 26560km 1.458 104 3874m / s dt
(5-1)
第5章 GPS卫星信号的捕获 这里 rs 表卫星轨道的平均半径。我们知道,一个太阳日和一 个恒星日之间相差3 min55.91 s,在这段时间里,卫星大约运 行了914 km(3874 m/s×235.91 s),对应地球表面与卫星的最 高点,相应的角度近似为0.045 rad(914/20 192)或2.6°。如果 卫星接近地平线,相应的角度为0.035 rad或者2°。 因此我们 可以看出,对于地球表面的固定一点,在每天的同一时间里, 卫星位置大约改变2°~2.6°。
(5-3)
第5章 GPS卫星信号的捕获
图5-1 卫星运动引起的多普勒频移
第5章 GPS卫星信号的捕获
这个值与高速航空卫星的速度相等。由地面设施引起的多普勒
频移通常非常小,即使它直接相对卫星运动引起了最大多普勒 效应。对由 C/A 码调制过的频率 L1 大的频移为: (f =1575.42 MHz ),最
f r vdm 1575.42 929 f dr 4.9kHz 8 c 3 10
(5-4)
这里c是光速。 因而, 对于一固定观测器来说,最大的多普勒
频移是±5 kHz。
第5章 GPS卫星信号的捕获 如果地面GPS接收设备高速移动,就要考虑进多普勒效应 了。要单独产生一个±5 kHz的频率范围,接收设备需以2078 m/h的速度相对卫星运动,这个速度将包含最高速度的航空器。 因而,在设计GPS接收机时,如果接收机用在低速设备,则认 为载波频率的多普勒频移范围在±5 kHz;相反地,如果用在
高速设备,就要合理假定其多普勒频移的范围在±10 kHz 。
这些值对于确定捕获过程的搜索频率范围是至关重要的。因 此,就有了引言中我们提到的为覆盖高速卫星预期中的所有
多普勒频率范围,捕获方法覆盖的频率范围必须在±10 kHz
之内之说。
第5章 GPS卫星信号的捕获
由于C/A码频率非常低,所以C/A码上的多普勒频移也是非
第5章 GPS卫星信号的捕获 由以上的讨论可以得出如下结论:当捕获输入电文为 1 ms 长时,步进频率是 1kHz ;当电文为 10 ms 时,步进频率是 100 Hz。从这个简单的讨论可以明显看出,捕获中的操作执行次数 与总的数据点并不是成线性比例关系,当电文长度从1 ms上升 到10 ms时,电文长度上升 10 倍,频率点数目也上升了 10 倍, 捕获所需的操作次数上升了不止 10 倍。因此,实际捕获时, 如果强调捕获的速度的话,电文长度需保持在最小值。 执行 次数的增加,取决于实际捕获所用的方法,下面将讨论具体的
第5章 GPS卫星信号的捕获 从以上讨论我们知道,输入信号的调整取决于采样频率。 采样频率高将缩短调整时间,因为采样时间变短,在半个周 期内匹配输入码与本地生成码的时间变短。如果输入信号的 强弱和跟踪灵敏度不成问题,则输入信号的调整时间可以拓 宽。然而,输入信号与本地生成信号相离必须在半个基波或
488.75 ns(977.5/2) 之内,这个时间看做是输入信号与本地
第5章 GPS卫星信号的捕获
一旦输入变成连续信号,通过傅立叶变换可以知晓其频率。
如果输入电文长是1 ms,则傅立叶变换的频率分辨率为1 kHz。 可以设置一个阈值,即一个门限来判断一个频率分量是否足够
大。高于这个门限的最高频率分量就是我们要找的频率。 如果
用5 MHz使输入信号数字化,1 ms的电文将含有5000个数据点, 一个 5000 点的 FFT( 快速傅立叶变换 ) 将产生 5000 个频率分量。 然而, 5000个频率分量中只有前2500个频率分量包含有用信息, 后2500个是前2500个频率分量的复共轭。频率分辨率是1 kHz, 因此, FFT覆盖的总频率范围是2.5 MHz,是采样频率的一半。 但我们感兴趣的频率范围只有 20 kHz ,而非 2.5 MHz ,因此, 为了节省计算时间, 可以用DFT(离散傅立叶)方法, 只计算相 隔1 kHz的21个频率分量。
未对准的 C/A 码允许在半个基波( 0.489 μs )内 , 基波频率是 1.023 MHz,C/A码上预期的最大多普勒频移是6.4 Hz, 那么两
个相差6.4 Hz的频率交换半个基波需要78 ms(1/2×6.4), 这
个数据远大于10 ms。
第5章 GPS卫星信号的捕获 5.3.2 捕获中的频率步长 捕获时的另一个考虑因素是捕获中剥离载波所需的频率。 在前文曾提过,需被覆盖的多普勒频率范围是±10 kHz, 决 定覆盖这20 kHz范围的步进频率非常重要。步进频率的大小与 捕获中的电文长度紧密相关。如果输入信号与本地混频信号相 距 1 个周期,它们两者没有相关性;如果两者小于 1 个周期, 则它们有部分相关性。随意选取两个信号允许的最大频率相离 是0.5个周期, 如果电文记录长度为 1 ms,一个1 kHz的信号 将在1 ms内变换一个周期,为了保持1 ms内的最大频率相离在 0.5个周期,步进频率须为1 kHz。在这种情况下,在输入信号 与卷积信号之间最大限度的频率相离是 500 Hz/s 或 0.5 Hz/ms , 且输入信号刚好在两个频率点之间。如果电文记录长度为 10 ms,100 Hz的搜索步进频率就可以满足要求。看待这个问题的 一个简单方法是频率相离与电文长度成反向关系。