基于GNURadio的GPS软件接收机的制作方法

文档序号:15826858发布日期:2018-11-02 23:51阅读:1103来源:国知局

本发明涉及基于gnuradio的gps软件接收机,属于卫星导航技术领域。

背景技术

gps是美国全球定位导航系统,分布范围广,卫星数目多,提供全球覆盖、全天候的三维定位,是目前服务最完善定位系统。gnuradio属于开源软件无线电软件,提供大量但是信号处理模块来实现软件无线电应用,近年来,gnuradio软件无线电项目中有着广泛的应用。

传统的商用gps接收机一般由四部分组成:gps天线,射频前端,相关器,微处理器。其中天线负责接收gps信号,射频前端负责将gps信号转换为低频信号并进行a/d转换,相关器负责信号的捕获、跟踪,并将伪码、载波以及观测值等传递给微处理器,属于接收机的硬件部分,微处理器负责将导航解算,根据导航电文中的卫星位置信息以及卫星信号的发射时间与本地接收信号的时间,完成接收机的位置解算。硬件接收机的核心就是相关器,后续处理器的数据都是来自于相关器,一般的相关器都是gps芯片。

传统接收机基带信号处理中出现的大量相关运算,特别是跟踪过程的相关操作需要专用集成电路(applicationspecificintegratedcircuit,asic)来进行处理,相比于软件来说成本高,并且相应芯片只能针对单一的频段进行处理,难以扩展,不够灵活。



技术实现要素:

为了解决上述问题,本发明提供一种基于gnuradio的gps软件接收机。本发明采取的技术方案如下:

基于gnuradio的gps软件接收机,包括如下步骤:

第一步:gps天线模块接收到gps信号后,经过低噪放大器与带通滤波器输出到射频模块;

第二步:射频模块处理信号:根据奈奎斯特采样定理,对gpsc/a带宽的2倍进行带通采样,采样后的信号进行a/d转换后可以利用gnuradio提供的usrp硬件驱动uhd将数据进行本地保存以进行后处理,也可以根据采样流进行实时处理;

第三步:基带信号处理:采集的信号中需要判断哪些是卫星信号,需要先经过捕获,得到卫星的粗略多普勒频率和码相位,将得到的信息传递给跟踪模块,再得到多普勒频移与码相位的精确值以解调出导航电文,包括如下捕获模块与跟踪模块处理:

捕获模块处理方法:gpsl1c/a信号捕获是一个二维的过程,需要得到信号的码相位以及载波频率,捕获模块采样基于fft的码相搜索算法,算法如下:

a.基于fft并行码相捕获算法首先将在采集信号分别与本地载波相乘得到同向分量i,与相移90°载波相乘得到正交分量q,得到基带复信号i+jq,对得到的复信号进行fft变换;

b.对本地伪码生成器生成的伪码进行fft变换,将其转换到频域,并取复共轭;

c.对a和b的结果进行相乘,并进行ifft变换转换到时域;

d.将ifft后的输出的值的平方表示输入信号和prn码的相关性。如果相关值中存在峰值,则该峰值的坐标就对应输入信号的码相位与载波频率;若没有通过门限,需要重新设定本地载波再次搜索;

跟踪模块处理方法:捕获模块得到的码相位和多普勒频移一个粗略值,由于接收机和卫星的相对运动,码相位和多普勒频移是实时变化的,所以需要得到实时更新信号频率、码相位变化以解调出导航电文;跟踪模块采用载波跟踪环和码跟踪相结合的跟踪算法,该算法过程为:载波跟踪环中,首先根据捕获过程中输出的载波频率值在本地复制同样频率的载波。将本地复制载波与输入信号进行混频,以剥离输入信号中的载波。并根据载波的剥离效果进一步调整本地复制载波的参数,以达到最好的载波跟踪效果。载波跟踪环通常采用相位锁定环路(pll)的形式,码跟踪环中,通常会复制3份不同相位的c/a码,分别称为超前码(early)、即时码(prompt)和滞后码(late),并分别用字母e、p和l来表示。将这3份不同相位的c/a码分别与输入信号进行相关操作,并将即时码的相关结果与超前码和滞后码的相关结果进行比较,就可以较为精确地确定相关结果的最大值。

第四步:导航电文解调与位置计算,其方法如下:

导航电文解调方法如下:

