首页 > 解决方案 > 在 Python 中插入(预测)振动信号中 NaN 的缺失序列

问题描述

我正在处理从加速度计接收到的丢失信号恢复。在数据采集过程中,由于数据传输的性质,它的某些部分有时会丢失,通常是信号序列,而不是孤立的值。下图显示了丢失数据序列的示例。

带有序列 og 丢失数据的信号(47 个位置)。X代表que指数,Y代表振动加速度,单位为mg。此信号为白噪声,机器已关机。

为了拟合信号,我执行了阶数 = 5 的多项式插值,但是,在 NaN 序列的位置,我得到了以下结果:

从 NaN 序列出来的信号可以插值,但该方法实际上并没有“看到”序列,似乎只在 2 个值之间插值(第一个和最后一个)。

要插入的代码片段:

plt.plot(dados["Z"][8800:9000], color = 'blue', lw = 3)
interpol = dados.copy()
interpol['Z'].interpolate(method = 'polynomial', order = 5, inplace = True)
plt.plot(interpol['Z'][8800:9000], color = 'red')

我想用插值数据拟合整个信号,旨在用它们替换 NaN 序列,恢复信号并执行 FFT,但是,通过这种方式,它不起作用。

有没有人知道我如何用插值数据替换一系列 NaN 值,以恢复信号模式?

提前致谢!

标签: pythonpandassignal-processinginterpolationdata-recovery

解决方案


推荐阅读