首页 >> 大全

GPS读书笔记-from2/18/2017-2/21/2017

2023-11-16 大全 29 作者:考证青年

ch1: 卫星数据经射频,中频,adc采样来到数字基带域。卫星导航信号首先经过(捕获),(跟踪),提取帧,提取&信号,然后计算卫星位置,最后得到user . 关键是捕获和跟踪。捕获是捕获c/a码的初始相位。跟踪则是跟踪相位,估计频偏,把频偏给补偿到接受信号,提高信噪比。 ch2: basic gps GPS接收机如何决定user ?这是终极目标。找user 难点是:一、需要根据 来解方程,但方程是non-的,直接求解比较困难;二、user clock . 用户时钟精度不够,导致的时钟漂移。结合上面两点,对non-的方程求解,是通过 and 求解。求解是在 , and then the will be into a . Gps性能要求,10~30m rms error; real time; , the polar ; , such as from ; be in not hours; can the of the user clock; be small.以上要求,导致了gps的载频是L band(1-2ghz).用GPS信号决定user 需要的卫星数:如果是一维的坐标,那么为了确定这个坐标,一颗卫星不能,需要两颗卫星;同理,确定二维坐标,两颗卫星会给出两个位置,所以需要3颗卫星才能唯一确定user ;同样的,确定三维坐标,就需要4颗卫星提供的距离。

这也好理解,如果要确定3维坐标,则把卫星信号到达的区域看成是一个以卫星位置为中心的球,也不是主观这样看成,而是这么看问题更接近真实的情况。那么两个球相交得到一个圆,再添加一个球,可以看成是这个球和之前两个球相交得到的圆之间再相交,得到两个交点,也就是三个球还是不能唯一确定相交的位置坐标,因此需要再增加一个球,才能确定两个交点中那一个才是user .一句话,卫星的数量需要比空间的维度多1才能唯一确定空间的位置!

这里写图片描述

现在继续讨论卫星的个数:如果一切理想的话,四颗卫星就可以确定三维坐标。但实际中,由于user clock ,所以还需要一颗卫星来排除时钟的漂移导致的错误。因此,需要5颗卫星!但是,如果强行用4颗卫星的话,由于有时钟误差,计算结果有两个位置,一个close to the ,一个在space,而在space的可以容易排除,因此也能用4颗,说得比较绕!下图就说明为啥是二次方程组了,为啥需要四颗卫星了,因为有四个未知数:xu,yu,zu, and bu(时钟误差)

这里写图片描述

通常接受的卫星信号来自4~11颗,有两种方法,一种是全部使用,另一种是选用4颗,选用的标准是四颗卫星位置越独立越好,见Fig.2.8.所谓越独立,就是四个位置的连线组成的四边形面积越大越好,所以图(a)就不好,三个卫星在一条线,图(b)就好,能形成一个四边形!

这里写图片描述

这里写图片描述

ch3: 上一章假设卫星的位置已知,这一章则讲如何找到卫星位置。一共24颗gps卫星,在6个轨道运行,每个轨道4颗星。卫星的位置如下图:地球平均半径是,卫星高度到地心距离,所以一个gps卫星垂直地面发射信号距离为26560-6368=,而发射信号覆盖地表最远距离则为,也就是有距离差距,看下图,所以卫星天线的定向角度13.87度就够了,还算比较窄,同时注意,由于距离不同,信号衰减不同,导致有功率远近效应,到最远和最近的地方功率差2.1db,因此实际中,天线正对地面的发射功率相对低一些,以保证到地面各个位置的功率一样!

这里写图片描述

多普勒效应:卫星速度3874m/s,对地面user的相对速度就是vd=vs*sin(beta),最大的相对速度为929m/s.最小就是0(当锤直的时候)最大的多普勒频移是4.9khz.也就是说多普勒的范围是-5khz~5khz。

这里写图片描述

