第5章GPS基本原理及其Matlab仿真

上传人:汽*** 文档编号:568248816 上传时间:2024-07-23 格式:PPT 页数:128 大小:1.98MB
返回 下载 相关 举报
第5章GPS基本原理及其Matlab仿真_第1页
第1页 / 共128页
第5章GPS基本原理及其Matlab仿真_第2页
第2页 / 共128页
第5章GPS基本原理及其Matlab仿真_第3页
第3页 / 共128页
第5章GPS基本原理及其Matlab仿真_第4页
第4页 / 共128页
第5章GPS基本原理及其Matlab仿真_第5页
第5页 / 共128页
点击查看更多>>
资源描述

《第5章GPS基本原理及其Matlab仿真》由会员分享,可在线阅读,更多相关《第5章GPS基本原理及其Matlab仿真(128页珍藏版)》请在金锄头文库上搜索。

1、第5章 GPS卫星信号的捕获 第5章 GPS卫星信号的捕获 5.1 5.1 概述概述 5.2 GPS5.2 GPS卫星信号的多普勒效应卫星信号的多普勒效应5.3 GPS卫星信号捕获的考虑卫星信号捕获的考虑5.4 GPS5.4 GPS卫星信号的捕获方法卫星信号的捕获方法 5.5 Matlab5.5 Matlab与与SimulinkSimulink仿真简介仿真简介 5.6 GPS5.6 GPS卫星信号捕获的例子卫星信号捕获的例子 5.7 5.7 关于捕获的一些子程序关于捕获的一些子程序 竖维唾毕仑掷探寝晃她瓜户夺抗羚估钎埔积岂踞歌看放哗粤奶侗蒜芝戈卞第5章GPS基本原理及其Matlab仿真第5章G

2、PS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 5.1 概概 述述 为了跟踪和解码GPS信号, 首先要捕获到GPS信号。将捕获到的GPS信号的必要参数立刻传递给跟踪过程,再通过跟踪过程便可得到卫星的导航电文。GPS卫星处于高速运动中,因此,其频率会产生多普勒频移。载波频率与C/A码的多普勒频移将在下面详细讲述。为覆盖高速卫星预期中的所有多普勒频率范围,捕获方法覆盖的频率范围必须在10 kHz之内。一旦捕获到GPS信号,立刻去测量两个重要参数: C/A码的起始点和载波频率(因为多普勒频移而变化)。接收机接收到的一系列数据往往包含多个卫星信号,每个信号具有不同的C/A码的不同起始点和

3、不同的多普勒频率。 沮娃艇揪责稍貉戍摸致畜挟优沿把勺上狸掠傻腾拎眼员埃贫嗅酝县温鸽磺第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 针对某个特定的卫星信号, 捕获过程就是要找到C/A码的起始点,并利用找到的起始点展开C/A码频谱,一旦复现了C/A码的频谱, 输出信号将变成连续波(Continuous Wave, CW),于是便得到其载波频率。也就是说,捕获过程就是要获得输入信号的C/A码的起始点和载波频率,然后传递给跟踪过程。 捕获与跟踪过程所用到的数据都是从原始的卫星信号经过下变频器(即与中频混频)之后收集到的,其中频(IF)为2

4、1.25 MHz, 采样频率为5 MHz, 信号的中心频率为1.25 MHz。这组数据来源于我们设计的卫星信号接收装置,但是用模拟仿真算法也可以产生类似的数据,以验证本章介绍的卫星信号的捕获算法。 甫躁臭蔓界纱庐己绵讫制晰蛆罪渭左饥麻态箔曝应扁稗恍以妇另机矾载乏第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 5.2 GPS卫星信号的多普勒效应卫星信号的多普勒效应GPS卫星绕地球旋转一周的时间是11 h 58 min 2.05 s, 从卫星轨道的近似半径可以求得卫星的角速度d/dt和运动速度vs: (5-1) 毋邮擞琶壬撩你贼绽枪浪獭

5、戚瞄增裹款祭献昼中针莹蛔苯怪佐杉棒窑碴菱第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 这里rs表卫星轨道的平均半径。我们知道,一个太阳日和一个恒星日之间相差3 min55.91 s,在这段时间里,卫星大约运行了914 km(3874 m/s235.91 s),对应地球表面与卫星的最高点,相应的角度近似为0.045 rad(914/20 192)或2.6。如果卫星接近地平线,相应的角度为0.035 rad或者2。 因此我们可以看出,对于地球表面的固定一点,在每天的同一时间里, 卫星位置大约改变22.6。 诽走孔陈攫荐啮迪锦挖诉咨发仅

6、跳吮哺侨池诽阁府涉烯文睡鳖耙靡呐钩缮第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 如图5-1所示,卫星在位置S处,用户在位置A处,相对用户的卫星角速度vd造成了多普勒频移, 其中vd值为: (5-2) 根据卫星轨道速度,取水平方向的最大值, 得到多普勒角速度的最大值为: (5-3) 冬押笺跨毯离嘛惺苟悼褂捣恭罩察涪归紫友夕佐陵赖草台盯簿汾字狈晤琐第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图图5-1 卫星运动引起的多普勒频移卫星运动引起的多普勒频移 才漆鸭配篓窘沉孝

7、凹引沙主悄募糜划阂停誓腥攀泣拄妮息雇肘吼凛程喂滚第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 这个值与高速航空卫星的速度相等。由地面设施引起的多普勒频移通常非常小,即使它直接相对卫星运动引起了最大多普勒效应。对由C/A码调制过的频率L1(f=1575.42 MHz),最大的频移为: (5-4) 这里c是光速。 因而, 对于一固定观测器来说,最大的多普勒频移是5 kHz。 洗敝入拒蒙鲁绳肘殷奶柬吨后洽涣苫皋疯漾炳寿仔恭干似酋侮三蓖煎妨经第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星

8、信号的捕获 如果地面GPS接收设备高速移动,就要考虑进多普勒效应了。要单独产生一个5 kHz的频率范围,接收设备需以2078 m/h的速度相对卫星运动,这个速度将包含最高速度的航空器。 因而,在设计GPS接收机时,如果接收机用在低速设备,则认为载波频率的多普勒频移范围在5 kHz;相反地,如果用在高速设备,就要合理假定其多普勒频移的范围在10 kHz。 这些值对于确定捕获过程的搜索频率范围是至关重要的。因此,就有了引言中我们提到的为覆盖高速卫星预期中的所有多普勒频率范围,捕获方法覆盖的频率范围必须在10 kHz之内之说。 习坐谐姻蜒香熊疾拾俭午派渤兔山芯跪唯捕认裴卜尊镀冬玻巴郡芍哲挛挥第5章G

9、PS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 由于C/A码频率非常低,所以C/A码上的多普勒频移也是非常 小 的 。 C/A码 的 频 率 是 1.023 MHz, 比 载 波 频 率 低1540(1575.42/1.023)倍。 C/A码的多普勒频率为: (5-5) 如果接收机高速移动,这个值就得取双倍,为6.4 Hz,得到的这个值对跟踪过程(BASS方法)来说是至关重要的,这点我们将在下一章讨论。在BASS跟踪过程中,输入信号与本地产生数据必须要紧密对齐,而C/A码的多普勒频移可能造成输入码与本地生成码的不对齐。 涛蛮痈词骑涧思涟袄秆

10、归昏娩料箭唉姥畔蓝啮佰虏到搅甸拳鸿践枫掳雄底第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 在数字化卫星信号中,如果数据用5 MHz采样(称为采样频率), 则每个采样之间相隔200 ns(称为采样时间)。 在跟踪过程中,我们期望本地生成信号与输入信号未对齐的长度在半个采样时间或近似100 ns之内,若两个信号之间相差超过这个长度,跟踪将失锁,即失去跟踪灵敏性。C/A码的基波时间为977.5 ns或1/1.023106 s,它移动一个周期需花费156.3 ms(1/6.4)。对这句话的理解是:多普勒频移使C/A码的频率由1.02310

11、6变为JP21.023106+6.4,即每秒内多变化了6.4个周期,则多变化一个周期的时间为(1/6.4) ms。 泻时晰碗芯内吉炔惊居爵陷肛间瘟撑敏框杀票绊贱横扫澈箱官各芒直桑蓖第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 因 此 , 它 移 动 100ns的 数 据 长 度 , 近 似 花 费 16 ms(100156.3/977.5)。在高速导航器中,需每16 ms选择一批数据,以保证输入信号与本地生成码更好地匹配。 但是由于输入信号中有噪声,用1 ms的数据可能不能非常精确地匹配, 因而可以拓宽输入信号的调整时间,每20

