DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 826|回复: 0
打印 上一主题 下一主题

[GPS] GPSC/A码发生器的仿真研究与FPGA设计  

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-1 06:14:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第21卷
V01.21
第24期
No.24
电子设计工程
Electronic Design Engineering
2013年12月
Dec.2013
GPS C/A码发生器的 仿真研究与FPGA设计
王祯,王尔中,代双亮,戴丽兴
(沈阳航空航天大学电子信息工程学院,辽宁沈阳110136)
摘要:全球定位系统(Global Positioning System,GPS)能够向全球范围内的用户提供全天候的高精度导航、定位和授
时服务.在军用和民用领域得到了广泛的应用。以GPS系统的测距码粗码C/A码为研究对象,在深入研究C,A码信
号生成原理的基础上,利用Matlab中的Simulink对C,A码信号的生成进行了建模、仿真和分析,并利用FPGA设计并
实现了C,A码发生器,详细说明了C/A码生成的设计原理,对其中的关键模块进行了设计和分析,给出了具体实现方
案.同时阐述整个应用程序的流程,设计采用抽头选择控制端设置产生不同GPS卫星号的C,A码,最终仿真进一步
验证了其结果的正确性,它可以产生任意GPS卫星号的C/A码,设计中采用VHDL语言实现的C/A码程序,可应用
于基于FPGA 的GPS接收机设计中.对研究我国的北斗导航系统接收机有一定的借鉴意义。
关键词:全球定位系统;FPGA;C/A码;Matlab
中图分类号:TN492 文献标识码:A 文章编号:1674—6236(2013)24—0001—03
Simulation of GPS C/A code generator and design based on FPGA
WANG Zhen,WANG Er—shen,DAI Shuang·liang,DAI Li—xing
(School ofElectronic and Information Engineering,ShenyangAerospace University,Shenyang 110136,China)
Abstract:The domestically designed GPS navigation satellite system has the ability of navigation,positioning,timing.GPS
has been used in various fields including military affairs,navigation,aviation,measurement,transportation and surveying
and SO on.Based on f1 signal frequency ranging code generator of GPS.the model is set up and simulated with Matlab
simulink.And GPS C/A code generator is designed and implemented using FPGA,the design principle of ranging code
generator is also particularly presented and the key modules are designed.Then,the implementation plan is given out in detail.
At the same time,the flow of application program is expounded.Phase-select control port is designed to set different taps to
generate diferent ranging code of different GPS satellite.And the simulation results show that the design of GPS C/A code
generator can generate ranging code of corresponding different GPS satellite.The C/A code generator is designed using VHDL
language,and it can be applied to GPS and Compass II receiver design.
Key words:GPS;FPGA;C/A code;Matlab
全球卫星定位系统(GPS)可在全球范围内,全天候为用
户连续地提供高精度的位置、速度和时间信息。目前,GPS已
被应用于军事、航海、航空、测量、交通、勘测等几乎一切与位
置、速度、时间有关的人类活动中。自从GPS系统建立以来,
世界上对于GPS及其应用技术的研究越来越普及。而关于与
用户联系最为紧密的GPs接收机的研究是其中的研究热点。
在GPS接收机的设计和研究中,为了捕获和跟踪GPS信号,
首先就要对C/A码信号进行码剥离,为此,需要在本地复现
与接收机接收的同相位的C,A码信号。因此,关于GPS信号
C,A码生成的仿真研究就具有一定的意义。GPS卫星信号包
括载波信号、测距码和数据码。其中的测距码粗码即C,A码
(Coarse Acquisition Code)除了作为粗测码外,还由于其具有
码长短.易于捕获的特点而作为GPS卫星信号的捕获码,因
收稿日期:2013—04—22 稿件编号:201304265
此C/A码是GPS信号捕获以及接收机实现的基础f1]。文献『2]
利用Matlab对C/A码进行了仿真研究,文献[31对C/A码生成
进行了硬件仿真。
文中针对GPS全球卫星导航系统ICD接口文件中C/A
码的编码方式,在MatJah仿真的基础上,设计出一种基于
FPGA的C,A码发生器.通过VHDL语言编程实现了测距码
的仿真,其结果表明设计的正确性。
1 基本原理
GPS卫星导航定位系统是一种无线电导航定位(Radio
Navigational Satellite Service RNSS)系统,利用高空中的GPS
卫星,向地面发射L波段的载频无线电测距信号,由地面上
用户接收机实时地连续接收,并计算出接收机天线所在的位
置。GPS卫星发射Ll和L2两种波段的载波,系统采用码分
基金项目:辽宁省大学生创新创业训练项目(201210143004);沈阳航空航天大学大学生创新创业训练项目(2012017)
作者简介:王祯(1989一),男,甘肃张掖人。研究方向:电子信息工程。
一1一
《电子设计工程)2013年第24期
多址(CDMA)技术来区分各颗卫星,每颗卫星都有自己特定
的伪随机噪声码(PRN码)结构。C/A码时钟速率为1.023 MHz,
码长为1 023 chip。周期为1 ms。用于快速捕获导航信号和实时
粗略定位。GPS系统的L1信号调制有两种伪码,粗捕获码(C/
A码)和精密码(P码) 。TJ1频率上的GPS信号表达式如下:
SI l=AP(£)D(f)cos(2叮r )+、/2 AC(f)D( )sin(21T f)式中:
A:表示P码的信号幅度:
、/2:表示c/A码的信号幅度是P码的、/2倍:
D(t):表示50 Hz的导航电文数据;
C( 表示C/A码;
:表示载波频率;
C,A是Gold码序列. 由两个10位移位寄存器G1和G2
产生长度为210—1=l 023位的最大长度伪码(PN码)。C/A码
是由G1的直接输出和G2的延时输出异或的结果,是长度为
1 023的±1序列 。其发生器如图1所示。G2的时间延时取决
于选取的两个点的位置.这两个点的选取和卫星的ID是一
一对应的
相位选择器
! 型
卫星曲lD号决定回馈的位置
C/A码
图1 C/A码产生器原理设计图
Fig.1 Principle diagram of C/A code generation
如图1所示C/A码发生器是由两个l0级反馈移位寄存
器组成的。上面的移位寄存器产生m序列G1,下面移位寄存
器产生m序列G2。G1和G2码的特征多项式是:
G1( ):l+ + 加
G2( ):l乜 帆 + 。坝 帆 。C/A码是Gl码与G2码的模
2和的结果,通过在G2寄存器不同位置反馈抽头,可产生不
同的延迟偏置。选择不同的等价序列G2和G1相异或,可以
得到不同结构的C/A码,C,A码可表示为:
G(£)=Gl(£)·G2( )
i是大于等于0的整数。G1和G2的周期为1 023,码速
率均为1.023 MHz,因此,周期都是1 ms。采用不同的可以产
生1023种不同结构的乘积码,再加上G1和G2本身,共有
1 025种结构不同的C/A码。
2 C,A码发生器的实现方法
C/A码的产生需要G1和G2码序列,G1和G2的一个
周期总数为1 024,而C/A码截断一位,因此,在第1 023个
码元之后的下一个脉冲要进行复位操作。采用VHDL编写各
个m码产生器。编写的依据是m码产生原理及其仿真 。
2.1 G1码发生器设计
G1码序列是一个10级反馈移位寄存器所产生m序列.
- 2-
根据C/A码发生器整体需要.还需要在设计G1码发生器本
身上再加上控制信号端。将编写好的VHDL语言程序在
Quartus II环境中进行编译,并生成相应元件符号。用
QuartuslI模拟器对该模块进行时序仿真。
图2 Gl码时序仿真
Fig.2 Timing simulation diagram of G1 code
图2中,elk端为同步时钟脉冲:1.023 MHz,en端为使能
端,高电平“1”有效;reset端为复位端,高电平“1”有效,在
reset下降沿以后开始输出G1码序列。每个时钟上升沿输出
一个码字,依次为:“1,1,l,l,1,1,1,1,l,1,0,0,0,1,1,1,0,0,0,
. . . . . .
,'
2.2 G2码发生器的设计
G2码发生器的设计方法与G1相同,只是多了一个平移
选择器.平移选择器的不同组合可以产生多种结构不同的m
码,所以,G2的设计要比G1多一个平移选择器的控制项。本
设计通过选择不同的抽头得到不同的nl序列码结构。用
Quartus II对该模块进行时序仿真。
T25
rl 邮珊硼I咖¨帆nU唧¨册¨栅I『l耵0明眦 }【I【m舢胛IJIIIU唧¨m咖咖唧哪 哪睫悃.【I__.耵舢TII『
j
t 2 聃
B
·
. 几l 】n几n nn门nn 厂1M 门n nnr1厂]n nn n
图3 G2码序列仿真图
Fig.3 Timing simulation diagram of G2 code
如图3所示,clk端为同步时钟脉冲1.023 MHz:eH端为
使能端,高电平“l”有效;reset端为复位端,高电平?1’有效;
pio— ca为相位选择段。仿真以0号平移选择器为例的,即选择
的抽头为该10级反馈寄存器的2和6。系统在reset同步下
降沿以后开始输出G2码序列,每个时钟上升沿输出一个码
字.依次为:
“O,0,l,1,0,1,1,1,1,1,0,0,1,0,1,1,0,1,0,? ? ”
2.3 C,A码发生器的FPGA设计
在Quartus II环境中,将生成的G1码和G2码的发生器
生成元件符号, 以Schematic File的设计方式将G1和G2码
发生器组合起来,考虑到系统的稳定性,还设计了一个带时
钟异或运算模块,用于接收全局时钟同步。本次仿真以第一
颗卫星为例,相位输入为“0000”。在Quartus lI环境下,将总
体设计电路图进行编译,并进行时序仿真,平移选择器控制
字仍设置为0,仿真图如图4所示。
}j-~ 器8毒?一 1?‘ 111? 竺?! 卫蔓?曼! 蔓 墼
. 0I c ^。 u L — — 『=- L _J L _J L —j
II elk ol n n n门几几n n1 n n n n n几n n几n n n—n n n
2j 托 k1、
盘划圈pbrⅢ ^[0 I 【口I
0I ? ·t k 0、
J
图4 测距码码发生器时序仿真图
Fig.4 Timing simulation diagram of C/A code generation

王祯,等 GPS C/A码发生器的仿真研究与FPGA设计
图4中,在系统reset同步以后,开始输出C/A码序列,
每个时钟上升沿输出一个比特,依次为:“1,1,0,0,1,0,0,
0,0,0,1,1,1,0,0,1,0,1,0,0? ? ”。其中,clk端为同步时
钟脉冲:1.046 MHz,en端为使能端:高电平“1”有效,reset端
为复位端:高电平?1’有效,pharse为相位选择输入,ca端:产
生的周期为1 023 bit的C/A码序列。
为了验证FPGA仿真的正确性,利用matlab simulink软
件进行建模和仿真。利用延时单元构成两个l0位的移位寄
存器。并从移位寄存器输出端选择抽头连接到异或门电路,
将其输出反馈,抽头和反馈的连接按照GPS卫星PRN编码
规则进行选择,并把最终输出结果连接到示波器单元观察其
仿真波形。建立的simulink仿真模型如图5所示,运行的结
果如图6所示。从仿真的波形图上可以看出,输出的GPS第
一颗卫星PRN码的C/A基码也依次为:“1,1,0,0,1,0,0,0,
0,0,1,1,1,0.0,1,0,1,O,0?? ”,前10个C/A基码对应的8
进制为1 440.与GPS系统第一颗卫星的C,A码完全相同。
图5 C/A码生成器simulink仿真模型
Fig.5 Simulink simulation model of C/A code generation
图6 Simulink仿真的第一颗卫星的C/A基码序列波形
Fig.6 Simulink simulation result of C/A code for PRN1
3 结 论
结合GPS卫星导航系统f1频点C,A码发生器的设计,
在研究GPS卫星导航系统ICD接口控制文件中C/A码生成
器原理的基础上,给出了基于FPGA的码生成器的设计方
案。利用VHDL语言实现了G1码和G2码的产生.并设计实
现了C,A码,利用Matlab simulink建模仿真验证了FPGA设
计结果的正确性.该设计可以产生GPS系统卫星号所对应的
伪随机码,可以根据相位选择的不同实现不同卫星号的测距
码的产生。采用模块化的设计方案,其研究结果对研究我国
北斗导航接收机的设计具有一定的参考意义。
参考文献:
【1]王惠南.GPS导航原理与应用【M】.北京:科学出版社,2006.
[2】王伟权,刘昌孝.用FPGA实~EGPS的C/A码发生器【JJ.桂林
电子科技大学,2006,25(6):347—350.
WANG Wei—quan,LIU Chang-xiao.Implementation of C/A
code generator in GPS with FPGA [J】.Journal of Guilin
University of Electronic Technology,2006,25(6):347-350.
【3】张威,张克,徐熙宗.GPS'~号C,A码生成算法设计及仿真
实现『J1.通信技术,2008,41(11):216-218.
ZHANG Wei,ZHANG Ke,XU Xi—zong.Simulation analysis
of in GPS signal C/A code algorithm design[J].Communications
Technology,2008,41(11):216-218.
【41 Kaplan E,Hegarty C.Understanding GPS:principles and
applications 【M】.Second Edition.MA,US:Artech House,
Inc,2006:78—126.
[5]Parkinson B W,Spilker Jr J J.Global positioning system:
theoryand applications[M].American Institute of Aeronautics
and Astronautics,Inc.1996.
[6】杨俊,武奇生.GPS基本原理 Matlab4,5"真[M】.西安:西安
电子科技大学出版社.2006.
[7】王尔申,张淑芳,胡青.GPs接收机相关器技术研究及FPGA
实现[J】.系统仿真学报,2008,20(13):3582—3585
WANG Er—shen,ZHANG Shu—fang,HU Qing.GPS correlator
research and FPGA implementati0n[J].Journal of System
Simulation,2008,20(13):3582—3585.
- 3-
GPS CA码发生器的仿真研究与FPGA设计.pdf (221.41 KB, 下载次数: 0)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-3 14:38 , 耗时 0.088102 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表