2014-05-19 15 views
5

Voglio calcolare la wavelet di un segnale con scale e timeshift diversi.Qual è l'equivalente di Matlab's cwt() in Python? (trasformata wavelet 1-D continua)

in MATLAB utilizzando la funzione di cwt() (Continuous 1-D trasformata wavelet) previsto nella Wavelet Toolbox posso specificare la scala (s) Voglio come parametro per CWT(), e tornerà tutte le possibili timeshifts:

x = [1, 2, 3, 4]; 
scales = [1, 2, 3]; 
wavelet_name = 'db1'; 
coefs = cwt(x,scales, wavelet_name); 

>> coefs = 

    -0.0000 -0.0000 -0.0000 0.0000 
    -0.7071 -0.7071 -0.7071 -0.7071 
    -1.1553 -1.1553 -1.1553 1.7371 

Come posso ottenere quello in Python?

Qui sono i miei due tentativi finora:

  1. In PyWavelets (Discrete Wavelet Transform in Python), non vedo come posso specificare il parametro di scala del wavelet.
  2. In scipy.signal.cwt, non riesco a trovare the list of the built-in wavelet functions that I can pass to scipy.signal.cwt: Voglio avere almeno le funzioni wavelet più comuni come sym2 e db1. (ad esempio, vedere Matlab's built-in wavelet list).
+0

Poiché questa domanda non ha ricevuto risposta, l'ho pubblicata su Quora: https://www.quora.com/What-is-the-equivalent-of-Matlabs-cwt-in-Python-continuous-1-D -wavelet-transform –

risposta