基于RMSprop的高精度GNSS-R镜点快速预测算法

2021-10-15 04:06盛志超顾斯祺孟婉婷
无线电工程 2021年10期
关键词:镜面反射二分法梯度

盛志超,周 勃,秦 瑾,顾斯祺,孟婉婷

(上海航天电子技术研究所,上海 201109)

0 引言

全球导航卫星系统反射信号(Global Navigation Satellite System Reflectometry,GNSS-R)技术作为外源助动式新兴遥感技术,以其宽刈幅、高时空分辨率、低功耗、低成本和低重量等特点受到了国内外遥感领域的广泛关注[1]。GNSS-R技术能够进行中尺度海洋环境要素的探测,海面测高是其主要应用方向之一。如何实现5cm的海面测高精度,一直是GNSS-R研究的重点和难点。

GNSS-R本质上是双基雷达,GNSS卫星发射的GNSS信号经过地球表面反射后,被GNSS-R接收机接收和处理[2]。但GNSS信号经过大气、电离层和反射面的衰减和散射之后,信号及其微弱,为了能够更好的捕获反射信号,GNSS-R接收机往往只接收来自以镜面反射点为中心的闪耀区的信号[3]。镜面反射点预测的精确与否对于高精度海面测高应用尤为重要,一方面,镜面反射点是整个测高反演过程中的坐标基准;另一方面,镜面反射点的精度直接影响了反射信号的信噪比,进而影响海面高度的反演精度。

目前,常用的镜面反射点预测算法有:Gleason算法[4]、S.C.Wu算法[5]、线段二分法[6]。其中Gleason算法利用向量共线的思想,算法效果不理想,精度差,迭代次数多;S.C.Wu算法精度高,但搜索完成之后需要进行复杂的校正;线段二分法模型简单,迭代次数少,但没有解决径向和法向不统一问题[7]。

本文针对镜面反射点预测问题,分析利用梯度下降法和AdaGrad算法预测镜点存在的不足,提出了一种基于RMSprop的高精度镜面反射点预测算法,该算法相比于现有的算法,通过平滑梯度平方,获得更高的预测精度,适合对精度要求很高的GNSS-R海面测高应用中。

1 镜面反射点定义

GNSS-R技术中GNSS卫星、地球表面和GNSS接收机的空间几何位置关系如图 1所示。在理想情况下,镜面反射点满足以下条件:① 镜面反射点在地球表面;② 发射机-镜面反射点-接收机是所有反射路径中的最短路径;③ 满足斯涅耳定律——入射角等于反射角;④ 镜面反射点与接收机、发射机和地心共面[8]。

图1 GNSS-R空间几何位置关系Fig.1 Spatial geometric relations of GNSS-R

图2是GNSS空间几何位置关系的二维视图。

图2 几何关系二维视图Fig.2 2D view of geometric relations

图中,R表示接收机,T表示发射机,S表示镜面反射点,O表示地心,M表示OC所在直线与RT所在直线的交点,U表示R关于OM的对称点,C表示M关于RU的对称点,αr、αt分别表示信号的入射角和反射角。

根据上面对镜面反射点条件的描述,镜面反射点预测问题就是一个带非线性约束条件的非线性优化问题,数学表达式可以归纳为:

(1)

式中,f(S)是镜面反射点预测的目标函数;R表示接收机;T表示发射机;S表示地球表面的镜面反射点;Sx、Sy、Sz为S在地心坐标系下对应的三轴坐标;Rx、Ry、Rz为R在地心坐标系下对应的三轴坐标;Tx、Ty、Tz为T在地心坐标系下对应的三轴坐标;Ox、Oy、Oz为地心坐标系原点的三轴坐标;αt、αr分别表示信号的入射角和反射角。

2 基于RMSprop的镜面反射点预测算法原理

2.1 梯度下降法及其问题

梯度下降法就是利用梯度的方向是函数变化最快的方向这一准则进行最优化求解的[9][10]。针对反射路径长度f(S),也可以用梯度下降法来实现对镜面反射点的预测:

