一种高动态扩频信号捕获装置及捕获方法
阅读说明:本技术 一种高动态扩频信号捕获装置及捕获方法 (High-dynamic spread spectrum signal capturing device and capturing method ) 是由 李晓 王竹刚 于 2020-11-24 设计创作,主要内容包括:本发明属于扩频信号接收处理的技术领域,具体地说,涉及一种高动态扩频信号捕获装置,包括:FPGA芯片和设置在FPGA芯片上的频率搜索控制器、PRN码发生器、本地振荡器产生模块、第一FFT模块,第二FFT模块、第一复数乘法器、第二复数乘法器、第三复数乘法器、IFFT模块、峰值检测模块、数据处理模块和计数器;所述数据处理模块,用于根据判决结果,获取当前捕获的码相位;并结合下一次捕获得到的码相位,得到捕获时的码相位,完成对高动态扩频信号的捕获。(The invention belongs to the technical field of spread spectrum signal receiving and processing, and particularly relates to a high dynamic spread spectrum signal capturing device, which comprises: the system comprises an FPGA chip, and a frequency search controller, a PRN code generator, a local oscillator generation module, a first FFT module, a second FFT module, a first complex multiplier, a second complex multiplier, a third complex multiplier, an IFFT module, a peak detection module, a data processing module and a counter which are arranged on the FPGA chip; the data processing module is used for acquiring the currently captured code phase according to the judgment result; and combining the code phase obtained by the next acquisition to obtain the code phase during acquisition, and completing the acquisition of the high dynamic spread spectrum signal.)
技术领域
本发明属于空间飞行器上设备高动态扩频信号捕获的技术领域,具体地说,涉及一种高动态扩频信号捕获装置及捕获方法。
背景技术
由于飞行载体的高速运动,空间飞行器上导航接收机所接收到的导航信号通常会有较大的多普勒频移,而较大的多普勒偏移会给高动态扩频信号捕获带来以下问题:
问题一:大的多普勒偏移增加了扩频信号捕获中多普勒搜索范围,增长了捕获时间。较长的捕获时间会使捕获到的码相位发生码相位漂移,捕获到伪码相位时刻与伪码相位输出时刻并非同一时刻。
其中,码相位漂移是指,由于在捕获过程中,捕获到的时刻和结果输出的时刻是有时间差的,而大的多普勒在搜索时需要消耗更多的时间,而在捕获过程中,捕获码相位是一直在向后搜索,也就是说,码相位是一直在变化的,我们在动态不高的情况下,将结果输出时刻近似于捕获时刻。而在高动态情况下,捕获时间长了,不能近似等同,因此,捕获到的时刻和结果输出时刻的码相位不一样。
问题二:多普勒偏移同时会造成接收信号的伪码速率变化。在导航信号的捕获过程中,使得本地伪码与输入伪码之间速率差距较大,影响捕获结果。
在捕获的过程中,由于大多普勒的影响,输入伪码带有较大的多普勒,导致了输入伪码带有的码元被拉长或者压缩,码元长度发生了变化,而本地伪码的码元宽度是不变的。最佳的捕获方案是输入伪码和本地伪码的速率一致,码元宽度相等。因此,如果输入伪码由于大的多普勒影响导致输入伪码速率和本地伪码速率有很大差距时,难以获得精确的捕获结果。
现有的解决高动态扩频信号捕获的方法主要有PMF-FFT(Partial MatchedFilters-Fast Fourier Transform)基于部分匹配滤波器的快速傅里叶捕获方法)方法,但是,该方法存在消耗资源比较多,捕获时间长的问题。
发明内容
为解决现有技术存在的上述缺陷,本发明提出了一种高动态扩频信号捕获装置,解决高动态扩频信号捕获中伪码相位漂移问题以及本地伪码与输入伪码速率不一致问题;该装置包括:FPGA芯片和设置在FPGA芯片上的频率搜索控制器、PRN码发生器、本地振荡器产生模块、第一FFT模块,第二FFT模块、第一复数乘法器、第二复数乘法器、第三复数乘法器、IFFT模块、峰值检测模块、数据处理模块和计数器;
所述频率搜索控制器,用于实时产生搜索频率值并输出至PRN码发生器;
所述PRN码发生器,用于根据搜索频率值更改本地伪码的频率值,并输出更改频率值后的本地伪码并输出至第一FFT模块;其中,更改频率值后的本地伪码为伪码序列,其中包括多个伪码;
所述第一FFT模块,用于对更改后频率值后的本地伪码进行FFT变换,将更改后频率值后的本地伪码变换到频域,得到频域数据,并取频域数据的复共轭,输出第一输入数据,并输出至第三复数乘法器;
所述本地振荡器产生模块,用于产生sin数据和cos数据,将sin数据输出至第一复数乘法器;将cos数据输出至第二复数乘法器;
所述第一复数乘法器,用于将第一输入伪码与sin数据进行复乘运算,得到第一输入伪码数据并输出至第二FFT模块;
所述第二复数乘法器,用于将第一输入伪码与cos数据进行复乘运算,得到第二输入伪码数据并输出至第二FFT模块;
所述第二FFT模块,用于将第一输入伪码数据和第二输入伪码数据进行整合,得到整合后的输入伪码数据,并对其进行FFT操作,得到第二输入数据频域并输出至第三复数乘法器;
所述第三复数乘法器,用于将第一输入数据和第二输入数据频域进行复乘运算,得到第三输入数据并输出至IFFT模块;
所述IFFT模块,用于对第三输入数据进行IFFT变换,得到时域数据,对时域数据中的每个数据进行求绝对值处理,得到多个时域数值,进而得到多个模方并输出至峰值检测模块;
所述峰值检测模块,用于从多个模方中选取其中的最大值,对该最大值进行峰值检测判决,将判决结果输出至数据处理模块;
所述数据处理模块,用于根据判决结果,获取当前捕获的码相位;并结合下一次捕获得到的码相位,得到捕获时的码相位,完成对高动态扩频信号的捕获;
所述计数器,用于统计捕获过程的次数;其中,捕获过程的次数大于或等于2。
作为上述技术方案的改进之一,所述本地振荡器产生模块为载波发生器。
作为上述技术方案的改进之一,所述峰值检测模块的具体判决过程为:
如果该最大值大于或等于预先设定的门限阈值,则捕获成功,并将该最大值作为当前捕获的码相位P1,并将当前捕获的码相位P1发送至数据处理模块;
如果该最大值小于预先设定的门限阈值,则捕获失败。
作为上述技术方案的改进之一,所述数据处理模块的具体过程为:
根据当前捕获的码相位P1;并结合下一次捕获得到的码相位P2,计算前后相邻两次捕获得出的码相位差P2-P1,作为捕获高动态扩频信号的捕获时间,得到捕获时的码相位Pinitial=P1-(P2-P1),作为捕获时的初始相位值,完成对高动态扩频信号的捕获。
本发明还提供了一种高动态扩频信号捕获方法,该方法包括:
通过第一次捕获,得到所捕获的第一捕获伪码相位;
通过第二次捕获,得到所捕获的第二捕获伪码相位;
计算两次捕获得出的第一捕获伪码相位和第二捕获伪码相位的码相位差;
根据该码相位差,得到捕获时的码相位,实现高动态扩频信号的捕获。
作为上述技术方案的改进之一,所述通过第一次捕获,得到所捕获的第一捕获伪码相位;其具体过程为:
所述PRN码发生器根据搜索频率值更改本地伪码的频率值,并输出更改频率值后的本地伪码,并输出至第一FFT模块;
第一FFT模块对更改频率值后的本地伪码进行FFT变换,将更改频率值后的本地伪码变换到频域,得到频域数据,并取频域数据的复共轭,输出第一输入数据;
第二FFT模块将第一输入伪码数据和第二输入伪码数据进行整合,得到整合后的输入伪码数据,并对其进行FFT操作,得到第一输入数据频域;
所述第三复数乘法器将第一输入数据和第一输入数据频域进行复乘运算,得到第二输入数据;
所述IFFT模块对第二输入数据进行IFFT变换,得到第一时域数据,对第一时域数据中的每个数据进行求绝对值处理,得到多个第一时域数值,进而得到多个模方;
所述峰值检测模块从得到的多个模方中选取其中的最大值,对该最大值进行检测判决;
如果该最大值大于或等于预先设定的门限阈值,则捕获成功,并将该最大值作为第一次捕获码相位;
如果该最大值小于预先设定的门限阈值,则捕获失败。
作为上述技术方案的改进之一,第二输入数据频域的获取过程具体为:
本地振荡器产生模块产生sin数据和cos数据;
第一复数乘法器将输入伪码与sin数据进行复乘运算,得到第一输入伪码数据;
第二复数乘法器将输入伪码与cos数据进行复乘运算,得到第二输入伪码数据;
第二FFT模块将第一输入伪码数据和第二输入伪码数据进行整合,得到整合后的输入伪码数据,并对其进行FFT操作,得到第一输入数据频域。
作为上述技术方案的改进之一,所述通过第二次捕获,得到所捕获的第二捕获伪码相位;其具体过程为:
所述PRN码发生器根据搜索频率值更改本地伪码的频率值,并输出更改频率值后的本地伪码,并输出至第一FFT模块;
第一FFT模块对更改频率值后的本地伪码进行FFT变换,将更改频率值后的本地伪码变换到频域数据,取该频域数据的复共轭,输出第一输入数据;
第二FFT模块将第三输入伪码数据和第四输入伪码数据进行整合,得到整合后的输入伪码数据,并对其进行FFT操作,得到第二输入数据频域;
所述第三复数乘法器将第一输入数据和第二输入数据频域进行复乘运算,得到第三输入数据;
所述IFFT模块对第三输入数据进行IFFT变换,得到第二时域数据,对第二时域数据中的每个数据进行求绝对值处理,得到多个第二时域数值,进而得到多个模方;
所述峰值检测模块从得到的多个模方中选取其中的最大值,对该最大值进行峰值检测判决;
如果该最大值大于或等于预先设定的门限阈值,则捕获成功,并将该最大值作为第二次捕获码相位;
如果该最大值小于预先设定的门限阈值,则捕获失败。
作为上述技术方案的改进之一,所述根据该码相位差,得到捕获时的码相位,实现高动态扩频信号的捕获;其具体过程为:
所述数据处理模块根据判决结果,获取第一次捕获码相位P1;并结合第二次捕获得到的第二次捕获码相位P2,计算前后相邻两次捕获得出的码相位差P2-P1,作为捕获高动态扩频信号的捕获时间,得到捕获时的码相位Pinitial=P1-(P2-P1),作为捕获时的初始相位值,完成对高动态扩信号的捕获。
本发明与现有技术相比的有益效果是:
1、本发明解决了高动态情况下扩频信号捕获的出现的大的多普勒偏移增加了扩频信号捕获中多普勒搜索范围,增长了捕获时间的问题,以及多普勒偏移同时会造成接收信号的伪码速率变化的问题,以及在导航信号的捕获过程中,使得本地伪码与输入伪码之间速率差距较大,影响捕获结果的问题,在几乎不增加资源的前提下,仅采用二次捕获法,实现了高动态信号的捕获;
2、可以快速的进行高动态扩频信号的捕获,捕获时间短。
附图说明
图1是本发明的一种高动态扩频信号捕获装置的结构示意图;
图2是更改本地伪码的频率值的流程图;
图3是图2的码相位值和多普勒值组成的二维搜索原理图。
具体实施方式
现结合附图对本发明作进一步的描述。
如图1所示,本发明提供了一种高动态扩频信号捕获装置,该装置包括:FPGA芯片和设置在FPGA芯片上的频率搜索控制器、PRN码发生器、本地振荡器产生模块、第一FFT模块,第二FFT模块、第一复数乘法器、第二复数乘法器、第三复数乘法器、IFFT模块、峰值检测模块、数据处理模块和计数器;
所述PRN(pseudo random noise)码发生器,根据搜索频率值更改本地伪码的频率值,并输出更改频率值后的本地伪码并输出至第一FFT模块;其中,更改频率值后的本地伪码为伪码序列,其中包括多个伪码;
所述频率搜索控制器,用于实时产生搜索频率值,并输出至PRN码发生器;其中,该搜索频率值是在二维搜索过程中所搜索到的频率范围,如图1所示,由频率搜索控制器来产生。
所述第一FFT模块,用于对PRN码发生器输出的更改频率值后的本地伪码x(n)进行FFT变换,将更改频率值后的本地伪码x(n)变换到频域,得到频域数据X(k),取频域数据X(k)的复共轭,输出第一输入数据X(k)*,并输出至第三复数乘法器;
所述本地振荡器产生模块为载波发生器,用于产生sin数据和cos数据,将sin数据输出至第一复数乘法器;将cos数据输出至第二复数乘法器;
其中,sin数据为不同频率的正弦波;cos数据为不同频率的余弦波;产生sin数据和cos数据是用一个DDS(Direct Digital Synthesizer)发生器;其中,DDS发生器可以通过程序实现,也可以通过IP核实现。
所述第一复数乘法器,用于将第一输入伪码r(n)与载波发生器输出的sin数据进行复乘运算,得到第一输入伪码数据Q,并输出至第二FFT模块;
所述第二复数乘法器,用于将第一输入伪码r(n)与载波发生器输出的cos数据进行复乘运算,得到第二输入伪码数据I,并输出至第二FFT模块;
所述第二FFT模块,用于将第一输入伪码数据Q和第二输入伪码数据I进行整合,得到整合后的输入伪码数据S,并对其进行FFT操作,得到第一输入数据频域R(k);
所述第三复数乘法器,用于将第一输入数据X(k)*和第一输入数据频域R(k)进行复乘运算,得到第二输入数据L(k);
所述IFFT模块,用于对第二输入数据L(k)进行IFFT变换,得到第一时域数据l(n),对第一时域数据为l(n)中的每个数据l(1),l(2),l(3)…l(n)进行求绝对值处理,得到多个第一时域数值|l(1)|,|l(2)|,|l(3)|,…|l(n)|,进而得到多个模方|l(1)|2,|l(2)|2,|l(3)|2,…|l(n)|2;
所述峰值检测模块,用于对得到的多个模方|l(n)|2,选取其中的最大值,对该最大值进行峰值检测判决;
如果该最大值大于或等于预先设定的门限阈值,则捕获成功,并将该最大值作为当前捕获的码相位P1;
如果该最大值小于预先设定的门限阈值,则捕获失败;
所述数据处理模块,用于根据判决结果,获取当前捕获的码相位P1;并结合下一次捕获得到的码相位P2,计算前后相邻两次捕获得出的码相位差P2-P1,作为捕获高动态扩频信号的捕获时间,得到捕获时的码相位Pinitial=P1-(P2-P1),作为捕获时的初始相位值,完成对高动态扩频信号的捕获;
所述计数器,用于统计捕获过程的次数;其中,捕获过程的次数大于或等于2。
本发明提供了一种高动态扩频信号捕获方法,该方法包括:
通过第一次捕获,得到所捕获的第一捕获伪码相位P1;
具体地,所述PRN码发生器根据实时产生的搜索频率值,更改PRN码发生器产生的本地伪码的频率值,并输出更改频率值后的本地伪码x(n);其中,更改频率值后的本地伪码x(n)为伪码序列,其中包括多个伪码;
第一FFT模块对PRN码发生器输出的更改频率值后的本地伪码x(n)进行FFT变换,将更改频率值后的本地伪码x(n)变换到频域,得到频域数据X(k),取频域数据X(k)的复共轭,输出第一输入数据X(k)*;
第二FFT模块将第一输入伪码数据Q和第二输入伪码数据I进行整合,得到整合后的输入伪码数据S,并对其进行FFT操作,得到第一输入数据频域R(k);
具体地,本地振荡器产生模块产生sin数据和cos数据;其中,sin数据为不同频率的正弦波;cos数据为不同频率的余弦波;
第一复数乘法器将第一输入伪码r(n)与sin数据进行复乘运算,得到第一输入伪码数据Q;
第二复数乘法器将第一输入伪码r(n)与cos数据进行复乘运算,得到第二输入伪码数据I;
第二FFT模块将第一输入伪码数据Q和第二输入伪码数据I进行整合,得到整合后的输入伪码数据S,并对其进行FFT操作,得到第一输入数据频域R(k)。
所述第三复数乘法器将第一输入数据X(k)*和第一输入数据频域R(k)进行复乘运算,得到第二输入数据L(k);
所述IFFT模块对第二输入数据L(k)进行IFFT变换,得到第一时域数据l(n),对第一时域数据为l(n)中的每个数据l(1),l(2),l(3)…l(n)进行求绝对值处理,得到多个第一时域数值|l(1)|,|l(2)|,|l(3)|,…|l(n)|,进而得到多个模方|l(1)|2,|l(2)|2,|l(3)|2,…|l(n)|2;
所述峰值检测模块对得到的多个模方|l(n)|2,选取其中的最大值,对该最大值进行峰值检测判决;
如果该最大值大于或等于预先设定的门限阈值,则捕获成功,并将该最大值作为第一次捕获码相位P1;
如果该最大值小于预先设定的门限阈值,则捕获失败。
如果第一次捕获成功,则进行第二次捕获;通过第二次捕获,得到所捕获的第二捕获伪码相位P2;
具体地,所述PRN码发生器根据实时产生的搜索频率值,更改PRN码发生器产生的本地伪码的频率值,并输出更改频率值后的本地伪码x(n);其中,更改频率值后的本地伪码x(n)为伪码序列,其中包括多个伪码;
第一FFT模块对PRN码发生器输出的更改频率值后的本地伪码x(n)进行FFT变换,将更改频率值后的本地伪码x(n)变换到频域,得到频域数据X(k),取频域数据X(k)的复共轭,输出第一输入数据X(k)*;
第二FFT模块将第三输入伪码数据Q’和第四输入伪码数据I’进行整合,得到整合后的输入伪码数据S’,并对其进行FFT操作,得到第二输入数据频域R(k)1;
具体地,本地振荡器产生模块产生sin数据和cos数据;
第一复数乘法器将第二输入伪码r(n)1与sin数据进行复乘运算,得到第一输入伪码数据Q’;
第二复数乘法器将第二输入伪码r(n)1与cos数据进行复乘运算,得到第二输入伪码数据I’;
第二FFT模块将第一输入伪码数据Q’和第二输入伪码数据I’进行整合,得到整合后的输入伪码数据S’,并对其进行FFT操作,得到第二输入数据频域R(k)1。
所述第三复数乘法器,用于将第一输入数据X(k)*和第二输入数据频域R(k)1进行复乘运算,得到第三输入数据L(k)1;
所述IFFT模块对第三输入数据L(k)1进行IFFT变换,得到第二时域l(n)1,对第二时域数据为l(n)1中的每个数据l(1)1,l(2)1,l(3)1…l(n)1进行求绝对值处理,得到多个第二时域数值|l(1)|1,|l(2)|1,|l(3)|1…|l(n)|1,进而得到多个模方|l(1)|1 2,|l(2)|1 2,|l(3)|1 2…|l(n)|1 2;
所述峰值检测模块对得到的多个模方|l(n)1|2,选取其中的最大值,对该最大值进行检测判决;
如果该最大值大于或等于预先设定的门限阈值,则捕获成功,并将该最大值作为第二次捕获码相位P2;
如果该最大值小于预先设定的门限阈值,则捕获失败。
计算两次捕获得出的第一捕获伪码相位和第二捕获伪码相位的码相位差P2-P1,该码相位差为由于捕获时间和多普勒频偏导致的码相位漂移;
根据该码相位差,得到捕获时的码相位Pinitial=P1-(P2-P1),实现高动态扩频信号的捕获。
具体地,所述数据处理模块根据判决结果,获取第一次捕获码相位P1;并结合第二次捕获得到的第二次捕获码相位P2,计算前后相邻两次捕获得出的码相位差P2-P1,作为捕获高动态扩频信号的捕获时间,得到捕获时的码相位Pinitial=P1-(P2-P1),作为捕获时的初始相位值,完成对高动态扩信号的捕获。
本发明方法采用二次捕获方法,可以估计捕获码相位,解决了高动态条件下伪码相位漂移问题。用根据搜索频点更新本地伪码方法减小了本地伪码和输入伪码速率差,如图2所示,搜索控制器接收到来自多普勒搜索控制的当前频率搜索单元对应的搜索频率值,根据搜索频率值,实时更新伪码频率字,经相位累加器后,查找对应的码表,输出更改频率值后的本地伪码,使得捕获信号频点的本地伪码与输入伪码的伪码速率之差不大于1/2搜索步进。
如图2所示,根据实时产生的搜索频率点对应的搜索频率值更新PRN码发生器产生的本地伪码的频率值,缩小输入伪码的速率和本地伪码的速率之间的差距,获得精确的捕获时的码相位,从而提高捕获结果的精度。搜索控制器接收到来自多普勒控制的当前频率搜索单元对应的多普勒值,PRN码发生器接收到频率搜索控制器发送的更改频率值后的本地伪码,并输出更改频率值后的本地伪码;其中,更改后的本地伪码对应的频率值为当前频率搜索单元对应的多普勒值,根据搜索频点更新伪码频率字,经相位累加器后查找对应码表,输出当前频率搜索单元对应的更改频率值后的本地伪码。
如图3所示,是一个总体二维搜索过程的示意图,该搜索过程就是捕获过程;横坐标值为码相位搜索范围,纵坐标值为多普勒搜索范围,由于输入伪码的码相位和多普勒是未知的,但是可以肯定的是输入的码相位和多普勒在此范围内。扩频信号的捕获过程属于二维搜索,如图3所示,在多普勒这一维度搜索时,设定搜索范围-D到+D,频率步进为d,则搜索的顺序为0-+d、-d-0、+d-+2d、-2d--d、......。在每一个搜索区间,设定本地伪码的频率为此搜索区间的中间值。例如:搜索区间为+3d-+4d,则设定本地伪码频率为+3.5d。这样当搜索到输入伪码所在的多普勒区间时,本地伪码和输入伪码多普勒差距小于1/2d,所以减小了本地伪码和输入伪码的速率差。图3中所示的灰色方格表示捕获过程的初始位置;从这个初始位置开设,对每个多普勒值和对应的码相位开始逐一搜索,从而获取捕获时的码相位。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。