北斗卫星信号快速捕获方法研究毕业论文.docx
《北斗卫星信号快速捕获方法研究毕业论文.docx》由会员分享,可在线阅读,更多相关《北斗卫星信号快速捕获方法研究毕业论文.docx(49页珍藏版)》请在冰豆网上搜索。
北斗卫星信号快速捕获方法研究毕业论文
北斗卫星信号快速捕获方法研究毕业论文
第1章绪论
1.1研究背景和意义
全球导航卫星系统(GlobalNavigationSatelliteSystem,GNSS)是为了打破美国的GPS在卫星定位、导航、授时方面的垄断,由欧盟提出的一种综合星座系统,是所有在轨工作的导航卫星系统的统称。
现在主要包括美国的全球定位系统(NavigationbySatelliteTimingAndRangingGlobalPositioningSystem,NAVSTARGPS),简称为GPS、俄罗斯的GLONASS、欧洲的GALILEO卫星导航系统和我国的北斗导航定位系统(CompassNavigationSatelliteSystem,CNSS),简称为Compass[1]。
GNSS以其全天候、高精度、自动化、高效率等显著特点及其所独具的定位导航、授时校频、精密测量等多方面的强大功能,使其用途越来越广泛,具有军民两用性质,现主要应用于测量(测绘、勘探)、海上船只以及车辆定位监控等领域。
北斗1代卫星导航定位系统为用户提供实时定位、短信息通信和授时服务的一种全天候、多功能、区域性的卫星定位系统。
北斗1代卫星导航系统是我国自主完成的区域卫星导航系统,它的成功研制与开发及其产业化生产标志着我国打破了美、俄在此领域的垄断地位,从而实现了具有自主知识产权的卫星导航系统。
北斗2代卫星导航定位系统是具有在海、陆、空进行全天候、高精度、自动化、高效益三维导航与定位能力的全球卫星导航与定位系统。
北斗2代卫星导航系统建成后可以给中国及周边地区的用户提供三维导航与定位能力的服务,促进卫星导航与定位服务功能的产业化应用,满足用户信息交换的需要。
预计在2010年左右满足中国及周边地区用户对全天候、高精度、自动化、高效益的卫星导航与定位系统的需求,并逐步扩展成为与GPS、GLONASS相抗衡的全球卫星导航系统[2]。
随着全球卫星导航系统(GNSS)的应用越来越广泛,对接收性能的要求也越来越高,比如在一些环境比较恶劣的条件下,传统的C/A信号的接收性能无法满足高灵敏度的要求,因此,现代化的GNSS在信号设计时,考虑码长较传统的C/A码更长的扩频码,但是因为要考虑捕获的代价,所以现代化的GNSS采用了主码和二次编码相结合的结构化分层码,通过一个码率低,周期长的二次编码去调制一个码率高,周期短的主码,得到一个等效周期长但码率高的扩频码,从而获得更好的相关性,提高接收性能,但不增加捕获的负担[3]。
本文基于二次编码对卫星信号快速捕获跟踪技术进行研究。
1.2国外研究现状
扩频码的捕获是一个载波频率和扩频码相位二维搜索过程,传统的捕获方式包括串行捕获算法、并行频域捕获算法、并行码相位捕获算法。
串行搜索算法捕获时间长,但是仅由简单的加法和乘法运算组成;时域、频域并行搜索算法,捕获时间缩短,但是硬件资源消耗较大。
并行频率捕获算法,接收信号与特定伪随机序列相乘,相乘的结果经FFT由时域变换到频率。
这样,只需要对伪随机序列的码相位依次遍历搜索,而频率搜索可以并行地通过FFT完成。
在频域计算两序列的相关值的方法,对卫星信号和本地码序列先做FFT,然后再对频域相乘结果做逆FFT。
这其实是一种码并行捕获算法,可以提高捕获速度,但是该算法受码长度的限制,有一定的局限性[4]。
现代化北斗信号增加了二次编码,二次编码的长度从4到1800不等,比如,B1信号的导频通道采用的是长度为1800,周期为18s的二次编码;B2的导频/数据通道分别用的是长度为10和20的Neuman-Hofman码;二次编码的作用不仅仅局限在改善相关性,还可以提高抗干扰的能力和实现快速的位同步。
因此,在设计二次编码时,不仅要考虑其本身的相关性,还需要考虑其长度和实现位同步的能力。
现代化的GNSS信号在设计时,为了获得更加优良的接收性能,采用了主码与二次编码相结合的结构化分层码。
二次编码通过延长扩频码的整体周期来改善相关性,但二次编码的作用不仅于此,其作用还包括:
可以使地面接收机迅速实现数据同步;降低频谱谱线间隔,进一步抑制窄带干扰[3]。
1.3课题主要研究容
本文主要对卫星信号的快速捕获跟踪算法进行了研究,章节安排如下:
第1章本文介绍了课题研究背景和意义,国外研究的现状,对各种算法进行了简单的介绍。
第2章本文介绍了卫星导航系统的信号编码模型,包括卫星信号的产生原理、组成、信号结构、功能特性、调制解调。
还分析了二次编码,包括二次编码的分、产生方式、相关性、作用、设计准则。
第3章本文进行了现有卫星信号快速捕获算法的研究,包括串行捕获算法,并行捕获算法,FFT捕获算法,码并行FFT捕获算法。
介绍了滑动相关捕获算法,基于FFT的并行捕获算法的算法原理,分析了他们的捕获性能,比较了两种算法的优缺点。
最后介绍了基于FFT快速捕获的原理框图及捕获流程。
第四章文中提出了一种结构简单便于实现的卫星信号的快速捕获方法,相对于常规的基于FFT的并行捕获算法,耗费时间减少为一半。
同时本文讨论了多普勒频率的精确估计算法,提出了一种基于插的方式,在很少的运算量下,将频率估计到精确100Hz的围以。
第2章卫星导航系统的信号编码模型与二次编码分析
2.1卫星导航系统的信号编码模型
2.1.1卫星信号产生原理与特性
北斗卫星信号是通过直接序列扩频DSSS调制生成的,系统采用码分多址CDMA技术区分各颗卫星。
北斗目前在两个频率上传输卫星数据:
B1(1561.098MHz),B2(1207.140MHz),GPS卫星目前在三个频率上传输卫星数据:
L1(1575.42MHz),L2(1227.60MHz)和L5(1176.45MHz)。
L1、L2和L5载频是由基频分别扩大154、120和115倍产生的。
卫星信号上调制有载波,伪码和数据码。
其中伪码包括民用的C/A码和军用码。
在L1频率上调制有一路民用信号和一路军用信号。
在L2频率上调制有第二路的军用信号。
L5频段是GPS现代化的一部分,属于民用信号。
对于北斗系统,要到2021年左右,所有24颗北斗卫星全部发射后才能正常提供服务,本文主要侧重于对L1频段上的民用信号进行研究。
图2-1是GPS卫星信号生成框图,包括了L1和L2两个频段的信号。
北斗信号模型与之类似只不过发射频率有所不同。
在每颗北斗和GPS卫星上配备了高频率稳定度的铷原子钟和铯原子钟,可以保证稳定的时钟基准,产生时间上严格同步的导航信号[5]。
图2-1GPS信号结构
C/A码是一种Gold码序列,其序列长度为1023位(基码),码片(chip)速率为1.O23MHz,码周期为1ms。
C/A的产生是通过两个10位的移位寄存器G1和G2,由G1的直接输出和G2的延迟输出结果异或得到的。
C/A是一个长度为1023的二进制序列,其产生器如图2-2所示。
G2的时间延迟取决于选取的两个点的位置,这两个点又和卫星的ID是一一对应的。
C/A码具有特殊的自相关和互相关性质,这些性质及其重要,也是GPS信号解扩的关键。
C/A码的自相关函数为
(2-1)
式中:
Ci(t)表示卫星的C/A码;τ为码相位延迟。
在式(2-1)中,只有当τ=0时,自相关函数才可以取得最大值1023,而当τ
为其它值时,自相关值为-65,-l或63。
正因为C/A码的自相关函数具有如此性质,使本地C/A码和接收信号C/A码相位对齐,可获得很高的处理增益,将深埋在噪声中的信号检测出来。
不同卫星的C/A码近似正交,互相关值虽然不等于0,但是非常小。
为了在强信号中检测中微弱信号,互相关峰值必须比弱信号的自相关峰低,高自相关峰和低互相关峰可以为信号捕获提供高灵敏度[6]。
图2-2C/A码的生成
图2-3一周期CA码波形
图2-4C/A码自相关仿真结果
2.1.2卫星信号结构
北斗和GPS卫星信号主要由三部分组成:
载波(L1和L2)、用于测距的伪随机码(PseudoRandomNoiseCode,PRN)和导航电文数据。
图2-5GPS卫星信号频率关系
在北斗和GPS接收机中,载波、PRN以及数据信息的再生都与
紧密相关。
北斗和GPS卫星采用码分多址(CDMA)技术在两个频率上广播测距码和导航数据,也就是说系统使用两个频率,采用双频的目的是测定电离层延迟。
L1频段和L2频段上的载波频率均为
的整数倍,关系如下:
(2-2)
(2-3)
北斗和GPS卫星采用两种伪随机码,每颗卫星产生一个称为粗码或C/A码的短码,和一个称为精码或P(Y)码的长码。
伪随机码可用来区分不同的北斗和GPS卫星,并可测量卫星信号的传播时间。
卫星发射的导航电文包含有导航信息的数据码,其中数据码中包括卫星历书、卫星星历、卫星工作状态和时间等。
北斗和GPS卫星从2006年起增加了三种新信号。
一个用两种不同码字调制的码信号L2C,并附加在L2频率上;新增码片速率为10.23MHz的L5频率(1176.45MHz);并且在L1和L2上还叠加一种新的军用信号M码[8]。
2.1.3卫星信号的调制解调
北斗和GPS的每颗卫星在L波段的两个载波频率(
,
)上发射导航数据,两种载频之间的间隔为347.82MHz,L1载波同时被C/A码、P码和数据码分别以同相和正交方式相位调制,其中C/A码信号比P码信号滞后90°,L2载波上只调制有P码(或Y码)和数据码[9]。
分别以
和
表示载波经测距码和数据码调制后的信号,其信号结构为
(2-4)
(2-5)
式中,
,
,
分别为P码和C/A码振幅;
,
分别为第i颗卫星发射的P码和C/A码的码状态;
为第i颗卫星发射的导航电文;
,
分别为载波L1和L2角频率;
,
为载波L1,和L2的初始相位。
调制码的码值只取0或l。
当码值取0时,对应的码状态取+1;而码值取1时,对应的码状态取-1。
载波和相应的码状态相乘后便实现了对载波的调制,也就是,当码值为0时,调制后的载波相位不变,而当码值为1时,调制后载波相位改变180°。
所以当码值从0到l,或从l到0改变时,都将使载波相位改变180°。
接收机是卫星信号解调的硬件设备。
它的主要工作是重建载波,提取测距码信号和导航电文。
信号解调的常用方式有两种,复制码相关技术和平方解调技术。
复制码相关技术。
当接收机复制出的与卫星的测距码信号结构完全相同的复制码,在同步的条件下与接收到的卫星信号相乘,即可去掉信号中的测距码信号分量。
这时,恢复的载波依然还含有数据码信号分量。
采用这种技术的条件,是必须掌握测距码的结构,否则将不能产生复制码。
平方解调技术。
将接收到的卫星信号进行平方,由于处于±1状态的调制码,经过平方后均变为+1,且+1不影响载波相位,所以信号经平方后便达到解调的目的。
采用这种方法不需要知道测距码的结构,但该解调技术却去掉了测距码和导航电文,故而不能用来实时导航。
另外,该技术将使信号上的噪声平方,使得信噪比(SNR)大大降低。
现在的平方解调技术一般用于C/A码接收机,用复制C/A码相关技术重建L1载波,用平方解调技术重建L2载波。
2.1.4卫星信号导航电文
导航电文数据位是二相码,每个数据位20ms长。
在一个数据位中包括20个C/A码周期,所有20个周期的C/A码都有相同的相位。
导航电文每个字由30个数据位组成,每个数据位包含20个C/A码周期,总长度为600ms;每1个子帧由10个字组成,长度为6秒;每1页由5个子帧组成,长度为30秒;每25页组成1组完整的BD数据,总长度为12.5分钟,每25页的数据被称为1个超帧。
北斗时间以一周的秒数给出,这个值在每周的结束/起始时刻复位一次。
在此时刻,不管在此之前哪个子帧是最后被发送的,从子帧1到子帧5的循环分页将从子帧1重新开始;不管在此之前哪个页是最后被发送的,25页的循环也将从每个子帧的第1页重新开始。
因此,在子帧4和子帧5的新数据可以从这些子帧的25页中的任何一页开始传输[10]。
2.2二次编码分析
2.2.1二次编码概述
全球导航卫星系统的应用越来越广,对卫星信号的捕获速度也提出了更高的要求,因此,现代的全球导航卫星系统在设计的时候采用了二次编码的方式。
北斗B1二次编码码长为1800,周期18s,码速率为100bps,卫星PRN号对应为1-63的二次码由11位线性反馈移位寄存器产生的自然长度为2047的m序列截短得到,而64-210的二次编码由Gold码截短得到。
我们对L1C二次编码相关性进行分析,由于二次编码调制导频通道的主码,因此不需要考虑奇相关,只考虑它们的偶自相关和偶互相关性[11]。
北斗B2二次编码采用的是Neuman-Hofman码,简称为NH码。
数据通道和导频通道分别用长度为10和20的NH码。
播发L5C信号的所有卫星采用的NH码都是一样的,即
n(10)=(+1,+1,+1,+1,-1,-1,+1,-1,+1,-1);
n(20)=(+1,+1,+1,+1,+1,-1,+1,+1,-1,-1,+1,-1,+1,-1,+1,+1,-1,-1,-1,+1)
2.2.2二次编码的作用
二次编码的第一个作用是改善了卫星信号之间的互相关特性,主要是使各卫星信号之间的互相关旁瓣峰下降。
当两颗卫星的信号完全对准时,二次编码的作用相互抵消,对互相关性没有多大的改善,但是完全对准的情况发生的概率很小。
L5C的二次编码能使不同信号间的互相关旁峰至少降低3dB。
二次编码可以减小功率谱的线谱宽度,提高抗窄带干扰能力。
对于L5C信号,主码周期为1ms,如果没有NH码,数据通道信号的功率谱是一些间隔1kHz的谱线;而有了NH码,由于NH码周期是10ms,谱线间隔下降为100Hz,当信号总功率不变时,NH码使每条谱线的功率谱密度也下降为原来的1/10。
接收机对卫星信号进行接收时,数据同步是一个薄弱环节。
要确定每个数据字符的起始时刻和结束时刻,可以采用在每个字符宽度增加一些事先已知的相位渡越方法来实现。
E5b数据通道的数据字符宽度为4ms,二次编码的基码宽度为1ms,周期为4ms,因此E5b数据通道的二次编码使在一个字符宽度增加了多次相位渡越。
这样,用二次编码全相关的办法便可以实现自动字符同步[11]。
2.2.3二次编码设计准则
在总结了二次编码的作用后,可以据于此来选取具有良好性能的二次编码。
1)周期不宜过长,自身有良好自相关性。
采用二次编码带来的相关性能的改善程度比不上直接增加主码码长,二次编码是在捕获复杂度和相关特性折中考虑的结果。
2)易于实现数据字符同步。
如果设计的二次编码周期较长,不仅自身要有很好的整体相关性,局部也要有很好的相关性。
L1C的二次编码长度为1800,整体相关性我们已经讨论过,实现数据字符同步还要求对于长度为100或者200的子序列也具有良好的相关性。
3)导频通道二次编码周期可以略长。
接收机在实现字符同步时,可以只处理导频通道,所以导频通道的二次编码周期长时,可以更易于实现字符同步。
4)结构简单,易于实现。
从硬件实施上考虑,要求二次编码产生方式简单,易于实现[11]。
2.3本章小结
本章先介绍了卫星导航系统信号的编码模型,包括其产生原理,特性,信号结构及调制解调。
然后又介绍了二次编码的有关概况,包括其产生原理,二次编码的作用,二次编码的设计准则。
第3章基于FFT并行捕获算法研究
北斗卫星信号采用码分多址(CDMA)技术,所有的信息通过扩频码进行调制,扩频码具有自相关性好、互相关性差的特点。
接收某一个卫星的导航数据,需要复现调制该导航数据的伪随机码,将复现的伪码同输入伪码在不同相位误差上做相关运算,使得两者之间同步,从而完成对导航数据的解扩,这就是伪码捕获。
在实际应用中,由于卫星与用户的相对运动会造成多普勒频偏,如果用户没有同时调整复现的载波频率,那么对扩频码的相关过程将因用户接收机的频率响应的滚降特性而受到严重的衰减,导致无法捕获到信号,所以在捕获卫星信号的时候也必须补偿载波频率加多普勒频偏[12]。
因此,北斗卫星信号的捕获功能是进行时间和频率二维的搜索,将接受到的卫星信号和本地复现码及载波的差值限定在一个特定的围。
捕获的结果是使得本地参考码和接收码相位差值小于一个码元宽度,且收发码时钟频率基本一致,同时使得载波相互对准,从而实现输入信号与本地信号的粗同步。
在信号捕获的初始阶段,接收信号的伪码相位和载波频率对接收机而言都是未知的,捕获的目的就是确定这俩个未知参量。
捕获的搜索围是比较大的,频率上需要考虑卫星和接收机之间相对运动所造成的多普勒影响。
时间上,需要对整个C/A码的周期进行搜索,复现C/A码。
捕获有多种不同的算法,没个算法都有自己的优缺点,因此通常的北斗接收机会根据自身的特点选择所需要的捕获方法,本文介绍常用的捕获算法。
3.1捕获方法分析
常用的伪码扩频信号的捕获方法包括串行、并行和FFT捕获。
串行捕获方法是一个频域(多普勒频率)和时域(伪码相位)顺序二维搜索过程。
提出一种码并行FFT快速捕获方法。
通过这种方法可以提高捕获的速度,缩短捕获时间。
3.1.1串行捕获算法
串行捕获采用单通道相关器,在不同的频率间隔以离散的方式进行顺序扫描搜索,这种方法硬件简单、易于实现,但捕获时间长,特别是在高动态、低信噪比情况下,还可能丢失数据。
为了提高捕获速度,可以采用适当安排多普勒频移搜索单元的搜索顺序,采用载波多普勒频移逐次逼近扫描法,从起始单元的两侧依次进行搜索,起始单元的设置考虑卫星相对地面静止物体的相对速度而造成的多普勒频移值[13]。
串行捕获电路如下图所示:
图3-1串行捕获电路
3.1.2并行捕获算法
并行捕获是在串行捕获的基础上采用多通道相关支路,在各通道并行地搜捕信号。
有扩频码并行、载波并行和扩频码载波并行捕获三种并行捕获方式。
码并行载波串行:
采用N个独立的码相关器,相关器之间相差半个码片,它们共用一个载波NCO,载波多普勒采用串行扫描方式进行搜索。
在一个区间扫描结束后取N个相关能量值中最大的与门限比较,超过则根据载波区间和能量最大相关器的位置得到载波和相位的估计值,优点是在每个载波单元搜索一个码周期就可以得到N个码片相位的相关值。
其捕获时间是串行捕获所需要的时间除以码相关器的个数。
码串行载波并行:
单个码发生器,对码进行串行搜索,N个载波相关器,载波相关器的个数与捕获围有关,N的取值至少是,其中为捕获围,为相关器带宽。
对载波频率进行并行捕获。
N个载波NCO分别产生不同频率的载波,在各个码相位上同时检查N个频点的能量,超过门限就以当前码相位及最大值所对应的载波为输入启动跟踪环,否则移动半个码片。
该电路的规模与码长无关,可以在相同硬件条件下兼容多种码长,捕获时间等于,也就是捕获时间与码长成正比,相当于串行捕获所用的时间除以载波相关器的个数N。
码并行载波并行:
采用N个独立的码相关器,码相关器之间差半个码片。
采用M个载波相关器,每个载波相关器的载波NCO分别产生不同频率的载波。
每一个码相关器对应M个可能的载波频率,每一个载波频率对应N个码相位。
对于伪码和载波的二维并行捕获,取N个码相关器、M个载波相关器中二维对应的能量最大值与捕获门限进行比较,若超过门限,则判为捕获,码并行载波并行捕获方法能够在很短的时间就可捕获伪码相位和载波频率,所用时间是串行捕获所用时间除以码相关器个数N和载波相关器个数M。
该捕获方法的缺点是计算量大,占用资源[14]。
3.1.3FFT捕获算法
FFT捕获主要是利用FFT运算的特点,对码序列进行相关运算。
常用的捕获方法有两种:
一种是在搜索1个多普勒频移时,同时搜索所有的码相位。
另外一种是搜索1个码相位步进量时,同时对整个多普勒频移单元同时进行估计,分析信号的载波频率。
码相位频域分析捕获:
由于传统的串行捕获方式的检测时间长,正比于所有的码相位数。
引入了快速傅利叶变换将时域中进行的相关运算变换到频率域处理,基本思路是利用时域相关等价于频域相乘的关系,在频域计算伪码的相关函数,将本地码序列和接收到的一个周期的信号做FFT变换到频域,相乘后再反变换到时域,将各码相位的最大相关值与门限比较判断。
若没有超过门限则改变载波的搜索单元,重新进行码相位的检测。
由于这种方法运算复杂,所以较少采用这种捕获方式。
载波频偏频域分析进行捕获:
其原理是将本地伪码与输入信号之间保持相对滑动。
输入信号与本地伪码相乘后,每P码片的数据做累加,将输入数据降速,原来N码片的数据变为现在的D点数据,,这个过程称为部分匹配滤波(PMF,PartialMatchedFiltering)。
然后利用这D点数据做D点FFT,并分析频谱。
如果频谱峰值超过门限值,则说明本地码相位与输入信相位达到一致,该谱峰对应的值就是多普勒频移值。
调整本地载波NCO和码NCO,就可以完成捕获[12]。
3.1.4并行FFT快速捕获算法总结
该方法采用并行搜索码相位的同时利用FFT进行频谱分析将传统的二维搜索变成一维搜索,节省了捕获时间,是比较合适的方法。
总结:
并行搜索扩频码码相位的基础上进行FFT频谱分析捕获多普勒频率的捕获方法能够提高捕获的速度和精度,在实际应用中要结合具体的要求[14]。
3.2算法的选择
针对缩短北斗接收机捕获伪随机码时间的问题,本文主要讨论了时域滑动相关的常规捕获方法;提出了码并行FFT快速捕获方法。
3.2.1滑动相关捕获方法
时域滑动相关捕获方法是最常容易,最常见的一种捕获方法,当前大部分北斗和GPS接收机都采用用这种方法实现C/A码的捕获。
它经过一个伪码周期后可获得一次相关值,优点是硬件实现比较简单,但该捕获算法完成整个二维搜索所需要的时间是很长的,这么长的捕获时间在高动态环境下是不能接受的。
时域滑动相关捕获方法是在时间域通过C/A码的滑动进行的信号的捕获过程。
它主要通过不断的调整本地码的码相位和本地载波频率来实现信号的捕获。
首先在一定围任意选定载波频率,同时在本地复现所捕获到的本地卫星的C/A码,然后移动本地复现C/A码的码相位,依次与输入卫星信号的C/A码相关,最后检测相关峰值并记录该峰值所对应的C/A码移动的码相位。
根据C/A码的强自相关性,当接收机所复现的C/A码与输入的卫星C/A码的码相位在任何一边的偏移超过一个基码时,有最小的相关值,其间是线性的变化。
这样通过检测相关峰值就得到了初始的码相位。
如果在该选定的载波频率下没有检测到相关峰值,则说明用来剥离载波的本地载波不准确,将本地的载波频率以一定的步长增加和减少,重复上述过程,知道捕获到相关峰值,记录下当前本地载波的频率,这样通过反复修正得到的本地载波的频率与输入北斗和GPS信号中频的差值就是多普勒频移[15]。
实现框图如下:
图3-2滑动相关捕获方法实现框图
滑动相关检测通常是在解扩器后面接能量检测器,是一种串行的搜索方法。
由上图所示,输入的数字化中频信号分别与本地同相载波和正交载波相乘,完成支路解调;然后再分别乘以本地产生的C/A码信号,完成解扩;经过解调解扩后的同相、正交支路分别进行累加、平分,最后将两者的结果相加输出,输出的结果与设定的门限值进行比较,确定码是否对齐信号是否捕获成功。
如果没有捕获成功,就通过相应的控制机制来控制载波NCO和C/A码发生器。
由于滑动相关器对两个C/A码序列的相关操作是顺序进行的,所以这种方法又称为顺序搜索法。
相关的