我试图在Python中找到一个通用的方法来识别在一系列计划的航天器操纵过程中发生的俯仰旋转。你可以把它看作是shift detection问题的一个特殊情况。在
让我们考虑一下在我的一组测量中的solar_elevation_angle变量,它确定了从航天器的仪器测量到的太阳的仰角。对于那些可能想玩数据的人,我保存了solar_elevation_angle.txt文件here。在import numpy as np
import matplotlib.pyplot as plt
from matplotlib import gridspec
from scipy.signal import argrelmax
from scipy.ndimage.filters import gaussian_filter1d
solar_elevation_angle = np.loadtxt("solar_elevation_angle.txt", dtype=np.float32)
fig, ax = plt.subplots()
ax.set_title('Solar elevation angle')
ax.set_xlabel('Scanline')
ax.set_ylabel('Solar elevation angle [deg]')
ax.plot(solar_elevation_angle)
plt.show()
扫描线是我的时间维度。坡度变化的四个点确定了航天器的俯仰旋转。在
正如你所看到的,在航天器操纵区域之外的太阳仰角的演变与时间的函数几乎是线性的,对于这个特殊的宇宙飞船来说,这应该总是如此(