Skip to content

Instantly share code, notes, and snippets.

@odebeir
Created June 17, 2016 15:57
Show Gist options
  • Save odebeir/2e6a07d2c0224ef7639116a5cd0e2e8c to your computer and use it in GitHub Desktop.
Save odebeir/2e6a07d2c0224ef7639116a5cd0e2e8c to your computer and use it in GitHub Desktop.
feature woof
def wavelet_analysis(sig):
""" decompose signal into wavelets
returns the frequence of the thesholded filtered signal
"""
widths = np.arange(1, 100,1)
cwtmatr = signal.cwt(sig, signal.ricker, widths)
N = sig.size
fsig = cwtmatr[98,:]
detect_pos = fsig>30
detect_neg = fsig<-30
n_detect_pos = np.sum(np.diff(detect_pos))/2
n_detect_neg = np.sum(np.diff(detect_neg))/2
f_detect_pos = 1.*n_detect_pos / N
f_detect_neg = 1.*n_detect_neg / N
power_spectrum = 1.*np.sum(np.abs(fsig))/N
return {'n_detect_pos':n_detect_pos, 'f_detect_pos': f_detect_pos,
'n_detect_neg':n_detect_neg, 'f_detect_neg': f_detect_neg,
'fsig': fsig,'N':N, 'power':power_spectrum}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment