一种GPS卫星信号捕获方法及系统与流程

文档序号:17531367发布日期:2019-04-29 13:32阅读:287来源:国知局
一种GPS卫星信号捕获方法及系统与流程

本发明属于gps基带信号计算领域,涉及一种gps卫星信号捕获方法及系统。



背景技术:

随着gps接收机在一些关键场合的应用,对其精度和资源占用要求也越来越苛刻,而捕获环节的精确度和资源占用程度直接影响接收机精度和资源占用性能指标。

现有的gps基带信号计算中的载波捕获精度低,造成跟踪锁定压力大,导致失锁时间长,影响解算结果的精度。提高捕获精度的困难在于:提高捕获精度会延长捕获周期,导致捕获的码相位失效,因为码相位的变化率是载波频率变化率的数倍。



技术实现要素:

本发明的目的在于克服上述现有技术的缺点,提供一种gps卫星信号捕获方法及系统,在保证码相位并行捕获实时性的同时,提高了载波频率的捕获精度。

为达到上述目的,本发明采用以下技术方案予以实现:

一种gps卫星信号捕获方法,包括以下步骤;

步骤一,进行32颗卫星的粗捕获;具体为采用500hz步长扫描载波频率的方法,对32颗卫星全部扫描,全部扫描完成为一轮,重复若干轮,直到能够在32颗卫星中,选取出至少前5颗捕获成功次数最多的卫星;

步骤二,对步骤一中选取的卫星进行精捕获;具体为先进行扫描步长为10hz载波频率捕获,对步骤一中选取的卫星全部扫描;再进行扫描步长为500hz的c/a码相位捕获,对步骤一中选取的卫星全部扫描;选取出前四个捕获成功次数最多的卫星。

优选的,粗捕获和精捕获的卫星捕获步骤相同,具体为:

步骤1,数字中频信号分为两路分别输入至乘法器i和乘法器q中;

步骤2,数字控制振荡器输出正弦数据至乘法器i中,数字控制振荡器输出余弦数据至乘法器q中;

步骤3,乘法器i将数字中频信号与数字控制振荡器输出的正弦数据进行乘积后输出;乘法器q将数字中频信号与数字控制振荡器输出的余弦数据进行乘积后输出;

步骤4,将乘法器i和乘法器q输出的数据汇合后,进行快速傅里叶变换计算,计算结果输入至乘法器z中;

步骤5,将卫星c/a码发生器输出的c/a码依次进行快速傅里叶变换计算和复数共轭计算后,输入至乘法器z中;乘法器z将两组数据进行乘积后输出;

步骤6,对乘法器z输出的数据进行快速傅里叶逆变换计算;

步骤7,对快速傅里叶逆变换计算后的数据进行取模运算后,将超过阈值的最大值对应的数据输进行记录,并向dsp发出中断请求,等待dsp读取结果。

进一步,步骤4包括以下步骤;

步骤4.1,乘法器i和乘法器q输出数据分别经过四路累加器,将数据进行减采样计算;

步骤4.2,乘法器i连接的四路累加器和乘法器q连接的四路累加器两两为一组,四组数据依次进行快速傅里叶变换计算,每组运算结果分实部和虚部,分别存入两个为一组的双口ram中;

步骤4.3,乘法器z采用复数乘法器,四组双口ram的值依次被读出,送入三个复数乘法器中。

再进一步,步骤4.1,每组四路累加器中,每个累加器的起始位相差四个地址。

再进一步,数字中频信号与乘法器i和乘法器q之间,分别设置有双口ram,两个双口ram的读出时钟均为125mhz。

再进一步,每个累加器的输出数据进行快速傅里叶变换计算前,均先经过fifo储存器。

进一步,步骤5中,卫星数量为九个,三个复数乘法器分别将三颗卫星c/a码快速傅里叶变换计算后的共轭值与各组双口ram的相乘,结果输出至下一项;执行完毕后,三个复数乘法器再分别将另外三颗卫星c/a码快速傅里叶变换计算后的共轭值与各组双口ram的相乘,结果输出至下一项;执行完毕后,三个复数乘法器再分别将剩余三颗卫星c/a码快速傅里叶变换计算后的共轭值与各组双口ram的相乘,结果输出至下一项。

再进一步,步骤7中,对快速傅里叶逆变换计算后数据分实部和虚部,分别进行平方和,统计各卫星最大平方和值,并与设定的阈值进行对比,判断是否超过阈值,将超过阈值的最大值、及其卫星编号、对应的c/a码相位、载波频率的频点和序列编号进行记录,并向dsp发出中断请求,等待dsp读取结果。

一种gps卫星信号捕获系统,基于上述的任意一种方法,包括数字控制振荡器和fpga;

所述fpga包括用于接收数字中频信号的乘法器i和乘法器q、用于进行快速傅里叶变换计算的第一ip核、乘法器z、用于储存所有卫星c/a码快速傅里叶变换的复数共轭的rom、用于进行快速傅里叶逆变换计算的第二ip核和用于进行取模运算的逻辑运算单元;

数字控制振荡器输出端分别连接乘法器i和乘法器q的输入端,乘法器i和乘法器q的输出端均与第一ip核的输入端连接,第一ip核的输出端依次连接乘法器z、第二ip核和逻辑运算单元;逻辑运算单元输出端连接dsp;rom输出端与乘法器z输入端连接。

优选的,乘法器i和乘法器q的输入端分别连接双口rama和双口ramb,乘法器i和乘法器q的输出端分别连接有四个累加器的输入端,每个累加器的输出端连接有fifo储存器的输入端,属于乘法器i分路的四个fifo储存器和属于乘法器q分路的四个fifo储存器之间两两为一组,四组fifo储存器输出端与第一ip核输入端连接,第一ip核输出端分别连接有四组双口ram输入端,双口ram两个为一组;

乘法器z采用复数乘法器;四组双口ram输出端均连接有三个复数乘法器的输入端,复数乘法器输出端连接第二ip核输入端;rom输出端分别与三个复数乘法器的输入端连接。

与现有技术相比,本发明具有以下有益效果:

本发明首次提出采用不同的多普勒频移搜索步长,精捕获时分别对接收载波频率和码相位进行捕获,通过码相位变化速率高于载波频率变化的特点,提出大步长和小步长相结合的方法:首先采用大步长进行频移和码相位的粗捕获,然后进行精捕获,精捕获首先采用小步长进行载波频率的捕获,然后采用大步长进行码相位的精捕获,将两者捕获的结果作为捕获的最终结果,这样做的优点在于不影响码相位精度的前提下,将捕获精度从500hz提高到10hz,在提高捕获精度的同时,节约捕获时间,保证了捕获到码相位的实时性、有效性。

进一步,将乘法器i和乘法器q输出的一个队列分别变成四个新队列,再进行减采样计算,从而减少了快速傅里叶变换和快速傅里叶逆变换所需的储存器数量,降低了资源的占用,有益于降低功耗,提高可靠性;同时,省下的资源可以去实现更多的功能。

进一步,每个新队列的起始位相差四个地址,以保证捕获成功时,四个队列中,有一个队列中的码相位能和本地复制码相位非常接近,不影响捕获效果。

进一步,将输入至乘法器i和乘法器q数据的时钟频率提高到125mhz,使得快速傅里叶变换和快速傅里叶逆变换在每个1ms周期内能够被多次调用,从而提高了资源利用率。

进一步,在每个累加器输出端设置fifo储存器,保证给快速傅里叶变换计算提供125mhz连续输入数据。

附图说明

图1为本发明的并行码相位捕获框图;

图2为本发明的捕获模块结构框图;

图3为本发明的捕获载波频率值的跟踪结果图;

图4为本发明的捕获码相位值的跟踪结果图。

具体实施方式

下面结合附图对本发明做进一步详细描述:

如图1和图2所示,图中fft为快速傅里叶变换,ifft为快速傅里叶逆变换。

捕获卫星的具体步骤为:

步骤1,数字中频信号分为两路分别输入至乘法器i和乘法器q中;中频频率为4.188mhz,a/d采样率为16.384mhz,数据量为16384个/ms,数据宽度为3位,其中包括一位符号位。

数字中频信号与乘法器i和乘法器q之间,分别设置有双口rama和双口ramb,数字中频信号写入双口rama和双口ramb,写入时钟为16.384mhz,双口rama和双口ramb的读出时钟均为125mhz。

双口rama和双口ramb的存储数据长度均为16384,即各存储1ms的原始数据,这是为了与c/a码的1ms周期相对应,因为c/a码的周期为1ms,本来使用1ms的数据就可实现捕获,双口rama和双口ramb存贮相邻2ms的数据是为了避开50bit/s导航数据对捕获c/a码相位的影响,即如果第1个1ms期间出现了导航数据的变化边沿,那么第2ms就一定不会再出现此边沿,造成对捕获的影响。

步骤2,数字控制振荡器输出正弦数据至乘法器i中,数字控制振荡器输出余弦数据至乘法器q中;本地载波各频点的正弦和余弦波形的长度均为16384的采样序列。

步骤3,乘法器i将数字中频信号与数字控制振荡器输出的正弦数据进行乘积后输出;乘法器q将数字中频信号与数字控制振荡器输出的余弦数据进行乘积后输出;每个频点的16384个正弦值和余弦值,分别与双口rama和ramb的16384个数进行序列点乘,实现gps中频数据信号与本地载波的混频。

步骤4,将乘法器i和乘法器q输出的数据汇合后,进行快速傅里叶变换计算,计算结果输入至复数乘法器中。

具体为,乘法器i和乘法器q输出数据分别经过四路累加器,每组四路累加器中,每个累加器的起始位相差四个地址,以保证捕获成功时,四个队列中,有一个队列中的码相位能和本地复制码相位非常接近,不影响捕获效果;累加器将16384个数据减采样为1023个数据,此1023个数据进入与每个累加器一一对应的fifo储存器中,然后再从fifo储存器读出,采用fifo储存器的目的是保证给快速傅里叶变换计算提供125mhz连续输入数据。

乘法器i中的四路fifo储存器和乘法器q中的四路fifo储存器两两为一组,快速傅里叶变换采用基2突发式可缩放类型,四组fifo储存器读出的数据依次进行快速傅里叶变换计算,运算结果分实部、虚部分别存入与四组fifo储存器一一对应的四组双口ram中,每组双口ram数量为两个,四组双口ram的值依次被读出,送入三个复数乘法器中。

步骤5,乘法器z采用三个复数乘法器,将卫星c/a码发生器输出的c/a码依次进行快速傅里叶变换计算和复数共轭计算后,输入至三个复数乘法器中;三个复数乘法器将两组数据进行乘积后输出。

具体卫星数量为九个,三个复数乘法器分别将三颗卫星c/a码快速傅里叶变换计算后的共轭值与各组双口ram的相乘,结果输出至下一项;执行完毕后,三个复数乘法器再分别将另外三颗卫星c/a码快速傅里叶变换计算后的共轭值与各组双口ram的相乘,结果输出至下一项;执行完毕后,三个复数乘法器再分别将剩余三颗卫星c/a码快速傅里叶变换计算后的共轭值与各组双口ram的相乘,结果输出至下一项;其中每1ms,进行1个载波频点9个卫星c/a码的捕获。

步骤6,对乘法器z输出的数据进行快速傅里叶逆变换计算。

步骤7,对快速傅里叶逆变换计算后数据分实部和虚部,分别进行平方和,统计各卫星最大平方和值,并与设定的阈值进行对比,判断是否超过阈值,将超过阈值的最大值、及其卫星编号、对应的c/a码相位、载波频率的频点和序列编号进行记录,并向dsp发出中断请求,等待dsp读取结果。

通过减采样,采用四个队列,减少快速傅里叶变换的长度,降低资源占用;图2中,每1ms,乘法器i和乘法器q输出长度为16384的序列结果,如果将此结果直接进行快速傅里叶变换计算,需要在fpga内进行16384点的快速傅里叶变换计算,占用30个块存储资源,每块存储资源18kb,而且算法后续还需要提供三路16384点的快速傅里叶逆变换计算,共需占用120个块存储资源。为了减少资源占用,在本发明中,将一个队列变成四个新队列,每个新队列的起始位相差四个地址,以保证捕获成功时,四个队列中,有一个队列中的码相位能和本地复制码相位非常接近,最大不超过0.125个码片,不影响捕获效果。再将新队列的16384个数值,通过减采样,变成1023个数值,第1024个数值补零,进行快速傅里叶变换计算,四组fifo的输出数据依次进入1024点的快速傅里叶变换计算,而每个1024点的快速傅里叶变换计算或快速傅里叶逆变换计算,仅需要3个块存储器。故将一个快速傅里叶变换计算和三个快速傅里叶逆变换计算占用资源从120个块存储器降到12个块存储器,在保证码相位并行捕获方法实时性的前提下,资源占用降低90%。