跟踪环路的输出的数据是一串01二进制数据,需要按照gps信号格式进行解调恢复成导航电文,其中的解调步骤包括位同步、帧同步、奇偶校验、导航电文读取几个步骤;其中位同步需要得到导航电文的跳变位置,导航电文每一位的周期为20ms,c/a码每chip周期为1ms,导航电文每一位包含20个c/a码,当某个c/a码发生变化时,直方图中20个格子相应的值加一,直到直方图中某一个格子的值超过预定值认为位同步成功,对相应跳变位置进行统计,出现一次变化就加一,大于设定门限认定检测成功;子帧同步:位同步成功后可以得到50bps的导航电文,为了获取导航信息,需要获取各个子帧在50bps导航电文中的具体位置,子帧周期6s,由于costas对环路跳变不敏感,起始8位前导码可能为10001011或者01110100,所以子帧同步需要对前导码及其反码进行搜索,但是搜索到的符合前导码和其反码格式也可能是数据码,还需对后续22bit进行奇偶校验,并对几个子帧前导码位置进行确认。奇偶校验:假设接收获得的30bit为数据为d1,d2,d3,......d30,按照奇偶检验算法,可以计算得到对应每一位计算值d1,d2,d3,......d30,如果接收到的检校位和计算得到结果相同,则表示数据无误;导航电文读取:奇偶校验成功后按照固定的格式对导航信息进行提取,如子帧1的197位起始的8bit数据为电离层时延参数tgd;

位置解算方法如下:利用伪距定位原理,得到四颗卫星的位置信息即可结算处用户位置信息,

其中(xi,yi,zi)为第i颗卫星的三维坐标,(xu,yu,zu)为用户位置,tu为用户接收机的时钟误差与卫星原子钟的时钟钟差,对(1)进行微分方程得到:

其中δxu,δyu,δzu,δtu是未知量,将(2)定义为矩阵形式

求解可得:

该方程不能直接求解,本软件利用最小二乘法进行迭代求解,具体实现步骤为:

①给定用户位置(xu,yu,zu)和时钟偏差tu设置初值,可求解一组(δxu,δyu,δzu,δtu),利用这些值对原来的值进行修正,新值看为已知量;

②重复①操作,如果大于预定门限,将δxu,δyu,δzu,δtu和xu,yu,zu,tu的初值相加,得到一组新值,将新值作为接下来计算的初值;

③重复①②操作,直到δν小于门限值,此时认定求得解xu,yu,zu,tu。

本发明的有益效果:基于gnuradio的gps软件接收机则是利用gnuradio软件架构,采用面向对象的编程思想,结合gnuradio提供的信号处理模块,将信号的捕获、跟踪以及后续的导航解算在通用处理器上编程实现,使用gnuradio提供的scheduler进行多线程调度管理实现多通道处理可以达到实时性能,并且相比于硬件接收机,可以进行算法升级,便于软件开发,具有很大的灵活性与可扩展性。

附图说明

图1是基于fft并行码相捕获算法原理如图。

图2是码跟踪环与载波跟踪环相结合的跟踪算法。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

基于gnuradio的gps软件接收机,包括如下步骤:

第一步:gps天线模块接收到gps信号后,经过低噪放大器与带通滤波器输出到射频模块;

第二步:射频模块处理信号:根据奈奎斯特采样定理,对gpsc/a带宽的2倍进行带通采样,采样后的信号进行a/d转换后可以利用gnuradio提供的usrp硬件驱动uhd将数据进行本地保存以进行后处理,也可以根据采样流进行实时处理;

第三步:基带信号处理:采集的信号中需要判断哪些是卫星信号,需要先经过捕获,得到卫星的粗略多普勒频率和码相位,将得到的信息传递给跟踪模块,再得到多普勒频移与码相位的精确值以解调出导航电文,包括如下捕获模块与跟踪模块处理:

捕获模块处理方法:gpsl1c/a信号捕获是一个二维的过程,需要得到信号的码相位以及载波频率,捕获模块采样基于fft的码相搜索算法,算法如下:

a.基于fft并行码相捕获算法首先将在采集信号分别与本地载波相乘得到同向分量i,与相移90°载波相乘得到正交分量q,得到基带复信号i+jq,对得到的复信号进行fft变换;

b.对本地伪码生成器生成的伪码进行fft变换,将其转换到频域,并取复共轭;

c.对a和b的结果进行相乘,并进行ifft变换转换到时域;

d.将ifft后的输出的值的平方表示输入信号和prn码的相关性。如果相关值中存在峰值,则该峰值的坐标就对应输入信号的码相位与载波频率;若没有通过门限,需要重新设定本地载波再次搜索;基于fft并行码相捕获算法原理如图1所示。

跟踪模块处理方法:捕获模块得到的码相位和多普勒频移一个粗略值,由于接收机和卫星的相对运动,码相位和多普勒频移是实时变化的,所以需要得到实时更新信号频率、码相位变化以解调出导航电文;跟踪模块采用载波跟踪环和码跟踪相结合的跟踪算法,图2为码跟踪环与载波跟踪环相结合的gps信号跟踪原理图。图2所示:捕获模块将码相位与多普勒频移的粗略值传递给跟踪模块,载波环路中载波鉴相器计算跟踪信号中实时变化的载波相位用以生成本地载波,码跟踪环路通过计算e、p、l三路的积分结果实现对码相位的动态调整,保证即时码相关积分始终保持最大值,这样才能保证ie输出导航电文。