5.注意,多普勒的计算如下:多普勒频移和发射信号的载频有关系,成正比,下图中:fr就是信号频率,这里就是用的gps射频信号载频计算得到载频的多普勒频移;如果是对c/a code而言,多普勒影响就很小,因为c/a码的频率是1.,所以:只有3.2HZ。也就是说多普勒本质是一个相对概念。相对谁呢?相对发送信号源的运动速度,还相对发送源的电磁波的”运动”速度(就是:电磁波的频率啦)

继续讨论多普勒的影响,假设地面的接收机是高速运动,那么对c/a码而言最大的多普勒就是6.4hz. 6.4hz在物理上意味着什么?如果c/a码的采样率是5mhz,那么每个码片长200ns, 的任务就是让本地产生的c/a码和接收到的信号对齐,或者至少让时间差距小于半个码片,100ns。由于的原因,6.4hz就是说1秒导致6.4次变化,对c/a码来说一次变化就是一个1.的倒数(977.5ns)的长度,所以:每经过1/6.4=156.3ms的时间就会漂移977.5ns,或者说没16ms就漂移100ns.也就是说,如果采样率5mhz,那么我们每隔16ms就要检查是否对齐,否则就跟踪不上了!研究多普勒,除了看绝对值,还看变化率,也就是高阶函数,才算对这个多普勒认识清楚。比如,多普勒平均变化率,如果只考虑卫星运动,那么这个平均值只有0.54hz/s;由于变化率不是均匀的,有的角度变化率大,有的角度变化率小,那么还需要找最大的变化率,就是0.936hz/s,可以看出最大的变化率比均值大很多。上面是假设接收机,如果接收机是在上,那么加速度很大的时候,例如:1g( 9.8m/s2 ), 那么最大的多普勒变化率就高达51.5hz/s,如果加速度再大一些,例如7g,那么这个最大的多普勒变化率就是360hz/s,也就是说由user运动导致的多普勒远远大于卫星运动导致的多普勒。

以360hz/s为例,这个360hz/s表示每一秒变化360hz,如果接收机的载频的 loop的带宽是1hz的数量级,表示1秒才更新一次,但是由于360hz/s的多普勒,表示1秒会变化360次,即:相当于每2.8ms载波就变化一次,所以每2.8ms就需要这个 载波的信息。但这就困难了,由于噪声,2.8ms这么短时间做出的判决就很大的false概率。’s laws:开普勒三定律。(以后在细看!) ch4:earth-,earth-fixed 坐标变换,考虑地球的self-.(以后再看!) ch5: GPS C/A code 上面几章介绍了如何接榫user ,但计算user 需要卫星的 and . 而卫星的位置的计算就必须依靠卫星传送的信号。卫星信号有两种:/ (c/a) code, and code. 字面上,c/a code就是低精度的用于民用的,而p码是高精度的,用于军用,而且接受p码需要有 code,不像c/a code是明文传送,所以,后面都重点讨论c/a码。传送频率:gps信号的射频载波有两个: 都是在1GHZ~2GHZ间,同时都是时钟10.23的整数倍,这应该是方便倍频!其中,L1用来传送c/a和p码的,而L2值用来传送p码。

这里写图片描述

下面公式就表示了L1用qpsk同时传送p码和c/a码。由于卫星高度为2万公里,所以信号强度很微弱,-左右,所以用c/a码的作用之一就是得到扩频码的扩频增益!