对载波频率的捕获,采用10hz步长扫描载波频率,以较精确地确定载波频率,为后续的跟踪环节减轻压力;随即对码相位的捕获采用500hz步长扫描载波频率,可以在提高捕获精度的同时,节约捕获时间,保证了捕获到码相位的实时性、有效性。原因在于码相位变化率为3.16码片/秒,接收载波频率的变化率为0.93hz/秒,对码相位捕获时,如果依旧采用10hz步长扫描载波频率,则会造成扫描时间加长,影响对码片捕获的时间有效性和精度值,而跟踪环节对码片捕获精度值的估计误差要求必须在0.5个码片之内。

gps卫星信号捕获步骤为:

步骤一,进行32颗卫星的粗捕获;具体为采用数字控制振荡器输出500hz步长扫描载波频率的方法,重复步骤1~7,对32颗卫星全部扫描,全部扫描完成为一轮,每轮捕获具体为利用9个逻辑通道,扫描9颗卫星,32颗卫星需要一轮扫描需要分4次完成,重复若干轮,本实施例优选重复10轮,直到能够在32颗卫星中,选取出至少前5颗捕获成功次数最多的卫星,本实施例优选选取出前8颗捕获成功次数最多的卫星。

步骤二,对步骤一中选取的卫星进行精捕获;具体为先进行数字控制振荡器输出扫描步长为10hz载波频率捕获,重复步骤1~7,对步骤一中选取的卫星全部扫描;再进行数字控制振荡器输出扫描步长为500hz的c/a码相位捕获,重复步骤1~7,对步骤一中选取的卫星全部扫描;选取出前4颗捕获成功次数最多的卫星。

如图3所示,为本发明的捕获载波频率值的跟踪结果图,是将载波频率值作为跟踪的初始点进行跟踪的结果,i为真正的信号,q为噪声,i值达到最大,q值接近于零。

如图4所示,为本发明的捕获码相位值的跟踪结果图,是将码相位值作为跟踪的初始点进行跟踪的结果,l为滞后的码相位值,e为超前的码相位值,p为即时码相位值,e、l值接近相等,约等于p值的一半。

基于本发明所述方法,本实施例提供gps卫星信号捕获系统,包括数字控制振荡器和fpga。

所述fpga包括乘法器i、乘法器q、用于进行快速傅里叶变换计算的第一ip核、乘法器z、用于储存所有卫星c/a码快速傅里叶变换的复数共轭的rom、用于进行快速傅里叶逆变换计算的第二ip核和用于进行取模运算的逻辑运算单元。

用于数字中频信号输入的双口rama和双口ramb,双口rama和双口ramb的输出端分别连接乘法器i和乘法器q的输入端;数字控制振荡器输出端分别连接乘法器i和乘法器q的输入端。

乘法器i的输出端分别连接累加器i1、累加器i2、累加器i3和累加器i4的输入端,累加器i1、累加器i2、累加器i3和累加器i4的输出端分别连接fifo储存器i1、fifo储存器i2、fifo储存器i3和fifo储存器i4的输入端;乘法器q输出端分别连接累加器q1、累加器q2、累加器q3和累加器q4的输入端,累加器q1、累加器q2、累加器q3和累加器q4的输出端分别连接fifo储存器q1、fifo储存器q2、fifo储存器q3和fifo储存器q4的输入端。

fifo储存器i1和fifo储存器q1为一组,fifo储存器i2和fifo储存器q2为一组,fifo储存器i3和fifo储存器q3为一组,fifo储存器i4和fifo储存器q4为一组,四组fifo储存器的输出端均与第一ip核输入端连接,第一ip核输出端分别连接有四组双口ram输入端,每组双口ram的数量为两个。

乘法器z采用复数乘法器,四组双口ram输出端均连接有三个复数乘法器的输入端,复数乘法器输出端依次连接第二ip核、逻辑运算单元和dsp;rom输出端分别与三个复数乘法器的输入端连接。

以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1