12、ms选择一批输入信号。 对一个低速导航器来说,这个时间可拓宽到40 ms。 斧慈嚏懦某恼骑恳侄上排吊颂扣概毗橡彤拼纠唾伐齿据缮溉烙疹值凸诀赚第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 从以上讨论我们知道,输入信号的调整取决于采样频率。 采样频率高将缩短调整时间,因为采样时间变短,在半个周期内匹配输入码与本地生成码的时间变短。如果输入信号的强弱和跟踪灵敏度不成问题,则输入信号的调整时间可以拓宽。然而,输入信号与本地生成信号相离必须在半个基波或488.75 ns(977.5/2)之内,这个时间看做是输入信号与本地生成信号相离允许的最

13、大值。C/A码的多普勒频率是6.4 Hz, 调整时间可以拓宽到78.15 ms(1/26.4)。 恃襄撤昼壹矽藩啸寸诅东歉增读茅猪圈恐役排峦篇锡沈泪钝粘衷杂胁糙洪第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 5.3 GPS卫星信号捕获的考虑卫星信号捕获的考虑 5.3.1 捕获时的最大电文长度捕获时的最大电文长度 C/A码长1 ms,那么至少要用1ms的电文来捕获,甚至只用1 ms的电文来捕获时,都可能发生导航电文相位偏移。如果电文中有数据偏移,电文的下一个1ms将不会含有偏移。因此,为了保证捕获电文中不含有数据偏移,需要用两组连续

14、的电文来捕获, 这个电文最大长度是10 ms。如果使用两组连续的10 ms电文来捕获, 就保证了在某一组电文中不含相位偏移。 晋江谭肺肛尖莆明唤针樟尤搭煽新今戈雾市栋倪览痈浊蝉澡宋瑶馋棒锐损第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 限制电文长度的第二个因素是C/A码的多普勒效应。如果理想相关峰值是1,当C/A码超前或滞后1/2码时,相关的峰值将降为0.5,对应地,幅值下降6 dB。如上节所讨论的,假定未对准的C/A码允许在半个基波(0.489 s)内, 基波频率是1.023 MHz,C/A码上预期的最大多普勒频移是6.4 Hz

15、, 那么两个相差6.4 Hz的频率交换半个基波需要78 ms(1/26.4), 这个数据远大于10 ms。 禾年踢洪堕缓杂篷汛忽琳蜂株丸煤戚自踩未唐森撒氛惨颈逼顷裤魂养韵惑第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 5.3.2 5.3.2 捕获中的频率步长捕获中的频率步长 捕获时的另一个考虑因素是捕获中剥离载波所需的频率。 在前文曾提过,需被覆盖的多普勒频率范围是10 kHz, 决定覆盖这20 kHz范围的步进频率非常重要。步进频率的大小与捕获中的电文长度紧密相关。如果输入信号与本地混频信号相距1个周期,它们两者没有相关性;如果

16、两者小于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的搜索步进频率就可以满足要求。看待这个问题的一个简单方法是频率相离与电文长度成反向关系。 篙涣卢耻皿壕趾牌痰拷副泊访迭筷卯彦淘轰哺橙糟抹巍荷羔逮剩签丢脂恒第5章GPS基本原理及其Matla

17、b仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 由以上的讨论可以得出如下结论:当捕获输入电文为1 ms长时,步进频率是1kHz;当电文为10 ms时,步进频率是100 Hz。从这个简单的讨论可以明显看出,捕获中的操作执行次数与总的数据点并不是成线性比例关系,当电文长度从1 ms上升到10 ms时,电文长度上升10倍,频率点数目也上升了10倍, 捕获所需的操作次数上升了不止10倍。因此,实际捕获时, 如果强调捕获的速度的话,电文长度需保持在最小值。 执行次数的增加,取决于实际捕获所用的方法,下面将讨论具体的捕获方法。 楷碌讫谍懂轨毫拴犬铁齐别册直弃机洞寂纫梁环披务胃卡

18、妙拷蒂驰扼胞链第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 5.4 GPS卫星信号的捕获方法卫星信号的捕获方法5.4.1 5.4.1 传统捕获方法传统捕获方法 捕获的基本思想就是展开输入信号,找到载波频率。如果相位正确的C/A码与输入信号相乘,输入信号将如图5-2中所示变成一个连续信号。图5-2中最上端是输入信号,这个信号是C/A码编码的射频信号相位,注意到射频信号与C/A码是任意选择的,它们并不代表卫星传输过来的真正的信号。中间的图表示C/A码,其值在1之间。 最下端的图是连续信号,代表输入信号与C/A码的乘积,其对应的频谱不再

19、是扩频, 而是一个连续信号,这个过程有时称做输入信号的C/A码剥离。 液搔奔茅趟士骇炒糟贤滤岂层箭空箍峡诚糕釜瞧碟薯舰霹志符腿剃捉淄坍第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-2 C/A编码的输入信号与本地C/A码相乘 房霹渍状绵莹假父炯辽萨碉青鲜条穿她慰黄冰宙蜒侈传歧帚不殴封揪性呢第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 一旦输入变成连续信号,通过傅立叶变换可以知晓其频率。 如果输入电文长是1 ms,则傅立叶变换的频率分辨率为1 kHz。 可以设置一个

20、阈值,即一个门限来判断一个频率分量是否足够大。高于这个门限的最高频率分量就是我们要找的频率。 如果用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个频率分量

21、。 齐坷阳贮合买篡硒七寅涨逼料地卞登阜占洪横淆抡朽墩丈彤酥砂锡勇湍找第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 由于输入信号中C/A码的起始点还未知,因此,必须先找到这个点。为了找到这个点,我们产生本地的一个C/A码,将其数字化为5000个点,且与输入信号点对点相乘,对此乘积的结果进行FFT或DFT,可以找到其频率。为了搜索1 ms的电文, 输入电文与本地产生数字化的C/A码必须彼此相对移动5000次。 如果使用FFT,需操作5000次,每次操作包含5000个点对点的乘积和一个5000点的FFT。由于只有2500个频率分量提供信

22、息, 其余2500个分量提供的是多余的信息,因此,输出的5000点数据 每 个 含 有 2500个 频 率 分 量 , 这 样 , 在 频 域 共 有1.25107(50002500)个输出。 在这1.25107个输出中最高幅值如果大于预先设定的门限值,则该分量就是期望值。在如此多的数据中寻找最高频率分量也是非常费时的。由于在期望的20 kHz的FFT输出中,只有21个频率分量是我们感兴趣的, 总输出可以降低到105 000(500021)个。通过这种方法,可以用时间分辨率为200 ns(1/5 MHz)和1 kHz的频率分辨率找出C/A码的起始点。 晶沈颂熟辣尔痔情阶少坐梯顷暮吁涨缠锋奔油矽

23、托泪讣楷卑涂排浸霍张孕第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 如果使用10 ms的电文,因为信号只需要卷积1 ms,因此需要5000次操作。每次操作包含50 000个点对点乘积和50 000次FFT,总共有1.25108(500025 000)个输出结果。如果在预期的20 kHz范围内只考虑201个频率分量,需从1 005 000(5000201)个结果中挑选,因此可以看出,从1 ms到10 ms操作的增长是非常显著的。 寻找C/A码起始点的时间分辨率仍是200 ns, 但频率分辨率提高到了100 Hz。 圭裕获亭贪靴沟滚嵌

24、予谊虽快郡褒排倍恨伪坝魁抡孟淡蚊间寞伤膊赏骡颁第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 传统捕获方法是由硬件实现的,硬件主要用以执行以上所讲的处理。假定输入信号用5 MHz数字化,一个可行方法是产生5000点的数字C/A码,并与输入信号点对点相乘,每200 ns执行一次5000点相乘,每200 ns对一个5000点相乘的结果进行FFT频率分析,图5-3示意了该过程。如果C/A码与输入电文匹配, FFT结果中将含有一个强分量,如前所述,这个方法将产生 1.25107(50002500)个输出结果,然而,只有在10 kHz频率范围

25、内的输出结果中挑选,这个约束使得排序过程变简单了。 伤阿兆灯噶眶辑刽使晦薯芋琼亲旁翅宙豫矛繁棍寞午跌昼谐滥表飘拉滓肄第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-3 用C/A码和频率分析进行捕获 衡宰副烙唱黎间达肃入腕贺酞美胎粪柴应言剃胶淳只酿必两乍耘晾荧栓眩第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 完成这个操作的另一个方法是通过离散傅立叶变换(DFT), 将本地产生码变换成含有C/A码和射频信号的电文。射频是复数,可用ejwt表示。本地码信号由射频与C/A

26、码乘积获得,因此, 本地码也是复数。假定L1频率(1575.42 MHz)被转换到21.25 MHz,并用5 MHz数字化,输出频率将会是1.25 MHz; 同时假定捕获过程以1 kHz的步长搜索125010 kHz 的频率范围,且总共有21个频率分量,本地码lsi可用下式表示: (5-6) 早趟靴爱逐绿矽汕禽极若妄招刃寿掣俩来铅褒墙建人上颂磨武愧颁目佬侣第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 其中,s表示卫星的编号;i=1, 2, 3, , 21;Cs表示编号为s的卫星的C/A码;fi=1250-10,1250-9,125

27、0-8,1250+10 kHz。 本地信号须用5 MHz数字化,产生5000个数据点, 这21组数据代表相距1 kHz的21个频率。这些数据与输入信号有关,如果本地产生信号包含正确的C/A码和正确的频率分量,当遇到正确的C/A码相位时,输出结果将会特别高。 未边派延煽沤胚疚噎写常勉势蛤裴屁瑶记利趾升朗番昧兢录撕烘途碍耕柞第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-4 通过本地产生C/A码和射频码捕获 嗡略禁蝉队偏龋挠则南腹恐套霜诛边资隋束酌滓弹税粹咸嘎孪托蝉谚机绽第5章GPS基本原理及其Matlab仿真第5章GPS基本原理

28、及其Matlab仿真第5章 GPS卫星信号的捕获 5.4.2 循环相关捕获方法循环相关捕获方法 1. 循环卷积与循环相关循环卷积与循环相关 在讲述循环相关捕获方法之前, 首先简单介绍执行相关操作的主要数学运算。 如果一个输入信号经过一个线性时不变系统,可由卷积运算得到时域结果,也可由傅立叶变换得到频域结果。如果系统脉冲响应是h(t),输入信号x(t)可通过卷积产生如下的输出y(t): (5-7) 悯串倦誉椰倪刀艺曼夹柔肝桶疏撤搐褥孰秉健堑美爪匡焙痪墒天塑啦惮盂第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 通过傅立叶变换,y(t)的

29、频域响应为: (5-8) 令变量t-=u,那么 (5-9) 巴笨屁奈删云敷倪项皖针辣瞅辞漂犹津夹哎机雾丝木软垫拷喀说瞅光肢酝第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 为得到时域输出,需对Y(f)进行反傅立叶变换, 结果可写成: (5-10) 此处,*表示卷积,F-1表示傅立叶反变换。 可以发现一个简单的关系,时域的卷积等效于频域的傅立叶变换,或者说频域卷积运算等效于时域傅立叶变换, 这两种关系可以写成: (5-11) 通常称其为傅立叶变换中卷积的二元性。 了部啤涉脐抄川书杭活巫澈藩怜凶宗哟缨夯涵尺唾滓础竿玲雪恬眷堤葡拯第5章G

30、PS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 这个思想还可用于离散系统。与连续时域表达式不同,响应y(n)可以表达成: (5-12) 此处,x(m)表示输入信号,h(n-m)是离散时域系统响应。注意到,该式子中,h(n-m)中的时移是循环的,因为离散操作是周期性的。对上式进行离散傅立叶变换(DFT), 结果为: (5-13) 猩滚坟狞碑酮盐慧灼樟导徐盲怂惦曝烷险酱汹胀梳沮濒难炉谱蜒扇蜡缨逊第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 然而,捕获时用到的并不是卷积运算,而是相关

31、运算, 它与卷积运算不同。x(n)与h(n)之间的相关表示为: (5-14) 上式与式(5-12)的惟一不同点就在于h(n+m)中的m前面的符号不同。h(n)是另一信号, 而非线性系统的脉冲响应。 z(n)的DFT变换为: (5-15) 钱茎隋魂瓤窟色麦办折角悲蘸增相腆扇车狐鸽羔哦繁友忠旦档圆车辞衅佐第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 这里X-1(k)表示离散傅立叶反变换。上式还可写成: (5-16) 如果x(n)是实数,x(n)*=x(n),其中*表示复共轭。 有了这个关系, Z(k)的幅值为: (5-17) 利用上式

32、的这个关系,可得到输入信号与本地产生信号的相关性。如前所述,这个式子提供了循环相关性。 妊钡胺桑拳枯翼骤壳展袍腿啮搐译钻粟揉颠面垣摸泄交郝芭洛俐乌酞簇俄第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 2. 2. 循环相关捕获的方法循环相关捕获的方法 上面讨论了循环相关的运算法则,利用这些运算法则就可以执行捕获了。然而实际捕获中, 输入电文不是连续到达接收机的,因此循环相关操作适合一组或一批电文。输入电文经过5 MHz的ADC(模拟/数字转换器)采样存储在存储器中,只有1 ms的输入电文用来寻找C/A码的起始点,其搜索频率分辨率即步进

33、频率是1 MHz。 抵指坊孺猿厩电歉秋闲钨菌港杂峙瓤锗腋绩滁突霉傀尧疤幕修庇羹弊晶涎第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 捕获输入电文, 需经过以下几个步骤: (1) 对1ms的输入电文x(n)进行快速傅立叶变换FFT, 将输入转换到频域,值为X(k),这里, n=k=0, 1, 2, , 4999。 (2) 取X(k)的复共轭,值为X(k)*。 (3) 利用式(5-6),产生21个本地码lsi(n)(i=1, 2, , 21),本地码包含了卫星s的C/A码和一个复射频信号的乘积, 然后用5 MHz采样本地码,本地码的频率

34、fi相距1MHz。 (4) 对lsi(n)进行FFT,变换到频域中,值为Lsi(k)。 (5) 将X(k)*与Lsi(k)点对点相乘,结果为Rsi(k)。 扦滤勇招挽蜗椽谴析畔依募删本毙揉柠肆湃崔泞毗釉廓李兴呕筛谋凶价路第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 (6) 对Rsi(k)进行反傅立叶变换,变换到时域中的值为rsi(n),得到其绝对值|rsi(n)|,总共有105 000(500021)个|rsi(n)|。 (7) 在输入电文200ns的时间分辨率和载波频率为1 kHz分辨率的条件下,|rsi(n)|最大值中的第n位

35、和第i个载波频率芯给出了C/A码的初始点。 珐庄婪肆象竹弦扩曾拥税档际崖扔仅平须聘瞬低蔬茧慢毋誓谈牛珠引揽透第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 以上的操作可由图5-5说明。 图5-5所示结果是时域中的, 且只给出21个本地码的其中一个。可认为输入电文与本地电文位于两个圆柱体表面,为了去匹配输入电文, 本地码要旋转5000次。换句话说,一个圆柱体相对于另一个圆柱体旋转5000次。在每一步,5000个输入电文与5000个本地电文点对点相乘,相乘结果加到一起。 包含本地码与输入码所有可能的乘积需5000步,乘积中最高幅值将被记

36、录下。最高幅值如果同时大于预置门限值的话, 就是我们的期望值。 纽嘉挖呸恒驳耐友嘴酋饮方伍殃库项颓倒名函盯耽防畔永滓惋恐誉旺翔涸第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-5 循环相关捕获示意图 崭茅捷保巧宛寻瓷估驭潭出敝肯菇咳巫厨沂斗键纸从豌壹淌殉雁吨查河匣第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 3. 循环相关捕获的改进方法循环相关捕获的改进方法 循环相关捕获的改进方法与上面介绍的捕获方法的惟一区别就是傅立叶变换FFT的长度减小了一半。上一节的循环相关

37、方法的第(3)步产生本地码lsi(n),由于lsi(n)是复量,故其频谱是不对称的, 如图5-6所示。 簿掣吵琼粪五弘衔燕腮萨普湍位九族粪闺廖揉挑罕莲聊巫兆责爽陀匿良岭第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-6 本地产生信号频谱图 她抛拧绷铲搞逝窜张撵疗牙转馋瞩股绿锰乞验刨琵牲侣馏悉陷炯荡鞘汁警第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 从图5-6中显而易见,其信息包含在前半频谱图中,后半部分只含有非常少量的信息,从而,循环相关的捕获方法可以做如下修改:

38、 (1) 对1ms的输入电文x(n)进行快速傅立叶变换FFT, 将输入转换到频域,值为X(k),这里,n=k=0, 1, 2, , 4999。 (2) 取X(k)的前2500(k=0, 1, 2, , 4999)个值的复共轭, 值为X(k)*。 (3) 利用式(5-6),产生21个本地码lsi(n)(i=1, 2, , 21), 每个lsi(n)有5000个数据点。 穗捍暂拨奇猴因挞殊茅创身床剂慌衅鼓火谈玛绣氓狙梁恼瞎驶蔽凳淬间媳第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 (4) 对lsi(n)进行FFT,变换到频域中,值为Ls

39、i(k)。 (5) Lsi(k)的后半部只含有少量信息, 因此,取前半部分的Lsi(k) ,与X(k)*点对点相乘, 结果为Rsi(k)(k=0, 1, 2, , 4999)。 (6) 对Rsi(k)进行反傅立叶变换,变换到时域中的值为rsi(n), 并求出其绝对值| rsi(n) |,总共有52 500(250021)个| rsi(n) |。 泽认球磺光荒藤霖违唁戎旺届袒垫漏纸敌赠塑耗胞总斡孜趾姚屏缔堕盯合第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 (7) |rsi(n) |的最大值如果大于预置门限值的话就是我们的期望值。第i

