python转化为数字信号_使用numpy/scipy来识别数字信号中的斜率变化?

该博客探讨如何在Python中通过numpy和scipy库识别航天器操纵过程中太阳仰角变量的斜率变化。作者首先加载数据并可视化,接着计算二阶导数,使用绝对值和限幅去除噪声,再通过高斯滤波和平滑信号。通过argrelmax函数找到局部极大值,从而确定操纵事件的扫描线。然而,手动设置阈值和滤波器参数的局限性使得这种方法可能不适用于所有类似情况。
摘要由CSDN通过智能技术生成

我试图在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()

扫描线是我的时间维度。坡度变化的四个点确定了航天器的俯仰旋转。在

正如你所看到的,在航天器操纵区域之外的太阳仰角的演变与时间的函数几乎是线性的,对于这个特殊的宇宙飞船来说,这应该总是如此(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值