cdma信号:这个比较熟悉。这里复习一下:如果码片的速率高于信号速率,就是扩频系统;如果码片率是1mhz,那么由于码片翻转在时域上是一个矩形窗口,则在频率上就是一个sinc函数,而且main lobe的带宽就是2mhz. 问题:这里需要用成型滤波啊?p码的码片速率是10.23mhz,所以根据上文介绍,频谱带宽就是20.46mhz,码片就是1/10.23=97.8ns,p码是PRN码( noise code),周期一共有38周(超过半年才能循环一次),实际中是每一周就复位一次。c/a码的码片速率是1.,所以带宽就是2.,每个码片是977.5ns. c/a码周期就短,只有1023个码片,因此一个周期就是1ms。c/a码本质就是gold码。gps帧结构:卫星导航数据率是50hz,那么一个bit需要20ms,因此一个bit就对应20个c/a码周期,算很长了;30个导航数据bit构成一个word; 10个word又构成一个(6秒);5个构成一个page(30秒);25个page构成一个. c/a码产生:由两个1023-PRN 序列产生器产生的gold码。每个序列发生器都是由10比特的移位寄存器组成。卫星的(id)就是由序列的相位决定的,一共有37个独立的相位位置,其中32个用来c/a码,当时只有24颗卫星在轨,所以只分配了24个相位。如下图:不同的c/a码从G2不同的抽头输出,这个要仔细研究gold码,看为什么不同抽头的相位独立。第二次看的时候,又观察了下图,发现G2输出不是从最后一个位置输出,而是从中间选取两个位置的输出经过模二加之后再输出,虽然两两组合的可能理论上有45(10*9/2),但是独立的只有37种,我又截了一个图反应了不同的组合得到不同的c/a码,这些码起始相位就是卫星的id了。

这里写图片描述

这里写图片描述

c/a码性质:说c/a码性质,其实说的是gold码性质,或者是伪随机码性质:相关性。理想的c/a码需要有强的自相关性,几乎为0的互相关性。其中,自相关性是说同一颗卫星发出的c/a码不同相位的序列相关;互相关性是指不同的卫星发出的c/a码的不同相位序列相关。下图,就说明了c/a码良好的相关性能。

这里写图片描述

11.帧数据介绍:(5.9~5.17以后再看!) ch6: 考虑硬件。天线,采样,中频等。(之后再看!) ch7: of GPS C/A code 捕获,就是检测是否有c/a信号存在,或者具体说,c/a码的开始和载波的频率。这两个信号同时获取。然后把这些信息pass to . 前面提到过,捕获需要搜索+/-10khz的频率范围,这个范围就是多普勒频偏的范围。问题是: 捕获的带宽是指什么?由谁决定的?书上说,窄带的捕获带宽要用很多步骤才能cover +/-10khz的范围,比较time ;而宽带的呢,就存在poor 的问题,但是由于的带宽很窄,可以保证high 。所以,还是需要用wide for .本章会讨论三种捕获的方法:传统的,基于fft, delay and 的。传统的和fft效果一样,fft可以降低运算复杂度;delay and 的速度更快,但是会lower snr,可以看成是一个速度和性能的.所谓捕获,就是去找到c/a code的开始的相位,同时需要确定输入信号的载频。

这个载频是考虑了 的,每颗卫星都不同。这两个参数就会pass到 . 本章后面的讨论是基于IF=21.25MHZ, 采样率是5MHZ,因此基带信号的中心频率就是1.25mhz.关于中频和采样率的问题需要看第6章的内容。所谓传统的方法:就是用硬件来对每个卫星的c/a码在时域捕获,这个方法就不如用软件的方法,可以保存数据,然后在数字域处理。考虑这本书是写于90年代,估计硬件手段很有限,比如用fpga一样可以来做信号处理,速度还快!捕获,理论上是数据时间越长,信噪比越高。但两个因素限制了数据长度:一是该数据中是否有 data ;另一个是c/a码的 . 由于 data速率是50hz,也就是每20ms一次数据相位的。考虑到这个是在时域上和c/a码相乘,所以频域就是卷积运算,或者说是频域就是调制,把c/a码左右移位50hz再相加,也就是说频谱展宽了,由于有混跌,因此性能下降了。那怎么办呢?在时域上,每20ms才变一次,所以捕获的时间设为10ms,这是因为,连续的两次捕获最多一次, 也就是说连续两次的捕获中有一次是不受 data 影响的。