f(S)=|S-T|+|R-S|。

(2)

即信号从GNSS卫星发射经镜面反射点反射后到达GNSS-R接收机所走过的路径长度。

梯度下降法预测镜点的具体求解流程如图 3所示。首先求得一个粗略的镜面反射点估计值S1,然后求在该点处反射路径长度函数f(S)的梯度,记为f(S1),随后利用f(S1)更新镜面反射点位置S2,更新方程为:

S2=S1-K×f(S1),

(3)

图3 梯度下降法示意Fig.3 Schematic diagram of gradient descent method

式中,K为学习率。

再计算S2处f(S)的梯度f(S2),更新S3的位置……,对于第n次镜面反射点预测,Sn更新表达式为:

Sn=Sn-1-K×f(Sn)。

(4)

梯度下降法会一直计算到前后2个预测值之间的距离小于某个阈值,则认为到达镜面反射点,算法结束。

在梯度下降迭代的过程中,学习率决定了每一步沿梯度负方向前进的长度。梯度下降法采用了固定的学习率,并不会随着预测的深入进行自适应调节。所以梯度下降法非常依赖学习率K的选择,学习率太小,收敛慢,学习率太大,会导致算法在镜面反射点附近发生震荡,无法收敛[11]。

2.2 Adagrad算法及其问题

为了解决梯度下降法学习率无法调节的问题,引入了Adagrad算法[12]。Adagrad算法利用累积梯度平方和对学习率进行约束,即将式(4)的镜面反射点更新表达式改为:

(5)

随着算法递推的深入,梯度平方和越来越大,每次移动的步长越来越小,最后到达预测值。但是,在Adagrad算法执行的中后期,分母上梯度平方和的累加将会越来越大,使得每次更新步长趋近于0,预测会提前结束。

2.3 基于RMSprop的镜面反射点预测算法

为了解决Adagrad算法中学习率下降过快的问题,需要降低式(5)分母的平方和项,RMSprop通过将平方和变为移动加权平均平方和来解决,算法镜面反射点的更新表达式为:

(6)

式中,τn=τn-1×β+(1-β)×f(Sn)2;τn是加权平均梯度和;β是加权平均指数。

式(6)中,τn完成的是对梯度的平方的一次平滑处理。在更新镜面反射点Sn+1时,先用梯度f(Sn)除以的值,相当于对梯度做了一次归一化。在镜面反射点预测的过程中,竖直方向的梯度比水平方向上的梯度大很多,此时竖直方向的τn也很大,当f(Sn)除以之后,归一化梯度变小,竖直方向的步长变小了;而水平方向梯度小,相应的τn也小,水平方向上归一化的梯度就大了,步长也变大了。

基于RMSprop的镜面反射点预测算法作为梯度下降法的优化算法,一方面能够解决Adagrad算法递推过程学习率下降过快的问题,另一方面可以调整不同维度上的步长,加快收敛速度,最终实现对镜面反射点的预测。

3 基于RMSprop的镜面反射点预测算法流程

根据GNSS信号中携带的星历数据,可以解算出在WGS-84坐标系统中接收机RWGS-84和发射机TWGS-84的位置,作为已知条件利用如下步骤进行镜面反射点的预测。

基于RMSprop的高精度GNSS-R镜面反射点预测算法流程如图 4所示,其处理流程主要包括准球映射、镜面反射点粗估和镜面反射点精估3个内容。

图4 算法总流程Fig.4 SOverall flow of algorithm

3.1 准球映射

将WGS-84坐标系统映射成单位圆,WGS-84坐标系统下的接收机位置RWGS-84和发射机位置TWGS-84将分别被映射成R和T。

3.2 镜面反射点的粗估

根据如图 2所示的空间几何位置关系,可以得到如下数学关系:

|RM|=|MU|=|UC|,

(7)

|RM|/|RT|=|RM|/(|RM|+|MT|)=|CU|/(|CU|+|MT|)=

|SR|/(|SR|+|ST|)≈|OR|/(|OR|+|OT|)。

(8)

M点的估计值为:

M=R+RM≈R+[|OR|/(|OR|+|OT|)]×RT。

(9)

S1是M的星下点,则:

S1=(OM/|OM|)×Re,

(10)

式中,Re为地球半径,因为进行了准球映射,此时地球是单位圆,即Re=1。

3.3 RMSprop镜面反射点精估

设置全局学习率ε,镜面反射点的初始值S1,小常数δ(典型值10-8,用于被小数除时的数值稳定),加权平均系数β。

① 初始化梯度累积变量τ1=0;

f(Sn)=(Sn-T)/|T-Sn|+(Sn-R)/|R-Sn|,

(11)

③ 计算累积梯度平方和τn:

τn=τn-1×β+(1-β)×f(Sn)2,

(12)

(13)

④ 计算更新增量ΔS;

⑤ 更新沿梯度方向下降后的预测值S′:

S′=Sn+ΔS,

(14)

⑥ 取S′的星下点作为当前镜面反射点预测值Sn+1:

Sn+1=(OS′/|OS′|)×Re(S′),

(15)

⑦ 计算当前镜面反射点预测值与之前的欧氏距离作为更新的幅度,如果大于预设门限则返回步骤①,反之则退出循环,以当前镜面反射点预测值Sn+1作为镜面反射点最优值进行反射信号的捕获跟踪。

AMP=|Sn+1-Sn|。

(16)

4 仿真与分析

本文利用Matlab和STK仿真工具进行如图 5所示的联合仿真。利用Matlab对STK进行轨道参数配置后,STK完成卫星可见性分析,将分析结果导入Matlab,在Matlab中执行镜面反射点计算并分析算法性能。本次仿真实验中,GNSS星座采用GPS星座和北斗星座共58颗GNSS卫星,LEO卫星的轨道高度为500 km,接收入射角最大45°的反射信号,仿真了在轨运行24 h(2019年3月17日—18日)的数据,采样时间间隔为1 s。利用GPS的PRN1卫星与LEO所得到的9段数据共12 341个时间点进行下面的仿真。

图5 联合仿真结构框架Fig.5 Co-simulation framework

4.1 粗估的S1的精度

利用本文算法预测每个时刻的镜面反射点,将最终预测结果作为镜面反射点预测值,把粗估的镜面反射点值与预测值进行比较,分析粗估的精度。

镜面反射点粗估性能如图6所示。

(a) 镜面反射点粗估误差

(b) 各时刻GNSS卫星与LEO卫星距离图6 镜面反射点粗估性能Fig.6 Performance of specular point by coarse estimation

图6(a)中,粗估值与预测值相距最近65 m,最远172 320 m,均值68 290 m。图 6(b)是各个时刻GNSS卫星与LEO卫星的距离。图6(a)中曲线的起伏与图6(b)中曲线的起伏基本一致,说明粗估的精度与GNSS卫星和LEO卫星所处的几何位置有关,二者距离越近,卫星高度角就越高,粗估的精度就越高;二者距离越远,卫星高度角就越低,粗估的精度就越低。

4.2 单个数据仿真性能比较

选取了上述12 341个时间点内某一时间点GNSS卫星和LEO卫星的位置,分别利用Gleason算法、S.C.Wu算法、线段二分法和本文算法进行镜面反射点预测,分析其收敛性能和算法精度。收敛性能的评判依据是算法的迭代次数,算法精度的依据是GNSS信号从GNSS卫星发射经镜面反射点反射到达LEO卫星所走过的路径长度。

4.2.1 算法精度

图 7是4种算法路径长度的比较。从图中可以看出,线段二分法、S.C.Wu算法和Gleason算法得到的反射路径长度非常接近。其中,S.C.Wu算法得到的反射路径比线段二分法和Gleanson算法得到的反射路径长度更小。而本文提出的算法得到的反射路径长度最短。这说明本文提出的算法获得的镜面反射点与真实镜面反射点距离最近,计算精度最高。

图7 4种算法得到的路径长度Fig.7 Path length obtained by four algorithms

4.2.2 收敛性能