40、个频率就是分辨率1kHz的载波频率,第n位就是分辨率400ns的C/A码的初始点。 (8) 由于这种方法寻找C/A码起始点的时间分辨率是400 ns,可以通过比较第n位的幅值与(n-1)和(n+1)位幅值, 将分辨率提高到200ns。 该方法中,从第(5)步到第(7)步,只有2500个数据点的操作,而非5000个。第(7)步挑选最大幅值的过程由于只用到一半的输出而简化了。因此这种方法节省了操作时间。仿真结果表明,这种方法的信噪比略低于常规循环相关捕获方法1.1dB,这可能是由于丢弃频域内后半部分信号引起的。 共廊蛮暑敬露崎诌卑卉铣铬完竟削酶囱晚沽拨循赞抢厦滔威蛙踏忠蒜乔鄙第5章GPS基本原理及

41、其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 5.4.3 5.4.3 延迟与累积捕获方法延迟与累积捕获方法 基于延迟与累积的捕获方法是为了去除输入信号中的频率信息。去除了频率信息,只需用本地C/A产生码去寻找输入信号C/A码的起始点,一旦找到其起始点,就可由FFT或DFT得到其频率。从理论角度看,这是个非常吸引人的方法,然而,运用到实际中处理GPS信号,还需进一步研究。这种方法讨论如下。 首先,我们假定输入信号s(t)是复量,因此表示为: (5-18) 痛搐杯菱炊线恢黄座萍吠耐锈忆拭蒙澄耘歌秸菠酉谣纹购套益构溯估汇卞第5章GPS基本原理及其Matlab

42、仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 这里,Cs(t)表示卫星s的C/A码。 输入信号的延迟表达式为: (5-19) 表示延迟时间,s(t)与延迟表达式的复共轭的乘积为: (5-20) 这里的 (5-21) 温旗肾返漱汞牵辱仗门术锹惯讨毗宦鞍拖铭尉澄择末兽疤款杠柴洗泣汾肃第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 戈尔德码(Gold Code)与其延迟的乘积可以看做是一个“新码”。这个“新码”也属于戈尔德码家族。仿真结果表明,利用其自相关和交叉相关可找到“新码”的起始点。“新码”的起始点与C/

43、A码的起始点相同。式(5-20)有意思的地方在于它的频率自变性,即频率变化不受其他变量支配,因为f和t都是常量, 因而ej2f项是常量,因此,只需搜索“新码”的起始点。尽管这种方法非常吸引人,但它要求输入信号必须是复量,由于收集到的输入电文都是实数, 因而必须将它们转化成复数。 腆等滑箕瘫槐奏旬抓僻撬的臭毯筷次卸弟指觉菲触锦姚旧篆糙彻丸计馈洒第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 为避免将实数信号转化成复数信号的额外计算, 我们可以采用如下方法。 输入信号为 这里,Cs(t)表示卫星s的C/A码。输入信号的延迟表达式为: (

44、5-23) s(t)与延迟s(t-)的乘积是: (5-24) 表捐谴锋宿哟建贝稗扎淆脸扼映拯貌铣耙弄茂狗缕腕者态剧尺揣勘肉浸秀第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 Cn(t)是式(5-21)的定义。式(5-24)含有两项:一个直流项和一个高频项。 通常,可以滤去高频。为使式(5-24)可用, |cos(2f)|必须接近单位1。理论上,很难做到这点,因为频率f未知,然而,由于频率在125010 kHz之内,选择一个延迟时间来满足这个条件是完全可能的。例如,可选择21250103=,如此=0.410-6s=400 ns。输入电

45、文用5MHz数字化,采样时间是200 ns(1/5 MHz)。 在这个条件下,|cos(2f)|=|cos()|=1。如果频率偏离10 kHz,其相关值|cos(2f)|=|cos(2126010340010-6)|=0.9997, 非常接近单位1。 垛镰逞索惰陶扭禄斩庙孺倡缠德藐迅羚福岭浅了抢罩帕炭酮宁瓷染伯究琅第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 因此这个方法可以应用到实际电文中,惟一的约束是不可以像式(5-20)中那样任意选择延迟时间,但可以选择延迟不是很长的0.4s的倍数,例如=1.6 s,当频率偏移10kHz时,

46、|cos(2f)|=0.995。可以看出,如果对中心频率1250kHz用一个长延迟的话,|cos(2f)|会下降很快。 如果延迟过长,|cos(2f)|可能不再接近1。 这个方法的问题是当两个带噪声的信号相乘时,噪底会上升,搜索1ms的电文将捕获不到某个卫星。 仗搓惺询苫井剁缎快杀卞退呻拉蜕熏辈牢妈藕觅路塞获嫡沃矢敬袜担扳赖第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图 5-7 相位偏移对延迟和累积捕获方法的影响(a) 无相位偏移; (b) 相位偏移两位 赂袋结草耗耸合燕闹妆烁玛殉完刃弘贩厦呀奶毛患砌辗淹氖谭懦峡诞蘸辫第5章GP

47、S基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 5.4.4 长记录电文的相干处理长记录电文的相干处理寻找弱信号的方法通常是增加捕获的电文长度,这样做的好处是提高了信噪比, 对此的一个简单解释是,长2 ms的电文的FFT产生500 Hz的频率分辨率,而1 ms的电文的FFT产生1 kHz的频率分辨率。由于信号在频谱展开后带宽窄,因而信号强度并不会因为相对窄的频率分辨率而降低,降低频率分辨率带宽反而将噪声降低了一半,因此,信噪比上升了3 dB。 呆海趟写惨酥织给貉窄组躇套埔仿哦秤夺树排山坎汽馆闯尤锦尉芯辑咏便第5章GPS基本原理及其Matlab仿

48、真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 长记录电文相干处理的思想是利用很少的数据点执行快速傅立叶变换(FFT)。利用10ms的电文(或50 000个数据点)来说明这个思想。电文的中心频率是1.25 MHz,输入信号将被转换成一个基带信号和一个2.5 MHz的高频带。如果将高频带用滤波器滤去,将只需处理基带信号。假定此时已经滤去高频信号, 基带信号是带C/A码的输入的下变频信号,将这个信号与C/A码点对点相乘。如果到达了C/A码的正确相位,输出将变成连续信号,由多普勒效应引起的最大频率范围在10 kHz。既然这个信号的带宽是20 kHz,我们就可以用其2.5倍的频

49、率来采样, 即用50 kHz采样该信号。10 ms的电文在此采样频率下只产生500个数据点。然而,我们是用5 MHz采样的, 产生了50 000个数据点。我们可以每100个数据点取一次平均值作为一个新的数据点,这个取均值的过程等价于一个低通滤波器,因此, 它去除了乘法运算后的1.25 MHz连续信号中的高频分量,同样, 也去除了接收机收集到的信号中含有的噪声信号。 咨萌仔涣籽免刘挎进例芦硬悟永绕牧贿珐妙手杂岭困遇灾销鹰刽墙涩戍拓第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 这个方法可以用如下10ms的电文的例子来说明: (1) 将

50、10ms长的输入信号与本地生成1.25 MHz的复合连续信号相乘,并用5 MHz采样。因为输出最大频率是10 kHz,我们可以将此时的输出称做低频输出。频率近似为2.5 MHz的高频分量将被滤波除去,因而可以忽略它。这时,得到了50 000个数据点。 (2) 将这些输出数据与10个C/A码点对点相乘,总共得到50 000个数据点。 (3) 将每100个相邻数据点取其均值,变成一个新的数据点,这个过程滤去了频率近似为2.5 MHz的高频分量。 碑黎碳貉吼缠施香作溃日路辆牟吩札橡喂尸港己衰准肝涅碘匿滋吮脚熄戒第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 G

51、PS卫星信号的捕获 (4) 对新产生的500个数据点进行FFT变换,找到频率内的最高输出,这个操作产生的频率输出中,只有250个输出有用。 (5) 将本地生长码相对低频输出移动一个数据点,然后重复步骤(3)和(4)。由于每毫秒产生一次C/A码,我们需要操作5000次,而非50 000次。 (6) 在频域中,总共得到1.250106(2505000)个输出, 大于预置门限值的最高幅值就是期望值,从这个值可以得到C/A码的起始点和多普勒频移。 由此得到的频率分辨率是100 Hz。 尽管上述方法简单易懂,但循环相关的捕获方法也可以用很少的操作来达到同样的目的。 炸殿窖瘪坞汤仪宫长史赖篓液峭享讯整傣杜

52、丁踊斟踪群沾绘扩间圈支罩铲第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 5.4.5 5.4.5 精频估计的基本概念精频估计的基本概念 从1 ms电文中得到的频率分辨率大约是1 kHz,对跟踪环来说,这个值太粗糙了。适合跟踪过程的频率必须在几十Hz之内。通常,跟踪环的频宽是几Hz,用DFT(或FFT)计算精细频率(Fine Frequency)是不可取的。因为为了得到10 Hz的分辨率,需100 ms的电文记录,如果每毫秒有5000个数据点,100 ms就有500 000个数据点,其FFT操作将是非常费时的。另外, 100 ms电文

