wavedec не возвращает никаких коэффициентов в python, используя библиотеку pywt
Я использовал команду вейвлет-разложения в python, используя библиотеку pywt, но она не возвращает никаких коэффициентов. мой код приведен ниже.
import numpy as np
import pywt as pywt
(e,f)=pywt.wavedec(y,'db12' ,level=2)
print("e:"+str(e))
print("f:"+str(f))
Я тоже пробовал с pywt.dwt(y,' db12', level=2)
он также не возвращает никаких коэффициентов
он возвращает нулевой вывод, где у матрица содержит мой вход
1 ответ
Решение
Я попытался воспроизвести ваши результаты с помощью случайного (дискретного) сигнала следующим образом:
import numpy as np
import pyw
x = np.random.randint(0,100,500)
y = pywt.wavedec(x, 'db12', level=2)
(e,f) = pywt.dwt(x, 'db12')
Я заметил две вещи: для 1D сигнала, wavedec
возвращает более двух массивов коэффициентов, как также упоминалось в документации. Точно так же dwt
функция не знает ключевое слово level=
, но прекрасно работает с командой, указанной выше.
надеюсь, это поможет