由于c/a码的周期是1023码片,时长1ms,所以1ms的数据就可以包含c/a码的全部信息,理论上,1ms的数据就可以用来捕获,但是如果这1ms中出现了 data ,那么信噪比就会衰减很大,因此为了保险起见,用两个连续的1ms数据就可以做捕获了。在工程中,用10ms来做捕获,那么连续两个10ms中也最多一个.上面说c/a码的多普勒会影响捕获的时长。由于多普勒,数据不能完全对齐,如果有half chip off,那么相关峰就从理想的1衰减到0.5,因此就是6db的幅度衰减。假设:码片速率1.,最大多普勒是6.4hz,因此漂移一个码片就需要1/6.4=156ms,漂移半个码片就是78ms,也就是说捕获时长必须低于78ms. 上面已经讨论了,10ms最理想,因此10ms也满足多普勒的要求。 steps in :这一章开始就讨论捕获的带宽的问题,说带宽如果太小,那么就需要很多步骤才能cover载波的+/-10khz的频偏;带宽太大,又出现精度不够的问题。现在稍微理解了捕获带宽的物理意义:就是每1秒捕获的次数,是不是很简单,按照上面的讨论,每10ms的数据做一次捕获,那捕获带宽就是100hz。

这个就是前文提到的捕获带宽太小的情况,所以需要很多steps才能cover 10khz的带宽。为什么呢?怎么cover的?C/A码的乘积和FFT: c/a码捕获就是找到c/a码的初始相位,然后用这个c/a码去乘以射频信号,得到射频连续信号,从而得到载频值,如下图:图中最上面的信号是连续输入的c/a码被射频信号调制的波形;中间的图是捕获中得到的c/a码初始相位,是本地产生的;下面图表示的用本地的c/a码乘以输入的c/a coded input ,即:把c/a的影响从载波里strip out最后就得到纯的载波信号,这就可以求载频的频率。

这里写图片描述

一旦得到上图的载波,就可以用fft来求频率。如果数据长度是1ms,那么fft的分辨率就是1khz。为什么呢?这样好理解啊。1ms的时间,可以表示的周期最长的信号也是1ms,也就是说如果有一个信号周期是2ms,那么在1ms的时间内只有半个周期,因此能表示的最小频率就是1/1ms=1khz,这也是fft的分辨率,所谓分辨率就是最小可以表示的频率。继续讨论FFT找载波频率。如果采样率5mhz,那么在1ms中就包含了5000个采样点,因此就需要5000-point FFT。由于是实数输入,那么这5000个FFT就是 的,即:前面2500个点就包含了所有的信息。由于频率分辨率是1khz,那么2500个点就可以表示2.5mhz的信息,这么看fft还是线性的,如果有的频率变化快,有的频率变化慢,这就不行了。突然感觉自己以前对dsp的理解太low了,只知道记公式,公式是美丽,但是物理意义才更美丽,这是题外话!刚才说可以表示2.5mhz的信息,但是我们其实关心的只是多普勒频偏,而不是整个载频,也就是20khz的范围,那么显然2.5mhz就太多了,因此:直接的方法就是只需要计算21个输出值,用dft即可。