53、的相位偏移的概率也相对高。 瘴栗焕帚舆经绘撤山咆莫叙势猾哩部羹闲逛渍贺诣捅馏咒累巴鲤收辊憋红第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 得到适合跟踪环的精细频率分辨率(Fine Frequency Resolution)(以后简称精频)的方法是通过相位关系。 一旦输入信号中剥离了C/A码,输入就将变成连续波形。如果在m时刻,1ms电文中最高频率分量是Xm(k)(k表示输入信号的频率分量), 则可由DFT输出得到输入信号的初始相位m(k): (5-25) 牵约肿谤晋进功赐秩典适绘气燕篓迫鸡躲寒耘涛户迪融麻折嗽诞筒蹋涂鹿第5章GPS

54、基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 Im和Re分别表示虚部和实部。让我们假定在m时刻之后很短时间的n时刻,1ms电文的DFT分量Xn(k)也是最强分量,因为输入分量在很短时间内不会迅速变化。n时刻输入信号的初始相位角和频率分量k为: (5-26) 这两个相位角可用来计算精频: (5-27) 丽缺悠割溺安抖迁蕉糕跌完寓支留逝挨识尤胎偏带批淄擒搜撮赐奉后廉口第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 这个方程式给出了一个比从DFT得到的要精确得多的频率分辨率。为了保持其值

55、的惟一性,n(k)-m(k)的相位差必须小于2。如果相位差是最大值2,带宽就是1/(n-m)。这里的(n-m)是两组连续电文之间的延时。 蹿东泼扶谋担须裹蓖秒翻环圆宝娥汕绦养象斩岭傍嫂逝腔漾寿傈鉴放辑瓦第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 5.4.6 5.4.6 消除精频测量中的不确定性消除精频测量中的不确定性尽管求解精频的基本方法都是基于式(5-27),但是具体实现它,则有几种略微相异的方法。如果每毫秒取DFT的第k个分量,频率分辨率是1 kHz,精频测量的不确定宽度也是1 kHz。 在图5-8(a)中,给出了5个频率分

56、量,它们之间相隔1 kHz。 如果输入信号如图5-8(b)所示落在了两个频率分量之间,由于系统中噪声的影响, 将不能确定其相位。 沛季志矾鸥狡绰蕊呸卖班同绸瑞擞越擦眶侠阑粹狼海邀矫疫署黍妆躬汤隆第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-8 频域内的不确定区域(a) 频率相离; (b) 输入信号 渐介奏辈共辖嚎姚拜木烁纱搜于淳情蛊泊栓棕监料猜沁疾肠携僵拉乘猩出第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 为了去除这种不确定性,有两个解决方法。第一个方法是加速D

57、FT操作过程。如果每0.5 ms执行一次DFT操作,不确定带宽是2 kHz。在频率分辨率为1 kHz和不确定带宽为2 kHz的条件下,确定一个精细频率就不存在不确定的问题了。 但是这种方法使DFT操作增加了一倍。解决这个问题的第二个方法是, 如果输入是连续信号的话,采用一种幅值比较方案,而非加快DFT操作速度。 如图5-8(b)所示,输入信号落在两个频率槽之间。假定X(k)的幅值略高于X(k-1),将X(k)代入式(5-26)和式(5-27),得到精细分辨率。输入频率与X(k)的值相差接近500 Hz。 娶丑恨绝术住挟道远击秆吱昌显仔恤且鹰讳肋邪厉犊缓卒咆蛋栓病泻翌窄第5章GPS基本原理及其M

58、atlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 正确的结果是输入频率比X(k)低500Hz,由于噪声的存在, 我们可能错误地认定是输入频率比X(k)高了500 Hz。然而, 输入频率X(k)和X(k-1)是非常接近的,且它们比X(k-1)要强得多。因此,如果输入最高频率槽是X(k),且相位计算在不确定区域范围内,这个区域接近于X(k)与X(k-1)的中心或者X(k)与X(k+1)的中心,这时就比较X(k-1)与X(k+1)两者之间的相位。如果X(k-1)大于X(k+1),输入频率就是低于X(k)的;否则,就认为输入频率高于X(k)。如此,精频的准确性由相位决

59、定,但是频率差值的符号由最高频率分量邻近的两个频率分量的幅值决定。 唱兰憨泊雄处矗枣桃品状腿鸯坠援旋负靴札磅丝窝曹证厂瓶恒凋峻滤搓秽第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 然而,问题比这要略为复杂一些,因为两组连续数据间可能由于导航电文引起了180的相位偏移。如果发生了这种情况,输入信号就不能被看做连续信号对待了。这种可能性使不确定宽度延迟了1ms,且限制在250Hz。频率相距250Hz对应的相位角是/2。如果频率相距+250 Hz,相位角是+/2,然而导航电文引起的相位偏移将使相位角变成+/2(+/2-),相应地引起-25

60、0 kHz的频率变换。如果在寻找精频时不考虑相位偏移,这个结果将变成500 kHz。 协佯阁唁倪培炼敬样凤俏绦碟缩胖霄豹眺汐汛桂匈短连筛劝翘晨览谈幅幅第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 为了避免这个问题,频率不确定的最大值必须小于250Hz。 如果频率最大相差是200 Hz(这个值是实验选取的),则相应的相位角的差是2/5,如图5-9所示。如果存在相位偏移,相位差了3/5(|(2/5)|),这个值要比2/5大得多。 这样来看,相位差可以用来确定精频而不产生错误的频率偏移。 如果相位差大于2/5,就从结果中减去以保证频率差

61、小于2/5。为了保持频率在200 kHz之内,X(k)中的k值之间的最大距离将是400 kHz。如果输入是在两个邻近的k值当中, 则输入信号跟两边的k值都相距200 kHz。榆闪乃冷待孺尸结胖换舟贾澳乃镭奔审逃楔缺阳糙崖驶祝腾述赘绩疆拯家第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图 5-9 相位差小于2/5将不会造成频率误差 挚畴理宜知娄柒梯潭屡胰涉犹稿吞柜且室候硬豆烧馒僳俱冷镍捎寺扎黔绦第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图 5-10 从两个相位角得到

62、的角度差 邑盲辈攫交冠围胡钨荆币睫蝇痒著洽女蓑吝潜街径耍乌锄服吴铝癸钓剿忧第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 讨论的最后一点是将X(k)的实部和虚部转化成相位角。 通常, 相位角的范围在之间。式(5-26)和式(5-27)中的两个相位角都将用这种方式得到,两个相位角的角度差可以是02间的任何值,如图5-10所示。由于200 kHz允许的最大相位角差是2/5,这两个相位角的角度差必须等于或小于2/5。如果结果大于2/5,可以从结果中加上或减去2,其绝对值就肯定小于2/5了。如果将噪声考虑进去,2/5门限值可以适当放宽,如用

63、2.3/5,意味着其差必须等于或小于2.3/5这个值。如果这样处理后的值仍然大于这个门限值,就意味着两个连续毫秒数据间有相位偏移了,必须从结果中减去。当然,得到的角度值也还要经过加减2,以保证最后得到的值小于门限值。 说驰科莫俺颂东竹镜选唾猴肆融倪洋塌盼寨灌哩自啊翻蛹片润施指栅硝锹第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 由以上讨论可知,在某一确定卫星中需要经过下面几个步骤来找出它的C/A码起始点和载波频率: (1) 对1 ms的输入执行循环相关操作,某个确定的C/A码起始点可以从这些循环相关里找到,载波频率可以以1 kHz的

64、分辨率得到。 (2) 找到最高频率分量X(k),在同一个毫秒数据内的两个分量,一个比X(k)中的k值低400 kHz,一个比k值高400 kHz, 对这两个分量执行DFT操作。三个输出X(k-1), X(k), X(k+1)中的最高输出将被指定为新的X(k),并用这个新的X(k)作为DFT分量来求解精频。 绢洗仆源庄七揉燕断偷淬红凰你赋佑蜜副庚魄柯堤肌禄拦一赌惯泣袁殖诅第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 (3) 从C/A码起始点处开始选择连续几个毫秒的数据,我们随意选择为5ms,将这些数据与5组连续C/A码相乘,结果肯定

65、是一个5 ms长的连续信号。但是在任意1 ms数据中,都有可能含有一个相位偏移。 (4) 从所有输入数据中找出Xn(k),其中n=1, 2, 3, 4, 5, 然后由式(5-25)找出相位角。 角度差值定位为: (5-28) 氦二逻卤湛戌齐没锥机节粳驹确彩脸玖坊淹戌锈金菩酬密典鹰罗师慎驳葱第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 (5) 角度差的绝对值必须小于门限值(2.3/5),如果不能实现,就要从上加上或减去2。如果结果仍然大于门限值,就要调整相位偏移,在上加上或减去,得到的值还要与门限值2.3/5进行比较,来决定是否要再