将仿真中本文算法计算得到的镜面反射点作为参考,对算法的收敛性能进行分析。图 8为4种镜面反射点算法收敛性能的比较图。通过图 8分析可以得到,线段二分法在大约10次迭代后收敛至最小点,其曲线下降过程比较震荡;S.C.Wu算法在大约10次迭代后,曲线达到最小值,随后曲线迅速上升且无法收敛,该现象是由未经过坐标校正引起的;Gleason算法在收敛过程很慢,曲线较为平滑,经过大约100次迭代后,曲线开始收敛,其迭代次数是最多的;本文提出的算法在经过约10次迭代后达到预测点,迭代次数最少,运算速度最快。

图8 4种算法的收敛性能Fig.8 Convergence performance of four algorithms

4.3 统计数据仿真性能比较

将12 341个时间点每个时刻GNSS卫星和LEO卫星的位置分别利用线段二分法和基于RMSprop的镜面反射点预测算法进行预测,将结果进行统计意义上的收敛性能比较和精度比较。

4.3.1 收敛性能

图 9是本文算法和线段二分法的效率统计图。其中横轴表示对单个数据点进行计算,收敛到预测值所需的迭代次数。纵轴表示需要相应迭代次数的数据点个数。通过比较可以得到,本文算法中所有数据点计算的迭代次数区间为9~15,而线段二分法中所有数据点计算的迭代次数区间为9~19,且数据点落在17~18区间的最多。利用均值和方差对本文提出的算法和线段二分法进行统计意义分析,得到本文算法与线段二分法的收敛性能统计表,如表1所示。

表1 本文算法与线段二分法的收敛性能统计表Tab.1 Convergence performance list of the proposed algorithm and the dichotomy of line segment

(a) RMSprop算法的迭代次数统计

(b) 线段二分法的迭代次数统计图9 2种算法的迭代次数直方图Fig.9 Iteration times histogram of two algorithms

分析表 1可以得到,本文提出的算法运算效率略优于线段二分法。

4.3.2 算法精度

图10是本文算法和线段二分法的路径长度比较图。

(a) 本文算法和线段二分法路径长度比较

(b) 2种算法路径长度差值图10 2种算法的路径长度比较Fig.10 Path length comparison between two algorithms

图10(a)中,2种算法的路径长度曲线基本重合,其中RMSprop算法的路径长度要小一点,为了进行更直观的分析,本文将线段二分法路径长度与RMSprop算法路径长度进行差值,得到如图10(b)所示的路径长度差值图,可以看出,RMSprop算法要比线段二分法算出来的路径短18km左右。经统计分析可以得到,在观察数据点样本中,任何时刻,本文算法的精度都更高。

综上所述,无论是算法精度还是收敛性能,本文算法都明显优于传统的Gleason算法、S.C.Wu算法和线段二分法。

5 结束语

本文通过研究镜面反射点定义、梯度下降法及其优化算法的相关知识,提出了一种基于RMSprop的镜面反射点预测算法。作为机器学习中梯度下降法优化算法的一种,该算法解决了梯度下降法的收敛问题,也不会和AdaGrad算法一样提前收敛,专门用于对镜面反射点精确度要求很高的GNSS-R海面测高应用中。为了验证算法的正确性,利用Matlab和STK进行联合仿真,通过与常用算法的比较,结果表明,本文提出的算法可以对镜面反射点进行正确预测,该算法不仅精度高,而且收敛性能好,运算效率高,适用于GNSS-R海面测高应用。

猜你喜欢
镜面反射二分法梯度
一个带重启步的改进PRP型谱共轭梯度法
一个改进的WYL型三项共轭梯度法
“二分法”求解加速度的分析策略
一种自适应Dai-Liao共轭梯度法
基于深度学习的数学教学思考——以“用二分法求方程的近似解”为例
基于最短路径的GNSS-R镜面反射点算法
一个具梯度项的p-Laplace 方程弱解的存在性
估算的妙招——“二分法”
镜面反射与漫反射的区别与联系
海面多路径效应对被动微波测角的影响分析