[论文解读] Solving Kepler's equation CORDIC-like
本文提出了一种类似CORDIC的算法,用于在不调用运行时超越函数的情况下求解椭圆和双曲轨道的开普勒方程。通过使用预计算的角度步长并基于符号的方向控制,迭代调整偏近角,该算法在29次迭代内实现单精度精度,在55次迭代内实现双精度精度,为硬件友好、数值稳定的牛顿-拉夫森方法提供了替代方案。
Context. Many algorithms to solve Kepler's equations require the evaluation of trigonometric or root functions. Aims. We present an algorithm to compute the eccentric anomaly and even its cosine and sine terms without usage of other transcendental functions at run-time. With slight modifications it is applicable for the hyperbolic case, too. Methods. Based on the idea of CORDIC, it requires only additions and multiplications and a short table. The table is independent of eccentricity and can be hardcoded. Its length depends on the desired precision. Results. The code is short. The convergence is linear for all mean anomalies and eccentricities e (including e = 1). As a stand-alone algorithm, single and double precision is obtained with 29 and 55 iterations, respectively. One half or two third of the iterations can be saved in combination with Newton's or Halley's method at the cost of one division.
研究动机与目标
- 开发一种求解开普勒方程的方法,避免在运行时调用正弦、余弦或其他超越函数。
- 将CORDIC算法的迭代旋转原理适配到开普勒方程的非线性结构中,特别是 $ E - e\sin E = M $ 的形式。
- 提供一种在所有偏心率下均有效的数值稳定、高精度解,包括 $ e = 1 $(径向轨道)的情况。
- 通过每次迭代的最小运算量和与偏心率无关的固定小查找表,实现高效的硬件实现。
- 为牛顿-拉夫森或哈雷法等高阶迭代求解器提供鲁棒的初始估计,从而减少整体迭代次数。
提出的方法
- 该算法使用预计算的基角 $ \alpha_n = \pi / 2^n $ 进行迭代角度加法,起始于 $ E_0 = 0 $。
- 在每一步中,通过比较当前 $ M_n = E_n - e\sin E_n $ 与目标平近点角 $ M $ 确定旋转方向($ \sigma_{n+1} = \pm 1 $)。
- 通过三角函数加法公式中的小角度近似,同时计算 $ \sin E $ 和 $ \cos E $,避免直接调用正弦/余弦函数。
- 通过修改旋转逻辑并类比双曲函数,将该方法扩展至双曲情形。
- 为提高效率,该方法可与牛顿法或哈雷法结合使用,以CORDIC结果作为初始估计,将总迭代次数减少约三分之二。
- 角度及其三角函数值的表格预先计算并硬编码,使其与偏心率无关,适用于嵌入式系统。
实验结果
研究问题
- RQ1CORDIC算法能否被适配用于求解开普勒方程(包含超越项 $ e\sin E $)而无需在运行时调用正弦或余弦函数?
- RQ2如何在包括 $ e = 1 $ 在内的全偏心率范围内保持类似CORDIC方法的收敛行为与精度?
- RQ3在使用小角度的截断泰勒展开时,如何实现 $ \sin E $ 和 $ \cos E $ 的同时计算,同时保持精度?
- RQ4该方法能否作为牛顿-拉夫森或哈雷法等高阶迭代求解器的有效初始估计,从而降低整体计算成本?
- RQ5该方法是否可扩展至通用开普勒方程,特别是在椭圆与双曲轨道混合的情形下?
主要发现
- 该算法在29次迭代内实现单精度精度,在55次迭代内实现双精度精度,且在所有平近点角和偏心率下均呈现线性收敛。
- 对于 $ e = 1 $ 且 $ M = 0 $ 的情况,双精度精度受限于约 $ 10^{-15} \sqrt{\frac{2}{1-e}} $,这反映了径向轨道极限处的奇点特性。
- 该方法无需任何运行时超越函数调用,即可同时计算 $ E $、$ \sin E $ 和 $ \cos E $,仅依赖加法、乘法和一个预计算表。
- 以CORDIC结果作为初始估计,使用牛顿法或哈雷法可将迭代次数减少约三分之二,且仅需额外一次除法。
- 该算法适用于椭圆和双曲轨道,并将 $ e = 1 $ 情况作为极限情形处理,保持了数值稳定性。
- 由于每次迭代计算复杂度低且结构可预测,该方法非常适合硬件实现,例如在FPGA中应用。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。