66、次加减2。经过这些调整后,最终的角度值就是期望值。 (6) 式(5-27)用来计算精频。由于有5ms的数据,将得到4个精频值。为了提高精确度,我们将这4个精频的平均值作为要求解的值。 盂康堑裂涝递貉乞骂紊诲痪釉汝阳素丘柱大泛粉涣皂刊苗露箩府姬讥揉室第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 5.5 Matlab与与Simulink仿真简介仿真简介 5.5.1 5.5.1 仿真工具简介仿真工具简介 Matlab是由美国Mathsworks公司开发的大型软件。在Matlab软件中,包括了两大部分:数学计算和工程仿真。其数学计算部分提

67、供了强大的矩阵处理和绘图功能。在工程仿真方面,Matlab提供的软件几乎遍布各个工程领域,并且不断加以完善,现已成为国际上最为流行的科学计算与工程计算软件之一。以采袍巫上灌龙括端哗劳掉深去骗恃骤寐晰闰磅躯乱棠矢盈孔磁辣襄般靶第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 5.5.2 Simulink5.5.2 Simulink的使用的使用本小节将利用BPSK传输作为例子对Simulink进行简单介绍。但是,我们只局限在Simulink的原理及在这个仿真辅导中所要求的特点上,至于更为详尽的内容,建议读者参考Simulink手册。这里给

68、出的Windows界面的图保持了原样。 Simulink是Matlab软件的扩展,它是实现动态建模和仿真的一个软件包。它与Matlab 语言的主要区别在于,它与用户接口是基于Windows的模型化图形输入的,从而使得用户可以把更多的精力投入到系统模型的构建而非语言的编程上。 唁锑楼即仪骋颖联捶烤盒蹬诗肇扼壹咬靛肖在者稽秘梅歪乳笺箍强傲存秉第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图 5-11 Simulink Library Browser窗口 烹暑便花奸控腐缨茹椅邯职徐迪白牟删菱锗罚恳猎竭词龙推诱趟形锥齐叉第5章GPS基本原

69、理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图 5-12 BPSK传输的Simulink模型 撼拄痛爹念虫噬寻蒜钵要姬赛铀竖临裸画说潭嘘鹰曼吓曙企威颖郁荤结赫第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 为 了 创 建 一 个 新 的 Simulink模 型 , 可 以 通 过FileNewModel菜单打开一个新的模型。某个库模块可以从库窗口简单地拖放到Simulink模型窗口中。利用Uniform Random Number Generator模块以及随后的Sign模块,可以做图

70、5-12中的二进制信号源。Uniform Random Number模块在指定的区间上产生均匀分布的随机数,在本例中该随机数在-1, +1内产生。跟在其后的Sign模块的输出是: 当输入大于0时输出为-1。为了产生输出比特为等概率的+1和-1二进制信号源,可以加入Lookup Table模块,它的输入输出映射关系为:1到1,-1到-1,而0到+1。为了将模块Uniform Random Number加到模块中,可以在Simulink Block Library Browser中双击模块Sources库(见图513)。将模块Uniform Random Number拖入Simulink模型并双击

71、它。 肯胡碘绿钻恭腹容肺巷乐彝歇喉整原目庶笋国卡遇晤周惠起邮俄呻单赁蘑第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图 5-13 Sources 库 斋企擒湛桂戮竖烃帝沤喀恭厄锦坛腻启宗酣陛谭去纂滇钞灶吹润蚁啼护趣第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 打开的Block Parameters窗口如图5-14所示,在这个窗口中即可输入如该图所示的有关参数。现将Math Operations库中的Sign模块拖入模型。利用鼠标将模块Uniform Random Nu

72、mber和Sign连接起来:在模块Uniform Random Number的输出上按下鼠标左键并拖到Sign模块的输入端,然后释放鼠标键。Lookup Table模块从Lookup Tables库中得到,在模型中双击Lookup Table模块并输入如图5-15所示的模块参数。 芥坞吱挺囚券麓晨娃阎会壤邯翔究具芍谈沉烃里狗忍擂琅踪袱洼等尿稽烁第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图 5-14 模块参数: Uniform Random Number 霹聂蔑古诸短撩天谁近戒临效崔酗躺叠提沼蹲蒂伺一疯啼钒射皂闽踩特偏第5章GP

73、S基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图 5-15 模块参数: Lookup Table 存妓胜耶昼焰抱陀伊摘试先臭筏骆以敝涵昼脆窑肤颖仙芬泼伤轮挣鹃杨实第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 在开始仿真之前,为了观察源信号,必须调整Configuration Parameters。在菜单栏中使用命令SimulationConfiguration Parameters。即可打开如图5-16所示的Configuration Parameters窗口。 就目前而言,

74、仅涉及参数Start time和End time, 稍后为了求得准确的结果, 可能需要调整用于数值积分的Max step size 和Min step size。在菜单栏中使用命令SimulationStart启动仿真。类似地, 可以使用SimulationStop命令结束或停止仿真。为了观察信号, 双击Scope即可打开如图5-17所示的窗口。 蛹颂腺片构冠决碰磋寅沸载粹阀纠靴军渍镁勺稚茨格袱咎狮咒迸开惊老析第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图 5-16 仿真参数窗口 脸鼓扎岭岛卒垦竟茂迢髓侈遮改钟短说症蕊雌瘪蔗秃膀

75、桐裙勿高簇两桅奄第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图 5-17 源信号(Scope) 从嘲坡奢笨宇信者强沈增孙缀裕款庶袄遣佛寄咙顾制彦书倘利顺逊逗纶勾第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 在窗口中单击鼠标右键会打开一个弹出菜单,通过该菜单可以打开Axes properties 窗口,如图5-18所示,这是为了设定y轴的范围。 图 5-18 Axes properties窗口(Scope) 述形墟妈肮历硕屹卤聚炊痞逝晋胜诊挞夕橇憎机腊佩嫩局谢观呈炬亚

76、恳除第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 在图5-17中,Scope窗口的时间范围可以通过菜单栏中的Parameters框来改变(见图5-19)。 图 5-19 Scope的参数窗口 截灌另蔼故桨哑镊愉仟篙仟粤甜难砰胰漾娘对其膘击鳃个泥正吾艾酮窗擎第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-12中的其他模块也能用相同的方式包括在内。利用UserDefined Functions 模块可以产生载波cos(4*pi*u),该模块将某个指定的表达式(如cos

77、(u))加到输入变量u上。将模块Fcn拖入仿真模型并双击它,会立即打开Block Parameters窗口, 如图5-20所示, 在这里可以输入表达式cos(4*pi*u)。 栽记浦捆疲判汝玄顽少醉洋十帜厂疗导渔却哭猛戴赂捕肩韭琵桅躺蜕龋治第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图 5-20 模块参数: Fcn 黔靠应恳军囱亡狼插擦拴爷棚安蔓碧能娇溢礁攫滓曳柬翱爵舟舷憾膝贝财第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 时间变量u可以从Sources库中的Clo

78、ck模块得到。Math Operations库中的Product模块用来产生已调信号。由于考虑的是无噪声传输仿真,因此就将发送端和接收端直接相连。 接收端的匹配滤波器是利用Continuous库中的Integrator模块按积分清除来实现的。复位信号由Sources库中的Pulse Generator模块产生,其参数如图5-21所示。最后的仿真结果如图5-22所示。 蛰蔼譬啪宽醉尘唤拇董犬捏扬草旨赴县榷勾锅悉寞渗砾滞棚兵响淡烘磅姜第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图 5-21 模块参数: Pulse Generator

79、 琼诚胎尘址局闪滚镰讼蚊答享畅中贼似骑仰滚康异嵌峨粤剪葛蕉硕条铸咎第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图 5-22 宿信号(Scope 8) 教曳掀惨躁丛镁褐始焚罚损部帝咐涨仪毛决靶魂灼完湍汁惯乡航希诽核贾第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 5.6 GPS卫星信号捕获的例子卫星信号捕获的例子 程序中所用到的输入电文在时域内的情形如图5-23所示。 输入信号看起来像噪声,其频率描绘可通过FFT求得,如图5-24所示。正如预料的,FFT变换后带宽是2.

80、5 MHz,其频谱形状与射频链的滤波器形状相似,通过循环相关后如图5-25所示, 其中给出了6号卫星的C/A码起始点,其起始点在2884。图5-26给出了相距1 kHz的21个频率分量,最高值发生在k=7处。从图5-25和图5-26我们可以轻易地看出C/A码的起始点和频率。由于输入电文是实际收集到的数据,精频的精确度就难以测定, 因为其多普勒频率未知。精频还取决于在下变频中用到的本地振荡器的频率精确性和采样频率的精确性。 雁栓询哥烩饺备椿氰狮郴泉侗娇驮癸虑扦齿澎韵开琉河贼倚细抡池者氧板第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获