跟踪模块采用载波跟踪环和码跟踪相结合的跟踪算法,该算法过程为:载波跟踪环中,首先根据捕获过程中输出的载波频率值在本地复制同样频率的载波。将本地复制载波与输入信号进行混频,以剥离输入信号中的载波。并根据载波的剥离效果进一步调整本地复制载波的参数,以达到最好的载波跟踪效果。载波跟踪环通常采用相位锁定环路(pll)的形式,码跟踪环中,通常会复制3份不同相位的c/a码,分别称为超前码(early)、即时码(prompt)和滞后码(late),并分别用字母e、p和l来表示。将这3份不同相位的c/a码分别与输入信号进行相关操作,并将即时码的相关结果与超前码和滞后码的相关结果进行比较,就可以较为精确地确定相关结果的最大值。图2中的ie、qe、ip、qp、il、ql分别表示本地复现的超前码、即时码和滞后码与输入信号进行相关操作,操作后得到的相关结果的同相分量和正交分量。

第四步:导航电文解调与位置计算,其方法如下:

导航电文解调分四步:位同步,子帧同步,奇偶校验,导航电文提取(田炳丽,宁春林,丁风雷,等.gps软件接收机导航电文提取的研究[j].通信技术,2009,42(3):212-214.)。位同步:位同步通常采用“直方图”算法0(张伟,陈萍,谭敏强.多模gnss系统比特同步直方图优化算法[c]//internationalconferenceonbroadcasttechnology&multimediacommunication.2010.),设定20个计算器与导航电文对应的20个c/a周期相对应,对跟踪模块i路输出的导航数据进行检测,若有变化就在相应计数器加1,当计数器超过其他位且超过门限时认定同步位检测成功。

子帧同步:位同步成功后可以得到50bps的导航电文,为了获取导航信息,需要获取各个子帧在50bps导航电文中的具体位置,由2.3.3节知子帧周期6s,由于costas对环路跳变不敏感,起始8位前导码可能为10001011或者01110100,所以子帧同步需要对前导码及其反码进行搜索,但是搜索到的符合前导码和其反码格式也可能是数据码,还需对后续22bit进行奇偶校验,并对几个子帧前导码位置进行确认。

奇偶校验:假设接收获得的30bit为数据为d1,d2,d3....d30,按照一定的算法,可以计算得到对应每一位计算值d1,d2,d3....d30,如果接收到的检校位和计算得到结果相同,则表示数据无误,即:d25=d25,d26=d26,d27=d27,d28=d28,d29=d29,d30=d30。

跟踪环路的输出的数据是一串01二进制数据,需要按照gps信号格式进行解调恢复成导航电文,其中的解调步骤包括位同步、帧同步、奇偶校验、导航电文读取几个步骤;其中位同步需要得到导航电文的跳变位置,导航电文每一位的周期为20ms,c/a码每chip周期为1ms,导航电文每一位包含20个c/a码,当某个c/a码发生变化时,直方图中20个格子相应的值加一,直到直方图中某一个格子的值超过预定值认为位同步成功,对相应跳变位置进行统计,出现一次变化就加一,大于设定门限认定检测成功;子帧同步:位同步成功后可以得到50bps的导航电文,为了获取导航信息,需要获取各个子帧在50bps导航电文中的具体位置,子帧周期6s,由于costas对环路跳变不敏感,起始8位前导码可能为10001011或者01110100,所以子帧同步需要对前导码及其反码进行搜索,但是搜索到的符合前导码和其反码格式也可能是数据码,还需对后续22bit进行奇偶校验,并对几个子帧前导码位置进行确认。奇偶校验:假设接收获得的30bit为数据为d1,d2,d3,......d30,按照奇偶检验算法,可以计算得到对应每一位计算值d1,d2,d3,......d30,如果接收到的检校位和计算得到结果相同,则表示数据无误;导航电文读取:奇偶校验成功后按照固定的格式对导航信息进行提取,如子帧1的197位起始的8bit数据为电离层时延参数tgd;

位置解算方法如下:利用伪距定位原理,得到四颗卫星的位置信息即可结算处用户位置信息,

其中(xi,yi,zi)为第i颗卫星的三维坐标,(xu,yu,zu)为用户位置,tu为用户接收机的时钟误差与卫星原子钟的时钟钟差,对(1)进行微分方程得到:

其中δxu,δyu,δzu,δtu是未知量,将(2)定义为矩阵形式

求解可得:

该方程不能直接求解,本软件利用最小二乘法进行迭代求解,具体实现步骤为:

①给定用户位置(xu,yu,zu)和时钟偏差tu设置初值,可求解一组(δxu,δyu,δzu,δtu),利用这些值对原来的值进行修正,新值看为已知量;

②重复①操作,如果大于预定门限,将δxu,δyu,δzu,δtu和xu,yu,zu,tu的初值相加,得到一组新值,将新值作为接下来计算的初值;

③重复①②操作,直到δν小于门限值,此时认定求得解xu,yu,zu,tu。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

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