一种通用卫星导航伪码生成方法与流程

文档序号:25598584发布日期:2021-06-22 17:18阅读:379来源:国知局
一种通用卫星导航伪码生成方法与流程

本申请涉及卫星通信技术领域,具体涉及一种通用卫星导航伪码生成方法。



背景技术:

目前全球卫星导航系统发展迅速,已有美国gps、中国北斗、欧盟galileo和俄罗斯glonass等导航系统。各导航系统不同频点不同发展阶段采用的伪码类型和生成方式都存在差异,并且还在持续发展和演进过程中。扩频码生成器是卫星导航接收机必须组件。

根据当前各频点不同特性进行分析,对于gps的l1、l2、l5等频点,galileo的e5a、e5b频点、glonass的g1、g2频点、北斗二号的b3i、b1i频点以及北斗三号的b2a、b2b频点卫星,伪码均使用golden码,但不同频点的伪码生成多项式也各不相同。北斗三号b1c频点和gpsl1cd/p频点选择使用weil码,galileo卫星e1频点采用记忆码。这些不同频点对于伪码的不同需求,导致多模导航接收机需要对应生成相应的伪码生成器模块。

此外,由于weil码由legendre序列生成,目前legendre序列并没有较好的实时生成方法。因此weil码无法完全通过简单的电路结构实时生成。当前常用的方法是把weil码全部存储下来,保证伪码的实时需求。

同时针对多颗卫星的同时跟踪,每个通道都需要相应的伪码支持,很多接收机采取每个通道单独配置伪码生成器的方式,来保证各个通道跟踪的独立性和连续性。但是采取每个通道各自根据参数配置伪码生成器,极大的增加了资源开销。



技术实现要素:

本申请为了解决上述技术问题,提出了如下技术方案:

第一方面,本申请实施例提供了一种通用卫星导航伪码生成方法,所述方法包括:配置生成伪码的参数信息,所述参数信息包括golden码参数信息和weil码参数信息;根据伪码请求,配置与伪码类型相匹配的码生成器;通过所述码生成器生成对应类型的伪码。

采用上述实现方式,支持所有导航系统所有频点的所有卫星,支持多通道时分复用取码。根据不同伪码配置相应的参数,根据配置的参数生成相应的码生成器,生成对应的伪码。相比传统方式,可以极大的减少逻辑资源开销,同时在工程管理的角度上,也大大减少了不同种类伪码生成器的冗余模块。

结合第一方面,在第一方面第一种可能的实现方式中,所述配置生成伪码的参数信息包括:获取参数后,按照通道将参数存放于指定内存地址下,等待伪码生成使用。

结合第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,对于weil码,只存储legendre序列,将计算出的legendre序列在初始化时写入指定存储ram中。

结合第一方面第一种可能的实现方式,在第一方面第三种可能的实现方式中,配置golden码生成器,所述根据伪码请求,配置与伪码类型相匹配的码生成器,包括:根据取码通道的序号和生成地址,读取相应参数;对两个线性序列g1和g2配置移位寄存器初始值u32initg1、u32initg2;对两个线性序列g1和g2配置多项式抽头u32coefg1、u32coefg2;对两个线性序列g1和g2配置掩码值u32maskg1、u32maskg2;对两个线性序列g1和g2配置截断长度u32truncklen1、u32truncklen2;读入指定通道两个线性序列g1和g2移位寄存器状态以及伪码计数等历史信息;完成参数配置后,将相关标志置高,等待取码信号。

结合第一方面第二种可能的实现方式,在第一方面第四种可能的实现方式中,配置weil码生成器,所述根据伪码请求,配置与伪码类型相匹配的码生成器,包括:根据取码通道的序号和生成地址,读取相应参数;对两个legendre序列配置序列初始值u32prinit_a、u32prinit_b;配置weil码序列长度u32weillen和截断长度u32trucklen;读入指定通道两个legendre序列的地址计数、插入码计数以及伪码计数等历史信息;完成参数配置后,将相关标志置高,等待取码信号。

结合第一方面第三种可能的实现方式,在第一方面第五种可能的实现方式中,通过所述码生成器生成对应类型的伪码,包括:根据伪码取码信号和使能开关,推动两个线性序列g1和g2基于配置的移位寄存器初始值进行移位操作,同时开始码片计数;当码片计数到达g1或g2的配置截断长度,则相应将g1或g2序列恢复到初始值;根据配置的多项式抽头,选择两个线性序列g1和g2中相应bit位异或相加,作为新的输入位;根据配置的掩码值,选择两个线性序列g1和g2中相应bit位异或相加,得到g1序列和g2序列输出,再将两个序列的模2和作为该通道的golden码输出;生成伪码有效标志,方便后级使用。

结合第一方面第四种可能的实现方式,在第一方面第六种可能的实现方式中,通过所述码生成器生成对应类型的伪码,包括:根据伪码取码信号和使能开关,推动两个legendre序列基于配置的初始地址进行递增操作,同时开启码片计数;地址若到达插入码地址位置,则暂停计数和地址递增,开始插入码,完成插入码的插入操作后,恢复正常计数和地址递增;码片计数若到达截断长度,则返回初始配置;将两个legendre序列的模2和作为该通道的weil码;生成伪码有效标志,方便后级使用。

结合第一方面第五或六种可能的实现方式,在第一方面第七种可能的实现方式中,还包括生成伪码后,保存当前状态信息。

