MATLAB仿真GPS的设计论文开题报告.docx
《MATLAB仿真GPS的设计论文开题报告.docx》由会员分享,可在线阅读,更多相关《MATLAB仿真GPS的设计论文开题报告.docx(40页珍藏版)》请在冰豆网上搜索。
![MATLAB仿真GPS的设计论文开题报告.docx](https://file1.bdocx.com/fileroot1/2023-1/24/d3669b6a-972d-4d6d-a52a-e82778b7cbd8/d3669b6a-972d-4d6d-a52a-e82778b7cbd81.gif)
MATLAB仿真GPS的设计论文开题报告
(此文档为word格式,下载后您可任意编辑修改!
)
前言
全球定位系统(GPS)是新一代的精密卫星导航定位系统。
由于其全球性、全天候以及连续实时三维定位等特点,在军事和民用领域得到了广泛的发展。
近年来,随着科学技术的发展,GPS导航和定位技术已向高精度、高动态的方向发展。
GPS卫星接收机属于卫星导航定位系统中的用户设备,主要用于接收卫星信号和电文,由无线电信号测定用户至卫星的距离,或多普勒频移等观测量;根据导航电文,计算观测卫星的位置和速度,根据观测量和卫星的位置、速度,解算出用户的位置和速度。
目前,国内大多数GPS接收机都是在国外定位模块的基础上进行二次开发,但是随着GPS定位广泛的应用,要求我们全面透彻地研究GPS定位系统,为我国的定位导航应用作出贡献。
为了满足更加高的定位要求,获得更加高的可靠性,对GPS接收机来说,要能兼容各种定位导航系统而且考虑到算法改进的成本问题,相比较于现有的GPS接收机需要更换硬件设备,GPS软件接收机只需改动软件,具有更强的灵活性和开放性。
本文所做的工作是利用Matlab软件搭建GPS仿真平台。
本文阐述了C\A码的生成原理与GPS信号的生成原理,捕获和跟踪的原理,GPS信号的捕获和跟踪。
利用FFT相关法进行时间和频率串行搜索,。
然后,利用MATLAB仿真环境开发信号仿真平台,并利用此仿真器实现GPS信号的仿真,并对所提出的信号的捕获和跟踪算法进行了仿真。
仿真结果表明,所做的仿真达到了预期设计的目标..……
目录
绪论
1.1GPS系统概述
1.2课题意义及研究方向
1.3论文内容安排
第二章GPS的CA码捕获
2.1介绍
2.2 CA码起始点的精确性
2.3MATLAB仿真CA码的产生
2.3.1最大长度序列(MLS)和G2的输出及其延迟时间的检验
2.3.2CA码的产生
第三章GPS卫星信号的捕获
3.1概述
3.2卫星信号捕获的考虑
3.2.1捕获时的最大电文长度
3.2.2捕获中的频率步长
3.3GPS卫星信号的捕获方法
3.3.1传统捕获方法
3.4GPS卫星信号捕获的例子
3.5关于捕获的一些子程序
3.5.1随机编码过程仿真
3.5.2获取导航信息的仿真
第四章GPS信号接收机仿真系统概述
4.1GPS信号接收机
4.1.1GPS信号接收机架构
4.1.2GPS信号接收机的工作原理
4.2GPS载波相位测量定位
4.2.1GPS载波相位测量
4.2.2波数和整周跳变
4.2.3表4-1波数解算举例
第五章GPS信号的跟踪
5.1目的
5.2GPS信号跟踪
5.2.1 载波和码元跟踪
5.2.2 利用锁相环跟踪GPS信号
5.2.3 二阶锁相环
5.3 跟踪过程的高测时精度
5.3.1 通过理想相关输出获得高测时精度
5.3.2 通过曲线拟合获得高测时精度
第六章GPS卫星导航数据定位
6.1目的
6.2几何定位及架构
6.3.卫星数据GPSsignal
6.3.1卫星数据分析
6.3.2卫星数据分析程序代码
第七章总结和展望
基于METLAB的GPS全球定位系统关键技术仿真
摘要
全球定位系统(GPS)是新一代的精密卫星导航定位系统。
由于其全球性、全天候以及连续实时三维定位等特点,在军事和民用领域得到了广泛的发展。
近年来,随着科学技术的发展,GPS导航和定位技术已向高精度、高动态的方向发展。
GPS卫星接收机属于卫星导航定位系统中的用户设备,主要用于接收卫星信号和电文,由无线电信号测定用户至卫星的距离,或多普勒频移等观测量;根据导航电文,根据观测量和卫星的位置、速度,解算出用户的位置和速度。
本文所做的工作是利用Matlab软件搭建GPS仿真平台。
本文阐述了C\A码的生成原理与GPS信号的生成原理,捕获和跟踪的原理,GPS信号的捕获和跟踪。
然后,利用MATLAB仿真环境开发信号仿真平台,并利用此仿真器实现GPS信号的仿真,并对所提出的信号的捕获和跟踪算法进行了仿真。
仿真结果表明,所做的仿真达到了预期设计的目标……
【关键词】GPS导航定位捕获跟踪MATLAB仿真
SimulationofGPSglobalpositioningsystemkeytechniquesbasedontheMETLAB
Abstract
Globalpositioningsystem(GPS)isanewgenerationofsalitenavigationandpositioningsystems.Duetoitsglobal,around-the-clockandcontinuousrealtimethreedimensionalpositioningandsoon,widelyusedinthefieldofdevelopmentinmilitaryandcivilian.Inrecentyears,withthedevelopmentofscienceandtechnology,GPSnavigationandpositioningtechnologyto,andpositioningsystemdevices,mainlyusedforreceptionofsalitesignalsandmessages,determinationofusersbyradiosignalstoasalitedistance,orDopplershiftmeasurementsundernavigationmessage,accordingtothemeasurementsandsalitelocation,speed,andcalculatethepositionandspeedoftheuser.ThisworkisdonebytheuseofMatlabsoftwaretobuildGPSsimulationplatform.
ThisarticleexpoundedtheC\AprinciplesofcodegenerationandthegenerationofGPSsignaltheory,principlesofacquisitionandtracking,GPSsignalacquisitionandtracking.Then,usingMATLABsimulationenvironmenttodevelopsignalsimulationplatformandsimulationofGPSsignalusingtheemulator,andontheproposedsignalacquisitionandtrackingalgorithmsforthesimulation.Simulationresultsshowthatthedesignofthesimulationtoachievethedesiredgoal……
【Keywords】GPSnavigationLocateCaptureTrackMATLABsimulation
绪论
GPS目前处于良好的运行状态,并满足20世纪60年代所提出的最佳定位系统标准。
这个系统向有适当接收设备的全球范围内的用户提供精确、连续的三维位置和速度信息。
GPS也向全球广播世界协调时(UTC)。
组成卫星星座的24颗卫星被安排在6个轨道平面上,即每个平面上4颗。
一个分布在全世界的地面控制监视网监视着卫星的运行状态。
卫星用叫做码分多址(CDMA)的技术在两个频率上广播测距码和导航数据。
也就是说,系统只使用两个频率,称为L1(1575.42MHz)和L2(1227.6MHz)。
每颗卫星都在这两个频率上发射,但所有的测距码与其他卫星所使用的不一样。
导航数据提供给接收机,以确定卫星在发射信号时的位置,而测距码使用户接收机能够确定信号的传输延时,从而确定卫星到用户的距离。
这种技术要求用户接收机也包含一个时钟。
利用这种技术来测量接收机的三维位置时,要求测量接收机到4颗卫星的TOA(信号到达时间)距离,如果接收机时钟已经是与卫星时钟同步的,便需要3个距离测量值。
因此,为测量用户的纬度、经度、高度和接收机相对于内在系统时的偏移,需要有4个测量值。
如果系统时或高度已准确获知,便只需要4颗以下的卫星。
GPS系统除定位服务外,同时也能利用GPS卫星具有的高稳定性原子时钟为用户提供授时服务,由此用户可以计算出自身的速度。
这些服务被称为标准的PVT(位置、速度、时间的英文缩写)服务。
GPS提供两种精度不同的PVT测量:
标准定位服务(SPS)和精密定位服务(PPS)。
SPS是为民用服务的,而PPS是为美国军方用户和特定的政府部门用户服务的,两者精度不同。
1课题意义及研究方向
目前,国内大多数GPS接收机都是在国外定位模块的基础上进行二次开发,但是随着GPS定位广泛的应用,要求我们全面透彻地研究GPS定位系统,为我国的定位导航应用作出贡献。
为了满足更加高的定位要求,获得更加高的可靠性,对GPS接收机来说,要能兼容各种定位导航系统而且考虑到算法改进的成本问题,相比较于现有的GPS接收机需要更换硬件设备,GPS软件接收机只需改动软件,具有更强的灵活性和开放性。
1.1航空领域的应用
GPS在航空领域的应用推动着全球卫星系统(GNSS)的发展,它可以提供从航路直到精密飞行轨道阶段(起飞、降落)的引导。
1.1.2空间运载引导
从1992年起,GPS接收机便被用于TOPEXPOSEIDON卫星上,这种卫星是用于研究海洋环境的。
1.1.3海洋应用
商业和娱乐海事企业都已在利用GNSS。
从洋面旅行到内河航路,尤其是艰险的水域,所有船舶的导航都得到了提高。
1.1.4陆用GPS
测绘行业依靠差分GPS已经获得毫米级的测量精度。
铁路部门利用类似的技术获得相对于附近的铁轨组的火车位置。
GPS是智能交通系统(ITS)的关键组成部分。
1.2论文内容安排
本文所做的工作是利用Matlab软件搭建GPS仿真平台。
本文阐述了C\A码的生成原理与GPS信号的生成原理,捕获和跟踪的原理,GPS信号的捕获和跟踪。
利用FFT相关法进行时间和频率串行搜索,。
然后,利用MATLAB仿真环境开发信号仿真平台,并利用此仿真器实现GPS信号的仿真,并对所提出的信号的捕获和跟踪算法进行了仿真。
2GPS的CA码捕获
2.1介绍
CA码(CoarseAcquisitionCode)是用于粗测距和捕获GPS卫星信号的伪随机码。
它是由两个10级反馈移位寄存器组合产生的,其产生原理如图2-1所示。
图2-1CA码发生器
2.2CA码起始点的精确性
输入信号以5MHz的频率数字化,或者说,每个数据点相隔200ns。
这样的时间分辨率,与之相应的距离分辨率大约是60m(3×108×200×10-9),这个数值对确定用户位置来说不够精确。
由于GPS信号与接收机数字时钟不同步,所以某个特定数据点不可能完全匹配CA码起始点。
在最坏情况下,即CA码的起始点落在两个数据点中间,CA码的数字化起始点与真实值相差100ns。
捕获过程只能在数字频率下测量出CA码起始点的精确性,而我们需要的是测得CA码起始点极其精确。
传统跟踪环,本地生成CA码每毫秒更新一次。
更新的目的是生成CA码来匹配输入信号的CA码,并且生成一个载波频率来匹配输入信号的载波频率。
这里仅讨论CA码的匹配问题。
例如,如果实际的CA码的起始点准确落在两个数据点之间,完全可以产生一个本地CA码,准确地匹配这一点。
但是,由于噪声的影响,本地生成的CA码只能接近目标值,不会完全达到目标值。
在BASS方法跟踪过程中,本地产生的CA码是固定的,第一个数据点通常从CA码的起始点开始,且这个码元将一直使用。
在最糟情况下,本地产生的CA码和数字输入之间相差100ns。
可以采用两种方法,以较高的测时精度来找出输入信号中CA码的起始点。
一个方法是利用三种信号:
即时码、超前码和滞后码。
本地产生的CA码看做即时码。
利用这个信号以固定间隔产生超前码和滞后码。
CA码以5MHz的频率生成即时码。
CA码为1ms长,产生5000个数据点,超前码和滞后码通过平移即时码获得。
图6-9示意了即时码,数据点从1到5000,任意选择平移两个数据点,向前平移两个数据
另一个方法是利用五种信号:
一个即时码,两个超前码和两个滞后码。
将即时码移动四个数据点产生附加的一个超前码和滞后码。
2.2Matlab仿真CA码的产生及调制
2.3MATLAB仿真CA码的产生
2.3.1最大长度序列(MLS)和G2的输出及其延迟时间的检验
该仿真程序的原理性描述见图4-5,运行结果见图4-9。
其完整的M程序代码如下:
%产生CA码的方法一
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k1=2;k2=6;delay=5;%将10号寄存器的
Reg=-ones(1,10);%定义参数k1、k2以及延迟
%定义寄存器1~10的初始值都为-1
%通过循环产生长度为1024的MLS序列以及G2序列
forj=1:
1023;
MLS(j)=Reg(10);%将10号寄存器的输出作为MLS输出
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)*Reg(k2);
%将参数k1和k2所代表的寄存器模二相加后作为G2输出
end
%将G2与MLS进行延迟检验
ifMLS==g2([delay:
10231:
delay-1])
disp(′OK′)
else
disp(′notmatch′)
end
%在G2序列中找出-1并转换为0,找出1并转换为1
ind1=find(g2==-1);
ind2=find(g2==1);
g2(ind1)=ones(1,length(ind1));
g2(ind2)=zeros(1,length(ind2));
temp=g2(1:
120);
x
(1)=0;Show
(1)=temp
(1);
P=2;
%下面的循环是为了将结果显示成方波形式
fori=2:
length(temp)
if((temp(i)==temp(i-1)))
x(P)=i-1;
Show(P)=temp(i-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;
end
end
%画出仿真结果图
plot(x,Show);
axis([0length(x)-60-0.11.1]);
grid;
图2-3最大长度序列(MLS)和G2的输出
2.3.2CA码的产生
该程序对CA码的产生进行了仿真,运行结果显示了第4颗卫星产生的CA码,如图4-10所示。
仿真程序完整的M程序代码如下:
2.3.3程序代码
%产生CA码的方法二
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%本程序要求输入卫星的编号,在图4-10中显示的是第4颗卫星产生的CA码,即输入为4
svnum=input(′enterthesalitenumber=′);
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);%将1~10号寄存器的初始值设为-1
%将10号寄存器的输出作为G1码
%并将10号寄存器与3号寄存器输出模二相加后反馈给1号寄存器
fori=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);%将1~10号寄存器的初始值设为-1
%将10号寄存器的输出作为G2码
%并将10、9、8、6、3、2寄存器输出模二相加后反馈给1号寄存器
fori=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;
end
g2tmp(1,g2shift+1:
1023)=g2(1,1:
1023-g2shift);
g2=g2tmp;
%G1和G2卷积后得到CA码
ss-ca=g1.*g2;
ca=ss-ca;
%在CA码的序列中找出-1并转换为0,找出1并转换为1
ind1=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;
fori=2:
length(temp)
if((temp(i)~=temp(i-1)))
x(P)=i;
Show(P)=temp(i-1);
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;
end
end
%画出仿真结果图
plot(x,Show);
axis([0length(x)+5-11.5]);
grid;
2.3.3模拟产生代码波形
图2-4第4颗卫星产生的CA码
3GPS卫星信号的捕获
3.1概述
为了跟踪和解码GPS信号,首先要捕获到GPS信号。
将捕获到的GPS信号的必要参数立刻传递给跟踪过程,再通过跟踪过程便可得到卫星的导航电文。
GPS卫星处于高速运动中,因此,其频率会产生多普勒频移。
为覆盖高速卫星预期中的所有多普勒频率范围,捕获方法覆盖的频率范围必须在±10kHz之内。
针对某个特定的卫星信号,捕获过程就是要找到CA码的起始点,并利用找到的起始点展开CA码频谱,一旦复现了CA码的频谱,输出信号将变成连续波(ContinuousWave,CW),于是便得到其载波频率。
也就是说,捕获过程就是要获得输入信号的CA码的起始点和载波频率,然后传递给跟踪过程。
3.2卫星信号捕获的考虑
3.2.1捕获时的最大电文长度
CA码长1ms,那么至少要用1ms的电文来捕获,甚至只用1ms的电文来捕获时,都可能发生导航电文相位偏移。
因此,为了保证捕获电文中不含有数据偏移,需要用两组连续的电文来捕获,这个电文最大长度是10ms。
如果使用两组连续的10ms电文来捕获,就保证了在某一组电文中不含相位偏移。
限制电文长度的第二个因素是CA码的多普勒效应。
3.2.2捕获中的频率步长
捕获时的另一个考虑因素是捕获中剥离载波所需的频率。
步进频率的大小与捕获中的电文长度紧密相关。
如果输入信号与本地混频信号相距1个周期,它们两者没有相关性;如果两者小于1个周期,则它们有部分相关性。
解决信号周期和步进频率问题的一个简单方法是频率相离与电文长度成反向关系。
可得出如下结论:
捕获中的操作执行次数与总的数据点并不是成线性比例关系,当电文长度从1ms上升到10ms时,电文长度上升10倍,频率点数目也上升了10倍,捕获所需的操作次数上升了不止10倍。
因此,实际捕获时,如果强调捕获的速度的话,电文长度需保持在最小值。
执行次数的增加,取决于实际捕获所用的方法,下面将讨论具体的捕获方法。
3.3GPS卫星信号的捕获方法
3.3.1传统捕获方法
捕获的基本思想就是展开输入信号,找到载波频率。
如果相位正确的CA码与输入信号相乘,输入信号将如图4-1中所示变成一个连续信号。
图3-1中最上端是输入信号,这个信号是CA码编码的射频信号相位。
中间的图表示CA码,其值在±1之间。
最下端的图是连续信号,代表输入信号与CA码的乘积,是一个连续信号,这个过程有时称做输入信号的CA码剥离。
图3-1CA编码的输入信号与本地CA码相乘
3.3.2CA码数值分析
一旦输入变成连续信号,通过傅立叶变换可以知晓其频率。
可以设置一个阈值,即一个门限来判断一个频率分量是否足够大。
高于这个门限的最高频率分量就是我们要找的频率。
由于输入信号中CA码的起始点还未知,因此,必须先找到这个点。
为了找到这个点,我们产生本地的一个CA码,将其数字化为5000个点,且与输入信号点对点相乘,对此乘积的结果进行FFT或DFT,可以找到其频率。
通过这种方法,可以用时间分辨率为200ns(15MHz)和1kHz的频率分辨率找出CA码的起始点。
如果使用10ms的电文,因为信号只需要卷积1ms,因此需要5000次操作。
每次操作包含50000个点对点乘积和50000次FFT,总共有1.25×108(5000×25000)个输出结果。
3.4GPS卫星信号捕获的例子
程序中所用到的输入电文在时域内的情形如图3-2所示。
输入信号看起来像噪声,其频率描绘可通过FFT求得,如图3-3所示。
正如预料的,FFT变换后带宽是2.5MHz,其频谱形状与射频链的滤波器形状相似,通过循环相关后如图3-4所示,其中给出了6号卫星的CA码起始点,其起始点在2884。
图3-5给出了相距1kHz的21个频率分量,最高值发生在k=7处。
从图3-6和3-7我们可以轻易地看出CA码的起始点和频率。
由于输入电文是实际收集到的数据,精频的精确度就难以测定,因为其多普勒频率未知。
精频还取决于在下变频中用到的本地振荡器的频率精确性和采样频率的精确性。
图3-25000个输入数据点
图3-3输入信号的快速傅立叶变换
图3-46号卫星的CA码起始点
图3-5卫星6的展开的各个频率分量
对弱信号(24号卫星)执行捕获,如图4-6和图4-7所示。
从图中我们很难判断CA码的起始点和频率是否为正确值,需要通过另外的相关运算才能找出它们
图3