擅长:python、mysql、java
<p>目前,pywt还没有实现wrcoef等价函数。但您仍然可以分解一维多电平信号,然后分别重建其分量。在</p>
<pre><code>import pywt
def decomposite(signal, coef_type='d', wname='db6', level=9):
w = pywt.Wavelet(wname)
a = data
ca = []
cd = []
for i in range(level):
(a, d) = pywt.dwt(a, w, mode)
ca.append(a)
cd.append(d)
rec_a = []
rec_d = []
for i, coeff in enumerate(ca):
coeff_list = [coeff, None] + [None] * i
rec_a.append(pywt.waverec(coeff_list, w))
for i, coeff in enumerate(cd):
coeff_list = [None, coeff] + [None] * i
rec_d.append(pywt.waverec(coeff_list, w))
if coef_type == 'd':
return rec_d
return rec_a
</code></pre>
<p>我们需要对返回值进行切片,使其与输入信号具有相同的长度。然后我们就可以得到分解后的每个组分。在</p>
^{pr2}$