本发明涉及组合导航技术领域,特别是一种弹性嵌入式gnss/惯性组合导航系统及方法。
背景技术:
微电子技术和信息技术的进步,导航系统应用场景的适应性和结果的可靠性、准确度需求的提高,推动着导航技术的发展。卫星导航系统固有的脆弱性、服务盲区问题(如:可用于定位的卫星数量少、接收信号功率低、易受干扰和欺骗、高动态环境下接收机环路易失锁等问题)使卫星导航用户不能在任何时间、任何环境下使用卫星导航服务。
目前,现有北斗/惯性组合导航系统多采用“接收机 mimu 数据融合单元”等常规架构,而常规架构单一,算法不能根据环境变化做自适应调整,导航信息来源有限,环境适应能力差,无法满足特殊用户对可靠性、环境适应能力等方面的需求。随着可用于导航的传感器种类增加,整合多种传感器信息的多源组合导航技术也应运而生。因此,导航系统如何充分利用各类信息源,生成适应复杂导航场景下的连续可用,可靠稳健的导航信息,成为目前亟需解决的问题。
技术实现要素:
本发明的目的在于提供一种弹性嵌入式gnss/惯性组合导航系统及方法,具备弹性即插即用的体系结构和标准的软硬件接口,支持高度计、里程计、磁强计等多种导航信息源接入,以提高导航系统的可靠性和抗干扰能力。
实现本发明目的的技术解决方案为:一种弹性嵌入式gnss/惯性组合导航系统,包括数据融合单元、微惯性测量单元、北斗深耦合模块、外源传感器交互单元、电源模块,其中:
所述数据融合单元包括联邦滤波器;数据融合单元通过串口分别接收微惯性测量单元解算出的载体的速度、位置、姿态信息,北斗深耦合模块测量得到的载体的位置、速度信息;同时通过普通gpio口模拟spi口接收外源传感器交互单元接收到的外源传感器信息;在数据融合单元中将微惯性测量单元输出的多维信息作为联邦滤波器观测信息,北斗深耦合模块输出的位置及速度信息以及外源传感器输出的外源信息,作为联邦滤波器的量测信息在滤波器中进行滤波处理,最后将得到的载体位置、速度和姿态的误差信息反馈给系统进行修正,得到最终的导航信息;
所述外源传感器交互单元,包括can控制器与can收发器;can控制器用来实现can总线链路层的相关功能;数据融合单元与can控制器的数据接口连接后,通过软件编程对can控制器进行模式选择和控制;can收发器用来对can报文进行发送和接收。
一种弹性嵌入式gnss/惯性组合导航系统方法,步骤如下:
步骤1、微惯性测量单元对惯性测量器件输出的原始测量信息进行误差补偿,利用补偿后的角速率计算实时更新的姿态矩阵和姿态角信息,然后利用姿态矩阵将比力信息转换到导航坐标系下,并进行积分运算得到载体的速度信息,进而得到位置的变化率;最后对位置的变化率进行积分运算,得到载体的位置信息;
步骤2、北斗深耦合模块通过天线接收太空中所有可见的北斗/gps卫星的信号后,对接收到的数据进行处理从而测量出各个卫星信号的发射时间,接着将本地时间与测量所得的信号发射时间相减后再乘以光速,由此得到导航模块与卫星之间的伪距;同时,导航模块从卫星信号中解译出卫星运行轨道参数这些信息,依此计算出卫星空间位置;当知道四个卫星的位置时,结合已知卫星与导航模块的位置,计算出载体的位置;
步骤3、数据融合单元,建立超紧耦合系统的状态方程和量测方程,进行自适应滤波处理,选取伪距和伪距率作为观测量,经过kf滤波器的最优估计,输出校正信息,使用校正后的sins输出的信息辅助gnss接收机进行环路跟踪。
本发明与现有技术相比,其显著优点是:(1)通过设计单射频多系统联合定位卫星导航接收机与搭建可支持即插即用的导航计算机,拓宽了组合导航系统的信息来源,提高了导航系统的服务质量,优化了系统对环境的适应性;(2)集成多种导航传感器,设计弹性信息融合算法,根据导航系统的工作环境适时的加入或者取消部分传感器,使系统具有较高的灵活性,同时提高了系统的可靠性和抗干扰的能力。
附图说明
图1是本发明一种弹性嵌入式gnss/惯性组合导航系统硬件设计方案的总体设计图。
图2是本发明一种弹性嵌入式gnss/惯性组合导航系统硬件设计方案所使用的外源传感器交互单元的硬件设计图。
图3是本发明一种弹性嵌入式gnss/惯性组合导航系统硬件设计方案中所使用的微惯性测量单元与数据融合导航单元连接图。
图4是本发明一种弹性嵌入式gnss/惯性组合导航系统硬件设计方案数据融合导航单元uart通信流程图
具体实施方式
下面结合附图及具体实例对本发明作进一步详细说明。
为了改善卫星导航系统固有的脆弱性、服务盲区以及常规的组合导航系统软硬件架构单一,导航信息来源有限,环境适应能力差等问题,本发明设计了以数据融合单元、微惯性测量单元、北斗深耦合模块和外源传感器交互单元为架构的弹性组合导航系统及方法。该发明通过外源传感器交互单元可外接不同的外源传感器,满足用户对不同环境的使用需求。根据使用环境变化分析信号可信性,对外源信息进行优选,结合系统导航算法库重构导航算法。
结合图1、图2、图3,本发明一种弹性嵌入式gnss/惯性组合导航系统包括数据融合单元、微惯性测量单元、北斗深耦合模块、外源传感器交互单元、电源模块,其中:
所述数据融合单元,包括联邦滤波器;数据融合导航单元通过串口分别接收微惯性测量单元解算出的载体的速度、位置、姿态信息,北斗深耦合模块测量得到的载体的位置,速度信息。同时通过普通gpio口模拟spi口接收外源传感器交互单元接收到的外源传感器信息。在数据融合单元中将微惯性测量单元输出的多维信息作为联邦滤波器观测信息,北斗深耦合模块输出的位置,速度信息以及外源传感器输出的外源信息作为联邦滤波器的量测信息在滤波器中进行滤波处理,最后将得到的载体位置、速度和姿态的误差信息反馈给系统进行修正,得到最终的导航信息。
所述微惯性测量单元,包括mimu和惯导信息解算模块;其中mimu内部的陀螺仪和加速度计测量输出原始的角速率和比力信息,并将原始数据发送给惯导信息解算模块,解算出载体的位置、速度、角速度、加速度和姿态角信息,最后将数据传送给数据融合单元进行滤波处理。
所述北斗深耦合模块,包括有源天线、射频前端处理模块、基带信号数字处理模块、卫星定位解算模块;射频模块对卫星信号进行放大、变频、滤波和模数转换,最终得到数字中频信号;基带信号数字处理模块对数字中频信号进行捕获、跟踪、位同步和帧同步处理;卫星定位解算模块获取卫星信号相关器中的载波相位信息、以及卫星参数信息,通过解析卫星星历和历书信息计算出伪距和伪距率,进而计算出载体当前的位置、速度和时间信息。将卫星的位置、速度和微惯性测量单元输出的载体的位置、速度、姿态信息进行计算得到多普勒频移及其变化率从而进行惯性信息辅助卫星导航接收机环路捕获和跟踪,大大降低了卫星导航接收机环路失锁后的卫星重补时间。
所述外源传感器交互单元,包括can控制器与can收发器;can控制器主要用来实现can总线链路层的相关功能,当数据融合单元与can控制器的数据接口连接后即可通过软件编程对can控制器进行模式选择和控制。can收发器主要用来对can报文进行发送和接收。
所述电源模块,采用 5v直流电压进行供电,北斗深耦合模块采用ldo芯片tcl1117-3.3进行5v转3.3v集中供电,基带信号数字处理模块分别采用mp2104-adj芯片进行3.3v降压成1.0v和xc6206p182芯片进行3.3v降压成1.8v进行供电。数据融合单元采用mp2104-adj芯片进行5v降压成3.3v和1.2v进行供电。为防止芯片间电压互相影响,每个关键芯片之间的供电相对处于独立状态。
进一步地,数据融合单元中的核心芯片采用ti公司生产的基于tms320c674xdsp的低功耗数字信号处理器。该芯片主频高达300mhz,可满足导航系统的数据处理要求。它采用模块化上电功能,比其它的tms320c6000系列的芯片功耗更低,外形尺寸仅为17mm×l7mm。tms320c6747dsp内核使用基于二级缓存的体系结构,1级程序高速缓存(l1p)是32kb的直接映射高速缓存,而1级数据高速缓存(l1d)是32kb的2路集关联高速缓存。2级程序缓存(l2p)由256kb的程序和数据共享存储空间构成。l2内存可以配置为映射内存、高速缓存或者两者的结合。
进一步地,射频芯片采用一片型号为mxx2771芯片配合外围电路来实现射频前端信号处理。有源天线通过配置5.6nh的外部匹配电感和1.7pf并联电容将卫星的高频信号通过高频段lna输入端口接入到max2771芯片中,16.369mhz的温补晶振通过串联10nf的电容与xtal端口进行相连,为射频提供参考时钟基准。max2771选用spi进行通信,将sclk、sdata、csn分别于stm32h743的pc0、pc1、pc2进行相连。通过配置可将射频芯片配置成能同时接收北斗b1i和gpsl1信号。射频前端处理模块通过i/q支路将数字中频信号传输给基带信号数字处理模块进行基带信号处理。
进一步地,外源传感器交互单元基于can总线设计,为了增强模块通用性,选择在dsp外置独立的can控制器,控制器选用mcp2515。该控制器通过高速spi与dsp进行通信,但由于本系统dsp上的spi接口需要和flash芯片连接,进行基带信号处理,所以利用软件实现gpio模拟spi,使控制器只需连接dsp上4个gpio口。can控制器需要can接收器才能识别can总线上数据。本系统中接收器选用tja1050,因为tja1050除了增强了emc外,还可以在不上电时,让总线呈无源特性。为进一步增强抗干扰能力,在can控制器与收发器之间设置光电隔离电路,mcp2515的txcan和rxcan管脚通过高速光电耦合器6n137与tja1050的txd和rxd相连,触发时间为75ns。为了进一步抑制干扰,采用小功率电源隔离模块b0505t-1w。为了提高模块运行的稳定性,在输出端并联两个120ω的电阻,防止因输出负载过小而影响模块工作。
结合图4,一种弹性嵌入式gnss/惯性组合导航系统方法,包括以下步骤:
步骤1、微惯性测量单元对惯性测量器件输出的原始测量信息进行误差补偿,利用补偿后的角速率计算实时更新的姿态矩阵和姿态角信息,然后利用姿态矩阵将比力信息转换到导航坐标系下,并进行积分运算得到载体的速度信息,进而得到位置的变化率;最后对位置的变化率进行积分运算,得到载体的位置信息,完成解算过程;
步骤2、北斗深耦合模块通过天线接收太空中所有可见的北斗/gps卫星的信号后,对这些数据进行处理从而精确地测量出各个卫星信号的发射时间,接着将本地时间与测量所得的信号发射时间相减后再乘以光速,由此得到导航模块与卫星之间的伪距。同时,导航模块还从卫星信号中解译出卫星运行轨道参数等信息,依此计算出准确的卫星空间位置。当知道四个卫星的位置时,结合已知卫星与导航模块的位置,便可以计算出载体的位置;
步骤3、数据融合单元,建立超紧耦合系统的状态方程和量测方程,进行自适应滤波处理,选取伪距和伪距率作为观测量,经过kf滤波器的最优估计,输出校正信息,使用校正后的sins输出的信息辅助gnss接收机进行环路跟踪。
进一步地,步骤1中所述的微惯性测量单元对惯性测量器件输出的原始测量信息进行误差补偿,利用补偿后的角速率计算实时更新的姿态矩阵和姿态角信息,然后利用姿态矩阵将比力信息转换到导航坐标系下,并进行积分运算得到载体的速度信息,进而得到位置的变化率;最后对位置的变化率进行积分运算,得到载体的位置信息,完成解算过程,具体如下:
步骤1.1、初始对准
采用静基座快速粗对准的方式进行水平姿态角的对准,在静态地理坐标系下,则地球系相对惯性系的转动角速率在地理系的投影
对式(1)和式(2)求转置然后合并,得:
直接使用加速度计输出来进行水平姿态角的对准,由于gg=[00-g]t,得:
得俯仰角θ和横滚角γ的初值:
其中
步骤1.2、姿态解算
四元数法通过四元数的微分方程式计算来替代姿态矩阵微分方程式计算,进行四元数实时更新,再根据四元数与姿态矩阵之间的转换关系,求解载体的三个姿态角信息;
设载体b系相对n系的转动四元数为:
q=q0 (q1i q2j q3k)(6)
上式中,q0为标量部分,(q1i q2j q3k)为矢量部分;
同样得到:
其中,
上式的矩阵形式为:
其中,
在捷联惯性导航系统中采用龙格-库塔法进行数值积分求解,若t为陀螺仪采样步长,即积分步长,则四阶算法表达式如下:
其中,k1、k2、k3、k4分别为四元数在不同时刻的导数,t为四元数的更新周期即陀螺仪的采样周期,t为时间,
为了确保姿态矩阵的正交性,需要对四元数进行规范化处理:
其中,
上式转换为如下的形式:
从而求出姿态角为:
步骤1.3、速度解算
速度更新一阶递推公式为:
式中,v(t)为当前时刻的速度,v(t-1)为前一时刻速度,t为速度解算周期,fb(t-1)为前一时刻的载体坐标系下的比力;
采用t-1时刻的速度加上以该时刻处的斜率为斜率的一阶速度增量作为速度微分方程式的解,转换为:
v(t)=v(t-1) t·f(v(t-1),fn(t-1))(15)
f(v(t-1),fn(t-1))是关于v(t-1),fn(t-1)的函数、fn(t-1)为前一时刻的地理坐标系下的比力。
采用龙格-库塔数值积分法,递推得到改进的速度更新四阶递推算法:
式中,fn()为在地理坐标系下不同时刻的比力。
步骤1.4、位置解算
位置更新一阶递推公式为:
式中,l(t)、λ(t)、h(t)分别为当前时刻的纬度、经度、高度,l(t-1)、λ(t-1)、h(t-1)分别为前一时刻的纬度、经度、高度,t为位置解算周期,rm和rn为子午圈和卯酉圈的曲率半径;vn、ve、vu分别为地理坐标系下北向速度,东向速度以及天向速度。
采用t-1时刻的位置加上以该时刻处的斜率为斜率的一阶位置增量作为位置微分方程式的解,转换为:
p(t)=p(t-1) t·f(p(t-1),v(t-1))(18)
其中p=[lλh]t;
同样采用四阶递推算法对位置更新:
进一步地,步骤2所述的北斗深耦合模块通过天线接收太空中所有可见的北斗/gps卫星的信号后,对这些数据进行处理从而精确地测量出各个卫星信号的发射时间,接着将本地时间与测量所得的信号发射时间相减后再乘以光速,由此得到导航模块与卫星之间的伪距。同时,导航模块还从卫星信号中解译出卫星运行轨道参数等信息,依此计算出准确的卫星空间位置。当知道四个卫星的位置时,结合已知卫星与导航模块的位置,便可以计算出载体的位置,具体如下:
步骤2.1、双模伪距测量值
伪距测量的基本原理是电磁波在真空中传播的速度为光速c=2.99792458×108m/s,距离的测量可以转换为时间的测量。对于双模系统为了获得准确的伪距测量值,首要保证是双模伪距测量的时间基准保持一致。卫星伪距测量公式为
ρ=c*(tr-ts)(20)
其中,卫星信号接收时间tr由用户接收机决定不存在时间偏差问题。卫星信号发射时刻ts的时间由于北斗和gps各自卫星的时间基准不一致,因此存在一个偏差值tgb,该差值可以通过卫星信号携带的导航电文求得。gps和bds卫星信号的发射时间计算方式如下:
其中,tow和sow分别为gps和bds的周内秒,w为当前子帧中的字计数值,b为当前字中的比特计数值,c为当前比特伪码周期计数值,cp为码相位偏移量。利用以上公式可以将卫星信号的发射时间精确到微秒量级。
双模伪距观测量需在统一的时间基准上计算,gps系统投入运营已超过30年,相关技术已十分成熟,市场上存在大量的gps产品,为了保持系统的兼容性,本设计将时间基准定为gps时。gps卫星伪距观测量为
ρg=c*(tr-tsg)(22)
其中,tsg为gps信号发射时刻,对于北斗卫星需要增加tgb的时间偏差,此时伪距观测量可以表示为
ρb=c*(tr-(tsg-tgb))(23)
实际卫星信号传输过程中除了受到接收机时钟影响外,还会受到多种外界因素的影响。包括星历数据自身带来的卫星位置误差teph,信号传输过程中的对流层误差ttron、电离层误差tiono,接收机内部热噪声误差nr,信号接收过程中的多路径效应引起的误差tmuti等。这些误差大多可以建立相应的模型修正进而提升伪距的测量精度。经过误差修正后的伪距测量公式如下:
ρg=c*(tr-tsg) teph ttron tiono tmuti nr(24)
ρb=c*(tr-(tsg-tgb)) teph ttron tiono tmuti nr(25)
步骤2.2、联合定位方法
gps采用wgs84坐标系,bds采用cgs2000坐标系,两者区别不大,仅对需要高精度(厘米级)定位的用户需要区分,普通用户可以忽略两者差异。可以依据伪距定位原理构建双模系统的伪距观测方程:
其中,xu、yu、zu分别为接收机在坐标系下的三维坐标;xs、ys、zs为某颗卫星在该坐标系下的三维坐标;δt为卫星钟差。
由于双模定位系统相较于单模系统多了一个未知变量tgb,有两种方式消去tgb带来的影响。第一种是北斗导航电文播发的星历数据中包含bds时与gps时差异修正参数,可以通过读取北斗d1电文第5子帧第9页和d2电文第5子帧第101页获得。bdt和gpst的时间同步参数有两个:
a0gps:bdt相对于gpst的钟差;
a1gps:bdt相对于gpst的钟差速度。
bdt和gpst的系统偏差修正公式如下:
tgb=a0gps a1gps×te(28)
其中,te为接收机提取伪距观测量时的bdt。
计算出系统时间偏差tgb后,即可将北斗伪距观测值转换到gps观测值,将双模定位系统转换为单模定位系统,未知变量为post=[x,y,z,δt],按照单模定位的方式构建最小二乘,便可完成定位解算。该方法原理简单,便于理解。但是需要在成功解调出北斗导航电文后方可获得系统时间偏差tgb,导航电文的解调需要浪费一定的时间,在北斗信号微弱的情况下甚至无法解调出导航电文,该方法就无法运作,系统鲁棒性较差。
结合最小二乘牛顿迭代步骤计算完成多频段联合定位,解算出用户的位置、速度信息。
进一步地,步骤3所述的数据融合单元,建立超紧耦合系统的状态方程和量测方程,进行自适应滤波处理,选取伪距和伪距率作为观测量,经过kf滤波器的最优估计,输出校正信息,使用校正后的sins输出的信息辅助gnss接收机进行环路跟踪,具体如下:
步骤3.1、建立超紧耦合系统状态方程:
其中,x(t)为系统状态矢量,
系统状态矢量:
式中,φe,φn,φu分别为东、北、天方向姿态角,δve,δvn,δvu分别为东、北、天方向速度误差,δl,δλ,δh分别为纬度、经度、高度误差,δtu为与时钟等效的距离误差,δtru为与时钟频率等效的距离率误差;εx,εy,εz,
步骤3.2、建立超紧耦合系统量测方程:
z(t)=h(t)x(t) v(t)(31)
其中z(t)为系统观测矢量,h(t)为系统观测矩阵,v(t)为系统观测噪声阵,x为系统状态矢量;
伪距观测方程如下:
式中,
δρj=ρij-ρgj=ej1δx ej2δy ej3δz δtu vρj(34)
其中,
伪距率观测方程如下所示:
式中,
其中,
综合伪距和伪距率观测方程,得到惯性/卫星组合导航系统观测方程:
步骤3.3、进行自适应卡尔曼滤波
将系统的状态方程和量测离散化,进行组合滤波,系统的离散化方程为:
式中,xk为k时刻的n维状态向量;zk为k时刻的m维量测向量;φk,k-1为k-1到k时刻的系统一步转移矩阵;wk-1为k-1到k时刻的系统噪声;γk-1为系统噪声矩阵;hk为k时刻的量测矩阵;vk为k时刻的m维量测噪声。
经过上述的离散化步骤后,进行自适应卡尔曼滤波处理如下:
pk/k=(i-kkhk)pk/k-1(48)
式中,
其中令
其中,δxk=kkrk,结合式(45)和
自适应卡尔曼滤波器不断的调整过程噪声q和量测噪声r,估计出系统误差并反馈给数据融合单元,进行误差的修正补偿。
综上所述:本发明的一种弹性嵌入式gnss/惯性组合导航系统基于接收机跟踪环路的sins辅助gnss超紧组合导航系统,可以在卫星信号丢失情况下,辅助卫星快速完成信号的捕获和跟踪而实现重定位。此外该导航系统体积小、功耗低,环境适应能力强可通过外源传感器交互单元接入外源导航传感器,结合导航算法库,重构导航算法,实现导航系统的弹性组合,保证卫星短时失效时的导航精度,大幅降低系统对卫星的依赖性。
1.一种弹性嵌入式gnss/惯性组合导航系统,其特征在于,包括数据融合单元、微惯性测量单元、北斗深耦合模块、外源传感器交互单元、电源模块,其中:
所述数据融合单元包括联邦滤波器;数据融合单元通过串口分别接收微惯性测量单元解算出的载体的速度、位置、姿态信息,北斗深耦合模块测量得到的载体的位置、速度信息;同时通过普通gpio口模拟spi口接收外源传感器交互单元接收到的外源传感器信息;在数据融合单元中将微惯性测量单元输出的多维信息作为联邦滤波器观测信息,北斗深耦合模块输出的位置及速度信息以及外源传感器输出的外源信息,作为联邦滤波器的量测信息在滤波器中进行滤波处理,最后将得到的载体位置、速度和姿态的误差信息反馈给系统进行修正,得到最终的导航信息;
所述外源传感器交互单元,包括can控制器与can收发器;can控制器用来实现can总线链路层的相关功能;数据融合单元与can控制器的数据接口连接后,通过软件编程对can控制器进行模式选择和控制;can收发器用来对can报文进行发送和接收。
2.根据权利要求1所述的弹性嵌入式gnss/惯性组合导航系统,其特征在于,所述微惯性测量单元,包括mimu和惯导信息解算模块;mimu内部的陀螺仪和加速度计测量输出原始的角速率和比力信息,并将原始数据发送给惯导信息解算模块,解算出载体的位置、速度、角速度、加速度和姿态角信息,最后将数据传送给数据融合单元进行滤波处理;
所述北斗深耦合模块,包括有源天线、射频前端处理模块、基带信号数字处理模块、卫星定位解算模块;射频前端处理模块对卫星信号进行放大、变频、滤波和模数转换,最终得到数字中频信号;基带信号数字处理模块对数字中频信号进行捕获、跟踪、位同步和帧同步处理;卫星定位解算模块获取卫星信号相关器中的载波相位信息以及卫星参数信息,通过解析卫星星历和历书信息计算出伪距和伪距率,进而计算出载体当前的位置、速度和时间信息;将卫星的位置、速度和微惯性测量单元输出的载体的位置、速度、姿态信息进行计算得到多普勒频移及其变化率从而进行惯性信息辅助卫星导航接收机环路捕获和跟踪。
3.根据权利要求2所述的弹性嵌入式gnss/惯性组合导航系统,其特征在于,所述电源模块,采用 5v直流电压进行供电,北斗深耦合模块采用ldo芯片tcl1117-3.3进行5v转3.3v集中供电,基带信号数字处理模块分别采用mp2104-adj芯片进行3.3v降压成1.0v和xc6206p182芯片进行3.3v降压成1.8v进行供电;数据融合单元采用mp2104-adj芯片进行5v降压成3.3v和1.2v进行供电;上述每个芯片之间的供电相对处于独立状态。
4.根据权利要求2所述的弹性嵌入式gnss/惯性组合导航系统,其特征在于,所述数据融合单元中的核心芯片采用ti公司生产的基于tms320c674xdsp的数字信号处理器,该芯片主频高达300mhz,采用模块化上电功能,外形尺寸为17mm×l7mm;tms320c6747dsp内核使用基于二级缓存的体系结构,1级程序高速缓存l1p是32kb的直接映射高速缓存,而1级数据高速缓存l1d是32kb的2路集关联高速缓存;2级程序缓存l2p由256kb的程序和数据共享存储空间构成。
5.根据权利要求2所述的弹性嵌入式gnss/惯性组合导航系统,其特征在于,所述北斗深耦合模块中的射频前端处理模块,采用一片型号为mxx2771芯片配合外围电路来实现射频前端信号处理;有源天线通过配置5.6nh的外部匹配电感和1.7pf并联电容将卫星的高频信号通过高频段lna输入端口接入到max2771芯片中,16.369mhz的温补晶振通过串联10nf的电容与xtal端口进行相连,为射频提供参考时钟基准;max2771选用spi进行通信,将sclk、sdata、csn分别于stm32h743的pc0、pc1、pc2进行相连;通过配置将射频芯片配置成能同时接收北斗b1i和gpsl1信号,射频前端处理模块通过i/q支路将数字中频信号传输给基带信号数字处理模块进行基带信号处理。
6.根据权利要求2所述的弹性嵌入式gnss/惯性组合导航系统,其特征在于,所述外源传感器交互单元基于can总线设计,选择在dsp外置独立的can控制器,控制器选用mcp2515,该控制器通过高速spi与dsp进行通信,利用软件实现gpio模拟spi,使控制器只需连接dsp上4个gpio口,can控制器需要can接收器才能识别can总线上数据;can接收器选用tja1050,在can控制器与收发器之间设置光电隔离电路,mcp2515的txcan和rxcan管脚通过高速光电耦合器6n137与tja1050的txd和rxd相连。
7.一种弹性嵌入式gnss/惯性组合导航系统方法,其特征在于,步骤如下:
步骤1、微惯性测量单元对惯性测量器件输出的原始测量信息进行误差补偿,利用补偿后的角速率计算实时更新的姿态矩阵和姿态角信息,然后利用姿态矩阵将比力信息转换到导航坐标系下,并进行积分运算得到载体的速度信息,进而得到位置的变化率;最后对位置的变化率进行积分运算,得到载体的位置信息;
步骤2、北斗深耦合模块通过天线接收太空中所有可见的北斗/gps卫星的信号后,对接收到的数据进行处理从而测量出各个卫星信号的发射时间,接着将本地时间与测量所得的信号发射时间相减后再乘以光速,由此得到导航模块与卫星之间的伪距;同时,导航模块从卫星信号中解译出卫星运行轨道参数这些信息,依此计算出卫星空间位置;当知道四个卫星的位置时,结合已知卫星与导航模块的位置,计算出载体的位置;
步骤3、数据融合单元,建立超紧耦合系统的状态方程和量测方程,进行自适应滤波处理,选取伪距和伪距率作为观测量,经过kf滤波器的最优估计,输出校正信息,使用校正后的sins输出的信息辅助gnss接收机进行环路跟踪。
8.根据权利要求7所述的弹性嵌入式gnss/惯性组合导航系统方法,其特征在于,步骤1所述微惯性测量单元对惯性测量器件输出的原始测量信息进行误差补偿,利用补偿后的角速率计算实时更新的姿态矩阵和姿态角信息,然后利用姿态矩阵将比力信息转换到导航坐标系下,并进行积分运算得到载体的速度信息,进而得到位置的变化率;最后对位置的变化率进行积分运算,得到载体的位置信息,具体如下:
步骤1.1、初始对准
采用静基座快速粗对准的方式进行水平姿态角的对准,在静态地理坐标系下,则地球系相对惯性系的转动角速率在地理系的投影
对式(1)和式(2)求转置然后合并,得:
直接使用加速度计输出来进行水平姿态角的对准,由于gg=[00-g]t,得:
得俯仰角θ和横滚角γ的初值:
其中
步骤1.2、姿态解算
通过四元数的微分方程式计算来替代姿态矩阵微分方程式计算,进行四元数实时更新,再根据四元数与姿态矩阵之间的转换关系,求解载体的三个姿态角信息;
设载体b系相对n系的转动四元数为:
q=q0 (q1i q2j q3k)(6)
上式中,q0为标量部分,(q1i q2j q3k)为矢量部分;
同样得到:
其中,
上式的矩阵形式为:
其中,
在捷联惯性导航系统中采用龙格-库塔法进行数值积分求解,若t为陀螺仪采样步长,即积分步长,则四阶算法表达式如下:
其中,k1、k2、k3、k4分别为四元数在不同时刻的导数,t为四元数的更新周期即陀螺仪的采样周期,t为时间,
对四元数进行规范化处理:
其中,
上式转换为如下的形式:
从而求出俯仰角θ、横滚角γ、航向角ψ为:
步骤1.3、速度解算
速度更新一阶递推公式为:
式中,v(t)为当前时刻的速度,v(t-1)为前一时刻速度,t为速度解算周期,fb(t-1)为前一时刻的载体坐标系下的比力;
采用t-1时刻的速度加上以该时刻处的斜率为斜率的一阶速度增量作为速度微分方程式的解,转换为:
v(t)=v(t-1) t·f(v(t-1),fn(t-1))(15)
式中,f(v(t-1),fn(t-1))是关于v(t-1),fn(t-1)的函数、fn(t-1)为前一时刻的地理坐标系下的比力;
采用龙格-库塔数值积分法,递推得到改进的速度更新四阶递推算法:
式中,fn()为在地理坐标系下不同时刻的比力;
步骤1.4、位置解算
位置更新一阶递推公式为:
式中,l(t)、λ(t)、h(t)分别为当前时刻的纬度、经度、高度,l(t-1)、λ(t-1)、h(t-1)分别为前一时刻的纬度、经度、高度,t为位置解算周期,rm和rn为子午圈和卯酉圈的曲率半径;vn、ve、vu分别为地理坐标系下北向速度、东向速度、天向速度;
采用t-1时刻的位置加上以该时刻处的斜率为斜率的一阶位置增量作为位置微分方程式的解,转换为:
p(t)=p(t-1) t·f(p(t-1),v(t-1))(18)
其中p=[lλh]t;
同样采用四阶递推算法对位置更新:
9.根据权利要求7所述的弹性嵌入式gnss/惯性组合导航系统方法,其特征在于,步骤2中北斗深耦合模块通过天线接收太空中所有可见的北斗/gps卫星的信号后,对接收到的数据进行处理从而测量出各个卫星信号的发射时间,接着将本地时间与测量所得的信号发射时间相减后再乘以光速,由此得到导航模块与卫星之间的伪距;同时,导航模块从卫星信号中解译出卫星运行轨道参数这些信息,依此计算出卫星空间位置;当知道四个卫星的位置时,结合已知卫星与导航模块的位置,计算出载体的位置,具体如下:
步骤2.1、双模伪距测量值
电磁波在真空中传播的速度为光速c=2.99792458×108m/s,距离的测量转换为时间的测量;对于双模系统为了获得伪距测量值,首要保证是双模伪距测量的时间基准保持一致,卫星伪距测量公式为
ρ=c*(tr-ts)(20)
其中,ρ为卫星伪距观测量,卫星信号接收时间tr由用户接收机决定不存在时间偏差问题,卫星信号发射时刻ts的时间由于北斗和gps各自卫星的时间基准不一致,因此存在一个偏差值tgb,该差值通过卫星信号携带的导航电文求得;
gps和bds卫星信号的发射时间计算方式如下:
其中,tow、sow分别为gps、bds的周内秒,w为当前子帧中的字计数值,b为当前字中的比特计数值,c为当前比特伪码周期计数值,cp为码相位偏移量;
将时间基准定为gps,gps卫星伪距观测量ρg为
ρg=c*(tr-tsg)(22)
其中,tsg为gps信号发射时刻,对于北斗卫星需要增加tgb的时间偏差,此时伪距观测量表示为ρb:
ρb=c*(tr-(tsg-tgb))(23)
实际卫星信号传输过程中除了受到接收机时钟影响外,还会受到多种外界因素的影响,包括星历数据自身带来的卫星位置误差teph、信号传输过程中的对流层误差ttron、电离层误差tiono,接收机内部热噪声误差nr,信号接收过程中的多路径效应引起的误差tmuti;
经过误差修正后的伪距测量公式如下:
ρg=c*(tr-tsg) teph ttron tiono tmuti nr(24)
ρb=c*(tr-(tsg-tgb)) teph ttron tiono tmuti nr(25)
步骤2.2、联合定位方法
gps采用wgs84坐标系,bds采用cgs2000坐标系,依据伪距定位原理构建双模系统的伪距观测方程:
其中,xu、yu、zu分别为接收机在坐标系下的三维坐标;xs、ys、zs为卫星在该坐标系下的三维坐标;δt为卫星钟差;
由于双模定位系统相较于单模系统多了一个未知变量tgb,有两种方式消去tgb带来的影响;第一种是北斗导航电文播发的星历数据中包含bds时与gps时差异修正参数,通过读取北斗d1电文第5子帧第9页和d2电文第5子帧第101页获得,bdt和gpst的时间同步参数有两个:
a0gps:bdt相对于gpst的钟差
a1gps:bdt相对于gpst的钟差速度
bdt和gpst的系统偏差修正公式如下:
tgb=a0gps a1gps×te(28)
其中,te为接收机提取伪距观测量时的bdt;
计算出系统时间偏差tgb后,将北斗伪距观测值转换到gps观测值,将双模定位系统转换为单模定位系统,未知变量为post=[x,y,z,δt],按照单模定位的方式构建最小二乘,完成定位解算;
结合最小二乘牛顿迭代步骤计算完成多频段联合定位,解算出用户的位置、速度信息。
10.根据权利要求7所述的弹性嵌入式gnss/惯性组合导航系统方法,其特征在于,步骤3中数据融合单元,建立超紧耦合系统的状态方程和量测方程,进行自适应滤波处理,选取伪距和伪距率作为观测量,经过kf滤波器的最优估计,输出校正信息,使用校正后的sins输出的信息辅助gnss接收机进行环路跟踪,具体如下:
步骤3.1、建立超紧耦合系统状态方程:
其中,x(t)为系统状态矢量,
系统状态矢量:
式中,φe,φn,φu分别为东、北、天方向姿态角,δve,δvn,δvu分别为东、北、天方向速度误差,δl,δλ,δh分别为纬度、经度、高度误差,δtu为与时钟等效的距离误差,δtru为与时钟频率等效的距离率误差;εx,εy,εz分别为陀螺的漂移在东、北、天方向上的投影;
步骤3.2、建立超紧耦合系统量测方程:
z(t)=h(t)x(t) v(t)(31)
其中z(t)为系统观测矢量,h(t)为系统观测矩阵,v(t)为系统观测噪声阵,x为系统状态矢量;
伪距观测方程如下:
式中,
δρj=ρij-ρgj=ej1δx ej2δy ej3δz δtu vρj(34)
其中,
伪距率观测方程如下所示:
式中,
其中,
综合伪距和伪距率观测方程,得到惯性/卫星组合导航系统观测方程:
步骤3.3、进行自适应卡尔曼滤波
将系统的状态方程和量测离散化,进行组合滤波,系统的离散化方程为:
式中,xk为k时刻的n维状态向量;zk为k时刻的m维量测向量;φk,k-1为k-1到k时刻的系统一步转移矩阵;wk-1为k-1到k时刻的系统噪声;γk-1为系统噪声矩阵;hk为k时刻的量测矩阵;vk为k时刻的m维量测噪声;
经过上述的离散化步骤后,进行自适应卡尔曼滤波处理如下:
pk/k=(i-kkhk)pk/k-1(48)
式中,
其中令
其中,δxk=kkrk,结合式(45)和
自适应卡尔曼滤波器不断的调整过程噪声q和量测噪声r,估计出系统误差并反馈给数据融合单元,进行误差的修正补偿。
技术总结