81、图5-23 5000个输入数据点 孪舟狮氟格囤有式噪鲤隋贝栅障挑症棉声虞绎琐圾瞅首咱庭冒变凌塑点箍第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-24 输入信号的快速傅立叶变换 盈捣益梁灾蛾莲胆韭譬调啪萨矛址烃墅摈颓滩吠钓案焕少宏弹符身萨咕监第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图 5-25 6号卫星的C/A码起始点 爷赐泊禁膳愚馅济莎寐昨已围击详蒸端瘪奠喝辜垫河盯母哗喧塌回塔陨娥第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab

82、仿真第5章 GPS卫星信号的捕获 图5-26 卫星6的展开的各个频率分量 痢美扑癸缨瘁犀悍曰烙灭驳惟朴垂念醇桓憋隶八哥瑶繁剿耻败沮栈莆逾哇第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 感知计算精频准确性的一个方法是利用数据的不同部分。 从输入电文的不同部分计算出六个精频,用到的电文部分是: 125 000, 500130 001, 10 00135 001,15 00140 001,20 00145 001,25 00150 001。这些电文都是5 ms长,且起始点偏离1 ms,在相邻两组间,有4/5的数据相同。 因此,得到的五个

83、精频是非常接近的,这六个精频之间相差是-2.4,9.0,-8.2,5.4和2.3 Hz。数据都是从固定的接收机上收集到的,因此,每毫秒刷新一次频率的变化是非常小的。 从而,这些频差可以看做是捕获方法中的误差。当信号长度改变时,精频的差也跟着变化,对一个弱信号来说,如果使用相同的捕获方法, 其精频可相差几十赫兹。 萍莆癣抚衙膜煽鹃阅皋厄形蔗艰蝴犊妥氛菱究海休淳舟噪蒲莽裸篓女淌向第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 对弱信号(24号卫星)执行捕获,如图5-27和图5-28所示。从图中我们很难判断C/A 码的起始点和频率是否为正

84、确值,需要通过另外的相关运算才能找出它们,它的正确值与我们在图5-27和图5-28中看到的不同。 覆鸡殿降濒凯脖聚提彝寇艳赐陈洞软郭柳蚌茅亮觅士山眺愧强轮具锗威岔第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-27 24号卫星的C/A码起始点 贺袁褪软歌哎捣诅殃啥腺个买抢朱舅秽僵姥坪稼酗既阔睡邀撅编峻黍一哑第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-28 24号卫星的展开信号的频率分量 乐贤贼揪该毡吓去撂熟峙词赊倘意溃吻厘生鸽弦忘择誉口疗去立吕迅幅卵第5章

85、GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 5.7 关于捕获的一些子程序关于捕获的一些子程序 5.7.1 5.7.1 随机编码过程仿真随机编码过程仿真打开Matlab,新建一个MFile,输入以下的文本,保存为GenerateCode.m,并调试运行。可以单步或多步运行M文件。%该程序仿真产生三组伪随机数, 模拟随机编码过程close all;clear;clc;t=0:5:1000; %时间变量为1 s, 步长5 ms%嘱滥烛老候笆涩年武备孩垮着航代瑞捕啊卵币给佃炳纠啸锰源郭尼空全窘第5章GPS基本原理及其Matlab仿真第5章GP

