阵列式通道、GNSS接收机及其信号处理方法
技术领域
本发明涉及信号接收和处理技术领域,特别涉及一种阵列式通道、GNSS接收机及GNSS接收机的信号处理方法。
背景技术
全球导航卫星系统(GNSS,Global Navigation Satellite System)是一种以卫星为基础的无线电导航系统,它包括卫星星座、地面监控系统及用户终端设备,能为陆、海、空的各类载体提供全天候、不间断、高精度、实时导航定位服务。
随着GNSS逐步深入日常生活,尤其是在车载导航,移动互联网应用等领域基于位置的服务(LBS,Location Based Service)逐渐扮演越来越重要的角色,因此近年来大众市场对GNSS接收机各项性能指标的要求越来越苛刻,其中尤其以开机启动时间和动态跟踪灵敏度最为突出。为了设计满足使用指标的GNSS接收机,各种新算法、新技术和新架构层出不穷,这也使得GNSS接收机的系统架构越来越复杂,芯片面积越来越庞大,片内微控制器(MCU,Micro Controller Unit)资源调度任务越来越繁重。
图1为现有的一种GNSS接收机的系统结构,为简化起见,图1中只给出了单一通道的系统结构框图,实际GNSS接收机中往往存在若干个捕获模块与若干个跟踪通道,每个跟踪通道匹配有一组码鉴相器与码环路滤波器、载波鉴频器与载波环路滤波器、以及位同步器(也称比特同步器)。所有捕获模块和跟踪通道由同一个MCU调度。
从图1可以看出,MCU需要与各功能部件进行数据交换以估计当前各部件工作状态以及系统中卫星信号质量等信息,并根据这些信息做状态切换操作。捕获模块与跟踪通道都具有扩频码解扩功能,但捕获模块需要完成接收机的各种启动状态,而跟踪通道则需要提供稳定可靠的信号跟踪信息,并提交给MCU或外部设备进行定位操作。此外,由于需要高灵敏度信号跟踪,通常会在鉴频器与MCU之外设置一个协处理器,如数字信号处理器(DSP,DigitalSignal Processor),用以处理快速傅里叶变换(FFT,Fast Fourier Transformation)等复杂数学运算。
GNSS接收机中的数字信号处理功能需要由不同的数字电路或DSP模块承担,在进行各模块切换过程中,多种类且冗余的数字模块使得GNSS接收机的结构复杂且资源开销过大。
发明内容
本发明技术方案解决的技术问题是现有的GNSS接收机的结构复杂,且资源开销大。
为解决上述问题,本发明技术方案提供一种阵列式通道,包括:载波数控振荡器、若干数字下变频器、扩频码数控振荡器、扩频码发生器、扩频码移位寄存器组、若干相关器组、若干非相干累加器组和预处理单元;所述数字下变频器、相关器组和非相干累加器组的数量根据频率搜索范围确定;
所述载波数控振荡器用于接收频率控制数据和频率误差数据,输出载波振荡信号至所述若干数字下变频器;
所述数字下变频器用于接收所述载波数控振荡器输出的载波振荡信号,对输入信号进行下变频处理,输出基带信号至对应的相关器组;
所述扩频码数控振荡器用于接收扩频码控制数据和扩频码误差数据,输出扩频码时钟信号至所述扩频码发生器;
所述扩频码发生器用于接收所述扩频码数控振荡器输出的扩频码时钟信号,输出扩频码序列至所述扩频码移位寄存器组;
所述扩频码移位寄存器组包括多个移位寄存器,所述多个移位寄存器用于获取所述扩频码发生器输出的扩频码序列,向所述若干相关器组提供不同偏移量的本地参考码片;所述移位寄存器的数量根据扩频码搜索范围确定;
所述相关器组包括多个分别与移位寄存器对应的相关器,所述非相干累加器组包括多个分别于相关器对应的非相干累加器;
所述相关器用于对对应的所述数字下变频器输出的基带信号和对应的所述移位寄存器提供的本地参考码片进行解扩和相干累加运算;
所述非相干累加器用于对对应的所述相关器输出的相干累加运算结果进行非相干累加运算,以获得运算结果;
所述预处理单元用于在各运行状态时,对所述运算结果进行相应的预处理。
可选的,所述数字下变频器的数量、相关器组的数量和非相干累加器组的数量为3~5个。
可选的,所述移位寄存器的数量、相关器组中相关器的数量和非相干累加器组中非相干累加器的数量的取值范围为128~1023。
可选的,所述的阵列式通道还包括:相干累加控制单元,用于配置所述相关器的相干积分时间;非相干累加控制单元,用于配置所述非相干累加器的非相干积分时间。
本发明技术方案还提供一种GNSS接收机,包括:控制单元,至少一所述的阵列式通道,分别与所述阵列式通道对应的码鉴相器、码环路滤波器、载波鉴频器、载波环路滤波器和位同步器;
所述控制单元用于设置频率控制数据和扩频码控制数据,并控制所述阵列式通道的运行状态;
所述码鉴相器用于基于对应的阵列式通道输出的运算结果,输出扩频码误差信号;
所述码环路滤波器用于对对应的码鉴相器输出的扩频码误差信号进行滤波处理,获得扩频码误差数据并反馈至对应的阵列式通道;
所述载波鉴频器用于基于对应的阵列式通道输出的运算结果,输出频率误差信号;
所述载波环路滤波器用于对对应的载波鉴频器输出的频率误差信号进行滤波处理,获得频率误差数据并反馈至对应的阵列式通道。
可选的,所述阵列式通道的数量大于或等于可能捕获到的卫星的最多数量。
本发明技术方案还提供一种所述的GNSS接收机的信号处理方法,包括:在捕获状态,所述阵列式通道根据所述控制单元提供的频率控制数据和扩频码控制数据,在频率维度和码相位维度对输入信号进行解扩、相干积分和非相干积分运算,以获得运算结果;基于所述运算结果判断信号质量是否符合要求,若是,则所述控制单元将所述阵列式通道的运行状态从捕获状态切换为位同步状态;若否,则所述控制单元重新设置频率控制数据并提供至所述阵列式通道,以使所述阵列式通道重新对输入信号进行解扩、相干积分和非相干积分运算。
可选的,所述基于所述运算结果判断信号质量是否符合要求包括:所述预处理单元对所有非相干累加器输出的非相干累加运算结果进行大数判决,并计算非相干累加运算结果中的最大值与次大值的商是否大于或等于预设能量阈值。
可选的,所述基于所述运算结果判断信号质量是否符合要求包括:所述预处理单元将所有非相干累加运算结果发送至控制单元;所述控制单元对所有非相干累加运算结果进行大数判决,并计算非相干累加运算结果中的最大值与次大值的商是否大于或等于预设能量阈值。
本发明技术方案还提供一种所述的GNSS接收机的信号处理方法,包括:在位同步状态,所述阵列式通道根据所述控制单元提供的频率控制数据和扩频码控制数据、所述载波环路滤波器反馈的频率误差数据和所述码环路滤波器反馈的扩频码误差数据,在频率维度和码相位维度对输入信号进行解扩、相干积分和非相干积分运算,以获得运算结果;所述码鉴相器根据对应的阵列式通道发送的运算结果,输出扩频码误差信号;所述码环路滤波器对对应的码鉴相器输出的扩频码误差信号进行滤波处理,获得扩频码误差数据并反馈至对应的阵列式通道;所述载波鉴频器接收对应的阵列式通道发送的运算结果,输出频率误差信号;所述载波环路滤波器对对应的载波鉴频器输出的频率误差信号进行滤波处理,获得频率误差数据并反馈至与对应的阵列式通道;所述位同步器接收对应的阵列式通道发送的运算结果,进行比特边界搜索,当搜索到比特边界时,发送通知信号至所述控制单元;所述控制单元在接收到所述通知信号后,将与所述位同步器对应的阵列式通道的运行状态从位同步状态切换为跟踪状态。
可选的,所述预处理单元选择每组非相干累加器组的中间部分的多个非相干累加器的运算结果发送至对应的码鉴相器和载波鉴频器;所述预处理单元选择每组非相干累加器组的中间部分的一个非相干累加器的运算结果发送至对应的位同步器。
本发明技术方案还提供一种所述的GNSS接收机的信号处理方法,包括:在跟踪状态,所述阵列式通道根据控制单元提供的频率控制数据和扩频码控制数据、所述载波环路滤波器反馈的频率误差数据和所述码环路滤波器反馈的扩频码误差数据,在频率维度和码相位维度对输入信号进行解扩、相干积分和非相干积分运算,以获得运算结果;所述码鉴相器根据对应的阵列式通道发送的运算结果,输出扩频码误差信号;所述码环路滤波器对对应的码鉴相器输出的扩频码误差信号进行滤波处理,获得扩频码误差数据并反馈至对应的阵列式通道;所述载波鉴频器接收对应的阵列式通道发送的运算结果,输出频率误差信号;所述载波环路滤波器对对应的载波鉴频器输出的频率误差信号进行滤波处理,获得频率误差数据并反馈至与对应的阵列式通道;基于所述运算结果判断信号是否中断,若是,则所述控制单元重新设置扩频码控制数据,并将所述阵列式通道的运行状态从跟踪状态切换为重捕状态;若否,则继续基于运算结果判断信号是否中断。
可选的,所述基于所述运算结果判断信号是否中断包括:所述预处理单元根据非相干累加运算结果确定信号的峰值分布情况,以此判断信号是否中断。
可选的,所述基于所述运算结果判断信号是否中断包括:所述预处理单元将所有非相干累加运算结果发送至所述控制单元;所述控制单元根据非相干累加运算结果确定信号的峰值分布情况,以此判断信号是否中断。
可选的,所述预处理单元选择每组非相干累加器组的中间部分的多个非相干累加器的运算结果发送至对应的码鉴相器和载波鉴频器;所述预处理单元选择每组非相干累加器组的中间部分的一个非相干累加器的运算结果发送至对应的位同步器。
本发明技术方案还提供一种所述的GNSS接收机的信号处理方法,包括:在重捕状态,所述阵列式通道根据控制单元提供的频率控制数据和扩频码控制数据,在频率维度和码相位维度对输入信号进行解扩、相干积分和非相干积分运算,以获得运算结果;基于所述运算结果判断信号质量是否符合要求,若是,则所述控制单元将所述阵列式通道的运行状态从重捕状态切换为跟踪状态;若否,则所述控制单元将所述阵列式通道的运行状态从重捕状态切换为空闲状态。
可选的,所述基于所述运算结果判断信号质量是否符合要求包括:所述预处理单元对所有非相干累加器输出的非相干累加运算结果进行大数判决,并计算非相干累加运算结果中的最大值与次大值的商是否大于或等于预设能量阈值。
可选的,所述基于所述运算结果判断信号质量是否符合要求包括:所述预处理单元将所有非相干累加运算结果发送至控制单元;所述控制单元对所有非相干累加运算结果进行大数判决,并计算非相干累加运算结果中的最大值与次大值的商是否大于或等于预设能量阈值。
与现有技术相比,阵列式通道包括数字下变频器、相关器组和非相干累加器组,实现了信号在码相位和频率这两个维度的搜索和稳定跟踪,复用了捕获和跟踪资源,能够大大简化系统运行状态并达到理想的捕获与跟踪性能。
具有所述阵列式通道的GNSS接收机,没有捕获模块与跟踪通道之分,所有阵列式通道既可用于捕获也可用于跟踪,单一阵列式通道兼容各种启动模式,由此简化了GNSS接收机的结构,避免了控制单元调度和控制过于复杂以及各模块切换带来的资源冗余问题,并且能够完成高性能捕获与高灵敏度跟踪。
附图说明
图1是现有的一种GNSS接收机的结构示意图;
图2是一种采用匹配滤波+FFT算法的捕获模块的信号处理过程示意图;
图3是一种采用FFT+IFFT算法的捕获模块的信号处理过程示意图;
图4是一种位同步状态时的信号处理过程示意图;
图5是本发明实施例的GNSS接收机的结构示意图;
图6是本发明实施例的GNSS接收机中的阵列式通道的结构示意图;
图7至图10是本发明实施例的GNSS接收机在各运行状态的信号处理方法的流程示意图。
具体实施方式
分析现有的GNSS接收机的设计结构,主要有两个模块造成GNSS接收机结构复杂,资源开销过大:一是捕获模块,二是外置的协处理器。
具体来说,常用的捕获模块有两种,一种是采用匹配滤波+FFT算法的捕获模块,其在捕获状态时的信号处理流程通常如图2所示;另一种是采用FFT+IFFT算法的捕获模块,其在捕获状态时的信号处理流程通常如图3所示。两种捕获模块存在一个共同的问题就是,数字下变频之后需要一个极大存储量的缓存(Buffer)用于存储足够积分时间长度的采样数据。因此,这两种算法的相干积分时间和非相干积分时间受制于数字下变频之后的缓存大小。当MCU调度系统认为当前时刻需要长时间积分,如400ms,用以捕获弱信号卫星时,则大约需要近5Mbits用于存储下变频数据。若算上相干积分与非相干积分缓存及FFT内部流水线缓存,则所消耗的缓存数量更大。
即使GNSS接收机设计中将缓存资源充分考虑,足以确保长时间积分所需数据量,但这种先存储数据再事后处理的方式存在一个明显缺陷,即当接收机处于某些信号极弱区域的一瞬间缓存被写满,则该次搜索步骤实质上全部无效,浪费了非常宝贵的开机启动时间。
当进行长时间相干积分、非相干积分时,捕获模块由于预先以固定码率将扩频码存于缓存中而忽略了扩频码自身由卫星运动引起的多普勒频移,因此难以达到预期的扩频增益,影响捕获性能。此外,采用匹配滤波+FFT的捕获模块在捕获状态时不需要遍历所有多普勒仓(Doppler Bin)时也明显造成资源浪费。
当系统处于捕获及位同步状态时,协处理器无法参与信号处理,通常在位同步状态时,是采用如图4所示的叉积鉴频法加上传统鉴相器进行信号跟踪,其中,中频处理单元的输入是射频端接收到的信号经过一次下变频和模数转换(ADC)采样后的信号。而当系统进入跟踪状态后,协处理器才开始参与信号处理,此时MCU需搜集相关器输出结果,整理成FFT输入数据送FFT协处理器,并读取FFT输出结果,计算频率偏差,反馈至数字基带中的数控振荡器(NCO,Numerical Controlled Oscillator)模块,数据交互及运算量都非常大。
此外,跟踪通道中通常放置多组相关器,其功能与捕获模块中的相关器相似,造成资源浪费。但多数情况下,跟踪通道中的相关器很难简化,因其主要有如下作用:当信号出现闪断或者接收机经过隧道等信号暂时中断的情况,需要利用跟踪通道对信号进行重捕,此时,捕获模块的作用有限,但跟踪通道处于全速运行状态,造成资源浪费;在稳定跟踪状态下,信号跟踪质量判决需使用跟踪通道中的多组相关器完成。
综合上述分析,现有的GNSS接收机中多种类且冗余的数字模块会带来如下若干种矛盾:捕获模块与跟踪通道资源冗余的矛盾;捕获模块与接收机各种启动模式兼容的矛盾;捕获性能与系统资源开销之间的矛盾;各电路模块状态跳转与片内MCU状态机复杂度之间的矛盾;高灵敏度跟踪与系统资源开销之间的矛盾;捕获模块的灵活性,尤其是适应不同积分长度以及载波与扩频码多普勒补偿等与系统资源之间的矛盾。
从根本上说,GNSS接收机需要解决的基本问题就是一个二维搜索及锁定的过程:搜索码相位维度的偏移量;搜索由卫星运动引起的频率维度的偏移量,即多普勒频偏;利用跟踪算法,使复现的本地信号在码相位和频率这两个维度中维持准确性。综合上述分析,本发明技术方案提出了一种GNSS接收机,通过阵列式通道实现两个维度的搜索和锁定。
如图5所示,本发明实施例的GNSS接收机包括:控制单元1、至少一阵列式通道2、分别与所述阵列式通道匹配的码鉴相器3、码环路滤波器4、载波鉴频器5、载波环路滤波器6及位同步器7。
所述阵列式通道2的数量根据可能捕获到的卫星的最多数量确定,所述码鉴相器3、码环路滤波器4、载波鉴频器5、载波环路滤波器6及位同步器7的数量分别与所述阵列式通道的数量的相同,也即,每一阵列式通道2对应一个码鉴相器3、一个码环路滤波器4、一个载波鉴频器5、一个载波环路滤波器6及一个位同步器7。通常,阵列式通道2的数量大于或等于卫星的最多数量。举例来说,一般GPS卫星最多可以为32颗,则可以设置32个阵列式通道。或者,为了提高捕获性能,还可以设置更多的阵列式通道,使用2~3个阵列式通道去捕获一颗卫星。
所述控制单元1用于调度所述至少一阵列式通道2,以控制所述阵列式通道2的运行状态,所述运行状态至少包括捕获状态、位同步状态、跟踪状态和重捕状态,还用于设置频率控制数据和扩频码控制数据。所述控制单元1可以为MCU。
所述阵列式通道2用于基于输入信号、所述码环路滤波器4反馈的扩频码误差数据和所述载波环路滤波器6反馈的频率误差数据,在码相位维度和频率维度进行解扩、相干积分运算和非相干积分运算,以获得运算结果。所述输入信号为GNSS接收机的射频端接收到的信号经下变频和ADC采样后得到的信号。
所述码鉴相器3用于基于对应的阵列式通道2输出的运算结果,检测当前复现的本地信号的扩频码与所述输入信号的扩频码之间的误差,以输出扩频码误差信号。所述当前复现的本地信号由与所述码鉴相器3匹配的阵列式通道2输出。
所述码环路滤波器4用于对对应的码鉴相器3输出的扩频码误差信号进行滤波处理,获得扩频码误差数据并反馈至与所述码环路滤波器4匹配的阵列式通道2。
所述载波鉴频器5用于基于对应的阵列式通道2输出的运算结果,检测当前复现的本地信号的载波频率与所述输入信号的载波频率之间的误差,以输出频率误差信号。
所述载波环路滤波器6用于对对应的载波鉴频器5输出的频率误差信号进行滤波处理,获得频率误差数据并反馈至与所述载波环路滤波器6匹配的阵列式通道2。
所述位同步器7用于基于对应的阵列式通道2输出的运算结果,进行比特边界(bit boundary)搜索,当搜索到比特边界则向所述控制单元1发出通知信号。
所述码鉴相器3、码环路滤波器4、载波鉴频器5、载波环路滤波器6及位同步器7的结构可以采用现有技术,特别地,所述码鉴相器3、码环路滤波器4、载波鉴频器5、载波环路滤波器6及位同步器7的算法可以以硬件形式固化在电路中,例如可以采用FPGA、ASIC等实现,并向控制单元1提供参数寄存器配置接口。
下面结合图6进一步对本发明实施例的阵列式通道2的结构进行详细说明。
图6示出了一个阵列式通道2的具体结构,包括:载波数控振荡器21、若干数字下变频器22、扩频码数控振荡器31、扩频码发生器32、扩频码移位寄存器组33、若干相关器组41、若干非相干累加器组42和预处理单元51。
所述载波数控振荡器21用于接收所述控制单元1发送的频率控制数据和载波环路滤波器6反馈的频率误差数据,输出载波振荡信号至所述若干数字下变频器22。载波振荡信号分I、Q两路送入数字下变频器22,且输出至各数字下变频器22的载波振荡信号的频率是不同的。
所述数字下变频器22用于接收所述载波数控振荡器21输出的载波振荡信号,对输入信号进行下变频处理,输出基带信号至所述相关器组41。所述数字下变频器22的数量主要根据频率搜索范围确定,并兼顾芯片资源开销。一般,数字下变频器22的数量可以为3~5个。
所述扩频码数控振荡器31用于接收所述控制单元1发送的扩频码控制数据和码环路滤波器6反馈的扩频码误差数据,输出扩频码时钟信号至所述扩频码发生器32。
所述扩频码发生器32用于接收所述扩频码数控振荡器31输出的扩频码时钟信号,输出扩频码序列至所述扩频码移位寄存器组33。
所述扩频码移位寄存器组33包括n个移位寄存器R1、R2、R3、R4……、R(n-3)、R(n-2)、R(n-1)、Rn,所述n个移位寄存器R1、R2、R3、R4……、R(n-3)、R(n-2)、R(n-1)、Rn用于获取所述扩频码发生器32输出的扩频码序列,向所述若干相关器组41提供不同偏移量的本地参考码片。n主要根据扩频码搜索范围确定,并兼顾芯片资源开销。一般,n的取值范围可以为128~1023。
所述相关器组41与所述数字下变频器22对应,所述非相干累加器组42与所述相关器组41对应,即所述相关器组41的数量与所述数字下变频器22的数量相同,所述非相干累加器组42的数量与所述相关器组41的数量相同。每一相关器组41包括n个相关器C1、C2、C3、C4……、C(n-3)、C(n-2)、C(n-1)、Cn,n个相关器C1、C2、C3、C4……、C(n-3)、C(n-2)、C(n-1)、Cn分别与n个移位寄存器R1、R2、R3、R4……、R(n-3)、R(n-2)、R(n-1)、Rn对应。每一非相干累加器组42包括n个非相干累加器NC1、NC2、NC3、NC4……、NC(n-3)、NC(n-2)、NC(n-1)、NCn,n个非相干累加器NC1、NC2、NC3、NC4……、NC(n-3)、NC(n-2)、NC(n-1)、NCn分别与n个相关器C1、C2、C3、C4……、C(n-3)、C(n-2)、C(n-1)、Cn对应。
所述相关器用于对对应的所述数字下变频器输出的基带信号和对应的所述移位寄存器提供的本地参考码片进行解扩和相干累加运算。所述非相干累加器用于对对应的所述相关器输出的相干累加运算结果进行非相干累加运算,以获得运算结果。非相干累加运算用以进一步拉高有用信号的增益。
所述预处理单元51用于在各运行状态时,对所述运算结果进行相应的预处理,以在不同的运行状态输出相应的信息和运算结果;具体地,在捕获状态时向所述控制单元1输出捕获信息,在位同步状态时分别向所述码鉴相器3、载波鉴频器5和位同步器7发送相应的运算结果,在跟踪状态时分别向所述码鉴相器3和载波鉴频器5发送相应的运算结果以及向所述控制单元1输出信号质量判决信息。
所述预处理单元51的一种具体实施是,所述预处理单元51包括判决子单元和判断子单元,所述判决子单元用于对所有非相干累加器输出的非相干累加运算结果进行大数判决,以获得判决结果;所述判定子单元用于根据判决结果判定当前信号质量,以输出控制信号至控制单元1。相应地,所述控制单元1根据所述预处理单元51发送的控制信号,控制阵列式通道2的运行状态。
所述预处理单元51的另一种具体实施是,所述预处理单元51包括判决子单元,用于对所有非相干累加器输出的非相干累加运算结果进行大数判决,以获得判决结果,所述判决结果包括非相干累加运算结果的最大值、次大值及值所对应的相关器编号。相应地,所述控制单元1根据所述预处理单元51的判决结果来判定当前信号质量,以控制阵列式通道2的运行状态。
所述相关器进行相干累加运算的相干积分时间和所述非相干累加器进行非相干累加运算的非相干积分时间可以由控制单元1设置,因此,本实施例的阵列式通道2还可以包括:相干累加控制单元43和非相干累加控制单元44。所述相干累加控制单元43用于接收控制单元1设置的相干累加控制字,以配置所述相关器的相干积分时间。所述非相干累加控制单元44接收控制单元1设置的非相干累加控制字,以配置所述非相干累加器的非相干积分时间。
下面对本发明实施例的GNSS接收机的信号处理方法进行详细说明。需要说明的是,上面给出了所述预处理单元51的具体实施至少可以有两种方式,后续对各运行状态的信号处理方法的说明均是以第一种实施为例进行的。
首先对GNSS接收机的各运行状态进行简单说明:
GNSS接收机由未确定当前天空中可见卫星编号、多普勒频偏、扩频码偏移以及星历数据的状态启动,称之为冷启动;GNSS接收机由已确定当前天空中可见卫星编号、多普勒频偏,但未确定扩频码偏移以及星历数据的状态启动,称之为温启动;GNSS接收机由已确定当前天空中可见卫星编号、多普勒频偏以及星历数据,但未确定扩频码偏移的状态启动,称之为热启动。
GNSS接收机启动后进入捕获状态,以搜索天空中可见卫星,获得可见卫星编号、多普勒频偏以及扩频码偏移等卫星数据。对应冷启动、温启动和热启动,捕获状态可分为冷启动捕获状态、温启动捕获状态和热启动捕获状态。
当GNSS接收机完成天空中可见卫星编号、多普勒频偏以及扩频码偏移的捕获之后,就进入调制数据位同步状态,以试图获得调制数据的比特边界。
当GNSS接收机完成位同步之后,就进入正常的信号跟踪状态。
当GNSS接收机处于正常跟踪时,信号突然闪断,需要立刻进行信号重捕获,则GNSS接收机进入重捕状态,重捕完成,重新切换至跟踪状态。
如图7所示,本实施例的GNSS接收机在捕获状态的信号处理方法包括:
步骤S71,阵列式通道根据控制单元提供的频率控制数据和扩频码控制数据,在频率维度和码相位维度对输入信号进行解扩、相干积分和非相干积分运算,以获得运算结果。
步骤S72,基于所述运算结果判断信号质量是否符合要求,若是则执行步骤S73;若否则执行步骤S74。
步骤S73,控制单元将所述阵列式通道的运行状态从捕获状态切换为位同步状态。
步骤S74,控制单元重新设置频率控制数据,返回至步骤S71。
具体实施时,请结合参考图5和图6,控制单元1预先决定每一阵列式通道分别接收GPS卫星信号或北斗卫星信号,并根据频率搜索范围和扩频码搜索范围设置初始的频率控制数据和扩频码控制数据。需要说明的是,对于不同的捕获状态,频率搜索范围略有不同,例如,冷启动捕获状态可以是在[-10KHz,10KHz]范围内搜索卫星的频率偏差,温启动捕获状态和热启动捕获状态可以是在[-200Hz,200Hz]范围内搜索卫星的频率偏差。
在捕获状态,载波数控振荡器21接收所述频率控制数据,输出载波振荡信号。载波鉴频器5和载波环路滤波器6关闭,载波环路滤波器6输出的频率误差数据为0,或者不输出。
数字下变频器22接收所述载波振荡信号,对输入信号进行下变频处理,输出基带信号。若干数字下变频器22在频率维度对所述输入信号进行下变频处理,各数字下变频器22输出的基带信号分I、Q两路分别送入对应的相关器组41。
扩频码数控振荡器31接收所述扩频码控制数据,输出扩频码时钟信号。在捕获状态,码鉴相器3和码环路滤波器4关闭,码环路滤波器4输出的扩频码误差数据为0,或者不输出。
扩频码发生器32接收所述扩频码时钟信号,输出扩频码序列。扩频码移位寄存器组33基于所述扩频码序列,向所述相关器组41提供不同偏移量的本地参考码片。
每一相关器组41在码相位维度对对应的数字下变频器22输出的基带信号进行解扩和相干累加运算。若干相关器组41在频率维度和码相位维度对基带信号进行解扩和相干累加运算。本实施例中,每个相关器的相干积分时间均可以由相干累加控制单元43根据控制单元1设置的相干累加控制字来配置的。在捕获状态,相干积分时间一般为1ms,需要说明的是,此处仅为举例,并不用于限定本发明,本领域技术人员应当理解,相干积分时间可以根据运行状态和实际需求而设置,通常被认为是一个经验值。
每一非相干累加器组42在码相位维度对对应的相关器组41输出的相干累加运算结果进行非相干累加运算。若干非相干累加器组42在频率维度和码相位维度对相干累加运算结果进行非相干累加运算。本实施例中,每个非相干累加器的非相干积分时间均可以由非相干累加控制单元44根据控制单元1设置的非相干累加控制字来配置的。在捕获状态,非相干积分时间可能会逐渐增大,例如,开始设置为10ms,如果没有搜索到卫星,则设置为20ms,依次增加,但一般不超过200ms。需要说明的是,此处仅为举例,并不用于限定本发明,本领域技术人员应当理解,非相干积分时间可以根据运行状态和实际需求而设置,通常被认为是一个经验值。
预处理单元51对所有非相干累加器输出的非相干累加运算结果进行大数判决,并计算非相干累加运算结果中的最大值与次大值的商是否大于或等于预设能量阈值,若是则向控制单元1发送确认信号,若否则向控制单元1发送重设信号。
所述控制单元1在接收到阵列式通道2的预处理单元51发送的确认信号后,将该阵列式通道2的运行状态从捕获状态切换为位同步状态,并启动码鉴相器3、码环路滤波器4、载波鉴频器5、载波环路滤波器6和位同步器7。控制单元1在接收到阵列式通道2的预处理单元51发送的确认信号后,重新设置频率控制数据并提供给该阵列式通道2的载波数控振荡器21,以切换载波振荡信号的频率。
概括地说,在捕获状态,控制单元控制若干数字下变频器及相关器组在频率多普勒范围内及不同码片搜寻可用卫星信号,当根据阵列式通道的运算结果判断出信号质量符合要求时,则判定阵列式通道已捕获卫星,控制单元将该阵列式通道的状态切换为位同步状态;否则控制单元重新设置频率控制数据,切换载波振荡频率,阵列式通道重新搜索。
如图8所示,本实施例的GNSS接收机在位同步状态的信号处理方法包括:
步骤S81,阵列式通道根据控制单元提供的频率控制数据和扩频码控制数据、载波环路滤波器反馈的频率误差数据和码环路滤波器反馈的扩频码误差数据,在频率维度和码相位维度对输入信号进行解扩、相干积分和非相干积分运算,以获得运算结果。
步骤S82,码鉴相器接收对应的阵列式通道发送的运算结果,输出扩频码误差信号。
步骤S83,码环路滤波器对对应的码鉴相器输出的扩频码误差信号进行滤波处理,获得扩频码误差数据并反馈至对应的阵列式通道。
步骤S84,载波鉴频器接收对应的阵列式通道发送的运算结果,输出频率误差信号。
步骤S85,载波环路滤波器对对应的载波鉴频器输出的频率误差信号进行滤波处理,获得频率误差数据并反馈至与对应的阵列式通道。
步骤S86,位同步器接收对应的阵列式通道发送的运算结果,进行比特边界搜索,当搜索到比特边界时,发送通知信号至控制单元。
步骤S87,控制单元在接收到所述通知信号后,将与该位同步器对应的阵列式通道的运行状态从位同步状态切换为跟踪状态。
具体实施时,仍请结合参考图5和图6,在位同步状态,载波数控振荡器21接收控制单元1发送的频率控制数据和载波环路滤波器6反馈的频率误差数据,输出载波振荡信号至所述若干数字下变频器22。载波数控振荡器21接收的所述频率控制数据与完成捕获时的频率控制数据相同。
数字下变频器22接收所述载波振荡信号,对输入信号进行下变频处理,输出基带信号。若干数字下变频器22在频率维度对所述输入信号进行下变频处理,各数字下变频器22输出的基带信号分I、Q两路分别送入对应的相关器组41。
扩频码数控振荡器31接收所述控制单元1发送的扩频码控制数据和码环路滤波器6反馈的扩频码误差数据,输出扩频码时钟信号至所述扩频码发生器32。扩频码数控振荡器31接收的所述扩频码控制数据与完成捕获时的扩频码控制数据相同。
扩频码发生器32接收所述扩频码时钟信号,输出扩频码序列。扩频码移位寄存器组33基于所述扩频码序列,向所述相关器组41提供不同偏移量的本地参考码片。
每一相关器组41在码相位维度对对应的数字下变频器22输出的基带信号进行解扩和相干累加运算。若干相关器组41在频率维度和码相位维度对基带信号进行解扩和相干累加运算。本实施例中,每个相关器的相干积分时间均可以由相干累加控制单元43根据控制单元1设置的相干累加控制字来配置的。在位同步状态,相干积分时间一般为1ms。需要说明的是,此处仅为举例,并不用于限定本发明,本领域技术人员应当理解,相干积分时间可以根据运行状态和实际需求而设置,通常被认为是一个经验值。
每一非相干累加器组42在码相位维度对对应的相关器组41输出的相干累加运算结果进行非相干累加运算。若干非相干累加器组42在频率维度和码相位维度对相干累加运算结果进行非相干累加运算。本实施例中,每个非相干累加器的非相干积分时间均可以由非相干累加控制单元44根据控制单元1设置的非相干累加控制字来配置的。在位同步状态,非相干积分时间一般为1ms~20ms。需要说明的是,此处仅为举例,并不用于限定本发明,本领域技术人员应当理解,非相干积分时间可以根据运行状态和实际需求而设置,通常被认为是一个经验值。
预处理单元51选择部分非相干累加器的非相干累加运算结果发送至对应的码鉴相器3、载波鉴频器5和位同步器7。通常,预处理单元51选择每组非相干累加器组的中间部分的非相干累加器的运算结果输出,例如,选择每组非相干累加器组中排列居中的8~10非相干累加器(例如,NC((n/2)-4)~NC((n/2)+4))的运算结果发送至对应的码鉴相器3和载波鉴频器5;选择每组非相干累加器组中排列居中的1个非相干累加器(例如NC(n/2))的运算结果发送至位同步器7。
码鉴相器3接收对应的阵列式通道2发送的运算结果,并据此检测出对应的阵列式通道2中复现的本地信号的扩频码与所述输入信号的扩频码之间的误差,以输出扩频码误差信号。本地信号的扩频码是由阵列式通道2中的扩频码数控振荡器31复现的。
码环路滤波器4对对应的码鉴相器3输出的扩频码误差信号进行滤波处理,获得扩频码误差数据并反馈至对应的阵列式通道2。
载波鉴频器5接收对应的阵列式通道2发送的运算结果,并据此检测出对应的阵列式通道2中复现的本地信号的载波频率与所述输入信号的载波频率之间的误差,以输出频率误差信号。本地信号的载波频率是由阵列式通道2中的载波数控振荡器21复现的。
载波环路滤波器6对对应的载波鉴频器5输出的频率误差信号进行滤波处理,获得频率误差数据并反馈至与对应的阵列式通道2。
位同步器7接收对应的阵列式通道2发送的运算结果,进行比特边界搜索,当搜索到比特边界时,发送通知信号至控制单元1。
控制单元1在接收到位同步器7的通知信号后,将与该位同步器7对应的阵列式通道2的运行状态从位同步状态切换为跟踪状态,并关闭该位同步器7。
概括地说,在位同步状态,基带信号分I、Q两路送入相关器组,进行解扩相关运算,并将运算结果送位同步器进行比特边界搜索,当位同步器发现比特界时,则通知控制单元将对应的阵列式通道的运行状态切换为跟踪状态。与此同时,运算结果被送入载波鉴频器和码鉴相器,配合载波环路滤波器和码环路滤波器,用以维持环路跟踪正常,以便向位同步器提供跟踪质量稳定可靠的信号来完成位同步。
如图9所示,本实施例的GNSS接收机在跟踪状态的信号处理方法包括:
步骤S91,阵列式通道根据控制单元提供的频率控制数据和扩频码控制数据、载波环路滤波器反馈的频率误差数据和码环路滤波器反馈的扩频码误差数据,在频率维度和码相位维度对输入信号进行解扩、相干积分和非相干积分运算,以获得运算结果。
步骤S92,码鉴相器根据对应的阵列式通道发送的运算结果,输出扩频码误差信号。
步骤S93,码环路滤波器对对应的码鉴相器输出的扩频码误差信号进行滤波处理,获得扩频码误差数据并反馈至对应的阵列式通道。
步骤S94,载波鉴频器接收对应的阵列式通道发送的运算结果,输出频率误差信号。
步骤S95,载波环路滤波器对对应的载波鉴频器输出的频率误差信号进行滤波处理,获得频率误差数据并反馈至与对应的阵列式通道。
步骤S96,基于运算结果判断信号是否中断,若是则执行步骤S97,若否则继续基于运算结果判断信号是否中断。
步骤S97,控制单元重新设置扩频码控制数据,并将所述阵列式通道的运行状态从跟踪状态切换为重捕状态。
具体实施时,请继续结合参考图5和图6,在跟踪状态,载波数控振荡器21接收控制单元1发送的频率控制数据和载波环路滤波器6反馈的频率误差数据,输出载波振荡信号至所述若干数字下变频器22。载波数控振荡器21接收的所述频率控制数据与完成捕获时的频率控制数据相同。
数字下变频器22接收所述载波振荡信号,对输入信号进行下变频处理,输出基带信号。若干数字下变频器22在频率维度对所述输入信号进行下变频处理,各数字下变频器22输出的基带信号分I、Q两路分别送入对应的相关器组41。
扩频码数控振荡器31接收所述控制单元1发送的扩频码控制数据和码环路滤波器6反馈的扩频码误差数据,输出扩频码时钟信号至所述扩频码发生器32。扩频码数控振荡器31接收的所述扩频码控制数据与完成捕获时的扩频码控制数据相同。
扩频码发生器32接收所述扩频码时钟信号,输出扩频码序列。扩频码移位寄存器组33基于所述扩频码序列,向所述相关器组41提供不同偏移量的本地参考码片。
每一相关器组41在码相位维度对对应的数字下变频器22输出的基带信号进行解扩和相干累加运算。若干相关器组41在频率维度和码相位维度对基带信号进行解扩和相干累加运算。本实施例中,每个相关器的相干积分时间均可以由相干累加控制单元43根据控制单元1设置的相干累加控制字来配置的。在跟踪状态,对应GPS卫星或北斗非GEO卫星,相干积分时间一般为20ms;对应GEO卫星,相干积分时间一般为2ms。需要说明的是,此处仅为举例,并不用于限定本发明,本领域技术人员应当理解,相干积分时间可以根据运行状态和实际需求而设置,通常被认为是一个经验值。
每一非相干累加器组42在码相位维度对对应的相关器组41输出的相干累加运算结果进行非相干累加运算。若干非相干累加器组42在频率维度和码相位维度对相干累加运算结果进行非相干累加运算。本实施例中,每个非相干累加器的非相干积分时间均可以由非相干累加控制单元44根据控制单元1设置的非相干累加控制字来配置的。在跟踪状态,非相干积分时间一般为20~200ms。需要说明的是,此处仅为举例,并不用于限定本发明,本领域技术人员应当理解,非相干积分时间可以根据运行状态和实际需求而设置,通常被认为是一个经验值。
预处理单元51选择部分非相干累加器的非相干累加运算结果发送至对应的码鉴相器3和载波鉴频器5。与位同步状态相同,预处理单元51选择每组非相干累加器组的中间部分的非相干累加器的运算结果输出。
码鉴相器3接收对应的阵列式通道2发送的运算结果,并据此检测出对应的阵列式通道2中复现的本地信号的扩频码与所述输入信号的扩频码之间的误差,以输出扩频码误差信号。
码环路滤波器4对对应的码鉴相器3输出的扩频码误差信号进行滤波处理,获得扩频码误差数据并反馈至对应的阵列式通道2。
载波鉴频器5接收对应的阵列式通道2发送的运算结果,并据此检测出对应的阵列式通道2中复现的本地信号的载波频率与所述输入信号的载波频率之间的误差,以输出频率误差信号。
载波环路滤波器6对对应的载波鉴频器5输出的频率误差信号进行滤波处理,获得频率误差数据并反馈至与对应的阵列式通道2。
预处理单元51根据非相干累加器的非相干累加运算结果确定信号的峰值分布情况,以此判断信号是否中断,若是则向控制单元1发送切换信号,若否则向控制单元1发送保持信号。
控制单元1在接收到阵列式通道2的预处理单元51发送的切换信号后,重新设置扩频码控制数据,将该阵列式通道2的运行状态从跟踪状态切换为重捕状态,并关闭码鉴相器3、码环路滤波器4、载波鉴频器5和载波环路滤波器。控制单元1在接收到阵列式通道2的预处理单元51发送的保持信号后,维持当前状态和控制数据不变。
概括地说,在跟踪状态,基带信号分I、Q两路送入相关器组,进行解扩相关运算,并将运算结果送载波鉴频器和码鉴相器,配合载波环路滤波器和码环路滤波器,用以维持环路稳定跟踪,以便后续信号处理算法可以方便计算出位置信息及完成定位。
如图10所示,本实施例的GNSS接收机在重捕状态的信号处理方法包括:
步骤S101,阵列式通道根据控制单元提供的频率控制数据和扩频码控制数据,在频率维度和码相位维度对输入信号进行解扩、相干积分和非相干积分运算,以获得运算结果。
步骤S102,基于所述运算结果判断信号质量是否符合要求,若是则执行步骤S103;若否则执行步骤S104。
步骤S103,控制单元将所述阵列式通道的运行状态从重捕状态切换为跟踪状态。
步骤S104,控制单元将所述阵列式通道的运行状态从重捕状态切换为空闲(idle)状态。
具体实施时,请继续结合参考图5和图6,在重捕状态,载波数控振荡器21接收控制单元发送的频率控制数据,输出载波振荡信号。
数字下变频器22接收所述载波振荡信号,对输入信号进行下变频处理,输出基带信号。若干数字下变频器22在频率维度对所述输入信号进行下变频处理,各数字下变频器22输出的基带信号分I、Q两路分别送入对应的相关器组41。
扩频码数控振荡器31接收所述控制单元1重新设置的扩频码控制数据,输出扩频码时钟信号。
扩频码发生器32接收所述扩频码时钟信号,输出扩频码序列。扩频码移位寄存器组33基于所述扩频码序列,向所述相关器组41提供不同偏移量的本地参考码片。
若干相关器组41在频率维度和码相位维度对基带信号进行解扩和相干累加运算。
若干非相干累加器组42在频率维度和码相位维度对相干累加运算结果进行非相干累加运算。
预处理单元51对所有非相干累加器输出的非相干累加运算结果进行大数判决,并计算非相干累加运算结果中的最大值与次大值的商是否大于或等于预设能量阈值,若是则向控制单元1发送确认信号,若否则向控制单元1发送重置信号。
所述控制单元1在接收到阵列式通道2的预处理单元51发送的确认信号后,将该阵列式通道2的运行状态从重捕状态切换为跟踪状态,并启动码鉴相器3、码环路滤波器4、载波鉴频器5和载波环路滤波器6。控制单元1在接收到阵列式通道2的预处理单元51发送的重置信号后,将该阵列式通道2的运行状态从重捕状态切换为空闲状态。
概括地说,重捕状态与捕获状态的信号处理主要有以下区别:因为失锁前载波是完好根据的,指示由于卫星被遮挡而使信号中断,因此载波环路滤波器的寄存器中还有非常准确的多普勒信息,载波多普勒不需要重新搜索;码相位需要重新搜索;由于已经位同步成功,因此可以使用与跟踪状态时相同的长相干积分时间进行积分。
综上所述,本发明技术方案具有以下技术效果:
阵列式通道包括数字下变频器、相关器组和非相干累加器组,实现了信号在码相位和频率这两个维度的搜索和稳定跟踪,复用了捕获和跟踪资源,能够大大简化系统运行状态并达到理想的捕获与跟踪性能。
具有所述阵列式通道的GNSS接收机,没有捕获模块与跟踪通道之分,所有阵列式通道既可用于捕获也可用于跟踪,单一阵列式通道兼容各种启动模式,由此简化了GNSS接收机的结构,避免了控制单元调度和控制过于复杂以及各模块切换带来的资源冗余问题,并且能够完成高性能捕获与高灵敏度跟踪。
在数字下变频之后没有大容量缓存,阵列式通道处理实时信号;也无需协处理器进行高灵敏度信号跟踪,由此进一步简化了GNSS接收机的结构。
位同步状态与正常跟踪状态使用同一套载波跟踪环路与码跟踪环路,不需要进行环路切换,由此进一步简化了系统运行状态的控制。
控制单元可以任意对相干积分时间和非相干积分时间进行设置,不受缓存的影响;并且还可以在捕获状态中对码多普勒进行补偿,增加积分时间。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。