结合第一方面第七种可能的实现方式,在第一方面第八种可能的实现方式中,所述保存当前状态信息包括:当前通道取码完成后,将两个线性序列g1和g2的移位寄存器当前状态以及伪码计数保存至指定内存中,等待下一通道取码。

结合第一方面第七种可能的实现方式,在第一方面第九种可能的实现方式中,所述保存当前状态信息包括:当前通道取码完成后,将两个legendre序列的地址计数、插入码计数以及伪码计数保存至指定内存中,等待下一通道取码。

附图说明

图1为本申请实施例提供的用于卫星导航伪码生成的系统框架示意图;

图2为本申请实施例提供的一种通用卫星导航伪码生成方法的流程示意图;

图3为本申请实施例提供的golden码生成方式示意图;

图4为本申请实施例提供的weil码生成方式示意图。

具体实施方式

下面结合附图与具体实施方式对本方案进行阐述。

本申请中卫星导航伪码生成方法主要通过以下系统框架,参见图1,系统框架包括伪码生成模块、配置模块、扩展接口和多通道接口。

配置模块的主要功能是通过配置寄存器来完成伪码生成器的工作模式。配置寄存器包括选择伪码类型,使用方式(独占或轮询)、生成、初始相位、伪码长度、生成多项式、掩码配置等等。

伪码生成模块的主要功能是根据配置模块的具体参数,在取码信号驱动下,生成相应伪码。

多通道接口模块的主要功能是针对多通道时分复用的需求,存储伪码生成和使用过程中的一些关键临时变量,从而保证每个通道取码的独立性和连续性。伪码生成模块的主要工作流程为:接收伪码请求,根据通道号读入历史信息,基于历史信息和参数配置生成伪码,伪码请求完成后存储当前状态。

图2为本申请实施例提供的一种通用卫星导航伪码生成方法的流程示意图,参见图2,本实施例提供的通用卫星导航伪码生成方法,包括:

s101,配置生成伪码的参数信息,所述参数信息包括golden码参数信息和weil码参数信息。

对于golden码生成,可通过以下参数实现多频点不同golden码的生成。配置模块获取参数后,按照通道将参数存放于指定内存地址下,等待伪码生成模块使用。

对于weil码,本发明只存储legendre序列,即2.046kbit,相比完整存储weil码,存储资源大大减少。根据频点,将计算出的legendre序列在初始化时写入指定存储ram中,等待伪码生成模块读取。配置模块获取参数后,按照通道将参数存放于指定内存地址下,等待伪码生成模块使用。

s102,根据伪码请求,配置与伪码类型相匹配的码生成器。

本实施例中包括配置golden码生成器和weil码生成器。

配合golden码生成器包括:

根据取码通道的序号和生成地址,读取相应参数。

对两个线性序列g1和g2配置移位寄存器初始值u32initg1、u32initg2。

对两个线性序列g1和g2配置多项式抽头u32coefg1、u32coefg2。

对两个线性序列g1和g2配置掩码值u32maskg1、u32maskg2。

对两个线性序列g1和g2配置截断长度u32truncklen1、u32truncklen2。

读入指定通道两个线性序列g1和g2移位寄存器状态以及伪码计数等历史信息。

完成参数配置后,将相关标志置高,等待取码信号。

配置weil码生成器包括:

根据取码通道的序号和生成地址,读取相应参数。

对两个legendre序列配置序列初始值u32prinit_a、u32prinit_b。

配置weil码序列长度u32weillen和截断长度u32trucklen。

读入指定通道两个legendre序列的地址计数、插入码计数以及伪码计数等历史信息。

完成参数配置后,将相关标志置高,等待取码信号。

s103,通过所述码生成器生成对应类型的伪码。

图3为golden码生成方式示意图,参见图3,根据伪码取码信号和使能开关,推动两个线性序列g1和g2基于配置的移位寄存器初始值进行移位操作,同时开始码片计数。当码片计数到达g1或g2的配置截断长度,则相应将g1或g2序列恢复到初始值。根据配置的多项式抽头,选择两个线性序列g1和g2中相应bit位异或相加,作为新的输入位。根据配置的掩码值,选择两个线性序列g1和g2中相应bit位异或相加,得到g1序列和g2序列输出,再将两个序列的模2和作为该通道的golden码输出。生成伪码有效标志,方便后级使用。

图4为weil码生成方式示意图,参见图4,根据伪码取码信号和使能开关,推动两个legendre序列基于配置的初始地址进行递增操作,同时开启码片计数。地址若到达插入码地址位置,则暂停计数和地址递增,开始插入码,完成插入码的插入操作后,恢复正常计数和地址递增。码片计数若到达截断长度,则返回初始配置。将两个legendre序列的模2和作为该通道的weil码。生成伪码有效标志,方便后级使用。

生成golden码和weil码后,保存当前状态信息。具体地,对于golden码,当前通道取码完成后,将两个线性序列g1和g2的移位寄存器当前状态以及伪码计数保存至指定内存中,等待下一通道取码。对于weil码,当前通道取码完成后,将两个legendre序列的地址计数、插入码计数以及伪码计数保存至指定内存中,等待下一通道取码。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当然,上述说明也并不仅限于上述举例,本申请未经描述的技术特征可以通过或采用现有技术实现,在此不再赘述;以上实施例及附图仅用于说明本申请的技术方案并非是对本申请的限制,如来替代,本申请仅结合并参照优选的实施方式进行了详细说明,本领域的普通技术人员应当理解,本技术领域的普通技术人员在本申请的实质范围内所做出的变化、改型、添加或替换都不脱离本申请的宗旨,也应属于本申请的权利要求保护范围。

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