2016-12-16 9 views
4

Любая идея, почему pywt.Wavelet() дает ошибку для некоторых встроенных всплесков? Есть ли фундаментальная (математическая) причина?Почему pywavelet Wavelet() не принимает все встроенные вейвлеты?

pywt.Wavelet(i) 

выходит с

ValueError: Invalid wavelet name. 

для I =

'cgau1', 'cgau2', 'cgau3', 'cgau4', 'cgau5', 'cgau6', 'cgau7' 
'cgau8', 'cmor', 'fbsp', 'gaus1', 'gaus2', 'gaus3', 'gaus4', 'gaus5' 
'gaus6', 'gaus7', 'gaus8', 'mexh', 'morl' 

Из док из pywavelet

class pywt.Wavelet(name[, filter_bank=None]) 

Описывает свойства вейвлет-идентификаторов в зависимости от указанного вейвлета имя. Чтобы использовать встроенный вейвлет, параметр имени должен быть действительным именем вейвлета из списка pywt.wavelist().

ответ

5

Эти вейвлеты являются непрерывными, так что вам нужно создать их:

pywt.ContinuousWavelet('mexh')

и использовать непрерывное вейвлет-преобразование, которое принимает дискретные данные (массив) в качестве входных данных:

pywt.cwt(data, scales, wavelet)

Я не знаю, какова истинная причина этого различия.

 Смежные вопросы

  • Нет связанных вопросов^_^