python - 如何从时间序列信号中解卷积阶跃函数

标签 python time-series signal-processing convolution wavelet

我想从时间序列数据中删除一个步骤(跳跃,Heaviside)函数,如图所示。谁能就如何做到这一点提供一些提示(或引用)?

图片链接是: Multichannel signal convolved with heaviside functions

Linked Image

一个示例 channel 数据集可在以下位置获得: Sample, one Channel of the dataset

最佳答案

既然卷积是频域的乘法,反卷积应该是除法。 heaviside 的傅里叶变换是 1/jw,因此您需要除以它(即乘以 jw)。现在 jw 的傅立叶逆变换是狄拉克分布的导数。所以你应该对狄拉克分布的导数进行卷积。

在离散情况下,它的导数是1对于 k=0-1对于 k=1其他地方为零

def deconv(seq):
    prev = 0
    for cur in seq:
        yield cur - prev
        prev = cur

我看不出为什么结果不应该是唯一的。

关于python - 如何从时间序列信号中解卷积阶跃函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32087228/

相关文章:

python - 如何在python中将视频转换为m4v格式而不保存到文件

python - 通过多行从 python 中提取

python - 在 Python 中使用 cx_Oracle 和 xlrd 的带有列表列表的 executemany() 返回 TypeError

javascript - 0 用 d3 系列数据填充空值

python - 在 Pandas 中使用不同的指标(倾斜)每小时聚合数据

python - sklearn KFold() - 将所有折叠保存到 csv 文件

python - pandas,python - 如何在时间序列中选择特定时间

python - 当半衰期已知时,如何填充药物不规则时间序列的缺失值

image-processing - 为什么FFT会加速卷积中涉及的计算?

java - 使用 FFT 进行频谱分析、基频推导