【发布时间】:2015-11-17 23:46:31
【问题描述】:
我正在处理心电图信号,我想删除漂移噪声。 在 Matlab 中,这段代码运行良好:
[c, l]=wavedec(ecgsignal,8,'coif5');
a9=wrcoef('a',c,l,'coif5',8);
其中 ecgsignal 是带有噪声的原始信号,a9 是滤波后的信号。 我正在尝试用这段代码在 python 中做同样的事情:
coeffs=pywt.wavedec(ecgsignal,'coif5', level=8)
renc=pywt.waverec(coeffs, 'coif5')
但是重建的信号renc 有噪声。 有人可以帮我理解什么是不正确的吗?我使用了 PyWavelet 库的错误命令?
【问题讨论】:
-
看起来您将所有分解后的系数都输入到重构函数中。
-
我打算评论同样的事情。我不习惯使用小波,只使用 FFT,但您似乎应该只使用 几个选定的系数重建信号,而不是全部。
-
以PyWavelet的文档为例:coeffs = pywt.wavedec([1,2,3,4,5,6,7,8], 'db2', level=2) print pywt.waverec(coeffs, 'db2') 它是所有系数。
-
@GiuseppeRicci 文档显示 wavedec 和 waverec 这两个函数完全相反。
-
@AndyKubiak 在 Matlab 中是一样的吗?为什么这条指令在 python 中不起作用?
标签: python matlab noise wavelet