(电路与系统专业论文)基于gpu的gps软件接收机设计.pdf_第1页
(电路与系统专业论文)基于gpu的gps软件接收机设计.pdf_第2页
(电路与系统专业论文)基于gpu的gps软件接收机设计.pdf_第3页
(电路与系统专业论文)基于gpu的gps软件接收机设计.pdf_第4页
(电路与系统专业论文)基于gpu的gps软件接收机设计.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(电路与系统专业论文)基于gpu的gps软件接收机设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 论文题目: 学科专业: 研究生: 指导老师: 基于g p u 的g p s 软件接收机设计 电路与系统 陈鹏 席晓莉教授 摘要 签名: 签名: 由于g p s ( g l o b a lp o s i t i o n i n gs y s t e m ,全球定位系统) 技术的迅速发展,g p s 的应用领域不断扩大,g p s 产品也随之更新的越来越快。基于软件无线电技术的 g p s 软件接收机彻底脱离了传统的硬件方式,凭借其编程方便、设计灵活等优点 在g p s 接收机领域起到越来越重要的作用。 图形处理器g p u ( g r a p h i c sp r o c e s s i n gu n i t s ) 具有高度的可编程能力、大量 的并行处理单元和高的内存带宽,已经开始用于大规模的并行计算工作。基于 g p u 的通用计算g p g p u ( g e n e r a l p u r p o s ec o m p u t i n go ng r a p h i c sp r o c e s s i n g u n i t s ) ,它是对将g p u 用于图形渲染以外领域的计算工作的一个总称。g p g p u 计算往往采用c p u + g p u 的模式,由c p u 负责不适合数据并行计算的复杂逻辑 和事务管理等处理,由g p u 负责大规模数据的并行计算。这种处理方式在发掘 计算机潜在的性能、提高性价比和降低成本方面体现出显著的优势。 g p s 软件接收机是把中频数字信号处理模块的功能在普通计算机上实现。本 文采用c p u + g p u 模式设计了一种基于g p u 的g p s 软件接收机。本文将接收机 中信号的捕获与跟踪环节中的相关器放入g p u 中,利用g p u 中大量的并行流处 理单元对g p s 数字中频采样信号进行捕获与跟踪的相关处理,之后再利用c p u 进行环路更新及解算,最终实现软件接收机的全部处理。本文是采用普通计算机 加n v i d i a 公司的g e f o r c eg t 2 4 0 显卡,实现了对8 1 8 4 m 采样速率的g p s 中频 数字信号的捕获、跟踪与解算。 全文介绍并分析了g p s 软件接收机的发展现状,介绍了g p u 的并行计算, 设计了基于g p u 的g p s 软件接收机。测试结果验证了本文设计的基于g p u 的 g p s 软件接收机的正确性、可行性与可靠性。本文的工作为卫星导航接收机的新 算法研究与开发提供了新的平台。 关键词:g p s ;软件接收机;g p u ;并行 丝哟 t i f f e :t h ed e s i g no fg p s 。s o f t w a r e r e c e i v e rb a s e do ng p u a b s t r a c t w i t ht h er a p i dd e v e l o p r r 【e n to fg p s ( g l o b a lp o s i t i o n i n gs y s t e m ) t e c h n o l 。g y , g p sa p p l i c a t i o na r e a sa r ee x pr e d e d g p sp r o d u c t s ,u p d a t e s , a n dr 印l a c e m e n t a r ea t a i lm r e a s i n gr a t e g p ss o f t w a r er e c e i v e rb a s e d o ns o f t w a r er a d i ot e c h n o l o g yh a sg o t r i do ft h eh 幽a r ew a y ,i tp l :t y sa ni n c r e a s i n g l yi m p o r t a n tr o l ei nt h ea r e ao fg p s r e c e i v e rw i t hi t sa d v a n t a g e ss u c ha sc o n v e n i e n tp r o g r a m m i n g ,d e s i g nf l e x i b i l i t ya n d 苫u0 1 1 g p u ( g r a p h i c sp r o c e s s i n 至u n i t s ) h a sb e e nh i g h l yp r o g r a m m a b l ec a p a b l l l t l e s a m di th a se n o u 曲m e m o r yb e n d w i d t ha n dt h el o t so fe x e c u t i o n u n i t s ,s o1 th a sb e e n u s e dt od oal 鹕en u m b e ro fc a l c u l a t i o n sp a r a l l e lt h r o u g h t h eg p u i t i s g p g p u ( g e n e r a l p u r p o s ec o r r t p u t i n go ng r a p h i c sp r o c e s s i n gu n i t s ) t h a t i su s e dt o c a l c u l a t i o no t h e rt h a nt h eg r a p h i c sr e n d e r i n g t h eg p g p u c o m p u t i n gu s e st h em o d e o fc p u + g u p , t h ec p ui s u , :e dt od ot h ec o m p l e xp r o c e s s i n ga n dt h et r a n s a c t l o n m a i l a g e m e n tw h i c hi sn o ts u i t 兆l ef o rd a t a sp a r a l l e lc o m p u t i n g ,a n dt h eg p u i su s e d t 0d ot h el a r g e s c a l e ,p a r a l l e lc o m p u t i n g t h i sa p p r o a c hw o u l ds h o was i g n i f i c a n t a d v a n t a g ei nt h ec o m p u t e rp o t m f i a l ,c o s t 。e f f e c t i v ea n d c o s t g p ss o 小a r er e c e i v e rc a l lr e a l i z et h ef u n c t i o no fi fd i g i t a ls i g n a lp r o c e s s i n g m o d u l ei nt h eg e n e r a lc o m p t t e r t h i sp a p e rp r e s e n t san e wg p ss o f t w a r er e c e i v e r b a s e do nt h eg p ua n dt h ec pu ,w h i c hc a np r o c e s si fd i g i t a ls i g n a l t h er e c e i v e r c a r l d ot h ea c q u i s i t i o na n dt h ec o r l 。e l a t i o no f t h et r a c k i n gi nt h eg p u w h e r el a r g en u m b e r s o fs t r e 锄p r o c e s s i n gu n i t sc a 2 1b eu s e d ,a n di tc a nd ot h en a v i g a t i o ns o l u t i o ni nt h e c p u a tt h ee n dt h i ss o f t w a r er e c e i v e rc a nr e a l i z e t h ea l lp r o c e s s i n go ft h er e c e i v e r i n t l l i sa r t i c l e ,w eu s e dt h eg e n e n dc o m p u t e ra n dt h en v i d i a sg e f o r c e g t 2 4 0g r a p h i c s , a n dw eh a v er e a l i z e dt h ea c q _ l f i s i t i o n ,t r a c k i n ga n dn a v i g a t i o ns o l u t i o no ft h e8 18 4 m g p si fd i g i t a ls a m p l i n gs i g n a l i nt h i sp a p e r , ih a v ea n j y z e dt h eg p ss o f t w a r er e c e i v e r sd e v e l o p m e n ts t a t u s , i n t r o d u c e dt h ep a r a l l e lc o m p 瓜i n go ft h eg p u ,d e s i g n e dt h eg p ss o f t w a r er e c e i v e r b a s e do ng p u a tl a s t ,p r a c t i c a lm e a s u r e m e n tw i t hr e a ls i g n a lh a d b e e nc a r r i e do u to n i i 兰 t l 试 聃 舢 p朗远 响 粕 伽 妇锄啷腿 :耋脚斌 仃 m p m m n 耽c 吖 n 比 o “ 剑 啦一蚪 鼬 a b s t r a c t t h i sr e c e i v e r , w h i c hr e s u l tv e r i f i e dt h ev a l i d i t y , f e a s i b i l i t ya n dd e p e n d a b i l i t yo ft h e g p ss o f t w a r er e c e i v e rb a s e do ng p u ,a n dt h ew o r ko ft h i sa r t i c l ep r o v i d e dan e w p l a t f o r mf o ra r i t h m e t i cr e s e a r c ha n dd e v e l o p m e mo fs a t e l l i t en a v i g a t i o nr e c e i v e r k e yw o r d s :g p s ;s o f t w a r er e c e i v e r ;g p u ;p a r a l l e l i i i i v a b s t r a c t 1 绪论一i 1 1 1 研究背景1 1 2g p s 软件接收机的发展现状2 1 3 基于g p u 的并行计算2 1 4 基于g p u 的g p s 软件接收机结构4 1 5 本文的主要工作4 2 基于g p i j 的6 p s 信号捕获的实现6 2 1g p s 中的l l 信号6 2 1 1 导航电文6 2 1 2g p s 信号中的伪随机码7 2 1 3g p s 中l 1 信号的生成8 2 2 串行滑动相关捕获9 2 3 基于f f t 算法的信号捕获1 2 2 4g p u 中捕获的实现1 4 2 4 1g p u 中滑动相关捕获的实现1 4 2 4 2g p u 中f f t 捕获的实现1 6 2 5 本章小结1 7 3 基于6 p i j 的6 p s 信号跟踪环路的实现1 8 3 1 基本锁相环n 1 2 1 1 1 8 3 2 载波跟踪环一2 1 3 3 伪码跟踪环2 3 3 4g p s 接收机中的跟踪环路2 5 3 5 基于g p u 的跟踪环路的实现一2 7 3 6 本章小结3 1 4c - p s 系统的定位解算3 2 4 1导航电文的解调 卫星位置的解算 伪距的计算 用户位置计算 定位测试结果 本章小结 3 2 3 6 4 0 4 3 4 6 4 6 5 应用程序设计4 7 5 1 应用程序设计及展示一4 7 5 2 本章小结5 0 6 总结5 1 致谢5 2 v 目录 参考文献:5 3 v i 绪论 1 绪论 1 1 研究背景 g p s ( g l o b a l p o s i t i o n i n gs y s t e m ) 是由美国国防部倡导研制的全球定位系统, 该系统的主要目的是实现全球性、全天候、时间上连续的高精度定位和导航系统。 g p s 系统是从上个世纪7 0 年代开始创建设计,经过2 0 多年的研制和调试,直到上 世纪9 0 年代中期,该系统空间组网全部完成“ 。g p s 系统在军事和国防领域 中具有重大的意义。时至今日,g p s 系统在民用领域也开始显示出蓬勃的生机。 在车辆导航、地震监测、户外运动、野外救护以及基于位置服务( l o c a t i o nb a s e d s e r v i c e ) 等方面已经显示出非常广阔的应用前景和巨大的商业市场。目前基于 g p s 的服务正在吸引越来越多的商业目光,这将给人们的生活带来更多的便利, 同时也必将提供更多的就业机会。 g p s 系统主要包括三大组成部分:g p s 空间星座部分、地面监控站和用户设 备部分。g p s 空问星座部分的主要作用是:提供星历和时间信息,向用户发送伪 距和载波信号,以及提供其它辅助信息;卫星的地面监控由1 个主控站,3 个信息 注入站和5 个监测站组成;用户设备部分主要是指g p s 接收机,其任务是快速捕获 一定数目的待测卫星信号,并对所接收到的g p s 信号进行变换、放大和处理,以 便得至r j g p s 信号从卫星到接收机传播时间,解译h b g p s 卫星所发送的导航电文,实 时地计算出接收机的三维位置、三维速度和时间。n 2 1 g p s 接收机的主要任务可概括为三个部分:对信号的捕获,对信号的跟踪以 及定位解算。传统的g p s 硬件接收机常采用专门的硬件电路系统来完成对g p s 信 号的处理,当系统面临改进或升级换代时,则需要对它的硬件系统进行大量的改 动,这些都不利于新算法的开发与系统升级d 1 。g p s 软件接收机就是把中频数字 信号处理模块的功能在普通计算机上实现,这比起传统的g p s 硬件接收机,使得 系统具有了很高的灵活性,便于系统的升级与改进,便于新的信号处理算法或导 航解算算法的开发及测试,而这些优点的前提都不需要对硬件系统结构进行改 动,仅仅做相应的程序改动就行。g p s 软件接收机特别适合于学 - j 和研究领域, 在对g p s 软件接收机学习与研究的基础上,对卫星导航系统的其他研究也是很容 易开展的。 西安理工大学硕士学位论文 1 2g p s 软件接收机的发展现状 g p s 软件接收机相对于j 耍件接收机来说还是比较少的,国外g p s 软件接收 机方面的研究主要有:s t a n f o r d 大学的实时g p s 软件接收机g p s r x ,美国康奈尔 大学的1 2 通道实时单频软件接收机,c r s 遥测中心的g p s 软件接收机,瑞典吕 勒奥大学的单频软件接收机和n a v s y s 公司的g p s 软件无线电结构1 3 1 1 8 1 9 1 。 在国内,随着国家政策的支持以及市场的迫切需要,g p s 系统的相关研究工 作已经有了非常大的进展,j 年多单位在g p s 接收机方面的研究和开发也取得了 较大的成果,例如:北京航空航天大学,中电二十所等。同时随着我国北斗导航 系统的自主研发,目前导航系统的研究工作已经不再局限于少量的研究所和高 校,国内许多企业也在做这个领域的开发工作。现在对于g p s 硬件接收机的开 发技术已经比较成熟,但对于适合算法研究的g p s 软件接收机来说,相对的技 术思路还不是很固定,如何提高g p s 软件接收机的处理速度目前还是一个比较 热的问题。 1 3 基于g p u 的并行计算 现代的图形处理器g p u 已经具备了高度的可程序化能力,与此同时,它具 有大量的可并行执行的处理单元和很高的内存带宽,因此人们已经开始利用g p u 来做大规模的计算工作了。g p g p u ( g e n e r a l p u r p o s ec o m p u t i n go ng r a p h i c s p r o c e s s i n gu n i t s ) ,即基于g ? u 的通用计算,它是对将g p u 用于图形渲染以外领 域的计算工作的一个总称。g p g p u 计算往往采用c p u + g p u 的模式,由c p u 负 责不适合数据并行计算的复杂逻辑和事务管理等处理,由g p u 负责大规模数据 的并行计算。相比于c p u ,g p u 在处理能力和存储带宽方面有着明显的优势, 在成本和功耗上也极具竞争力,这样便为一系列需要提高计算速度的问题提供了 新的解决方案。g p u 往往通过增加并行处理单元和存储器控制单元的方式来提 高处理能力和存储带宽。g p u 的设计者将更多的晶体管用作执行单元,而c p u 的设计者则将它们用作复杂的控制单元和缓存,并通过这个来提高少量执行单元 的执行效率。最近几年,g i u 的发展速度大大超过了c p u 的发展速度,g p u 的 性能几乎每一年就可以翻倍。为了实现更加逼真的图形效果,g p u 支持越来越 复杂的运算,它的可编程性和功能都大大扩展了。目前,主流的g p u 在单精度 浮点处理能力上已经可以达到同期c p u 的1 0 倍左右,而其外部的存储器带宽也 达到c p u 的5 倍左右“1 。 n v i d i a 公司于2 0 0 7 年正式发布的c u d a 是第一种不需借助图形学a p i 就 2 绪论 可以使用c 语言进行通用计算的开发环境和软件体系。随着近几年的发展, c u d a 与支持c u d a 的g p u 在性能上有了显著地提高,功能也在不断完善。与 以往的g p u 相比,支持c u d a 的g p u 在构架上进行了显著的改进:一是采用 了统一的处理构架,这样就可以更加有效地利用过去分散的计算资源;二是引入 了片内共享存储器,这样就可以支持随机写入和线程问通信。这两项改进使得 c u d a 构架更加适合于g p u 通用计算。 在c u d a 的架构与环境下,一个程序通常分为两个部份:即h o s t 部分和 d e v i c e 部分。h o s t 部分是在c p u 上执行的,而d e v i c e 部分是在显示芯片上 执行的,是需要进行并行处理的部分。把d e v i c e 端的程序通常叫做”k e r n e l ”。 c u d a 程序通常是这样执行的:由h o s t 端的程序先将数据准备好后,复制到显 卡的内存中,再由h o s t 程序调用显示芯片执行d e v i c e 程序,进行并行处理,完 成后再由h o s t 程序将d e v i c e 程序的处理结果从显卡的内存中取回。由于c p u 与g p u 是通过p c ie x p r e s s 接口传输数据的( p c ie x p r e s sx 1 6 的理论带宽是双 向各4 g b s ) ,所以不能经常进行这类操作,否则会降低效率。“1g p u 执行程序 时的最小单位是t h r e a d ,每个t h r e a d 都会并行地执行k e r n e l 程序。一个b l o c k 可 由数个t h r e a d 所组成。一个b l o c k 中的t h r e a d 可以存取同一块共享的内存,同 时能够快速进行同步的动作。每一个b l o c k 中所能包含的t h r e a d 的数目是有限 的。但是,执行同一个程序的多个b l o c k ,可以组成一个g r i d 。不同的g r i d 则 可以执行不同的程序( 即k e r n e l ) 。g r i d 、b l o c k 和t h r e a d 的关系,如图1 - 1 所 不: 图1 1g r i d 、b l o c k 和t h r e a d 的关系 f i g u r e1 1t h er e l a t i o n s h i po fg r i d ,b l o c ka n d t h r e a d 西安理工大学硕士学位论文 最适合利用c u d a 处理的问题,是可以大量并行化的问题。使用c u d a 的时候,可以同时有上千个t h r e a d 在同时执行。因此,要使c u d a 达到最好的 效率,就必须使所处理的问题最大化的并行化。 1 4 基于g p u 的g p s 软件接收机结构 g p s 软件接收机主要是将传统g p s 接收机中的基带信号处理部分全部放入 普通p c 机中,以最终完成g p s 接收机的功能h u og p s 软件接收机有很高的灵活 性,算法更新非常的方便,非常便于系统的升级与改进,与此同时,对于新的信 号处理算法或导航解算算法的开发及测试也是非常的方便,这些实现仅仅对部分 程序进行修改即可。 本文将软件接收机中对g p s 信号的捕获与跟踪环节中的相关器这两部分实 现放入g p u 中,在c u d a 多:境下予以实现,同时将跟踪环路的更新以及最后的 解算部分放入c p u 中,在( + + 环境下给予实现,最终实现基于g p u 的g p s 软 件接收机,该软件接收机的;委体框图如图1 2 所示。 g p s 中频数字信号的采集由专用的数据采集板完成。在p c 机中,c p u 主要 负责完成对上述数字中频信号的读取,与g p u 传输数据,更新跟踪环路,以及 后续的定位解算和结果显示:g p u 主要负责对g p s 信号的捕获以及跟踪环路中 相关器的相关运算。这样一:彩通过c p u 和g p u 的协作便完成了g p s 软件接收 机的全部功能。 图1 2 基于g p u 的g p s 软件接收机 f i g u r e1 - 2g p ss o f t w a r er e c e i v e rb a s e do ng p u 1 5 本文的主要工作 本文结合c p u 与g p u ,以c u d a 和c + + 为软件环境,设计出基于g p u 的 g p s 软件接收机,将g p sf 爵a - 丐r - - 1 的捕获与信号跟踪环节的相关器在g p u 中实现, 4 绪论 将跟踪环路的算法及解算环节放入c p u 中处理,通过g p u 的并行处理方式来处 理g p s 信号捕获与跟踪环节中大量的相关运算,完成信号的捕获及相关,将结 果传入c p u 进行后续的算法处理及导航解算,最终完成g p s 软件接收机的全部 功能,这样就大大缩短了原本串行计算要花费的时间,实时性得到了很好的改善, 这对后续的信号处理以及实时的软件接收机的研究都有很重要的意义。 本文的主要工作如下: 第1 章主要介绍了文章的研究背景、g p s 软件接收机的发展现状、基于g p u 的并行计算以及本文设计的基于g p u 的g p s 软件接收机的结构。 第2 章介绍了本研究所涉及的g p sl 1 信号的结构;介绍了g p s 传统捕获以 及f f t 捕获的原理:介绍了基于g p u 的g p s 信号滑动相关捕获与f f t 捕获的 实现;之后用真实信号对该实现进行了验证。 第3 章分析了g p s 跟踪环路的基本原理;阐述了本文所设计的基于g p u 的 g p s 信号跟踪环路的实现;最后对本文所设计的跟踪环路进行了测试。 第4 章对g p s 系统的定位解算算法进行了介绍;最后分析了本文所设计的 基于g p u 的g p s 软件接收机的定位解算结果。 第5 章介绍了本文设计的基于g p u 的g p s 软件接收机应用程序。 最后,对论文完成的工作进行了总结。 西安理工大学硕士学位论文 2 基于g p u 的g p s 信号捕获的实现 对信号进行捕获只是g p s 接收机内处理信号要做的第一步。只有完成了捕 获,才有可能开始对信号进行跟踪、观测量提取和定位导航解算等后续的处理过 程。g p s 接收机花在信号捕获上的时间是所有t t f f ( 首次定位时间,t i m et of i r s t f i x ) 耗时中最冗长的一部分所以提高信号捕获的速度对于缩短t t f f 意义重 大n 1 1 1 1 1 。传统的g p s 硬件接收机一般都采用串行的滑动相关的捕获方法,由于 硬件处理的速度很快,而且并行运行,所以该方法的速度是可以满足要求的。但 是在g p s 软件接收机中由于软件的串行运行,以及计算机处理速度的限制,这 样的处理方法是非常耗时的。g p u 拥有大量的可并行的执行单元,而且g p u 已 经具有高度的可程序化能力。结合c u d a 与g p u ,将g p s 信号的传统串行捕获 在g p u 中实现,通过g p u 的并行处理方式来处理g p s 信号的捕获,将大大缩 短原本串行计算要花费的时间。这样处理是由于串行捕获原理简单通用,使用方 便,同时它还会使程序具有很好的可移植性,因为在g p s 跟踪环路中,相关器 的算法跟捕获中的相关算法是基本相同的,这样的话,只需将程序稍作调整便能 用于跟踪环路。 2 1g p s 中的l 1 信号 g p s 卫星有l 1 和l 2 两种载波信号,本文仅对民用的l 1 载波信号进行研究, 其中心频率为1 5 7 5 4 2 m h z 。g p s 系统是一种码分多址( c d m a ) 0 0 扩频通信系统, 该系统将导航电文以数据的形式对伪随机码和载波分别进行两次调制,形成的 g p s 信号连续向地面发射。 2 1 1 导航电文 导航电文是g p s 信号中调制的数据。导航电文的数据率是5 0b p s ,每一个 数据位的长度是2 0m s 。导航电文在整个g p s 信号构成中占据重要位置,它提供 了信号的发射时间和卫星上的时钟修正量,这些信息和跟踪环的跟踪状态量将一 起提供卫星精确地发射时间;它提供了卫星星历数据,接收机根据信号的发射时 间和星历数据就可以得到】! 星的精确位置;它提供了电离层和对流层的延时校正 参数,这些参数将在定位时提供观测量的校正量,从而提供定位精度;它还提供 了卫星的其他信息,如健康状态,卫星的配置信息等 1 0 1 0 每一颗卫星都在连续 6 基于g p u 的g p s 信号捕获的实现 不断地发送其自身独特的导航电文。 导航电文可以被分成5 个不同层次的结构,如图2 1 : 帧 一卜- 2 0 r e s 图2 1 导航电文结构 f i g u r e2 - 1t h es t r u c t u r eo f n a v i g a t i o nd a t a 其最基本的结构长度为2 0m s 的数据位( b i t ) ;高一级的结构是字( w o r d ) ,3 0 个数 据位组成一个字;第三级的结构是子帧( s u b f r a m e ) ,1 0 个字组成一个子帧;第四 级的结构是帧( p a g e ) ,5 个子帧组成一个帧;第五级的结构是2 5 个帧组成一个整 周期的导航电文。每一个卫星连续不断地以5 0 b i t s 的速率发射2 5 个帧组成的周 期导航电文n 3 1 7 2 盯。 2 1 2g p s 信号中的伪随机码 g p s 信号中的伪随机码有p 码和c a 码,本文仅涉及到c a 码,也就是民 用的粗码,p 码是精码。c a 码是一种g o l d 码,即通过两个m 序列模2 加得到。 c a 码的码速率为1 0 2 3 m h z ,周期为l m s ,即1 0 2 3 个码片,c a 码的生成原理 如图2 2 阮屯跗。 图2 - 2c a 码生成原理图 f i g u r e2 - 2c ac o d eg e n e r a t o r 西安理工大学硕士学位论文 c a 码由两个m 序列模:加形成,分别为g 1 序列和g 2 序列,每一颗卫星 的c a 码是通过g 2 序列中不同的相位延迟而区分的,这些相位延迟是选择g 2 中不同的抽头来实现的,表2 - 1 给出了1 号1 0 号卫星的抽头选取和等效的相位 延迟。每一个m 序列的移位寄存器都是1 0 位。 表2 1 卫星抽头选取和相位延迟 t a b l e2 - 1t a ps e l e c t i o na n dp h a s ed e l a yo fs a t e l l i t e p r n抽头选取 等效相位延迟( 码片) p r n抽头选取等效相位延迟( 码片) 12 06:;62o l o1 8 , 2307 l 7 lo8 1 3 9 3408 7 82 091 4 0 4 5o9 39 30 1 01 4 1 510 9171 02o32 5 1 c a 码最大的特燕就是它的自相关特性,即相同的c a 码做相关会输出最大 值,而不同的c a 码之问做相关则会输出近似为0 。c a 码的归一化自相关函数 如下: r 。c x ,= 卜ii 冒三深碧笄 q m 由于每一颗g p s 卫星都有e 己的c a 码,而且所有的c a 码序列之间的互相关 几乎为0 ,因此卫星信号就可以用码分多:t - j l ( c d m a ) 技术区分并检测出来。g p s 接收机为了能够捕获到它视野里的g p s 卫星,它的内部就必须能够复现这几颗 卫星的c a 码序列。 2 1 3g p s 中l 1 信号的生成 g p s 中的l 1 信号包括3 个部分:载波l 1 、测距码( c a 码和p 码) 和导航 电文数据( d 码) 。在该信号的生成过程中,所有的频率都是由一个1 0 2 3 m h z 的基准时钟信号产生出来的,其过程如图2 3 所示n 2 9 1 。 从图中可以看出:g p s 卫星天线发射出的l 1 卫星信号是将导航电文数据d 经两级调制后的信号。在第一级的调制过程中,是将速率为5 0 h z 的d ( f ) 码分别 调制到c a 码和p 码上,对d ( t ) 码实现扩频。第二级调制则是将第一级调制后的 组合码以二进制相移键控i :b p s k ) 的方式通过同相正交两路调制到载波l 1 上。 因此,l l 信号的结构为: 屯( f ) = a p p , ( t ) d , ( 于) sr i n ( 屹l ,+ 吼1 ) + 4c f ( ,) 口( t ) c o s ( w l f + 吼1 )( 2 2 ) 基于g p u 的g p s 信号捕获的实现 图2 3g p s l l 信号的生成过程 f i g u r e2 - 3g e n e r a t i o np r o c e s s i n go fg p sl 1s i g n a l 上式中,a p 、4 分别为载波厶正交同相两路的振幅;p ( f ) 、e o ) 和d f ( f ) 分别 为第f 颗卫星的p 码、c a 码和d 码;。为载波厶的角频率;吼。为载波厶的初 相位。由于本文重点研究厶载波上的c a 码,因此第f 颗g p s 卫星的发射信号 可表示为: 咒( f ) = 4 e ( f ) 口( t ) c o s ( w l l + 吼1 ) ( 2 3 ) 本文所用到的g p sl 1 信号是通过本教研室的g p s 射频板采集获得的。该射 频板接收g p sl 1 信号,完成l 1 频段的带通滤波,低噪声放大,频率综合产生, 模拟下变频至正交i q 两路输出,最后通过采样输出一个8 位的数字中频复信号, 其中高4 位为i 路信号,低四位为q 路信号。 2 2 串行滑动相关捕获 串行滑动相关捕获的基本结构如图2 4 所示。 图2 4 滑动相关的基本结构 f i g u r e2 - 4t h eb a s i cs t r u c t u r eo f t h es l i d i n gc o r r e l a t i o n 可以看出,串行滑动相关捕获的结构体系中包括有相应的控制环节、积分器、伪 码发生器、载波发生器以及乘法器。首先,输入的g p s 数字中频信号和本地载 9 西安理工大学硕士学位论文 波发生器所产生的s i n ( ) 和c o s ( ) 分量相乘,得到同相正交路两路分量i 和q ,然 后再分别与本地伪码发生器所产生的某个码相位做相关运算,最后通过积分器输 出相应的积分结果,积分器自】时间通常为l m s 的整数倍,即整数倍的c a 码周 期。控制环节部分控制本地载波频率处于某一个固定的频率值处,对本地伪码进 行范围为1 1 0 2 3 个码片的相位滑动。对应于每一个载波频率和伪码相位,同相 路i 和正交路q 的相关器会输出相关结果。如果对某一载波频率值,完成所有的 1 0 2 3 个码片的相关运算仍然没有得到大于门限阈值的相关结果,就改变这一载 波频率,然后再重复所有1 0 2 3 个伪码相位的搜索。这就是对某一颗卫星的捕获 过程,可以看出它是一个频率和码相位的二维搜索过程。当完成当前所有可能的 载波频率和伪码相位的搜索依然没有大于阈值的结果时,则说明接收到的g p s 信号不包含这颗卫星,于是控制环节便改变当前的卫星号,搜索其它卫星。 我们再从数学公式上来:旨看滑动相关的捕获过程n 盯,输入数字中频信号的 数学表达式如下: s m ( f ) = 4 2 p , c ( t v ) d ( t r ) c o s 0 d i f t + 妒o ) + ,z o ) ( 2 4 ) 式中,只是输入信号的功率:c ( f ) 是c a 码,它的值为1 ;r 表示传输过程中 的时间延迟;d ( f ) 是导航电:近数据;o ) z f 是中频载波频率;e k ( t ) 是初始相位;n ( t ) 厂 是白噪声,其功率谱密度被认为是常量,用坐表示。 2 本地载波发生器输出的同相正交两路信号分别表示为: ,l o ( ,) = 4 2c o s 【( & k + a 0 3 ) t + b o 】( 2 5 ) q c 口( ,) = 4 2s i n ( c 0 ,f + a 0 3 ) t + 0 0 】( 2 6 ) 本地载波频率为 咿+ a 0 3 ) ,和输入信号的载波频率相差了a 0 3 ,这个面是未知 的。 输入信号分别与本地载波的i 和q 信号相乘,即解调n 钉,由于后面有一个 积分器,可以看成是一个低通滤波器,所以会将相乘结果的高频成分忽略,于是 得到简化的相乘结果如下: ,o ) = 只c p r ) d ( t r ) c o s p ) 一a o s t 一五】+ 船( ,) 互c o s 乒) 】( 2 7 ) q ( t ) = 4 e 。c ( t v ) d ( t f ) s i n ( f ) 一a a 3 t 一九 + n ( t ) x4 2s i n q b ( t ) 】( 2 8 ) 对于i 、q 两路的噪声分量,其均值e ( n ,) = e ( n o ) = 0 ,功率谱密度 厂 p s d ( n z ) = p s d ( n q ) = 等。 1 0 基于g p u 的g p s 信号捕获的实现 于是i 路和q 路的积分器输出为: = 【54 p 。c ( t r ) c ( t 一) d ( f v ) c o s a d ) t + s d ? o d t + m ( 2 9 ) 绋= 【3 c o r ) c ( t f ) d ( t v ) s i n a 0 3 t + 8 咖o a c t + n o ( 2 1 0 ) 上边两个式子中,嗽= 乒一( f ) ,z 是积分时间,如前所述,一般为c a 码周期 即l m s 的整数倍,导航数据d ( t ) 在2 0 m s 内都保持不变,一般选取z 2 0 m s , 所以在积分时间内可以认为d ( t ) 是常数,可移到积分号外。c ( t f ) 是本地c a 码,为本地延迟。令f = f 一,得 i d - i 、p , c ( t r ) c ( t i ) d ( t - r ) c o s a 0 3 t + & b o d t + n f :。雁s i n c ( 华) c 。s 掣+ 眠卅+ 羁 2 j 1 q p = 【34 p , c ( t r ) c ( t i ) d ( t r ) s i n a 0 3 t + 6 丸协+ r d :。瓜s i n c ( 华) s i i l 牟+ 氓鼬) + 瓦 2 j 2 如果仅考虑信号功率的话,则信号功率为 芦:1 7 + 耍;:d 2 只丁2 ,s i n c 2 ( 垒罢笠) r z ( f ) ( 2 1 3 ) 式( 2 1 3 ) 中,r 0 为c a 码的自相关函数,由之前所讲到的c a 码的自相关特性 我们可以知道,当本地伪码和输入信号伪码的相位差是0 的时候,即a r = 0 时, r o 是最大值为1 ,而当本地伪码和输入信号伪码的相位差是不为0 的任何值时, r ( ) 都会是0 。同时s i n c ( x ) 函数当x 专0 ,则s i n c ( x ) 专1 ,而s i n c ( x ) 函数的最大 值是1 。因此我们可以得到,为了使信号功率最大,我们就得使本地伪码相位和 载波频率与信号的伪码相位和载波频率尽量的接近,这便是捕获的目的之所在。 得到的载波频率与中心频率的差便是多普勒频移量,因此,g p s 信号的捕获 可以分别对伪码相位延迟和多普勒频移进行搜索,是个二维的搜索过程。其过程 就是不断调整本地载波频率和伪码相位,直至伪码相位差和载波频率差接近于0 。 当捕获成功后,控制权便交给跟踪环路,而伪码相位差和载波频率差这两个捕获 到的结果要用于跟踪环路的初始化。 多普勒频移范围一般是l o k - zi l l ,频率搜索的频率步进量为5 0 0 h z ,按半 个码片搜索,码相位的搜索为2 0 4 6 个不同的码相位,这样,总的搜索次数为: 2 0 4 6 ( 1 0 0 0 0 x 2 + 1 ) :2 0 4 6 4 1 :8 3 8 8 6 ( 2 1 4 ) 5 0 0 如果信号的采样频率是8 1 8 4 m h z 的话,捕获至少需要l m s 数据,也就是8 1 8 4 个数据采样点,并且信号有i 和q 两路,所以对一颗卫星信号进行捕获就得做 8 3 8 8 6 8 1 8 4 x 2 次点点相乘相加运算,因此在g p s 软件接收机中对于串行执行的 西安理工大学硕士学位论文 c p u 来说做一次3 2 颗卫星的盲捕所要完成的计算量是非常大的,所以非常耗时。 正如第一章中介绍的那样,g p u 具有大量的可执行单元,而且具有并行处 理的特性,适合一次性做大耋:相同的工作。串行滑动相关捕获中所做的大量的点 点相乘相加的工作正适合这一特点,所以本文将传统的串行滑动相关捕获在g p u 中给以实现,通过g p u 并行地进行大量的乘加工作,之后将结果传回给c p u , 以完成捕获工作,大大缩短捕获用时。 2 3 基于f f t 算法的信号捕获 如果把图2 4 中的输入牛频信号和本地载波发生器的同相分量和正交分量相 乘的结果看做两个中间变量j j ( ,) 和s q ( t ) ,即 p ) = s ( 0 4 2c o s ( o d , f + a a 3 ) t ( 2 15 ) s o ( f ) = s ( t ) 4 2s i n ( o ) m + a 0 3 ) t 】 ( 2 16 ) 而本地伪码发生器的输出看做是一个本地信号s l ( f ) = c ( t ) ,则i 和q 路的积分器 的输入量为 s 1 ( t ) s l ( t + r ) = f f 2 s ( t ) c ( t + r ) c o s ( 0 ) i f + a c b ) t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论