这样做的话,可以节省大量时间和能量,比如:输入的c/a码和本地的c/a码在1ms内需要做乘法,由于有5000个采样点,每移动一次就要做5000次乘法和55000-point FFT,所以需要做5000×5000次FFT,这么看数据量就太大了,而如果只做21-point DFT,那么就只需要5000*21次DFT。用上面的dft的方法,由于需要用本地产生的c/a码和输入的c/a码每移动一位都做乘法和fft,然后找频率的超过pre- 中的最大值,如果找到最大值,就可以把现在的本地的c/a码的位置记录下来,这就是c/a码的开头。而且,由于码片的是200ns,也就是说找到的c/a码的开头有200ns的分辨率,或者说200ns的误差,而且由于整个data的长度是1ms,所以多普勒频率的分辨率就是1khz. 这个思路可以很容易: 现在我们考虑10ms的data,那么由于采样率不变,所以时间分辨率还是200ns,但是由于10ms和1ms相比,允许周期更长的信号出现,即:最多可以有10ms为周期的信号,因此频率分辨率就是100hz,能得到这个100hz的是要付出很大代价的,因为现在我们需要做50,000-, 而之前只需要5000-point FFT,而fft长度增加10倍,复杂度增加会超过10倍,所以整个复杂度不是线性增加的!time :这才是第二种方法,除了用fft来做,还可以用时域相关的方法来做。这个方法本地产生的c/a码不再是简单的c/a码,还把RF信号加入在里面。由于采样后的信号的载波是1.25mhz,那么考虑频偏在+/-10khz,那么就有21中可能的RF信号可能性,所以本地产生的信号就是如下:

_笔记读书网_笔记读书笔记

其中,Cs代表24颗卫星中某一颗的c/a码,注意:这里都是认为已知卫星的c/a码,只是不知道初始相位,fi代表不同的射频频率,如:1250-10,1250-9,1250-8,…,1250+10khz,也就是这些不同的频率是考虑了多普勒。产生了这个本地信号后,仍然需要数字化成5mhz的数据,即:每1ms仍然是5000-point,这些点和输入数据相关,所谓相关,就是乘累加,如果本地的c/a码包含正确的c/a码和正确的频率,那么相关结果就会成高,产生一个峰值。如下图:

这里写图片描述

这个过程是这样的,每200ns,输入的数据就多收到一个,就把现在的5000个输入的复数和local的5000个复数做相关得到的一个复数,把这个复数的幅度计算出来就代表现在的相关结果。所以,5000个数据输入,就需要做5000次的这样的乘法,也得到5000个幅度值,那么21路并行的处理,就得到21*5000个幅度值,选取最大并cross the 的值,此时对应的fi就是接收到的信号的fi,此时的数据的起始相位就是Cs的相位。相位这个,怎么理解?由于已知24颗卫星的c/a码初始相位,所以上面的Cs的初始相位都是已知的固定的,所以需要移动接收到的射频数据和本地的c/a码做所有可能的尝试,确实很傻,不过1ms内最多尝试5000次,总能试出来找到正确的相位,如果相关出现峰值,就说明此时接收到的信号的c/a码的相位和本地的对齐,且接收到的c/a码的初始相位就是我们实验用的Cs的初始相位。继续讨论time .这个方法本质就是做dft,和fft相比,这个方法更快,因为只需要遍历所有可能的相位和所有可能的频率偏移的组合,按照边界说,这个方法就是先找到解空间的具体的边界,然后遍历每一个可能的解,而之前基于FFT的方法则是盲计算,导致计算复杂度很高,所以好的方法总是搞清楚问题的边界,就在边界内求解!由于时域相关的方法得到的结果频率分辨率只有1khz,因为只用1ms的数据做dft,所以只有1khz.书上说,这个频率还不够精确,不能直接送到 ,还需要提高进度,如何进一步提高进度?在 7.10讨论。拭目以待!继续讨论捕获。现在介绍关于相关的一些基本知识: and . 圆周卷积和圆周相关。在连续时间域,有如下关系:

也就是说:时域卷积,频率相称;频域卷积,时域就相称。你看,为啥叫卷积,因为还是个积,只是换了一个域,或者说换了一个观察问题的角度。这个性质在离散时间域也有类似的,但又不一样,不是线性卷积,而是圆周卷积。相关和卷积也很相似,如下图:

这里写图片描述

这里写图片描述

稍微一看,就知道,卷积和相关就差一个符号,所以在频域也很相似。再看下面公式,有个疑问,即使下面成立,也不能认为相位关系也是这样的吧,因为下面公式只表示了幅度关系。

现在利用 来完成前面的time-相关。很简单:

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了