86、S基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 x1=rand(1,length(t); %生成一组1*length(t)维的伪随机数x1=round(x1); %将x1数组中的元素转换到与其最近的整数index1=find(x1=0); %找出x1数组中为0的元素x1(index1)=-ones(1,length(index1); %返回一个index1长度的一维数组x2=rand(1,length(t);x2=round(x2);index1=find(x2=0);x2(index1)=-ones(1,length(index1); x3=rand(1,length(t);x3

87、=round(x3);index1=find(x3=0);x3(index1)=-ones(1,length(index1); 喊厩囱焦诵崩虞她兵莽茂镇拽拈赐冤骑鸟鳃菇痰吻鄂豺着泥燃歇剐溃霸档第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 y1=zeros(1,1); y2=zeros(1,1); y3=zeros(1,1); %生成三个1*1的零矩阵,存放伪随机值t1=zeros(1,1); t2=zeros(1,1); t3=zeros(1,1); %生成三个1*1的零矩阵,存放时间值%将生成的伪随机值存放到对应的矩阵中%y1(

88、1)=x1(1); y2(1)=x2(1); y3(1)=x3(1);t1(1)=t(1);t2(1)=t(1);t3(1)=t(1);k=2;m=2;n=2;for i=2: length(t) if (x1(i)=x1(i-1) y1(k)=x1(i); t1(k)=t(i); k=k+1; 曲违碉鲸滩焦垦泰败镶指潞捌全懦话苍殉怠童彩稚罩啼峡澳嗡嚎孟辨父畔第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 else y1(k)=x1(i-1); y1(k+1)=x1(i); t1(k)=t(i); t1(k+1)=t(i)+0.01

89、; %如果该时刻阶跃变化, 则右移0.01来记录 k=k+2; end if (x2(i)=x2(i-1) y2(m)=x2(i); t2(m)=t(i); m=m+1; else y2(m)=x2(i-1); y2(m+1)=x2(i); t2(m)=t(i); t2(m+1)=t(i)+0.01; 员凤诵帧暂裳互际琐即扶累恍誊筑侦油砰眶被峻卢墟笔焚步绽箭握疟侠宾第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 m=m+2; end if (x3(i)=x3(i-1) y3(n)=x3(i); t3(n)=t(i); n=n+1;

90、else y3(n)=x3(i-1); y3(n+1)=x3(i); t3(n)=t(i); t3(n+1)=t(i)+0.01; n=n+2; endend 甜伸恼搽窑殉粱性禄履哲以队钻津茫衷历捶咱殴刘毛畔威萄舆支吱牲贫窿第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 %画图说明产生的三组伪随机码%subplot(3,1,1);plot(t1,y1,y);grid on;axis(-1,1001,-1.5,1.5);subplot(3,1,2);plot(t2,y2,y);grid on;axis(-1,1001,-1.5,1.5

91、);subplot(3,1,3);plot(t3,y3,y);grid on;axis(-1,1001,-1.5,1.5); 彭辊因炼撅厌伏播淄陈洱都锹祝曲步惺踞虞沈盼钉鸦誉必拽旦颜戍夹忧汕第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 whitebg(black);%将三组伪随机值存放到新矩阵并传送到Workspace中, 方便以后调用数据%simin1=t1;y1;simin2=t2;y2;simin3=t3;y3; 弦隅让仿业朽蝎录慢住铸朵褥兵江篆溢壕拉窟累给话陀芒滨累领景殿椒版第5章GPS基本原理及其Matlab仿真第5章G

92、PS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 输入上面的文本后,运行得到如图5-29所示的伪随机码。 其 结 果 还 可 以 通 过 Workspace查 看 , 之 所 以 要 传 送 到Workspace中, 是因为我们在后面的仿真中还要用到这些伪随机码。 惯效耶永壤锹隙辽参辆敞头妓辗滓奖峭腾具肆淬花报碍弯勿香僧兆吻忿渐第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图 5.29 模拟三组伪随机码的仿真示意图 叭谓捻称歇放限阜另幕衔眶颜书院低靖糙戒撒陕扁母炯垦酌掸阂彬名到靡第5章GPS基本原理及其Matlab仿真

93、第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 5.7.2 5.7.2 获取导航信息的仿真获取导航信息的仿真 在这个仿真中,我们要得到卫星的导航信息,其中忽略了频率偏移,且卫星信号的数据是基于前面章节中得到的卫星数据,存放在GPSsignal.mat文件中。在运行程序之前, 我们必须将GPSsignal.mat中的数据传送到Workspace中。 咒痹秦糟肛缮玲咀纺颗昏技籽铺馆卫已挽疙剃群吩令陈孽伍元钩挎疲彼略第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 clear; %清除所有的变量clc; %关闭所有指令

94、窗close all; %关闭所有未隐藏的窗口load GPSsignal.mat %从GPSsignal.mat中获得所有变量到Workspace中%n=length(GPSsignal);%SvNum=12;%调用fGenerateCAcode3.m文件, 获得卫星编号为12的C/A码Temp=fGenerateCAcode3(SvNum);index1=find(Temp=0); %找出C/A码中的低电平, 形成列向量存放在index1中Temp(index1)=-ones(1,length(index1); %返回一个与index1相同长度的一维数组 丫气照九授希情冶麓至誉灵河劳横委熊

95、太函历拍醇嫉熔夷祁矛曙雨是刁袋第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 SinWave=sin(0:2*pi/8:2*pi*7/8); %产生一个步进2*pi/8的正弦波SinWave=single(SinWave); %将SinWave矩阵转换成单精度矩阵GpsMatch=zeros(1,1); %生成一个1*1的零矩阵SinWave=SinWave SinWave SinWave SinWave SinWave; GPSsignal.mat %生成一个5 ms的连续信号 for i=1:length(Temp) GpsMa

96、tch=GpsMatch Temp(1,i)*SinWave; end GpsMatch=GpsMatch(2:length(GpsMatch); %生成本地匹配信号并去掉第一个元素n=length(GpsMatch);m=50000;for i=1:m Res(i)=GpsMatch*GPSsignal(1,i:i+n-1); %将本地生成匹配信号GpsMatch与GPSsignal循环卷积 役跟辩越稀行迎娄贞润带枢瞩雇摹修涵玲综乾鹿毕及甄钾寐环银衷桩氖嘘第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 endplot(1:m,Re

97、s); %图示卷积的幅值%Res2=abs(Res);for i=1:100 %该循环目的是找出Res中的最大值C I=max(Res2);Res2(1,I)=0;Index(1,i)=I;end;%下面是要找到GPS signal中的导航电文% 樊硅涕埠肝礼园眷治钓潘竣合退松龋路槐员痹糯峨瑶彪凡筏霍烘味玫壁顷第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 %方法是检验GPS signal(已被C/A code调制过)的每个最大值处是否具有相位偏移%w=length(GpsMatch);m=1;for i=Index(1,1):w:

98、(length(GPSsignal)-w+1) NavigationBit(m)=(GPSsignal(i:i+w-1)*GpsMatch)/w; m=m+1;endNavigationCode=zeros(1,1);NavigationCode(1,1)=NavigationBit(1,1);m=2;Count=0; for i=2:length(NavigationBit) if(NavigationBit(1,i)=NavigationBit(1,i-1) NavigationCode(1,m)=NavigationBit(1,i); 遗窟冶雨临靠蛔泛馒何怪椭滓泪祟啮让允敲寓既氢螟敛贝瞳

99、惊平暑示尾驰第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 m=m+1; Count=0; else Count=Count+1; if(Count=5) NavigationCode(1,m)=NavigationBit(1,i); m=m+1; Count=0; end endend 澄跳淑霜案讽驻偿炊释才蒲雄祥粟宫禁娶寡募呸传真价哇酚炮沏詹搐瞩榔第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 %我们已得到导航码NavigationCode,下面将它转化成数字%Nav

100、igationCode=NavigationCode./abs(NavigationCode);index1=find(NavigationCode0);NavigationCode(index1)=zeros(1,length(index1);Table1=0 0 0 0; 0 0 0 1; 0 0 1 0; 0 0 1 1; 0 1 0 0; 0 1 0 1; 0 1 1 0; 0 1 1 1; 1 0 0 0; 1 0 0 1; 1 0 1 0; 爪茫力匈堂杖皇迁及报冷卿吏长牢架广打夯丰腺驯虱廖龋天涌缀妈稍株返第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿

101、真第5章 GPS卫星信号的捕获 1 0 1 1; 1 1 0 0; 1 1 0 1; 1 1 1 0; 1 1 1 1; Result=; for i=1:4:length(NavigationCode) TT=NavigationCode(i:i+3); MatchTable=Table1(:,1:4)-TT; TT; TT; TT; TT; TT;TT; TT; TT;TT; TT; TT;TT; TT; TT;TT; MatchTable=sum(abs(MatchTable); TempChar=0; BestMatch=find(MatchTable=min(MatchTable);

102、 本吨戒肖掷豁忧惫纶聊窝西皖肯瘦挞磊德烛掉羔延北喀堂陈届烈聘蜒伎坷第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 %用查表的方式将导航码NavigationCode转换成十六进制数 switch (BestMatch) case 1 TempChar=0; case 2 TempChar=1; case 3 TempChar=2; case 4 TempChar=3; case 5 TempChar=4; case 6 TempChar=5; 裙炕会回掠订说诱亮霞泼授顿袖避囚夹躁维希蚕屿擅蚜净滁农胃请脆幼骑第5章GPS基本原理及其M

103、atlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 case 7 TempChar=6; case 8 TempChar=7; case 9 TempChar=8; case 10 TempChar=9; case 11 TempChar=a; case 12 TempChar=b; case 13 TempChar=c; 只喜哗暇畦抚抿蛛嗡炬刨敬瓦俘砖滴豫蚜寝埠瞄狸毅五锌陨割宦兆论造继第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 case 14 TempChar=d; case 15 TempCh

104、ar=e; case 16 TempChar=f; otherwise end Result=strcat(Result, TempChar); %将Result与TempChar两行的字符连接到一起 孺凳避斧括归纷剑犹哆枫邯挝馈干锯蛮董评滩挫碑茄堵股淌奢忽盲嗽傅渣第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 end Num1=hex2num(Result(1:16); %将十六进制数转换成二进制数,存放在Num1中,值应为10.23 Num2=hex2num(Result(17:32); %存放在Num2中, 值应为6.24 N

105、um3=hex2num(Result(33:48); %存放在Num3中, 值应为17.8 淘几来轮吸婆爽姆鸡伍跳岔使室石拄应沥个眨织宿臭孤乃赴颅弘孟钳迄再第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-30 本地生成信号与GPS信号的卷积结果 斑泌宋鼻村姓骨完苯按枕凌休沏疥盲龚扇口胜漓变姐纽戊蹈珍食瑰啸湛忱第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 5.7.3 5.7.3 模拟捕获延迟的仿真模拟捕获延迟的仿真 1. 1. 一颗卫星的延迟的仿真一颗卫星的延迟的仿

106、真这里,我们首先模拟一颗卫星的延迟卫星的仿真,如图5-31所示。空中传送下来的PN序列码与离散的正弦波相乘后, 到达地面延迟了0.1 ms(默认单位,图5-31中省略),地面接收部分就要用各种延迟的PN序列码与之相乘。仿真中,分别给出了延迟0.1 ms、0.2 ms、0.3 ms和0.4 ms,从相乘的结果可以看出,若正弦波有相位偏移,则说明延迟不匹配,只有形成连续信号的延迟时间才是空中传达到地面的延迟时间。由于只是说明捕获思想,因此此处仿真中的正弦波的采样时间只有0.001 ms,Lookup Table 的作用是将PN序列码输入0和1分别变成-1和1,以便观察相位。仿真结果如图532所示,

107、这是局部放大图。 洪急谓咳甥檄武联诚找实骋浪粪馅椽啼轮棵煌冷赛沼列讳稚空摔孰尉淬龋第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-31 一颗卫星延迟0.1 ms的捕获仿真裔捆候体柑殆痊球扁卡枢贪鄙淤三俱池锤的股暗棍骆猎肤磺接静址帮知吹第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-32 一颗卫星延迟0.1 ms时的仿真结果 称癣傲娃龙采岭碳卓冷塌空各霍救脉础啸匀酿盾帜馒捅佩眼饲漠盎溪拆迹第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matla

108、b仿真第5章 GPS卫星信号的捕获 2. 2. 若干颗卫星的并行延迟捕获若干颗卫星的并行延迟捕获 这里,我们同时模拟三颗卫星的延迟捕获,三颗卫星的各自不同的PN序列码分别与三组伪随机序列码simin1、simin2、 simin3相乘。这三组伪随机码是我们事先生成的,因此,运行图5-33的程序之前必须首先运行GenerateCode.m文件,产生如图5-29所示的三组伪随机码,传送到Workspace中,运行图5-33程序时,系统会自动从Workspace中获取这三组伪随机码。图5-34中的子模块S1、S2、S3实现对三颗卫星的调制,调制正弦波频率是40*pi,采样时间为0.001 s。调制后

109、的三颗卫星相加变成一路信号,再用解调子模块S4、S5、S6对复合信号进行解调, 其中正弦波的频率和采样周期相同,如图5-35所示。 解调后的结果如图536所示,从仿真结果可以看出,解调出了三路不同的PN序列码。从这个仿真过程我们可以看出,可以同时并行接收若干卫星。这里,忽略了延迟,如要考虑延迟, 只需添加图5-31中的延迟模块即可。 茂缴诌孔兄僻座臣东聚穷光绵臂扇辖靳咏蔷蛤焦鞋阉盯废怔冕吝蛰占砷制第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-33 三颗卫星的并行延迟捕获 细亭措笋韵豢矮绚蘑镰妙休枚菌决怪计截汰耘楔猖垃深霄馅筋

110、喳俩鹏梨摸第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-34 空中传送中的调制子模块S1、S2、S3 恒佰细寄触角晤姑窃端窜刮寐钝牵拽铅歪储痹乔募醚汾驯简钎役糜等翅熄第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-35 地面接收时的解调子模块S4、 S5、 S6 补唁痴褐内毅殆作对锨太糜番钢盂脉热阜送偶枣钧钒囊虐河阅菌位披解唆第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真第5章 GPS卫星信号的捕获 图5-36 地面解调后的结果 儿斥嚏会蔽凝斡舰柔颁诀案埠闷照执餐懈察徐又娜夷范昭巨它亩震伤呼吞第5章GPS基本原理及其Matlab仿真第5章GPS基本原理及其Matlab仿真

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号