我在寻找一种方法来部分重建小波分解的分支,这样求和就能重新生成原始信号。这可以通过使用Matlab实现:
DATA = [0,1,2,3,4,5,6,7,8,9]
N_LEVELS = 2;
WAVELET_NAME = 'db4';
[C,L] = wavedec(DATA, N_LEVELS, WAVELET_NAME);
A2 = wrcoef('a', C, L, WAVELET_NAME, 2);
D2 = wrcoef('d', C, L, WAVELET_NAME, 2);
D1 = wrcoef('d', C, L, WAVELET_NAME, 1);
A2+D2+D1
ans =
0.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000
我想用pywt实现同样的效果,但我不知道该怎么做。
pywt.waverec
函数创建完全重建,但没有用于部分重建的level参数。
pywt.upcoef
函数可以满足单个级别的需要,但我不确定如何将其扩展到多个级别:
我成功地编写了我自己的
wrcoef
函数的版本,它看起来像预期的那样工作:目前,pywt还没有实现wrcoef等价函数。但您仍然可以分解一维多电平信号,然后分别重建其分量。在
我们需要对返回值进行切片,使其与输入信号具有相同的长度。然后我们就可以得到分解后的每个组分。在
^{pr2}$相关问题 更多 >
编程相关推荐