一种基于人工神经网络的GNSS信号捕获方法

文档序号:29403112发布日期:2022-03-26 09:57阅读:232来源:国知局
一种基于人工神经网络的GNSS信号捕获方法
一种基于人工神经网络的gnss信号捕获方法
技术领域
1.本发明涉及一种基于人工神经网络的gnss信号捕获方法,属于卫星定位导航技术领域。


背景技术:

2.卫星导航定位系统涉及政治、经济、军事等领域,在车辆导航、航空航海、地理测绘、大众消费等方面都得到广泛应用,可以为用户提供位置和时间信息,通过位于空间中的多颗导航卫星发射无线电导航信号为终端用户实现定位和导航功能。
3.接收机是导航定位系统的核心部分,通常由天线、射频前端、基带信号处理部分构成。天线接收空间星座中可见卫星播发的卫星信号;射频前端将天线接收到射频信号通过放大、下变频、滤波和a/d采样量化转化成容易处理的数字中频信号,然后送入基带信号处理部分;基带信号处理部分通过对数字中频信号进行捕获、跟踪处理,获得伪距信息,同时解调出信号中包含的卫星位置信息、卫星运行状态信息、钟差校正信息和电离层校正信息等,最终解算出接收机位置。其中,捕获是基带信号处理的核心步骤,作为导航定位接收机进行信号同步的起始部分,其性能直接影响后续跟踪环路的精度和处理速度。捕获过程包括解调和对信号进行相关处理,主要任务是识别当前接收机可见卫星、粗略地获得接收信号载波频率和码相位,为后续跟踪模块提供参数估计。因此,如何提高捕获性能成为卫星定位导航领域内的一个热点问题。卫星信号的捕获实际上是一个关于可见卫星、载波频率和伪随机码相位的三维搜索过程,接收机在启动时需要对各个卫星信号进行最大范围的二维搜索。其中用户接收机与卫星在两者连线方向上的相对运动引起的最大多普勒频移量为
±
10khz,以载波标称频率f为中心的这20khz不定区间,通常就作为接收机启动时用来捕获卫星信号的频率搜索范围。在确定了信号多普勒频移的搜索范围后,接收机需要从该频率搜索范围起始值出发,以一定搜索步长依次进行搜索,直到最后检测出信号或者搜索完所有频率范围。当载波频率搜索的步长设置越小,频率的误差越小,但相关运算量会增加,导致捕获时间变长,影响接收机性能;当载波频率搜索的步长设置越大,频率的误差越大,相关器输出的信号分量就越弱,进而增大信号检测的漏警率,降低信号捕获的灵敏度,并且对载波频率的估计精度过大时,会加重跟踪环路动态调整负担,增加导航数据解调时间,影响接收机性能,严重时,会使跟踪环路不能将信号牵引到锁定状态,导致解调导航数据出错。
4.在传统捕获算法的实现中,为满足捕获精度问题,多为频域搜索完成后在小范围内减小搜索步长重新进行若干次搜索,对载波频率的估计精度为几十赫兹,这种方式增加了捕获时间,且很难得到高精度的载波频率。因此,迫切需要设计一种性能良好的捕获方法,在获取高精度载波频率的同时,减少捕获搜索的时间。


技术实现要素:

5.针对现有技术的不足,本发明提出了一种基于人工神经网络的gnss信号捕获方法。
6.本发明的核心思想是将并行码相位搜索捕获算法和人工神经网络优化算法相结合,通过对人工神经网络模型的训练,快速预测出精准的载波频率,极大地减少捕获时间,兼顾捕获时间和捕获精度,优化接收机的性能。
7.术语解释:
8.1、gnss信号,gnss是global navigation satellite system的缩写,称为全球卫星导航系统信号或全球导航卫星系统信号。
9.2、prn,是伪随机噪声码(pseudo random noise code)的缩写。
10.3、levenberg-marquardt算法,中文为列文伯格-马夸尔特算法,简称lm算法。用于计算非线性函数的最小二乘拟合,在参数拟合中有着广泛的应用,它是利用梯度求最大(小)值的算法,同时具有梯度法和牛顿法的优点。
11.本发明的技术方案为:
12.一种基于人工神经网络的gnss信号捕获方法,具体实现步骤包括:
13.步骤a:获取数据集,包括:
14.步骤1:求取时域内的相关峰值;
15.步骤2:采用平均相关峰检测方法对步骤1得到时域内的相关峰值进行检测,并判断是否捕获到当前卫星;是指:如果最大相关峰值与平均相关峰值的比值大于设定阈值,进入步骤3;否则,进入步骤4;其中,最大相关峰值是指步骤1得到时域内的相关峰值中的最大值,平均相关峰值是对步骤1得到时域内的相关峰值的平均值;
16.步骤3:缩小频率搜索步长,执行步骤1,判断载波频率搜索是否搜索完毕,如果搜索完毕,截取当前频率点的最大相关峰值及其附近频率点的最大相关峰值作为数据集;数据集包括训练集和测试集;否则,继续执行步骤1;
17.步骤4:判断载波频率搜索是否搜索完毕,如果搜索完毕,认为当前卫星prn未被捕获,调整下一个卫星prn,进行步骤5,否则,执行步骤1;
18.步骤5:判断卫星prn搜索是否搜索完毕,如果搜索完毕,则gnss信号捕获完毕,否则,执行步骤1;
19.步骤b:训练人工神经网络模型,包括:
20.步骤6:将步骤a得到的训练集输入至人工神经网络模型进行训练和最大值预测;
21.具体是指:训练人工神经网络模型,训练截止条件为迭代次数完成或误差达到要求,根据局部最优原则,得到最优神经网络结构和参数即训练好的人工神经网络模型;
22.将测试集中的测试数据输入至训练好的人工神经网络模型,对训练好的人工神经网络模型的检测效果进行测试,预测最大值出现的位置;
23.步骤c:通过训练好的人工神经网络模型进行gnss信号捕获;
24.测试时,通过步骤1-5获取gnss信号捕获时产生的相关峰值测试集数据,将该测试集数据输入至训练好的人工神经网络模型,顺着数据流动的方向在人工神经网络模型中进行计算,直到数据传输到输出层并输出,就完成一次预测,实现了gnss信号捕获。
25.多层感知器神经网络的训练,基于levenberg-marquardt学习算法,得到最优神经网络结构与参数值,提高捕获准确性以及精度。
26.根据本发明优选的,步骤1的具体实现步骤包括:
27.步骤1.1:将接收到的数字中频信号分别与某一频率的复制正弦载波和复制余弦
marquardt优化算法对人工神经网络模型的所有参数进行更新;
48.当损失函数收敛到一定程度或迭代次数完成时结束训练,保存训练后的人工神经网络模型的参数,得到训练好的人工神经网络模型。
49.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现基于人工神经网络的gnss信号捕获方法的步骤。
50.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现基于人工神经网络的gnss信号捕获方法的步骤。
51.本发明的有益效果为:
52.1、本发明一种基于人工神经网络的gnss信号捕获方法,利用人工神经网络来表达最大相关峰值与载波频率之间的非线性关系,并根据这种关系预测相关峰值空间分布,缩短载波频率的搜索时间,实现信号的快速捕获,提高接收机处理效率。
53.2、本发明一种基于人工神经网络的gnss信号捕获方法,基于人工神经网络函数训练多层感知器神经网络,根据局部最优原则,得到最优网络结构与参数值,提高捕获准确性以及精度。
54.3、本发明一种基于人工神经网络的gnss信号捕获方法,将并行码相位搜索捕获算法和人工神经网络技术相结合,同时兼顾捕获精度和捕获效率,实现快速高精度的gnss信号捕获。
附图说明
55.图1是本发明求取时域内的相关峰值的流程示意图;
56.图2是本发明基于人工神经网络的gnss信号捕获方法的整体流程示意图;
57.图3是本发明人工神经网络模型的结构示意图。
具体实施方式
58.下面结合说明书附图和实施例对本发明作进一步描述,但不限于此:
59.实施例1
60.一种基于人工神经网络的gnss信号捕获方法,如图2所示,由于处于同一码带上不同频率搜索单元的相关峰值为|sinc|函数曲线的采样点,故基于人工神经网络函数,以gnss信号捕获时产生的最大相关峰值及其附近频点的最大相关峰值数据作为数据集,训练多层感知器神经网络,得到最优神经网络结构与参数值。针对得到的神经网络结构和参数,进行高精度的载波频率预测。具体实现步骤包括:
61.步骤a:获取数据集,包括:
62.步骤1:求取时域内的相关峰值;
63.时域内的相关峰值是指:两个序列x(n)与y(n)在时域内做相关运算,相当于它们的傅里叶变换x(k)与y
*
(k)(y
*
(k)是y(k)的共轭)在频域内做乘积运算,乘积x(k)y
*
(k)的傅里叶反变换正好是需要进行检测的在各个码相位处的相关值。对这个傅里叶反变换的结果做模平方,再找出模平方后序列的最大值,即可获得此处的时序内的相关峰值。
64.步骤2:采用平均相关峰检测方法对步骤1得到时域内的相关峰值进行检测,并判断是否捕获到当前卫星;是指:如果最大相关峰值与平均相关峰值的比值大于设定阈值,该
设定阈值的设置与相关值分布概率有关,当卫星信号较强时,阈值取值为25;当卫星信号较弱时,阈值取值为15。进入步骤3;否则,进入步骤4;其中,最大相关峰值是指步骤1得到时域内的相关峰值中的最大值,平均相关峰值是对步骤1得到时域内的相关峰值的平均值;
65.步骤3:缩小频率搜索步长,执行步骤1,判断载波频率搜索是否搜索完毕,如果搜索完毕,截取当前频率点的最大相关峰值及其附近频率点的最大相关峰值作为数据集;数据集包括训练集和测试集;否则,继续执行步骤1;
66.步骤4:判断载波频率搜索是否搜索完毕,如果搜索完毕,认为当前卫星prn未被捕获,调整下一个卫星prn,进行步骤5,否则,执行步骤1;
67.步骤5:判断卫星prn搜索是否搜索完毕,如果搜索完毕,则gnss信号捕获完毕,否则,执行步骤1;
68.步骤b:训练人工神经网络模型,包括:
69.步骤6:将步骤a得到的训练集输入至人工神经网络模型进行训练和最大值预测;人工神经网络模型的结构根据截取数据集的长度预先设定;
70.具体是指:训练人工神经网络模型,训练截止条件为迭代次数完成或误差达到要求,根据局部最优原则,得到最优神经网络结构和参数即训练好的人工神经网络模型;
71.将测试集中的测试数据输入至训练好的人工神经网络模型,对训练好的人工神经网络模型的检测效果进行测试,预测最大值出现的位置;
72.步骤c:通过训练好的人工神经网络模型进行gnss信号捕获;
73.测试时,通过步骤1-5获取gnss信号捕获时产生的相关峰值测试集数据,将该测试集数据输入至训练好的人工神经网络模型,顺着数据流动的方向在人工神经网络模型中进行计算,直到数据传输到输出层并输出,就完成一次预测,实现了gnss信号捕获。
74.实施例2
75.根据实施例1所述的一种基于人工神经网络的gnss信号捕获方法,其区别在于:
76.如图1所示,步骤1的具体实现步骤包括:
77.步骤1.1:将接收到的数字中频信号分别与某一频率的复制正弦载波和复制余弦载波信号混频,得到基带复信号;
78.步骤1.2:将步骤1.1得到基带复信号进行傅里叶变换;
79.步骤1.3:将本地复制伪码进行傅里叶变换,取傅里叶变换后的共轭值与步骤1.2得到的结果相乘;
80.步骤1.4:将步骤1.3得到的结果进行傅里叶反变换;
81.步骤1.5:将步骤1.4得到的结果进行模平方得到时域内的相关峰值。
82.步骤2中,采用平均相关峰检测方法对步骤1得到时域内的相关峰值进行检测,具体是指:
83.最大相关峰值a
peak
=max(a);
84.平均相关峰值
85.n表示进行傅里叶变换序列的长度;a是指模平方后生成的以伪随机码相位索引值为x轴和以每个伪随机码索引值对应的相关峰值为y轴的二维数组;x的大小为2n,相关峰值在空间分布为|sinc|函数曲线,使用人工神经网络预测最大相关峰值对应的频率索引值,
即可得到所需捕获的载波频率。
[0086][0087]
其中,m表示频率索引值的大小,f
mp
表示最大多普勒频移,f
if
表示数字中频信号标称的载波频率,f
bin
表示载波频率搜索步长;
[0088]
n表示伪码相位索引值的大小,t表示伪码长度,tc表示最大伪码相移,t
bin
为伪码相位搜索步长;
[0089]
o表示缩小频率搜索步长后频率索引值的大小,fc表示进行人工神经网络模型预测的中心载波频率,f
mc
表示人工神经网络模型预测的最大搜索范围,f
cmin
表示人工神经网络模型预测的载波频率搜索步长,n表示需要捕获的卫星prn序列。
[0090]
步骤2中,截取当前频率点的最大相关峰值及其附近频率点的最大相关峰值作为数据集,具体是指:以当前频率点为中心,左、右各延伸p个频率点,获取各个频率点对应的最大相关峰值a
peak
组成的搜索矩阵as作为数据集,floor为向下取整函数。
[0091]
如图3所示,人工神经网络模型包括输入层、隐藏层和输出层,最优化算法使用levenberg-marquardt优化算法,隐藏层使用sigmoid激活函数,输出层使用线性激活函数。
[0092]
步骤6中,人工神经网络模型的训练过程如下:
[0093]
采用监督学习训练方式,训练集输入输入层后,从每个神经元流入到下一层中对应的神经元中,在隐藏层中进行求和并传递,最后到达输出层进行处理;
[0094]
一旦人工神经网络模型计算出其中一个输入对应的输出,损失函数计算误差向量,损失函数是均方误差函数:如式(i)所示:
[0095][0096]
式(i)中,x是训练集中的输入向量,y(x)是人工神经网络产生的输出,y是期望的输出,n是训练集的大小,w是权重向量,b是偏置;
[0097]
使用反向传播算法求得人工神经网络模型的所有参数的梯度,通过levenberg-marquardt优化算法对人工神经网络模型的所有参数进行更新;
[0098]
当损失函数收敛到一定程度或迭代次数完成时结束训练,保存训练后的人工神经网络模型的参数,得到训练好的人工神经网络模型。在训练阶段,通过最优算法修改人工神经网络结构中输入层、输出层、隐藏层的节点数、权值向量w和偏置b,使得损失函数最小。
[0099]
实施例3
[0100]
根据实施例1或2所述的一种基于人工神经网络的gnss信号捕获方法,其区别在于:
[0101]
针对gnss接收机射频前端输出的数字中频信号进行处理,在信号捕获阶段gnss接收机依次对所有prn进行搜索,保存搜索频率点的相关峰值的最大值,产生以频率索引值为x轴和以每个频率索引值对应的相关峰值为y轴的二维数组数据集as。
[0102]
以北斗信号进行数字中频信号处理部分的应用为例,m为[1,41],f
mp
为10khz,f
if
为0.098mhz,f
bin
为500hz,t为1023,t
bin
为1,f
mc
为100hz,f
cmin
为100hz,o为[1,3],prn_n为[1,37]。包括步骤如下:
[0103]
步骤1:设置当前需要捕获的卫星号prn∈prn_n,设置本地载波发生器产生的频率
f=f
if-f
mp
+(i-1)f
bin
,i∈m,将接收到的数字中频信号s
if
(n)分别与本地载波发生器产生的正弦载波信号i和余弦载波信号q混频,得到基带复信号s(n)=i+jq。
[0104]
步骤2:将步骤1得到的基带复信号s(n)进行傅里叶变换,得到变换结果x(k)。
[0105]
步骤3:本地伪码发生器根据当前prn生成伪码信号c(n)进行傅里叶变换得到c(k),取共轭得到c
*
(k)与步骤2得到的结果x(k)相乘得到y(k)。
[0106]
步骤4:将步骤3得到的结果y(k)进行逆傅里叶变换得到y(n)。
[0107]
步骤5:将步骤4得到的结果y(n)进行模平方得到时域内的相关峰值数组a,求出相关峰值数组a的平均值
[0108]
步骤6:采用平均值相关峰值检测方法对步骤5的结果进行检测,如果认为当前卫星prn已被捕获,得到fc=f
if-f
mp
+(i-1)f
bin
,进行步骤7,否则进行步骤8。
[0109]
步骤7:设置本地载波发生器产生的频率f=f
c-f
mc
+l/-1)f
cmin
,j∈o,如果j<o,则j+1,重复步骤1到5,保存每个搜索频率点相关峰值的最大值,如果j=o,则得到由a
peak
组成的搜索矩阵as,进行步骤10。
[0110]
步骤8:如果i<m,则i+1,重复步骤1到6,如果i=m,认为当前prn卫星不可见,进行步骤9。
[0111]
步骤9:如果prn<prn_n,则prn+1,重复步骤1到6,如果prn=prn_n,则北斗信号捕获完毕。
[0112]
步骤10:将矩阵as交由人工神经网络模型进行训练和最大值预测,人工神经网络模型的结构根据矩阵as的大小预先设定。
[0113]
步骤11:基于levenberg marquardt学习算法训练多层感知器神经网络,训练截止条件为迭代次数完成或误差达到要求,根据局部最优原则,得到最优神经网络结构和参数。
[0114]
步骤12:训练完毕之后,输入测试数据对人工神经模型的检测效果进行测试。对测试数据进行分析和检验,包括偏度、峰值,得到峰值的空间分布,预测最大值出现的位置pos。
[0115]
步骤13:北斗信号捕获结束,得到预测的高精度载波频率f
prn
=f
c-f
mc
+(pos-1)f
cmin

[0116]
本实施例用7个测试集对基于人工神经网络预测的载波频率和传统捕获算法捕获到的载波频率进行了比较,表1列出来了本实施例中模拟中频数据的载波频率、基于人工神经网络预测的载波频率、误差和matlab仿真时间。表2列出来了本实施例中模拟中频数据的载波频率、基于传统捕获算法捕获到的载波频率、误差和matlab仿真时间。
[0117]
表1
[0118][0119]
表2
[0120][0121]
结合表1和表2可以看出,基于人工神经网络的gnss信号捕获方法在捕获准确性以及精度上优于基于传统捕获算法捕获到的载波频率,在时间上约为基于传统捕获算法的五分之一,效率大大提高。这说明基于人工神经网络的gnss信号捕获方法同时兼顾捕获精度和捕获效率,可以实现快速高精度的gnss信号捕获。
[0122]
实施例4
[0123]
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现实施例1-3任一所述的基于人工神经网络的gnss信号捕获方法的步骤。
[0124]
实施例5
[0125]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施例1-3任一所述的基于人工神经网络的gnss信号捕获方法的步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1